4.1. 指令集架构

4.1.1. 简介

指令集体系结构 (Instruction set architecture, ISA)是计算机的抽象模型。它也称为体系结构或计算机体系结构。

4.1.2. 分类

ISA可以通过多种方式分类,常见的分类方式是根据架构的复杂性分为复杂指令集计算机(CISC,complex instruction set computer)和精简指令集计算机(RISC,reduced instruction set computer)。CISC具有许多专门的指令,其中某些指令可能很少在实际程序中使用。RISC通过仅有效地执行程序中经常使用的指令来简化处理器。

4.1.3. 指令类型

4.1.3.1. 数据处理和内存操作

  • 给寄存器设置值

  • 将数据从内存拷贝到寄存器

  • 将数据从寄存器拷贝到内存

  • 从硬件设备中存/取数据

4.1.3.2. 算术和逻辑操作

  • 加/减/乘/除并设置状态寄存器

  • 位运算

  • 比较寄存器中的值

  • 浮点运算

4.1.3.3. 控制流操作

  • 有条件跳转

  • 无条件跳转

  • 调用

4.1.3.4. 协处理器

  • 从协处理器存/取数据

  • 协处理器操作

4.1.3.5. 复杂指令集指令

  • 一次性操作多个寄存器 (e.g. 存/取到栈上)

  • 移动大块内存 (e.g. DMA操作)

  • 复杂的算术操作 (e.g. 开平方)

  • SIMD 操作