计算机接口技术PPT电子教案课件第三章 中断控制接口

上传人:re****.1 文档编号:588484697 上传时间:2024-09-08 格式:PPT 页数:87 大小:1.79MB
返回 下载 相关 举报
计算机接口技术PPT电子教案课件第三章 中断控制接口_第1页
第1页 / 共87页
计算机接口技术PPT电子教案课件第三章 中断控制接口_第2页
第2页 / 共87页
计算机接口技术PPT电子教案课件第三章 中断控制接口_第3页
第3页 / 共87页
计算机接口技术PPT电子教案课件第三章 中断控制接口_第4页
第4页 / 共87页
计算机接口技术PPT电子教案课件第三章 中断控制接口_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《计算机接口技术PPT电子教案课件第三章 中断控制接口》由会员分享,可在线阅读,更多相关《计算机接口技术PPT电子教案课件第三章 中断控制接口(87页珍藏版)》请在金锄头文库上搜索。

1、3. 8251A的引脚功能接收器引脚功能接收器引脚功能 RxDRxD:数据接收端,用来接收外部输入的数据。:数据接收端,用来接收外部输入的数据。 SYNDET/BRKDETSYNDET/BRKDET:同步检测:同步检测/ /间断检测信号间断检测信号RxRDYRxRDY:接接收收器器准准备备就就绪绪信信号号。当当接接收收缓缓冲冲器器中中已已经经装装配配好好一一个个完完整整的的数数据据字字节节时时,RxRDYRxRDY变变为为高高电电平平,用用来来通通知知CPUCPU读读取取数数据据。当当CPUCPU用用输输入入指指令令取取走走数数据据后后,8251A8251A便便立立即即将将RxRDYRxRDY

2、位位置置0 0。采采用用中中断断方方式式时时,该该信信号号可可作为中断请求信号。作为中断请求信号。 18086233. 8251A的引脚功能接收器引脚功能接收器引脚功能 RxDRxD:数据接收端,用来接收外部输入的数据。:数据接收端,用来接收外部输入的数据。 SYNDET/BRKDETSYNDET/BRKDET:同步检测:同步检测/ /间断检测信号间断检测信号RxRDYRxRDY:接接收收器器准准备备就就绪绪信信号号。当当接接收收缓缓冲冲器器中中已已经经装装配配好好一一个个完完整整的的数数据据字字节节时时,RxRDYRxRDY变变为为高高电电平平,用用来来通通知知CPUCPU读读取取数数据据。

3、当当CPUCPU用用输输入入指指令令取取走走数数据据后后,8251A8251A便便立立即即将将RxRDYRxRDY位位置置0 0。采采用用中中断断方方式式时时,该该信信号号可可作为中断请求信号。作为中断请求信号。 4第三章 中断控制接口5第一节 中断系统概述一、中断由于某个内部或外部的事件发生,CPU中断当前正在执行的程序,而转去执行处理该事件,处理完后,再回到原程序继续执行,这过程称为中断 。中断系统的作用中断系统的作用 在各种微型计算机系统中,常利用中断机制来处理CPU与外部设备之间的数据传送,以最少的响应时间和内部操作来实现外设的服务请求。中断是处理来自内部异常故障的重要手段。 6二、中

4、断源和中断请求I/OI/O设备或事件设备或事件需要需要CPUCPU中断处理时,必须向中断处理时,必须向CPUCPU发出发出中断请求中断请求信号。信号。中断源中断源: :引起中断的原因引起中断的原因, ,或或能够向能够向CPUCPU发出中断请求的中断来源。发出中断请求的中断来源。在计算机系统中,中断源一般分为如下几种:在计算机系统中,中断源一般分为如下几种:1.1.一般的一般的I/OI/O设备,如键盘、打印机、通信接口等设备,如键盘、打印机、通信接口等2.2.数据通道中断源,如磁盘机、数据通道中断源,如磁盘机、磁带机磁带机3.3.实时时钟实时时钟 4.4.故障源故障源5.5.为调试程序而设置的中

5、断源为调试程序而设置的中断源7三、中断系统功能 实现中断与返回: 发现中断请求、响应中断请求、执行中断服务程序、中断返回。 实现中断与返回的过程称为中断响应。 能实现优先级排队: 当系统中有多个中断时,有可能出现两个或两个以上的中断源同时提出中断请求,这时要求CPU根据中断优先权由高到低依次处理。8(3)中断嵌套: CPU在处理较低级的中断时,可能会有较高的中断请求出现。这时应暂停较低级中断的处理,而转去处理较高级的中断。当较高级的中断处理完成之后,再继续处理被暂停的较低级中断。910四、中断响应1.CPU响应中断的条件:需满足以下四个条件,CPU才能响应这个中断请求:(1)CPU侧CPU开放

6、中断。即CPU内部设置的中断允许触发器=1此触发器可用开中断指令(STI)置1,用关中断指令(CLI)清0。实际上就是标志寄存器中的IF位=1,表示CPU可以响应中断。CPU在当前指令结束后才响应中断。11(2)中断源侧中断源发出中断请求信号,并置位保存该状态。中断请求没有被屏蔽。每个中断源都设有一个中断屏蔽触发器,它由CPU来控制。当CPU允许某个中断源申请中断时,该触发器复位;当CPU禁止某中断源申请中断时,该触发器置位。122.CPU响应中断及处理过程满足上述条件后,CPU响应中断,转入中断周期,并完成以下操作:(1 1)关中断关中断:CPU响应中断时,发出中断响应信号INTA,同时内部

7、自动地关中断(IF=0),以禁止接受其他的中断请求,以免破坏当前中断服务的现场。(2 2)保留断点)保留断点:把断点处的指令指针IP值和CS值压入堆栈,以便中断处理完成后正确地返回主程序断点。一般由硬件完成。(3 3)给出中断服务程序入口,转入并执行中断服务程序。)给出中断服务程序入口,转入并执行中断服务程序。13(4 4)保护现场)保护现场:保存断点只是让程序能返回到原来的地方。为了使中断服务程序不破坏主程序的参数与状态,还要把断点处CPU某些寄存器(PSW)的内容推入堆栈加以保护。一般由软件完成。(5 5)开中断开中断:以便在执行中断服务程序时,CPU能响应较高级的中断请求,实现中断嵌套。

