教案15计算机硬件技术基础.docx

上传人:b****4 文档编号:3919632 上传时间:2023-05-06 格式:DOCX 页数:20 大小:111.74KB
下载 相关 举报
教案15计算机硬件技术基础.docx_第1页
第1页 / 共20页
教案15计算机硬件技术基础.docx_第2页
第2页 / 共20页
教案15计算机硬件技术基础.docx_第3页
第3页 / 共20页
教案15计算机硬件技术基础.docx_第4页
第4页 / 共20页
教案15计算机硬件技术基础.docx_第5页
第5页 / 共20页
教案15计算机硬件技术基础.docx_第6页
第6页 / 共20页
教案15计算机硬件技术基础.docx_第7页
第7页 / 共20页
教案15计算机硬件技术基础.docx_第8页
第8页 / 共20页
教案15计算机硬件技术基础.docx_第9页
第9页 / 共20页
教案15计算机硬件技术基础.docx_第10页
第10页 / 共20页
教案15计算机硬件技术基础.docx_第11页
第11页 / 共20页
教案15计算机硬件技术基础.docx_第12页
第12页 / 共20页
教案15计算机硬件技术基础.docx_第13页
第13页 / 共20页
教案15计算机硬件技术基础.docx_第14页
第14页 / 共20页
教案15计算机硬件技术基础.docx_第15页
第15页 / 共20页
教案15计算机硬件技术基础.docx_第16页
第16页 / 共20页
教案15计算机硬件技术基础.docx_第17页
第17页 / 共20页
教案15计算机硬件技术基础.docx_第18页
第18页 / 共20页
教案15计算机硬件技术基础.docx_第19页
第19页 / 共20页
教案15计算机硬件技术基础.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

教案15计算机硬件技术基础.docx

《教案15计算机硬件技术基础.docx》由会员分享,可在线阅读,更多相关《教案15计算机硬件技术基础.docx(20页珍藏版)》请在冰点文库上搜索。

教案15计算机硬件技术基础.docx

教案15计算机硬件技术基础

计算机硬件技术基础第15讲

章节名称

第4章中断与DMA

第2节中断的概念与中断处理

目的要求

1.理解中断的基本概念

2.理解中断的一般处理过程

重点

难点

重点:

中断的概念、中断处理过程、中断排队方法、转入中断服务程序的方法。

难点:

中断排队方法、转入中断服务程序的方法。

方法

手段

多媒体课件

课堂提问

1.中断的定义

2.比较软件和硬件查找中断源及优先级排队的方法

3.中断标识码与中断矢量表的对应关系

本次课内容总结

习题

1、2、3、4、5、6、7

参考

资料

授 课 内 容

主要内容

⏹中断的引入

⏹中断的概念

⏹中断的一般处理过程

⏹响应中断的条件

⏹中断系统的基本设置

⏹查找中断源及其中断排队的思想

以软件为主的方法

以硬件为主的方法

链式排队逻辑

优先权编码器比较器的排队逻辑

⏹转入中断服务程序入口的方法

⏹中断服务程序的功能与结构

1、中断的引入

在输入输出系统中,为解决快速主机和慢速外设的矛盾,提高CPU的效率,引入了中断操作。

CPU在正常程序的某处启动外设工作,然后继续执行正常程序,外设准备好数据传送时,通过硬件向CPU发出请求(中断请求),CPU响应外设的中断请求,暂停正常程序的执行,先处理该外设的数据传送操作(执行该外设的数据传送程序),数据传送完成后,CPU再回到正常程序的中断处,继续执行正常程序,而此时外设又开始了下一个数据的准备周期。

因此,引入中断技术,可以使外设在准备数据的过程中,CPU仍能够执行正常程序,即外设准备数据与CPU执行正常程序并行工作。

但中断技术发展到今天,已不再仅限于只能由外设的硬件产生和只能解决快速主机和慢速外设的矛盾问题,在分时操作,故障处理,实时时钟,软件中断,调试程序等各方面都得到了很好地应用,已成为计算机系统必不可少的功能部件之一。

比如:

(1)分时操作。

有了中断系统,CPU可以命令多个外部设备同时工作,CPU分时控制这些外设,大大提高了CPU的吞吐率。

(2)实现实时处理。

当计算机用于实时控制,系统要求计算机为它服务的时间是随机的,而中断系统中这种请求--响应模式正好迎合了实时系统的需求。

(3)故障处理。

计算机在运行过程中,往往会出现一些故障,如电源掉电、存储出错、运算溢出等。

