中文 英语

新应用中出现的电力问题

为什么管理权力变得更困难、更关键、更昂贵。

受欢迎程度

在广泛的应用程序和过程节点上,管理芯片中的电源变得越来越困难,这迫使芯片制造商和系统公司重新考虑他们的电源策略,并比过去更早地解决问题。

虽然电力一直是移动领域的主要焦点,但与电力相关的问题现在已经远远超出了手机和笔记本电脑。这有几个原因:

  • 在finFET世界中,功耗变得越来越困难,在每个新节点上,16/14nm泄漏电流和动态功率密度都在增加,这一事实使问题变得更糟。
  • 人工智能和深度学习等新应用需要强大的计算能力,而新架构依赖于快速吞吐量和原始性能。但它们也依赖于让芯片中的所有处理元素一直处于忙碌状态,这就产生了功耗问题。
  • 为了开拓新市场,需要更多的定制服务。因此,衍生芯片更少,一次性设计更多,因此在一个芯片上检测和解决的问题可能与在其他芯片上检测到的问题有很大不同,修复成本也更高。

这些挑战从数据中心(人工智能、网络和电信需要大量能源)一直延伸到边缘。在7nm工艺中,芯片很大并不罕见,有时是十字线大小,有数百或数千个处理器核心。但与过去不同的是,除了必要的活动爆发外,这些处理器大多是黑暗的,一些新的应用程序领域要求更多的这些处理元素更频繁地打开,如果不是一直打开的话。

这就是诸如热、电迁移、电源相关噪声和可靠性等问题变得特别难以管理的地方。

“CPU利用率,电源管理和设备可靠性必须在模具上严格而准确地进行热管理,”Stephen Crosher说Moortec.否则,数据中心每年的电费可能比实际需要的高出数百万美元。数据中心运营商现在看到了站点运行成本与芯片级系统内部采用的热监测和管理之间的直接相关性。”

这推动了诸如实时芯片内热保护带等新技术的发展,以增强健康监测、故障预测和更高齿条密度配置的设计。但在许多情况下,解决方案只是勉强跟上问题的步伐。每个人都想在芯片中利用AI/ML/DL,无论这些芯片是用于数据中心内部还是边缘,但乘法/累加处理都会消耗大量能源。

基金会IP的技术营销经理Yudhan Rajoo说:“无论你是在一个专门的CNN块上做这件事,比如在嵌入式视觉处理的情况下,还是在带有gpu的图形芯片上做这件事,都是关于乘数累积。Synopsys对此.“我们处理这个问题的方法主要是在RTL编写完成后,由设计师以手工放置的方式实例化RTL中的某些复杂单元格。例如,有大型引导多路复用器-大型压缩器和16位多路复用器,我们开始添加它们来减小设计的整体大小。这减少了你需要的路由数量,当你在节点中减少路由数量时,节省了大量的开关电源。这些设备可以持续运行并传输信号,所以尽可能少的连接才是真正有助于省电的。”

这些决定在设计的规划阶段就开始了。但与其他类型的设计一样,工程团队非常担心设计时间线和tapout时间线,而电源可能会对进度产生很大影响。

Rajoo说:“提出最好的神经网络处理架构是一场激烈的竞争,这些rtl一直在变化,直到最后一个月。”“因此,设计团队非常担心找到(库)解决方案,以提供足够的灵活性来修改内容。这已经成为SoC设计师和他们的设计经理的主要考虑因素,他们希望拥有这种灵活性。这些团队需要广泛的选择,特别是在高级节点上,因为制造最先进节点的代工厂数量已经减少到两家,如果你足够慷慨的话,可能只有三家。”

在这些新架构中,围绕电源的优化正在成为一个关键的设计元素。“低功耗设计并不局限于移动或物联网等平台,”dec & Signoff集团高级首席产品经理戴夫·珀斯利(Dave Pursley)说节奏.“计算密集型算法是一个有趣的问题,因为计算本身将需要大量的能量来执行。换句话说,当涉及到消耗的能量时,有一个相当高的‘底线’。”

