7-05 程序中断方式

image.png

中断系统

中断的基本概念

image.png

解读:

  1. 中断源:向 CPU 发送中断信号的设备;
  2. 如果 CPU 处于“关中断”的状态就不会响应中断信号,该状态会存储在 PSW (或者允许中断触发器 EI)中;

中断请求的分类

image.png

解读:

  1. 在一段指令的开头加上关中断指令,结尾添加开中断指令,那么这一段指令就不会被中断,称为“原子操作”;
  2. 非屏蔽中断必须被响应;
  3. 在计组中,我们更多的讨论的是外设请求的屏蔽中断;

中断请求标记

image.png

中断判优

实现

中断判优实现

解读:

  1. 当优先级更高的请求发出,硬件排队器中对应的输出就为 1,其他的都为 0;
  2. 软件的实现依靠很多指令,速度明显更慢,所以现在用的更多的是硬件排队器;

优先级设置

原则:
1. 硬件故障中断属于最高级,其次是软件中断;
2. 非屏蔽中断优于可屏蔽中断;
3. DMA 请求优于 I/O 设备传送的中断请求,这与下一条原则的原因是一样的;
4. 高速设备优于低速设备,因为高速设备的中断请求处理的更快;
5. 输入设备优于输出设备,如果 CPU 不及时取走输入的信息,会导致输入信息的丢失;
6. 实时设备优于普通设备,这是显然的。

中断处理过程

找到中断服务程序的入口,核心就是不断的更新 PC 的值。
image.png

中断隐指令

image.png

硬件向量法

image.png

解读:

  1. 为什么不让形成部件直接得到入口地址呢?如果是这样,不利于中断服务程序的修改,一旦修改就要改变形成部件的计算逻辑。假如利用向量,就可以只修改其向量值就可以了;
  2. 中断隐指令指的是一系列任务,不是一条具体的指令;

中断服务程序

image.png

多重中断

基本概念

就是中断中嵌套中断。
image.png

image.png

解读:

  1. 屏蔽字用来屏蔽某些中断,防止被过多的,不合理的中断。优先级高的不应该被低的打断。

中断屏蔽技术

image.png

解读:

例题

image.png

总的来说,需要屏蔽哪个就置哪个位为 1。我们以 A 为例,由于 D 的优先级高于 A 所以,A 执行时可以被 D 中断,也就是说 A 的屏蔽字中 D 位只能为 0 。
image.png

image.png

image.png

总结

image.png

image.png