● 带宽?带宽!带宽……
为什么是ARM?ARM构架的CPU有什么吸引NVIDIA的地方呢?除了获取方便以外,ARM构架本身的一个重要特性也成了NVIDIA选择他的一大重要原因,那就是对内存带宽和内存并联度的极高要求。
长期以来RISC构架都面临着一个问题,当要处理的任务相对简单重复时,RISC由于精简所导致的重复指令增多会使得处理器需要频繁访问内存,这导致了RISC对内存带宽的敏感问题。如果不能提供充足的内存带宽,由这些指令拥塞所导致的巨大延迟对性能的影响甚至是致命的。
与此同时,在进化到V7核心之后,为了取得更好的性能功耗比,ARM构架抛弃了冯诺依曼结构,全面转向了哈佛结构。哈佛结构的数据和指令总线是分开的,分开的总线使得一些在冯诺依曼结构中必须串行执行的操作,比如load/write可以并行执行,这虽然提高了系统的执行效率,但也使得ARM构架对内存带宽变得更为敏感,甚至还对内存并联度提出了新的苛刻的要求。
可以说,内存带宽已经成了制约ARM前进的一个重要因素。虽然MMU的出现以及更多内存使用途径的出现在一定程度上缓解了问题,同时ARM针对的嵌入式及移动设备应用对性能的要求也不是非常敏感,但这些都无法掩盖内存对ARM构架发展的影响。如果无法突破内存带宽瓶颈,ARM将注定只能在低性能低功耗的场合出现。
带宽成了限制ARM性能的制约因素,这与NVIDIA以及GPU又有什么关系呢?打开现代GPU的构架图,你就会轻易的找到答案了。
以Fermi构架为例,NVIDIA为Fermi构架提供了384bit的MC,由板卡上本地显存提供的显存带宽高达近200G/S,这远远领先于一般CPU或嵌入式系统所能够提供的几G到十几G不等的内存带宽水平。与此同时,Fermi的MC分为6路,这是天然的并行内存管理形态。如果NVIDIA在未来提供8路64bit MC以及更高速显存的方案,其GPU所能够提供的内存带宽将突破300G/S,这是任何CPU都无法想象的天国状态。
GF110提供了192.4GB/s的恐怖带宽
将ARM构架的CPU挂在GPU构架中,通过共享GPU的MC可以轻易获得让任何CPU都羡慕不已的巨大内存带宽,从而释放长期以来一直处在压抑状态的ARM构架的性能。这就是NVIDIA很早之前就开始了ARM构架的相关研究,并最终选择将其纳入到图形构架中的原因。