指令集架构 ======================================== 简介 ---------------------------------------- 指令集体系结构 (Instruction set architecture, ISA)是计算机的抽象模型。它也称为体系结构或计算机体系结构。 分类 ---------------------------------------- ISA可以通过多种方式分类,常见的分类方式是根据架构的复杂性分为复杂指令集计算机(CISC,complex instruction set computer)和精简指令集计算机(RISC,reduced instruction set computer)。CISC具有许多专门的指令,其中某些指令可能很少在实际程序中使用。RISC通过仅有效地执行程序中经常使用的指令来简化处理器。 指令类型 ---------------------------------------- 数据处理和内存操作 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 给寄存器设置值 - 将数据从内存拷贝到寄存器 - 将数据从寄存器拷贝到内存 - 从硬件设备中存/取数据 算术和逻辑操作 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 加/减/乘/除并设置状态寄存器 - 位运算 - 比较寄存器中的值 - 浮点运算 控制流操作 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 有条件跳转 - 无条件跳转 - 调用 协处理器 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 从协处理器存/取数据 - 协处理器操作 复杂指令集指令 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 一次性操作多个寄存器 (e.g. 存/取到栈上) - 移动大块内存 (e.g. DMA操作) - 复杂的算术操作 (e.g. 开平方) - SIMD 操作 - ...