您的位置 首页 设计

才智云中的FPGA以及FPGA的内部结构

智慧云中的FPGA以及FPGA的内部结构-FPGA全称是“可编辑门阵列”(Field Programmable Gate Array),其基本原理是在芯片内集成大量的数字电路基本门电路,存储器以及互连线资源,而用户可以通过对FPGA进行“编程”(烧写配置文件)来定义这些门电路的功能以及模块之间的连线。

FPGA全称是“可修改门阵列”(Field Programmable Gate Array),其底子原理是在芯片内集成许多的数字电路底子门电路存储器以及互连线资源,而用户能够经过对FPGA进行“编程”(烧写配置文件)来界说这些门电路的功用以及模块之间的连线。这种“编程”不是一次性的,你能够把FPGA规划成一个编解码器,只需更改配置文件,就能够变成一个CPU,这也是所谓的re-Configurable的概念。当然,FPGA在给咱们供给了随意完成硬件电路的灵敏性的一起,也要求规划者具有硬件规划的常识和才能。这一点和CPU,GPU的软件编程办法有很大的不同,或许说是有更高的运用门槛。

现在首要的FPGA芯片厂商是Xilinx和IntelAltera),AWS首要运用Xilinx的FPGA,MS则运用Intel的FPGA。在详细看FPGA的内部结构之前,咱们仍是经过比照来看看它的特色。

才智云中的FPGA以及FPGA的内部结构

其实最近这种比照许多,我之前的文章也提到过。MS把CPU,GPU,FPGA和ASIC放在Flexibility VS Efficiency的视点进行比照,这个也是咱们常常运用的办法。再次着重,灵敏性(通用性)必定意味着功率的丢失,反之亦然。

以为FPGA首要仍是用在Evaluation(或许咱们常常说的Inference)。而风趣的是,他们以为ASIC计划在Training和EvaluaTIon中都仍是“under invesTIgaTIon”,如同把Google的TPU给忘了。

AWS给出了别的一个视角的比较,CPU为了完成最大的灵敏和通用,芯片中的很大一部分芯片面积用来供给操控功用(也包含杂乱的存储架构,比方Cache);而在GPU傍边,用作运算的芯片面积份额大大提高,能够支撑大规划的并行处理;而到了FPGA,现已没有预先界说的指令集概念,也没有确认的数据位宽。这些你都能够依据运用来自己规划。你能够规划一个只支撑几条指令的处理器;也能够只规划数据通道和简略的操控逻辑,底子不必指令。

下图来自MS的讲座,比照了CPU和FPGA进行数据处理的特色。

才智云中的FPGA以及FPGA的内部结构

CPU能够看作是一种时刻核算模型,指令次序进入,每条指令处理必定的数据。FPGA能够看作是空间核算模型,许多数据能够并行的进行处理。Deep Learning的处理,比方CNN的卷积运算,便是十分合适空间核算模型的比方。这一点我在之前的文章“深度神经网络的模型·硬件联合优化”中已有介绍。下面咱们详细看看FPGA的内部结构。

FPGA中几个比较重要的底子模块包含(依照Xilinx的说法):

CLB(Configurable Logic Block):FPGA最底子的组成单元,能够完成底子的组合逻辑和时序电路。其间,LUT(Lookup Tables)是完成组合逻辑的部分,能够完成n个输入的恣意组合逻辑运算(不同类型的FPGA有所不同,下图的比方中为6个输入)。而在CLB的输出方位,还有一个寄存器,供给时序电路的功用。

DSP Slice:是比CLB粒度更粗的运算单元,直接完成乘法,累加等功用。它比较相似与咱们在DSP处理器中运用的MAC单元,如下图所示:

此外,一般FPGA中还供给片上Memory模块(Block RAM,UltraRAM),各种高速接口,IP和许多辅佐电路。依据运用需求不同,有的类型的FPGA自身也是一个SoC,还集成了处理器核(比方ARM),乃至视频编解码等功用。在这里,咱们调查CLB Flip-Flops,CLB LUT和DSP Slices的数量,以及memory的数量,底子就能够了解该FPGA的规划,也便是在这个FPGA上能够完成多大规划的数字电路。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/100502.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部