引言
隨著人工智能和5G的興起,數(shù)據(jù)處理對芯片的算力和帶寬要求更高。為了布局未來,助力人工智能和5G,賽靈思也推出了自己的FPGA加速芯片-ACAP。ACAP是一款基于7nm工藝,集成了通用處理器(PS),F(xiàn)PGA(PL),math engine以及network-on-chip的革命性芯片。特別是新增的ME結(jié)構(gòu),是一個類似于GPU的多核并發(fā)計算單元,可以大大提高數(shù)據(jù)處理能力。同時ME支持軟件語言C,C++,這有利于擴大FPGA的使用用戶,同時方便了設(shè)計開發(fā)。
ME結(jié)構(gòu)簡介
ME結(jié)構(gòu)由很多ME核組成的二維陣列結(jié)構(gòu),核之間可以實現(xiàn)數(shù)據(jù)通信。ME陣列通過NoC可以和PL以及PS端進行通信,NoC是一種互聯(lián)總線,其提供了ME陣列到PL側(cè)的高帶寬通路。ME核包含了BRAM,DSP以及控制邏輯。ME具有以下特點:
1) 有一個RISC處理器,能夠支持32bit標量數(shù)據(jù)運算,包括sin/cos,開方,乘法等操作;
2) 向量乘法計算單元。這是一個由DSP組成的陣列,能夠支持32個16bitx8bit,64個16x8bit,128個8x8bit計算。還支持8個單精度乘法計算;
3) 指令控制結(jié)構(gòu)支持load和save,向量乘法等操作,這些操作統(tǒng)一用一個指令字段描述;
4) 含有多路AXI stream,可以實現(xiàn)高速數(shù)據(jù)通信;
5) 含有一個128bit寬1K深的程序存儲器,支持指令壓縮,可通過AXI-MM進行配置;
6) 含有多個數(shù)據(jù)存儲器,分成多個bank,共有32KB容量;
7) 含有配置接口,用于ME核的配置和調(diào)試;
8) 含有debug/trace/profile功能,用于程序追蹤和調(diào)試;
ME核的工作頻率達到1GHz,電壓0.7V,具有較低功耗。ME支持多種形式的數(shù)據(jù)傳送,包括AXI-MM,AXI-stream,以及ME之間共享的bank進行數(shù)據(jù)直接交互。
為了保證性能的可預(yù)測性,ME之間數(shù)據(jù)通信不存在緩存一致性。但是ME和PS之間通信是需要緩存一致性功能的,ME和PS端共享DDR中一段內(nèi)存。當PS處理完數(shù)據(jù)發(fā)送給ME時,是要保證處理的數(shù)據(jù)都已經(jīng)存儲到DDR中了。而ME處理完數(shù)據(jù)寫到DDR中后,也要讓PS知道數(shù)據(jù)已經(jīng)寫完。ME可以使用虛擬地址去訪問PS的存儲或者DDR,ME地址會經(jīng)過PS端的MMU進行解析。
為了保證某些過程的安全性(比如對TrustZone的保護,或者防止ME陣列的重要信息被讀?。琈E提供了一些保護措施。主要包括對ME訪問的保護,AXI-MM傳輸?shù)陌踩员Wo,AXI-stream數(shù)據(jù)訪問的保護等。
ME陣列可以在功能上被分割成多個子陣列使用,這可以用于一些需要ME陣列完成多種功能的任務(wù)。其中ME核,AXI-stream,數(shù)據(jù)存儲訪問等模塊都可以被分割。只有AXI-MM不能被分割。NoC中可以支持對控制信息的修改,從而可以給不同子陣列發(fā)送不同的控制信息。每個ME核含有256Kb的數(shù)據(jù)存儲器和128Kb的程序存儲器,對于一個300個ME核的芯片就含有77Mb數(shù)據(jù)存儲和38Mb程序存儲,這么大的空間,保證數(shù)據(jù)準確性是很關(guān)鍵的。因此不論是數(shù)據(jù)存儲器還是程序存儲器都提供了ECC校驗,以防止軟件錯誤產(chǎn)生的數(shù)據(jù)錯誤問題。程序存儲器每144bit包含128bit有效數(shù)據(jù)和8bitECC校驗位。8bit校驗位可以在每64bit數(shù)據(jù)中糾正1bit數(shù)據(jù)和檢測出2bit數(shù)據(jù)錯誤。存儲數(shù)據(jù)出錯會生成錯誤事件,反饋給debug或者profile模塊報告這些錯誤。
ME陣列被分配了4個1GB的地址映射區(qū)域,目前芯片只有一個ME陣列,所以只使用了1GB地址映射空間。ME的地址含有整體陣列的offset,陣列的行列編號,以及ME核中存儲地址。這些信息可以確定往哪個ME中的存儲位置讀寫數(shù)據(jù)。
ME中有4個時鐘:ME核時鐘,高頻,可到1GHz,用于ME中的數(shù)據(jù)傳輸和運算。NoC時鐘,數(shù)據(jù)時鐘,用于從PL到ME的數(shù)據(jù)輸送。PL側(cè)時鐘以及NPI時鐘,NPI時鐘用于調(diào)試追蹤等。
數(shù)據(jù)傳輸結(jié)構(gòu)
為了保證不同設(shè)備之間的數(shù)據(jù)交換,我們需要滿足兩個條件:一個是數(shù)據(jù)實際的流通,這個包含數(shù)據(jù)傳輸通路和數(shù)據(jù)存儲;當然也不必包含有存儲,流水線處理的數(shù)據(jù)只有數(shù)據(jù)流通;另外一個是發(fā)送者和收發(fā)者之間的同步。接受者接收數(shù)據(jù)只有在發(fā)送者發(fā)出數(shù)據(jù)之后,同時發(fā)送者發(fā)送數(shù)據(jù)必須等接受者準備好接收數(shù)據(jù)。因此一些同步信號是必須的。
ME陣列中能夠?qū)崿F(xiàn)數(shù)據(jù)交互的設(shè)備有:
1) 本地存儲bank。每個ME包含8個bank,這些bank可以用于和周圍4個ME進行數(shù)據(jù)通信。ME通過load和save指令來讀寫本地存儲器。如果ME的寫和另外一個ME的讀同時發(fā)生,可以通過ping/pong操作同步。
2) Stream-network可用于所有ME之間數(shù)據(jù)交互。而且stream本身是具有同步信號的,所以無需增加額外同步信號。
3) AXI-MM接口能夠用于ME和PL端甚至是外部存儲器進行通信。
保證數(shù)據(jù)同步的裝置有:
1) ME本地原子鎖。這個鎖可以保證生產(chǎn)者和消費者的數(shù)據(jù)訪問沖突解決。如果鎖被置為1,表示可以被讀,如果為0表示可以寫。
2) Shim-DMA鎖。用于同步不同DMA通道,或者DMA通道和AXI-MM通道;
3) 信號量機制。對于ME和PS端的數(shù)據(jù)通信,還可以通過軟件層次的信號量機制來進行同步,因為PS端可以通過AXI-MM接口實現(xiàn)和ME之間的數(shù)據(jù)同步;
4) Stream網(wǎng)絡(luò)自身附帶的同步特性,用于不同ME之間交換數(shù)據(jù)。
PL和ME由于處于不同時鐘區(qū)域,ME是高頻時鐘,而PL側(cè)時鐘頻率較低。為了實現(xiàn)數(shù)據(jù)跨時鐘域傳輸,芯片提供了shim接口,shim中含有異步FIFO。FPGA可以以64bit或者32bit將數(shù)據(jù)寫入FIFO,而ME將FIFO中數(shù)據(jù)讀出進行運算。ME獲得數(shù)據(jù)有兩種方式,一種是通過DMA將數(shù)據(jù)讀出寫入到ping/pong buffer,這樣可以實現(xiàn)ME核中兩個函數(shù)的計算任務(wù)。如果ME中不需要ping/pong操作,可以不同各國DMA將數(shù)據(jù)存儲到buffer??梢詮膕tream直接獲得數(shù)據(jù)進行計算。
接下來我們看看ME內(nèi)部數(shù)據(jù)如何通信:
1) ME內(nèi)部不同操作之間可以使用shared memory來進行數(shù)據(jù)交互,但是每次只允許一個操作來訪問shared memory,即讀寫無法同時進行;
2) 兩個相鄰ME可以通過shared memory來進行數(shù)據(jù)交互,通過ping/pong buffer可以實現(xiàn)一個寫一個讀;
3) 對于不相鄰的ME,也可以使用ping/pong buffer。但是這個時候ME無法直接去訪問另外一個ME的存儲,但是每個ME都可以建立自己的ping/pong buffer,這兩組buffer可以通過DMA進行數(shù)據(jù)交互;
4) 不同的ME之間還可以通過AXI-stream接口進行數(shù)據(jù)交互;
5) 有時候一個大型計算要在幾個ME之間完成,這就需要不同ME之間進行高速數(shù)據(jù)通信,相鄰的ME之間還有級聯(lián)總線,可以實現(xiàn)兩個ME之間的累加運算,這個總線位寬達到384bit;
6) ME還可以直接從外部存儲器中獲得數(shù)據(jù),它將數(shù)據(jù)請求包發(fā)送給ME-shim,這個請求包含有包頭和數(shù)據(jù)請求信息,包頭中有原和目的地址,數(shù)據(jù)請求中含有數(shù)據(jù)長度信息。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21799瀏覽量
606196 -
gpu
+關(guān)注
關(guān)注
28文章
4783瀏覽量
129382 -
人工智能
+關(guān)注
關(guān)注
1796文章
47734瀏覽量
240411 -
數(shù)據(jù)存儲器
+關(guān)注
關(guān)注
1文章
69瀏覽量
17819 -
ACAP
+關(guān)注
關(guān)注
1文章
54瀏覽量
8201
發(fā)布評論請先 登錄
相關(guān)推薦
芯片封裝中的FOPLP工藝介紹
![<b class='flag-5'>芯片</b>封裝中的FOPLP<b class='flag-5'>工藝</b>介紹](https://file1.elecfans.com/web3/M00/06/96/wKgZPGeNvZmAevzMAAAsnSQQ3qE028.png)
芯片制造的7個前道工藝
![<b class='flag-5'>芯片</b>制造的<b class='flag-5'>7</b>個前道<b class='flag-5'>工藝</b>](https://file1.elecfans.com/web3/M00/05/37/wKgZPGd99kSATUCsAABqO66KcG0471.png)
7納米工藝面臨的各種挑戰(zhàn)與解決方案
臺積電產(chǎn)能爆棚:3nm與5nm工藝供不應(yīng)求
今日看點丨 傳蘋果2025年采用自研Wi-Fi芯片 臺積電7nm制造;富士膠片開始銷售用于半導(dǎo)體EUV光刻的材料
所謂的7nm芯片上沒有一個圖形是7nm的
![所謂的<b class='flag-5'>7nm</b><b class='flag-5'>芯片</b>上沒有一個圖形是<b class='flag-5'>7nm</b>的](https://file1.elecfans.com/web2/M00/09/FE/wKgaomcE92mAMdHKAACPLNOFTPY292.png)
臺積電產(chǎn)能分化:6/7nm降價應(yīng)對低利用率,3/5nm漲價因供不應(yīng)求
三星奪得首個2nm芯片代工大單,加速AI芯片制造競賽
PMP22165.1-適用于 Xilinx 通用自適應(yīng)計算加速平臺 (ACAP) 的電源 PCB layout 設(shè)計
![PMP22165.1-適用于 Xilinx 通用自適應(yīng)計算<b class='flag-5'>加速</b>平臺 (<b class='flag-5'>ACAP</b>) 的電源 PCB layout 設(shè)計](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
存內(nèi)計算——助力實現(xiàn)28nm等效7nm功效
![存內(nèi)計算——助力實現(xiàn)28<b class='flag-5'>nm</b>等效<b class='flag-5'>7nm</b>功效](https://file1.elecfans.com/web2/M00/E6/67/wKgZomZG_w2AFrk2AAak9a8makU966.png)
BittWare提供基于英特爾Agilex? 7 FPGA最新加速板
![BittWare提供基于英特爾Agilex? <b class='flag-5'>7</b> <b class='flag-5'>FPGA</b>最新<b class='flag-5'>加速</b>板](https://file1.elecfans.com/web2/M00/DF/75/wKgaomYwnI2AEusuAAAXzNyFeIU339.jpg)
FPGA芯片你了解多少?
2024年全球與中國7nm智能座艙芯片行業(yè)總體規(guī)模、主要企業(yè)國內(nèi)外市場占有率及排名
Ethernovia推出全球首款采用7nm工藝的汽車PHY收發(fā)器系列樣品
![Ethernovia推出全球首款采用<b class='flag-5'>7nm</b><b class='flag-5'>工藝</b>的汽車PHY收發(fā)器系列樣品](https://file1.elecfans.com/web2/M00/C4/70/wKgZomXzoF-AKGjyAAA2amD9cKs268.png)
無意發(fā)展至10nm以下,第二梯隊晶圓代工廠的成熟工藝現(xiàn)狀
![無意發(fā)展至10<b class='flag-5'>nm</b>以下,第二梯隊晶圓代工廠的成熟<b class='flag-5'>工藝</b>現(xiàn)狀](https://file1.elecfans.com/web2/M00/C1/47/wKgaomXUfGCAOxqbAAL3jPJd0jw276.png)
評論