中文 英语

在特定领域的世界中相互连接

效率和灵活性之间的权衡何时以及何种课程。

人气

移动数据可能是系统设计中最无趣的方面,但它是定义系统关键性能指标(KPI)的三条腿之一。计算、内存和互连都需要平衡。否则会造成资源浪费和性能损失。

问题是互连很少被视为系统功能的贡献者。它被视为开销。在算法和工作负载更快地改变的时代比芯片设计更快地改变,互连可以很好地成为拼图的片段,使得系统能够适应进步。

互连几乎是一个新问题,而在添加一些额外的障碍时,几十年来仍然存在相同的问题。

“很长一段时间以来,我们一直在试图预测沟通的表现,”弗兰克•斯基迈斯特(Frank Schirrmeister)表示韵律。“曾经是对通信看起来的高级别预测的是,在特定于域的计算时代,该公司实际上正在进行各种各样的各种各样的分析,并用详细的模型来做这些型号的时代变得如此。我不认为互连被遗漏了。它是因为能够自动生成它们的实现,即它作为架构探索的一部分。“

在那之后,团队必须确定预测是否正确。“一旦你做了架构调查,人们所做的就是确定互连的参数,并说,‘这是我将配置互连的方式,’”Johannes Stahl说,他是产品营销的高级总监synopsys.。“这是我将配置内存控制器的方式,也是我将其作为RTL实现的规范。当他们有了最终的RTL,他们就可以真正衡量这些kpi了。”

在许多情况下,这种分析不能纯粹在架构级别上完成。“这种架构的决定必须得到大量高级模拟和考虑的支持,”Andy Heinig说,他是高级系统集成小组组长和高效电子部门负责人弗劳恩霍夫IIS的自适应系统工程。“其中一个必要的模拟是系统级功能仿真/验证,但是必须考虑快速地板规划,包装估计,电力和地估计,热估计和许多其他问题。PPA可以优化,但大量系统也受到其他因素的限制,例如电源输送,散热和包装成本。“

最近发生了几个问题。首先是移动的数据量,并且增加需要降低功率和延迟,同时提高特定任务和工作负载的吞吐量。“有关数据运动的问题陈述有三个方面,”Movellus总裁兼首席执行官Mo Faisal说。“有带宽问题 - 您可以快速推送数据。有物理限制,例如可以使用多少根线。最后,有同步以确保数据保持连贯。随时查看从点A到POINT B的移动数据,您可以查看您的公共汽车有多大,您的公共汽车有多宽,并且总线可以快速以及您必须做些什么来跟踪信号调节和同步。“

最近的第二个变化是系统级方面的演变。“你所获得的更义,锁定事物更容易,”硅营销总监Manuel Uhm说:赛灵思公司。“但这限制了您将来能用它所做的事情的灵活性。AI和ML是一种发展如此迅速的区域,实际上难以根据基础内核和操作而言算法锁定算法,或者支持该算法的计算功能。即使数据类型也在发生变化。曾经在Int8数据类型周围有很多焦点,现在人们发现,如果它们减少到Int4,他们通常可以获得几乎相同的准确性,但显着降低计算要求和吞吐量需求。“

这对力量产生了巨大影响。“在给定工作量下的芯片的功耗预测是我们行业今天必须解决的最复杂的任务之一,”产品管理主任Guillaume Boillet说Arteris IP。“它需要对硬件和底层通信进行非常详细的描述。然而,卷积神经网络的功耗几乎与量化的精度成线性变化。换句话说,一个依赖于32位表示的实现大约会消耗16位实现的两倍。”

对未来的验证增加了问题的另一个方面。“这就是软件定义网络(SDN)这个术语的由来,”Cadence的Schirrmeister说。“你定义带宽,小心不要过度设计东西。你需要下面的跑道来实现你的所有目标。然后你可以在它上面定义SDN。这是很困难的。人们无法真正预测最终的带宽会是多少。这就是为什么所有东西都需要更多的软件加载。”

这是否增加了更多的开销?“在某些情况下,可能会有,”Xilinx的UHM说。“如果您不需要移动的所有吞吐量,可能会有一些过度配置。但要提供灵活性,总是如此。如果您不需要灵活性,只需使用ASSP或构建ASIC。把所有这些事情锁在一起,只是永远不会改变它们,或者花费数百万美元以后改变它们。“

设计的抽象和实现的限制使预测变得困难。“一个虚拟原型可能是一个非常抽象的模型,用于架构探索,在那里你只是模拟互连和内存,其余的是抽象的工作量模型,“Synopsys'Stahl说。“这提供了对权衡决策的良好指示,但没有任何准确的价值。如果您在该级别具有良好的功能模型,那么您可以编写软件,但在真实的PPA值方面,您将太远。它太抽象或过于不完整,以便与实施预测有关。“

问题范围
把问题限制在芯片或直接连接的芯片上的日子已经一去不复返了。在许多情况下,必须非常仔细地定义分析的范围。"在一个包中,这可能是一个或多个连接的单个模具2.5 d3 d,你需要在那里处理沟通,“Schirremeister说。“那些案例中的记忆是中心。但是当你走出范围时,也许考虑一下数据中心(参见图1),当您查看机架以及它们的连接方式时,您的概念在整个网络中延伸,那么您正在调查延迟。您必须查看计算,延迟,电源和性能 - 当您做出决策时都是互连的。我处理了我的吗?IOT.终端设备?我在我的边缘处理吗?我在我的边缘处理吗?我在本地数据中心处理吗?还是我把它都放到云端?这种超连接性的概念在其中发挥了作用,但你需要真正意识到它的范围。”