有了中断系统,当出现上述情况时,CPU可以随时转去执行故障处理程序,自行处理故障而不必停机。

随着微型计算机的发展,中断系统不断增加新的功能,中断系统甚至可以实现计算机系统中软硬件资源的自动管理。

2、中断与中断系统

现在,我们重新给中断下一个相对比较完整的定义:

中断是指由CPU内/外部事件引起或由程序的预先安排,使CPU中断正在运行的正常程序(主程序),而转到为该内部/外部事件或预先安排的事件服务程序,待服务完毕,再返回被暂时中断的正常程序处继续执行正常程序的过程。

在这个定义中,需要强调的是:

(1)引起中断的事件或中断的来源,称之为中断源。

显然,中断源可以是CPU外部事件(一般由外部硬件产生)、CPU内部事件(内部软硬件故障、内部某些状态的改变)、程序的预先安排。

常见的中断源有:

✓一般的I/O设备,如键盘、打印设备。

✓数据通道中断源,如磁盘、磁带等。

✓实时时钟。

在控制系统中,常遇到时间控制。

若采用CPU执行一段延时程序来实现,一方面在这段时间内CPU不能做其他工作,降低了CPU的利用率;另一方面计时也不十分精确。

所以控制系统中常采用外部时钟电路作精确定时。

需要定时时,CPU发出命令,时钟电路开始工作,待规定的时间到了以后,时钟电路发出中断申请,由CPU加以处理。

✓故障源。

例如电源掉电,就要求把正在执行程序的状态保存下来,以便重新供电后能从中断处继续运行。

另外,在微型机中,RAM普遍使用半导体存储器,故电源掉电后,必须接入备用的电池供电电路,以保持存储器中的信息。

因此,当系统电源电压下降到一定值时,电源监控电路便发出中断申请,由计算机的中断系统执行上述各项操作。

✓为了调试程序而设置的中断源。

一个新的程序编制好以后,必须经过反复调试才能正确可靠地工作。

在程序调试中,为了检查中间结果,或寻找问题所在,往往通过在程序中设置断点,或采用单步方式工作,这些都是通过中断实现的。

(2)正常程序的中断处称之为断点,一般为CPU下一条将要执行的指令的地址(CS:

IP)。

显然,这个断点必须保存好,以便在完成中断服务时回到正常程序处继续往下执行。

(3)插入到正常程序执行中间的事件服务程序称之为中断服务程序。

这也是中断的目的所在。

(4)现场:

断点处各工作寄存器和重要存储单元的状态。

中断响应时应保护现场,中断返回时应恢复现场。

必须要保护的现场是正常程序和中断服务程序中都要使用的那些寄存器和工作单元。

中断系统

中断的实现需要CPU内部和外部、软件和硬件的密切配合。

我们把能够实现中断全部功能的软件、硬件的总称称为中断系统。

不同的计算机系统,其中断系统得设置也各不相同。

中断系统的功能

不同计算机的中断系统,尽管其具体实现可能不尽一样,但中断系统的基本功能是相同的。

中断系统的基本功能如下:

(1)能实现中断响应、中断处理(服务)、中断返回和中断屏蔽。

这是中断系统最基本的功能。

图8-2中断嵌套示意图

(2)能实现中断优先级排队(管理)。

即当有多个中断源同时申请中断时,CPU能够优先响应最紧急的中断申请。

(3)能实现中断嵌套。

即当CPU正在为优先级较低的中断源服务时,具有较高优先级的中断源提出中断申请,此时中断系统应当允许较高优先级的中断源中断较低优先级的中断源,待较高优先级的中断处理完成后,再接着处理较低优先级的中断。

这种中断服务程序再被中断的过程称为中断嵌套。

一般的中断系统应能够处理多级中断嵌套。

图8-2为3级中断嵌套的示意图。

中断与转子程序或过程调用的比较:

过程相似

转子的发生是事先由程序员安排好的(可预知);

中断的发生一般是随机的(不可预知)

中断系统涉及的问题更多

3、中断的一般处理过程

由此可见,中断的处理过程,是CPU内部和外部、硬件和软件密切配合的过程。

以下,我们对中断一般处理流程中涉及的主要问题进行详细讨论。

首先讨论CPU响应中断的条件,然后给出一个简单的中断接口逻辑。

4、响应中断的条件

首先,CPU应收到一个可靠的中断请求信号,且该中断请求信号应一直保持到它被响应为止。

如果中断请求信号中途撤销,则CPU将不再响应。

