3级流水线(Cortex-M0)
分为以下三个阶段:
取指(Fetch):从存储器中读取指令。
解码(Decode):解析指令的操作类型和操作数。
执行(Execute):执行指令(如算术运算、内存访问)。
特点:
每级流水线功能独立,硬件单元分工明确。
吞吐量较高(理想情况下每个周期完成一条指令)。
但层级更多,硬件复杂度略高,动态功耗较大。
2级流水线(Cortex-M0+)
合并为以下两个阶段:
取指 + 解码(Fetch + Decode):同时完成指令读取和初步解码。
执行(Execute):完成运算或数据操作。
特点:
减少流水线层级,简化控制逻辑。
动态功耗更低(每个周期激活的硬件单元更少)。
流水线冲突(如分支预测错误)概率降低,功耗浪费减少。
|