8、处理处理I/OI/O操作操作 (6 6)恢复现场恢复现场:将压入堆栈的有关寄存器的内容弹出。(7 7)中断返回中断返回:在ISR的最后,放一条中断返回指令IRET,以便从ISR返回主程序。将堆栈内的断点值弹出。(2 2)保留断点)保留断点:把断点处的指令指针IP值和CS值压入堆栈,以便中断处理完成后正确地返回主程序断点。一般由硬件完成。1415newint80hnewint80h proc ; proc ;内部中断服务程序内部中断服务程序 stisti ; ;开中断开中断 push ax ;push ax ;保护现场保护现场 push push bxbx push push cxcx push

9、 push sisi movmov si,offsetsi,offset intmsgintmsg ; ;获取显示字符串首地址获取显示字符串首地址 movmov cx,sizeofcx,sizeof intmsgintmsgdispdisp: : movmov al,cs:sial,cs:si ; ;获取显示字符(该字符是在代码段,故使用获取显示字符(该字符是在代码段,故使用CSCS前缀)前缀) . . loop loop dispdisp pop pop sisi ; ;恢复现场恢复现场 pop pop cxcx pop pop bxbx pop ax pop ax iretiret ; ;

10、中断返回中断返回intmsgintmsg db I am Great !,0dh,0ah ; db I am Great !,0dh,0ah ;中断的显示信息中断的显示信息newint80hnewint80h endpendp ; ;中断服务程序结束中断服务程序结束 endend16第二节 86系列微机的中断系统17中断中断外部中断外部中断(硬件中断)(硬件中断)内部中断内部中断(软件中断)(软件中断)不可屏蔽中断不可屏蔽中断NMI 02HNMI 02H可屏蔽中断可屏蔽中断INTR INTR 08H-0FH08H-0FH实时时钟实时时钟 08H08H键盘中断键盘中断 09H09H显示中断显示中

11、断 0AH0AH同步通信同步通信 0BH0BH异步通信异步通信 0CH0CH硬盘中断硬盘中断 0DH0DH软盘中断软盘中断 0EH0EH打印机打印机 0FH0FHCPUCPU内部中断内部中断除法出错除法出错 00H00H单步中断单步中断 01H01H断点中断断点中断 03H03H溢出中断溢出中断 04H04H屏幕打印屏幕打印 05H05H保留保留 0606、07H07HBIOSBIOS中断中断 10H-1FH10H-1FHDOSDOS中断中断 20H-2FH20H-2FH一、中断分类181.外部中断:由外部硬件产生,又称硬件中断。(1)可屏蔽中断通过CPU的INTR引脚引入,电平触发,高电平有

12、效,且必须保持到当前指令结束。因为CPU只在每条指令的最后一个时钟周期采样INTR引脚。可屏蔽中断受标志寄存器的IF控制。IF=0时,CPU不响应INTR的中断请求;IF=1时,CPU响应INTR的中断请求,开始一个“中断响应周期”。可以用指令改变IF的状态:STI开中断,CLI关中断。(2)非屏蔽中断通过CPU的NMI引脚引入,上升沿触发,由CPU内部锁存,但要求高电平持续两个时钟周期以上。该中断请求不受中断允许标志位IF控制。无论IF如何,只要NMI信号有效,CPU即在当前指令结束后,响应该中断。NMI中断类型号为2。192.内部中断:由CPU执行指令的产生,又称软件中断。(1)除法出错:

13、 当算术运算中遇到除数为0,或对带符号数进行除法运算时所得商超出规定范围,CPU自动产生该中断,立即转入相应的中断服务程序。该中断类型号为0。(2)单步中断通过受标志寄存器中TF标志位控制。当TF=1,CPU自动产生单步中断。CPU每执行一条指令,就进入一次单步中断服务程序。该中断类型号为1。20(3 3)断点中断)断点中断INTINT在在8086/80888086/8088指令系统中有一条设置程序断点的单字节中断指令系统中有一条设置程序断点的单字节中断指令指令INTINT,类型号为类型号为3 3。执行该指令时,。执行该指令时,CPUCPU产生类型号为产生类型号为3 3的的内部中断,而转去执行

14、一个断点中断服务程序。其功能是显内部中断,而转去执行一个断点中断服务程序。其功能是显示示CPUCPU内容寄存器的内容,并给一些提示信息。内容寄存器的内容,并给一些提示信息。 (4 4)溢出中断)溢出中断INTOINTO在在8086/80888086/8088指令系统中有一条单字节指令指令系统中有一条单字节指令INTOINTO。CPUCPU执行该执行该指令时,指令时,CPUCPU产生产生类型号为类型号为4 4的内部中断。的内部中断。该指令该指令总是跟在带符号数进行加、减运算的指令后面总是跟在带符号数进行加、减运算的指令后面。若。若OF=1OF=1时,执行溢出中断,进入溢出中断服务程序,给出出错时

15、,执行溢出中断,进入溢出中断服务程序,给出出错信息,若信息,若OF=0OF=0(无溢出),也进入该中断服务程序,但只对(无溢出),也进入该中断服务程序,但只对标志位进行测试后,就返回原程序继续执行。标志位进行测试后,就返回原程序继续执行。(5 5)用户定义的软件中断)用户定义的软件中断8086/80888086/8088系统的双字节的指令系统的双字节的指令INT nINT n,可由用户自己定义一,可由用户自己定义一个中断,类型号为个中断,类型号为n n。21内、外部中断的优先权排队 8086/80888086/8088中断系统规定,除了中断系统规定,除了单步中断单步中断以外,以外,所有内所有内

16、部中断的优先权均高于外部中断部中断的优先权均高于外部中断。所有中断的优先权顺序如。所有中断的优先权顺序如表所示。另外,除了表所示。另外,除了单步中断单步中断外,所有内部中断都不能被屏外,所有内部中断都不能被屏蔽。蔽。22二、 中断向量与中断向量表1、定义中断向量:就是中断服务程序的入口地址。中断向量表(IVT):把系统中所有的中断向量集中起来,按中断类型号从小到大的顺序放到存储器的某一个区域内。这个存放中断矢量的存储区为中断向量表。中断描述符、中断描述符表(IDT)232.8086的中断向量表8086/8088CPU的中断向量表占用内存00000H003FFH最低端1KB的存储空间,存放了中断

