高等计算机系统结构

上传人:ldj****22 文档编号:35896653 上传时间:2018-03-22 格式:PDF 页数:28 大小:614.88KB
返回 下载 相关 举报
高等计算机系统结构_第1页
第1页 / 共28页
高等计算机系统结构_第2页
第2页 / 共28页
高等计算机系统结构_第3页
第3页 / 共28页
高等计算机系统结构_第4页
第4页 / 共28页
高等计算机系统结构_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《高等计算机系统结构》由会员分享,可在线阅读,更多相关《高等计算机系统结构(28页珍藏版)》请在金锄头文库上搜索。

1、1北京大学微处理器研究开发中心计算机系统结构研究所高等计算机系统结构高等计算机系统结构高等计算机系统结构高等计算机系统结构(第三讲)2008年10月20日程 旭Tomasulo算法Tomasulo算法北京大学微处理器研究开发中心计算机系统结构研究所上一讲小结上一讲小结 ? 软件或硬件的指令级并行 (ILP) ? 循环级并行最容易判定 ? 软件并行性取决于程序,如果硬件不能支持就出现冒险 ? 软件相关性/编译器复杂性决定编译中是否能展开循环 ? 存储器相关是最难判定的 ? 硬件开采ILP动态调度(dynamic scheduling)? 在编译时有些相关情况不能真正判定,可以简化编译器。 ? 针

