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

下载本文档

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

文档简介

1、计算机组成原理1程序中断控制技术l 中断:计算机暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫作“中断”。l 中断系统是计算机实现中断功能的软、硬件总称。在CPU一侧配置了中断机构,在设备一侧配置了中断控制接口,在软件上设计了相应的中断服务程序。l 中断过程由中断请求、中断响应、状态保护、中断屏蔽、中断处理、恢复和返回组成。计算机组成原理2I/O I/O 中断的产生中断的产生以打印机为例以打印机为例发中断请求 空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回 启动

2、打印机传送数据传送数据CPUCPU CPU 与打印机并行工作与打印机并行工作计算机组成原理3中断的概念l 在机器中引起中断产生的事件或发生中断请求的来源统称为中断源。l 硬件中断 是指由某个硬件中断请求信号引起的中断 ,硬件中断通过是中断请求信号形成向量地址。向量地址是中断服务程序入口地址的地址。l 软中断 是指由软中断指令所引起的中断,软中断由指令提供中断号n,再转换为向量地址。l 强迫中断 是指由于故障、外部请求等所引起的强迫性中断,非程序本身安排的,这种请求的提出和相应的服务处理都是随机的。l 自愿中断即软中断 这是程序有意安排的,即以事先在程序某处设置断点,以中断方式引出服务程序,实现

3、某种功能。如单步调试程序。1.1.中断源中断源计算机组成原理4 l 内部中断:指来自主机内部的中断请求,如CPU内部硬件故障、软中断、程序出错、运算产生故障引起的中断、控制器产生的中断。即溢出、除数为零、校验错、非法格式、虚拟存储器页面失效、 非法指令、调用失败、故障中断等。l 外部中断:由CPU外部产生的中断键盘中断、打印机中断、磁盘存储器申请中断、电源故障、主机设备故障、定时时钟中断、显示器中断、打印机中断等。 可屏蔽中断INTR 一般将外围设备中断作为可屏蔽中断,CPU通过屏蔽技术施加以控制。 不可屏蔽中断NMI 这是一种必须响应处理的中断请求,作为非屏蔽中断,不受CPU屏蔽。软中断发生

4、于CPU内部,不属于外中断范畴,从概念上将它也是不可屏蔽的。计算机组成原理5l 向量中断 CPU响应中断后,由中断机构自动将向量地址通知处理机,由向量地址指明中断向量位置并实现向量切换,不必经过处理程序来查询中断源的中断功能,称为向量中断。即直接依靠硬件来实现根据中断源获得服务程序入口地址,以实现程序切换。向量中断的特点是根据中断请求信号能快速地、直接转向对应的服务程序。因此,现代计算机基本上多具有向量中断能力。l 非向量中断 CPU不能直接提供中断服务程序入口地址,而是CPU在响应中断时只产生一个固定的地址,由此读取中断查询程序的入口地址,从而转向查询程序;通过执行查询程序,确定被优先批准的

5、中断源,然后分支进入相应的中断服务程序。非向量中断也称为单向量中断。计算机组成原理62. CPU响应中断必须满足的条件l 中断源有中断请求中断寄存器l CPU允许接受中断请求开中断中断屏蔽寄存器(判优)禁止中断l 一般一条指令执行完毕后CPU才能响应中断,并且当前执行的不是停机指令,又没有优先权更高的请求,则CPU进入中断周期状态,进入中断响应。取指令执行指令中断响应中断执行中断服务程序返回断点关中断、保存断点、现场、开中断关中断、恢复现场、断点、开中断NOY计算机组成原理7相关知识说明 1)中断响应l 一旦CPU中断响应条件得到满足,则CPU进入中断周期状态,并开始响应中断。CPU响应中断意

6、味着处理机从一个程序切换到另一个程序。 2)中断服务程序l 为处理意外情况或有意安排的任务而编写的程序称为“中断服务程序”l 3)中断请求的检测与屏蔽在一个指令周期的最后一个机器周期检测当外部中断源申请中断时,CPU是否响应还要取决于其内部的中断允许寄存器IR。 IR=1 是允许中断申请(开中断);IR=0 时禁止中断申请(关中断)。由指令STI和CLI软件设置。 计算机组成原理8l 4)中断请求触发器: 当中断源发生引起中断的事件时先将它保存在设备控制器的中断请求触发器中,即将“中断触发器置1”。l 5)禁止中断: 产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断