所有这些都将设计空间远远超越了硬件,扩展到数据在系统中的移动,包括在哪里处理什么,计算需要多精确,以及如何在内存中存储和读取数据。

“从理论上讲,从动态切换的角度来看,计算算法的最低能量解决方案是在尽可能少的时钟周期内计算,然后通过时钟门关闭,或者更好的是,通过电源关闭,”Pursley说。“这最大限度地减少了‘非生产性’开关的数量,如muxing、人字拖和时钟开关的数量,但这通常不是最好的权衡,因为所需的硅面积会更大。这反过来又增加了成本、泄漏,甚至由于更长的互连的更高电容而增加了动态能量。此外,它甚至可能不可行,特别是对于计算密集型算法。功率是一段时间内的能量,所以从功率的角度来看,在短时间内计算一个高耗能的算法可能是不可行的,或者成本太高。”

在这些情况下,设计师和他们使用的EDA工具的任务就是随着时间的推移来摊销这些能量。目标是在满足应用程序性能要求的同时,以最小的能源开销实现可接受的功率配置。因此,虽然RTL和物理优化可以将功耗降低20%或更多,但最重要的优化始于节能的RTL架构。这包括理解各种块的时钟速度,它们如何相互通信,内存架构和吞吐量是什么,以及架构的整体功耗影响是什么。然而,建模所有这些仍然很困难,很大程度上是因为许多应用程序和体系结构都是新的。

“对于具有自加热行为的finfet,我们从最早的finfet开始有了一些历史,”João Geada说,他是该公司半导体业务部门的首席技术专家有限元分析软件.“这是我最担心的部分。我们制造的零件在铸造厂没有建模方面的历史。我们有模拟技术。如果我们有模型——既包括非常详细的东西,也包括我们这边大规模的芯片范围的东西。我们两者都需要,但我们严重依赖模型,这仍然是一个非常具有挑战性的领域。”

然而,电力问题是如此的大而分散,以至于需要一些更高级别的抽象。

“在许多情况下,解决这一问题的最佳方法是使用高级合成(HLS)来实际创建具有不同架构的多个RTL,并使用实际刺激来测量功率,”Pursley说,他指出,目前最先进的RTL功率估计工具可以在签名的15%内产生功率估计。“真正的诀窍是确保你有衡量权力的现实刺激。例如,对于处理器来说,“boot Linux”测试非常适合功能测试和峰值功率分析,但对于优化平均功率以最大化电池寿命来说,这可能是一个糟糕的指标。更好的刺激是运行其典型应用程序的处理器。对于正确的优化任务,使用正确的刺激或刺激窗口是很重要的。否则,您或您的工具将根据错误的数据做出优化决策。”

如果已知刺激方案具有代表性,那么它也可以反馈到实施工具中,以确保在整个流程中实现相同的权力目标和权衡。在流的后期引入或改变刺激会增加不收敛的优化流的机会,或者至少需要更长的时间才能收敛。

然后,早在RTL综合,多模式,多角(MMMC)优化应该被使用,他说。这使得RTL物理合成工具可以创建功率优化的网络列表,其中包括良好的平衡逻辑以避免故障、优化泄漏优化、高级时钟门控、多比特单元推理和功率感知测试设计。

“就像架构优化一样,这些类型的实现优化在流程的早期引入时对功率的影响最大,”Pursley说。“在布局或终止中引入MMMC会在流程的中途改变优化目标。在最好的情况下,这意味着RTL合成所做的优化被浪费了,并且可能会被撤销。在最坏的情况下,您现在拥有的流将需要多次迭代才能通过终止收敛,并且由于容易出错的手动迭代而增加了代价高昂的重新旋转的机会。”

在RTL及以下降低功率的方法——功率门控、时钟门控、多vdd、多阈值、DVFS——已经被很好地理解。Synopsys的首席应用工程师Tim Kogel说,问题是当RTL可用时,项目已经进展得很好了,要做更大的改变已经太晚了。

对电力、能源、热量和成本的最大影响是在系统级别上实现的,当设计团队对最终应用程序和用例有详细的了解时,它的工作效果最好。这允许工程师将组件分组到可以尽可能断电的电源域,并为DVFS定义电源管理策略和工作点。它还有助于找出将工作负载分配到处理和内存资源的最佳方式,以保持在功率和热量预算之内。

