组成结构
中断系统是实现中断功能的软硬件总称:
- 硬件: CPU 内部的中断机构 (控制器) 和外设接口中的中断控制器。
- 软件: 用户或系统编写的中断服务程序。
关键环节
1. 中断源与请求
- 中断源: 能够引起中断的事件。
- 中断请求触发器: 每个中断源唯一对应一个触发器, 用于记录随机发生的信号。
2. 中断判优 重点
- 目的: 在多个中断请求同时发生时, 决定执行哪一个。
- 优先级原则:
- 硬件故障 > 软件异常 > I/O 中断。
- 必须立刻处理的 (如掉电) 优先级最高。
- 实现方式:
- 硬件判优: 速度快, 但优先级固定不可改。
- 软件判优: 通过执行程序轮询, 灵活但速度慢。
3. 中断响应条件
- 有中断请求信号。
- CPU 处于开中断状态 (中断允许触发器为 1)。
- 一条指令执行结束, 下一条指令尚未开始。
4. 中断隐指令
这是一组由硬件自动完成的操作, 并非真正的指令系统指令:
- 保存断点: 将 PC 的值压入堆栈。
- 关中断: 防止在保护现场过程中被新中断干扰。
- 引出中断服务程序: 将入口地址装入 PC。
6. 中断屏蔽技术 重点
中断屏蔽技术通过硬件电路(屏蔽触发器)动态改变中断处理的优先级。
- 屏蔽字 (Mask Word):对应每个中断源的一位。
1表示屏蔽(禁止该中断),0表示开放(允许该中断)。 - 屏蔽优先级:指在处理某级中断时,哪些更低优先级的中断被屏蔽。
- 设计原则:
- 每个中断源的服务程序中,必须先设置对应的屏蔽字。
- 通常,本级中断和所有低优先级中断都会被屏蔽(对应位设为
1)。 - 优先级越高,其屏蔽字中
1的数量通常越多。
7. 中断优先级设计实例 重点
假设有 A、B、C 三个中断源,硬件优先级为 。
若要通过屏蔽技术将处理优先级改为 ,则各级的屏蔽码(Mask Bits)设计如下:
| 中断源 | A | B | C | 屏蔽位数量 |
|---|---|---|---|---|
| A级屏蔽码 | 1 | 1 | 0 | 2(屏蔽A、B) |
| B级屏蔽码 | 0 | 1 | 0 | 1(仅屏蔽B) |
| C级屏蔽码 | 1 | 1 | 1 | 3(全部屏蔽) |
- 关键考点:根据给定的处理优先级顺序,正确写出各级中断服务程序中的屏蔽字。