7、。一般在CPU内部设有一个“中断允许触发器。只有该触发器为1状态时。才允许处理机响应中断;如果该触发器被清除,则不响应外部中断源申请的中断、前者叫做允许中断,后者叫做禁止中断。l 6)堆栈与断点的保护程序被中断的地址称为断点,需保存,以备恢复执行时使用,保存断点的地方称为栈区。栈区:内存中开辟的专用数据存取区计算机组成原理9l 7)“中断允许触发器通过开中断ST I或关中断CLI指令来置位、复位。进入中断服务程序后自动“关中断。 l 8)中断屏蔽: 当产生中断请求后,用程序方式有选择地封锁部分中断而允许其余部分中断仍得到响应,称为中断屏蔽。 实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该

8、设备的中断请求。具体说,用程序方法将该触发器置“l则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应,由各设备的中断屏蔽触发器组成中断屏蔽寄存器。l 9)向量(矢量)中断和中断向量(矢量)矢量中断:是根据发生中断时,CPU能够直接获得到一个中断服务程序的起始地址的方式而得名。中断矢量:实际上就是一个指针,其内容是中断服务程序起始地址。即中断服务程序起始地址的地址。计算机组成原理10l 10)中断矢量表:微机中把全部中断矢量存放在内存的某一区域中,形成一个中断矢量表。当发生中断时,根据中断源不同,从中断矢量表中取出对应的中断矢量送给CPU的IP寄存器,CPU开始执行中断处理子

9、程序。l 11)多重中断和中断优先:多重中断就是CPU在执行某一中断服务程序后,如果令IR=1,那么 CPU还可以接受更高级的中断申请执行其中断服务程序.形成多重中断(也称为中断嵌套)。 响应多重中断的原则是按实现设定好的各中断源的中断优先级别进行先后处理。级别高的优先处理,级别低的后处理。具体判断方法可用硬件判断或软件判断。计算机组成原理11 3.中断屏蔽技术的应用l 屏蔽技术是通过输出指令送出一个屏蔽字,有选择地允许某些中断请求、屏蔽某些中断请求。这一手段常用于如下两种场合。l 1)在多重中断方式中(即允许中断嵌套),当CPU响应某个中断请求后,送出一个新的屏蔽字,以禁止与该请求统一优先级

10、或更低级优先级的其它请求。只允许比该请求优先级高的其它中断请求可以提出。l 2)利用屏蔽技术动态地修改优先级 利用硬件排优逻辑所分配的优先级是固定的,但有时根据程序的需要临时动态的修改优先顺序。例如,要临时调整个别中断源的级别,就可利用屏蔽字将原来优先级高的设备请求暂时屏蔽。原来级别低的请求由于未被屏蔽,优先级相对提高,称为中断升级。过一段时间再恢复或再调整屏蔽字。计算机组成原理12 4. 中断的作用和功能(1)CPU可与 IO设备并行工作,提高CPU的工作效率。例如打印机。(2)利用中断来处理故障,提高了机器的可靠性。 计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中

11、断后自动进行处理。(3)实现人机联系 在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。利用中断系统实现人机通信是很方便、很有效的。(4)实现多道程序和分时操作 计算机实现多道程序运行是提高机器效率的有效手段,多道程序的切换运行需借助于中断系统。在一道程序的运行中,由IO中断系统切换到另外一道程序运行,也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。计算机组成原理13 (5)实现实时处理 所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。例如,在某个计算机过程控制系统中,当出现压力过

12、大、温度过高等情况时必须及时输入到计算机进行处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中止正在执行的程序,转而去执行中断服务程序。在实际工程中,利用中断技术进行实时控制已广泛应用于各个生产领域中。 (6)实现应用程序和操作系统的联系 可以在用户程序中安排一条Trap指令进入操作系统,称之为软中断。其中断处理过程与其他中断类似。 (7)多处理机系统各处理机间的联系 在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。计算机组成原理中断处理1.中断处理过程中断处理过程 关 中 断 保存断点、保存现场 判别中断条件 转入中断服务程序 开中断

