微机原理与接口技术(彭虎-第三版)课本习题答案(共10页).doc
精选优质文档-倾情为你奉上修改与2012.11.03第二章 8086体系结构与80x86CPU18086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或IO端口读取操作数参加EU运算或存放运算结果等。28086CPU预取指令队列有什么好处?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。68086系统中的存储器为什么要采用分段结构?有什么好处?答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。9在某系统中,已知当前(SS)2360H,(SP)0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?答:(SS)×10H(SP)23600H0800H23E00H,堆栈段在存储器中的物理地址范围是23600H23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H14H07ECH。(20的十六进制为14H)。10已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少?答:段寄存器DS的内容为B4000H。118086系统中为什么一定要有地址锁存器?需要锁存哪些信息?答:由于8086CPU受芯片封装的限制,只有40个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于8086CPU地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。128086读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期TW?插入多少个TW取决于什么因素?答:8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是:当CPU提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与CPU的速度匹配,就需要插入等待周期TW,等待CPU能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。13若已知当前(DS)=7F06H,在偏移地址为0075H开始的存储器中连续存放6个字节的数据,分别为11H,22H,33H,44H,55H和66H,请指出这些数据在存储器中的物理地址,如果要从存储器中读出这些数据,需要设备部几次存储器?各读出哪些数据?答:物理地址:FH×HHFDSH,故从7F0DSH起个地址数据在存储器中的地址。最少要访问四次:第一次:。第二次:,。第三次:,。第四次:。:某程序在当前数据段中存有两个数据字ABCDH和1234H,它们对应的物理地址分别为3FF85H和40AFEH,若已知当前(DS)=3FB0H,请说明这两个数据的偏移地址,并用图说明它们在存储器中的存放格式。答:偏移地址为:0485H和0FFEH。 第三章8086的指令系统1:MOV AX,SI 寄存器寻址 寄存器间接寻址2:MOV DI,100寄存器寻址 立即寻址 3:MOV BX,AL 寄存器间接 寄存器4:MOV BXSI,CX 基址+变址 寄存器5:ADD DX,106HSI变址 寄存器6:PUSH AX 寄存器 7:ADD DS:BP,AX 8:OR AX,DX 寄存器2:设寄存器DS=2000H,SS=1500H,ES=3200H,SIAH,BXH,BPH,数据段中变量VAL的偏移地址为50H,试指出下列各条指令中源操作数的寻址方式是什么?对于存储器操作数,其物理地址是多少?(1) MOV AX,100H直接寻址:20100H(2) MOV CX,ES:BX 寄存器寻址(3) MOV DX,BXSI基址+变址:200F0h(4) MOV AX,VALSI变址寻址:200F0h(5) MOV BX,1234BX基址寻址:205D2H(6) MOV AX,BP寄存器寻址:15010H3答案(3)OUT 3EBH,AX 改 (4)MUL AL,CL 改MUL CLMOV DX,3EBH 6)ROL DX,5改MOV CL,5OUT DX,AX ROL DX,CL (5)MUL AX,25改 (8)POP FR 改POPFMOV 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 改DAA4:带符号数-86所表示的二进制:B执行MOV DL,2AH 和SHR DL,1两条指令后:DL= CF=0可将AX寄存器中D0,D5,D8和D11位求反,其余位不变的指令:XOR AX,0921H某存储单元物理地址为3B4FH,其段地址和偏移地址可选:3B40H和00FEH两个8位二进制数及做“异或”操作后,寄存器FR的下面3个状态标志分别是:PF=0 SF=1 ZF=0寄存器写指令时,如MOV SI,AX,则CPU的外部管脚状态:WR=0 RD=1 MIO=15:已知,DS=2000H BX=100H SI=02H 从物理地址20100H单元开始,依次存放数据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,1100HBX 4C2AH (6)MOV AX,BXSI 7856H6.设堆栈指针SP的初值为2400H,(AX)=4000H,(BX)=3600H.问:(1)执行指令“PUSH AX”后,SP=? 23FEH(2)再执行“PUSH AX”和”POP AX”后,(SP)=?(AX)=?(BX)=?SP=23FEH AX=3600H BX=3600H7.(1)MOV DX,2000HMOV BX,1000HXHGH BX,DXBX=2000H,DX=1000H(2)MOV AX,1234HPUSH AX POP BXAX=1234H,BX=1234H(3)LEA DX,2000HMOV BX,DXBX=2000H(4)MOV AL,08 ADD AL,08 AAAAX=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,OFFFHNEG DX(DX)=0001H(8)MOV BL,OB8H ROR BL,1BL=5CH,CF=0(9)SUB AX,AXAND DX,DXDX=0(10)MOV CL,3MOV AH,42HSHR AH,XLAH=08H,CF0(11)MOV AX,34EBH MOV CL,5FHDIV CLCF=8FH(12)MOV AL,08H MOV BL,09 MUL BL AAMAX=0702H(13)MOV BL,9MOV AX,0702HADDDIV BL,AX=0008H(14)MOV AL98H CBWBX=0FF98H(15)MOV AH,2MOV DL,WINT 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片。A1A9共10位参与片内寻址,其余可用于片选信号。8在8086系统中,若要从存储器奇地址体中读1个字节数据,列出存储器有关的控制信号和它们的有效逻辑电平信号。答:RD=0 WD=1 CS=0 MIO=1 BHE=0 第六章微型计算机的输入输出1CPU与外部设备通信为什么使用接口?答:存储器与CPU交换信息时,它们在数据格式、存取速度等方面基本上是匹配的,也就是说,CPU要从存储器读入指令、数据或向存储器写入新的结果和数据,只要一条存储器访问就可以完成;在硬件连接方面,只需芯片与芯片之间的管脚直接连接。但CPU要与外部设备通信至少有两方面的困难:第一,CPU的运行速度要比外设的处理速度高得多,通常简单地用一条输入输出的指令是无法完成CPU与外设之间的信息交换的;第二,外设的数据线和控制线也不可能与CPU直接连接。CPU与外设通信具有如下特点:需要接口作为CPU与外设通信的桥梁。需要有数据传送之前的“联络”。要传递的信息有三方面内容:状态、数据和控制信息。CPU与外设通信必须借助于必要的电路来实现,这样的电路称为接口或I/O接口。什么是接口?为什么需要接口?接口有哪些作用?答:而介于主机和外设之间用于完成某些控制功能、速度匹配、信号转换的一种缓冲电路称为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寻址方式优缺点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速度非常快,利用锁存器和缓存器解决同步问题98086CPU在执行输入输出指令时,CPU有哪些控制管脚的作用,什么样的电平有效?答:RD WD CS MI0 BHE 除了BHE高电平有效,其它均低电平有效。10.8086CPU分配的端口地址有何限制?为什么? 8086CPU与外设交换数据可按字节进行。当按字节进行时,偶地址端品的字节数据由低8位数据线D7D0位传输,奇地址端口的字节数据由高8位数据线D15D8传输。当用户在安排外设的端口地址时,如果外设是以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(片) 专心-专注-专业