嵌入式学习笔记--前言:常见基本概念掌握
前言
先了解一下基本概念:ARM,X86,X64,RISC,CISC
目录
目录
核心概念与关系总览
首先,我们用一个 “造车哲学与具体车型” 的比喻来建立一个宏观印象:
- CISC 与 RISC:这是两种不同的 “造车哲学” 或 “设计理念”。
- CISC 像是一个 “多功能工具车” 的设计理念,追求一个指令能完成复杂的工作。
- RISC 像是一个 “模块化赛车” 的设计理念,追求每个指令都极其简单快速,通过组合简单指令来完成复杂工作。
- x86, x64, ARM, RISC-V:这些是具体的 “汽车品牌和型号”,它们基于上述的哲学设计出来。
- x86/x64 是基于 CISC哲学 的代表性处理器架构(主要由Intel和AMD制造)。
- ARM 和 RISC-V 是基于 RISC哲学 的代表性处理器架构。
它们之间的关系可以用下图来概括:
设计哲学 (ISA类型)
|
|--- CISC (复杂指令集) --- 主要代表:x86, x64 (是x86的64位扩展)
|
|--- RISC (精简指令集) --- 主要代表:ARM, RISC-V, MIPS, PowerPC等
1. CISC (复杂指令集)
概念/定义
CISC 的设计目标是用最少的指令来完成计算任务。为了实现这个目标,CISC 架构的单个指令非常复杂,功能强大。一条指令可能包含多次内存访问、算术运算和逻辑操作。
发展历程
- 起源:在计算机早期(1960-1970年代),内存非常昂贵且容量极小。为了减少程序占用的内存空间,设计师倾向于让每条指令做更多的事情,从而减少程序总指令数。
- 代表:Intel的 x86 架构是CISC最典型的代表,源于1978年的8086 CPU。
优缺点
- 优点:
- 代码密度高:程序占用的内存空间小(在当时是巨大优势)。
- 更接近高级语言:复杂指令使得编译器的工作更容易。
- 缺点:
- 硬件设计复杂:解码和执行复杂指令的电路非常复杂,功耗大。
- 指令执行周期不统一:有的指令需要1个时钟周期,有的可能需要几十个,不利于流水线并行处理。
- 功耗高:复杂的控制逻辑通常导致更高的功耗。
2. RISC (精简指令集)
概念/定义
到了1980年代,内存成本下降,人们发现CISC的许多复杂指令实际上很少被使用。于是RISC哲学被提出。其核心思想是:只保留使用频率最高的简单指令,让所有指令都在一个时钟周期内完成,并且指令格式规整统一。
发展历程
- 起源:1980年由加州大学伯克利分校的David Patterson等人提出。这是一种“回归简单”的设计革命。
- 核心特征:
- 指令数量少,格式固定。
- 只提供Load/Store指令访问内存,其他指令只操作寄存器。
- 采用深流水线技术,提高并行度。
- 代表:ARM, RISC-V, MIPS, SPARC。
优缺点
- 优点:
- 硬件设计简单:控制单元简洁,芯片面积小,功耗低。
- 高性能:规整的指令集便于使用流水线、超标量等并行技术,平均执行效率高。
- 功耗效率高:非常适合对功耗敏感的移动、嵌入式设备。
- 缺点:
- 代码密度较低:完成同样功能可能需要更多条指令,程序体积相对较大(但现代压缩技术已很大程度上弥补了这一点)。
3. 具体架构详解
现在我们来看看基于这两种哲学的具体“车型”。
x86 / x64
- 所属阵营:CISC
- 定义:
- x86:泛指Intel从8086开始的一系列32位微处理器架构。
- x64 (也叫 x86-64, AMD64):是x86架构的64位扩展,由AMD首先设计,后来成为行业标准。它完全兼容32位x86。
- 特点:
- 统治地位:在个人电脑(PC)、服务器领域占据绝对主导地位。
- 闭源与授权:x86架构由Intel和AMD掌握,其他公司很难获得授权生产兼容CPU。
- 高性能:经过几十年的优化,性能非常强大,但功耗也相对较高。
- 复杂性与历史包袱:为了保持向后兼容,架构中保留了大量历史指令,变得极其复杂。
ARM
- 所属阵营:RISC (尽管现代ARM也加入了一些复杂指令,但其核心哲学仍是RISC)
- 定义:由ARM公司设计的精简指令集架构。ARM公司不生产芯片,只设计IP核(架构蓝图),然后将设计授权给其他公司(如苹果、高通、三星等)生产芯片。
- 特点:
- 能效比极高:最大的优势,非常适合移动设备(手机、平板)、嵌入式系统、物联网设备。
- 授权模式灵活:客户可以购买现成的核心设计,也可以购买架构授权,自行修改和设计(如苹果的A/M系列芯片)。
- 生态系统庞大:在移动端占据垄断地位,并开始进军PC和服务器市场。
RISC-V
- 所属阵营:RISC
- 定义:一个基于RISC原则的开源、免费的指令集架构。由加州大学伯克利分校在2010年创建,旨在成为一个可以被任何人自由使用和修改的通用架构。
- 特点:
- 开源与自由:这是其最革命性的特点。任何公司、个人都可以免授权费地使用和贡献,没有“卡脖子”风险。
- 模块化与精简:采用“基础指令集+标准扩展”的模式,可以根据应用场景(如嵌入式、AI计算)灵活裁剪或增加功能,没有历史包袱。
- 新兴与发展中:虽然相对年轻,但发展迅猛,在嵌入式、物联网、专用加速器等领域前景广阔,被认为是未来的重要力量。
总结与对比表格
CISC与RISC
| 特性 | CISC (哲学) | RISC (哲学) |
|---|---|---|
| 核心思想 | 指令少而功能强 | 指令多而简单,规整统一 |
| 指令复杂度 | 高,变长 | 低,定长 |
| 内存访问 | 指令可直接操作内存 | 只有Load/Store指令可访问内存 |
| 硬件复杂度 | 高,微码控制 | 低,硬连线控制 |
| 功耗 | 通常较高 | 通常较低 |
| 代码密度 | 高 | 较低(可压缩) |
| 代表架构 | x86, x64 | ARM, RISC-V, MIPS |
x86/x64, ARM,RISC-V
| 特性 | x86/x64 | ARM | RISC-V |
|---|---|---|---|
| 设计哲学 | CISC | RISC | RISC |
| 商业模式 | 闭源,授权严格 | 授权IP核 | 完全开源免费 |
| 主要应用 | 桌面PC,服务器 | 移动设备,嵌入式 | 嵌入式,IoT,新兴领域 |
| 最大优势 | 性能,软件生态 | 能效比,移动生态 | 开放性,可定制性 |
| 历史包袱 | 重,需兼容 | 中等,有演进 | 无,轻装上阵 |
给你的学习建议
- 先理解哲学,再记忆架构:牢牢抓住CISC和RISC这两种核心设计思想的区别,这是理解一切的基础。
- 联系应用场景:
- 当你用Windows/Mac电脑时,你接触的是 x86/x64。
- 当你用手机、平板或大多数智能家电时,你接触的是 ARM。
- 当你学习一些新兴的开源硬件或深入嵌入式开发时,你可能会遇到 RISC-V。
- 实践出真知:如果你有条件,可以买一块基于ARM Cortex-M系列(如STM32)的开发板和一块基于RISC-V(如GD32V或K210)的开发板,亲自写程序、看手册,感受它们在架构上的异同。
希望这份详细的讲解能帮助你理清思路,祝你嵌入式学习之路顺利!

浙公网安备 33010602011771号