17、类型号0255共256级中断的入口地址。每个地址占用4个字节,其中低地址的2个字节为IP(偏移地址),高地址的2个字节为CS(段基址)。243.中断向量表的使用CPU响应中断后,首先获得中断类型号n(内部产生或从数据总线读取),再通过类型号n4得到中断向量在中断向量表中的首地址,顺序取出四个内存单元的内容(两个字),把第一个字送入IP,第二个字送入CS,即(IP)(4n+1,4n),(CS)(4n+3,4n+2),从而使程序转向新的地址。在8086/8088CPU的中断向量表中,类型04已由系统定义,用户不能修改。类型531是系统保留的中断,这是intel公司为软硬件开发保留的中断向量号,一般

18、不允许用户改作其他用途。剩下的类型32255,中断向量表地址为00080003FFH,可供用户使用258086引脚26第三节 8259A中断控制器27一、8259A的特性NMOSNMOS工艺,单一工艺,单一+5V+5V电源,全静态工作电源,全静态工作( (无需外加时钟无需外加时钟) )1 1片片8259A8259A能管理能管理8 8级中断级中断可用可用9 9片片8259A8259A级联级联成成6464级主从式中断系统级主从式中断系统具有中断判优、中断屏蔽等功能具有中断判优、中断屏蔽等功能可编程选择不同的工作方式可编程选择不同的工作方式自动向自动向CPUCPU提供中断类型号提供中断类型号28二、

19、二、8259A8259A的内部结构的内部结构数据数据总线总线缓冲器缓冲器读读/写写控制控制逻辑逻辑级联级联缓冲缓冲/比较器比较器中断中断服务服务寄存器寄存器ISR优先级优先级分析器分析器PR中断中断请求请求寄存器寄存器IRR中中 断断 屏屏 蔽蔽 寄寄 存存 器器 IMR 控控 制制 电电 路路 初始化命令初始化命令寄存器组寄存器组操作命令操作命令寄存器组寄存器组D7D0INTAINTA0RDWRCSSP/ ENCAS0CAS1CAS2IRQ0.IRQ729二、二、8259A8259A的内部结构的内部结构数据数据总线总线缓冲器缓冲器读读/写写控制控制逻辑逻辑级联级联缓冲缓冲/比较器比较器中断中

20、断服务服务寄存器寄存器ISR优先级优先级分析器分析器PR中断中断请求请求寄存器寄存器IRR中中 断断 屏屏 蔽蔽 寄寄 存存 器器 IMR 控控 制制 电电 路路 初始化命令初始化命令寄存器组寄存器组操作命令操作命令寄存器组寄存器组D7D0INTAINTA0RDWRCSSP/ ENCAS0CAS1CAS2IRQ0.IRQ7中断请求寄存器中断请求寄存器IRRIRRIRRIRR是是8 8位寄存器,用来接收来自外设中断源的中断请求位寄存器,用来接收来自外设中断源的中断请求。它通过。它通过IR7IR7IR0IR0与与8 8个中断源相连。若个中断源相连。若IRiIRi=1=1时,时,IRRIRR的相应第

21、的相应第i i位置位置1 1。若最多有。若最多有8 8个中断请求信号同时进入个中断请求信号同时进入IR7IR7IR0IR0端,端,IRRIRR全被置全被置1 1。中断屏蔽寄存器中断屏蔽寄存器IMRIMRIMRIMR是是8 8位寄存器,用来屏蔽已被锁存在位寄存器,用来屏蔽已被锁存在IRRIRR中的中断请求信号中的中断请求信号。当当IMRIMR的第的第i i位被置位被置1 1时,相应的时,相应的IRiIRi被屏蔽,不能进入系统的下一级优先权被屏蔽,不能进入系统的下一级优先权处理器去判优,不能向处理器去判优,不能向CPUCPU发出中断请求。发出中断请求。IMRIMR的值可通过软件设置或改变。的值可通

22、过软件设置或改变。30数据数据总线总线缓冲器缓冲器读读/写写控制控制逻辑逻辑级联级联缓冲缓冲/比较器比较器中断中断服务服务寄存器寄存器ISR优先级优先级分析器分析器PR中断中断请求请求寄存器寄存器IRR中中 断断 屏屏 蔽蔽 寄寄 存存 器器 IMR 控控 制制 电电 路路 初始化命令初始化命令寄存器组寄存器组操作命令操作命令寄存器组寄存器组D7D0INTAINTA0RDWRCSSP/ ENCAS0CAS1CAS2IRQ0.IRQ7优先级分析器优先级分析器PRPR PRPR用于判别已进入用于判别已进入IRRIRR中且未被中且未被IMRIMR屏蔽的各中断请求的优先级别。当多个中断请求屏蔽的各中断

23、请求的优先级别。当多个中断请求同时产生时,优先权处理器同时产生时,优先权处理器PRPR根据根据IMRIMR的内容和用户设定的优先级规则,判断这些请求信的内容和用户设定的优先级规则,判断这些请求信号的最高级,向号的最高级,向CPUCPU输出中断请求信号输出中断请求信号INTINT。若。若CPUCPU响应中断,则将它送入中断服务寄存器响应中断,则将它送入中断服务寄存器ISRISR。若。若8259A8259A正为某一中断服务,而又出现新的中断请求,则正为某一中断服务,而又出现新的中断请求,则PRPR判断新的中断请求级别判断新的中断请求级别是否更高。若是,则进入中断嵌套。是否更高。若是,则进入中断嵌套

24、。 中断服务状态寄存器中断服务状态寄存器ISRISR ISRISR是是8 8位寄存器,用来记录位寄存器,用来记录CPUCPU当前正在为当前正在为哪个或哪几个哪个或哪几个中断源服务。当中断源服务。当CPUCPU响应响应IRiIRi请求时,请求时,ISRISR中相应位置中相应位置1 1。当。当ISRISR中的有多个中的有多个“1”1”时,表明时,表明CPUCPU正在为较低中断服务时,正在为较低中断服务时,又有较高的中断请求,又有较高的中断请求,CPUCPU又转去处理较高的中断,形成中断服务嵌套。又转去处理较高的中断,形成中断服务嵌套。31二、二、8259A8259A的内部结构的内部结构数据数据总线

