許多產品中機器學習的採用(通常採用DNN/CNN網路的形式)大大增加了運算密度的需求。AI引擎針對線性代數進行了最佳化,可滿足這些要求的運算密度,同時與可編程邏輯中執行的類似功能相比,功耗也降低了50%。AI引擎使用了許多工程師所熟悉的C/C++範例進行程式設計。AI引擎與賽靈思的自行調適與純量引擎整合,可提供高度靈活且功能強大的整體解決方案。
技術進步推動運算密度提高
多種技術的進步推動了對非線性更高運算密度的需求。採樣速率為每秒千兆赫的資料轉換器能夠對RF訊號直接採樣,這雖然簡化了類比系統,但需要相應數量級更高的DSP運算密度支援。直接RF採樣結合多個天線的使用,例如具有數萬個天線的高階雷達系統。
圍繞5G無線的炒作多年來不斷醞釀,5G將環境中的所有內容連接到比基地台連線速度快一百倍的網路,比最快速的家庭寬頻服務也要快十倍,該技術有望改變人們的生活。毫米波、大規模MIMO、全雙工、波束成形和小型基地台只是其中幾項運用超高速5G網路的技術。5G的兩大優勢在於速度和低延遲,能夠支援從自動駕駛汽車到虛擬實境的多種新應用。這些技術將運算密度和記憶體要求提高到超越4G的數量級。
使用 5G、大規模 MIMO、多天線和頻段等新技術也將複雜性提高至4G的100 倍。複雜性的增加直接推動了運算密度、記憶體要求和RF資料轉換器的效能(圖1)。
.png)
摩爾定律備受挑戰
1965年,英特爾聯合創辦人戈登·摩爾(Gordon Moore)觀察到積體電路中的元件數量每兩年翻一番。在1965年,這意味著每個晶片中布局50個電晶體將提供最低的每電晶體成本;摩爾預測,到1970年,每個晶片將增加1,000個元件,每個電晶體的價格將下降超過90%。
摩爾後來將此修改為每兩年增加一倍的資源,從1975年到2012年大致符合預測。摩爾定律預測每個新型更小的製程節點均將提供更大的密度、更高的效能和更低的功耗,以及更低的成本。該觀察結果稱為「摩爾定律」,並持續了大約 50 年。
摩爾定律的原則是提高IC密度、效能和可負擔性的推動因素,不過,隨著IC製程節點達到28nm及以下,出現了「違反」摩爾定律的現象。在較小的製程節點上構建的元件的功耗、成本與效能不再易於預測。5G基地台系統的運算需求與可編程邏輯運算密度之間存在差距。第5代基地台所需的成本、功耗和效能超過了可編程邏輯滿足系統級目標的能力。
因應無線/機器學習 AI引擎相繼問世
為因應下一代無線和機器學習應用對提高運算密度與降低功耗要求的非線性需求增長,半導體業者如賽靈思開始研究創新架構,進而開發出AI 引擎。AI引擎以及自行調適引擎(可編程邏輯)和純量引擎(處理器子系統)形成一個緊密整合的異質運算平台。AI引擎為採用向量的演算法提供了高達5倍的運算密度。自行調適引擎提供靈活的客製運算和資料移動,而純量引擎提供了複雜的軟體支援(圖2)。

圖3則說明了 AI 引擎介面分塊到2D陣列的組成。

每個AI引擎分塊包括用於定點和浮點運算的向量處理器、純量處理器、專用程式和資料記憶體、專用AXI資料移動通道,以及DMA和鎖止。AI引擎是一組單指令多資料(SIMD)和超長指令字(VLIW),提供多達6路指令並行性,包括每個時脈週期兩/三次純量運算,兩次向量載入和一個次寫操作及一次定點或浮點向量運算。
AI引擎陣列針對即時DSP和AI/ML運算進行了最佳化,通過專用資料和指令記憶體、DMA、鎖止和軟體工具的組合提供確定性時序。專用資料和指令儲存是靜態的,消除了由於緩存失敗和相關填充而產生的不一致性。
簡而言之,AI引擎的目標和目的來自使用DSP和AI/ML的運算密集型應用。其他市場需求包括更高的開發人員生產力與抽象級別,這些都推動了開發工具的發展。AI引擎的開發旨在提供四個主要優勢:
1.與運算密集型應用的PL運算相比,每個晶片面積的運算容量提高3到8倍。
2.與PL中達到的相同功能相比,能將運算密集型功耗降低50%。
3.提供確定性、高效能的即時DSP功能。
4.顯著改善開發環境並提高設計人員的工作效率。
AI引擎原始圖像分塊架構細節
要想真正掌握AI引擎的巨大功能,必須對其架構和功能有一個大致的瞭解。圖4中顯示的AI引擎分塊提供了每個分塊中資源的詳細運算,包括:
.專用的16KB指令記憶體和32KB RAM
.32b RISC純量處理器
.512b定點和512b浮點向量處理器,帶有相關的向量暫存器
.同步處理常式(Synchronization Handler)
.追蹤和除錯

