• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向大規(guī)模MIMO 檢測的粗粒度可重構(gòu)架構(gòu)設(shè)計

      2021-07-09 17:19:20劉陶然李杰
      現(xiàn)代計算機 2021年14期
      關(guān)鍵詞:數(shù)據(jù)流重構(gòu)架構(gòu)

      劉陶然,李杰

      (1.上海交通大學(xué)電子信息與電氣工程學(xué)院,上海 200240;2.上海航天測控通信研究所,上海 201109)

      0 引言

      大規(guī)模MIMO(Multi-Input Multi-Output,MIMO)是當(dāng)今5G 通信系統(tǒng)的核心技術(shù)。大規(guī)模MIMO 檢測是最為關(guān)鍵的信號處理任務(wù)之一。隨著通信技術(shù)的發(fā)展,其服務(wù)標(biāo)準(zhǔn),質(zhì)量需求也在不斷提升,這對用于大規(guī)模MIMO 算法的硬件架構(gòu)在面積效率、能量效率和靈活性等方面提出更高的要求。

      基于通用處理器的硬件結(jié)構(gòu)擁有較高的靈活性,但是能效比較低。ASIC 為定制化硬件,其高性能是以犧牲靈活性為代價,因而無法滿足大規(guī)模MIMO 領(lǐng)域的需求。FPGA 具有較好的硬件可編程能力,這一特性使得其在大規(guī)模MIMO 領(lǐng)域得到了廣泛應(yīng)用[1-3]。然而FPGA 細(xì)粒度的實現(xiàn)方式帶來更高的能耗需求。于是,基于粗粒度實現(xiàn)方式的CGRA(Coarse-Grained Recon?figurable Array,CGRA)以其非常高的面積效率、能量效率以及靈活性,成為大規(guī)模MIMO 領(lǐng)域硬件架構(gòu)新的研究方向。

      通用的CGRA[4-6]在處理大規(guī)模MIMO 算法時是低效的,因為其核心計算單元僅支持標(biāo)量操作,無法很好地適用于大規(guī)模MIMO 的向量類型操作,從而帶來大量的互聯(lián)、控制開銷。有研究[7]面向MIMO 算法提出了一種異構(gòu)的支持增強型向量計算方案的CGRA 架構(gòu),但是其全并行的訪存方式以及數(shù)據(jù)處理策略,使得其僅適用于傳統(tǒng)較小規(guī)模(4×4)的MIMO 算法,而非大規(guī)模MIMO。并且,現(xiàn)有可重構(gòu)架構(gòu)多采用處理器核與CGRA 相結(jié)合的指令流控制模式[4,8],雖然能夠?qū)崿F(xiàn)靈活控制,但是能耗較高。

      盡管現(xiàn)有技術(shù)通過計算和訪存優(yōu)化成功提高了吞吐性能,但其并未重視整體硬件資源、互聯(lián)和面積開銷的優(yōu)化。為此本文提出了一種基于數(shù)據(jù)流驅(qū)動的CGRA 架構(gòu),能夠以較低的硬件開銷實現(xiàn)有效的數(shù)據(jù)流控制與數(shù)據(jù)計算。

      1 算法分析及架構(gòu)優(yōu)化技術(shù)

      1.1 大規(guī)模MIMO信號檢測算法原理和特點

      在具有Nt個發(fā)射天線和Nr個接收天線(Nr>Nt)的大規(guī)模MIMO 系統(tǒng)中,接收信號可表示為:

      大規(guī)模MIMO 信號檢測是指利用接收信號y,和信道矩陣H,恢復(fù)出發(fā)送信號s的過程。將接受信號y與權(quán)重矩陣相乘即可得到估計的發(fā)射向量

      MMSE(Mini-Mental State Examination,MMSE)作為典型的線性檢測算法,定義預(yù)處理變量Gram 矩陣G=HHH和yMF=HHy,其中G是正定的埃爾米特矩陣,可以得到:

      公式(3)中逆矩陣通常通過迭代估計方式求得。定義矩陣M1,M2,向量v1,v2。表1 總結(jié)了常見迭代算法的核心算子及其乘除法計算量:

      表1 迭代求逆算法一次迭代下完整運算的乘除法計算量

      以Nr×Nt=128×8 的天線規(guī)模為例,得到矩陣和向量類操作的占比高達(dá)99%,特別是算法預(yù)處理部分Gram 矩陣和yMF向量的求解平均占比82%。這些算法特點要求硬件設(shè)計能夠有效支持矩陣和向量類操作,支持復(fù)數(shù)的高效計算,并且能夠以較低的硬件開銷支持?jǐn)?shù)據(jù)密集型計算。而傳統(tǒng)CGRA 無法同時滿足上述要求,為此本文將從以上算法需求出發(fā),設(shè)計基于數(shù)據(jù)流驅(qū)動的CGRA 架構(gòu)。

      1.2 基于反饋機制的數(shù)據(jù)流通信技術(shù)

      現(xiàn)有的粗粒度可重構(gòu)架構(gòu)多基于指令流驅(qū)動,其靈活性高但是會產(chǎn)生較大的能耗和控制開銷。為此本文研究數(shù)據(jù)流驅(qū)動模式,并提出了一種基于反饋機制的通信方式,實現(xiàn)自動化的數(shù)據(jù)流控制。

      圖1 展示了反饋機制的基本單元FBU(Feedback Unit,F(xiàn)BU),其數(shù)據(jù)傳遞受到單bit 的fb 反饋信號控制。反饋信號產(chǎn)生的原因在于訪存單元和存儲器的交互發(fā)生堵塞:當(dāng)陣列向存儲器發(fā)出寫請求但存儲器無法接收數(shù)據(jù)時,如果數(shù)據(jù)流沒有停止傳遞新數(shù)據(jù),則會造成數(shù)據(jù)丟失。同理,當(dāng)讀請求未被響應(yīng),PE 就可能會造成計算錯誤。為了解決數(shù)據(jù)流驅(qū)動的通信問題,反饋機制設(shè)置FBU 單元,并配合來自于后一級的fb 信號實現(xiàn)自動化控制。

      圖1 演示了在兩個FBU 之間執(zhí)行一個加法操作的數(shù)據(jù)流變化。在clk0,所有fb 均為0,使得clk1 時刻所有寄存器按順序存儲數(shù)據(jù)。在clk1,fb 輸入拉高,表示后續(xù)FBU 數(shù)據(jù)發(fā)生堵塞,于是clk2 時Reg_post1 數(shù)據(jù)保持不變,Reg_post0 存儲新數(shù)據(jù),同時fb 信號向前傳遞給fb_post。在clk3,fb 輸入仍為1,Reg_pre1 和Reg_post0 保持不變,同時fb_pre 也變?yōu)?,使得下個周期Reg_pre0 以及即將輸入進(jìn)來的數(shù)據(jù)保持不變。之后的幾個周期,fb 輸入置低,數(shù)據(jù)依次恢復(fù)向后傳遞。可以看到輸出數(shù)據(jù)未發(fā)生丟失,且輸出順序正確。在可重構(gòu)設(shè)計中,部分FBU 會根據(jù)配置跳過寄存器,此時fb 也要選擇不過寄存器的支路,保證控制無誤。

      圖1 基于反饋機制的數(shù)據(jù)流通信技術(shù)原理

      除反饋fb 信號外,數(shù)據(jù)流驅(qū)動模式還包括正向控制信號valid 和last。valid 置高表示數(shù)據(jù)有效,并用于訪存單元的控制。last 作為循環(huán)結(jié)束信號,控制執(zhí)行結(jié)束。

      1.3 高數(shù)據(jù)復(fù)用率的脈動陣列架構(gòu)設(shè)計

      正如1.1 小節(jié)中描述,算法預(yù)處理中求解Gram 矩陣和yMF向量占據(jù)核心計算。而Gram 矩陣由于其自身的共軛對稱性,如果采用傳統(tǒng)的脈動陣列結(jié)構(gòu)[12],不僅數(shù)據(jù)復(fù)用率低,還會造成訪存的浪費,增加能耗開銷。

      本文設(shè)計了高數(shù)據(jù)復(fù)用率的可重構(gòu)脈動陣列結(jié)構(gòu)。同時復(fù)用了Gram 矩陣的兩個矩陣輸入,并且將Gram 矩陣和yMF的輸入矩陣復(fù)用,實現(xiàn)二者并行計算。如圖2 所示,第一列PE 接收來自左側(cè)輸入的HH矩陣和來自上方的y向量,經(jīng)過PE 復(fù)數(shù)乘和自累加運算,得到y(tǒng)MF向量。輸入矩陣?yán)^續(xù)向右和向下傳遞,用于計算Gram 矩陣。其中第二列PE 用于計算Gram 對角線,后三列PE 用于求共軛和計算Gram 下三角。最終經(jīng)過LS 輸出可以得到完整Gram 矩陣。

      圖2 脈動陣列原理圖

      使用PEx,y[t]來表示第x行第y列的PE,在第t個周期的累加結(jié)果。假設(shè)每個PE的執(zhí)行周期相等,則第一列輸出表示為:

      第二列Gram 對角線輸出表示為:

      下三角元素輸出表示為:

      該架構(gòu)很好地解決了傳統(tǒng)脈動陣列處理MIMO 算法數(shù)據(jù)復(fù)用率低的問題,提升了硬件效率。

      2 數(shù)據(jù)流驅(qū)動的CGRA硬件結(jié)構(gòu)設(shè)計

      系統(tǒng)架構(gòu)如圖3 所示,由全局控制器、片上存儲以及四個PEA(Processing Elements Array,PEA)組成。其中PEA 采用異構(gòu)的結(jié)構(gòu),基本單元為用于計算的PE(Processing Elements,PE)和用于訪存的LS(Load Store,LS),通過Router(路由)形成互聯(lián)網(wǎng)絡(luò)。

      圖3 系統(tǒng)架構(gòu)圖

      2.1 適用于大規(guī)模MIMO的通用PE單元

      傳統(tǒng)的CGRA 在計算一個復(fù)數(shù)乘法操作時,至少使用6 個PE[8],每個PE 包括一個乘法器和一個通用ALU,并且需要大量互連開銷。而本文設(shè)計的支持復(fù)數(shù)計算的PE 可以降低一半以上的硬件開銷。

      如圖4(a)為本文設(shè)計的PE 單元,采用四級流水結(jié)構(gòu)。第一級為輸入寄存器單元,用于接收輸入數(shù)據(jù)和立即數(shù)配置字,并監(jiān)測操作數(shù)是否到齊,產(chǎn)生反饋信號。第二級為乘法單元,支持兩輸入乘法和自相乘兩種模式。第三級由支持16 種操作模式的主ALU 和精簡化的副ALU 組成。最后一級為累加單元和用于定點數(shù)處理的移位單元。

      圖4(b)即為累加單元,為了支持多種類型脈動陣列累加操作,該設(shè)計創(chuàng)新性的支持三種累加模式:乘累加(a×b+c)、自累加(∑(a×b)) 和立即數(shù)累加(a×b+imm),自累加模式為研究重點。圖中config(配置)信號用來控制累加模式,并決定自累加的初值是來自In2 輸入還是可配置的立即數(shù)。利用valid 控制信號以及異或門邏輯來檢測第一個到達(dá)的數(shù)據(jù),并開始執(zhí)行自累加運算。如果數(shù)據(jù)流發(fā)生中斷,有非valid數(shù)據(jù)到來時,右側(cè)選擇器電路可以控制輸出數(shù)據(jù)保持不變,避免重復(fù)累加。由此實現(xiàn)了數(shù)據(jù)流控制的自累加單元。該可重構(gòu)PE 單元整體利用1.3 小節(jié)提出的基于反饋機制的數(shù)據(jù)流控制方式,實現(xiàn)了可支持包括實數(shù)和復(fù)數(shù)在內(nèi)的32 種操作模式。在不損失靈活性的前提下有效降低了硬件開銷。

      圖4 適用于大規(guī)模MIMO的通用PE單元

      2.2 數(shù)據(jù)流驅(qū)動的Router單元

      為了實現(xiàn)數(shù)據(jù)傳遞,每個PE 單元都有一個與之互連的Router 單元,以此進(jìn)行不同PE 之間以及PE 與LS 之間的數(shù)據(jù)傳遞。如圖5 為本文提出的Router 單元結(jié)構(gòu),支持與N、E、S、W 四個方向的Router 以及多個LS 的互連,所有數(shù)據(jù)均為雙向傳遞。如圖5-b,每個傳輸方向都由data 和fb 兩個基本模塊組成,即每個數(shù)據(jù)流都有對應(yīng)的fb 信號作為控制,由此實現(xiàn)數(shù)據(jù)流驅(qū)動的高效互連。

      圖5 支持雙向數(shù)據(jù)流傳遞的Router單元

      2.3 支持地址跳變的可編程LS單元

      傳統(tǒng)的LS 使用通用的PE 進(jìn)行地址計算[13],由于大量PE 用于地址計算而不是操作數(shù)計算,因此硬件利用率較低。為此,本文LS 采用訪存和計算解耦合的設(shè)計,將地址計算轉(zhuǎn)移至LS 的專用可編程硬件中進(jìn)行,并結(jié)合大規(guī)模MIMO 算法特性,創(chuàng)新性的設(shè)計了可跳變的地址生成單元。

      如圖6 為LS 結(jié)構(gòu)。采用數(shù)據(jù)流驅(qū)動的fb 信號控制??刂七壿嫿邮說b 和valid 信號,并產(chǎn)生對其他模塊的內(nèi)部控制信號。預(yù)處理/后處理單元主要用于算法中常見的復(fù)數(shù)求共軛等功能。循環(huán)發(fā)生器包括循環(huán)變量的產(chǎn)生,循環(huán)邊界的比較,循環(huán)變量的累加單元,并且依據(jù)MIMO 算法需求,設(shè)計支持兩層循環(huán)。存儲交互信號產(chǎn)生模塊主要用于產(chǎn)生與存儲器交互的讀/寫使能。

      圖6 支持地址跳變的可編程LS單元

      圖6(b)描述的地址生成單元可抽象為一個可編程的函數(shù)模塊,根據(jù)循環(huán)變量i、j以及系數(shù)a、b、c得到對應(yīng)的地址輸出:ai+bj+c。地址跳變即根據(jù)算法需要自動改變地址系數(shù)。例如,圖2 中描述的求Gram 矩陣只計算了下三角部分,在輸出時經(jīng)過LS 的后處理單元生成共軛數(shù)據(jù),利用圖6(c)的I/O 單元中兩個FBU分別存儲原數(shù)據(jù)和經(jīng)過后處理的數(shù)據(jù),并提供對應(yīng)的valid 信號。地址生成單元即可在共軛數(shù)據(jù)有效時,將訪存地址跳變?yōu)楣曹棓?shù)據(jù)對應(yīng)的地址,當(dāng)原下三角數(shù)據(jù)有效時再跳變回來,由此實現(xiàn)自動化的地址控制,減少訪存,提高數(shù)據(jù)復(fù)用。該結(jié)構(gòu)通過可編程的方式,大大提升了LS 的靈活性。

      3 實驗結(jié)果

      3.1 大規(guī)模MIMO核心算子驗證結(jié)果

      為了驗證結(jié)果,本文在40nm CMOS 工藝上進(jìn)行了設(shè)計,并利用1.1 小節(jié)針對大規(guī)模MIMO 算法的統(tǒng)計結(jié)果,選取了該領(lǐng)域典型算法的核心算子進(jìn)行功能映射。其中PE 利用率定義為:

      Nop為算法總的計算量,II為啟動間隔,NPE為陣列的PE 數(shù)量。

      (1)預(yù)處理Gram 矩陣和yMF向量驗證結(jié)果

      實驗中僅使用一個PEA,采用1.3 小節(jié)中脈動陣列的方式進(jìn)行映射,表2 中總結(jié)了相應(yīng)的執(zhí)行結(jié)果??梢钥闯觯摷軜?gòu)很好地支持了多種規(guī)模的MIMO 系統(tǒng),并且能夠保持82%以上的PE 利用率,具有較高的靈活性和硬件效率。

      表2 不同規(guī)模MIMO 系統(tǒng)預(yù)處理Gram 矩陣和yMF 向量驗證結(jié)果

      (1)矩陣向量乘法驗證結(jié)果

      表3 為大規(guī)模MIMO 核心算子驗證結(jié)果??梢钥闯?,在相應(yīng)輸入規(guī)模下,矩陣乘矩陣和矩陣乘向量都能夠達(dá)到100%的PE 利用率,而向量內(nèi)積操作的PE 利用率達(dá)到60%。表4 為本設(shè)計與其他研究的對比結(jié)果,可以看出本文實現(xiàn)了最高10.22 倍的吞吐性能提升。

      表3 大規(guī)模MIMO 核心算子驗證結(jié)果

      表4 大規(guī)模MIMO 核心算子對比結(jié)果

      3.2 大規(guī)模MIMO檢測算法驗證

      本文在設(shè)計的CGRA 架構(gòu)上,使用4 塊PEA,驗證了迭代次數(shù)為2 的WeJi 算法[1](加權(quán)Jacobi)。與其他大規(guī)模MIMO 的可重構(gòu)硬件實現(xiàn)結(jié)果對比見表5。

      表5 不同大規(guī)模MIMO 的可重構(gòu)硬件實現(xiàn)結(jié)果性能對比

      為了能夠公平地對比FPGA 實現(xiàn)結(jié)果,這里將不同可重構(gòu)硬件資源開銷歸一化到邏輯門的數(shù)量。同時為了公平地與其他CMOS 工藝比較,對不同工藝下的設(shè)計進(jìn)行了如下歸一化[7]:

      式中,Tech.代表工藝參數(shù)。

      對比與已有可重構(gòu)硬件實現(xiàn)的歸一化結(jié)果,本文提出的基于數(shù)據(jù)流的CGRA 設(shè)計在面積效率方面提升了32%~82%,同時取得了2.81 倍的能量效率提升。這主要是因為這些可重構(gòu)硬件設(shè)計采用細(xì)粒度的控制結(jié)構(gòu),和本文提出的CGRA 架構(gòu)相比需要更多的配置信息來實現(xiàn)復(fù)雜的電路控制。而本文設(shè)計的CGRA 采用基于反饋機制的數(shù)據(jù)流驅(qū)動方式,這大大簡化了控制邏輯并精簡了PE、LS 單元的硬件結(jié)構(gòu)。同時利用精簡高效的互連方式和路由結(jié)構(gòu),降低了互連開銷,因此實現(xiàn)了更高的面積效率和能量效率。

      4 結(jié)語

      本文提出了一種數(shù)據(jù)流提驅(qū)動的CGRA 架構(gòu)來優(yōu)化面積效率和能效。通過基于反饋機制的數(shù)據(jù)流通信技術(shù),極大降低了控制成本,減少了面積開銷。同時,本文對提出的面向大規(guī)模MIMO 算法的CGRA 架構(gòu)進(jìn)行了設(shè)計實現(xiàn),并對計算單元、訪存單元和路由單元分別進(jìn)行了優(yōu)化設(shè)計。硬件實現(xiàn)的結(jié)果顯示,與當(dāng)前MI?MO 領(lǐng)域的可重構(gòu)硬件設(shè)計相比,本文的性能取得了32%~82%的面積效率提升,同時取得了2.81 倍的能量效率提升。今后研究將進(jìn)一步優(yōu)化電路,提高系統(tǒng)頻率,同時擴(kuò)展算法的驗證。

      猜你喜歡
      數(shù)據(jù)流重構(gòu)架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      長城敘事的重構(gòu)
      攝影世界(2022年1期)2022-01-21 10:50:14
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      北方大陸 重構(gòu)未來
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
      北京的重構(gòu)與再造
      商周刊(2017年6期)2017-08-22 03:42:36
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
      論中止行為及其對中止犯的重構(gòu)
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      安塞县| 乌拉特前旗| 栾城县| 嵊泗县| 彭泽县| 洛扎县| 珲春市| 南康市| 汶上县| 阳江市| 二连浩特市| 西华县| 屯门区| 白玉县| 临夏县| 顺平县| 阿合奇县| 平顶山市| 左贡县| 九寨沟县| 云浮市| 西充县| 公安县| 英吉沙县| 建宁县| 三河市| 巴马| 大渡口区| 莲花县| 南投县| 梁河县| 吴江市| 临西县| 兴安县| 连平县| 德令哈市| 长沙县| 西峡县| 阿拉善盟| 麻江县| 呼和浩特市|