版权归原作者所有,如有侵权,请联系我们

[科普中国]-时钟门控

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

时钟门控(Clock-Gating)一直以来都是降低微处理器功耗的重要手段,主要针对寄存器翻转带来的动态功耗。

时钟门控的设计如何更加有效地设计时钟门控对于最大限度地降低功耗,同时保证处理器的性能至关重要。多核多线程微处理器中,多个功能部件可能不是同时工作的,对于无执行任务的功能部件就可以将其时钟关闭,减少其随时钟翻转进行多余的内部寄存器翻转,从而降低产生功耗的浪费和热量聚集。

对于需要控制的寄存器,在一定的情况下关闭寄存器的传输功能,阻止无用的数据进入下一级逻辑,避免引起一连串不必要的逻辑翻转,达到降低功耗的可能。为最大限度地插人Clock-Gating控制逻辑,需要通过多种方式结合的办法,在电路中插人更多的Clock-Giatgn控制,最大限度地插人门控时钟设计,关闭更多的空闲功能部件,降低功耗1。

关闭寄存器的传播功能通常可以通过“回写”结构来实现(如图1),以使能信号en为控制信号在前继输人data-in和本级寄存器输出data-out之间进行选择,如果不需要传播数据时,就可以使输出保持为data-out而不引起后继部件的翻转。这种方式可以以最小的面积和功耗代价实现对寄存器传输功能的关闭。

但是,回写结构只是在功能上实现了关闭传播和降低后继组合逻辑功耗的作用,但在时钟功耗上并没有较大降低,因为在回写结构关闭传播功能后。lock信号仍始终在翻转。为更大限度地降低功耗,引人寄存器的Clock-Gating设计(如图2),将使能信号en作用于。lock上与回写结构相比较,在关闭数据传播后,图1和图2中用斜线标注的部件的动态功耗将被节省掉。

clock一Gatign控制逻辑也会产生一定的功耗(图2中用点阴影标注的部件功耗),因此不是越多的Clock-Gating控制逻辑就越好,例如在需要添加Clock-Gating控制的寄存器文件中,如果被控制的dock信号所连接的寄存器位数较小,得到的动态功耗降低还不足以抵消添加控制逻辑所增加的功耗。所以,通常对于需要进行Clock-Cating的寄存器文件的位宽有一定限制(一般不低于3一8位),保证能有效地降低时钟功耗。

由于OpenSPARC T2并未全面设计内部电路的时钟门控控制逻辑,其中存在大量未被门控时钟逻辑控制的寄存器部件,这就为功耗优化提供了巨大的潜力。通过分析和评估,利用基本的Clock-Gating优化策略,在原有结构中插人或替换为新的门控时钟逻辑可以带来40%一60%的功耗降低。

时钟门控逻辑的优化通常在设计的初级阶段,由于设计者功耗分析手段的缺乏,往往无法考虑具体工艺技术带来的技术差别,所以基本都采取非工艺相关的方式进行手工功耗分析,无法全面的掌握clock功耗的分布情况。在设计的后续阶段,在对设计进行直接分析或在时序分析的基础上,通过采用各种组合的优化技术,可以对Clock-Gating控制逻辑进一步加以优化1。

1.向前追溯优化

通过时序分析,向前追溯优化可以带来新的功耗降低,即如果在本级寄存器有Clock-Gating控制逻辑,而下一级寄存器没有相关的Clock-Gating控制信号en的情况下(如图3(a)所示),此时在下一级也通过延迟一个时钟周期的Clock-Gating控制信号en(t+l)对下一级寄存器时钟关断进行控制(如图3(b)),可以更多地降低功耗。在产生新的控制信号en(t+l)时,需要注意将前一级控制信号en与时钟clock实现同步,以保证控制关断的正确性。

2.组合逻辑向前追溯优化而实际中的电路结构更为复杂,特别是控制信号en(t+l)的产生就需要根据具体情况具体分析。如图4(a)所示,控制信号en1和en2对与逻辑门的两个输人前继in1和in2的寄存器时钟进行控制,为了降低下一级寄存器的时钟功耗,需要通过将en1和en2相或得到新的控制信号对下一级的寄存器时钟进行控制,降低功耗(如图4(b)所示。

同样,越复杂的组合逻辑所需要的控制信号产生逻辑也会越复杂,可能带来的代价也会越大,所以需要对降低的动态功耗和增加的部件功耗加以权衡,上文中关于Clock-Gating的位宽限制在这里将会变得更加严格,一般要在寄存器位宽较大时考虑该措施。

3.向后追溯优化更进一步,向后追溯同样也能得到另一种新的功能消耗降低可能。即在本级寄存器有Clock-Gating控制,而上一级寄存器没有相关的Clock-Gating控制的情况下,通过一定的逻辑得到较本级Clock-Gating控制的信号en提前一个时钟周期的更早的Clock-Gating控制信号en(t-1),用于控制上一级寄存器时钟的关断,降低其动态消耗,而且还能降低两级寄存器之间的组合逻辑部件的动态消耗。

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学