RISC与CISC:计算机指令集架构的前世今生
创作时间:
作者:
@小白创作中心
RISC与CISC:计算机指令集架构的前世今生
引用
新浪网
1.
https://finance.sina.com.cn/tech/roll/2024-08-02/doc-inchfezi7259732.shtml
在计算机体系结构中,指令集架构(ISA)是CPU与软件之间的接口,决定了计算机如何执行程序。CISC(复杂指令集计算)和RISC(精简指令集计算)是两种主要的指令集架构。本文将详细对比这两种架构的特点、优劣以及应用场景,并解释为什么现代CISC处理器实际上采用了RISC核心设计。
CISC(复杂指令集计算)
- 复杂指令集:CISC架构设计了大量的复杂指令,每条指令可以完成较为复杂的操作。
- 较少的指令数:因为每条指令可以完成较多的操作,所以总体的指令数较少。
- 内存使用效率高:由于指令的复杂性,单个指令可以在较少的时钟周期内完成任务,从而减少内存带宽的占用。
- 硬件实现复杂:实现这些复杂指令需要更复杂的硬件逻辑。
- 常见应用:早期的计算机和一些特定应用中使用较多,如x86架构。
RISC(精简指令集计算)
- 精简指令集:RISC架构设计了一组相对简单且数量较少的指令,每条指令执行一个非常简单的操作。
- 较多的指令数:由于每条指令执行的操作简单,完成一个任务需要更多的指令。
- 指令执行速度快:简单指令可以在一个时钟周期内完成,从而提高了指令执行速度。
- 硬件实现简单:由于指令集的精简,硬件设计相对简单且更容易优化。
- 常见应用:现代嵌入式系统和移动设备中广泛使用,如ARM架构。
两种架构的对比
特征 | CISC | RISC |
|---|---|---|
复杂性 | 指令复杂 | 指令简单 |
执行速度 | RISC通常具有更快的执行速度,因为每条指令在一个时钟周期内完成。 | |
指令数 | CISC指令数少,但每条指令功能强大;RISC指令数多,但每条指令功能简单。 | |
硬件设计 | CISC硬件设计复杂,RISC硬件设计简单。 | |
应用领域 | CISC多用于台式机和服务器,RISC多用于嵌入式系统和移动设备。 |
RISC的起源与发展
- 定义:RISC是一种执行较少类型计算机指令的微处理器架构。通过减少指令集的数量,可以更快地执行操作。
- 起源:1974年,纽约约克镇IBM研究中心的John Cocke提出了RISC的概念。他发现计算机中约20%的指令承担了80%的工作。
- 主要特点:
- 指令简单:RISC设计者将主要精力放在经常使用的简单指令上,这些指令可以在一个时钟周期内完成。
- 指令数少:较少的指令类型需要更少的晶体管和电路元件,从而简化微处理器设计,提高执行速度。
- 存储器操作限制:对存储器操作有限制,使控制简单化。
- 程序复杂性:由于简单的指令集,实现复杂功能时需要组合多条指令,程序复杂度增加,内存占用较大。
- 中断处理:可以在一条指令执行的适当位置响应中断。
- CPU芯片电路:包含较少的单元电路,面积小、功耗低。
- 设计周期短:结构简单,布局紧凑,设计周期短,易于采用最新技术。
- 常见处理器:DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC、SuperH等。
CISC的特点与应用
- 定义:CISC是一种复杂指令集计算机架构,使用丰富的指令集,每条指令可以完成较为复杂的操作。
- 主要特点:
- 指令丰富:指令系统比较丰富,有专用指令来完成特定功能。
- 存储器操作直接:存储器操作指令多,操作直接。
- 程序简单性:汇编语言程序编写相对简单,特别是科学计算及复杂操作的程序设计效率较高。
- 中断处理:在一条指令执行结束后响应中断。
- CPU芯片电路:包含丰富的电路单元,功能强大,但面积大、功耗高。
- 设计周期长:结构复杂,设计周期长。
- 用户使用:功能强大,实现特殊功能容易。
- 常见处理器:X86。
两种架构的详细对比
特征 | RISC | CISC |
|---|---|---|
指令系统 | 专注于简单、高效的常用指令,通过组合指令完成不常用功能。 | 提供丰富的指令系统,有专用指令完成特定功能。 |
存储器操作 | 对存储器操作有限制,控制简单。 | 存储器操作指令多,操作直接。 |
程序复杂性 | 程序复杂,需要较大内存空间。 | 程序编写相对简单,设计效率高。 |
中断处理 | 在一条指令执行的适当位置响应中断。 | 在一条指令执行结束后响应中断。 |
CPU芯片电路 | 单元电路少,面积小、功耗低。 | 电路单元丰富,面积大、功耗高。 |
设计周期 | 设计周期短,易于采用新技术。 | 设计周期长,结构复杂。 |
用户使用 | 指令规整,性能容易把握,易学易用。 | 结构复杂,功能强大,实现特殊功能容易。 |
应用范围 | 更适合于专用机。 | 更适合于通用机。 |
现代CISC处理器的RISC实现
如今的CISC处理器都参考了RISC设计,将指令在处理器内翻译成微码再工作。
- 性能优化
- 指令解码和执行效率:RISC核心设计简单,指令集较少,容易进行指令解码和执行优化。因此,在现代CISC处理器中,首先将复杂的CISC指令解码成更简单的RISC微操作(micro-operations),再由RISC核心执行。这种方式可以提高指令执行效率。
- 设计复杂性降低:RISC核心的设计相对简单,可以简化处理器设计的复杂性。通过在CISC处理器中采用RISC核心,可以降低设计和验证的难度,缩短开发周期。
- 能效比提升:RISC核心因为其简单的设计,通常具有较低的功耗和较小的芯片面积。这对于移动设备和嵌入式系统等功耗敏感的应用场景尤为重要。
- 模块化设计:通过使用RISC核心,处理器设计可以更加模块化和灵活。这使得在同一架构下可以更容易地进行不同型号和规格处理器的扩展和开发。
- 兼顾旧有软件支持和新性能:现代CISC处理器(如x86架构)需要兼容大量已有的软件和系统,因此外部接口依然保持CISC架构。但是,内部通过RISC核心执行,可以兼顾性能和兼容性,提供更好的用户体验。
- 微操作:Intel的x86处理器内部使用了一种被称为“微操作(micro-ops)”的机制,将复杂的x86指令解码为更简单的微操作,然后由内部的RISC风格的执行单元处理。
- 超标量和超流水:现代x86处理器利用超标量和超流水技术,同时执行多条微操作,以提高指令级并行度和处理速度。
这两种架构各有优劣,具体选择取决于应用场景和性能需求。现代处理器设计往往结合了两者的优点,以实现最佳的性能和效率。
热门推荐
长沙三季度物业服务企业“红黑榜”发布
USDT提币地址填写教程:7步轻松完成资金提取
五行属火又属金的名字
中国传统水墨画的意境探索与创作心得
如何进入BIOS设置以调整触摸板选项?
最新LPR出了:今年的房贷利率降的还不够低,2025年还会降吗?
一次穿越千年的石窟探秘 一场回望时空的古今对话
“不是我不想学,而是我看不到希望” | 5类常见厌学心理
什么是后现代主义建筑?详解打破传统规则的设计语言
港影:从“跟班”到“大亨”,古天乐的崛起
股票池如何及时更新?这种更新有哪些意义?
太极拳的中正 | 身体的中正、手法的中正和内心的中正
公共管理不同专业方向辨析
从「阅后即焚」到「学以致用」:简谈 I.N.F.O 读书法
克罗德·德彪西:印象派音乐的革命者
显示器电源接触不良怎么办?多种原因及解决方案全解析
侵权与保护:当AI声音克隆挑战社会信任极限
地支六合的命理意义与应用
狂犬病暴露后预防策略优化的新证据
怎么才能找到靠谱的牙医啊?
快速掌握换尿布的技巧和步骤!
分组条形图详解:结构、特点与应用场景
交易努尔基奇,太阳锁定心仪人选,巴特勒并非首选,琼斯摊牌了
东莞十年求贤记|就业篇:从打工福地到技能之都
手机电池充电速度与容量的抉择:你更看重哪个?
如何在项目中通过沟通有效地传达重要信息
高考错题复习有哪些策略?如何化错题为备考资源?
手术前后的血糖管理,为什么这么重要?
福寿螺美味背后的致命陷阱:煮熟30分钟才能吃?
白车身BIW概念、功能及轻量化