引言
第四代移動通信技術的標準已經(jīng)被提出并在繼續(xù)的完善和建立當中。相較于3G無線技術,4G采用MIMO-OFDM技術來提升數(shù)據(jù)速率,大大提高了數(shù)據(jù)處理能力;同時,標準對4G的數(shù)字信號處理量的要求比現(xiàn)有的3G方案高出數(shù)個數(shù)量級,而功耗僅允許增長2-5倍。因此,僅僅擴展3G DSP是不能滿足4G處理器的能耗比要求,必需設計新的處理器體系結構。目前國內(nèi)的兩大通信設備生產(chǎn)商華為和中興相繼開發(fā)了面向WINMAX及LTE等4G基站解決方案,但是其核心處理單元仍然采用國外的一些DSP芯片。
經(jīng)典的無線通信體系結構都是由面向特定應用的專用集成電路和數(shù)字信號處理器所構成的,無法提供任何的靈活性。軟件無線電(SDR)的原理描述是將無線通信設備的物理層處理工作全部或大部分交給可編程體系結構來完成??删幊痰腟DR解決方案相較于傳統(tǒng)的硬件解決方案具有非常明顯的優(yōu)點:(1)使得軟件開發(fā)和硬件設計工作同時進行,開發(fā)時間和成本相較于傳統(tǒng)的專用集成電路的來說大大降低。(2)在同一處理器體系結構上可以動態(tài)執(zhí)行不同的無線通信協(xié)議,這種多模式的工作向服務商提供的一個但可以應對多種市場需求或向用戶提供更多的功能。(3)系統(tǒng)的可編程性可以有效地降低維護成本。
雖然SDR系統(tǒng)增加了靈活性,降低了無線通信設備的開發(fā)成本。然而為了支持靈活性這一新特點,導致SDR系統(tǒng)功耗變得很高。未來4G無線協(xié)議瞄準的速率在100Mbps~1Gbps之間[4-5];因此,SDR解決方案在需要保證高吞吐量的同時,還要嚴格遵守無線通信設備的功耗約束。功耗效率對于SDR系統(tǒng)來說是異常重要的。
4G無線通信涉及的算法均有較高的數(shù)據(jù)并行需求。單指令多數(shù)據(jù)(SIMD)處理器可以在并行數(shù)據(jù)通路上處理向量數(shù)據(jù),并且能得到較好的能耗比。因此,SIMD處理器將會成為未來SDR系統(tǒng)的基礎。然而,SIMD的缺點也很明顯,即只有在數(shù)據(jù)通路被完全利用的情況下才達到高的處理性能。所以,本文在處理器設計中引入了變寬度的概念。結合實際硬軟件條件,通過深入研究針對下一代移動計算的高性能數(shù)字信號處理器,完成一種基于SDR的變寬度SIMD處理器體系結構的設計和相應模塊的設計仿真工作。
1 體系結構設計
1.1 4G終端物理層結構
現(xiàn)今已提出的支持3G WCDMA和802.11的物理層結構無法滿足4G系統(tǒng)高于3G系統(tǒng)兩個數(shù)量級數(shù)據(jù)吞吐量的需求。為支持千兆級的數(shù)據(jù)吞吐量要求,4G系統(tǒng)將三種技術整合到了一起:即正交頻分多址(OFDMA)技術、支持多天線并行的MIMO (Multiple-Input MulTIple-Output)技術和前向糾錯(LDPC)技術。4G無線終端的物理層結構如圖1所示,它主要由一個信道編碼解碼器、一個MIMO編碼解碼器和一個調(diào)制解調(diào)器所組成。MIMO是一種多天線技術,支持多天線的發(fā)射與接收,其中運用的STBC(空時塊碼)和V-BLAST(VerTIcal-BLAST)算法分別用于增強信號質量和擴充信道容量。
1.2 體系結構設計
基于SDR的變寬度SIMD處理器體系結構如圖2所示。該SIMD體系結構主要由4個模塊組成:(1)多個PE核,主要用于無線協(xié)議和視頻的相關算法的計算工作;(2)一個全局便簽式存儲器為PE核提供計算數(shù)據(jù);(3)一個全局控制器,用于協(xié)調(diào)各模塊之間的工作;(4)模塊間雙總線。
1.2.1 控制器
控制器完成對各個模塊的狀態(tài)控制和模塊的初始化工作,主要由一個標量路徑構成,包括初始化態(tài)和執(zhí)行態(tài)兩種狀態(tài)。當處于初始化態(tài)時,控制器呈現(xiàn)出2級流水,分別為取指階段和譯碼階段;初始化階段完成后,控制器進入執(zhí)行階段,此時將屏蔽取指階段,不再從指令存儲器中讀取指令,而是依據(jù)DMA、PE核的狀態(tài)信息,以及初始化時保存在控制器中的PE核間生產(chǎn)者消費者關系,產(chǎn)生相應的控制信號,用以協(xié)調(diào)各個PE核的協(xié)同工作。
1.2.2 DMA與Bus
DMA是不需要控制器干預的情況下獨立完成批量數(shù)據(jù)的傳輸工作??刂破髟诔跏蓟A段對DMA進行初始化;當控制器進入執(zhí)行階段后,DMA也將開始獨立傳輸數(shù)據(jù),并且當一批數(shù)據(jù)傳輸完成后,DMA的計數(shù)寄存器值將還原成初始化值,再次執(zhí)行之前的數(shù)據(jù)傳輸操作,從而重復為PE核提供計算數(shù)據(jù)。
本體系結構中的Bus結構為雙總線結構:一條總線為32位,其中每16位為一組,用于PE核和全局數(shù)據(jù)存儲器之間的數(shù)據(jù)通信;另一條總線為48位,也是以16位為一組,用于PE核間互聯(lián)。
1.2.3 全局便簽式存儲器
全局便簽式存儲器的主要功能是為PE核提供計算數(shù)據(jù),并接收PE核的計算結果。全局便簽式存儲器容量為128KB,字長為16位,具有一個讀端口和一個寫端口。當讀寫端口同時有效時,先讀后寫。讀寫地址線均為16位。
1.2.4 PE核
PE核主要由SIMD數(shù)據(jù)路徑、標量數(shù)據(jù)路徑、地址產(chǎn)生單元和局部存儲器4部分構成。SIMD數(shù)據(jù)路徑主要用于DSP算法的高強度計算,由64個計算lane組成。標量數(shù)據(jù)路徑主要處理程序中的標量指令和無法向量化的指令。地址產(chǎn)生單元用于產(chǎn)生訪問局部存儲器塊的地址;SIMD數(shù)據(jù)路徑中每組計算lane都有各自獨立的地址產(chǎn)生單元,所以一共有8個地址產(chǎn)生單元。局部存儲器大小為32KB,平分為bank0和bank1兩部分。同一時刻最多只允許一個bank接收數(shù)據(jù),最多只允許一個bank在為PE核的計算模塊提供計算數(shù)據(jù)。
1.3 工作模式
處理器設計中引入了變寬度的概念,即處理器可以支持多種向量寬度的算法,在支持窄向量寬度算法時,使用線程級并行性來充分利用硬件資源。從算法角度看,系統(tǒng)由幾個主要的算法所構成,由于每個PE核具有足夠強的計算能力,能獨立處理一個完整算法,所以算法在對數(shù)據(jù)進行處理的過程中彼此之間通信很少,基本上是一種生產(chǎn)者和消費者的關系。可以把這些算法當做不同的任務,分配到不同的處理器核上運行,這樣既可以有效地利用PE核的計算能力,又能很好地保證多核的并發(fā)處理。
以4G無線協(xié)議為例:4G無線物理層主要由調(diào)制解調(diào)器、MIMO編碼解碼器和信道編碼解碼器三部分組成。其中調(diào)制解調(diào)通過FFT和IFFT算法來實現(xiàn); V-BLAST算法和STBC算法分別用來提升通信速率和通信強度。LDPC算法完成前向糾錯部分的工作。每個算法的計算結果將作為下一個算法的計算數(shù)據(jù),所以算法之間是串行關系,整體上多個PE核組成了一條宏流水線。
這里,PE核扮演的是一種“軟ASIC”的角色。PE核的指令存儲器中裝載的算法是FFT算法,則此PE核將會完成FFT算法的計算操作。即當為PE中的指令存儲器載入不同的程序后,該PE核也將實現(xiàn)不同的算法。
2 仿真驗證
本文根據(jù)SIMD核取指、譯碼、執(zhí)行整個過程以及指令集設計(限于篇幅這里沒有介紹),采用硬件語言Verilog HDL對微體系各個部分進行了設計實現(xiàn)。綜合電路如圖3所示。
控制器流水線的主要工作是控制程序流,所以分支與跳轉占其工作負載的很大一部分。涉及到流水線的設計,數(shù)據(jù)冒險也需要考慮。這里通過兩個實例對幾個關系進行仿真,以驗證設計的正確性。
2.1 驗證實例1
匯編源程序:
addi r0,r1,4;
addi r0,r2,0;
bret r2,r1,3;
inc r2;
jnt -2;
inc r1;
這段程序的目的是為了驗證標量流水線的條件判斷類指令和無條件跳轉指令是否符合設計預期。仿真波形如圖4所示。從驗證波形可以看出,從0ns 時刻addi r0, r1, 4指令進入取指階段開始,一直到240ns時刻程序段執(zhí)行結束,整個運算過程結果都正確,最終寄存器r1的值變?yōu)?。2.2 驗證實例2
匯編源程序:
addi r0, r2, 0;
addi r0, r1, 100;
add r1, r2, r2;
loop r1, -1;
addi r0, r3, 5;
這一段程序的目的是為了驗證在4G 無線通信或視頻算法中常見的循環(huán)計算,標量流水線的loop指令就是專為應對這樣的計算所設計的。實例程序展示的是100以內(nèi)的自然數(shù)求和。仿真波形如圖5所示。
從圖5可以看出,首先將寄存器r1和寄存器r2的值分別初始化為100和0;執(zhí)行add r1, r2, r2指令,$r2 = $r2 + $r1。loop r1, -1指令判斷是否寄存器r1的值大于0,如果成立,則跳轉成立,寄存器r1值減1,跳轉到add r1, r2, r2指令繼續(xù)執(zhí)行,如此反復。最終寄存器r2值為100以內(nèi)的自然數(shù)的和5050,16進制表示為000013ba。循環(huán)結束,addi r0, r3, 5執(zhí)行,置寄存器r3值為5。兩個實例驗證波形都驗證了指令執(zhí)行的正確性。
3 總結
本文以4G無線通信這一學術熱點為研究對象,結合4G無線通信協(xié)議和高清視頻中所使用的算法,研究和設計了基于SDR的變寬度SIMD處理器體系結構,包括處理器的工作模式、PE核標量流水線。仿真結果驗證了該處理器體系結構設計的正確性。
下一步,本文將針對4G無線通信所涉及的算法進行并行處理,并對處理器進行并行處理實例驗證。