FPGA或将取代CPU而成为机器人开发的新宠

时间:2025-05-02  作者:Diven  阅读:0

FPGA这个词可能很多人都有所耳闻,尤其是理工科的同学们大多数应该都自愿或被迫被这个词刷屏过。但要真追究起来FPGA到底是个什么东西。很多非相关专业的人都会陷入一脸迷茫。不过说起开发板,可能知道的人就很多了,有些人会以为FPGA就是开发板

FPGA或将取代CPU而成为机器人开发的新宠

但实际上FPGA指的只是开发板上面的那一小块芯片而已(下图黄圈处),整个开发板的其余部件都是为了协同工作,让有着出性能而存在的。

可即使有心的同学曾经查到了这里,或许也搞不懂和CPU到底有什么区别,毕竟把位置换成CPU,整个开发板看起来就变成一块普通的电脑主板了嘛,感觉简直分分钟接上硬盘和显示器就可以开始LOL了。确实,不管从外形上来看还是实际的功能上来看,FPGA和CPU都表现得太像了,但在这两者相似的外表之下,其内部构造其实有着根本性的差别,因为构造决定了在处理机器人需要的很多运算,尤其是在机器感知这方面的处理时的速度会比CPU快很多,同时还能将功耗控制在很低的水平。

在讲FPGA之前,我们先从大家比较熟悉的CPU的数据处理方式讲起。首先需要强调的一点是,处理我们指令的计算机元件本身是无法理解我们的指令的,只能理解作为组成CPU最基本的元件——晶体管能实现的两种状态:“开”和“关”的含义,对应的就是1和0这两个机器码数字,这也是计算机的整个体系都基于二进制建立的原因。而为了让我们下达的各种各样的指令变成CPU能理解的0和1,CPU需要一个专门的译码器来翻译我们的指令。

其中的Control部分就是控制取指、译码等整个流程的部分,Cache是在高速的CPU与相对低速的内存间为了提高从内存获得指令的效率而设置的一个临时指令存储器,DRAM则是速度比较慢的那一部分指令存储器。可以看到,真正的计算单元ALU只占了CPU结构中不大的一部分。这样的设计是有原因的。CPU存在的目的是作为通用计算机的处理核心,注意“通用”二字,这意味着块核心必须具备处理各式各样千奇百怪的指令要求的能力,并且因为要处理来自多个设备的请求,必须拥有随时中止目前的运算转而进行其运算,完成后再从中断点继续当前运算的能力。

把这些话看完你可能都快睡着了,但在CPU内这些都要求在一瞬间完成。所以CPU需要有非常复杂的逻辑控制单元和这套独特的指令翻译结构。这都是保证CPU能顺利完成使命的必须的东西。可以说,在计算效率和通用性上CPU牺牲前者选择了后者。

而FPGA最早是从专用集成电路发展而来的半定制化的可编程电路。从诞生的那一天起身世就决定了不像CPU那样可以灵活的处理各种没有见过的指令,而只能根据一个固定的模式来处理输入的数据然后输出,FPGA的结构是这样的

很简单,绝大部分都是计算单元(上图中黄色部分其实就相当于CPU结构图中绿色的部分),但没有控制单元并不代表FPGA就不会执行指令了,事实上FPGA里控制单元的配件就是由图中的每个控制单元和单元之间可编程的逻辑连接线来完成的,通过FPGA编程,开发者可以更改FPGA的每个单元的运算逻辑和单元之间的连接方式,从而使其达到和一般的运行程序差不多的效果。与CPU的不同,在于无法应对没有被编程过的指令。

编程方式一旦确定,FPGA就只能根据被编程的处理逻辑和方式来处理特定的数据输入。但这样的架构换来的是FPGA内部几乎全是计算单元,因此FPGA的实际运算能力会比看起来强得多,尤其是在运行简单但重复性高的任务的时候,由于简单,因此很少的几个逻辑单元,甚至一个就能独立输出这个运算的结果。而由于省去了CPU的取指和译码两个步骤,FPGA重复运行相同代码的效率得到了极大的提高。

有一个比喻打得很恰当,CPU就像大学里一位德高望重的老教授,积分微分啥都会算,但毕竟只有一个人,当计算任务太重的时候也会被累趴下,而FPGA这样的结构,就像是整个小学里所有小学生组成的队列,每个人都只会算简单的加减乘除,但有些量大但不复杂的运算任务交给就是会比较快。

