微机原理--中断技术.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
具有8级中断的系统中, 最大的中断嵌套深度为8 1. 完全嵌套方式 由IRi引入的中断请求有固定的级别 IR0 的级别最高,IR7的级别最低 要求堆栈的容量要大 6字节*8 (2个字节的标志寄存器和4个字节断点地址*中断嵌套深度为8) 中断结束方式 (1)普通EOI循环方式(单片) (2)特殊EOI循环方式(多片) (3)自动EOI循环方式(有可能发生重复嵌套) (1)普通EOI方式: 当任何一级中断服务程序结束时,只给8259A传送一个EOI结束命令,8259A收到这个EOI命令后,自动将ISR寄存器中级别最高的置“1”位清“0”。这种结束方式最简单,但是只有当前结束的中断总是尚未处理完的级别最高的中断时,才能使用这种结束方式。这就是说,如果在中断服务程序中曾经修改过中断级别,则决不能采用这种方式,否则会造成严重后果。 (2) 特殊EOI方式: 当中断服务程序结束给8259A发出EOI命令的同时,将当前结束的中断级别也传送给8259A,就被称作特殊EOI方式。这种情况下,8259A将ISR寄存器中指定级别的相应位清“0”,显然这种结束方式可在任何情况下使用。 (3) 自动EOI方式: 任何一级中断被响应后,ISR寄存器中相应位置“1”,CPU将进入中断响应总线周期,在第2个中断响应信号(INTA)结束时,自动将ISR寄存器中相应位清“0”,被称作自动EOI方式。采用这种结束方式,当中断服务程序结束时,CPU不用向8259A回送任何信息,这显然是一种最简单的结束方式。但是存在一个明显的缺点,任何一级中断在执行中断服务程序期间,在8259A中没有留下任何标志,如果在此过程中出现了新的中断请求,则只要当前IF=1,不管新出现的中断级别如何,都将打断正在执行的中断服务程序而被优先执行,这就有可能出现低级中断打断高级中断或同级中断相互打断的不合理现象,通常将这种情况称作“重复嵌套”,重复嵌套的深度无法控制,很可能造成某些高级中断得不到及时处理的情况,这显然是不允许的,因此使用自动EOI方式一定要特别小心。对于一些以预定的速率发生的中断,在肯定不会产生重复嵌套的情况下,采用自动EOI方式是最理想的。 (1)普通EOI方式: 每当任何一级中断被处理完,它的优先级别就被改变成为最低级别,而将最高的优先级别赋给原来比它低一级的中断请求。(见表9-1) (2)自动EOI循环方式:任何一级中断响应后,在中断响应周期中,由第二个中断响应信号INTA的后沿自动将ISR寄存器中相应的位清零。并立刻改变各级中断的优先级别。 (3)特殊EOI循环方式:利用置位优先权命令由用户来指定最低优先级别。令把最低优先级赋给某一中断源IRi,于是最高优先级便赋给IRi+1,其他各级按循环方式类推。 2. 自动循环方式 普通屏蔽方式:将中断屏蔽寄存器IMR中的某位或几位置1,即将相应级的中断请求给屏蔽掉了。 特殊屏蔽方式:要求仅对本级中断进行屏蔽,而允许其他级别的中断进入系统(包括比它高的或者低的) 3. 中断屏蔽方式 10.2.3 8259A 芯片的级联使用 在级联使用方式下,第1个INTA有效时,主8259A将级联地址从CAS2~CAS0 3个端输出给所有的从8259A芯片,到第2个INTA有效时,与主8259A发出的级联地址相符的从8259A将向CPU送出当前的中断类型码n,以后的操作过程与单级使用时相同。 当从8259A引入的中断处理过程结束时,CPU应能送出两个EOI结束命令,一个送给主8259A,用来将主8259A中的ISR寄存器的相应位清“0”;另一个送给从8259A,用来将从8259A中的ISR寄存器相应位清“0”,才标志一次中断处理过程的结束。 可引入22级中断请求信号,#1从8259A引入的8级中断通过主8259A的IR6端引入,#2从8259A通过主8259A的IR3端引入,主8259A上其他的6个IRi端可直接引入其他中断请求。如果初始化时将它们定义为完全嵌套方式, #2的中断请求优先级别高于#1 , 它们由主8259A完成判优功能后才能引入系统。 假定#1从片的IR7端接收到一个中断请求,经#1从片判优后决定响应这一中断请求,将ISR寄存器中第7位置“1”,于是通过INT向主片的IR6端发出请求,经主片再次判优,决定响应这一请求时,才将主片中ISR寄存器的第6位置“1”,CPU将从中断入口地址表中得到相应的入口地址,转去执行中断服务程序。 如果在该中断服务程序过程中,#1从片的IR0端接收到一个新的中断请求。根据中断嵌套原则,在#1从片中IR0优先级别高于IR7,应该允许新的中断请求进入,将ISR寄存器中第0位置“1”,并通过INT向主片的IR6端再次发出请求。但这时由于主片中ISR寄存

文档评论(0)

锦绣中华 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档