[信息与通信]09微机接口_第九章

上传人:豆浆 文档编号:53681121 上传时间:2018-09-04 格式:PPT 页数:119 大小:1.01MB
返回 下载 相关 举报
[信息与通信]09微机接口_第九章_第1页
第1页 / 共119页
[信息与通信]09微机接口_第九章_第2页
第2页 / 共119页
[信息与通信]09微机接口_第九章_第3页
第3页 / 共119页
[信息与通信]09微机接口_第九章_第4页
第4页 / 共119页
[信息与通信]09微机接口_第九章_第5页
第5页 / 共119页
点击查看更多>>
资源描述

《[信息与通信]09微机接口_第九章》由会员分享,可在线阅读,更多相关《[信息与通信]09微机接口_第九章(119页珍藏版)》请在金锄头文库上搜索。

1、,本章内容, 掌握中断技术的基本概念, 了解8086中断系统及其对各种类型中断的响应流程, 了解8259A中涉及到的有关概念, 掌握8259A的编程应用,9.1 中断系统的基本概念,一、什么叫中断?,中断示意图,日常生活中类似“中断” 的例子:,例1:门铃响时,放下手中正在做的事情,跑去开门,招待客人;客人走后,接着做原来的事情。,例2:教师讲课过程中,同学遇有疑问,不同理解之处,随时向老师提问。,二、应用中断技术的优点,1.实现CPU 与外设的并行工作,提高了 CPU 的效率。,查询方式的数据输入,中断方式的数据输入,二、应用中断技术的优点,1. 实现CPU 与外设的并行工作,提高了 CPU

2、 的效率。,2. 实现实时处理。,3. 实现故障处理。,三、中断源,引起中断的原因,产生中断请求的来源。,通常有以下几种:,1. 一般的I/O 设备,如键盘、打印机等。 2. 实时时钟。 3. 故障源。 4. 为了调试程序而设置的中断。 (例如设置断点,单步运行等),四、中断系统的功能,计算机系统中,用于实现中断功能的硬件和软件的集合,称为中断系统。,中断系统应解决如下问题:,1. 中断请求信号的产生 ( 中断源如何申请中断?设中断请求寄存器),CPU如何响应?(如何知道有中断请求?是否有求必应?响应后的处理过程?设中断屏蔽寄存器),3. 中断优先权问题(设中断优先权寄存器或软件查询),4.

3、中断的具体服务,5. 中断服务完毕,如何返回原程序?,五、实现中断优先权的方法,判断和确定中断源的中断优先权,可以采用软件和硬件两种方法。,当系统中有多个中断源存在时,若有几个中断源同时提出申请,CPU先响应谁? 当CPU正响应某一中断过程中,又有另外的中断源提出中断请求,CPU是否响应? 为此提出了中断优先权的概念。,1. 用软件确定中断优先权,优先权管理电路,1.用软件确定中断优先权,软件查询流程图,优先权管理电路, 采用软件查询方式的特点:, 询问的次序,即为优先权的次序。 硬件简单。 由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。,2.硬件方式,2.硬件方式,1,六、808

4、6CPU 响应外部中断的过程,CPU 在每一个指令周期的最后一个总线周期的最后一个T状态采样INTR 或NMI 信号线。,下面以INTR 为例,说明8086 CPU 响应中断的过程。,讨论:,1. 为什么要在中断服务程序中执行STI 指令? 2. STI 指令在中断服务程序中的不同位置时,对CPU 处理中断有何影响?,七、小结,1. 实现断点地址的保护与恢复。 2. 实现现状信息的保护。 3. 实现中断优先权的排队。 4. 实现中断的嵌套。,中断过程由计算机的中断系统,配合用户设计的中断服务程序来实现。中断应具备以下功能:,9.2 8086CPU的中断系统,一、中断类型,8086能处理256种

5、中断,分为两大类:外部中断和内部中断。其中断分类如右图,8086的中断分类,1. 外部中断 (硬件中断),(1) 非屏蔽中断 NMI (类型号为2),(2) 可屏蔽的中断INTR,高有效,CPU 是否响应,取决于 FR 中IF 的状态。常用于各种外设的中断。,2. 内部中断 (软件中断),通常由三种情况引起:,(1) INT n 指令中断 (n 为中断类型号),(2) 处理CPU 某些错误的中断, 除法错中断 (中断类型号为0) 溢出中断 (INTO) (中断类型号为4),(3) 为调试程序设置的中断,a 单步中断,当FR 中TF = 1时,每执行一条指令,CPU 产生类型为1 的单步中断。,

