Pentium 4架构解析

Pentium 4架构解析 - 电脑诊所 - 电脑教程网

Pentium 4架构解析

日期:2007-09-01   荐:
  Pentium 4架构解析 翻译机      超管线的技术      Pentium 4是第一个采用IA架构的CPU,IA架构是英特尔自己发明的CPU架构,以区别于之前的 RISC或是CISC。由于目前的操作系统大部分都还是32位的,因此 Pentium 4使用的也是IA-32架构。      在Pentium 4中,首先最让人注意的就是其管线的结构完全不同了。从前P6架构使用的是10个管线,但是在Pentium 4中, 这次大胆地用了20个管线。英特尔将这个架构称之为“超管线技术”(Hyper Pipelined Technology)。 20个管线不但超过了P6的10条管线,更比P5的5条管线多了四倍。      我们用“大胆”这个词,表示管线越多虽然可能带来更快的速度,但是在有些地方可能也会有不好的效果。管线多的好处就是可以让CPU的时钟再加快,而不需要将die size减小。而更多的管线,也会让每一个时钟能处理的指令(InstUCtion per clock,IPC)变少。      更快的时钟      从字面上来看,每一个时钟能处理的指令变少了,当然CPU的速度就变慢了。但如果我们能让CPU的时钟加快,那么同样的时间之内,能处理的指令还是可以达到一个可接受的速度,这也是为什么Pentium 4在上市时,就会从1.4GHz起步(也可能有1.5GHz的产品)。目前最快的Pentium Ⅲ为1.13GHz,如果我们单纯比较每个时钟中能处理的指令,同时钟的Pentium Ⅲ应该会比Pentium 4快,但幸好Pentium 4的时钟较快,因此在光比这一部分时,Pentium 4还是占了上风。      分支预测      自从Pentium之后,由于CPU几乎都已经高度管线化了,因此要增加管线的效率,分支预测占了很重要的角色。告诉管线下一步要怎么做,当然可以增加执行的速度。但是分支预测还是一种“猜测”,换句话说,当猜对时,系统的速度当然如鱼得水,快速前进,但最怕的就是预测的下一步骤是错误时,所有的指令性都必须回到管线的最前段,重新再进入管线从头来过。      从上一段你就可以了解,如果管线只有10个,那么当分支预测错误时,所花费的时间会少很多,但是如果有了20个管线,那么当分支预测出错时,所花费的时间就会比10个阶段的管线多出许多了。      英特尔的Pentium 4敢使用20个管线,想必一定有其理由,但如果要将分支误判所造成的时间要回来,想必一定要有其它的机制来将这个缺点克服。      更快速的运算单元      为了怕分支预测对Pentium 4速度造成极大的影响,英特尔在Pentium 4中使用了更快的运算单元。在Pentium 4中的算术逻辑单元中 (ALU),其运算的频率可以是CPU整体运算时钟的两倍。换句话说,如果上市时的Pentium 4其时钟为1.4GHz,那么其ALU内部的运算时钟就是2.8GHz,这个速度应该是有史以来X86 CPU中最快的一个了。      英特尔将这个功能视为 NetBurst架构中最重要的部分之一,而ALU也被称之为“Double Pumped ALU”。想想看,如果在Pentium 4上市时有2GHz的产品,其ALU的内部运算时钟将高达4GHz,这是多么可怕的一件事啊!      快速的ALU时钟可想而知一定会让整数的运算速度加快,但从前面的讨论得知,也应该是要为了补上IPC太少及分支预测错误的不足,但是在这些优点及缺点的平衡之下,Pentium 4是否真的会超过同时钟的Pentium Ⅲ或是Athlon就不得而知了,相信一定要在实际的测试之后才能分出高下。      改良的高速缓存      事实上,分支预测的问题在英特尔内部设计Pentium 4之初也起了不少争议,但是真正能摆平这个问题的重要因素,最后还是回到了高速缓存上。英特尔发展出一套称之为“执行追踪Cache”(Execution Trace Cache)的技术,希望能将分支预测的问题彻底解决。      事实上,任何X86系列的CPU,都会有一个译码器。这个译码器的用处就是将已经截取下来的指令集“译码”成执行单元看得懂的小指令。而这个译码器中的正反电路,是所有逻辑单元中数量最多的一种。因此在解释指令时,会花上比其它逻辑电路还要多的时间。如此一来,当第一次执行指令时,或是在分支预测上出问题时,就会造成整个CPU速度的下降。      执行追踪Cache是介于译码阶段及第一次执行之间的中间角色,在译码完成之后,就是执行追踪的任务了。其将译码完的微指令(micro-op)储存起来,而所谓的微指令,就是在截取及译码之后准备执行的小指令。当执行一个新的指令时,系统不需要重新再执行整个截取及译码的动作,Pentium 4可以直接到这个执行追踪Cache中取得这个小指令,将译码完毕的微指令取出开始执行。      我们前面提到,执行追踪Cache的用途其实有很大一部分是在弥补分支预测错误所造成的问题。有了这个机制,当Pentium 4的20阶段管线在预测执行错误而需要从头来过时,就可以不需要重新来过,也是可以到Cache中找资料,因此也降低了因分支预测错误而造成的时间消耗。      事实上,这个动作可说是英特尔在Cache技术上的一个突破。由于执行追踪Cache可以存放12KB的资料。而Pentium 4在 L1数据Cache上有8KB的大小,虽然比Pentium Ⅲ的16KB小,但在英特尔的效能测试中,并不会因Cache小了这么多而有显著的速度下降。      L2高速缓存      和Pentium Ⅲ一样,Pentium 4也拥有256KB的L2Cache。当然英特尔不会再犯同样的错误,L2高速缓存的速度和CPU的时钟一样快,但是资料的频宽则比目前的Pentium Ⅲ要大的多了。这是因为Pentium 4的时钟较快,而且使用在传输资料时,是每一个CPU时钟才会有资料进出的动作,因此频宽至少要是Pentium 4上L2高速缓存的两倍。举例来说,在1.4GHz的Pentium 4上,其L2高速缓存的速度是45GB,但是在同时钟的Pentium Ⅲ身上,可能只有不到23GB的数据传输量。      总线的速度      在Pentium 4上,总线的速度也是相当的、重要的。在经过了100MHz、133MHz之后,英特尔将总线速度直接冲上 400MHz,以超过AMD 200MHz的EV6总线。虽然速度到了400MHz之后,资料的传输量可以达到3GB以上,但是目前似乎这么宽大的高速公路还没有车子能跑到这个速度。      要配合全新的架构,英特尔当然要有全新的芯片组。使用的当然就是850芯片组。但是到目前为止,850芯片组比较像一个功能较少的840芯片组,关于850的详细内容请关注以后的文章。
[1] [2]  

(出处:http://www.sheup.com)


 [1] [2] 

标签: