当前位置:文档之家› 第1章:微型计算机概述答案

第1章:微型计算机概述答案

《微型计算机技术及接口》部分习题参考答案习题 1 部分答案1.3 假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节?解:64K字节,1M字节,16M字节,4G字节1.4 设字长为16位,将下列十进制数转换成二进制数,十六进制数以及BCD数。

①65 ②129 ③257 ④513解:①0000000001000001B,0041H,(0000000001100101)BCD②0000000010000001B,0081H,(0000000100101001)BCD③0000000100000001B,0101H,(0000001001010111)BCD④0000001000000001B,0201H,(0000010100010011)BCD1.5 设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?①x=-78 y=35 ②x=-64 y=-66解:①[X]原=11001110,[X]反=10110001,[X]补=10110010[Y]原=00100011,[Y]反=00100011,[Y]补=00100011因为:[X]补=10110010[Y]补=00100011那末:[X]补+[Y]补=11010101=[X+Y]补X+Y=-00101011没有溢出②[X]原=11000000,[X]反=10111111,[X]补=11000000[Y]原=11000010,[Y]反=10111101,[Y]补=10111110因为:[X]补=11000000[Y]补=10111110那末:[X]补+[Y]补,有溢出1.6 试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写成奇校验、偶校验、标记校验及空格校验的ASCⅡ码。

①B ②8 ③CR ④NUL1.7 设两个BCD数X=1000 1001,Y=0111 0101,试用列竖式的方法计算X+Y。

解:1.8若规格化32位浮点数N 的二进制存储格式为41360000H ,求其对应的十进制数值。

解:N=41360000H=0 10000010 01101100000000000000000BS=0 E=10000010M=01101100000000000000000 N=(-1)S ×(1.M )×2E-127=1.011011×210000010-01111111=1.011011×2011=1011.011习题2 习题解答2.1哪两部分组成?它们的主要功能各是什么?解:8086CPU 由总线接口部件BIU (Bus Interface Unit)和执行部件EU (Execution Unit) 两大部分组成。

总线接口部件的主要功能是形成物理地址、预取指令、指令队列排队、读/写操作数和总线控制。

执行部件的主要功能是进行指令译码并执行指令。

2.2 8086CPU 中有哪些寄存器?各有什么用途?标志寄存器FLAGS 有哪些标志位?在什么情况下置位?解:8086CPU 中的寄存器如教材图2-2所示:结果为:(101100100)BCD其用途可参考教材。

标志寄存器(FLAGS)用于反映指令执行结果的状态,常用作后续条件转移指令的转移控制条件。

标志寄存器为16位,实际使用了其中的9位,所用各位的含义如教材中图2-3所示。

2.3 什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?解:逻辑地址是指在程序和指令中使用的一种地址,它包括两部分:段基地址和偏移地址。

段基地址说明每段在主存中的起始位置,它来自于段寄存器(CS、DS、ES、SS)。

偏移地址说明主存单元距离段起始位置的偏移量。

它是一个16位的偏移地址,根据指令的不同,它可以来自于8086CPU中不同的16位寄存器IP、SP、BP、SI、DI、BX等。

物理地址是指CPU对存储器进行访问时实际寻址所使用的地址,物理地址是由段寄存器与偏移地址共同确定的。

在实际工作时,从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址,此地址在CPU总线接口部件BIU的20位地址加法器中形成。

物理地址的计算方法为:物理地址=段基地址×16+偏移地址。

2.4 设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?解:X+Y=0ABH ,各标志位分别为:OF=1,SF=1,ZF=0,AF=0,PF=0,CF=0X-Y=0BFH,各标志位分别为:OF=0,SF=1,ZF=0,AF=1,PF=0,CF =12.5 8086有哪4个逻辑段?各种逻辑段分别是什么用途?解:在8086的程序设计中,一个程序可以有代码段CS、数据段SS、堆栈段SS和附加段ES。

代码段CS用于存放程序;数据段SS和附加段ES用于存放数据;堆栈段SS用于存放数据(包括暂存数据和保护现场的数据)。

在形成物理地址时,CS、DS、ES和SS四个段寄存器的作用如下:当取指令时,CPU 以CS寄存器的值作段基址,再加上IP中的16位偏移地址,得到指令的物理地址;当进行堆栈操作时,段基地址CPU以SS为堆栈段的基地址,偏移地址由SP或BP来指定,当访问存储器的数据段时,数据段寄存器DS或附加段寄存器ES,再加上16位偏移地址,得到操作数的物理地址。

2.6 请将如下逻辑地址用物理地址表示:(1)FFFFH:0 (2)45H:18H (3) 2000H:4600H (4)B821H:3456H解:用PA表示物理地址,PA=段基地址×16+偏移地址(1)PA=FFFFH×16+0000H=FFFF0H(2)PA=45H×16+18H=468H(3)PA=2000H×16+4600H=24600H(4)PA=B821H×16+3456H=BB666H2.7若8086CPU工作于最小模式,试指出当CPU将AH的内容送到物理地址为91001H 的存储单元时,以下哪些信号应为低电平:M/IO、RD、WR、BHE/S7、DT/R。