25、总线缓冲器缓冲器读读/写写控制控制逻辑逻辑级联级联缓冲缓冲/比较器比较器中断中断服务服务寄存器寄存器ISR优先级优先级分析器分析器PR中断中断请求请求寄存器寄存器IRR中中 断断 屏屏 蔽蔽 寄寄 存存 器器 IMR 控控 制制 电电 路路 初始化命令初始化命令寄存器组寄存器组操作命令操作命令寄存器组寄存器组D7D0INTAINTA0RDWRCSSP/ ENCAS0CAS1CAS2IRQ0.IRQ7控制逻辑控制逻辑控制逻辑电路中有控制逻辑电路中有七个寄存器七个寄存器,其中,其中ICW1ICW1ICW4ICW4用来存放初始化程序设定的工作方式字、管理用来存放初始化程序设定的工作方式字、管理825

26、9A8259A的的工作;工作;OCW1OCW1OCW3OCW3用来存放操作命令字,对中断处理过用来存放操作命令字,对中断处理过程进行动态控制。程进行动态控制。控制逻辑电路有两个控制作用:一是根据控制逻辑电路有两个控制作用:一是根据IRRIRR,IMRIMR,PRPR的状态,通过的状态,通过INTINT向向CPUCPU请求中断,二是接收请求中断,二是接收来自来自CPUCPU的的INTAINTA信号,使信号,使ISRISR相应位置相应位置1 1,且使,且使IRRIRR相应相应位置位置0 0,避免该中断源一次申请产生两次或两次以上中,避免该中断源一次申请产生两次或两次以上中断。断。328259A的引

27、脚338259A的引脚8259A8259A芯片引脚功能定义如下:芯片引脚功能定义如下:D D7 7D D0 0:双向、三态数据线,可与双向、三态数据线,可与系统的数据总线直接相连。系统的数据总线直接相连。WRWR:写控制信号,输入,低电平有写控制信号,输入,低电平有效。与控制总线上的信号相连。效。与控制总线上的信号相连。RDRD:读控制信号,输入,低电平有读控制信号,输入,低电平有效。与控制总线上的信号相连。效。与控制总线上的信号相连。CSCS:片选信号,输入,低电平有效。片选信号,输入,低电平有效。CPUCPU的高位地址经地址译码电路选中的高位地址经地址译码电路选中它。它。INTINT:中断

28、请求信号,输出,高电中断请求信号,输出,高电平有效。是平有效。是8259A8259A向向CPUCPU输出的中断输出的中断请求。请求。348259A的引脚A0A0:地址选择信号,输入,用来选择内地址选择信号,输入,用来选择内部端口。部端口。8259A8259A只有两个端口地址,常把只有两个端口地址,常把A0=0A0=0所对应的端口称为所对应的端口称为“偶端口偶端口”,把,把A0=1A0=1所对应的端口称为所对应的端口称为“奇端口奇端口”。当当8259A8259A与与8 8位位CPU8088CPU8088相连时,其相连时,其A0A0其可直其可直接与接与80888088的的A0A0线相连。线相连。

29、INTAINTA:中断响应信号,输入,低电平有中断响应信号,输入,低电平有效。接收来自效。接收来自CPUCPU的中断响应信号的中断响应信号INTAINTA。IR7IR7IR0IR0:外设向外设向8259A8259A发出的中断请发出的中断请求信号,输入,高电平有效。接收来自外求信号,输入,高电平有效。接收来自外设接口发出的中断请求。设接口发出的中断请求。 CAS2CAS2CAS0CAS0:级联信号线,双向。当级联信号线,双向。当8259A8259A作为主片时,为输出线;当作为主片时,为输出线;当8259A8259A作作为从片时,为输入线。为从片时,为输入线。 SP/ENSP/EN:主从片设定主从

30、片设定/ /允许缓冲信号,双允许缓冲信号,双向双功能,低电平有效。当向双功能,低电平有效。当8259A8259A工作在工作在缓冲模式时,该引脚输出一个缓冲模式时,该引脚输出一个ENEN信号去控信号去控制外部缓冲器;当制外部缓冲器;当8259A8259A工作在非缓冲模工作在非缓冲模式时,该引脚作为输入用来接收一个式时,该引脚作为输入用来接收一个SPSP,SP=1SP=1表示表示8259A8259A作为主片工作作为主片工作。35三、8259A单独使用时中断响应顺序1 1、IRQ0IRQ0IRQ7IRQ7有中断请求,有中断请求,8259A8259A的的IRRIRR的相应位置的相应位置1 12 2、I

31、RRIRR与与IMRIMR相应位比较后,封锁或发送中断请求给相应位比较后,封锁或发送中断请求给PRPR3 3、PRPR分析后,把当前最高优先级的中断请求由分析后,把当前最高优先级的中断请求由INTINT送至送至CPUCPU4 4、若、若IF=1IF=1,CPUCPU执行完当前指令后,连续发出执行完当前指令后,连续发出2 2个个INTAINTA信号信号5 5、接到第、接到第1 1个个INTAINTA后,后,8259A8259A的的ISRISR和和IRRIRR对应位分别置对应位分别置1 1清清0 06 6、接到第、接到第2 2个个INTAINTA后,后,8259A8259A把中断类型号送上数据总线

32、把中断类型号送上数据总线7 7、CPUCPU将收到的中断类型号乘以将收到的中断类型号乘以4 4,到中断向量表中获取中,到中断向量表中获取中 断向量,转入相应中断服务子程序进行中断处理断向量,转入相应中断服务子程序进行中断处理36四、8259A级联时的中断响应顺序37381 1、外设在从片的、外设在从片的IRQ0IRQ0IRQ7IRQ7产生中断请求产生中断请求2 2、中中断断请请求求被被锁锁存存在在从从片片的的IRRIRR,并并跟跟IMRIMR的的内内容容相相与与,运运算结果发送给优先级分析器算结果发送给优先级分析器PRPR3 3、从从片片的的PRPR分分析析后后,把把当当前前最最高高优优先先级

