The Uncore:QPI
核外系统:QPI
直联架构不仅仅意味着处理器与内存直接相连,还让处理器之间也直接联系起来。Hyper-Transport总线的使用让Opteron进入了高性能计算市场,QPI所作的事情是一样的。通过QPI总线,处理器之间可以直接相连,不再需要经过拥挤、低带宽的FSB共享总线,多处理器系统运行效率大为提升。 对于多处理器系统而言,QPI提供的巨大带宽对性能提升很有作用。
QPI vs. FSB | ||
名称 | Intel FSB(Front Side Bus) | Intel QuickPath Interconnect(QPI) |
拓扑 | 共享总线 | 点对点连接 |
物理总线宽度(bits) | 64 | 20 x 2(双向) |
数据总线宽度(bits) | 64 | 16 x 2(双向) |
传输速率 | 333MHz 1.333GT/s 10.6GB/s | 3.2GHz 6.4GT/s 12.8GB/s(单向) 25.6GB/s(双向) |
需要边带信号 | 是 | 否 |
引脚数 | 150 | 84 |
时钟数 | 1 | 1 |
集成时钟 | 否 | 否 |
总线传输方向 | 双向 | 单向 |
使用高频率DDR3内存,访问本地内存的延迟大约为60个时钟周期,而通过QPI总线访问远端的处理器并返回数据大约需要90个时钟周期(如上一页所述)。QPI的就是Core架构为了使用服务器市场而做出的进化,它可以建立一个庞大的可扩展的解决方案。
上:Nehalem-EP,两条QPI总线
下:Nehalem-EX,四条QPI总线
除了提供更高的带宽(每链路25.6GB双向带宽)之外,QPI总线还让多处理器系统更有效率:处理器之间可以直接连接。如上图,每个CPU都可以直接和其他三个CPU通信。假如放宽些要求,不需要对角线处理器直接相连,那么Nehalem-EX还可以直接实现8路相连,而不需要加入额外的芯片。
所有的Nehalem都按时钟分为三个部分:核心、核外(L3和系统逻辑)和IO(QPI和IMC),这三个部分的频率通常互不相同。由于L3缓存属于核外部分,因此它的频率和核心频率通常是不同的,在以往,CPU内的高速缓存通常都是全速的,只有Pentium II的L2缓存是半速的(它和CPU内核不在同一个晶圆上,虽然在同一个CPU封装内),而K6之前的L2缓存都是放在主板上面的,速度极低。现在,Nehalem架构下,L3缓存的时钟频率也不再是全速,而是要较低一些,例如,Core i7 920的L3频率应该是2.133GHz,Xeon X5570的L3频率应该是2.667GHz。
Nehalem-EP/Gainestown Xeon X5570处理器,主频2.93GHz,QPI总线频率高达3.2GHz,比主频还要高
QPI总线频率一般和L3频率也不同,不过它们具有一些联系。对于桌面处理器来说,QPI总线只有一条,简单地连接处理器与IOH,然而对于服务器处理器来说,除了连接IOH之外,处理器与处理器之间也需要通过QPI总线,因此服务器的处理器都具有很高的QPI频率,有些时候甚至高于处理器主频率,如Xeon X5570处理器。
桌面Nehalem:Core i7 920的主频是2.67GHz,而QPI总线频率只有2.4GHz
一些主板允许单独设置这些不同的频率以方便超频。在这里,笔者可以回答很多用户关心的UCLK频率(一些主板上具有的Uncore Clock设置选项)的问题:L3缓存频率和IMC集成内存控制器的频率是不同的,也就是UCLK和内存频率是不同的,不过它们具有一些内在关系。此外,由于UCLK关系的Uncore部分关系到了整个处理器的中枢部分:系统逻辑(包括中央路由器和集线器),因此它的频率设定可以很大地影响到整个处理器的运行效能。