80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章

上传人:E**** 文档编号:89335690 上传时间:2019-05-23 格式:PPT 页数:104 大小:2.37MB
返回 下载 相关 举报
80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章_第1页
第1页 / 共104页
80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章_第2页
第2页 / 共104页
80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章_第3页
第3页 / 共104页
80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章_第4页
第4页 / 共104页
80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章》由会员分享,可在线阅读,更多相关《80X86微机原理与接口技术 教学课件 ppt 作者 喻宗泉 第7-9章 第7章(104页珍藏版)》请在金锄头文库上搜索。

1、第 7 章 中 断 技 术,7.1 中断技术概述 7.2 80X86 CPU的异常处理功能 7.3 保护虚拟地址方式下的中断管理 7.4 可编程中断控制器8259A,7.1.1 中断的提出 CPU在运行过程中经常需要输入一些数据,或及时输出一些结果,但输入输出设备都少不了机械动作,所以输入输出的速度远远慢于CPU执行程序的速度。随着当代微机新技术的发展,CPU高速与I/O设备低速之间的矛盾日益突出,如果不采用中断技术,则势必要求CPU花大量的时间去等待输入输出过程。例如,从键盘上击入一个字符,因键的机械运动最快也得0.1s,而CPU从键闭合到存放好一个字符,处理速度最慢也仅要10s,因此CPU

2、将在(0.1s-10 s)/0.1s99.99%的时间内处于等待状态。,7.1 中断技术概述,毫无疑问,“不断地提高CPU的工作速度”在输入输出环节中没有任何意义。“中断”正是解决CPU和I/O设备速度不匹配所提出的一种新的理念。中断所需的硬件电路和中断管理机制构成了中断系统。在中断系统的管理之下,主机和外设就可以同时做各自的工作,相互之间不必等待。外设需要输入输出操作时就向CPU发出中断申请,在一定条件下,CPU响应中断请求,去为外设服务。这样一来,计算机的工作效率得到明显的提高。整个中断过程如图7-1所示。,中断技术至少能在如下几个方面展现出它的优势: 中断技术能及时处理随机出现的各种输入

3、输出信息,使微机实时控制成为现实。在复杂的工业生产过程中,被控参数因干扰的影响经常会偏离给定值,甚至越限报警,而CPU 采用中断技术对生产过程周期性地进行检测,能及时对扰动进行校正,使系统最终趋于稳定。,图7-1 中断申请和返回,中断技术能够使一台计算机“同时”执行多道程序,“同时”解几个题目,“同时”进行多个运算。例如程序A执行到某一步时要输入新的数据或输出中间结果,或者是因内部软件出错等诸多原因要暂停,中断系统就能让CPU转去执行其它程序。待程序A断点处的问题解决以后,CPU就可以返回到程序A继续执行。有了中断,使CPU通过接口连接多个I/O外部设备成为可能。多个I/O设备能通过中断系统的

4、管理同时进行工作,接受CPU的分时处理服务。面对微机运行过程中随时可能出现的一些情况,如电源掉电、运算溢出等等,中断系统能够随时对它们进行故障处理,有效地提高了运行可靠性。 中断技术要想在CPU管理层内正确发挥作用,有一系列问题需要解决。归纳起来,主要有如下几个问题:,CPU和申请中断的外部设备之间通常使用两根控制线完成它们之间的连接。一根线为中断申请线,信号流向为从I/O设备指向CPU。如果该线为高电平表示有中断申请信号,那么低电平则为无中断申请出现,这就要求I/O接口芯片有专门用于中断申请的引脚,而CPU也有专门接收中断申请的引脚,如8086/8088 CPU的INTR。CPU在每一个指令

5、周期中最后一个机器周期的最后一个T状态时,会采样INTR引脚,从而获知是否有中断申请出现。另一根控制线为中断响应线,如8086/8088 CPU的,信号流向为从CPU指向I/O设备。当CPU决定响应时,I/O接口芯片就会收到有效的低电平信号。连接CPU与I/O之间的数据线承担起传送I/O数据的任务。,图7-2 多个中断申请,图7-2(b)的方法不可取,因为如果每一个I/O设备的中断申请都占CPU的1个引脚,势必造成CPU设计与制造上的困难。图7-2(a)的方法可行,多个I/O设备共用1根INTR线,但与此同时必须要解决3个问题: 寻找中断源:所谓中断源是指发出中断申请的来源。以3个中断源为例,

