计算机基础课件 第7章_中断控制器8259

上传人:woxinch****an2018 文档编号:44927969 上传时间:2018-06-14 格式:PPT 页数:85 大小:865.50KB
返回 下载 相关 举报
计算机基础课件  第7章_中断控制器8259_第1页
第1页 / 共85页
计算机基础课件  第7章_中断控制器8259_第2页
第2页 / 共85页
计算机基础课件  第7章_中断控制器8259_第3页
第3页 / 共85页
计算机基础课件  第7章_中断控制器8259_第4页
第4页 / 共85页
计算机基础课件  第7章_中断控制器8259_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《计算机基础课件 第7章_中断控制器8259》由会员分享,可在线阅读,更多相关《计算机基础课件 第7章_中断控制器8259(85页珍藏版)》请在金锄头文库上搜索。

1、第7章 中断控制器、DMA控制器 和计数器/定时器 7.1 中断控制器8259A7.1.1 8259A的引脚信号、编程结构 与工作原理7.1.2 8259A工作方式7.1.3 8259A初始化命令字、操作 命令字7.1.4 8259A使用举例什么是中断控制器,它的作用是什么?中断控制器是用来管理多个中断源 的专用芯片。当有多个中断源向CPU提 出中断请求时,中断控制器可以接收外 部的中断请求,并进行优先级判断,选 中级别最高的中断请求,并送至CPU的 INTR端。当CPU响应中断并进入中断处理程序后 ,中断控制器仍负责对外部中断请求的 管理。本节讨论Intel 系列的可编程中断控制器 8259

2、A的引脚信号、编程结构、工作原 理、工作方式与编程方法。8259A的工作特点: 1 片8259A能管理8级中断,可以用9 片8259A来构成64级主从式中断系统。 可编程,使用灵活。 只需一组5V电源 7.1.1 8259A的引脚信号、编程结构 和工作原理(1) 8259A 的引脚 信号接收来自I/O 设备的中断 请求向CPU发中 断请求接收来自CPU 中断请求应答和数据总线相连 ,实现和CPU的 数据交换读出信号,通知将某 个寄存器的值送到数 据总线写入信号,通知从 数据线上接收数据芯片选通信号, 通过地址译码电 路与地址总线相 连指出当 前的哪 个端口 被防问当片选信号有效时,A0为0时,

3、访问偶地址端 口; A0为1时,访问奇地址端口。地址总线A0地址译码CS8259AA B1、A0为0时,访问偶 地址端口; A0为1时 ,访问奇地址端口。问:A0连接到 地址总线的A0吗?问:A0引脚是连接到地址总线的A0吗?若是,则8259A被分配一个偶地址和 一个奇地址。然而,8259A只有8条数据总线,或连 接8086系统中的高8位地址,或连接 8086系统中的低8位地址。当CPU从内存取数据时,偶地址单元的 数据通过低8位数据线传送至CPU,奇 地址单元的数据通过高8位数据线传送 到CPU,CPU与端口之间的16位数据 交换情况与此类似。也就是说,8259A被分配的两地址或是 偶地址、

4、或是奇地址,不会是一奇一偶 。一般情况下,8259A 的8位数据线连接 数据总线的低8位。这样从8086CPU 的角度来说,要给8259分配两个偶地 址。也就是说,A0必须为0。地址信息A1 A0A0必须 为0但对于8259A来说,要求A0为0时, 访问偶地址端口,A0为1时,访问奇地 址端口。若直接把A0接在地址总线的 A0上,显然不能满足要求,哪如何解 决这个问题?问题解决办法:1片8259对应2个端口地址,一个偶地 址、一个低地址。这就要求A0接数据 总线的A1便可实现。0010A1A02个连 续的偶 地址CAS2、CAS1、CAS0 ,用于级连系统指出被 响应的从片在多片8259A级连

5、的情况下,主片的 CAS2、CAS1、CAS0和所有的从片的 CAS2、CAS1、CAS0分别连在一起的 ,主片的作为输出,从片作为输入。主 8 2 5 9 A从8259从8259C A S 0 1 2在CPU发出第一个中断响应负脉冲时, 主片除完成例行工作外,还通过CAS2 、CAS1、CAS0发出一个编码ID2、 ID1、ID0从片接收到编码后与本身的ICW3的D2 、D1、D0比较,若相等,则在第二个 负脉冲到来时,将自已的中断类型码送 到数据总线。(注:从片ICW3的D2、D1、D0的值是 由该从片连接到主片的IR决定,若为 IR3,则D2、D1、D0的值为011)结论: CAS2、C

