中断及中断功能调用

上传人:平*** 文档编号:47565679 上传时间:2018-07-03 格式:PPT 页数:95 大小:824.85KB
返回 下载 相关 举报
中断及中断功能调用_第1页
第1页 / 共95页
中断及中断功能调用_第2页
第2页 / 共95页
中断及中断功能调用_第3页
第3页 / 共95页
中断及中断功能调用_第4页
第4页 / 共95页
中断及中断功能调用_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《中断及中断功能调用》由会员分享,可在线阅读,更多相关《中断及中断功能调用(95页珍藏版)》请在金锄头文库上搜索。

1、7 中断及中断功能调用主讲:傅中君7 中断及中断功能调用n7.1 中断概述n7.2 8086中断系统n7.3 中断功能调用概述n7.4 键盘输入中断调用n7.5 显示器输出中断调用n7.6 磁盘文件管理n7.1.1 中断的基本概念n什么是中断?n与生活场景的比较正在看书电话铃响接电话继续看书执行程序事件发生事件处理继续执行程序中断处理中断请求及响应实际场景计算机中断返回7.1 概述中断的定义 nCPU执行程序时,由于发生了某种随机的 事件(外部或内部),引起CPU暂时中断正 在运行的程序,转去执行一段特殊的服 务程序(称为中断服务程序或中断处理程 序),以处理该事件,该事件处理完后又 返回被中

2、断的程序继续执行,这一过程 称为中断。中断源n引起CPU中断的事件中断源。例如:n外设请求输入输出数据,报告故障等n事件掉电、硬件故障、软件错误、非法操作、定时 时间到等n中断源分为:外部中断、内部中断n内部中断:CPU内部执行程序时自身产生的中断n外部中断:CPU以外的设备、部件产生的中断n 8086/8088的外部中断信号:INTR、NMInINTR可屏蔽中断请求,高电平有效,受IF标志的控 制。IF=1时,执行完当前指令后CPU对它作出响应。 nNMI非屏蔽中断请求,上升沿有效,任何时候CPU 都要响应此中断请求信号。为何计算机中要引入中断?n提高数据传输率;n避免了CPU不断检测外设状

3、态的过程,提 高了CPU的利用率。n实现对特殊事件的实时响应。如多任务系 统操作系统中: n缺页中断n设备中断n各类异常n实时时钟 等中断系统的功能n(1)为了加强中断系统的灵活性,对于各种 中断请求,应具有屏蔽和开放的功能,使程 序员可以灵活控制。n(2)具有“中断级别”的判断和控制功能,即 能实现中断源排队。当多个中断源申请中断 时,能根据事先的设定及时响应中断。n(3)能实现中断嵌套,即高级别的中断能中 断较低级别的中断。n(4)系统响应中断后,能自动进行中断处理 。中断过程n五个步骤:n中断请求n中断判优(有时还要进行中断源识别)n中断响应n中断服务n中断返回以下以外部中断为主介绍这五

4、个步骤。7.1.2 中断过程与中断管理1)中断请求n外设接口(中断源)发出中断请求信号,送到 CPU的INTR或NMI引脚;n中断请求信号:边沿请求,电平请求 例如,NMI为边沿请求,INTR为电平请求n中断请求信号应保持到中断被处理为止;nCPU响应中断后,中断请求信号应及时撤销。n在8086/8088系统中,外设的中断要经过8259A 可编程中断控制器(PIC)的排队判优后向CPU发 出:(I/O接口) PIC CPU2)中断源识别n计算机中的中断源有很多,CPU必须识别是 哪一个设备产生中断。识别中断源有两个方 法:n软件查询。将中断信号从数据总线读入用程序进 行判别。n中断矢量法。由中

5、断源提供中断类型号,CPU根 据类型确定中断源。(8086/8088即采用此种 方法)3)中断判优n多个中断源产生中断,CPU首先为谁服务? 中断优先级排队问题。n中断优先级控制要处理两种情况:n对同时产生的中断:应首先处理优先级别较高的中断;若优先级别 相同,则按先来先服务的原则处理;n对非同时产生的中断:低优先级别的中断处理程序允许被高优先级 别的中断源所中断即允许中断嵌套。n中断优先级的控制方法n硬件判优链式判优、并行判优(中断向量法)n软件判优顺序查询中断请求,先查询的先服务(即先查询的优先 级别高)n通常将中断判优与中断源识别合并在一起进行处理。nx86系统中,这项任务由PIC和CP

