总结:

嵌入式是为特定任务定制的简化版计算机,手机是高级嵌入式,PC是通用计算机。

三者底层原理相同,区别在于规模、性能、用途。学通一个,其他都是举一反三。

一、完整的计算机模型(冯·诺依曼架构)

五大件缺一不可

输入设备 → [存储器] ← → 运算器 ← → 输出设备
                ↑
            控制器(读指令)
部件 作用 例子
输入 把外部信息送进去 键盘、鼠标、传感器、摄像头
输出 把结果送出来 屏幕、电机、LED、喇叭
存储器 存程序和数据 内存、寄存器、SSD
运算器 做计算 ALU(加减乘除、逻辑运算)
控制器 指挥协调 从内存读指令,解码,执行

运算器 + 控制器 = CPU

嵌入式、手机、电脑对比

部件 PC 手机 嵌入式
输入 键盘鼠标摄像头 触摸屏、麦克风 按钮、传感器、触摸屏
输出 显示器音箱 屏幕、扬声器 LED、电机、屏幕
存储 内存条+SSD RAM+闪存(焊死) RAM+Flash(焊死)
CPU x86(i3/i5/i7) ARM(高通/苹果) ARM/MCU(STM32、i.MX6ULL)
程序 Windows+各种软件 Android/iOS 固件/嵌入式Linux

本质一样,都是冯·诺依曼架构。区别在于规模、性能、用途。


二、为什么要分三类存储?

速度、容量、成本三者不可兼得

速度 容量 成本 位置
寄存器 1ns 几十KB 极贵 CPU内部
内存 100ns 几GB-几十GB 中等 主板
SSD 100μs 几百GB-几TB 便宜 硬盘位

速度差十万倍,成本差千倍

如果只用一种会怎样?

全用寄存器:

  • 速度最快,但太贵

  • 1GB寄存器 ≈ 几十万美元

  • 装不下大容量数据

全用SSD:

  • 容量大便宜,但太慢

  • CPU每秒算几十亿次,等SSD取数据要10万ns

  • CPU 99.99%时间在等数据

全用内存:

  • 比寄存器便宜,但比SSD贵

  • 掉电丢数据,不能当硬盘用

分层配合的工作原理

CPU取数据的顺序:

寄存器里有吗?(命中→直接用,1ns)
  ↓ 没有
内存里有吗?(命中→搬到寄存器,100ns)
  ↓ 没有
SSD里有吗?(命中→搬到内存→再搬寄存器,100μs)

局部性原理:CPU 80%的时间只用20%的数据。

  • 寄存器:放那20%的热点数据,极快

  • 内存:放正在运行的程序,够用

  • SSD:放所有东西,兜底

比喻:

  • 寄存器 = 手里的工具(秒拿)

  • 内存 = 桌子上的材料(伸手够)

  • SSD = 仓库里的库存(得跑一趟)


三、操作系统运行在哪里?

开机启动流程

SSD里的系统文件 → 开机时被加载到内存 → CPU从内存读指令执行

详细过程:

  1. 关机状态:操作系统完整躺在SSD里(Windows、macOS、Android内核都是文件)

  2. 按下电源

    • BIOS/引导程序先跑起来(存在ROM里,很小)

    • 它把OS内核从SSD搬到内存

  3. 系统运行中

    • 内核常驻内存

    • 打开的App也从SSD加载到内存

    • CPU处理的所有数据都在内存里中转

  4. 关机

    • 内存断电,数据全清

    • SSD里的系统文件还在,下次开机重新加载

为什么系统必须跑在内存?

CPU速度太快(GHz级别),SSD跟不上(微秒级)。直接从SSD执行:

  • 打开App要等几十秒

  • 切换窗口卡成PPT

  • 多任务跑不动

内存比SSD快千倍,才能喂饱CPU。

手机也是一样的

手机说的"128GB存储"是SSD(闪存),"运行内存16GB"是RAM:

手机 电脑
存储(SSD) 128GB/256GB 512GB/1TB
运行内存(RAM) 8GB/12GB/16GB 16GB/32GB
系统运行位置 RAM RAM

一句话:

SSD是仓库,内存是工作台,CPU是工人。操作系统和所有正在运行的程序,都在工作台上。


四、手机和电脑是不是嵌入式设备?

手机 = 嵌入式设备(高级版)

