服务器 频道

Intel Nehalem-EP处理器首发深度评测

Click Here

The Core Front-End: Instruction Fetch
处理器核心前端:指令拾取

  处理器在执行指令之前,必须先装载指令。指令会先保存在L1缓存的I-cache(Instruction-cache)指令缓存当中,Nehalem的指令拾取单元使用128bit带宽的通道从I-cache中读取指令。这个I-cache的大小为32KB,采用了4路集合关联,在后面的存取单元介绍中我们可以得知这种比Core更少的集合关联数量是为了降低延迟。

  为了适应超线程技术,RIP(Relative Instruction Point,相对指令指针)的数量也从一个增加到了两个,每个线程单独使用一个。


The Core Front-End: Instruction Fetch

  指令拾取单元包含了分支预测器(Branch Predictor),分支预测是在Pentium Pro处理器开始加入的功能,预测如if then这样的语句的将来走向,提前读取相关的指令并执行的技术,可以明显地提升性能。指令拾取单元也包含了Hardware Prefetcher,根据历史操作预先加载以后会用到的指令来提高性能,这会在后面得到详细的介绍。


两级分支预测机制

  当分支预测器决定了走向一个分支之后,它使用BTB(Branch Target Buffer,分支目标缓冲区)来保存预测指令的地址。Nehalem从以前的一级BTB升级到了两个级别,这是为了适应很大体积的程序(数据库以及ERP等应用,跳转分支将会跨过很大的区域并具有很多的分支)。Intel并没有提及BTB详细的结构。与BTB相对的RSB(Return Stack Buffer,返回堆栈缓冲区)也得到了提升,RSB用来保存一个函数或功能调用结束之后的返回地址,通过重命名的RSB来避免多次推测路径导致的入口/出口破坏。RSB每个线程都有一个,一个核心就拥有两个,以适应超线程技术的存在。


RSB:重命名的返回堆栈缓冲器

  指令拾取单元使用预测指令的地址来拾取指令,它通过访问L1 ITLB里的索引来继续访问L1I Cache,128条目的小页面L1 ITLB按照两个线程静态分区,每个线程可以获得64个条目,这个数目比Core 2的少。当关闭超线程时,单独的线程将可以获得全部的TLB资源。除了小页面TLB之外,Nehalem还每个线程拥有7个条目的全关联(Full Associativity)大页面ITLB,这些TLB用于访问2M/4M的大容量页面,每个线程独立,因此关闭超线程不会让你得到14个大页面ITLB条目。

  指令拾取单元通过128bit的总线将指令从L1I Cache拾取到一个16Bytes(刚好就是128bit)的预解码拾取缓冲区。128位的带宽让人有些迷惑不解,Opteron一早就已经使用了256bit的指令拾取带宽。最重要的是,L1D和L1I都是通过256bit的带宽连接到L2 Cache的。

  由于一般的CISC x86指令都小于4Bytes(32位x86指令;x86指令的特点就是不等长),因此一次可以拾取4条以上的指令,而预解码拾取缓冲区的输出带宽是6指令每时钟周期,因此可以看出指令拾取带宽确实有些不协调,特别是考虑到64位应用下指令会长一些的情况下(解码器的输入输出能力是4指令每时钟周期,因此32位下问题不大)。

75%的x86指令小于4Bytes。

  指令拾取结束后会送到18个条目的指令队列,在Core架构,送到的是LSD循环流缓冲区,在后面可以看到,Nehalem通过将LSD移动后更靠后的位置来提高性能。

1
第1页:Intel Nehalem-EP处理器首发深度评测第2页:Nehalem:Tick-Tock战略的产物第3页:Nehalem设计思想的转变:基于企业应用第4页:深入Nehalem微架构:核心区间划分第5页:深入Nehalem微架构:指令拾取第6页:深入Nehalem微架构:解码与循环流检测第7页:深入Nehalem微架构:乱序执行引擎第8页:深入Nehalem微架构:乱序执行单元第9页:深入Nehalem微架构:乱序存取单元第10页:深入Nehalem微架构:乱序存取单元第11页:深入Nehalem微架构:缓存子系统第12页:深入Nehalem微架构:缓存子系统第13页:深入Nehalem微架构:核外系统/IMC第14页:深入Nehalem微架构:核外系统/QPI第15页:深入Nehalem微架构:ccNUMA架构第16页:深入Nehalem微架构:超线程技术第17页:深入Nehalem微架构:ccNUMA、SMT与OS第18页:深入Nehalem微架构:虚拟化第19页:深入Nehalem微架构:SSE4.2指令集第20页:深入Nehalem微架构:制造工艺第21页:深入Nehalem微架构:长沟道晶体管技术第22页:深入Nehalem微架构:能耗比控制第23页:深入Nehalem微架构:能耗比控制第24页:小结:Nehalem架构的优势第25页:Nehalem-EP:处理器规格对照表 第26页:Nehalem座驾:Tylersburg芯片组结构第27页:Nehalem座驾:Tylersburg芯片组PCIExpress第28页:Nehalem座驾:Tylersburg芯片组QPI第29页:Nehalem座驾:Tylersburg芯片组其它特性第30页:Nehalem座驾:四种Tylersburg规格对照表第31页:实物图:Nehalem-EP最高型号Xeon X5570第32页:实物图:Tylersburg-EP芯片组第33页:实物图:Intel Nehalem-EP测试样机第34页:实物图:Intel Nehalem-EP测试样机第35页:实物图:Intel Nehalem-EP测试样机第36页:实物图:Intel Nehalem-EP测试样机第37页:测试环境与测试方法第38页:Nehalem-EP服务器对比测试平台第39页:软件测试信息、系统部件简介第40页:SiSoftware Sandra 2009处理器性能测试第41页:SiSoftware Sandra 2009缓存内存性能测试第42页:SPEC CPU 2006整数性能测试第43页:SPEC CPU 2006浮点性能测试第44页:ScienceMark缓存内存子系统性能测试第45页:CineBench R10性能测试第46页:Iometer磁盘子系统性能测试第47页:NetBench文件服务器性能测试第48页:Benchmark Factory数据库性能测试第49页:超线程能力对比测试:SiSoftware Sandra第50页:超线程能力对比测试:ScienceMark第51页:超线程能力对比测试:CineBench第52页:超线程能力对比测试:Iometer第53页:超线程能力对比测试:NetBench第54页:超线程能力对比测试:Benchmark Factory第55页:超线程能力对比测试:SPEC CPU 2006整数第56页:超线程能力对比测试:SPEC CPU 2006浮点第57页:Nehalem-EP平台功耗测试第58页:IT168评测中心观点
相关文章