CPU和GPU善于掌握流盘算。它们的掌握驱动机械模子基于掌握令牌,掌握令牌提醒应施行语句的时候。这付与 CPU 和 GPU 完整的掌握力,能轻松实现庞杂的数据和掌握构造。然而,那样干的价值是效力较低且难以毫无过失地正确编程。相反,FPGA 善于数据流运算。它们遵守数据驱动机械的形式,一旦一切操作数可以用就施行语句。那样的成果便是 FPGA 能开释伟大的并行性和吞吐量潜力,与此同时防止犯错或发生副作用。
整体来讲,作为 CPU 和 GPU 通用平台的替换手艺,FPGA 可以自适应生成定制较量争论架构,知足机器人的需求。由于具有亘古未有的灵活性,并能缩短设计周期,与此同时低落开辟本钱,FPGA 曾经z正在各种着名工业机器人制造商和医疗机器人运用中大批接纳。正在 “A survey of FPGA- based roboTIc compuTIng”中,阅读者可以看到一份有关基于 FPGA 的机器人较量争论的调研,该调研展现了 FPGA 正在机器人运用领域的普遍适用性。下面是对 FPGA 特点的详细描述:
• 自适应:当与此同时需求掌握流和数据流时,CPU 和 GPU因为时延和呼应时候问题没法利用,而 FPGA 则能生成前所未有的定制盘算架构,知足严厉的实时要求和多重枢纽性要求。CPU 和 GPU 所采纳的固定盘算架构,限定了它们的团体本领,包含呼应时候和时延。
• 高性能:FPGA 根据创设深度流水线化的数据途径(流较量争论)来提拔较量争论性能,而并不是像 CPU 和 GPU 那样依托较量争论单位数目的增添。流较量争论的事情道理是一个较量争论单位发生的数据立即被流水线中的下一个较量争论单位处置惩罚,那样就免去了数据流通道中“提取-较量争论-存储 (fetch-compute-store)”的环节,便于数据发生者和消费者的运算操纵,进而提拔了性能。相反,因为存在架构固定、核数目固定、指令集固定、存储器架构僵化等多重限定,CPU 和 GPU 只能以捐躯性能的体式格局开展较量争论。
• 高能效:速度和功耗是数字电路的根基品质因数 (FOM,figures of merit)。功率是示意数字电路频次和触发率的函数。 FPGA 经由过程并行和直接施行算法调理频次。FPGA 连结较低频次和较低切换率(无指令猎取)举行测算,但取 CPU 和 GPU 的等效测算性能相比,FPGA 正在更高的频次下具有更大的并行性上风,进而客户以实现更好的功率指数和更高的能效。
• 没有铺张算力:FPGA 借助灵活性实现芯片利用率最大化以提拔性能。静态功用交流(DFX,曩昔被称为“部份重设置”)同意正在 CPU 上运转的线程化运用分时同享 FPGA。由此当给定线程正正在处置惩罚 FPGA 生成的后果时,另外一线程能运用 FPGA 举行没有同的较量争论。
• 可猜测:FPGA 帮忙 CPU 和 GPU 卸载严厉意义的实时盘算,正在执行时间上供应纳秒级猜测才能,并且不容易受到取 GPU 和 CPU 盘算有关的软件调动或颤动的危害。
• 可重设置:机器人算法仍处于高速演进发展中,FPGA 可以按需开展静态重设置和更新。另外,还可以轻松地对 FPGA 开展从头编程以知足异构需求,实现 CPU 和 GPU 本领供应的通用本领。
• 宁静:FPGA 可以按需灵敏地构建宁静电路,保障机器人数据流的宁静。另外,FPGA 能充分利用重设置功用改正其硬件架构的缺点(制止硬件风险)。如许设计人员就可以敏捷处理正在固定盘算架构上难以处理或没法处理的宁静风险(制止将来的风险,比方“熔毁”和“鬼魂”)。
然而也是有观念以为,虽然 FPGA 是机器人专家心目中抱负的较量争论基干,然则它们供应的灵活性是以增添复杂性和所需的设计妙技为价值的。“A survey of FPGA- based roboTIc compuTIng”列出了局部所需的分外妙技。只有可以全面综合地应用含多核 CPU、GPU 和 FPGA 在内的所有这些手艺,才气实现最优秀的机器人性能。事实否则,赛灵思所供应这类集成式片上体系 (SoC) 解决方案,是将 CPU 通用软件的可编程才能取 FPGA 自适应硬件功效完美结合在了统一器件当中。
这一些自适应 SoC 为机器人利用给予了软硬件兼有的高灵活性盘算底子,并可给予高性能、低功耗、确定性、硬件可重设置、宁静,和自适应特征等价值。
要点总结:CPU 和 GPU 善于操纵流测算,而 FPGA 善于数据流测算。自适应 SoC 解决方案为机器人利用供应了软硬件兼具的高灵活性测算基干,可供应低功耗、高性能、确定性、硬件可重设置、宁静,和自适应等特征。