一、指令系统结构的发展
由于指令系统是计算机软、硬件的交界面,因此无论是计算机硬件技术的发展还是计算机软件技术的发展,都必然会引起指令系统的演变和发展。其中 CISC(Complex Instruction Set Commputer, 复杂指令集计算机)结构和RISC(Reduced Instruction Set Computer,精简指令集计算机)结构是目前在商业上占主导地位的指令系统结构。CISC设计更关注功能,RISC设计更关注速度。CISC指令系统崇尚大而全的设计理念,RISC指令系统崇尚少而精、精而快的设计理念。[1]
二、CISC与RISC对比
对比维度 | CISC(Complex Instruction Set Computer) 复杂指令集计算机 | RISC(Reduced Instruction Set Computer) 精简指令集计算机 |
---|---|---|
核心设计理念 | 用一条功能复杂指令代替多条简单指令。 增加新的指令,增加寻址方式,增加数据表示方式。 | 仅保留简单、高频指令。通过软件实现功能比较复杂的指令。 提高流水线效率(大部分指令可以单指令完成;延迟转移技术)。 |
指令系统和执行 | 复杂:指令数量多,格式复杂,寻址方式多样。 多数指令需多个时钟周期完成。 | 指令数量少,格式规整,参数少、长度固定,功能简单。 寻址方式少。 |
控制器 实现 | 采用微程序控制。 | 采用硬布线控制逻辑。 |
存储器 访问 | 支持多种存储器访问指令。 | 采用 仅 |
寄存器 设计 | 寄存器数量有限,大量使用内存操作。 寄存器与内存之间的操作较为频繁。 | 寄存器数量多,支持寄存器窗口技术。 大部分操作在寄存器之间完成,减少内存操作带来的延迟。 |
典型缺点 | 大约20%的指令占据了80%的处理机执行时间。 指令执行时间长,硬件成本高,研发周期长。 | 代码密度低(程序体积大)。 依赖高度优化的编译器。 |
性能优化方向 | 依赖微程序控制和硬件增强功能。 优化重点在于减少程序中的指令数量。 | 依赖优化编译技术,采用延迟转移、流水线重命名等技术提升效率。 |
发展方向 | (1)关注与RISC相同的技术焦点(如增加通用寄存器、优化流水线)。 (2)融入部分RISC特性(如PowerPC)。 | (1)越来越复杂(实现可能:芯片密度和硬件速度提高)。 (2)融入部分CISC特性(如Pentium处理器采用RISC特征)。 |
适用场景 | 适合通用计算和向后兼容需求,适合传统桌面/服务器,如x86 架构。 | 适合嵌入式系统、移动设备,低功耗、高能效,如ARM 架构。 |
补充:关于CISC和RISC的融合发展趋势
现代处理器(如x86和ARM)结合两者优势:CISC架构引入RISC式解码,RISC架构吸收CISC的复杂操作(如浮点指令)。
内容参考:
[1]西安电子科技大学出版社《计算机组成与系统结构》(第二版)