19-嵌入式系统架构设计实践(第19小时)
软考-系统架构设计师 | 第4篇 架构设计实践知识 出题形式:下午案例分析题(25 分) 分值占比:约 25 分
0. 考点分析
- 嵌入式系统发展历程:SCM → MCU → SoC → 互联网嵌入式 → 智能化嵌入式
- 嵌入式处理器 5 大类:MPU / MCU / DSP / GPU / SoC
- 存储器分类:RAM(18 种)/ ROM(5 种)
- 总线分类:数据/地址/控制 总线,片内/系统/局部/通信 总线
- 看门狗:系统恢复能力
- 嵌入式操作系统内核架构:宏内核 vs 微内核
- 任务调度算法:RMS(最优)/ EDF / LLF
- 嵌入式数据库:eXtremeDB / SQLite
- 鸿蒙 OS 4 层架构:内核层/系统服务层/应用框架层/应用层
- GENESYS 架构:3 组服务、6 大特征
- ABSD / ADD / DARTS 设计方法
1. 核心架构知识
1.1 嵌入式系统发展历程(5 阶段)
| 阶段 | 硬件 | 软件 | 主要特点 |
|---|---|---|---|
| SCM(单片微型计算机) | 单片机 | 无操作系统,汇编语言 | 结构和功能相对单一,处理效率低,存储容量十分有限 |
| MCU(微控制器) | 单片机+嵌入式微处理器+外围电路+接口电路 | 简单操作系统 | 种类繁多,通用性弱,系统开销小,智能化控制突出 |
| SoC(片上系统) | 嵌入式微处理器 | 嵌入式操作系统 | 兼容性好,内核小,处理效率高 |
| 互联网嵌入式系统 | 微处理器+网络接口 | 嵌入式操作系统 | 集成网络接口,应用于网络环境 |
| 智能化嵌入式 | 微型传感器+智能服务设备 | — | 低能耗、高速度、高集成、高可信 |
1.2 嵌入式系统硬件
1.2.1 传统嵌入式系统硬件组成
- 微处理器(MCU/MPU)
- 存储器(RAM、ROM)
- 总线(内总线、外总线)
- 定时器/计数器(Timer)
- 看门狗(WatchDog)
- I/O 接口(串口、网络、USB、JTAG)
- 外部设备(UART、LED)
1.2.2 嵌入式处理器 5 大类
| 类别 | 全称 | 特点 |
|---|---|---|
| MPU | Micro Processor Unit(微处理器) | 体积小、重量轻、成本低、可靠性高,但技术保密性差 |
| MCU | Micro Control Unit(微控制器) | 单片化、体积小、功耗低、成本低、可靠性更高 |
| DSP | Digital Signal Processor(信号处理器) | 哈佛结构、编译效率高、指令执行速度高 |
| GPU | Graphics Processing Unit(图形处理器) | 专注浮点运算,弥补 CPU 运算速度不足 |
| SoC | System on Chip(片上系统) | 片内再编程技术,使硬件功能可像软件一样编程配置 |
1.2.3 存储器分类
RAM 18 种(节选重点):
- DRAM、SRAM、VRAM
- FPM DRAM、EDO DRAM、BEDO DRAM
- MDRAM、WRAM、RDRAM
- SDRAM、SGRAM、SB SRAM、PB SRAM
- DDR SDRAM、SLDRAM、CDRAM、DDRII、DRDRAM
ROM 5 种:
- MASK ROM(掩模型)
- PROM(可编程)
- EPROM(可擦可编程)
- EEPROM(电可擦可编程)
- Flash Memory(快闪存储器)
1.2.4 总线分类
| 按信息种类 | 说明 |
|---|---|
| 数据总线 | 处理器与 RAM 间传输待处理和待存储的数据 |
| 地址总线 | 传输 RAM 中存储数据的地址 |
| 控制总线 | 传输处理器控制单元信号到周边设备 |
| 按连接部件 | 说明 |
|---|---|
| 片内总线 | 内部总线,连接 ALU、寄存器、指令部件等芯片内部元件 |
| 系统总线 | 内部总线,又称板级总线,连接微控制器/处理器、主存、I/O |
| 局部总线 | 内部总线,连接少量组件用于交换数据 |
| 通信总线 | 外部总线,又称外设总线,连接外部设备或外部系统 |
总线拓扑结构:星型、树状、环型、总线型、交叉开关型(5 种)
1.2.5 看门狗(WatchDog)
作用:嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序跑飞时重新启动系统。
基本原理:
- 计数器自动计数
- 程序定期将其重置
- 如果系统卡死或程序跑飞,计数器溢出,进入中断处理
- 在设定时间间隔内,系统保留状态后复位重启
1.3 嵌入式系统软件
1.3.1 嵌入式操作系统(EOS)特点
- 可剪裁性、可移植性
- 强实时性、强紧凑性
- 高质量代码、强定制性
- 标准接口、强稳定性
- 弱交互性、强确定性
- 操作简捷、方便
- 较强的硬件适应性、可固化性
1.3.2 内核架构
| 类型 | 含义 |
|---|---|
| 宏内核 | 用户服务和内核服务在同一空间中实现,代码耦合度非常高 |
| 微内核 | 用户服务和内核服务在不同空间中实现,系统结构清晰,代码量少 |
1.3.3 任务管理
任务 3 种工作状态:
- 执行状态:任务获得处理机,程序在处理机中执行
- 就绪状态:任务已获得处理机以外资源,待获得处理机即可执行
- 阻塞状态:执行状态任务因等待事件发生无法执行而放弃处理机
调度算法:
| 类别 | 描述 |
|---|---|
| 离线调度 | 系统运行前确定调度信息(如时间驱动) |
| 在线调度 | 系统运行中动态获得调度信息(如优先级驱动) |
| 抢占调度 | 运行任务可能被打断 |
| 非抢占调度 | 运行任务不被打断 |
| 静态调度 | 任务优先级在设计时确定,不变化 |
| 动态调度 | 任务优先级在运行中确定,不断变化 |
3 大实时调度算法:
| 算法 | 原理 | 备注 |
|---|---|---|
| EDF(最早截止时间优先) | 截止时间越早,优先级越高 | |
| LLF(最低松弛度优先) | 紧急程度越高,优先级越高 | |
| RMS(单调速率) | 周期越短,优先级越高 | 被认为是最优的 |
1.3.4 嵌入式数据库特点
嵌入式、实时性、移动性、伸缩性
3 种分类:
- 按嵌入对象:软件嵌入、设备嵌入、内存数据库
- 按系统结构:嵌入数据库、移动数据库、小型 C/S 结构
- 按存储位置:基于内存、基于文件、基于网络
典型产品:
- eXtremeDB(基于内存):最小化资源消耗、极小堆空间、动态数据结构本地支持
- SQLite(基于文件):开源、内嵌式、服务器客户端同进程
- C/S、B/S、云数据库(基于网络)
DBMS vs 嵌入式数据库:
| 对比项 | 数据库管理系统 | 嵌入式数据库 |
|---|---|---|
| 操作用户 | 允许非开发人员操作 | 只允许应用程序访问和控制 |
| 访问控制 | 数据与程序分离 | 应用程序负责访问控制 |
| 发布部署 | 独立安装、部署、管理 | 与应用程序一同发布 |
1.3.5 嵌入式中间件
嵌入式应用和操作系统之间的中间软件,作用是屏蔽底层操作系统的异构性。
常见功能:网络通信、内存管理、数据处理
典型嵌入式中间件:消息中间件、分布式对象中间件
1.4 嵌入式系统软件架构设计方法
| 方法 | 全称 | 关键点 |
|---|---|---|
| ABSD | Architecture-Based Software Design | 基于架构的软件设计开发方法(见第9小时) |
| ADD | Attribute-Driven Design | 属性驱动的软件设计方法 |
| DARTS | Design Approach for Real-Time System | 实时系统设计方法 |
1.4.1 ADD 方法
输入:一组质量属性(可用性、性能、安全性等)场景 方法:利用对质量属性实现与架构设计之间的关系的了解(体系结构风格、质量战术等) 目标:在满足质量属性的基础上建立模块分解过程
7 个阶段:
- 评审
- 选择驱动因子
- 选择系统元素
- 选择设计概念
- 实体化元素和定义接口
- 草拟视图
- 分析评价
1.4.2 DARTS 方法
5 个部分:
- 用实时结构化分析方法开发系统规范
- 将系统划分为多个并发任务
- 定义任务间接口
- 设计每个任务
- 设计过程的成果
优势:
- 强调将系统分解为并发任务,并提供确认任务的标准
- 提供定义任务间接口的指南
- 强调用任务架构图的重要性
- 提供从实时结构化分析规格到实时结构化设计的转换
不足:
- DARTS 使用信息隐藏技术封装数据存储,封装性不好
- 如果实时结构化分析阶段完成得不好,任务的结构化工作就会更加困难
1.5 嵌入式系统软件架构实践
1.5.1 鸿蒙操作系统(HarmonyOS)
架构理念:分布式设计,实现 4 种分布式能力:
- 分布式软总线
- 分布式设备系统的虚拟化
- 分布式数据管理
- 分布式任务调度
4 层架构(自下而上):
- 内核层(微内核设计):内核抽象层 KAL 屏蔽多内核差异
- 系统服务层:核心能力集合
- 应用框架层:多语言用户程序框架、能力框架、各种硬件服务 API
- 应用层:系统应用 + 第三方应用
4 大技术特性:
- 分布式架构用于终端操作系统,实现跨终端无缝协同体验
- 确定时延引擎和高性能进程间通信技术,实现系统的流畅
- 基于微内核架构,重塑终端设备的可信安全
- 统一集成开发环境,一次开发,多端部署,实现跨终端生态共享
1.5.2 GENESYS(跨领域嵌入式架构)
跨领域的通用嵌入式架构平台。采用消息交换方式实现软硬件构件的抽象级别提升。
GENESYS 3 组服务:
- 领域无关服务:核心服务(全局时间、消息传输)+ 选择服务(信息安全、外部存储、网关)
- 领域专用服务:领域特有的服务子集 + 特定服务组合
- 应用专用服务:包含中间件
6 大特征及优势:
- 精确的构件定位:简单化、跨领域重用、规模经济型、健壮性、降低系统集成工作量
- 开放性:可集成、可升级、可扩展、遗产系统集成、降低成本
- 三级集成:芯片级、设备级、系统级
- 分层的服务:可重用性、领域定位、工效经济型
- 确定的核心:及时性、降低复杂性、可测试性、认证、故障掩蔽
- 标准的互联集成:对远程访问的保护、降低集成工作难度、常规人机交互、安全性
解决 3 大挑战:复杂性管理、系统健壮性、能量有效使用
1.5.3 物联网操作系统软件架构
主要软件技术:
- 开源操作系统:FreeRTOS
- 公共服务组件:网络协议、外设支持、POSIX
- 定制性服务组件:MQTT、HTTPS、PKCS #11、安全套件
5 大特征:
- 内核实时性
- 内核尺寸伸缩性
- 架构可扩展性
- 高可靠性
- 低功耗
1.6 实践案例
案例 1:智能家居中鸿蒙 OS 的应用
- 分布式软总线:手机+智能音箱+智能门锁无缝协同
- 一次开发,多端部署:同一 App 在手机/平板/智慧屏运行
- 微内核:低时延、高安全
案例 2:工业控制系统中的 GENESYS 应用
- 芯片级集成:传感器节点
- 设备级集成:PLC、SCADA
- 系统级集成:MES、ERP
2. 关键概念速查
| 概念 | 定义/说明 | 常见考点 |
|---|---|---|
| SCM | 单片微型计算机 | 第一代嵌入式系统 |
| MCU | 微控制器 | 单片化 |
| SoC | 片上系统 | 片内可编程 |
| MPU | 微处理器 | 嵌入式处理器 |
| DSP | 数字信号处理器 | 哈佛结构 |
| GPU | 图形处理器 | 浮点运算 |
| 看门狗 | WatchDog | 系统跑飞时复位 |
| 宏内核 | Monolithic | 同一地址空间 |
| 微内核 | Microkernel | 不同地址空间 |
| RMS | 单调速率调度 | 周期短优先级高 |
| EDF | 最早截止时间优先 | 截止早优先 |
| LLF | 最低松弛度优先 | 紧急程度优先 |
| ACID | 数据库事务 | 原子、一致、隔离、持久 |
| eXtremeDB | 内存数据库 | 嵌入式场景 |
| SQLite | 文件数据库 | 嵌入式场景 |
| ABSD | 基于架构的设计 | 第9小时也讲 |
| ADD | 属性驱动设计 | 7 阶段 |
| DARTS | 实时系统设计 | 5 部分 |
| 鸿蒙 OS | HarmonyOS | 4 层架构、4 大特性 |
| GENESYS | 跨领域通用嵌入式架构 | 3 组服务、6 大特征 |
| FreeRTOS | 开源 RTOS | 物联网操作系统 |
| MQTT | 消息队列遥测传输协议 | IoT 协议 |
| POSIX | 可移植操作系统接口 | UNIX 标准 |
| PKCS#11 | 加密消息标准 | 密码接口 |
| HDF | HarmonyOS 驱动框架 | 鸿蒙特有 |
3. 典型例题(案例分析题)
例题 1:选择题
题目:以下关于鸿蒙操作系统的叙述中,不正确的是( )。
A. 鸿蒙整体架构采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层 B. 鸿蒙内核层采用宏内核设计,拥有更强的安全特性和低时延特点 C. 鸿蒙采用了分布式设计理念,实现了 4 种分布式能力 D. 架构的系统安全性主要体现在搭载 HarmonyOS 的分布式终端上,可以保证"正确的人,通过正确的设备,正确地使用数据"
参考答案:B 解析:鸿蒙采用微内核架构,不是宏内核。
例题 2:简答题
题目:GENESYS 架构的主要特征及优势是什么?
参考答案: GENESYS 架构的主要特征及优势包括:
- 精确的构件定位:简单化、跨领域重用、规模经济型、健壮性、降低系统集成工作量(5 个特征)
- 开放性:可集成、可升级、可扩展、遗产系统集成、降低成本(5 个特征)
- 三级集成:芯片级集成、设备级集成、系统级集成
- 分层的服务:可重用性、领域定位、工效经济型
- 确定的核心:及时性、降低复杂性、可测试性、认证、故障掩蔽
- 标准的互联集成:对远程访问的保护、降低集成工作难度、常规人机交互、安全性(4 个方面)
例题 3:简答题
题目:鸿蒙操作系统架构具有哪几个技术特性?
参考答案:
- 分布式架构用于终端操作系统,实现跨终端无缝协同体验
- 确定时延引擎和高性能进程间通信技术,实现系统的流畅
- 基于微内核架构,重塑终端设备的可信安全
- 统一集成开发环境,一次开发,多端部署,实现跨终端生态共享
例题 4:简答题
题目:嵌入式系统软件架构设计方法中的实时系统设计方法(DARTS)具有哪些优势和不足?
参考答案:
优势:
- 强调将系统分解为并发任务,并提供确认任务的标准
- 提供定义任务间接口的指南
- 强调用任务架构图的重要性
- 提供从实时结构化分析规格到实时结构化设计的转换
不足:
- DARTS 使用信息隐藏技术封装数据存储,封装性不好
- 如果实时结构化分析阶段完成得不好,任务的结构化工作就会更加困难
4. 论文素材
本章是论文题出题范围,以下 3 个题目方向可以重点准备:
论鸿蒙操作系统的分布式架构设计
- 写作要点:4 层架构、4 大特性、4 种分布式能力
- 实战案例:智能家居跨设备协同
论嵌入式系统的实时调度算法选择
- 写作要点:RMS/EDF/LLF 对比、抢占 vs 非抢占
- 实战案例:工业控制实时系统
论嵌入式数据库在物联网终端的应用
- 写作要点:eXtremeDB/SQLite 对比、内存 vs 文件
- 实战案例:智能水电气表数据采集
5. 高频考点
- 嵌入式发展 5 阶段:必背
- 处理器 5 大类:MPU/MCU/DSP/GPU/SoC
- 宏内核 vs 微内核:鸿蒙是微内核
- RMS 是最优调度算法:高频陷阱题
- 3 大实时调度算法:EDF/LLF/RMS
- 鸿蒙 OS 4 层架构 + 4 大技术特性:必出
- GENESYS 6 大特征:简答题常考
- DARTS 优势 4 条、不足 2 条:背熟