微机原理与接口技术楼顺天习题答案5678910章内容摘要:

PU 识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。 3. 什么是中断嵌套。 使用中断嵌套有什么好处。 对于可屏蔽中断,实现中断嵌套的条件是 什么。 答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未 处理完的程序,这 种中断处理方式成为中断嵌套。 使用中断嵌套的好处是能够提高中断响应的实时性。 对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。 对于可屏蔽中断,实现中断嵌套的条件有:( 1)微处理器处于中断允许状态( IF=1)( 2)中断请求的优先级高于正在执行的中断处理程序的优先级。 ( 3)中断请求未被 8259 屏蔽。 ( 4)没有不可屏蔽中断请求和总线请求。 4. 什么是中断向量。 中断类型号为 1FH 的中断向量为 2345H:1234H,画图说明它在中断向 量表中的存放位置。 答: 中断向量为每个中断服务子程序的入口地址,为 32 位( 16 位的偏移地址和 16 位的段地址), 在中断向量表中 占用 4 个地址单元。 在 8086CPU 组成的 计算机 系统 中,采用最低的1024 个地址单元(称为 0 页)来存储中断向量。 这 1024 个地址单元成为中断向量表。 - 96 - 因此,中断类型号位 1FH 的中断向量,在中断向量表中的存储位置为 1FH 4=07CH。 中断类型号为 1FH 的中断向量在中断向量表中的存放位置如图 所示。 图 中断类型号为 1FH 的中断向量在中断向量表中的存放位置 5. 中断向量表的功能是什么。 叙述 CPU 利用中 断向量表转入中断服务程序的过程。 答:中断向量表 是用来存放中断向量的。 是中断类型号与它对应的中断服务程序入口地址之间的换算表。 1) CPU 获得中断类型号 n 后,将当前 PSW、 CS 和 IP 的内容依次压入堆栈,保存断点的状态和断点地址,以便返回时恢复。 2) 将 PSW 中的 IF 位和 TF 位清 0,关闭中断。 3) 把地址为 4n 和 4n+1 两个单元的 16 位数 作为中断服务程序入口的偏移地址置入 IP,把地址为 4n+ 2和 4n+ 3 两个单元的 16 位数 作为中断服务程序入口的段地址置入 CS。 4) 转入中断服务程序。 6. 叙述可屏蔽中断的响应过程。 答:在 IF 位为 1 情况下,从 INTR 端加入中断请求信号开始,到进入中断服务程序为止 - 97 - 所经过的一系列操作,称为可屏蔽中断的响应过程。 首先等待当前指令结束后,进入中断响应周期。 然后,从微处理器外部的中断控制逻辑获得中断类型号。 随后把当前的PSW、 CS 和 IP 的内容依次压入堆栈,接着清除 PSW 中的 IF 位和 TF 位为 0。 最后把中断服务程序的入口地址置入 IP 和 CS。 至此,完成了可屏蔽中断的响应过程,开始进入中断服务程序。 7. 简要叙述 8259A 内部 IRR、 IMR、 ISR 三个寄存器的作用。 答: IRR:中断请求寄存器,用来锁存外部设备送 来的 70IR~IR 中断请求信号。 当外部中断请求线 IRi 有中断请求时, IRR 中与之对应的第 i 位 被置 1。 该寄存器内容可以被微处理器读出。 IMR:用于设置中断请求的屏蔽信号。 此寄存器第 i 位被置 1 时,与之对应的外部中断请求线 IRi 被屏蔽,不能向微处理器发出 INT 信号。 ISR:用于记录当前正在被服务的所有中断级,包括尚未服务完而中途被更高优先级打断的中断级。 若微处理器响应了 IRi 中断请求,则 ISR 中与之对应的第 i 位置 1。 中断处理结束前,要用指令清除这一位。 8. 中断控制器 8259A 的初始化编程是如何开始的。 答:初始化编程就是指对 ICW(初始化命令字)的初始化,对 ICW 的初始化有一定的顺序 ,必须从 ICW1 开始。 对 中断控制器 8259A 的初始化编程次序如图 所示。 - 98 - 初 始 化 I C W 1初 始 化 I C W 3初 始 化 I C W 2是 级 联 吗。 I C 4 = 1。 初 始 化 I C W 1YNYN地 址 A 0 = 0地 址 A 0 = 1地 址 A 0 = 1地 址 A 0 = 1 图 对 中断控制器 8259A 的初始化编程次 序 9. 设某微机系统需要管理 64 级中断,问组成该中断机构时需 片 8259A。 解:一片 8259 可控制 8 级中断,第 1 片通过级联 8片 8259 可将中断扩充至 64 级。 所以组成该中断机构共需 9 片 8259。 10. 完全嵌套的优先级排序方式的规则是什么。 如何设置这种方式。 答:在全嵌套方式下,中断优先级的级别是固定的,即 0IR 优先级最高, ~IR1 6IR 逐级次之, 7IR 最低。 如果对 8259A 进行初始化后没有设置其他优先级别,那么 8259A 就按全嵌套方式工作。 11. 如果设备 D D D D D5 按完全嵌套优先级排列规则。 设备 D1 的优先级最高, D5 最低。 在下列中断请求下,给出各设备的中断处理程序的次序(假设所有的中断处理程序开始后就有 STI 指令,并在中断返回之前发出结束命令) ( 1)设备 3 和 4 同时发出中断请求; ( 2)设备 3 和 4 同时发出中断请求,并在设备 3 的中断处理程序完成之前,设备 2 发出中断请求; ( 3)设备 5 同时发出中断请求,在设备 3 的中断处理程序完成之前, 设备 2 发出中断请求。 解: - 99 - ( 1) 设备 3 和 4 同时发出中断请求; 中断处理次序为: D3→ D4,示意图 如图 ( a)所示。 主 程 序 D 3 服 务 程 序 D 4 服 务 程 序D 3 , D 4 同 时请 求S T I S T II R E TI R E TISR3置1I S R 3 清 零I S R 4 置 1I S R 4 清 零 图 ( a) 设备 3 和 4 同时发出中断请求 的中断处理程序的次序 示意图 ( 2) 设备 3 和 4 同时发出中断请求,并在设备 3 的中断处理程序完成之前,设备 2 发出中断请求; 中断处理次 序为: D3 → D2 → D3 → D4 , 示意图 如图 ( b ) 所示。 主 程 序 D 3 服 务 程 序D 4 服 务 程 序D 3 , D 4 同 时请 求S T IS T II R E TI R E TISR3置1I S R 3 清 零I S R 4 置 1I S R 4 清 零D 2 服 务 程 序S T ID 2 请 求ISR2置1I R E TI S R 2 清 零 图 ( b) 中断处理程序的次序 示意图 ( 3) 设备 5 同时发出中断请求,在设备 3 的中断处理程序完成之前,设备 2 发出 - 100 - 中断请求。 中断处理次序为: D1→ D3→ D2→ D3→ D5,示意图如图 ( c)所示。 主 程 序 D 1 服 务 程 序D 5 服 务 程 序D 1 , D 3 , D 5同 时 请 求S T IS T II R E TISR1置1I S R 1 清 零ISR3置1D 3 服 务 程 序S T II R E TI S R 3 清 零D 2 请 求S T ID 2 服 务 程 序I S R 2 清 零I R E TS T II S R 5 清 零I R E TISR5置1 图 ( c) 中断处理程序的次序 示意图 12. 8259A 是怎样进行中断优先权管理的。 答: 8259A 利用优先权处理器来识别和管理中断请求信号的优先级别。 当几个中断请求信号同时出现时,优先权处理器根据控制逻辑规定的优先权级别和 IMR 的内容来判断这些请求信号的最高优先 级。 微处理器响应中断请求时,把优先权最高的 IRR 中的“ 1”送入 ISR.。 当 8259A 正在为某一级中断服务时,若又出现新的中断请求,则由优先权处理器判断新出现的中断请求的级别是否高于正在处理的那一级。 若是,则进入多重中断处理。 13. 特殊全嵌套方式有什么特点。 它的使用场合是什么。 答:多片 8259 级联时,主片必须工作在特殊全嵌套方式下。 假设从片工作在全嵌套方式下,先后收到了两次中断请求,而且第二次中断请求有较高的优先级,那么该从片就会两次通过 INT 引脚向上一级申请中断。 如果主片采用全嵌套方式,则它不会响应来自同 一引脚的第二次中断请求。 而采用特殊全嵌套方式后,就会响应该请求。 14. 向 8259A 发送“中断结束”命令有什么作用。 8259A 有哪几种中断结束方式。 分析各自 - 101 - 的利弊。 答:向 8259A 发送“中断结束”命令,使相应的中断级在 ISR 中的相应位清“ 0”,表示该中断处理已经结束。 8259A 有自动中断结束方式( AEOI)和非自动中断结束方式( EOI)。 ( 1) 自动中断结束方式( AEOI)。 在这种方式下,系统一旦进入中断响应, 8259A 就在第二个中断响应周期 INTA 信号的后沿,自动将 ISR 中被响应中断级的对应位清“ 0”。 这是一种最简单的中断结束处理方式,可以通过初始化命令来设定,但这种方式只能用在系统中只有一个 8259A,且多个中断不会嵌套的情况。 ( 2) 非自动中断结束方式( EOI)。 在这种工作方式下,从中断服务程序返回前,必须在程序里向 8259A 输出一个中断结束命令( EOI),把 ISR 对应位清“ 0”。 具体做法有一般的中断结束方式和特殊的中断结束EOI 命令。 这种方式可用于系统中有多个 8259A 或多个中断中有嵌套的情况,但这种方式要比自动中断结束方式复杂。 而且在这种方式下,如果在程序里忘记了将 ISR 对应位清零,那么, 8259A 在一般情况下将不再响应这个中断以及比它级别低的中断请求。 15. 初始化 8259A 时设置为非自动结束方式,则在中断服务程序即将结束时必须设置什么操 作命令。 不设置这种命令会发生什么现象。 如果初始化时设置为自动结束方式时,还需要设置这种操作吗。 答:必须发送中断结束命令,即向操作控制字 2OCW 的 EOI 位写 1。 如果不设置这种命令,则该中断服务程序结束后, CPU 将无法响应优先级比它低的中断请求以及它自身的下一次中断请求。 若初始化为自动结束方式,则不需设置这种操作。 16. 在哪些情况下需用 CLI 指令关中断。 在哪些情况下需用 STI 指令开中断。 答: ① 关于有前缀的指令,前缀包括段寄存器前缀(例如指令 MOV AX , CS:VAR)、重复前缀(例如指令 REP MOVSB)、和 LOCK 前缀。 应明确的是,指令前缀并不是一个独立的指令,只是指令的一部分,所以不允许在前缀码和指令码之间响应中断,所以应在这条指令前置 CLI(关中断)指令,在这条指令后置 STI(开中断)指令。 ② 对于目的地址 是 段寄存器的 MOV 和 POP 指令 (除 CS 外) ,本条指令后不允许响应中 - 102 - 断,而是还要执行一条指令结束后才能响应中断,这时可以在指令前加 CLI,指令后加STI。 ③ 需要进行中断嵌套时,由于微处理器在响应中断时已将 IF 清零,所以一定要在中断处理程序中加开中断指令,才有可能进行中断嵌套。 17. 某系统中有两片 8259A,从片的请求信号连主片的 IR2 引脚,设备 A 中断请求信号连从 片 IR5 引脚。 说明设备 A 在一次 I/O 操作完成后通过两片 8259A 向 8086 申请 中断, 8086微处理器通过两片 8259A 响应中断,进入设备 A 的中断服务程序,发送中断结束命令,返回断点的全过程。 答: 设备 A 在一次 I/O 操作完成后 在 8259A 从片中断请求输入端 IR5 上产生中断请求,中断请求被锁存在 8259A 从片 IRR 中,并经 IMR“屏蔽”,其结果送给优先权电路判优。 控制逻辑接收中断请求,向 8259A 主片 IR2 引脚 输出 INT 信号,中断请求被锁存在 8259A 主片IRR 中,并经 IMR“屏蔽”,其结果送给优先权电路判优。 控制逻辑接收中断请求,向 CPU输出 INT 信号。 CPU 从 INTR 引脚接受 8259A 主片的 INT 信号,进入连续两个 INTA 周期。 优先权电路设置 ISR 中的对应位,在收到第一个 INTA 信号后, 8259A 主片把当前申请中断的 8259A 从片的 ID 代码 010,通过 CAS0~ CAS2 送到相应的 8259A 从片。 相应地 8259A 从片在收到第二个 INTA 信号时,将中断 类型号。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。