8259A的工作方式——全嵌套方式
8259A在初始化工作完成后若未设定其它的工作方式,就自动进入全嵌套方式
全嵌套方式特点:禁止同优先级或低优先级请求发生
1.中断请求的优先级固定,其顺序是IR0最高,逐次减小,IR7最低,(从IR0~IR7降序)
2.中断服务寄存器ISR保存优先权电路确定的优先级状态,相应位置“1”,并且一直保持这个服务“记录”状态,直到CPU发出中断结束命令为止
3.在ISR置位期间,不再响应同级及较低级的中断请求,而高级的中断请求如果CPU开放中断的话仍能够得到中断服务
4.IR7~IR0的中断请求输入可分别由中断屏蔽寄存IMR的D7~D0的相应位屏蔽与允许,对某一位的屏蔽与允许操作不影响其它位的中断请求操作
全嵌套工作方式由ICW4的D4=0来确定
8259A的工作方式——循环优先级方式
两种:自动循环优先级方式、特殊循环优先级方式
自动循环:刚被服务的IR的优先级降至最低
各设备优先级相同,当某一个设备受到服务之后,它的优先级就自动地排到最后。优先级由高到低的顺序:
有一个最低优先权指针,哪一个设备刚被服务后,它就被赋予最低优先权指针。
自动循环优先级方式由OCW2的R=1、SL=0来确定
特殊循环:指定的IR的优先级降至最低。
特殊循环优先级方式与自动循环优先级方式的不同之处在于:在自动循环优先级方式中,某一设备在被服务之后被确定为最低优先权;而在特殊循环优先级方式中,是通过编程来确定某一设备为最低优先级特殊循环优先级方式由OCW2的R=1、SL=1来确定,而L2L1L0用于指定最低优先级的二进制编码
8259A的工作方式——特定屏蔽方式
每个中断请求输入信号都可由中断屏蔽寄存器IMR的相应位进行屏蔽,IMR的D0对应IR0,D1对应IR1,…,D7对应IR7
IMR相应位为“1”则屏蔽,为“0”则允许
IMR寄存器由操作命令OCW1进行设置
屏蔽方式有两种:正常屏蔽方式、特定屏蔽方式
正常屏蔽方式: IMR中相应位置位
每一个屏蔽位对应一个中断请求输入信号
屏蔽某一个中断请求输入信号对其他请求信号没有影响
未被屏蔽的中断请求输入信号按照设定的优先级顺序工作,同级和低级的中断请求被禁止,如果CPU允许中断,可实现中断嵌套
特定屏蔽方式:开放比自己优先级低的IR
设定特定屏蔽方式后,IMR中为“1”的位仍然屏蔽相应的中断请求输入信号,但所有未被屏蔽的位被全部开放,都可以申请中断
特定屏蔽方式由OCW3的ESMM和SMM确定,设定时ESMM=1、SMM=1,复位时ESMM=1、SMM=0