第07章中断控制器的.ppt

  1. 1、本文档共128页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

ayangjiayu1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档