具体表现在性能上,很明显的一点就是一般的CPU只能同时处理4到8个指令,而不算太差的只要FPGA优化得当,可以同时处理256个甚至更多的指令。其实GPU的设计思路同FPGA类似,都是为了处理大量简单重复的运算而出现的设备。但GPU的性能强悍的同时耗能也很高,而FPGA因为编程和优化都是直接在硬件层面进行的,能耗会低很多。

不难发现,整个过程重复性极高,并且其中并没有过于复杂的运算。因此使用FPGA进行该算法的计算会比使用CPU快很多。事实上,文章中表示根据加州大学洛杉矶分校的一项相关的实验结果,FPGA在运行SIFT指令时的执行效率是CPU的足足30倍。 处理速度快这么多,耗能又如此小。也难怪有些人会认为FPGA拥有取代CPU和GPU的能力了。

人类设计机器人的最终目的是希望能变得像我们一样,用跟我们类似的方式思考,拥有独立判断形势、处理任务的能力。我们目前还不是很了解大脑工作的具体原理,但无论从经验还是直觉来看,类似人类的思维都不是由无数逻辑简单的堆积起来的。因为思维这件事物的复杂程度已经远远超出了运算的范畴。

比如说,如果你想计算213 x 312而你想将简化,你只需要很简单的将分解成213个312相加,甚至是重复213次312个1相加。但如果你想算2的64次方呢?如果你想算sin(27°)呢?甚至如果你想算log230呢?如果你一定要将其分拆成简单的运算,你就会发现你需要的资源会以难以想象的速度增长,直到就连把全市的小学生都叫来也做不完的程度。

不能否认FPGA确实能在机器人开发中有着很大的作用。但综合来看,和CPU,甚至GPU更像是各司其职的地位,动不动就谈替代,或许有失严谨。

猜您喜欢

PTC热敏电阻因其独特的自恢复过流保护功能被应用。格莱尔(GLE)作为知名的PTC热敏电阻制造商,其产品在市场上享有较高的声誉。本文将围绕“格莱尔(GLE)PT...
2023-07-30 23:38:28

贴片排阻小巧体积、高精度调节能力,成为了现代电子设计中的宠儿。而台康(TAICON),作为该领域的佼佼者,其贴片排阻不仅性能很好,更在规格多样性与品牌信誉上独树...
2018-02-27 14:06:29

防滑垫是常用的安全防护产品,其主要优势体现在多个方面。防滑垫能够有效减少意外滑倒的风险,特别是在潮湿或光滑的地面上,为家庭和公共场所提供了额外的安全保障。防滑垫...
2014-09-17 00:00:00

现代科技迅速发展的今天,USB接口作为设备间连接的重要桥梁,已经成为我们日常生活中不可少的一部分。USB4是最新一代的USB标准,其在传输速度、兼容性和功能性方...
2025-04-25 03:31:51

PTC热敏电阻作为重要的温度保护和温度检测元件,受到了的关注。作为全球领先的电子元器件制造商,VISHAY(威世)在PTC热敏电阻领域拥有丰富的产品线和很好的技...
2014-09-22 16:36:30

石墨烯因其对低浓度气体的高敏感性而备受瞩目,但选择性较差限制了其在高性能气体传感器中的应用。采用纳米复合材料,即将不同的金属硫化物与石墨烯或其衍生物相结合,是解...
2024-01-02 16:52:00

你是否好奇过,电子设备是如何在不同的电压需求下正常工作的呢?这其中,负压电荷泵是很重要的配件。就像一个精密的电压转换器,能够巧妙地改变电压大小,为电子元件提供合...
2024-06-16 00:00:00

在现代工业自动化中,工控产品是非常重要的配件。除了常见的PLC(可编程逻辑控制器)外,还有许多其工控产品同样有着着重要作用。工业触摸屏是操作员与设备之间的桥梁,...
2019-10-15 00:00:00

精密电阻作为电子元器件中的重要组成部分,受到越来越多企业和消费者的关注。在众多品牌中,长兴电子精密电阻优良的品质和稳定的性能赢得了市场的认可。那么,长兴电子精密...
2017-05-15 09:13:41

贴片电阻上标注的200通常代表200欧姆的阻值。贴片电阻由于体积小,无法像传统电阻一样直接印上阻值,因此采用数字编码来表示。三位数字编码是最常见的标识方式,例如...
2024-11-29 10:26:39