系统结构考点之流水线中断处理方法


 假期就做过的题,再看时,还是一脸懵,啥也不说了,再做一遍笔记。

如题:2021年10月

分析

实际的答案就在P192,不精确断点法。Ibm/360/91只是一个干扰项,其考察点还是四个选项理解和把握。

相关基本知识

指令复执法,课本只是猜错法恢复分支点原先的现场提到 指令复执,程序卷回目的用到后援寄存器,也没有相关资料。可见是一个干扰选项。
对流水线重调度法,也没有。一般流水线也不用调度(非线性流水线是需要调度的)也不太符合逻辑。
唯一与流水线相关的就是猜测法和不精确断点法。

猜测法是如何来的?

先要了解全局性相关才行。

全局性相关处理

指已进入流水线的转移指令(尤其是条件转移指令)和其后续指令之间的相关。猜测法就是解决流水线执行转移指令时不断流的。

猜测法如何实现转移指令时不断流

当遇到条件转移指令时,会有两个分支。先猜一个分支预取,猜对的情况下,可以继续执行下去,不断流。当两个分支概率差不多时,宜选用不成功分支(因为跳转指令就处于不成功分支上,就近原则)。当两个分支概率不均等时,宜选用高概率分支。这是基本的思想。
如何求概率?静态的策略根据转移指令类型或指令执行期间转移的历史状况来预测。 也可采用动态的策略:根据指令执行过程中转移的历史记录来动态预测未来的选择,准确率可达到90%

猜错时,如何恢复分支点原先的现场?
  1. 对指令只译码和准备好操作数,在转移条件码出现之前不进行运算。
  2. 让它运算完但不送回运算结果。(猜错不猜错了)
  3. 把可能被破坏的原始状态都用后援寄存器保存起来,实现效率会更高一些。

不精确断点法又是解决什么问题呢?

中断也会引起流水的断流,如何处理呢?
中断出现的概率要比条件转移的概率要低得多,且又是随机发生的,所以处理中断情形是如何处理好断点现场的保存和恢复。而不是缩短流水线断流的时间。

不精确断点法(本题考点)

无论指令I在流水线的哪一段发生中断,未进入流水线的后续指令不再进入,已在流水线的指令继续流完。然后才转入中断处理程序。所以断点是不精确的,仅当在第1段响应时,断点才是精确的。很明显,这就不利于编程和程序排错。

精确断点法

不论指令i是在流水线哪一段响应中断,给中断处理程序的现场全都是对应i的,i之后流入流水线的指令的原有现场都能保存和恢复。需要设置很多后援继存器。

扩展知识

全局性相关处理的其他方式,全局性相关要比局部部相关更影响流水线

  • 加快和提前形成条件码
    这样就可以提前知道流向哪个分支。两个方面的方式:1.加快单条指令内部条件码的形成,不等指令执行完就提前形成反映运算结果的条件码。如乘除结果的正负,相乘时操作数为0或被除数为0的情形。2.在一段程序内提前形成条件码,这特别适合于循环型程序在判断是否继续 时的转移情况。可将条件指令提前到与其不相关的指令之前。
  • 采取延迟转移
    用软件方法进行静态指令调度的技术。在编译生成目标指令程序时,将转移指令与其前面不相关的一条或多条指令交换位置,让成功转移总是在这些指令之后再进行。
  • 加快短循环程序的处理
    两种方式:1.将长度小于指缓容量的短循环程序整个一次性放入指缓内,并暂停预取指令。2.由于循环分支概率高,因此,让循环出口端的条件转移指令恒猜循环分支,减少因条件分支造成流水线断流的机会。

局部性相关处理

机器解释的多条指令之间出现了对同一主存单元或寄存器要求“先写后读”。多发生于指令相关,访存操作数相关和通用寄存器组数相关等。

解决方法
  1. 推后后续指令对相关单元的读,直到在先的指令写入完成。
  2. 设置相关通路,将运算结果经相关直接通路直接送入所需部件。省下“写入”和“读出”两个访问周期。
其他相关
  • 写写相关,对同一单元要求在先的指令先写入,在后的指令才写入的关联
  • 先读后写,对同一单元要求在先的指令先读出,在后的指令才写入的关联

为什么写写与先读后写不可能发生的任务同步流动?
同步流动是流水线指令流入的顺序和流出的顺序是一样的,也就是说指令的源操作数和目的操作数发生相关时,就会等。异步流动,就可以流入与流出顺序不同。
写写相关实质是后面的指令先于前面的写指令到达,而产生的等待的相关。这其实已经是异步时才会发生的。
先读后写,实质也是后面的写指令先于前面的读指令到达,这样就会产生错误。要想不产生,也还是等待。所以也是异步流动。

标量流水机对局部性相关的处理 总线式分布方式 控制管理
  1. 相关的判断主要是靠分布于各寄存器的“忙位”标志来管理
  2. 在分散于各流水线的入、出端处设置若干保存站来缓存信息
  3. 用站号控制公共数据总线的连接 作用相关专用通路,使之可为多个子过程的相关所共用
  4. 一旦发生相关,用更换站号来推后和控制相关专用通路的连接
    作用相关专用通路,使之可为多个子过程的相关所共用
  5. 采用多条流水线,每条流水线入端有多组保存站,以便发生相关后,可以采用异步的流动方式。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值