5IO系统-3中断

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

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

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

资源描述

1第三节中断方式及接口5.3.1中断基本概念1.定义CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。2.实质与特点(1)实质程序切换方法:保存断点,保护现场;恢复现场,返回断点。时间:一条指令结束时切换。保证程序的完整性。2(2)特点随机性随机发生的事态注意中断与转子的区别。由硬件请求信号引发中断(按键、故障)有意调用,随机请求与处理的事态(调用打印机)随机插入的事态(软中断指令插入程序任何位置)3.中断分类(1)硬件中断与软中断由软中断指令引发中断(2)内中断与外中断中断源来自主机内部中断源来自主机外部(3)可屏蔽中断与非屏蔽中断可通过屏蔽字屏蔽该类请求;关中断时不响应该类请求。该类请求与屏蔽字无关;请求的响应与开/关中断无关。硬件中断和软中断的区别:硬件中断通过中断请求信号形成向量地址;软中断由指令提供中断号n,再转换为向量地址3由硬件提供服务程序入口地址4.中断典型应用(4)向量中断与非向量中断(1)管理中、低速I/O操作某事件出现的实际时间内及时处理,不是批量处理。(2)处理故障服务程序、中断向量表由软件提供服务程序入口地址(3)实时处理(4)人机对话利用时钟中断定时采集参数,检测,调节。(5)多机通信5.中断系统的组成(1)软件:中断系统的硬、软界面(2)硬件接口方面:请求、传递、判优逻辑CPU方面:响应逻辑软中断指令—INTnn为中断号软中断指令与转子指令的区别:转子指令只能按严格的约定,在特定位置执行;软中断指令的执行作为中断处理,在中断周期保存断点,按指令给出的中断号n查找中断向量表,找到相应的中断服务程序入口,实现程序切换。有意调用,随机插入4中断处理过程需要注意几个问题1.尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不至于使当前指令的执行受到干扰。2.为了在中断服务程序执行完毕以后,能够正确地返回到原来主程序被中断的断点(PC内容)而继续执行主程序,必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场。5中断处理过程需要注意几个问题3.当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个“中断屏蔽”触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。只有在“中断屏蔽”标志为“0”时,CPU才可以受理中断。当一条指令执行完毕CPU接受中断请求并作出响应时,它一方面发出中断响应信号INTA,另一方面把“中断屏蔽”标志置“1”,即关闭中断。这样,CPU不能再受理另外的新的中断源发来的中断请求。只有在CPU把中断服务程序执行完毕以后,它才重新使“中断屏蔽”标志置“0”,即开放中断,并返回主程序4.中断处理过程是由硬件和软件结合来完成的6中断请求与中断源•模型机硬件中断源分为:•内部中断源:掉电中断溢出中断校验错中断•外部中断源:–IREQ0——系统时钟,如日历钟;–IREQ1——实时时钟,供实时处理用;–IREQ2——通信中断,组成多机系统或连网时用;–IREQ3——键盘;–IREQ4——CRT显示器;–IREQ5——硬盘;–IREQ6——软盘;–IREQ7——打印机。7中断系统的软件组织方法1.列出系统需要处理的各种中断请求模型机外部硬件中断源、内部硬件中断源、软中断2.针对各中断源的需要,分别编制对应的中断服务程序模块3.将各中断服务程序的入口地址写入中断向量表中断向量表中存放着各中断服务程序的入口地址,称为中断向量。访问中断向量表的地址称为向量地址向量地址=中断号+281.中断请求的提出与传递(1)如何产生中断请求?“完成”标志为1外设工作完成:中断全过程(外中断)CPU允许请求:“屏蔽”标志为0先“屏蔽”,后请求先请求,后“屏蔽”完成请求触发器屏蔽CP有效请求完成请求触发器屏蔽CP请求有效请求9中断请求逻辑与屏蔽——分散屏蔽•CPU将屏蔽字代码按位分别发送给各中断源接口,接口中各设一位屏蔽触发器TM,用来接收屏蔽字的对应位的代码,若代码为1则屏蔽该中断源,为0则不屏蔽。•有两种实现方法:一是在中断请求触发器IRQ的D端进行,若TD=1,TM=0,则同步脉冲将1打入触发器,发出中断请求信号IRQ。二是在中断请求触发器的输出端进行。形成一个设备的中断请求逻辑,需要具备以下逻辑关系:①外部设备有中断请求的需要(“准备就绪”/“完成一次操作”),用触发器状态TD=1表示。②CPU没有对该中断源屏蔽,允许提出请求,用屏蔽触发器状态TM=0表示。接口中与中断有关的逻辑设置为两级:反映外部设备与接口工作状态的状态触发器—提出请求的需要中断请求触发器IRQ——是否形成中断请求10中断请求逻辑与屏蔽——集中屏蔽•通过公共的中断控制器来实现的。•首先,在公共接口逻辑中设置一个中断控制器(如使用集成芯片Intel8259),内含一个屏蔽字寄存器,CPU将屏蔽字送入其中。•各中断源的接口不需要设置屏蔽触发器,一旦TD=1,即可提出中断请求信号IRQ。所有请求信号汇集到中断控制器后,将自动与屏蔽字比较,若未屏蔽,则中断控制器向CPU发送一个公共的中断请求信号INT11中断请求信号的传送•(1)直连模式•(2)集中连接模式•(3)分组连接模式•(4)混合连接模式各中断源单独设置自己的中断请求线,每个请求信号直接送住CPU各中断源通过公共请求线连接到CPU。所有中断源按优先级别分组,同级别的中断源通过同一根公共请求线连接到CPU。优点:CPU收到中断请求信号后,立即知道请求源是哪个设备,有利于实现向量中断。缺点:CPU能连接的中断请求线数目有限,中断源数目难以扩展兼具公共请求线与独立请求线要求快速响应的中断请求对响应速度要求较低的中断请求122.中断判优(1)优先顺序故障、DMA、外中断(2)CPU现行程序与外设请求的判优为现行程序赋予优先级1)CPU设置允许中断标志(输入、输出)=1,开中断<外设请求优先级,响应=0,关中断2)CPU设置程序状态字的优先级字段≥外设请求优先级,不响应(模型机采用)中断判优逻辑的实现软件查询并行优先排队逻辑链式优先排队逻辑分组优先排队逻辑采用中断控制器集成芯片的优先逻辑131.软件查询响应中断请求后,先转入查询程序,按优先顺序依次询问各中断源是否提出请求。如果查询到中断源,则转入相应的服务处理程序;如果没有,则继续往下查询。特点:查询的顺序体现了优先级别的高低,先被询问则优先级更高。改变查询顺序也就改变了优先级。优点:不需要硬件判优逻辑,可根据需要灵活修改各中断源的优先级。缺点:通过程序逐个查询,所需时间较长。优先级较低的中断源需要多次查询才能轮上。适宜低速小型系统。14并行优先排队逻辑•各中断源提供独立的中断请求线,以改进的直连模式与CPU连接。•具体方法是:各中断源的通过中断请求触发器向排优电路传送中断请求信号:INTR’0、INTR’1、INTR’2、……等,再经过排优电路向CPU传送中断请求信号:INTR0、INTR1、INTR2、……等。适合于具有多请求线的系统,速度较快,硬件代价较高如果优先权高的中断源i提出中断请求INTRi’,则它自动封锁比它优先级更低的所有其他请求。仅当优先者没有请求时,才允许次一级的中断请求提出。如果同时有几个INTRi提出,只有其中优先级最高者能向CPU送出有效信号,其余信号均被封锁。15链式优先排队逻辑•各中断源通过公共请求线,采用集中模式与CPU连接,其判优结果可用不同的设备码或者中断类型码(中断号)来表示,称为优先链。各中断源的请求信号在形成公用INT之后送往CPU。CPU响应请求时,将向接口发出一个公用的INTA。INTA发送给优先级最高的中断源。如果该中断源提出了请求,则在接到批准信号后可将自己的编码发送给CPU,批准信号的传送就到此为止;反之,则将批准信号传向下一级设备,检查是否提出请求,依此类推。这种方法使所有可能作为中断源的设备连接成一条链,连接顺序体现优先顺序,而且在逻辑上离CPU最近的设备,其优先级最高。这种优先链又称为菊花链。优先链确保优先级最高的中断源可以将其编码发送给CPU。CPU的INTA同时送往所有的中断源,起到查询中断源的作用,同时根据编码转向对应的中断服务程序。16分组优先排队逻辑•如果中断请求信号的传送采用分组连接模式,则优先排队逻辑结构,又称二维结构的优先排队逻辑。•各中断源被分成若干个组,每组的请求先汇集到同一根请求线上与CPU相连接。•连接到CPU多根公共中断请求线可设置优先级,称为主优先级;连接在同一根公共请求线的中断源也可设置优先级,称次优先级。•针对主优先级,CPU内部的判优电路只能响应级别最高的请求。而针对次优先级,通常采取菊花链方式的优先链结构。17采用中断控制器集成芯片的优先逻辑•中断请求信号的寄存、汇集、屏蔽、排优、编码等逻辑集成于一个芯片之中。•例如,Intel8259芯片提供四种工作方式,包括全嵌套、循环优先级、特定屏蔽和程序查询方式。1)软件判优由程序查询顺序确定优先级。例.中断控制器判优各外设请求的判优2)硬件判优可灵活修改优先级。中断控制器(如8259)集中解决请求信号的接收、屏蔽、判优、编码等问题。18中断请求82598259D7~D0中断屏蔽寄存器中断号寄存器中断请求寄存器中断服务寄存器优先级裁决器INTINTAIRQ0IRQ7(未屏蔽的请求判优,生成相应中断号)公共请求INTCPU(CPU响应后,取回中断号,转入相应服务程序。)中断源的序号IRR:0001010070IMR:00000100ISR:00001000不发INT00010100700000000000001000发INT优先级高优先级低193.中断响应(1)响应条件3.屏蔽技术的应用(1)在多重中断方式中实现中断嵌套(2)利用屏蔽技术动态地修改优先级——中断升级CPU响应某中断请求后,可能暂停现行中断服务程序,转去执行更紧迫的中断处理任务在一段时间内,利用屏蔽字将原来优先级高的设备请求暂时屏蔽。原来级别低的请求由于未被屏蔽,优先级相对提高。201.中断响应方式与条件•(1)CPU的中断响应方式:–使用屏蔽字来屏蔽某些中断源–使用中断标志位来启用或禁止中断–在程序状态字中设置优先级字段•(2)中断响应的条件有中断请求信号发生,如IREQi或INT;中断请求未被屏蔽;CPU处于开中断状态,即“允许中断”触发器TIEN=1或程序状态字PSW的“中断允许”标志位IF=1;无更重要的事要处理,如因故障引起的内部中断,或优先级更高的DMA请求等;一条指令刚好执行结束且不是停机指令。外设有请求,且未被屏蔽;一条指令(非停机指令)结束;无故障、DMA等优先级更高的请求。CPU开中断;21•(1)向量中断方式的概述–中断向量:就是所有中断服务程序在主存中的入口地址及其状态字的统称–中断向量表:就是由所有的中断服务程序入口地址(包括状态字)组成的表格–向量地址:就是访问中断向量表的地址•(2)向量中断方式的工作机制:将各个中断服务程序的入口地址组成中断向量表;在响应中断时,由硬件直接产生对应于中断源的向量地址;按该地址访问中断向量表,从中读取中断服务程序的入口地址,由此转向中断服务程序,进行中断处理。这些工作通常在中断周期中由硬件直接实现。22•(3)向量中断方式的实现•当CPU响应中断请求时,首先向8259发送INTA;然后通过数据总线从8259取回被批准请求源的中断类型码;乘以4,形成向量地址;接着访问主存,从中断向量表中读取服务程序入口地址;之后转向服务程序。例如,如果类型编码为0,则从0号单元开始,连续读取4字节的入口地址。依此类推。231)非向量中断将服务程序入口组织在查询程序中;CPU响应时执行查询程序,查询中断源,转入相应服务程序。(2)如何获取中断服务程序的入口地址2)向量中断将服务程序入口

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

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

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

×
保存成功