计算机应用基础5(最新)

上传人:woxinch****an2018 文档编号:44702786 上传时间:2018-06-14 格式:PPT 页数:89 大小:686.50KB
返回 下载 相关 举报
计算机应用基础5(最新)_第1页
第1页 / 共89页
计算机应用基础5(最新)_第2页
第2页 / 共89页
计算机应用基础5(最新)_第3页
第3页 / 共89页
计算机应用基础5(最新)_第4页
第4页 / 共89页
计算机应用基础5(最新)_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《计算机应用基础5(最新)》由会员分享,可在线阅读,更多相关《计算机应用基础5(最新)(89页珍藏版)》请在金锄头文库上搜索。

1、第五章 中断技术5.1 基本概念5.2 80X86的中断系统 5.3 8259A可编程中断控制器 5.4 8259A在PC系统中的应用5.1 基本概念一、中断二、中断的基本过程三、中断源四、多重中断一、中断 中断是一个过程。它是指CPU在正常运行程序时,由于内部/外 部事件,由主程序转到为中断事件服务的程序中去,服务完毕 ,再返回执行原程序。这一过程称为中断。8086/8088中断系统可以处理256种中断类型。 中断可以分为:硬件中断: 由外部硬件产生的中断。软件中断: 由程序预先安排的中断。中断的特征:具有随机性。二、中断的基本过程分为四个阶段中断请求 (中断判优)中断响应中断服务 中断返回

2、主程序入口服务 程序中断请求 返回1.中断请求外设先(通过接口)发送“中断请求”信号给CPU。CPU检查“中断请求INTR”输入线。CPU有权决定是否响应中断(中断允许):若允许请求,则中断允许触发器IF置“1”,(使用STI指令开中断)。若不允许申请,关中断,触发器IF=0。 (用CLI指令) 没有获得允许向CPU发出中断请求,则称为中断被屏蔽(中断屏蔽)。 不允许中断请求的情况:如:在实时控制时,需采集一段连续数据。为防止数据丢失,不允许其他中断请求;又:执行管理程序中某些重要程序,CLI指令进行屏蔽。外设及其端口的中断请求方式:边沿请求、电平请求 。中断请求保持时间:应保持到表明该事件正

3、在被处理或已被处理时。(2硬件判优)(1)并行判优网络:P246图7.12 矢量优先级控制器原理框图(2)链式判优网络:P246图7.13 链式判优注:中断请求判优:能否向CPU请求中断;中断响应判优:当前中断请求与CPU正处理任务的判优;中断返回判优:解决中断嵌套问题。优先级设置:固定优先;循环优先;指定优先。2.中断响应在中断响应过程中应解决以下4个问题:保护断点;保护现场(如标志寄存器或其他寄存器);CPU关中断(不允许此时被新的中断源打断);CPU控制权的转移(中断响应过程的关键,其实质是如何由中断源得到相应服务程序的入口地址的问题)。常用方法是采用中断向量,即由所响应的中断源在中断响

4、应时向CPU提供自己的中断向量号,CPU根据中断向量号就能够找到中断服务程序的入口地址,进而转入中断服务程序。 过程如下:CPU在当前指令执行结束时,响应中断,进入中断响应周期;发出两个中断回答信号INTA完成一个中断响应周期;进行断点及标志保存如:段地址(CS),偏移地址(IP)以及标志FR压入堆栈。读取中断类型号,找到中断源;装入中断服务程序的入口地址(新CS,IP)3.中断服务执行中断服务程序,以完成中断源提出的处理要求。中断服务程序是软件编程问题,与子程序的编写原则类似。用STI指令开中断,以实现中断嵌套,并对服务程序中所用的寄存器预先保护(若中断响应中CPU不是自动保护的话),而在服

5、务程序后面加入恢复现场的语句。 转入中断服务程序后,其服务程序的内容有:a.与CPU交换数据,进行I/O操作;b.外部期望CPU给以控制,进行参数修改。在程序开头,将可能使用的寄存器内容进栈,即保护现场。在服务程序的末尾,将入栈的寄存器内容弹出,即恢复现场。4.中断返回中断返回就是控制权由中断服务程序转移到被中断程序的过程。执行中断返回指令IRET。大多数中断返回指令还有其他的附加功能,例如部分或全部恢复CPU的现场(除程序计数器外,还有标志寄存器FR等),有些CPU的中断返回指令可自动恢复全部通用寄存器的内容。中断服务程序结束,执行中断返回。自动将保存在堆栈中的标志FR,断点(IP,CS)依

