中文 英语

自适应控制的挑战

系统越来越适应它们的操作环境,但这增加了许多需要解决的问题和问题。

受欢迎程度

从历史上看,系统的性能和功耗是由设计时所能做的事情来控制的,但今天的芯片变得更具适应性。这已经成为尖端节点的必要条件,但也提供了许多额外的好处,代价是更大的复杂性和验证挑战。

设计边际是性能和产量之间的权衡。利润率过低,失败率就会上升。利润率提高,名义业绩下降。一些公司已经使用分箱来分离能够比平均速度更快的设备,但随着热和老化等问题变得越来越普遍,这些技术已经不够用了。芯片必须适应它们所运行的环境、它们所承受的工作负载以及它们所引起的物理退化。

“传统上,你会事先建立电压和频率之间的相关性,”in研发部门的集团总监Tomer Morad说Synopsys对此“嵌入式软件开发组。“你会拿很多芯片进行测试,找到它们失效的点,然后找到V最小值根据频率和温度,有一定比例的细菌通过。”

为确定的收益率建立这些标准可能会有问题。Ambiq公司首席技术官兼创始人Scott Hanson说:“知道正确的运行电压可能是一个挑战,特别是当电压下降到接近阈值甚至次阈值区域时。”“在这些低压地区,即使电压的微小变化也可能意味着性能的巨大变化。”

但这些并不是唯一相互关联的性能目标。“性能和能源效率是密切相关的,”Veloce Power的产品经理阿米尔·阿塔哈(Amir Attarha)说西门子EDA。“你有两个变量,电压和频率。当电压降低时,性能下降,但能耗下降幅度更大。这是一个基本的关系,可以让你通过电压缩放来提高能源效率。如果我不需要高性能,我可以降低电压,但仍然有足够的性能来完成它。”

这意味着你不必总是以尽可能快的速度奔跑,这需要知道什么时候需要结果。

自适应系统
如今,越来越多的传感器被放置在芯片中,这为自适应控制提供了多种可能性。

Synopsys公司的莫拉德说:“一种传感器是路径裕度监控器。“你把它放在关键路径上,路径边距监视器会告诉你在时钟边缘之前有多少松弛。有了测量松弛度的能力,你可以更积极地降低你的V值最小值或者增加你的频率。突然之间,每个单独的芯片都可以有自己的电压、温度和频率表。”

但是芯片运行在更高的F马克斯会消耗更多的能量,这会改变设备的热剖面。Synopsys的解决方案架构师Firooz Massoudi说:“你可以包括合成路径,比如环形振荡器,来测量工艺角。”“最大频率受速度、工艺角和电压的影响。但温度也会间接影响你的利润。在此基础上,你可以决定你能跑多快,或者是否可以降低电压以保持相同的速度。”

粒度
随着因素的增加,控制策略也变得更加复杂。什么样的粒度能以最小的复杂度和验证成本提供最好的控制?控制逻辑应该在硬件中实现,还是某些方面由软件更好地控制?甚至这还不是全部的可能性。当使用软件时,处理是在本地完成,还是在云中完成?

粒度至少有两个维度。一个是可以单独控制的区块有多大。第二,在每个区块内,电压和频率的变化有多细微?“你必须从时间和空间的角度来看待它,”西门子的阿塔哈说。“系统需要多快地对操作条件的变化做出反应?电压或频率多久可以调整。这是时间方面。空间方面的考虑是我有多少个域?”

您还需要定义控制的精度。Synopsys负责系统架构的副总裁皮尤什·桑切蒂(Piyush Sancheti)说:“有些设计有10个电压等级。“你有一个处理器的标称电压,但他们已经定义了在阶跃电压下工作的域,这些电压比标称电压高或低。根据特定单元的运行状态,他们能够根据模块上运行的严重程度或负载来提高或降低电压。”

粒度间接影响块的打开或关闭速度,或电压和频率的调整。障碍物越大,他们的反应就可能越慢。西门子EDA高级首席产品工程经理加布里埃尔•奇多卢(Gabriel Chidolue)表示:“如果你需要快速启动和关闭设备,你可能不得不把它们分解成更小的孤岛。”“与此同时,你可能会想要更接近硬件,而不向芯片的其他部分发送太多数据,包括发送到软件。你可能需要一个分布式电源控制器来获取这些信息并做出这类决策。”

