公 图1838086的中断响应总线周期 三个空闲状态 第一个总线周期 第二个总线周期 T3T4TITI CLK INTA AD_AD 中断类型码
图18.3 8086的中断响应总线周期 T1 T2 T3 T4 TI TI TI T1 T2 T3 T4 第一个总线周期 第二个总线周期 三个空闲状态 中断类型码 CLK ____ INTA AD7~AD0
公 8259A收到第一个负脉冲后: 使RR锁存允许,不予接受R。~Rn上的中断请求信 号;直到第二个负脉冲结束后,才又使IRR锁存禁止 (输入输出透明) ■使|SR的相应位置1",以便为优先级裁决器以后的裁 决提供依据 ■清除RR的相应位 ·8259A收到第二个负脉冲后: 把中断类型码寄存器的内容(cW2的内容送到D7-D ■如果CW的AEO位的A,则在第二个脉冲结束 时,将SR中被第一个脉冲置1"的位清除(自动结 束);否则,要等到中断结束命令(EO)发送后才能清除
• 8259A收到第一个负脉冲后: 使IRR锁存允许,不予接受IR0~IR7上的中断请求信 号;直到第二个负脉冲结束后,才又使IRR锁存禁止 (输入输出透明)。 使ISR的相应位置“1”,以便为优先级裁决器以后的裁 决提供依据。 清除IRR的相应位。 • 8259A收到第二个负脉冲后: 把中断类型码寄存器的内容(ICW2的内容)送到D7~D0 如果ICW4的AEOI位为1,则在第二个 脉冲结束 时,将ISR中被第一个 脉冲置“1”的位清除(自动结 束);否则,要等到中断结束命令(EOI)发送后才能清除。 INTA INTA
公 1828259A的工作方式 1.设置优先级的方式 (1)全嵌套方式( FULLY NESTED MODE) 也称固定优先级方式。在这种方式下,由R引入的中 断请求具有固定的优先级-R0(最高)->R八(最低) This mode is entered after initialization unless another mode Is programmed 1,.8259把中断类型码放到数据总线上,然后,进 入中断服务程序 一般情况下(除了"中断自动结束方式外),在CPU发出 中断结束命令(EO)前,此对应位一直保持为1”-封锁 同级或低级的中断响应,但并不禁止比本级优先级高 的中断响应一实现中断嵌套〃
1. 设置优先级的方式 (1) 全嵌套方式(FULLY NESTED MODE) z 也称固定优先级方式。在这种方式下,由IRi引入的中 断请求具有固定的优先级-IR0(最高)->IR7(最低). z This mode is entered after initialization unless another mode is programmed. z 当一个中断请求被响应时,ISR中的对应位ISn被置 “1”,8259A把中断类型码放到数据总线上,然后,进 入中断服务程序。 z 一般情况下(除了“中断自动结束”方式外),在CPU发出 中断结束命令(EOI)前,此对应位一直保持为“1”-封锁 同级或低级的中断响应,但并不禁止比本级优先级高 的中断响应-实现中断“嵌套”。 18.2 8259A的工作方式
公 (2)特殊全嵌套方式 (SPECIAL FULLY NESTED MODE--SFNM) 在处理某一级中断时,不但允许优先级更高的中断请 求进入,也允许同级的中断请求进入。 ·用于主从结构的8259系统中,将主片设置为“特殊全嵌 套方式” 通过|CW4的SFNM"位可以设置此种方式 8259(主片) 8259(从片) IR IR CPU IR
(2) 特殊全嵌套方式 (SPECIAL FULLY NESTED MODE-SFNM) • 在处理某一级中断时,不但允许优先级更高的中断请 求进入,也允许同级的中断请求进入。 • 用于主从结构的8259系统中,将主片设置为“特殊全嵌 套方式”。 • 通过ICW4的“SFNM”位可以设置此种方式。 CPU IR0 IR1 IR7 … IR0 IR1 IR7 … 8259(主片) 8259(从片)
公 (3)优先级自动循环方式( AUTOMATIC ROTATION) 优先级是循环变化的(不希望有固定的优先级差别) 个设备的中断服务完成后,其优先级自动降为最 低,而将最高优先级赋给原来比它低一级的中断请求 开始时,优先级队列还是:Ro->|R7,若此时出 现了R请求,响应R并处理完成后,队列变为 R4,lR。,l 2 R 3 IR 4 5,|R R 6,r7, roo 若又出现了IR4请求,处理完R4后,队列变为:→R 系统中是否采用"自动循环优先级",由 操作命令字OCW2来设定
(3) 优先级自动循环方式(AUTOMATIC ROTATION) • 优先级是循环变化的(不希望有固定的优先级差别)- 一个设备的中断服务完成后,其优先级自动降为最 低,而将最高优先级赋给原来比它低一级的中断请求。 • 开始时,优先级队列还是:IR0->IR7 ,若此时出 现了IR0请求,响应IR0并处理完成后,队列变为: IR1,IR2,IR3,IR4 ,IR5 ,IR6 ,IR7,IR0。 若又出现了IR4请求,处理完IR4后,队列变为: __________________________________ • 系统中是否采用“自动循环优先级”,由 • 操作命令字OCW2来设定