CPU和GPU真融合 APU异构系统架构解析
HSA用一句话来概括就是:一种智能计算架构,通过无缝地分配相应的任务至最适合的处理单元,使CPU、GPU和其他处理器和谐工作在单一芯片上。
上一代APU虽然已经将CPU和GPU无缝融合在了一起,但并没有实现“分配相应的任务至最适合的处理单元”,这就是HSA架构的精髓,也是AMD未来APU想要努力实现的方向。
HSA系统的几大特性:
1. 任何处理单元的数据可以轻易地被其它处理单元所访问;
2. 异构计算不仅包括GPU,还包括其它专用处理单元或协处理器;
3. 编程人员不用知道程序在什么处理单元上运行;
4. GPU和其它处理单元无缝访问虚拟内存,解决数据搬迁瓶颈,数据无需复制。
HSA成功的一个关键是最小化应用程序移植的代价。从过去的经验来看,要求软件供应商修改代码以适应新的硬件的这种做法充其量只能获得有限度的成功。对于厂商专有解决方案就更是如此了。要成为主流技术,必须降低使用者的门槛。这就是HSA的设计思路。HSA解决方案为应用程序员提供了硬件、接口、通用的中间语言和基本的运行时环境,封装并隐藏了内存一致性,任务调度管理等等复杂的底层细节。
我们的系统中会有很多处理器、音频处理器、视频处理器、固定功能加速器,图形信号处理器等,很多时候这些处理器都是需要协同工作的,实际上在异构系统当中已经变成可能,由完全一致性的共享内存使整个处理器的各个子系统一次性的可见变成一种可能。HSA架构下,GPU也是支持C++的,最重要的是CPU指针,在现在操作系统当中,内存实际上是通过虚拟内存的管理来实现的,实际上在异构系统当中最重要的变化是这种配置是全局可见的,在未来GPU将变成可抢占性的,意味着操作系统是可以参与调配的。