中文 英语

功耗成为嵌入式处理器的更大问题

表现似乎是决定因素,但最终权力通常会胜出。

受欢迎程度

即使在性能被标榜为最高设计标准的应用程序中,功耗也逐渐成为嵌入式处理器的主要关注点。

这与最终应用程序或流程节点无关。在一些高性能应用程序中,功率密度和散热会限制处理器的运行速度。对需要电力的网络和物理安全的担忧,以及越来越多的有线和无线I/O协议,都可能影响整体电力预算,使情况更加复杂。

“其他应该关注的领域包括实时性和安全性,以确保处理器在关键任务应用中的时间确定性和可靠性,以及延长使用条件,”该公司汽车和物联网业务线技术战略高级总监Suraj Gajendra说手臂.“例如,处理器能否在大范围的温度和环境条件下持续运行?架构师和工程师必须考虑所有这些需求,并可能根据部署处理器的应用程序做出权衡。”

Vision和AI dsp的产品营销和管理部门主管Pulin Desai表示,与所有设计一样,高性能嵌入式处理器的权衡和架构决策归根结底取决于你想用这些处理器做什么节奏.“汽车领域有很多不同的东西,所以汽车领域的优势可能意味着保险杠或侧视镜的处理。在所有这些事情中,最终,尽管人们可能认为功率不那么重要,因为你需要一定的性能,但在边缘设备上,低功耗是非常重要的。”

对于可能包含图像传感器或雷达传感器的驾驶员监控系统也是如此。“在这里,动力和性能也很重要,”德赛说。“在这个监测系统中,它在没有光的情况下工作也很重要。如果你在晚上开车,你想看看司机是否睡着了,或者车里有多少人。然后可能会有雷达出现在画面中,或者利用基于红外的设备。此外,在你迈向自动驾驶的2级以上或3级时,有一个巨大的芯片可以完成所有事情。许多传感器都为此而出现,设计团队正在寻找一定水平的图像处理。”

德赛说,即使是高性能嵌入式人工智能处理器,其重点是每秒太字节数(TOPS),基本指标也是每瓦的TOPS。“人们会给你一个很高的TOPS数字,但这不是最终的衡量标准。他们看重的是性能而不是功率,或者是TOPS而不是瓦特。这是最重要的事情,因为在某些应用程序中,这是关于你要使用多少能量。无论如何,权力仍然是最重要的考虑因素。”

测量功耗
理解权力是如何在一个综合体中被利用的finFET节点芯片需要在设计周期的早期结合全芯片仿真,以及整个生命周期的在线监控。两者都是最大化性能所必需的。

“即使它们不是在芯片尺寸和功率的极限,高级节点上的任何高性能处理器通常都包含多核,并且可以消耗数十瓦的大量功率,”Richard McPartland说,该公司技术营销经理Moortec.“芯片内监控应该在设计周期的早期考虑。热挑战的最佳解决方法是在已知或潜在热点附近嵌入温度传感器,通常每个核心有几个传感器。增加温度传感器可以将节流最小化,以确保最大的数据吞吐量。”

另一个挑战是配电网络,如果芯片是2.5D或3D封装的一部分,这将变得更加复杂。McPartland说:“包括支持所有关键块的多个电压传感点的电压监视器,其中速度与电源电压密切相关,在芯片启动和优化阶段将是非常宝贵的。”“这将能够检查和补偿功率分布和IR下降,从而优化性能。最后,过程监控器除了提供良好的过程速度测量外,还可以通过电压缩放方案帮助减少电压保护带,以解决过程可变性,并监测和补偿老化。”

所有这些因素都取决于许多因素,从整体SoC架构到嵌入式处理器所用于的计算类型。例如,在加密应用中,DSP或AI算法主导着性能要求。在其他情况下,在更广泛的一组业务中可能需要高性能。

“在前一种情况下,创建一个领域特定的架构是最佳的,”罗迪厄克特说,高级营销总监Codasip.“在这种情况下,业界围绕使用RISC-V ISA有很多活动,创建自定义指令将提供高水平的专业性能。”

许多公司提供了用于RISC-V架构探索和自动生成硬件和软件开发工具包的工具。在涉及更广泛的性能的情况下,使用双问题而不是单问题核心将显著提高吞吐量,正如西部数据对其RISC-V SweRV core EH1核心所做的那样。这两种方法可以结合起来,例如,向双问题EH1添加特定于领域的指令。

但是,开发在不同应用领域通用的嵌入式处理器核心可能是一个挑战,尤其是在存储、网络、无线和汽车领域的应用。尽管如此,它们还是有一些共同点。

