傳統(tǒng)數(shù)字信號處理器?(DSP)?的架構(gòu)在特定的信號處理計算應用中已經(jīng)顯得捉襟見肘。而超長指令字?(VLIW)?和單指令/多數(shù)據(jù)?(SIMD)?架構(gòu)的組合卻可提供高計算性能所需的并行吞吐量,其數(shù)據(jù)通常為16、24 和 32 位字寬。這非常適合語音/音頻和通信等應用中使用的算法。在前幾代 DSP 算法開發(fā)中,系統(tǒng)和軟件開發(fā)人員會在 MathWorksMATLAB??中開發(fā)系統(tǒng)算法,隨后再將算法移至 DSP,在轉(zhuǎn)移時,會將 MATLAB 的浮點數(shù)據(jù)類型輸出轉(zhuǎn)換為定點類型輸出。 DSP開發(fā)者通過定點數(shù)據(jù)來滿足循環(huán)和準確方面計算的需求,同時使硬件的使用和功耗降至最低水平。
利用浮點實現(xiàn)更高吞吐量
由于上市時間的需要,新的算法和計算利用自定義軟件算法以及新產(chǎn)品更激進的上市時間窗口來區(qū)分產(chǎn)品。當前系統(tǒng)可能跳過從浮點到定點的轉(zhuǎn)換步驟,而只保留在 DSP 上運行浮點。汽車 ADAS 和 RADAR/LiDAR 等較新應用要求在計算路徑的所有部分中都具有高精度的需求。在前端 FFT 計算中,較大的點 FFT(例如 4K、8K 和更高的點 FFT)無法在定點(溢出)保持位精度。因此,為了獲得最高性能則需要配合單精度或半精度浮點數(shù)據(jù)類型。
在各種汽車應用中,尤其是 ADAS、動力總成和馬達控制/管理中,用于更快/更流暢的系統(tǒng)響應的預測建模正變得越來越普遍。預測建模使用能夠基于各種輸入來預測結(jié)果的統(tǒng)計模型。這種實現(xiàn)方式的好處在于DSP 處理器可以運行高度復雜的模型,并且可以響應更廣范圍的傳感器和環(huán)境輸入并更快地生成輸出。機器學習算法對于匹配預測模型的狀態(tài)也很有幫助,該算法可以幫助學習預期的結(jié)果并進一步改善響應時間和輸出質(zhì)量。預測建模最好在基于線性代數(shù)的算法中使用單精度浮點來實現(xiàn),以確定計算數(shù)據(jù)的范圍和準確性。同時,可以將數(shù)學計算歸類為線性代數(shù)運算在 DSP 處理器上進行大量計算。
具有高性能處理的應用 - (例如每秒 10 吉比特數(shù)據(jù)速率的 5G 無線通信,以及每秒需要 200 吉比特以上數(shù)據(jù)吞吐量的汽車 ADAS、RADAR 和 LiDAR)都需要具有非常寬的向量計算能力,以及具備高度并行執(zhí)行能力的 DSP。這些新的 DSP 計算驅(qū)動因素改變了傳統(tǒng) DSP 內(nèi)核的架構(gòu)和指令集架構(gòu) (ISA) 要求。DSP 需要極高水平的計算吞吐量,并需同時具有高水平的單精度和半精度浮點計算。傳統(tǒng) DSP 處理器重點執(zhí)行定點數(shù)據(jù)類型處理,而增加的浮點單元在處理能力和功耗方面并非是最佳選擇。傳統(tǒng)的 DSP 處理器對線性代數(shù)的指令支持有限,對于矩陣轉(zhuǎn)置運算, 雖然提供 SQRT 和/或 1/SQRT 支持,但對于線性代數(shù)算法的完整范圍則必須對數(shù)學運算進行軟件仿真。
面向數(shù)據(jù)主導型世界的新一代DSP架構(gòu)
新一代的 DSP 內(nèi)核能滿足浮點和線性代數(shù)數(shù)據(jù)吞吐量的計算要求。該DSP 是 DesignWare? ARC? VPX5 處理器 IP方案會在其中作為本機架構(gòu)的一部分來開發(fā)浮點和線性代數(shù)向量計算,并通過向量 SIMD 和 VLIW 架構(gòu)有效實現(xiàn)超高水平的并行處理。DesignWare ARC VPX5 處理器 IP ?具有四個并行執(zhí)行維度(圖 1)。
圖 1:在 DesignWare ARC VPX5 處理器 IP 上并行執(zhí)行的 4 個維度
第 1?維度:浮點的多 SIMD 計算引擎
基本向量數(shù)據(jù)長度為 512 位,從而可以對 8 位、16 位和 32 位數(shù)據(jù),或半精度和單精度浮點數(shù)據(jù)的數(shù)據(jù)單元進行 SIMD 計算。所有 SIMD 引擎都使用 512 位向量長度進行計算;這就確定了 ARC VPX5 處理器的計算能力上限。
對于 8 位、16 位和 32 位長度的整數(shù)數(shù)據(jù),有兩個 512 位 SIMD 計算引擎以及三個 ALU 處理單元。這為機器學習卷積運算(5x5、3x3 和 1x1)等算法提供了非常高的計算水平。
對于半精度和單精度浮點計算,有三個向量 SIMD 計算引擎,所有引擎都支持 512 位的最大向量長度。用于“常規(guī)”浮點向量運算的雙 SIMD 引擎,為包括FFT的DSP函數(shù)和矩陣運算等在內(nèi)的浮點向量運算提供了超高性能。
第三向量 SIMD 浮點引擎專用于線性代數(shù)數(shù)學函數(shù)。這種專用引擎允許卸載和并行計算數(shù)學函數(shù),將會在第 4 維度部分中進一步說明。
第 2維度:借助多任務發(fā)布 VLIW 實現(xiàn)靈活性
在 4 次發(fā)布 VLIW 方案中執(zhí)行靈活分配,使處理器能夠盡可能分配最多的并行操作。VLIW 方案的開發(fā)與軟件編譯器的開發(fā)工作實現(xiàn)了密切配合,因此編譯器會預先分配在原始 C 代碼程序中編譯的運算符。編譯器與 VLIW 架構(gòu)相結(jié)合,可以跨多個 SIMD 引擎并行執(zhí)行操作
例如,圖 2 顯示了編譯器如何能夠結(jié)合 VLIW 分配方案,僅使用兩個 VLIW 插槽即可實現(xiàn)跨三個浮點 SIMD 引擎的并行執(zhí)行,并且實現(xiàn)最佳的 VLIW 插槽分配和更小的指令代碼大小。因為兩個向量 SIMD 浮點引擎具有零周期插入延遲,所有可以在每個周期將向量數(shù)據(jù)加載到 SIMD 引擎中。線性代數(shù)向量 SIMD 引擎的插入延遲為四個周期,因此在加載數(shù)據(jù)之后,需要額外等待三個周期,直到可以加載新的向量數(shù)據(jù)為止。編譯器可以為這種不同的插入延遲預先分配 VLIW 插槽,從而在所有三個向量 SIMD 浮點引擎上提供有效的并行執(zhí)行。
圖 2:三個并行向量 FPU 執(zhí)行的編譯器分配
第 3?維度:可配置為單核、雙核及四核
DesignWare ARC VPX5 處理器 IP 與多個向量 SIMD 計算引擎并行,并帶有 VLIW 分配功能,?允許將單核擴展到雙核和四核配置。這樣可以根據(jù)需求將單核 VPX5 的計算性能提高一倍或三倍,以滿足更高的計算需求。DesignWare ARC MetaWare 開發(fā)工具完全支持跨多核配置的代碼編譯和執(zhí)行。此外,由于產(chǎn)品包含信號功能,所以可支持多核任務執(zhí)行和同步。
對于單核、雙核和四核配置,數(shù)據(jù)移動是 VPX5 產(chǎn)品的關鍵。有一個 2D 直接內(nèi)存訪問 (DMA) 引擎,可配置多達四個以上的通道,每個周期最多提供 512 位傳輸。DMA 可以在各個多核的數(shù)據(jù)存儲器之間、本地集群存儲器之間或在外部 AXI 總線的輸入/輸出之間并行移動數(shù)據(jù)。這種高性能 DMA 與 VPX5 處理器的高計算吞吐量相得益彰,使向量 SIMD 引擎可以不斷訪問每個內(nèi)核上與本地緊密耦合的向量數(shù)據(jù)存儲器中的新向量數(shù)據(jù)。
第 4?維度:線性代數(shù)計算
許多新一代算法使用依賴線性代數(shù)基本函數(shù)的數(shù)學方程式和計算來實現(xiàn)計算吞吐量。此類示例包括對象跟蹤和識別、預測建模以及一些篩選操作。在這種新的驅(qū)動趨勢之下,VPX 處理器在提供純粹用于線性代數(shù)的專用向量 SIMD 浮點計算引擎方面獨樹一幟。該引擎硬件加速了線性功能,例如除法、SQRT、1/SQRT、log2(x)、2^x、正弦、余弦和反正切,并在 SIMD 向量中予以執(zhí)行,從而提供了非常高的性能。
這對于性能數(shù)字有何影響?
借助四維度并行處理功能,DesignWare ARC VPX5 處理器 IP ?可滿足高吞吐量應用對浮點和線性代數(shù)處理的需求。與具有類似架構(gòu)的其他 DSP 處理器相比,該方案提供了業(yè)界領先的性能指標 - 例如,配置最高的 VPX5 每周期可提供 512 次半精度浮點運算1.5GHz 運行,相當于 768 GFLOP。此外,ARC VPX5 根據(jù)線性代數(shù)運算的使用情況,每周期可提供 16 次數(shù)學浮點計算。對于機器學習計算算法中使用的 8 位整數(shù)數(shù)據(jù),VPX5 每周期最多則可提供 512 個 MAC。
DesignWare ARC MetaWare 開發(fā)工具現(xiàn)已可支持VPX5處理器,該工具提供了完整的編譯器、調(diào)試和仿真平臺。這使開發(fā)人員能夠快速高效地將 C 代碼算法編譯到 VPX5 內(nèi)核中的處理引擎。循環(huán)等效仿真平臺讓開發(fā)人員可以自由評估循環(huán)計數(shù)性能,并檢查關鍵算法和程序的最佳性能。DesignWare ARC MetaWare 開發(fā)工具除了提供 DSP 庫之外,還提供線性代數(shù)和機器學習推斷 (MLI) 庫。這使得開發(fā)人員可以輕松地通過 API 接口將代碼移植到數(shù)據(jù)庫中,并很快達到最佳性能。在MLI 算法上則提供了各種基于神經(jīng)網(wǎng)絡的計算組件,以實現(xiàn)高性能軟件 AI 計算。
結(jié)語
DesignWare ARC VPX5 處理器 IP ?是新一代 DSP,用于滿足處理密集型應用的數(shù)據(jù)計算需求。浮點、AI 和線性代數(shù)計算算法的四個并行處理維度使 DesignWare ?ARC VPX5 處理器能夠為汽車 ADAS 傳感器節(jié)點(RADAR 和 LiDAR)、5G 新無線電 (NR) 通信基帶調(diào)制解調(diào)器、動力系統(tǒng)、引擎管理、機器人技術、馬達控制和 5G 汽車通信 (5G C-V2X) 等應用提供超高性能。VPX5 憑借行業(yè)領先的 512 FLOP/周期和針對線性代數(shù)的獨特 16 數(shù)學 FLOP/周期,為系統(tǒng)開發(fā)人員提供了性能滿足新一代高性能計算算法需求的 DSP。結(jié)合具有 DSP 和數(shù)學庫的 ARC MetaWare 開發(fā)工具,開發(fā)人員可以快速移植 C 代碼算法并獲得最佳性能,以加快產(chǎn)品上市時間。
作者:Synopsys ARC 處理器產(chǎn)品營銷經(jīng)理 Graham Wilson
?
評論