了解计算机体系结构(3)

指令的流水处理

(1)指令控制方式
1.顺序方式
各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。优点是控制简单,缺点是速度慢,机器各部件的利用率低。

2.重叠方式
在解释第K条指令的操作完成之前就可以开始解释第K+1条指令,如下图所示,通常采用一次重叠。即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。优点是速度有所提高,控制不太复杂。缺点是会出现冲突、转移和相关等问题。
一次重叠处理

3.流水方式
它把重复的顺序处理过程分解为若干个子过程,每个子过程能在专门的独立模块上有效地并发工作,如下图
流水处理的时空图

(2)流水的相关处理
1.局部性相关
由于流水时机器同时解释多条指令,这些指令可能有对同一主存单元或同一寄存器的“先写后读”的要求,这时就出现了相关。它只影响相关的两条或几条指令,而且最多影响流水线的某些段推后工作,并不会改动指令缓冲器中预取到的指令内容,影响是局部的。

解决方法有两种
后推法:推后对相关单元的读,直至写入完成。
通路法:设置相关专用通道,使得不必先把运算结果写入相关存储单元,再从这里读出后才能使用频度而是经过相关专用通路直接使用运算结果,以加快速度。

2.全局性相关
转移指令与它后面的指令之间存在关联,使之不能同时解释。执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率的下降。

解决方法有:猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值