6、当INTR上由CPU检测到有中断申请信号出现时,CPU必须判断是哪个中断源发出的中断申请。 确定中断优先权:在多个中断申请中,如果有两个或多个中断源同时提出申请,则CPU响应哪一个中断申请必须事先约定。为此在微机系统设计阶段或编程时就把各个中断源的优先次序排好。一旦有多个中断源同时申请,中断管理系统就能判断出优先级别高的中断源并优先响应。在处理完高级别优先权的中断申请后,再去响应其它较低级别的中断申请。, 能够实现中断嵌套:在CPU正在为某一个中断源服务时,如果服务未完又有优先级别较高的中断申请出现,那么中断管理系统能中断正在进行的中断服务,先去响应高优先级的中断申请。当高级中断处理完毕后再返

7、回来继续被中断了的中断服务。图7-3画出了有3个中断源出现中断嵌套时的程序执行示意图,其中中断3的优先级别最高,中断1的优先级别最低。,图7-3 中断嵌套,7.1.2 中断源和中断优先权 1中断源 一般微机系统常见的中断源有如下几种: 常用的输入/输出设备,如键盘、打印机、CRT、穿孔机等; 数据通道,如磁盘、光盘等; 故障信号,如电源掉电、运算结果溢出、存盘出错等; 实时时钟,如定时时钟信号等; 软件中断,如调试程序中设置的中断等。 寻找中断源的方法有两种:查询法和向量法。,查询法是用软件查询哪一个中断源提出了中断。查询前的硬件电路图如图7-4所示,该硬件电路以外接3个I/O中断申请为例。查

8、询时,查询程序依次从I/O端口读入每一个中断状态位(使用IN指令实现),检测该位状态判断对应I/O设备是否有中断申请。如果有,就转入为该设备服务的中断服务程序入口地址处,如果无,则测试下一个中断状态位。如果3个中断状态位都无申请,表明中断输入信号由出错产生,程序相应转入出错出口。假设用于中断申请的I/O端口地址为40H,则一个典型的查询中断源程序段如下:,图7-4 查询中断源,查询中断源的优点是查询的同时解决了不同中断源的优先权问题,先查询的中断源优先级别高,后查询的优先级别低。而查询程序是由编程人员编制的,所以寻找中断源和确定优先权的主动权全部掌握在编程人员手上。与此同时,其相应硬件电路简单

9、,不需要有判断和确定优先权的硬件电路。缺点是中断源较多时,查询时间过长。,向量法是用中断向量代表中断源,预先让每一个中断源固定使用一个中断向量。当CPU响应一个中断源的申请时,响应信号发出以后,该中断源通过接口向CPU提供本中断源专用的中断向量,CPU根据接收到的中断向量自动转入相应的中断服务程序入口地址。这种方法不需要用程序查询中断源,中断向量由硬件电路提供。8086/8088中断管理系统使用中断向量结构,其中断源如图7-5所示。中断向量又称为中断类型码,用8位二进制数表示,编号为00HFFH(0255),因此8086/8088 CPU能处理256个不同类型的中断源。相应地,中断服务程序的入

10、口地址也有256个,每个入口占内存4个字节,提供2个16位地址值,其中高位字表示代码段CS的值;低位字表示存放于指令指针IP的地址偏移量。所有中断向量的集合称为中断向量表,共占内存2564B1 KB,在8086/8088 1 MB内存中位于00000H003FFH单元内。,图7-5 8086/8088 CPU中断源,2中断优先权 微机中确定中断优先权的方法有软件查询和硬件设置两种。 1) 软件查询确定中断优先权 使用软件查询中断源的同时就已经确定了它们各自的优先级别。在3个中断申请源中,如果想使中断2申请的级别最高,中断1申请的最低,只需用以下程序:,图7-6 查询中断源和中断优先权,2) 硬

11、件设置优先权电路 (1) 中断优先权排队电路:该电路用编码器和比较器等组成,结构如图7-7所示。以8个中断源为例,当任何一个中断源有中断申请提出时,或门都会有中断信号输出,但它能否送至CPU的INTR引脚,还要看与门1和与门2的另一个输入端是否为1。与门1的另一个输入端是比较器AB的输出端,只有当AB时,与门1才能开启,使中断申请信号送到CPU。如果AB,则比较器输出低电平,与门1关闭,中断申请信号不能送出。对CPU而言,没有中断申请信号出现。8个中断信号接在83优先权编码器上,经过编码器将产生3位二进制编码A2 A1 A0,编码器输出优先权最高的编码为111,优先权最低的编码为000。,如果

