非缓冲方式:小系统中,8259A数据线直接连系统数据总线,不需要总线缓冲器,此时SP/EN表示级联时主/从关系。
主片:SP/EN接高电平
从片:SP/EN接低电平
缓冲方式:大系统中,数据总线都具有总线缓冲器,此时SP/EN表示数据传送方向,级联时主/从关系通过软件设定ICW4来决定。
8259A的工作方式——特殊的全嵌套方式
特点:禁止低优先级请求发生
该方式适用于多片级连,级联时主片特殊全嵌套,从片全嵌套。
该方式与普通的全嵌套方式工作情况基本相同,区别在于两点:
(1)当某从片的一个中断请求被CPU响应后,该从片的中断仍未被禁止,即该从片中的高级中断仍可提出申请(全嵌套方式中这样的中断是被屏蔽的,因为这种中断对从片而言后者是高级中断,可以嵌套,但对主片而言,由于它们来自于同一个从片,故中断优先级相同,而在全嵌套方式中,同级和低级中断是被禁止的)
(2)在某个中断源退出中断服务程序之前,CPU要用软件检查它是否是这个从片中的唯一中断。检查办法是:送一个非特殊中断结束命令(EOI)给这个从片,然后读它的ISR,检查是否为0,若为0则唯一,即只有这一个中断在被服务,没有嵌套。若不为0则不唯一,说明还有其他的中断在被服务,该中断是嵌套在其他中断里的。只有唯一时,才能把另一个非特殊EOI命令送至主片,结束此从片的中断
8259A的工作方式——多片级连方式
级连系统中,每个从片的中断请求输出线INT直接连到主片的某个中断请求输入线上,主片的CAS0~CAS2是输出线,输出被响应的从片代码,从片的CAS0~CAS2是输入线,接收主片发出的从片代码,以便与自身代码相比较
级联方式的要点如下:
(1)一个8259A主片至多带8个从片,可扩展至64级
(2)缓冲方式下,主片和从片的设定由ICW4的M/S位确定,M/S=1是主片,M/S=0是从片。M/S的状态在BUF=l时有意义
(3)在非缓冲方式下,主片和从片由SP/EN引脚的SP功能确定,SP=1是主片,SP=0是从片
(4)在级连系统中,主片的三条级连线相当于从片的片选信号,从片的INT是主片的中断请求输入信号
(5)主片和从片需要分别进行初始化操作,可设定为不同的工作方式
8259A的工作方式——设定命令字
上述的各种工作方式:
全嵌套方式、自动中断结束方式、中断请求触发方式、缓冲器方式、恃殊的全嵌套方式、级连方式等是由初始化命令字ICW来设定的
而循环优先级方式、特定屏蔽方式、查询方式、命令中断结束方式、读8259A状态等是由操作命令字OCW来设定的