《计算机组成原理》第3章习题答案文档格式.doc
《《计算机组成原理》第3章习题答案文档格式.doc》由会员分享,可在线阅读,更多相关《《计算机组成原理》第3章习题答案文档格式.doc(6页珍藏版)》请在冰豆网上搜索。
上述三类指令各自允许的最大指令条数是多少?
解:
X=(24一K)×
26一[L/26]
双操作数指令的最大指令数:
24一1。
单操作数指令的最大指令数:
15×
26一l(假设双操作数指令仅1条,为无操作数指令留出1个扩展窗口)。
无操作数指令的最大指令数:
216一212一26。
其中212为表示某条二地址指令占用的编码数,26为表示某条单地址指令占用的编码数。
此时双操作数和单操作数指令各仅有1条。
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:
4条三地址指令,8条二地址指令,180条单地址指令。
4条三地址指令
000XXXYYYZZZ
.
.
011XXXYYYZZZ
8条二地址指令
100000XXXYYY
100111XXXYYY
180条单地址指令
101000000XXX
111110011XXX
5.指令格式同上题,能否构成:
三地址指令4条,单地址指令255条,零地址指令64条?
为什么?
三地址指令4条
000XXXYYYZZZ
.
011XXXYYYZZZ
单地址指令255条
100000000XXX
111111110YYY
只能再扩展出零地址指令8条,所以不能构成这样的指令系统。
6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?
主存容量越大,所需的地址码位数就越长。
对于相同容量来说,最小寻址单位越小,地址码的位数就越长。
7.试比较间接寻址和寄存器间址。
间接寻址方式的有效地址在主存中,操作数也在主存中;
寄存器间址方式的有效地址在寄存器中,操作数在主存中。
所以间接寻址比较慢。
8.试比较基址寻址和变址寻址。
基址寻址和变址寻址在形成有效地址时所用的算法是相同的,但是它们两者实际上是有区别的。
一般来说,变址寻址中变址寄存器提供修改量(可变的),而指令中提供基准值(固定的);
基址寻址中基址寄存器提供基准值(固定的),而指令中提供位移量(可变的)。
这两种寻址方式应用的场合也不同,变址寻址是面向用户的,用于访问字符串、向量和数组等成批数据;
而基址寻址面向系统,主要用于逻辑地址和物理地址的变换,用以解决程序在主存中的再定位和扩大寻址空间等问题。
在某些大型机中,基址寄存器只能由特权指令来管理,用户指令无权操作和修改。
9.某机字长为16位,主存容量为64K字,采用单字长单地址指令,共有50条指令。
若有直接寻址、间接寻址:
变址寻址、相对寻址四种寻址方式,试设计其指令格式。
操作码6位,寻址方式2位,地址码8位。
10.某机字长为16位,主存容量为64K字,指令格式为单字长单地址,共有64条指
令。
试说明:
(1)若只采用直接寻址方式,指令能访问多少主存单元?
(2)为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?
指令直接寻址的范围为多少?
(3)采用页面寻址方式,若只增加一位z/c(零页/现行页)标志,指令寻址范围为多少?
指令直接寻址范围为多少?
(4)采用
(2)、(3)两种方式结合,指令的寻址范围为多少?
因为计算机中共有64条指令,所以操作码占6位,其余部分为地址码或标志位。
(1)若只采用直接寻址方式,地址码部分为10位,指令能访问的主存单元数为210=1K字。
(2)若采用直接/间接寻址方式,将增加了一位直接/间接标志,地址码部分为9位,
指令直接寻址的范围为29=0.5K字,指令可寻址范围为整个主存空间216=64K字。
(3)若采用页面寻址方式,将增加一位z/c(零页/现行页)标志,所以指令直接寻址范围仍为29=0.5K字,指令寻址范围仍为216=64K字。
(4)此时将需要@和z/c两个标志位,所以指令直接寻址范围为28=0.25K字,指令寻址范围仍为216=64K字。
11.设某机字长32位,CPU有32个32位的通用寄存器,设计一个能容纳的单字长指令系统。
(1)如果是存储器间接寻址方式的寄存器一存储器型指令,能直接寻址的空间是多少?
(2)如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?
因为计算机中共有64条指令,所以操作码占6位;
32个通用寄存器,寄存器编号占5位;
其余部分为地址码或标志位。
(1)如果是存储器间接寻址方式的寄存器一存储器型指令,操作码6位,寄存器编号5位,间址标志1位,地址码20位,直接寻址的最大主存空间是220字。
(2)如果采用通用寄存器作为基址寄存器,EA=(Rb)+A,能直接寻址的最大主存空间是232字。
12.已知某小型机字长为16位,其双操作数指令的格式如下:
其中:
OP为操作码,R为通用寄存器地址。
试说明下列各种情况下能访问的最大主存区域有多少机器字?
(1)A为立即数。
(2)A为直接主存单元地址。
(3)A为间接地址(非多重间址)
(4)A为变址寻址的形式地址,假定变址寄存器为R1(字长为16位)。
(1)1个机器字。
(2)256个机器字。
(3)65536个机器字。
(4)65536个机器字。
13.计算下列4条指令的有效地址(指令长度为16位)。
(1)000000Q
(2)l00000Q
(3)170710Q
(4)012305Q
假定:
上述4条指令均用八进制书写,指令的最左边是一位间址指示位@(@=O,直接寻址;
@=1,间接寻址),且具有多重间访功能;
指令的最右边两位为形式地址;
主存容量215单元,下表为有关主存单元的内容(八进制)。
解:
(1)000000Q
因为指令的最高位为0,故为直接寻址,EA=A=00000Q。
(2)100000Q
因为指令的最高位为1,故指令为间接寻址。
(00000)=100002,最高位仍为1,继续间接寻址,(00002)=054304,其最高位为0,表示已经找到有效地址,EA=54304Q。
(3)170710Q
因为指令的最高位为1,故指令为间接寻址。
(00010)=100005,最高位仍为1,继续间接寻址。
(00005)=100001,最高位仍为1,继续间接寻址。
(00001)=046710,其最高位为0,表示已找到有效地址,EA=46710Q。
(4)012305Q
因为指令的最高位为0,故为直接寻址,EA=A=00005Q。
14.假定某机的指令格式如下:
Bitll=1:
间接寻址;
Bit8=1:
变址寄存器I1寻址;
Bit7=1:
变址寄存器I2寻址;
Bit6(零页/现行页寻址):
Z/C=0,表示O页面;
Z/C=1,表示现行页面,即指令所在页面。
若主存容量为212个存储单元,分为26个页面,每个页面有26个字。
设有关寄存器的内容为(PC)=0340Q(11)=11llQ(12)=0256Q
试计算下列指令的有效地址。
(1)1046Q
(2)2433Q
(3)32150
(4)1111Q
(1)1046Q=001000100110
因为4个标志位均为0,故为直接寻址,EA=A=0046Q。
(2)2433Q一010100011011
因为Bit8(I1)=1,故为变址寄存器1寻址,EA=(I1)+A=1111+33=1144Q。
(3)3215Q=011010001101
因为Bit7(I2)=1,故为变址寄存器2寻址,EA=(I2)+A=0256+15=0273Q。
(4)111lQ一001001001001
因为Bit6(z/C)=1,故为当前页寻址,EA=(PC)H∥A=03∥11=0311Q。
15.假定指令格式如下:
,
其中:
D/I为直接/间接寻址标志,D/I=0表示直接寻址,D/I=1表示间接寻址。
其余标志位同题14说明。
若主存容量为216个存储单元,分为28个页面,每个页面有28个字。
设有关寄存器的内容为
(I1)=002543Q(I2)=063215Q(PC)=004350Q
试计算下列指令的有效地址。
(1)152301Q
(2)074013Q
(3)161123Q
(4)140011Q
解:
(1)152301Q=1101010011000001
因为Bit10(I2)=1,故为变址寄存器2寻址,EA=(I2)+A=063215+301=063516Q。
(2)074013Q=0111100000001011
因为Bit11(I1)=1,故为变址寄存器1寻址,EA=(I1)+A=002543+013=002556Q。
(3)