低功耗是便携式电子设备必须具备的一个关键特性。过去几年的研究主要针对硬件部分,而现在人们则更注重通过优化软件部分来降低系统功耗。要想对软件进行优化,必须了解每条指令所产生的功耗,并选择正确的编译方法,以降低程序执行的功耗。由于各个微处理器架构不相同,指令集和功耗也不一样。因此,适用于某一处理器的优化方式并不一定适用于其它处理器。这样,选择与可降低功耗的软件相匹配的微处理器便十分重要。
本文是一个与此相关的技术调查。下面第一部分列举了测定微处理器指令集功耗的一些方法;第二部分是在程序执行时可降低功耗的编译器方法,目前该方法已广泛使用;第三、四部分分别是对软件优化工具的要求以及Power PC 603E微处理器今后应采取的措施。
建立指令功耗信息
为了获得可测量给定程序功耗的工具,必须首先要建立每条指令所相关的功耗信息。因此,我们需要一个系统,它可测量微处理器每条指令的功耗,以及程序执行时可能出现的特殊情况的功耗。
目前主要有两种方法可实现这一目的。由Tiwari等人提出的一种方法是反复地执行某一指令,并测量此时处理器消耗的电流,从而得到一些相关信息,并以此评估用于该处理器的某一程序的功耗。总的功率还包括一些其它因素产生的功耗,根据测量结果可以估计出程序功耗。
将一个分流电阻与微处理器的电源脚串联,便可用示波器测出处理器所消耗的电流。另一种方法则是采用安培表直接测量,安培表必须能测量高频信号,这样才能在测量微处理器消耗电流时保持稳定,这点十分重要。
在实验中,采用两个微处理器来测量其耗用的电流,试验结果证明了Tiwari等人提出的方法的正确性。平均功耗通过