微机原理与接口技术课后答案黄玉清版DOC.docx
- 文档编号:11749237
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:69
- 大小:109.47KB
微机原理与接口技术课后答案黄玉清版DOC.docx
《微机原理与接口技术课后答案黄玉清版DOC.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课后答案黄玉清版DOC.docx(69页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术课后答案黄玉清版DOC
习题一概述
主要内容:
计算机系统的组成和各部分的作用,微型计算机组成,微处理器的结构;计算机中的信息表示;微机系统的结构特点。
1.1简述微型计算机的组成。
【答】微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。
1.2微处理器、微型计算机和微型计算机系统三者之间有什么不同?
【答】将运算器与控制器集成在一起,称为微处理器。
微处理器是微处理器的核心。
微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。
微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。
三者之间是有很大不同的,微处理器是微型计算机的一个组成部分,而微型计算机又是微型计算机系统的一个组成部分。
1.3CPU在内部结构上由哪几部分组成?
CPU应具备什么功能?
【答】CPU在内部结构上由算术逻辑部件(ALU);累加器和通用寄存器组;程序计数(指令指针)、指令寄存器和译码器;时序和控制部件几部分组成。
不同CPU的性能指标一般不相同,但一般CPU应具有下列功能:
可以进行算术和逻辑运算;可保存少量数据;能对指令进行译码并执行规定的动作;能和存储器、外设交换数据;提供整个系统所需要的定时和控制;可以响应其它部件发来的中断请求。
1.4累加器和其他通用寄存器相比有何不同?
【答】累加器是比较特殊的通用寄存器。
它在某些指令执行前,可以保存一源操作数,还在执行后又用来保存运算结果,另外它一般也用来完成输入/输出指令。
而通用寄存器则一般只用来保存参加运算的数据、运算的中间的结果以及用来保存地址。
1.5从传输的信息类型而言,总线分为哪几种类型?
微型计算机采用总线结构有什么优点?
【答】
(1)分为地址总线,数据总线与控制总线三类,又称三总线。
(2)微型计算机的三总线结构是一个独特的结构。
采用总线结构,系统中各功能部件之间的相互关系,变成了各功能部件面向总线的单一关系。
一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩展。
1.6控制总线传输的信号大致有哪几类?
【答】控制总线用来传输控制信号,其中包括CPU输出到存储器和输入/输出接口电路的控制信号,如读信号、写信号和中断响应信号等;还包括其它部件输入到CPU的信号,比如,时钟信号、中断请求和准备就绪信号。
1.7数据总线和地址总线在结构上有什么不同之处?
如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?
【答】从结构上看数据总线是双向的,而地址总线从结构上看却是单向的。
如果一个系统的数据总线和地址总线合用一套总线或者合用部分总线,一般可利用时钟,在总线上采用分时复用技术来区分地址和数据,例如可在总线周期的若干个时钟周期,约定某周期传输地址、在另一周期传输数据。
1.8将下列十进制数转换成8421BCD码:
1049=0001000001001001
902=100100000010
851.37=100101010001.00110111
0.6259=0000.0110001001011001
1.9将下列各组数用八位的补码相加:
(+75)+(-6)
[+75]补=01001011[-6]补=11111010
[+75]补+[-6]补=10000110+10000110=01000101
习题二8086微处理器
答案
主要内容:
主要介绍8086/8088CPU内部结构。
了解80X86CPU的特点。
(1.
2.18086CPU在内部结构上由哪几部分组成?
其功能是什么?
【答】8086的内部结构分成两部分。
总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。
执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。
2.28086的总线接口部件有那几部分组成?
其功能是什么?
【答】8086的总线接口部件主要由下面几部分组成:
4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。
2.38086的执行单元(部件)由那几部分组成?
有什么功能?
【答】8086的执行单元部件主要由下面几部分组成:
控制器、算数逻辑单元、标志寄存器、通用寄存器组。
(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。
(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。
(3)标志寄存器,使用9位,标志分两类。
其中状态标志6位,存放算数逻辑单元ALU运算结果特征;控制标志3位,控制8086的3种特定操作。
(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。
2.48086内部有哪些通用寄存器?
【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP,二个变址寄存器SI、DI。
这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。
2.58086内部有哪些段寄存器?
各有什么用途?
【答】四个16位段寄存器:
CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。
2.68086CPU状态标志和控制标志又何不同?
程序中是怎样利用这两类标志的?
8086的状态标志和控制标志分别有哪些?
【答】
(1)标志分两类:
状态标志(6位),反映刚刚完成的操作结果情况。
控制标志(3位),在8086特定指令操作中起控制作用。
(2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。
例如利用控制标志可以控制程序的单步调试。
(3)状态标志包括:
包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。
控制标志包括:
单步运行标志TF、方向标志DF与中断允许标志IF。
2.78086/8088和传统的计算机相比在执行指令方面有什么不同?
这样的设计思想有什么优点?
8086CPU执行转移指令时,指令队列寄存器内容如何变化?
【答】
(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。
(2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。
(3)8086CPU执行转移指令时,首先清空当前指令队列寄存器,然后从新地址取指令重新填满指令队列。
2.88086CPU的形成三大总线时,为什么要对部分地址线进行锁存?
用什么信号控制锁存?
【答】为了确保CPU对存储器和I/O端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总线上。
而在8086CPU中AD0~AD15总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。
8086CPU中是通过CPU送出的ALE高电平信号来控制锁存的。
2.9将两数相加,即01001100加01100101,CF、PF、AF、ZF、SF、OF各为何值?
【答】01001100+01100101=10110001
CF=0,PF=1,AF=1,ZF=0,SF=1,OF=1
2.10存储器的逻辑地址由哪几部分组成?
存储器的物理地址是怎样形成的?
一个具有32位地址线的CPU,其最大物理地址为多少?
【答】存储器的逻辑地址由段地址与段内偏移地址组成。
存储器的物理地址:
将16位段地址左移4位后,加上16位段内偏移地址,形成20位物理地址。
一个具有32位地址线的CPU,其最大物理地址为
=4*1024*1024*1024B=4GB。
2.11存储器物理地址400A5H~400AAH单元现有6个字节的数据分别为11H,22H,33H,44H,55H,66H,若当前(DS)=4002H,请说明它们的偏移地址值。
如果要从存储器中读出这些数据,需要访问几次存储器,各读出哪些数据?
【答】由于:
物理地址=400A5H=段地址*16+偏移地址=40020H+偏移地址
偏移地址=400A5-40020=85H
若以最少访问次数而言,可以如下操作:
从奇地址400A5H中读出一个字节11H;从偶地址开始400A6H、400A7两个单元读出一个字3322H;从偶地址400A8H、400A9H两个单元读出一个字5544H;从偶地址400AAH中读出一个字节66H。
最少读4次。
2.12在8086中,逻辑地址FFFFH∶0001H、00A2H∶37F0H和B800H∶173FH的物理地址分别是多少?
【答】
(1)FFFFH*16+0001H=FFFF0H+0001H=FFFF1H
(2)00A20+37F0=4210H
(3)B8000+173F=B973FH
2.13在8088/8086中,从物理地址12388H开始顺序存放下列三个双字节的数据,651AH,D761H和007BH,请问物理地址12388H~1238DH6个单元中分别是什么数据?
【答】物理地址12388H~1238DH单元中的数据如下表:
地址
12388H
12389H
1238AH
1238BH
1238CH
1238DH
数据
1AH
65H
61H
D7H
7BH
00H
2.148086/8088CPU有40条引脚,请按功能对它们进行分类?
【答】地址总线:
AD0~AD15,A16~A19;
数据总线:
AD0~AD15;
控制总线:
ALE,
HOLD,HLDA,INTR,
READY,RESET.
2.158086/8088CPU的地址总线有多少位?
其寻址范围是多少?
【答】8086/8088CPU的地址总线均为20位,8086/8088CPU的寻址范围为
=1MB.
2.168086/8088有两种工作方式,它们是通过什么方法来实现?
在最大方式下其控制信号怎样产生?
【答】
引脚接至电源(+5V),则8086CPU处在最小组态(模式);
引脚接地,则8086CPU处在最大组态(模式)。
在最大模式下,需要用外加电路来对CPU发出的控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及对总线收发器8286的控制信号。
2.178086CPU工作在最小模式(单CPU)和最大模式(多CPU)主要特点是什么?
有何区别?
【答】最小模式
接+5V,
构成小规模的应用系统,只有8086一个微处理器,所有的总线控制信号均为8086产生,系统中的总线控制逻辑电路,减少到最小;不需总线控制器8288;适用于单一处理机系统。
最大模式
接地,用于大型(中型)8086/8088系统中,系统总是包含有两个或多个微处理器,其中一个主处理器就是8086或8088。
其它的处理器称协处理器,协助主处理器工作,需要总线控制器来变换和组合控制信号,需总线控制器8288;适用于多处理机系统。
2.188086/8088I/O的读/写周期时序与存储器读/写周期的主要差异是什么?
【答】在8086存储器周期中,控制信号
始终为高电平;而在I/O周期中,
始终为低电平。
2.19CPU启动时,有那些特征?
如何寻找8086/8088系统的启动程序?
【答】在8088/8086系统中,CPU启动后,处理器的标志寄存器、指令指针寄存器IP、段寄存器DS、SS、ES和指令队列都被清零,但是代码段寄存器CS被设置为FFFFH。
因为IP=0000,而CS=FFFFH,所以,8088/8086将从地址FFFF0H开始执行指令。
通常,在安排内存区域时,将高地址区作为只读存储区,而且在FFFF0H单元开始的几个单元中放入一条无条件转移指令,转到一个特定的程序中,这个程序往往实现系统初始化、引导监控程序或者引导操作系统等功能,这样的程序叫做引导和装配程序。
2.208086和8088是怎样解决地址线和数据线的复用问题的?
ALE信号何时处于有效电平?
【答】8086/8088采用时间分隔技术与地址锁存技术,通过地址锁存允许信号ALE锁存CPU送出的地址,有效解决地址线和数据线的复用问题。
2.218086系统在最小模式时应该怎样配置?
请画出这种配置并标出主要信号的连接关系.
【答】8086在最小模式下的典型配置。
见教材的图2.7。
一片8284A,作这时钟发生器。
3片8282或74LL373,用来作为地址锁存器。
2片8286/8287作为总线收发器。
2.228086构成系统分为哪两个存储体?
它们如何与地址、数据总线连接?
【答】8086构成系统分为偶地址存储体和奇地址存储体。
偶地址存储体:
连接D7~D0,A0=0时选通;奇地址存储体:
连接D15~D8,
=0,A0=1时选通。
见教材图2.11。
2.23
信号和A0信号是怎样的组合解决存储器和外设端口的读/写操作的?
这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?
怎样区分?
【答】
信号和A0的组合以及操作如下表。
操作
引腿
0
0
从偶地址开始读/写一个字
1
0
从偶地址单元或端口读/写一个字节
0
1
从奇地址单元或端口读/写一个字节
0
1
1
0
从奇地址开始读/写一个字
2.248086CPU读/写总线周期各包含多少个时钟周期?
什么情况下需要插入TW等待周期?
应插入多少个Tw,取决于什么因素?
什么情况下会出现空闲状态Ti?
【答】8086CPU读/写总线周期包含4个时钟周期。
当CPU与慢速的存储器或外设I/O端口交换信息,系统中就要用一个电路来产生READY信号,并传递给CPU的READY引脚。
CPU在
状态的下降沿对READY信号进行采样。
如果无效,那么,就会在
之后插入等待状态
。
插入
的个数取决于CPU接收到高电平READY信号的时间。
CPU在不执行总线周期时,总线接口部件就不和总线打交道,此时,进入总线空闲周期。
自测试:
1.选择题:
(1)某微机具有16M字节的内存空间,其CPU的地址总线应有(E)条。
A.26B.28C.20D.22E.24
(2)8086/8088CPU要求加到RESET引脚上的复位正脉冲信号,其宽度至少要(4)个时钟周期才能有效复位,如果是上电复位则要求正脉冲的宽度不少于(50)us。
A.4,50B.5,60C.4,70D.5,80
(3)当RESET信号进入高电平状态时,将使8086/8088CPU的(D)寄存器初始化FFFFH。
A.SSB.DSC.ESD.CS
(4)8086/8088CPU与慢速的存储器或I/O接口之间,为了使传送速度能匹配,要在(C)状态之间插入若干等待周期Tw。
A.T1和T2B.T2和T3C.T3和T4D.随机
2.填空题:
(1)8086/8088CPU执行指令中所需操作数地址由(寻址方式和地址寄存器)计算出(16)位偏移量部分送(IP),由(段地址加上偏移量部分)最后形成一个(20)位的内存单元物理地址。
(2)8086/8088CPU在总线周期的T1状态,用来输出(20)位地址信息的最高(4)位,而在其它时钟周期,则用来输出(状态)信息。
(3)8086/8088CPU复位后,从(FFFF0H)单元开始读取指令字节,一般这个单元在()区中,在其中设置一条(无条件转移)指令,使CPU对系统进行初始化。
(4)8086系统的存储体系结构中,1M字节存储体分(两)个存储体,每个存储体的容量都是(512K)字节,其中和数据总线D15~D8相连的存储体全部由(奇地址)单元组成,称为高位字节存储体,并用(高电平)作为此存储体的选通信号。
(5)8086/8088系统中,可以有(
)个段地址,任意相邻的两个段地址最短相距(16)个存储单元,最长相距(
)存储单元。
(6)用段基值及偏移地址来指明一内存单元地址称为(物理地址)。
习题三8086指令系统
主要内容:
8086指令系统。
主要介绍8086的基本数据类型、寻址方式和指令系统,重点掌握8086指令系统的寻址方式、堆栈操作指令、算术运算指令及其对标志位的影响,串操作指令,控制传送指令。
1.单选题:
(1)执行下面指令序列后,结果是(A)。
MOVAL,82H
CBW
A、(AX)=0FF82HB、(AX)=8082HC、(AX)=0082HD、(AX)=0F82H
(2)与MOVBX,OFFSETVAR指令完全等效的指令是(D)。
A、MOVBX,VARB、LDSBX,VAR
C、LESBX,VARD、LEABX,VAR
(3)编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D)。
A、CMPB、SUBC、ANDD、MOV
(4)下面指令执行后,改变AL寄存器内容的指令是(D)。
A、TESTAL,02HB、ORAL,AL
C、CMPAL,BD、ANDAL,BL
(5)设DH=10H,执行NEGDH指令后,正确的结果是(D)。
A、(DH)=10H,CF=1B、(DH)=0F0H,CF=0
C、(DH)=10H,CF=0D、(DH=0F0H,CF=1
(6)设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是(A)。
A、85B92HB、86192HC、BB690HD、12169H
(7)下列指令中,执行速度最快的是(C)。
A、MOVAX,100B、MOVAX,[BX]
C、MOVAX,BXD、MOVAX,[BX+BP]
2.8086CPU执行如下指令后的结果,以及标志SF、AF、CF、OF的值。
(1)MOVAL,01100100B
SUBAL,58H;(AL)=0CH,AF=1
DAS;(AL)=06H,AF=1
ADDAL,89H;(AL)=8FH,AF=0
DAA;(AL)=95H,AF=1,SF=1
结果:
(AL)=95H,SF=1,AF=1,CF=0,OF=0
(2)MOVAL,05H
MOVBL,09H
MULBL;(AX)=002DH,SF、AF、CF、OF=0
AAA;(AX)=0103H
;AAM;;(AX)=0405H
结果:
(AX)=0103H,CF=1,SF=0、AF=1、OF=0
3.分析执行下列指令序列后的结果:
MOVAL,10110101B
ANDAL,00011111B;(AL)=00010101B
ORAL,11000000B;(AL)=11010101B
XORAL,00001111B;(AL)=11011010B
NOTAL;(AL)=00100101B
4.假设(AL)=10101111B,CF=0,CL=2,写出分别执行下列指令后的结果以及标志位CF、ZF、OF的值。
(1)SHLAL,CL;(AL)=10111100B,CF=0、ZF=0、OF=1
(2)SHRAL,CL;(AL)=00101011B,CF=1、ZF=0、OF=0
(3)SARAL,CL;(AL)=11101011B,CF=1、ZF=0、OF=0
(4)ROLAL,CL;(AL)=10111110B,CF=0、ZF=0、OF=1
(5)RCRAL,CL;(AL)=10111101B,CF=0、ZF=0、OF=1
5.设(IP)=3D8FH,(CS)=4050H,(SP)=0F17CH,当执行CALL2000:
0094H后,试求出IP、CS、SP的内容,以及栈顶4个单元的内容。
【答】(CS)=2000H,(IP)=0094H,栈顶F178H~F17BH连续4个单元的内容:
94,3D,50,40。
6.设(DS)=2000H,(BX)=1256H,(SI)=528FH,TABLE的偏移量=20A1H,(232F7H)=3280H,(264E5H)=2450H,执行下述指令后IP的内容?
(1)JMPBX;(IP)=1256H
(2)JMPTABLE[BX];(IP)=3280H
(3)JMP[BX][SI];(IP)=2450H
7.设当前的SP=1000H,执行PUSHF指令后,SP=(0FFEH),若改为执行INT20H指令后,则SP=(0FFCH)。
8.设当前(SS)=2010H,(SP)=FE00H,(BX)=3457H,计算当前栈顶的物理地址为多少?
当执行PUSHBX指令后,栈顶地址和栈顶2个字节的内容分别是什么?
【答】当前栈顶指针(SP)=2FF00H,物理地址=20100H+FE00H=2FF00H
当执行PUSHBX指令后,栈顶指针(SP)=FE00-2=FDFEH,栈顶物理地址=2FDFEH,栈顶2个字节的内容分别3457H。
9.HLT指令用在什么场合?
如CPU在执行HLT指令时遇到硬件中断并返回后,以下应执行哪条指令?
【答】HLT用在使CPU处于暂停状态而等待硬件中断的场合。
在执行HLT指令遇到硬件中断并返回后将执行HLT后面的一条指令。
10.为什么用増量指令或减量指令设计程序时,在这类指令后面不用进位标志作为判断依据?
【答】増量指令或减量指令不影响进位标志CF。
11.中断指令执行时,堆栈的内容有什么变化?
中断处理子程序的人口地址是怎样得到的?
【答】中断指令执行时,堆栈内容变化如下:
标志寄存器被推入堆栈,且SP减2,然后CPU将主程序的下一条指令地址即断点地址推入堆栈,即段值CS推入堆栈且SP减2,偏移量推入堆栈,且SP减2。
中断处理子程序的入口地址即中断向量,对应的中断类型号的4倍即为中断向量地址,在该地址处的4个字节内容,高地址单元两个字节为中断入口地址的段地址,低地址单元两个字节为中断入口地址的偏移地址。
12.中断返回指令IRET和普通子程序返回指令RET在执行时,具体操作内容什么不同?
【答】IRET从堆栈中依次弹出断点处指令指针IP、代码段CS内容与标志寄存器的值,而RET从堆栈中依次弹出断点处指令指针IP值、代码段CS内容,不需要弹出标志寄存器的值。
13.以下是格雷码的编码表:
0——0000,1——0001,2——0011,3——0010,4——0110
5——0111,6——0101,7——0100,8——1100,9——1101
请用换码指令和其它指令设计一个程序段,实现格雷码往ASCII码的转换。
【答】
格雷码
ASCII码
数值
0000
30H
0
0001
31H
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术课后答案 黄玉清版DOC 微机 原理 接口 技术 课后 答案 黄玉 DOC
![提示](https://static.bdocx.com/images/bang_tan.gif)