透過使用專用AXI總線路由和直連相鄰AI引擎分塊的組合,將具有專用指令和資料記憶體的AI引擎與其他AI引擎分塊互聯。針對資料移動,專用DMA引擎和鎖止可直接連接專用AXI匯流排連接、資料移動和同步。
運算元精確支援
向量處理器由整數和浮點單元組成。支援8位元、16位元、32位元和單精確度浮點(SPFP)的運算元。對於不同的運算元,每個時脈週期的運算元都會發生變化,如表1所示。
指令和資料並行
通過指令級和資料級並行性落實多級並行。指令級並行性如圖5所示。對於每個時脈週期、兩個純量指令、兩個向量讀取、一個單向量寫入和單向量指令執行的6路VLIW。

資料級並行是通過向量級操作達到的,其中可以在每個時脈週期的基礎上操作多組資料,如表1所示。
確定性效能與連線性
AI引擎架構是為即時處理應用開發的,這些應用需要確定性的效能。兩大關鍵的架構特性確保了確定性的時間:
.專用指令和資料記憶體
.專用連線性與DMA引擎配合使用,以利用AI引擎分塊之間的連線性進行預定資料移動
直接記憶體(DM)介面提供AI引擎分塊與其鄰近分塊間的直接存取,AI引擎分塊資料記憶體可以直接存取北、南和西。這通常用於在整個處理鏈產生和/或消耗資料的同時,將結果移動到向量處理器或從向量處理器移開的結果。實施資料記憶體以落實「乒乓」緩存方案,將記憶體爭用對效能的影響降至最低。
最簡單的AI引擎到AI引擎資料移動形式是通過直接相鄰AI引擎分塊之間的共用記憶體。但是,當分塊距離較遠時,AI引擎分塊需要使用AXI-Streaming資料流程。AXI-Streaming連接是由AI引擎編譯器工具根據資料流程圖進行預定義和編程的,這些串流介面也可用於直接與PL和NoC連接(圖6)。

AI引擎和PL連線性
Versal產品組合的主張之一是能夠在自行調適引擎中使用AI引擎陣列和可編程邏輯。這一資源組合為在最佳資源、AI引擎、自行調適引擎或純量引擎中,讓功能提供了極大的靈活性。圖7顯示了AI引擎陣列和可編程邏輯之間的連接,稱為「AI引擎陣列介面」。AXI-Streaming連接存在於AI引擎陣列介面的每一側,並將連接擴展到可編程邏輯中,並分別擴展到網路單晶(NoC)。

在每個AI引擎分塊中整合了控制、除錯和追蹤功能,為除錯和效能監控的最佳化提供了可視性。透過Versal產品組合中引入的高速除錯埠,可以存取除錯功能。
AI引擎/可編程邏輯運行對比
AI引擎目標和目的章節提供了是否能滿足應用和市場需求所需的指標。可以通過在PL和AI引擎中運行4G和5G基地台來測算架構的有效性。結果總結表明,採用AI引擎的解決方案可以提供以下:
.與在相同製程節點上的PL中運行的相同功能相比,晶片面積要小3~8倍
.功耗約為PL運算的50%
對於那些不適合向量運行的功能,AI引擎的效率要低得多,因此AI引擎通常不太適合此類功能。在這些情況下,PL將是更好的解決方案。AI引擎和 PL旨在作為運算對等體運行,二者各自處理與其優勢相匹配的功能。
PL非常適合資料移動、面向比特的功能和非採用向量的運算;還可以為非AI引擎支援的操作落實自訂加速器。PL和AI引擎相互補充,能夠形成更強大的系統級解決方案。在大多數運算密集型應用中,可編程邏輯仍然是一種非常有價值的資源;AI引擎/PL組合可提供靈活性、高運算效能和高頻寬資料移動和儲存。
採用AI引擎架構的因應密集運算需求
Versal元件包括三種類型的可編程處理器:Arm處理器子系統(PS)、可編程邏輯(PL)和AI引擎。各自提供用於滿足整個系統中不同部分的各種運算能力。Arm處理器通常用於控制面應用、作業系統、通訊介面,以及更低階或更複雜的運算。PL執行資料操作和傳輸、非採用向量的運算和連接。AI引擎通常用於向量運算中的運算密集型功能。
圖8提供了Versal元件的高階視圖,其中AI引擎陣列位於元件頂部。直接和通過網路單晶片(NOC)支援AI引擎陣列和PL之間的連接。

