9 第九章 中断系统.pdf
文本预览下载声明
第九章中断系统
杨翠微
复旦大学电子工程系
中断的概念
在程序运行时,系统外部、内部或现行程序本身若出现紧
急事件,处理器必须中止当前程序,保护好现场,改变机
器的工作状态并启动预设的程序处理紧急事件。
提供实时性较好的处理方式。
开销比查(轮)询小。
序 程 主 断 断 中
中 (
务 服
中断源请求 )
序 程
序 程 主 返
回
中断源
常见中断源
一般的I/O设备,如串口,显示器等
数据通道,如磁盘、网卡等
实时时钟,如定时器芯片8253的中断输出模式
故障信号,如电源掉电
软件中断,为调试程序而设置的中断
中断响应和处理过程
1. 关中断
CPU在响应中断时,发出中断响应信号-INTA,同时内部自动
关中断,禁止接受其他中断请求
2. 保存断点
CPU把断点处的IP和CS压入堆栈,以便返回
3. 识别中断源
CPU通过识别中断查找响应中断服务程序的入口地址
4. 保护现场
程序员把中断服务程序需要使用的寄存器及标志寄存器都压入
堆栈保护
5. 执行中断服务程序
在执行中断服务程序时,程序员可适时开放中断,使CPU可
以响应更高优先级的中断,实现中断嵌套
6. 恢复现场并返回
程序员把保存的现场都出栈,执行中断返回指令
CPU 自动装载断点下一条指令的IP和CS,继续执行主程序
中断优先级和中断嵌套
多个中断请求可能同时出现,但中断系统只能按优先
级次序来确定服务的次序
可以使用软件查询、优先级编码电路或专用中断控制
器来确定优先级
软件查询法
多个中断请求信号相“或”
接INTR
CPU按照中断优先级从高
到底次序轮询外设,确定
中断源
菊花链优先级排队电路
所有中断请求信号相“或”送INTR,中断响应-INTA优先考
虑离CPU近的高级中断源,并屏蔽远离CPU的低级中断源
中断嵌套
CPU在执行优先级低的中断服务程序时,允许响应优先级
更高的中断请求
8086/8088的中断系统
中断的分类
根据重要性,可分为可屏蔽中断和不可屏蔽中断
根据中断来源,可分为内部(软件)中断和外部(硬件)中断
根据进入中断的方式,可分为自愿中断和强迫中断
中断向量表
中断向量就是
中断服务程序
的入口地址
每个入口地址
为4个字节,
包括CS和IP
中断向量表的
各项按中断号
(类型码)顺序
存放
中断过程
当发生中断时,CPU装入
中断号×4处的CS和IP,
进入对应的中断服务程序
中断类型
0#:除法错中断 5# ~31# 共27个中断
除数为0 由Intel公司保留
显示全部