微机原理第七章1_第1页
微机原理第七章1_第2页
微机原理第七章1_第3页
微机原理第七章1_第4页
微机原理第七章1_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一节第一节 中断的基本概念中断的基本概念一、什么是中断一、什么是中断二、中断源和中断优先权二、中断源和中断优先权三、中断服务程序三、中断服务程序四、断点和中断现场四、断点和中断现场五、硬件中断和软件中断五、硬件中断和软件中断第二节第二节 8088CPU的中断系统的中断系统一、一、8088CPU的中断分类的中断分类二、二、8088CPU的中断优先权的中断优先权三、三、8088CPU响应中断的过程响应中断的过程四、四、8088CPU如何获取中断类型号如何获取中断类型号第三节第三节 可编程中断控制器可编程中断控制器8259A一、引言一、引言二、二、8259A的引脚、编程结构和工作过程的引脚、编程

2、结构和工作过程三、三、8259A的编程的编程1设置中断屏蔽字设置中断屏蔽字2发中断结束命令发中断结束命令EOI四、四、8259A在在IBM PC/XT系统中的应用系统中的应用五、五、 8259A在在 Pentium机机中中的应用的应用第四节第四节 中断程序设计中断程序设计一、中断向量的保存、设置和恢复一、中断向量的保存、设置和恢复二、软中断程序设计二、软中断程序设计三、可屏蔽硬中断程序设计三、可屏蔽硬中断程序设计四、问题讨论四、问题讨论1.中断嵌套问题中断嵌套问题2.中断向量的保存、恢复问题中断向量的保存、恢复问题第七章第七章 中断技术中断技术2听课思考听课思考1、中断类型中断类型 3、内部(

3、软)和外部(硬)中断类型号怎样取得?、内部(软)和外部(硬)中断类型号怎样取得? 2、内部(软)和外部(硬)中断执行过程不同点与、内部(软)和外部(硬)中断执行过程不同点与 相同点相同点; 4、CPU在响应中断自动完成哪几件事?在响应中断自动完成哪几件事? 5、中断向量如何设置?、中断向量如何设置? 6 6、从外设的中断请求到、从外设的中断请求到CPUCPU响应中断,有哪两个控制条件?响应中断,有哪两个控制条件? 7 7、每次硬中断结束后为什么要发中断结束命令字?软中断需、每次硬中断结束后为什么要发中断结束命令字?软中断需 要吗?要吗?8、屏蔽字的作用是什么?、屏蔽字的作用是什么?3第七章第七

4、章 中断技术中断技术第一节第一节 中断的基本概念中断的基本概念第二节第二节 8088CPU的中断系统的中断系统第三节第三节 可编程中断控制器可编程中断控制器8259A第四节第四节 中断程序设计中断程序设计4第一节第一节 中断的基本概念中断的基本概念一、什么是中断一、什么是中断二、中断源和中断优先权二、中断源和中断优先权三、中断服务程序三、中断服务程序四、断点和中断现场四、断点和中断现场五、硬件中断和软件中断五、硬件中断和软件中断5一、什么是中断一、什么是中断在在CPU正常运行程序时,正常运行程序时,由于内部或外部某个由于内部或外部某个非预料事件非预料事件的发生,的发生,使使CPU暂停正在运行的

5、程序,暂停正在运行的程序,而转去执行而转去执行处理引起中断事件的程序处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。然后再返回被中断了的程序,继续执行。这个过程就是这个过程就是中断中断。6中断服务程序中断服务程序1中断服务程序中断服务程序 2非预料事件非预料事件1CPU执行流程执行流程非预料事件非预料事件 27二、中断源和中断优先权二、中断源和中断优先权q 引起中断的因素很多,引起中断的因素很多, 将发出中断申请的外设或内部原因将发出中断申请的外设或内部原因, ,称为称为中断源中断源q 给每个中断源指定一个优先权,称为给每个中断源指定一个优先权,称为中断优先权中断优先权q 当多个中

6、断源同时发出中断请求时,当多个中断源同时发出中断请求时, CPU按照中断优先权的高低顺序按照中断优先权的高低顺序, ,依次响应。依次响应。8三、中断服务程序三、中断服务程序 处理中断源,完成其所要求功能的程序,处理中断源,完成其所要求功能的程序, 称称中断服务程序中断服务程序(中断例行程序、中断子程)。(中断例行程序、中断子程)。CPU执行流程执行流程中断服务程序中断服务程序1 1中断服务程序中断服务程序2非预料事件非预料事件2非预料事件非预料事件19非预料事件是指事件发生的时间无法预知,非预料事件是指事件发生的时间无法预知, 即中断源何时产生中断不确定,是随机的。即中断源何时产生中断不确定,

