指令集架构和微架构

参考资料:The RISC-V Instruction Set Manual

指令集架构

  • 关于操作系统的开发和指令集,可参见操作系统的内核映像实现内核
  • 指令集架构(Instruction Set Architecture,ISA)
    • (硬件)CPU基于指令集设计
    • (软件)操作系统基于指令集开发
  • 因此,ISA也叫做硬件/软件接口(Hardware/Software Interface),它需要满足如下要求
    • (硬件)CPU的设计简单、性能强劲
    • (软件)操作系统的开发简单、功能完整
  • ISA是一个基于计算、信息、控制的计算模型,为了运行应用程序,它还需要操作系统的相关指令
    • 计算 –> 计算理论
      • 算术指令
      • 逻辑指令
      • 浮点数指令
      • 加速计算指令(比如向量指令)
    • 信息 –> 信息理论
      • 存取指令
      • 栈指令
    • 控制 –> 控制理论
      • 比较指令
      • 跳转指令
    • 操作系统
      • 控制寄存器指令
      • 虚拟化指令

微架构

  • 关于CPU的设计和指令集,可参见从数字电路到CPUARM CPU
  • 微架构(Micro-Architecture)
    • 基于数字电路的模块,实现ISA
    • 因为数字电路的模块有不同的组合方式,所以同一ISA有不同的微架构。比如,X86指令集在Intel、AMD上有不同的微架构