●更新system architecture的QPI
【IT168 资讯】从Intel的IA-32系列微架构“Nehalem”和下一代IA-64架构“Tukwila”开始将会进行革新.其中的关键点就是新的互连方式“QuickPathInterconnect(QPI)”的采用。
QPI将会替代以前的FSB(FrontSideBus)。因此架构将会进行完全革新。以前Intel的FSB可以最高实现1Gtps的数据传输,其中GTL+信号方式的接口范围较广。而最新的QuickPathInterconnect(QPI)则可以实现数Gtps的数据传输带宽。该传输方式基于的是(unidirectional)的point-to-point(PointtoPoint)规格的连接。
QPI最初可以实现6.4Gtps的传输速率。而以前FSB方式最高可以实现1.6Gtps(FSB1600)的速率。由于单向带宽为16bits,QPI单向带宽可以实现25.6GB/sec。这个数据差不多为为FSB1,600MHz的12.8GB/sec的2倍,FSB1,333MHz的10.7GB/sec的约2.5倍。QPI除了内部传输带宽获得了倍增以外,由于是进行内部直接连接,因此可以让多处理器的等待时间变短。
因此QPI对于IntelCPU产品将会带来很大的冲击。特别是现在在system architecture方面处于领先地位的AMD服务器平台产品来说,将会成为Intel最大的武器。那么QPI与目前的FSB有什么不同呢?
●QPI其实不是串行
QPI是(DifferentialSignaling)点对点(point-to-point)方式的高速连接。信号可以实现双向传输。这个与PCIExpress传输方式相似,而这也是目前高速数据传输的主要方法。
QPI可以被认为是“串行总线”,不过这个并不严谨。因为QPI并不进入串行总线。因此QPI不能算是嵌入式时钟。而PCIExpress等的串行接口使用的是数据信号拥挤时的嵌入式时钟方式,而QPI则使用的另外一条信号链接进行传送。如图所示那样,可以看到这个就是典型性串行内连接与PCIExpress差异。
这种QPI传输方式与AMD公司现行的HyperTransport很相似。HyperTransport就是通过较窄的通道进行数据传输。这里顺便介绍一下的是现在一些熟悉的高速CPU比如PLAYSTATION3(PS3)的CellBroadband Engine(Cell B.E.)、Xbox360XCPU(Xenon)都使用了类似的内部连接。

QuickPath Interconnect(QPI) Physical Layer
●等待时间与带宽间保持平衡
这样的类似性并不是偶然的。从目前情况来看,CPU最适合的内部连接应该是嵌入式时钟方式。由于嵌入式时钟存在overhead和等待的时间。因此嵌入式时钟解码为“8b/10b”,这样每个时钟循环就是损失5~25%的数据。另外就是EmbeddedClockEfficiency电路会变大。同时控制器需要对数据进行解码和编码,这样对于CPU来说就是等待时间。而这也是为什么Intel仍然在使用FSB的原因,主要是因为FSB等待时间短。
嵌入式时钟在进行传输时就不存在这样的问题。因此更能够实现高速传输。目前目标传输速率定在了10Gtps。因此如果像CPU总线那样传输距离是限定的,那么就可以决定连接的产品,这样就算是不使用嵌入式时钟也可以实现高速化。总之,就当前的目标传输速率来看,考虑较少的等待时间的话,嵌入式时钟方式是可以被考虑的。
不过HyperTransport下一发展阶段也将会开始使用嵌入式。恐怕这也将会成为处理器界共同的趋势。目前Intel推测与现行的QPI一样,6.4Gtps的速率将会首先实现,接下来将会实现10Gtps左右的速率。这样看来,通过QPI将可以实现高传输速率和低等待时间之间实现一个很好的平衡。

●5层构造
QPI与PCIExpress和HyperTransport一样都是通过多个接口组成的链接。主要有三种分别为full-width链接的20bits,半幅(half-width)10bits,以及1/4带宽的(quarter-width)5bits。当作为CPU连接的为全宽度的。由于存在着后面将要介绍的overhead,因此实际的20bits传输只有16bits带宽。

QuickPath Interconnect(QPI) Architecture Layer
QPI Link Width
数据传输使用的是双线。同时时钟信号也使用的双线。因此全宽度单向传输边需要使用42条线路。因此总共的接头为84个。这个以前64bitsFSB150个接头相比,基本上减少了一半。这样接口的复杂程度将会大大降低。
QPI与其它内部连接也进行了处理。经如最下层的物理层(Physicallayer)就是实际传输信号的层次,传输单元为20bits的“Phit(Physicalunit)”。以及链接层(Linklayer),这个就是对所谓的流量控制和错误修正的可靠性进行控制。至于其他的不包括CRCeraditekushon和(self-healinglinks),以及(clockfail-over)功能的控制。
同时为了避免由于大规模多处理器系统由于资源竞争导致的停顿,因此最多只提供3个虚拟网络功能。不过关于虚拟网络功能,在旧的DEC/Compaq的AlphaEV7(21364)白皮书就就已经有了相关功能的说明。另外就是MicroprocessorForum上发表了EV7JoelS. Emer先生,表示将会成为现在的Intel公司的(IntelFellow, Director, Microarchitecture Research, EnterpriseGroup)。
使用链接层处理的数据带宽为80bits“Flit(Flow controlunit)”。这是全宽度QPI的情况,虽然内部带宽为80bits,但是实际数据带宽为64bits,其余的用于错误修正等。因此20bits数据传输带宽应该计算为16bits。
●支持路由功能
路由层(Routinglayer)如果是其它设备进行数据包Frame work处理。并且最多可以担任3个以上设备QPI连接的路由工作。而transport层(Transportlayer),则提供可靠的保障性以及更高级的路由功能。而协议层(Protocollayer),则是处理协议的层。这下面包括有MESI协议。
应该说QPI以20bits的带宽实现16bits的数据传输还不算差。因此QPI可以填补高端服务器市场的空白。
●缓存也可扩展
QPI直接连接CPU,与以前的Intel CPU相比的话,将可以更轻松得实现多核心处理器。而这里的关键就是对QPI进行改良。同时对于一些标准协议进行扩充支持比如MESI协议。这里MESI分别代表的是“M(modified)”“E(exclusive)”“S(shared)”“I(invalid)”.


Nehalem-EX构成

Xeon系列Nehalem产品构造

Nehalem-EX8插座MP构造