6、AS1、CAS0是主片 和从片的联络信号。双向,当作为输入时,为1,则该 片为主片,为0,则该片为从片。当作为输出时,此信号使数 据总线驱动器启动。此信号到底作为输出还是输入,决定于8259A是 否采用缓冲方式工作。缓冲方式:在多片8259A级连的大系 统中,8259A通过总线驱动器和数据 总线相连的工作方式。8259A总线驱动器数据总线SP/EN在缓冲方式时,会在输出状态字或中断 类型码的同时,从该引脚输出一低电平 ,此电平下好可作为总线数据总线驱动 器启动信号。非缓冲方式: 8259A直接与数据总线 相连. 此时,该引脚作为输入端,(1)系统中 只有单片8259A时,SP/EN端必须接高

7、电平,当系统中有多片8259A时,主 片的SP/EN端接高电平,而从片的 SP/EN端接低电平。2 8259A的编程结构和工作原理从编程结构上看,下半部分有7个寄存 器它们都是8位,每个寄存器都是可编 程的,即可以用指令来对它们的内容进 行设置。(1)下半部分:ICW1ICW4:用来容纳初始化命令 字ICW (initialization command word),一般在系统启动时由初始化程 序来设定的,用来确定工作方式等,一 旦设定,在系统工作过程中就不再改变 。OCW1OCW3:用来容纳操作命令字 OCW(operation command word) ,操作命令字由应用程序设定,来对中

