• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于異構(gòu)多核SoC的LT碼編碼硬件化技術(shù)研究*

    2021-01-06 00:54:44江仲鳴楊全勝
    計算機工程與科學(xué) 2020年12期
    關(guān)鍵詞:譯碼異構(gòu)編碼器

    江仲鳴,楊全勝

    (東南大學(xué)計算機科學(xué)與工程學(xué)院,江蘇 南京 211189)

    1 引言

    噴泉碼(Fountain Code)是一類無碼率編碼,具有抗干擾能力強、接近香農(nóng)極限的優(yōu)點。2002年,Luby[1]公布了首個實用的數(shù)字噴泉碼——LT(Luby Transform)碼?,F(xiàn)今,LT碼被廣泛應(yīng)用于氣象水文數(shù)據(jù)廣播[2]、深空通信[3]、電力線通信[4]和移動視頻傳輸[5]等領(lǐng)域。這些領(lǐng)域存在大量嵌入式設(shè)備。在嵌入式系統(tǒng)中高效地實現(xiàn)LT碼,不僅能夠?qū)崿F(xiàn)數(shù)據(jù)發(fā)送端和接收端設(shè)備的小型化、輕量化,還能提高端設(shè)備的能效。

    目前學(xué)術(shù)界和工業(yè)界對于LT碼的研究工作主要分為3類。第1類屬于LT碼的應(yīng)用性研究;第2類是LT碼的優(yōu)化方法研究,其主要研究方向是優(yōu)化LT碼的度分布函數(shù),以提高譯碼成功率;第3類則是LT碼的硬件實現(xiàn)方法研究。

    目前,關(guān)于LT碼硬件實現(xiàn)的研究主要基于FPGA展開,主要優(yōu)化方法有:(1)改進(jìn)魯棒孤子分布RSD(Robust Soliton Distribution),增加低度數(shù)編碼包的出現(xiàn)概率[6,7],從而降低譯碼復(fù)雜性;(2)使用碼本對生成矩陣進(jìn)行壓縮[7],降低LT碼編碼的存儲代價和數(shù)據(jù)通信開銷;(3)采用乒乓緩存機制[8,9],提高硬件編碼器內(nèi)部的數(shù)據(jù)交換速率。方法(1)的副作用是降低了譯碼成功率;方法(2)等同于直接記錄每次編碼產(chǎn)生的原始數(shù)據(jù)分組號;方法(3)則是通用的硬件設(shè)計優(yōu)化方法。這些方法僅針對LT碼編碼的某個環(huán)節(jié)進(jìn)行優(yōu)化,并未從整體上優(yōu)化LT碼編碼器的設(shè)計。

    此外,LT碼通常只是應(yīng)用系統(tǒng)的一個環(huán)節(jié),完全采用FPGA實現(xiàn)LT碼編碼器,將消耗較多的邏輯資源,降低硬件平臺的實用性,增加系統(tǒng)設(shè)計成本。因此,有研究在XILINX ZYNQ的異構(gòu)平臺上實現(xiàn)LT碼的編碼器[10],但該研究沒有為異構(gòu)平臺制定計算任務(wù)到各處理核心之間的任務(wù)映射策略。

    本文將對異構(gòu)多核SoC進(jìn)行建模分析,將LT碼編碼在異構(gòu)多核SoC上的實現(xiàn)問題轉(zhuǎn)換為LT碼編碼算法在異構(gòu)多核SoC上的任務(wù)映射問題,并基于遺傳算法給出了該問題的求解方法。最終基于異構(gòu)多核SoC上的LT碼編碼子任務(wù)映射問題求解結(jié)果,在XILINX ZYNQ-7000異構(gòu)多核平臺上實現(xiàn)LT碼編碼器。實驗結(jié)果表明,本文所設(shè)計的LT碼編碼器能夠滿足不同的性能和資源需求,增加了硬件平臺的實用性和應(yīng)用系統(tǒng)設(shè)計的靈活性。

    2 LT碼編碼技術(shù)簡介

    LT碼將原始數(shù)據(jù)分割成若干分組,利用這些分組產(chǎn)生編碼包,并向外源源不斷地發(fā)送這些包;數(shù)據(jù)接收端接收一定數(shù)量的編碼包,并恢復(fù)原始數(shù)據(jù)。

    2.1 LT碼度分布

    假設(shè)待編碼的原始數(shù)據(jù)分組個數(shù)為k,從中任意選取d個分組,并將這些分組按字節(jié)異或,即可得到一個編碼包,則稱d為該編碼包的度數(shù)。

    LT碼的核心是度數(shù)的概率分布函數(shù),簡稱度分布函數(shù)。若待編碼的原始數(shù)據(jù)分組個數(shù)為k,則魯棒孤子分布RSD的表達(dá)式為:

    (1)

    其中,μ(i)表示度數(shù)取i的概率,其表達(dá)式為:

    (2)

    其中,ρ(·)為理想孤子分布,其表達(dá)式為:

    (3)

    其中,τ(·)的設(shè)置是為了提高低度數(shù)編碼包的出現(xiàn)概率,從而提高譯碼成功率,其表達(dá)式為:

    (4)

    2.2 LT碼編碼算法

    假設(shè)有被分割成k個分組的原始數(shù)據(jù)S,即:

    S={s1,s2,…,sk}

    則LT碼的編碼算法如算法1所示。

    算法1LT碼編碼算法

    輸入:原始數(shù)據(jù)S。

    輸出:LT碼編碼包。

    步驟1通過Monte-Carlo實驗,基于式(1)生成一個度數(shù)d。

    步驟2從S中隨機選擇d個不重復(fù)的數(shù)據(jù)分組。

    步驟3記錄步驟2選擇的數(shù)據(jù)分組號,形成編碼包的數(shù)據(jù)包頭部h。

    步驟4將步驟2選擇的數(shù)據(jù)分組進(jìn)行異或,形成編碼包的數(shù)據(jù)載荷l。

    步驟5將數(shù)據(jù)包頭部h和數(shù)據(jù)載荷l打包形成編碼包e。

    步驟6發(fā)送步驟5生成的編碼包e。

    步驟7若接收端已成功譯碼,則結(jié)束;否則轉(zhuǎn)到步驟1。

    3 面向特定應(yīng)用的異構(gòu)多核SoC模型

    本節(jié)首先為異構(gòu)多核SoC建立模型,然后基于所建立的模型,將LT碼在異構(gòu)多核SoC上的實現(xiàn)問題轉(zhuǎn)變?yōu)楫悩?gòu)多核SoC上的任務(wù)映射問題,隨后基于遺傳算法給出該映射問題的解決方法。

    定義1(異構(gòu)多核SoC) 異構(gòu)多核SoC是指將不同架構(gòu)的處理核心集成到同一塊數(shù)字集成電路元DICE(Digital Integrated Circuit Element)的嵌入式單機異構(gòu)多核系統(tǒng)。

    由于處理核心被集成到同一塊DICE,各處理核心之間的通信線路長度大大縮小,因此異構(gòu)多核SoC理論上比具有相同功能的嵌入式系統(tǒng)具有更低的核間通信延時、更強的抗干擾能力、更低的功耗和更小的體積。

    3.1 異構(gòu)多核SoC模型建立

    雖然異構(gòu)多核SoC具有一定的通用性和可編程性,但在實際的應(yīng)用場景中,異構(gòu)多核SoC通常只運行有限種類、有限個數(shù)的應(yīng)用。由此可認(rèn)為異構(gòu)多核SoC是面向特定應(yīng)用的,所以本文在對其建模時,將異構(gòu)多核SoC所面向的應(yīng)用也包含在模型內(nèi)部。

    3.1.1 應(yīng)用表示模型

    若要對面向特定應(yīng)用的異構(gòu)多核SoC進(jìn)行建模,首先需要對其應(yīng)用進(jìn)行描述。本文使用帶權(quán)有向圖WDG=(V,E)描述異構(gòu)多核SoC所針對的特定應(yīng)用。

    首先將異構(gòu)多核SoC所針對的特定應(yīng)用劃分成n個子任務(wù)。子任務(wù)劃分的原則是:

    (1)完整性和等效性。盡管應(yīng)用被劃分成若干子任務(wù),但這些子任務(wù)應(yīng)當(dāng)能夠通過重組還原出原始應(yīng)用。

    (2)同構(gòu)性。在不存在數(shù)據(jù)相關(guān)性的前提下,相同種類的運算應(yīng)當(dāng)被劃分到同一個子任務(wù)。

    按照以上原則,將異構(gòu)多核SoC所針對的特定應(yīng)用劃分成n個子任務(wù),每個子任務(wù)對應(yīng)頂點集V中的一個頂點;子任務(wù)之間的執(zhí)行順序關(guān)系對應(yīng)邊集E中的有向邊;子任務(wù)之間的通信數(shù)據(jù)量對應(yīng)邊集E中有向邊的權(quán)值,由此得到異構(gòu)多核SoC的應(yīng)用表示模型。

    3.1.2 異構(gòu)多核SoC 4元組模型

    以下給出異構(gòu)多核SoC 4元組模型的定義。

    定義2面向特定應(yīng)用的異構(gòu)多核SoC模型HSoC可定義為4元組HSoC= (P,V,E,F),其中:P為處理核心集合,P={p1,p2,…,pm}是異構(gòu)多核SoC中的所有m個處理核心構(gòu)成的集合。V為任務(wù)集合,V={v1,v2,…,vn}表示HSoC所針對特定應(yīng)用的n個子任務(wù),對應(yīng)于WDG中的頂點集。E為通信集合,E={(eij,wij)|1≤i,j≤n∧vi,vj∈V},其中,eij表示子任務(wù)vi與vj之間的執(zhí)行順序關(guān)系,對應(yīng)于WDG中的有向邊;wij表示子任務(wù)vi與vj之間的數(shù)據(jù)通信量,對應(yīng)于WDG中有向邊的權(quán)值。F為映射,F(xiàn)?V×P表示任務(wù)集合V到處理核心集合P之間的映射關(guān)系。

    3.1.3 HSoC加速比模型

    首先引入執(zhí)行時間矩陣為:Tn×m和帶寬集合B。

    (1)執(zhí)行時間矩陣為:

    其中,tij表示子任務(wù)vi在處理核心pj上的執(zhí)行時間。

    (2)帶寬集合B={bij|1≤i,j≤m∧pi,pj∈P},表示HSoC的任意2個處理核心之間的通信帶寬。當(dāng)i=j時,令bij=∞,即處理核心內(nèi)部的通信時間忽略不計。

    在描述HSoC所針對特定應(yīng)用的WDG中,存在串行和并行2種基本子結(jié)構(gòu),分別如圖1和圖2所示。

    Figure 1 Serial sub-structure圖1 串行子結(jié)構(gòu)

    Figure 2 Parallel sub-structure圖2 并行子結(jié)構(gòu)

    在圖1所示的串行子結(jié)構(gòu)中,子任務(wù)vi、vj在處理核心F(vi)、F(vj)上的執(zhí)行時間分別為ti,F(vi)、tj,F(vj),且vi與vj之間的通信時間為wij/bF(vi),F(vj),因此該子結(jié)構(gòu)的執(zhí)行時間ts為:

    (5)

    類似地,在圖2所示的并行子結(jié)構(gòu)中,其執(zhí)行時間tp為:

    (6)

    特別地,對于循環(huán)次數(shù)為N的循環(huán)結(jié)構(gòu),其執(zhí)行時間的計算方法為:將循環(huán)體劃分為若干個形如圖1和圖2所示的子結(jié)構(gòu),利用式(5)和式(6)計算循環(huán)體的單次執(zhí)行時間,并將其乘以N。

    將WDG拆分為若干如圖1和圖2所示的子結(jié)構(gòu),根據(jù)式(5)和式(6)分別計算各子結(jié)構(gòu)的執(zhí)行時間,并對這些子結(jié)構(gòu)的執(zhí)行時間進(jìn)行求和,最終得到應(yīng)用在HSoC上的總執(zhí)行時間THSoc。

    假設(shè)HSoC所針對的特定應(yīng)用在PC機上的執(zhí)行時間為TPC,則加速比Sp為:

    (7)

    式(5)~式(7)構(gòu)成了HSoC的加速比模型。

    3.2 HSoC上的任務(wù)映射問題

    3.2.1 HSoC上的任務(wù)映射問題定義

    此處引入資源集合R={r1,r2,…,rm},表示HSoC的片上資源集合,其中ri表示處理核心pi所擁有的資源集合。

    基于定義2給出的HSoC 4元組模型,以及式(5)~式(7)給出的HSoC加速比模型,給出如定義3所示的HSoC上的任務(wù)映射問題定義。

    定義3(HSoC上的任務(wù)映射問題) 在面向特定應(yīng)用的HSoC= (P,V,E,F)上,以資源集合R作為限制條件,通過某種映射策略,在任務(wù)集合V與處理核心集合P之間建立映射關(guān)系F,使得系統(tǒng)的某項指標(biāo)(如加速比、能效、單位資源加速比等)達(dá)到最優(yōu)。

    3.2.2 任務(wù)映射問題簡化

    根據(jù)定義2,對于HSoC,其處理核心集合P中的m個處理核心相互之間可能同構(gòu),也可能異構(gòu)。

    此處引入HSoC處理核心的架構(gòu)類型集合(以下簡稱處理核心類型集合)Φ={P1,P2,…,Pθ},表示HSoC所具有的θ(1≤θ≤m)種類架構(gòu)的處理核心。其中,Pi表示P中第i類架構(gòu)的處理核心所構(gòu)成的集合,且有:

    s≠t∧1≤s,t≤θ

    (8)

    基于處理核心類型集合Φ和式(8),可將定義3所述的對映射關(guān)系F?V×P的求解,轉(zhuǎn)化為對映射關(guān)系F′?V×Φ的求解。

    當(dāng)求得映射關(guān)系F′,使得系統(tǒng)的某項指標(biāo)(如加速比Sp、能效、單位資源加速比等)達(dá)到最優(yōu)時,定義3所述的任務(wù)映射問題也得到了最優(yōu)解。該結(jié)論容易通過反證法證明,限于篇幅,本文略去證明過程。

    由此,對HSoC上的任務(wù)映射問題進(jìn)行了簡化。

    3.2.3 基于遺傳算法的映射方法

    HSoC上的任務(wù)映射問題屬于軟硬件劃分問題,換言之,是NP完全問題[11]。采用遺傳算法在解空間中進(jìn)行搜索,可以獲得近似最優(yōu)解。

    基于遺傳算法解決HSoC任務(wù)映射問題的具體方法是:

    定義種群個體的染色體為一個n維向量:

    a={a1,a2,…,an},1≤ai≤θ,1≤i≤n

    (9)

    若ai=k,則表示子任務(wù)ai被映射到HSoC的第k類處理核心集Pk。

    考慮不同的優(yōu)化目標(biāo),基于HSoC的加速比模型設(shè)計相應(yīng)的適應(yīng)度函數(shù),并利用隨機數(shù)生成初始種群。通過一定次數(shù)的迭代,最終獲得目標(biāo)解。

    4 基于HSoC的LT碼編碼器設(shè)計

    本節(jié)將根據(jù)第2節(jié)提出的HSoC上的任務(wù)映射問題及其解決方法,基于XILINX ZYNQ異構(gòu)多核SoC,設(shè)計LT碼編碼器。

    在本文中,LT碼參數(shù)設(shè)置如表1所示。

    4.1 硬件平臺

    本文使用的硬件平臺是XILINX ZYNQ-7000系列Zybo開發(fā)板。該開發(fā)板的主芯片是基于ARM雙核Cortex-A9+FPGA的異構(gòu)多核SoC。因此,對于該硬件平臺,處理核心類型集合Φ={P1,P2}。其中,P1={p11,p12}代表ARM雙核Cortex-A9的CPU,P2={p21}代表FPGA。

    4.2 數(shù)據(jù)量化

    由式(1)~式(4)可知,計算RSD涉及大量浮點運算,而在FPGA實現(xiàn)浮點運算需要消耗大量邏輯資源。為此,本文采用了16 bit量化策略,相關(guān)實驗及分析見5.1節(jié)。

    4.3 編碼器映射問題的求解

    4.3.1 LT碼編碼任務(wù)劃分

    按照2.2節(jié)所述的LT碼編碼算法,基于3.1.1節(jié)所述的子任務(wù)劃分原則,將LT碼的編碼過程劃分為7個子任務(wù),如表2所示。

    表2中,子任務(wù)v1、v2、v3、v4對應(yīng)RSD的計算;子任務(wù)v5對應(yīng)2.2節(jié)中的步驟1;子任務(wù)v6對應(yīng)2.2節(jié)中的步驟2和步驟3;子任務(wù)v7對應(yīng)2.2節(jié)中的步驟4和步驟5。

    進(jìn)行16 bit量化后,對應(yīng)的WDG如圖3所示。其中,有向邊上的數(shù)字代表2個子任務(wù)之間的數(shù)據(jù)通信量,單位為字節(jié)。虛線箭頭表示子任務(wù)v5、v6、v7循環(huán)1 450次。

    Figure 3 Task model of LT codes’ encoding圖3 LT碼編碼任務(wù)模型

    上述7個子任務(wù)分別在PC機、ARM Cortex-A9和FPGA上的執(zhí)行時間如表3所示。

    已知在150 MHz時鐘下,ARM和FPGA通過AXI-GP接口通信的理論最大帶寬為600 MB/s[12]。

    基于以上設(shè)置,下面分別以加速比Sp、單位資源加速比作為適應(yīng)度函數(shù),對LT碼編碼在異構(gòu)多核SoC上的映射問題進(jìn)行求解。

    4.3.2 以加速比Sp作為適應(yīng)度函數(shù)

    令加速比Sp為適應(yīng)度函數(shù),設(shè)種群大小為1 000,求得在迭代100次后,加速比Sp>1的部分可行解如表4所示。

    根據(jù)表4所示的映射結(jié)果及其對應(yīng)的加速比Sp,結(jié)合式(9)對染色體的定義,可知:(1)利用FPGA實現(xiàn)所有子任務(wù)時,系統(tǒng)獲得最大加速比;(2)若選擇合適的子任務(wù)(如v2、v3等)在CPU上實現(xiàn),對加速比的影響可以很小,從而可以節(jié)省FPGA的硬件資源,增加系統(tǒng)的實用性。

    4.3.3 以單位資源加速比作為適應(yīng)度函數(shù)

    查找表LUT(Look-Up-Table)是用于衡量FPGA資源使用情況的常用資源單位。令Rall表示LT碼編碼器使用的LUT資源總數(shù),則單位資源加速比為Sp/Rall。

    Table 1 Parameters setting of LT codes表1 LT碼參數(shù)設(shè)置

    Table 2 Sub-task partitioning of LT codes’ encoding表2 LT碼編碼子任務(wù)劃分

    Table 3 Execution time of sub-task of LT codes’ encoding on various cores表3 LT碼編碼子任務(wù)在不同處理核心上的執(zhí)行時間

    Table 4 Feasible solutions of mapping problem with speedup as fitness function表4 以加速比為適應(yīng)度函數(shù)的映射問題可行解

    Table 5 LUT usage of sub-task of LT codes’ encoding表5 LT碼編碼子任務(wù)LUT使用情況

    Table 6 Feasible solutions of mapping problem with speedup per resource unit as fitness function表6 以單位資源加速比為適應(yīng)度函數(shù)的映射問題可行解

    Table 7 Comparison of encoding time表7 編碼時間對比 ms

    Table 8 Comparison of resource consumption表8 資源消耗對比

    利用Vivado綜合工具估算LT碼編碼子任務(wù)的LUT使用量,如表5所示。

    令單位資源加速比為適應(yīng)度函數(shù),設(shè)種群大小為1 000,求得在迭代100次后的種群當(dāng)中,加速比Sp>1的所有可行解如表6所示。

    根據(jù)表6所示的映射結(jié)果及其對應(yīng)的單位資源加速比,結(jié)合式(9)對染色體的定義,可知僅在FPGA上實現(xiàn)子任務(wù)時,LT碼編碼器獲得最大的單位資源加速比。

    4.4 編碼器架構(gòu)設(shè)計

    為充分利用XILINX ZYNQ異構(gòu)平臺中ARM和FPGA的通信帶寬,本文基于CDMA(Central DMA)和共享存儲架構(gòu)設(shè)計ARM與FPGA的互連結(jié)構(gòu),如圖4所示。

    Figure 4 High performance interconnect between ARM and FPGA圖4 ARM與FPGA高速互連結(jié)構(gòu)

    在圖4中,CPU通過AXI-Lite接口實現(xiàn)對LT碼編碼器的控制,并通過2個共享的Block RAM存儲器實現(xiàn)與LT碼編碼器的數(shù)據(jù)交互。

    對于染色體(2,2,2,2,2,2,2)對應(yīng)的映射方案(即在FPGA上實現(xiàn)全部子任務(wù)),設(shè)計其對應(yīng)的LT碼編碼器架構(gòu),如圖5所示。其中,模塊左上角的編號代表子任務(wù)序號,虛線框內(nèi)的模塊屬于同一子任務(wù)。LT碼編碼器基于線性反饋移位寄存器LFSR(Linear Feedback Shift Register),為度生成器和不重復(fù)隨機數(shù)發(fā)生器提供偽隨機數(shù)。

    Figure 5 LT codes’ encoder architecture corresponding to chromosome (2,2,2,2,2,2,2)圖5 染色體(2,2,2,2,2,2,2)對應(yīng)的LT碼編碼器架構(gòu)

    對于部分子任務(wù)在FPGA上實現(xiàn)的映射方案,增加Block RAM讀寫控制邏輯,以實現(xiàn)軟硬件數(shù)據(jù)交互。以染色體(1,1,1,2,1,1,2)為例,設(shè)計其對應(yīng)的LT碼編碼器架構(gòu)如圖6所示。

    Figure 6 LT codes’ encoder architecture corresponding to chromosome (1,1,1,2,1,1,2)圖6 染色體(1,1,1,2,1,1,2)對應(yīng)的LT碼編碼器架構(gòu)

    5 實驗及其結(jié)果分析

    5.1 數(shù)據(jù)量化

    為了避免FPGA實現(xiàn)浮點運算造成大量邏輯資源消耗,本文分別嘗試了8 bit量化和16 bit量化2種常用的量化策略來計算RSD,并評估2種量化策略對譯碼率的影響。結(jié)果如圖7所示。

    Figure 7 Influence of different quantization strategies on LT codes’ decode ratio圖7 不同量化策略對譯碼率的影響

    由圖7可知,采用8 bit量化策略計算RSD,其譯碼率明顯高于16 bit量化策略和無量化策略的。這是因為8 bit量化使得RSD損失了較多的精度,使得大量高度數(shù)編碼包出現(xiàn)概率降為0,理論上對譯碼成功率影響較大。采用16 bit量化策略計算RSD,其譯碼率接近無量化RSD,說明16 bit量化造成的精度損失較小,對譯碼成功率的影響也較小。為了使LT譯碼的成功率得到保障,本文使用16 bit量化策略來計算RSD。

    5.2 映射方案對比分析

    本文4.3節(jié)基于HSoC模型進(jìn)行推演,首先求得具有最高理論加速比的染色體是(2,2,2,2,2,2,2),其對應(yīng)的映射方案是在FPGA上實現(xiàn)LT碼編碼的全部子任務(wù);然后求得具有最高理論單位資源加速比的染色體是(1,1,1,1,1,1,2),其對應(yīng)的映射方案是在ARM上實現(xiàn)子任務(wù)v1~v6,在FPGA上實現(xiàn)子任務(wù)v7。本節(jié)將對這2個染色體所對應(yīng)的映射方案進(jìn)行對比分析。

    首先利用PC機(CPU 為Intel i7-4600U,內(nèi)存為8 GB DDR3)實現(xiàn)的LT碼編碼器生成1 450個編碼包,測量其編碼時間;然后在XILINX Zybo硬件平臺上實現(xiàn)染色體(2,2,2,2,2,2,2)和(1,1,1,1,1,1,2)所對應(yīng)的LT碼編碼器,分別測量其生成1 450個編碼包的時間,實驗結(jié)果如表7所示。

    由表7可知,染色體(2,2,2,2,2,2,2)和染色體(1,1,1,1,1,1,2)所對應(yīng)的LT碼編碼器的加速比分別為1.153和1.293。

    經(jīng)過測試,ARM與FPGA通過CDMA進(jìn)行數(shù)據(jù)交互的實際帶寬在450~550 MB/s,因此,2種映射方案的實際加速比均比理論值低。其中,在FPGA上實現(xiàn)所有子任務(wù)時,ARM與FPGA之間存在多次數(shù)據(jù)交互,因此染色體(2,2,2,2,2,2,2)所對應(yīng)編碼器的實際加速比與理論值差距較大。該實驗結(jié)果表明通信帶寬容易成為性能瓶頸。

    需要注意的是,從硬件架構(gòu)設(shè)計的角度看,染色體(2,2,2,2,2,2,2)所對應(yīng)的LT碼編碼器仍有較大優(yōu)化空間。一般地,可以使用乒乓存儲、流水線等技術(shù)提高LT碼編碼器的性能,從而獲得更高的加速比,但設(shè)計復(fù)雜度和成本也會隨之增加。

    此外,在Vivado工具上分別實現(xiàn)染色體(2,2,2,2,2,2,2)和(1,1,1,1,1,1,2)所對應(yīng)的LT碼編碼器,記錄其實現(xiàn)后的LUT資源使用量,如表8所示。

    由表8可知,使用FPGA實現(xiàn)所有子任務(wù)時,硬件平臺只剩余23.19%的LUT資源。此時,若實際應(yīng)用系統(tǒng)存在其他功能需要利用FPGA加速,則只能換用更高級的硬件平臺,降低了硬件平臺的實用性,增加了系統(tǒng)成本。當(dāng)只使用FPGA實現(xiàn)數(shù)據(jù)包的異或運算時,不僅能獲得一定的加速比,還能為應(yīng)用系統(tǒng)節(jié)省大量的FPGA資源,增加了應(yīng)用系統(tǒng)設(shè)計的靈活性,降低了應(yīng)用系統(tǒng)的成本。

    5.3 實驗結(jié)論

    進(jìn)行子任務(wù)分配時,利用本文模型進(jìn)行推演,具有一定指導(dǎo)意義。此外,雖然利用異構(gòu)多核技術(shù)可獲得一定加速比,但進(jìn)行子任務(wù)分配時,不僅需要在資源使用率和加速比之間取得平衡,還要考慮帶寬的影響。比如在帶寬的影響下,當(dāng)只使用FPGA實現(xiàn)異或運算時,不僅能獲得一定加速比,還能為應(yīng)用系統(tǒng)節(jié)省大量的FPGA資源,增加了應(yīng)用系統(tǒng)設(shè)計的靈活性,降低了應(yīng)用系統(tǒng)的成本。

    在實際開發(fā)過程中,設(shè)計人員可根據(jù)實際需求,選擇不同的LT碼子任務(wù)映射方案,以更好地滿足應(yīng)用需求。

    6 結(jié)束語

    本文對異構(gòu)多核SoC進(jìn)行了建模分析,將LT碼編碼在異構(gòu)多核SoC上的實現(xiàn)問題轉(zhuǎn)變?yōu)楫悩?gòu)多核SoC上的任務(wù)映射問題,并給出了基于遺傳算法的解決方法。此外,本文基于異構(gòu)多核SoC上的LT碼編碼子任務(wù)映射問題求解結(jié)果,在XILINX ZYNQ-7000異構(gòu)多核平臺上實現(xiàn)了LT碼編碼器。實驗結(jié)果表明,本文所設(shè)計的LT碼編碼器能夠滿足不同的性能和資源需求,增加了硬件平臺的實用性和應(yīng)用系統(tǒng)設(shè)計的靈活性。

    未來的研究方向有:(1)研究不同任務(wù)劃分粒度,以及核間數(shù)據(jù)通信帶寬對映射結(jié)果的影響;(2)研究包含多個算法的應(yīng)用系統(tǒng)在異構(gòu)多核SoC上的映射問題及其優(yōu)化方法。

    猜你喜歡
    譯碼異構(gòu)編碼器
    試論同課異構(gòu)之“同”與“異”
    基于校正搜索寬度的極化碼譯碼算法研究
    基于FPGA的同步機軸角編碼器
    基于PRBS檢測的8B/IOB編碼器設(shè)計
    overlay SDN實現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
    從霍爾的編碼譯碼理論看彈幕的譯碼
    新聞傳播(2016年3期)2016-07-12 12:55:27
    LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
    JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
    電子器件(2015年5期)2015-12-29 08:42:24
    LDPC 碼改進(jìn)高速譯碼算法
    遙測遙控(2015年2期)2015-04-23 08:15:19
    在新興異構(gòu)SoCs上集成多種系統(tǒng)
    凌海市| 屯留县| 新津县| 大丰市| 丰原市| 探索| 闸北区| 喀喇| 江都市| 兴业县| 凤阳县| 长岛县| 九台市| 石狮市| 同仁县| 三江| 乐陵市| 石家庄市| 桓仁| 璧山县| 邹城市| 博客| 新竹县| 绵竹市| 巴马| 铜陵市| 叙永县| 崇明县| 南汇区| 兴城市| 皋兰县| 绥江县| 刚察县| 芜湖市| 武陟县| 彭州市| 石景山区| 青海省| 凤凰县| 伊金霍洛旗| 和静县|