今天大多数利用这些技术的设计都倾向于基于大型处理器的系统。阿塔哈说:“粒度很粗,这意味着如果你有一个多核系统,那么你可以独立地为每个核设置运行条件。”“但改变需要时间。如果您的调度是通过操作系统进行的,那么您不能比操作系统量更快地做出决策。但是在改变电压时也要小心。有两种方法。首先是将设备置于空闲模式,然后将频率和电压调到你想要的位置,等待它稳定下来,然后你就可以开始使用它了。另一种模式是不断提高电压和频率。他们每个人都有权衡。”

有多种方法可以达到相同的效果。“在不影响性能的情况下,细粒度的控制最好留给硬件,”Ampere Computing的产品副总裁Madhu Rangarajan说。“这是未来需要做大量工作的领域,特别是在异构平台方面。粗粒度电源管理可以是软件可以管理的东西,特别是在异构平台上,无论是在芯片集成上,还是在具有cpu、dpu和xpu的平台上,但这不能解决导致许多粗粒度电源管理技术通常在服务器中被禁用的延迟问题。”

虽然这些技术可能由一个行业主导,但兴趣正在扩散。公司产品管理总监罗布•克诺斯(Rob Knoth)表示:“超规模企业的动力只有一个——动力。抑扬顿挫的Digital & Signoff集团。“数据中心的能源足迹不是你可以隐藏的。这是一个非常明显的成本——热影响和碳足迹。这是一种强烈的动机。但如果你看看像嵌入式系统这样的东西,尤其是基于边缘的智能,在电池寿命方面有非常不同的成本。这种技术、工具和方法的涓滴效应意味着,他们能够利用那些与超大规模客户正在使用的完全相同的东西,但他们以更小的足迹和更精细的方法来做这件事,并实现自己的利益。”

细粒度系统具有额外的系统关注点。阿塔哈说:“当你拥有可以在多个频率下工作的小块时,你必须考虑通信问题。”“这些系统必须是本地同步的,至少部分是全局异步的。对于用于系统块之间通信的fifo,需要一些可以处理不同频率的握手方案。这取决于时钟域和电压域的粒度。然后你必须考虑整个系统能管理多少。”

这可能取决于许多因素。桑切蒂说:“真正的创新将在软件与硬件共同设计和共同开发时到来,充分利用所有这些机制。”“这是在复杂性和能源效率之间的权衡——硬件设计和软件的复杂性。没有什么是免费的。”

控制回路
有许多控制循环需要考虑。其中最严格的是硬件控制系统,其次是本地执行的软件。越来越多的数据被发送到云端进行分析,这可能导致控制策略的软件更新。但最大的控制循环是在产品开发周期,使用数据分析来帮助改进未来的产品。

“传感器所做的艰苦工作必须尽可能在幕后完成,”Ambiq的汉森说。“如果它们是硬件传感器,它们需要是闭环的,而不是涉及到软件。用于跟踪模块使用情况、内存使用情况、处理器使用情况等的传感器应该封装在强化代码中,无需太多配置即可开箱即用。”

最好的前进道路有时是阻力最小的。安培公司的Rangarajan说:“纯硬件和基于固件的电源管理技术是生态系统最容易使用的。“你可以看到,即使在传统领域,该行业多年来已经从软件管理的电源状态过渡到硬件管理的电源状态,并且具有更好的状态转换延迟和节能。我们预计硬件架构将继续在电源管理方面提供重大创新。随着半导体工艺驱动的功率扩展放缓,你可以期待看到架构增强成为这里的主要创新向量。”

其他人的想法要大得多。“我在上次国际测试会议上看到的最大趋势是系统级测试和芯片的异构集成,”Cadence的Knoth说。“这两者的基础是如何监控硅内部的情况,以及使用什么管道将数据输出。然后,它可以被运行在产品上的软件使用,或发送到云数据分析平台。能够准确地了解系统内部发生的热效应——无论是在硅上,还是在封装中,在电路板上——并将其应用到软件中是非常活跃的。”

在设计阶段可以考虑的内容是有限的。桑切蒂说:“嵌入式传感器可以跟踪内场操作,并根据实际工作负载调节芯片。”“如今,这些传感器纯粹在硬件领域运行,但你可以将这些知识或知道如何将其应用到软件中。如果你通过固件或操作系统来调节芯片,这些传感器可以为你的软件提供可操作的反馈。这是又一次从硬件到软件的循环。但这一次不仅仅是从设计的角度,而是从内场操作的角度。”