对边沿触发的中断请求,CPU需要在中断请求信号的输入端安排触发器(中断请求触发器),以保存外部中断源发出的这一短暂的请求信号。

其次,在中断请求的同时,没有更高级的请求信号发生。

对8086CPU来说,级别最高的请求是复位信号RESET,其他依次是总线请求HOLD(或RQ/GT)、非屏蔽中断请求NMI和可屏蔽中断请求INTR。

如果它们同时发生,CPU将先处理优先级别较高的请求。

第三,CPU内部应处在开中断(允许中断)状态。

对8086CPU,应设置IF=1。

第四,CPU至少要在当前指令执行完成时才可能响应中断。

事实上,CPU只在特定的时刻(当前指令周期最后一个总线周期的最后一个时钟周期)才采样有无中断申请。

第五,如果遇到CPU正在执行中断返回指令(IRET),或CPU正在对中断资源进行操作(如执行STI指令),则要在现行指令执行完后接着再执行一条其他指令,此后才能响应新的中断。

这么做的目的是为了隔离两个中断。

5、中断系统的基本设置

首先,由于中断请求的发生时间一般是不可预知的,中断请求信号的触发方式和持续时间也是未知的,而CPU总是在当前指令即将结束时才查询中断请求,因此一个简单的中断系统接口电路应至少设置一个能够保存中断请求的暂存器件。

其次,由于几乎所有的处理器只有一条中断申请引脚,而外部的中断源可能有多个,因此中断系统还要解决好多中断源—单申请线的问题,并且由此引出了中断源识别和中断优先级排队的问题,该问题在下面的章节中将单独讨论;此外,为了增加控制的灵活性,中断系统还应加入中断屏蔽等逻辑电路,从而实现在中断处理过程中动态地改变中断优先级的功能;最后,中断系统还应建立起外设中断源与CPU之间的数据传送通路。

图8-4示出了带有屏蔽功能的外部中断接口电路,该接口电路实现了一输入设备以中断方式向CPU输入数据的功能。

输入设备将输入数据准备好,发出输入选通信号

,该选通信号一方面将输入数据打入数据端口,另一方面使中断请求触发器置“1”,此时,若中断屏蔽触发器的状态为“0”(不屏蔽状态),则CPU可收到一个有效的中断申请INTR,若CPU满足中断响应的所有条件,则在当前指令执行完后响应该中断,输出中断响应信号

,清除中断请求触发器,转入关于该输入设备的中断服务程序,在中断服务程序中完成对数据端口的读取。

中断屏蔽触发器的状态可由CPU执行一次端口写操作来设置,此时CPU将中断屏蔽触发器作为一个输出端口,通过数据总线的某一位(图中为D0位)与中断屏蔽触发器的数据输入端相连,实现对中断屏蔽触发器的置位(屏蔽)或复位(不屏蔽)。

6、中断响应

CPU在满足中断响应的所有条件后,进入中断响应,在CPU内部自动关闭中断(IF标志置“0”),不经用户打开,CPU不再受理其他的可屏蔽中断请求。

在CPU外部,系统将自动保护断点以及标志寄存器的内容,以便中断后恢复原来的程序和状态。

对8086CPU来说,中断响应时,标志寄存器F和断点地址CS、IP将被压入堆栈保护起来,待中断返回时再予以恢复。

其他需要保护的内容,用户可以在中断服务程序中有选择地进行保护。

对于单中断源--单申请线的系统,CPU将程序直接转到系统唯一的中断服务程序入口处开始执行中断服务程序。

对于多中断源—单申请线的系统,在中断响应时,中断系统还应完成中断优先级排队和中断源识别等功能。

7、中断源的识别和中断优先级排队

大多数的处理机系统都是多中断源—单申请线的系统,即多个中断源共用同一条中断申请线向CPU申请中断。

因此首先要解决系统中有两个或两个以上中断源同时申请中断时CPU优先响应哪个中断源的中断申请问题,即让哪个中断源的中断申请优先通过唯一的中断申请线向CPU申请中断。

为此,提出了中断优先级的概念。

CPU总是首先响应当前申请中断的、最高优先权的请求。

其次,要解决CPU如何识别中断源,找到该中断源中断处理程序入口地址的问题。

通常将这两个问题捆绑在一起加以解决,主要的解决方法有:

以软件方法为主的思想和以硬件方法为主的思想,其中,以硬件方法为主的思想包括硬件链式排队方法和优先权编码器比较器的排队方法。

(1)以软件方法为主的查找中断源及其排队思想

图8-5中断查询接口及查询流程图

该方法的主要思想是:

