找回密码
 注册
关于网站域名变更的通知
查看: 229|回复: 2
打印 上一主题 下一主题

FPGA 为什么快?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-4-1 10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

; ?8 R' I( r2 Q- j5 j% @CPU、GPU 都属于冯·诺依曼结构,指令译码执行、共享内存。
2 T0 z* o* g0 ~- o" M; d) h/ BFPGA 之所以比 CPU 甚至 GPU 能效高,本质上是无指令、无需共享内存的体系结构带来的福利。' ~4 o5 u* ?- N- v" o

7 s$ X% L. j. T! V4 Y1.CPU与FPGA区别之(指令):
. b& C  H; j$ J; TCPU结构——有指令:
+ l1 ?5 o% A" c5 T, z) C冯氏结构中,由于执行单元(如 CPU 核)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此 GPU 使用 SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,CPU 也支持 SIMD 指令。8 H, [; i/ P( A/ E
FPGA结构——无需指令:
# H, X" R, y8 f: ^5 i而 FPGA 每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令。8 W$ r& T# R! T  n' a! d5 m: }8 t' A
/ B2 ~) U3 u5 y9 x5 q
2.CPU与FPGA区别之(内存)
# c) ~: G5 C0 t5 `CPU结构——仲裁与共享内存:. n' H: `8 `0 Q0 n3 G8 @9 Z
冯氏结构中使用内存有两种作用。一是保存状态,二是在执行单元间通信。
& U0 x1 }( K$ X1 z% r- y由于内存是共享的,就需要做访问仲裁;为了利用访问局部性,每个执行单元有一个私有的缓存,这就要维持执行部件间缓存的一致性。
6 z& q% X/ {6 e9 X) t6 G- y' i2 a) U* B) j! j! e! c3 i7 y5 l
FPGA结构——无需仲裁与共享内存:  Q1 o# f' r1 a  H
对于保存状态的需求,FPGA 中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存。
% B) ], E( U9 I对于通信的需求,FPGA 每个逻辑单元与周围逻辑单元的连接在重编程(烧写)时就已经确定,并不需要通过共享内存来通信。
# H4 `) F% ^9 e7 S5 \8 x3 ]- P" a5 p' Q. Y0 t( o

该用户从未签到

2#
发表于 2022-4-1 13:08 | 只看该作者
FPGA 之所以比 CPU 甚至 GPU 能效高,本质上是无指令、无需共享内存的体系结构带来的福利
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-4-1 14:21 | 只看该作者
    FPGA 每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-5 21:24 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表