[关闭]
@2017libin 2019-06-17T18:43:29.000000Z 字数 1190 阅读 85

指令系统 --例题精讲

计组


1. 对指令格式的分析

0)对指令格式分析:N字长M地址指令?
1)对op分析:op位数?可以指定最多多少种指令?
2)对A分析:每个操作数的寻址方式?指令类型?RR,RS,SS?

下面我们来实战吧!

1. 第一题:对指令格式的分析

指令长度是格式如下 :

15-9 8 7~4 3~0
OP null 源寄存器 目标寄存器

ans:
1.这是一个单字长双地址指令。
2.op共有7位,最多可以指定128条指令。
3.两个操作数都是放在寄存器中,即寻址方式为寄存器直接寻址,且最多可以有16个寄存器,是RR型指令。

2. 第二题:对指令格式的设计

对指令格式的设计:有一个重要的地方是,需不需要寻址特征位?怎么使用?

一种寻址方式的指令

题1:某32位指令的寻址方式是基址寄存器寻址,共有40条指令,主存大小是64kB,要求设计指令格式。
解 :
1.op使用的是6位。
2.基址寄存器是确定的,所以这里基址寄存器的编号可用可不用,这里不使用。
3.,所以需要偏移量应该是少于等于16位,一般我们取相等。
所以指令格式为

31~26 25~16 15~0
OP NULL 偏移量

题2:在题1的基础上,使用通用寄存器存放基地址,其中通用寄存器有16个。
因为这里通用寄存器有16个,因此必须显式说明使用的是哪一个通用寄存器,这里通用寄存器的编号不能省略。

31~26 25~20 19~16 15~0
OP NULL 基址寄存器 偏移量

多种寻址方式的指令

题1:某计算机字长为32位,主存容量为64KB,采用单字长单地址指令,共有40条指令。是采用直接,立即数,变址,相对四种寻址方式设计指令格式。
1.单字长指令,所以指令长度为32位。
2.寻址特征位X:使用两位,来对四种寻址方式的选择。这里不需要使用I(间址)。

寻址方式 操作码 是否为 NULL 特征位 A
直接寻址 op Y 00 16位主存地址
立即数寻址 op N 01 其余位全部为立即数
变址寻址 op Y 01 16位偏移量
相对寻址 op Y 11 16位偏移量

小结:

  1. 这里并没有使用到间址I,为什么呢?因为这里间接寻址和直接寻址的个数不匹配。其实我们都可以直接使用X来表示而不必使用I来作为特征位了,只是我们为了分类,例如我们把特征位为 0 000~0 111所表示的寻址方式定义为直接寻址,而特征位为 1 000 ~ 1 111所表示的寻址方式为间接寻址。那么最高位为间址I,从这里也可以看出来,一般间址I只用一位来表示就够了。
  2. 立即数位数?乜有关系!剩下的都给它就可以了!
  3. 什么时候需要寻址特征位?一般一条指令可以使用多种寻址方式时,我们往往要使用寻址特征位来进行区分,到底使用的是哪一种寻址方式。
  4. 偏移量?偏移量其实只要小于等于主存地址都可以,但是一般让偏移量等于主存地址位数。
  5. 寄存器存放数据的位数有要求吗?答案是无要求!寄存器的位数跟主存地址没有关系,也就跟偏移量也没有关系了。
  6. 告诉计算机字长,目的只有一个!就是为了确定指令长度!
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注