计算机系统结构课程论文
Intel系列CPU的流水线技术的发展
学院:计算机科学与工程学院
班级: 学号: 姓名: 老师:顾一禾
2014年4月13日
目录
一、 简介......................................................................................................................................... 1 二、 影响CPU流水线性能的因素 ............................................................................................... 1
1、多个任务在同一时间周期内争用同一个流水段 ............................................................ 1 2、数据依赖 ............................................................................................................................ 1 3、 条件转移的影响 ............................................................................................................... 1 三、 Inter系列CPU芯片中采用的流水线技术的发展过程 ....................................................... 1
(一)Pentium III时主要采用的技术 ................................................................................... 1
1. 采用超标量双流水线结构 .......................................................................................... 1 2. 分支预测技术 .............................................................................................................. 2 3. 通过乱序来优化指令流水线 ...................................................................................... 2 4. 将指令划分为更细的阶段 ......................................................................................... 2 (二) Pentium IV中增加的技术 ........................................................................................ 2
1. 使用高级动态执行 ....................................................................................................... 2 2. 执行跟踪缓存 .............................................................................................................. 2 3. 快速执行引擎 .............................................................................................................. 2 4.超长管道处理技术(超管线技术) ................................................................................ 2 5. 超线程(HT)技术 .......................................................................................................... 3 (三)Core中增加的技术 ..................................................................................................... 3 (四)Core2时增加的技术 ................................................................................................... 3
1. 高级智能高速缓存技术 .............................................................................................. 3 2. 智能内存访问技术 ...................................................................................................... 3 3. 宽位动态执行技术 ...................................................................................................... 3 4. 优化流水线的技术 .................................................................................................... 3
四、 提高流水线性能及CPU性能的方法、相关技术 ............................................................... 4
1. 采用超标量双流水线结构 .................................................................................................. 4 2. 分支预测技术 ...................................................................................................................... 4 3. 优化指令流水线 .................................................................................................................. 4 4. 将指令划分为更细的阶段 .................................................................................................. 4 5. 加流水线深 .......................................................................................................................... 4 6. 智能内存访问技术 .............................................................................................................. 4 7. 宽位动态执行技术 ............................................................................................................... 4 五、 展望Intel CPU提高流水线性能的技术方向 ....................................................................... 4
1. CPU线程的提高 ................................................................................................................. 4 2. 更多条数的流水线 .............................................................................................................. 4 3. 提供更新的Cache搜索算法和轮换算法 .......................................................................... 4 4. 一定量地减少流水线深度 ................................................................................................. 4 5. 异步架构流水线的使用 ...................................................................................................... 4 六、 感想......................................................................................................................................... 5 七、 资料来源 ................................................................................................................................. 5
Intel系列CPU的流水线技术的发展
一、 简介
流水线技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。在计算机中,把一个重复的过程分解为若干子过程,每个子过程由专门的功能部件来实现。将多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他子过程并行进行。其中,流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。把流水线技术应用于指令的解释执行过程,就形成了指令流水线。其中可以把指令的执行过程分为取指令、译码、执行、存结果4个子过程。把流水线技术应用于运算的执行过程,就形成了运算操作流水线,也称为部件级流水线。
流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。
二、 影响CPU流水线性能的因素
1、多个任务在同一时间周期内争用同一个流水段
例如,假如在指令流水线中,如果数据和指令是放在同一个储存器中,并且访问接口也只有一个,那么,两条指令就会争用储存器;在一些算数流水线中,有些运算会同时访问一个运算部件。
2、数据依赖
比如,A运算必须得到B运算的结果,但是,B运算还没有开始,A运算动作就必须等待,直到A运算完成,两次运算不能同时执行。
3、 条件转移的影响
如果第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行那一条指令。这时就必须等第一条指令的判断结果出来才能执行第二条指令。条件转移所造成的流水线停顿甚至比相关还要严重的多。
越是长的流水线,相关和转移两大问题也越严重,所以,流水线并不是越长越好,超标量也不是越多越好,找到一个速度与效率的平衡点才是最重要的。
三、 Inter系列CPU芯片中采用的流水线技术的发展过程
(一)Pentium III时主要采用的技术
1. 采用超标量双流水线结构
超标量流水线设计是Pentium微处理器技术的核心。所谓超标量就是处理器内部含有多个执行单元来完成多条指令的同时执行。Pentium有两条分别称为U和V的指令流水线,各自有独立的算术逻辑单元ALU及高速缓存结构。这种双
1
流水线并行作业的方式,使得Pentium在每个时钟周期内可同时执行两条指令。此外,还有一个执行单元,保证同时完成一条浮点运算指令。在Pentium III时采用3条独立的12级超标量流水线。
2. 分支预测技术
为了减少由于转移导致流水线的效率损失,Pentium采用分支预测技术来动态预测指令的目标地址,从而节省了CPU的执行时间。通常在用户程序中包含不少的条件转移指令,在流水线计算机中,这些转移指令由于产生分支可能使予取和予译码指令作废。 Pentium内部有两个予取指令缓冲队列,在执行条件转移指令前,一个以顺序方式予取指令,另一个以转移方式予取指令,后者也称作分支目标缓冲器BTB(Branch Target Buffer),这是一个小的cache,它基于转移指令,尤其是循环转移的固有特点,可以认为在大多数情况下,当一条转移指令被再次执行时,其成功与否及转移目标与上次相同。据此可构造动态的分支目标预测硬件。BTB是一种效果较好的硬件机制,统计表明BTB的容量较大时(如超过256项)预测准确率可达90%。通过这种动态分支预测技术,不管是否产生转移,所需指令都在执行前予取好。
3. 通过乱序来优化指令流水线
在执行中采取了无序执行(out-of-order processing)技术。即当某条指令需要一些数据而未能立即执行完毕时,它将被剔出流水线并等待数据,CPU则马上执行下条指令,就好比在装配线上发现某件产品不太合格,而被淘汰,等待返工一个道理。这样,可以防止一条指令不能执行而影响了整个流水线的效率。
4. 将指令划分为更细的阶段
在P6架构的CPU中将指令划分成了更细的阶段,从而使逻辑设计、工序等等更为简化,提高了速度。在486芯片中,一条指令一般被划分为五个标准的部分,奔腾亦是如此。而在P6中,由于采用了近似于RISC的技术,一条指令被划分成了创纪录的十四个阶段。这极大地提高了流水线的速度。
(二)Pentium IV中增加的技术
1. 使用高级动态执行
为支持乱序执行和提高分支预测精度, 高级动态执行机制可以检查126条指令, 并决定执行次序, 配合128个重命名寄存器, 具有更高的预测精度。与Pentium III相比, 大约可减少1/3的预测错误。 动态执行技术一般指集分支预测、数据流分析(即乱序执行)和猜测执行三种技术于一身。
2. 执行跟踪缓存
用于存储已解码的微指令, 加快运行速率。当下次再执行到相同指令时, 不必再一次重复解码, 只需要取相关数据直接执行即可。这对于循环执行的程序有很高的效率。此外, 当分支预测出错, 需要回到分支处重新开始运行另一路时, 之前的译码阶段已经把另一分支指令缓冲进了Trace Cache, 而不用再译码,可节约1~2个时钟周期。
3. 快速执行引擎
采用了称为Double Pumped的双重并发技术(即两组ALU) , 每个时钟ALU能执行两次, 效率相应提升一倍。因此, Pentium 4的双ALU在一个周期内可以执行4条指令。
4.超长管道处理技术(超管线技术)
2
采用超长管道处理技术, 使流水线深度达20级。Prescott(Pentium IV的一种核心)更是达到了31级。
5. 超线程(HT)技术
资源不冲突时,可同时运行2个线程。
(三)Core中增加的技术
在Core架构时,由于Core架构是Pentium III的P6架构的扩展,所以采用的技术和Pentium III差不多,为3路,12级流水线,同时采用了微指令融合技术,主要是为了减少微指令数量,精简硬件设计。
(四)Core2时增加的技术
1. 高级智能高速缓存技术
各Core可动态支配L2 Cache,可提高L2命中率;减少FSB使用频率(通信量)。
2. 智能内存访问技术
根据软件需求,用预取器预取指令和数据。 3. 宽位动态执行技术
CPU内部增加新操作类型,将多条指令合并为1个操作,实现更大解码带宽、更少空间占用、更低调度负载。微指令融合(Micro-Op Fusion)技术CPU内部优化uop控制,将多个uop合并为1个uop;
4. 优化流水线的技术 优化分支预测技术:采用二级BTB、返回堆栈缓冲器(RSB)满时可导入ROB,平衡BTB/RSB中指令数量与速度的矛盾;64位宏指令融合技术:支持64位宏指令融合、增加了可融合宏指令个数。
上面提到的技术基本上是以提高CPU流水线的性能为目的的,但是其中有一个技术确违背了这个意愿,就是在Pentium中使用超长流水线技术使流水线深度达到20级,在Prescott架构中甚至达到了31级。
关于这个技术就不得不提到CPU发展史上有名的频率之争。Intel和AMD在桌面CPU市场上的激烈竞争,使双方都千方百计地拿出更强大产品来压制对方,而最引人瞩目的就是CPU的频率之争。随着CPU频率不断地攀升,Intel总是在自己某个核心的处理器到达极限之时采用新的、更长流水线的核心来消除频率的瓶颈(流水线越长,频率能更高)。
但是这样做势必会带来一系列的问题。
首先,由于现有芯片制造工艺的限制,频率的提升带来高功耗、高发热量的问题。尽管流水线增长,频率提升的空间相应增大,但是处理器频率提升的其它瓶颈却无法解决。而且过长的流水线意味着更加复杂的内部结构,生产的良品率也难以保证。
其次,在CPU的工作中,指令往往不是孤立的,许多指令按一定的顺序执行才能完成一个任务。而一旦某个指令在运算过程中发生了错误,或者执行了没有用的指令,那么其后与之相关的指令就都没有用了。这些指令必须清除掉,然后再执行其它的指令,CPU相当于做了许多无用功!流水线越长,一旦出错影
3
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库论文--Intel系列CPU的流水线技术的发展在线全文阅读。
相关推荐: