《計算機(jī)組成原理第五版白中英(詳細(xì))第4章習(xí)題參考答案》由會員分享,可在線閱讀,更多相關(guān)《計算機(jī)組成原理第五版白中英(詳細(xì))第4章習(xí)題參考答案(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第4章習(xí)題參考答案1 .ASCII碼是7位,如果設(shè)計主存單元字長為32位,指令字長為12位,是否合理為什么答:不合理。指令最好半字長或單字長,設(shè)16位比較合適。一個字符的ASCII是7位,如果設(shè)計主存單元字長為32位,則一個單元可以放四個字符,這也是可以的,只是在存取單個字符時,要多花些時間而已,不過,一條指令至少占一個單元,但只占一個單元的12位,而另20位就浪費(fèi)了,這樣看來就不合理,因為通常單字長指令很多,浪費(fèi)也就很大了。2 .假設(shè)某計算機(jī)指令長度為32位,具有雙操作數(shù)、單操作數(shù)、無操作數(shù)三類指令形式,指令系統(tǒng)共有70條指令,請設(shè)計滿足要求的指令格式。答:字長32位,指令系統(tǒng)共有70條指令
2、,所以其操作碼至少需要7位。雙操作數(shù)指令7位OP12位操作數(shù)12位操作數(shù)單操作數(shù)指令7位OP25位操作數(shù)無操作數(shù)指令7位OP-3 .指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)1510987430OP-目標(biāo)寄存器源寄存器答:該指令格式及尋址方式特點(diǎn)如下:(1) 單字長二地址指令。(2) 操作碼字段OP可以指定26=64種操作(3) 源和目標(biāo)都是通用寄存器(可分指向16個寄存器)所以是RR型指令,即R也問的數(shù)據(jù)傳送及算術(shù)邏輯運(yùn)算類指令。兩個操作數(shù)均在寄存器中。(4) 這種指令結(jié)構(gòu)常用于4 .指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)15109874301510987430OP-源寄
3、存器變址寄存器偏移量(16位)答:該指令格式及尋址方式特點(diǎn)如下:(1)雙字長二地址指令,用于訪問存儲器。(2)操作碼字段OP可以指定26=64種操作。(3)RS型指令,一個操作數(shù)在通用寄存器(選擇16個之一),另一個操作數(shù)在主存中。有效地址可通過變址尋址求得,即有效地址等于變址寄存器(選擇16個之一)內(nèi)容加上位移量。5 .指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)。1512119865320OP尋址方式寄存器尋址方式寄存器源地址目標(biāo)地址答:該指令格式及尋址方式特點(diǎn)如下:(1)該指令為單字長雙操作數(shù)指令,源操作數(shù)和目的操作數(shù)均由尋址方式和寄存器構(gòu)成,寄存器均有8個,尋址方式均有8種。根據(jù)
4、尋址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因為OP為4位,所以最多可以有16種操作。6 .一種單地址指令格式如下所示,其中為I間接特征,X為尋址模式,D為形式地址,I、X、D組成該指令的操作數(shù)有效地址E,設(shè)R為變址寄存器,R1為基值寄存器,PC為程序計數(shù)器,請在下表中第一列位置填入適當(dāng)?shù)膶ぶ贩绞矫Q。尋址方式名稱IX啟效地址E000E=D001E=(PQ+D010E=(R)+D011E=(R1)+D100E=(D)110E=(R1)+D),D=0答:直接尋址相對尋址變址尋址基址尋址間接尋址先基址后間接尋址7 .某計算機(jī)字長為32位,主存容量為64K字,采用單字長單地址指令
5、,共有40條指令。試采用直接、立即、變址、相對四種尋址方式設(shè)計指令格式。答:根據(jù)題意,40種指令至少需6位OP四種尋址方式至少需用2位表示;主存為64K,則地址需要16位,而機(jī)器字長為32位,可設(shè)計如下格式:312625181716150OP-尋址方式XD設(shè):尋址方式X=00為直接尋址方式,由16位的D直接給出有效地址,EA=D尋址方式X=01為立即尋址方式,由16位的D直接給出操作數(shù),操作數(shù)二D尋址方式X=10為變址尋址方式,設(shè)變址寄存器為IR,則EA=(IR)+D尋址方式X=11為相對尋址方式,設(shè)程序計數(shù)器為PC,則EA=(PC)+D(D可正可負(fù))注:IR和PC的位數(shù)與機(jī)器的字長相等,均為
6、32位8 .某機(jī)字長為32位,主存容量為1吊單字長指令,有50種操作碼,采用寄存器尋址、寄存器間接尋址、立即、直接等尋址方式。CPU中有PC,IR,ARDR和16個通用寄存器。問:(1)指令格式如何安排(2)能否增加其他尋址方式答:(1)根據(jù)題意,50種操作碼至少需6位OR尋址方式可用2位分別表示最多4種尋址方式;用4位編碼選擇16個通用寄存器之一作為源操作數(shù)或目的操作數(shù),因機(jī)器字長為32位,固還剩20位可表示形式地址D312625242320190OP尋址方式寄存器DD字段的尋址方式由25-24位決定,如:尋址方式字段二00,表示D為寄存器尋址,實際使用D中的4位進(jìn)行寄存器選擇;尋址方式字段
7、二01,表示寄存器間接尋址,實際使用D中的4位進(jìn)行寄存器選擇;尋址方式字段二10,表示立即尋址,可使用D的全部確定一個立即數(shù);尋址方式字段=11,表示直接尋址,20位的D可確定一個存儲單元。(2)若將形式地址的位數(shù)減少,則可以增加其他的尋址方式9 .設(shè)某機(jī)字長為32位,CPU中有16個32位通用寄存器,設(shè)計一種能容納64種操作的指令系統(tǒng)。如果采用通用寄存器作基址寄存器,則RS型指令的最大存儲空間是多少答:根據(jù)題意,64種操作至少需6位OP用2位表示四種尋址方式;寄存器16個源操作數(shù)和目的操作數(shù)各用4位,因機(jī)器字長為32位,固還剩16位可表示形式地址D3126252423201916150OP尋
8、址方式源寄存器目的寄存器D如果采用通用寄存器作基址寄存器,因為寄存器為32,位所以RS型指令可尋址空間最大可達(dá)232單元。10 .將表的指令系統(tǒng)設(shè)計成二地址格式的指令系統(tǒng)。答:表中的指令共有29條,故操作碼字段需要5位;設(shè)這些指令支持9種尋址方式:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、間接尋址、相對尋址、基址尋址、變址尋址、堆棧尋址,則源和目的操作數(shù)各需要4位來確定其尋址方式;因字長為32位,故還剩余19位用于表示源和目的操作數(shù)的形式地址,可取形式地址為9位,多余的1位可以加在操作碼字段。即,格式如下:31262522211312980OP目的尋址方式目的操作數(shù)源尋址方式源操作數(shù)11
9、 .從以下有關(guān)RISC的描述中,選擇正確答案。A.采用RISC技術(shù)后,計算機(jī)的體系結(jié)構(gòu)又恢復(fù)到早期的比較簡單的情況。B.為了實現(xiàn)兼容,新設(shè)計的RISC,是從原來CISC系統(tǒng)的指令系統(tǒng)中挑選一部分實現(xiàn)的。C.RISC的主要目標(biāo)是減少指令數(shù)。D.RISC設(shè)有乘、除法指令和浮點(diǎn)運(yùn)算指令。答:C12.根據(jù)操作數(shù)所在位置,指出其尋址方式(填空):(1) 操作數(shù)在寄存器中,為(A)尋址方式。(2) 操作數(shù)地址在寄存器,為(B)尋址方式。(3) 操作數(shù)在指令中,為(C)尋址方式。(4) 操作數(shù)地址(主存)在指令中,為(D)尋址方式。(5) 操作數(shù)的地址,為某一寄存器內(nèi)容與位移量之和,可以是(E,F,G)尋址
10、方式。答:A.寄存器B.寄存器間接C.立即D.直接E,F,G.基址、變址、相對13 .將C語句翻譯成MIPSR4000匯編語言代碼。C賦值語句是:=(g+h)-(i+j)假設(shè)變量、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;將結(jié)果存入寄存器$s0中($s0=$s5-$s6)14 .將如下MIPSR4000匯編語言翻譯成機(jī)器
11、語言指令。lw$t0,1200($t1)add$t0,$s2,$t0sw$t0,1200($t1)答:已知MIPS指令的字段值如下表所示,而且寄存器$s0$s7對應(yīng)的寄存器號為1623(十進(jìn)制),寄存器$t0$t7對應(yīng)的寄存器號為815。MIPS指令的字段值指令格式oprsrtrdshamtfunct常數(shù)或地址add(加)R0regregreg032sub(減)R0regregreg034立即數(shù)加I8regregwlw(取字)I35regregaddresssw(存字)I43regregaddress由此,可寫出以上3條指令翻譯成機(jī)器語言指令如下表所示3條指令對應(yīng)的機(jī)器語言指令機(jī)器諦言各字段各
12、字段長度6位5位5位5位5位6位R型oprsrtrdshamtfunctI型oprsrtaddresslw$t0,1200($t1)35981200add$t0,$s2,$t001888032sw$t0,1200($t1)4398120015.將下面一條ARM匯編語言指令翻譯成用十進(jìn)制和二進(jìn)制表示的機(jī)器語言指令:ADDr5,r1,r2答:已知ARM匚編指令的指令譯碼格式如下表所示:ADDSUBLDRSTR旨令的指令譯碼格式指令名稱condFIopcodeSRnRdoperand2ADD加)140040regregregSUB喊)140020regregregADD立即數(shù)加)140140regr
13、egconstant(12位)LDR假字)14124regregaddress(12位)STR行字)14125regregaddress(12位)由此,可得該指令的十進(jìn)制和二進(jìn)制的機(jī)器語力如下表所示ADDr5,r1,r2的機(jī)器語言condFopcodeRnRdoffset12IopcodeSoperand12十進(jìn)制140040152二進(jìn)制11100010000001010100000000001016.將下面C語言翻譯成ARM匚編語言代碼,C賦值語句是:=(g+h)-(i+j)假設(shè)變量、g、h、i、j分別放在寄存器r0、rir2、r3、r4中答:該語句翻譯成ARM匚編語句如下:addr5,r1,r2;將g+h的和存入寄存器r5中(r5=U+r2)addr6,r3,r4;將i+j的和存入寄存器r6中(r6=r3+r4)subr0,r5,r6;將結(jié)果存入寄存器r0中(r0=r5-r6)