近年來,半導體業者如賽靈思,非常重視使用高階語言(HLL)來幫助提高元件開發的抽象級別。Versal架構有三個存在根本性差異可編程元素:PL、PS和AI引擎。這三個都可以使用C/C++進行程式設計。
使用採用x86的模擬環境,AI引擎模擬可以具備功能性或迴圈精確性。對於系統級模擬,可以使用支援所有三個處理域的System-C虛擬平台。
開發環境中的關鍵元素是支援DSP和無線功能、ML和AI、線性代數和矩陣數學的AI引擎庫。這些函式庫針對效率和效能進行了最佳化,使開發人員能夠充分利用AI引擎功能。
AI引擎應用
AI引擎針對運算密集型應用進行了最佳化,特別是數位訊號處理(DSP)和一些人工智慧(AI)技術,如機器學習(ML)和5G無線應用。
使用AI引擎 數位訊號處理器效能升
即時 DSP 廣泛用於無線通訊。賽靈思比較了經典窄頻和寬頻無線電設計原理、大規模MIMO以及頻寬和數位前端概念的落實,驗證了AI引擎架構非常適合構建無線解決方案。
在Versal元件的一部分中運行了100MHz 5通道LTE20無線。五個16b輸入資料通道以30.72 MSPS的速率進行流傳輸,並在89抽頭通道濾波器中處理。然後使用兩級半帶濾波器(23和11抽頭)對訊號進行四次上採樣,得到122.88 MSPS的取樣速率。
然後將上採樣流與直接數位綜合(DDS)正弦/余弦波函數混合並求和。另外兩個半帶濾波器(47和27抽頭)進行四次上採樣,產生491.52 MSPS輸入流,以達到波峰因數降低(CFR)功能。由41抽頭濾波器提供的五上/四下分數速率變化,導致614.4 MSPS輸入取樣速率達到數字預失真(DPD)功能要求。
在PL中運算峰值檢測器/比例查找(PD/SF)電路;491.52 MSPS DUC的輸出和混合器級包括其輸入之一,而CFR第二級提供其第二輸入。在PL中運行的 PD/SF電路能高效利用資源;相反,如果在AI引擎中運行,則資源效率低下。對於為設計的不同功能塊利用最佳資源而採取的架構決策,這提供了很好的說明(圖9)。

圖9.搭載DSP的100MHz 5通道LTE20無線解決方案
DPD功能需要定期重新運算係數。使用模數轉換器(ADC)對來自發送數模轉換器(DAC)輸出的回饋路徑進行採樣,並進行緩緩存。將緩存的樣本資料集傳遞給PS,並用於每秒十次運算一組新的DPD係數。使用網路單晶片和AXI匯流排互聯將新係數集寫回DPD。
機器學習與AI引擎
在機器學習中,卷積DAC神經網路(CNN)是一類深度前饋人工神經網路,最常用於分析視覺圖像。隨著電腦被用於從自動駕駛車輛到視訊監控以及圖像和視訊的資料中心分析等各種應用,CNN變得至關重要。CNN提供了技術突破,使視覺圖像辨識的可靠性足夠精確,可用於安全地引導車輛。
CNN技術尚處於起步階段,幾乎每週都會公布新的突破。該領域的創新步伐令人震驚,這意味著未來幾年內可能會支援新型、以前無法實現的應用。然而,CNN面臨的挑戰在於需要大量的運算,通常需要多個TeraOPS。AI引擎經過最佳化,能夠通過低成本、高能效的方式提供這一運算密度。
採用CNN/DNN覆蓋開發機器學習引擎
賽靈思正在開發採用AI引擎的機器學習推論引擎,並將作為應用覆蓋來應用。可編程邏輯用於有效地移動和管理資料。AI引擎應用覆蓋提供了一個經定義的結構,用於運行諸多主流CNN/DNN網路所需的運算和其他操作,例如ResNet、GoogLeNet和AlexNet。
從用戶的角度來看,覆蓋方法具有許多優點,包括隨著更新的網路架構的出現而進行修改的能力。AI引擎和PL的可編程組合提供了一個高效且非常靈活的平台,可隨著ML應用空間的發展而增長和擴展。
將AI引擎CNN/DNN覆蓋用於資料中心應用,能夠加速ML網路推論和嵌入式系統。整合是將解決方案例化為用戶整體設計的簡單問題。然後使用 TensorFlow或Caffe開發CNN/DNN網路,並將其編譯成在AI引擎CNN/DNN 覆蓋上運行的可執行程式。
AI引擎實現高效能運算
AI引擎代表了一類新的高效能運算。AI引擎整合在Versal類元件中,可與PL和PS完美結合,在單個賽靈思ACAP中落實高複雜度系統。即時系統需要確定性行為,其中AI引擎通過結合專用資料和編程記憶體、DMA和鎖止以及編譯器工具等架構特性提供上述行為。
與傳統的可編程邏輯DSP和ML運算相比,AI引擎的晶片面積運算密度提高了 3到8倍,同時降低了50%的功耗。C/C++程式設計範例提高了抽象級別,並承諾顯著提高開發人員的工作效率。
從具有30個AI引擎和80K LUT的小型元件到具有400個AI引擎和近100萬個LUT的元件,通過一系列元件提供系統效能可擴展性。這些元件之間的封裝尺寸相容性使產品系列內的遷移能夠滿足不同的效能和價格目標。