《計(jì)算機(jī)組成原理第五版白中英(詳細(xì))第4章習(xí)題參考答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)組成原理第五版白中英(詳細(xì))第4章習(xí)題參考答案(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第4章習(xí)題參考答案
1 .ASCII碼是7位,如果設(shè)計(jì)主存單元字長(zhǎng)為32位,指令字長(zhǎng)為12位,是否合理為什么
答:不合理。指令最好半字長(zhǎng)或單字長(zhǎng),設(shè)16位比較合適。一個(gè)字符的ASCII是7位,如果設(shè)計(jì)主存單元字長(zhǎng)為32位,則一個(gè)單元可以放四個(gè)字符,這也是可以的,只是在存取單個(gè)字符時(shí),要多花些時(shí)間而已,不過,一條指令至少占一個(gè)單元,但只占一個(gè)單元的12位,而另20位就浪費(fèi)了,這樣看來(lái)就不合理,因?yàn)橥ǔ巫珠L(zhǎng)指令很多,浪費(fèi)也就很大了。
2 .假設(shè)某計(jì)算機(jī)指令長(zhǎng)度為32位,具有雙操作數(shù)、單操作數(shù)、無(wú)操作數(shù)三類指令形式,指令系統(tǒng)共有70條指令,請(qǐng)?jiān)O(shè)計(jì)滿足要求的指令格式。
答:字長(zhǎng)32位,指令系
2、統(tǒng)共有70條指令,所以其操作碼至少需要7位。
雙操作數(shù)指令
7位OP
12位操作數(shù)
12位操作數(shù)
單操作數(shù)指令
7位OP
25位操作數(shù)
無(wú)操作數(shù)指令
7位OP
-
3 .指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)
1510987430
OP
-
目標(biāo)寄存器
源寄存器
答:該指令格式及尋址方式特點(diǎn)如下:
(1) 單字長(zhǎng)二地址指令。
(2) 操作碼字段OP可以指定26=64種操作
(3) 源和目標(biāo)都是通用寄存器(可分指向16個(gè)寄存器)所以是RR型指令,即
R也問的數(shù)據(jù)傳送及算術(shù)邏輯運(yùn)算類指令。
兩個(gè)操作數(shù)均在寄存器中。
(4)
3、 這種指令結(jié)構(gòu)常用于
4 .指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)
1510987430
1510987430
OP
-
源寄存器
變址寄存器
偏移量(16位)
答:該指令格式及尋址方式特點(diǎn)如下:
(1)雙字長(zhǎng)二地址指令,用于訪問存儲(chǔ)器。
(2)操作碼字段OP可以指定26=64種操作。
(3)RS型指令,一個(gè)操作數(shù)在通用寄存器(選擇16個(gè)之一),另一個(gè)操作數(shù)
在主存中。有效地址可通過變址尋址求得,即有效地址等于變址寄存器(選擇16個(gè)之一)內(nèi)容加上位移量。
5 .指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)。
1512119865320
OP
4、
尋址方式
寄存器
尋址方式
寄存器
源地址
目標(biāo)地址
答:該指令格式及尋址方式特點(diǎn)如下:
(1)該指令為單字長(zhǎng)雙操作數(shù)指令,源操作數(shù)和目的操作數(shù)均由尋址方式和寄存器構(gòu)成,寄存器均有8個(gè),尋址方式均有8種。根據(jù)尋址方式的不同,指令可以是RR型、RS型、也可以是SS型;
(2)因?yàn)镺P為4位,所以最多可以有16種操作。
6 .一種單地址指令格式如下所示,其中為I間接特征,X為尋址模式,D為形式地址,I、X、D組成該指令的操作數(shù)有效地址E,設(shè)R為變址寄存器,R1為基值寄存器,PC為程序計(jì)數(shù)器,請(qǐng)?jiān)谙卤碇械谝涣形恢锰钊脒m當(dāng)?shù)膶ぶ贩绞矫Q。
尋址方式名稱I
X
啟效地
5、址E
①
0
00
E=D
②
0
01
E=(PQ+D
③
0
10
E=(R)+D
④
0
11
E=(R1)+D
⑤
1
00
E=(D)
⑥
1
10
E=((R1)+D),D=0
答:①直接尋址②相對(duì)尋址③變址尋址
④基址尋址⑤間接尋址⑥先基址后間接尋址
7 .某計(jì)算機(jī)字長(zhǎng)為32位,主存容量為64K字,采用單字長(zhǎng)單地址指令,共有
40條指令。試采用直接、立即、變址、相對(duì)四種尋址方式設(shè)計(jì)指令格式。
答:根據(jù)題意,40種指令至少需6位OP四種尋址方式至少需用2位表示;主
存為64K,則地址需要16位,而機(jī)器字長(zhǎng)為32位,可設(shè)
6、計(jì)如下格式:
312625181716150
OP
-
尋址方式X
D
設(shè):
尋址方式X=00為直接尋址方式,由16位的D直接給出有效地址,EA=D
尋址方式X=01為立即尋址方式,由16位的D直接給出操作數(shù),操作數(shù)二D
尋址方式X=10為變址尋址方式,設(shè)變址寄存器為IR,則EA=(IR)+D
尋址方式X=11為相對(duì)尋址方式,設(shè)程序計(jì)數(shù)器為PC,則EA=(PC)+D(D可正可負(fù))
注:IR和PC的位數(shù)與機(jī)器的字長(zhǎng)相等,均為32位
8 .某機(jī)字長(zhǎng)為32位,主存容量為1吊單字長(zhǎng)指令,有50種操作碼,采用寄存
器尋址、寄存器間接尋址、立即、直接等尋址方式。CPU中有PC
7、,IR,ARDR
和16個(gè)通用寄存器。問:
(1)指令格式如何安排
(2)能否增加其他尋址方式
答:
(1)根據(jù)題意,50種操作碼至少需6位OR尋址方式可用2位分別表示最多4種尋址方式;用4位編碼選擇16個(gè)通用寄存器之一作為源操作數(shù)或目的操作數(shù),因機(jī)器字長(zhǎng)為32位,固還剩20位可表示形式地址D
312625242320190
OP
尋址方式
寄存器
D
D字段的尋址方式由25-24位決定,如:
尋址方式字段二00,表示D為寄存器尋址,實(shí)際使用D中的4位進(jìn)行寄存器選擇;
尋址方式字段二01,表示寄存器間接尋址,實(shí)際使用D中的4位進(jìn)行寄存器選擇;
尋址方式字段二10,表
8、示立即尋址,可使用D的全部確定一個(gè)立即數(shù);
尋址方式字段=11,表示直接尋址,20位的D可確定一個(gè)存儲(chǔ)單元。
(2)若將形式地址的位數(shù)減少,則可以增加其他的尋址方式
9 .設(shè)某機(jī)字長(zhǎng)為32位,CPU中有16個(gè)32位通用寄存器,設(shè)計(jì)一種能容納64種操作的指令系統(tǒng)。如果采用通用寄存器作基址寄存器,則RS型指令的最大存
儲(chǔ)空間是多少
答:根據(jù)題意,64種操作至少需6位OP用2位表示四種尋址方式;寄存器16個(gè)源操作數(shù)和目的操作數(shù)各用4位,因機(jī)器字長(zhǎng)為32位,固還剩16位可表示形
式地址D
3126252423201916150
OP
尋址方式
源寄存器
目的寄存器
D
如果采
9、用通用寄存器作基址寄存器,因?yàn)榧拇嫫鳛?2,位所以RS型指令可尋址空間最大可達(dá)232單元。
10 .將表的指令系統(tǒng)設(shè)計(jì)成二地址格式的指令系統(tǒng)。
答:表中的指令共有29條,故操作碼字段需要5位;設(shè)這些指令支持9種尋址方式:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、間接尋址、相對(duì)尋址、基址尋址、變址尋址、堆棧尋址,則源和目的操作數(shù)各需要4位來(lái)確定其尋址方式;因字長(zhǎng)為32位,故還剩余19位用于表示源和目的操作數(shù)的形式地址,可取形式地址為9位,多余的1位可以加在操作碼字段。即,格式如下:
31262522211312980
OP
目的尋址方式
目的操作數(shù)
源尋址方式
源操作數(shù)
10、
11 .從以下有關(guān)RISC的描述中,選擇正確答案。
A.采用RISC技術(shù)后,計(jì)算機(jī)的體系結(jié)構(gòu)又恢復(fù)到早期的比較簡(jiǎn)單的情況。
B.為了實(shí)現(xiàn)兼容,新設(shè)計(jì)的RISC,是從原來(lái)CISC系統(tǒng)的指令系統(tǒng)中挑選一部分實(shí)現(xiàn)的。
C.RISC的主要目標(biāo)是減少指令數(shù)。
D.RISC設(shè)有乘、除法指令和浮點(diǎn)運(yùn)算指令。
答:C
12.根據(jù)操作數(shù)所在位置,指出其尋址方式(填空):
(1) 操作數(shù)在寄存器中,為(A)尋址方式。
(2) 操作數(shù)地址在寄存器,為(B)尋址方式。
(3) 操作數(shù)在指令中,為(C)尋址方式。
(4) 操作數(shù)地址(主存)在指令中,為(D)尋址方式。
(5) 操作數(shù)的地址,為
11、某一寄存器內(nèi)容與位移量之和,可以是(E,F,G)尋址
方式。
答:A.寄存器B.寄存器間接
C.立即D.直接
E,F,G.基址、變址、相對(duì)
13 .將C語(yǔ)句翻譯成MIPSR4000匯編語(yǔ)言代碼。C賦值語(yǔ)句是:
=(g+h)-(i+j)
假設(shè)變量、g、h、i、j分別分配給寄存器$s0、$s1、$s2、$s3、$s4。
答:該語(yǔ)句翻譯成MIPSR4000匯編語(yǔ)句如下:
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é)
12、果存入寄存器$s0中($s0=$s5-$s6)
14 .將如下MIPSR4000匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言指令。
lw$t0,1200($t1)
add$t0,$s2,$t0
sw$t0,1200($t1)
答:已知MIPS指令的字段值如下表所示,而且寄存器$s0$s7對(duì)應(yīng)的寄存器號(hào)為1623(十進(jìn)制),寄存器$t0$t7對(duì)應(yīng)的寄存器號(hào)為815。
MIPS指令的字段值
指令
格式
op
rs
rt
rd
shamt
funct
常數(shù)或地址
add(加)
R
0
reg
reg
reg
0
32
sub(減)
R
0
reg
reg
re
13、g
0
34
立即數(shù)加
I
8
reg
reg
w
lw(取字)
I
35
reg
reg
address
sw(存字)
I
43
reg
reg
address
由此,可寫出以上3條指令翻譯成機(jī)器語(yǔ)言指令如下表所示
3條指令對(duì)應(yīng)的機(jī)器語(yǔ)言
指令
機(jī)器諦言各字段
各字段長(zhǎng)度
6位
5位
5位
5位
5位
6位
R型
op
rs
rt
rd
shamt
funct
I型
op
rs
rt
address
lw
$t0,1200($t1)
35
9
8
1
14、200
add$t0,$s2,$t0
0
18
8
8
0
32
sw
$t0,1200($t1)
43
9
8
1200
15.將下面一條ARM匯編語(yǔ)言指令翻譯成用十進(jìn)制和二進(jìn)制表示的機(jī)器語(yǔ)言指
令:ADDr5,r1,r2
答:已知ARM匚編指令的指令譯碼格式如下表所示:
ADDSUBLDRSTR旨令的指令譯碼格式
指令名稱
cond
F
I
opcode
S
Rn
Rd
operand2
ADD加)
14
0
0
4
0
reg
reg
reg
SUB喊)
14
0
0
2
0
reg
reg
re
15、g
ADD立即數(shù)加)
14
0
1
4
0
reg
reg
constant(12
位)
LDR假字)
14
1
24
reg
reg
address(12位)
STR行字)
14
1
25
reg
reg
address(12位)
由此,可得該指令的十進(jìn)制和二進(jìn)制的機(jī)器語(yǔ)力如下表所示
ADDr5,r1,r2的機(jī)器語(yǔ)言
cond
F
opcode
Rn
Rd
offset12
I
opcode
S
operand12
十進(jìn)制
14
0
0
4
0
1
5
2
二進(jìn)制
1110
0
0
100
0
0001
0101
000000000010
16.將下面C語(yǔ)言翻譯成ARM匚編語(yǔ)言代碼,C賦值語(yǔ)句是:
=(g+h)-(i+j)
假設(shè)變量、g、h、i、j分別放在寄存器r0、ri>r2、r3、r4中
答:該語(yǔ)句翻譯成
ARM匚編語(yǔ)句如下:
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)