若CPU 完成的是将物理地址91000H单元的内容读入AL中时,则上述哪些信号应为低电平。

解:当CPU将AH的内容送到物理地址为91001H的存储单元时,CPU完成的是写存储器操作,且完成的是访问存储器的奇地址,因此,WR=0,BHE/S7=0;若CPU完成的是将物理地址91000H单元的内容读AL中时,CPU完成的是读存储器操作,且完成的是访问存储器的偶地址,因此,RD=0,DT/R=0。

2.8什么是引脚的分时复用?请说出8086CPU有哪些引脚是分时复用引脚?如何分时复用?解:8086的数据线和地址线是利用复用的,所以常把8086的总线称为多路总线,即某一时刻总线上出现的是地址,另一时刻,总线上出现的是数据。

正是这种引脚的分时使用方法才能使8086用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。

8086CPU的分时复用的引脚有:地址/数据复用引脚是:AD15~AD0,在总线周期的T1状态,传送地址信息,在其它状态则传送数据信息;地址/状态复用引脚是:A19/S6~A16/S3,这些引脚在总线周期的T1状态输出地址的高4位,在总线的T2、T3、T W和T4状态时,用来输出状态信息。

2.9试说明8086CPU工作在最大和最小模式下系统基本配置的差异。

解:8086CPU可以工作在两种工作模式,即最小工作模式和最大工作模式。

最小工作模式用于单机系统,系统中所有总线控制信号全部由8086直接提供,因此系统中的总线控制电路可减到最少;最大工作模式用于多处理机系统,8086作为主处理器,其它的处理器为协处理器,协助主处理器工作。

在最大工作模式下,系统所需要的控制信号均由总线控制器8288提供。

8086具体工作在最大模式还是最小模式,完全由硬件连接决定。

当将CPU的第33号引脚MN/MX接+5V时,8086工作在最小模式,当MN/MX接地时,8086工作在最大模式。

2.10分析8086CPU两个中断输入引脚的区别,以及各自的使用场合。

解:INTA是中断响应信号,输出,三态,低电平有效。

该信号是CPU响应中断请求后,向中断源发出的中断响应信号,用以通知中断控制器,以便由中断控制器提供中断类型号。

在每个中断响应周期,CPU在INTA引脚上发出两个连续的负脉冲。

⑿NMI是非屏蔽中断请求信号,输入,正跳变有效。

这类中断不受中断允许标志IF的影响,也不能用软件进行屏蔽。

当NMI引脚收到一个正沿触发信号时,CPU就会在结束当前指令后引起中断,执行中断类型号2的非屏蔽中断处理程序。

习题 3 部分答案3.1 Pentium在实地址模式和V86模式下,可访问存储器空间的大小分别为多少字节?解:①在实模式下,可以访问1MB存储器。

②在V86模式下,禁止分页情况下,只能访问1MB存储器。

允许分页情况下,可以访问4GB存储器。

3.2 Pentium工作在只分段不分页、只分页不分段以及既分段又分页三种情况下,分别可访问存储空间的大小为多少字节?解:①只分段不分页,可以访问虚拟存储空间64TB②只分页不分段,可以访问虚拟存储空间4GB③分页分段,可以访问虚拟存储空间64TB3.3 下面哪些指令不能在实模式下运行?为什么?(1)MOV AL,DS:[ESI](2)ADD AX,FS:[EDI](3)MOV AL,DS:[SI](4)ADC EAX,FS:[DI]解:(1)、(2)两条指令不能在实模式下运行,因为在实模式下不允许ESI,EDI作偏移地址。

3.4 在虚拟8086模式下,在从虚地址转换到物理地址的过程中,可用到几个页目录项和几个页表项?解:可用到第1个页目录项,272个页表项。

3.5 在段选择符中,TI=0和TI=1,分别在LDT还是GDT中访问描述符?解:TI=0访问GDT,TI=1访问LDT。

3.6 当前的段描述符存放在何处?解:当前的段描述符存放在微处理器的Cache中。

3.12 存储器特权级保护的分析。

设当前代码段的特权级CPL,段选择符请求的特权级RPL以及数据段描述符的特权级DPL如表3-5 所示,回答4种组合中每一种组合能否将段选择符装入到数据段寄存器中,通过填写下表,回答哪几种能行?哪几种不行?并将理由填入表中。

解:第1行、第2行可以将段选择符装入到数据段寄存器中。

第3行、第4行则不行,原因分别是:DPL<CPLDPL<CPL、RPL3.14 Pentium超标量流水线共分几段,其中整数段有几段?解:共分为8段,其中整数段分为5段。

3.15 下列各组指令中,哪些会产生数据相关?数据相关的类型是什么?(1)MOV AX,BXADD CX,SI(2)MOV AX,DXADD BX,AX(3)MOV CX,BXMOV BX,DI(4)DIV AX,SISUB AX,DI解:(1)不会产生数据相关。

相关主题