6、次弹出并装入。返回到中断前的地址(断点地址)开始继续执行主程序。三、中断源v 发出中断请求的外设或引起中断的内部原因称为中断源。v 分内部中断和外部中断。 内部中断也称为软件中断,它是来自CPU内部,包括INT n产生的中断、除法错、溢出中断、单步中断。 外部中断又称为硬件中断,其中断源是CPU外部的某种事件,分为:非屏蔽中断和可屏蔽中断。屏蔽是指CPU拒绝响应中断请求,不许打断CPU执行的主程序。非屏蔽中断:由NMI(Non-Maskable Interrupt)进入,不受IF屏蔽,整个系统中仅有一个非屏蔽中断,一般处理系统的重大故障,如系统掉电处理。CPU接收到非屏蔽中断请求后,立即停下当

7、前工作转非屏蔽中断处理子程序。该子程序就是要在晶振停振前对现场作紧急处理:保护现场数据到非易失性存储器中;启动备用电源。可屏蔽中断:正常情况下,由INTR进入,只有IF=1时(STI)才被响应,IF=0时屏蔽该请求。CPU在执行完当前指令后响应中断。中断源优先级从高到低为:INT n(除单步中断)、NMI、INTR、单步中断。CPU识别中断的方法_两种向量中断:在CPU响应中断后,由中断控制器将服务程序入口地址送到CPU。程序查询中断:采用软件查询技术来确定发出中断请求。四、多重中断(中断嵌套)响应1响应2服务 器返回返回主程序5.2 80X86的中断系统一. 80X86的中断分类(256级)

8、二. 80X86中断类型码及中断向量表三. 硬中断四. 80X86的响应总线周期80X86有256级中断,可以被分为四大类80X86中断系统80X86有256 级中断,有 256个中断 类型码与之 对应。外部硬件内部软件不可屏蔽中断 NMI可屏蔽中断INTRINT n用户定义的软件中断除法错单步中断NMI中断单字节中断溢出中断CPU自定义中断1.中断服务程序的入口地址-中断向量 CPU响应中断后,中断源提供地址信息,由此地址信息对程序的执行进行导向,引导到中断服务程序中去,故把这个地址 信息称为中断向量。中断向量包括中断服务程序的段基址CS,偏址IP共4个字节。中断向量表:所有的中断向量集中存

9、放到存储器的某一区域,这一区域称之为中断向量表。二.80X86的中断类型码及中断向量表中断 向量表0BA903FF1024个 单元000003FF共1024个字节 存放256个向量8086中断向量表2.中断向量、中断向量指针与中断类型号中断向量:中断服务程序入口地址中断向量指针:指出中断向量存放在中断矢量表中的位置(或地址)。 在PC系列中中断向量指针由中断类型号提供的,即向量地址=0000:类型号4如:硬盘“INT 13H”它的向量地址=0000:13H4=0000:004CH004CH开始连续4个单元中用来存放“INT 13H”的中断向量:中断向量寄存器中断向量 指针 00700FC9CS

10、HCSLIPHIPL004FH004EH004DH004CH图5.2 中断向量指针示意图中断号向量地址中断向量硬盘13H13H4=4CH0070:0FC9三、硬中断(见下表)1.不可屏蔽中断NMI-通常用于处理紧急/灾难性事件RAM奇偶校验错PCKI/O通道校验错I/O CHCK协处理器8087运算错INT 响应时间:在当前机器周期之后立即响应。 2.可屏蔽中断INTRINTR中断可以被CPU用指令CLI来禁止,由STI允许。中断响应条件:IF=1 , INTR=1中断响应时间:当前指令执行完以后,所以,INTR高电平信号 需要一定的保持时间。INTR中断响应过程如下:CPU的中断响应要用2个

11、时钟周期,分别向 引脚发两个负脉冲,第1个表示接受该中断,外设接到第2个负脉冲后,通过低8位数据总线向CPU送中断类型码n。CPU可由此获得该中断源的处理程序的入口地址。2个时钟周期间用2-3个空闲状态隔开。 INTAM80X86I P CS PSWINTR 1 INTA 2类型码N 3 中 断 矢 量 表零 页 地 址 空 间4个字节TYPE 0 TYPE 1IP CS6 N*4SS9PA(20位.入口) 中断 服务 程序STI CLI 10. IRET 11IF .TF清零57断点.现场恢复124 断点. .现场进堆栈8中 断 响 应 过 程INTR四、80X86的中断响应总线周期当: C

