您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机组成原理第四章答案
第4章习题参考答案1第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。指令最好半字长或单字长,设16位比较合适。一个字符的ASCII是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。双操作数指令7位OP12位操作数12位操作数单操作数指令7位OP25位操作数无操作数指令7位OP-3.指令格式结构如下所示,试分析指令格式及寻址方式特点。1510987430OP-目标寄存器源寄存器答:该指令格式及寻址方式特点如下:(1)单字长二地址指令。(2)操作码字段OP可以指定26=64种操作。(3)源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。(4)这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。4.指令格式结构如下所示,试分析指令格式及寻址方式特点。15109874301510987430OP-源寄存器变址寄存器第4章习题参考答案2偏移量(16位)答:该指令格式及寻址方式特点如下:(1)双字长二地址指令,用于访问存储器。(2)操作码字段OP可以指定26=64种操作。(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。5.指令格式结构如下所示,试分析指令格式及寻址方式特点。1512119865320OP寻址方式寄存器寻址方式寄存器源地址目标地址答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。6.一种单地址指令格式如下所示,其中为I间接特征,X为寻址模式,D为形式地址,I、X、D组成该指令的操作数有效地址E,设R为变址寄存器,R1为基值寄存器,PC为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。寻址方式名称IX有效地址E①②③④⑤⑥000011000110110010E=DE=(PC)+DE=(R)+DE=(R1)+DE=(D)E=((R1)+D),D=0答:①直接寻址②相对寻址③变址寻址④基址寻址⑤间接寻址⑥先基址后间接寻址7.某计算机字长为32位,主存容量为64K字,采用单字长单地址指令,共有40条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。答:根据题意,40种指令至少需6位OP;四种寻址方式至少需用2位表示;主存为64K,则地址需要16位,而机器字长为32位,可设计如下格式:312625181716150OP-寻址方式XD设:第4章习题参考答案3寻址方式X=00为直接寻址方式,由16位的D直接给出有效地址,EA=D寻址方式X=01为立即寻址方式,由16位的D直接给出操作数,操作数=D寻址方式X=10为变址寻址方式,设变址寄存器为IR,则EA=(IR)+D寻址方式X=11为相对寻址方式,设程序计数器为PC,则EA=(PC)+D(D可正可负)注:IR和PC的位数与机器的字长相等,均为32位8.某机字长为32位,主存容量为1M,单字长指令,有50种操作码,采用寄存器寻址、寄存器间接寻址、立即、直接等寻址方式。CPU中有PC,IR,AR,DR和16个通用寄存器。问:(1)指令格式如何安排?(2)能否增加其他寻址方式?答:(1)根据题意,50种操作码至少需6位OP;寻址方式可用2位分别表示最多4种寻址方式;用4位编码选择16个通用寄存器之一作为源操作数或目的操作数,因机器字长为32位,固还剩20位可表示形式地址D312625242320190OP寻址方式寄存器DD字段的寻址方式由25-24位决定,如:寻址方式字段=00,表示D为寄存器寻址,实际使用D中的4位进行寄存器选择;寻址方式字段=01,表示寄存器间接寻址,实际使用D中的4位进行寄存器选择;寻址方式字段=10,表示立即寻址,可使用D的全部确定一个立即数;寻址方式字段=11,表示直接寻址,20位的D可确定一个存储单元。(2)若将形式地址的位数减少,则可以增加其他的寻址方式9.设某机字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统。如果采用通用寄存器作基址寄存器,则RS型指令的最大存储空间是多少?答:根据题意,64种操作至少需6位OP;用2位表示四种寻址方式;寄存器16个源操作数和目的操作数各用4位,因机器字长为32位,固还剩16位可表示形式地址D3126252423201916150OP寻址方式源寄存器目的寄存器D如果采用通用寄存器作基址寄存器,因为寄存器为32,位所以RS型指令可寻址空间最大可达232单元。10.将表4.9的指令系统设计成二地址格式的指令系统。答:表4.9中的指令共有29条,故操作码字段需要5位;设这些指令支持9种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、间接寻址、相对寻址、基址寻址、变址寻址、堆栈寻址,则源和目的操作数各需要4位来确定第4章习题参考答案4其寻址方式;因字长为32位,故还剩余19位用于表示源和目的操作数的形式地址,可取形式地址为9位,多余的1位可以加在操作码字段。即,格式如下:31262522211312980OP目的寻址方式目的操作数源寻址方式源操作数11.从以下有关RISC的描述中,选择正确答案。A.采用RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。B.为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的。C.RISC的主要目标是减少指令数。D.RISC设有乘、除法指令和浮点运算指令。答:C12.根据操作数所在位置,指出其寻址方式(填空):(1)操作数在寄存器中,为(A)寻址方式。(2)操作数地址在寄存器,为(B)寻址方式。(3)操作数在指令中,为(C)寻址方式。(4)操作数地址(主存)在指令中,为(D)寻址方式。(5)操作数的地址,为某一寄存器内容与位移量之和,可以是(E,F,G)寻址方式。答:A.寄存器B.寄存器间接C.立即D.直接E,F,G.基址、变址、相对13.将C语句翻译成MIPSR4000汇编语言代码。C赋值语句是:=(g+h)-(i+j)假设变量、g、h、i、j分别分配给寄存器$s0、$s1、$s2、$s3、$s4。答:该语句翻译成MIPSR4000汇编语句如下:add$s5,$s1,$s2;将g+h的和存入寄存器$s5中($s5=$s1+$s2)add$s6,$s3,$s4;将i+j的和存入寄存器$s6中($s6=$s3+$s4)sub$s0,$s5,$s6;将结果存入寄存器$s0中($s0=$s5-$s6)14.将如下MIPSR4000汇编语言翻译成机器语言指令。lw$t0,1200($t1)add$t0,$s2,$t0sw$t0,1200($t1)答:已知MIPS指令的字段值如下表所示,而且寄存器$s0$s7对应的寄存器号为1623(十进制),寄存器$t0$t7对应的寄存器号为815。MIPS指令的字段值第4章习题参考答案5指令格式oprsrtrdshamtfunct常数或地址add(加)R0regregreg032sub(减)R0regregreg034立即数加I8regreg常数lw(取字)I35regregaddresssw(存字)I43regregaddress由此,可写出以上3条指令翻译成机器语言指令如下表所示。3条指令对应的机器语言指令机器语言各字段各字段长度6位5位5位5位5位6位R型oprsrtrdshamtfunctI型oprsrtaddresslw$t0,1200($t1)35981200add$t0,$s2,$t001888032sw$t0,1200($t1)4398120015.将下面一条ARM汇编语言指令翻译成用十进制和二进制表示的机器语言指令:ADDr5,r1,r2答:已知ARM汇编指令的指令译码格式如下表所示:ADD、SUB、LDR、STR指令的指令译码格式指令名称condFIopcodeSRnRdoperand2ADD(加)140040regregregSUB(减)140020regregregADD(立即数加)140140regregconstant(12位)LDR(取字)14124regregaddress(12位)STR(存字)14125regregaddress(12位)由此,可得该指令的十进制和二进制的机器语言如下表所示ADDr5,r1,r2的机器语言condFopcodeRnRdoffset12IopcodeSoperand12十进制140040152二进制11100010000001010100000000001016.将下面C语言翻译成ARM汇编语言代码,C赋值语句是:=(g+h)-(i+j)假设变量、g、h、i、j分别放在寄存器r0、r1、r2、r3、r4中答:该语句翻译成ARM汇编语句如下:addr5,r1,r2;将g+h的和存入寄存器r5中(r5=r1+r2)第4章习题参考答案6addr6,r3,r4;将i+j的和存入寄存器r6中(r6=r3+r4)subr0,r5,r6;将结果存入寄存器r0中(r0=r5-r6)
本文标题:计算机组成原理第四章答案
链接地址:https://www.777doc.com/doc-2044371 .html