7、是随机的。但事件的性质及处理方法则是已知的,但事件的性质及处理方法则是已知的, 确定的,确定的, 即中断服务程序是事先编写好的即中断服务程序是事先编写好的, 只是何时执行未知。只是何时执行未知。中断源产生中断的随机性,中断源产生中断的随机性,使中断服务程序的执行也具有随机性,使中断服务程序的执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。即何时执行中断服务程序不是在程序中安排好的。10四、断点和中断现场四、断点和中断现场断点断点: : 是指是指CPU执行的现行程序执行的现行程序被中断时的下一条指令被中断时的下一条指令的地址的地址, ,又称又称断点地址断点地址。中断现场中断现场:

8、: 是指是指CPU转去执行中断服务程序前的转去执行中断服务程序前的运行状态运行状态,包括包括CPU内部各寄存器、断点地址内部各寄存器、断点地址等。等。111000:150H 、 、 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、 PUSH AX 、 、 IRETCPU在执行此指令时,在执行此指令时,某中断源发申请中断某中断源发申请中断;CPU在执行完该指令后,在执行完该指令后,转去执行中断子程转去执行中断子程地址地址1000:150H为断点为断点断点概念断点概念: :12l早期早期中断概念的引入,中断概念的引入, 是为解决是为解决CPU与外设间的速度匹配问题,与外设间

