计算机组成原理作业详细答案(讲)

第三章参考答案

【3-9】

某机字长为16 位,主存容量为64K 字,采用单字长单地址指令,共有50条指令。若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。

解:

【3-10】

某机字长为16位,主存容量为64K字,指令格式为单字长单地址,共有64条指令。试说明:(1)若只采用直接寻址方式,指令能访问多少主存单元?

(2)为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?指令直接寻址的范围为多少?

(3)采用页面寻址方式,若只增加一位Z/C(零页/现行页)标志,指令寻址范围为多少?指令直接寻址范围为多少?

(4)采用(2)、(3)两种方式结合,指令的寻址范围为多少?指令直接寻址范围为多少?解:(1)分析:指令共有64条,需要操作码6位;指令格式为单字长单地址,而机器字长为16位,所以地址码部分10位。

6位10位

若采用直接寻址方式,即:形式地址等于有效地址,EA=A,所以指令能访问的主存单元为

10

2=1K

(2)为扩充指令的寻址范围,采用直接/间接寻址方式,若只增加一位直接/间接标志,指令格式如图所示:

6位1位9位

指令直接寻址的范围为

9

2=512字。

由于存储单元存储16位字,间接寻址的最大寻址范围是16

2=64K字。

(3)采用页面寻址方式,若只增加一位Z/C(零页/现行页)标志,指令格式如下如所示:

6位 1位 9位

由于A 为9 位,所以直接寻址的范围是92=512字 。

由于:A PC EA H //)( ,是16位,所以指令可寻址范围162=64K 字。

(4)采用(2) 、(3) 两种方式结合,此时需要@ 和Z /C 两个标志位,

指令格式如下如所示:

6位 1位 1位 8位

直接寻址范围是82;指令可寻址范围仍为162

=64K 字。

【3-12】

已知某小型机字长为16位,其双操作数指令的格式如下:

6位 2位 8位

其中:OP 为操作码,R 为通用寄存器地址。试说明下列各种情况下能访问的最大主存区域有多少机器字?

(1) A 为立即数。

(2) A 为直接主存单元地址。

(3) A 为间接地址(非多重间址) 。

(4) A 为变址寻址的形式地址,假定变址寄存器为R 1 (字长为16位)

解:(1)A 为立即数,由于是包含在指令中,所以能访问的主存区域1个机器字。

(2)A 为直接主存单元地址,能访问的最大主存区域为82(256字)

(3)若A 为间接地址(非多重间址),EA=(A )为16位,所以能访问的最大主存区域为16

2=64K

(4)A 为变址寻址的形式地址,变址寄存器为R 1 (字长为16位),EA=(R1)+A 。所以能访问的

最大主存区域162=64K

【3-14】

假定某机的指令格式如下:

其中:

Bit11=1:间接寻址;

Bit8=1:变址寄存器I1寻址;

Bit7=1:变址寄存器I2寻址;

Bit6(零页/现行页寻址):Z/C =0,表示0页面;Z/C =1,表示现行页面,即指令所在页面。

若主存容量为212个存储单元,分为26个页面,每个页面有26个字。

设有关寄存器的内容为

(PC)=0344Q (I1)= 1111Q (I2)= 0256Q

试计算下列指令的有效地址。

(1) 1046Q

(2) 2433Q

(3) 3215Q

(4) 1111Q

解:(1)1046Q=(001 000 100 110)

2

由于格式中的11、8、7、6均为0,所以为0页面直接寻址,得:EA=0046Q。

(2)2433Q=(010 100 011 011)

2

8#位为1,故为变址寄存器I1寻址,所以EA = (I1) +(011 011)

2

=1111Q+33Q=1144Q

(3)3215Q=(011 010 001 101)

2

7#位为1,表示变址寄存器I2寻址,故 EA = 0256Q+15Q=0273Q

(4)1111Q=(001 001 001 001)

2

第6位为1,表示现行页面寻址,所以EA = (PC)

H //(001 001)

2

=03Q // 11Q=0311Q

【3-17】

设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H ,且CPU 每取一个字节便自动完成(PC)+1→PC的操作。试问当执行JMP ※+8和JMP ※-9 指令(※为相对寻址特征)时,转移指令第二字节的内容各为多少?转移的目的地址各是什么?

分析:

1字节1字节

(8)补=(0000 1000)2

(-9)补=(1111 0111)2

当前转移指令第一字节所在的地址为2000H ,相对转移指令JMP占2字节,执行JMP指令,程序计数器(指令指针)PC=2002H,当执行JMP+8时,转移指令第二字节的内容为(0000 1000)

,转移的目的地址是200AH;执行JMP -9 时,转移指令第二字节的内容为(1111 0111)2,转2

移的目的地址是1FF9H。

解:

转移指令第二字节的内容分别为:(0000 1000)2,(1111 0111)2

转移的目的地址分别为:2002H+8H=200AH ,2002H+FFF7H=1FF9H。

相关文档
最新文档