- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机体系结构 week7 浙江大学 石教英 陈天洲(主讲)
计算机体系结构;3.5 控制竞争;改进;表4-4 修改后ID流水级工作过程
;一、转移行为特点;;正向转移 反向转移
int fp 综合
80% 正向 13.4% 正向 6.6% 10.0%
20% 反向 3.2% 反向 1.8% 2.5%
正向转移成功率 反向转移成功率
80% * x = 48% 20% * y = 19%
x = 60% y = 95%
P166: 正向成功率: 48%
反向成功率: 19% ;;二、减少转移带来 损失;3、硬件固定预测转移成功
条件: 转移目标地址形成早于转移条件码结果生成
在DLX中这种方法对性能没有改善
4、延时转移技术(168/161)
延时槽:从条件转移指令进入流水线到能够成功按转移结果取指令之间间隔的时钟周期数
硬件:无论转移成功与否都执行延时槽中的指令
编译:在延时槽中插入有效指令
;三种延时槽调度方法 (169/162) ;;c. 转移成功概率小时有效
条件:不成功分支指令插入延时槽后,不影响成功分支的正确执行
硬件的Canceling功能:
当预测出错时,将延时槽内指令转换成 nop
延时技术的有效性 171/163
;5.四种转移处理机制的性能评估;[例] 回家作业:
表173 /164, 数据如何计算?结果是否正确?
[例]R4000三种转移处理技术的性能比较
(174/164)
;6.静态转移预测技术;基本流水线的性能测试 ;;3.6 流水线实现难点;中断性质
同步/异步 (由处理机、存储器以外其他设备引起)
用户请求 / 强制中断 ( 可预测 / 用户程序无法控制的硬件原因,不可预测)
用户可屏蔽 / 不可屏蔽
指令内 / 指令间(指令内往往是同步中断,若指令内中断为异步中断往往导致程序终止运行。)
可恢复执行 / 不可恢复执行 ;中断处理难点:
指令内中断
中断指令恢复执行 restartable
中断处理要求:
关闭流水线
保护处理器状态(恢复执行指令的PC值)
处理中断
恢复处理器状态,重执引起中断的指令;保护处理机状态的步骤:
强制在下一个IF级取入Trap指令;
关闭故障指令极其后进入流水线的指令的写操作;
操作系统的中断处理例程接管控制后,立即保存中断指令的PC值(可能需保存多个PC值)
精确中断:
能够停止流水线,并使得那些在故障指令之前的指令执行完毕,而故障指令及其后指令能在中断处理后恢复执行,称此流水线支持精确中断。
;流水级
; DLX中断处理(精确中断)
各级可能发生的中断 (184 / 169)
中断处理顺序: 与指令关联的状态向量
关闭写操作: 一旦状态向量有一位置位,则关闭写操作 (寄存器写和存储器写)
检测(状态向量): 离开MEM前 / 进入WB时
第I条指令引起的中断先于第I+1条指令的中断的处理
指令中第I级发生的中断先于第I+1级的中断的处理;二、指令集的复杂性;2、执行期间修改存储器状态(如字符串拷贝)
为允许中断并重执此类指令,用通用Reg作为工作寄存器
VAX在状态位中增加一位,在修改存储器状态前,先置位。
3、产生其他流水线竞争或有需额外硬件Save/Restore的状态
(如隐含设置条件码)
4、当隐含设置条件码时编译调度受限
5、当引入多周期操作时,数据竞争更为复杂。
如VAX : 微指令级用流水线实现;3.7 多周期操作的指令流水线;二、描述FP流水线的两个参量;;;三、竞争与Forwarding Path;1、Reg写口结构竞争(192/174);2、WAW 数据??争( 192/174);3、浮点指令和整数指令之间的竞争;四、精确中断;3.8 指令集结构设计与指令流水线的关系;例 MIPS R4000流水线;Load 延时: 2 Stall (202)
Branch 延时: 3 Stall
硬件预测untaken,
延时转移调度: 1 slot 指令+ 2 nop
转移
文档评论(0)