优化功能单元静态功耗的策略与实现
1. 引言
在电子设备的运行中,功能单元的功耗问题一直是关注的焦点。当功能单元的空闲时间较长时,关闭这些单元可以实现显著的功耗节省。然而,如果空闲时间过短,频繁地开关功能单元不仅无法有效节省功耗,还会消耗额外的动态功率,同时影响性能。为了解决这个问题,我们提出了一套优化策略,通过微架构支持和编译器算法,实现对功能单元静态功耗的有效优化。
2. 架构支持
2.1 功耗感知指令集
我们支持能够开启或关闭功能单元的指令,这些指令会通过在现有指令后添加 on
或 off
后缀来实现。指令所操作的功能单元类型与执行该指令的功能单元类型相同。若存在多个同类型的功能单元,具体关闭哪个单元由硬件决定。
我们将这些指令集成到了 MIPS - I 指令集架构中,该架构支持 MIPS 32 位处理器核心,因其简单性和有足够的编码空间来编码 on
和 off
指令。以下是部分修改后的指令示例:
| 指令 | 功能 |
| ---- | ---- |
| add.on
| 开启一个整数加法器 |
| add.off
| 关闭一个整数加法器 |
| mul.on
| 开启一个整数乘法器单元 |
| mul.off
| 关闭一个整数乘法器单元 |
| add.s.on
| 开启一个浮点加法器 |