微机原理(第三版)第6章中断技术2

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

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

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

资源描述

掌握:•中断的基本概念•中断响应的一般过程•中断向量表及其初始化•8088/8086中断系统6-4中断技术中断过程1.中断请求2.中断优先级排队3.中断响应4.中断处理(服务)5.中断返回请看下页流程图中断服务入口中断请求中断返回主程序6-4中断技术CPU#1中断源中断系统中断请求INTR#2中断源#3中断源转中断服务程序A保护现场中断服务恢复现场开中断返回A取下一条指令INTR=1?INTA=0IF=0堆栈FLAGS堆栈CS:IPSTIIFF=1IRETCS:IP入口中断处理6-4中断技术有中断?关中断保存FLAGS保护断点取得入口地址N当前指令结束开中断?N开中断关中断中断响应中断判优中断返回中断请求NMI中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n43012内外中断共计256个中断源6-580X86中断系统一、8086/8088中断源类型:中断优先级原则:单步最低,内部高于外部、类型码越小优先级越高INTRINTA查询中断的顺序,决定了各种中断源的优先权•软件中断–除法错中断–指令中断–溢出中断•非屏蔽中断•可屏蔽中断•单步中断6-580X86中断系统二、中断向量与中断向量表•中断向量:中断程序的入口地址•中断向量表:存放中断向量的内存区域从内存00000H到003FFH,共计1KB┇┇0#入口0000:0000H0000:03FFH中断向量表1#入口2#入口255#入口00H~04H08H~0FH10H~1FH20H~3FH40H~FFH专用硬件专用BIOS专用DOS专用用户•结论:•中断向量在中断向量表中的地址确定:=0000:中断类型码×4INT0INT11000:2050H0000:0000H0000:0004H类型0入口类型1入口中断程序0000:0120H0121H0122H0123HINT48HINTPROC6-580X86中断系统问题:已知中断类型码48H,中断向量为INTPROC则该中断向量在中断向量表中的地址为:(中断类型48H)48H×4=0120H502000106-580X86中断系统三中断向量表的初始化INT0INT11000:2050H0000:0000H0000:0004H类型0入口类型1入口中断程序502000100000:0120H0121H0122H0123HINT48HINTPROCMOVAX,0000HMOVDS,AXMOVBX,OFFSETINTPROCMOV[0120H],BXMOVBX,SEGINTPROCMOV[0122H],BX(中断类型48H)(将中断向量放到中断向量表中)•例2:若中断类型号为3,则由中断类型号取得中断服务入口地址的过程如下图所示:00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址内存高地址1E000H+0A00H1EA00H中断类型号3×4=000CH…….00(IPL)0A(IPH)00(CSL)1E(CSH)…....中断服务程序四、8086中断响应过程:6-580X86中断系统1、CPU响应中断需要得到中断类型码2、不同类型的中断提供中断类型码的方式不同;•NMI及内部中断的类型码由CPU自动提供,没有中断响应周期;•INTR的类型码由中断控制器提供8259A8086CPU中断控制电路中断类型码INTRINTAIR0IR1IR76-6可编程中断控制器8259A一、功能1、单片8259A可对8个中断源控制,9片级联可扩展到64级;2、能向CPU提供中断类型码;3、可通过编程选择多种工作方式6-6可编程中断控制器8259A二、内部结构IR0IR1IR7INTINTAD7~D0RDWRA0CSCAS0CAS1CAS2SP/EN数据总线缓冲器读/写逻辑级连缓冲/比较器在服务寄存器ISR(8)优先权电路PR(8)中断请求寄存器IRR(8)中断屏蔽寄存器IMR(8)控制逻辑•IRRi=1表示外设中断请求•IMRi=0该位允许中断,IMRi=1,该位被屏蔽•ISRi=1该位正在服务,该位中断处理结束ISRi=0IR0IR1IR7INTINTAD7~D0RDWRA0CSCAS0CAS1CAS2SP/EN数据总线缓冲器读/写逻辑级连缓冲/比较器在服务寄存器ISR(8)优先权电路PR(8)中断请求寄存器IRR(8)中断屏蔽寄存器IMR(8)控制逻辑三、常用引脚介绍6-6可编程中断控制器8259A1、A0----端口选择,接CPU低位地址线。A0=0----偶端口地址;A0=1----奇端口地址。IR0~IR7译码器A1A0A14A138088CPUA15DB8位8259ACSA06-6可编程中断控制器8259A2、CAS2~CAS0----级联信号线用作主片时,为输出线;用作从片时,为输入线;IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTADBINT主IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTADBINT从INTRINTADB问题:5片级连可允许接收多少个中断源?6-6可编程中断控制器8259A3、SP/EN---主从控制/允许,双向;•输入方向:SP=1,则为主片SP=0,则为从片IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTADBINT主IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTADBINT从SP/EN+5VSP/EN地CPU的INTR端INTADB6-6可编程中断控制器8259A•输出方向:用于缓冲器方式IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTADBINT主IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTADBINT从SP/ENSP/ENINTRINTADBBTOEABTOEA82868286SP/EN--输出方向,缓冲器方式116-6可编程中断控制器8259AIR0IR4IR6IR7IR1IR2IR3IR5INTAINT8259AIRRISRIMR1DB中断类型码1四、8259A的工作流程CPUINTRINTAISRi复位:在AEOI方式,当第二个INTA结束时;其它情况,在IRET前,发EOI命令,使ISRi复位。①②③④⑤⑥6-6可编程中断控制器8259A中断服务程序0五、8259A的中断方式3、屏蔽中断源的方式1、设置优先级的方式2、中断结束方式4、中断触发方式6-6可编程中断控制器8259A1、设置优先级的方式1)全嵌套方式(缺省),固定优先级,IR0最高,IR7最低IR7IR6IR5IR4IR3IR2IR1IR0最高最低DBIR0IR1IR2INTIR3IR4IR5INTAIR6IR7时钟键盘用户异步通讯COM1硬盘软盘打印机6-6可编程中断控制器8259A2)特殊全嵌套方式:(级连时用于主片)与完全嵌套方式类似,但允许高级或同级中断;同级指来自同一从片上的中断请求IR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTAINT8259AIR0IR4IR6IR7IR1IR2IR3IR5CAS2~CAS0INTAINT8259A主从6-6可编程中断控制器8259A中断结束:只有从片所有的中断结束时,才能向主片发中断结束命令3)优先级自动循环方式:初始队列IR0最高,IR7最低,当任何一级中断被处理后则其优先级变为最低,IR0IR1IR2IR3IR4IR5IR6IR7IR4IR5IR6IR7IR0IR1IR2IR3中断被响应,则级别变最低4)优先级特殊循环方式:编程指定初始队列最低优先级,其它依次排列(级别最高)(级别最低)(级别最低)(级别最高)6-6可编程中断控制器8259A2、8259A中断结束方式•ISRi=“1”,表示ISRi被响应•使ISRi=“0”,表示8259A中断结束;•分为:自动中断结束正常中断结束特殊中断结束IR0IR4IR6IR7IR1IR2IR3IR5INTAINTISR10ISR中断服务寄存器6-6可编程中断控制器8259AIR0IR4IR6IR7IR1IR2IR3IR5INTAINT8259AISR10121)中断自动结束方式(AEOI命令方式):第二个INTA的后沿使8259A优先级最高的ISRi=0。适用于无中断嵌套的系统CPUINTRINTA6-6可编程中断控制器8259A2)正常中断结束方式(EOI命令方式):中断返回IRET之前向8259A发出中断结束命令,分为正常EOI命令和特殊EOI命令::中断服务程序MOVAL,20HOUT20H,ALIRETIR0IR4IR6IR7IR1IR2IR3IR5INTAINT8259AISR10EOI命令6-6可编程中断控制器8259A•正常EOI命令:使优先级最高的ISRi=0(最后一次响应和处理的中断),适用于普通全嵌套方式下的中断结束。•特殊EOI命令:指定所清除的ISR位,处于从片的8259A没有工作在全嵌套方式时使用。RSLEOI00L2L1L0OCW2特殊方式IR编码000对应IR0端001对应IR1端010对应IR2端011对应IR3端100对应IR4端101对应IR5端110对应IR6端111对应IR7端1=正常EOI1=特殊6-6可编程中断控制器8259A•普通屏蔽方式:IMRi=1,该位被屏蔽;IMRi=0,且该位优先级高,则允许中断•特殊屏蔽方式:IMRi=1,该位被屏蔽;而置0的位无论优先级高低均可以中断。IR0IR4IR6IR7IR1IR2IR3IR5INTAINT8259AIMR1IMR:中断屏蔽寄存器3、屏蔽中断源的方式:6-6可编程中断控制器8259A1)边沿触发:IRi从低电平变为高电平,表示中断请求;2)电平触发:IRi为高电平,表示中断请求,IRRi置1IRR中断请求寄存器4、中断触发方式IR0IR4IR6IR7IR1IR2IR3IR5INTAINT8259AIRR3)中断查询方式:超过64个中断请求信号时使用。6-6可编程中断控制器8259A

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

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

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

×
保存成功