定义
- 异常中断
- 异常 (内中断)
- 故障 Fault
- IF 非法操作码
- 缺页缺段
- 除数为 0,浮点上溢 (下溢不算)
- 自陷 Trap
teq/teqi/tne/tnei
- 终止 Abort
- 硬件故障
- 控制器错误
- 存储器校验错
- 总线错误
- 硬件故障
- 故障 Fault
- 中断 (外中断)
- 可屏蔽中断 (
INTR, INTerrupt Request) - 不可屏蔽中断 (
NMI, Non Maskable Interrupt)
- 可屏蔽中断 (
- 异常 (内中断)
- 软硬件中断
- 软中断 (程序性中断)
- Fault
- Trap
- 硬中断
- Abort
- 外中断
- 软中断 (程序性中断)
- 检测负责人 $\Rightarrow$ 硬件
- 异常 $\Rightarrow$ CPU 内部自省
- 中断 $\Rightarrow$
INTR/NMI外部告知
处理
- 关中断
- 保存现场
- 断点
- 程序状态
- 识别种类&跳转
- 软件识别:
mcause& … - 硬件识别:中断向量
mtvec
- 软件识别:
|
|
- 1~3 由中断隐指令 (硬件) 实现
- 4~10 由中断服务 (软件) 实现
注意
- 【中断隐指令】
- 中断响应周期中 cpu 的核心工作
- 硬件实现
- 【中断向量】
- 中断向量 := 中断服务地址
- 中断向量地址 := 中断服务地址的地址
- 【中断优先级】分为
- 响应优先级
- 硬件电路判优
- 决定开始次序 (响应次序)
- 处理优先级
- 屏蔽字决定
- 决定结束次序
- 响应优先级
- 【mret】mret 不止包括返回,还包括恢复现场&屏蔽字 (7~10)
- 【响应时机】
- 中断:总是在指令执行结束后响应中断
- 异常:立刻响应
- 【关键保护状态】保存现场的主要状态是
- PC: Program Counter
- PSW: Program State Word
- 【单级中断】单级中断响应系统中,“执行中断服务” 不可再被打断,所以没有 5 & 7