微机原理与接口技术 周荷琴件 微型计算机的中断系统.pptx
《微机原理与接口技术 周荷琴件 微型计算机的中断系统.pptx》由会员分享,可在线阅读,更多相关《微机原理与接口技术 周荷琴件 微型计算机的中断系统.pptx(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第七章:微型计算机的中断系统第七章:微型计算机的中断系统1.中断的概念及处理过程2.8086中断系统3.中断控制器8259A第1页/共87页2第七章:微型计算机的中断系统第七章:微型计算机的中断系统1.中断的概念及处理过程2.8086中断系统3.中断控制器8259A第2页/共87页3第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程什么是中断?在CPU执行程序的过程中,由于某种突发事件的发生,强迫CPU暂时停止正在执行的程序,转向对该突发事件进行处理,对这个事件处理结束后又能回到原中止的程序,接着中止前的状态继续执行原来的程序,这一个过程就称为中断。把引起中
2、断的原因或触发中断请求的来源称为中断源。第3页/共87页4第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中断请求信号的产生 中断方式提高了CPU的工作效率,但是它同时也提高了系统的硬件开销。因为系统需增加含有中断功能接口电路,用来产生中断请求信号。以输入方式为例,接口电路如图所示。外设发STB数据入锁存器,中断请求触发器置1若没有屏蔽则产生INTRCPU满足条件(允许中断;指令执行完)发(进入中断服务子程序)读数据和地址清中断请求触发器,数据送D0D7。第4页/共87页5第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中
3、断优先级中断优先级(1)如果有多个不同优先级的中断源同时提出中断请求时,CPU应当先响应最高优先级的中断源。(2)如果CPU正在对某一中断源服务时,比它优先级更高的中断源提出中断请求时,CPU能够暂停正在执行的中断服务程序转向对优先级高的中断源进行服务,当服务结束后再返回原优先级较低的中断服务程序继续执行。中断嵌套 正在运行的中断处理程序,被优先级高的中断源中断,从而转入新的中断处理程序,当新的中断处理程序执行完再回到原来的中断处理程序,这一现象称为中断嵌套。第5页/共87页6第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程 中断服务程序:为中断请求源服务的
4、子程序。中断类型号:根据中断服务程序入口地址在中断向量表中的位置编号,该编号即中断类型号。中断向量表存储器由0000H开始每个连续单元为个类型号,共256个类型号。中断向量表:CPU响应中断后,必须由中断源提供地址信息,引导程序进入中断服务子程序,这些中断服务子程序的入口地址存放在中断向量表中。第6页/共87页7中断请求何时发生是随机的。CPU在每条指令的最后一个T周期去检测INTR引脚,CPU一旦检测到有中断请求,在满足中断响应的条件下(IF=1),CPU响应中断,向外设发INTA中断响应信号。并保护断点(当前CS,IP和PSW值入栈),然后转向中断服务程序。中断服务程序执行完毕,CPU返回
5、原执行程序的中断处,继续向下执行,称为中断返回。中断响应:第7页/共87页8第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中断源:引起程序中断的事件称为中断源。8086中断源:外部中断源和内部中断源,都包含于256个中断类型中;内部中断源:中断指令 INT n引起的中断;由CPU的某些运算错误引起的中断;由调试程序debug设置的中断外部中断源:外部硬件产生。分为不可屏蔽中断(请求线NMI)可屏蔽中断(请求线 INTR)第8页/共87页9第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中断优先级 当系统中有多个设备提出中
6、断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。第9页/共87页10软件查询方法 只需有简单的硬件电路,如将A、B、C三台设备的中断请求信号“或”后作为系统INTR,这时,A、B、C三台设备中只要至少有一台设备提出中断请求,都可以向CPU发中断请求。进入中断服务子程序后,再用软件查询的方式分别对不同的设备的服务,查询程序的设计思想同查询式,查询的前后顺序就给出了设备的优先级。第10页/共87页11软件查询方法第11页/共87页12第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过
7、程中断优先级简单硬件方法 将所有的设备连成一条链,靠近CPU的设备优先级最高,越远的设备优先级别越低,则发出中断响应信号,若级别高的设备发出了中断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应,只有等它的中断服务结束以后才开放,允许为低级的设备服务。第12页/共87页13简单硬件方法第13页/共87页14第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中断优先级专用硬件方法 采用可编程的中断控制器芯片,如Intel8259A。第14页/共87页15第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处
8、理过程中断过程 是指中断请求、中断响应、中断处理、中断返回这四个过程。中段请求、中断响应由硬件完成,中断处理、中断返回由软件完成。中断请求 1)外部设备发中断请求的条件:当外设准备就绪或本身工作已经完成时,才向CPU提出中断请求。2)外部设备中断请求的标志:当外设要求和CPU进行数据交换时,将中断请求信号送往中断请求触发器或中断控制器,经它们处理后,向CPU发出中断请求。中断响应 如果CPU处于开中断状态,经判优后响应其中最高优先级的中断请求,关中断,将断点压入堆栈中(有的微机还将程序状态字和相关寄存器的内容压入堆栈)保存,以备返回原程序,紧接着将相应的中断处理程序入口地址或中断向量送CPU,
9、转入中断服务程序。第15页/共87页16第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中断过程 中断处理 保护现场。将在中断处理程序中使用的有关寄存器的内容压入堆栈保护起来。在现场保护的过程中,绝对不允许被中断(应禁止中断),否则现场将被破坏。当现场保护好后应开中断。中断服务。即该中断所要执行的具体指令内容。恢复现场。当中断服务结束后,应用中断结束命令清除中断标志,立即关中断,以保证恢复现场的过程不受干扰。恢复现场就是把原来压入堆栈的有关寄存器的内容弹出。现场恢复后应开中断,以便CPU响应更高级的中断请求。中断返回 将压入的断点地址弹出,保证被中断的程序按
10、原来状态执行下去。第16页/共87页17第七章:微型计算机的中断系统第七章:微型计算机的中断系统概念及处理过程概念及处理过程中断过程 中断处理和中断返回中的所有内容,也叫做中断服务程序。即:第17页/共87页18可屏蔽中断处理过程可屏蔽中断处理过程第七章:微型计算机的中断系统8086的中断系统第18页/共87页19第19页/共87页20第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断响应过程第20页/共87页21第21页/共87页22第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断响应过程与时序第22页/共87页2
11、3第七章:微型计算机的中断系统第七章:微型计算机的中断系统1.中断的概念及处理过程2.8086中断系统3.中断控制器8259A第23页/共87页24第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断分类及中断类型码 中断源可以分为两大类,即外部(硬件)中断和内部(软件)中断。硬件中断:即通过外部的硬件产生的中断,如打印机、键盘等。硬件中断又可分为:可屏蔽中断和不可屏蔽中断。不可屏蔽中断:由NMI引脚引入,它不受中断允许标志的影响,每个系统中仅允许有一个,都是用来处理紧急情况的,如掉电处理。这种中断一旦发生,系统会立即响应。可屏蔽中断:由INTR引脚引入,它
12、受中断允许标志的影响,也就是说,只有当IF1时,可屏蔽中断才能进入,反之则不允许进入,可屏蔽中断可有多个,一般是通过优先级排队,从多个中断源中选出一个进行处理。软件中断:即根据某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0,或用INT n指令产生。第24页/共87页25第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断分类及中断类型码 8086/8088系统最多可处理256级不同类型的中断。第25页/共87页26第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断分类及中断类型码 第2
13、6页/共87页27第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断分类及中断类型码 中断类型码:8086为每个中断源分配了一个中断类型码,其取值范围为0255,即可处理256种中断。其中包括软件中断,系统占用的中断以及开放给用户使用的中断。中断类型码或者包含在指令中,或者预先规定;所有内部中断和NMI中断都不执行INTA总线周期;除单步中断外,任何内部中断都无法禁止且都比外部中断优先级高;中 断优 先 级内中断(除法错,INTO,INT)最 高最 低非屏蔽中断NMI可屏蔽中断INTR单步中断第27页/共87页28第七章:微型计算机的中断系统第七章:微型计
14、算机的中断系统8086的中断系统的中断系统中断向量和中断向量表中断向量:把各个中断服务子程序的入口都称为一个中断向量;中断向量表:将这些中断向量按一定的规律排列成一个表,就是所谓的中断向量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。向量表地址:中断向量在中断向量表中的位置。8086中断系统中的中断向量表是位于0段的03FFFH的存贮区内,每个中断向量占四个单元,其中前两个单元存放中断处理子程序的入口地址的偏移量(IP),低位在前,高位在后;后两个单元存放中断处理子程序入口地址的段地址(CS),也是低位在前,高位在后,整个中断向量的排列是按中断类型号进
15、行的。第28页/共87页29第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断向量和中断向量表000H004H008H00CH014H080H3FFHIP偏移地址CS段基地址IP偏移地址CS段基地址IP偏移地址CS段基地址中断类型码0(除法错)中断类型码1(单步中断)中断类型码2(NMI中断)中断类型码3(断点中断)中断类型码4(溢出中断)中断类型码5(保留)系统保留中断用户自定义中断第29页/共87页30第七章:微型计算机的中断系统第七章:微型计算机的中断系统8086的中断系统的中断系统中断向量和中断向量表00H:除法出错中断01H:单步中断02H:NM
16、I端引入的不可屏蔽中断03H:断点中断04H:溢出中断05H31H:-系统使用中断,不容许用户修改(08H 0FH:8259A中断向量;10H1FH:-BIOS用)20H3FH:-DOS用40HFFH:-用户用 第30页/共87页31中断向量:中断服务程序的入口地址中断向量的获取:8086/8088 CPU根据中断类型号在中断向量表中取得。中断向量表:中断服务程序的入口地址存放的区域(也称中断矢量表)中断类型号的获取:1.中断指令INTn中直接得到;2.外部中断类型寄存器从DB输入。第31页/共87页32PA0PA1PA255PA0PA1PA255P0P1P2558086/8088CPU中对应
17、于256个中断类型的中断向量必须设置于0000H至03FFH的1KB内存空间的中断向量表中。中断服务程序第32页/共87页338086/8088CPU中断优先级:内中不可屏蔽中断可屏蔽中断单步中断最高最低可屏蔽中断优先级设定三种方式:多中断源的中断嵌套 进入中断处理程序时,系统自动关中断;中断服务程序中必须有STI开中断指令允许其它中断进入实现中断嵌套。中断结束返回前要有EOI中断结束命令,EOI结束命令应放在中断返回指令IRET前面。RET软件查询中断优先级硬件查询优先级菊花链矢量中断优先级第33页/共87页34硬件查询优先方式硬件查询优先方式菊花链法菊花链法第34页/共87页35矢量中断优
18、先级矢量中断优先级第35页/共87页36中断嵌套中断嵌套第36页/共87页37第七章:微型计算机的中断系统第七章:微型计算机的中断系统1.中断的概念及处理过程2.8086中断系统3.中断控制器8259A第37页/共87页38第七章:微型计算机的中断系统第七章:微型计算机的中断系统中断控制器中断控制器8059A8259A性能概述1.具有8级中断优先控制,通过级连可以扩展至64级优先权控制;2.每一级中断都可以通过初始设置为允许或屏蔽状态;3.8259A的工作方式,可通过编程进行设置,因此使用非常灵活;4.8259A采用NMOS制造工艺,只需要单一的+5V电源。5.可以通过编程选择多种不同的工作方
19、式。第38页/共87页39第七章:微型计算机的中断系统第七章:微型计算机的中断系统中断控制器中断控制器8059A8259A的内部结构和工作原理第39页/共87页40第七章:微型计算机的中断系统第七章:微型计算机的中断系统中断控制器中断控制器8059A8259A的内部结构和工作原理数据总线缓冲器:它是8259A与系统数据总线的接口,是8位双向三态缓冲器。CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过该缓冲器传送的。读/写控制逻辑:CPU通过它实现对8259A的读/写操作。级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。控制逻辑电路:对整个
20、芯片内部各部件的工作进行协调和控制。中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当相应的中断请求输入引脚有中断请求时,该寄存器的相应位置1。中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其中某位置”0”时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。优先级比较器PR:用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产
21、生多重中断或中断嵌套。第40页/共87页41第七章:微型计算机的中断系统第七章:微型计算机的中断系统中断控制器中断控制器8059A8259A的外部引脚第41页/共87页42第七章:微型计算机的中断系统第七章:微型计算机的中断系统中断控制器中断控制器8059A8259A的外部引脚D7-D0:双向数据输入/输出引脚,用以与CPU进行信息交换。IR7-IR0:8级中断请求信号输入引脚。INT:中断请求信号输出引脚,高电平有效,用以向CPU发中断请求,应接在CPU的INTR输入端。INTA#:中断响应应答信号输入引脚,低电平有效,接在CPU的中断应答信号输出端。RD#、WR#:读/写控制信号输入引脚,
22、低电平有效,实现对8259A内部有关寄存器内容的读操作。CS#:片选信号输入引脚,低电平有效,决定了8259A的端口地址范围。A0:8259A两组内部寄存器的选择信号输入引脚,决定8259A的端口地址。CAS2-CAS0:级连信号引脚,当8259A为主片时,为输出;否则为输入,与信号配合,实现芯片的级连,这三个引脚信号的不同组合000111,刚好对应于8个从片。SP#/EN#:为级连管理信号输入引脚,在非缓冲方式下,若8259A在系统中作主片使用,则SP=1;否则SP=0;在缓冲方式下,用作8259A外部数据总线缓冲器的启动信号。+5V、GND:电源和接地引脚。第42页/共87页43第七章:微
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 周荷琴件 微型计算机的中断系统 微机 原理 接口 技术 微型计算机 中断 系统
限制150内