第3节3 8259中断控制器.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3节3 8259中断控制器

由R,SL,EOI 3位编码可定义多种不同的中断结束方式或发出置位优先权命令。 ①当3位编码为“001”,则定义8259A采用普通EOI结束方式,一旦中断服务程序结束,将给8259A送出EOI结束命令,8259A将ISR寄存器中当前级别最高的置“1”位清“0”。 ②当3位编码为“011”,则定义8259A采用特殊EOI结束方式,一旦中断处理结束,除给8259A送EOI结束命令外,还由L2 L1 L0字段给出当前结束的是哪一级中断,8259A应将ISR寄存器中指定级别的相应位清“0”。(∵正在执行的中断并不一定是优先级最高的!) ③当3位编码为“101”,定义8259A采用普通EOI循环方式。一旦中断结束,8259A一方面将ISR寄存器中当前级别最高的置“1”位清“0”;另一方面将最低优先级赋给刚结束的中断请求IRi,将最高优先级赋给中断请求IRi+1。 ④当3位编码为“111”,则定义8259A采用特殊EOI循环方式。一旦中断结束,8259A将ISR寄存器中由L2 L1 L0字段给定级别的相应位清“0”;并将最低优先级赋给这一中断请求,最高优先级赋给原来比它低一级的中断请求。 ⑤当3位编码为“100”和“000”,则定义8259A采用自动EOI循环方式(置位)和取消自动EOI循环方式(复位)。一旦被定义为自动EOI循环方式,CPU将在中断响应总线周期中第2个中断响应信号INTA结束时,将ISR寄存器中的相应位置“0”;并将最低优先级赋给这一级,最高优先权赋给原来比它低一级的中断。 ⑥当3位编码为“110”时,则表示向8259A发出置位优先权命令,将最低优先级赋给由L2 L1 L0字段所给定的中断请求IRi。其他中断源的级别按循环方式分别赋给。 ①RR(D1)位用作读寄存器命令。RR=1,表示CPU要求读取8259A中某寄存器内容。RIS位用来为读寄存器命令确定读取对象:RIS=0时表示要求读IRR寄存器内容,RIS=1时表示要求读ISR寄存器内容。 ②如果CPU需要读出当前IMR寄存器的内容,则不需要设置RR和RIS位的状态,只要端口地址设置成奇地址(A0=1),直接安排一条IN指令,便可将IMR寄存器内容读入累加器中,这种情况实际上与OCW3控制字无关,可在程序的任何位置安排IN指令来实现。 ⑤OCW3中的ESMM和SMM位是用来实现或取消特殊屏蔽方式,当ESMM和SMM位置成“11”时,表示8259A采用特殊屏蔽方式,这种情况下只屏蔽同级中断请求进入,允许高级中断打断低级中断,也允许低级中断打断高级中断。(常用于级联中的从片8259中断管理!) ⑥上述操作控制字OCW1~OCW3可安排在预置命令字之后,用户可根据需要在程序的任何位置上设置它们,当需要读取ISR或IRR寄存器内容或需要查询当前8259A的中断状态时,都必须先定义OCW3,然后用IN指令读入。如果只需要读入IMR寄存器内容,则不需要定义OCW3。 8259A内部有两个地址(奇、偶) 写入奇数地址的控制字:ICW2、ICW3、ICW4、OCW1 写入偶数地址的控制字:ICW1、OCW2、OCW3 ICW控制字写入有固定的顺序,OCW命令字写入无固定顺序 ④当系统中8259A采用完全嵌套方式。已知当前ISR寄存器中第2位和第5位置“1”,即第2级和第5级中断正在处理过程中,当前正在执行的应该是第2级中断服务程序。 如果在第2级中断服务程序中,将OCW3中P位置“1”后,安排如下一条输入指令:IN AL,偶地址 AL状态如下: 初始化及操作命令字小结 * * 6.9 8 2 5 9 芯 片 6.3.3 8259中断控制器 1. 8259的内部结构和引脚功能 (1) 8259的内部结构 ①中断请求寄存器IRR 保存8条外界中断请求信号IR0~IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求 ②中断服务寄存器ISR 保存正在被8259A处理的中断源的状态 Di位为1表示IRi中断正在被处理中;为0表示没有被处理 ③中断屏蔽寄存器IMR 保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi的中断被屏蔽(禁止);为0表示允许其中断(能否将整个芯片屏蔽?) ④优先权判别器PR (priority[prai?r?ti] resolver) 选出当前中断请求信号中优先级最高的,由CPU首先响应这一请求.并使ISR相应位置1. 当出现中断嵌套时,PR把当前的中断请求信号与CPU正在处理的中断(在ISR中有记录)进行比较,若当前的中断请求优先级更高,则暂停正在处理的中断,处理更高级别的中断. ⑦ 控制电路 ⑧ 级联缓冲/比较器 ⑤ 读/写控制电路 ⑥ 数据总线缓冲器 A. 接收CPU发来的命令,确定对8259进行何种操作。 B. 对地址信号译码,选中一个

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档