您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第3章 中断接口技术
第3章中断接口技术第3章中断接口技术3.1中断的基本概念3.280x86系列微型计算机的中断系统3.3Intel8259A(PIC)可编程中断控制器3.4ICH5中的可编程中断控制器功能习题3第3章中断接口技术3.1中断的基本概念3.1.1中断的概念为了实现计算机与外设之间的同步操作,对各种现场参数进行实时处理,实现对异常事件、故障源的及时处理,充分提高CPU的利用率,计算机系统中广泛采用了中断技术。第3章中断接口技术CPU在执行程序的过程中,收到中断源提出的中断请求,暂时停止源程序的执行,转而执行中断源所要求的操作;处理完成中断源所要求的操作,CPU返回源程序的断点处继续执行原来的程序,这就是所谓的中断。其中,中断源就是提出中断请求的来源,也就是引起中断的原因。通常中断源包括输入/输出设备、定时器/计数器电路、故障源、软件中断、调试程序时的单步和断点处理等。第3章中断接口技术3.1.2中断的优先级与中断嵌套1.中断优先级中断优先级也称为中断优先权。中断系统中存在着多个中断源,同一时刻可能会有不止一个中断源提出中断请求,因此需要给所有中断源安排不同的优先级别。处理中断优先级的软件方法也称为软件查询法,它是把所有中断源的中断请求触发器组合成一个寄存器端口。按图3-1的方式处理,中断优先级由高至低依次为中断源A、B、…、N。第3章中断接口技术硬件优先级排队电路常采用链式优先权排队电路,或采用中断优先权编码电路。中断优先权编码电路由编码器和比较器构成。第3章中断接口技术是中断源A?Y中断A处理程序N是中断源B?Y中断B处理程序N…是中断源N?Y中断N处理程序N…图3-1中断优先级的软件查询法第3章中断接口技术2.中断嵌套CPU响应了某一个中断源提出的中断请求,转而执行该中断源所要求的操作。实际上CPU是执行对应于该中断源的中断服务程序。第3章中断接口技术例如:设CPU先响应了中断源A所要求的中断操作,中断源B又提出了中断请求,中断源B的优先级别高于中断源A的优先级别,中断嵌套处理过程如图3-2所示。优先级别较高的中断源的中断请求可打断优先级别较低的中断源的中断操作,形成嵌套。优先级别较低的中断源不能打断优先级别较高的中断源的中断操作。第3章中断接口技术继续CPU执行的程序处理中断A处理中断B图3-2中断嵌套处理过程第3章中断接口技术3.280x86系列微型计算机的中断系统3.2.1中断的分类8086/8088CPU的PC机的中断方式只有实地址方式。80286及以后的80x86的PC机的中断方式分为实地址方式和保护地址方式两种。本节只介绍80x86实地址方式的中断系统,在实地址方式中,8086/8088CPU的中断方式向上兼容80x86的中断系统。什么实地址方式?什么是保护地址方式?二者有什么区别?1:实地址方式是CPU启动的时候的模式这时候就相当于一个速度超快的8086不能使用多线程不能实现权限分级还不能访问20位以上地址线,也就是说只能访问1M内存2:保护地址方式操作系统接管CPU后.会使CPU进入保护模式.这时候可以发挥80x86的所有威力..包括权限分级.内存分页.等等等等各种功能第3章中断接口技术80x86CPU可处理256种不同类型的中断。对应的中断类型号为0~255。CPU可根据中断类型号在中断向量表中找到中断服务程序的入口地址。80x86系列PC机中的中断可分为两大类,即外部中断和内部中断。图3-3给出了8086/8088中断系统的示意图。第3章中断接口技术INTn指令INTO指令除法错误单步中断中断逻辑CPUNMINMI非屏蔽中断INTR8259A可编程中断控制器IRQ0IRQ1IRQ2IRQ7…图3-38086/8088的中断系统第3章中断接口技术1.外部中断80x86CPU有两条外部中断请求线:NMI和INTR,即NMI非屏蔽中断和INTR可屏蔽中断。外部中断的中断源在CPU的外部。外部中断的中断请求信号分别送往CPU的NMI引脚或INTR引脚。1) NMI非屏蔽中断中断类型号为2,NMI非屏蔽中断的中断请求信号从CPU的外部送往CPU的引脚NMI上,采用边沿触发方式,即中断请求信号由低电平跳变到高电平有效。什么是边沿触发?另外还有一种什么触发方式?电平触发:就是只有高电平(或者低电平)的时候才做指定的事。边沿触发:就是有高电平向低电平转换,或者翻过来转换,这个转换过程触发一个动作。上升沿:顾名思义,就是低电平向高电平转换的瞬间(过程)第3章中断接口技术2) INTR可屏蔽中断中断类型号为08H~0FH。INTR可屏蔽中断又称为硬件中断。INTR可屏蔽中断的中断源一般是外部设备。第3章中断接口技术2.内部中断内部中断的中断源在CPU的内部。内部中断包括除法错误中断、溢出中断、单步中断、断点中断和INTn中断等。内部中断是由CPU内部事件引发的中断。1)除法错误中断除法错误中断的中断类型号为0。当CPU执行除法操作,除数为零或商超出计算机可表示的最大数值范围时,产生0号,除法错误中断。第3章中断接口技术2)单步中断单步中断的中断类型号为1。当FLAG标志寄存器的单步标志位TF为1时,每执行完一条指令,CPU立即暂停程序的执行,产生1号中断。单步中断可用于进行程序的调试。3)断点中断断点中断的中断类型号为3。为了调试汇编语言程序经常需要设置断点,可以在程序中加入INT3指令。第3章中断接口技术4)溢出中断溢出中断的中断类型号为4,以指令INTO的形式出现。当FLAG标志寄存器的溢出标志OF为1时,且CPU执行INTO指令,则产生溢出中断。OF=1表示运算操作发生了溢出。如果OF=0,则CPU执行INTO指令时不产生溢出中断。5) INTn中断INTn中断也称为软件中断,以指令INTn的形式出现,中断类型号就是n。CPU执行INTn指令,产生类型号为n的内部中断。第3章中断接口技术3.2.2中断矢量表以80x86为处理器的微型计算机系统都使用矢量中断。在实模式方式下,高档PC机的中断除了功能适当扩充外,所有与8086/8088相关的中断功能定义上完全相同。第3章中断接口技术80x86CPU的中断矢量表位于主存储器最低地址00000H~003FFH中,共占用1KB的存储器空间。中断矢量表中共有256项,能处理256级中断矢量,对应中断类型号为0H~0FFH。每一项为一个中断矢量,占4个字节,用于存放中断服务程序的入口地址,其中两个低地址字节中存放中断服务程序入口地址的段内地址偏移量(IP)部分,两个高地址字节中存放中断服务程序入口地址的段地址(CS)部分。中断矢量表的结构见图3-4。第3章中断接口技术IPCS类型0中断服务程序入口地址类型1中断服务程序入口地址00000H00004H…类型255中断服务程序入口地址003FCH003FFH图3-4中断矢量表的结构第3章中断接口技术3.2.38086/8088中断响应过程8086/8088的中断响应过程如图3-5所示。中断响应过程简述如下:第3章中断接口技术完成当前指令是内部中断?YN是NMI中断?YN是INTR中断?YNTF=1?YN执行下一条指令IF=1?NY中断响应读类型码n标志寄存器入栈令TEMP=TF清除IF、TFCS、IP入栈调用中断服务程序有NMI吗?TEMP=1?YYNN执行中断服务程序弹出CS和IP弹出标志返回断点图3-58086/8088的中断响应过程第3章中断接口技术当CPU执行完当前指令,检测到有中断申请时,首先判断是哪一种中断请求。判断的顺序正好反映了各种中断的优先级。继续进行的处理,各种中断都相同。包括标志寄存器压入堆栈,单步标志TF送到TEMP单元,清除IF、TF,保护断点使CS、IP压入堆栈及调用中断服务程序等。在中断服务程序中执行具体的输入/输出等操作。第3章中断接口技术练习1、已经某一中断的入口逻辑地址为:1234:5678,请写出该中断的中断矢量。2、请根据所学的知识算出15号中断的中断矢量的存储区间。“中断向量”或“中断矢量:把中断服务程序的入口地址的各个字节按照一定的规则排列起来,构成的一个有特定含义的数据组合。偏移地址低字节,偏移地址高字节,段地址低字节,段地址高字节。第3章中断接口技术3.3Intel8259A(PIC)可编程中断控制器3.3.1Intel8259A的功能与结构Intel8259A可编程中断控制器用于管理PC机中的INTR中断,INTR中断是外部可屏蔽中断。外部设备可通过中断控制器8259A的中断请求线INT把中断请求信号送往CPU的INTR线,以便提出中断请求。图3-6是IBMPC/XT系统中的INTR可屏蔽中断的示意图。对外部可屏蔽中断的管理可以通过对8259A的程序设计来实现。第3章中断接口技术8259A中断控制器IRQ0系统时钟IRQ1键盘IRQ2保留IRQ3COM2IRQ4COM1IRQ5硬盘IRQ6软盘IRQ7打印机INT8086/8088CPUINTR图3-6IBMPC/XT系统中的INTR可屏蔽中断示意图第3章中断接口技术1. 8259A的主要功能(1)一片8259A可管理8级中断,多片8259A可级联使用,两级级联时最多可管理64级中断。(2)可对任何一级中断源进行屏蔽或取消屏蔽。(3)能进行多种中断优先权方式的管理。(4)在中断响应周期能向CPU提供中断源的中断类型号,使CPU能根据中断类型号,计算出中断矢量地址,从而转入相应的中断服务程序。第3章中断接口技术2.8259A的内部结构与引脚功能Intel8259A的内部结构如图3-7所示,8259A为28脚双列直插式芯片,其引脚排列见图3-8。Intel8259A由以下几个部分构成。第3章中断接口技术数据总线缓冲器级联缓冲/比较器CAS0CAS1CAS2EN/SP读/写逻辑A0CSRDWRD7~D0控制逻辑中断服务寄存器ISR中断屏蔽寄存器IMR优先级判别器PR中断请求寄存器IRRIR0IR7…INTINTA图3-7Intel8259A的内部结构1)中断请求寄存器IRR中断请求寄存器IRR,8位,该寄存器的每一位可与一个中断源对应,外设的中断请求从IR7~IR0引脚输入到8259A。IRR用于寄存从中断源发来的中断请求信号。这里用IRX表示IR7~IR0的引脚之一,DX表示IRR寄存器中D7~D0的某一位的值。2)优先级判别器PR优先级判别器PR用于识别和管理各个中断源的优先级别,判断当前的中断请求是否应送往CPU。3)中断服务寄存器ISR中断服务寄存器ISR,8位,用于记录正在被CPU服务的中断源。某中断源正在被CPU服务时,ISR中与IRR对应的位被置位。4)中断屏蔽寄存器IMR中断屏蔽寄存器IMR,8位,屏蔽或允许IRR中的中断请求。用户可根据需要设置IMR,禁止或允许某些中断。5)控制逻辑中断控制逻辑根据优先级判别器PR的请求向CPU发出中断请求信号INT,同时接收来自CPU的中断响应信号。INTAINTA6)数据总线缓冲器数据总线缓冲器,8位、双向、三态,是8259A与CPU之间的数据接口,在读/写逻辑的控制之下实现CPU与8259A之间的信息交换。7)读/写逻辑:读/写逻辑电路控制CPU与8259A之间的信息交换。cs为片选信号线,低电平时选中8259A工作。为读命令信号线,为写命令信号线,接收CPU发来的读/写命令信号,控制对8259A的读/写操作。A0为地址信号线,用于寻址8259A内部寄存器,一般连接地址总线的A0,在8086系统中则连接地址总线的A1。CS、RD、WR和A0在PCAT机上的组合操作功能见表3-1。表中的ICW1~ICW4是8259A的四个初始化命令字,OCW1~OCW3是8259A的三个工作命令字。8)级联缓冲/比较器级联缓冲/比较器用于实现多片8259A的级联。一片8259A能管理8级中断,通过多片8259A级联可增加管理中断的数量。与CPU相连的8259A称为主8259A或简称主片,与主8259A相连的8259A称为从8259A或简称从片。系统中只有一片8259A作为主片,主片可以连接l
本文标题:第3章 中断接口技术
链接地址:https://www.777doc.com/doc-3357123 .html