指令格式
操作码+寻址特征 + 寻址地址
操作码决定指令条数
寻址特征+寻址地址表明了寻址范围
寻址方式
每一个寻址地址都要配备一个寻址特征
形式地址
- 直接寻址方式:
- 特征:形式地址就是实际地址
- 取指访问主存一次,执行指令访问一次
- 间接寻址
- 存放的是实际地址的地址
- 可寻址的范围会变多
- 取指令一次,取实际地址一次,访问实际地址一次,一共三次访问内存
- 寄存器寻址
- 存放的是寄存器编号
- 只需要取指令访问一次主存
- 寄存器间接寻址
- 指令当中是寄存器编号,寄存器存放的是实际地址
- 取指令一次,执行一次
- 隐含寻址
- 默认是ACC寄存器当中
- 立即寻址
- 操作数就是数据本身
偏移寻址
- 基址寻址
- 地址码中是偏移量:有效地址 = 偏移量 + BR寄存器中的值,然后访问内存
- 如果是用通用寄存器充当基址寄存器需要在指令当中指明寄存器号
- 更改寄存器中的值,方便程序的浮动
- 变址寻址
- A表示起始地址,作用和基址寻址类似,但寻址的基础不一样,变址寄存器可以修改
- 便于编址循环程序
- 相对寻址
- 寻址的基准是当前PC的值,是PC取完转移指令后的地址
RISC和CISC
CISC指令长度不固定,设计流水线不方便
RISC指令长度固定
RISC只有LOAD和STORE可以对内存进行访存
RISC引入流水线设计,使得每一个时钟周期内都可以完成一条指令(宏观上看)
RISC采用硬布线设计,CISC采用微程序设计