精简指令集(RISC) vs 复杂指令集(CISC):通俗易懂的全面解析

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习

🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发

❄️作者主页:一个平凡而乐于分享的小比特的个人主页

✨收录专栏:操作系统,本专栏为讲解各操作系统的历史脉络,以及各性能对比,以及内部工作机制,方便开发选择

欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

🖥️ 计算机指令集体系:RISC vs CISC 完全指南

什么是指令集?

首先,让我们理解什么是指令集。如果把CPU比作一个厨房 ,指令集就是菜谱------告诉CPU如何完成各种任务。
高级语言代码

例如:a = b + c
编译器
指令集

CPU的指令系统
硬件执行

核心概念对比

CISC(复杂指令集)------像一位全能大厨

RISC(精简指令集)------像流水线上的专业厨师

精简指令集架构
多条简单指令
LOAD R1, 1000
LOAD R2, 2000
MULT R3, R1, R2
STORE R3, 3000
复杂指令集架构
一条复杂指令

例如:MULT 1000, @2000
微程序控制器
微操作1: 取地址
微操作2: 取数据
微操作3: 执行乘法
微操作4: 存结果

详细对比表格

对比维度 RISC(精简指令集) CISC(复杂指令集)
指令数量 少(约50-100条) 多(200-300+条)
指令长度 固定(4字节) 可变(1-15字节)
寻址方式 3-5种 10-20种
内存访问 只有LOAD/STORE 多数指令可直接访问
寄存器数量 多(32-128个) 少(8-16个)
设计复杂度 简单 复杂
功耗
典型代表 ARM, RISC-V x86, 68000

实际场景举例:计算数组总和

假设我们要计算数组的总和:sum = array[0] + array[1] + array[2] + array[3]

指令执行过程对比

CISC传统执行
指令1: 复杂操作
执行需要多个周期
指令2: 等待
RISC流水线执行
指令1

取指
指令1

译码
指令1

执行
指令1

访存
指令1

写回
指令2

取指
指令2

译码
指令2

执行
指令2

访存

处理器内部结构对比

CISC处理器核心
取指单元
译码单元

复杂微程序
微程序控制ROM
微操作序列
执行单元

专用硬件多
可直接内存访问
RISC处理器核心
取指单元
译码单元

简单组合逻辑
寄存器文件

32个通用寄存器
ALU/执行单元
加载/存储单元

实际应用场景选择指南

个人电脑/服务器
移动设备/嵌入式
高性能计算
选择处理器架构
主要应用场景?
CISC架构

Intel/AMD x86
RISC架构

ARM/ RISC-V
混合考虑
优势:

✓ 软件兼容性好

✓ 单指令功能强

✓ 适合复杂应用
优势:

✓ 功耗低

✓ 发热小

✓ 成本低

✓ 续航长
需要高性能

倾向CISC
需要低功耗

倾向RISC

现代发展趋势:相互融合

现代处理器设计趋势
CISC处理器

Intel Core/AMD Ryzen
内部转换
转换为类似RISC的

微指令执行
RISC处理器

ARM Cortex-A
指令集简化
增加SIMD等

专用复杂指令
最终目标:

高性能 + 低功耗

总结对比

特性 CISC RISC
程序大小 小(代码密度高) 大(需要更多指令)
编译难度 复杂(优化空间大) 简单(指令规则)
硬件设计 复杂,晶体管多 简单,晶体管少
功耗效率 较低 较高
开发周期
典型应用 PC、服务器 手机、嵌入式

生活中的类比

  • CISC就像一把瑞士军刀:一把刀可以完成多种功能(开瓶、锯木、剪东西),但每个功能都不是最专业的

  • RISC就像一套专用工具:有专门的螺丝刀、专门的剪刀、专门的锯子,每个工具做一件事,但做得特别好

希望这个图文并茂的介绍能帮助你更好地理解RISC和CISC的区别!如果有任何不清楚的地方,欢迎继续询问。

相关推荐
码尔泰1 年前
CISC 和 RISC 架构的对比
架构·risc-v·cisc·risc
生活热爱就好2 年前
第一章 计算机硬件基础(CISC/RISC指令系统)
软考·信息管理工程师·信管·cisc·risc