有什么重要的处理器可扩展性?

设计师必须仔细权衡收益与成本,其中许多并不明显。

受欢迎程度

而能力扩展处理器并不是什么新鲜事,市场动态迫使越来越多的行业需要考虑他们的产品创新的必要组成部分。从小型大规模数据中心和人工智能物联网功能,需要创建一个优化处理平台通常是唯一的方法来获得更多的性能或降低电力的硅区域可用。

多的考虑可扩展性添加指令的能力,然而更大的收益可能当基础设施和通信被认为是空间的机会。例如,通过专用硬件渠道直接processor-to-processor通信可以提供巨大的动力和性能优势旧技术,如对称多处理(SMP)。这些旧机制依赖耗电总线之间的通信体系结构和共享内存。

分布式处理还允许更大程度的专门化,但受益于这整个流程必须成为最优,增加开发成本可以证明性能收益。该行业似乎在一个临界点,RISC-V帮助将注意力转向是标准设计实践。

“大部分行业仍然是——要么因为遗留的目的或基础设施的存在——致力于标准处理器和标准架构,”尼尔说,营销主管设计验证技术导师,西门子业务。“他们处理任何额外的功能需要通过硬件加速器。你有另一组的人已经开始看RISC-V等替代品。”

”挑战,从历史上看,自定义指令的规定仅限于利基应用额外设计工作的权衡,权力和需要定制软件工具链是有道理的,”蒂姆·维特菲尔德说,副总统的战略手臂的汽车和物联网业务。“管理软件的成本和开销超过性能或权力的好处。经常的使用是有限的嵌入式应用程序软件或用户界面不向第三方公开。”

性能改进正迫使这些替代品。“如果你不能得到你所需要的性能从标准固定ISA处理器,您被迫添加硬件处理器与外部连接,不知何故,”乔治说,产品营销主任Tensilica群节奏。”,一个可扩展的ISA,可以加速特定函数作为一个指令,或一组指令,并满足总体性能要求,无需卸下固定硬件。”

这当然不是新的欲望。“有梦想C代码和神奇的端口在一个定制的处理器,可以优化运行C代码,”Graham说威尔逊,产品营销经理弧DSP处理器Synopsys对此。“事实是,它不是像最初认为的那样容易实现这一梦想,但可配置的和可扩展的处理器让他们更接近梦想。能够快速应对市场的变化,新算法,或不同的方法实现以前的算法,提供自定义指令和允许人们最大的成功实现更好的性能。”

RISC-V的影响
添加指令并不是新东西。“很多处理器已经存在了一段时间,但他们非常严格控制,“导师的手说。“他们允许您添加特殊的指令,但这是没有干扰的主要解码结构的处理器。RISC-V改变了现在有一个可重用的软件生态系统,让人们更容易考虑这些专门的处理器。我们看到越来越多的人想要建立自己的,或修改自己的,因为他们没有投资于软件生态系统。软件生态系统总是昂贵的一部分努力探索小说架构。”

这个选项以前从未存在。”结合模块化设计方法和基于开源ISA创建自定义指令处理器是一个开创性的想法,”路易De Luna说,营销主管Aldec。“模块化方法可以覆盖更广泛的领域,和自定义指令可以解决更多的特定于域的需求。”

因为RISC-V是开放的,这种可能性是无穷无尽的。“RISC-V允许您扩展它,或者尝试与许多核心配置,需要自己的指令做一致性和移动数据,”Simon Davidmann说首席执行官为治之软件。“也许你想要一个FIFO。开放的ISA的想法是,它使您能够添加简单的事情,如自定义指令来做具体的算法,而且它允许您连接数组或玩沟通。RISC-V给你什么是创新的自由。”

类型的扩展
某些算法可以受益于额外的指令。“这可能是一种VLIW指令或只是一个指令,结合了两种很常见的操作,比如添加一个转变,“节奏的墙说。“根据扩展和功能,你可以有时决定指标合并到数据处理。你可能有一个指令,说,如果这种情况是真的,我将负载从这个内存位置注册。否则,我保留旧值。这些类型的指令可以在图像处理非常有价值的。”

添加扩展不仅仅是添加计算。还可以添加接口,“继续墙。“通过这些接口可以连接外部硬件模块。理解处理器之间的带宽和吞吐量和外部硬件模块是系统的一个基本组成部分的架构。你需要想出一个系统架构,然后想出你打算执行的算法。”