33、级的的中中断断请请求求交交给给从从片的控制电路片的控制电路4 4、从片的控制电路接受中断请求,向主片输出、从片的控制电路接受中断请求,向主片输出INTINT信号信号5 5、主主片片在在其其IRQIRQ引引脚脚上上收收到到来来自自从从片片的的INTINT信信号号,设设置置对对应应的的IRRIRR位,处理之后向位,处理之后向CPUCPU输出输出INTINT信号信号6 6、CPUCPU接接受受INTINT信信号号,输输出出第第一一个个INTAINTA,进进入入第第一一个个INTAINTA周周期期397 7、主主片片接接到到第第1 1个个INTAINTA后后,从从CAS0-CAS2CAS0-CAS2输

34、输出出请请求求中中断断的的从从片片的地址的地址8 8、随随着着第第一一个个INTAINTA到到达达,主主片片和和从从片片都都将将最最高高优优先先级级对对应应的的IRRIRR清除,并设置对应的清除,并设置对应的ISRISR位位9 9、CPUCPU输输出出第第二二个个INTAINTA,进进入入第第二二个个中中断断响响应应周周期期,从从片片在在这这个周期将中断类型号输出到数据总线个周期将中断类型号输出到数据总线1010、CPUCPU将收到的中断类型号乘以将收到的中断类型号乘以4 4,到中断向量表中获取中,到中断向量表中获取中 断向量,转入相应中断服务子程序进行中断处理断向量,转入相应中断服务子程序进

35、行中断处理40第四节 8259A的工作方式课程公用邮箱:haust_ pwd:cit000042包括:包括:设置优先级的方式设置优先级的方式结束中断的方式结束中断的方式中断屏蔽方式中断屏蔽方式中断触发方式中断触发方式8259A8259A的连接方式的连接方式43一、设置优先级的方式设置优先级的方式(1)完全嵌套方式(固定优先级方式):特点:优先级顺序是固定的,IR0最高,IR7最低设置:通过编程置初始化命令字ICW4中的D4=0,设置该工作方式,默认工作方式。(2)特殊完全嵌套方式特点:与完全嵌套方式基本相同,只是它不仅响应比本级高的,且能够响应同级的中断。设置:通过编程置ICW4中的D4置1,

36、设置。一般用于8259A的级联方式。44(3)优先级自动循环方式特点:初始优先级顺序IR0最高,IR7最低。当其中一个中断源受到服务,则它为最低优先权。同时置比它低一级中断源为最高级,其它自动循环排列。设置:通过编程置操作命令字OCW2的D7D6=10,设置该工作方式。(4)优先级指定(特殊)循环方式特点:将某一中断源指定为最低优先权,则比它低一级中断源为最高级,其它顺序排列。如:指定IR3为最低,则优先级顺序为IR4,IR5,IR6,IR7,IR0,IR2,IR3。设置:通过编程置OCW2的D7D6=11设置此方式。同时D1D0指定最低优先权中断源。45二、结束中断的方式二、结束中断的方式结

37、束中断处理是将中断服务寄存器(ISR)中对应的位置0。(1)自动中断结束方式(AEOI):特点:只适用于一片只适用于一片8259A8259A且不会发生中断嵌套的情况下且不会发生中断嵌套的情况下。中断服务寄存器(ISR)中的中断源对应位在8259A收到第二个INTA时清0,但正在处理的中断服务程序可能并没有结束。设置:通过编程置ICW4的D1=1实现。(2)一般中断结束方式(EOI):特点:中断服务程序在IRET前必须先向8259A送EOI命令,使当前中断服务使当前中断服务寄存器(寄存器(ISRISR)中优先权级别最高的对应位清)中优先权级别最高的对应位清0 0。设置:通过编程置初始化命令字IC

38、W4的D1=0设置。通过编程置操作命令字OCW2的D7D6D5=001,执行输出命令,实现中断结束。(3)特殊中断结束方式(SEOI):特点:使使指定的指定的中断服务寄存器(中断服务寄存器(ISRISR)中的中断源对应位清)中的中断源对应位清0 0,即结束。设置:通过编程置ICW4的D1=0设置。编程置操作命令字OCW2的D6D5=11,D2D1D0给出想结束的中断源号,使其结束。46三、中断屏蔽方式三、中断屏蔽方式由由8259A8259A的内部屏蔽寄存器的内部屏蔽寄存器IMRIMR决定。有一般屏蔽方式和特殊屏蔽方式两决定。有一般屏蔽方式和特殊屏蔽方式两种。种。(1 1)一般屏蔽方式)一般屏蔽

39、方式特点:使某些中断源可以申请服务,某些被屏蔽不能申请中断服务。特点:使某些中断源可以申请服务,某些被屏蔽不能申请中断服务。设置:通过编程置操作命令字设置:通过编程置操作命令字OCW1OCW1的相应位为的相应位为1 1,则使对应中断源被屏蔽。,则使对应中断源被屏蔽。为为0 0,则使对应中断源不被屏蔽。用输出命令将,则使对应中断源不被屏蔽。用输出命令将OCW1OCW1写入写入IMRIMR中实现。中实现。(2 2)特殊屏蔽方式)特殊屏蔽方式特点:屏蔽当前正在处理的中断级,使其它任何未被特点:屏蔽当前正在处理的中断级,使其它任何未被IMRIMR屏蔽的中断源能屏蔽的中断源能够申请中断。够申请中断。尽管

40、系统正在处理高级中断,但对外界来讲,只有同级中尽管系统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它断被屏蔽,而允许其它任何级别任何级别的中断请求。的中断请求。设置:设置:在中断服务程序中在中断服务程序中置置OCW3OCW3的的D6D5=11D6D5=11,然后写,然后写OCW1OCW1。中断服务程序。中断服务程序结束之前,必须恢复结束之前,必须恢复OCW3OCW3和和OCW1OCW1。47四、中断触发方式四、中断触发方式(1)电平触发特点:IR7IR0的中断申请端出现高电平,触发中断服务。响应后,必须撤除申请(变回低电平),否则发生二次中断申请。设置:编程置初始化命令字ICW