2、对某一机器产生的代码可以在另一机器上有效运行 ? 记分板的核心思想: 允许暂停之后的指令提前处理(译 码 = 发射指令 Rk Nof(if Qj(f)=FU then Rj(f) Yes); f(if Qk(f)=FU then Rj(f) Yes); Result(Fi(FU) 0; Busy(FU) NoBusy(FU) yes; Op(FU) op; Fi(FU) D; Fj(FU) S1; Fk(FU) S2; Qj Result(S1); Qk Result(S2); Rj not Qj; Rk not Qk; Result(D) FU;Rj and RkFunctional uni

3、t doneWait untilf(Fj( f )Fi(FU) or Rj( f )=No) 存放未决的操作数? 指令中的寄存器 被 数值或者指向保留站的指针 代替; 这一过程称为 寄存器换名(register renaming) ; ? 消除WAR、WAW冒险 ? 保留站 比 实际寄存器 多,因而可以完成优化编译 器所不能完成的一些工作 ? 结果 从 RS 直接 到 FU,无需通过寄存器, 而是通过 公 共数据总线(Common Data Bus) 把结果广播到所有FU ? 装入(Load) 和 存储(Stores)也象 其他功能部件一 样使用保留站 北京大学微处理器研究开发中心计算机系统结

4、构研究所Tomasulo的结构图Tomasulo的结构图Load BufferFP RegistersFP Op QueueStore BufferFP Add Res. StationFP Mul Res. StationCommon Data BusFrom MemoryFrom Instruction UnitCommon Data Bus(CDB)To MemoryReservation StationOperation Bus123456123123112AddersMulters6北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo算法的三段Tomasulo算法的三段1

5、. Issue从FP Op Queue中取出指令如果保留站空闲(无结构冒险), 控制机制 发射 指令 记分板能否改进?记分板能否改进? 北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo示例 第3周期Tomasulo示例 第3周期 Instruction status Execution Write InstructionjkIssue complete ResultBusy Address LDF634+R2130 Load1 Yes34+R2 LDF245+R321 Load2 Yes45+R3 MULF0F2F430 Load3 No SUB F8F6F2 DIVDF10

6、F0F6 ADDF6F8F2 Reservation StationsS1S2RS for jRS for k TimeNameBusy OpVjVkQjQk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 Yes MULTDR(F4)Load2 0 Mult2 No Register result status ClockF0F2F4F6F8F10 F12.F30 3FU Mult1 Load2Load1 注意:保留站中寄存器名被“换名”注意:保留站中寄存器名被“换名”; MULT 可发射可发射(与记分板比较与记分板比较) Load1完成;哪些指令在等待完成;哪些指令

7、在等待Load1? 北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo示例 第4周期Tomasulo示例 第4周期 Instruction status Execution Write InstructionjkIssue complete ResultBusy Address LDF634+R21340 Load1 No LDF245+R3240 Load2 Yes45+R3 MUL F0F2F430 Load3 No SUB F8F6F24 DIVDF10 F0F6 ADDF6F8F2 Reservation StationsS1S2RS for jRS for k Time

8、NameBusy OpVjVkQjQk 0 Add1 Yes SUBDM(34+R2)Load2 0 Add2 No Add3 No 0 Mult1 Yes MULTDR(F4)Load2 0 Mult2 No Register result status ClockF0F2F4F6F8F10 F12.F30 4FU Mult1 Load2M(34+R2) Add1 Load2 将完成将完成; 哪些指令在等待哪些指令在等待Load2? 北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo示例 第5周期Tomasulo示例 第5周期 Instruction status Execut

9、ion Write InstructionjkIssue complete ResultBusy Address LDF634+R2134Load1 No LDF245+R3245Load2 No MULF0F2F43Load3 No SUB F8F6F24 DIVDF10 F0F65 ADDF6F8F2 Reservation StationsS1S2RS for jRS for k TimeNameBusy OpVjVkQjQk 2 Add1 Yes SUBDM(34+R2) M(45+R3) 0 Add2 No Add3 No 10 Mult1 Yes MULTM(45+R3) R(F4

10、) 0 Mult2 Yes DIVDM(34+R2) Mult1 Register result status ClockF0F2F4F6F8F10 F12.F30 5FU Mult1 M(45+R3)M(34+R2) Add1 Mult28北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo示例 第6周期Tomasulo示例 第6周期 Instruction status Execution Write InstructionjkIssue complete ResultBusy Address LDF634+R2134Load1 No LDF245+R3245Load2 No

11、MULF0F2F43Load3 No SUB F8F6F24 DIVDF10 F0F65 ADD F6F8F26 Reservation StationsS1S2RS for jRS for k TimeNameBusyOpVjVkQjQk 1 Add1 Yes SUBDM(34+R2) M(45+R3) 0 Add2 Yes ADDDM(45+R3)Add1 Add3 No 9 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVDM(34+R2)Mult1 Register result status ClockF0F2F4F6F8F10 F12 .F3

12、0 6FU Mult1 M(45+R3)Add2Add1Mult2 发射发射ADDD 北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo示例 第7周期Tomasulo示例 第7周期 Instruction status Execution Write InstructionjkIssue complete ResultBusy Address LDF634+R2134Load1 No LDF245+R3245Load2 No MULF0F2F43Load3 No SUB F8F6F247 DIVDF10 F0F65 ADD F6F8F26 Reservation Stations

13、S1S2RS for jRS for k TimeNameBusyOpVjVkQjQk 0 Add1 Yes SUBDM(34+R2) M(45+R3) 0 Add2 Yes ADDDM(45+R3)Add1 Add3 No 8 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVDM(34+R2)Mult1 Register result status ClockF0F2F4F6F8F10 F12 .F30 7FU Mult1 M(45+R3)Add2Add1Mult2 Add1 完成完成;哪些指令在等待哪些指令在等待Add1?北京大学微处理器研究开发中心

14、计算机系统结构研究所Tomasulo示例 第8周期Tomasulo示例 第8周期 Instruction status Execution Write InstructionjkIssue complete ResultBusy Address LDF634+R2134Load1 No LDF245+R3245Load2 No MULF0F2F43Load3 No SUB F8F6F2478 DIVDF10 F0F65 ADDF6F8F26 Reservation StationsS1S2RS for jRS for k TimeNameBusy OpVjVkQjQk 0 Add1 No 2

15、Add2 Yes ADDDM()-M()M(45+R3) Add3 No 7 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVDM(34+R2) Mult1 Register result status ClockF0F2F4F6F8F10 F12.F30 8FU Mult1 M(45+R3)Add2M()-M()Mult2北京大学微处理器研究开发中心计算机系统结构研究所Tomasulo示例 第9周期Tomasulo示例 第9周期 InstructionjkIssue complete ResultBusy Address LDF634+R2134Loa

16、d1 No LDF245+R3245Load2 No MULF0F2F43Load3 No SUB F8F6F2478 DIVDF10 F0F65 ADDF6F8F26 Reservation StationsS1S2RS for jRS for k TimeNameBusy OpVjVkQjQk 0 Add1 No 1 Add2 Yes ADDDM()-M()M(45+R3) Add3 No 6 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVDM(34+R2) Mult1 Register result status ClockF0F2F4F6F8F10 F12.F30 9FU Mult1 M(45+R3)Add2M()-M()Mult2But t on 3But t on 4But t on 5B t t69北京大学微处理器研究开发中心计算机系统结构研究所Instruction s

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号