6、U共同完成。链式判优电路原理图INTAinCPUINTAINTR外设1外设2外设接口1菊花链 逻辑电路外设接口2外设3外设接口31菊花链 逻辑电路菊花链 逻辑电路IREQIREQIREQ中断确认INTAinINTAin中断确认中断确认菊花链逻辑电路INTAinIREQINTR&=11INTAoutDB三态门中 断 向 量 码E外设接口中断确认菊花链 逻辑电路3)中断响应n在每条指令的最后一个时钟周期,CPU检 测INTR或NMI信号。若以下条件成立,则 CPU响应中断:n当前指令执行完。对INTR,还应满足以下条 件n当前指令是STI和IRET,则下条指令也要执行完。n当前指令带有LOCK、R

7、EP等指令前缀时,则把它 们看成一个整体,要求完整地执行完;n对INTR,CPU应处于开中断状态,即IF=1;n当前没有复位(RESET)和保持(HOLD)信号。n若NMI和 INTR 同时发生,则首先响应NMI。3)中断响应(续)nCPU中断响应时,要做下述三项工作:n向中断源发出INTA#中断响应信号;n断点保护,包括CS、IP和PSW(FLAGS)。 这主要是保证中断结束后能返回被中断的程序 。n获得中断服务程序首地址(入口)。 如何得到中断处理程序的首地址?n固定入口法n中断向量法4)中断处理(中断服务)n中断服务子程序特点n为”远”过程(类型为FAR)n要用IRET指令返回n中断服务

8、子程序要做的工作n保护现场(PUSH regs) n开中断(STI) n进行中断处理 n恢复现场(POP regs) n中断返回(IRET) 5)中断返回n执行中断返回指令IRETnIRET指令将使CPU把堆栈内保存的断点信息弹 出到IP、CS和FLAG中,保证被中断的程序从断 点处能够继续往下执行。IPL IPH CSL CSH FLAGL FLAGHSPIPL IPH CSL CSH FLAGL FLAGH SPIPCSFLAG进入中断服 务程序时中断返回后7. 2 8086的中断系统n与中断有关的控制线为:NMI、INTR、INTA#n8086系统的中断源n内部中断n除法溢出:类型号0,

9、商大于目的操作数所能表达的范围时产 生。n单步中断:类型号1,TF=1时产生(当前指令需执行完)n断点中断:类型号3,这是一个软件中断,即INT 3指令。n溢出中断:类型号4,这是一个软件中断,即INTO指令。n软件中断:即INT n指令,类型号n(0-255)。n外部中断n非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应 它。n可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应 。8086/8088中断源类型NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控 制器 8259A PIC8086/8088CPU内部逻辑断点中断 可 屏 蔽 中 断

10、 请 求n43012n8086系统采用中断类型(向量)码来识别不同 的中断源,每个中断源都有一个与它相对应 的中断类型码 。n溢出、断点、除法溢出、单步、非屏蔽中断的 类型码为固定值n软件中断的类型码由指令给出n可屏蔽中断的类型码由PIC给出nCPU响应INTR中断时,会产生两个中断响 应总线周期,要求PIC在第2个中断响应总线 周期把中断类型码放到数据总线上,供CPU 读入。中断向量表(IVT) n存放各类中断的中断服务程序的入口地址( 段和偏移) n表的地址位于内存的00000H003FFH,大 小为1KB,共256个入口n每个入口占用4 Bytes,低字为段内偏移,高 字为段基址n根据中

11、断类型号获得中断服务程序入口的方 法: (n为中断类型号)n中断向量在IVT中的存放地址4nn256个中断占用1KB区域,就形成中断向量表8086的中断向量表向量号255的CS值用户中断 (向量号255)3FCH向量号255的IP值向量号2的CS值非屏蔽中断 (向量号2)008H向量号2的IP值向量号1的CS值单步中断 (向量号1)004H向量号1的IP值向量号0的CS值除法错中断 (向量号0)000H向量号0的IP值8086系统中各中断的优先级n优先级从高到低顺序如下:n内部中断nNMInINTRn单步中断NYNYNNNNNYY执行指令执行完 否?取指令IF=1?内部中 断?NMI ?INT

