(全网最全)微型计算机原理与接口技术第六版课后习题答案-周荷琴,冯焕清-第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.mfbz.cn/a/380004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《MySQL 简易速速上手小册》第4章:数据安全性管理(2024 最新版)

文章目录 4.1 用户认证和权限控制4.1.1 基础知识4.1.2 重点案例:使用 Python 管理 MySQL 用户权限4.1.3 拓展案例 4.2 防止 SQL 注入和其他安全威胁4.2.1 基础知识4.2.2 重点案例:使用 Python 和 MySQL 进行安全的数据查询4.2.3 拓展案例 4.3 数据加密和…

算法练习-二叉搜索树中的搜索(思路+流程图+代码)

难度参考 难度:中等 分类:二叉树 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记,旨…

CUDA简介

CPUGPU异构计算 GPU计算并不是指单独的GPU计算,而是指CPUGPU的异构计算。一块单独的GPU是无法独立的完成所有计算任务的,它必须在CPU的调度下才能完成特定的任务。CPU更适合进行逻辑复杂低并行的程序,GPU更适合逻辑简单高并行的任务。这主要…

问题:必须坚持以中国式现代化推进中华民族伟大复兴,既不走封闭僵化的老路,也不走 #媒体#知识分享

问题:必须坚持以中国式现代化推进中华民族伟大复兴,既不走封闭僵化的老路,也不走 A、中国特色社会主义道路 B、改革开放之路 C、改旗易帜的邪路 D、中国式现代化之路 参考答案如图所示

HarmonyOS 鸿蒙 ArkTS 双色旋转动画效果

下载地址: https://download.csdn.net/download/weixin_54226053/88818859 也可以点击顶部的资源下载

【Git】Windows下通过Docker安装GitLab

私有仓库 前言基本思路拉取镜像创建挂载目录创建容器容器启动成功登录仓库设置中文更改密码人员审核配置邮箱 前言 由于某云存在人数限制,这个其实很好理解,毕竟使用的是云服务器,人家也是要交钱的。把代码完全放在别人的服务器上面&#xf…

Qt网络编程-ZMQ的使用

不同主机或者相同主机中不同进程之间可以借助网络通信相互进行数据交互,网络通信实现了进程之间的通信。比如两个进程之间需要借助UDP进行单播通信,则双方需要知道对方的IP和端口,假设两者不在同一主机中,如下示意图: …

C#,十进制展开数(Decimal Expansion Number)的算法与源代码

1 十进制展开数 十进制展开数(Decimal Expansion Number)的计算公式: DEN n^3 - n - 1 The decimal expansion of a number is its representation in base -10 (i.e., in the decimal system). In this system, each "decimal place…

戴上HUAWEI WATCH GT 4,解锁龙年新玩法

春节将至,华为WATCH GT 4作为一款颜值和实力并存的手表,能为节日增添了不少趣味和便利。无论你是钟情于龙年表盘或定制属于自己的表盘,还是过年用来抢红包或远程操控手机拍全家福等等,它都能成为你的“玩伴”。接下来,…

C++后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee

C后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee 为了记录学习的过程,学习Sylar时写的代码统一提交到Gitee仓库中。 Ubuntu配置Gitee 安装git sudo apt-get install -y git配置用户名和邮箱 git config --global user.name 用户名 …

产品效果图为何要用渲染100农场?渲染100邀请码1a12

产品效果图很重要,它能帮助设计人员和消费者理解产品特点,是不可或缺的一步。产品效果图渲染耗时耗力,不仅慢而且容易出错,在这种情况下,使用渲染农场就成了必备选择,以目前国内最好的渲染农场渲染100为例&…

【芯片设计- RTL 数字逻辑设计入门 番外篇 9 -- SOC 中PL端与PS端详细介绍】

文章目录 Programmable Logic and Processing SystemPL(Programmable Logic)特点PS和PL之间的协同设计和开发工具 Programmable Logic and Processing System 在系统级芯片(SoC)的上下文中,“PL” 通常指的是可编程逻…

JavaScript基础第六天

JavaScript 基础第六天 今天我们学习数组的遍历&#xff0c;以及数组的其他用法。 1. 数组遍历 1.1. 古老方法 可以使用 for 循环进行遍历。 let arr ["a", "b", "d", "g"]; for (let i 0; i < arr.length; i) {console.log…

HiveSQL——用户中两人一定认识的组合数

注&#xff1a;参考文章&#xff1a; SQL之用户中两人一定认识的组合数--HQL面试题36【快手数仓面试题】_sql面试题-快手-CSDN博客文章浏览阅读1.2k次&#xff0c;点赞3次&#xff0c;收藏12次。目录0 需求分析1 数据准备2 数据分析3 小结0 需求分析设表名&#xff1a;table0现…

Jupyter Notebook如何在E盘打开

Jupyter Notebook如何在E盘打开 方法1&#xff1a;方法2&#xff1a; 首先打开Anaconda Powershell Prompt, 可以看到默认是C盘。 可以对应着自己的界面输入&#xff1a; 方法1&#xff1a; (base) PS C:\Users\bella> E: (base) PS E:\> jupyter notebook方法2&#x…

分析 丨ToF传感器的XR应用和主要厂商

苹果MR头显Vision Pro被业界关注&#xff0c;另有消息称华为在2024年规划2款产品&#xff0c;一个是与Vision Pro、Quest和PICO方案类似的MR头显&#xff0c;预计2024年Q3或者Q4发布&#xff1b;另一个是与魅族MYVU衍射光波导AR眼镜类似的产品&#xff0c;发布时间晚于MR头显。…

数码管扫描显示-单片机通用模板

数码管扫描显示-单片机通用模板 一、数码管扫描的原理二、display.c的实现1、void Display(void) 各模式界面定义数据2、void BackupRamToDisRam(void)从缓存区刷新显示映射Ram3、void FreshDisplay(void) 映射显示Ram到主控的IO口4、void LcdDisplay_8bit(void) 映射显示Ram到…

[leetcode] 32. 最长有效括号

文章目录 题目描述解题方法方法一&#xff1a;栈java代码复杂度分析 方法二&#xff1a;贪心java代码复杂度分析 相似题目 题目描述 给你一个只包含 ( 和 ) 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 示例 1&#xff1a; 输…

[Java][算法 哈希]Day 01---LeetCode 热题 100---01~03

LeetCode 热题 100---01~03 ------->哈希 第一题 两数之和 思路 最直接的理解就是 找出两个数的和等于目标数 这两个数可以相同 但是不能是同一个数字&#xff08;从数组上理解就是内存上不是同一位置&#xff09; 解法一&#xff1a;暴力法 暴力解万物 按照需求 …

spring-security authentication persistence

翻译版本【spring-security 6.2.1】persistence Persisting Authentication 用户第一次请求受保护的资源时&#xff0c;系统会提示他们输入凭据。提示输入凭据的最常见方法之一是将用户重定向到登录页面。未经身份验证的用户请求受保护的资源的HTTP交换可能如下所示: 例1。未…
最新文章