6、b 断点中断,设置断点实际上是把指令“INT 3” 插入到程序中,CPU 每执行到断点处的“INT 3” 指令,便产生类型为3 的中断。,二、中断优先级,8086 系统中,中断优先级的次序为:,三、中断向量表,CPU 响应中断后,如何得到中断服务程序的入口地址 (中断向量),转入到中断服务程序?8086CPU 通过建立中断向量表的方法解决。,中断向量 (中断服务程序入口地址) 在表中的地址 = 中断类型号 4,中断向量表,四、中断向量的装入,BIOS 负责01FH 共32个中断向量的装入。用户若想装入自己的中断向量到向量表中的,可用以下方法:,1. 用STOS 指令填空中断向量表,假设类型号为

7、60H 的中断向量为, CLI CLD MOV AX, 0 MOV ES, AX MOV DI, 460H ; DI 指向表中对应位置 MOV AX, OFFSET_INTR ; 取偏移地址 STOSW ; ALDI, AHDI+1 ;DI+2DI MOV AX, SEG_INTR ; 取段基址 STOSW STI ,SEG_INTR: OFFSET_INTR。,2. 利用MOV 指令写入中断向量, CLI MOV AX, 00H MOV ES, AX MOV BX, 460H ; BX 指向表中对应位置 MOV AX, OFFSET_INTR MOV ES:BX, AX ; 装入编程地址 M

8、OV AX, SEG_INTR MOV ES:BX+2, AX ; 装入段基址,方法1,2由用户直接操作中断向量表,因此,要熟悉中断向量表的具体组织。,3. 利用DOS 功能调用“ INT 21H ” 的AH = 25 H 装入中断向量,MOV AL, 60H ; 类型号AL MOV AH, 25H ;功能号25HAH MOV DX, SEG_INTR MOV DS, DX MOV DX, OFFSET_INTR ;DS:DX=中断向量 INT 21H,方法3由DOS功能调用具体实现,中断向量表对用户是透明的。,1. 取类型号; 2. 计算向量地址; 3. 根据向量地址查表,将偏移地址送IP,

9、段基址送CS; 4. 转入中断服务程序,进行中断处理。,五、8086CPU 转入中断服务程序的过程,8086转入中断处理程序的过程,六、 8086CPU中断响应流程,9.3 8259A 可编程中断控制器,在微机系统中,可以使用8259A 扩展外部中断,Intel 8259A 可编程中断控制器,主要有以下功能:,3. 在中断响应周期,8259A 可提供相应的中断类型号。,1. 1片8259A 能管理8级中断,通过级联用9片8259A可以构成64 级主从式中断系统。,2. 每一级中断可以屏蔽或允许。,4. 可编程使8259A 工作在多种不同的方式。,一、8259A 的内部结构与引脚信号,8259A

10、内部逻辑框图,1. 数据总线缓冲器,8位、双向、三态,是8259A与 CPU 之间的数据接口。,D0D7直接与CPU 数据总线的低8位连结。,2. 读/写控制逻辑,A0:常常与地址信号线A0相连。,8259A的两 个端口地址,3. 中断请求寄存器 IRR,因此,IRR记录外中断源IRi的请求信息。,4. 中断服务寄存器 ISR,8位,当IRi得到响应时,对应位置“1”。ISR 记录正在处理的IRi,当中断嵌套时,可能多位置“1”。,因此,ISR记录CPU对IRi的响应情况。,5. 中断屏蔽寄存器 IMR,8位,某位置“ 1”,对应IRi 禁止产生中断。,因此,IMR控制是否对IRi进行屏蔽操作

