1.        什么是中断?
是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。
2.        可屏蔽中断处理的一般过程是什么?
可屏蔽中断的处理过程一般可分为4个阶段:
(1)        中断申请:外设向CPU发出中断申请信号,CPU检测到有效的INTR,且无DMA请求、IF1,当前指令执行完毕就进入响应阶段
(2)       
INTA
中断响应:CPU通过总线控制器发出两个连续的中断响应信号(2       负脉冲)组成中断响应周期。在中断响应周期中,CPU取得中断类型号n,将程序状态字(PSW)及断点的地址(CSIP)依次入栈保护。再查中断向量表,将(4*n®IP;(4*n+2®CS,进入中断服务阶段
(3)        中断服务:CPU执行中断服务程序,为中断源服务
(4)        中断返回:当执行到中断服务程序中的IRET指令时,将堆栈栈顶的三个字单元内容弹出,依次送给IPCSPSWCPU返回到原来的程序去执行。
3.        什么是中断优先级?设置中断优先级的目的是什么?
中断优先级是指,中断源被响应和处理的优先等级。设置优先级的目的是为了在有多个中断源同时发出中断请求时,CPU能够按照预定的顺序(如:按事件的轻重缓急处理)进行响应并处理。
4.        什么是中断嵌套?
是指CPU正在执行一个中断服务程序时,有另一个优先级更高的中断提出中断请求,这时会暂时挂起当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,这个过程就是中断嵌套。
5.        什么是中断向量?它是如何装入中断向量表的?
中断向量是中断服务程序的入口地址,一个中断向量由4个字节组成,它包括中断服务程序的段首址和偏移地址。
中断向量并非常驻内存,而是由程序装入中断向量表中的。系统配置和使用的中断所对应的中断向量由系统软件负责装入;系统若未配置系统软件(如单板机系统),或用户自定义的中断向量,由用户自行装入。
6.        什么是中断类型号?它的作用是什么?
中断类型号是系统为每一个中断源分配的代号,它是8位的,与系统的中断源一一对应。
中断类型号负责引导CPU找到中断服务程序的入口点。通过中断类型号查中断向量表可得到中断向量(中断服务程序入口地址),其中:物理地址为4*n的单元是中断服务程序入口点的偏移地址;物理地址为4*n+2的单元是中断服务程序的段首址。
7.        不可屏蔽中断和可屏蔽中断各有何特点?其用途如何?
不可屏蔽中断(NMI):CPU不能屏蔽,即:无论IF的状态如何,CPU收到有效的NMI必须进行响应;NMI是上升沿有效;中断类型号固定(为2);它在被响应时无中断响应周期。不可屏蔽中断通常用于故障处理(如:协处理器运算出错、存储器校验出错、I/O通道校验出错等)
可屏蔽中断(INTR):CPU可以通过设置IF的状态屏蔽它,若IF1CPU响应,IF0CPU不响应;INTR高电平有效;它需要中断响应周期;中断类型号由中断控制器在中断响应周期中提供给CPU。可屏蔽中断主要用于普通I/O设备请求与CPU进行数据交换。
8.        IBM-PC微机的中断系统由哪几部分构成?
IBM-PC微机的中断系统由硬件中断(外部中断)和软件中断(内部中断)组成。
硬件中断又分为可屏蔽中断INTR和不可屏蔽中断(NMI);
软件中断有双字节指令形式的中断(ROM-BIOS中断、DOS中断和未定义自由中断)和几种特殊类型的中断(除法溢出中断、单步中断、断点中断、溢出中断)。
9.        所谓DOS系统功能调用是指哪一个软中断?试举出一些常用的设备管理和文件管理的DOS功能调用。
DOS系统功能调用是指中断类型号为21H的软中断指令INT  21H
例如:
功能号为01H,对键盘管理,输入一个字符;
功能号为0AH,对键盘管理,输入一个字符串;
功能号为02H,对显示器管理,输出一个字符;
功能号为09H,对显示器管理,输出一个字符串;
功能号为3CH,对文件管理,建立一个文件;
功能号为3DH,对文件管理,打开一个文件;
功能号为3EH,对文件管理,关闭文件;
功能号为3FH,对文件管理,读文件;
功能号为40H,对文件管理,写文件。
10.    试比较软中断和硬中断不同的特点。
软中断和硬中断的不同主要体现在以下几个方面:
 
软中断
硬中断(INTR
是否有随机性、突发性
是否有中断响应周期
中断类型号的提供方法
固定或由指令提供
由中断控制器提供
是否可屏蔽(受IF影响)
不可屏蔽
可屏蔽
硬中断中的不可屏蔽中断NMI除了具有随机性和突发性之外,其余特点同软中断。
11.    可编程中断控制器8259A协助CPU处理哪些中断事务?
8259A协助CPU完成的中断事务主要有:
接收和扩充外设的中断请求;进行中断请求的屏蔽与开放控制;对中断源进行优先级排队管理;中断被响应时,提供该中断源的中断类型号。
12.    8259A具有哪些工作方式和中断操作功能?指出与这些功能相对应的命令字(ICW/OCW)的内容?
8259A的工作方式有以下几种:
(1)      引入中断请求的方式:有边沿触发和电平触发两种;中断服务方式有向量式中断和查询式中断两种;
(2)      与系统总线的连接方式:缓冲方式和非缓冲方式两种;
(3)      屏蔽中断的方式:通常屏蔽和特殊屏蔽两种方式;
(4)      优先级排队的方式:固定优先级和循环优先级(优先级轮换)两种,循环优先级又分为指定轮换和自动轮换两种;
(5)      中断结束的方式:自动结束方式和非自动结束方式两种
8259A的中断操作功能有以下几个:
(1)      设置中断触发方式、选择8259A芯片的数目——由ICW1完成;
(2)      设置中断类型号的高五位——由ICW2完成;
(3)      设置级联方式具体的连接情况(主片的哪些中断申请端连有从片;从片与主片的哪个中断申请端相连)——由ICW3完成;
(4)      设置特定完全嵌套方式、缓冲方式和中断结束方式——ICW4完成;
(5)      设置对各中断源的屏蔽与开放状态——由OCW1完成;
(6)      设置优先级轮换及发中断结束命令——由OCW2完成;
(7)      设置特殊屏蔽方式、查询式中断的服务方式、选择要读出的寄存器——由OCW3完成;
13.    在什么情况下,才要求用户对8259A进行初始化?
一般在没有配置完善的操作系统的单板微机系统中,才需要对8259A进行初始化。另外,若通过插件板扩展中断系统,附加的8259A由于系统软件并未对它进行初始化,所以用户要写入它的初始化程序。
14.    如何对8259A进行初始化编程(包括单片使用和双片使用)?
在单片8259A系统中,初始化时按顺序依次写入ICW1ICW2、和ICW4
在双片8259A系统中,初始化时要按顺序依次写入ICW1ICW2ICW3ICW4
15.    什么是中断响应周期?在中断响应周期中CPU8259A一般要完成哪些工作?
LOCK
INTA
INTA
CPU收到有效的INTR信号,若IF1,且无DMA请求,当前指令执行完毕,就通过总线控制器发出连续的两个中断响应信号(      )组成一个中断响应周期。
INTA
LOCK
在第1      负脉冲中,CPU发出有效的总线锁定信号      ,封锁总线,防止其他主控器占用总线;8259A经判优后将IRR的相应位清0ISR的对应位置1
INTA
在第2      负脉冲中,CPU撤除总线锁定信号      ALE信号也变为无效,允许数据线传送数据;8259A将被响应中断源的中断类型号送给CPU
8259A工作于自动结束方式,在第2       负脉冲的后沿,8259A还要清除ISR中在第1个负脉冲里置1的位。
16.    用户利用PC微机的中断系统资源进行中断传送时,要求用户对8259A的哪些命令进行编程使用?
用户利用PC微机的中断系统资源进行中断传送时,对8259A的编程主要是写入OCW1(开放或屏蔽某些中断级)和OCW2(发中断结束命令)。
17.    何谓中断向量修改?修改中断向量的方法和步骤如何?
在实际应用中,用户借用系统的中断资源(中断类型号)来运行自己的中断服务程序时,需要将中断向量表中原来的中断向量修改为自己中断服务程序的入口地址,这就是中断向量的修改。
中断向量的修改方法一般是利用DOS功能调用的35H号和25H号功能,其步骤可分为以下3步:
(1)      保存原中断向量:用35H号功能读取原来的中断向量,保存于两个字单元中;
(2)      设置新的中断向量:用25H号功能将新的中断向量填入到中断向量表的相应位置(4*n4*n+2单元中);
(3)      恢复原中断向量:使用完,再利用25H号功能将保存于两个字单元中的原来的中断向量重新填入到中断向量表中。
18.    中断结束命令安排在程序的什么地方?在什么情况下要求发中断结束命令?为什么?
中断结束命令一般安排在中断服务程序中,在中断服务完成,中断返回指令(IRET)之前。
8259A工作于非自动结束方式时,要送中断结束命令。因为这种方式,即使中断已经服务完毕,ISR中的对应位也不会自动清0,这样就使得低优先级的中断和同级中断得不到应有的响应。通过发中断结束命令,将服务完的中断级在ISR中的对应位清0,以便开放同级和低级中断。