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