本文來源:半導體行業(yè)觀察
摘要:將多個異構芯粒集成在一起進行封裝是一種具有廣闊前景且成本效益高的策略,它能夠構建出既靈活又可擴展的系統(tǒng),并且能有效加速多樣化的工作負載。在此基礎上,我們提出了Arvon,它使用嵌入式多芯片互連橋(EMIBs)將一個14nm FPGA芯粒和兩個緊密排列的高性能22nm DSP芯粒集成在了一起。芯粒間通過一個1.536-Tb/s的高級接口總線(AIB)1.0接口和一個7.68-Tb/s的AIB 2.0接口進行互連。Arvon是可編程的,支持從神經網(wǎng)絡(NN)到通信信號處理的各種工作負載。每個DSP芯粒在半精度浮點運算中提供了4.14 TFLOPS的峰值性能,同時保持了1.8 TFLOPS/W的能效。我們還開發(fā)了一個能夠為FPGA和DSP分配工作負載的編譯程序,以此來優(yōu)化系統(tǒng)的性能和資源利用率。我們使用36-μm-pitch微凸塊實現(xiàn)的AIB 2.0接口達到了4 Gb/s/pin的數(shù)據(jù)傳輸速率,包括適配器在內的能效為0.10–0.46 pJ/b。其Shoreline帶寬密度達到 1.024 Tb/s/mm,areal帶寬密度達到1.705 Tb/s/mm2。
I. 介紹
隨著機器學習、機器人技術和5G/6G通信等領域的快速發(fā)展,用于這些領域的DSP工作負載正變得越來越動態(tài)和多樣化。一個靈活且計算效率高的硬件系統(tǒng)能夠很好地滿足這些需求。這樣的系統(tǒng)可以集成多個組件,包括CPU、FPGA以及DSP加速器等,其中CPU或FPGA提供了系統(tǒng)所需的靈活性,DSP加速器提供了高效的內核加速。
實現(xiàn)這類系統(tǒng)的一種方法是設計并制造一個單片系統(tǒng)級芯片(SoC)。然而,構建一個大型SoC有著高昂的時間成本和經濟成本。對此,作為一種成本效益高且可行的替代方案,采用2.5D或3D芯粒集成的異構系統(tǒng)級封裝(SiP)為構建大規(guī)模系統(tǒng)提供了一條有希望的途徑,以實現(xiàn)與單片集成相媲美的性能,同時避免了與單片集成相關的高成本、高風險和高工作量。SiP由稱為芯粒(chiplet)的互連組件組成。每個芯粒都包含一個功能模塊,可以在最適合的技術節(jié)點上制造,以獲得最佳性能和效率。由于每個芯粒在尺寸上更小、功能上更專一,因此其設計復雜性會降低,而產量則會提高。通過選擇已知良片(KGD)來組裝SiP,可以提高系統(tǒng)產量。在未來設想的芯片生態(tài)中,我們可以從不同的供應商那里采購經過驗證的芯片,并在構建多樣化的系統(tǒng)時重復利用它們,這樣就能有效地克服在快速開發(fā)新系統(tǒng)過程中遇到的挑戰(zhàn)和障礙。
圖1展示了一種多功能加速器的SiP解決方案,它整合了一個FPGA芯粒、一個DSP加速器芯粒,以及可能包括的擴展芯粒,比如模數(shù)轉換器(ADC)或光學收發(fā)器。這種異構SiP設計能夠靈活地將各種動態(tài)DSP工作負載——從機器學習到通信信號處理,映射到其上。FPGA芯粒提供必要的自適應性,DSP芯粒貢獻高效的計算能力,而擴展芯粒則提供了與前端(FE)組件如傳感器、無線或光接口的連接。在SiP內部,芯粒之間的芯片間接口對于數(shù)據(jù)傳輸至關重要,它必須提供足夠高的帶寬,以確保與單片SoC相匹敵的性能,同時維持較低的每比特能耗,確保整個解決方案保持競爭力。
圖1 Arvon SiP通過異構集成FPGA、DSP和FE芯粒,實現(xiàn)靈活的工作負載映射
近期的研究展示了在具有高帶寬和高效的die-to-die接口的SiP中集成芯粒的成果。在文獻中,兩個雙Arm核心芯粒集成在chip-on-wafer-on-substrate(CoWoS)上,具有8-Gb/s/pin的低電壓封裝內互連(LIPINCON)接口。在文獻中,36個深度神經網(wǎng)絡(DNN)加速器芯粒使用25-Gb/s/pin的地參考信號(GRS)接口集成在有機基板上。在文獻和中,四個運行時可重配置的通用數(shù)字信號處理器(UDSP)集成在具有 1.1 Gb/s/pin SNR-10 接口的硅片互連結構 (Si-IF) 中介層上。IntAct則在活性硅中介層上集成了六個16核芯粒,使用了1.2-Gb/s/pin的3-D-Plug接口。這些成果代表了同構集成的典型應用,通過將模塊化芯粒的多個實例拼接在一起,有效地擴展了計算系統(tǒng)的規(guī)模。
在Arvon中,我們展示了不同類型芯粒的異構集成,以構建一個用于DSP工作負載的多功能加速器。Arvon由一個14nm FPGA芯粒和兩個通過嵌入式多芯片互連橋(EMIB)技術集成的22nm DSP芯粒組成。我們原型化了第一代和第二代開放式高級接口總線(AIB)芯片間接口,分別稱為AIB 1.0和AIB 2.0,用于連接這些芯粒。結果在一個SiP中得到展示,該SiP能夠有效地加速各種機器學習和通信DSP工作負載,同時保持較高的硬件利用率。這項工作還展示了AIB 2.0接口,該接口在能效為 0.1 pJ/b的情況下實現(xiàn)了1 Tb/s/mm 的海岸線帶寬密度和 1.7 Tb/s/mm2的面積帶寬密度。
本文的其余部分安排如下:第二部分概述了Arvon SiP。第三部分詳細闡述了AIB接口的設計,包括物理層(PHY)I/O、時鐘分布和總線適配。第四部分深入探討了DSP芯粒及其矢量引擎設計的細節(jié)。第五部分討論了各種工作負載的映射。第六部分介紹了硅片測量和系統(tǒng)評估。最后,第七部分對本文進行了總結。
II. ARVON 系統(tǒng)概述
Arvon系統(tǒng)概覽如圖2所示。該系統(tǒng)包括一個FPGA芯粒和兩個DSP芯粒實例,分別命名為DSP1和DSP2。DSP2是DSP1的物理旋轉版本。FPGA使用EMIB技術通過AIB 1.0接口連接到DSP1,而DSP1使用EMIB技術通過AIB 2.0接口連接到DSP2。Arvon提供了三種操作模式,如圖2所示。在模式1和模式2中,F(xiàn)PGA分別連接到DSP1和DSP2,并將通用計算核心卸載到DSP上面。這些通用核心包括在神經網(wǎng)絡(NN)和通信工作負載中至關重要的矩陣乘法(MMM)和二維卷積(conv)。在模式3中,DSP1和DSP2被組合起來以增強計算能力。DSP2也可以被FE芯粒(例如光學tile或 ADC tile)取代,以實現(xiàn)完整的通信或傳感系統(tǒng)。
圖2 Arvon SiP支持的數(shù)據(jù)流模式: 在模式1和模式2中,F(xiàn)PGA連接到其中一個DSP; 在模式3中,F(xiàn)PGA同時連接到兩個DSP
A
DSP芯粒
DSP 芯粒可為計算密集型工作負載提供卸載和加速功能。DSP芯粒的設計如圖2所示。芯粒的兩側都放置了芯片間接口。在西側,有24個AIB 1.0接口通道,為與FPGA的通信提供1.536 Tb/s的帶寬。在東側,有24個AIB 2.0接口通道,為與另一個DSP的通信提供7.68 Tb/s的帶寬。芯粒包含三個DSP集群,每個集群提供1024個16位半精度浮點處理元素(PE)。每個集群最多使用8個AIB 1.0接口通道和8個AIB 2.0接口通道進行輸入輸出。使用低抖動環(huán)形鎖相環(huán)(PLL)為DSP集群以及AIB 1.0和AIB 2.0接口生成時鐘。沿著芯粒頂部和底部有兩排通用輸入/輸出(GPIO)端口,便于進行全局配置和調試。
B
FPGA主機芯粒
FPGA在實現(xiàn)Arvon的靈活性方面發(fā)揮著關鍵作用。FPGA的可編程邏輯被用來支持各種任務,例如為DSP執(zhí)行轉置和洗牌等數(shù)據(jù)處理操作。此外,F(xiàn)PGA也可以用來提供DSP上沒有的特殊功能,從而能夠滿足完整的處理需求。
在Arvon中,F(xiàn)PGA充當主機的角色,采用如圖3所示的基于指令的處理器形式出現(xiàn)。一個簡單的主機處理器配備了指令存儲器、用于存儲輸入輸出數(shù)據(jù)數(shù)據(jù)和權重數(shù)據(jù)的數(shù)據(jù)存儲器,以及一個用于管理和協(xié)調與DSP芯粒進行數(shù)據(jù)傳輸?shù)闹苯觾却嬖L問(DMA)單元。指令用于在運行時配置和重新配置DSP,引導數(shù)據(jù)存儲器和DSP之間的數(shù)據(jù)流,以及執(zhí)行DSP的前處理和后處理。
當FPGA內的主處理器觸發(fā)并從指令存儲器中讀取首條指令時,工作負載的執(zhí)行便正式啟動。這些指令詳細說明了所需的所有信息,包括數(shù)據(jù)內容、寄存器訪問地址、存儲器地址、總線地址、DMA進行讀寫操作的數(shù)據(jù)長度,以及執(zhí)行的先后順序。根據(jù)指令,主機處理器生成AXI總線事務以訪問發(fā)送到DSP的DSP配置寄存器。同時,它也會發(fā)布DMA命令,用以從數(shù)據(jù)存儲器讀取或寫入數(shù)據(jù),以及向DSP進行數(shù)據(jù)的讀取和寫入。鑒于DSP中矢量引擎的處理時間較快,包括主機處理器在內的FPGA實現(xiàn)得到了高度利用,以最小化延遲并防止任何潛在的瓶頸。
圖3 FPGA主機實現(xiàn)示例
III. AIB 芯片間接口
在 DSP 芯粒內,其西側集成了24個 AIB 1.0 接口通道,東側集成了24個 AIB 2.0 接口通道。AIB 通道由兩層組成:適配器層和物理層 I/O 層。適配器層負責協(xié)調 DSP 核與物理層 I/O 之間的數(shù)據(jù)傳輸。它負責這兩個域之間的數(shù)據(jù)成幀和同步。狀態(tài)機用于啟動 AIB 鏈路并啟用自動時鐘相位調整。這種調整有助于確定數(shù)據(jù)的眼寬和中心。在 AIB 2.0 中,適配器還支持可選的數(shù)據(jù)總線反轉 (DBI),從而減少了總線切換活動并提高了能效。
AIB 接口的物理層實現(xiàn)了源同步、短距離、低延遲和并行單端 I/O。在雙數(shù)據(jù)速率(DDR)模式下,AIB 1.0的每個I/O端口通過全軌信號傳輸,提供從1 Mb/s到2 Gb/s的帶寬范圍。而AIB 2.0則進一步在DDR模式下,通過0.4 V至全軌信號的擺幅變化,實現(xiàn)了從1 Mb/s至4 Gb/s的帶寬,從而顯著提升了數(shù)據(jù)傳輸速率。單個 AIB 1.0 通道由 96 個引腳組成,其中包括2個 TX 時鐘引腳、2個 RX 時鐘引腳、20 個 TX 數(shù)據(jù)引腳、20 個 RX 數(shù)據(jù)引腳以及用于邊帶控制的和冗余的附加引腳。相比之下,單個 AIB 2.0 通道由 102 個引腳組成,其中包括兩個 TX 時鐘引腳、兩個 RX 時鐘引腳、40 個 TX 數(shù)據(jù)引腳、40 個 RX 數(shù)據(jù)引腳以及用于邊帶控制的和冗余的附加引腳。AIB 2.0 在 AIB 1.0 的基礎上進行了改進,它將每個引腳的數(shù)據(jù)傳輸速率和每個通道的數(shù)據(jù)引腳數(shù)量增加了一倍,從而將數(shù)據(jù)傳輸帶寬提高了四倍。此外,AIB 2.0 還通過使用低擺動信號提高了能效。AIB 1.0 和 AIB 2.0 的對比總結見表 I。值得注意的是,AIB 1.0 與 AIB 2.0 有著相似的設計結構。
表 I
A
AIB 2.0 適配器
AIB 適配器管理 DSP 核與 PHY I/O 層之間的數(shù)據(jù)傳輸。數(shù)據(jù)路徑包括 TX 端的串行器和 RX 端的并行器。圖 4 展示了一個數(shù)據(jù)傳輸實例。在芯粒 1 中,一個 AIB 2.0 TX 通道每次從 DSP 核收集四條 80 位寬的數(shù)據(jù)流,DSP 核的時鐘頻率為 500 MHz。使用兩級 2:1 多路復用器實現(xiàn)的串行器將并行數(shù)據(jù)流轉換為單條 80 位寬的數(shù)據(jù)流進行傳輸。在可選用的 DBI 之后,80位數(shù)據(jù)被分為高低兩個40位的段,這兩個數(shù)據(jù)段分別發(fā)送至40個TX I/O單元的data0和data1引腳。在 DDR 模式下這些TX I/O單元以2 GHz的頻率運行,每個單元每次傳輸2位數(shù)據(jù),從而實現(xiàn)了4 Gb/s的有效數(shù)據(jù)傳輸速率。差分的2 GHz TX 時鐘與數(shù)據(jù)一起被轉發(fā)到芯粒2。在芯粒2 中,一個 AIB 2.0 RX 通道負責接收來自40個 RX I/O 單元的80位寬數(shù)據(jù)。在 DDR 模式下,數(shù)據(jù)以2 GHz的頻率進行采樣。隨后,接收到的數(shù)據(jù)流通過并行器處理,其采用兩級1:2的解復用器實現(xiàn),將數(shù)據(jù)恢復成四路80位寬的數(shù)據(jù)流。接收到的TX端的時鐘信號通過可調節(jié)的延時線進行微調,以適配RX端I/O單元的采樣時鐘需求。
1)自動時鐘相位調整:在鏈路的初始化階段,RX 時鐘相位會進行調整,以便在最佳點對 RX 數(shù)據(jù)進行采樣。適配器采用自動 RX 時鐘相位調整機制。TX負責發(fā)送一個已知的偽隨機二進制序列(PRBS),而后RX則利用可配置的延遲線掃描從TX接收到的時鐘信號的延遲,從而監(jiān)測潛在的錯誤。通過分析接收到的PRBS序列中的錯誤模式,RX端能夠估算出眼圖的邊界。這樣做的目的是將延遲以及采樣點設置在估計的眼圖中點。
2)數(shù)據(jù)總線反轉(DBI):AIB 2.0支持數(shù)據(jù)總線反轉,這有效地減少了單端及源同步接口中的轉換和同步開關輸出(SSO)噪聲。圖5展示了一個1:19比例的DBI編碼器和解碼器。在TX端,80位數(shù)據(jù)由四個并行DBI編碼單元進行編碼。每個單元獲取19位數(shù)據(jù)線的值(在圖5中由icurr[18:0]表示),并計算先前編碼的數(shù)據(jù)(iprev[18:0])中已發(fā)生轉換的位數(shù)。如果計數(shù)超過10(20比特的一半),則DBI編碼單元會反轉這些位,并給DBI位分配一個高(HIGH)值。如果計數(shù)等于10,并且前一個DBI位已經是高(HIGH),則DBI位保持高(HIGH)。如果上述條件都不滿足,數(shù)據(jù)保持不變,DBI位被設置為低(LOW)。然后,DBI位與編碼后的19位數(shù)據(jù)結合,打包成20位的TX數(shù)據(jù),并發(fā)送到20個I/O單元。在RX端,采用四個并行DBI解碼單元。如果DBI位(接收到的20位數(shù)據(jù)塊的最高位)為高(HIGH),則每個單元將反轉接收到的19位數(shù)據(jù)位,如果DBI位為低(LOW),則數(shù)據(jù)保持不變。
圖4 AIB 2.0 通道頂層圖和自動時鐘相位調整
圖5 1:19比例DBI編碼器(上)和解碼器(下)
B
AIB 2.0 I/O
圖6展示了一種緊湊型統(tǒng)一 AIB 2.0 I/O 單元設計的原理圖和布局。為了實現(xiàn)36 μm微凸塊間距的目標,該I/O 單元的布局經過了精心的優(yōu)化,每個單元都在相應的微凸塊下連接,以確保布局符合規(guī)定的凸塊間距。統(tǒng)一I/O單元支持多種模式。首先,傳輸方向可以靈活設置為TX或RX模式,這不僅有助于進行冗余修復,也便于芯粒間的靈活連接。在TX模式下,為了降低功耗,RX組件的時鐘被門控;反之,在RX模式下,TX組件的時鐘被門控。其次,對于 AIB 1.0 和 AIB 2.0,I/O 信號擺幅可設置為全軌,而對于 AIB 2.0,擺幅還可以降低至 0.4 V。第三,傳輸模式可以設置為單數(shù)據(jù)速率(SDR)模式或雙數(shù)據(jù)速率(DDR)模式。在DDR模式下,數(shù)據(jù)0和數(shù)據(jù)1被串行化后進行傳輸,其中數(shù)據(jù)1比數(shù)據(jù)0延遲半個時鐘周期。這意味著,在TX時鐘的正邊沿,數(shù)據(jù)0被發(fā)送至驅動器,而在負邊沿,數(shù)據(jù)1被發(fā)送。在RX端,這一過程則相反,數(shù)據(jù)通過并行化恢復。SDR模式僅使用數(shù)據(jù)0,它在TX時鐘的正邊沿發(fā)送到驅動器。最后,I/O 單元可設置為在時鐘和其他邊帶信號的異步模式下運行。
圖6 一個統(tǒng)一AIB I/O單元的原理圖和布局
圖7 基于 CMOS 的 TX 驅動器(左)和基于 strongARM 的 RX(右)示意圖
1)TX驅動器:如圖7(左)所示,TX驅動器的設計采用了分段技術,由四部分組成。該設計允許將最多四段驅動器連接起來,以實現(xiàn)可調節(jié)的驅動強度,這樣就可以根據(jù)通道變化靈活調整,同時平衡傳輸速度和功耗之間的關系。每個驅動器段包括一個用于下拉的NMOS晶體管,以及一個可切換的PMOS或NMOS上拉驅動器,后者可以根據(jù)需要提供全軌或低擺幅的驅動力。在低擺幅模式下,NMOS上拉驅動會被適度增強,以確保與下拉驅動力的平衡。此外,系統(tǒng)還允許通過設置弱上拉和下拉來配置初始開機值。
2)RX緩沖器:RX緩沖器的設計區(qū)分了全軌輸入和低擺輸入。對于全軌輸入信號,采用了標準單元緩沖器進行處理;而對于低擺輸入信號,則使用了再生比較器,如圖7(右)所示。該比較器是StrongARM鎖存器的優(yōu)化版本 ,無需校準即可將平均偏移降低到 4.1 mV。此外,設計中還利用PMOS增強了對低波動輸入的檢測。該設計采用了一個簡單的基準電壓發(fā)生器。比較器可在 2 GHz DDR 頻率下可靠地檢測低至 0.38 V 的輸入。
3)凸塊圖:圖8展示了一個AIB 2.0通道的12×17凸塊圖。該通道由40個TX數(shù)據(jù)引腳、40個RX數(shù)據(jù)引腳、2個TX轉發(fā)時鐘引腳、2個RX轉發(fā)時鐘引腳以及18個邊帶和冗余引腳組成。TX和RX凸塊的設計是對稱的,使得在EMIB上每對TX-RX的布線長度對等。其總共擁有80個數(shù)據(jù)引腳,每個引腳的數(shù)據(jù)速率為4 Gb/s,一個AIB 2.0通道提供了總共320 Gb/s的帶寬。該設計的微凸塊間距為 36 μm,通道岸線寬度為 312.08 μm,帶寬密度達到 1024 Gb/s/mm。
圖8 一個AIB 2.0通道的凸塊圖
圖9 兩級時鐘分布
C
時鐘分布
對于像AIB這樣的高速并行I/O接口來說,必須采用低偏斜時鐘分布,以確保給定通道中的所有數(shù)據(jù)引腳相位正確地對齊。如圖9所示,我們在每個AIB通道中采用兩級時鐘分布。上層是一個均衡的H型樹狀結構,它覆蓋了整個通道;而下層則由一個局部時鐘網(wǎng)格構成。這種雙層設計有效限制了H樹的深度,確保了各分支之間更好的平衡。此外,局部時鐘網(wǎng)格還能提供更穩(wěn)定的時鐘匯(clock sinks),且不會顯著增加功耗。因此,整個時鐘網(wǎng)絡能夠將最壞的時鐘偏斜控制在8ps以內。H樹和網(wǎng)狀時鐘網(wǎng)絡都是使用IC Compiler II的多源時鐘樹綜合(MSCTS)流程創(chuàng)建和評估的。
IV. DSP集群
如圖10所示,每個DSP集群包括一個靈活的矢量引擎、一個旁路緩沖器、一個用于數(shù)據(jù)成幀的旋轉塊、兩個用于在多個 AIB 通道之間打包和解包數(shù)據(jù)的 兼容AXI 的總線轉換器,以及一個與AXI兼容的系統(tǒng)總線。此外,還包括一個總線樞紐,用于在矢量引擎和測試器、AIB 1.0接口或AIB 2.0接口之間建立連接。旁路緩沖器支持Arvon的模式2操作,可繞過 DSP1 直接連接 FPGA 和 DSP2。通過這種連接,F(xiàn)PGA 的 AIB 1.0 事務可直接轉發(fā)到 DSP2 的 AIB 2.0 事務。旋轉塊反轉了AIB接口的通道索引順序。例如,將 DSP1 連接到 DSP2(DSP1 的旋轉版本)時,DSP1 的通道 1-8 連接到 DSP2 的通道 24-17,需要 DSP2 的旋轉塊來顛倒連接順序。
圖10 DSP集群(上)和矢量引擎(下)
A矢量引擎
DSP集群的核心部件是矢量引擎,它由四個 2-D 對稱陣列實例組成。每個脈動陣列包含256個PE,每個 PE 以半精度浮點格式(FP16)執(zhí)行乘法運算。這256個PE被分成八個單元,每個單元包含32個PE。每個32-PE單元的求和結果隨后輸入到一個可配置的加法器樹中??膳渲玫募臃ㄆ鳂淇梢酝ㄟ^選擇將八個單元中的哪些單元求和在一起,從而靈活地支持各種工作負載映射。這種設計提供了更短的部分求和累積路徑,并通過并發(fā)工作負載實現(xiàn)了更高的利用率,這與經典的脈動陣列有所區(qū)別。整個矢量引擎總共提供1024個PE,以支持矩陣-矩陣乘法(MMM)和卷積(conv)。最后,實現(xiàn)了一個全局I/O緩沖器和調度器,其使用多播或輪詢仲裁技術將輸入分配給PE陣列。
通過指令配置,矢量引擎便于輸入流的連續(xù)計算。矢量引擎還具有高度的映射靈活性。首先,四個脈動陣列可以獨立映射。此外,每個陣列內的256個PE可以32個PE為單位進行配置,可適應 1 到 8 個獨立的工作負載。
B系統(tǒng)總線和總線轉換器
AIB 連接由兼容 AXI 的點對點系統(tǒng)總線抽象出來??偩€轉換器處理跨多個AIB通道的數(shù)據(jù)打包和解包。它還支持突發(fā)模式,以最大限度地利用帶寬進行流式傳輸。系統(tǒng)總線的通道和信號在圖11中進行了說明。系統(tǒng)總線由四個通道組成:讀命令通道、寫命令通道、讀數(shù)據(jù)通道和寫數(shù)據(jù)通道。一個主設備能發(fā)出一個帶有32位地址和6位突發(fā)長度的讀寫命令,以及512位寫數(shù)據(jù)和寫命令。在響應讀命令時,從設備將512位讀數(shù)據(jù)發(fā)送回主設備。系統(tǒng)總線和AIB通道之間的轉換由總線轉換器完成。我們在設計總線轉換器時采用了基于報頭的流方法,以實現(xiàn)高帶寬和低延遲。一個矢量引擎最多可使用八個 AIB 通道,以確保最佳利用率。每個AIB通道可以靈活地配置為主設備或從設備,允許根據(jù)需要調整TX/RX帶寬。
圖11 兼容AXI的系統(tǒng)總線:總線轉換器(左)以及總線接口通道和信號(右)
V. 工作負載映射
Arvon作為一個多功能的計算平臺,它能夠支持不同規(guī)模的計算任務,并且這些任務的復雜性可以在運行過程中根據(jù)需要動態(tài)調整。為確保高效的數(shù)據(jù)處理,必須建立一套系統(tǒng)方法,將工作負載映射到最佳硬件配置和數(shù)據(jù)布局上。
為了實現(xiàn)這一目標,我們開發(fā)了一套編譯程序,如圖 12 所示。工作負載首先被分割成幾個部分,即使用 conv 核或 MMM 核的部分,或二者兼有的部分,這些部分可以通過適當?shù)呐渲弥苯佑成涞紸rvon DSP上。此外,一些計算核之間的中間步驟可由FPGA主機執(zhí)行。具體來說,conv的配置是基于濾波器和輸入的大?。≧ × S × C)制定的,而MMM的配置是基于矩陣的尺寸制定的。隨后,工作負載中的conv和MMM核心將根據(jù)既定的指令和內存數(shù)據(jù)配置,被調度并分配給Arvon DSP的矢量引擎。這一分配過程綜合考慮了多個關鍵因素,包括提高資源利用率、增強數(shù)據(jù)的可重用性,以及最小化端到端的延遲。
圖12 工作負載映射的編譯流程說明
矢量引擎采用靜態(tài)權重方案,其核心的權重分配給 PE。為了將MMM映射到矢量引擎,權重矩陣的每一行都被分配給PE,從而有效地將一維矢量分配到二維陣列中。具有相同權重矩陣的行可以分配給同一組PE。在涉及多個核的多租戶場景中,不同權重矩陣的行可以分配給不同的分區(qū),在圖12和13中用p1–p8表示。分區(qū)輸出被定向到可配置加法器樹的相應輸入端,確保計算出單獨的和作為輸出。
conv 的權重映射與多租戶 MMM 的情況類似,因為其可能涉及多個卷積核。圖13展示了兩個卷積操作示例的映射。每個卷積核的大小為 R × S × C,并通過在二維中編織三維切片將其展開到二維 PE 陣列中。在滑動卷積窗口下的三維輸入激活元素也相應地展開到二維PE數(shù)組上。輸入激活在PE數(shù)組內部保留,以便通過相鄰PE之間的脈動數(shù)據(jù)轉發(fā)實現(xiàn)水平和/或垂直重用。對于單個卷積核的情況(如圖 13 中的第一個示例),可以不考慮分區(qū)邊界進行映射,從而實現(xiàn)高效利用。然而,當存在多個卷積核時,例如圖13中的第二個示例,每個卷積核都需要與分區(qū)邊界對齊,從而降低了利用率。
圖13 不同內核大小的映射示例
VI. 芯片測量與比較
DSP 芯粒采用 22 nm FinFET 技術制造,面積為 32.3 mm2,如圖 14 所示。為了構建 Arvon SiP,我們將一個 14 nm FPGA 芯粒和兩個 DSP 芯粒通過兩個十層 EMIB 相互封裝和互連,同時使用 36 微米間距的微凸塊。AIB 1.0 側的平均導線長度為 1.5 毫米,而 AIB 2.0 側的平均導線長度為 0.85 毫米。
在室溫和 0.85 V 的芯粒電壓下,每個 DSP 集群的最高工作頻率為 675 MHz,功耗為 0.76 W。在這種配置下,DSP 芯粒的峰值性能為 4.14 TFLOPS,功耗效率達到 1.8 TFLOPS/W。在 0.85 V I/O 電壓和 800-MHz 時鐘(受 FPGA 時鐘頻率限制)條件下,AIB 1.0 I/O 的功耗為 0.44 pJ/b,包括適配器在內為 0.85 pJ/b,傳輸延遲為 3.75 ns。在室溫條件下,輸入/輸出電壓為 0.4 V,時鐘頻率為 2 GHz,AIB 2.0 輸入/輸出每比特消耗 0.10 pJ,包括適配器在內為 0.46 pJ/b,傳輸延遲為 1.5 ns。AIB 2.0 接口的能耗分解如圖 15 所示。適配器的能耗占絕大部分,為 0.32 pJ/b,約占總能耗的 69%。另一方面,I/O 單元僅消耗 0.10 pJ/b,約占總能耗的 22%。I/O 單元能耗較低的原因是利用了 0.4 V 的低信號擺幅。
圖14 測試裝置、Arvon多芯粒封裝和DSP芯粒顯微照片
圖15 AIB 2.0 接口的能耗分解
圖16 能效與區(qū)域帶寬密度(左)和海岸線帶寬密度(右)的關系
Arvon的AIB I/O 接口與最先進的 SiP I/O 接口的比較見表II。與 AIB 接口類似,SNR-10 、3-D-Plug 和 LIPINCON 也是并行 I/O 接口。其中,LIPINCON 的數(shù)據(jù)傳輸率最高,達到 8 Gb/s/pin,I/O 能耗最低,在 0.3 V 信號擺幅下僅為 0.073 pJ/b;3-D-Plug 的帶寬密度最高,達到 900 Gb/s/mm 的海岸線;SNR-10 的 I/O 尺寸最小,僅為 137 μm2。GRS 是一種高速串行 I/O 接口,可提供 25 Gb/s/pin,能效為 1.17 pJ/b。我們的 AIB 2.0 原型提供了一個極具吸引力的解決方案,其 I/O 能耗僅為 0.10 pJ/b,如果包括適配器,則為 0.46 pJ/b。如表 II 所示,它還實現(xiàn)了 1.0-Tb/s/mm 的海岸線和 1.7-Tb/s/mm2 面積的最高帶寬密度。圖 16 比較了芯片間接口的能效、面積帶寬密度和海岸線帶寬密度。與 GRS 接口相比,AIB 2.0 接口的能效、面積帶寬密度和海岸線帶寬密度分別提高了 2.5 倍、3.4 倍和 5 倍,優(yōu)于其他接口。
我們展示了可以利用Arvon的各種應用的工作負載映射,包括深度神經網(wǎng)絡(DNN)、多輸入多輸出(MIMO)信號處理和圖像濾波。工作負載大小、總體吞吐量和利用率在表III中進行了總結。除了常用的DNN模型外,128×16 MIMO檢測工作負載利用128個接收天線來檢測16個單天線用戶。此任務涉及的處理包括最小均方誤差(MMSE)濾波操作,該操作需要使用矩陣-矩陣乘法(MMM)計算濾波矩陣,然后使用MMM應用濾波矩陣。為了執(zhí)行這些操作,需要使用尺寸為32×256、256×32、32×32和32×1的MMM核來完成此工作負載。這些計算核可以高效地映射到PE陣列,利用率達到100%。圖像濾波工作負載涉及16個5×5的濾波器和16個3×3的濾波器,這些二維濾波器應用于1280×720的圖像幀,這些操作均需要采用卷積核來進行。不過,由于濾波器尺寸較小,其利用率低于其他工作負載。這些示例工作負載的結果表明,Arvon的異構SiP架構為神經網(wǎng)絡(NN)和通信處理提供了靈活性、性能和效率。
表II
表III
VII. 總結
Arvon是一個異構系統(tǒng)級封裝(SiP),它使用嵌入式多芯片互連橋(EMIBs)集成了一個FPGA芯粒和兩個DSP芯粒。這種集成方式使Arvon不但能夠擁有FPGA作為主機的靈活性,還能擁有DSP的高計算性能和效率。
SiP 的主要特點是采用并行、短距離的 AIB 1.0 和 AIB 2.0 接口,用于無縫連接芯粒。輸入/輸出(I/O)單元設計緊湊,以數(shù)字為主,并且可綜合。這些單元非常靈活,能夠支持多種模式。此外,它們還采用了依賴模式的電源門控和兩級時鐘分布,從而提高了能效。我們使用 36 微米間距微凸塊實現(xiàn)了低擺幅 4-Gb/s AIB 2.0 接口,能效為 0.10 pJ/b,若包括適配器在內則為 0.46 pJ/b,同時擁有1.024-Tb/s/mm 海岸線和 1.705-Tb/s/mm2的面積的帶寬密度。該接口采用 與AXI 兼容的總線協(xié)議進行抽象,簡化了主機和 DSP 的使用。
Arvon中的每個DSP芯粒都采用低延遲的脈動陣列架構,擁有3072個FP16 PE。這些PE按層次分為三個集群,每個集群包含八個32-PE單元。這種細粒度的組織結構允許同時并行執(zhí)行多個工作負載。每個 DSP 芯??商峁?4.14 TFLOPS 的峰值性能,功耗效率為 1.8 TFLOPS/W。我們開發(fā)了一套將工作負載映射到 Arvon 上的系統(tǒng)程序,并演示了 Arvon 可以加速的各種工作負載,以實現(xiàn)具有競爭力的性能和利用率。
-
dsp
+關注
關注
556文章
8158瀏覽量
357621 -
FPGA
+關注
關注
1645文章
22050瀏覽量
618550 -
芯片
+關注
關注
460文章
52520瀏覽量
441004 -
系統(tǒng)級封裝
+關注
關注
0文章
40瀏覽量
9265 -
芯粒
+關注
關注
0文章
67瀏覽量
278
原文標題:一種集成FPGA和DSP芯粒的異構系統(tǒng)級封裝
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
Nexar如何為FPGA設計提供一種全新的方法?
北極雄芯開發(fā)的首款基于Chiplet異構集成的智能處理芯片“啟明930”
一種基于DSP和FPGA的雷達信號分選電路設計
一種基于DSP+FPGA的控制系統(tǒng)方案設計

一種異構雙核系統(tǒng)芯片平臺設計與實現(xiàn)
一種基于DSP+FPGA視頻圖像采集處理系統(tǒng)的設計與實現(xiàn)

評論