《计算机组成原理第八章第3讲程序中断方式.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第八章第3讲程序中断方式.ppt(29页珍藏版)》请在课桌文档上搜索。
1、程序中断方式,8.3 程序中断方式,8.3.1中断的概念、功能8.3.2程序中断方式的基本接口8.3.3单级中断8.3.4多级中断8.3.5Pentium中断机制,8.3.1中断的概念、功能,中断(Interrupt)是指CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。,8.3.1中断的概念、功能,中断适合于处理随机出现的事务主程序只在设备就绪时才与之交互数据,8.3.1中断的概念、功能,中断系统的功能包括:1)实现主机和外设
2、的并行工作;2)处理故障;3)实现多道程序的分时操作;4)实时控制;5)实现人机联系;6)实现多机通信。,8.3.1中断的概念、功能,中断源:能够向CPU发出中断请求的事件。常见中断源有:输入、输出设备中断。如键盘、打印机等工作过程中已做好接收或发送准备。数据通道中断。如磁盘、磁带等要同主机进行数据交换等。实时时钟中断。故障中断。例如电源掉电、设备故障等要求CPU进行紧急处理等。系统中断。如运算过程出现溢出、数据格式非法,数据传送过程出现校验错,控制器遇到非法指令等等。为了调试程序而设置的中断。,8.3.1中断的概念、功能,硬件实现,软件实现,不再接中断,可再接中断,8.3.1中断的概念、功能
3、,中断处理过程注意几个问题:响应中断时机:外界中断请求是随机的,但CPU只有在当前指令执行完毕后,才转至公操作断点保护问题(PC,寄存器内容和状态的保存)中断屏蔽:开中断和关中断问题。中断是由软硬件结合起来实现的,8.3.2程序中断方式的基本I/O接口,数据缓冲寄存器BS外设接口忙(BuSy)标志RD外设准备就绪(ReaDy)标志EI(Enable Interrupt中断允许触发器)IR(Interrupt Request)中断请求触发器IM(Interrupt Mask)中断屏蔽触发器,8.3.2程序中断方式的基本接口,表示由程序启动外设,将该外设接口的“忙”标志BS置“1”,“准备就绪”标
4、志RD清“0”;,表示接口向外设发出启动信号;,表示数据由外设传送到接口的缓冲寄存器;,表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一控制信号,将数据“准备就绪”标志RD置“1”;,表示允许中断标志EI为“1”时,接口向CPU发出中断请求信号;,表示在一条指令执行末尾CPU检查中断请求线,将中断请求线的请求信号接收到“中断请求”标志IR;,表示如果“中断屏蔽”标志IM为“0”时,CPU在一条指令执行结束后受理外设的中断请求,向外设发出响应中断信号并关闭中断;,表示转向该设备的中断服务程序入口;,表示中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至CPU中的寄存器;,(10)
5、表示CPU发出控制信号C将接口中的BS和RD标志复位。,8.3.3单级中断,所有中断源属于同一级,离CPU越近,优先级越高。要点:在执行某个中断请求的过程中,不允许其他中断源再打断中断服务程序。即使其优先级别更高。单级中断示意图8.7类似于第六章的链式查询方式。,8.3.3单级中断,中断响应:,8.3.3单级中断,中断源的识别:串行排队链法(菊花链查询方式)IR1,IR2,IR3为中断请求信号IS1,IS2,IS3为中断选中信号INTI为中断排队输入INTO为中断排队输出中断源识别之后获取中断向量当CPU响应中断时,由硬件直接产生一个固定的地址(即向量地址)由向量地址指出每个中断源设备的中断服
6、务程序入口,这种方法通常称为向量中断。,8.3.4多级中断,概念:多级中断系统是指计算机系统中有相当多的中断源,根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。多级指的是优先权级别有多个每级有一个中断优先权优先权高的中断级别级可以打断低的级别如图8.9示,8.3.4多级中断,-多级中断可分为一维多级中断和二维多级中断 一维多级中断:每一级中断中有一个中断源。二维多级中断:每一级中断中有多个中断源-说明:中断响应时,确定哪一级中断和中断源采用硬件实现。采用了独立请求方式和链式查询方式相结合的方式。多级中断可以嵌套,但同一级的中断不允许嵌套使用多级堆栈保存现场(包括IM
7、)一个系统有n级中断,则CPU中有n个IR,n个IM,某级中断被响应后,则关闭本级和低于本级的IM,开放更高级的IM。,8.3.4多级中断,8.3.4多级中断,多级中断源的识别中断优先排队电路中断向量产生电路,举例,例1、参见图8.9所示的二维中断系统。请问:(1)在中断情况下,CPU和设备的优先级如何考虑?请按降序排列各设备的中断优先级。答:在中断情况下,CPU的优先级最低。各设备的优先次序是:ABCDEFGHICPU。,(2)若CPU现执行设备B的中断服务程序,IM2,IM1,IM0的状态是什么?如果CPU执行设 备D的中断服务程序,IM2,IM1,IM0的状态又是什么?答:当前执行B的中
8、断:IM2,IM1,IM0为111当前执行D的中断:IM2,IM1,IM0为011,(3)每一级的IM能否对某个优先级的个别设备单独进行屏蔽?如果不能,采取什么办法可达到目的?答:不能,因为共用IM。通过设置允许中断触发器为0,禁止该设备发出中断,对其屏蔽。,(4)假如设备C一提出中断请求,CPU立即进行响应,如何调整才能满足此要求?答:增加更高一级(第3级)的中断请求逻辑,将C单独放置于第3级中。,例2(略):参见例1所示的系统,只考虑A,B,C三个设备组成的单级中断结构,它要求CPU在执行完当前指令时对中断请求进行服务。假设:(1)CPU“中断批准”机构在响应一个新的中断之前,先要让被中断
9、的程序的一条指令一定要执行完毕;(2)TDC为查询链中每个设备的延迟时间;(3)TA,TB,TC分别为设备A,B,C的服务程序所需的执行时间;(4)TS,TR为保存现场和恢复现场所需的时间;(5)主存工作周期为TM。试问:就这个中断请求环境来说,系统在什么情况下达到中断饱和?,中断处理流程,并假设执行一条指令的时间也为TM。如果三个设备同时发出中断请求,那么依次分别处理设备A、设备B、设备C的时间如下:tA=2TM+TDC+TS+TA+TRtB=2TM+2TDC+TS+TB+TRtC=2TM+3TDC+TS+TC+TR处理三个设备所需的总时间为:T=tA+tB+tCT是达到中断饱和的最小时间,
10、即中断极限频率为:f=1/T,访问存储器Tm,访问存储器Tm,0、指令周期1、链式查询Tdc2、保护现场Ts3、恢复现场Tr,8.3.5中断控制器,8259中断控制器是一个集成电路芯片,它将中断接口与优先级判断等功能汇集于一身,常用于微型机系统。其内部结构如图8.11所示。8位中断请求寄存器(IR)接受8个外部设备送来的中断请求,每一位对应一个设备。中断请求寄存器的各位送入优先权判断器,根据中断屏蔽寄存器(IM)各位的状态来决定最高优先级的中断请求,并将各位的状态送入中断状态寄存器IS。IS保存着判优结果。由控制逻辑向CPU发出中断请求信号INT,并接受CPU的中断响应信号INTA。数据缓冲器
11、用于保存CPU内部总线与系统数据总线之间进行传送的数据。读/写逻辑决定数据传送的方向,其中IOR为读控制,IOW为写控制,CS为设备选择,A0为I/O端口识别。,8.3.5中断控制器(略),多个8259进行级联以处理多达64个中断请求。在这种情况下允许有一个主中断控制器和多个从中断控制器,称为主从系统。优先级选择方式有四种:完全嵌套方式:是一种固定优先级方式,连至IR0的设备优先级最高,IR7的优先级最低。这种固定优先级方式对级别低的中断不利,在有些情况下最低级别的中断请求可能一直不能被处理。轮换优先级方式A:每个级别的中断保证有机会被处理,将给定的中断级别处理完后,立即把它放到最低级别的位置
12、上去。轮换优先级方式B:要求CPU可在任何时间规定最优优先级,然后顺序地规定其他IR线上的优先级。查询方式:由CPU访问8259的中断状态寄存器,一个状态字能表示出正在请求中断的最高优先级IR线,并能表示出中断请求是否有效。,8.3.5中断控制器,8259提供了两种屏蔽方式:简单屏蔽方式,提供8位屏蔽字,每位对应着各自的IR线。被置位的任一位则禁止了对应IR线上的中断。特殊屏蔽方式,允许CPU让来自低优先级的外设中断请求去中断高优先级的服务程序。当8位屏蔽位的某位置“0”时,例如屏蔽字为11001111,说明IR4和IR5线上的中断请求可中断任何高级别的中断服务程序。8259中断控制器的不同工作方式是通过编程来实现的。CPU送出一系列的初始化控制字和操作控制字来执行选定的操作。,8.3.5Pentium中断机制(略),Pentium中断机制中断类型中断服务子程序进入过程中断处理过程,