中断
中断的应用
(1) 实现主机与I/O设备并行工作
(2) 实时处理
(3) 人机对话
(4) 故障处理
(5) 多机系统中各处理机之间的协调工作
中断的分类:硬件中断、软件中断、异常中断。
中断源:发出中断请求的来源(设备、请求者)。有外部事件(硬件中断)、内部软件。如:I/O设备、数据通道、实时时钟、硬件故障、软件故障等。
确定优先级的方法:软件查询、硬件排队(菊花链逻辑电路)
CPU内部有一个中断允许触发器,可以由程序控制开中断(EI)或关中断(DI)。
中断执行流程:比较单重与多重中断区别
、
11.1. 8086中断机制(实模式中的中断处理过程)
1.中断类型
最多可处理256个中断源。每个中断源有一个中断类型码n。
中断向量表(中断服务程序入口地址表)
l 表中保存着中断服务程序的入口地址。
l (n*4)(n*4+1)中保存着中断服务程序入口地址的偏移量IP;
l (n*4+2)(n*4+3) 中保存着中断服务程序入口地址的段地址CS;
可屏蔽中断INTR 非屏蔽中断 NMI
1. 内部中断(软件中断)
(1) 除法中断(n=0)
(2) 溢出中断(n=4) INTO
(3) 单步中断(n=1)
(4) 断点中断(n=3)
(5) 用户定义软中断(n=)
实模式中断处理过程(包括NMI,INTR,内部中断),NMI只进入一次,单步中断可能进入两次。
中断响应-- 保护现场和断点--- 中断服务程序入口地址--- NMI的再次查询-- TEMP的再次查询--- 中断服务程序---- 中断返回。
11.1. 保护模式中的中断处理过程(略)
中断类型码à中断描述符表à全局/局部描述符表à中断服务程序
IDTR—〉IDT(中断门描述符)
11.1. 可编程中断控制器8259A
l 中断请求R(IRR):锁存外部来的中断请求。沿/电平触发方式;
l 中断服务R(ISR):保存正在处理中的中断,对应位为1;多重中断时, 有多位为1。
l 优先级比较器(PR): 比较IRR与ISR,*进入ISR,并发中断请求到CPU;
l 中断屏蔽R(IMR):用于屏蔽IRR中的中断请求;
l ICW1~4:初始化命令字;其中ICW2中保存着中断类型码n;
l OCW1~3:操作命令字。
l CAS2~0—级联缓冲/比较器,多片级联地址输出(主片)/输入(从片);
l SP/EN –-(1)缓冲方式时:用于数据输出缓冲控制端,输出;
(2)非缓冲方式时:用于标识主片/从片,输入。
1. 多片级联
(1)与CPU的连接(一片8259最多可连接8片8259从片)
初始化命令字ICW1~4/操作命令字OCW1~3。
初始化命令字:设置工作方式、缓冲方式、结束方式,级联,中断类型码,主片/从片的连接等。
初始化命令字的写入顺序:
l 缓冲方式时(BUF=1),由M/S位表示8259是主片还是从片。
l 中断结束方式
ü 自动结束方式:在/INTA2后沿,自动清ISRx;
ü 非自动结束方式(一般EOI):人工清ISRx, 用OCW2发EOI命令。一般结束,特殊结束。
中断请求方式 缓冲器方式
优先级方式
ü 全嵌套方式(优先级的方式)
固定优先级 IR0~IR7 , IR0优先级最高,IR7优先级最低。一个中断处理过程,只能响应更高级的中断(>)。
特殊全嵌套方式(优先级的方式)
也是固定优先级 IR0~IR7 , IR0优先级最高,IR7优先级最低。一个中断处理过程,只能响应同级或高级的中断(>=)。主片会用到。
多片级联时,主片设为特殊全嵌套方式,从片设为全嵌套方式。
循环优先级
自动循环 特殊