1. 复杂指令集(CISC, Complex Instruction Set Computer)
通过单条指令完成复杂操作,减少程序指令数量,优化早期内存稀缺环境下的编程效率。
特点:
【1】指令长度可变:支持多字节指令(如x86的1~15字节指令)。
【2】复杂指令:单条指令可完成内存访问、算术运算等组合操作(如MOVSB实现内存块复制)。
【3】多种寻址方式:直接、间接、基址变址等,增强灵活性。
【4】硬件主导优化:依赖硬件解码复杂指令,微码(Microcode)控制执行。
典型架构:Intel x86(如8086)、AMD64、早期IBM大型机。
优势与劣势:
【1】代码密度高:程序体积小,适合早期小内存设备。
【2】向后兼容性强(如x86仍支持16位模式)。
【3】硬件复杂度高:解码电路复杂,功耗大。
【4】指令执行效率不均:复杂指令可能需要多个时钟周期。
2. 精简指令集(RISC, Reduced Instruction Set Computer)
简化指令集,每条指令仅完成基础操作,通过流水线+编译器优化提升性能,适应现代高性能计算需求。
核心特点:
【1】指令长度固定:如ARM的32位定长指令,简化解码。
【2】精简指令:仅支持加载(Load)/存储(Store)访问内存,算术运算仅在寄存器间进行。
【3】单周期执行:大多数指令1个时钟周期完成,便于流水线并行。
【4】编译器主导优化:依赖编译器将高级代码高效映射为简单指令序列。
典型架构:ARM(如Cortex-A系列)、RISC-V、MIPS、PowerPC。
优势与劣势:
【1】高性能低功耗:流水线利用率高,适合移动设备(如智能手机)。
【2】硬件设计简单:易于扩展(如RISC-V开源生态)。
【3】代码密度较低:相同功能需更多指令(需压缩指令集扩展,如ARM Thumb)。
【4】依赖编译器优化能力。
3、现代融合趋势
【1】CISC借鉴RISC
现代x86 CPU(如Intel Core)内部将CISC指令拆分为RISC风格微操作(μOps)执行。
【2】RISC增强功能
ARM加入SIMD(NEON)、多发射等复杂特性,逼近CISC性能。
【3】异构计算
系统级芯片(SoC)整合RISC核(ARM)与CISC加速器(x86协处理器)。
CISC:历史包袱重但生态强大,主导高性能计算领域。
RISC:设计简洁能效比高,统治移动/嵌入式市场。
未来:RISC-V等开源架构可能重塑行业格局,但二者界限已逐渐模糊。