菜單導航

詳解異構計算FPGA基礎知識

作者:?精裝之家 來源:?精裝之家 發布時間:?2020年01月13日 15:54:04

隨著云計算,大數據和人工智能技術應用,單靠 CPU 已經無法滿足各行各業的算力需求。海量數據分析、機器學習和邊緣計算等場景需要計算架構多樣化,需要不同的處理器架構和 GPU,NPU 和 FPGA 等異構計算技術協同,滿足特定領域的算法和專用計算需求。今天,筆者帶大家詳細了解下 FPGA 技術。

FPGA 是英文 Field Programmable Gate Array 簡稱,即現場可編程門陣列。它是在 PLA、PAL、GAL、CPLD 等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路 (ASIC) 領域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

1、 FPGA 簡介

FPGA 普遍用于實現數字電路模塊,用戶可對 FPGA 內部的邏輯模塊和 I/O 模塊重新配置,以實現用戶的需求。它還具有靜態可重復編程和動態在系統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改??梢院敛豢鋸埖闹v,FPGA 能完成任何數字器件的功能,下至簡單的 74 電路,上至高性能 CPU,都可以用 FPGA 來實現。FPGA 如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖輸入法,或是硬件描述語言自由的設計一個數字系統。

2、FPGA 發展史

FPGA 的發展歷史如下圖所示。相對于 PROM、PAL/GAL、CPLD 而言,FPGA 規模更大性能更高。

2.png

圖 1 FPGA 發展史

FPGA 芯片主流生產廠家包括 Xilinx、Altera、Lattice、Microsemi,其中前兩家的市場份額合計達到 88%。目前 FPGA 主流廠商全部為美國廠商。國產 FPGA 由于研發起步較美國晚至少 20 年,目前還處于成長期,僅限于低端,在通信市場還沒有成熟應用。

2015 年 12 月,Intel 公司斥資 167 億美元收購了 Altera 公司。Altera 被收購后不久即制定了英特爾處理器與 FPGA 集成的產品路線圖。這兩種產品集成的好處是可以提供創新的異構多核架構,適應例如人工智能等新市場的需求,同時能大幅縮減功耗。

3.png

圖 2 FPGA 在電信領域的應用歷史

FPGA 在航天、軍工、電信領域有非常成熟和廣泛的應用。以電信領域為例,在電信設備一體機階段,FPGA 由于其編程的靈活性以及高性能被應用網絡協議解析以及接口轉換。

在 NFV(NetworkFunction Virtualization 階段,FPGA 基于通用服務器和 Hypervisor 實現網元數據面 5 倍的性能提升,同時能夠被通用 Openstack 框架管理編排。

在云時代,FPGA 已經被作為基本 IaaS 資源在公有云提供開發服務和加速服務,AWS、華為、BAT 均有類似通用服務提供。

截至目前,Intel 的 Stratix 10 器件已被成功應用于微軟實時人工智能云平臺 Brainwave 項目。

3、兩家主流 FPGA 公司發展近況

Xilinx 聚焦芯片領先和豐富的加速解決方案,通過開放策略獲得主流云平臺支持,確立了其在數據中心的領先地位。其 UltraScale+系列 FPGA 領先友商 1 年多,使其在云平臺競爭中占領先機,其 VU9P 器件被大量應用于包括 AWS、Baidu、Ali、Tencent 及華為在內的多家公司的云計算平臺。

為滿足加速器領域對 FPGA 芯片日益遞增的性能需求,Xilinx 已發布面向數據中心的下一代 ACAP 芯片架構、推出 7nm Everest 器件。此器件已不屬于傳統的 FPGA,它集成了 ARM、DSP、Math Engine 處理器陣列等內核,將于 2019 年量產。相較于 VU9P,Everest 支持的 AI 處理性能將能提升 20 倍。

Intel 則提供從硬件到平臺到應用的全棧解決方案,不開放硬件和平臺設計以避免生態碎片化,投入巨大但進展緩慢。

4.png

圖 3 Xilinx 產品系列圖

5.png

圖 4 Intel(以 Stratix 系列為例) 產品工藝年代

FPGA 在數據中心服務器市場的實際應用中存在一定技術難點,具體包括如下幾方面:

1、編程門檻較高:硬件描述語言不同于軟件開發語言,需要開發者對底層硬件有著較深刻的認識;因此人才也就成為限制 FPGA 應用的一個重要因素。據了解,目前國內從事 FPGA 開發的人員初步估計大約兩萬多人。

2、集成難度較大:FPGA 開發與應用需要軟硬件的協同,包括使用高級語言的系統建模、硬件代碼(電路)設計、硬件代碼仿真、底層驅動軟件與硬件邏輯的聯調等等。

3、開發周期相對軟件要長:硬件開發比軟件開發過程復雜,調試周期也被拉長。

4、很難獲取獨立邏輯 IP。

4、FPGA 整體結構

FPGA 架構主要包括可配置邏輯塊 CLB(Configurable Logic Block)、輸入輸出塊 IOB(Input Output Block)、內部連線(Interconnect)和其它內嵌單元四個部分。

一定牛吉林十一选五