● 其实,点对点被“形而上”才不科学
点对点连接代表了直连的一种形式,作为GDDR5最重要的特性,我们在很多地方都可以找到相关的资料,证明GDDR5显存颗粒与显存控制器(memory controller)之间的连接是点对点的。但这里有一个奇特的问题——处于芯片内部作为逻辑单元出现的memory controller,怎么就可以突破限制直接跟外部的物理显存直接进行连线呢?
GDDR5显存与memory controller的点对点连线,并不是一般人看到的或者想象到的直接以PCB走线—BGA引脚—memory controller单元的形式去进行的。在显存颗粒和memory controller之间,还存在着一个作为交换层的中间结构,随着存储体系的不断发展和演进,这层结构有了很多种称呼,我们在这里采用可编程逻辑解决方案供应商Xilinx(赛灵思)使用的名字,称其为memory controller Top Level(MC顶层,Xilinx简称MC_TOP,以下行文简称TOP LEVEL)。
memory controller Top Level(MC_TOP)与其他部件的关系
TOP LEVEL设计几乎伴随了整个内存/内存控制器的发展史,它对于memory controller有着十分重要的意义,GDDR5显存颗粒的所谓点对点连接指的就是与它的直连,真正构成memory controller体系的各种controller、FIFO等等都要与它互联才能真正连通显存,包括loopback在内的各种操作也将透过它来实现。有了TOP LEVEL,板卡制造商无需关心交换层的设计,他们只需要通过PCB布线简单的将芯片预留的特定引脚与显存引脚相连即可。由于TOP LEVEL是水平互联的,因此任意一个连接在TOP LEVEL上的memory controller也可以透过TOP LEVEL来实现对任意显存颗粒的直接操作。
不严谨的“点对点连接”的概念,以及PCB上的走线的直接性,让很多人产生了“GDDR5颗粒是点对点的,所以显存颗粒肯定是直接跟某特个特定的MC单元绑定直连”的错觉。GDDR5颗粒确实在一般描述中如字面意思上那样实现了与memory controller的点对点直连,但由于作为交换层的TOP LEVEL的存在,GDDR5显存颗粒实际上是与交换层而不是controller本身直连的。特定的memory controller也并没有跟特定的显存颗粒进行物理绑定,任意memory controller都可以透过TOP LEVEL对连在上面的所有显存颗粒进行控制。
在其他场合,TOP LEVEL也可以被称作MC Interface等等
正因为此,采用非对称显存布局的显卡在理论上可以不受连线细节影响,只要有正确位宽的显存颗粒被连接,MC就能拥有与位宽/频率相符的理论带宽。GeForce GTX 660/660Ti的显存体系运行在6008MHz上,因此192bit位宽的它们也就拥有了144.2GB/S的理论显存带宽。
在明确了所谓点对点直连的形势之后,特殊非对称显存体系理论带宽的问题已经解决了,但这并不是所有矛盾的终结——两两对称分布在PCB正反面的4颗显存颗粒的连线资源都只有其他4颗颗粒的一半,2颗显存颗粒共用一组连线是很明显的,就算理论带宽没有受到影响,实际操作过程中共用连线的2颗显存应该也会遇到延迟撞车的问题啊?延迟大到接近翻倍的话,这4颗显存颗粒的实际带宽不可能跟其他4颗显存颗粒一样啊?总不能说这里的线很粗很强大,一根线可以顶两根用吧。
很不幸,在GDDR5显存体系中,对于对称分布在PCB正反面的显存颗粒来说,“一根连线就是当两根来用的”。造成这样奇特结果的原因,来自GDDR5显存体系的一个基本特性——clamshell mode。
推荐经销商