8、 断处理过程作动态控制,系统在运行过 程中,操作命令字可多次设置。(2)上半部分(8259A的处理部件): 中断请求寄存器 IRR(interrupt request register) 中断优先级裁决器 PR(priority resolver) 当前中断服务寄存器ISR(in service registerIRR接收来自IR0IR7的中断请求,并锁存中断屏蔽寄存器(OCW1)对应位是否为0与当前中断服务寄存器ISR比较优先级为0通过。进入优先 级裁决器为1封锁高,向CPU 发出中断请 求低、不响 应8259A处理部件的工作过程(工作原理):n8259A处理部件的工作过程(工作原 理) 1

9、中断请求寄存器IRR接收外部的中断 请求,并使相应位置1,即锁存该请求 ; 2逻辑电路根据中断屏蔽寄存器IMR( 即OCW1)中的对应位的值决定是否让 此请求进入优先级裁决器。对应位为0 ,通过;对应位为1,屏蔽。3中断优先级裁决器把新进入的中断请 求和当前正在处理的中断(当前中断服 务寄存器ISR的内容说明了当前正处理 的中断)比较; 4若新进入的中断请求具有足够高的优 先级,中断优先级裁决器会通过相应的 逻辑电路使8259A的INT端为1,从而 向CPU发出一个请求。5如果中断允许标志IF=1,CPU在执 行完当前指令后响应中断,此时,CPU 从INTA引脚上往8259A回送两个负脉 冲。

10、 6第一个负脉冲到达时,8259A完成三 个动作:使IRR的锁存功能失效,直到第二个负脉 冲到达;ISR中的相应位置1; 使IRR寄存器中的相应位清0。 7 第二个负脉冲到达时,8259A完成 下列动作:ICW2的内容(中断类型码)送D0-D7; 若8259A工作在中断自动结束方式,则会 使ISRK 相应位清0;补充说明: 1 CPU获得中断类型码N后,将据 4*N从中断向量表中找到中断服务程序 的入口地址,从而转入相应的程序(还 有其他一些操作,可阅读P211)。2在中断服务程序执行完后,程序中 的IRET指令将返回被中断程序。7.1.2 8259A的工作方式1. 设置优先级的方式 (1)

11、全嵌套方式 (2) 特殊全嵌套方式 (3) 优先级自动循环方式 (4) 优先级特殊循环方式 说明:n全嵌套方式 IR0为优先级最高的中断请求,其次 为IR1、IR2等当在执行中断处理程序时,可以响应 比正在执行的中断优先级高的中断请求 。(2)特殊全嵌套方式在此方式下,当处理某一级中断时 ,如果有同级的中断请求,那么也给予 响应,从而实现一种对同级中断请求的 特殊嵌套。该方式一般用在8259A的 级连系统。此时,主片工作在特殊全嵌 套方式下,从片可以处于其他优先级方 式。8259A8259A8259AIR0IR7IR5若主片正在处理来自 从片IR7的中断时, 从片的IR0上有中断 请求,主片是

12、否接收 处理,并实现嵌套? (设IR0优先级比IR7 高)主片从片结论:在多片8259A的级连系统中,在主 片看来,一个从片为一级,从片内部的 优先级要得到系统的确认,则主片必须 工作在特殊全嵌套方式。2 . 屏蔽中断源的方式(1) 普通屏蔽方式 (2) 特殊屏蔽方式 (1)普通屏蔽方式 可以通过OCW1使屏蔽寄存器的对应 位置1或置0来屏蔽或不屏蔽来自IR0 IR7的中断请求。程序设计时,可以通过设置操作命令 字OCW1使屏蔽寄存器中的任一位或几 位为1,从而实现对某一个IR端的屏蔽 。 为什么要屏蔽某些中断请求?例,在计算机网络通信中,接收中断的优先级 比较高,当一个计算机站点进行发送时,

13、一 般对接收中断要进行屏蔽,以免本站的发送 过程被其他站点的发送过程所打断,而在完 成本站发送后,要立即开放接收中断,以免 其他站往本站的发送过程迟迟得不到接收方 的回答。这就是在程序中通过对OCW1的某位 置1和置0实现的。(2) 特殊屏蔽方式在特殊屏蔽方式下,用OCW1对屏蔽寄存 器的某一位置1后,会同时使当前中断 服务寄存器中的对应位ISn自动清0,这 就不仅屏蔽了正在处理的这级中断,而 且开放了级别较低的中断。应用场合:若希望在一个中断服务程序的执行过程 中响应级别较低的中断请求,可以将 8259A工作在特殊屏蔽方式。在该方式中,如将正在执行的中断请求 对应的OCW1置1,则同时将对应

14、的 ISn清0,这使得从外界看来,8259A 好像不在处理任何中断。此时,即使有最低级的中断请求,也会 发通过INT发送给CPU,从而得到响应 。3. 结束中断处理的方式(1) 中断自动结束方式 (2) 非自动结束方式一般的中断结束方式 特殊的中断结束方式 (1)为什么要有中断结束处理?一个中断被响应时,8259A就会在当 前中断服务寄存器设置相应位Isn 这为 中断裁决器的工作提供依据,中断结束 后,必须使Isn清0,否则中断控制器就 不能正常工作。中断结束处理就是使当前中断服务寄存 器ISn位清0。(2)中断自动结束方式,只适用于系统 中只有一片8259A,且多个中断不会 嵌套的情况。特点

15、:系统一进入中断,8259A就自动 清除中断服务寄存器中的对应位Isn 此种方式主要怕没有经验的程序员忘了在中断服务程序中给出中断结束命令而 设立的。(3) 一般的中断结束方式用在全嵌套情况下,当向8259A发 出中断结束命令时,8259A就会把当 前中断服务寄存器的最高的非零IS位复 位。最高的非零IS位即是最后一次被响应和 被处理的中断,即当前正在处理的中断 。n如何发出中断结束命令n在程序中向8259A的偶地址端口输出 一个操作命令字OCW2,并使得 OCW2中的EOI=1,SL=0,R=0即可。 (具体在实验程序中介绍)(4)特殊的中断结束方式在非全嵌套方式下,当前中断服务寄存 器是无

16、法确定哪一级中断是最后响应的 ,中断的结束处理必须要指出对当前中 断寄存器的哪一个ISn位。特殊中断结束命令实际上也是通过往 8259A的偶地址端口输出一个操作命 令字OCW2,并使得OCW2中的 EOI=1,SL=1,R=0,OCW2中的L2、 L1、L0三位指出到底对哪一个IS位进 行复位。4 . 连接系统总线的方式(1) 缓冲方式 (8259A通过总线驱动器和 数据总线相连,常用于多片8259A级 连的大系统) (2) 非缓冲方式 (8259A直接和数据总线 相连,常用于单片8259A的系统)5 . 引入中断请求的方式(1) 边沿触发方式 (2) 电平触发方式 (3) 中断查询方式 (1)边沿触发方式:8259A将中断请求输入端出现的上升 沿作为中断请求信号。中断请求输入端 出现上升沿触发信号以后,可以一直保 持高电平。(2) 电平触发方式:把中断请求输入端出现的高电平作为中 断请求信号。当中断请求输入端出现的 中断请求得到响应后,输入端必须及时 撤除高

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

最新文档


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

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