随着行动装置成为市场主流,以及不断攀升的能源成本和环保意识的提高,功耗(power consumpTIon)已成为设计人员最关心的议题。功耗大抵可分为两部分,其一是静态(staTIc)或漏电(leakage)功耗,当元件处于待机状态时该情况自然会产生;其二是动态功耗(dynamic power),指的是元件切换过程中所产生的功率消耗。就降低功耗而言,两者都是设计上重要的议题;而这份报告主要是探讨动态功耗及如何改善其相关的度量(metric)。
传统设计中的另一层考量
过去数十年来,设计人员运用合成(synthesis)设计塬则进行设计,如此可产生同步时脉(synchronous clock-based)的架构。在这样的设计方法下,所有的逻辑电路转换由透过时脉网路分配的主时脉所支配。若最长的逻辑路径(logic path)超过主时脉的週期时间,则设计人员必须设法减缓时脉,或者加快长路径的速度。为了最有效地权衡两者,设计人员会使用静态时序分析工具,进行最长路径的运算及逻辑电路的最佳化,直到他们达成所预定的时序频率。
以上所述是当今设计所运用的基本方法论,它的效果不错、能达成每个技术节点的速度优化,而且极为可靠。然而就当今的设计环境来说,其主要的缺点是它把面积(area)和功率列为第二和第叁考量顺位,但以目前消费者对于更小、更快速且强调功能特色装置的迫切需求而言,设计人员不能再把面积与功率视作次要的设计目标,而是必须审慎评估及改善这两项度量,以满足当今的设计要求。
当我们在进行同步设计分析并将动态功耗纳入考虑时,可以辨识出两种造成过度功率耗损的塬因。其中之一是时脉分配(clock distribuTIon),它能确保所有的逻辑电路与主时脉同步。整个时脉结构上的时脉偏移对于晶片的效能有直接的影响,因此必须设法将时脉延迟及偏移的发生降至最低。儘管上述架构允许设计人员提高时脉频率(及效能),但它也会消耗掉20%到60%的晶片功率,且需要大量的半导体空间。换句话说,这种设计方法虽然效率高但成本也高,特别是在功率方面。
同步设计也意味着电路中的所有转换会「聚集(bunch up)」在时脉边缘。举例来说,在每个有效时脉边缘上,所有发生在逻辑路径的转换会同时被执行,而当条件顺着组合逻辑链(combinatorial logic chain)被满足后,这些转换就会逐渐停止。若以图示表示,该现象可用锯齿波形来呈现。而大多数的动态功率就是在这样的执行过程中被消耗掉的,直到路径末端几乎没有功率被消耗为止。若是在最佳时序的状态下,则最后的转换应当在下一个时脉进行前就减弱。
就时序(TIming)而言,该方法论的效果不错,若能妥善分配週期中的转换以及消除锯齿波形,则在任何时间点所需的最大功率将会大幅降低,幅度约30%到50%左右。这是因为电源供应线不需要处理每个时脉周期(clock cycle)一开始产生的众多元件切换所带来的电流突波(power surge),也因此可以减少面积并降低功率的浪费。
有一个简单但不切实际的解决方式是,建立一个带有适当延迟的客製逻辑电路(custom logic)去达成每个输出点所欲达到的功能,藉此妥善调整功率的分派。这个做法可以让速度变得很快,有点类似让单一印表机对上单一电脑,而不是透过区域网路让多个使用者共享一台印表机的资源。然而这样的架构需要大量的面积、逻辑电路及功率才能恰当的运作。我们相信一定有其他更好的方式能达成时序、效能、功率及面积的目标,同时又能符合经测试且有效率的合成设计方法(methodology of synthesis-based design)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)