对于各种硬件的选择对比:
各种器件的功耗效率对比图:
在此之前我们要弄清楚什么是低功和低耗?
低功(Low power ): 主要是在电源,电压调整,连接的维度,冷却系统。这个更像是降低系统的功耗来实现和之前一样的功能。
低耗(Low energy):限制能量的使用(移动系统),有限的电池容量,生命周期长,温度低,能量的开销大。这个感觉更像是在有限的条件下进行的,使得有限的资源最大
程度的发挥作用。这是能量的利用率。
硬件底层:(CMOS)
功耗是动态功耗:对电容的充放电;短路功耗:在电源和开关之间的短路电流;漏电功耗:gated的地方的漏电电路。
CMOS晶体管的负载电容:用于调节晶体振荡频率
http://blog.sina.com.cn/s/blog_6cb58dbf01019paa.html
动态功耗:
动态功耗如下:根据公式进行调整即可。
最有效的方法之一:电源的门控
》可以减少静态功耗,比如刚才说的漏电电流。
》直接对电源断电,所以一般是多电源管理
基本的一些低功耗技术:
1、并行化处理:
以资源换功耗->花更多的resource来降低频率来降低功耗。
2、流水线技巧:
3、VLIW(parallelism and reduced overhead,超长指令集)
可以一个周期内执行多条指令:很深的并行和流水线。
举一个Transmeta的例子:
128位指令,4个操作,两条指令。
64位整数,32位浮点数。
6级流水线(2个取指,1个译码,1个读寄存器,1个执行,1个写)
另外X86 ISA还在使用软件技术,是即时编译。
精简指令集,复杂指令集,超长指令集的如下:
对于超长指令集的介绍:http://baike.baidu.com/link?url=GUNOxr8mr2FmAh96jPvQP6F-Q7c1iZMtmjurC1Kv01Yba7uXVdI6dSLbRfwPjJ7IwsN0WE6C_0KgK5XSvQJx2q
4、动态电源管理(dynamic voltage scaling)
根据所需服务进行相应模块的处理,每个模块有不同的需求。频率高的给高电压,频率低的给低电压。
5、动态功耗管理
主要是减少跳转:
RUN是处理器在运行,IDLE是处理器处于监听中断,但是自己的流水线不执行,SLEEP是睡眠,整个CPU已经关了。