跳转到主要内容

G.8 结束语

20 世纪 80 年代和 90 年代,流水线标量处理器的性能迅速提升,使传统向量超级计算机与高速、流水线化的超标量 VLSI 微处理器之间的差距显著缩小。到 2011 年,花不到 1000 美元就可以买到一台笔记本电脑,其 CPU 时钟频率高于当时任何在售的向量超级计算机,后者中有些售价高达数千万美元。虽然向量超级计算机的时钟频率较低,但它们利用多通道支持更高程度的并行——日本的设计最多达到 16 条通道——而超标量微处理器的多发射能力相对有限。尽管如此,低成本微处理器与领先向量超级计算机 CPU 的峰值浮点性能差距,已缩小到两倍以内。当然,高时钟频率和高峰值性能未必能转化为应用的持续性能。主存带宽是向量超级计算机与超标量微处理器系统之间最关键的区别。

提供如此大的非单位步长存储器带宽,是向量超级计算机的主要成本之一。传统上,向量超级计算机使用 SRAM 作为主存,以减少所需的存储体数量,并降低向量启动代价。SRAM 的访问时间虽然只有 DRAM 的几分之一,但每位成本约为后者的 10 倍!为了降低主存成本、获得更大容量,现代向量超级计算机都已改用 DRAM,并利用同步 DRAM 等新型高带宽 DRAM 接口。

将 DRAM 用作主存——Seymour Cray 在 Cray-2 中率先采用这一做法——说明向量超级计算机如何利用通用商品技术来改善性价比。另一个例子是引入向量数据缓存。不过,缓存并不适用于所有向量代码,因此这些向量缓存必须能够在大量缓存未命中存在时,仍保持很高的主存带宽。例如,Cray X1 MSP 可以有 2048 个尚未完成的存储器加载;而微处理器中,每个 CPU 同时存在的缓存未命中数,典型上限为 8~16 个。

还有一个例子,是双极型 ECL 或砷化镓不再是超级计算机 CPU 逻辑的首选技术。桌面计算机的成功使 CMOS 技术获得巨额投入,因此,与这些较为特殊的技术相比,CMOS 现已提供具有竞争力的晶体管性能,同时具有高得多的晶体管密度和低得多的功耗。于是,领先的向量超级计算机都采用了与超标量微处理器相同的 CMOS 技术。向量超级计算机的时钟频率低于通用微处理器,主要是因为它们为了降低工程设计成本,采用标准单元 ASIC 技术开发,而非全定制电路设计。一款微处理器可以销售数千万颗,以庞大销量摊薄设计成本;一款向量超级计算机只要能卖出一百多台,就算成功了!

反过来,超标量微处理器也开始吸收早期向量计算机推广的一些技术,多媒体 SIMD 扩展就是一例。正如第 4 章所示,为提高 SIMD 性能而投入的硬件资源正在迅速增长,甚至可能超过对多处理器的投入。如果 GPU 中更宽的 SIMD 单元能够与标量核紧密集成,并支持 scatter-gather,那么我们或许会得出结论:向量体系结构赢得了这场体系结构之战!