microcomputer_principle_14_中断
中断技术
- 中断的基本概念
- 中断响应的一般过程
- 中断向量表
- 8088/8086中断系统
基本概念
- 中断:
- CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序,以处理该事件,该事件处理完后又返回被中断的程序执行,这一过程称为中断。
这里的特殊服务程序:中断服务(处理)子程序
引入中断的原因
- 提高对外设请求的响应实时性。
- 提高了CPU的利用率
- 避免了CPU不断检测外设状态的过程
根据中断请求的来源分为:
- 内部中断
- 异常中断–异常事件引起
- 软件中断–中断指令引起
- 外部中断
- 可屏蔽中断–INTR中断
- 非屏蔽中断–NMI中断
外部可屏蔽中断
一般过程
- 中断请求
- 中断源识别及中断判优
- 中断响应
- 中断处理(服务
- 中断返回
- 外部可屏蔽中断请求信号:INTR
- 中断请求信号应保持到中断被处理为止;
- CPU响应中断后,中断请求信号应及时撤销。
- 中断源识别
- 软件查询法
- 中断矢量法
中断矢量法, 由中断源提供中断类型号,CPU根据类型确定中断源
当由多个中断源同时提出请求时,响应谁? –> 中断判优
优先级法则
- 低优先级的中断程序允许被高优先级的中断源所中断
排队法则 - 先来先响应
中断源识别及判优由硬件系统完成
- 中断响应
外部可屏蔽中断响应信号:**#INTA**
- 向中断源发出#INTA中断响应信号;
- 关中断 –> 不允许响应其他中断
- 保护硬件现场 –> 将FLAGS压入堆栈
- 保护断点 –> 将CS、IP压入堆栈
- 获得中断服务程序入口地址
以上全部过程,全部由硬件系统完成
- 中断处理
执行中断服务子程序
中断服务子程序的特点:
- 为“远过程”
- 用IRET指令返回
关中断,保护现场,保护断点,找到入口地址
-> 进入中断处理子程序
保护软件现场(参数
开中断(STI)
中断处理
关中断(CLI)
恢复现场
中断返回
- 中断返回
- 执行IRET指令,使IP、CS和FLAGS从堆栈弹出
–> 恢复断点和硬件现场
中断向量表
- 存放各类中断的中断服务程序的入口地址;
- 位于内存的00000H~003FFH
- 每个入口占4 Bytes,低字为段内便宜,高字为段基地址;
- 中断向量表大小为1KB,共256个入口。
8088/8086中断系统
与NMI中断
特点:
- 无#INTA周期
- 中断类型码固定或由指令给出
中断优先级:内部中断>NMI>INTR
- Post title: microcomputer_principle_14_中断
- Create time: 2023-02-26 03:27:05
- Post link: embedded-system/microcomputer-principle-14-中断/
- Copyright notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.