4.6 贯穿各层的问题
能耗与 DLP:低频而宽,还是高频而窄
数据级并行体系结构的一项根本功耗优势,可以从第 1 章的能量公式看出。假设具有充足的 DLP,将时钟频率减半、执行资源加倍,可以保持性能不变:向量计算机将通道数加倍,多媒体 SIMD 使用更宽的寄存器和 ALU,GPU 则增加 SIMD 通道。如果降低频率时还能降低电压,就能在维持相同峰值性能的同时,降低计算的能耗和功率。因此,相比依赖高时钟频率获得性能的系统处理器,GPU 通常频率较低,见 4.7 节。
与乱序处理器相比,DLP 处理器可以用更简单的控制逻辑在每个周期启动大量操作。例如,向量处理器所有通道的控制完全相同,不需要决定多指令发射的逻辑,也不需要推测执行逻辑。它们取指和译码的指令数量也少得多。向量体系结构还便于关闭未使用的芯片部分:每条向量指令发射时,就显式说明了随后若干周期所需的全部资源。
分存储体内存与高带宽内存
4.2 节指出,为支持单位步长、非单位步长和聚集/散布访问,向量体系结构需要很高的内存带宽。
为达到最高内存性能,AMD 和 NVIDIA 的高端 GPU 使用堆叠 DRAM,Intel 的 Xeon Phi 也采用它。这种内存也称高带宽内存 HBM,包括 HBM2、HBM3、HBM4:内存芯片层层堆叠,堆叠体与处理芯片相邻,置于同一插座内。极宽的总线,通常有 4096~5120 条数据线,提供高带宽;内存芯片与处理器芯片位于同一封装内,还能降低延迟和功耗。堆叠 DRAM 的容量通常为 8~32 GB。
计算任务和图形加速任务都可能产生大量内存需求,使存储系统面对许多互不相关的请求。这种分散性会损害性能。GPU 内存控制器为不同存储体维护独立的请求队列,等待积累足够多的请求后,再打开一行并一次性传送所有所需数据。这种等待提高了带宽,却增加了延迟;控制器必须确保没有处理单元因等待数据而饥饿,否则相邻处理器也可能闲置。4.7 节将说明,聚集/散布和考虑存储体组织的访问技术,相对于传统的基于缓存的体系结构,可以显著提高性能。
步长访问与 TLB 未命中
步长访问的一个问题,是它与向量体系结构或 GPU 中虚拟内存地址转换后备缓冲器 TLB 的相互作用;GPU 也用 TLB 完成内存映射。根据 TLB 的组织和内存中数组的大小,甚至可能每访问一个数组元素就发生一次 TLB 未命中!缓存也可能出现同类冲突,不过其性能影响可能较小。