第七章 · 多核、低功耗与功能安全 本章要回答的三个问题:任务分到多个处理器核上,确定性还保得住吗?截止期要求与电池寿命打架时,系统层面怎么调解?当系统失效会伤人时,开发流程要额外付出什么? 为什么会有这一章 前六章的机制都在单核世界里闭环,本章把三个现实约束拉进视野,它们分别从三个方向挤压截止期预算。 多核是算力约束的方向:单核频率涨不动,芯片厂商靠堆核数交付性能,双核、异构多核已是中高端 MCU 的常态。可第三章那套漂亮的可调度性分析,前提是单一处理器——核一多,任务在核间怎么摆、缓存怎么互相干扰、核间事件怎么同步,全都要重新过一遍。 低功耗是能量约束的方向:电池供电设备的市场要求续航以年计,而实时系统为了「随时响应」天然想多醒着。
本章要回答的三个问题:任务分到多个处理器核上,确定性还保得住吗?截止期要求与电池寿命打架时,系统层面怎么调解?当系统失效会伤人时,开发流程要额外付出什么?
前六章的机制都在单核世界里闭环,本章把三个现实约束拉进视野,它们分别从三个方向挤压截止期预算。
多核是算力约束的方向:单核频率涨不动,芯片厂商靠堆核数交付性能,双核、异构多核已是中高端 MCU 的常态。可第三章那套漂亮的可调度性分析,前提是单一处理器——核一多,任务在核间怎么摆、缓存怎么互相干扰、核间事件怎么同步,全都要重新过一遍。
低功耗是能量约束的方向:电池供电设备的市场要求续航以年计,而实时系统为了「随时响应」天然想多醒着。tickless 只是起点,从芯片的睡眠档位到任务的唤醒结构,功耗要在整个系统层面做预算。
功能安全是后果约束的方向:当一次截止期失守可能伤人,问题就不再是「怎么调优」,而是「怎么证明」。证明需要流程——标准把开发、验证、工具、文档全部纳入管理,这是很多团队从「能跑」到「可交付」之间真实存在的鸿沟。
| 节号 | 回答的问题 | 关键产出 |
|---|---|---|
| 7.1 多核与 SMP 支持 | 多核怎么组织,任务怎么摆才确定 | 两条架构路线与核间同步手段 |
| 7.2 电源管理与低功耗 | 功耗预算怎么编,唤醒结构怎么排 | 睡眠档位模型与预算方法 |
| 7.3 安全 RTOS 与认证 | 失效伤人的系统要怎么开发 | 等级体系与流程件清单 |
三节共享同一个视角:都是「截止期防守」在资源、能量、后果三个维度上的延伸战役。
需要第三章的调度分析(多核是其推广)、6.2 节的 tickless 概念(低功耗的地基)。功能安全一节不要求任何标准背景,术语从零讲起。
一颗典型双核 MCU 的系统结构,标出了三节各自面对的战场:
读图线索:横向是「算力怎么分」(7.1),纵向向下是「能量怎么省」(7.2)与「错了怎么办」(7.3)。三场战役共享同一份武器库——前六章的全部机制。
系统级的问题谈完,第八章回到工程日常:拿这些机制在真实内核(FreeRTOS、Zephyr、RT-Thread、VxWorks)里怎么选型、怎么移植、怎么调试。第七章的很多结论会在那里变成配置项与工具开关。
多核、功耗、功能安全看似三个方向,处理方法却同构:先量化约束,再让设计决策对约束负责。多核的约束是核间通信成本与缓存干扰,于是有了任务分布原则;功耗的约束是平均电流上限,于是有了唤醒结构设计;功能安全的约束是失效概率,于是有了流程件与证据链。遇到本章没覆盖的约束(成本、散热、认证地区差异),套用同样的两步:把约束翻译成可计算的数字,再让每个设计决策注明与该数字的关系。
这个方法论也是应对技术演化的底气:芯片核数、睡眠档位、安全标准的版本都会变,但「量化约束、决策对账」的框架不变。第九章的设计方法论正是这个框架在时间维度的完整展开。