




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章
中断系统7.18086/8088CPU中断系统7.1.1中断系统的基本概念7.1.2中断的分类7.1.3计算机中断处理的步骤7.2Intel8259A可编程中断控制器7.3中断程序举例本章学习目标
掌握有关中断的基本概念、中断优先级、中断嵌套、中断屏蔽、中断向量等基本概念。了解8086/8088中断系统中的中断源分类掌握可编程中断控制器8259A的功能、内部结构、工作方式及初始化命令和操作命令的定义、使用方法,服务程序的基本编写方法。7.1.1中断系统基本概念1、中断实质上是一过程,当CPU执行程序过程中,由于随机事件(包括CPU内部的和外部的事件)引起CPU暂时停止正在执行的程序,而转去执行一个用于处理该事件的程序(中断服务程序),中断程序处理完后,又返回到被中止的程序断点处继续执行。2、中断系统的作用(1)分时处理(2)故障处理(3)实时处理7.1.2中断的分类8086/8088可以处理256种不同类型的中断,每个中断对应一个中断向量码(0-255)。CPU按照向量码的不同来识别不同的中断源。中断源:引起程序中断的事件。1、外部中断:由硬件电路或外设接口产生的。可屏蔽中断不可屏蔽中断(1)通过INTR引脚将中断信号送入CPU通过NMI引脚将中断信号送入CPU(2)级数:在一个系统中,通过8259A的配合工作可有几十个;(3)是否受IF的影响若有中断请求,能否响应,取决于IF,优先级的高低。若有中断请求,不论当前正在做什么事,都会在执行完当前指令后立即响应并进入中断服务程序。(4)优先级别:受硬件、软件的限制;(5)触发方式:电平触发,高电平有效,其引脚的高电平必须维持到CPU响应中断结束。上升沿触发,之后维持2个时钟周期的高电平。(6)向量码:由用户设计,硬件连线决定中断向量码、优先次序。(7)处理一般外部设备的中断用于处理系统中出现的重大故障或紧急事件。2、内部中断/软件中断:与外部硬件完全无关。(1)由CPU的某些运算错误引起的中断CPU在运行程序时,会发现一些运算中的错误,此时CPU就会中断程序,让用户去处理。A、除法错中断:除数为零,或商超过了结果寄存器所能表示的最大范围。处理:该中断的服务处理一般由系统软件进行处理。B、溢出中断:算术运算的结果,导致OF=1专用指令:INTO,必须与算术指令配合。处理方法:算术运算后,+INTO处理方法:算术运算后,+INTO当OF=1,则产生溢出中断当OF=0,继续执行下一条指令算术运算后,-INTO当OF=1,不会向CPU发中断,会导致错误的运算结果。当OF=0,不会导致错误的运算结果。(2)由调试程序debug设置的中断
软件对Flags的设置引发的中断调试程序过程中,为了检查中间结果或寻找程序中的错误,在程序中设置断点或进行单步跟踪。为了实现该功能,由中断指令实现。A、单步中断:TF=1,单步执行程序。每执行完一条指令,自动产生单步中断,暂时中断程序的运行,检查结果。产生中断时,CPU自动将PSW、CS、IP→SP,清除TF、IF。由于进入单步中断处理程序时,TF=0,不再处于单步工作方式,而以正常方式工作。当单步处理结束后,SP→IP、CS、PSW,CPU又返回到单步工作方式。B、断点中断:由debug调试程序时,用命令设置断点。CPU执行到断点时便产生了中断。INT3(单字节指令)原因:执行指令INT3INT3可插在程序的任何地方(断点)处理:该中断服务处理,显示有关寄存器、存储器的内容。(3)执行指令INTn引起的中断
INTn;SP←SP-2,SP+1:SP←PSWIF←0,TF←0SP←SP-2,SP+1:SP←CSSP←SP-2,SP+1:SP←IPIP←4n+1:4nCS←4n+3:4n+2IRET;IP←SP+1:SP,SP←SP+2CS←SP+1:SP,SP←SP+2PSW←SP+1:SP,SP←SP+25.1.3计算机中断处理的步骤处理一个中断的过程,就是妥善处理以下一些基本问题的过程:1)何时检查中断输入信号及其处理办法。2)如何把控制转给中断服务程序。3)如何保护和恢复中断的现场。4)如何识别中断源。5)如何识别优先级较高的中断。6)如何开放和关闭中断。计算机中断处理的步骤1、中断请求2、中断允许3、中断优先权4、中断响应5、中断处理6、中断返回1、中断请求:CPU如何识别有无中断请求信号。(1)边沿触发:CPU根据中断请求端上有无上升沿或下跳沿来决定中断请求信号是否有效。一般情况下,CPU能够立即予以响应的中断可采用。例NMI。(2)电平触发方式:CPU根据中断请求端上有无稳定的电平信号(高低电平取决于CPU的设计)来确定中断请求信号是否有效。一般,CPU不能立即响应的中断采用。例INTR。但为保证产生的中断被CPU处理,INTR信号应保持到该信号被CPU响应为止。CPU响应后,INTR信号还应及时撤除,以免造成多次响应。2、中断允许(屏蔽):CPU查询是否开中断。IF=0,禁止中断;IF=1,开放中断3、中断判优:解决请求中断事件的识别,优先级的顺序问题。系统具有多个中断源,由于中断产生的随机性,有可能在某一时刻两个以上的中断源同时发生中断请求,而CPU往往只有一条中断请求线,并且任一时刻只能响应并处理一个中断,这就要求CPU能识别是哪些中断源申请了中断并找出优先级最高的中断源并响应之,在其处理完后,再响应级别较低的中断源的请求优先权的判别方法:(1)软件判优:软件安排各中断源的优先级别。优先级别:由查询顺序决定特点:优先权安排灵活,,但所花时间长,中断源较多的情况下,中断响应的实时性差。
CPU中断请求寄存器并行输入端口DBINTRIRQ0IRQ7
Y
Y
Y
N
N
N
保护现场
检查IRQ1的中断状态是否为“1”
检查IRQ2的中断状态是否为“1”
检查IRQ3的中断状态是否为“1”
IRQ1的服务程序
IRQ2的服务程序
IRQ3的服务程序
恢复现场
中断返回
中断处理入口
(2)硬件判优:利用硬件电路安排各中断源的优先级别。将所有的中断源构成一个菊花链,各中断源在链中的前后顺序是根据中断优先级别的高低来排列的,排在链前面的高优先级别的中断会自动封锁低优先级别的中断。
I/ODATABUS中断请求SYNPOL1号设备2号设备n号设备CPU(3)中断向量法:不同的中断源对应不同的中断向量码的方法来确定中断源。硬件中用一个中断优先权判别器判别出哪个中断请求的优先级别最高,然后在CPU响应中断时把此中断源所对应的中断向量码送给CPU,CPU根据中断向量码找到相应的中断服务程序入口,对此中断进行处理。
INTR1
INTA1
INTM1
INTR2
INTA2
INTM2
INTRn
INTAn
INTMn
中
断
优
先
权
编
码
电
路
设备接口
1
IR
IM
设备接口
2
IR
IM
设备接口
n
IR
IM
INTR
INTA
向量地址
主机
中断嵌套当CPU正在处理中断时,有更高优先级别的中断请求,并且IF=1,CPU转去响应更高级别的中断请求,屏蔽掉低级别的中断请求,形成中断嵌套。
4、中断响应:(1)中断响应的条件有中断请求信号中断请求没有被屏蔽中断是开放的CPU在现行指令执行结束时响应中断(2)CPU何时检测到中断请求中断请求何时发生是随机的。CPU在每条指令执行的最后一个时钟周期检测中断引脚上有无请求信号。(3)中断响应的时间及条件CPU在现行指令执行结束后,马上响应中断。当前执行的指令是STI或IRET,则他们执行完后再执行一条指令,CPU才去响应中断。(4)中断响应过程发出中断响应信号。获取中断向量码n并暂存。将PSW压入堆栈,同时清IF、TF。断点保护。即将当前IP、CS压入堆栈保护获取中断服务程序的入口地址。5、中断处理:通过执行中断服务程序完成保护现场开中断(允许中断嵌套)。执行中断服务程序。注意不易过长和过于复杂。在中断服务程序中停留的时间越短越好,否则程序易出错,也影响对其他中断源的及时处理。一般方法是,只执行必须执行的操作,其他放到其他程序。关中断,确保有效恢复到被中断程序的现场。恢复现场开中断中断返回。中断服务程序框图与程序示例
中断服务程序入口
CPU响应中断后
自动关中断保护现场
开中断
中断服务
关中断
恢复现场
开中断
中断返回
入口地址:
PUSHAX;保护现场
PUSHBX
PUSHCX
PUSHDX
PUSHSI
PUSHDI
PUSHSP
PUSHBP
STI;开中断
∶
;中断服务
CLI;关中断
POPBP;恢复现场
POPSP
POPDI
POPSI
POPDX
POPCX
POPBX
POPAX
STI;开中断
IRET;中断返回
结尾部分
主体部分
起始部分
返回本节6、中断向量和中断向量表中断向量:中断服务程序的入口地址。每个中断向量占4个字节。中断向量表:中断服务程序入口地址表。是中断向量码与它相应的中断服务程序入口地址之间的转换表。中断向量地址:中断服务程序入口地址的存储地址。中断向量地址(偏移地址)与中断向量码之间的关系是4n。中断向量表003FFH
003FCH
00080H
0007CH
00014H
00012H
0000CH
00008H
00004H
00000H
专用
中断向量
(5个)
系统保留
中断向量
(27个)
用户可用
中断向量(224个)
16位
CS
IP
255号向量
∶
32号向量
31号向量
∶
5号向量
4号向量(溢出)
3号向量
2号向量(非屏蔽)
1号向量(单步)
0号向量(除法错)
中断向量的设置:如何将中断服务程序入口地址送入中断类型码所对应中断向量表中1、采用DOS系统功能调用。即INT21H的25H号功能调用。2、将中断服务程序的入口地址直接装入中断向量表中。
1.中断优先级别中断源优先级除法错、INTn,INTO最高NMI↑INTR∣单步(陷阱)最低中断优先级顺序小结7.2Intel8259A可编程中断控制器7.2.18259A的框图和引脚7.2.2中断触发方式和中断响应过程7.2.3工作方式7.2.4屏蔽中断源的方式7.2.5结束中断处理的方式7.2.6中断级联方式7.2.78259A初始化命令字和操作方式命令字返回本章首页7.2.18259A的框图和引脚1.功能管理和控制80x86的外部中断请求实现中断判优提供中断向量屏蔽中断输入使用单片8259A可以管理8级中断,采用级联方式,最多可管理64级中断2、结构框图
D7~D0
SP/EN
CAS0
CAS1
CAS2
RD
WR
A0
CS
控制逻辑中断服务寄存器ISR
中断判优器
中断请求寄存器IRR
中断屏蔽寄存器IMR
INTA
INT
内部总线
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
读写控制逻辑数据总线缓冲器级联缓冲比较器3、8259A的引脚
VCC
A0
INTA
IR7
IR6
IR5
IR4
IR3
IR2
IR1
IR0
INT
SP/EN
CAS2
CS
WR
RD
D7
D6
D5
D4
D3
D2
D1
D0
CAS0
CAS1
GND
1
8259A28
2
27
3
26
4
25
5
24
6
23
7
22
8
21
9
20
10
19
11
18
12
17
13
16
14
15
4、8259A的工作原理及中断响应过程(1)外部设备在中断请求输入线(IR7~IR0)上发了中断请求,使中断请求寄存器IRR的相应位置位。(2)IRR的内容与IMR的内容的非相“与”,结果送给优先级分析器。中断优先级分析器把优先级最高的中断请求送到控制电路。(3)控制电路将接收到的中断请求向CPU输出INT信号。
(4)若CPU是处在开中断状态,则在当前指令执行完以后,接收到INT信号,输出一个中断响应脉冲,进入第一个中断响应周期。(5)8259A的脚上收到脉冲信号,就将最高优先级所对应的IRR位清除,并将对应的ISR位置位。(6)CPU启动第二个中断响应周期,输出另一个脉冲,在这个周期8259A向数据总线输出一个中断向量码。(7)CPU读取该中断向量码,把它乘以4,得到中断服务程序入口地址,转入该中断服务程序。这样一个中断响应周期就完成了。5、8259A寄存器及I/O端口的识别CSRDWRA0功能8259A端口PC/XT机端口0010读IRR,ISR偶地址20H0011读IMR奇地址21H0100写ICW1,OCW2,OCW3偶地址20H0101写ICW2,ICW3,ICW4,OCW1奇地址21H011×无操作
1×××无操作
返回本节7.2.2中断管理方式1、优先级设置方式(1)一般完全嵌套方式:中断优先级分配固定级别0~7级,IR0具有最高优先级,IR7优先级最低。但优先级顺序可通过程序来改变处理某级中断时,只允许高级中断进入,实现中断嵌套,禁止同级或低级中断请求进入。中断结束方式:普通EOI方式,自动AEOI方式。
(2)特殊完全嵌套方式用于级连系统,且仅适用于主片,确定从片内部优先级的工作方式;中断优先级固定;处理某级中断时,允许同级(同一从片上,优先级高的中断;对主片,认为同级中断)、高级(主片上其它优先级较高);特殊EOI方式(3)优先级自动循环方式
a、用于系统中多个中断源优先级相等的场合;b、优先级别可以改变,一个中断源得到服务以后,它的优先级别变为最低,将最高优先级赋给原来比它低一级的中请;IRR00010010优先级76543210IR1被服务后优先级54321076C、AEOI、普通EOI方式(4)优先级特殊循环方式A、优先级别可以改变,一个中断源得到服务以后,它的优先级别变为最低,将最高优先级赋给原来比它低一级的中请;
b
、
初始最低优先级由程序规定,最高优先级也就确定了。不是固定IR0为初始最高级;C、特殊EOI方式。
2、中断结束方式
使ISR中ISRn清零的工作,什么时刻使ISR中对应位置0。(1)中断自动结束方式:任何一级中断被响应后,ISR对应位置1。在CPU进入中断响应周期,发第二个INTA脉冲(后沿),8259A将自动把ISR中的对应位清除。。(2)一般的中断结束方式
任何一级中断处理结束返回上一级程序前,CPU向8259A传送EOI结束命令字(必须放在IRET前),8259A就会把当前的ISR中的最高IS位(反映了最后一次被响应和被处理的中断)复位(ISRn=0相当于结束了当前正在处理的中断)。(3)特殊的中断结束方式CPU向8259A发特殊EOI方式命令字,指出要清除当前ISR中的哪一位ISRn。3、中断源屏蔽方式(1)普通屏蔽方式将IMR某位置1,则它对应的IRi就被屏蔽,使对应的中断请求被屏蔽,不能从8259A送到CPU;将IMR某位清0,则允许该IRi中断传送给CPU。
(2)特殊屏蔽方式希望一个中断服务程序能动态地改变系统的优先级结构。注意事项:在中断处理程序中使用。操作:在IRi的处理中,若希望使除IRi以外的所有IR中断请求均可被响应的话,则首先设置特殊屏蔽方式,再编程(用OCW1对IMR)将IRi屏蔽掉(使IMR中的ImRi位置1),同时会使ISR中的IsRi位复位。这样,除了正在服务的这级中断被屏蔽(不允许产生进一步的中断外),其它各级中断全部开放。4、中断级联方式(1)缓冲方式:8259A通过总线驱动器和数据总线相连,这就是缓冲方式。(2)非缓冲方式:当系统中只有单片8259A时,一般将它直接与数据总线相连。
5、中断请求方式(1)边沿触发方式:上升沿(2)电平触发方式:高电平(3)中断查询方式:外设通过边沿或电平触发方式向8259A提中断,而CPU通过软件查询方式来确认中断源。具有中断、查询二者特点
B7~B0
T
74LS245OE
A7~A0
DT/R
INTR
DEN
局部数据总线
B7~B0
T
74LS245OE
A7~A0
SP/END7~D0
从控B
CAS2-0INTAINT
SP/END7~D0
从控A
CAS2-0INTAINT
SP/END7~D0
主控制器INT
IR5IR6INTACAS2-0
+5V1kΩ
B7~B0
OE74LS245T
A7~A0
+5V1kΩ
+5V1kΩ
系统数据总线
INTA
8259A缓冲方式下级连结构8259A非缓冲方式下级连结构
地址总线
控制总线
数据总线
CSA0DBINTA
INT
CAS0
8259A从控ACAS1
CAS2
SP/ENIRQ7┅IRQ0
CSA0DBINTAINT
CAS0
CAS18259A主控
CAS2
IRQ7┅IRQ0
SP/EN76
5432
10
CSA0DB
INTA
INT
CAS0
8259A从控BCAS1
CAS2
SP/ENIRQ7┅IRQ0
GND76543210
GND76543210
VCC76543210
CSA0DB
INTA
INT
CAS0
8259A从控BCAS1
CAS2
SP/ENIRQ7┅IRQ0
CSA0DB
INTA
INT
CAS0
8259A从控BCAS1
CAS2
SP/ENIRQ7┅IRQ0
CSA0DB
INTA
INT
CAS0
8259A从控BCAS1
CAS2
SP/ENIRQ7┅IRQ0
CSA0DB
INTA
INT
CAS0
8259A从控BCAS1
CAS2
SP/ENIRQ7┅IRQ0
7.2.38259A初始化命令字和操作方式命字1.初始化命令字ICW(1)ICW1(2)ICW2(3)ICW3(4)ICW4(5)初始化命令字的编程顺序ICW1命令字
A00
偶地址端口
D7D6D5D4D3D2D1D0XXX1LTIMXSNGLIC4
特征位
1电平触发
0边沿触发
1单片方式
0级连方式
1要ICW4
0不要ICW4
ICW2命令字
A0
D7
D6
D5
D4
D3
D2
D1D0
1
8259A填入T7T6T5T4T3000
中断类型号的高5位主8259A的ICW3命令字
1-IRi输入引脚接从片的INT
0-IRi输入引脚未接从片的INT
A0
D7
D6
D5
D4
D3
D2
D1
D0
S3
S2
S1
S0
S4
S5
S6
S7
1
从8259A的ICW3命令字
A0
D7
D6
D5
D4
D3
D2
D1
D0
0
S2
S1
S0
0
0
0
0
1
该从片的INT引脚与主片的哪一个引脚相连ICW4命令字
1-8088/8086CPU
0-8080/8085CPU
1-自动EOI方式
0-非自动EOI方式
1-特殊完全嵌套方式
0-一般完全嵌套方式
0
非缓冲方式
1
0
缓冲方式从片
1
1
缓冲方式主片
A0
D7
D6
D5
D4
D3
D2
D1D0
1
000SFNMBUFM/SAEOIuPM
x8259A初始化命令字的顺序
开始
初始化ICW1
初始化ICW2
是否用级连方式?
初始化ICW3
是否用ICW4?
初始化ICW4
准备接近中断请求
结束
Y
Y
Y
N
N
2.操作命令字OCW(1)OCW1:OCW1是中断屏蔽命令字,D7~D0分别控制对应的IRQ7~I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新型农业经营主体助力农村消费市场扩展
- 乡村振兴中的老年教育与社会和谐的关系
- 2025版劳务分包安全协议及事故处理规则范本
- 二零二五年吊装作业现场管理费用合同范本
- 2025年度防盗门生产与销售合作协议书
- 二零二五版建筑工程竣工验收服务合同
- 2025年度城市公共汽车车身广告租赁协议
- 二零二五年度新材料研发出口销售合同范本
- 二零二五年度城乡公交设施运营维护服务合同
- 汽车智能充电设施建设项目可行性研究报告
- 2025工商银行房贷借款合同
- 高校辅导员考试基础知识试题题库238题(附答案)
- 呼吸内科质控体系构建与实施
- 小学五年级数学奥数数的整除(附练习及详解)
- 甲肝健康知识课件
- 2025至2030中国防辐射服行业发展趋势分析与未来投资战略咨询研究报告
- 社区干部考试试题及答案
- 年产2000吨电子级超高纯石英晶体材料制造项目报告表
- 2025年中小学暑假安全教育主题家长会 课件
- 2025年乡村文化旅游与乡村旅游融合的市场需求分析报告
- 2025-2030年中国芳烃行业市场深度调研及投资前景与投资策略研究报告
评论
0/150
提交评论