微机接口习题解答(2)

2019-04-21 16:45

6

2.8 解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?怎样进行计算?

【解答】逻辑地址:表示为段地址:偏移地址,书写程序时用到,一个存储单元可对应出多个逻辑地址;

偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。 有效地址:是指令中计算出的要访问的存储单元的偏移地址。

物理地址:是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。 物理地址计算公式:物理地址 = 段地址×10H+有效地址(或偏移地址)

2.9 8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什么? 【解答】8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为64KB,最少可分成16个逻辑段。各段的起始位置由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。

4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。

2.10 I/O端口有哪两种编址方式,各自的优缺点是什么? 【解答】I/O端口有两种编址方式:统一编址和独立编址。

统一编址方式是将I/O端口与内存单元统一起来进行编号,即包括在1MB的存储器空间中,看作存储器单元,每个端口占用一个存储单元地址。该方式主要优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。

独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。

2.11 8086的最大工作模式和最小各种模式的主要区别是什么?如何进行控制? 【解答】两种模式的主要区别是:

8086工作在最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8086 CPU提供;在最大模式时,系统由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。

8086CPU工作在哪种模式下通过CPU的第33条引脚MN/MX来控制:MN/MX=1,系统就处于最小工作模式;MN/MX=0,系统处于最大工作模式。

2.12 在内存有一个由20个字节组成的数据区,其起始地址为1100H:0020H。计算出该数据区在内存的首末单元的实际地址。

【解答】逻辑地址1100H:0020H对应的物理地址为PA=1100H×10H+0020H= 11020H,即该数据区在内存中的首单元的物理地址为11020H;因为存储空间中每个字节单元对应一个地址,所以20个字节对应20个地址,则该数据区在内存中的末单元的物理地址PA = 11020H+20D = 11020H+14H = 11034H。

2.13 已知两个16位的字数据268AH和357EH,它们在8086存储器中的地址分别为00120H和00124H,试画出它们的存储示意图。

【解答】存储示意图参见图2-2。

7

8AH 26H 7EH 35H

00120H 00121H 00122H 00123H 00124H 00125H

50H 65H 6EH 74H 69H 75H 6DH 00510H 00511H 00512H 00513H 00514H 00515H 00516H

图2-2 数据的存储示意 图2-3 字符的存储示意

2.14 找出字符串“Pentium”的ASCII码,将它们依次存入从00510H开始的字节单元中,画出它们存放的内存单元示意图。

【解答】存储示意图参见图2-3。

2.15 在内存中保存有一个程序段,其位置为(CS)=33A0H,(IP)=0130H,当计算机执行该程序段指令时,分析实际启动的物理地址是多少。

【解答】逻辑地址(CS):(IP)= 33A0H:0130H,计算出对应物理地址PA= (CS)×10H+(IP)= 33A0H×10H+0130H = 33B30H

2.16 什么是总线周期?8086CPU的读/写总线周期各包含多少个时钟周期?什么情况下需要插入等待周期TW,什么情况下会出现空闲状态TI?

【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态4个时钟周期。

在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。

在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。

2.17 80286CPU的内部结构与8086相比,有哪些增加的部件?其主要特点和功能是什么? 【解答】80286 CPU的可编程寄存器在8086寄存器结构的基础上,增加了一个16位的机器状态字寄存器MSW。而且为适应80286性能的提高,在8086的状态标志寄存器F中,又增加使用了3个位,即IOPL—I/O特权层标志(占用12、13位)和NT—嵌套任务标志(占用14位)。NT标志位表示当前执行的任务嵌套于另一任务中,IOPL用来定义当前任务的I/O特权层。

2.18 简述Pentium微处理器的内部组成结构和主要部件的功能,Pentium微处理器的主要特点有哪些?

【解答】Pentium微处理器的主要部件包括总线接口部件、指令高速缓存器、数据高速缓存器、指令预取部件与转移目标缓冲器、寄存器组、指令译码部件、具有两条流水线的整数处理部件(U流水线和V流水线)、以及浮点处理部件FPU等。

各主要部件的功能分析如下:

(1)整数处理部件:U流水线和V流水线都可以执行整数指令,U流水线还可执行浮点指令。因此能够在每个时钟周期内同时执行两条整数指令。

(2)浮点处理部件FPU:高度流水线化的浮点操作与整数流水线集成在一起。微处理器内部流水

8

线进一步分割成若干个小而快的级段。

(3)独立的数据和指令高速缓存Cache:两个独立的8KB指令和8KB数据Cache可扩展到12KB,允许同时存取,内部数据传输效率更高。两个Cache采用双路相关联的结构,每路128个高速缓存行,每行可存放32B。数据高速缓存两端口对应U、V流水线。

(4)指令集与指令预取:指令预取缓冲器顺序地处理指令地址,直到它取到一条分支指令,此时存放有关分支历史信息的分支目标缓冲器BTB将对预取到的分支指令是否导致分支进行预测。

(5)分支预测:指令预取处理中增加了分支预测逻辑,提供分支目标缓冲器来预测程序转移。 Pentium微处理器的主要特点如下: (1)采用超标量双流水线结构;

(2)采用两个彼此独立的高速缓冲存储器; (3)采用全新设计的增强型浮点运算器(FPU);

(4)可工作在实地址方式、保护方式、虚拟8086方式以及SMM系统管理方式; (5)常用指令进行了固化及微代码改进,一些常用的指令用硬件实现。 2.19 什么是虚拟存储技术?该技术的主要优点有那些?

【解答】虚拟存储技术是一种存储管理技术,采用硬件、软件相结合的方法,由系统自动分批将程序调入内存,不断地用新的程序段来覆盖内存中暂时不用的老程序段。