12、R ?TF=1 ?类型码=0255类型码=2类型码=1中断响应, 读回类型码FLAG入栈TEMPTFIF=TF=0CS、IP入栈计算向量表地址高字CS 低字IP执行中断 服务程序NMI?TEMP= 1?转入中断服务程序恢复CS和IP恢复FLAGS返回被中断 的程序YYYYNIRET 指令的 操作8086/8088的中断处理流程NMI、INTR、 单步和除法错 中断同时产生 时的中断处理 过程DIVTF=1 IF=1INTRNMIPUSH FLAGS、CS、IP CLEAR IF & TF,中断入口CS:IP除法错NMI(IF、TF = 0)PUSH FLAGS、CS、IP CLEAR IF &

13、 TF,中断入口CS:IPNMI中断处理程序除法错中断处理程序(IF、TF = 0) 返回执行下条指令 识别出INTR(IF、TF = 1) 返回INTR仍然有效继续单步执行程序INTR中断处理程序INTRPUSH FLAGS、CS、IP CLEAR IF & TF,中断入口CS:IP 单步 (IF、TF = 0)PUSH FLAGS、CS、IP CLEAR IF & TF,中断入口CS:IP单步中断处理程序 (IF、TF = 0) 返回(IF、TF = 1) 返回7.3 中断功能调用概述n7.3.1 DOS中断和BIOS中断 n7.3.2 DOS中断和BIOS中断使用方法 7.3.1 DOS

14、中断和BIOS中断 n在存储器系统中,内存器高端8K的ROM中存放有基 本输入输出系统(Basic Input/Output System, BIOS)例行程序。nBIOS给PC系列的不同微处理器提供了兼容的系统加 电自检、引导装入、主要I/O设备的处理程序以及接 口控制等功能模块来处理所有的系统中断。n使用BIOS功能调用,给程序员编程带来极大方便。 程序员不必了解硬件的具体细节,可直接使用指令 设置参数,并中断调用BIOS例行程序,所以利用 BIOS功能调用编写的程序简洁,可读性好,而且易 于移植。磁盘操作系统(Disk Operating System)是PC机上最 重要的操作系统,它是

15、由软盘或硬盘提供的。它的 两个DOS模块IBMBIO.COM和IBMDOS.COM使BIOS 使用起来更方便。因为DOS模块提供了更多更必要 的测试,使DOS操作比使用相应功能的BIOS操作更 简易,而且DOS对硬件的依赖性更少些。DOS模块 和ROM BIOS的关系如下图所示。 DOS中断7.3.2 DOS中断和BIOS中断使用方法 DOS功能调用与BIOS功能都通过软件中断调用。 在中断调用前需要把功能号装入AH寄存器,把 子功能号装入AL寄存器,除此之外,还需要在 CPU的寄存器中提供专门的调用参数。一般来 说,调用DOS或BIOS功能时,有以下几个步骤 : (1)将调用参数装入指定的寄

16、存器。 (2)如需功能调用号,把它装入AH。 (3)如需子功能调用号,把它装入AL。 (4)按中断号调用DOS或BIOS。(5)检查返回参数是否正确。7.4 键盘输入中断调用 n7.4.1 ASCII与扫描码 n7.4.2 BIOS键盘中断 n7.4.3 DOS中断调用7.4.1 ASCII与扫描码键盘是计算机最基本的一种输入设备,用来输 入信息,以达到人机对话的目的。键盘主要 由3种基本类型的键组成: (1)字符数字键: (2)扩展功能键:如Home、End、Backspace 、Delete、Insert、PgUp、PgDn以及功能键 F1F10 (3)和其他键组合使用的控制键:如Alt,Ctrl ,Shift等 n键盘和主机通过5芯电缆相连,这5根线分别是电源线 、地线、复位线以及键盘数据线和键盘时钟线。nPC机系列的键盘触点电路按16行8列的矩阵来排列 ,用单片机Intel8048来控制对键盘的扫描。按键的 识别采用行列扫描法,即根据对行线和

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

当前位置:首页 > 中学教育 > 教学课件

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