12、PU收到INTR中断请求当前一条指令执行完,且中断允许标志位IF=1那么:CPU进入中断响应周期,它通过总线控制器发出二个连续中断应答信号完成一个中断响应周期在中断响应周期的两个工作:1.第一个INTA脉冲时,通知中断源,其中断请求已被响应,准备发送类型码。此时,CPU产生LOCK信号,使总线处于封锁状态,防止DMA占用总线。2.在第二个INTA,CPU通过数据总线低8位读取类型码。同时,LOCK信号撤除,总线解封 。CPU在每个指令周期的最后一个T状态检测可屏蔽中断请求线 INTR,若INTR引脚有一个高电平,且标志寄存器中断允许标志IF=1 时,CPU在执行完当前的指令后,执行中断响应周期

13、。CPU对可屏蔽中断请求的响应过程要执行两个连续的INTA总线周 期,每个总线周期包括4个时钟周期。在第1个INTA总线周期,CPU在T2T4状态发出中断响应信号 INTA,作为对中断请求设备的响应,若是最大模式,CPU还启动 LOCK信号,封锁总线,使系统中其它总线设备不能访问总线, LOCK信号将持续到下一个总线周期的T2状态 在第2个INTA总线周期,CPU在T2T4状态发出中断响应信号 INTA,通知中断请求设备把中断类型码送到数据总线的低8位在执行中断响应周期时,两个INTA总线之间要3个空闲周期TI中断操作中断操作CPU对各种中断的响应过程:(1)执行2个中断响应总线周期:读取中断

14、类型码,并计算中断向量地址暂存(可屏蔽中断专有)。(2)写周期:FR入栈。(3)IF、TF清零,即屏蔽INTR中断和单步中断;(4)2个写周期:保护断点入栈(顺序压入CS、IP)。(5)2个读周期:根据中断向量号,查中断向量表,把入口地址值装入CS和IP中,转入中断处理程序。P252图7-17执行IRET指令,从堆栈中弹出三个字,FR的内容和断点地址。 中断处理子程序的结构模式(1)一系列入栈指令保护各reg值。(2)若允许中断嵌套,用STI开中断,使IF=1,以允许高级别请求进入。(3)中断处理具体内容。(4)用CLI设置关中断,使IF=0,禁止其他中断进入。(5)给中断命令寄存器送EOI。

15、(6)一系列出栈指令恢复各reg值。(7)最后一条中断返回指令IRET返回主程序,恢复IP、CS和FR。中断处理子程序与一般的子程序的区别:前者最后一条指令是中断返回指令IRET,功能是恢复IP、CS、FR;后者是返回指令,若是可被程序调用的子程序,该指令功能是恢复IP、CS。 5.3 8259A可编程中断控制器一、可编程的中断控制器芯片8259A的功能二、8259A的内部结构(28条引线)三、8259的引脚及其功能四、对8259的端口寻址及其操作(读/写基本操作)五、8259A工作方式六、8259A的级联使用七、8259的初始化编程一、可编程的中断控制器芯片8259A的功能1.一片8259芯

16、片可响应8级INTR中断请求,通过级连INTR可扩展至64级。2.可对各级INTR请求进行优先权管理,8259具有完全嵌套,循环优先级,特定屏蔽等多种优先权管理方式。3.对每一级中断请求进行均可依需要给予屏蔽或开放。4.当CPU响应INTR中断请求后,8259可提供相应的中断类型码,从而使CPU迅速转入中断服务程序入口。5.可通过编程手段,设置8259的8种不同工作方式。二、8259A的内部结构(28条引线)数据 总线 缓冲器读/写 控制 逻辑级联缓冲 /比较器中断 服务 寄存器 ISR优先级分析器 PR中断 请求 寄存器 IRR中 断 屏 蔽 寄 存 器 IMR控 制 电 路 初始化命令 寄存器组操作命令 寄存器组D7D0INTAINTA0RD WRCSSP/ ENCAS0 CAS1 CAS2IRQ0 . . . IRQ7CPU数据总线缓冲器读/写控制逻辑内部控制逻辑DB8位 CSWR RD

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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