12、有多个中断源同时申请,则83优先权编码器只识别并输出优先权最高的编码。与此同时,使用程序将正在处理的中断申请优先权编码,经CPU 数据总线送至优先权寄存器进入比较器的B2 B1 B0。比较器用于比较A2 A1 A0和B2 B1 B0的大小。如果AB,则表明CPU正在处理中断时,有更高优先级的中断申请从A2 A1 A0进入,于是比较器输出“1”,与门1开启,将高优先级的中断申请信号送达CPU,CPU将中断正在处理的中断服务程序,去响应更高级别的中断,使中断嵌套得以实现。如果AB,则表明CPU正在处理中断时,有同级或低优先级的中断申请出现,优先级排队电路将它们屏蔽掉,比较器输出“0”,与门1关闭。

13、,当CPU执行主程序没有理睬中断申请时,此时的优先级失效信号为高电平,使与门2开启,如果有中断申请信号,则将通过与门2送到CPU的INTR引脚。当I/O设备的个数小于等于8时,它们共用一个中断向量产生电路,该电路由三态缓冲器和译码器构成,由83优先权编码器输出A2 A1 A0作输入端,经译码形成8位中断向量,不同的编码将进入不同的中断服务程序入口地址。,图7-7 中断优先权排队电路,(2) 中断链优先权排队电路:典型的中断链排队电路如图7-8所示,由中断触发器和控制门电路组成,图中以4个I/O设备为例。当AD中有多个中断申请发生时,相应多个中断触发器输出高电平,经“或”门产生向CPU申请中断的

14、INTR信号。如果CPU相应中断申请,按图中的接法,只能是先从设备A开始,逐个地往下传送。,图7-8 中断链式优先权排队电路,如果设备A有中断申请,则中断触发器QA输出高电平,将与门A1开启,中断响应 经A1通过,启动相应的控制电路转入为A设备服务的中断服务程序;与此同时将与门A2关闭,A2输出低电平关闭与门B1、B2,即使设备B有中断申请,也被B1、B2屏蔽。如果设备A没有中断申请,则中断触发器QA输出低电平,将与门A1关闭, 不能通过A1,为设备A服务的中断服务程序也不能启动;与此同时,与门A2开启, 经A2送至与门B1、B2的入口处。这时要看设备B有无中断申请。如果设备B有中断申请,则将

15、经与门B1启动为设备B服务的中断服务程序,设备C和D被屏蔽;,如果设备B没有中断申请,则B2开, 送至C1、C2。这一过程将继续,直至查出哪个设备有申请为止。在这种排队电路中,只要上级的输出信号Qi为高电平,当本级有中断申请时,就启动本级的中断服务程序,屏蔽所有下级的中断申请;当本级无中断申请时则允许下一级中断。如果上级的输出信号Qi为低电平,则CPU的中断响应信号 直接进入下一级允许下一级中断。从上到下优先级别依次为A、B、C、D,排在链式前面的优先权最高。,7.1.3 中断分类 按照中断源所处的位置划分,中断可以分成外部中断和内部中断两种。外部中断又可称为硬中断。内部中断指CPU内部提出的

16、中断,又可称为软中断。按照中断源的中断申请情况,中断分为可屏蔽中断和不可屏蔽中断两种不同类型。有些中断申请如果还没有CPU正在执行的主程序重要和急迫,CPU就会暂时置之不理,这一类中断就是可屏蔽中断,大多数I/O设备的中断申请都属于这一类。还有一些中断,CPU如果不理睬,则会影响到整个系统的正常运行,这一类中断称为不可屏蔽中断。为此在中断系统设计中,规定产生在CPU内部的中断除了用于调试程序而设置的单步中断外,所有内部中断都不能被屏蔽,或者说“异常不能被屏蔽”。,对于由I/O外设提出的中断申请,CPU能够屏蔽哪些中断申请、不能屏蔽哪些中断申请,由微机系统硬件电路设计人员决定。在所有的不可屏蔽中断申请中,掉电毫无疑问是最优先的。一旦失去电源,电子计算机将无法工作。失电时,微机将启动紧急处理程序,将键入的尚未存盘的内容备份保存,以便重新接通电源后恢复断电前状态,避免了大量键入的程序、文字、字符消失。,7.2 80X86 CPU的异常处理功能,7.2.1 异常的3个层次 1) 故障(Fault) 可由

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号