13、执行中断服务程序 关中断 恢复现场、恢复断点 开中断 返回断点 计算机组成原理15设备选择电路DBR DQ&数据线启动命令地址线SEL输入数据启动设备设备工作 结束&1QQDINTR BQQ MASK设备编码器排队器中断查询来自高一级 的排队器至低一级的排队器向量地址中断响应 INTA中断请求命令译码I/O 中断处理过程10&DBR设备选择电路01以输入为例计算机组成原理16l (1)关中断:由硬件自动实现、因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应。否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地

14、恢复现场并继续执行现行程序。l (2)保存断点和现场 为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。 现场信息一般指的是程序状态字中断屏蔽寄存器和CPU中某些寄存器的内容。对现场信息的处理有两种方式。一种是由硬件对现场信息进行保存和恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。 对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有的机器把断点等保存在主存固定的单元。 计算机组成原理17l 有的机器则不然,它在每次响应中断后把处理机状态字和程序计数器内容相继压入堆栈,再从指定的两个主存单元分别取出新的程序计数器内容

15、和处理机状态字来代替,称为交换新、旧状态字方式。l (3)判别中断源,转向中断服务程序。在多个中断源同时请求中断的情况下。本次实际响应的只能是优先权最高的那个中断源、所以,需进一步判别中断源,并转入相应的中断服务程序入口。l (4)开中断。因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应。实现中断嵌套。l (5)执行中断服务程序。不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。l (6)退出中断。在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。l 进入中断时执行的关中断、保存断点等操作一般是由硬件实现的,

16、它类似于一条指令, 但它与一般的指令不同,不能被编写在程序中。因此,常常称为中断隐指令。计算机组成原理182.判别中断源l 查询法 :由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志)。当遇到第一个1标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。l 串行排队链法 :由硬件确定中断源。图10.4为中断请求逻辑图和串行排队判优先线路图。专用硬件独立请求。 中断服务程序入口地址有两种方法。其一是在中断程序中设一条专门接受中断设备号的指令INTA,收到设备号后,在通过主存的跳转表产生其中断服务程序入口地址。另一种是目前广泛应用的向量中

17、断方法。3.多重中断处理中断嵌套:在处理某一个中断的过程中又发生了新的更高级中断源的中断申请,且CUP又处于开中断状态下,CPU就要中断该服务程序的执行,转去进行新的中断处理服务程序。一般情况下与它同级的或比它低级的新中断请求不能CPU不能相应其请求计算机组成原理19l 中断优先级的响应次序有硬件排队线路决定。一旦设计完成,系统的优先级别就决定了,但缺乏改变优先权级别的灵活性。在有优先级中断屏蔽码控制的条件下,可以不改变系统排队线路,使其中断响应次序不同。因为中断屏蔽码是由软件赋值,改变屏蔽码可以改变个设备之间中断处理次序,所以屏蔽码可看成中断处理过程中的软排队器。从中断服务程序结构看,中段服

18、务程序可以在具体处理前被中断,所以中断处理次序可以不同于中断响应次序。这就反映了中断系统软硬件结合所带来的灵活性。计算机组成原理20中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器 集中集中 在在 CPU CPU 内内(1) (1) 硬件实现(排队器)硬件实现(排队器) 1 1 1 & 1 & 1 &INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级 按 降序 排列 INTP1INTP2INTP3INTP4计算机组成原理21A A、B B、C C 优先级按

19、优先级按 降序降序 排列排列(2) (2) 软件实现(程序查询)软件实现(程序查询)否是否 A 请求?是否 B 请求?是否 C 请求?转 A 的服务程序入口地址转 B 的服务程序入口地址转 C 的服务程序入口地址是是是否否计算机组成原理22中断服务程序入口地址的寻找中断服务程序入口地址的寻找1. 1. 硬件向量法硬件向量法入口地址 200入口地址 300入口地址 40012 H13 H14 H主存12 H13 H14 HJMP 200JMP 300JMP 400主存向量地址形成部件中断向量排队器输出向量地址 12H、13H、14H入口地址 200、 300、 400计算机组成原理232. 2.