特征 嵌入式 手机
专用处理器 ✅ ARM/MCU ✅ 高通/苹果ARM芯片
固定硬件 ✅ 出厂定型 ✅ 不能换CPU/内存
专用操作系统 ✅ RTOS/嵌入式Linux ✅ Android/iOS(裁剪过的Linux)
单一用途倾向 ✅ 控制某个功能 ⚠️ 多任务但硬件固定
实时性要求 ✅ 毫秒级响应 ✅ 触屏/通信要实时

手机和传统嵌入式的区别:

  • 手机算力更强(GHz级、多核)

  • 系统更复杂(Android有几百MB)

  • 但本质还是:ARM芯片 + 专用OS + 固定硬件 = 嵌入式

电脑 = 传统意义上"不是"

PC是通用计算机,不是嵌入式:

特征 嵌入式 PC
硬件可换 ❌ 焊死的 ✅ 能换CPU/内存/显卡
通用性 单一功能 ✅ 想装什么装什么
操作系统 专用/裁剪 ✅ 完整Windows/Linux
设计目标 控制特定任务 通用计算

但界限在模糊

  • 树莓派:ARM芯片,能跑Linux,算嵌入式还是PC?看你怎么用

  • Apple M1/M2:ARM架构,焊死内存,越来越像"高级嵌入式"

  • 工控机:x86架构,但用于特定工业控制,算嵌入式

本质区别

嵌入式 = 为特定任务设计的专用计算机

关键不是硬件强弱,而是设计目的

设备 设计目的 算嵌入式?
微波炉控制板 只控制加热 ✅ 典型嵌入式
汽车ECU 只控制发动机 ✅ 典型嵌入式
智能手表 健康监测+通知 ✅ 嵌入式
手机 通信+多任务 ⚠️ 高级嵌入式
PC 通用计算 ❌ 传统PC
树莓派做机器人 控制机器人 ✅ 嵌入式
树莓派做服务器 跑Web服务 ❌ 通用计算机

一句话:

手机是高级嵌入式,PC是通用计算机。界限越来越模糊,核心看"设计目的"而不是"硬件配置"。


五、树莓派是什么?

一块信用卡大小的微型电脑

长什么样

一块绿色电路板,大概8cm×5cm,上面有:

  • ARM处理器(和手机同款架构)

  • 内存(1GB/2GB/4GB/8GB)

  • GPIO引脚(40个,可以接传感器、电机、LED)

  • USB接口、网口、HDMI、WiFi/蓝牙

  • TF卡槽(当硬盘用)

能干什么

当电脑用:

  • 接显示器、键盘、鼠标,跑Linux桌面

  • 上网、写代码、看视频(性能不强但够用)

当嵌入式用(这才是重点):

  • 控制传感器、电机、摄像头

  • 做机器人、智能家居、自动化设备

  • 跑AI模型(小型的)

和STM32/i.MX6ULL的区别

树莓派 STM32 i.MX6ULL
架构 ARM Cortex-A(应用级) Cortex-M(控制级) Cortex-A7(应用级)
操作系统 Linux 裸机/RTOS Linux
性能 强(1.5GHz+) 弱(几十MHz) 中等(900MHz)
GPIO 40个 几十个 几十个
价格 200-500元 几块-几十块 几十-一百多
用途 学Linux、跑应用 控制硬件 学嵌入式Linux

树莓派 = 能跑Linux的微型电脑 + 能控制硬件的GPIO。

比STM32强大(能跑桌面系统),比PC便宜小巧,是学习嵌入式Linux和物联网的好工具。


六、总结:嵌入式、手机、PC的关系

共同点

都是冯·诺依曼架构的计算机:

  • 都有输入、输出、存储、CPU(运算器+控制器)

  • 都从存储器读指令执行

  • 操作系统和程序都跑在内存里

区别

嵌入式 手机 PC
设计目的 专用控制 通信+移动计算 通用计算
硬件 焊死、不可换 焊死、不可换 可扩展
性能 低-中 中-高
成本 几块-几百 几千 几千-上万
典型芯片 STM32、i.MX6ULL 高通、苹果 Intel、AMD
操作系统 RTOS/嵌入式Linux Android/iOS Windows/Linux/macOS

总结:

嵌入式是为特定任务定制的简化版计算机,手机是高级嵌入式,PC是通用计算机。

三者底层原理相同,区别在于规模、性能、用途。学通一个,其他都是举一反三。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