指令集定义了CPU可以执行的指令集合。指令集从复杂度分类可分为CISC和RISC指令集。CISC指令集最常见的是X86,Intel与AMD两大CPU巨头生产的CPU以X86架构为主。RISC指令集有Arm、RISC-V、MIPS、Alpha等,Arm指令集主要应用于移动端、嵌入式计算芯片。
以下是两种不同指令集的比较:
CISC | RISC | |
---|---|---|
指令系统 | 复杂,庞大 | 简单,精简 |
指令数量 | >200 |
<100 |
指令长度 | 不定长 | 定长 |
可访存指令 | 不加限制 | 只有load/store指令 |
指令执行时间 | 相差较大 | 大部分在一个周期内完成 |
指令使用频率 | 相差较大 | 都比较常用 |
通用寄存器数 | 较少 | 多 |
目标代码 | 难以利用编译优化生成高效的目标代码程序 | 可采用编译优化生成高效执行的代码 |
控制方式 | 微程序控制 | 组合逻辑控制 |
指令流水 | 可通过一定方式实现 | 必须实现 |