指令系统

指令集体系结构 ISA

  1. 【指令】
    1. 格式
    2. 寻址方式
    3. 对应操作行为
  2. 【操作数】
    1. 类型
    2. 寻址方式
    3. 大小端
  3. 【存储】
    1. 寄存器布局
    2. 存储空间编址
  4. 【控制】
    1. 条件码
    2. PC

主要构成

  • 数据传送指令: load/store/…
  • 输入输出指令: in/out/…
  • 算术运算指令: add/…
  • 逻辑运算指令: and/…
  • 系统控制指令: 中断/…
  • 程序控制指令: jmp/…
零地址指令 = 堆栈运算指令

零地址指令 aka 堆栈运算指令

  1. 堆栈运算指令无显示指定操作数,操作数来源为
  2. 堆栈顶元素
  3. 次堆栈顶元素
  4. 访存次数
  5. 软堆栈 = 4
    1. 取指
    2. 取操作数 A
    3. 取操作数 B
    4. 写回
  6. 硬堆栈 = 1 only 取指

分类

指令集 CISC RISC
全名 复杂指令集计算机 精简指令集计算机
例子 x86, x64 arm
risc-v
mips
sparc
DecAlpha
PowerArchitecture
指令系统 复杂 简单
寄存器 专用 通用为主
存储 命令隐含存储操作 以寄存器-寄存器方式 load/store
控制 微程序 组合逻辑电路为主
编译系统 难以优化 优化

指令格式

指令格式 (指令字) = 操作码 + 地址码

两者均可定长/不定长

指令字是否定长与操作码是否定长无关

RISC 指令字 & 操作码

定长指令字, 不定长操作码