含有“AI:”开头的题目的答案是问chat的,看个乐就行,不一定正确
答:当CPU正在处某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作,这种过程称为中断,实现这种功能 的部件称为中断系统。
功能1:分时操作。计算机的中断系统可以使CPU与外设同时工作。CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向CPU发出中断请求,CPU响应该中断请求并为其服务完毕后,返回到原来的断点处继续运行主程序。外设在启动服务后,也继续进行自己的工作。因此,CPU可以使多个外设同时工作,并分时为各外设提供服务,从而大大提高了CPU的利用率和输入/输出的速度。
功能2:实时处理。当计算机用于实时控制时,请求CPU提供服务是随机发生的。有了中断系统,CPU就可以立即响应并加以处理。
功能3:故障处理。计算机在运行时往往会出现一些故障,如电源断电、存储器奇偶校验出错、运算溢出等。有了中断系统,当出现上述情况时,CPU可及时转去执行故障处理程序,自行处理故障而不必停机。
2。什么叫中断源?8086CPU的中断源有哪几种?根据中断源分类,8086的中断分哪 几类?
解:
引起中断的原因或能发出中断请求的来源称为中断源。
8086有两种中断源,一种是外部中断或硬件中断,它们从CPU的不可屏蔽中断引脚NMI和可屏蔽中断引脚INTR引入; 另一种为内部中断或软件中断,是为解决CPU运行过程中出现的一些意外事件或便于程序 调试而设置的。
因此,根据引起中断的原因,可以把8086的中断分为外部中断和内部中断 两大类
3。8086的外部中断从哪些引脚引入?内部中断有哪几种?
解:
(1)外部中断
从NMI和INTR引脚引入的中断属于外部中断。
(2)内部中断
内部中断不需要硬件支持,不受IF标志控制,不执行中断总线周期,除单步中断可通过 TF标志允许或禁止外,其余都是不可屏蔽的中断。
内部中断有以下几种:
①除法错中断。CPU在执行除法指令时,若发现除数为0或者所得的商超过了寄存 器能容纳的范围,则自动产生一个类型为0的除法错中断。
②单步中断。如果CPU的单步标志TF置1,那么每执行完一条指令后,会自动产生 类型为1的单步中断,CPU响应中断后,暂停执行下条指令,转到单步中断服务程序去执行,其结果是将CPU的内部寄存器和有关存储器的内容显示出来,便于跟踪程序的执行过 程,实现动态排错。
4。中断向量表用来存放什么信息?它位于内存的什么区域内?
解:
中断向量表用来存放中断类型号0~255对应的中断服务程序的偏移地址。占用1KB字节,存放在内存的最低端地址00000~003FFH的区域中。
5。在PC机中,哪几个中断被定义为专用中断?它们的中断服务程序入口地址放在中 断向量表的什么地方?在8259A的中断输入端IR0~IR7引入的中断类型号为08~0FH,它 们的中断服务程序入口地址放在何处?
解:
类型号为0~4的5个中断被定义为专用中断,它们 分别是:除法错中断、单步中断、不可屏蔽(NMI)中断、断 点中断和溢出中断,它们的中断服务程序的人口地址分别存放在00H、04H、08H、0CH和10H开始的4个连续单元中。
IR0~IR7的中断服务程序入口地址放在20H、24H、28H、2CH、30H、34H、38H、3CH开始的4个连续单元中
6。如果中断类型号n=4,它的中断服务程序的入口地址CS:IP=0485:0016H,它在中 断向量表中如何存放?
解:中断类型号n=4,中断向量指针=中断类型号×4=n×4=10H
从内存中断向量指针00010H开始的单元开始存放中断向量, CS占高2个字节, IP占低2个字节。具体如下:
00010H 16H
00011H 00H
00012H 85H
00013H 04H
7。若中断向量表中地址为0040H单元中存放240BH,0042H单元中存放D169H,则这 些单元对应的中断类型号是什么?该中断服务程序的起始地址是什么?
解:
(1)40H÷4=10H
(2)D169H:240BH,物理地址为D589H
8。在8086中,中断优先级从高到低的顺序是如何排列的?
解:
在8086中,中断优先级从高到低的次序为:
除法错、INT n、INTO ;最高级,同一行的有同等优先级
NMI;次高级
INTR;较低级
单步中断 ;最低级
9。在PC机中,从8259A引入8级中断IR0~IR7,其中IR0的优先级最高,如果有IR2和 IR5同时提出中断请求,参考图8.5,说明如何实现中断嵌套?
AI解:
在PC机中,8259A是一个可编程中断控制器,它可以处理多个中断请求并根据优先级决定哪个中断应该首先被处理。在这个系统中,IR0的优先级最高,IR7的优先级最低。
当IR2和IR5同时提出中断请求时,由于IR2的优先级高于IR5,因此IR2的中断请求将首先被处理。处理IR2的中断请求的过程如下:
1. CPU接收到IR2的中断请求后,会暂停当前的任务,并保存当前任务的状态。
2. CPU然后开始执行与IR2中断相关的中断服务程序。
3. 在执行IR2的中断服务程序的过程中,如果IR5的中断请求仍然存在,那么在IR2的中断服务程序执行完毕后,CPU会开始处理IR5的中断。
这就是所谓的中断嵌套。在处理一个中断的过程中,如果有另一个优先级较低的中断请求,那么这个中断请求将在高优先级的中断处理完毕后被处理。这样可以确保高优先级的中断总是优先被处理,而低优先级的中断不会阻塞高优先级的中断的处理。
AI解:
可屏蔽中断响应和处理的流程图描述了当发生可屏蔽中断时,处理器和相关硬件自动完成的功能,以及在编写中断服务程序时需要考虑的内容。下面是对硬件自动完成的功能和中断服务程序的编写过程的说明:
硬件自动完成的功能:
1. 中断请求识别:硬件自动检测到中断请求,并将其传递给处理器。
2. 中断响应:处理器在接收到中断请求后,自动执行中断响应操作,暂停当前执行的指令流,并保存当前的程序状态。
3. 现场保护:处理器自动将当前的程序状态(如程序计数器、寄存器状态等)保存到预定义的位置,以便在中断服务程序执行完毕后能够恢复到中断前的状态。
4. 中断服务:处理器根据中断向量或中断号,自动跳转到相应的中断服务程序的入口点开始执行中断服务程序。
编写中断服务程序的步骤:
1. 保护现场:在中断服务程序开始时,首先需要保存中断发生时的程序状态,包括将程序计数器、寄存器状态等保存到预定义的位置,以便在中断服务程序执行完毕后能够恢复到中断前的状态。
2. 中断服务:在中断服务程序中执行相应的中断处理代码,处理中断请求所需的操作,比如处理特定的输入/输出设备、更新数据结构等。
3. 恢复现场:在中断服务程序执行完毕后,需要将之前保存的程序状态恢复,包括将程序计数器、寄存器状态等恢复到中断前的状态。
4. 中断返回:最后,中断服务程序执行完毕后,使用特定的指令(如IRET指令)从中断服务程序返回到中断前的程序执行点,继续执行被中断的程序。
总的来说,硬件自动完成了中断请求的识别、响应和现场保护,而编写中断服务程序时需要考虑保护现场、中断服务、恢复现场和中断返回这几个关键步骤,以确保中断处理的正确性和可靠性。
11。8086中断响应和处理有哪些主要步骤?
见p249~252, 8.1.2中断的响应与处理过程
中断查询,中断响应,中断处理和返回
外设向CPU发出请求,CPU发出两个INTA信号响应,并获取中断类型号。根据中断类型号查找中断向量表,找出中断服务程序的入口地址,保存断点地址和标志寄存器后跳入此地址进入中断服务程序。中断处理程序结束后,恢复标志寄存器并跳回断点地址继续执行原程序。响应时,主要操作有保存标志寄存器, IF、TF清0,中断断点地址CS:IP。然后进入中断处理程序。中断处理程序结束后,恢复断点、恢复标志寄存器、返回主程序。
下面这里借一下我们班老师写的答案:
12。8259A内部有哪些寄存器?其主要功能是什么?
见p252~p254, 8.2.18259A的引脚信号和内部结构
13。设置中断优先级时,全嵌套与特殊全嵌套有什么区别?为什么要设置优先级自动 循环方式?
全嵌套和特殊全嵌套是两种不同的中断优先级设置方式,主要的区别在于它们处理多个同时发生的中断请求的方式。
1)全嵌套:在全嵌套方式下,当一个中断正在被处理时,如果有另一个优先级更高的中断请求发生,那么当前的中断处理会被暂停,CPU会去处理优先级更高的中断。这种方式可以确保优先级高的中断总是优先被处理。
2)特殊全嵌套:特殊全嵌套方式与全嵌套类似,但是在处理一个中断的过程中,只有比当前正在处理的中断优先级更高的中断才能被接受。这意味着,如果一个优先级较低的中断在一个优先级较高的中断被处理的过程中发生,那么这个优先级较低的中断将不会被处理,直到优先级较高的中断处理完毕。
优先级自动循环方式是一种动态调整中断优先级的方式。在这种方式下,正在被处理的中断的优先级会被临时提高,以防止其被同样优先级的其他中断打断。这种方式可以有效地防止中断的“饥饿”现象,确保所有的中断都能得到及时处理。
14。如何结束中断?8259A结束中断有哪几种方式?
见p255~256, 8.2.28259A的工作方式-3.结束中断方式
15。如果8259A的口地址为20H/21H,要求设置该芯片的中断类型号n=08H~OFH, 怎样编程设置ICW2?如果系统中只允许时钟、键盘和硬盘中断,怎样编程设置OCW1?(参 考例8.4、例8.7和表8.1。)
16。在PC机中,执行下列两组指令后,各完成什么功能?(参考例8.9和例8.10。)
(1) MOV AL, 20H
OUT 20H,AL
(2) MOV AL, 01100011B
OUT 20H,AL
解:
(1)
中断服务子程序中 RET 之前,通过 OCW2 设置中断结束方式为普通 EOI 结束方式, 清 ISR 的相应位。
(2)
发特殊结束中断SEOI命令,结束3级中断。
MOV AL,01100011B;OCW2的SEOI命令,L2~L0=011
OUT 20H,AL;将IS清0,结束3级中断
中断服务子程序中 RET 之前,通过 OCW2 设置中断结束方式为特殊 SEOI 结束方式, 清 ISR 的相应位。
17。设8259A的口地址为A0H/A1H,编写读中断查询字和中断请求寄存器的程序段, 如果读取的中断查询字=10000010B,其含义是什么?(参考例8.13。)
;1)读中断查询字
MOV AL , 00001100B
OUT A0H, AL
IN AL, A0H
;2)读中断请求寄存器
MOV AL,00001010B
OUT A0H,AL
IN AL,A0H
若AL=10000010B ;表示有中断请求,且IR2上的优先级最高
18。有两片8259A采用级联方式组成中断系统,主片的IR0和IR4上接有外部中断,中 断类型号为30H和34H,主片口地址为C8H/C9H。从片接在主片的IR3上,从片的IR1和 IR2上接有外部中断,其中断类型号n=41H和42H,从片口地址为CAH/CBH。试分别编 写主片和从片的初始化程序,并画出硬件连线图。(参考例8.14和图8.21。)
解:
假设主片的 IR0、IR4 的中断服务子程序的入口地址分别为:ZRQ0、ZRQ4;
从片的 IR1、IR2 的中断服务子程序的入口地址分别为:CRQ1、CRQ2。
19。PC/AT机中,两片8259A构成级联电路,已知主片口地址为20H/21H,从片口地 址为A0H/A1H,试编程设置:主片和从片的中断类型号分别为08H~0FH和70H~77H。
解:
主片和从片 ICW2 分别为 00001000B和01110000B
(1)利用 DOS 系统调用
MOV AX,2000H
MOV DS,AX
MOV DX, 3600H
MOV AL,44H
MOV AH,25H
INT 21H ;中断服务入口地址写入中断向量表
(2)直接用 MOV 指令设置
MOV AX,0000H
MOV DS,AX
MOV AX,3600H ;取中断入口的偏移地址
MOV SI ,44H*4 ;设置中断向量指针
MOV [SI] ,AX ;中断向量的偏移地址写入中断向量表
INC SI
INC SI ;中断向量指针+2,
MOV AX,2000H ;取中断入口的段地址
MOV [SI] ,AX ;中断向量的段地址写入中断向量表
关注微信公众号,回复“微机原理”获取答案的word文档下载