FPGA 全称是 Field Programmable Gate Array:可编程逻辑门阵列。
FPGA 采用了逻辑单 元 阵 列 LCA(Logic Cell Array) 这 样 一 个 概 念 , 内 部 包 括 可 配 置 逻 辑 模 块CLB(Configurable Logic Block)、输出输入模块 IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如 PAL,GAL 及 CPLD 器件)相比,FPGA 具有不同的结构。
FPGA 利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个 D 触发器的输入端,触发器再来驱动其他逻辑电路或驱动 I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到 I/O 模块。
FPGA 的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与 I/O 间的联接方式,并最终决定了 FPGA 所能实现的功能。
FPGA 通过编程可以把计算逻辑映射到硬件上,通过调整连接把不同的逻辑部件连通在一起去完成计算任务,FPGA 允许无限次的编程。
参考中国报告网发布《2018-2023年中国可编程门阵列(FPGA) 产业市场运营规模现状与未来发展商机战略评估报告》
FPGA 具有可编程、高性能和低功耗三大优点
FPGA 的可编程性带来高性能和低功耗,开发成本低芯片成本高。GPU、CPU 等常用计算芯片由于架构固定,硬件原生支持的指令也是固定的。而 FPGA 是可编程的,可以灵活地针对算法修改电路,提前把固定算法的数据流以及执行指令写在硬件里,节约了指令获取和解码时间从而大幅提高运算效率。逻辑层面上,FPGA 不依赖于冯诺依曼结构,一个计算得到的结果可以被直接馈送到下一个无需在主存储器临时保存,因此不仅存储器带宽需求比使用 GPU 或者 CPU 实现时低得多,而且还具有流水处理和响应迅速的特点。由于算法实现通过编程进行不需要专门的电路设计因此开发成本较低,但 FPGA 需要从专业厂商采购因此硬件成本相对比较高。
FPGA 也可实现高并行度计算,速度远超 CPU。虽然 FPGA 的频率一般比 CPU 低,但是FPGA 类似于 GPU 也可实现并行度很大的硬件计算器。比如一般 CPU 每次只能处理 4 到 8 个指令,在 FPGA 上使用数据并行的方法可以每次处理 256 个或者更多的指令,让 FPGA 可以处理比 CPU 多很多的数据量从而大幅提高计算速度。2010 年微软研究院对 BLAS 算法的 FPGA 加速研究结果显示,FPGA 运算速度与 GPU 基本相同比 CPU 快 60%。
FPGA 相对 CPU 和 GPU 最大优势是低功耗。
FPGA 功耗低主要有两个原因。首先,在FPGA 中没有 Instruction Fetch 与 Instruction Decode,在 Intel 的 CPU 里面,由于使用的是 CISC 架构,仅仅 Decoder 就占整个芯片能耗的 50%;在 GPU 里面,Fetch 与 Decode也消耗了 10%~20%的能源。其次,FPGA 的主频比 CPU 与 GPU 低很多,通常 CPU 与 GPU 都在 1GHz 到 3GHz 之间,而 FPGA 的主频一般在 500MHz 以下。如此大的频率差使得 FPGA 消耗的能源远低于 CPU 与 GPU。评测显示执行每次 GaxPy 算法迭代 FPGA 的功耗仅为 CPU 与 GPU 的 8%左右。
由于 FPGA 兼具高性能和低功耗的优点,Intel 预计到 2020 年将有 1/3 的云计算中心节点采用 FPGA 技术。
【版权提示】观研报告网倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本网站的内容。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至kf@chinabaogao.com,我们将及时沟通与处理。