1. 流水线层级简化
Cortex-M0:采用 3级流水线(取指、解码、执行)。
更多流水线层级导致每个时钟周期需激活更多硬件单元,动态功耗较高。
流水线冲突(如分支预测错误)需刷新流水线,浪费功耗。
Cortex-M0+:优化为 2级流水线(取指+解码、执行)。
减少流水线层级,降低每个周期激活的电路规模,直接减少动态功耗。
流水线冲突概率降低,减少因指令重取导致的额外功耗。
动态功耗降低约 30%(相同工艺和频率下)。
2. 单周期 I/O 访问(单周期 GPIO 操作)
传统 I/O 访问:需通过多层总线(如 AHB、APB),导致多周期延迟和额外功耗。
Cortex-M0+:引入 单周期 I/O 总线(如 AHB-Lite 直接访问外设)。
GPIO 读写可在 1 个时钟周期内完成,无需等待总线仲裁或流水线填充。
减少总线活动时间,降低高频操作(如 PWM、传感器采样)的功耗。
3. 电压调节与时钟门控优化
动态电压调节:M0+ 支持更灵活的电压调节策略,可在低负载时降低电压,减少动态功耗(功耗与电压平方成正比)。
精细时钟门控:对未使用的模块(如闲置外设、内存区域)彻底关闭时钟信号,消除无效开关活动。
例如:仅激活当前任务所需的 SRAM 块,其余部分断电。
4. 睡眠模式与漏电流控制
低功耗睡眠模式:
M0+ 支持 多种深度睡眠模式(如 Sleep、Deep Sleep、Standby),可逐级关闭 CPU 内核、外设和时钟源。
在 Deep Sleep 模式下,仅保留必要电路(如 RTC、唤醒逻辑),漏电流(静态功耗)极低。
快速唤醒:从睡眠模式恢复到运行模式的延迟更短,减少高功耗状态的持续时间。
5. 代码密度提升
Thumb-2 指令集优化:M0+ 通过改进指令解码逻辑,提升代码密度(相同功能代码量减少约 10%)。
Flash 存储器访问次数减少,降低 Flash 读取功耗(Flash 访问是系统功耗的重要来源)。
更小代码量还可选用容量更小的 Flash,进一步降低芯片整体功耗。
6. 物理设计优化
芯片面积更小:M0+ 的硅片面积比 M0 减少约 10%,晶体管数量更少,静态功耗(漏电流)进一步降低。
工艺适配:M0+ 设计针对低功耗工艺(如 40nm/28nm)优化,支持更低的供电电压(如 1.2V 或更低)。
|