《微机原理与接口技术(第2版)》第06章中断技术_第1页
《微机原理与接口技术(第2版)》第06章中断技术_第2页
《微机原理与接口技术(第2版)》第06章中断技术_第3页
《微机原理与接口技术(第2版)》第06章中断技术_第4页
《微机原理与接口技术(第2版)》第06章中断技术_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第6章中断技术本章知识要点:

本章从计算机系统的角度说明了什么是中断,为什么在计算机系统内要使用中断技术等概念,描述了在以Pentium为平台的微机系统内的中断类型,以及允许中断和禁止中断的条件所在,叙述了Pentium在处理中断时采用的中断技术—中断描述符表以及中断描述符的作用。最后说明了Pentium处理中断时的过程。使目前微机领域内的先进技术与实际应用紧密联系在一起。本章的重点是中断的概念,在计算机系统内为什么要使用中断,和中断处理过程。6.1中断的概念

6.1.1概述

中断是现代计算机技术领域里的一项非常重要的技术。中断是为快速改变程序的运行环境而提供的一种机制。程序控制的转换是由计算机内部事件或者是外部硬件事件启动的。所谓中断,其实是CPU在执行当前程序的过程中,由于某种随机出现的外围设备的请求,使得CPU暂时停止正在执行的程序(即中断),转去执行为外围设备服务的程序。当为外围设备服务的程序执行完后,CPU再返回到暂时停止正在执行的程序处(即断点)继续执行其原来的程序。这种中断就是通常所说的外部中断。1.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中的中断描述符。6.1.2中断系统中断系统的作用

(1)实现分时操作:

(2)处理异常事故:

(3)实现实时操作:

2.中断响应和中断处理过程

不论是硬件中断还是软件中断,都是通过调用中断服务程序或中断管理程序为中断服务。系统内存在着多个中断源,必须为每个中断源,预先编好中断处理程序中断进行处理。对于多个中断请求,通常的做法是将中断源按优先级别的高低将其分成几级,中断系统则是根据中断源级别的高低给以响应。当有多个“中断请求”存在时,中断系统是按中断源优先级别的高低响应中断

6.2异常与中断

中断是在程序执行期间随着硬件信号一起而随机出现。而异常则是在执行引起异常的指令时产生。不论是中断还是异常均有两个中断源:

6.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是把它们当作异常来处理的。

6.2.2

异常和中断向量

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可屏蔽中断6.3允许及禁止中断

Pentium在一定的条件和标志设置下将禁止某些类型的中断和异常。6.3.1不可屏蔽中断对未来的不可屏蔽中断的屏蔽

当执行一个不可屏蔽中断的中断服务程序时,在下一条中断返回IRET指令执行之前,Pentium将禁止对处理中断的过程或任务进行另外的调用

6.3.2IF屏蔽INTR当标志寄存器上的允许中断标志IF位被清成“0”时,可屏蔽中断请求信号INTR上的中断信号被忽略。当IF标志被置成“1”时,INTR中断才可得到服务。6.3.3恢复标志位RF对调试故障的屏蔽

Pentium微处理器的标志寄存器EFLAGS中的恢复标志RF标志位,用来防止对一个指令断点故障进行多次服务。

6.4中断描述符表

6.4.1异常和中断同时存在时的优先级如果在一指令边界处有一个以上的未决异常或中断,则微处理器将按预先定好的顺序为它们提供服务。表中列出了各类异常和中断源的优先级。虽然这些优先级在整个体系结构之内是一致的,但每一级别之内的异常在实现时则是依微处理器而定,不同的微处理器其处理顺序是不一样的。

优先级类说

明最高1类上一条指令的自陷

----断点----调试异常(标志寄存器上的自陷标志位TF=1,任务状态段TSS上的T位被置成1,或数据/输入输出的断点)2类外部中断------不可屏蔽中断------可屏蔽中断3类预取下一条指令时的故障-----代码断点故障-----代码段越界-----预取时的页故障4类下一条指令译码时故障----非法操作码----指令长度大于15个字节----协处理器不能使用最低5类执行指令时出现的故障

----一般检测故障

----浮点错(来自前一条浮点指令)

----上溢中断

----BOUND----无效任务状态段

----段不存在

----堆栈异常

----一般保护异常

-----数据页故障

----对准检查6.4.2中断描述符表IDT

中断描述符表IDT把每个异常或中断向量、及其与其相对应的中断服务程序、或任务的描述符联系了起来。中断描述符表也是一种由大小为8个字节的描述符组成的一个描述符阵列。由于仅有256个向量,所以在中断描述符表中的描述符个数不会多于256个,但可以少于256个。中断描述符表可驻留在物理存储器的任何位置上,图展示了微处理器利用中断描述符表寄存器IDTR装载中断描述符表的情况。中断描述符表寄存器IDTR为中断描述符表保存着一个32位基地址和一个16位的段界限值。

中断#N的中断门

中断#3的中断门中断#2的中断门中断#1的中断门中断描述符表寄存器0150160470中断描述符表中断描述符表界限中断描述符表基地址中断描述符表寄存器在存储器中安置中断描述符表

6.4.3中断描述符表内描述符在中断描述符表内,配备有任务门描述符、中断门描述符、自陷门描述符,这样三种类型的描述符:图中展示出了任务门描述符、中断门描述符、自陷门描述符这三种类型描述符的格式。从图中可以看出,中断描述符表中的任务门描述符与全局描述符表和局部描述符表中的任务门描述符是一样的00101保留DPL

P任务状态段选择符078121514133116任务门描述符保留保留011100

0

0

保留DPL

P偏移量31~16偏移量15~00段选择符40781215141353116中断门描述符011110

0

0

保留DPL

P偏移量31~16偏移量15~00段选择符40781215141353116自陷门描述符

6.5中断任务和中断过程

正像调用过程指令CALL,既可以调用一个过程又可以调用一项任务一样,一个异常中断也可以把一个中断服务程序,或当作过程或当作任务进行调用。

若Pentium找到的是一个中断门描述符或自陷门描述符,则它将以一种与用CALL指令调用一个调用门相同的方式,调用与其对应的中断处理程序。

6.5.1中断过程

在运行的过程之中若出现了中断,Pentium就利用本次中断的中断向量,在中断描述符表中寻找这次中断的描述符。通过中断描述符表中的中断门描述符或自陷门描述符,对中断服务程序的访问是间接访问,如图所示。

中断门或自陷门段描述符目标代码段中断描述符表中断服务程序中断向量段选择符基地址偏移量全局描述符表或局部描述符表6.5.2中断任务正像图中所示那样,通过中断描述符表中的任务门

温馨提示

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

评论

0/150

提交评论