将它从一个软件扩展架构扩展。“您可以添加您自己的自定义接口——无论是GPIO、FIFO寄存器,一个辅助登记,或自定义寄存器,可以反映硬件模块——所以他们成为紧密耦合的硬件,”威尔逊说Synopsys对此。”,为开发人员提供了一个最优处理器非常紧密耦合和连接到他们的系统经过扩展的接口。然后创建指令来访问这些GPIO, FIFO和辅助寄存器”。

多核架构正在推动这种类型的扩展。“当你有一个数组的处理器,他们倾向于坐在一个矩阵与人交谈北部,南部,东部和西部,“治之”Davidmann说。“可能他们之间有一个FIFO。您可以通过编程方式,但它是更有效的添加自己的指令来控制通信结构。”

然而,有一个缺点。“现在你有这么多的自由度,你必须小心你使用的自由度,”警告。“你所做的每一个变化都将影响验证。”

量化的收益
人们希望当他们扩展处理器呢?2017年“DAC, Microsemi报告创建自定义DSP指令RISC-V-based音频处理器产品,“罗迪厄克特说,高级营销总监Codasip。“他们定制的处理器提供4.24 x的性能原始核心但只需要在硅谷地区增加了48%。由于功耗是时钟频率成正比,降低时钟频率降低了力量大大超过增加的力量由于更大的处理器。此外,代码规模缩减到43%的面积相关的原始大小成本和权力的好处。”

可以更大的收益。“我们有很多客户使用Tensilica核心加速AES加密,“墙说。“如果你纯粹的处理器上运行,加密,然后把它比作一个与处理器扩展,大约快200倍。这是一个极端的例子,但它给你一个例子的范围的可能性。标准的RISC处理器的基本指令和AES没有设计。有一些特殊的XOR和变化是必需的。能够添加这些不仅增加了数据计算,而且还允许您捕获的一些决策到硬件有更少的需要在一个处理器执行昂贵的分支机构”。

它可以提供一个更小的芯片。“除了性能,您可能会看到在权力和区域。的权力,你可能需要更少的指令来执行一些操作。如果你看看加速一些关键的基准,消耗70%的处理器负载加速这些,你可以半个时钟周期的数量你需要实现一个算法。转化为一个低能量的解决方案。虽然核心可能大一点,因为额外的指令,你的合成能量是非常少的。如果你合并大量的指令,它也会降低您的指令代码大小,这将减少你的指令内存大小,将减少电力消耗,当你访问内存。”

结果可能是一个更便宜的解决方案。“人们进行了更改,一个处理器,给他们数量级的加速软件,“手说。”,允许他们去旧流程节点实际上可以省钱没有做太大改变他们的设计。”

性能分析
这一切开始于分析。“不是所有的计算是一个很好的符合通用处理器核心,“Codasip的厄克特说。“如果软件是异形,它可以识别计算热点允许设计师来调查如何扩展指令集,以便更好地实现设计目标。设计师可以创建额外的指令,然后使用分析工具对反馈性能瓶颈是否已经解决了。”

有时,你需要一个更深入的潜水,得到所有的细节。“你需要迅速得到什么感觉的影响区域,复杂性,和时间路径,以确保他们不影响实现兆赫和其他方面,“墙说。“你可以很快通过EDA流程流向想出一个门级实现,然后您通常可以得到一个粗略的数量级估计的力量。使它容易做的比较两种不同的实现。您可能会看到这种力量上升了10%,但是我翻了一番我的应用程序的性能。”

这不是一个开环的过程。“你需要继续严格控制,因为你将逻辑添加到核心,”威尔逊说。“这是一个迭代的过程开发你的指示,做物理实现,评估多少盖茨,计算最大时钟频率等等。只要你坚持,你会得到一个较低的权力和一般小的解决方案如果你考虑指令内存。”

维护工具链
如果工具链扩展时,收益蒸发。一些解决方案构建成的方式扩展可以当别人提供更多的灵活性,但也可能让你陷入更多的麻烦。最低,维护工具兼容性RISC-V意味着你仍然符合标准。

许多解决方案从一个处理器的描述。“扩展指令集之后,必要的黄金参考国际空间站,RTL,软件工具链和UVM验证环境和测试检查RTL匹配国际空间站是自动生成的,”厄克特说。“这高度自动化的方法是更具成本效益和低风险比替代方法涉及到手动,手动或部分,创建了扩展国际空间站,RTL,编译器和验证环境。”

