问答题 某机器字长32位,CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统,设指令字长等于机器字长。
问答题 如果主存可直接或间接寻址,采用寄存器-存储器型指令,能直接寻址的最大存储空间是多少?试画出指令格式。
【正确答案】根据题意,可设计出如下的指令格式:
操作码 寻址方式I 寄存器编号R 形式地址A
其中,操作码占6位,可容纳64种操作;I占1位,表示直接、间接寻址(I=0表示间接寻址;I=1表示直接寻址);由于有32个寄存器,因此R需要占5位;形式地址A占剩下的位数,即32-6-1-5=20位。因此,直接寻址的最大存储空间为220
【答案解析】
问答题 在上题的基础上,如果采用通用寄存器作为基址寄存器,则上述寄存器-存储器型指令的指令格式又有何特点?画出指令格式并指出这类指令可访问多大的存储空间。
【正确答案】如果还需要增加基址寻址,且基址寻址采用通用寄存器,那么必须要增加一个字段来表示基址寄存器到底使用32个中的哪一个通用寄存器,故指令格式变为:
操作码 寻址方式I 寄存器编号R 基址寄存器编号R1 形式地址A
其中,操作码占6位,可容纳64种操作;I占2位,表示直接、间接、基址(I=00表示间接寻址;I=01表示直接寻址;I=10表示基址寻址);由于有32个寄存器,因此R需要占5位;同理,R1需要5位;形式地址A占剩下的位数,即32-6-2-5-5=14位。
因为通用寄存器为32位,用它做基址寄存器后,可得32位的有效地址,所以寻址范围可达到232
【答案解析】