8.1计算机组成之.8259A详细说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
片选信号CS:由系统高位地址线译码产生,用于选中操作; 地址线A0:用以选择8259A内部不同寄存器; 读信号RD:低电平有效,实现对IRR、ISR和IMR读取; 写信号WR:低电平有效,用于对8259A写入控制字; 级联线CAS2~CAS0:主从式中断管理系统中,所有8259A 芯片的CAS2~CAS0引脚对应连接在一起,与SP/EN信号配 合,实现8259A的级联。对于8259A主片,用于输出,否则 用于输入。在CPU响应中断时,主片在CAS2~CAS0引脚上 输出级联设备编码,选中对应的从片,三个引脚信号的不同 组合000~111,对应于8个从片; 从片编程/缓冲使能SP/EN:双向,低电平有效。在非缓冲方 式下,用作输入线SP,SP=1表示该8259A为主片,否则为 从片;缓冲方式下,用作输出线EN,控制外接数据缓冲器的 接收和发送。
4
5 6 7 8 9 10 11 12 13 14
25
24 23 22 21 20 19 18 17 16 15
D3
D2 D1
D0
CAS0 CAS1 GND
IR0
INT SP/EN
CAS2
-7-
中断系统和中断控制器8259A
中断响应线INTA:接收CPU在中断响应周期发来的中断响应 信号,8259A接到此信号后,送中断类型码(编程设定);
- 10 -
中断系统和中断控制器8259A
2.屏蔽中断源方式
程序中安排清除中断允许标志位指令(CLI),可以使CPU对所有 可屏蔽中断INT一起进行屏蔽,但无法实现选择性屏蔽。8259A可编程设 定允许或屏蔽指定的可屏蔽中断源:
普通屏蔽方式:通过将中断屏蔽寄存器IMR的某些位置1, 使对应的中断请求被屏蔽,目的是屏蔽高优先级的中断源; 特殊屏蔽方式:该方式主要用于中断嵌套时,开放低优先级 的中断请求,使其能得到及时响应。在预实现特殊屏蔽的中 断服务程序中通过置入控制字将IMR中相应位置1, ISR中 对应位会自动清0,从而屏蔽了本级中断,使低优先级的中 断可以得到响应。在该中断服务程序结束前要退出特殊屏蔽 方式,恢复ISR相应位,再用EOI结束中断服务程序,而且 特殊屏蔽期间被响应的低级中断服务程序必须用特殊中断结 束命令退出。
-2-
中断系统和中断控制器8259A
9.4.1 8259A的性能概述
每片8259A能管理8级中断,可采用9片级联构成主从 式64级中断管理系统;
每级中断都可以被屏蔽或允许;
中断响应期间,可提供中断类型码;
允许多级中断嵌套; 可设置多种优先权管理方式及屏蔽功能;
8259A是可编程芯片,可通过编程选择不同的工作方式, 使用灵活、方便;
8259A详细说明
中断系统和中断控制器8259A
9.4 中断控制器8259A
现代计算机普遍采用功能很强的中断系统,可同 时处理多个中断源,配置可编程中断控制器对外部中 断(可屏蔽)进行控制和管理: 接收外部的中断请求; 确认当前级别最高的中断请求,并送至CPU的INTR引 脚; 当CPU响应中断时,提供中断类型码; 中断处理过程中屏蔽低优先权的中断请求,而允许高优 先权的中断请求送出,实现中断嵌套; Intel 8259A是典型的中断控制器芯片,广泛应用于微机 系统中。
-
中断系统和中断控制器8259A
9.4.3 8259A的工作过程
1个或同时多个外部中断请求送至8259A相应引脚;
IRR接收中断请求并锁存,将相应位置1;
根据IMR的屏蔽情况决定是否允许中断请求进入PR, 即IMR对应位是否为0;
PR判别当前优先权最高的中断请求(允许嵌套时,还 要包括正在服务的中断在内进行比较,即参考ISR的 状态),根据判优结果决定,向CPU发送INTR信号 或等待高优先级中断服务完成;
级连缓冲 比较器
中断 服务 寄存器 ISR
优先权 判别 电路 PR
中断 请求 寄存器 IRR
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
中断屏蔽寄存器 IMR
内部总线
-4-
中断系统和中断控制器8259A 中断请求寄存器IRR:8位,用于锁存中断请求信号(信号有效方式由 编程决定)。当相应的中断请求输入引脚有中断请求时,寄存器的相 应位置1; 优先权判别电路PR:识别各中断请求(同时申请)的优先级别,允许 嵌套时须考虑正在服务中断的优先级别,然后送出最高优先级中断源 的请求,并在CPU响应周期内将中断服务寄存器ISR的相应位置位。 各中断请求的优先权级别由编程控制; 中断服务寄存器ISR:8位,用于记录已被CPU响应的中断请求。被服 务的中断将保持该信息位(自动EOI除外,此时不允许使用可屏蔽中 断嵌套),并由普通或特殊EOI命令复位。中断嵌套时,会有多个位 同时被置位,对应已被CPU响应而又未处理完毕的多个中断;
- 12 -
中断系统和中断控制器8259A
优先权自动循环方式:对于几个重要性差别不大的中断源,可采用优 先权自动循环方式,此时各中断源的优先权是顺序变化的。变化规则 是一个中断被CPU服务结束后,它的优先级自动降为最低,原来在其 下一级的中断升为最高优先权,其余循环类推;
例如:系统启动时,8级中断优先级默认为IR0—IR7,这时,刚好IR4发 出中断请求,中断服务之后, 8259A的中断优先级顺序自动变为IR5、 IR6、IR7、IR0、IR1、IR2、IR3、IR4。 优先权特殊循环方式:与优先权自动循环类似,优先权是顺序变化的, 但初始最低优先级是在主或中断服务程序中由命令字直接指定的,而 不是刚刚处理完的中断请求。 例如:系统运行过程中,如果在主程序或某个中断的服务程序中编程 设定IR4为最低初始优先级,则8259A的中断优先级顺序变为IR5、IR6、 IR7、IR0、IR1、IR2、IR3、IR4。
8259A有多种工作方式,通过编程设置或改变。
1.中断请求触发方式
电平触发方式:将中断请求输入线上出现高电平视为有 效请求信号;对其有时间限定:过短,不能触发;过 长,重复触发。要求触发高电平持续至CPU中断响应 总线周期中第1个INTA脉冲的下降沿;
边沿触发:将中断请求输入线上出现的上升沿视为中断 请求信号,触发后可一直保持高电平,而不会产生重 复触发。常用负脉冲的后沿实现,同时要防止第1个 INTA信号有效前出现新的中断请求脉冲。
- 16 -
中断系统和中断控制器8259A
8259A缓冲方式级联
系统数据总线
B7 ~B0 T 74LS 245 OE A7 ~A0
B7 ~B0 T 74LS 245 OE A7 ~A0
B7 ~B0 T 74LS 245 OE A7 ~A0 局部数据总线
+5V 1kΩ
当CPU允许可屏蔽中断,即IF=1,发回INTA信号, 8259A使ISR相应位置位,同时将IRR相应位清0,然 后送出中断类型码;
若为AEOI方式,直接清除ISR相应位;否则需要在中 断服务结束时,由CPU送出普通或特殊中断结束命
-9-
中断系统和中断控制器8259A
9.4.4 8259A的工作方式
- 11 -
中断系统和中断控制器8259A
3. 中断优先权设置方式
普通全嵌套方式:最基本、最常用的工作方式,也是默认工作方式。 此方式下,8259A的8个中断请求按照IR0优先权最高、IR7优先权最 低的固定优先权顺序,所以对于单片8259A最大中断嵌套深度为8级; 特殊全嵌套方式:与普通全嵌套方式基本相同,优先权按照IR0优先 权最高、IR7优先权最低的固定顺序。不同的是允许同级中断请求产 生INTR信号给CPU,即可以实现同级中断嵌套。该方式一般用在 8259A级联系统中,将主片设定为特殊全嵌套方式,当从片的某一中 断请求被处理时,保证从片较高优先权中断源能够得到响应;
- 13 -
中断系统和中断控制器8259A
4. 中断结束(EOI)方式
一个中断请求被响应,8259A在ISR相应位置1;中断服务结 束时,必须将该位清0,这就是中断结束操作。
自动中断结束方式(AEOI):CPU一旦进入中断响应总线周期, 8259A就自动将ISR相应位清0。由于不能再为PR提供判优依据,会造 成重复嵌套。常用在不允许中断嵌套或保证不出现中断重复嵌套的场 合; 普通中断结束方式:须由CPU用OUT指令发来一个普通EOI命令, 8259A收到后,将当前ISR中已置1的具有最高优先权的位清0; 特殊中断结束命令:多用于优先权循环的情况下,由于无法确定当前 服务的中断级别,须由CPU发出特殊EOI命令,指明要清除ISR中的哪 一位;
级联方式下,一般不用AEOI,而且一个中断结束可能要发两次 EOI命令,分别清除主、从片ISR中的相应位。
- 14 -
中断系统和中断控制器8259A
5. 中断查询方式
外设仍然通过中断请求要求服务; CPU不是通过中断响应获得中断类型码进入中断服务程序,而是通过 查询获得中断请求情况; 在IF=0,CPU关中断的情况下,外设中断请求信号INTR不被响应, CPU仍可通过查询进入中断服务。
-6-
中断系统和中断控制器8259A
2. 8259A的引脚功能
8259A为28引脚DIP。
CS WR RD D7 D6 D5 D4
1
2 3
28 27 26
VCC A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1
电源VCC和接地GND; 中断请求输入线IR7~IR0: 接受来自外设或8259A从片 的 中 断 请 求 信 号, 可 设 置 为上升沿或高电平触发; 双向三态数据线D7~D0: 可与系统数据总线直接相 连,或通过总线缓冲器与 系 统 数 据 总 线 相 连, 分 别 称为非缓冲和缓冲方式; 中断请求线INT:输出信号, 与CPU的可屏蔽中断输入 端INTR相连,向CPU送中 断请求信号;
- 15 -
中断系统和中断控制器8259A
7. 级联方式
一个主8259A可以带至多8个从8259A,将中断源扩展到64级; 从片的INT接至主片的IRi端,从片上的中断请求通过主片的INT送至 CPU; CPU的中断响应信号INTA分别送至主、从片上; 主片在级联线CAS2~CAS0上送出标识符编码,对应编码相同的从片 可以获得INTA信号; 在第二个INTA负脉冲时,主片不动作,由从片送上中断类型码; 通常主片的优先权控制采用特殊全嵌套方式,允许同级中断产生嵌套。
-5-
中断系统和中断控制器8259A
中断屏蔽寄存器IMR:8位,用于存放对中断请求的屏蔽信息,可由编 程设定。当IMR中某位被置位,对应的中断请求就被屏蔽,即使IRR 对应位被置位,其中断申请也不能送往CPU;
数据总线缓冲器:8位双向三态缓冲器,是8259A与CPU间的数据传 输通道,用于CPU向8259A写入ICW,OCW,读出状态信息。中断响 应周期内,8259A通过数据总线缓冲器向CPU送中断类型码; 读写控制逻辑:负责接收CPU发来的控制信号,完成写入命令字和读 IRR、ISR和IMR的操作; 级联缓冲/比较器:用于实现8259A的级联,构成主从式扩展中断管理 系统; 控制逻辑:根据编程设定工作方式产生片内控制信号,根据IRR、 IMR的内容和PR的判断结果向CPU发出中断请求,并接受来自CPU的 中断响应信号。
提供中断查询,供CPU以查询方式完成I/O操作。
-3-
中断系统和中断控制器8259A
9.4.2 8259A的编程结构和引脚功能
1. 8259A的编程结构
INTA 数据总线 缓冲器 INT D7 0 ~D RD WR A0 CS
控制逻辑
读/ 读 /写 写 控制 控制逻辑 逻辑
CAS0 CAS1 CAS2 SP/EN
6. 连接系统总线方式
缓冲方式:在多片8259A级联的大系统中,8259A通过总线缓冲器与 系统数据总线相连,SP/EN用作输出EN,控制总线缓冲器的数据传送; 非缓冲方式:当系统中只有一片或几片8259A芯片时, 8259A直接与 数据总线相连。单片系统,SP/EN接高电平;多片级联系统,主片 SP/EN接高电平,从片SP/EN接低电平。
相关文档
最新文档