x86中断系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x86中断系统
---- 以8086(88)系统为例
8086(88)中断系统可以容纳最多256个中断源,所有中断源统一编码,每个中断源用一个字节型编码标识,该编码称为中断向量码,它是CPU识别中断源的标记。
1)中断源类型
256个中断源分为两大类:
(1)内部中断
它由CPU内部事件及执行软中断指令产生。已定义的内部中断有:
①除法错中断。
②单步中断。
③断点中断。
④溢出中断。
⑤软件中断。
(2)外部中断
它是由外部中断源产生对CPU的请求而引发的。
8086(88)中断系统将外部中断源又分为两种。
①非屏蔽中断。
②可屏蔽中断。
2) 中断响应过程
在8086(88)系统中,中断控制是由CPU与中断控制器共同完成的,这使得中断过程简化:
①中断请求;
②中断响应;
③中断处理:
2. 80386(Pentium)中断系统
Pentium及80386、80486,在程序运行过程中由于某种事件的发生而迫使处理器暂停该程序的运行,转去对事件进行处理,待事件处理完以后,再回到原程序接着原状态继续运行。
在80286以后的处理器中均将广义中断分为中断和异常两大类。
表1 中断及其向量码
8259的工作过程如下:
①中断请求输入端IR0~IR7接收外部中断源的请求信号;
②外部中断源的请求状态锁存在中断请求寄存器IRR(8位)
的相应位(即置1),并与中断屏蔽寄存器IMR(8位)相“与”,送给优先级判决电路;
③优先级判决电路从提出请求的中断源(记录在IRR)
中,检测出优先级最高的中断请求位,将其与在内部服务寄存器ISR(8位)中记录的正在被CPU服务的中断源进行优先级比较,只有当请求服务的中断源优先级高于正在服务的中断源优先级,判优电路才向控制电路发出中断请求有效信号。
2. 8259工作方式
1) 中断结束方式
(1)非自动结束方式
①一般中断结束命令(EOI)。
②特殊中断结束命令(SEOI)。
(2) 自动结束方式
2) 缓冲方式
①非缓冲方式。
②缓冲方式。
3) 嵌套方式
①一般嵌套方式。
②特殊全嵌套方式。
4) 屏蔽方式
屏蔽方式也是用于8259进行优先级控制的,它也有两种形式:
①一般屏蔽方式。
②特殊屏蔽方式。
5) 优先级规定
①固定优先级。
②循环优先级。