一、嵌入式系统基本概念
定义 :嵌入式系统是以应用为中心 、以计算机技术为基础,软硬件可裁剪的专用计算机系统,核心是 "控制程序存储在 ROM 的嵌入式处理器 / 控制板"。
二、基本计算机硬件系统组成
计算机硬件由 5 大核心部件构成(冯・诺依曼体系):
- 运算器 :
- 核心是ALU(算术逻辑单元),负责算术运算(+、-、×、÷)和逻辑运算(与、或、非);
- 嵌入式中集成在 CPU 内部。
- 控制器 :
- 计算机的 "指挥中心",负责解析指令、协调硬件动作;
- 与运算器共同组成CPU(中央处理器)。
- 存储器 :
- 内存储器(内存):速度快、容量小、断电数据丢失(如 RAM);
- 外存储器(外存):速度慢、容量大、断电数据保留(如 ROM、Flash、硬盘)。
- 输入设备 :
- 向计算机输入数据 / 指令的设备(如键盘、传感器、触摸屏)。
- 输出设备 :
- 向外部输出处理结果的设备(如显示器、LED、电机)。
三、计算机核心寄存器(CPU 内部组件)
- 指令寄存器(IR) :
- 存储当前正在执行的指令,供控制器解析。
- 程序计数器(PC) :
- 功能:① 存储下一条要执行的指令地址;② 自动 "计数"(指令执行后,PC 自动 + 1 指向下一条指令)。
- 地址寄存器(AR) :
- 存储要访问的内存 / 外设地址,配合地址总线完成数据读写。
- 指令译码器(ID) :
- 解析指令寄存器中的指令,翻译成硬件可执行的控制信号。
四、数的表示
1. 进制与转换
- 任意进制数(如 N 进制)的权值是 N 的幂次;
- 进制转换:十进制↔二进制 / 八进制 / 十六进制。
2. 机器数的编码(带符号数表示)
机器数用 "最高位表示符号"(0 = 正、1 = 负),常见编码有 3 种:
| 编码类型 | 正数表示 | 负数表示 | 特点 |
|---|---|---|---|
| 原码 | 符号位 + 数值位 | 符号位(1)+ 数值位 | 简单直观,但加减法需区分符号,0 有两种表示(+0、-0) |
| 反码 | 与原码相同 | 符号位(1)+ 数值位按位取反 | 是原码到补码的过渡,0 仍有两种表示 |
| 补码 | 与原码相同 | 反码 + 1 | 0 只有一种表示,加减法可统一为加法 |
3. 浮点数表示
- 格式:用符号位 + 阶码(指数)+ 尾数(有效数字) 表示(例:科学计数法的机器实现);
- 分隔:小数部分与整数部分用 "△"(或小数点)隔开。
4. 移码
- 定义:在数 X 的基础上加一个偏移量,用于表示浮点数的阶码(避免阶码出现负数);
- 规则:偏移量为2n−1(n 是阶码位数);
五、数据校验
用于检测 / 纠正数据传输中的错误,常见类型:
- 奇偶校验 :
- 原理:在数据后加 1 位 "校验位",使数据中 "1 的个数" 为奇数(奇校验)或偶数(偶校验);
- 特点:仅能检测奇数位错误,无法纠错。
- 海明码 :
- 原理:在数据中插入多个校验位,通过校验位的组合定位错误位;
- 特点:能检测并纠正 1 位错误。
- CRC(循环冗余校验) :
- 原理:通过多项式除法生成校验码,接收方重新计算并对比;
- 特点:能检测多位错误(常见于通信、存储领域)。
六、计算机的加减法实现
- 核心逻辑:用补码实现加减法统一(减法转加法);
- 步骤:
- 将被减数、减数转换为补码;
- 减法→"被减数补码 + 减数补码的相反数补码";
- 计算结果的补码转换为原码,得到最终结果。
七、寄存器分类与功能
-
程序寄存器(PC)
-
存放下一条指令的内存地址
-
顺序执行时自动+1,跳转时装载目标地址
-
-
指令寄存器(IR)
-
存放当前从内存取出的指令
-
输出到译码器进行解析
-
-
地址寄存器(AR)
-
存放要访问的内存单元地址
-
连接地址总线,用于寻址
-
八、控制与译码单元
-
指令译码器
-
输入:IR中的操作码
-
输出:控制信号(如ALU操作、寄存器写使能、内存读写)
-
-
时序控制逻辑
-
生成时钟同步的控制序列
-
控制数据通路的开关
-
-
程序计数器逻辑
- 控制PC的更新(+1、跳转、中断入口装载)
九、数据通路
PC → 地址总线 → 内存
内存 → 数据总线 → IR
IR → 译码器 → 控制信号
AR → 地址总线 → 内存(数据存取)
寄存器组 ↔ ALU ↔ 内存