服务器 频道

从Xeon LV处理器解读Core微架构

  Intel主流微架构概述

  Netburst微架构是一款具有良好扩展性的微架构,从1999年Intel发布以来,逐渐被应用到桌面平台、移动平台和服务器平台上。Netburst微架构在设计之初追求的是性能,主频对于该架构的影响非常大,因此Intel在过去的几年中近乎于“痴迷”的推动基于Netburst微架构处理器的主频,直到去年Intel处理器的主频已经达到了3.8GHz。

  高主频也就意味着高功耗,而高功耗则意味着它在多种应用方面会受到限制,比如笔记本中。因此Intel Pentium 4M处理器在笔记本上的应用只是“浅尝即止”,Intel随后推出的几代迅驰平台中使用了新的Pentium M处理器,比如Banias、Dothan、Yonah。这一系列的处理器的结构更接近于“古老的”P6微架构,但是却具有更高的效能和更低的功耗。

  当基于Netburst微架构的“唯性能论”走进死胡同之后,Intel开始奉行新政策:能效。当然TDP已经高达130W的Netburst微架构是不可能成为“变法”支持者的,Pentium M处理器所采用的高能效的微架构才是趋势,Core微架构就是在这个基础上的进一步的改进。

  以下的几个章节我们将会对比介绍Netburst微架构、Yonah核心所采用的微架构和Intel即将推出的core微架构的一些细节进行对比。这些微架构都已经或者即将应用于服务器平台上,比如Pentium D系列处理器、双核Xeon 2.8GHz处理器(Paxville DP)、Xeon 5000系列处理器(Dempsey)都是基于Netburst微架构开发的。而本文的主角Xeon LV处理器则是同Yonah核心非常的相似的产品,微架构水平来看应该没有太大区别。Intel会在今年下半年发布基于core微架构的Xeon系列处理器,可以把这种微架构看做是Yonah核心所采用的微架构的改进,因此我们希望通过对于Xeon LV处理器的测试,让读者提前对于Intel下一代处理器有更加直观的认识。

  基于这些微架构的处理器都可以应用双核技术,因此下面的示意图仅仅包括了其中的一个核心和缓存部分,请读者注意。为了便于读者阅读,下面的三种微架构的示意图分别采用不同的色彩代表不同的功能模块:

  • 紫色部分:处理器前端的部分,主要用于取指令和分支预测
  • 橘黄部分:主要用于将x86指令译码为uops
  • 淡黄部分:用于uops、计划和乱序的内部缓冲
  • 蓝色部分:功能单元
  • 绿色部分:内存子系统
  • 灰色部分:x86-64寄存器状态

图1:Netburst 微架构

  在Netburst微架构的历程中,先后出现过多种处理器核心,比如用于桌面系统的Willamette、Northwood、Prescott,用于服务器系统的Nocona、Irwindale、Paxville、和最新的Dempsey。上图所示的微架构示意图更适用于Prescott及其以后的处理器,当然之前的Netburst架构的核心也可参考。Netburst微架构具有31级流水管线,配置了1个复杂ALU单元和2个简单ALU执行单元,64bit FP/SSE执行单元,另外还整合了16KB-8way L1数据缓存,12KB追踪缓存和2MB-8way L2缓存,其中L1数据缓存同执行资源之间的线宽为128bit,而L1和L2之间的线宽为256bit。

  更老的Netburst微架构,比如Willamette核心,它的采用了20级流水管线,同样配置了1个复杂ALU单元和2个简单ALU执行单元,64bit FP/SSE执行单元,也是12KB追踪缓存。同近期的Netburst微架构的主要区别在于L1缓存和L2缓存,它的L1缓存容量为8KB,8way,128bit位宽,L2缓存容量为256KB,8way,256bit位宽。

  超长的流水管线设计是Netburst微架构的最大特色,理论上这种设计可以明显的提升ILP,但是要维持这种管线适中处于高效的状态,那么需要给管线输送足够的“货物”。从上图可以看出Netburst微架构具有126个入口的ROB(Reorder Buffer,重排序缓冲),这就意味着在这种架构中可以同时有126条指令处于“in-flight”状态,从而提供足够广的范围,选择可以并行处理的指令然后输送到执行管线,从而提升ILP(指令级并行)性能。

图2:Yonah 微架构

  Yonah核心的微架构同Netburst微架构差异非常的大,据说它同P6(Pentium Pro、Pentium II 和 Pentium III 处理器均采用)微架构比较类似,不过由于篇幅的限制,我们就不再追溯那些“久远”的资料了。

  Yonah的流水管线长度只有12级,远远的低于Netburst微架构。在缓存设计方面,它没有延续Netburst的创新,而是走了“复古”路线,它配置了32KB L1指令缓存和32KB L1数据缓存,均为8-way,128bit位宽,另外还有2MB L2缓存,也是8-way,256bit位宽。(P6微架构采用的是8KB L1指令缓存和8KB L1数据缓存的设计)。Yonah具有2个32bit ALU、2个64bit浮点执行单元和2个64bit SSE执行单元。

  我们此次测试的Intel Xeon LV处理器采用了代号为“Sossaman”的核心,一般的认为它同Yonah核心是几乎一样的——当然,我们也不排除这两种核心在某些细节上的不同,但除非Intel公布这些细节,否则我们无法了解更多。因此在下文中的关于Yonah部分的技术细节,基本可用于Xeon LV处理器。

图3:Core 微架构

  Core微架构同Yonah的结构的相似度将会非常的高,从上面两张功能示意图就可以看出来。当然区别也是很明显的,Core微架构的译码单元为4-1-1-1结构,而Yonah则为4-1-1结构。另外,其ALU执行单元升级为64bit,SSE执行单元升级为128bit,浮点执行单元也升级为128bit。

0
相关文章