11、。,6. 优先权电路,实现优先权的判断与处理,采用编码器和比较器电路,如下图所示。,8259A中的中断优先权电路,7. 控制逻辑,(1)由IRR 和PR 的情况,向8259A 其它部件发出控制信息。,(2)向CPU 发出INT 信号,接收CPU,信号。,8. 级联缓冲/比较器,可以实现8259A的级联,扩展外中断。,(1) CAS2、CAS1、CAS0 引脚, 主8259A: CAS2CAS0 输出,输出被 响应的从片的标志码。,问题:8259A级联时,如何确定主8259A的IRi接有从片,从片接入主8259A的IRi?,从片A标去码:011,从片B标志码:110, 当8259A 工作于非缓冲

12、方式 (直接与CPU 的DB 相连),为输入,是主从芯片定义引脚。, 当8259A 工作于缓冲方式 (通过总线缓冲器与 CPU 的DB 相连),此时,主从芯片的定义由ICW4中的M/S实现。,8259A 的引脚图,二、8259A 的中断处理过程,下面以8259A单片使用为例,说明其中断处理过程。,1、当一条或多条中断请求线IR0 IR7变高时,设置相应的IRR位。,2、PR对中断优先权和中断屏蔽寄存器的状态进行判断之后,如某中断优先权最高且为允许中断状态,就向CPU发高电平信号INT,请求中断服务。,三、8259A 的工作方式,8259A有多种工作方式,这些工作方式可以通过初始化命令字(ICW

13、1ICW4)和操作命令字(OCW1OCW4)来设置。,1. 引入中断请求的方式,边沿触发方式。以上跳沿向8259A请求中断,上跳沿后可一直维持高电平,不会再产生中断。,电平触发方式。以高电平申请中断,但在响应中断后必须及时清除高电平,以免引起第二次误中断。,中断查询方式。外设通过8259A申请中断,但8259A却不使用INT信号向CPU申请中断,CPU用软件查询确定中断源,并为其服务。,2. 连接系统总线的方式, 在大系统中,要求数据总线有总线缓冲器。8259A与这种带总线缓冲器的系统总线连接的方式称缓冲器方式。,在小系统中,则8259A不需要总线缓冲器而是将其直接接至数据总线。8259A与这

14、种不需总线缓冲器而直接连到系统总线的方式称非缓冲器方式。,3. 屏蔽中断源的方式,普通屏蔽方式。利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或几位置1来屏蔽一个或几个中断源的中断请求。若要开放某一个中断源的中断请求,则将IMR中相应的位置0。,特殊屏蔽方式。在某些场合,在执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应,此时可采用特殊屏蔽方式。它可通过OCW3的D6D511来设定。,4. 优先级排队的方式,全嵌套方式。在此种方式下中断优先级按0 7顺序进行排队,只允许中断级别高的中断源去中断中断级别低的中断服务程序。,特殊全嵌套方式。它和全嵌套方式基本相同,所不同的是

15、在特殊全嵌套方式下,当执行某一级中断服务程序时,可响应同级的中断请求,从而实现对同级中断请求的特殊嵌套(8259A级联使用时,某从片的8个中断源对主片来说,可以认为是同级的)。特殊全嵌套方式用于多片级联。,优先级自动循环方式。在这种方式下,优先级顺序不是固定不变的,一个设备得到中断服务后,其优先级自动降为最低。其初始的优先级顺序规定为IR0,IR1,IR7。该方式用在系统中多个中断源优先级相等的场合。,优先级特殊循环方式。这种方式与优先级自动循环方式唯一的区别是,其初始的优先级顺序不是固定IR0为最高,然后开始循环,而是由程序指定IR0 IR7中任意一个为最高优先级,然后再按顺序自动循环,决定

16、优先级。,5. 结束中断的处理方式,自动中断结束方式。在中断服务程序中,中断返回之前,不需发中断结束命令就会自动清除该中断源所对应的ISR位(实际上在CPU发第二个信号时,8259即自动消除ISR中的对应位)。这种方式用在多个中断不会嵌套的系统中。,非自动中断结束方式。在中断服务程序返回之前,必须发中断结束命令才能使ISR中的当前服务位清除。,四、8259A 的初始化命令字,8259A 初始化编程时,有四个初始化命令字ICW(Initialiation Command Word),即ICW1ICW4 ;8259A工作期间,有三个操作命令字OCW(Operation Command Word),即OCW1OCW3。,8259A 只有两个端口地址,A0=,

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

当前位置:首页 > 行业资料 > 其它行业文档

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