英特尔奔腾双核处理器T3400 英特尔奔腾双核处理器( 二 )


15.其实在实际的评测中,Pentium M在很多项目上得分都超过了Pentium 4 。而P6架构也是Intel开发的最优秀,最成功的一款架构,仅仅从它在市场中存在的时间,以及所衍生出来的产品数量就可知一二 。
16.既然如此,同样使用此架构的Pentium M为什么就不能够继续实现其辉煌呢?现在就让我们来看看,相比于Pentium III,Pentium M所作出的具体改进有哪些?
17.Pentium M和Pentium III一样,都是基于RISC架构(精简指令集架构)的处理器,不过两款处理器的执行核心有稍有不同 。
18.例如:虽然两款处理器都只有5个执行单元,但是两款处理器的执行管线长度是不一样的 。Pentium III的整数管线长度为10级,而Pentium M的管线要更长些 。
19.当然Pentium M的管线长度尚远远不及Pentium 毕竟需要保证Pentium M处理器的执行效率,但是为了今后能够进一步提升处理器的频率,Intel的工程师还是增加了管线长度 。
20.管线长度决定频率提升的潜力,同时会为处理器带来更多的能耗和发热量,因此管线长度的选定,对移动处理器来说尤其重要 。
21.因此通过一些使用经验数据判断,该处理器的管线大约在12-14级左右,也就是说要比Pentium III的管线长一点点 。
22.新增加的管线级数,除了用来推升处理器的时钟频率外,在Pentium M处理器中的微操作融合技术也需要更长的管线 。
23.这一点将在后文中提及 。较长管线的缺点还颇多,在带来了更高能耗和更多发热量的同时,还会带来因为分支预测失败后的更多花销 。
24.尤其对于现在的超标量体系结构且拥有乱序执行能力的处理器而言,分支预测失败所带来的负面影响不容忽视,而且已经成为影响处理器性能的重要因素 。
25.在研发过程中,开发人员都会尽可能降低因为增加执行管线级数而带来的这种影响,那么现在就让我们来看看,Pentium M中是如何改进分支预测单元的 。
26.改进分支预测和硬件数据预取:当处理器中的管线开始全速运转,突然发生执行了一个错误的程序分支,那么处理器就要重新查找执行正确的分支,这个过程中,一部分执行单元会出于空闲状态,执行的延迟增加,进一步影响了最终的性能 。
27.分支预测逻辑的目的就是为了将这种情况出现的几率最小化 。在Pentium M中,分支预测逻辑是主要的改进部分 。
28.事实上,Pentium M的分支运测和Pentium 4的很相象 。准确的说,Pentium M的分支预测单元应该和Prescott核心的Pentium 4处理器相似 。
29.它增加了两个部分:一个是识别循环,另一个是预测间接分支 。正因为如此,Pentium M中的分支预测和Prescott之前的Pentium 4有明显的不同,而且要比它们更加先进 。
30.当然,要想进一步将原本基于使用分支历史表的传统静态分支预测方式改进的更好,难度非常大 。但是通过下面几个方面的分支预测单元的改进,Intel的工程师将Pentium M的预测精度整整提高了20%,当然这是和Pentium III相比 。
31.第一个改进就是增加了循环识别逻辑 。传统的静态分支预测方式,分支预测的循环结束条件老是出错 。当然能够通过扩大存储分支信息的缓存器容量,使其存储更多的分支信息,然后分析其中的数据来解决问题 。
32.但是这样一一的分析数据会造成很长的延迟 。所以Pentium M使用了稍微不同的方法,将代码中的循环识别逻辑和循环结论信息独立开来 。
33.这样能够极大的提升结束循环的条件预测精度 。第二个就是改进间接分支预测 。所谓间接分支就是一个分支的分支地址,这个地址在程序编译时是不知道的,而且是程序执行时,由相关寄存器的状态来决定的 。

推荐阅读