第七章微型计算机中断系统

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

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

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

资源描述

第七章微型计算机中断系统7.1概述(P263)一、中断的概念正在看书电话铃响接电话继续看书执行程序事件发生事件处理继续执行程序中断处理中断请求及响应实际场景计算机中断返回微机原理与接口所谓中断,就是CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。中断源引起CPU中断的事件——中断源。例如:外设——请求输入输出数据,报告故障等事件——掉电、硬件故障、软件错误、非法操作、定时时间到等中断源分为:外部中断、内部中断内部中断:CPU内部执行程序时自身产生的中断外部中断:CPU以外的设备、部件产生的中断8086/8088的外部中断信号:INTR、NMIINTR——可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。NMI——非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。微机原理与接口中断过程•五个步骤:–中断请求–中断判优(有时还要进行中断源识别)–中断响应–中断服务–中断返回以下以外部中断为主介绍这五个步骤。微机原理与接口1)中断请求•外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚;–中断请求信号:边沿请求,电平请求例如,NMI为边沿请求,INTR为电平请求•中断请求信号应保持到中断被处理为止;•CPU响应中断后,中断请求信号应及时撤销。•在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队判优后向CPU发出:(I/O接口)→PIC→CPUn1微机原理与接口2.1)中断源识别•计算机中的中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法:–软件查询。将中断信号从数据总线读入,用程序进行判别。–中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法)微机原理与接口2.2)中断判优•多个中断源产生中断,CPU首先为谁服务?——中断优先级排队问题。•中断优先级控制要处理两种情况:–对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;–对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断——即允许中断嵌套。•中断优先级的控制方法–硬件判优——链式判优、并行判优(中断向量法)–软件判优——顺序查询中断请求,先查询的先服务(即先查询的优先级别高)•通常将中断判优与中断源识别合并在一起进行处理。–x86系统中,这项任务由PIC和CPU共同完成。微机原理与接口3)中断响应•在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若以下条件成立,则CPU响应中断:–当前指令执行完。对INTR,CPU处于开中断状态,即IF=1;–当前没有复位(RESET)和保持(HOLD)信号。–若NMI和INTR同时发生,则首先响应NMI。微机原理与接口3)中断响应(续)•CPU响应中断时,要做下述三项工作:–向中断源发出INTA中断响应信号;–断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序。–获得中断服务程序首地址(入口)。微机原理与接口4)中断处理(中断服务)•中断服务子程序要做的工作–保护现场(PUSHreg’s)–开中断(STI)–进行中断处理–恢复现场(POPreg’s)–中断返回(IRET)微机原理与接口5)中断返回•执行中断返回指令IRET–IRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服务程序时中断返回后概述8086/8088中断系统具有强大的的功能,可以处理256种不同的中断类型,256种中断可划分为两大类:外部中断和内部中断。二、中断的分类(P264)外部中断:可屏蔽中断(NMI管脚)不可屏蔽中断(INTR管脚)内部中断(软件中断):除法错误异常单步调试中断断点中断软件中断(INT)微机原理与接口•8088系统的中断源–内部中断•除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。•单步中断:类型号1,TF=1时产生(当前指令需执行完)•断点中断:类型号3,这是一个软件中断,即INT3指令。•溢出中断:类型号4,这是一个软件中断,即INTO指令。•软件中断:即INTn指令,类型号n(0-255)。–外部中断•非屏蔽中断NMI:类型号2可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。与中断有关的控制线为:NMI、INTR、INTA#概述三、中断的向量表(IVT)表的地址位于内存的00000H~003FFH,大小为1KB,共256个中断向量每个中断向量占用4Bytes,低字为段内偏移,高字为段基址根据中断类型号获得中断服务程序入口的方法:(n为中断类型号)中断向量在IVT中的存放地址=4×n所谓中断向量,实际上就是中断服务程序的入口地址,每个中断类型对应一个中断向量。中断类型号通过一个地址指针表与中断服务程序的入口地址相联,该表称为中断向量表。概述三、中断的向量表(P267)例:类型号为20H的中断所对应的中断向量存放在0000:0080H开始的4个单元中,如图示,则它所对应的中断服务程序的入口地址为4030H:2010H。40H30H20H10H23H45H78H90H0000:0083H0000:0082H0000:0081H0000:0080H0000:005FH0000:005EH0000:005DH0000:005CH一个系统中对应中断类型号17H的中断服务程序存放在2345H:7890H开始的内存区域中,则17H对应的中断向量存放于何处,内容是?17H4=5CH微机原理与接口中断向量的设置•供用户使用的中断类型号,由intn指令引用,也可以由INTR端直接引入,或通过中断控制器8259A引入可屏蔽硬件中断。使用时用户要自己设置中断向量,即将中断服务程序的入口地址置入中断类型号n所对应的中断向量中。•有两种方法可为中断类型号n设置中断向量,:指令设置和DOS功能调用设置。P270•中断类型号00H~3FH为系统或者Dos、BIOS功能调用,其他功能号可供用户定义。7.4可编程中断控制器8259A一、功能和引脚•了解8259A的功能•熟悉8259A的工作方式•掌握8259A的编程方法•学会使用8259A管理计算机系统的中断8259A集中断源识别、判优、提供中断类型码于一体。是一种可编程中断控制器,有如下功能:(1)每片8259A能直接管理8级优先级中断,可通过级联管理系统中更多的中断源,一个系统里最多可用9片8259A级联、可管理64级中断。中断控制器:介于CPU与外设之间的专门用来处理中断的接口设备微机原理与接口8.4可编程中断控制器8259A28127226325424523622721820919101811171216131514CSWRRDD7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0CAS2INTCAS0CAS1SP/ENINTAGNDA0VCC8259A管脚图:(2)每一级中断都可由程序单独屏蔽或允许。(3)每片8259A可送出8个中断类型码。(4)可编程选择多种不同的工作方式。一、功能和引脚(续)微机原理与接口D7~D0:数据总线,双向,三态。用于与CPU之间传送命令、状态、中断类型码。RD:读信号,输入。用来通知8259把某个内部寄存器的值送数据线D7~D0。(如IMR、ISR、IRR)WR:写信号,输入。用来通知8259A把数据线D7~D0上的值写入内部某个寄存器。CS:片选信号,输入。通过地址译码逻辑电路与地址总线相连。A0:地址线,输入。用来指出当前8259A的哪个端口被访问,选择内部寄存器的端口地址。•在标准AT机中,使用两片8259构成主从式中断系统,主8259的端口地址:20H,21H从8259的端口地址:A0H,A1H8259A一、功能和引脚微机原理与接口INT:中断请求,输出。把IR7~IR0上的最高优先级请求传送到CPU的INTR引脚,向CPU发中断请求。INTA:中断响应,接收CPU的中断应答信号。CPU发出的中断响应信号为两个负脉冲。第一个负脉冲作为中断应答信号,第二个负脉冲到来时,8259从数据线D7~D0上发出中断类型码。IR7~IR0:外设中断请求输入。在含有多片8259的复杂系统中,主片的IR7~IR0分别与从片的INT端相连,用来接收来自从片的中断请求。CAS2~CAS0:级联线,用来指出具体从片。SP/EN:编程/缓冲器允许,双向,非缓冲方式下为输入,决定8259是主片还是从片(1-主片;0-从片);缓冲方式下为输出,使数据总线驱动器启动8259A一、功能和引脚微机原理与接口8259A数据总线缓冲器读/写逻辑缓冲器控制逻辑服务寄存器ISR优先权判别器PR中断请求寄存器IRRIR0D7~D0A0RDWRCSSPCAS0CAS1CAS2中断屏蔽寄存器(IMR)IR7IR1INTAINT8259A内部结构框图二、内部结构(P282)微机原理与接口8259A二、内部结构1、数据总线控制器8位双向三态缓冲器,通过它,CPU向8259写入命令字、读取有关寄存器状态、提供中断类型码。2、读写控制器接受来自CPU的读/写命令,完成规定操作。控制相应寄存器的读出和写入操作。3、级联缓冲/比较器8259A数据线与系统总线相连有两种方式:缓冲方式、非缓冲方式(由ICW4设置)4、中断请求寄存器(IRR)保存从IR0~IR7来的中断请求信号,某位=1表示对应的IRi有中断请求。微机原理与接口8259A二、内部结构5、中断屏蔽寄存器(IMR)通过软件设置IMR可对8259A的8个中断请求进行屏蔽。当此寄存器的某位被置“1”时,与之相对应的中断请求被屏蔽。6、当前中断服务寄存器(ISR)保存所有正在服务的中断源,某位=1表示对应的IRi中断正在被服务。7、优先权裁决器(PR)当在IR端有中断请求时,通过IRR送到PR。PR检查中断服务寄存器(ISR)的状态,判别有无优先权更高的中断正在接受服务,使CPU为高级中断服务。8、中断控制逻辑中断控制逻辑按初始化设置的工作方式控制8259A的全部工作。微机原理与接口8259A二、内部结构8259A对中断请求的处理过程:当某IRi有效时,IRR相应位置1若该IRi未被屏蔽,则向CPU发出中断请求。CPU检测到第1个INTA信号后,置ISRi=1,IRRi=0检测到第2个INTA信号后,把ISRi=1中最高优先级的中断类型码放到DB上若工作在AEOI方式,在第2个INTA结束时,使ISRi复位;否则由CPU发出EOI命令使ISRi复位微机原理与接口8259A三、8259A的中断管理方式(P284)1、8259A的编程结构(图7-12)8259A的编程是通过初始化写入中断管理方式,即初始化命令字和操作命令字。初始化命令字写入寄存器ICW1~ICW4,操作命令字写入OCW1~OCW3.初始化命令字一经设定,在系统工作过程中不允许改变;操作命令字可以由应用程序修改。微机原理与接口三、8259A的中断管理方式(P284)8259A的工作方式按中断嵌套的方式普通全嵌套方式特殊全嵌套方式按中断优先级的设置固定优先级方式循环优先级方式按中断结束的方式中断命令方式自动中断结束命令方式缓冲方式非缓冲方式按8259与总线连接方法按屏蔽中断源的方式普通屏蔽方式特殊屏蔽方式2、中断管理方式微机原理与接口8259A三、8259A的中断管理方式2、中断嵌套方式(1)普通全嵌套方式(完全嵌套)(2)特殊全嵌套方式最常用的一种方式,IR0~IR7,IR0最高,IR7最低。当一个中断被

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

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

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

×
保存成功