问答

汇集网友智慧,解决技术难题

21ic问答首页 - FPGA为什么可以帮助CPU加速

CPU FPGA PGA

FPGA为什么可以帮助CPU加速

hwj662020-11-23
FPGA为什么可以帮助CPU加速
回答 +关注 7
845人浏览 7人回答问题 分享 举报
7 个回答
  • 概念错误,CPU本来多快就是多快,根本无法用外部措施加速,提高主频不算,那依然属于“本来”。计算机的系统运行速度是截然不同的概念,CPU只是影响计算机系统运行速度的一方面,采用FPGA等手段提高系统运行速度跟提高CPU速度压根是两码事。
  • 最多是将部分事情分给FPGA去做吧.就像显卡.完全可以用CPU去计算,但问题是这样的电脑,除非是玩命令行,否则你都不想用
  • nuonuoya 发表于 2020-11-23 21:35
    FPGA的优势在于其并行特性,有时对于某些应用而言可以使速度明显变快;可以使用FPGA来对算法中的某些部分加 ...

    也不是想并行几路就几路,总任务下来能分成几路也很关键啊.
    不然一核累死,七核围观没见过?
  • 当然有了.  很多行业都是这么用的啊
  • 就像二楼所说,FPGA和CPU加速没有直接关系的,不要混淆视听。
  • fpag和CPU加速没有直接关系,如果硬扯的话,就是把fpga用做协处理器
  • 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只要门足够,想并行几路就可以并行几路。


您需要登录后才可以回复 登录 | 注册