计算机组成原理第五版白中英详细第4章习题参考答案Word格式文档下载.docx
《计算机组成原理第五版白中英详细第4章习题参考答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第五版白中英详细第4章习题参考答案Word格式文档下载.docx(10页珍藏版)》请在冰点文库上搜索。
(1)
单字长二地址指令。
》
(2)
操作码字段OP可以指定26=64种操作。
(3)
源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4)
这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
1510987430
—
变址寄存器
偏移量(16位)
(1)双字长二地址指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。
|
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
1512
119
86
53
20
寻址方式
寄存器
[
源地址
目标地址
(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;
(2)因为OP为4位,所以最多可以有16种操作。
】
6.一种单地址指令格式如下所示,其中为I间接特征,X为寻址模式,D为形式地址,I、X、D组成该指令的操作数有效地址E,设R为变址寄存器,R1为基值寄存器,PC为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。
寻址方式名称
I
X
有效地址E
①
②
③
④
⑤
}
⑥
1
00
01
10
11
E=D
E=(PC)+D
E=(R)+D
E=(R1)+D
E=(D)
E=((R1)+D),D=0
)
①直接寻址②相对寻址③变址寻址
④基址寻址⑤间接寻址⑥先基址后间接寻址
7.某计算机字长为32位,主存容量为64K字,采用单字长单地址指令,共有40条指令。
试采用直接、立即、变址、相对四种寻址方式设计指令格式。
根据题意,40种指令至少需6位OP;
四种寻址方式至少需用2位表示;
主存为64K,则地址需要16位,而机器字长为32位,可设计如下格式:
3126
2518
1716
150
【
寻址方式X
D
设:
寻址方式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位可表示形式地址D
2524
2320
^
190
D字段的寻址方式由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位可表示形式地址D
1916
#
目的寄存器
如果采用通用寄存器作基址寄存器,因为寄存器为32,位所以RS型指令可寻址空间最大可达232单元。
10.将表的指令系统设计成二地址格式的指令系统。
,
表中的指令共有29条,故操作码字段需要5位;
设这些指令支持9种寻址方式:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、间接寻址、相对寻址、基址寻址、变址寻址、堆栈寻址,则源和目的操作数各需要4位来确定其寻址方式;
因字长为32位,故还剩余19位用于表示源和目的操作数的形式地址,可取形式地址为9位,多余的1位可以加在操作码字段。
即,格式如下:
2522
2113
129
80
目的寻址方式
目的操作数
源寻址方式
源操作数
11.从以下有关RISC的描述中,选择正确答案。
A.采用RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。
B.为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的。
C.RISC的主要目标是减少指令数。
D.RISC设有乘、除法指令和浮点运算指令。
C
~
12.根据操作数所在位置,指出其寻址方式(填空):
(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,$t0
sw$t0,1200($t1)
已知MIPS指令的字段值如下表所示,而且寄存器$s0$s7对应的寄存器号为1623(十进制),寄存器$t0$t7对应的寄存器号为815。
MIPS指令的字段值
指令
格式
op
rs
rt
rd
shamt
funct
常数或地址
add(加)
R
reg
32
sub(减)
34
立即数加
8
\
常数
lw(取字)
35
address
sw(存字)
43
由此,可写出以上3条指令翻译成机器语言指令如下表所示。
3条指令对应的机器语言
机器语言各字段
各字段长度
6位
5位
R型
I型
lw$t0,1200($t1)
9
1200
add$t0,$s2,$t0
!
18
sw$t0,1200($t1)
15.将下面一条ARM汇编语言指令翻译成用十进制和二进制表示的机器语言指令:
ADDr5,r1,r2
已知ARM汇编指令的指令译码格式如下表所示:
ADD、SUB、LDR、STR指令的指令译码格式
指令名称
cond
F
;
opcode
S
Rn
Rd
operand2
ADD(加)
14
4
。
SUB(减)
2
ADD(立即数加)
?
constant(12位)
LDR(取字)
24
]
address(12位)
STR(存字)
25
由此,可得该指令的十进制和二进制的机器语言如下表所示
ADDr5,r1,r2的机器语言
offset12
operand12
十进制
5
二进制
1110
100
0001
0101
000000000010
16.将下面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)
addr6,r3,r4;
将i+j的和存入寄存器r6中(r6=r3+r4)
subr0,r5,r6;
将结果存入寄存器r0中(r0=r5-r6)
^