权衡性能和功耗
回想一下式6-1,式6-1表明功耗是频率的线性函数。在一定极限频率下,性能的提高直接取决于频率的增加,因此需要在保持功耗不变的情况下增加频率。为此,需要降低频率的辅助因子:即电压、电容和活性因子。此外,需要减少泄漏电流(leakage current)。通常使用时钟门控来降低活动因子,而通过减小栅极尺寸来减小电容。如第6章所述,只能在电压缩放区域内降低电压,直到达到最低电压为止,该最低电压必须可以使晶体管工作。从图6-7可以看出,在低频区域中的泄漏是恒定的,而在电压缩放区域(voltage-scaling region)中,泄漏在典型工作点处会持续增加。通过减小晶体管的宽度并使用较低的泄漏晶体管可以减小泄漏电流。但是,与漏电晶体管相比,低漏电晶体管的速度较慢。因此,硬件设计人员需要进行适当的优化,以在给定的功耗量下实现频率最大化。
90%的移动平台会受到功耗的限制。因此,每一点节能都等同于相应的频率增益。通常,在低功率平台的区域,10%的功耗节省意味着15%的频率增益,而在电压缩放区域,20%的功耗节省仅相当于5%的频率增益。因此,不能过分夸大硬件设计对于最佳电压,电容,活动因子和泄漏的重要性,尤其是在给定功耗下获得最高频率时。对所有应用而言,更高的频率通常意味着更好的性能。
对于视频应用程序,更高的CPU或GPU工作频率可提供更快的编码速度,但同时也会消耗更多电量。因此,在系统设计和硬件体系结构级别,尤其是对于GPU加速的编码器,需要在功耗和编码速度之间进行权衡。编码的可编程部分还应该在性能和功耗之间保持适当的平衡。通常,通过并行执行编码任务、在CPU和GPU的多个线程之间安排适当的任务、在CPU和GPU之间动态迁移任务、调整任务的计划、优化单个任务的资源利用率实现性能和功耗之间的平衡,并且所有这些方案都不会对视觉质量造成明显的影响。例如,根据视频内容的复杂性,并行编码图片的两个切片(slices)可以提升10%的性能,而对质量的影响却可以忽略不计。某些硬件单元(例如码率控制单元,缩放单元等)可能会根据参数值而打开/关闭,因此编码参数的调整也会影响整体编码速度和功耗,再者,这种调整也可能会影响视觉质量。
考虑以下的有关视频转码应用程序的性能与功耗折衷的案例研究(case study)。为了便于比较,在不同性能-功耗特性的两个平台上运行两个相同的测试。转码(transcoding)包括将压缩视频解码为未压缩格式,随后使用适当的编码参数将其编码为压缩格式的目标视频。对于相同的源视频内容,转码操作中的解码任务保持不变。通常,解码比编码快得多。因此,可以仅根据编码速度来测量转码的整体性能。在如上的描述下,性能和编码速度说的是一个事情。