.
微机原理与接口技术(楼顺天第二版)习题解答
第8章中断系统与可编程中断控制器8259A
8.1答:(1)非屏蔽,可屏蔽;(2)IF=1,完成当前总线操作,执行完当前指令;(3)电平触发,边沿触发;(4)7,22;(5)IN3,12CH。 8.2 答:(1)A; (2)C;
(6)D;
(7)B;
(3)C; (8)B;
(4)A; (9)C。
(5)A;
8.3 答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。这个过程称为中断。
8086微机系统中有3种中断: 1) 外部可屏蔽中断。 2) 外部不可屏蔽中断。 3) 内部中断
其中,内部中断又分5种,分别为:除法错中断,单步中断,断点中断,溢出中断以及INT N软件中断。
8.4 答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。 8.5 答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处是能够提高中断响应的实时性。对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有: (1)微处理器处于中断允许状态(IF=1)
(2)中断请求的优先级高于正在执行的中断处理程序的优先级。 (3)中断请求未被8259屏蔽。
(4)没有不可屏蔽中断请求和总线请求。
精选
.
8.6 答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。这1024个地址单元成为中断向量表。
因此,中断类型号为1FH的中断向量,在中断向量表中的存储位置为1FH×4=07CH。中断类型号为1FH的中断向量在中断向量表中的存放位置如图8.6所示。
图8.6 中断类型号为1FH的中断向量在中断向量表中的存放位置
8.7 答:中断向量表是用来存放中断向量的。是中断类型号与它对应的中断服务程序入口地址之间的换算表。
1) CPU获得中断类型号n后,将当前PSW、CS和IP的内容依次压入堆栈,保存断
点的状态和断点地址,以便返回时恢复。 2) 将PSW中的IF位和TF位清0,关闭中断。
3) 把地址为4×n和4×n+1两个单元的16位数作为中断服务程序入口的偏移地址置
入IP,把地址为4×n+2和4×n+3两个单元的16位数作为中断服务程序入口的段地址置入CS。
4) 转入中断服务程序。
8.8 答:在IF位为1情况下,从INTR端加入中断请求信号开始,到进入中断服务程序为止所经过的一系列操作,称为可屏蔽中断的响应过程。首先等待当前指令结束后,进入中断响应周期。然后,从微处理器外部的中断控制逻辑获得中断类型号。随后把当前的PSW、CS和IP的内容依次压入堆栈,接着清除PSW中的IF位和TF位为0。最后把中断服务程序的入口地址置入IP和CS。至此,完成了可屏蔽中断的响应过程,开始进入中断服务程序。 8.9 答:IRR:中断请求寄存器,用来锁存外部设备送来的IR7~IR0中断请求信号。当外部
精选
.
中断请求线IRi有中断请求时,IRR中与之对应的第i位被置1。该寄存器内容可以被微处理器读出。
IMR:用于设置中断请求的屏蔽信号。此寄存器第i位被置1时,与之对应的外部中断请求线IRi被屏蔽,不能向微处理器发出INT信号。
ISR:用于记录当前正在被服务的所有中断级,包括尚未服务完而中途被更高优先级打断的中断级。若微处理器响应了IRi中断请求,则ISR中与之对应的第i位置1。中断处理结束前,要用指令清除这一位。
8.10 答:初始化编程就是指对ICW(初始化命令字)的初始化,对ICW的初始化有一定的顺序,必须从ICW1开始。对中断控制器8259A的初始化编程次序如图8.10所示。
初始化ICW1地址A0=0初始化ICW2地址A0=1N是级联吗?Y初始化ICW3地址A0=1NIC4=1?Y初始化ICW1地址A0=1
图8.10 对中断控制器8259A的初始化编程次序
8.11 答:一片8259可控制8级中断,第1片通过级联8片8259可将中断扩充至64级。所以组成该中断机构共需9片8259。
8.12 答:在全嵌套方式下,中断优先级的级别是固定的,即IR0优先级最高,IR1~IR6逐级次之,IR7最低。如果对8259A进行初始化后没有设置其他优先级别,那么8259A就按全嵌套方式工作。
8.13 答:(1)设备3和4同时发出中断请求;
中断处理次序为:D3→D4,示意图如图8.13(a)所示。
精选
.
主程序D3,D4同时请求D3服务程序STID4服务程序STI3置ISR1ISR3清零ISR4置1IRETIRETISR4清零
图8.13(a)设备3和4同时发出中断请求的中断处理程序的次序示意图
(2)设备3和4同时发出中断请求,并在设备3的中断处理程序完成之前,设备2发出中断请求;
中断处理次序为: D3→D2→D3→D4,示意图如图8.13(b)所示。
D3,D4同时请求D2请求D3服务程序STID2服务程序STI主程序I置1SR3ISR12置ISR3清零ISR4置1ISR2清零IRETIRETD4服务程序STIISR4清零IRET
图8.13(b)中断处理程序的次序示意图
(3)设备1、3、5同时发出中断请求,在设备3的中断处理程序完成之前,设备2发出中断请求。
中断处理次序为:D1→D3→D2→D3→D5,示意图如图8.13(c)所示。
精选
.
主程序D1,D3,D5同时请求D2请求D1服务程序STID3服务程序STID2服务程序STI11置RSIISR1清零IRETIRETISR3置1ISR3清零ISR2清零IRETISR5置1D5服务程序STIISR5清零IRET
图8.13(c)中断处理程序的次序示意图
8.14 答:ICW1、OCW2和OCW3共用一个端口地址,但在命令字中通过命令字的两位取值不同来区分,ICW2、ICW3、ICW4和OCW1根据命令字的先后次序区分。
8.15 答:IMR为8259内决定是否屏蔽接入8259的中断请求的,IF是8086CPU内部决定是否可以响应外部非屏蔽中断的标志位。在中断系统中IMR决定外部中断请求能否被8259转发给CPU,IF决定CPU能否响应INTR引脚的中断请求。
8.16 答:在二片以上的8259芯片级联的情况。主片的ICW3的每一位确定哪一个INi引脚接从片,从片的ICW3的低三位的组合确定从片的INT接主片的哪一个INi。
8.17 答:8259A 利用优先权处理器来识别和管理中断请求信号的优先级别。当几个中断请求信号同时出现时,优先权处理器根据控制逻辑规定的优先权级别和IMR的内容来判断这些请求信号的最高优先级。微处理器响应中断请求时,把优先权最高的IRR中的“1”送入ISR.。当8259A正在为某一级中断服务时,若又出现新的中断请求,则由优先权处理器判断新出现的中断请求的级别是否高于正在处理的那一级。若是,则进入多重中断处理。
8259A有5种中断优先级管理方式。
(1)完全嵌套方式:按固定优先级高低来管理中断,若8259A初始化时未对优先级管理方式编程,则8259A自动进入该方式;
(2)自动循环方式:中断源的优先级将随中断响应过程的结束而随时跟着改变的中断优先级管理方式。可用两种方式使8259A进入自动循环方式:一是在中断服务程序末尾发一条
精选
微机原理与接口技术(楼顺天第二版)第八章习题解答
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)