CPU会被FPGA替代吗?FPGA与CPU之间的区别与联系
说起CPU,我觉得大家都已经很熟悉了。是“中央处理器”的英文缩写,它是用来“运算”的。大部分我们所熟悉的电子设备,像手机、电脑,它们所实现的各种功能,都是通过CPU的“运算”来实现的。它几乎是所有电子数码设备的大脑。
计算机之所以被计算机,因为它的大脑,CPU,就是用来计算的。
FPGA是什么?它跟CPU一样,也是用来计算的。但是,它的计算方式,跟CPU很不一样。
CPU与FPGA的根本区别在于软件与硬件的差异。CPU为冯诺依曼结构,串行地执行一系列指令;而FPGA可以实现并行操作,就象在一个芯片中嵌入多个CPU,其性能会是单个CPU的十倍、百倍。一般来说,CPU可以实现的功能,都可以用硬件设计的方法由FPGA来实现。当然,极其复杂的算法用硬件实现会比较困难,资源消耗也很大,如果没有高性能要求,那用硬件实现就有点得不偿失了。对于一个复杂系统而言,进行合理的软、硬件划分,由CPU(或DSP)和硬件电路(如FPGA)合作完成系统功能是非常必要的,也是高效的。
计算机是用来计算的
首先我们都知道,CPU它是通过“计算”能力,为计算机提供各种的功能。
程序员,把程序代码噼里啪啦地输入到了计算机里面,啪一声按下确认键,CPU把程序代码进行计算,达成各种各样的目的。
运算的结果是什么呢?程序输入CPU,运算成了操作系统,运算成了软件、app、网页等等。所有的这一切,都是经过CPU“计算”产生的。
嗯,CPU,他很像我们人类的大脑。
串行计算
我们人类的大脑有什么样的特点?它就像人类的大脑那样,他只能同时做一件事情。CPU是串行的,一样也是只能同时进行一次计算。
我们比方说,现在要进行两场考试,一场是英语,一场是数学,我们会把这两场考试给分开进行,绝对不会说,让你左手做英语试卷,右手做数学数卷,那是不可能的,人的脑袋,同时只能专注一件事情。
后来,CPU发展出了多核,你在那些电脑还有手机,老是标榜着自己是双核四核八核,甚至十六核。
但是很多时候,核多是没有意义的。因为程序员在编写程序的时候,程序本身,是针对单核设计。最常见的例子莫过于我们的一些手机游戏,游戏逻辑和图形渲染,是跑在一个核里的。所以说,是否够快,很多时候还得取决于单核性能。
并行计算
FPGA是什么呢?
我们都听过三个臭皮匠,胜过知一个诸葛亮的谚语。他的寓意就是说,三个很普通的人,合起来的智慧也是可以超过诸葛亮的。
FPGA就像是一群臭皮匠,CPU就像是一个诸葛亮。
就像我们前面所说的,我们人脑就像CPU,不能同时做多份作业。只能专注于一件事情。而这群“臭皮匠”则不同,FPGA十分擅长同时做多件事情,我们叫作“并行计算”,也常被称为“异步计算”。
而技术上来说,FPGA也由非常多的核组成的。但跟CPU不同的是,工程师们可以根据他们的需要,把这么一群“臭皮匠”,重新进行自定义的排列组合,来满足他们想要的计算。FPGA号称“万能芯片”。
FPGA并不是要替代CPU。这就像大部分的工作重要事务,都掌权在诸葛亮手上,那可是重要人物,可不能随意说换就换;臭皮匠们则可以凭借他们人多的优势,处理很多的一些重复的单纯的事情。
FPGA的这个特点,非常适合我们今年大热的人工智能。人工智能里面就有非常大量的一些重复性、需要并行计算的工作,像图像识别、图像处理、深度学习等等。
哪些领域正在应用FPGA?
微软在数据中心使用FPGA代替传统CPU的做法;腾讯云则直接提供了FPGA云服务器,降低开发者自购设备的高昂成本;iPhone 7里有使用Lattice这家上市公司的FPGA芯片;大疆无人机中也采用了FPGA芯片。。。。。。
可以看到的,不论上企业端(微软、云计算),还是消费端(iPhone 7、大疆无人机),都能看到FPGA芯片的身影,在未来,它还有很大的发展空间。
非常好我支持^.^
(547) 96.8%
不好我反对
(18) 3.2%
相关阅读:
- [电子说] fpga的开发流程有哪些步骤?fpga和嵌入式系统的区别在哪里? 2023-10-24
- [电子说] 如何创建FPGA控制的机器人手臂? 2023-10-24
- [电子说] 如何创建FPGA控制的机器人手臂 2023-10-24
- [电子说] 用VHDL语言创建一个8位算术逻辑单元(ALU) 2023-10-24
- [电子说] 您的存储器堆叠了吗?—赛灵思推出16GB HBM FPGA 2023-10-24
- [电子说] 射频识别技术漫谈(27)——CPU卡概述 2023-10-24
- [电子说] 浅析FPGA设计的安全性 2023-10-24
- [电子说] 讲一讲Apple Macintosh处理器过渡的故事 2023-10-24
( 发表人:王增涛 )