指令集架构和微架构

参考资料: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上有不同的微架构