Low-Power Microarchitecture
自20世纪90年代以来,功耗一直是嵌入式芯片和高性能芯片面临的一个挑战。自2000年代中期以来,它已经成为大多数设计的主要约束。多核解决了功耗问题,由此产生的communication substrate,namely the on-chip network,对多核的总功耗起着积极的作用------both dynamic and leakage。
图6 - 18a给出了一个最先进的mesh router和四个VCs的功率分布。这些数字来自32nm的芯片。在低负载时,buffer和other state(VCs和credits)的动态功耗主要是由clocked latches造成的,而不是流量本身。在饱和状态下(即高负载状态),buffer的贡献为55%的动态功率,而交crossbar and links贡献34%。静态功耗在低负载时占router总功耗的75%以上,在高负载时占53%。
在本节中,我们讨论acrosson-chipnetworks使用的降低功耗的技术。关于core和cache使用的低功耗技术的更详细描述,请参阅计算机体系结构技术的综合讲座。
Dynamic Power
动态功耗的方程是,其中α是activity factor,C是capacitance being switched,V是工作电压,f是工作频率。为了降低功耗,有两类技术。
- 第一种方法通过动态降低V和f来降低功耗,
- 而第二种方法通过动态降低a和C来降低功耗。
DVFS
Dynamic voltage and frequency scaling(DVFS), 动态电压频率调节是目前最常用的降低数字电路功耗的设计技术。DVFS可应用于on-chip networks,其思想是在不影响整体性能的前提下,使流量较少的路由器工作在较低的电压频率状态。
将DVFS应用于on-chip network结构的两个关键挑战如下。
- 对于multiple voltage-frequency islands,bi-synchronous FIFOs需要在每对不同电压岛的接口上使用,这带来了额外的延迟。
- 现有方案大多假设the use of multiple supply lines for accessing different voltages。然而,多电压轨的使用需要芯片外的多个电压转换器,以及多个配电网络的面积开销。high bandwidth integrated voltage regulators的引入可以通过允许快速(sub 50 ns)电压跃迁来缓解这个问题。
由于与tile/core 相关联的on-chip network不仅服务于从该core注入的flits,而且服务于来自不同core的flits,因此片上网络结构的DVFS策略必须与内核的DVFS策略进行不同的处理。
现有的片上网络DVFS策略研究主要是利用average queue utilization、average return time to memory requests等静态网络参数来决定router新的V-F (voltage-frequency)状态。通常,DVFS控制器将执行以下任务:监控合适的网络参数,根据先前的状态和目标值计算状态反馈值,并更新V-F状态。本章后面将讨论一些最近关于片上网络DVFS的论文。
Power-Efficient Designs
第二类技术试图通过减少电容或switching activety来降低功耗。
通过减小effective capacitance being switched,可以降低片上网络的动态功耗。由于线电容比栅电容大得多,因此线电容占网络功率的主导地位。
在这方面已经研究了低摆幅和均衡链路形式的节能信令。router的功耗也可以通过减少流水线阶段的数量和优化buffer、crossbar和arbiter circuits/micro architecture来降低。例如:
- 在实现缓冲区时,sram比触发器和register files更节能
- 而mesh风格的crossbar通常比基于mux的crossbar更高效。
- crossbar可以进一步segmented or designed with low-swing links,以减少遍历期间的功耗。
- 复杂的arbiters可以拆分为多个简单的仲裁器,以进一步降低功耗。
降低switching activity是降低动态功耗的另一种技术。Clock gating is a popular method to reduce the amount of switching activity of latches between inactive circuits。例如,在图6 - 18a中,低负载时的动态功耗主要是时钟造成的,而不是实际流量,这为降低功耗提供了机会。从一个router发送到另一个router的比特的有效编码也可以被利用来减少bit-toggles的数量,从而减少动态功耗。
Leakage Power
在亚纳米技术中,晶体管不再是理想的switches,即使在"关断"时也会漏电流。这导致即使在低活动或无活动期间也会消耗高功率。如图6.18a所示,在现代技术中,片上网络中的泄漏功耗对总功耗有显著影响。原因是大量的锁存器/触发器/ sram用于实现缓冲区、输入VC状态和输出credit状态。
Power-Gating.
Leakage power可以通过power gating来减轻。它是当今across chips使用的标准技术。在本书中,我们不会深入讨论电路细节以及通过添加电源门控晶体管来创建功率域的影响。相反,我们将列出一些片上网络电源门控解决方案需要担心的挑战。
- Whatshould be the granularity of power-domains?
片上网络的power-domain可能是router中的各种模块(input ports, arbiters, crossbar),或每个router本身,或整个片上网络。
原则上,细粒度的power-domain将是最有效的,但将power-domain电路添加到数百个模块并控制它们是不实际的。当今大多数商用芯片将整个片上网络视为一个功率域。
- How to decide which routers to turn on/off
如果连接到router的tiles处于活动状态,则必须非常频繁地唤醒router,从而增加了大量的latency overhead。此外,关闭某些router可能导致某些关键IP块,例如memory controller,变得不可访问,这是不允许的,而电源管理控制器也需要特别处理一些事情。
- Howto handle deadlocks on irregular topologies
关闭某些router会使底层拓扑变得不规则;这可能会导致路由死锁,因为某些路径可能变得不可访问,迫使flit使用导致循环依赖的其他路径。
一些最近关于片上网络电源门控的论文将在本章后面的参考书目中进行讨论。
后续还有一些Router floorplanning相关的内容,此处不做描述;