欢迎来到天天文库
浏览记录
ID:52378292
大小:567.06 KB
页数:35页
时间:2020-04-05
《不可屏蔽中断请求.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、8086的中断分类不可屏蔽中断请求CPU中断逻辑INTn断点中断溢出中断除0单步中断控制器8259外部中断NMIINTRCPUIBMPC机中断系统7.4可编程中断控制器8259A8259A能管理8级外部中断,在不增加其他电路的情况下,通过芯片级联方式能扩充为主从式中断系统,最多可以管理64级外中断(9片)。8259A作为专用的中断优先管理芯片,一般可以接受多级中断请求。通过编程8259A可以工作在多种不同方式,如边缘/电平触发、无缓冲/缓冲、特殊屏蔽、优先循环等方式。RDWRA0CSCAS0CAS1CAS2SP/END0~7IR0IR7数据总线缓冲器读/写逻辑控制级联缓冲
2、器比较器中断管理器控制逻辑中断屏蔽寄存器(IMR)在服务寄存器(ISR)中断优先权寄存器请求寄存器(IRR)外部中断请求信号内部总线1.中断请求寄存器IRR8位,存放外中断的中断请求IRQ0~IRQ7,若IRQi有外中断请求时,则相应的Di位置为13.中断服务寄存器ISR8位,记录当前正在处理中的所有中断级,当某个(或几个)中断级正在被服务时,ISR中对应位置为12.中断屏蔽寄存器IMR8位,对IRR起屏蔽作用。当某中断需要屏蔽时,IMR中的对应位置置1,这个过程可以用OCW1动态控制。4.优先级判别器PR对保存在IRR中未被屏蔽的中断请求进行判优,确定最高优先级。当CPU响
3、应这个中断请求,ISR的对应位置1。5.初始化命令字寄存器ICW1~ICW4均为8位寄存器,初始化时用于存放8259A的初始化命令字ICW1~ICW4,在以后的操作过程中基本保持不变6.操作命令字寄存器OCW1~OCW3均为8位寄存器,用于存放操作数OCW1~OCW3,以实现对中断过程动态管理。其中,寄存器OCW1即中断屏蔽寄存器IMR注意:寄存器ICW1~ICW4和OCW1~OCW3只占用两个I/O端口地址(奇地址和偶地址),由引脚A0的输入信号来选择。片选CS及地址线A0——用于芯片和内部寄存器的寻址。在IBM-PC机系统中,用A9A8A7A6A5=00001选中(即CS
4、=0),用A0地址接于A0,A4A3A2A1未用。A9A8A7A6A5A4A3A2A1A0基本地址00001××××020H(偶地址)00001××××121H(奇地址)其余(30个)为影像地址7.4.28259A的外部引脚D0~D7——数据线,双向三态数据线RD和WR——读写控制线IRQ7~IRQ0——中断请求输入信号INT——中断请求输出,接至CPU的INTRINTA——中断允许输入,接至CPU的INTACAS0~CAS2——级联信号线,用于级联SP/EN——从片选择/允许缓冲信号,双重功能引脚,在工作于缓冲方式时,用作输出(EN),控制缓冲器的收发;SP用于控制是主片还
5、是从片,SP=0是从片,SP=1时是主片,这时它作为输入。7.4.3中断的工作方式1.中断嵌套方式普通全嵌套方式特殊全嵌套方式普通全嵌套方式是8259A最基本、最常用且是默认的工作方式,简称为全嵌套方式。该方式的中断优先权固定,IRQ0最高,依次到IRQ7最低。只有优先权更高的中断才能打断某个正在进行的中断服务程序(前提CPU处于开中断状态)主要用在级联情况,与全嵌套方式基本相同,除了:CPU响应某从8259A中断请求后,并不屏蔽该从片的中断退出中断服务程序之前,要检查该从8259A中是否还有其它中断源(送EOI,检查ISR,为0表示无其它中断)2.中断屏蔽方式普通屏蔽方式特
6、殊屏蔽方式8根中断线中任一根都可根据要求单独屏蔽,只要将IMR寄存器的对应位置1,就可屏蔽掉相应的中断请求正在处理的中断优先级别最低,其他未屏蔽的中断源都可中断其服务程序3.中断优先权循环方式全嵌套方式中,中断源的优先权是固定的,故又称为固定优先权方式。实际中,中断源的优先权不一定有明显的等级,而且优先权还有可能改变有下列两种改变优先权的方法:自动循环方式(等优先权方式)特殊循环方式(指定最低级的循环方式)自动循环方式(等优先权方式)某级中断被处理完,它的优先级别降为最低,而原来比它低一级的中断请求升为最高级。例:初始顺序由高到低:IRQ0、IRQ1、…、IRQ7若IRQ4中
7、断,其服务程序执行完后,调整顺序由高到低:IRQ5、…、IRQ7、IRQ0、…、IRQ4可见各中断源具有相等的优先权,故自动循环方式又称为等优先权方式特殊循环方式(指定最低级的循环方式)初始优先权不是固定的,而是在程序中利用操作命令字指定最低优先级,其他中断源的优先级也随之确定例:初始设置IRQ5优先权最低:则最初优先权由高到低为:IRQ6、IRQ7、IRQ0、…、IRQ4、IRQ54.中断查询方式查询方式可用来查询8259A是否有中断请求正在被处理,如果有,则给出当前处理的最高优先级是哪一级用操作命令
此文档下载收益归作者所有