范阿冬,秦曉衛(wèi),戴旭初
(中國(guó)科學(xué)技術(shù)大學(xué)電子工程與信息科學(xué)系 合肥 230027)
基于矢量處理器的可編程并行MIMO檢測(cè)器設(shè)計(jì)
范阿冬,秦曉衛(wèi),戴旭初
(中國(guó)科學(xué)技術(shù)大學(xué)電子工程與信息科學(xué)系 合肥 230027)
針對(duì)部分層間并行球形譯碼(PIPSD)算法的特點(diǎn),基于超長(zhǎng)指令字(VLIW)和單指令多數(shù)據(jù)(SIMD)混合結(jié)構(gòu)的矢量處理器原型,合理安排處理器結(jié)構(gòu)參數(shù),選擇合適的寄存器數(shù)目和長(zhǎng)度。根據(jù)算法和結(jié)構(gòu)的相互作用特點(diǎn),挖掘算法內(nèi)在的數(shù)據(jù)并行性和指令并行性,設(shè)計(jì)高效的指令集和相應(yīng)的功能單元,軟硬件協(xié)同優(yōu)化VLIW分布,在支持多種配置的基礎(chǔ)上盡可能減小執(zhí)行周期數(shù),提高譯碼吞吐率,從而設(shè)計(jì)出高效的基于專用指令集矢量處理器的可編程并行MIMO檢測(cè)器。
多天線檢測(cè); 單指令多數(shù)據(jù); 矢量處理器; 超長(zhǎng)指令字
多輸入多輸出(multiple input multiple output,MIMO)被廣泛應(yīng)于移動(dòng)通信系統(tǒng)中,然而MIMO技術(shù)在成倍提高系統(tǒng)數(shù)據(jù)速率的同時(shí),也使得接收端復(fù)雜度呈指數(shù)增長(zhǎng)[1]。另一方面,無(wú)線通信的標(biāo)準(zhǔn)也越來(lái)越要求MIMO具有支持不同配置模式的能力,如LTE-A中要求能夠支持最多8天線及64QAM調(diào)制的配置模式[2]。因此,能夠支持多種配置的靈活可編程MIMO檢測(cè)器將成為未來(lái)無(wú)線通信終端設(shè)備必不可少的組成部分。
數(shù)字通信飛速發(fā)展的同時(shí)也對(duì)硬件實(shí)現(xiàn)平臺(tái)的靈活性、可配置和可重用性提出了更高要求。通用標(biāo)量處理器或DSP的處理能力不足,專用IC電路(application specific integrated circuit, ASIC)以及FPGA的靈活性又不夠[3],而針對(duì)特定目標(biāo)應(yīng)用設(shè)計(jì)的專用指令集處理器(application specific instructionset processor, ASIP),既能夠針對(duì)該應(yīng)用相應(yīng)地優(yōu)化結(jié)構(gòu)與設(shè)計(jì)特殊指令以提供較強(qiáng)的處理能力,又能夠以可編程和可擴(kuò)展指令集的特點(diǎn)提供很好的靈活性,因此可以很好地適應(yīng)新型應(yīng)用的要求[4]。文獻(xiàn)[5]針對(duì)MMSE-IC檢測(cè)算法設(shè)計(jì)的EquiASIP,可以支持2*2和4*4天線配置,以及QPSK,16QAM和64QAM等調(diào)制階數(shù)配置下的MIMO檢測(cè);文獻(xiàn)[6]則針對(duì)MMSE算法設(shè)計(jì)了可編程的多模MIMO檢測(cè)器FLEXDET,這些都是使用專用指令集處理器設(shè)計(jì)MIMO檢測(cè)器的典型例子。
本文基于支持相鄰層之間同時(shí)計(jì)算的部分層間并行球形譯碼(partial inter-layer parallel sphere decoder, PIPSD)算法[7],分析算法中數(shù)據(jù)并行性和指令并行性,基于矢量處理器架構(gòu)原型,設(shè)計(jì)寄存器堆,功能單元和相應(yīng)的指令集,并分析程序特點(diǎn)以優(yōu)化VLIW分布,從而完成高效的可編程并行MIMO檢測(cè)器的設(shè)計(jì)。
1.1 系統(tǒng)模型
考慮發(fā)射和接收天線數(shù)目分別為Nt和Nr(設(shè))的MIMO系統(tǒng),其系統(tǒng)模型可表示為:
式中, yc和 sc分別表示復(fù)數(shù)形式的接收信號(hào)和發(fā)射信號(hào)向量; nc為接收機(jī)噪聲向量;Hc是Nr×Nt的信道增益矩陣。
在各種MIMO檢測(cè)算法[8]中,以K-best算法[9]為代表的廣度優(yōu)先球形譯碼算法以其優(yōu)良的性能、較低的復(fù)雜度以及便于硬件實(shí)現(xiàn)的特點(diǎn)獲得廣泛應(yīng)用。而盡管廣度優(yōu)先球形譯碼算法很容易挖掘出每一層內(nèi)的數(shù)據(jù)并行性,從而加快處理速率,然而“層間搜索為串行”的特點(diǎn)成為了限制譯碼速率進(jìn)一步提高的瓶頸。
1.2 PIPSD算法簡(jiǎn)介
為了進(jìn)一步發(fā)掘?qū)娱g的并行性,PIPSD算法引入一種新的實(shí)數(shù)檢測(cè)模型[10],即式(1)中信道矩陣Hc的一種新的實(shí)數(shù)形式,為:
該矩陣經(jīng)過(guò)QR分解之后得到的上三角矩陣R的奇數(shù)行的對(duì)角線元素下一個(gè)元素總是零,即:
這意味著在對(duì)每一層計(jì)算分支度量值并進(jìn)行節(jié)點(diǎn)選擇的過(guò)程中,從第一層開(kāi)始每相鄰兩層之間是相互獨(dú)立的,可以同時(shí)進(jìn)行計(jì)算,而不同的兩層與兩層之間仍為串行,因此稱為“部分層間并行”。
對(duì)第2k+1層的每一個(gè)候選節(jié)點(diǎn),在2k層和2k-1層的子節(jié)點(diǎn)的度量值時(shí)進(jìn)行局部排序,并分別選擇出m2k和m2k-1個(gè)候選節(jié)點(diǎn)(m2k和m2k-1稱為對(duì)應(yīng)層的擴(kuò)展系數(shù))。這個(gè)過(guò)程稱為“局部排序”。第2k+1層的不同節(jié)點(diǎn)并行地執(zhí)行該過(guò)程。
對(duì)第2k+1層的每一個(gè)候選節(jié)點(diǎn),將第2k層和第2k-1層局部排序得到的候選節(jié)點(diǎn)直接排列組合得到候選的部分節(jié)點(diǎn)路徑,這個(gè)過(guò)程稱為“快速組合”。
應(yīng)用層間并行計(jì)算,同時(shí)采用局部排序與快速組合等手段,便可以得到完整的PIPSD檢測(cè)算法。圖1給出了PIPSD搜索過(guò)程的一個(gè)示例,其中天線配置為2×2,調(diào)制方式為16QAM,擴(kuò)展系數(shù)向量為m =[1,1,2,2]。圖中實(shí)線代表當(dāng)前層的幸存節(jié)點(diǎn),虛線代表被剪除的節(jié)點(diǎn)。
圖1 PIPSD算法搜索樹(shù)結(jié)構(gòu)示例
1.3 PIPSD算法實(shí)現(xiàn)分析
從具體實(shí)現(xiàn)的角度對(duì)目標(biāo)算法進(jìn)行分析,PIPSD算法的代碼結(jié)構(gòu)分析如圖2所示,圖中小三角形代表順序執(zhí)行,圓圈箭頭代表循環(huán)(后面括號(hào)中的是循環(huán)次數(shù)),重疊框代表并行操作(對(duì)應(yīng)指令級(jí)并行),陰影框代表矢量化操作(對(duì)應(yīng)數(shù)據(jù)級(jí)并行)。
從圖2中可以看出PIPSD算法包含了豐富的并行性,計(jì)算路徑度量的過(guò)程中可以將各個(gè)路徑組合成矢量并行計(jì)算,局部排序和快速組合過(guò)程中各個(gè)路徑之間也具有獨(dú)立性,樹(shù)搜索過(guò)程中奇數(shù)層和偶數(shù)層并行計(jì)算更使得并行性得以成倍提高。
圖2 PIPSD算法代碼結(jié)構(gòu)分析
基于矢量處理器的總體設(shè)計(jì)流程如圖3所示,首先分析算法結(jié)構(gòu),找出算法中的數(shù)據(jù)并行性,分析算法的指令需求,初步確定處理器的總體結(jié)構(gòu)和功能單元,實(shí)現(xiàn)之后再進(jìn)行結(jié)構(gòu)參數(shù)調(diào)整和性能優(yōu)化。
圖3 基于矢量處理器的總體設(shè)計(jì)流程
圖4描述了整個(gè)基于矢量處理器的開(kāi)發(fā)流程中涉及到的工具鏈的設(shè)計(jì)流[11]。開(kāi)發(fā)過(guò)程分為兩個(gè)抽象層:LISA (language of instruction-set architecture)抽象層主要是使用LISA語(yǔ)言設(shè)計(jì)處理器結(jié)構(gòu)和指令集,編寫(xiě)匯編程序并完成邏輯功能的仿真驗(yàn)證,開(kāi)發(fā)環(huán)境是Synopsys Processor Designer開(kāi)發(fā)套件;HDL(hardware description language)抽象層則是生成真實(shí)的硬件語(yǔ)言描述,并在實(shí)際的FPGA硬件環(huán)境中運(yùn)行驗(yàn)證。
圖4 基于矢量處理器的工具鏈設(shè)計(jì)
PIPSD算法在層內(nèi)具有數(shù)據(jù)并行性和指令并行性,在層間具有兩層同時(shí)計(jì)算的并行性,充分發(fā)揮該并行性有賴于相應(yīng)硬件平臺(tái)的支撐。為此設(shè)計(jì)以矢量操作為特點(diǎn),支持兩層同時(shí)計(jì)算,并針對(duì)PIPSD算法特點(diǎn)進(jìn)行優(yōu)化的專用指令集矢量處理器。
3.1 矢量處理器總體架構(gòu)
矢量處理器總體架構(gòu)如圖5所示,處理器采用基于精簡(jiǎn)指令集(reduced instruction set computer, RISC)的VLIW+SIMD架構(gòu)原型[12]。VLIW對(duì)應(yīng)控制通路中的并行性(指令級(jí)并行),SIMD對(duì)應(yīng)數(shù)據(jù)通路中的并行性(數(shù)據(jù)級(jí)并行)。
圖5 基于矢量處理器的可編程并行MIMO檢測(cè)器總體結(jié)構(gòu)
所設(shè)計(jì)處理器的最基本結(jié)構(gòu)可分為系統(tǒng)單元、功能單元、寄存器堆和存儲(chǔ)系統(tǒng)。其中系統(tǒng)單元包括指令地址生成單元PAGU、取指令單元IFEU、指令譯碼與分發(fā)單元IDDU等。PAGU和IFEU用于生成正確的下一條指令地址并從程序寄存器中取出對(duì)應(yīng)的VLIW指令;IDDU將上述指令譯碼并分發(fā)到對(duì)應(yīng)的IR(指令寄存器)。存儲(chǔ)系統(tǒng)用于存放代碼和數(shù)據(jù)。圖5中共有8個(gè)VLIW指令通路(VLIW#0~VLIW#7),每個(gè)指令通路由對(duì)應(yīng)的指令寄存器(IR#0~I(xiàn)R#7)與圖中位于其正下方的功能單元組成,如VLIW#0由IR#0和控制單元CTLU以及標(biāo)量運(yùn)算單元SALU組成,以此類推。
3.2 SIMD優(yōu)化及寄存器設(shè)計(jì)
采用矢量寄存器進(jìn)行數(shù)據(jù)運(yùn)算是矢量處理器的主要特點(diǎn),同時(shí)也是SIMD特性的主要體現(xiàn)。合理的設(shè)計(jì)矢量寄存器的長(zhǎng)度(即SIMD長(zhǎng)度, 單位為數(shù)據(jù)單元的個(gè)數(shù))關(guān)系到矢量處理器的資源和執(zhí)行效率,而SIMD長(zhǎng)度主要由目標(biāo)應(yīng)用中數(shù)據(jù)并行性決定。
表1統(tǒng)計(jì)了不同系統(tǒng)配置(天線數(shù)目和調(diào)制階數(shù))下使用PIPSD算法涉及到的主要矢量長(zhǎng)度(輸入矢量長(zhǎng)度、星座矢量長(zhǎng)度、幸存路徑數(shù)和擴(kuò)展路徑數(shù))。表中擴(kuò)展系數(shù)矢量是在該配置下的典型選擇,表格中采用了簡(jiǎn)化記法,省略號(hào)表示后面全為1,如第5行4×4 16QAM配置下的擴(kuò)展系數(shù)向量實(shí)際上是[4,4,1,1,1,1,1,1]。
表2是對(duì)表1中出現(xiàn)的所有數(shù)據(jù)矢量長(zhǎng)度進(jìn)行統(tǒng)計(jì),由統(tǒng)計(jì)結(jié)果可以看出長(zhǎng)度分別為4,8,16,64的矢量的需要頻次較高。因此本文在處理器中設(shè)計(jì)4種長(zhǎng)度的矢量寄存器就可以精確滿足絕大部分需求,其余長(zhǎng)度則可以通過(guò)補(bǔ)零或者分段的方式實(shí)現(xiàn)。注意由于每個(gè)數(shù)用16 bit表示,寄存器堆中的實(shí)際比特長(zhǎng)度要將SIMD長(zhǎng)度再乘以16。表3是對(duì)不同的寄存器堆(包括標(biāo)量寄存器堆)進(jìn)行命名,圖5中的寄存器堆中的命名是相對(duì)應(yīng)的。
表1 不同配置下需要的SIMD長(zhǎng)度
表2 SIMD長(zhǎng)度統(tǒng)計(jì)結(jié)果
表3 不同寄存器堆命名及對(duì)應(yīng)長(zhǎng)度
3.3 功能單元設(shè)計(jì)
功能單元是處理器進(jìn)行運(yùn)算和控制的功能實(shí)體,如圖5所示分布在各個(gè)VLIW通路中,不同VLIW通路中的功能單元可以同時(shí)執(zhí)行,從而實(shí)現(xiàn)指令級(jí)并行。
表4列舉了主要功能單元的功能描述以及對(duì)應(yīng)的指令。SALU(標(biāo)量運(yùn)算單元)主要完成標(biāo)量加減、移位、邏輯運(yùn)算等;CTLU(控制單元)主要完成循環(huán)控制及條件跳轉(zhuǎn)等操作;VALU(矢量運(yùn)算單元)、VMUL(矢量乘法單元)和VMAC(矢量乘累加單元)矢量的加減和乘法運(yùn)算,對(duì)于每種長(zhǎng)度的矢量的運(yùn)算都有對(duì)應(yīng)的指令;RTU(寄存器轉(zhuǎn)換單元)主要是在5種不同長(zhǎng)度的寄存器中進(jìn)行轉(zhuǎn)換,如將短矢量擴(kuò)展為長(zhǎng)矢量,或者從矢量中提取一個(gè)標(biāo)量元素等;LSTU(局部排序單元)用于完成PIPSD算法中的層搜索過(guò)程中的局部排序;GSTU(全局排序單元)用于全局排序。
表4 主要功能單元描述
3.4 專用指令集設(shè)計(jì)
指令集的設(shè)計(jì)與功能單元的設(shè)計(jì)是相對(duì)應(yīng)的,指令在硬件上是通過(guò)功能單元實(shí)現(xiàn)的,功能單元的使用在匯編程序中也就表現(xiàn)為對(duì)應(yīng)的指令。根據(jù)圖2算法實(shí)現(xiàn)結(jié)構(gòu)的需求,結(jié)合圖5的硬件結(jié)構(gòu)(特別是寄存器堆結(jié)構(gòu))設(shè)計(jì)相應(yīng)的指令。表5中列出了部分指令作為示例。
表5 專用指令集部分指令示例
3.5 軟硬件協(xié)同VLIW優(yōu)化
VLIW指令級(jí)并行是該處理器的重要特征,同時(shí)也是發(fā)揮PIPSD算法兩層并行計(jì)算優(yōu)勢(shì)的重要保證。研究最優(yōu)的VLIW配置方案,需要協(xié)同考慮硬件結(jié)構(gòu)與目標(biāo)算法的匯編應(yīng)用程序。在設(shè)計(jì)VLIW多發(fā)射架構(gòu)時(shí),主要是將功能單元合理地分布于各個(gè)VLIW通路。為了進(jìn)一步優(yōu)化功能單元的分布,減少執(zhí)行周期數(shù),同時(shí)提高資源利用率,本文將從層間并行性支持、功能單元的使用頻率以及功能單元間數(shù)據(jù)依賴關(guān)系幾個(gè)方面綜合考慮。
3.5.1 層間并行性支持
從圖2的算法實(shí)現(xiàn)分析中可以看出,PIPSD算法的最主要計(jì)算量集中于樹(shù)搜索部分,樹(shù)搜索部分的最大特點(diǎn)就是相鄰兩層同時(shí)計(jì)算,為了充分發(fā)揮該并行特征,將層計(jì)算涉及到的主要功能模塊(即VALU,VMUL,VMAC和LSTU)從邏輯上組成層計(jì)算單元,并在不同的VLIW通路中設(shè)置兩份。其余的功能單元按照分類將其分布到不同的VLIW通路中,得到VLIW初步分布如圖6所示。
圖6 VLIW初步分布
3.5.2 功能單元使用頻率
使用頻次高的功能單元可以在不同的VLIW通路中多設(shè)置,以便盡可能并行執(zhí)行;而使用頻次較低的功能單元?jiǎng)t可以經(jīng)適當(dāng)組合放到一個(gè)VLIW通路中,以便提高資源利用效率。
各種配置模式下完整PIPSD匯編程序中各功能單元的使用頻率的統(tǒng)計(jì)結(jié)果如圖7所示。
圖7 各個(gè)功能單元的使用頻率比較
從圖7中可以看出使用頻率最高的是寄存器長(zhǎng)度轉(zhuǎn)換單元RTU,這是由于5種不同長(zhǎng)度的寄存器會(huì)頻繁進(jìn)行切換;此外矢量加減運(yùn)算VALU、矢量乘法運(yùn)算VMUL和矢量乘累加運(yùn)算VMAC使用頻率也較高,而其余各功能單元使用頻率則相對(duì)較低。
圖8 數(shù)據(jù)依賴關(guān)系分析示例
3.5.3 功能單元間數(shù)據(jù)依賴關(guān)系
數(shù)據(jù)依賴關(guān)系指的是在程序執(zhí)行的過(guò)程中,后一條指令的源操作數(shù)是否依賴于前一條指令的目的操作數(shù),分別記為D(依賴)關(guān)系和ND(不依賴)關(guān)系。如果是ND關(guān)系,則這兩條指令可以并行執(zhí)行,反之則后一條指令必須等待前一條指令執(zhí)行完畢才能執(zhí)行。盡量將不具有數(shù)據(jù)依賴關(guān)系的操作分布在不同的VLIW通路,以便并行執(zhí)行;盡量將具有前后數(shù)據(jù)依賴關(guān)系的操作分布在相同的指令槽,以便減少因等待數(shù)據(jù)而造成該指令通路填充NOP(空指令)的情形。
圖8是以4×4天線16QAM調(diào)制為例,從該配置下PIPSD算法的匯編程序中摘取一個(gè)典型代碼片段(第6層的計(jì)算和排序)分析相鄰指令之間的數(shù)據(jù)依賴性。指令之間的數(shù)據(jù)依賴性實(shí)際上也就是功能單元之間的數(shù)據(jù)依賴性,如LSTU是依賴于VMAC的,因?yàn)槌绦蛑蠸ORT_WV指令緊挨著VMAC指令并且對(duì)其運(yùn)算結(jié)果進(jìn)行局部排序。
圖9 統(tǒng)計(jì)ND(不依賴)關(guān)系
圖10 統(tǒng)計(jì)D(依賴)關(guān)系
統(tǒng)計(jì)各種配置模式下完整PIPSD匯編程序中各個(gè)功能單元之間的ND關(guān)系和D關(guān)系,將得出的結(jié)果繪制成熱圖,分別如圖9和圖10所示。綜合圖7、圖9和圖10的統(tǒng)計(jì)結(jié)果,在圖6的基礎(chǔ)上進(jìn)一步優(yōu)化VLIW的分布:
1) 從圖9可以發(fā)現(xiàn)RTU自身之間的ND關(guān)系是最強(qiáng)的(即并行性最強(qiáng)),從圖10看出RTU之間的D關(guān)系相對(duì)較弱(即數(shù)據(jù)依賴性較弱),再結(jié)合圖7中RTU使用頻率最高的結(jié)論,將每個(gè)層計(jì)算單元中的RTU拆分成兩份并分布到兩個(gè)不同的VLIW通路中;
2) 從圖9可以看出VALU、VMUL和VMAC之間的ND關(guān)系較強(qiáng),從圖10中看出VALU與RTU之間,以及VMUL與RTU之間D關(guān)系較強(qiáng),因此將VALU、VMUL和VMAC分布在不同的VLIW通路,同時(shí)將VMUL與RTU,以及VALU與RTU分布在同一個(gè)VLIW通路。
3) 其余單元因?yàn)槭褂妙l率較低,在圖9和圖10中統(tǒng)計(jì)次數(shù)也較少,相對(duì)來(lái)看,GSTU與VMEM,以及SALU與CTLU的D關(guān)系較強(qiáng),SALU與VMEM的ND關(guān)系較強(qiáng),因此將SALU與CTLU安排在同一VLIW通路,將GSTU與VMEM安排在另一通路中。
綜合上述分析,最終可得出優(yōu)化之后的各VLIW通路中功能單元的分布情況如圖5所示。
首先將不同定點(diǎn)方案下設(shè)計(jì)的MIMO檢測(cè)器的誤碼率與算法的浮點(diǎn)仿真結(jié)果進(jìn)行比較,以驗(yàn)證該實(shí)現(xiàn)方案的正確性;然后從吞吐率和硬件資源消耗等角度,與近年來(lái)其他可編程MIMO檢測(cè)器方案進(jìn)行比較,以證明該實(shí)現(xiàn)方案的有效性。
4.1 定點(diǎn)誤差比較
圖11是以4×4天線16QAM調(diào)制為例,給出了不同定點(diǎn)長(zhǎng)度(均為“1位符號(hào)位+小數(shù)部分”方案)下所設(shè)計(jì)檢測(cè)器的誤碼率性能與浮點(diǎn)算法的比較結(jié)果。
圖11 定點(diǎn)誤差比較
從圖11中可以看出,采用8 bit以及12 bit定點(diǎn)時(shí),均有較大的性能誤差,采用16 bit定點(diǎn)方案時(shí),與浮點(diǎn)情形的性能誤差已經(jīng)幾乎可忽略不計(jì),因此在本設(shè)計(jì)中采用16 bit定點(diǎn)方案能夠保證譯碼的正確性。
4.2 實(shí)現(xiàn)性能比較
與傳統(tǒng)的專用電路實(shí)現(xiàn)不同,本文設(shè)計(jì)的MIMO檢測(cè)器是可編程的,并且能夠適應(yīng)多種不同的配置模式,因此在進(jìn)行性能比較時(shí)可與多??删幊痰慕鉀Q方案進(jìn)行比較。表6為本文與EquiASIP[5]和FLEXDET[6]的各項(xiàng)性能比較,它們均采用ASIC工藝綜合實(shí)現(xiàn)。
表6 多??删幊蘉IMO檢測(cè)器性能比較
表6中符號(hào)吞吐率的計(jì)算如式(4)所示;電路面積是ASIC門級(jí)綜合的等效門數(shù)。
同時(shí),為了將電路面積和符號(hào)吞吐率合成一個(gè)綜合指標(biāo),本文引入面積A和延時(shí)T(符號(hào)吞吐率的倒數(shù))的乘積(AT-Product)作為度量,其計(jì)算如式(5)所示,AT值越小,代表電路資源使用的效率越高。
觀察表6可以發(fā)現(xiàn),本文方案的符號(hào)吞吐率是其余方案的2~3倍,占用電路面積同時(shí)也大于后者,幾種方案的面積時(shí)延積相近,相比之下本文方案仍略有優(yōu)勢(shì)。因此本文方案成功實(shí)現(xiàn)了以電路資源換取處理速率,達(dá)到了并行化的初衷。
綜上所述,本文所設(shè)計(jì)實(shí)現(xiàn)方案不僅能夠達(dá)到算法所設(shè)計(jì)的性能,并且能在不降低電路設(shè)計(jì)效率的前提下,以合理的硬件資源消耗為代價(jià)將吞吐率提高2~3倍。
本文從實(shí)現(xiàn)角度深入分析PIPSD檢測(cè)算法的基礎(chǔ)上,基于矢量處理器架構(gòu)原型設(shè)計(jì)了可編程的并行MIMO檢測(cè)器,該檢測(cè)器不僅具有高效支持指令并行與數(shù)據(jù)并行的VLIW+SIMD結(jié)構(gòu),而且還根據(jù)算法特點(diǎn)設(shè)計(jì)了寄存器堆、功能單元以及相應(yīng)指令,并根據(jù)程序特點(diǎn)優(yōu)化VLIW分布,以最大限度減小運(yùn)行時(shí)間增大譯碼吞吐率。性能比較結(jié)果表明所設(shè)計(jì)可編程并行MIMO檢測(cè)器相比其他多??删幊蘉IMO檢測(cè)器設(shè)計(jì)方案,能夠在不同系統(tǒng)配置條件下保證算法譯碼性能的同時(shí),以合理的硬件資源消耗為代價(jià)將譯碼吞吐率提高2~3倍。
[1] PAULRAJ A J, GORE D A. An overview of MIMO communications-a key to gigabit wireless[J]. Proc IEEE,2004, 92(2):198-218.
[2] LI Qing-hua, LI Guang-jie, LEE W, et al. MIMO techniques in WiMAX and LTE: a feature overview[J]. IEEE Commun Mag, 2010, 48(5): 86-92.
[3] BURG A, BORGMANN M, WENK M, et al. VLSI implementation of MIMO detection using the sphere decoding algorithm[J]. IEEE J Solid-State Circuits, 2005,40(7): 1566-1577.
[4] FASTHUBER R, CATTHOOR F, RAGHAVAN P, et al. Energy-efficient communication processors[M]. Berlin:Springer, 2013.
[5] JAFRI A R, KARAKOLAH D, BAGHDADI A, et al. ASIP-based flexible MMSE-IC linear equalizer for MIMO turbo-equalization applications[C]//Proceedings of the Conference on Design, Automation and Test in Europe. Nice:IEEE, 2009.
[6] CHEN Xiao-lin, MINWEGEN A, HASSAN Y, et al. FLEXDET: Flexible, efficient multi-mode MIMO detection using reconfigurable ASIP[C]//The 20th Annual International Symposium on Field-Programmable Custom Computing Machines. Toronto: IEEE, 2012.
[7] FAN A-dong, QIN Xiao-wei, DAI Xu-chu. A partial inter-layer parallel sphere decoder for multiple-input multiple-output systems[C]//The 6th Sixth International Conference on Wireless Communications and Signal Processing. Hefei: IEEE, 2014.
[8] LARSSON E G. MIMO detection methods: How they work[J]. IEEE Signal Process Mag, 2009, 26(3): 91-95.
[9] GUO Z, NILSSON P. Algorithm and implementation of the k-best sphere decoding for MIMO detection[J]. IEEE J Sel Areas Commun, 2006, 24(3): 491-503.
[10] AZZAM L, AYANOGLU E. Reduced complexity sphere decoding via a reordered lattice representation[J]. IEEE Trans Commun, 2009, 57(9): 2564-2569.
[11] JAFRI A R, BAGHDADI A, JEZEQUEL M. ASIP design and prototyping for wireless communication applications[M]. Rijeka: INTECH Open Access Publisher, 2011.
[12] 張建正, 秦曉衛(wèi), 旸周武. 面向LTE-A終端軟基帶的矢量處理器設(shè)計(jì)[J]. 無(wú)線通信技術(shù), 2014, 03: 15-20. ZHANG Jian-zheng, QIN Xiao-wei, ZHOU Wu-yang. Vector processor for soft baseband terminals[J]. Wireless Communication Technology, 2014, 03: 15-20.
編 輯 稅 紅
ProgrammBabalsee dP aorna Vlleecl tMorI MPrOoc Desestoerctor Design
FAN A-dong, QIN Xiao-wei, and DAI Xu-chu
(Department of Electronic Engineering and Information Science, University of Science and Technology of China Hefei 230027)
Aimed at the features of PIPSD (Partial Inter-layer Parallel Sphere Detector) algorithm and based on the prototype of a hybrid architecture of VLIW (Very Long Instruction Word) and SIMD (Single Instruction Multiple Data) vector processor, a highly efficient parallel MIMO detector is designed by tuning the architecture parameters. The detector can be used to explore the intrinsic parallelism of the algorithm, customize the function units, instruction set, hardware/software co-optimizing VLIW distribution, and support multi-mode detection while minimizing execution cycles and maximizing decoding throughput.
MIMO detection; SIMD; vector processor; VLIW
TN929.5
A
10.3969/j.issn.1001-0548.2016.02.004
2015 - 03 - 12;
2015 - 04 - 17
國(guó)家973項(xiàng)目(2013CB329004);國(guó)家科技重大專項(xiàng)(2013ZX03003013-004)
范阿冬(1991 - ),男,主要從事無(wú)線通信多天線檢測(cè)技術(shù)方面的研究.