ARC处理器高级产品营销经理Michael Thompson表示:“随着存储和网络的发展,我们看到了对更大地址空间的需求。Synopsys对此.“然后,在存储、无线和网络,以及在某种程度上在汽车领域,都需要更大的集群。客户可能会说,“我真的需要超过八核的处理器,我想在多核处理器上做到这一点,比如有超过八个CPU核的单个处理器。”我们也看到了对硬件加速器日益增长的需求。在存储中,设计团队将通过自定义指令功能附加三个加速器。但很多工程团队希望通过硬件加速器/协处理器接口来实现这一点,例如计算存储、人工智能以及存储控制器内部的那些东西。在无线领域,确实需要硬件加速器。在汽车领域,事情仍在不断发展,在一些应用程序中需要更大的集群功能,预计硬件加速器的使用会越来越多,特别是在人工智能领域。”


图1:Synopsys的新型嵌入式ARC处理器设计。来源:Synopsys对此

记忆很重要
虽然许多决策都归结于每瓦的TOPS,但将内存带宽作为高性能嵌入式处理器架构决策的一部分是必需的。Cadence的Desai说:“你不希望有很高的内存带宽。“你能使用片上存储器而不是外部DDR吗?”这样可以节省电力。芯片设计师想出了不同的方式来表达,‘在低功耗模式下,我会像这样非常优化。然后当我进入高性能模式时,功率很重要,每瓦的TOPS很重要,但现在我可以到芯片外面去找内存。人们会用不同的方式来节省电力,内存带宽是一个重要的考虑因素,同样重要的还有所使用的内存。”

具体的权衡取决于目标市场。“在任何高端处理器中,比如在移动领域、监控市场或汽车市场,都有一个CPU集群、一个GPU集群,然后是用于视觉或成像的特定领域处理器,或者如果有某种雷达的话。如果有某种交流,那么就会有一个障碍。所以在高层次上,你很清楚自己想要什么。但挑战在于你的整体内存架构。如何在处理器之间共享数据?L1、L2、L3内存层次结构、外部DDR,所有这些东西,它们将如何相互通信?在高层次上,人们有一个非常好的想法。它只是在后面深入到更多的细节,基于哪个领域和你的设计目标,”他说。

验证注意事项
高性能嵌入式处理器设计完成后,必须对其进行验证。这有几个方面。

“首先,你要验证性能是否符合你的预期,”尼尔·汉德(Neil Hand)说Mentor是西门子旗下的企业.“假设你设计了一些东西,是否添加了加速器,是否添加了加速器,新的指令,内存架构等等。您需要确定是否达到了性能目标。为了实现这一点,有必要让客户能够在这些处理器上运行真实的基准测试,他们的实际应用程序,以及虚拟平台上的软件堆栈,以及仿真,然后在它们之间切换以运行真实的性能基准测试。”

在理解了设计是否按照预期进行之后,它是否按照性能方面的计划进行?汉德强调:“你把所有的努力都投入到构建高性能处理器上,而验证它的唯一方法就是使用真实世界的数据,因为这才是最重要的。”

混合验证平台目前用于在处理器的快速模型和高精度模型之间切换,以便进行基准测试,这需要与现实世界的软件堆栈相结合。

然而,他说,尽管这将表明是否达到了性能目标,但它不会显示是否隐藏着潜在的性能问题。“你可能会遇到缓存问题,或者在极端情况下会在总线上出现过多的延迟。为此,您需要能够在验证环境(很可能是混合平台或模拟的组合)中执行系统级分析。这允许总线上的事务相互关联,或者能够查看整个系统的延迟。这将突出显示处理器中的潜在问题,这些问题现在可能不会影响您。但是,如果你在运行实际数据的同时进行系统级分析时,突然发现存在某些异常值,并且你意识到偶尔会出现缓存缺失,并且它被挂起的时间超过了应有的时间,那么突然就出现了性能问题。”

对于实时系统中使用的高性能处理器,过度的延迟对整个系统来说可能是灾难性的。“这是高性能嵌入式处理器验证挑战的第二部分——确保你在做系统级分析和性能分析,”Hand说。“这不仅仅是你通常通过运行基准测试来实现的蛮力性能。它查看系统内部发生了什么,查看原因和结果,事务源和同步之间的相关性,以了解是否存在一些潜在的性能问题,这些问题还没有引起问题,但稍后会回来给您带来麻烦。

系统级分析在异构设计中变得至关重要,因为高性能处理器不是孤立存在的。通常,它们与其他高性能处理器和加速器共享基础设施。“你必须能够在那个系统上下文中运行所有东西,”他说。“你必须在系统层面进行分析,以了解设计要求是否得到满足,以及是否有需要调查的地方,因为这可能会在以后成为一个问题。”

结论
对于高性能嵌入式处理器的设计,所有传统的考虑仍然适用于性能、功耗和面积。但从那以后,它变得复杂得多,这取决于应用程序、嵌入这些处理器的系统,以及需要做出的各种权衡。理解所有这些,监控它,并在所有已知和预期的条件下验证一切都按预期工作,这是一个越来越大的挑战,而且随着越来越多的数据被处理,使用与过去相同或更少的功率,它只会变得越来越困难。



留下回复


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

Baidu