图1:根据互连问题。资料来源:Cadence.

图1:根据互连问题。资料来源:Cadence.

虽然这些问题对设计数据中心的人来说不是新的,但它们是芯片/包装设计师的新手。“我们需要识别需要在型号中描述的更高延迟或更高的延迟时间,”Synopsys'Stahl说。“对于已经模拟大型系统的人,这不是一个新的。我们所看到的是需要将这些离模连接的物理学建模,作为验证系统或调整系统的过程的一部分。想象一下,你有一个dram和dram phy。您需要培训和优化PHY。您可以使用在某些硅节点中验证的标准序列,也许您对此感到满意。但是,如果你真的想推动你的系统的界限,你可能希望非常具体地训练这个DRAM接口到相邻的骰子。“

很多人都在考虑迁移到多模包。Movellus的费萨尔表示:“收益率确实是这背后的一个重要因素。”“当你开始做越来越大的瓷砖时,硅的物理特性就会发挥作用。你会开始遇到二阶、三阶、四阶变化的影响,以及时钟的退化,电力网络的退化,然后是关于数据移动和电力传输的问题。然而,您必须理解其中的权衡。如果你把一个400mm的芯片切成4 × 100mm的芯片,然后使用全带宽,你就会把一个200W的芯片变成250W的芯片。额外的50W是I/O开销。”

数据流和工作负载
虽然某些芯片旨在解决狭窄的问题,但需要更多的灵活性,其中工作负载不太受约束。“您可以进行视觉处理或音频处理或自主驾驶,”费萨尔说。“在数据结构和不同的图表方面都是不同的问题陈述。反过来,改变互连约束。“

但是可以为此开发流程。“您基本上映射到算法的数据流,对于您正在开发的系统,并且您对芯片线(NOC)进行编程以适应该数据流,”UHM说。“映射算法和数据流真的很重要,然后进行一些流量分析。我们有一个工具(见图2),告诉您您建立的目标是可能的。如果您试图施加延迟限制,它将在这些延迟限制范围内工作,或者告诉您这是不可能的。您将类似于数据的宽度和其他重要的东西设置。

图2:绘制互连图。来源:Xilinx

图2:绘制互连图。来源:Xilinx

然而,这并不总是那么容易。“挑战在于,在这个设计阶段,你还没有真正的软件,”斯塔尔说。“您可能只有软件工作负载的抽象表示。这有正确的交易,并将在互连上产生代表性的流量,但它不是实际的软件。它是软件的代表。它是一个抽象的工作负载模型。对于那些想要做出基本权衡的建筑师来说,这可能已经足够好了。”

其他工具也将出现,以帮助生成或工作负载。“有新的语言,比如便携式刺激Schirremeister说,由Accellera Systems计划定义的标准(PSS)。“它允许您生成测试流。可以定义使用情况的方面并将其创建为测试环境。然后它可以通过约束求解器进行所有周期。“

建立NOC时有很多考虑因素。“有很多需要考虑到,”UHM说。“您可能有多个具有不同路由的拓扑,必须确保没有死锁,没有争用,可以在公交车中发生。”

图3:芯片关注的网络。来源:Xilinx。

图3:芯片关注的网络。来源:Xilinx。

NoC还可以执行许多其他功能。“每个核心都会有变化和倾斜的问题,”费萨尔说。“你可能需要修改某个核心上的电压以达到你的性能目标,但如果你想与另一个核心通话,你就必须在它们之间添加一些东西。你需要一个NoC在中间,因为你不能保持数据传输在同一边缘。你在两个核上的时钟将不会对齐或同步。”

许多人认为互连是乏味的。“想象一下SoC架构,你有附加到片上网络互连的所有块,”动脉IP营销副总裁Kurt Shuler说。“您可能有200件连接到芯片中心的NOC。NoC工具管理连接到它的IP的所有元数据。回到顶端,所有信息都是系统错误的巨大来源。我们都会犯错。这导致问题,而不仅仅是对于常规筹码。但你能想象典型的功能安全要求吗?“

安全
数据的通信是攻击表面,需要仔细考虑。“您不必从安全角度保护整个系统,”费萨尔说。“你只是保护它的关键组成部分。但下行的是,随时随地使用协议出于安全原因,或者任何其他原因,您可以为您的系统添加大量延迟。如果您想开始担心互连通信协议中的安全性,您必须在延迟和整体系统吞吐量和性能周围进行折衷。“

这将使我们满是初始架构和分析。“这就是为什么系统分析工具看看热效应,电磁效果,流动效果等东西,”Schirremeister说。“它有一些安全性,但它只是试图确保系统的人之间的年龄古老种族,以及一名试图破解它的黑客。一旦它被黑了,那将继续一段时间。内置调试系统也是如此。那些是人们的攻击表面。你必须非常小心你如何处理这些。所以,是的,这是有新的攻击表面,但人们正在积极地思考如何保护它们。“

结论
您打算芯片保持相关多长时间?这不是许多人在过去询问的问题。但是,使用算法和数据类型正在发生变化的速率,具有不够灵活的设计可能意味着您必须以更快的速度转换芯片。这使得难以收回NRE。

然而,如果你增加了太多的灵活性,你可能一开始就没有竞争力。互连是灵活性的关键组成部分,它的设计比过去更被重视。在包中合并多个模块也创造了新的可能性,并使系统级架构分析变得更加重要。



发表评论


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