1.1 微处理器、微型计算机与嵌入式系统
当你按下微波炉按钮、解锁汽车或读取温度时,一个微小的计算系统可能正在产品内部工作。本课程先区分三个经常被混用的名称:
- 微处理器(microprocessor)是在一块集成电路芯片上实现的处理器;
- 微型计算机(microcomputer)是围绕微处理器或微控制器构成的完整计算机;
- 嵌入式系统(embedded system)是放在更大产品内部、执行特定任务的计算机。
学习本节不需要电子学或编程基础。现在可以先把处理器理解成一个按规则工作的执行者:它不断读取一条指令,判断指令的含义,然后完成指定操作。
一块芯片不一定是一台完整计算机
单独的微处理器可以执行指令,但实用的计算机还需要保存指令与数据的地方、接收信息的途径,以及影响外部世界的途径。
| 部件 | 初学者可以这样理解 | 例子 |
|---|---|---|
| 处理器 / CPU | 执行指令并协调工作 | 8086 芯片 |
| 存储器 | 保存指令与工作数据 | RAM 或 ROM |
| 输入 | 把信息送入系统 | 按键或温度传感器 |
| 输出 | 把结果送出系统 | 显示器、电机或蜂鸣器 |
CPU(中央处理器)是执行指令的部件。在许多入门语境中,“处理器”“CPU”和“微处理器”表示几乎相同的功能角色;不过,“微处理器”特别强调处理器由集成电路芯片实现。
> 处理器可以是计算机的一个部件,但不等于整台计算机。
这是判断系统边界的好方法。8086 芯片是一颗微处理器。为它配上合适的存储器、键盘、显示器、电源与连接线路,这些协作部件才可能组成一台微型计算机。
实验 1——用证据分类
“智能”“数字”等产品名称不是可靠证据。机械弹簧定时器也可以控制烤面包机,却不需要执行存储程序。在实验中,请先观察设备拥有的部件,再选择证据真正支持的全部分类。
解决每个案例后,可以故意做一次错误分类,阅读诊断,并找出缺少的条件。测试概念边界比死记产品名称更可靠。
通用系统与嵌入式系统
笔记本电脑被设计为运行用户选择的许多程序;洗衣机控制器通常围绕更窄、更明确的任务设计。二者都可能是完整计算机,但用途不同。
| 问题 | 通用微型计算机 | 嵌入式系统 |
|---|---|---|
| 用在哪里? | 自身就是主要产品 | 位于更大的产品内部 |
| 做什么? | 完成用户选择的多种任务 | 完成设计时确定的特定任务 |
| 常见重点 | 灵活性与用户体验 | 成本、功耗、尺寸、时序、可靠性 |
| 例子 | 笔记本电脑 | 汽车防抱死制动控制器 |
“任务特定”不等于“简单”。一辆汽车可能包含几十个嵌入式系统;网络路由器的工作很复杂,但仍然服务于专门目的。
嵌入式系统经常反复完成一个循环:
1. 感知物理世界的输入; 2. 用存储的指令计算决策; 3. 通过输出进行执行; 4. 在时限、能耗和安全约束下持续重复。
以温室控制器为例,温度传感器是输入,处理器判断控制规则,风扇继电器是输出。存储器既保存控制程序,也保存目标温度等有用数据。
系统需求带来取舍
并不是把所有部件都做到最大就会得到更好的设计。更快的处理器可能更贵、更耗电;额外的存储器占用空间和能源;每个接口也会增加硬件与软件工作量。
因此,工程师通常从任务与约束出发:
- 系统必须观察哪些输入?
- 系统必须控制哪些输出?
- 响应必须多快?
- 需要多少存储空间和计算能力?
- 成本、能量、尺寸和可靠性上限是什么?
便携计算器需要按键与显示器,却通常不需要电机或高性能网络接口。温室控制器则需要传感器与执行器。脱离任务选择部件容易造成浪费;部件不足又会使任务无法完成。
实验 2——在约束下构建系统
请配置几种系统。实验会实时计算成本与功耗。合格方案必须包含所有必要接口,具有足够的 CPU 与存储器能力,并同时满足两个上限。
设计通过后不要立刻结束。尝试删除一个接口或降低一级能力;系统刚刚失效的位置会揭示该资源为什么必不可少。
一个紧凑的思维模型
请记住三句话:
1. 微处理器是位于芯片上、负责执行指令的处理部件。 2. 微型计算机把处理器、存储器、输入与输出组合成完整计算系统。 3. 嵌入式系统是集成在更大产品中、服务于特定任务的计算机。
这些类别可以重叠。智能恒温器既是完整的微型计算机,也是嵌入式系统;其中的处理芯片可以是微处理器,也可以是微控制器。单独的处理器芯片还不是完整的微型计算机。
下一节将打开系统边界,跟随信息在 CPU、存储器、输入和输出之间流动。