优势一:
更大的并行度。这个主要是通过并发和流水两种技术实现。
A:并发是指重复分配计算资源,使得多个模块之间可以同时独立进行计算。这一点与现在的多核和SIMD技术相似。但相对与SIMD技术,FPGA的并发可以在不同逻辑功能之间进行,而不局限于同时执行相同的功能。举个简单例子说就是使用SIMD 可以同时执行多个加法,而FPGA可以同时执行多个加法和乘法和任何你能设计出来的逻辑。
B:流水是通过将任务分段,段与段之间同时执行。其实这一点和CPU相似,只是CPU是指令间的流水而FPGA是任务间流水或者可以说是线程间流水。
优势二:
可定制。FPGA 内部通过Lookup Table实现逻辑,可以简单理解为是硬件电路。可定制指的是在资源允许范围内,用户可实现自己的逻辑电路。通常情况下任务在硬件电路上跑是比在软件上快的,比如要比较一个64位数高32位和低32位的大小,在CPU下需要2条区数指令,两条位与指令,一条移位指令一条比较指令和一条写回指令,而在FPGA下只要一个比较器就行了。
优势三:
可重构。可重构指的是FPGA内部的逻辑可根据需求改变,减少开发成本。同时,使用FPGA复用资源比使用多个固定的ASIC模块为服务器省下更多的空间。大概可以分为主串、主并、从串、从并、JTAG模式等等。很简单,FPGA主动控制的配置就是主,外部CPU控制的配置就是从,串并你懂的,就是串行还是并行数据进去。JTAG是标准的,CPLD/FPGA都支持的,也可以配置。
配置流程要去看数据手册,如果是从方式配置,你需要产生一个时序给FPGA,包括时钟和初始化信号,因为没几个脚,很简单的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)