计算机硬件技术基础(第三版)-第7章 中断

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

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

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

资源描述

第7章中断计算机硬件技术基础7.1中断的概念7.1.1概述中断是现代计算机技术领域里的一项非常重要的技术。中断是为快速改变程序的运行环境而提供的一种机制。程序控制的转换是由计算机内部事件或者是外部硬件事件启动的。所谓中断,其实是CPU在执行当前程序的过程中,由于某种随机出现的外围设备的请求,使得CPU暂时停止正在执行的程序(即中断),转去执行为外围设备服务的程序。当为外围设备服务的程序执行完后,CPU再返回到暂时停止正在执行的程序处(即断点)继续执行其原来的程序。这种中断就是通常所说的外部中断。计算机硬件技术基础Pentium的中断:有2个硬件中断INTR、NMI,和3个软件中断INT、INTO、INT3。外部中断和内部软件中断就构成了一个完整的中断系统。发出中断请求的来源非常多,不管是由于外部事件而引起的外部中断、还是由于软件执行过程而引发的内部软件中断,凡是能够提出中断请求的设备或异常故障,均被称其为中断源。Pentium把中断分成三种类型。①中断:②异常:③程序异常:计算机硬件技术基础1.实模式下的中断操作当微处理器执行完当前指令之后,它就按给定的顺序来检查下面一些条件,以便确定一个中断是否有效。①检查指令的执行;②检查是否单步执行的指令;③检查是不是一条不可屏蔽中断NMI;④检查浮点部件的段是否越界;⑤检查是不是一条可屏蔽中断INTR;⑥检查是不是一条调用中断过程指令INT。如果在检查的过程中发现一个或多个中断条件与检查的条件相符合,就按顺序执行下列操作步骤:计算机硬件技术基础(1)将标志寄存器的内容下压入栈。(2)清除标志寄存器中的允许中断标志IF位和自陷标志TF位。(3)将代码段寄存器CS的内容下压入栈。(4)将指令指针寄存器IF的内容下压入栈。(5)将中断向量的内容取出,并将其送入指令指针寄存器IF和代码段寄存器CS.计算机硬件技术基础2.保护模式下的中断操作保护模式下的中断操作与实模式下的中断操作几乎是一样的,但二者的中断向量表有所不同。1.在实模式下,使用的是中断向量。2.而在保护模式下,使用的是保存在中断描述符表IDT中的中断描述符。计算机硬件技术基础7.1.2中断系统中断系统的作用(1)实现分时操作:(2)处理异常事故:(3)实现实时操作:计算机硬件技术基础2.中断响应和中断处理过程不论是硬件中断还是软件中断,都是通过调用中断服务程序或中断管理程序为中断服务。系统内存在着多个中断源,必须为每个中断源,预先编好中断处理程序中断进行处理。对于多个中断请求,通常的做法是将中断源按优先级别的高低将其分成几级,中断系统则是根据中断源级别的高低给以响应。当有多个“中断请求”存在时,中断系统是按中断源优先级别的高低响应中断计算机硬件技术基础7.2异常与中断中断是在程序执行期间随着硬件信号一起而随机出现。而异常则是在执行引起异常的指令时产生。不论是中断还是异常均有两个中断源:7.2.1中断源分类1.中断(1)可屏蔽中断INTR。可屏蔽中断是硬件中断,是从Pentium的管脚INTR输入端上接收的中断请求信号(2)不可屏蔽中断NMI不可屏蔽中断也是硬件中断,是从Pentium的NMI管脚上接收到的输入信号计算机硬件技术基础2.异常异常是由微处理器检测到的。根据报告异常的方式以及是否支持重新启动引起异常的指令,可将异常分为故障、自陷和异常终止三种类型。(1)故障(faults)是指在该指令中检测到异常之前,在指令边界处报告的异常。(2)自陷(traps)是指在指令中检测到异常之后马上就在指令边界处报告的异常。(3)异常终止(aborts)是指不总是报告引起异常的指令的位置,且不允许重新启动引起异常的程序。计算机硬件技术基础3.程序异常Pentium系统内的溢出中断INTO、INT3(中断类型3)、INTn(中断类型n),以及按界检查数组下标BOUND指令等,均可触发异常,虽然也把这些指令称之为“软中断”,但是,Pentium是把它们当作异常来处理的。计算机硬件技术基础7.2.2中断控制器可编程中断控制器82C59A负责对Pentium微处理器系统的中断进行管理。一个单独的82C59A中断控制器可从多达8个外部中断源中接受中断请求。而若把几个82C59A芯片串接起来,则它们所能接收的中断请求可达64个之多。82C59A首先分辨出各现役中断的优先级,然后中断微处理器的操作,并把一个用于识别中断源的代码送给微处理器。计算机硬件技术基础7.2.3异常和中断向量Pentium微处理器把每个不同类型的中断或异常与识别号一一对应联系起来,以便于识别,把这个识别号称之为向量。为不可屏蔽中断和异常分配的向量在0~31之间。向量号说明0除法错1调试异常2不可屏蔽中断3断点4被检测出的INTO上溢5超出了BOUND范围6无效操作码7协同处理器器不存在8双故障9协同处理器越段运行(保留)10无效任务状态段11段不存在12堆栈段超界限故障13一般保护故障14页故障15保留,未使用16浮点错17对准检查18机器检查,在Pentium~Pentium4中激活系统存储器管理模式中断19~31保留,未使用32~255可屏蔽中断计算机硬件技术基础7.3允许及禁止中断Pentium在一定的条件和标志设置下将禁止某些类型的中断和异常。7.3.1不可屏蔽中断对未来的不可屏蔽中断的屏蔽当执行一个不可屏蔽中断的中断服务程序时,在下一条中断返回IRET指令执行之前,Pentium将禁止对处理中断的过程或任务进行另外的调用计算机硬件技术基础7.3.3恢复标志位RF对调试故障的屏蔽Pentium微处理器的标志寄存器EFLAGS中的恢复标志RF标志位,用来防止对一个指令断点故障进行多次服务。计算机硬件技术基础7.4中断描述符表7.4.1异常和中断同时存在时的优先级如果在一指令边界处有一个以上的未决异常或中断,则微处理器将按预先定好的顺序为它们提供服务。表中列出了各类异常和中断源的优先级。虽然这些优先级在整个体系结构之内是一致的,但每一级别之内的异常在实现时则是依微处理器而定,不同的微处理器其处理顺序是不一样的。计算机硬件技术基础优先级类说明最高1类上一条指令的自陷----断点----调试异常(标志寄存器上的自陷标志位TF=1,任务状态段TSS上的T位被置成1,或数据/输入输出的断点)2类外部中断------不可屏蔽中断------可屏蔽中断3类预取下一条指令时的故障-----代码断点故障-----代码段越界-----预取时的页故障4类下一条指令译码时故障----非法操作码----指令长度大于15个字节----协处理器不能使用最低5类执行指令时出现的故障----一般检测故障----浮点错(来自前一条浮点指令)----上溢中断----BOUND----无效任务状态段----段不存在----堆栈异常----一般保护异常-----数据页故障----对准检查计算机硬件技术基础7.4.2中断描述符表IDT中断描述符表IDT把每个异常或中断向量、及其与其相对应的中断服务程序、或任务的描述符联系了起来。中断描述符表也是一种由大小为8个字节的描述符组成的一个描述符阵列。由于仅有256个向量,所以在中断描述符表中的描述符个数不会多于256个,但可以少于256个。中断描述符表可驻留在物理存储器的任何位置上,图展示了微处理器利用中断描述符表寄存器IDTR装载中断描述符表的情况。中断描述符表寄存器IDTR为中断描述符表保存着一个32位基地址和一个16位的段界限值。计算机硬件技术基础中断#N的中断门中断#3的中断门中断#2的中断门中断#1的中断门中断描述符表寄存器0150160470中断描述符表中断描述符表界限中断描述符表基地址中断描述符表寄存器在存储器中安置中断描述符表计算机硬件技术基础7.4.3中断描述符表内描述符在中断描述符表内,配备有任务门描述符、中断门描述符、自陷门描述符,这样三种类型的描述符:图中展示出了任务门描述符、中断门描述符、自陷门描述符这三种类型描述符的格式。从图中可以看出,中断描述符表中的任务门描述符与全局描述符表和局部描述符表中的任务门描述符是一样的00101保留DPLP任务状态段选择符078121514133116任务门描述符保留保留计算机硬件技术基础01110000保留DPLP偏移量31~16偏移量15~00段选择符40781215141353116中断门描述符01111000保留DPLP偏移量31~16偏移量15~00段选择符40781215141353116自陷门描述符计算机硬件技术基础7.5中断任务和中断过程正像调用过程指令CALL,既可以调用一个过程又可以调用一项任务一样,一个异常中断也可以把一个中断服务程序,或当作过程或当作任务进行调用。若Pentium找到的是一个中断门描述符或自陷门描述符,则它将以一种与用CALL指令调用一个调用门相同的方式,调用与其对应的中断处理程序。若Pentium找到的是一个任务门描述符,则它将以一种与用CALL指令调用一个任务门描述符相同的方式引起一次任务的转换过程。计算机硬件技术基础7.5.1中断过程在运行的过程之中若出现了中断,Pentium就利用本次中断的中断向量,在中断描述符表中寻找这次中断的描述符。通过中断描述符表中的中断门描述符或自陷门描述符,对中断服务程序的访问是间接访问,如图所示。中断门或自陷门段描述符目标代码段中断描述符表中断服务程序中断向量段选择符基地址偏移量全局描述符表或局部描述符表计算机硬件技术基础7.5.2中断任务正像图中所示那样,通过中断描述符表中的任务门描述符对任务进行的是间接访问,用任务门描述符中的段选择符对在全局描述符表GDT中的一个任务状态段TSS描述符进行寻址。任务状态段TSS中断描述符表IDT中断向量TSS基地址全局描述符表GDT任务状态段TSS选择符任务门TSS描述符

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

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

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

×
保存成功