资源描述
<p>第二章
1.8086CPU由哪两部分构成? 它们的主要功能是什么?
答: 8086CPU由两部分组成: 指令执行部件(EU, Execution Unit)和总线接口部件(BIU, Bus Interface Unit)。指令执行部件( EU) 主要由算术逻辑运算单元(ALU)、 标志寄存器FR、 通用寄存器组和EU控制器等4个部件组成, 其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、 专用寄存器组、 指令队列和总线控制电路等4个部件组成, 其主要功能是形成访问存储器的物理地址、 访问存储器并取指令暂存到指令队列中等待执行, 访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处? 8086CPU内部的并行操作体现在哪里? 答: 8086CPU的预取指令队列由6个字节组成, 按照8086CPU的设计要求, 指令执行部件( EU) 在执行指令时, 不是直接经过访问存储器取指令, 而是从指令队列中取得指令代码, 并分析执行它。从速度上看, 该指令队列是在CPU内部, EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU内部的并行操作体现在指令执行的同时, 待执行的指令也同时从内存中读取, 并送到指令队列。
5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个? 逻辑地址呢? 答: 8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中, 任何一个逻辑地址都由段基址和偏移地址两部分构成, 都是16位二进制数。经过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个”0”), 然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根, 因此可寻址的存储空间为1M字节, 即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成, 都是无符号的16位二进制数, 程序设计时采用逻辑地址, 也是1MB。
6.8086系统中的存储器为什么要采用分段结构? 有什么好处?
答: 8086CPU中的寄存器都是16位的, 16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的, 要做到对20位地址空间进行访问, 就需要两部分地址
采用段基址和偏移地址方式组成物理地址的优点是: 满足对8086系统的1MB存储空间的访问, 同时在大部分指令中只要提供16位的偏移地址即可。
9.在某系统中, 已知当前( SS) =2360H, ( SP) =0800H, 那么该堆栈段在存储器中的物理地址范围是什么? 若往堆栈中存入20个字节数据, 那么SP的内容为什么值? 答: ( SS) ×10H+( SP) =23600H+0800H=23E00H, 堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据, 那么SP的内容为0800H-14H=07ECH。( 20的十六进制为14H) 。
10.已知当前数据段位于存储器的B4000H到C3FFFH范围内, 则段寄存器DS的内容为多少? 答: 段寄存器DS的内容为B4000H。
11.8086系统中为什么一定要有地址锁存器? 需要锁存哪些信息?
答: 由于8086CPU受芯片封装的限制, 只有40个管脚, 因此地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时, 在读取数据或写入数据时, 存储器芯片要求在这个过程中地址信息必须稳定提供给存储器, 而由于8086CPU地址线和数据线是复用的, 就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时, 将地址锁存起来, 以保证下一个时刻当这些复用的管脚起着数据线的功能时, 存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。
12.8086读/写总线周期各包括最少几个时钟周期? 什么情况下需要插入等待周期TW? 插入多少个TW取决于什么因素? 答: 8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是: 当CPU提供了地址后, 由于外设或存储器的读出或写入时间较慢, 不能与CPU的速度匹配, 就需要插入等待周期TW, 等待CPU能从外设或存储器将数据正确地读出或写入为止。显然, 插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。
13.若已知当前( DS) =7F06H, 在偏移地址为0075H开始的存储器中连续存放6个字节的数据, 分别为11H, 22H, 33H, 44H, 55H和66H, 请指出这些数据在存储器中的物理地址, 如果要从存储器中读出这些数据, 需要设备部几次存储器? 各读出哪些数据?
答: 物理地址: 7F06H×10H+0075H=7F0DSH, 故从7F0DSH起6个地址数据在存储器中的地址。最少要访问四次: 第一次: 11。第二次: 33, 22。第三次: 55, 44。第四次: 66。
14: 某程序在当前数据段中存有两个数据字0ABCDH和1234H, 它们对应的物理地址分别为3FF85H和40AFEH, 若已知当前( DS) =3FB0H, 请说明这两个数据的偏移地址, 并用图说明它们在存储器中的存放格式。
答: 偏移地址为: 0485H和0FFEH。
第三章8086的指令系统
1: MOV AX,[SI] 寄存器寻址 寄存器间接寻址
2: MOV DI,100寄存器寻址 立即寻址
3: MOV [BX],AL 寄存器间接 寄存器
4: MOV [BX][SI],CX 基址+变址 寄存器
5: ADD DX,106H[SI]变址 寄存器
6: PUSH AX 寄存器 7: ADD DS:[BP],AX 8:OR AX,DX 寄存器
2: 设寄存器DS= H, SS=1500H, ES=3200H, SI=0A0H, BX=100H, BP=10H, 数据段中变量VAL的偏移地址为50H, 试指出下列各条指令中源操作数的寻址方式是什么? 对于存储器操作数, 其物理地址是多少?
(1) MOV AX,[100H]直接寻址: 0H
(2) MOV CX,ES:[BX] 寄存器寻址
(3) MOV DX,[BX][SI]基址+变址: 200F0h
(4) MOV AX,VAL[SI]变址寻址: 200F0h
(5) MOV BX,1234[BX]基址寻址: 205D2H
(6) MOV AX,[BP]寄存器寻址: 15010H
3.答案
(3)OUT 3EBH,AX 改 (4)MUL AL,CL 改MUL CL
MOV DX,3EBH 6)ROL DX,5改MOV CL,5
OUT DX,AX ROL DX,CL
(5)MUL AX,25改 (8)POP FR 改POPF
MOV BX,25 (9)MOV 234H,BX改MOV BX,234H (10)INC [SI]改INC BYTE PTR [SI]
(11)ADD [BX],456H改ADD WORD PTR [BX],456H
(12)INT O错 (13)DIV AX ,BX改DIV BX
(14)DEC [BP]改DEC WORD PTR [BP] (15)XLAT BX 错
(16)ADD CX+1改ADD CX,1或INC CX (17)DAA AX 改DAA
4: 带符号数-86所表示的二进制: 10101010B
执行MOV DL,2AH 和SHR DL,1两条指令后: DL=00010101 CF=0
可将AX寄存器中D0,D5,D8和D11位求反, 其余位不变的指令: XOR AX,0921H
某存储单元物理地址为3B4FH, 其段地址和偏移地址可选: 3B40H和00FEH
两个8位二进制数00110101及10110110做”异或”操作后, 寄存器FR的下面3个状态标志分别是: PF=0 SF=1 ZF=0
寄存器写指令时, 如MOV [SI],AX,则CPU的外部管脚状态: WR=0 RD=1 M\IO=1
5:已知, DS= H BX=100H SI=02H 从物理地址 0H单元开始, 依次存放数据12H 34H 56H 78H ,而从物理地址21200h单元开始, 依次存放数据2AH,4CH.8BH,98H.试说明下列各条指令单独执行后AX寄存器的内容。
( 1) MOV AX,3600H 3600H
( 2) MOV AX,[1200H] 4C2AH
( 3) MOV AX,BX 0100H
( 4) MOV AX,[BX] 3412H
( 5) MOV AX,1100H[BX] 4C2AH
( 6) MOV AX,[BX][SI] 7856H
6.设堆栈指针SP的初值为2400H,(AX)=4000H,(BX)=3600H.问:
( 1) 执行指令”PUSH AX”后, SP=? 23FEH
(2)再执行”PUSH AX”和”POP AX”后, (SP)=?(AX)=?(BX)=?
SP=23FEH AX=3600H BX=3600H
7.
(1)MOV DX, H
MOV BX,1000H
XHGH BX,DX
BX= H,DX=1000H
(2)MOV AX,1234H
PUSH AX
POP BX
AX=1234H,BX=1234H
(3)LEA DX,[ H]
MOV BX,DX
BX= H
(4)MOV AL,08
ADD AL,08
AAA
AX=0106
(5)MOV AL,48H
ADD AL,39H
DAA
(AL)=87H
(6)AND AL,AL
MOV AL,80
ADC AL,AL
(AL)=0A0H
(7)MOV DX,OFFFH
NEG DX
(DX)=0001H
(8)MOV BL,OB8H
ROR BL,1
BL=5CH,CF=0
(9)SUB AX,AX
AND DX,DX
DX=0
(10)MOV CL,3
MOV AH,42H
SHR AH,XL
AH=08H,CF0
(11)MOV AX,34EBH
MOV CL,5FH
DIV CL
CF=8FH
(12)MOV AL,08H
MOV BL,09
MUL BL
AAM
AX=0702H
(13)MOV BL,9
MOV AX,0702H
ADD
DIV BL,
AX=0008H
(14)MOV AL98H
CBW
BX=0FF98H
(15)MOV AH,2
MOV DL,`W`
INT 21H
结果=执行DOS的2号功能调用, 在屏幕上显示字母W
第五章 存储器原理与接口
1.按存储器在计算机中的作用, 存储器可分为哪向类? 简述其特点。
答: 存储器分: 主存储器( 内存) , 辅助存储器( 外存) , 高压缓冲存储器。主存储器用来存放活动的程序和数据, 其速度高, 容量较少、 每位价格高。
辅助存储器用于存放当前不活跃的程序和数据, 其速度慢、 容量大、 每位价格低。缓冲存储器在两个不同工作速度的部件之间起缓冲作用。
2.什么是RAM和ROM? RAM和ROM各有什么特点?
答: RAM是随机存储器, 指计算机能够随机地、 个别地对各个存储单元进行访问, 访问所需时间基本固定, 与存储单元的地址无关。ROM是只读存储器, 对其内容只能读, 不能写入。与RAM相比, 其信息具有非易失性, 即掉电后, ROM中的信息仍会保留。
3.什么是多层次存储结构? 它有什么作用?
答: 存储器的性能是计算机性能的最主要指标之一, 其目标是大容量、 高速度和低成本, 因此应该在系统结构的设计上扬长避短, 采用多层存储结构构成一个较为合理的存储系统。多层存储结构是一个金字塔的结构, 距塔尖( 即CPU) 越近速度越快, 容量越小, 单位价格也较贵; 反之速度较慢, 容量较大, 单位价格也较便宜。其作用是获得最佳性价比。
5.主存储器的主要技术指标有哪些? 答: 主存储器的主要技术指标有主存容量、 存储器存取时间、 存储周期和可靠性。
7.若用1K×1位的RAM芯片组成16K×8位的存储器, 需要多少片芯片? 在CPU的地址线中有多少位参与片内寻址? 多少位用做芯片组选择信号?
答: 要128片。A1~A9共10位参与片内寻址, 其余可用于片选信号。
8.在8086系统中, 若要从存储器奇地址体中读1个字节数据, 列出存储器有关的控制信号和它们的有效逻辑电平信号。答: RD=0 WD=1 CS=0 MIO=1 BHE=0
第六章微型计算机的输入输出
1.CPU与外部设备通信为什么使用接口?
答: 存储器与CPU交换信息时, 它们在数据格式、 存取速度等方面基本上是匹配的, , 也就是说, CPU要从存储器读入指令、 数据或向存储器写入新的结果和数据, 只要一条存储器访问就能够完成; 在硬件连接方面, 只需芯片与芯片之间的管脚直接连接。但CPU要与外部设备通信至少有两方面的困难: 第一, CPU的运行速度要比外设的处理速度高得多, 一般简单地用一条输入输出的指令是无法完成CPU与外设之间的信息交换的; 第二, 外设的数据线和控制线也不可能与CPU直接连接。
CPU与外设通信具有如下特点: 需要接口作为CPU与外设通信的桥梁。需要有数据传送之前的”联络”。要传递的信息有三方面内容: 状态、 数据和控制信息。CPU与外设通信必须借助于必要的电路来实现, 这样的电路称为接口或I/O接口。
1.什么是接口? 为什么需要接口? 接口有哪些作用?
答: 而介于主机和外设之间用于完成某些控制功能、 速度匹配、 信号转换的一种缓冲电路称为I/O接口电路, 简称I/O接口(Interface)。
I/O接口在CPU与外设之间建立一个缓冲区, 解决CPU与外设之间在数据形式、 数据的传递方式以及传递速率上存在很大差异的矛盾。
接口作用主要包括信号暂存、 数据格式转换、 传送路径的切换控制和状态信号的交换、 通讯控制、 设备动作、 定时控制、 中断管理及错误检测等功能。
.答: CPU和外设之间的信息交换存在以下一些问题: 速度不匹配; 信号电平不匹配; 信号格式不匹配; 时序不匹配。
I/O接口电路是专门为解决CPU与外设之间的不匹配、 不能协调工作而设置的, 处于总线和外设之间, 一般应具有以下基本功能: ⑴设置数据缓冲以解决两者速度差异所带来的不协调问题; ⑵设置信号电平转换电路, 如可采用MC1488、 MC1489、 MAX232、 MZX233芯片来实现电平转换。⑶设置信息转换逻辑, 如模拟量必须经 A/D变换成数字量后, 才能送到计算机去处理, 而计算机送出的数字信号也必须经D/A变成模拟信号后, 才能驱动某些外设工作。 ⑷设置时序控制电路; ⑸提供地址译码电路。
2.I/O接口有什么用途?
1) 进行地址译码或设备选择, 以便使CPU能与某一指令的外部设备通信。
2) 状态信息的应答, 以协调数据传送之前的准备工作。
3) 进行中断管理, 提供中断信号。
4) 进行数据格式转换, 如正负逻辑的转换、 串行与并行数据转换等。
5) 进行电平转换, 如TTL电平与MOS电平间的转换。
6) 协调速度, 如采用锁存、 缓冲、 驱动等。
7) 时序控制, 提供实时时钟信号。
3.I/O端口有哪两种寻址方式? 各有何优缼点?
答: 存储器的映像I/O寻址 和 I/O映像的I/O寻址
存储器映射的I/O寻址方式优缺点
n 优点: 由于I/O和存储器在地址上没有区别, 在程序设计时能够使用丰富的指令对端口进行操作, 甚至包括对端口数据的运算。
n 缺点: I/O端口需要占用部分处理器的地址空间。
u 由于存储器和I/O端口地址在形式上没有区别, 相对增加了程序设计和阅读的难度。
I/O映射的I/O寻址方式优缺点
优点: 程序阅读方便, 使用IN或OUT指令就一定是对外设的通信;
u 由于I/O端口有自己的地址, 使系统存储器地址范围扩大, 适合大系统使用。缺点: 指令少, 编程相对灵活性减少;
u 硬件上需要I/O端口的译码芯片, 增加了硬件开支
5.微机系统的输入输出指什么? 输入输出有什么不同?
常见的打印机有: 击打式、 喷墨式和激光打印机。
输入与输出的不同
输入是指从被控设备到计算机的物理信号的传输和变换通道, 其主要实现被控设备和计算机之间原始参数和信号的变换。
输出是指从计算机到被控设备的控制信号和参数的传输通道, 其与输入一样都有模拟与数字之分, 都是用以实现数据采集现场与计算机的连接
6.输入输出有哪几种方式? 各有何优缼点?
答: 两种方式: 程序控制方式和直接存储器存取方式( DMA方式)
优缼点: 程序控制方式: 速度慢, 但程序简单。
DMA: 速度快, 但程序复杂。
7.在输入输出的电路中, 为什么常常要用锁存器和缓冲器?
因为I/O速度非常快, 利用锁存器和缓存器解决同步问题
9.8086CPU在执行输入输出指令时, CPU有哪些控制管脚的作用, 什么样的电平有效? 答: RD WD CS MI0 BHE 除了BHE高电平有效, 其它均低电平有效。
10.8086CPU分配的端口地址有何限制? 为什么?
8086CPU与外设交换数据可按字节进行。当按字节进行时, 偶地址端品的字节数据由低8位数据线D7~D0位传输, 奇地址端口的字节数据由高8位数据线D15~D8传输。当用户在安排外设的端口地址时, 如果外设是以8位方式与CPU连接, 就只能将其数据线与CPU的低8位连接, 或者只能与CPU的高8位方式连接。这样, 同一台外设的所有寄存器端口地址都只能是偶地址或者奇地址, 因此设备的端口地址往往是不连续的。
例: 设计一ROM扩展电路, 容量为32K字, 地址从00000H开始。EPROM芯片取27256
解:
a、 确定芯片个数
32K×16=64K ×8
64 K ×8/(32 K×8)=2(片)
例: 设计一RAM扩展电路, 容量为32K字, 地址从10000H开始。芯片采用62256
解:
n a、 计算所需要的芯片个数
32K×16=64K ×8
64 K ×8/(32 K×8)=2(片)
</p>
展开阅读全文