41、1的D3=1,进入工作方式。(2)边沿触发设置:编程置初始化命令字ICW1的D3=0,进入工作方式。特点:IR7IR0的中断申请端由低电平跳变跳变为高电平时,并保持一定时间后触发中断服务。申请端可以一直保持高电平,不会误判。48五、五、8259A的连接方式的连接方式(1)缓冲方式特点:8259A通过总线驱动器和数据总线相连。此时8259A的SP/EN引脚输出低电平作为启动信号。多用于多片级联的大系统中。设置:编程置初始化命令字ICW4的D3=1,进入工作方式。(2)非缓冲方式特点:8259A直接和数据总线相连。1片或几片时用。设置:编程置初始化命令字ICW4的D3=0,进入工作方式。4950第

42、五节 8259A的命令字51初始化命令字初始化命令字ICW1ICW4ICW1ICW4,它通常是计算机系统启,它通常是计算机系统启动时由初始化程序设置的,一旦设定一般在系统运动时由初始化程序设置的,一旦设定一般在系统运行过程中不再改变。行过程中不再改变。操作命令字操作命令字0CW1OCW30CW1OCW3,它是由应用程序设定,用,它是由应用程序设定,用来对中断处理过程进行动态控制,可以随时、单独来对中断处理过程进行动态控制,可以随时、单独使用。使用。52A0 0 0D1D1D0D0D2D2D3D31 1D5D5D6D6D7D7单片单片1 1级联级联0 0不写不写0 0写写1 1是否写是否写ICW

43、4ICW4D0D0边沿触发边沿触发0 0电平触发电平触发1 1触发方式触发方式D3D34 41 18 80 0注注:80x86:80x86系统不用此位系统不用此位调用地址间隔调用地址间隔D2D2中断向量地址的中断向量地址的A7A6A5A7A6A5注注:80x86:80x86系统不用此位系统不用此位D7D6D5D7D6D5特征位特征位 一、初始化命令字一、初始化命令字 ICW1 ICW1 芯片控制命令字芯片控制命令字 ICW2 ICW2 中断类型号命令字中断类型号命令字 ICW3 ICW3 主主/ /从片级联命令字从片级联命令字 ICW4 ICW4 方式控制命令字方式控制命令字怎样识别怎样识别I

44、CW1ICW1?1.D41.D4位是位是1 12.2.写入写入8259A8259A的偶地址的偶地址53一、初始化命令字一、初始化命令字 ICW1 ICW1 芯片控制命令字芯片控制命令字 ICW2 ICW2 中断类型号命令字中断类型号命令字 ICW3 ICW3 主主/ /从片级联命令字从片级联命令字 ICW4 ICW4 方式控制命令字方式控制命令字D1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D7中断向量地址中断向量地址A15A8A15A8D7D7D0D0中断向量码的高中断向量码的高5 5位位D7D7D3D3D2D1D0D2D1D0在在8086/80888086/8088系统中系统

45、中在在8080/80858080/8085系统中系统中111111IR7IR7110110IR6IR6101101IR5IR5100100IR4IR4011011IR3IR3010010IR2IR2001001IR1IR1000000则则自自动动填填入入IR0IR0D2D1D0D2D1D0IRiIRi 若若有请求有请求PC系统中,硬盘的中断类型号高5位是00001B,它的中断请求线接在8259A的IRQ5上,那么硬盘的中断类型号是多少?00001101B=0DHA0 1 154一、初始化命令字一、初始化命令字 ICW1 ICW1 芯片控制命令字芯片控制命令字 ICW2ICW2 中断类型号命令字

46、中断类型号命令字 ICW3 ICW3 主主/ /从片级联命令字从片级联命令字 ICW4 ICW4 方式控制命令字方式控制命令字D1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D71=相应的IRQ引脚上接有从片0=相应的IRQ引脚上未接从片主片主片的ICW3:A0 1 1从片从片的ICW3:D1D1D0D0D2D20 00 00 00 00 0111111IR7IR7110110IR6IR6101101IR5IR5100100IR4IR4011011IR3IR3010010IR2IR2001001IR1IR1000000IR0IR0D2D1D0D2D1D0接在主片的不用5501000

47、1000 0 0 0 0 1 1 1 1 0 00 0 0 0 0 0 0 1 1 0 012342827262556782423222191011122019181713161415主片8259AVCCA0INTAIR7IR6IR4IR5IR3IR2IR0IR1INTSP/ENCAS2CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINT从片A8259A从片B8259AINT主片的主片的ICW3=ICW3=?从片从片B B的的ICW3 =ICW3 =?从片从片A A的的ICW3=ICW3=?56一、初始化命令字一、初始化命令字 ICW1 ICW1 芯片控制命令字芯片控制命令

48、字 ICW2ICW2 中断类型号命令字中断类型号命令字 ICW3 ICW3 主主/ /从片级联命令字从片级联命令字 ICW4 ICW4 方式控制命令字方式控制命令字A0 1 1D1D1D0D0D2D2D3D3D4D40 00 00 08080/80858080/8085模式模式0 080x8680x86模式模式1 1完全嵌套方式完全嵌套方式0 0特殊完全嵌套方式特殊完全嵌套方式1 1自动自动EOIEOI1 1正常正常EOIEOI0 0缓冲方式缓冲方式/ /主片主片1010非缓冲方式非缓冲方式00缓冲方式缓冲方式/ /从片从片1111D3D2D3D2特征位特征位 怎样识别ICW4?1.D7-D5

49、位全是02.紧随ICW2或ICW3写入8259A的奇地址57二、操作方式命令字二、操作方式命令字 OCW1OCW1(中断屏蔽字)(中断屏蔽字) OCW2OCW2 OCW3 OCW3D1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D7中断屏蔽操作控制字中断屏蔽操作控制字屏蔽屏蔽1 1允许允许0 0是否屏蔽是否屏蔽 IRiIRi 中断请求中断请求DiDiA0 1 158二、操作方式命令字二、操作方式命令字 OCW1OCW1 OCW2 OCW2优先级循环及优先级循环及中断结束方式字中断结束方式字 OCW3OCW3D7D6D5D7D6D5操作功能0 00 01 1复位ISR,正常优先级方式

