计算机组成原理第3章作业参考答案(讲) 下载本文

内容发布更新时间 : 2024/9/22 7:26:17星期一 下面是文章的全部内容请认真阅读。

第三章参考答案

【3-9】

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

解:分析:有50条指令,操作码部分共需要6位;4种寻址方式,寻址方式说明2位;形式地址码部分8位。 OP (6位)

【3-10】

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

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

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

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

指令格式如图所示: OP A 10M(2位) A(8位) 6位 10位

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

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

OP @ A =1K

6位 1位 9位

指令直接寻址的范围为2=512字。

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

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

169=64K字。

OP (Z/C) 形式地址A 6位 1位 9位

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

由于:EA?(PC)H//A,是16位,所以指令可寻址范围216=64K字。 (4)采用(2) 、(3) 两种方式结合,此时需要@ 和Z/C 两个标志位,

指令格式如下如所示:

OP @ (Z/C) 形式地址A 6位 1位 1位 8位

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

【3-12】

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

OP R A 816=64K字。

6位 2位 8位

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

(1) A 为立即数。

(2) A 为直接主存单元地址。 (3) A 为间接地址(非多重间址) 。

(4) A 为变址寻址的形式地址,假定变址寄存器为R1 (字长为16位) 解:(1)A 为立即数,由于是包含在指令中,所以能访问的主存区域1个机器字。 (2)A 为直接主存单元地址,能访问的最大主存区域为28(256字)

(3)若A 为间接地址(非多重间址),EA=(A)为16位,所以能访问的最大主存区域为2=64K (4)A 为变址寻址的形式地址,变址寄存器为R1 (字长为16位),EA=(R1)+A 。所以能访问的

最大主存区域2=64K

【3-14】

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

1616

其中:

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 指令(※为相对寻址特征)时,转移指令第二字节的内容各为多少? 转移的目的地址各是什么?

分析:JMP指令格式示意图: 操作码 相对位移量(补码) 1字节 1字节

(8)补=(0000 1000)2

(-9)补=(1111 0111)2

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

2,转移的目的地址是

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

移的目的地址是1FF9H。 解:

转移指令第二字节的内容分别为:(0000 1000)2 ,(1111 0111)2 转移的目的地址分别为:2002H+8H=200AH ,2002H+FFF7H=1FF9H。