FPGA为什么可以帮助CPU加速

[复制链接]
812|7
手机看帖
扫描二维码
随时随地手机跟帖
nuonuoya| | 2020-11-23 21:35 | 显示全部楼层

FPGA为什么可以帮助CPU加速

FPGA的优势在于其并行特性,有时对于某些应用而言可以使速度明显变快;可以使用FPGA来对算法中的某些部分加速,也可以在FPGA和通用处理器之间共享部分计算。
1. CPU频率高,动辄3G HZ以上的频率;2. 完成一件具体的事务花的时间少。在很多场合1不一定等于2,CPU强在控制灵活,但其按顺序执行的特点使对控制不复杂的并行数据类事务并不强,且其工作模式除了自己工作外,其它部分也要配合,好多操作都是反复把数据读入简单处理后又送出去,无法充分利用其性能。再者CPU同时运行的事务很多,在事务间不断进行切换也会占用很多资源。
而且,使用FPGA不一定总能加速,只是在某些强计算和数据处理的方面,因为其硬件电路并行运行和有很多DSP硬核资源供调用的特点,可以工作得更出色。FPGA本身也只是辅助角色,起控制的还是CPU本身,所以FPGA并不能代替CPU,只是在完成一件大任务的过程中将某部分任务分解给FPGA可以更好地一起完成任务
CPU是一个一个加法计算,而FPGA排好逻辑电路,在一个时钟周期内计算完毕。就算CPU主频比FPGA快100倍也赶不上啊。话说后来CPU大量的增加SIMD指令,就有点这个意思,不过这相当于提供库函数,没那么灵活。
FPGA的并行是真并行,CPU完全没得比。CPU如果想并行最多也就是让多个核并行,但是对于大部分算法实现来说,如上例,多个核之间的同步调度开销远远大于计算开销,就算多个核之间的调用开销可以做的很小,一般CPU也就那几个核,而FPGA只要门足够,想并行几路就可以并行几路。

使用特权

评论回复
mcu5i51| | 2020-11-24 08:00 | 显示全部楼层
fpag和CPU加速没有直接关系,如果硬扯的话,就是把fpga用做协处理器

使用特权

评论回复
天意无罪| | 2020-11-24 08:30 | 显示全部楼层
就像二楼所说,FPGA和CPU加速没有直接关系的,不要混淆视听。

使用特权

评论回复
icecut| | 2020-11-25 09:46 | 显示全部楼层
当然有了.  很多行业都是这么用的啊

使用特权

评论回复
z_no1| | 2020-11-27 16:57 | 显示全部楼层
nuonuoya 发表于 2020-11-23 21:35
FPGA的优势在于其并行特性,有时对于某些应用而言可以使速度明显变快;可以使用FPGA来对算法中的某些部分加 ...

也不是想并行几路就几路,总任务下来能分成几路也很关键啊.
不然一核累死,七核围观没见过?

使用特权

评论回复
jimsboy| | 2020-11-28 16:16 | 显示全部楼层
最多是将部分事情分给FPGA去做吧.就像显卡.完全可以用CPU去计算,但问题是这样的电脑,除非是玩命令行,否则你都不想用

使用特权

评论回复
chunyang| | 2020-11-30 14:08 | 显示全部楼层
概念错误,CPU本来多快就是多快,根本无法用外部措施加速,提高主频不算,那依然属于“本来”。计算机的系统运行速度是截然不同的概念,CPU只是影响计算机系统运行速度的一方面,采用FPGA等手段提高系统运行速度跟提高CPU速度压根是两码事。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

16

帖子

0

粉丝