- 1、本文档共128页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第07章中断控制器的
;第7章 中断控制器;§1 8259A的外部引脚;Intel 8259A是一种可编程中断控制器,可协助CPU进行中断管理。其功能:
接受和扩充外设的中断请求
中断优先级排队
提供中断类型号
屏蔽或打开中断
接受CPU命令或返回当前工作状态
一片8259A可直接管理8级中断,通过级联可扩展至64级中断。
通过对8259A进行编程,可设置多种工作方式,以满足不同中断系统的需要。
;*;*;7.1 8259A的外部引脚;IR7~IR0:8个中断源中断请求端(输入)
INT:中断请求输出信号(输出)。与CPU的INTR相连。(从片的INT输出到主片的IR7~IR0)
INTA:中断响应信号(输入)。接收CPU送来的INTA中断响应信号。
;CAS0~CAS2:级连信号。出现的是发出中断请求的从片的编码。在CPU发出中断响应信号时,主片向从片发出,指出是哪一个从片的请求被响应了。
主片8259A的 CAS2 ~ CAS0 为输出。
从片8259A的 CAS2 ~ CAS0 为输入。;SP/EN:主从定义/缓冲器工作信号
当8259工作在缓冲方式时,为输出EN:作为总线驱动器8286的允许工作信号,连至8286的OE端。
当8259工作在非缓冲方式时(未使用总线驱动器),为输入SP:用来区分是主片还是从片。输入为高电平1时为主片,输入为低电平0时为从片(主=1,从=0)。;单片8259A最多可管理8级中断。当中断源多于8个时,需将多个8259A芯片级联构成主从模式。
系统最多支持8个8259A芯片级联,即:最多可支持64个中断源。
每个从片的IR7 ~ IR0可直接与8个中断源相连,经过优先级判优后向主片发送INT信号。主片对所有从片发来的INT进行判优后,最终向CPU发INT信号。;CAS0 IR0
CAS1 IR1
CAS2 IR2
IR3
INTA IR4
IR5
INT IR6
IR7
SP/EN;8259级联工作示意图;SP/EN 引脚用于区分8259A是主片还是从片。高电平为主片,低电平为从片。
主/从片通过CAS2~CAS0 互连。主片的CAS2~CAS0为输出,从片的CAS2~CAS0 为输入。
CPU发出第一个INTA时,主片使ISR相应的位置1,使IRR的相应位清0;并通过CAS2~CAS0 输出一组从片的编码 ID2~ID0。
从片收到该编码后,与自身 ICW3 中的D2~D0 编码进行比较。若相同,则在第二个INTA信号将从片的中断类型号送到数据总线。;8259端口分配及读写功能;主8259A的端口地址为20H和21H。
主片中断源的中断类型码为08H~0FH。
从8259A的端口抵制为0A0H和0A1H。
从片中断源的中断类型码为70H和71H。;PC机与8259A的连接;§2 8259A的内部结构;*;1. 数据总线缓冲器
8位的双向三态缓冲器,连接8259A与系统数据总线的D7~D0。
用于在CPU与8259A间传送命令、状态和数据信息。
2. 读/写控制逻辑
接收CPU的读写命令,完成对8259A内部端口的读写操作。
具体操作内容由CS、RD、WR 和 A0 信号来决定。;3. 级联缓冲/比较器
CAS0 ~ CAS2 用于多块8259A的级联。;4. 中断请求寄存器 (IRR)
8位寄存器,通过引脚 IR0 ~ IR7 与8个中断源相连。
若IRi = 1,表明对应的中断源有中断请求,则 IRR寄存器相应的第 i 位置1。
5. 中断屏蔽寄存器 (IMR)
8位寄存器,第 Mi 位为1,表示屏蔽 IRi 的请求。
其值可通过软件设置或改变。;6. 中断优先权判别电路 PR
对已进入IRR且未被IMR屏蔽的各中断请求进行优先权判别,确定优先级最高的中断,向CPU发送中断请求信号INT。
若8259A正在为某一中断服务时,又出现了新的中断请求,则PR判断新的中断请求优先级是否更高。若是,则进入中断嵌套。;7. 中断服务寄存器 (ISR)
8位寄存器,用来记录CPU当前正在为哪个或哪几个中断源服务。
当CPU响应 IRi 请求时,ISR中相应的位置1。当ISR中有多个1时,表明CPU处于中断嵌套中。
当某个中断处理完毕,ISR相应的位复位。;8. 控制逻辑
作用:
根据IRR、IMR和PR的状态,通过INT信号向CPU发送中断请求。
接受来自CPU的中断响应信号INTA,使 ISR相应的位置1,且使 IRR相应的位清0,避免该中断源的一次请求产生多次中断。;8. 控制逻辑(续1)
内部包含7个寄存器:
ICW
文档评论(0)