50、(IRQ0127)0 01 11 1复位由D2-D0指定的ISR位1 10 01 1复位ISR,优先级自动循环1 11 11 1优先级循环,且D2-D0指定的IRQ优先级最低,复位D2-D0指定的ISR位0 00 00 0优先级不循环,即正常优先级方式。不复位ISR1 10 00 0优先级循环1 11 10 0优先级循环,且由D2-D0指定的IRQ优先级最低0 01 10 0无效D1D1D0D0D2D20 00 0D5D5D6D6D7D7中断结束及优先级循环操作控制字中断结束及优先级循环操作控制字固定优先级固定优先级0 0优先级循环优先级循环1 1不复位不复位ISRISR0 0复位复位ISRI

51、SR1 1D2D1D0D2D1D0无效无效0 0D2D1D0D2D1D0有效有效1 1A0 0 0标志位标志位 111111IR7IR7110110IR6IR6101101IR5IR5100100IR4IR4011011IR3IR3010010IR2IR2001001IR1IR1000000IR0IR0D2D1D0D2D1D0最低最低优先级优先级编码编码59二、操作方式命令字二、操作方式命令字 OCW1OCW1 OCW2 OCW2 OCW3 OCW3(特殊屏蔽及读(特殊屏蔽及读82598259内部寄存器命令)内部寄存器命令)A0 0 0非非查询方式查询方式0 0查询方式(读偶地址)查询方式(读

52、偶地址)1 1随后读随后读IRRIRR1010不读不读 00随后读随后读ISRISR1111是否读寄存器是否读寄存器D1D0D1D0D1D1D0D0D2D21 10 0D5D5D6D6屏蔽及读状态控制字屏蔽及读状态控制字标志位标志位 特殊屏蔽:屏蔽当前正在处理特殊屏蔽:屏蔽当前正在处理的中断级。的中断级。结果:使未被结果:使未被IMRIMR屏蔽的中断屏蔽的中断(包括低优先级的包括低优先级的)源能)源能够申请中断够申请中断D6D5意义11特殊屏蔽10不设置特殊屏蔽如果如果D2=D1=1D2=D1=1则查询优先于读取则查询优先于读取60若送如下格式的若送如下格式的OCW3OCW3给给8259A82

53、59A,则使,则使8259A8259A设置为设置为查询方查询方式式:CPUCPU不再从不再从INTRINTR接受中断请求,而是由程序向接受中断请求,而是由程序向8259A8259A查询查询有无中断请求并获得最高优先级的中断请求有无中断请求并获得最高优先级的中断请求0 00 01 11 10 00 00 00 0OCW3OCW3OUTOUT20H,00001100B20H,00001100B; ;设置设置8259A8259A为查询方式为查询方式ININAL,20HAL,20H; ;程序读取中断请求程序读取中断请求W1W1W0W0W2W2X XX XX XX XI IALAL若若I=1I=1,则有

54、中断请求,且最高中断级由,则有中断请求,且最高中断级由W2W1W0W2W1W0给出。给出。假设假设 IR4IR5IR4IR5.IR3.IR3,如果,如果IR4IR4和和IR1IR1同时提同时提交中断请求,则交中断请求,则W2W1W0W2W1W0应为应为100100若若I=0I=0,则无中断请求,则无中断请求61二、操作方式命令字二、操作方式命令字 OCW1OCW1 OCW2 OCW2 OCW3 OCW3(特殊屏蔽及读(特殊屏蔽及读82598259内部寄存器命令)内部寄存器命令)A0 0 0非非查询方式查询方式0 0查询方式(读偶地址)查询方式(读偶地址)1 1随后读随后读IRRIRR1010不

55、读不读 00随后读随后读ISRISR1111是否读寄存器是否读寄存器D1D0D1D0D1D1D0D0D2D21 10 0D5D5D6D6屏蔽及读状态控制字屏蔽及读状态控制字标志位标志位 特殊屏蔽:屏蔽当前正在处理特殊屏蔽:屏蔽当前正在处理的中断级。的中断级。结果:使未被结果:使未被IMRIMR屏蔽的中断屏蔽的中断(包括低优先级的包括低优先级的)源能)源能够申请中断够申请中断D6D5意义11特殊屏蔽10不设置特殊屏蔽如果如果D2=D1=1D2=D1=1则查询优先于读取则查询优先于读取62读读IRRIRR(中断请求寄存器)(中断请求寄存器)MOVMOVAL,00001010BAL,00001010

56、BOUTOUT20H,AL20H,ALININAL,20HAL,20H;AL;AL中是中是IRRIRR的内容的内容读读ISRISR(中断服务寄存器)(中断服务寄存器)MOVMOVAL,00001011BAL,00001011BOUTOUT20H,AL20H,ALININAL,20HAL,20H;AL;AL中是中是ISRISR的内容的内容读读IMRIMR(中断屏蔽寄存器)(中断屏蔽寄存器)ININAL,21HAL,21H63D1D1D0D0D2D2D3D31 1D5D5D6D6D7D7 A0 0 0D1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D7D1D1D0D0D2D2D3D3D

57、4D4D5D5D6D6D7D71 11 1D1D1D0D0D2D2D3D3D4D40 00 00 01 1D1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D71 1D1D1D0D0D2D20 00 0D5D5D6D6D7D70 00 0D1D1D0D0D2D21 10 0D5D5D6D6ICW1ICW1触发方式及是否级联ICW2ICW2中断类型号ICW3ICW3主从片级联设置ICW4ICW4嵌套缓冲EOIOCW1OCW1中断屏蔽字OCW2OCW2优先级循环及中断结束OCW3OCW3特殊屏蔽及读寄存器64第六节 8259A的初始化编程658259A初始化的一般流程写写ICW4N需需I

58、CW4?准备接收中断请求准备接收中断请求写写ICW3Y级级联?联?写写ICW1Y写写ICW2N66例1:旧式的XT机只使用一片8259A,特点如下:1.提供8级向量中断2.端口地址020H和021H3.中断请求为边沿触发4.采用全嵌套方式,优先级排列顺序为IRQ0175.采用非缓冲方式连接6.其8个中断源的中断类型号为08H0FH分析:分析:ICW1 ICW1 00010011B 00010011B 13H 13H ICW2 ICW2 00001000B 00001000B 08H08H ICW4 ICW4 00000001B 00000001B 01H01H编程:编程:MOVMOVAL,AL