Kogel说:“在RTL可用之前,在架构规范阶段就需要考虑和优化性能。“问题在于,在架构规范阶段通常无法获得有关功耗的准确数据。你最多只能从以前的项目中获得一些数据表数字和数据。当您试图在电子表格中汇总未成熟的数据时,情况会变得更糟,因为您错过了应用程序在不同时间点利用不同组件的动态效果。即使硬件实现设计为低功耗,由于软件没有利用硬件提供的低功耗机制,因此有效功耗通常比预期的要高得多。因此,软件开发人员的一个小疏忽就可以防止一个强大的领域被关闭。”

为了实现早期功率估计,IEEE 1801 UPF定义了一个标准格式用于系统级功率模型。Kogel说:“通过这种方式,UPF电源监视器可以添加到架构模型和软件开发的虚拟平台中。”架构师可以根据实际活动分析和优化功耗,软件开发人员可以意识到他们的软件对功耗的影响。即使功率数据不准确,基于模拟活动的基于趋势的分析也提供了有价值的见解。之后,随着更精确的测量结果的出现,初始功率数据可以得到细化。”

虽然系统级功率模型的描述仍然是一个挑战,但可以增强功率描述工具来生成系统级功率模型。

权力更重要
由于连接传感器和设备的激增所产生的数据迅速增长,因此从未像今天这样迫切需要关注芯片的功耗。

“在个人电脑时代,电源来源通常是220V交流电,这一切都很好,”该公司产品专家穆罕默德·法赫德说Mentor是西门子旗下的企业.“但随着智能手机和平板电脑等手持设备的出现,不仅仅是计算设备的几何形状缩小了。这些设备装载了越来越多的应用程序和服务。在更小节点上制造芯片的可能性使芯片制造商能够在更小的硅空间上封装数十亿个晶体管。随着极其复杂的逻辑进入到更小的芯片中,功耗越来越高,经常导致芯片烧坏。行业研究发现,功率是导致芯片重新旋转的第二大常见原因。数十亿美元的投资正付诸东流。这就是为什么今天的设计公司都有非常强大的低功耗方法,围绕复杂的功率估计和优化工具构建。”

进行功耗估算是了解芯片的功耗场景。设计师想要了解他们的区块的整体功耗,热点在哪里,以及哪些区域超出了预算。换句话说,能源被浪费在哪里?如果芯片的功耗保持在预算之内,这都是好消息。但如果不是呢?

Fahad指出,RTL功率估计工具为RTL功率优化工具定义了一个问题声明,以解决该问题,识别RTL中的计算冗余,并告知用户如何消除代码中的这些冗余。工具还提供了自动修复这些冗余并写出功耗优化的RTL的方法。“在设计阶段的早期优化RTL的功率比在周期的后期进行优化收益更高。因此,低功耗方法要求在代码冻结之前很好地运行功耗优化,以便在RTL或架构级(如有必要)轻松地进行任何节能代码更改。”

有多种方法可以降低或控制芯片的功耗,包括控制flops和内存上的不可观察操作,停止稳定输入和输出的设计切换,以及绕过稳定内存访问。在体系结构级别,将移位寄存器操作更改为循环缓冲区,并为块(而不仅仅是flop)找到一个通用的门控条件也会有所帮助。

从根本上说,从最小的电池驱动的物联网设备到最饥渴的GPU和SoC设计,有效电源管理的关键是只消耗真正需要的功率。芯片上的不同功能应以能够提供所需性能的最低电压和时钟速度运行,而当前不使用的功能应处于待机状态或完全关闭。为了实现这一点,复杂的芯片有几十个甚至数百个功率域,每个功率域控制设计的一部分的运行状态。

如何操纵这些领域的规则通常相当复杂,在模拟中遍历所有可能的合法权力组合是不切实际的。发现和修复潜在问题的一个解决方案可能需要以新的方式应用现有工具。