9、的速度匹配问题, 提高提高CPU CPU 的工作效率。的工作效率。 中断源主要是由外部硬件产生。中断源主要是由外部硬件产生。l当今的中断技术,当今的中断技术, 不再限于外部硬件产生中断不再限于外部硬件产生中断( (称称硬件中断硬件中断或或外中断外中断 ) ), 还可由还可由CPU内部产生内部产生 ( (如被零除操作如被零除操作) ), 或者由程序预先安排,即由指令调用中断服务程序。或者由程序预先安排,即由指令调用中断服务程序。 (称(称软件中断软件中断或或内中断内中断)五、硬件中断和软件中断五、硬件中断和软件中断131000:150H 、 、 、 、 、MOV AH, 01INT 21HCMP

10、 AL, 0Dh、 PUSH AX 、 、IRET用指令调用中断程序用指令调用中断程序软件中断软件中断用指令用指令调用中断程序调用中断程序14第二节第二节 8088CPU的中断系统的中断系统一、一、8088CPU的中断分类的中断分类二、二、8088CPU的中断优先权的中断优先权三、三、8088CPU响应中断的过程响应中断的过程四、四、8088CPU如何获取中断类型号如何获取中断类型号15一、一、 8088CPU的中断分类的中断分类按中断源的不同,中断分为按中断源的不同,中断分为内中断内中断和和外中断外中断。1、内中断(软中断)、内中断(软中断) 指指CPU执行某些特殊操作或由执行某些特殊操作或

11、由INT指令引起的中断指令引起的中断 被零除被零除操作或操作或OF=1时执行时执行INTO指令引起指令引起 使用使用DEBUG中的单步或断点设置操作引起中的单步或断点设置操作引起 执行执行INTn 指令引起指令引起16指外部芯片通过指外部芯片通过CPU的的INTR引脚或引脚或NMI引脚引脚发出中断申请引起的中断。发出中断申请引起的中断。当当INTR上有高电平信号上有高电平信号当当NMI上有上升沿信号上有上升沿信号2、外中断(硬中断)外中断(硬中断)8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND最大组态(最小组态)最

12、大组态(最小组态)VCCA15A16/S3A17/S4A18/S5A19/S6(HIGH)(SSO)MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(IO/M)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET17l 可屏蔽中断可屏蔽中断 由由INTR引脚引起的中断,称引脚引起的中断,称可屏蔽中断可屏蔽中断。 CPU是否响应是否响应INTR引脚上的中断请求取决于引脚上的中断请求取决于IF标志:标志: IF=1,CPU响应响应INTR引脚上的中断请求引脚上的中断请求 IF=0,CPU不响应不响应INTR引脚上的中断请求引

13、脚上的中断请求 即当即当IF=0时,将时,将INTR引脚上的中断申请屏蔽引脚上的中断申请屏蔽。 l 非屏蔽中断非屏蔽中断 由由NMI引脚引起的中断,称引脚引起的中断,称非屏蔽中断非屏蔽中断。 当当NMI引脚上产生上升沿信号,引脚上产生上升沿信号,CPU必响应此中断请求,即必响应此中断请求,即NMI引脚上的中引脚上的中断请求断请求不受不受IF标志的控制标志的控制, IF不能屏蔽不能屏蔽NMI引脚上的中断请求。引脚上的中断请求。但在系统通电瞬间或屏蔽寄存器最高位置但在系统通电瞬间或屏蔽寄存器最高位置“0 0”可屏蔽可屏蔽NMINMI。将最高位置。将最高位置“1 1”又可以开放又可以开放NMINMI

14、。MOV DXMOV DX,A0HA0H;A0HBFHA0HBFH为屏蔽寄存器为屏蔽寄存器 MOV DXMOV DX,A0HA0H MOV AL MOV AL,00H 00H MOV AL MOV AL,80H80H OUT DX OUT DX,ALAL;屏蔽;屏蔽NMI NMI OUT DX OUT DX,ALAL;开放;开放NMINMI18保留保留(ALT(ALT打印机打印机) )中断逻辑中断逻辑INTnINTn指令指令INTOINTO指令指令除法除法错误错误单步单步TF=1TF=1非屏蔽中断请求非屏蔽中断请求IRIR0IRIR6IRIR5IRIR4IRIR3IRIR2IRIR1IRIR7

15、可编程可编程中中 断断控制器控制器(PIC)(PIC)8259A8259AINTINTn n4 40 01 12 2CPUCPUINTRINTRNMINMI080809090A0A0B0B0C0C0D0D0E0E0F0F系统定时器系统定时器键盘键盘保留保留( (打印机打印机) )软盘软盘串行通信接口串行通信接口保留保留( (通信通信) )彩色彩色/ /图形接口图形接口8086/8088中断源中断源19当有多个中断源同时产生中断申请时,当有多个中断源同时产生中断申请时,CPU先响应优先权最高的中断源,先响应优先权最高的中断源,再响应优先级较低的中断源。再响应优先级较低的中断源。二、二、8088C

16、PU的中断优先权的中断优先权优先级优先级 高高 低低 内中断内中断 ( 除零,除零,INT 指令,断点,指令,断点,INTO指令指令 ) 非屏蔽中断非屏蔽中断 可屏蔽中断可屏蔽中断 低低 内中断内中断( 单步单步 ) 20三、三、8088CPU响应中断的过程响应中断的过程当中断源产生当中断源产生中断申请(中断申请(INTR)后,后,不论是内中断、非屏蔽中断,还是可屏蔽中断不论是内中断、非屏蔽中断,还是可屏蔽中断,只要只要满足响应条件满足响应条件,在执行完当前指令后,在执行完当前指令后,响应中断,给出响应中断,给出INTAINTACPU内部硬件会自动完成下列响应中断的过程:内部硬件会自动完成下列

17、响应中断的过程: 取中断类型号取中断类型号N 当前当前PSW的内容入栈的内容入栈 清清IF、TF标志为标志为0 当前当前CS的内容入栈的内容入栈 当前当前IP的内容入栈的内容入栈 取内存单元取内存单元( 0 : N 4 )字字内容送内容送IP 取内存单元取内存单元( 0 : N 4 + 2 )字内容送字内容送CS 此时此时, CPU, CPU中的指令地址寄存器中的指令地址寄存器CS:IPCS:IP指向中断程序的入指向中断程序的入口,在下一个总线周期,开始执行中断程序。口,在下一个总线周期,开始执行中断程序。保存现场保存现场中断服务程中断服务程序入口地址序入口地址 21当前指令执行完的含义当前指

18、令执行完的含义 CPU正在执行一条指令,执行完本条指令,响应中断;正在执行一条指令,执行完本条指令,响应中断; 对于带重复前缀的串指令(如对于带重复前缀的串指令(如REP MOVSB),执行一次),执行一次重复和串指令即可响应中断;重复和串指令即可响应中断; 对对MOV和和POP指令,处理对象为段寄存器,指令,处理对象为段寄存器,以及以及STI和和IRET指令执行完本条指令后,指令执行完本条指令后,再执行一条指令才响应中断。再执行一条指令才响应中断。22内内 存存中断向量表中断向量表0:0 3FFH1000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h

19、3000h 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、类型类型N中断子程中断子程 某中断源发申请中断,某中断源发申请中断,申请执行类型号为申请执行类型号为N的中断子程的中断子程响应中断前响应中断前 SS:SP 响应中断后响应中断后SS:SP 堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h0:3FFH0:023从中断子程返回断点处,从中断子程返回断点处,靠的是执行中断子程最后的指令靠的是执行中断子程最后的指令IRET,从堆栈中取出断点地址给

20、从堆栈中取出断点地址给CS:IP,继续执行被中断的程序。继续执行被中断的程序。故中断子程最后应安排故中断子程最后应安排 IRET 指令。指令。1000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h 3000h 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、响应中断前响应中断前 SS:SP 响应中断后响应中断后SS:SP 堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h24四、四、8088CPU如何获取中断

21、类型号如何获取中断类型号由前面介绍知,当中断源产生由前面介绍知,当中断源产生中断请求中断请求后,后,不论是内中断、非屏蔽中断,还是可屏蔽中断不论是内中断、非屏蔽中断,还是可屏蔽中断,只要只要满足响应条件满足响应条件,在执行完当前指令后,在执行完当前指令后,CPU内部硬件会自动完成响应中断的过程内部硬件会自动完成响应中断的过程, ,共七个步骤共七个步骤而而第一步就是获取中断类型号。第一步就是获取中断类型号。不同的中断源,不同的中断源,8088CPU获取中断类型号的方法不同获取中断类型号的方法不同。25根据根据8088CPU对中断的分类,各中断获取类型号的方法对中断的分类,各中断获取类型号的方法C

22、PU 执执行行除除零零或或 OF 为为 1 执执行行 INTO 指指令令 除除零零 固固定定类类型型号号 00H OF 为为 1 执执行行 INTO 指指令令 固固定定类类型型号号 04H使使用用 DEBUG 下下的的单单步步和和断断点点操操作作 单单步步 固固定定类类型型号号 01H 断断点点 固固定定类类型型号号 03H内内中中断断执执行行中中断断调调用用指指令令 INT N 由由指指令令中中给给出出 指指令令中中指指定定类类型型号号 N非非屏屏蔽蔽中中断断 引引脚脚 NMI 上上有有中中断断申申请请信信号号(上上升升沿沿信信号号) 非非屏屏蔽蔽中中断断 固固定定类类型型号号 02H外外中

23、中断断可可屏屏蔽蔽中中断断(参参看看中中断断响响应应时时序序图图) 当当 IF=1,引引脚脚 INTR 上上有有中中断断申申请请信信号号( (高高电电平平信信号号) ) CPU 按按中中断断响响应应周周期期时时序序,从从数数据据总总线线上上获获取取中中断断类类型型号号 可可屏屏蔽蔽中中断断 外外部部接接口口送送上上类类型型号号26向量类型向量类型 INTACLKAD7AD0T1T2T3T4第第 一一 个个中断响应周期中断响应周期T1T2T3T4第第 二二 个个中断响应周期中断响应周期 中断响应周期时序中断响应周期时序 CPU从引脚从引脚 INTA 发中断响应信号,发中断响应信号, 接口芯片接收

24、此信号,把中断类型号准备好;同时接口芯片接收此信号,把中断类型号准备好;同时ISRi=1,IRRi=0。 CPU再从引脚再从引脚 INTA 发中断响应信号,发中断响应信号, 接口芯片接此信号后,将中断类型号送至数据总线上;接口芯片接此信号后,将中断类型号送至数据总线上; CPU从数据总线获取中断类型号从数据总线获取中断类型号。27第三节第三节 可编程中断控制器可编程中断控制器8259A 一、一、引言引言 二、二、8259A的引脚、编程结构和工作过程的引脚、编程结构和工作过程 三、三、8259A的编程的编程 1. 设置中断屏蔽字设置中断屏蔽字 2. 发中断结束命令发中断结束命令EOI 四、四、8

25、259A在在IBM PC/XT系统中的应用系统中的应用五、五、 8259A在在 Pentium机机中中的应用的应用28一、引言一、引言中断申请中断申请管理接口管理接口INT中断申请中断申请接口接口1网络网络接口接口2硬盘硬盘接口接口3软盘软盘接口接口4打印机打印机8088CPUINTRIF291. 向向CPU的引脚的引脚INTR发中断申请信号发中断申请信号当有多个外设同时发出中断请求时,当有多个外设同时发出中断请求时,能按照一定的优先级顺序,向能按照一定的优先级顺序,向CPU发出中断申请,发出中断申请,使使CPU能优先响应优先级最高的外部设备的中断申请。能优先响应优先级最高的外部设备的中断申请

26、。2. 送中断类型号送中断类型号 在在CPU中断响应周期,针对不同外设的中断请求,中断响应周期,针对不同外设的中断请求, 向向CPU传送不同的中断类型号,传送不同的中断类型号, 使使CPU执行相应的中断子程执行相应的中断子程。中断申请管理接口的主要功能中断申请管理接口的主要功能: :在在IBM PC机由机由8259A可编程中断控制器可编程中断控制器(PIC)来完成。来完成。30二、二、 8259A的引脚、编程结构和工作过程的引脚、编程结构和工作过程1. 8259A的引脚的引脚2. 8259A的编程结构的编程结构3. 8259A的工作过程的工作过程311. 8259A的引脚的引脚 双列直插式芯片

27、,双列直插式芯片,28个引脚个引脚 (参看教材图(参看教材图6-37)方方 波波键键 盘盘保保 留留串串 口口2 硬硬 盘盘软软 盘盘打印机打印机IOW18.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR串串 口口1 定时器定时器3228259A的编程结构的编程结构(参看教材图(参看教材图6-36)SP/ENCA0CA1CA2IORIOW总线总线D0D7

28、数数 据据 线线D0D7INTAINTRA0片片选选译译码码A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片连接关系主从片连接关系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级设置、发优先级设置、发EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查询方式设置查询方式设置处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器VCCGND1 10 00

29、 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断中断申请申请寄存器寄存器000 0 0 0 0 0 334个初始化命令寄存器个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器当前中断服务寄存器 ISR中断申请寄存器中断申请寄存器 IRR 8259A内部有内部有9个个 可读写的寄存器可读写的寄存器8259A的编程结构的编程结构 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制

30、部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器中断控制器34(1) 初始化命令字初始化命令字(ICW1- - ICW4) 决定决定8259A的工作方式的工作方式 通常是在计算机系统启动时在初始程序设置,通常是在计算机系统启动时在初始程序设置, 一旦设定,一般在系统工作过程不再改变。一旦设定,一般在系统工作过程不再改变。例例 开机后,开机后,B

31、IOS将将8259A初始化为:初始化为: IR0IR7中断申请信号为上升沿触发方式;中断申请信号为上升沿触发方式; IR0IR7对应的中断类型号分别为对应的中断类型号分别为08H0FH; 优先级优先级IR0最高最高, IR7最低;最低;(2) 操作命令字操作命令字(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制在应用程序中设定,动态地控制CPU处理中断的过程处理中断的过程(3) ISR和和IRR存放当前存放当前8259A的状态的状态 通过读取通过读取 ISR 和和 IRR 的内容,可了解当前的内容,可了解当前8259A工作情况工作情况35分两步分两步: (1)处理外设中断申请,决

32、定是否向处理外设中断申请,决定是否向CPU发中断申请信号。发中断申请信号。(2)若发中断申请信号,且若发中断申请信号,且CPU响应,响应, 则在则在CPU中断响应周期送出中断类型号。中断响应周期送出中断类型号。3. 8259A 的工作过程的工作过程36(1) 处理外设中断申请,决定是否向处理外设中断申请,决定是否向CPU发中断申请信号发中断申请信号 中断屏蔽寄存器中断屏蔽寄存器 IMR 决定决定 IRR 中的中断申请中的中断申请 是否进入优先级裁决器是否进入优先级裁决器 PR。 IMR对应位为对应位为 0,允许中断申请进入优先级裁决器,允许中断申请进入优先级裁决器, 为为 1,不允许进入,中断

33、申请被,不允许进入,中断申请被IMR屏蔽。屏蔽。 中断申请寄存器中断申请寄存器IRR 锁存外部的中断申请。锁存外部的中断申请。 若若 IR0IR7 引脚上有中断申请,则将引脚上有中断申请,则将 IRR 相应位置相应位置1 当前中断服务寄存器当前中断服务寄存器 ISR 记录记录CPU正在响应的中断。正在响应的中断。 ISR中的某位为中的某位为1,表示,表示CPU正在响应此级中断,正在响应此级中断, ISR中的某位为中的某位为 0,表示,表示CPU没有或已响应完此级中断,没有或已响应完此级中断, 优先级裁决器优先级裁决器PR 据新进入的中断申请和据新进入的中断申请和 ISR的内容的内容, 决定是否

34、发中断申请信号。决定是否发中断申请信号。 如果进入的中断申请比如果进入的中断申请比 ISR 中记录的中断优先级高,中记录的中断优先级高, 则通过则通过 8259A 的的 INT 引脚向引脚向 CPU发出中断请求信号;发出中断请求信号; 如果进入的中断申请不比如果进入的中断申请不比 ISR 中记录的中断优先级高,中记录的中断优先级高, 同级或低级,则不向同级或低级,则不向 CPU 发中断请求信号。发中断请求信号。37 中断申请寄存器中断申请寄存器IRR 锁存外部的中断申请。锁存外部的中断申请。 若若 IR0IR7 引脚上有中断申请,则将引脚上有中断申请,则将 IRR 相应位置相应位置1IORIO

35、W总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0IN

36、TR1138 中断屏蔽寄存器中断屏蔽寄存器 IMR 决定决定 IRR 中的中断申请中的中断申请 是否进入优先级裁决器是否进入优先级裁决器 PR。 IMR对应位对应位为为 0,允许允许中断申请进入优先级裁决器,中断申请进入优先级裁决器, 为为 1,不允许不允许进入,中断申请被进入,中断申请被IMR屏蔽。屏蔽。IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服

37、务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR39 当前中断服务寄存器当前中断服务寄存器 ISR 记录记录CPU正在响应的中断。正在响应的中断。ISR中的某位中的某位为为1,表示,表示CPU正在响应正在响应此级中断,此级中断, 即正在执行此中断源的中断子程;即正在执行此中断源的中断子程;ISR中的某位中的某位为为 0,表示

38、,表示CPU没有或已响应完没有或已响应完此级中断,此级中断, 即不在执行此中断源的中断子程即不在执行此中断源的中断子程IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽

39、设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR40 优先级裁决器优先级裁决器PR据新进入的中断申请和据新进入的中断申请和 ISR的内容的内容, 决定是否发中断申请信号。决定是否发中断申请信号。 如果进入的中断申请比如果进入的中断申请比 ISR 中记录的中记录的中断优先级高中断优先级高, 则通过则通过 8259A 的的 INT 引脚向引脚向 CPU发出中断请求信号;发出中断请求信号; 如果进入的中断申请不比如果进入的中断申请不比 ISR 中记录的中断优先级高,中记录的中断优先级高,同级或低级同级或低级, 则不向

40、则不向 CPU 发中断请求信号。发中断请求信号。IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器10

41、0 0 0 0 0 1 1 0 0 1 0 1 0 0INTR41(2) 若发中断申请信号,且若发中断申请信号,且CPU响应,响应, 则在则在CPU中断响应周期送出中断类型号中断响应周期送出中断类型号 CPU接收到接收到 INTR上的中断申请信号后:上的中断申请信号后:l如果如果 IF 标志为标志为0,则,则CPU不响应此中断申请信号不响应此中断申请信号, 即中断申请被即中断申请被IF屏蔽。屏蔽。l如果如果 IF 标志为标志为1, 则处理完当前的指令后则处理完当前的指令后, 进入中断响应周期进入中断响应周期 通过通过 INTA 引脚发出两个负脉冲信号,引脚发出两个负脉冲信号, 从数据总线上获取

42、中断类型号,从数据总线上获取中断类型号, 进入中断响应的过程。进入中断响应的过程。42向量类型向量类型 INTACLKAD7AD0T1T2T3T4第第 一一 个个中断响应周期中断响应周期T1T2T3T4第第 二二 个个中断响应周期中断响应周期 8088CPU中断响应周期时序中断响应周期时序43 将将 ISR 中相应位置中相应位置1, 表示表示 CPU 响应此级中断,执行此中断源的中断子程。响应此级中断,执行此中断源的中断子程。8259A在接收到第一个在接收到第一个INTA中断响应信号后中断响应信号后:001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3

43、IR4IR5IR6IR7PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RDWR INTAINTD0D7INTR01 把把 IRR中对应的位清中对应的位清0,清除,清除IRR中锁存的中断申请信号

44、。中锁存的中断申请信号。44 通过数据线,将被响应申请的中断类型号送给通过数据线,将被响应申请的中断类型号送给CPU。类型号由类型号由ICW2提供,在初始化提供,在初始化8259A时已设定好。时已设定好。8259A在接收到第二个在接收到第二个INTA中断响应信号后:中断响应信号后:001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制

45、方式控制OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RDWR INTAINTD0D7INTR01 CPU获得中断类型号后,进入获得中断类型号后,进入CPU响应中断的过程响应中断的过程, 执行中断子程,处理中断源申请的功能执行中断子程,处理中断源申请的功能。45 取中断类型号取中断类型号N 当前当前PSW的内容入栈的内容入栈 清清IF、TF标志为标志为0 当前当前CS的内容入栈的内容入栈 当前当前

46、IP的内容入栈的内容入栈 取内存单元取内存单元( 0 : N 4 )字内容送字内容送IP 取中断子程取中断子程 取内存单元取内存单元( 0 : N 4 + 2 )字内容送字内容送CS 入口地址入口地址 此时此时CS:IP指向中断程序的入口,开始执行中断程序。指向中断程序的入口,开始执行中断程序。保存现场保存现场CPU响应中断过程:响应中断过程: 执行完中断子程中最后一条指令执行完中断子程中最后一条指令IRET后,后,返回被中断处,继续执行被中断的程序。返回被中断处,继续执行被中断的程序。46三、三、8259A的编程的编程1. 8259A的编程的编程2. 8259A的编程方法的编程方法 (1)

47、设置中断屏蔽字设置中断屏蔽字 (2) 发中断结束命令发中断结束命令EOI474个初始化命令寄存器个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器当前中断服务寄存器 ISR中断申请寄存器中断申请寄存器 IRR 8259A内部有内部有9个个 可读写的寄存器可读写的寄存器1. 8259A的编程的编程 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当

48、前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器中断控制器488259A有两个有两个I/O端口地址端口地址A0=0 偶地址端口偶地址端口A0=1 奇地址端口奇地址端口 对对 9个寄存器的读写个寄存器的读写 均通过这两个端口实现均通过这两个端口实现 写入数据的特征位写入数据的特征位 写入的先后顺序写入的先后顺序 区分是对哪个寄存器区分是对哪个寄存器 进行操作进行操作根据根据 1 I3 I4IC

49、W1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器中断控制器D0D7A0CSRDWR80111A0100A049(1)通过中断屏蔽寄存器通过中断屏蔽寄存器IMR的读写,的读写,设置中断屏蔽字设置中断屏蔽字(2) 通过通过O

50、CW2操作命令寄存器,操作命令寄存器,发中断结束发中断结束EOI命令命令由于课时所限,只要求掌握如下编程:由于课时所限,只要求掌握如下编程:2. 8259A的编程方法的编程方法8259A有多种工作方式,有多种工作方式,这些工作方式均可编程选择,这些工作方式均可编程选择,使用相当灵活。使用相当灵活。50l通过往寄地址端口写入通过往寄地址端口写入IMR内容实现内容实现 对应位对应位为为0,允许允许该级中断申请进入该级中断申请进入 对应位对应位为为1,禁止禁止该级中断申请进入该级中断申请进入(1)设置中断屏蔽字设置中断屏蔽字IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5

51、A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR51l 新增允许新增允许 IR2 的中断申请的中断申请 IN

52、AL, 21H ;读入原读入原IMR的内容的内容 AND AL, 1111 1011B ;D2=0,允许允许IR2的中断申请的中断申请 OUT 21H, AL ;写入写入IMRl 禁止禁止 IR4 的中断申请的中断申请 IN AL, 21H ;读入原读入原IMR的内容的内容 OR AL, 0001 0000B ;D4=1,禁止禁止IR4的中断申请的中断申请 OUT 21H, AL ;写入写入IMR例例 已知已知 IBM PC/XT系统中系统中 8259A的奇地址端口地址为的奇地址端口地址为21H52设置完成后的结果设置完成后的结果: :IORIOW总线总线数数 据据 线线D0D7INTAA0片

53、片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 0 0 0INTR53(2) 发中断结束命令发中断结束命令 E

54、OI由由 8259A 的工作过程可知的工作过程可知:lISR中的内容是优先级裁决器进行裁决的重要依据中的内容是优先级裁决器进行裁决的重要依据 CPU响应某级中断后,响应某级中断后,8259A自动将自动将ISR的对应位置的对应位置1,如果如果CPU已执行完中断子程,而已执行完中断子程,而ISR中的对应位仍为中的对应位仍为1, 8259A的优先级裁决器仍会据的优先级裁决器仍会据ISR的内容做裁决,的内容做裁决, 从而会屏蔽同级或低级的中断申请。从而会屏蔽同级或低级的中断申请。l在中断响应后,对在中断响应后,对 ISR中相应位的清中相应位的清0很重要,很重要, 它是它是8259A认为中断结束的标志。

55、认为中断结束的标志。54IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制101 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1

56、1 0 0 1 0 1 0 0INTR55一、一、 初始化初始化8259A时,设置时,设置8259A工作方式为自动清工作方式为自动清0方式,方式, 则在则在CPU响应中断后,硬件自动将响应中断后,硬件自动将ISR的对应位清的对应位清0。清清 ISR 内容的方法有两种:内容的方法有两种:二、二、 初始化初始化8259A时,设置时,设置8259A工作方式为非自动清工作方式为非自动清0方式,方式, 需在中断子程中,通过软件方式清需在中断子程中,通过软件方式清0。方法是:方法是:通过往通过往OCW2写入写入20H实现,即由偶地址端口写入:实现,即由偶地址端口写入: EOI00100000特征位,表示对

57、特征位,表示对OCW2操作操作20H56编程在中断子程编程在中断子程 IRET 返回前,发中断结束命令返回前,发中断结束命令EOI例例 已知已知 IBM PC系统中系统中, 8259A的偶地址端口地址为的偶地址端口地址为 20H; BIOS 初始化初始化 8259A 时,设置时,设置 8259A 工作方式为非自动清工作方式为非自动清 0 方式。方式。intsub PROC 、 、 、 MOV AL, 20H ;将中断结束命令字将中断结束命令字20H 送送AL OUT 20H, AL ;写入写入OCW2中中 IRET ;中断返回中断返回 intsub ENDP57四、四、8259A在在IBM P

58、C/XT系统中的应用系统中的应用18259A与系统的连线。与系统的连线。2BIOS初始化程序对初始化程序对8259A的设置。的设置。581与系统的连线与系统的连线+5V CLKRESETREADYMN/MXVCCRDQS0QS1LOCKTESTHIGHNMIGNDGND地址锁存器地址锁存器8282(两片两片)STB 数据收发器数据收发器OE 8286T T MRDC 8288 MWTC 总线总线 IORC控制器控制器 IOWC INTA8259A及有关电路及有关电路DT/RDENALE地址总线地址总线数据总线数据总线控制总线控制总线PC总总线线A15A8S6S3/A19A16AD7AD0808

59、8CPUS0S1S2INTRRQ/GT0RQ/GT1内内存存I/O接口接口注意:注意:8259A在连线中的位置在连线中的位置59 8259A的片选地址范围为的片选地址范围为 20 3F H 偶、奇端口地址通常取用偶、奇端口地址通常取用20H、21H方方 波波键键 盘盘保保 留留串串 口口2 硬硬 盘盘软软 盘盘打印机打印机IOW18.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A级连情况级连情况INTA

60、INT INTA INTR串串 口口1 60IR0 接一个频率为接一个频率为18.2Hz的方波;的方波; 若若CPU对该申请给予响应对该申请给予响应, 则每秒执行则每秒执行18.2次该申请对应的中断子程。次该申请对应的中断子程。 IR1接键盘接口发出的中断申请;接键盘接口发出的中断申请; 每按下一键,若每按下一键,若CPU对该申请给予响应对该申请给予响应, 则执行一次该申请对应的中断子程。则执行一次该申请对应的中断子程。 IR2IR7通过系统总线引出,通过系统总线引出, 对应引脚信号为对应引脚信号为IRQ2IRQ7。18.2Hz时钟信号时钟信号 8259A的的8个中断申请与外设的连接个中断申请

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论