59、,13H13HOUTOUT20H20H, ,ALALMOVMOVAL,AL,08H08HOUTOUT21H21H, ,ALALMOVMOVAL,AL,01H01HOUTOUT21H21H, ,ALAL 67例2:i865主板上使用两片82C59A(类似8259A)级联管理中断,特点如下:1.提供15级向量中断2.主片端口地址020H和021H,从片A0H、A1H3.中断请求为边沿触发4.采用全嵌套方式,优先级排列顺序为IRQ018-15375.采用非缓冲方式连接6.其8个中断源的中断类型号为08H0FH,从片为70H77H主片:主片:ICW1ICW111H ICW211H ICW208H08H

60、ICW3=ICW3= 04H 04H ICW4ICW401H01H编程:编程: MOV AL,11HMOV AL,11HOUT 20H,ALOUT 20H,ALMOV AL,08HMOV AL,08HOUT 21H,ALOUT 21H,ALMOV AL,04HMOV AL,04HOUT 21H,ALOUT 21H,ALMOV AL,01HMOV AL,01HOUT 21H,ALOUT 21H,AL从片的INT接在主片的哪个引脚上了?从片:从片:ICW1ICW111H ICW211H ICW270H70HICW3=ICW3= 02H 02H ICW4ICW401H01H编程:编程: MOV AL

61、,11HMOV AL,11HOUT A0H,ALOUT A0H,ALMOV AL,08HMOV AL,08HOUT A1H,ALOUT A1H,ALMOV AL,04HMOV AL,04HOUT A1H,ALOUT A1H,ALMOV AL,01HMOV AL,01HOUT A1H,ALOUT A1H,AL68作业教材P162,第1、7、10题1.什么是中断?7.试述86系列CPU响应中断而转入中断服务程序的过程。10.8259A只有两个口地址,它如何识别给它的4个ICW命令和3个OCW命令?69计算机设备占用的中断708086引脚718259A中断响应顺序728259A级联73磁带机74磁带

62、机75磁带机7677例1电路图78ICW1=00010011B=13HA0 0 0D1D1D0D0D2D2D3D31 1D5D5D6D6D7D7单片单片1 1级联级联0 0不写不写0 0写写1 1是否写是否写ICW4ICW4D0D0边沿触发边沿触发0 0电平触发电平触发1 1触发方式触发方式D3D34 41 18 80 0注注:80x86:80x86系统不用此位系统不用此位调用地址间隔调用地址间隔D2D2中断向量地址的中断向量地址的A7A6A5A7A6A5注注: :只用于只用于8080/80858080/8085系统中系统中D7D6D5D7D6D5特征位特征位 798个中断的类型号为08H0F

63、H=00001000B00001111B故:ICW2=00001000B=08HD1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D7中断向量地址中断向量地址A15A8A15A8D7D7D0D0中断向量码的高中断向量码的高5 5位位D7D7D3D3D2D1D0D2D1D0在在8086/80888086/8088系统中系统中在在8080/80858080/8085系统中系统中111111IR7IR7110110IR6IR6101101IR5IR5100100IR4IR4011011IR3IR3010010IR2IR2001001IR1IR1000000则则自自动动填填入入IR0IR0D

64、2D1D0D2D1D0IRQiIRQi 若若有请求有请求80ICW4=00000001B=01HD1D1D0D0D2D2D3D3D4D40 00 00 0A0 1 18080/80858080/8085模式模式0 080x8680x86模式模式1 1完全嵌套方式完全嵌套方式0 0特殊完全嵌套方式特殊完全嵌套方式1 1自动自动EOIEOI1 1正常正常EOIEOI0 0缓冲方式缓冲方式/ /主片主片1010非缓冲方式非缓冲方式00缓冲方式缓冲方式/ /从片从片1111触发方式触发方式D3D2D3D2特征位特征位 81例2电路图82主片:ICW1=00010001B=11H从片:ICW1=0001

65、0001B=11HA0 0 0D1D1D0D0D2D2D3D31 1D5D5D6D6D7D7单片单片1 1级联级联0 0不写不写0 0写写1 1是否写是否写ICW4ICW4D0D0边沿触发边沿触发0 0电平触发电平触发1 1触发方式触发方式D3D34 41 18 80 0注注:80x86:80x86系统不用此位系统不用此位调用地址间隔调用地址间隔D2D2中断向量地址的中断向量地址的A7A6A5A7A6A5注注: :只用于只用于8080/80858080/8085系统中系统中D7D6D5D7D6D5特征位特征位 83主片:8个中断的类型号为08H0FH=00001000B00001111B故:I

66、CW2=00001000B=08H从片:70H77H70H77H=01110000B01110111B故:ICW2=01110000B=70HD1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D7中断向量地址中断向量地址A15A8A15A8D7D7D0D0中断向量码的高中断向量码的高5 5位位D7D7D3D3D2D1D0D2D1D0在在8086/80888086/8088系统中系统中在在8080/80858080/8085系统中系统中111111IR7IR7110110IR6IR6101101IR5IR5100100IR4IR4011011IR3IR3010010IR2IR20010

67、01IR1IR1000000则则自自动动填填入入IR0IR0D2D1D0D2D1D0IRQiIRQi 若若有请求有请求84D1D1D0D0D2D2D3D3D4D4D5D5D6D6D7D71=相应的IRQ引脚上接有从片0=相应的IRQ引脚上未接从片主片的ICW3:从片的ICW3:D1D1D0D0D2D20 00 00 00 00 0111111IR7IR7110110IR6IR6101101IR5IR5100100IR4IR4011011IR3IR3010010IR2IR2001001IR1IR1000000IR0IR0D2D1D0D2D1D0接在接在主片的主片的A0 1 1主片ICW3=00000100B=04H从片ICW3=00000010B=02H85主、从片:ICW4=00000001B=01HD1D1D0D0D2D2D3D3D4D40 00 00 0A0 1 18080/80858080/8085模式模式0 080x8680x86模式模式1 1完全嵌套方式完全嵌套方式0 0特殊完全嵌套方式特殊完全嵌套方式1 1自动自动EOIEOI1 1正常正常EOIEOI0 0缓冲方式缓冲方式/ /主片主片1010非缓冲方式非缓冲方式00缓冲方式缓冲方式/ /从片从片1111触发方式触发方式D3D2D3D2特征位特征位 868086/8088中断响应需要两个总线周期87

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号