FPGA芯片定义及物理结构:
       FPGA芯片作为专用集成电路(ASIC)领域中半定制电路面市,克服定制电路灵活度不足的问题以及传统可编程器件门阵列数有限的缺陷。
       FPGA(Field Programmable Gate Array)芯片基于可编程器件(PAL、GAL)发展而来,是半定制化、可编程的集成电路。发明者:赛灵思联合创始人Ross Freeman于1984年发明FPGA集成电路结构。全球第一款商用FPGA芯片为赛灵思XC4000系列FPGA产品。FPGA芯片按固定模式处理信号,可执行新型任务(计算任务、通信任务等)。FPGA芯片相对专用集成电路(如ASIC芯片)更具灵活性,相对传统可编程器件可添加更大规模电路数量以实现多元功能。物理结构:FPGA芯片主要由三部分组成,分别为IOE(input output element,输入输出单元)、LAB(logic array block,逻辑阵列块,赛灵思定义为可配置逻辑块CLB)以及Interconnect(内部连接线)。
截图00.jpg
FPGA芯片特点及分类:
       FPGA芯片在实时性(数据信号处理速度快)、灵活性等方面具备显著优势,在深度学习领域占据不可替代地位,同时具有开发难度高的特点。
       FPGA芯片具备以下特点:
设计灵活:属于硬件可重构的芯片结构,内部设置数量丰富的输入输出单元引脚及触发器。
兼容性强:FPGA芯片可与CMOS、TTL等大规模集成电路兼容,协同完成计算任务。
并行计算:FPGA内部结构可按数据包步骤多少搭建相应数量流水线,不同流水线处理不同数据包,实现流水线并行、数据并行功能。
适用性强:是专用电路中开发周期最短、应用风险最低的器件之一(部分客户无需投资研发即可获得适用FPGA芯片)。
地位提升:早期在部分应用场景是ASIC芯片的批量替代品;近期随微软等头部互联网企业数据中心规模扩大,FPGA芯片应用范围扩大。
      FPGA厂商主要提供基于两种技术类型的FPGA芯片:Flash技术类、SRAM技术类(Static Random-access Memory,静态随机存取存储器)。两类技术均可实现系统层面编程功能,具备较高计算性能,系统门阵列密度均可超过1兆。
核心区别:
1、基于Flash的可编程器件具备非易失性特征,即电流关闭后,所存储数据不消失。
2、基于SRAM技术的FPGA芯片不具备非易失性特征,是应用范围最广泛的架构。
截图01.jpg
截图02.jpg
FPGA芯片与其他主流芯片对比:
CPU为通用型器件,FPGA架构相对CPU架构偏重计算效率,依托FPGA并行计算处理视觉算法可大幅提升计算速率,降低时延。FPGA芯片相较于CPU芯片
CPU处理计算指令流程:
      CPU通过专用译码器接收任务指令,接收过程分为两步:指令获取(CPU从专门存放指令的存储器中提取执行指令)以及指令翻译(根据特定规则将指令翻译为数据并传输至计算单元)。其中计算单元为晶体管(CPU基本元件),“开”、“关”分别对应“1”、“0”机器码数字。
CPU处理计算指令特点:
•CPU物理结构包括Control(指令获取、指令翻译)、Cache(临时指令存储器)、计算单元ALU(约占CPU空间20%)。
•CPU为通用型计算任务处理核心,可处理来自多个设备的计算请求,可随时终止当前运算,转向其他运算。
•逻辑控制单元及指令翻译结构较为复杂,可从中断点继续计算任务,为实现高度通用性而牺牲计算效率。
CPU视觉算法与FPGA视觉算法比较:
•CPU架构:CPU用于处理视觉算法需按指定顺序执行指令,第一指令在图像整体运行完成后,第二指令开始运行。在4步操作指令环境下,设定单个操作指令运行需10毫秒,完成总算法耗时约40毫秒。
•FPGA架构:FPGA用于处理视觉算法采取规模化并行运算模式,可于图像不同像素内同时运行4步操作指令。设定单个操作操作指令运行需10毫秒,FPGA完成图像整体视觉算法处理时间仅为10毫秒,FPGA图像处理速度显著快于CPU。
•“FPGA+CPU”架构:此架构下,图像在CPU与FPGA之间传输,包含传输时间在内的算法整体处理时间仍低于纯CPU架构。
•算法案例:以卷积滤镜图像锐化计算任务为例,系统需通过阈值运行图像生产二进制图像。CPU架构下,系统需在阈值步骤前完成图像整体卷积步骤,FPGA则支持相同算法同时运行,相对CPU架构,卷积计算速度提升约20倍。