多个中断源的中断申请通过一个“或”逻辑后由同一引脚向CPU申请中断,同时在中断接口电路中设置一个中断请求锁存器,以保存各个中断源的中断申请。

CPU中断响应,在关闭中断、保护断点和标志寄存器内容后,转入系统唯一的、为所有中断源所共用的中断服务程序入口执行中断服务程序,在中断服务程序中用软件查询的办法查找中断源,从而将程序转向相应的中断服务程序。

显然,按照先查到的先服务的思想,软件查询的顺序就是中断优先级的顺序。

图8-5示出了这种软件中断查询的接口逻辑和中断服务工作流程图。

四个中断源中至少有一个提出中断时,都可向CPU发出中断请求信号,并将中断请求锁存器中对应位置位,进入中断服务程序后,读取锁存器内容(打开缓冲器),按设定的查找次序依次判断各位状态,从而判明发出中断申请的具有最高优先级的中断源,并转去做相应的服务。

图中设定的优先级从高到低的次序为中断源A、B、C、D,因此查询的次序也是A、B、C、D。

显然,只要改变查询次序,就可以改变中断优先级次序。

不难看出,实现这种软件查询中断源及优先级排队方法所需的硬件接口逻辑非常简单,改变各中断源的优先级次序也非常方便,但缺点是软件查询所需的时间较长。

因此这种方法主要用于系统规模较小、对响应时间要求不太高的场合。

(2)以硬件方法为主的查找中断源及其排队思想--链式优先权排队逻辑

链式优先权排队逻辑见图8-6,其中断申请逻辑同软件查询中断源及优先级排队方法类似,多个中断源的中断申请通过一个“或”逻辑后由同一引脚向CPU申请中断,同时设置中断请求触发器以保存各个中断源的中断申请。

各中断源还需准备一个唯一标识该中断源的的标识码—中断矢量,已备CPU在响应中断时根据此标识码来判断中断的来源以及将要转入的中断服务程序入口。

来自CPU的中断响应信号

通过多个与门逐次向后传送,形成一个传送

信号的链条,称为菊花链。

每一个节点由两个与门组成,一个用于传送

信号,只有当前级没有提出中断(中断请求触发器状态为“0”)时,低电平的

信号才可传递到本级,否则将一直封锁所有的下级中断源;另一个与门用来在中断响应时控制中断源向数据总线释放中断矢量,显然,在当前申请中断的中断源中,只有收到有效

信号的中断源,才有资格打开三态缓冲器向数据总线释放其中断矢量。

显然,处于链首的中断源具有最高的优先级,链尾中断源的优先级最低。

每个中断源的中断优先级由它们在链条中的位置来决定。

处在链条前端的中断源,可以中断处于链条后端正在进行服务的中断源。

链式优先权排队逻辑电路比较简单,中断响应速度快(只取决于门电路的延迟时间),但随着中断源个数的增加链条的长度也随之增加,中断源个数过多时也影响中断响应速度并且电路也显庞大,此外,调整中断源的优先级次序也比较麻烦。

图8-6链式中断优先级排队逻辑

(3)以硬件方法为主的查找中断源及其排队思想--编码器和比较器优先级排队逻辑

图8-7所示电路是一个具有中断屏蔽、中断嵌套功能的8级中断优先级排队逻辑。

中断请求寄存器用于保存当前申请中断的情况(某中断源IRi有中断申请就将其在中断请求寄存器中的对应位置位),中断屏蔽寄存器由来保存CPU送来的中断屏蔽码,显然,当前申请中断的中断源中至少有一个未被屏蔽时,这些申请将通过中断屏蔽逻辑,加到或门4的8个输入端(准备向CPU申请中断)和8-3优先级编码器的输入端(准备参与编码),优先级编码器对来自其输入端的中断申请进行编码(编码数字小的优先权高),并在其内部进行优先级比较,输出当前申请中断的、且未被屏蔽的、具有最高优先级的中断源的3位中断编码。

该编码一方面送缓冲器,作为中断矢量的一部分供CPU在中断响应时读取;另一方面,送比较器参与中断嵌套比较。

此时,优先级寄存器保存的是CPU事先送来的当前正在服务的中断的优先级编码,显然,当优先级编码器输出的中断编码高于优先级寄存器输出的编码时(中断嵌套条件满足),比较器A>B输出有效(高电平),与门1将被打开,来自或门4输出端的中断申请将通过与门1和或门3向CPU申请中断,当优先级编码器输出的中断编码低于优先级寄存器输出的编码时(中断嵌套条件不满足),比较器A>B输出无效(低电平),与门1被封闭,从而封锁了来自或门4的中断申请。

