嵌入式、手机、电脑:从原理到关系 | 延伸阅读
总结:
嵌入式是为特定任务定制的简化版计算机,手机是高级嵌入式,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从内存读指令执行
详细过程:
-
关机状态:操作系统完整躺在SSD里(Windows、macOS、Android内核都是文件)
-
按下电源:
-
BIOS/引导程序先跑起来(存在ROM里,很小)
-
它把OS内核从SSD搬到内存
-
-
系统运行中:
-
内核常驻内存
-
打开的App也从SSD加载到内存
-
CPU处理的所有数据都在内存里中转
-
-
关机:
-
内存断电,数据全清
-
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是通用计算机。
三者底层原理相同,区别在于规模、性能、用途。学通一个,其他都是举一反三。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)