摩尔定律 (Moore's Law) 准确的预测了芯片工艺技术呈指数级飞速增长的发展规律, 使半导体行业能够将整个系统放置在芯片上, 包括处理器内核, 存储器, I/O, 高速网络, 网络接口以及各种专用加速器和可编程逻辑器件等. 随着集成电路技术迅猛发展, 人们对高计算性能和低功耗的要求日益强烈, 而摩尔定律却在走向极限, 因此集成电路从技术到产业都展现出与以往不同的特征. 为了应对, 解决各种特定的问题, 处理器性能的提升经历了两个时代. 第一个时代是单核时代, 这个时代性能提高的重点是提升主频, 希望通过提高计算速度来提升性能. 但是, 随着功耗和设计复杂性的要求越来越高, 主频已经提升到了饱和状态. 摩尔预测, 放置在一个芯片上的晶体管数量将每两年翻一番. 在可预见的将来, 我们将最有可能获得数百个内核. CPU 花费大部分资源用于缓存和逻辑控制 (即非计算单元), 只有少部分资源用于计算. 这体现了 CPU 适合运行具有分支密集型, 不规则数据结构, 递归等特点的串行程序. 与传统多核心架构相结合, 将专用的计算模块作为加速器加入系统, 例如图形处理单元(GPU), 数字信号处理器(DSP), 现场可编程门阵列(FPGA) 和其他可编程逻辑单元正在被利用作为加速器 (即内核异构架构) 成为趋势. 但由于不同的指令集体系结构 (ISA) 和独立的存储器空间, 每种类型的计算单元 (CPU,GPU,DSP 等) 都有不同的执行模型, 要实现协同运算是非常复杂的, 因此编程异构解决方案成为一项挑战.
异构计算的概念已提出多年, 包括英特尔, 英伟达, AMD 等多家厂商都在提供异构计算的产品, 并提出不同的应用技术方案, 在此仅介绍由包括 AMD , ARM , 联发科, 德州仪器, Imagination, 高通, 三星, 华夏芯所发起组建的异构系统架构 (HSA) 联盟.
HSA 以实现异构计算最佳化为目标推出新的系统架构和执行标准, 最终目的是透过 SoC 内各核心 (包括 CPU , GPU,DSP 和其他处理器) 的异质架构之间进行协同运算, 借此促使整颗 SoC 内各架构效能得到最大发挥.
异构系统架构 (HSA) 联盟的目标有四个:
1) 实现节能, 提高性能
2) 提高异构处理器的可编程性
3) 增加处理器和平台之间代码的可移植性
4) 增加整个行业中异构解决方案的普遍性
1) 实现节能, 提高性能
通过减少系统设计和执行冗余, 提高系统资源的利用率来实现节能, 提高性能. 一是改进领域是在加速器上分配和执行任务, 传统串行的编程模型要求应用程序编程接口 (API) 编程和执行方法要围绕 CPU 和操作系统设计. 即所有功能模块 (即使用于加速器) 都由 CPU 委派并通过操作系统和现有软件层执行. 再者就是减少不必要的内存传输, 这些内存传输往往是由于计算单元包含独立且不同规模的存储结构所导致. 目前的协议是要求将一个计算单元的存储器结构内容刷新并复制到另外一个计算单元的存储器结构, 特别是将任务分配给例如 GPU 或 DSP 等加速器时.
内存一致性将成为 HSA 的最终目标. 以 CPU 和 GPU 单元之间的异构计算为例, 所需数据会被存放在共用的统一内存单元中, 编程人员再也不需要为数据在 GPU 和 CPU 中来回转移而苦恼了. 无论是 CPU 还是 GPU, 都可以去统一的内存单元中调用所需要的数据, 并在处理完成后将其存储在统一的内存单元中. 基于 HSA 系统架构, 编程人员只需要给出具体任务即可, 系统会根据任务的类型, 来将其自动分配给 HSA CU 或者 CPU 来计算, 让合适的任务, 自动去适合硬件部分执行, 只有这样的 HSA 架构, 才能够真正发挥出异构计算的优势, 突破性能束缚.
2) 提高异构处理器的可编程性
从计算机发展角度来看, 早期的计算机使用的多是不可编程组件, 这些组件对单一任务的执行效率非常高, 不过功能固定, 无法执行固定操作外的操作. 随着可编程化的发展, 传统的固定功能组件拥有了可编程性, 不同的组件根据各自不同的特点, 开始执行不同的计算, 比如 CPU 擅长串行化, GPU,DSP 等则擅长并行化, 都拥有各自擅长的计算领域.
HSA 联盟的目标是通用性使用高级语言和现有异构编程语言(如: C ,C AMP,C#,Java,OpenCL,OpenMP 和 Python), 通过制定通用性中间语言和编程工具的软硬件通用规范, 为应用程序员提供了硬件, 接口, 通用的中间语言和基本的运行时环境, 封装并隐藏了内存一致性, 任务调度管理等等复杂的底层细节. 实现降低编程难度, 解决利用率低, 突破无法扩展的瓶颈.
3) 增加处理器和平台之间代码的可移植性
HSA 联盟的目标是协助系统设计者把 CPU,GPU,DSP,FPGA 这样不兼容的计算单元很好地整合在一起, 消除计算单元之间数据共享和任务调用的开销. 透过 HSA 中间语言(HSAIL, HSA Intermediate Language), 不同的硬件实现向上暴露出统一的软件接口. HSAIL 也是所有底层软件模块, 开发工具一致的目标平台. 同时, HSAIL 足够灵活并且接近硬件, 各个硬件厂商可以高效地把它映射到自己的硬件设计上. HSAIL 也解放了程序员, 后者不必为不同硬件平台裁剪自己的代码, 同一套代码可以顺利运行在不同 CPU/GPU 配置的系统上.
4) 提升整个行业中异构解决方案的普及性
开放和免费的 HSA 标准提供了统一的异构体系结构, 使得异构并行设备的编程更加容易. 运用异构架构, 应用程序将以更快的运行速度, 更低的功耗广泛应用在计算平台中.
异构架系统 (HSA) 联盟在 2015 年 3 月推出 HSA 规范 1.0 版; 2016 年 5 月 31 日, 发布了 HSA 规范 1.1,HSA 规范 1.1 显著增强了对开放和专有 IP 模块在异构设计时的整合能力. 新规范第一次定义了一种接口, 它可以让来自不同供应商的 IP 模块进行通信, 交互并集成为一个 HSA 系统.
通过引入多个厂商的架构和一系列其他功能的增强, HSA 规范 1.1 进一步地实现了真正的异构架计算能力的平台, 包括物联网系统, 移动设备, 台式机, 高性能计算 (HPC) 系统, AR/ VR 环境和服务器.
近年来, 中国集成电路市场需求始终保持高速增长, 无论是在规模上, 还是在增速上, 均继续领跑全球. 有鉴于此, 2016 年 10 月, 经过多次协调, 全球异构系统架构联盟 (HSA) 董事会一致通过, 支持设立面向中国本土运营的中国区域委员会(China Regional Committee of Heterogeneous System Architecture, 英文缩写: HSA CRC). 围绕 HSA 联盟以及中国本土异构计算的标准发展战略, 领导与组织以中国本土成员单位为主体参与的与异构计算和异构系统架构有关的技术研发与标准化活动, 推动产, 学, 研, 用深度融合, 搭建协同创新与攻关平台, 促进核心技术和产品的应用推广, 共同打造面向全球异构计算产业的 "架构 - 芯片 - 软件 - 设备 - 系统 - 服务" 的健康生态体系. 目前, HSA 和 HSA CRC 的主要工作在于围绕人工智能, 深度学习, 软件定义无线电, 智能终端, 智能机器人等重点行业开展有针对性的平台标准化工作, 力争为相关行业的芯片软硬件集成与高效发展提供技术支撑.
HSA CRC 下设标准推进工作组, 芯片架构工作组, 虚拟指令集工作组, 运行时工作组, 多厂商工作组, 一致性认证工作组, 安全工作组, 应用工作组和片上网络工作组等 9 个工作组.
目前, 加入或拟于 2017 年加入 HSA CRC 的会员单位约 40 多家, 涵盖中国本土知名的半导体企业和高校, 研究所, 共同为中国本土半导体产品在国际化市场上的开拓提供有力的技术和标准支撑.
来源: http://www.92to.com/bangong/2018/06-16/33920870.html