微机原理与接口技术 ch8中断

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第五章中断系统及中断控制器微机接口技术及通讯第五章中断系统及中断控制器2【主要内容】5.1计算机中断系统5.28086的中断方式5.38259A中断控制器5.4应用及举例第五章中断系统及中断控制器31.熟悉8088/8086的中断类型、中断响应过程、中断向量表2.掌握内部中断服务程序的编写3.理解8259A的内部结构、寄存器作用、中断过程4.掌握8259A的普通全嵌套优先权、普通中断结束、边沿触发方式5.了解的8259A的ICW和OCW,注意命令字和状态字的区别方法6.了解8259A在IBMPC系列机上的应用情况7.掌握外部中断服务程序的编写【学习目的】第五章中断系统及中断控制器48088CPU的中断系统中断服务程序的编写中断控制器8259A的作用【学习重点】第五章中断系统及中断控制器55.1计算机中断系统5.1.1中断的作用(1)并行操作,提高工作效率CPU与外设同时工作,多个外设同时工作。(2)实现实时处理在控制系统中,有些参量要求计算机能快速处理,用中断方式很容易实现。(3)故障处理出现故障,提出中断申请,要求计算机及时响应。第五章中断系统及中断控制器65.1.2中断源引起中断的原因或能发出中断申请的来源。(1)一般的输入输出设备键盘,打印机,鼠标等。(2)数据通道中断源软盘,硬盘等。(3)实时时钟用外部时钟定时发出中断信号,由CPU进行处理。5.1计算机中断系统第五章中断系统及中断控制器75.1.2中断源(4)故障源(a)外设故障电源掉电,运行超限等。(b)计算机故障内存出错,输入输出出错等。(5)测试程序时设置的中断源硬件断点:硬件调试器软件断点:INT03H调试程序应支持单步运行和断点运行5.1计算机中断系统第五章中断系统及中断控制器85.1.3中断系统功能(1)实现中断及返回(a)检测中断(每个指令最后一个时钟周期)中断源发出中断申请,CPU中断开放情况下可检测到中断源。(b)响应中断时要保护断点和现场断点自动保护,现场要在中断服务程序中保护。注意:在编制中断服务程序时一定要保护现场。CS:IPCS:IP+1中断服务程序5.1计算机中断系统第五章中断系统及中断控制器95.1.3中断系统功能(c)中断服务完成时要撤消中断申请信号(d)中断处理完成后要恢复现场和断点,返回原程序继续执行。5.1计算机中断系统第五章中断系统及中断控制器105.1计算机中断系统5.1.3中断系统功能(2)对中断进行控制一般中断系统中计算机都可对中断申请进行控制。(a)对中断申请进行控制一个输入设备中断接口电路CQD+5V0160HD0AA中断允许触发器B中断申请触发器DCQRB地址译码器INTR0162HIOWA15|A0IORINTA缓冲器缓冲器中断类型码(0FH)三态三态D7~D0数据EOC外设第五章中断系统及中断控制器115.1计算机中断系统5.1.3中断系统功能说明:(1)外设准备好数据发EOC信号(负脉冲),把数据放到接口线上,同时置“1”中断申请触发器。(2)执行指令MOVAL,01HMOVDX,0160HOUTDX,AL则中断允许触发器为“1”,中断开放。此时INTR为高电平,向CPU发中断申请。第五章中断系统及中断控制器125.1.3中断系统功能若禁止中断,则执行如下程序段:MOVAL,00HMOVDX,0160HOUTDX,AL(3)INTR为高电平,若CPU中断开放(IF为“1”),则响应中断。在中断响应周期,INTA有效两次,读取中断类型码,清除中断申请触发器。(4)在中断服务程序中读取外设数据MOVDX,0162HINAL,DX5.1计算机中断系统第五章中断系统及中断控制器135.1.3中断系统功能(b)对响应中断控制8086CPU内的标志寄存器Flag中有一个中断标志位IF,由它控制CPU是否查询INTR引脚。STIIF=1允许中断CLIIF=0禁止中断5.1计算机中断系统第五章中断系统及中断控制器145.1.3中断系统功能(3)能实现优先权排队(a)多个中断源申请中断时的优先权。多个中断源申请中断时,CPU根据预先设定的优先权,先为高级中断服务,然后再为低优先级中断服务。(b)高级中断能中断低级中断实现中断嵌套。CPU在处理中断时,如果有高级中断申请,则CPU停止现行中断处理,转去响应高级中断,然后再去处理原先的中断。如果有低级中断申请则不予响应。5.1计算机中断系统第五章中断系统及中断控制器155.1.3中断系统功能(4)寻找中断源有中断申请则查找中断源,决定中断服务程序入口地址。(a)预先约定一有中断申请则转到固定地址执行中断服务程序。电路简单,但一般只能为一个中断源服务。(b)查询在中断服务程序中查询中断源。(c)应答方式(矢量中断)响应中断时CPU发中断响应信号,中断源收到此信号发出中断类型码,CPU根据中断类型码决定中断服务程序入口地址。5.1计算机中断系统第五章中断系统及中断控制器165.1.3中断系统功能(5)中断优先权及中断源的查找(a)软件查询CPU响应中断后用软件查询哪个外设申请中断。查询程序:5.1计算机中断系统第五章中断系统及中断控制器17A15A0~译码器地址IORINTRD7~D0源ABCDEFGH20H三态缓冲器中断申请触发器第五章中断系统及中断控制器185.1.3中断系统功能INAL,20HLEABX,BRNTABCIRCLE:SHRAL,1JCGETABADDBX,2ORAL,ALJNZCIRCLEJMPERRORGETAB:JMPCS:[BX]BRNTABDWSUB1,SUB2DWSUB3,SUB4DWSUB5,SUB6DWSUB7,SUB85.1计算机中断系统查询方法优点:1、查询次序即是优先权次序。2、省硬件,不需要硬件排队电路。缺点:转至服务程序入口时间长。第五章中断系统及中断控制器195.1.3中断系统功能(b)链式优先权排队电路(如图所示)外设2IEIIEO接口2外设1IEIIEO接口1SEL1外设3IEIIEO接口3SEL2SEL3+5VD7~D0INTAINTIORIOW5.1计算机中断系统第五章中断系统及中断控制器205.1.3中断系统功能说明:(1)每个接口都有一个中断允许输入IEI和中断允许输出IEO.只有IEI为高电平才允许该片发中断申请。(2)IEO=IEI•HELPHELP表示该设备需要服务。(3)每个接口芯片的中断申请输出为OC门,具有负逻辑的“线或”关系。(4)响应中断时由INTA从接口读取中断矢量。5.1计算机中断系统第五章中断系统及中断控制器215.1计算机中断系统5.1.3中断系统功能(c)中断优先权编码电路(如图所示)中断请求寄存器中断服务寄存器优先权编码器优先权编码器B2B1B0A2A1A0AB比较器INTIR0IR1IR2IR3IR4IR5IR6IR7第五章中断系统及中断控制器225.1.3中断系统功能说明:(1)中断请求寄存器由IR0~IR7可分别引入8个外设的中断请求。(2)优先权编码器把当前最高优先级的输入编码输出。(3)中断服务寄存器记录正在服务的中断申请。(4)中断申请的最高级与正在服务的最高级比较,只有申请级高于服务级才能提出中断申请(INT)。5.1计算机中断系统第五章中断系统及中断控制器235.2.18086的中断8086CPU中断有两类:软件中断——由指令执行引起的中断。硬件中断——由外部请求引起的中断。INT3指令INTO指令INT4断点单步中断INT1除数为0INT0INTn指令中断逻辑NMIINTR非屏蔽中断可屏蔽中断外设提供中断号INT25.28086的中断方式第五章中断系统及中断控制器245.2.18086的中断(1)外部中断(a)可屏蔽中断中断申请输入端为INTR,高电平有效。CPU在每一条指令最后一个T状态检测该引脚。在CPU内部该引脚受IF控制。CPU响应中断后INTA有效两次,从外设端口读取中断矢量,确定中断号。(b)非屏蔽中断输入引脚NMI上升沿有效。非屏蔽中断不受CPU控制,有申请一般都要响应。CPU响应非屏蔽中断转向2号中断(INT2)。非屏蔽中断一般用于非常事件。PC/XT机中用于系统板上RAM奇偶错,I/O通道奇偶错和8087异常中断。5.28086的中断方式第五章中断系统及中断控制器255.2.18086的中断(2)内部中断(a)DIV和IDIV指令若除数为0或商超过寄存器所能表达的范围,则产生类型为0的内部中断。(b)INT指令执行INTn指令引起的中断。(c)INTO指令若OF=1则指令INTO引起类型为4的内部中断。(d)单步中断若TF=1则CPU每执行完一条指令产生类型为1的内部中断。5.28086的中断方式第五章中断系统及中断控制器26外部中断是由于8088外部提出中断请求引起的程序中断利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件外部中断的原因是处理器外部随机产生的,所以是真正的中断(Interrupt)内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(Exception)补充说明:外部中断第五章中断系统及中断控制器27非屏蔽中断通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断8088的非屏蔽中断的向量号为2,非屏蔽中断请求信号为NMI非屏蔽中断主要用于处理系统的意外或故障。例如:电源调电前的数据保护存储器读写错误的处理第五章中断系统及中断控制器28可屏蔽中断外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断8088的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器8088通常需要配合中断控制器8259A共同处理可屏蔽中断可屏蔽中断主要用于主机与外设交换数据第五章中断系统及中断控制器295.2.2中断向量表8086CPU在内存的前1KB(地址00000H~003FFH)建立一个中断向量表,存放256个中断服务程序的入口地址,每个地址占4个字节。前两个字节为中断服务程序偏移地址IP,后两个字节为段地址CS。中断号乘以4得到中断服务程序入口地址的地址。类型255指针除数为0单步非屏蔽断点溢出003FCH00000H00004H00008H0000CH00010HCSIP段地址偏移量5.28086的中断方式第五章中断系统及中断控制器305.2.3中断响应过程CPU得到中断类型码后,执行如下操作:(1)将类型码乘4,作为中断向量表的指针。(2)把标志寄存器入栈。(3)复制TF,清IF和TF,屏蔽新的INTR申请和单步中断。(4)保护断点(CS和IP进栈)。(5)从中断向量表中取中断服务程序入口地址,分别送CS和IP。(6)按新地址执行中断服务程序。5.28086的中断方式第五章中断系统及中断控制器315.3.1INTEL8259A结构与功能(1)功能简介Intel8259是与8080/8085系列以及8086/8088系列兼容的可编程的中断控制器。(1)具有8级优先权控制,通过级联可扩展至64级优先权控制。(2)每一级中断都可以屏蔽和允许。(3)中断响应时提供中断向量。(4)中断申请可以由电平触发,也可由边沿触发。(5)有多种工作方式。5.3中断控制器INTEL8259A第五章中断系统及中断控制器32INTAINT数据总线缓冲器读/写控制逻辑级连缓冲比较SP/EN控制电路控制逻辑初始化命令寄存器组操作命令寄存器组中断请求寄存器(IRR)IR0IR1IR2IR3IR4IR5IR6IR7中断服务寄存器(ISR)中断优先级分析器中断屏蔽寄存器(IMR)D7~D0RDWRCSA0CAS1CAS2CAS05.3.1INTEL8259A结构与功

1 / 102
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功