- 17
- 0
- 约9.88千字
- 约 63页
- 2018-05-28 发布于福建
- 举报
计算机体系结构_13129
动态调度 (Cont), 推断执行和ILP Review Tomasulo 引入动态调度的动机 在没有专用编译器的情况下,提高系统性能 解决编译时无法判定的部分相关问题 Scoreboard 和Tomasula Tomasula 主要贡献 Dynamic scheduling Register renaming---消除了WAW,WAR相关 Load/store disambiguation 算法的主要缺陷 复杂 要求高速CDB 性能受限于Common Data Bus 为什么顺序发射? 顺序发射使我们可以进行程序的数据流分析 我们可以知道某条指令的结果会流向哪些指令 如果我们乱序发射,可能会混淆RAW和WAR相关 每一周期发射多条指令也使用该原则将会正确地工作: 需要多端口的 “rename table” ,以便同时对一组指令所用的寄存器重命名 需要在单周期内发射到多个RS中. 寄存器文件需要有2x 个读端口和x个写端口. 关于异常处理??? 乱序完成加大了实现精确中断的难度 在前面指令还没有完成时,寄存器文件中可能会有后面指令的运行结果. 如果这些前面的指令执行时有中断产生,怎么办? 例如: DIVD F10, F0, F2 SUBD F4, F6, F8 ADDD F12, F14, F16 需要“rollback” 寄存器文件到原来的状态: 精确中断的含义是其返回地址
原创力文档

文档评论(0)