组成第十七讲:中断控制.ppt_第1页
组成第十七讲:中断控制.ppt_第2页
组成第十七讲:中断控制.ppt_第3页
组成第十七讲:中断控制.ppt_第4页
组成第十七讲:中断控制.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,程序中断控制技术中断:计算机暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫作“中断”。中断系统是计算机实现中断功能的软、硬件总称。在CPU一侧配置了中断机构,在设备一侧配置了中断控制接口,在软件上设计了相应的中断服务程序。中断过程由中断请求、中断响应、状态保护、中断屏蔽、中断处理、恢复和返回组成。,2,I/O中断的产生,以打印机为例,CPU与打印机并行工作,3,中断的概念,在机器中引起中断产生的事件或发生中断请求的来源统称为中断源。硬件中断是指由某个硬件中断请求信号引起的中断,硬件中断通过是中断请求信号形成向量地址。向量地址是中断服务程序入口地址的地址。软中断是指由软中断指令所引起的中断,软中断由指令提供中断号n,再转换为向量地址。强迫中断是指由于故障、外部请求等所引起的强迫性中断,非程序本身安排的,这种请求的提出和相应的服务处理都是随机的。自愿中断即软中断这是程序有意安排的,即以事先在程序某处设置断点,以中断方式引出服务程序,实现某种功能。如单步调试程序。,1.中断源,4,内部中断:指来自主机内部的中断请求,如CPU内部硬件故障、软中断、程序出错、运算产生故障引起的中断、控制器产生的中断。即溢出、除数为零、校验错、非法格式、虚拟存储器页面失效、非法指令、调用失败、故障中断等。外部中断:由CPU外部产生的中断键盘中断、打印机中断、磁盘存储器申请中断、电源故障、主机设备故障、定时时钟中断、显示器中断、打印机中断等。可屏蔽中断INTR一般将外围设备中断作为可屏蔽中断,CPU通过屏蔽技术施加以控制。不可屏蔽中断NMI这是一种必须响应处理的中断请求,作为非屏蔽中断,不受CPU屏蔽。软中断发生于CPU内部,不属于外中断范畴,从概念上将它也是不可屏蔽的。,5,向量中断CPU响应中断后,由中断机构自动将向量地址通知处理机,由向量地址指明中断向量位置并实现向量切换,不必经过处理程序来查询中断源的中断功能,称为向量中断。即直接依靠硬件来实现根据中断源获得服务程序入口地址,以实现程序切换。向量中断的特点是根据中断请求信号能快速地、直接转向对应的服务程序。因此,现代计算机基本上多具有向量中断能力。非向量中断CPU不能直接提供中断服务程序入口地址,而是CPU在响应中断时只产生一个固定的地址,由此读取中断查询程序的入口地址,从而转向查询程序;通过执行查询程序,确定被优先批准的中断源,然后分支进入相应的中断服务程序。非向量中断也称为单向量中断。,6,2.CPU响应中断必须满足的条件,中断源有中断请求中断寄存器CPU允许接受中断请求开中断中断屏蔽寄存器(判优)禁止中断一般一条指令执行完毕后CPU才能响应中断,并且当前执行的不是停机指令,又没有优先权更高的请求,则CPU进入中断周期状态,进入中断响应。,取指令,执行指令,中断,响应中断,执行中断服务程序,返回断点,关中断、保存断点、现场、开中断,关中断、恢复现场、断点、开中断,NO,Y,7,相关知识说明1)中断响应一旦CPU中断响应条件得到满足,则CPU进入中断周期状态,并开始响应中断。CPU响应中断意味着处理机从一个程序切换到另一个程序。2)中断服务程序为处理意外情况或有意安排的任务而编写的程序称为“中断服务程序”3)中断请求的检测与屏蔽在一个指令周期的最后一个机器周期检测当外部中断源申请中断时,CPU是否响应还要取决于其内部的中断允许寄存器IR。IR=1是允许中断申请(开中断);IR=0时禁止中断申请(关中断)。由指令STI和CLI软件设置。,8,4)中断请求触发器:当中断源发生引起中断的事件时先将它保存在设备控制器的中断请求触发器中,即将“中断触发器置1”。5)禁止中断:产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许触发器。只有该触发器为1状态时。才允许处理机响应中断;如果该触发器被清除,则不响应外部中断源申请的中断、前者叫做允许中断,后者叫做禁止中断。6)堆栈与断点的保护程序被中断的地址称为断点,需保存,以备恢复执行时使用,保存断点的地方称为栈区。栈区:内存中开辟的专用数据存取区,9,7)“中断允许触发器通过开中断STI或关中断CLI指令来置位、复位。进入中断服务程序后自动“关中断。8)中断屏蔽:当产生中断请求后,用程序方式有选择地封锁部分中断而允许其余部分中断仍得到响应,称为中断屏蔽。实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“l则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应,由各设备的中断屏蔽触发器组成中断屏蔽寄存器。9)向量(矢量)中断和中断向量(矢量)矢量中断:是根据发生中断时,CPU能够直接获得到一个中断服务程序的起始地址的方式而得名。中断矢量:实际上就是一个指针,其内容是中断服务程序起始地址。即中断服务程序起始地址的地址。,10,10)中断矢量表:微机中把全部中断矢量存放在内存的某一区域中,形成一个中断矢量表。当发生中断时,根据中断源不同,从中断矢量表中取出对应的中断矢量送给CPU的IP寄存器,CPU开始执行中断处理子程序。11)多重中断和中断优先:多重中断就是CPU在执行某一中断服务程序后,如果令IR=1,那么CPU还可以接受更高级的中断申请执行其中断服务程序.形成多重中断(也称为中断嵌套)。响应多重中断的原则是按实现设定好的各中断源的中断优先级别进行先后处理。级别高的优先处理,级别低的后处理。具体判断方法可用硬件判断或软件判断。,11,3.中断屏蔽技术的应用屏蔽技术是通过输出指令送出一个屏蔽字,有选择地允许某些中断请求、屏蔽某些中断请求。这一手段常用于如下两种场合。1)在多重中断方式中(即允许中断嵌套),当CPU响应某个中断请求后,送出一个新的屏蔽字,以禁止与该请求统一优先级或更低级优先级的其它请求。只允许比该请求优先级高的其它中断请求可以提出。2)利用屏蔽技术动态地修改优先级利用硬件排优逻辑所分配的优先级是固定的,但有时根据程序的需要临时动态的修改优先顺序。例如,要临时调整个别中断源的级别,就可利用屏蔽字将原来优先级高的设备请求暂时屏蔽。原来级别低的请求由于未被屏蔽,优先级相对提高,称为中断升级。过一段时间再恢复或再调整屏蔽字。,12,4.中断的作用和功能(1)CPU可与IO设备并行工作,提高CPU的工作效率。例如打印机。(2)利用中断来处理故障,提高了机器的可靠性。计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。(3)实现人机联系在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。利用中断系统实现人机通信是很方便、很有效的。(4)实现多道程序和分时操作计算机实现多道程序运行是提高机器效率的有效手段,多道程序的切换运行需借助于中断系统。在一道程序的运行中,由IO中断系统切换到另外一道程序运行,也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。,13,(5)实现实时处理所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。例如,在某个计算机过程控制系统中,当出现压力过大、温度过高等情况时必须及时输入到计算机进行处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中止正在执行的程序,转而去执行中断服务程序。在实际工程中,利用中断技术进行实时控制已广泛应用于各个生产领域中。(6)实现应用程序和操作系统的联系可以在用户程序中安排一条Trap指令进入操作系统,称之为软中断。其中断处理过程与其他中断类似。(7)多处理机系统各处理机间的联系在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。,中断处理,1.中断处理过程,15,I/O中断处理过程,DBR,设备选择电路,以输入为例,16,(1)关中断:由硬件自动实现、因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应。否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序。(2)保存断点和现场为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。现场信息一般指的是程序状态字中断屏蔽寄存器和CPU中某些寄存器的内容。对现场信息的处理有两种方式。一种是由硬件对现场信息进行保存和恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有的机器把断点等保存在主存固定的单元。,17,有的机器则不然,它在每次响应中断后把处理机状态字和程序计数器内容相继压入堆栈,再从指定的两个主存单元分别取出新的程序计数器内容和处理机状态字来代替,称为交换新、旧状态字方式。(3)判别中断源,转向中断服务程序。在多个中断源同时请求中断的情况下。本次实际响应的只能是优先权最高的那个中断源、所以,需进一步判别中断源,并转入相应的中断服务程序入口。(4)开中断。因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应。实现中断嵌套。(5)执行中断服务程序。不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。(6)退出中断。在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。进入中断时执行的关中断、保存断点等操作一般是由硬件实现的,它类似于一条指令,但它与一般的指令不同,不能被编写在程序中。因此,常常称为中断隐指令。,18,2.判别中断源查询法:由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志)。当遇到第一个1标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。串行排队链法:由硬件确定中断源。图10.4为中断请求逻辑图和串行排队判优先线路图。专用硬件独立请求。中断服务程序入口地址有两种方法。其一是在中断程序中设一条专门接受中断设备号的指令INTA,收到设备号后,在通过主存的跳转表产生其中断服务程序入口地址。另一种是目前广泛应用的向量中断方法。3.多重中断处理中断嵌套:在处理某一个中断的过程中又发生了新的更高级中断源的中断申请,且CUP又处于开中断状态下,CPU就要中断该服务程序的执行,转去进行新的中断处理服务程序。一般情况下与它同级的或比它低级的新中断请求不能CPU不能相应其请求,19,中断优先级的响应次序有硬件排队线路决定。一旦设计完成,系统的优先级别就决定了,但缺乏改变优先权级别的灵活性。在有优先级中断屏蔽码控制的条件下,可以不改变系统排队线路,使其中断响应次序不同。因为中断屏蔽码是由软件赋值,改变屏蔽码可以改变个设备之间中断处理次序,所以屏蔽码可看成中断处理过程中的软排队器。从中断服务程序结构看,中段服务程序可以在具体处理前被中断,所以中断处理次序可以不同于中断响应次序。这就反映了中断系统软硬件结合所带来的灵活性。,20,中断判优逻辑,分散在各个中断源的接口电路中链式排队器,集中在CPU内,(1)硬件实现(排队器),INTR1,INTR2,INTR3,INTR4,INTR1、INTR2、INTR3、INTR4优先级按降序排列,21,A、B、C优先级按降序排列,(2)软件实现(程序查询),转A的服务程序入口地址,转B的服务程序入口地址,转C的服务程序入口地址,22,中断服务程序入口地址的寻找,1.硬件向量法,向量地址12H、13H、14H入口地址200、300、400,23,2.软件查询法,M,24,中断响应,1.响应中断的条件,允许中断触发器EINT=1,2.响应中断的时间,指令执行周期结束时刻由CPU发查询信号,CPU中断查询,至排队器,25,3.中断隐指令,(1)保护程序断点,(2)寻找服务程序入口地址,(3)硬件关中断,PC,断点存于特定地址(0号地址)内,断点进栈,INT中断标记,EINT允许中断,RS触发器,26,保护现场和恢复现场,1.保护现场,2.恢复现场,保护现场,其他服务程序,恢复现场,中断返回,PUSH,视不同请求源而定,POP,中断服务程序完成,中断服务程序,中断隐指令完成,中断服务程序完成,IRET,27,1.多重中断的概念,k,l,m,k+1,l+1,m+1,程序断点k+1,l+1,m+1,中断屏蔽技术,28,2.实现多重中断的条件,中断请求,主程序,(2)优先级别高的中断源有权中断优先级别低的中断源,(1)提前设置开中断指令,29,3.屏蔽技术,(1)屏蔽触发器的作用,MASK=0(未屏蔽),INTR能被置“1”,MASKi=1(屏蔽),INTPi=0(不能被排队选中),30,(2)屏蔽字,16个中断源1、2、316按降序排列,31,(3)屏蔽技术可改变优先等级,(4)屏蔽技术的其他作用,0000101111111111,0000111111111111,6#比5#优先级高,便于程序控制,可以人为地屏蔽某个中断源的请求,32,例1假设某机有设备一、二、三和四共4个设备中断源,每个中断原具有不同的优先权,共1、2、3、4级响应优先权。设其中断源的优先级别从高到低分别为1234的顺序。每级对应1个屏蔽码。表1列出中断响应优先级与屏蔽级一致情况下的屏蔽码。表1,33,假设当CPU执行主程序过程中同时出现设备2和3两个中断请求。按排队线路,因设备2的优先级高于3,故应先响应设备2中断请求。执行设备2的中断服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论