20、 软件查询法软件查询法中断识别程序(入口地址 M)地 址说 明指 令 M JMP 1# SR1# D = 1 转1# 服务程序 SKP DZ 2# JMP 2# SR2# D = 0 跳2# D = 1 转2# 服务程序 SKP DZ 8# JMP 8# SR8# D = 0 跳8# D = 1 转8# 服务程序八个中断源八个中断源 1 1、2 2、 8 8 按按 降序降序 排列排列 SKP DZ 1#1# D = 0 跳(D为完成触发器)计算机组成原理24中断响应中断响应1. 1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 12. 2. 响应中断的响应中断的

21、时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU CPU 发查询信号发查询信号 CPU中断查询INTR1DQINTR2DQINTRnDQ中断源 1中断源 2中断源 n至排队器计算机组成原理253. 3. 中断隐指令中断隐指令(1) (1) 保护程序断点保护程序断点(2) (2) 寻找服务程序入口地址寻找服务程序入口地址(3) (3) 硬件硬件 关中断关中断向量地址形成部件INTSQREINTSQRPC 1 &1排队器断点存于断点存于 特定地址(特定地址( 0 0 号地址)号地址) 内内 断点断点 进栈进栈INT INT 中断标记中断标记EINT EINT 允许中断允许中断R

22、S R S 触发器触发器向量地址PC(硬件向量法)中断识别程序 入口地址MPC(软件查询法)计算机组成原理26保护现场和恢复现场保护现场和恢复现场1. 保护现场2. 恢复现场寄存器 内容断点保护现场其他服务程序恢复现场中断返回PUSH视不同请求源而定POP中断服务程序 完成中断服务程序中断隐指令 完成中断服务程序 完成IRET计算机组成原理271. 1. 多重中断的概念多重中断的概念klmk +1l +1m +1第一次 中断第二次 中断第三次 中断程序断点 k+1 , l+1 , m+1中断屏蔽技术中断屏蔽技术计算机组成原理282. 2. 实现多重中断的条件实现多重中断的条件B, CA中断请求

23、主程序(2) (2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) (1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序( A、B、 C、 D 优先级按 降序 排列)D计算机组成原理29 &3. 3. 屏蔽技术屏蔽技术(1) (1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)未屏蔽)INTR INTR 能被置能被置 “1” “1” 1 & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MA

24、SK4DQ 1 DINTR MASKQCPU查询MASKi = 1 (屏蔽)屏蔽)INTPINTPi i = 0 = 0(不能被排队选中)不能被排队选中)计算机组成原理30(2) (2) 屏蔽字屏蔽字优先级屏 蔽 字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0

25、 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112345615161616个中断源个中断源 1 1、2 2、3 3 16 16 按按 降序降序 排列排列计算机组成原理31(3) (3) 屏蔽技术可改变优先等级屏蔽技术可改变优先等级(4) (4) 屏蔽技术的其他作用屏蔽技术的其他作用0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 6# 比 5# 优先级高便于程序控制便于程序控制可以可以 人为地屏蔽人为地屏蔽 某个中断源的请求某个中断源的请求计算机组成

26、原理32l 例1 假设某机有设备一、二、三和四共4个设备中断源,每个中断原具有不同的优先权,共1、2、3、4级响应优先权。设其中断源的优先级别从高到低分别为1234的顺序。每级对应1个屏蔽码。表1列出中断响应优先级与屏蔽级一致情况下的屏蔽码。 l 表1 程序级别 屏蔽码 一 二 三 四 说明 1级 2级 3级 4级 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0为开放 1为屏蔽计算机组成原理33 假设当CPU执行主程序过程中同时出现设备2和3两个中断请求。按排队线路,因设备2的优先级高于3,故应先响应设备2中断请求。执行设备2的中断服务程序并保护现场和原屏蔽字后,将2级程序的屏蔽码置入各接口屏蔽寄存器,它将屏蔽3级的中断请求。执行完2级服务程序后恢复原屏蔽码,返回主程序后再响应3级的中断请求。 此时若4级又提出中断请求,CPU暂不予理睬。3级中断程序执行完后再响应4级的中断。由图10.5可知,纵向表示各中断源申请中断的先后时间,横向表示

温馨提示

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

最新文档

评论

0/150

提交评论