为什么FPGA能在机器人中起到重要作用

为什么FPGA能在机器人中起到重要作用 ink_hide" style="font-family: "Microsoft yahei", 微软雅黑; font-size: 16px; letter-spacing: 0.5px; cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u style="color: rgb(51, 51, 51) !important;">CPU  ink_hide" style="font-family: "Microsoft yahei", 微软雅黑; font-size: 16px; letter-spacing: 0.5px; cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u style="color: rgb(51, 51, 51) !important;">GPU 擅长控制流计算。它们的控制驱动机器模型基于控制令牌,控制令牌提示应执行语句的时间。这赋予 CPU 和 GPU 完全的控制力,能轻松实现复杂的数据和控制结构。然而,这样做的代价是效率较低且难以毫无差错地准确编程。相反,FPGA 擅长数据流运算。它们遵循数据驱动机器的模式,一旦所有操作数可用就执行语句。这样的结果就是 FPGA 能释放巨大的并行性和吞吐量潜力,同时避免出错或产生副作用。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  总体而言,作为 CPU 和 GPU 通用平台的替代技术,FPGA 能够自适应生成定制计算架构,满足机器人的需求。因为拥有前所未有的灵活性,并能缩短设计周期,同时降低开发成本,FPGA 已经z在各类知名工业机器人制造商和医疗机器人应用中大量采用。在 “A survey of FPGA- based roboink_hide" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;">TIc compuTIng”中,ink_hide" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u style="color: rgb(51, 51, 51) !important;">读者可以看到一份有关基于 FPGA 的机器人计算的调研,该调研展示了 FPGA 在机器人应用领域的广泛适用性。下面是对 FPGA 特征的详细描述:

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 自适应:当同时需要控制流和数据流时,CPU 和 GPU因为时延和响应时间问题无法使用,而 FPGA 则能生成无与伦比的定制计算架构,满足严格的实时要求和多重关键性要求。CPU 和 GPU 所采用的固定计算架构,限制了它们的整体能力,包括响应时间和时延。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 高性能:FPGA 通过建立深度流水线化的数据路径(流计算)来提升计算性能,而不是像 CPU 和 GPU 那样依靠计算单元数量的增加。流计算的工作原理是一个计算单元产生的数据立即被流水线中的下一个计算单元处理,这样就免去了数据流通道中“提取-计算-存储 (fetch-compuink_hide" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u style="color: rgb(51, 51, 51) !important;">te-store)”的环节,便于数据产生者和消费者的运算操作,从而提升了性能。相反,由于存在架构固定、核数量固定、指令集固定、ink_hide" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u style="color: rgb(51, 51, 51) !important;">存储器架构僵化等多重限制,CPU 和 GPU 只能以牺牲性能的方式进行计算。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 高能效:速度和功耗是数字电路的基本品质因数 (FOM,figures of merit)。功率是表示数字电路频率和触发率的函数。 FPGA 通过并行和直接执行算法调节频率。FPGA 保持较低频率和较低切换率(无指令获取)进行计算,但与 CPU 和 GPU 的等效计算性能相比,FPGA 在更高的频率下具有更大的并行性优势,从而客户以实现更好的功率指数和更高的能效。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 不浪费算力:FPGA 借助灵活性实现芯片利用率最大化以提升性能。动态功能交换(ink_none" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;">DFX,过去被称为“部分重配置”)允许在 CPU 上运行的线程化应用分时共享 FPGA。由此当给定线程正在处理 FPGA 生成的结果时,另一线程能使用 FPGA 进行不同的计算。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 可预测:FPGA 帮助 CPU 和 GPU 卸载严格意义的实时计算,在执行时间上提供纳秒级预测能力,而且不会受到与 GPU 和 CPU 计算有关的软件变更或抖动的影响。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 可重配置:机器人算法仍处于高速演进发展中,FPGA 能够按需进行动态重配置和更新。此外,还可以轻松地对 FPGA 进行重新编程以满足异构需求,实现 CPU 和 GPU 才能提供的通用能力。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  • 安全:FPGA 能够按需灵活地构建安全ink_none" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;">电路,保障机器人数据流的安全。此外,FPGA 能充分利用重配置功能修正其硬件架构的缺陷(避免硬件风险)。这样设计人员就能迅速解决在固定计算架构上难以解决或者无法解决的安全风险(避免未来的风险,例如“熔毁”和“幽灵”)。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  然而也有观点认为,尽管 FPGA 是机器人专家心目中理想的计算基干,但是它们提供的灵活性是以增加复杂性和所需的设计技能为代价的。“A survey of FPGA- based roboTIc compuTIng”列出了部分所需的额外技能。只有能够全面综合地运用含多核 CPU、GPU 和 FPGA 在内的所有这些技术,才能实现最优异的机器人性能。实际不然,赛灵思所提供这种集成式片上系统 (SoC) 解决方案,是将 CPU 通用软件的可编程能力与 FPGA 自适应硬件功能完美结合在了同一器件之中。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  这些自适应 SoC 为机器人应用提供了软硬件兼有的高灵活性计算基础,并可提供高性能、低功耗、确定性、硬件可重配置、安全,以及自适应特性等价值。

portant; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">  要点总结:CPU 和 GPU 擅长控制流计算,而 FPGA 擅长数据流计算。自适应 SoC 解决方案为机器人应用提供了软硬件兼具的高灵活性计算基干,可提供低功耗、高性能、确定性、硬件可重配置、安全,以及自适应等特性。

本文原作者为,原文网址为,转载请注明出处!如该文有不妥之处,请联系站长删除,谢谢合作~

THE END
分享
二维码
< <上一篇
下一篇>>