问答题
现在要设计一个单片机,但机器字长尚悬而未决。有两种方案等待决择:一种是指令字长16位,另一种是指令字长20位。该处理机的硬件特色是:有两个基值寄存器(20位);有两个通用寄存器组,每组各包括16个寄存器。请问:(1)16位字长的指令和20位字长的指令各有什么优缺点?哪种方案较好?(2)如果选用20位的指令字长,基址寄存器还有保留的必要吗?
【正确答案】
正确答案:(1)采用16位字长的指令,原则上讲,优点是节省硬件(包括CPU中的通用寄存器组,ALU与主存储器,MDR),缺点是指令字长较短,操作码字段不会很长,所以指令条数受到限制。另一方面,为了在有限的字段内确定操作数地址,可能要采用较复杂的寻址方式,从而使指令执行的速度降低。当采用20位字长的指令结构时,其优缺点正好相反。 具体讲,按所给条件,16位字长的指令格式方案如下:
其中OP字段可指定64条指令,X
1
为寻址模式,与R
1
通用寄存器组一起,形成一个操作数。具体如下: X
1
=00 寄存器直接寻址 X
1
=01 寄存器间接寻址 E=(R
s
) X
1
=10 基寻址方式0 E=(R
b0
)+(R
s
) X
1
=11 基寻址方式1 E=(R
b1
)+(R
s
) 其中R
b0
,R
b1
分别为两个20位的基值寄存器。 20位字长指令格式方案如下:
【答案解析】
提交答案
关闭