嵌入式系统设计师软考个人笔记<1>

一、嵌入式系统基本概念

定义 :嵌入式系统是以应用为中心以计算机技术为基础,软硬件可裁剪的专用计算机系统,核心是 "控制程序存储在 ROM 的嵌入式处理器 / 控制板"。

二、基本计算机硬件系统组成

计算机硬件由 5 大核心部件构成(冯・诺依曼体系):

  1. 运算器
    • 核心是ALU(算术逻辑单元),负责算术运算(+、-、×、÷)和逻辑运算(与、或、非);
    • 嵌入式中集成在 CPU 内部。
  2. 控制器
    • 计算机的 "指挥中心",负责解析指令、协调硬件动作;
    • 与运算器共同组成CPU(中央处理器)
  3. 存储器
    • 内存储器(内存):速度快、容量小、断电数据丢失(如 RAM);
    • 外存储器(外存):速度慢、容量大、断电数据保留(如 ROM、Flash、硬盘)。
  4. 输入设备
    • 向计算机输入数据 / 指令的设备(如键盘、传感器、触摸屏)。
  5. 输出设备
    • 向外部输出处理结果的设备(如显示器、LED、电机)。

三、计算机核心寄存器(CPU 内部组件)

  1. 指令寄存器(IR)
    • 存储当前正在执行的指令,供控制器解析。
  2. 程序计数器(PC)
    • 功能:① 存储下一条要执行的指令地址;② 自动 "计数"(指令执行后,PC 自动 + 1 指向下一条指令)。
  3. 地址寄存器(AR)
    • 存储要访问的内存 / 外设地址,配合地址总线完成数据读写。
  4. 指令译码器(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 的个数" 为奇数(奇校验)或偶数(偶校验);
    • 特点:仅能检测奇数位错误,无法纠错。
  2. 海明码
    • 原理:在数据中插入多个校验位,通过校验位的组合定位错误位;
    • 特点:能检测并纠正 1 位错误
  3. CRC(循环冗余校验)
    • 原理:通过多项式除法生成校验码,接收方重新计算并对比;
    • 特点:能检测多位错误(常见于通信、存储领域)。

六、计算机的加减法实现

  • 核心逻辑:用补码实现加减法统一(减法转加法);
  • 步骤:
    1. 将被减数、减数转换为补码;
    2. 减法→"被减数补码 + 减数补码的相反数补码";
    3. 计算结果的补码转换为原码,得到最终结果。

七、寄存器分类与功能

  1. 程序寄存器(PC)

    • 存放下一条指令的内存地址

    • 顺序执行时自动+1,跳转时装载目标地址

  2. 指令寄存器(IR)

    • 存放当前从内存取出的指令

    • 输出到译码器进行解析

  3. 地址寄存器(AR)

    • 存放要访问的内存单元地址

    • 连接地址总线,用于寻址

八、控制与译码单元

  1. 指令译码器

    • 输入:IR中的操作码

    • 输出:控制信号(如ALU操作、寄存器写使能、内存读写)

  2. 时序控制逻辑

    • 生成时钟同步的控制序列

    • 控制数据通路的开关

  3. 程序计数器逻辑

    • 控制PC的更新(+1、跳转、中断入口装载)

九、数据通路

复制代码
PC → 地址总线 → 内存  
内存 → 数据总线 → IR  
IR → 译码器 → 控制信号  
AR → 地址总线 → 内存(数据存取)  
寄存器组 ↔ ALU ↔ 内存
相关推荐
wdfk_prog4 小时前
[Linux]学习笔记系列 -- bits
linux·笔记·学习
九成宫4 小时前
计算机网络期末复习——第4章:网络层 Part One
网络·笔记·计算机网络·软件工程
shuangrenlong4 小时前
音乐app笔记
笔记
am心4 小时前
学习笔记-菜品接口-菜品分页查询
笔记·学习
swan4164 小时前
SCAU期末笔记 - 计算机网络雨课堂习题整理
arm开发·笔记·计算机网络
丝斯20114 小时前
AI学习笔记整理(44)——大规模预训练模型数据处理管道Pipeline
人工智能·笔记·学习
自不量力的A同学4 小时前
Dragonfly v2.4.0 发布
笔记
代码游侠4 小时前
学习笔记——51单片机学习
笔记·stm32·单片机·嵌入式硬件·51单片机
博览鸿蒙6 小时前
FPGA 开发软件学习笔记分享(内含安装与环境配置)
笔记·学习·fpga开发