分享

8259A的初始化命令字ICW - 中断系统 - 快乐群体→http://klqt.net

 redmice 2008-04-09
 8259A的初始化命令字ICW
  初始化命令字ICWl~ICW4.用来对8259A进行初始化。在初始化命令字中有一些位是针对8080/8085 CPU的,因为这两种CPU早已不用了,所以,在下面命令字的说明中对这些位不再作进一步的解释。在写命令字时这些位取0。
  初始化命令字是要写入相应的初始化命令字寄存器中的。对8259A内部寄存器的操作需要通过端口进行。一片8259A占用两个端口地址,用端口选择引脚A0来选择。对于一般的微机系统,A0接系统地址总线的最低位A0,这样,一片8259A占用的两个地址是连续的,一个为偶地址(A0=0),另一个为奇地址(A0=1)。在下面命令字格式图示中,左边都有一个上方标“A0”的方框,框内有的为0,有的为1,这分别表示该命令字应写入8259A的AO为0的端口和写人A0为1的端口,在一般的微机系统中,分别表示写入8259A的偶地址端口和写入奇地址端口。
    1)ICWl
    ICWl主要用来设定中断请求的触发方式,是否级联,初始化过程中用不用ICW4等。
它的格式和含义如图5.11所示。图中一些位格中有英文缩写,如D1位中有SNGL
(single)”,这是给每一位起一个名称,表示出这一位(也可以是几位)的含义(一般是该位为l 时的含义)。这样说起来比较方便,例如,选择单片或级联是SNGL位,而不必说成Icwl的第1位。


     ICWl的D4位恒为1,连同A0为0,作为ICWl的标志。这是因为在初始化时,ICWl是第一个应写入的,它必须有区别于其他初始化命令字,包括操作命令字的特征(ICW2、ICW3、ICW4的A0都为1,而A0为0对应的操作命令字有两个:OCW2和OCW3,它们的D4位都为0)。
    2)ICW2
    ICW2用来设置中断向量(在8086系统或PC系列机中,这里所说的中断向量实际是中断类型码)。在用于8086/8088系统时,该命令字的格式和含义如图5.12所示。高5位规定中断向量的高5位,即同一片8259A的8级中断的中断向量的高5位是相同的,而低3位是对应IR线的编码(000~111)。图中低3位标“×”表示取值任意,一般取0。有时将ICW2称为中断向量字节。


   3)ICW3
  ICW3仅在8259A级联时才需要。对于主片和从片,ICW3的意义不同。
  对于主片,ICW3的格式和含义如图5.13所示。8位的意义相同,某位为0,对应的IR线接中断请求信号;为1,对应的IR线接从片的中断请求信号INT。


   对于从片,ICW3的格式和含义如图5.14所示。高5位固定为0。低3位是从片的标识码,等于从片所连接的主片IR输入端的编码。例如,一从片的INT接到主片的IR2,则该从片的ICW3应为00000010B(后3位为IR2的编码010)。


   从片的标识码在中断响应时要用到。当CPU响应来自某从片的中断请求时,连续产生两个中断响应周期。在第一个中断响应周期,主片把得到响应的IR编码送上级联线(CAS2~CAS0),从片拿它与自己的标识码进行比较,若结果相同,表明cPu正在响应本片的中断,于是准备该中断的中断向量,在第二个中断响应周期将其送上数据总线。
  4)ICW4
  ICW4的功能较多,用来设置是否为特殊全嵌套方式,是否为缓冲器方式,是否为自动中断结束中断方式,是否为8086/8088系统等,其格式和含义如图5.15所示。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多