当CPU正在为任何级别的中断服务时,优先级寄存器还将通过优先级失效线输出一个低电平有效的优先级失效信号,该信号封锁了与门2,从而也封锁了来自或门4的中断申请,但当CPU正在执行正常程序而不是在执行任何的中断服务程序时,优先级失效信号为高,将与门2置为开启状态,这样,来自或门4的中断申请通过与门2和或门3直接向CPU申请中断,从而“旁路”了比较器,显然,CPU在执行正常程序时,任何一个未被屏蔽的中断请求都应该被送到CPU的中断申请引脚上。

CPU响应中断时,用

信号打开缓冲器,获得一个含有当前未被屏蔽的具有最高中断优先级的中断源的中断矢量。

图8-7编码器和比较器的优先级排队逻辑

编码器和比较器优先级排队逻辑功能齐全、中断响应速度较快,但硬件比较复杂,下节将要介绍的可编程中断控制器8259A在继承该方案的基础上扩展了更多的功能,一片8259A几乎包含了CPU之外的全部的中断逻辑。

8、转入中断服务程序入口的方法

CPU响应中断,在保护完断点和标志寄存器内容、获取中断矢量后,就要根据中断矢量和中断服务程序入口地址的对应关系转到中断服务程序执行具体的中断服务。

中断矢量和中断服务程序入口地址的对应关系一般由建立在内存中的一张表格(中断矢量表)决定,本书8.4节将对8086CPU的中断向量表做较详细介绍。

基本思想:

软件查找中断源及其排队的方法,由于各中断源共用一个统一的中断入口,因此,可以直接转入该入口。

硬件查找中断源及其排队的方法,由于各中断源分别拥有自己独立的中断标识码和中断服务程序入口,因此,需间接地转入中断入口。

具体思想是:

在系统存储器中建立一张中断矢量表,以保存所有中断源的中断服务程序入口地址,以中断源的中断标识码(中断矢量)作为查找中断矢量表的索引;

中断响应时,CPU获取一个中断矢量,并根据该中断矢量的索引指示,到中断矢量表中得相应位置读取中断服务程序的入口地址,从而转入相应的中断服务程序。

9、中断服务程序的功能与结构

中断服务程序一般由保护现场、中断服务、恢复现场、中断返回和一系列的开、关中断操作组成。

所谓现场,是指中断发生处CPU的工作环境,即各寄存器的内容和重要的公共存储单元的内容。

这项工作一般由用户来进行,除了断点、程序状态等必须加以保护外,凡不希望被破坏的寄存器的内容和数据,都应加以保护,通常的做法是将它们依次压入堆栈保护起来。

图8-8具有中断嵌套功能的中断流程图

所谓中断服务,是指用户针对中断源所进行的特定服务。

这是整个中断过程中惟一的实质性环节,也是中断的目的所在。

通常,为了保证中断操作的实时性,服务内容应适当,程序应简捷高效。

完成中断服务后,CPU准备返回断点继续原来正常程序的执行,此时应恢复现场。

如果保护现场是用压栈操作完成的,则恢复现场时应按保护现场的相反顺序依次做出栈操作。

由于CPU响应中断后自动关闭中断,所以只要用户不打开,在整个中断服务程序执行过程中,CPU不可能再响应其他的可屏蔽中断,因此用户至少应在中断返回的前一刻开放中断,这样CPU在中断返回后还可以再次响应中断。

若要实现中断嵌套功能,则应在保护现场后开放中断,并在中断服务后恢复现场前再次关闭中断,这样做的目的在于既实现了中断嵌套功能,又使得CPU在执行保护现场、恢复现场这样一些重要操作时不至于被新的中断频繁打断。

通过执行中断返回指令IRET,CPU将断点地址和标志寄存器的内容从堆栈中弹出,使程序返回原来的断点继续执行正常程序。

图8-8示出了一个具有中断嵌套功能的中断流程图。

小结

⏹中断的引入

⏹中断的概念

⏹中断的一般处理过程

⏹响应中断的条件

⏹中断系统的基本设置

⏹查找中断源及其中断排队的思想

以软件为主的方法

以硬件为主的方法

链式排队逻辑

优先权编码器比较器的排队逻辑

⏹转入中断服务程序入口的方法

⏹中断服务程序的功能与结构

 

备注:

 

提问:

谁能为中断下一个相对完整的定义呢?

 

提问:

必须要保护的现场信息有哪些?

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2