一些解决方案可能比别人走得更远。“我们也使用单个源指令扩展,而单一来源指南的硬件设计和软件设计,“墙说。“软件与硬件工具链生成。一个关键方面是缓解与这些扩展的编程。如果你看看你的标准的RISC指令集,编译器需要决定哪些指令发布和资源如何使用这些指令调度。这不是那么容易当的扩展,但编译器可以做决定,即使使用自定义指令。”

其他解决方案确保工具链不能被打破。“我们以不同的方式处理这个许多其他架构,“胳膊的·维特菲尔德说。“我们的方法允许添加自定义数据路径指令以最小的影响生态系统的硬件或软件。添加自定义逻辑的一个影响任何CPU实现不仅要求,以确保你的新指令正常工作,但是你没有打破任何其他方面的CPU。这验证开销可能相当可观。我们的方法减少影响验证和保持软件工具和生态系统一致的。”

许多的方法是合理的。“在手臂上的解决方案,他们不让人们完全有自由添加任何旧的指令,“Davidmann说。“这是一个非常干净的解决方案,你可以添加和扩展它的控制方法。它给你的自由做某些扩展所需的算法改进,但他们在这样一种方式,它不能损害其他织物。这意味着你不需要重新验证一切。在RISC-V世界,没有保障。你基本上得到了RTL在你面前。很容易添加一个指令在这里或那里,但是没有警察,除了在你的公司。”

验证成本可能导致收益蒸发。“虽然可以保持更本地化的软件定制的影响,这是更加困难与硬件,”尼古拉·Tusinschi说,设计验证专家OneSpin解决方案。“添加一个自定义指令管线式RTL处理器有巨大影响的功能问题,可能隐藏错误。这些公司需要的是一个严格的验证流程,可以实现一种ISA之间的等价性检查,包括自定义指令和RTL实现工具生成。这类似于具有等价性检查工具,验证一个RTL模型与FPGA的合成工具生成的网表FPGA供应商。“(与定制的处理器相关的验证问题是解决在以前的一篇文章中,“实际处理器验证”。)

硬件/软件共同发展
为了有一个优化处理器,您需要的软件。“如果你有软件可以分析你的软件和识别的一些热点在哪里,”说。“但是如果你没有软件仍然可以识别哪些类型的计算,或要求,将预期的处理器。一旦你已经可以开始做一些权衡的处理器需要做什么。”

在某些情况下,传统的安排可能会转变。“一家公司受欢迎的手机应用程序来衡量他们的下一代系统的性能影响和帮助他们使架构选择,“手说。“我们正在试图做的是提供一个硬件软件平台,人们可以开始做分析。然后,随着他们对实际硬件迁移,他们可以开始用,真正的硬件平台,通过模拟,模拟或原型。利用很多权衡,你会想要你真正的硬件软件合作设计,“说。”

即使你没有生产软件,仍然可以取得进展。“我们知道,对于音频,我们所能够做的快速傅里叶变换(FFT)或无限脉冲响应(IIR)算法,”说。“虽然我们不知道每一个FFT或IIR可能在处理器上运行,我们能够捕捉它的基础知识。我们可以编写一个小程序,捕捉这些算法和开发扩展。然后我们可以分析这些扩展的影响。”

结论
处理器可扩展性设计有深远的影响。这可以体现在显著改善性能和较低的权力。它打开了架构,可能从来没有被认为是在过去。

然而,公司沿着这条道路必须充分意识到将发生障碍和隐性成本——特别是在一些技术还处于起步阶段。



1评论

JonathanLevitt 说:

多的考虑可扩展性添加指令的能力,然而更大的收益可能当基础设施和通信被认为是空间的机会。例如,通过专用硬件渠道直接processor-to-processor通信可以提供巨大的动力和性能优势旧技术,如对称多处理(SMP)。这些旧机制依赖耗电总线之间的通信体系结构和共享内存。

分布式处理还允许更大程度的专门化,但受益于这整个流程必须成为最优,增加开发成本可以证明性能收益。该行业似乎在一个临界点,RISC-V帮助将注意力转向是标准设计实践。

留下一个回复


(注意:这个名字会显示公开)

Baidu