软件可以推迟决策。Sancheti补充道:“越来越多的设计师将其视为硬件-软件协同优化问题。“首先是划分——哪些功能可以进入硬件,哪些功能可以进入软件。硬件具有低延迟和更高的安全性。但另一方面,有了软件,你可以得到更多的可配置性,更多的可编程性。你甚至可以通过软件更新来调整电源管理。”

共同发展日益重要。Corellium合作关系高级副总裁Bill Neifert表示:“在许多现代设计问题中,电源控制最好通过有效的硬件/软件协同设计方法来解决。“任何一方都可以做出根本性的权衡,这将影响整个系统。理解这些权衡的最佳方法是使用一种硬件和软件同时设计的设计方法。从电源的角度来看,关闭硬件块可能是有意义的,但这将如何影响性能呢?我们是否应该在每次软件可以使用的时候重新打开区块,或者在某些情况下完全用软件处理工作是有意义的?”

如果团队被分开,软件将不能使用硬件提供的所有功能,这是一种危险。“有些动态机制只有在高级操作系统软件可用的环境下才可能实现,而有些则可以在纯硬件中实现,”微软动力软件技术主管克里斯·雷德帕斯(Chris Redpath)说手臂的中央工程。“我们希望增加基于硬件的电源控制的数量(例如时钟门控、时钟速率控制、微架构管道门控等),并提供在高级软件中影响这些控制所需的策略和上下文。我们在任务调度中看到的是,关于将要运行的内容的知识允许您选择正确的操作点,而无需等待系统中的需求变得可见。我们希望继续使用高水平的系统需求知识来影响电力控制决策。”

并不是所有的事情都可以在硬件中完成。Arm中央工程的首席软件工程师Morten Rasmussen补充道:“关闭系统的重要部分通常需要更多关于当前用例的信息。”“在硬件层面,我们几乎没有全面的上下文意识,但确实有能力为细粒度的控制快速做出决策。在操作系统甚至应用程序级别,上下文感知能力很高,但时间尺度不同。理想情况下,应用程序和操作系统级别上可用的上下文信息被抽象出来,并通过软件堆栈向下传递到控制硬件的固件层。每一层都有一定程度的自主权,由更高层次的策略指导。同时,还需要抽象特定于平台的依赖关系,这些依赖关系可能会限制哪些部分可以由dvfs独立控制或关闭。”

数据应该被发送到云端吗?“把所有这些数据发送到数据中心并在那里进行处理,发送原始数据,支付通信费用,支付所有处理费用,这有意义吗?阿塔哈问道。“或者,我们在本地进行一些处理,了解发生了什么,然后将结果发送到数据中心,这有意义吗?”这确实是芯片设计师和系统设计师正在处理的一个多层问题。”

外部控制循环需要额外的功能,并在应用到现场时产生额外的问题。你需要多久调整一次?你需要做什么样的调整?固件有多大?对系统内的影响是什么?这些是在系统设计过程中应该问的问题类型。此外,还必须询问有关软件的问题。查看数据和发现趋势的繁重分析是否应该用基于云的解决方案来完成?如何将软件部署到边缘?

如果数据在云中可用,就可以用它做更多的事情。克诺斯补充说:“如果你把半导体行业作为一个整体来考虑,在每一代产品中,我们在利用现有数据方面变得越来越聪明,用它来创造下一代更好的产品。”“如今,我们在设计、验证和分析这些系统方面有了更智能的系统基础方法。”

但相信一种技术可以解决一切问题是危险的。“传感器和控制系统可以调节温度,但这并不能解决问题,”斯温宁(Marc Swinnen)说有限元分析软件。“它可以解决这个问题,但你得到了一个更慢的芯片。一种更优雅的方法是更好地预测温度,这样您就可以在设计时减少节流,并在恒定性能下工作。要做到这一点,你需要更好的分析工具。大多数系统级的热工具,刚刚被引入到IC级。我们知道如何从算法上做到这一点,但工具和方法还不到位。”


图1:理解和跟踪系统中的热流。来源:有限元分析软件

结论
自适应控制系统显然将在未来变得更加重要。传感器现在变得无处不在,它们产生大量的数据,可用于各种目的。如今,只有一小部分信息脱离了封装的限制,但业界已经认识到这些数据隐藏的潜力,并正在寻求在更广泛的环境中使用它。

编者注:这些类型的系统带来了附加设计和验证的挑战,这将在以后的故事中讨论。



留下回复


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

Baidu