指令格式

指令的基本格式

  • 操作码(OP)+ 地址码
  • 零地址指令:空操作、停机、关中断
  • 一地址指令:OP(A1)→A1 或 (ACC) OP(A1)→ACC(隐含 ACC)
  • 二地址指令:(A1) OP(A2)→A1
  • 三地址指令:(A1) OP(A2)→A3
  • 四地址指令:含下一条指令地址

定长操作码指令格式

  • 操作码位数固定,位于指令字高位
  • 译码简单,但信息利用率低

扩展操作码指令格式

  • 操作码位数不固定,根据地址码数量分配
  • 短操作码留给地址数少的指令(如零地址、一地址指令)
  • 典型:4-8-12 扩展或 3-6-9 扩展

指令的操作类型

  • 数据传送:寄存器间、寄存器与主存间数据传送
  • 算术和逻辑运算
  • 移位指令
  • 转移操作:无条件转移、条件转移、调用、返回
  • 输入输出指令

寻址方式

指令寻址

  • 顺序寻址:PC+1
  • 跳跃寻址:转移指令修改 PC

数据寻址

寻址方式有效地址特点
隐含寻址操作数地址隐含减少地址码位数
直接寻址EA = A访存 1 次,A 即操作数地址
间接寻址EA = (A)访存 2 次,扩大寻址范围
寄存器寻址EA = Ri不访存,速度快
寄存器间接寻址EA = (Ri)访存 1 次
相对寻址EA = (PC) + A用于转移指令
基址寻址EA = (BR) + A面向操作系统,多道程序
变址寻址EA = (IX) + A面向用户,循环程序
堆栈寻址EA = (SP)硬堆栈/软堆栈

CISC 和 RISC 的基本概念

CISC 复杂指令系统计算机

  • 指令数量多、寻址方式多
  • 指令长度不固定,指令周期差异大
  • 微程序控制器为主
  • 编译器设计相对简单

RISC 精简指令系统计算机

  • 指令数量少、寻址方式少
  • 指令长度固定、格式规整
  • Load/Store 架构:只有 Load/Store 指令访问存储器
  • 硬布线控制器为主(速度快)
  • 通用寄存器数量多
  • 有利于指令流水线实现
  • 编译器设计复杂