超标量流水线

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PPT第二张

超标量流水线思想:多条流水线并行工作,提高指令级并行度。

超标量流水线由12个功能段组成:以RISC指令缓冲池(再定序缓冲器)为核心实现。

PPT第三张

IFU1 取指单元段1

每次从L1 I-Cache取一32字节的行装入预取流式缓冲器。

IFU2 取指单元段2

每次从预取流式缓冲器取16字节块;

在16字节中标志指令边界(预译码);

若发现转移指令,指令地址交BTB进行动态预测(针对命中的转移指令,不命中时的预测留给静态转移预测完成)。

IFU3取指单元段3

每次旋转送来的16字节中3条指令,按一定次序(复杂/简单、简单、简单)同时递交给DEC1。

取指段特征:各段不按时钟动作,而是需要时产生动作;指令按序流动。

DEC1 译码段1

每次3个译码器同时可将3条IA指令译码成最多6个RISC的微操作(μop);微操作翻造由MIS实现。

DEC2 译码段2

每次最多接收6个μop,并按原始程序顺序排成队列;

若μop为转移型且BTB未命中(BTB未处理),则交静态转移预测机构(替换/生成BTB 项、预测转移方向)。

静态预测转移规则:

对转移地址非相对PC方式,属返回/调用指令的预测转移,否则不转移;

对转移地址是相对PC,地址增加的预测不转移,否则转移。

RAT 寄存器重命名和分配段(按序发射)

每时钟取3个μop,检查是否使用IA寄存器,若有则转为内部寄存器(ROB项的值域段,又称别名寄存器),然后将3个μop送ROB。

此段消除了绝大多数RAW、W AW、W AR数据相关。

ROB再定序缓冲器段

ROB(有40个项的环形缓冲器)接收μop;

负责管理每项的各种标志位(如是否已到保存站等)。

译码段特征:CISC→RISC,指令按序流动,

需要时动作→按时钟发射。

DIS派遣段(保存站RS实现)

RS能以任意顺序从ROB拷贝μop到相应端口;

RS从端口调度到ALU的原则是操作数已就绪(已排除RAW相关)且执行单元可用(指令执行完时);

对MEM的读、写的动态MEM地址判别在DIS段实现。

EX 执行段(各功能部件实现)

执行μop,结果经CDB返回ROB;

MEM写将产生两个μop,写地址μop即建立SDB项;

若μop是转移指令,则结果同时返回BTB(更新/猜错)和ROB。

WB 写回段

μop执行结果写回或L1 D-Cache数据读入ROB,并进行错误检查和修正,同时将结果或数据送到RS。

执行段特征:乱序流动、并行执行,EX部件可不同时长。

RR 回收就绪段(确认段)

每时钟回收3个μop;

按程序顺序以IA指令为单位,对μop进行确认,可消除W AW、W AR相关;

对分支和异常的确认处理可能需清除部分或全部ROB。

RET 回收段

按程序顺序以IA指令为单位,将回收就绪的IA指令对应结果写回IA寄存器及设置EFLAGS标志;通知MOB将相应结果写入L1的D-Cache,ROB中清除IA指令对应的μop。

回收段特征:RISC→CISC,按序回收。

PPT第四张

软硬件实现:

超标量机要求相同操作的指令能够相对均匀地分布在程序中,避免发生资源冲突,硬件方面通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。主要是以避免、消除相关为主

PPT第五张

优点:与一般的流水机器相比,超标量处理器的特点主要表现在:

(1)配置有多个性能不同的处理部件,采用多条流水线并行处理。

(2)能同时对若干条指令进行译码,将可并行执行的指令送往不同的执行部件,从而达到在每个时钟周期启动多条指令的目的。

(3)在程序运行期间由硬件(通常是状态记录部件和调度部件)完成指令调度。

PPT第六张

缺点:相应的硬件较为复杂

相同操作的指令序列连续出现时,会发生资源冲突

指令级并行性自身存在很大限制

PPT第七张

第一个超标量的设计是在1965年Seymour Cray开发的CDC 6600。1988 年的Intel i960CA 与1990 的AMD 29050处理器是第一个量产的单晶粒超标量处理器。这些RISC系统的CPU 使用超标量架构,是由于当时RISC的设计的核心较简单,能够直接发送指令与调度多种功能性的单位(像是ALU)。这也是在八、九十年代RISC处理器比CISC处理器的运算速度更快的主要原因。

除了那些低功率CPU、嵌入式CPU、以及使用电池电源的CPU,1998年以后开发的CPU设计都已经是超标量体系结构。第一种采用了超标量技术的X86处理器是Pentium。第一批采用了把CISC指令异步解码为微指令序列技术的处理器是Nx586, P6体系结构的Pentium Pro 以及AMD K5。这使得被缓存的微指令可以动态调度(dynamic scheduling)执行,使得P6架构的并行性更优于P5架构的Pentium; 这也使得预测执行(speculative execution)更易实现,CPU的时钟频率也可以更高。

相关文档
最新文档