计算机组成原理4 | 青训营笔记

21 阅读2分钟

指令寻址

顺序寻址

由于指令在内存中是顺序存放,当执行一段程序时,通常是一条指令接一条指令的顺序执行。为了能够指示下一条欲执行指令的指令地址,CPU内部有一个程序计数器 PC (指令指针寄存器IP),每执行一条指令其值自动加1,指向下一条欲执行指令的指令地址。这种程序顺序执行的过程我们称为指令的顺序寻址。PC 就是用来做指令追踪

跳跃寻址方式

当程序执行循环指令或者转移指令时,指令的寻址就采取跳跃寻址方式。所谓跳跃,是指下条指令的地址不是由程序计数器PC加1产生,而是将本条指令给出的目标地址装入PC作为下条指令的地址。

操作数寻址

形式地址是指令字中的地址,有效地址是操作数的内存地址。寻址过程就是通过寻址特征位把操作数的形式地址,变换为有效地址的过程。

立即寻址

地址码部分的形式地址 A就是操作数D,而不是操作数的地址

直接寻址

直接内存寻址特点是:在指令格式的形式地址 A 中直接指出操作数的有效地址EA。由于操作数地址直接给出而不需要变换,称为直接寻址方式。

间接寻址

(基本不采用,效率太低)

间接寻址的情况下,指令地址字段中的形式地址A不是操作数的有效地
址EA,A单元的内容才是操作数的有效地址EA。虽然可以扩大寻址范围,但是需要至少访问 2 次内存。效率低下。

寄存器寻址

当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。

优点:执行阶段只访问寄存器,执行速度快。寄存器的个数有限,所以指令 的字长一般都很短。