指令

操作码:指明指令完成的操作,加减法,传送,移位。操作码占7位,最多包含2的7次方条指令。操作码长度可以固定,可以变化。
操作码长度固定,译码时间短,广泛用于字长较长的,大中型计算机,超级小型计算机,RISC中。
操作码长度不固定,操作码分散在指令字的不同字段中,有效压缩操作码的平均长度,在字长较短的微型计算机中广泛采用。
操作码长度不固定,增加指令译码和分析难度,使控制器设计复杂。
通常使用扩展操作码技术,使操作码的长度随地址数的减少而增加。

设计操作码不固定的指令系统,尽量考虑安排指令使用频度高的指令占用短的操作码,对频度低的可用占用较长的作码。缩短经常使用的译码时间。

地址码:该指令的源操作数的地址,结果地址,下一条指令的地址。
这里的地址可以是主存地址,寄存器地址,IO设备地址。

四地址指令:OP A1 A2 A3 A4
(A1)OP(A2)->A3

指令的直接寻址范围是2的A1位数次方。如果都为主存地址,完成一条四地址指令,需要访问4次存储器。取指令一次,取操作数两次,存放结果一次,因程序计数器PC既能存放当前欲执行指令的地址,又有技术功能,能自动形成下一条指令的地址,A4便可省略。

三地址指令:OP A1 A2 A3
(A1)OP(A2)->A3
也需要访问储存器四次。
机器运行的过程中,没有必要每次把运算结果存入主存,可以暂存在ACC中,省去了A3

二地址指令:OP A1 A2
(A1)OP(A2)->A2

这种情况仍是访问储存器四次,如果把结果放在ACC中,则只需要3次。
    
一地址指令:OP A1
(A1)OP(ACC)->ACC

访问储存器2次


零地址指令:OP
无地址码,只有操作码,NOP空操作,停机HLT,程序返回RET,中断返回IRET。
操作数的地址隐含在堆栈指针SP中

PC,ACC等硬件,可以缩短指令字长,减少访问内存次数,扩大直接寻址范围。

指令字长:
指令字长取决于操作码的长度,操作数地址的长度,操作数地址个数。不同机器指令字长不同。

操作数类型:
1,地址(无符号整数)    2,数字    3,字符    4,逻辑数据

操作类型:
1,数据传送    2,算术逻辑操作    3,移位    4,转移    5,陷阱    6,输入输出。

寻址方式:
指令寻址:顺序寻址可以通过程序计数器PC+1,自动形成下一条指令的地址,跳跃寻址则通过转移类指令实现。

数据寻址:

1,立即寻址
立即寻址的特点是操作数本身在指令字内,即形式地址A不是操作数的地址,而是操作数本身,又称为立即数,数据采用补码形式存放,执行阶段不需要访问储存器。    

2,直接寻址
形式地址A就是操作数的真是地址EA,执行阶段,只访问内存一次。

3,隐含寻址
例如加法指令,操作数隐藏在ACC中,有利于缩短指令字长。

4,间接寻址
扩大了寻址范围。可以多次间接寻址。指令执行阶段访问内存两次,或多次。

5,寄存器寻址
在寄存器寻址,地址码指出寄存器的编号,操作数在寄存器中。

6,寄存器间接寻址
把内存的地址,存放在寄存器中,通过寄存器中的内存地址到内存中去寻找。
比间接地址少访问内存一次。指令-寄存器-内存

7,基址寻址
需要有基址寄存器BR,操作数的有效地址EA=形式地址+BR,可以扩大寻址范围。

8,变址寻址
和基址寻址相似,EA=A+IX

9,相对寻址
EA=(PC)+A,PC内容+形式地址A,A可正可负,用补码表示

10,堆栈寻址
堆栈可以用寄存器组来实现,也可以用内存一部分空间。


RISC精简指令特点:

1,选取使用频度高的一些简单指令,以及一些很有用但不复杂的指令,复杂指令由频度高的简单指令组合实现。
2,指令长度固定,指令格式少,寻址方式少
3,只有取数LOAD,存数STORE 指令访问储存器,其余指令的操作数都在寄存器内完成。
4,CPU中有多个通用寄存器
5,采用流水线技术,大部分指令在一个时钟周期完成。采用超标量和超流水线技术,可以使每个指令平均执行时间小于一个时钟周期
6,控制器采用组合逻辑控制,不采用微程序控制
7,采用优化的编译程序。

RISC和CISC比较

1,充分利用VLSI芯片的面积
2,提高运算速度。
3,便于设计,可降低成本,提高可靠性。
4,有效支持高级语言程序。

posted on 2015-01-01 00:38  拿铁不加盐  阅读(432)  评论(0编辑  收藏  举报

导航