计原指令系统习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、(12分)一台处理机具有如下指令格式
k 字。
(1)假设不用通用寄存器也能直接访问主存中的每一个单元,并假设操作码域OP=6位,请问地址码域应分配多少位?指令字长度应有多少位?
假设X=11时,指定的那个通用寄存器用做基值寄存器,请提出一个硬件设计规划,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。
2.(12分)某机的16位单字长访内指令格式如下:
42118
其中D为形式地址,补码表示(其中一位符号位);I为直接/间接寻址方式:I=1为间接寻址方式,I=0为直接寻址方式;M为寻址模式:0为绝对地址,1为基地址寻址,2为相对寻址,3为立即寻址;X为变址寻址。设PC,Rx,Rb分别为指令计数器,变址寄存器,基地址寄存器,E为有效地址,请回答以下问题:(1)该指令格式能定义多少种不同的操作?立即寻址操作数的范围是多少?
(2)在非间接寻址情况下,写出各计算有效地址的表达式
(3)设基址寄存器为14位,在非变址直接基地址寻址时,确定存储器可寻址的地址范围
(4)间接寻址时,寻址范围是多少?
3.(12分)一台处理机具有如下指令字格式:
1 3位
X OP 寄存器地址
其中,每个指令字中专门分出3位来指明选用哪一个通用寄存器(12位),最高位用来指明它所选定的那个通用寄存器将用作变址寄存器(X=1时),主存容量最大为16384字.
(1)假如我们不用通用寄存器也能直接访问主存中的每一个操作数,同时假设有用的操
作码位数至少有7位,试问:在此情况下,“地址”码域应分配多少位?“OP”码域应分配多少位?指令字应有多少位?
(2)假设条件位X=0,且指令中也指明要使用某个通用寄存器,此种情况表明指定的那个
通用寄存器将用作基值寄存器.请提出一个硬件设计规则,使得被指定的通用寄存器能访问主存中的每一个位置。
(3)假设主存容量扩充到32768字,且假定硬件结构已经确定不变,问采用什么实际方法
可解决这个问题?
1.解:(1)因为218=256K,所以地址码域=18位, 操作码域=6位
指令长度=18 + 3 + 3 + 6 + 2 = 32位
(2)此时指定的通用寄存器用作基值寄存器(16位),但16位长度不足以覆盖1M字地址空间,为此将通用寄存器左移,4位低位补0形成20位基地址。然后与指令字形式地址相加得有效地址,可访问主存1M地址空间中任何单元。
2、解:(1)该指令格式可定义16种不同的操作,立即寻址操作数的范围是–128 ~+127
(2)绝对寻址(直接寻址) E = A
基值寻址 E = (R b)+A
相对寻址 E = (PC)+A
立即寻址 D = A
变址寻址 E = (R X)+A
(3)由于E = (R b)+A,R b=14位,故存储器可寻址的地址范围为(16383+127)~(16383-128)应该是0~(16383+127)
(4)间接寻址时,寻址范围为64K,因为此时从主存读出的数作为有效地址(16位)。
3.解: (1)地址码域=14位, 214=16384
操作码域=7位
指令字长度=14+7+3=24位
(2)此时指定的通用寄存器用作基值寄存器(12位),但12位长度不足以覆盖16K地址空间,为此可将通用寄存器内容(12位)左移2位低位补0形成14位基地址,然后与形式地址相加得一地址,该地址可访问主存16K地址空间中的任一单元.
(3)可采用间接寻址方式来解决这一问题,因为不允许改变硬件结构.