(全网最全)微型计算机原理与接口技术第六版课后习题答案-周荷琴,冯焕清-第8章中断和可编程中断控制器8259A-中国科学技术大学出版社

含有“AI:”开头的题目的答案是问chat的,看个乐就行,不一定正确

1。 什么叫中断?中断的主要功能是什么?

答:当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的中断。

这就是所谓的中断嵌套。在处理一个中断的过程中,如果有另一个优先级较低的中断请求,那么这个中断请求将在高优先级的中断处理完毕后被处理。这样可以确保高优先级的中断总是优先被处理,而低优先级的中断不会阻塞高优先级的中断的处理。

10。根据可屏蔽中断响应和处理的流程图,说明硬件自动完成哪些功能,怎样编写中断 服务程序。(提示:中断服务程序包含保护现场、中断服务、恢复现场和中断返回。)

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

20。编程将中断类型号n=44H,中断服务程序的人口地址为CS:IP=2000:3600H的中断向量设置到中断向量表中。(参考例8.17。)

(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文档下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/461608.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

markdown加载自定义字体

写讲义,如果没有个像样 的字体多少有点难受。 最终的结果是劝退。 一、需要特定的markdown编辑器,我用的vscode 如果使用joplin、gitee的md文件是无法加载、渲染的。 二、 使用vscode想要渲染的话,似乎只能渲染一部分字体文件。下面不多…

Uniapp(uni-app)学习与快速上手教程

Uniapp(uni-app)学习与快速上手教程 1. 简介 Uniapp是一个跨平台的前端框架,允许您使用Vue.js语法开发小程序、H5、安卓和iOS应用。下面是快速上手的步骤。 2. 创建项目 2.1 可视化界面创建 1、打开 HBuilderX,这是一款专为uni…

【VTKExamples::PolyData】第二十四期 InterpolateTerrain

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例InterpolateTerrain,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. InterpolateTerrain 输出: Interp…

问题:路基施工时以下哪种情况可以不用铺筑试验路段。( ) #经验分享#其他#微信

问题:路基施工时以下哪种情况可以不用铺筑试验路段。( ) A.高速公路和一级公路 B.特殊土质地区公路 C.采用新技术、新材料和新工艺的路基 D.三、四级公路 参考答案如图所示

Java:内部类、枚举、泛型以及常用API --黑马笔记

内部类 内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。 当一个类的内部,包含一个完整的事物,且这个事物没有必要单独设计时&a…

(1)短距离(<10KM)

文章目录 1.1 Bluetooth 1.2 CUAV PW-Link 1.3 ESP8266 wifi telemetry 1.4 ESP32 wifi telemetry 1.5 FrSky telemetry 1.6 Yaapu双向遥测地面站 1.7 HOTT telemetry 1.8 MSP(MultiWii 串行协议)(4.1 版) 1.9 MSP (version 4.2) 1.10 SiK Radio v1 1.11 SiK Radio …

异地电脑文件夹共享吗?

在现代社会中,人们越来越多地需要在不同的地方使用电脑来处理文件和数据。对于那些在异地工作或旅行的人来说,如何共享和访问自己的文件夹成为一个棘手的问题。幸运的是,有一些方法可以帮助我们在异地共享电脑文件夹,并实现远程访…

Window环境下使用go编译grpc最新教程

网上的grpc教程都或多或少有些老或者有些问题,导致最后执行生成文件时会报很多错。这里给出个人实践出可执行的编译命令与碰到的报错与解决方法。(ps:本文代码按照煎鱼的教程编写:4.2 gRPC Client and Server - 跟煎鱼学 Go (gitbook.io)&…

【芯片设计- RTL 数字逻辑设计入门 15 -- 函数实现数据大小端转换】

文章目录 函数实现数据大小端转换函数语法函数使用的规则Verilog and Testbench综合图VCS 仿真波形 函数实现数据大小端转换 在数字芯片设计中,经常把实现特定功能的模块编写成函数,在需要的时候再在主模块中调用,以提高代码的复用性和提高设…

专业140+总分420+河海大学863信号与系统考研经验电子信息通信与信息技术,真题,大纲,参考书。

今年的成绩出来倍感欣慰,决定考研的时候并没有想到自己可以考出420的分数,通过自己一年来的努力,成功上岸,期中专业课863信号与系统140接近满分(非常感谢信息通信Jenny老师的专业课辅导和平时悉心答疑,不厌…

同步和异步、阻塞与非阻塞

一、同步和异步的概念 首先同步和异步是访问数据的机制 同步:同步一般指主动请求并等待IO操作完成的方式异步:主动请求数据后便可以继续处理其它任务,随后等待IO操作完毕的通知 两者的区别:同步会一行一行执行代码,而…

从模型到前端,你应该知道的LLM生态系统指南

LLM在在2023年发展的风生水起,一个围绕LLM的庞大生态系统正在形成,本文通过介绍这个生态系统的核心组成部分,来详细整理LLM的发展。 模型-核心组件 大型语言模型(llm)是人工智能应用程序背后的原材料。这些模型最初被预先训练来预测句子中的…