当前位置: > 装修知识 > 正文
为什么CPU主频一般都比FPGA快,但是却说FPGA可以帮助CPU加速?
2022-10-24 06:46:50主频只是影响计算速度的一个因素硬件加速,并不是全部。在执行一些计算密集型的任务场景中,FPGA的计算速度是更快的,目前FPGA作为CPU的协处理器已经广泛应用在Intel、AMD等公司的产品中。
CPU、GPU、和FPGA的比较
下图是左侧为CPU的组成,中间为GPU,右侧为FPGA。
桌面端的CPU为冯诺依曼结构,从上图可以看出,其基本组成为控制器,Cache,和ALU。而计算单元ALU在CPU中的占比不大,所以它的并行计算能力有限。
中间的为GPU,绿色的计算单元占了绝大部分,所以并行计算能力很强。弱点是控制能力很弱,Cache小,为了保证计算能力,就需要大量的高速DDR保证数据吞吐率。
右侧为FPGA,包含可编程的I/O、DSP、、PCIE等,因为大量存储单元的存在,FPGA在做计算的时候可以直接从内部存储单元读取数据。
推荐一个国外的FPGA学习网站 -- ,里边有FPGA的介绍及26个实战项目及实现代码,非常适合入门学习!
/
正因为CPU、GPU、和FPGA在结构上的不同硬件加速,也让他们在实际应用层面有所侧重。下图是不同体系结构性能和灵活性的比较:
目前主流的方案是把CPU、GPU和FPGA都集成在一个SoC中,通过片内总线互联。在执行并行计算的时候,比如进行图像处理,FPGA的优势就体现出来了,通过协作分工,使芯片的工作效率最大化。
目前的3D封装以及等技术为这样的组合提供了可实现性。
为什么FPGA计算速度会比CPU更快?
在执行大量的运算场景中,FPGA相比GPU的核心优势在于低延迟。FPGA比CPU延迟低,在本质上是体系结构的区别。FPGA同时拥有流水线并行和数据并行,而CPU几乎只有数据并行,虽然也会才有流水线设计,但深度受限。因此,FPGA 更适合做需要低延迟的流式处理,GPU 更适合做大批量同构数据的处理。
举个例子:
我们有四个全加器,每一个的进为输出连接到下一个的进位输入,这样实现的加法器被称作行波进位加法器(-Carry Adder, RCA)。其特点为:
我们来看一下其关键路径的延迟:总延迟时间:(T + T)*4 + T = 9T,推广到n位,总时间为(2n + 1)*T。
每一个全加器计算的时候必须等待它的进位输入产生后才能计算,所以四个全加器并不是同时进行计算的,而是一个一个的串行计算。这样会造成较大的延迟。
我们把这个电路改进一下:提前计算出“进位信号”,对进位信号进行分析。这样就得到了一个:超前进位加法器(Carry- Adder, CLA)
其中,C1、C2、C3、C4都由下面的电路计算好,需要3级门延迟,然后在全加器中关键路径上还有1级延迟,如图:
所以,总共有4级门延迟。
所以我们需要更多的计算位宽或者更大的数组,或者矩阵的运算的时候,我们使用FPGA的优势就体现出来。再多的计算,也就是放置更多的硬件逻辑资源。
FPGA对CPU加速场景
下表列出了在一些特定的应用场景下,单独使用CPU和CPU+FPGA两种方案所需处理时间的对比,可见FPGA对CPU的加速效果非常明显,甚至比单独使用CPU高出1~2个数量级!
FPGA的缺点
FPGA也是有缺点的,其中之一便是开发周期长。其需要对特定的应用编写特定的FPGA。只要干的事情稍有不同,一般来说FPGA代码就要重新写一遍或者是至少要修改很多东西。如果要做的事情复杂、重复性不强,就会占用大量的逻辑资源,其中的大部分处于闲置状态。
不过,的应用对对FPGA的开发周期有一定的优化,以下是传统FPGA开发的周期和应用的开发周期对比:
未来的方向
在现在的SoC设计中,要充分考虑不同模块的特点,FPGA 和 CPU 协同工作,充分发挥各自的长处,局部性和重复性强的归 FPGA,复杂的归 CPU。从而达到整个系统算力的最优化。
在未来,FPGA会作为协处理器和CPU、GPU共存一段时间,其主要提供以下三方面的能力:
目前,英特尔,AMD,赛灵思等公司都把FPGA作为协处理器集成在SoC中作为实际应用的硬件加速解决方案,这样的设计也使得CPU和FPGA在未来的一段时间内会共存,互相配合,赋能各种计算场景。
END
以上内容为蝴蝶兰风评投稿者为大家精心整理,希望对大家有所帮助!
- 上一篇:建筑胶粉是(建筑胶粉是什么东西)
- 下一篇:
猜你喜欢
- 2022-10-16 12:42:13黑苹果,让核显配合独显实现硬件加速
- 2022-10-12 18:07:11启用硬件加速是什么意思?如何关闭【详解】
- 2022-10-12 16:36:19GPU硬件加速原理 /转
- 2022-10-08 19:36:14基于FPGA硬件加速的BittWare StreamSleuth对抗100Gbp
- 2022-10-08 17:58:34微软公布Win10 GPU硬件加速细节:助力中低端设备性能改
- 2022-10-08 17:47:12微软公布Win10 GPU硬件加速细节 改善中低端设备性能
- 2022-10-08 17:41:48为 Android 模拟器配置硬件加速
- 2022-10-08 15:30:20win10怎么开启gpu加速有用吗 GPU硬件加速设置方法介绍
- 2022-10-08 15:13:16LSTM的硬件加速方式
留言与评论(共有 条评论) |
- 搜索
-
- 10-24为什么CPU主频一般都比FPGA快,但是却说FPGA可以帮助CPU加速?
- 10-24建筑胶粉是(建筑胶粉是什么东西)
- 10-24奥克斯空调如何拆洗 奥克斯空调拆洗方法【详解】
- 10-24属狗人和什么最配?属狗的最佳婚配!
- 10-24地下室防水的做法
- 10-24属狗人和什么最配?属狗的最佳婚配!
- 10-24腻子施工完要注意什么(腻子知识汇总和施工过程中常见问题)
- 10-24草龟冬眠怎么养
- 10-24玻璃钢格栅板防腐耐用耐老化
- 10-24十大夺命家具,瞬间阴阳相隔!为了孩子,赶紧看看家里有没有