“根据芯片正在做的事情,哪些功率域应该打开或关闭的规则可以以断言的形式捕获,”ibm的技术营销顾问汤姆·安德森(Tom Anderson)说OneSpin解决方案,指出正式可以证明只有合法的权力域设置组合是可能的,或者如果设计中存在bug,则生成显示违规的测试。正式的验证可以证明这些规则在所有条件下都得到满足,或者报告错误。找到并修复与电源相关的问题对于避免芯片因为关键功能断电而无法工作,或者当芯片同时打开太多时遭受热击穿是至关重要的。”

为此,功率估计是不够的。“这并不是说我们不应该在RTL做任何事情,”马吉·阿巴迪(Madgy Abadir)说Helic.“你可以运行一些RTL功率估算之类的事情,但这是不够的。在RTL中,任何可以改进设计的方法都是加分项,但这并不是全部的答案。特别是在物理层面,存在着热效应、电磁效应等现象,而这些效应只有在布局完成后才能看到。一旦你有了实际的物理,比如IR掉落,就需要对你计划实现的实际物理布局进行分析。只有当你看到效果时,你才能决定是否可以接受。这不是一种可以在早期就被描述出来的东西,只是把它放在图书馆里。”

尤其是像gpu这样的高能耗芯片,这在很大程度上取决于正在运行的应用程序。

“当人们开发gpu时,就像在过去开发微处理器一样,”Abadir说。“他们不知道人们将运行什么应用程序,而且它是通用的。随着时间的推移,可能会有许多客户和应用程序发生变化。从RTL中开发到上架可能需要几年的时间。在此期间,许多软件被编写出来,许多应用程序被开发出来。算法是需要进行优化的地方,其中一些优化取决于您需要运行的算法类型。如果您正在进行模式匹配,或者正在进行排序或搜索,有许多不同的方式来执行这些类型的任务。每一种都有不同的力量,不同的表演特点。这取决于你想要做什么,以及你的软件开发人员有多优秀,最终决定了任务的实际功耗。”

这就是最终应用程序的知识真正有用的地方。他说:“如果我正在开发一个GPU,并且了解最终将在我的芯片上运行的应用程序的类型,在很多情况下,人们会在早期阶段尝试进行性能建模和功率建模,以确定架构-哪种类型和做什么。”“当涉及到电力时,这是一个非常困难的问题。问题是如何在高水平上估计功率。有些人从特性的角度来处理这个问题,这意味着要对栅极和单元进行特性描述,这是时间和功率的最坏情况。但在很多情况下,比如gpu,我们正在做一些以前没有做过的事情。你从哪里得到模型?我们在高水平上估计需要多少功率,这可能是一个猜谜游戏,因为它不准确,可能与真正的芯片发生的情况相差甚远。这是因为实际功耗与芯片的实际物理属性有关。”

另一个重要因素是算法的选择。例如,可能有几种不同的排序算法,每种算法可能以不同的速度运行或具有不同的内存需求。不过,这里的权衡可能会对使用多少电量产生很大影响。

“作为芯片的开发人员,在RTL我该做什么?我开发的GPU可以做加法和乘法,遍历内存,让事情并行运行,有多个线程。”“对于这类芯片来说,大多数降低功耗的技术都是在实现阶段,所以在早期就降低功耗需要对应用程序进行控制。我需要控制算法。“早期”意味着关键掌握在软件人员手中。“稍后”意味着钥匙掌握在硬件人员手中。它们可能都在硬件-软件协同设计中运行,但后来会有人选择算法,现在硬件人员需要调整所有可能的时钟控制。”

结论
半导体行业开始正视这样一个事实:通用芯片不再是前进的方向。新的货币是数据,以极快的吞吐量和内存访问快速处理数据是关键的设计元素。

但是,在不消耗芯片的情况下实现这一点是一个巨大的挑战,而且随着数据量的增加和设备扩展的好处的减少,这只会变得越来越困难。功率是主要的限制因素,随着计算架构和处理需求的持续增长,它变得越来越难以修复。

有关的故事

功率建模与分析

驯服NBTI,提高设备可靠性

超低功耗物联网设备设计



留下回复


(注:此名称将公开显示)

Baidu