体系结构笔记------动态调度中的记分板算法

动态调度

在程序执行的过程中,由硬件来对代码进行调度来减少由于相关导致的停顿。
对于基本的流水线而言,一旦一条指令受阻,其之后的所有指令都会因此停顿,为了提高流水线的性能我们需要使其可以进行乱序执行。

流水线划分

对于原先的五段流水线,即取指周期(IF)、译码与读数周期(ID)、计算与执行周期(EX)、访存与分支跳转(MEM)、写回周期(WB)。我们将译码与读数周期分为两个阶段,也就是流出阶段与读操作书阶段。
流出阶段:指令译码,检查是否存在结
构冲突。
读操作数等待数据冲突消失,然后读操作数。

相关冲突

结构冲突

对于多条指令同时对于同一硬件资源提出请求时产生的冲突为结构冲突,主要是由于有限的硬件资源所导致的。

数据冲突

RAW:当前指令需要使用前面指令的结果,所以需要前面指令先写入结果之后当前的指令再读,主要由于真数据相关导致。
WAR:指令间读操作在前,写操作在后,这是为保证读到的数据为未被修改的数据,所以必须保证先读后写,对指令的执行顺序有严格要求。
WAW:指令间写操作的顺序,如果两条指令同时有写数据的操作并且其操作的目标对象为同相同的寄存器或者内存单元,则也要保证其运行的先后顺序,保证

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值