计算机组成原理指令系统(1)(1) 下载本文

图中X为寻址特征位,且当X=0时,不变址; X=1时,用变址寄存器X1进行变址; X=2时,用变址寄存器X2进行变址; X=3时,相对寻址。 设(PC) =1234H,[X1]=0037H,[X2]=1122H,确定下列指令的的有效地址(指令和地址均用十六进制表示): (1) 4420; (2) 2244; (3) 1322;

(4) 3521。 (0.7分) 正确答案 4

某机器字长 32 位,CPU 内有 32 个 32 位的通用寄存器,设计一种能容纳 64 种操作的指令系统,设指令字长等于机器字长。

(1) 如果主存可直接或间接寻址,采用寄存器-存储器型指令,能直接寻址的最大存储空间是多少?试画出指令格式。

(2) 在(1)的基础上,如果采用通用寄存器作为基址寄存器,则上述寄存器-存储器型指令的指令格式又如何设计?画出指令格式并指出这类指令可访问多大的存储空间。 (0.7分) 正确答案

(1)64种操作,则操作码位数 = log264 = 6

寄存器32个,则寄存器编码位数 = log232 = 5 1.

有直接寻址或间接寻址,则寻址特征位 位数 1位,所以寄存器-存储器型指令格式: 2.

OP 6位 M 1位 R 5位 A 32-6-1-5=20位 说明:OP 为操作码,表明做什么操作 6位

M寻址特征位 1位 ,表明主存的寻址方式 0:直接寻址 1:间接寻址 R 寄存器操作数,指明寄存器的编号 5位 A 存储器地址,表明操作数的地址 20位

采用直接寻址时,A的位数为 20位则寻址的最大存储空间为220 =1M (2) 1.

在(1)的基础上采用通用寄存器作为基址寄存器,则增加了基址寻址,寻址特征位增加到2位 还得再增加一个基址寄存器的位数,则A的位数为32-6-2-5-5=14位,所以指令格式为: 2.

OP 6位 M 2位 R 5位 基址R 5位 A 14位

特点:增加了基址寻址方式,直接寻址范围变小 为214 =16K 间接寻址与基址寻址范围 都是232 =4G 5

某机字长为16位,存储器按字编址,访问内存指令格式如下: 15 11 10 8 7 0 OP M A

其中,OP为操作码,M为寻址特征 A为形式地址。设PC和Rx分别为和谐计数器和变址寄存器,字长为16位,问: 1)该指令能定义多少种指令

2)表中各种寻址方式的寻址范围为多少?

3)写出表中各种寻址方式的奏效地址EA的计算公式 寻址方式 有效地址 EA的计算公式 寻址范围 相对寻址 立即寻址 直接寻址 间接寻址 变址寻址 正确答案

立即寻址 操作数=A 指令中 直接寻址 EA=A 0-255 间接寻址 EA=(A) 0-65535 变址寻址 EA=(Rx)+A 0-65535

相对寻址 EA=(PC)+A 相对偏移量为-128~127 6

某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。 (0.7分) 正确答案 7

假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),CPU 每次从内存只能取一个字节。假设执行到某转移指令时 PC 的内容为 200,执行该转移指令后要求转移到 100 开始的一段程序执行,则该转移指令第二字节的内容应该是多少? (0.7分) 正确答案

100=200+2+Offset,

Offset=100-202=-102=10011010B 8

设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令? (0.7分) 正确答案

二地址指令操作码为4位(16-6-6),最多有2的4次方种二地址指令, 二地址指令实际为13种,还剩16-13=3种用来扩展称为一地址指令,二地址指令每剩下一种可以扩展成16

种,剩下3种可以扩展称为48种。 9

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

当执行JMP *+8和JMP *-9指令时,先读取指令 PC = 2000H+2 =2002H

JMP*+8 要转移指令的地址相对当前指令后的第8个字节处,即目标地址为 2000H+8 =2008H

则转移指令第二字节的内容为2008H-2002H = 06H

MP*-9 要转移指令的地址相对当前指令前的第9个字节处,即目标地址为 2000H-9 =1FF7H 则转移指令第二字节的内容为1FF7H-2002H = FFF5H,则第二字节内容为 F5H 10

一种单地址指令的结构如下所示:

操作码OP

间址特征

I

寻址模式

X

形式地址

D

其中,X、D组成该指令的操作数有效地址E。设R为变址寄存器,PC为程序计数器,请在表中第一列位置填入适当的寻址方式名称。

寻址方式名称

I

X

有效地址E

寻址方式名称①

0

00

E = D

②001E = PC + D

③010E = R + D

④011E = R + D,D = 0

⑤100

E = (D)

1

01

E = (PC + D)

⑦110

E = (R + D)

⑧111

E = (R + D),D = 0

正确答案

①直接寻址 ②相对寻址 ③变址寻址 ④寄存器寻址 5)间接寻址

6)先相对寻址再间接寻址 ⑦ 先变址寻址再间接寻址 8)寄存器间接寻址 11

某机主存容量为4M位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:

(1)画出一地址指令格式并指出各字段的作用; (2)该指令直接寻址的最大范围; (3)一次间址和多次间址的寻址范围; (4)立即数的范围(十进制表示); (5)相对寻址的位移量(十进制表示);

(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?

(7)如何修改指令格式,使指令的寻址范围可扩大到4M? (0.7分) 正确答案

(1) (4分)一地址指令 格式为 7(OP) 3 (M) 6(A) 其中OP为操作码 ,表明作何种操作

M为寻址特征位,表明是什么寻址方式 A为形式地址 。 (2) 0-636

(3) 0-65535,0-3276716 (4) -32 ----31

(5) 立即,间接,基址,变址 (6)采用双字长指令 12

假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三类指令形式,每个操作数地址规定用6位表示。 若操作码字段固定为8位,现已给出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令? 当双操作数指令条数取最大值,且在此基础上单操作数指令条数也取最大值时,试计算这三类指令最大容许具有的指令条数各是多少? (0.7分) 正确答案 13