虚拟存储技术的主要优点有:(1)扩大了程序可访问的存储空间;(2)便于实施多任务的保护和隔离;(3)便于操作系统实现内存管理。

2.20 简要分析Pentium系列微处理器的4种工作方式具备的特点。 【解答】

(1)实地址方式:系统加电或者复位时进入实地址方式,使用16位80X86的寻址方式、存储器管理和中断管理;使用20位地址寻址1MB空间,可用32位寄存器执行大多数指令。

(2)保护方式:支持多任务运行环境,对任务进行隔离和保护,进行虚拟存储管理能够充分发挥Pentium微处理器的优良性能。

(3)虚拟8086方式:是保护模式下某个任务的工作方式,允许运行多个8086程序,使用8086的寻址方式,每个任务使用1MB的内存空间。

(4)系统管理方式:主要用于电源管理,可使处理器和外设部件进入“休眠”,在有键盘按下或鼠标移动时“唤醒”系统使之继续工作;利用SMM可以实现软件关机。

习题3

3.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?

【解答】8086的指令格式由操作码和操作数字段组成。

操作码:要完成的操作。 操作数:参与操作的对象。

寻址:寻找操作数或操作数地址的过程。

寻址方式:指令中给出的找到操作数或操作数地址采用的方式。

9

8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;I/O端口指令IN和OUT使用的端口寻址方式有直接寻址和间接寻址。

3.2 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?

(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,[1000H]

(4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX] (7) MOV AX,[BP] (8) MOV AX,[SI] (9) MOV AX,[BX+10]

(10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI] (12) MOV AX,VAL[BX][SI]

【解答】

(1) MOV AX,21H

立即寻址,源操作数直接放在指令中

(2) MOV AX,BX

寄存器寻址,源操作数放在寄存器BX中

(3) MOV AX,[1000H]

直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H

(4) MOV AX,VAL

直接寻址,EA = [VAL] = 0050H,PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H

(5) MOV AX,[BX]

寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H

(6) MOV AX,ES:[BX]

寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H

(7) MOV AX,[BP]

寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H

(8) MOV AX,[SI]

寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H

(9) MOV AX,[BX+10]

相对寄存器寻址,EA =(BX)+10D = 0100H+000AH= 010AH,PA =(DS)×10H+EA = 2000H×10H+010AH = 2010AH

(10)

MOV AX,VAL[BX]

相对寄存器寻址,EA =(BX)+[VAL]= 0100H+0050H= 0150H,PA =(DS)×10H+EA = 2000H×10H+0150H = 20150H

(11)

MOV AX,[BX][SI]

基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H+EA = 2000H×10H+01A0H = 201A0H

(12)

MOV AX,VAL[BX][SI]

相对基址变址寻址,EA = (BX)+(SI)+[VAL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H

3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。

(1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[1200H]

(4) MOV AX,[BX] (5) MOV AX,1100H[BX] (6) MOV AX,[BX][SI]

【解答】

10

(1) MOV AX,1200H ;执行后,(AX)= 1200H

(2) MOV AX,BX ;执行后,(AX)= (BX)= 0100H

(3) MOV AX,[1200H]

直接寻址,EA = [VAL] = 1200H,PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H,执行后,(AX)= B61AH

(4) MOV AX,[BX]

EA = (BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H,执行后,(AX)= 5132H

(5) MOV AX,1100H[BX]

EA =(BX)+1100H = 0100H+1100H = 1200H,PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H,执行后,(AX)= B61AH

(6) MOV AX,[BX][SI]

EA =(BX)+(SI)= 0100H+0002H = 0102H,PA =(DS)×10H+EA = 2000H×10H+0102H = 20102H,执行后,(AX)= 29D1H

3.4 分析下列指令的正误,对于错误的指令要说明原因并加以改正。

(1) MOV (3) MOV (5) MOV (7) MOV

AH,BX (2) MOV [BX],[SI]

AX,[SI][DI] (4) MOV MYDAT[BX][SI],ES:AX BYTE PTR[BX],1000 (6) MOV BX,OFFSET MAYDAT[SI] CS,AX (8) MOV DS,BP AH,BX

【解答】

(1) MOV

错误,寄存器类型不匹配,可改为MOV AX,BX (2) MOV [BX],[SI]

错误,两个操作数不能都为存储单元,可改为MOV BX,[SI]或MOV [BX],SI

(3) MOV AX,[SI][DI]

错误,寻址方式中只能出现一个变址寄存器,可改为MOV AX,[BX][DI]。

(4) MOV MYDAT[BX][SI],ES:AX

错误,AX签不能有段跨越前缀,去掉ES:,改为MOV MYDAT[BX][SI],AX

(5) MOV BYTE PTR[BX],1000 错误,1000超出字节空间存储范围

(6) MOV BX,OFFSET MAYDAT[SI] ;正确 (7) MOV CS,AX

错误,MOV指令CS不能做目的操作数,可改为MOV DS,AX

(8) MOV DS,BP ;正确

注:本题错误改正部分有的答案并不唯一,可参考原题题意改成合法形式。

3.5 设VAR1、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。

(1) ADD VAR1,VAR2 (2) MOV AL,VAR2 (3) SUB AL,VAR1 (4) JMP LAB[SI] (5) JNZ VAR1 (6) JMP NEAR LAB

【解答】

(1) ADD VAR1,VAR2

错误,两个操作数不能都为存储单元,可改为 MOV BX,VAR2

ADD VAR1,BX

(2) MOV AL,VAR2

错误,数据类型不匹配,可改为MOV AX,VAR2

(3) SUB AL,VAR1


微机接口习题解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018北京高考化学(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: