两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種lz77壓縮算法硬件加速系統(tǒng)及加速方法

文檔序號:7542387閱讀:445來源:國知局
一種lz77壓縮算法硬件加速系統(tǒng)及加速方法
【專利摘要】本發(fā)明公開了一種LZ77壓縮算法硬件加速系統(tǒng)及方法,該系統(tǒng)包括:數(shù)據(jù)輸入控制模塊,用于控制接口傳輸過來的數(shù)據(jù)以特定的方式緩存到數(shù)據(jù)緩存模塊;數(shù)據(jù)緩存模塊,用于緩存接口傳輸過來的數(shù)據(jù)同時(shí)為LZ77壓縮模塊提供待壓縮數(shù)據(jù)源;LZ77壓縮模塊,用于對待壓縮數(shù)據(jù)采用LZ77壓縮方法進(jìn)行壓縮;數(shù)據(jù)輸出控制模塊,用于控制壓縮后的數(shù)據(jù)傳輸至接口,以便接口讀取壓縮后的數(shù)據(jù)。本發(fā)明提供了一種LZ77壓縮算法硬件加速系統(tǒng)及方法,采用可編程邏輯器件(FPGA)實(shí)現(xiàn)LZ77壓縮算法,通過采用數(shù)據(jù)緩存模塊加速LZ77壓縮算法,從而有效的提高了現(xiàn)有LZ77壓縮算法的處理效率。
【專利說明】一種LZ77壓縮算法硬件加速系統(tǒng)及加速方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)壓縮技術(shù),尤其涉及一種LZ77壓縮算法硬件加速系統(tǒng)及加速方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)、云計(jì)算技術(shù)的發(fā)展,越來越多的數(shù)據(jù)需要存儲,而這些海量數(shù)據(jù)的存儲成本是非常高的,為了緩解這個(gè)問題,通常在數(shù)據(jù)進(jìn)行存儲前會對數(shù)據(jù)進(jìn)行壓縮處理,經(jīng)過壓縮后的數(shù)據(jù)可以大幅度提高磁盤的有效容量,提高讀寫操作時(shí)的輸入輸出(I/O)有效帶寬,從而有效的降低互聯(lián)網(wǎng)數(shù)據(jù)中心的成本,提高應(yīng)用層程序的執(zhí)行速度。
[0003]當(dāng)前,壓縮技術(shù)可以簡單的分為有損壓縮和無損壓縮,有損壓縮多用于視頻、音頻等領(lǐng)域,無損壓縮則具有通用性,可以運(yùn)用到各個(gè)領(lǐng)域。經(jīng)調(diào)研發(fā)現(xiàn),無損壓縮方法有基于字典模式的壓縮方法和基于統(tǒng)計(jì)模式的壓縮方法,基于字典模式的壓縮方法最著名的是LZ77算法,該算法復(fù)雜度適中,易于實(shí)現(xiàn)。然而,經(jīng)過研究發(fā)現(xiàn),由于軟件串行執(zhí)行的特點(diǎn),LZ77算法的優(yōu)越性很難發(fā)揮出來,因此,有針對性的提出一種LZ77壓縮算法硬件加速系統(tǒng)和方法可以很好的解決這個(gè)問題,為LZ77算法、LZ77算法的變型算法、利用LZ77算法原理的Gzip算法、LZO算法等廣泛運(yùn)用于大數(shù)據(jù)處理環(huán)境中提供解決方案。

【發(fā)明內(nèi)容】

[0004]本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提供一種LZ77壓縮算法硬件加速系統(tǒng)及加速方法。
[0005]本發(fā)明具體采用以下技術(shù)方案解決上述技術(shù)問題:本發(fā)明設(shè)計(jì)了一種LZ77壓縮算法硬件加速系統(tǒng),包括數(shù)據(jù)輸入控制模塊、數(shù)據(jù)緩存模塊、LZ77壓縮模塊和數(shù)據(jù)輸出控制模塊,其中:
[0006]所述數(shù)據(jù)輸入控制模塊用于將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊;
[0007]所述數(shù)據(jù)緩存模塊用于存儲上述8字節(jié)數(shù)據(jù)組,并在接收到LZ77壓縮模塊發(fā)出的讀請求時(shí),為該8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),將得到的9個(gè)字節(jié)長度的數(shù)據(jù)以數(shù)據(jù)源的形式傳輸至LZ77壓縮模塊;
[0008]所述LZ77壓縮模塊用于對上述待壓縮的數(shù)據(jù)源采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊;
[0009]所述數(shù)據(jù)輸出控制模塊用于將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式輸出。
[0010]作為本發(fā)明的一種優(yōu)化結(jié)構(gòu):所述數(shù)據(jù)緩存模塊包括M個(gè)隨機(jī)存取存儲器,所述M個(gè)隨機(jī)存取存儲器的輸入端共同連接數(shù)據(jù)輸入控制模塊的輸出端,所述M個(gè)隨機(jī)存取存儲器的輸出端共同連接LZ77壓縮模塊的輸入端,每個(gè)隨機(jī)存取存儲器的寬度為8字節(jié),其中,M為大于等于2的自然數(shù)。
[0011]本發(fā)明還設(shè)計(jì)了一種基于權(quán)利要求1所述的LZ77壓縮算法硬件加速系統(tǒng)的加速方法,包括如下具體步驟:
[0012]步驟(I):所述數(shù)據(jù)輸入控制模塊將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊;
[0013]步驟(2):所述數(shù)據(jù)緩存模塊用于存儲上述8字節(jié)數(shù)據(jù)組,并在接收到LZ77壓縮模塊發(fā)出的讀請求時(shí),為該8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),將得到的9個(gè)字節(jié)長度的數(shù)據(jù)以數(shù)據(jù)源的形式傳輸至LZ77壓縮模塊;
[0014]步驟(3 ):所述LZ77壓縮模塊將接收到的待壓縮數(shù)據(jù)源采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊;
[0015]步驟(4):所述數(shù)據(jù)輸出控制模塊將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式傳輸至接口,以便接口進(jìn)行讀取。
[0016]本發(fā)明還設(shè)計(jì)了一種基于權(quán)利要求2所述的LZ77壓縮算法硬件加速系統(tǒng)的加速方法,包括如下具體步驟:
[0017]步驟(I):所述數(shù)據(jù)輸入控制模塊將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊;
[0018]步驟(2):所述數(shù)據(jù)緩存模塊將上述8字節(jié)數(shù)據(jù)組交替緩存至M個(gè)隨機(jī)存取存儲器,當(dāng)LZ77壓縮模塊向其發(fā)起讀請求時(shí),所述讀請求同時(shí)發(fā)送到所有隨機(jī)存取存儲器,所述數(shù)據(jù)緩存模塊為隨機(jī)存取存儲器中的8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),即向LZ77壓縮模塊提供9個(gè)字節(jié)長度的數(shù)據(jù),其中,M為大于等于2的自然數(shù);
[0019]步驟(3):所述LZ77壓縮模塊將接收到的9個(gè)字節(jié)長度的數(shù)據(jù)采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊;
[0020]步驟(4):所述數(shù)據(jù)輸出控制模塊將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式輸出。
[0021]作為本發(fā)明的一種優(yōu)化方法:所述步驟(3)還包括如下具體處理:
[0022]步驟(31):所述LZ77壓縮模塊對接收到的9個(gè)字節(jié)長度的數(shù)據(jù)計(jì)算Hash值;
[0023]步驟(32):所述LZ77壓縮模塊根據(jù)上述Hash值再次向數(shù)據(jù)緩存模塊發(fā)出讀請求,從數(shù)據(jù)緩存模塊中讀取9字符;
[0024]步驟(33):所述LZ77壓縮模塊將此次讀取的I個(gè)字符與歷史字符進(jìn)行對比,若匹配,則將收到的9個(gè)字節(jié)長度的數(shù)據(jù)采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊,若不匹配,則轉(zhuǎn)而執(zhí)行步驟(32)。
[0025]本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
[0026]1.本發(fā)明提供了一種LZ77壓縮算法硬件加速系統(tǒng)及加速方法,采用可編程邏輯器件(FPGA)實(shí)現(xiàn)LZ77壓縮算法,通過采用數(shù)據(jù)緩存模塊加速LZ77壓縮算法,從而有效的提高了現(xiàn)有LZ77壓縮算法的處理效率;
[0027]2.本發(fā)明所設(shè)計(jì)的一種LZ77壓縮算法硬件加速系統(tǒng)及加速方法不排它,該硬件加速系統(tǒng)及加速方法也可以應(yīng)用于利用LZ77壓縮原理的算法中,如Gzip算法、LZO算法;LZ77變型和類似算法中,如LZW算法、LZSS算法,等。
【專利附圖】

【附圖說明】
[0028]圖1示出本發(fā)明所設(shè)計(jì)的一種LZ77壓縮算法硬件加速系統(tǒng)的結(jié)構(gòu)示意圖;
[0029]圖2示出本發(fā)明提供的一種LZ77壓縮算法硬件加速系統(tǒng)的另一【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0030]圖3示出一般數(shù)據(jù)緩存模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0031]圖4示出本發(fā)明提供的一種LZ77壓縮算法硬件加速系統(tǒng)的一個(gè)實(shí)施例中數(shù)據(jù)緩存模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0032]圖5示出本發(fā)明實(shí)施例提供的一種LZ77壓縮算法硬件加速系統(tǒng)的加速方法流程圖;
[0033]圖6示出本發(fā)明設(shè)計(jì)的加速方法的另一具體實(shí)施例的流程圖;
[0034]圖7示出本發(fā)明所設(shè)計(jì)的加速方法的另一具體實(shí)施例的流程圖;
[0035]圖8示出本發(fā)明所設(shè)計(jì)的加速方法的一個(gè)具體應(yīng)用例的流程圖。
【具體實(shí)施方式】
[0036]下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)說明:
[0037]如圖1所示,本發(fā)明設(shè)計(jì)了一種LZ77壓縮算法硬件加速系統(tǒng),包括數(shù)據(jù)輸入控制模塊、數(shù)據(jù)緩存模塊、LZ77壓縮模塊和數(shù)據(jù)輸出控制模塊,其中:
[0038]所述數(shù)據(jù)輸入控制模塊用于將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊;
[0039]所述數(shù)據(jù)緩存模塊用于存儲上述8字節(jié)數(shù)據(jù)組,當(dāng)LZ77壓縮模塊向其發(fā)起讀請求時(shí)為8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),即將I個(gè)字節(jié)長度的數(shù)據(jù)以數(shù)據(jù)源的形式傳輸至LZ77壓縮模塊,其中,1=9 ;
[0040]所述LZ77壓縮模塊用于對上述待壓縮數(shù)據(jù)源采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊;
[0041]所述數(shù)據(jù)輸出控制模塊用于將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式輸出。
[0042]如圖2所示,作為本發(fā)明的一種優(yōu)化結(jié)構(gòu):所述數(shù)據(jù)緩存模塊包括M個(gè)隨機(jī)存取存儲器,所述M個(gè)隨機(jī)存取存儲器的輸入端共同連接數(shù)據(jù)輸入控制模塊的輸出端,所述M個(gè)隨機(jī)存取存儲器的輸出端共同連接LZ77壓縮模塊的輸入端,每個(gè)隨機(jī)存取存儲器的寬度為N字節(jié),其中,M為大于等于2的自然數(shù),N=8。
[0043]圖3示出一般數(shù)據(jù)緩存模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0044]如圖3所示,采用RAM實(shí)現(xiàn)的傳統(tǒng)的數(shù)據(jù)緩存模塊,RAM的數(shù)據(jù)寬度為8字節(jié),深度可以根據(jù)具體的設(shè)計(jì)進(jìn)行配置,圖中的X、Y代表任意字符。為方便說明,現(xiàn)在假設(shè)圖2中的LZ77壓縮模塊向數(shù)據(jù)緩存模塊發(fā)起讀請求,請求讀1=9個(gè)字符,則如圖3所示,用Y表示的字符為所要讀取的字符,不難發(fā)現(xiàn),讀取9個(gè)字符需要進(jìn)行2次RAM讀取,由于RAM自身硬件的因素,每讀取一次數(shù)據(jù)時(shí)需要2?3個(gè)周期,讀取兩次則需要4?6個(gè)周期。
[0045]圖4示出本發(fā)明提供的一種LZ77壓縮算法硬件加速系統(tǒng)的一個(gè)實(shí)施例中數(shù)據(jù)緩存模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0046]如圖4所示,采用兩個(gè)RAM實(shí)現(xiàn)的數(shù)據(jù)緩存模塊,其中,兩個(gè)RAM可以和圖2中兩個(gè)RAM具有相同或相似結(jié)構(gòu),兩個(gè)RAM的數(shù)據(jù)寬度為8字節(jié),深度可以根據(jù)具體的設(shè)計(jì)進(jìn)行配置,圖中的的X、Y代表任意字符。
[0047]為方便說明,現(xiàn)在假設(shè)圖2中的LZ77壓縮模塊向數(shù)據(jù)緩存模塊發(fā)起讀請求,請求讀1=9個(gè)字符,則如圖4所示,用Y表示的字符為所要讀取的字符,則在讀取時(shí)可以同時(shí)向兩個(gè)RAM發(fā)送讀地址和讀使能,不難發(fā)現(xiàn),讀取9個(gè)字符只需要進(jìn)行I次RAM讀取,相比圖3所示的傳統(tǒng)的數(shù)據(jù)緩存模塊,本設(shè)計(jì)可以節(jié)省2?3個(gè)周期,當(dāng)需要頻繁訪問數(shù)據(jù)緩存模塊時(shí),本設(shè)計(jì)將節(jié)省大量的時(shí)間。
[0048]從圖4所給出的實(shí)施例可以看出,當(dāng)增加數(shù)據(jù)緩存模塊中RAM的個(gè)數(shù)M時(shí),或者增加RAM的寬度N時(shí),可以滿足在一次RAM讀取中讀取I個(gè)字符。
[0049]如圖5所示,本發(fā)明還設(shè)計(jì)了一種LZ77壓縮算法硬件加速系統(tǒng)的加速方法,包括如下具體步驟:
[0050]步驟(I):所述數(shù)據(jù)輸入控制模塊將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊;
[0051]步驟(2):所述數(shù)據(jù)緩存模塊存儲上述8字節(jié)數(shù)據(jù)組,當(dāng)LZ77壓縮模塊向其發(fā)起讀請求時(shí)為8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),即將I個(gè)字節(jié)長度的數(shù)據(jù)以數(shù)據(jù)源的形式傳輸至LZ77壓縮模塊,其中,1=9 ;
[0052]步驟(3):所述LZ77壓縮模塊將接收到的待壓縮數(shù)據(jù)源采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊;
[0053]步驟(4):所述數(shù)據(jù)輸出控制模塊將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式傳輸至接口,以便接口進(jìn)行讀取。
[0054]如圖6所示,作為本發(fā)明的一種優(yōu)化方法:包括如下具體步驟:
[0055]步驟(I):所述數(shù)據(jù)輸入控制模塊將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊;
[0056]步驟(2):所述數(shù)據(jù)緩存模塊將上述8字節(jié)數(shù)據(jù)組交替緩存至M個(gè)隨機(jī)存取存儲器之中的一個(gè),當(dāng)LZ77壓縮模塊向其發(fā)起讀請求時(shí),所述數(shù)據(jù)緩存模塊為8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),即向LZ77壓縮模塊提供I個(gè)字節(jié)長度的數(shù)據(jù),其中,M為大于等于2的自然數(shù),1=9 ;
[0057]步驟(3):所述LZ77壓縮模塊將接收到的I個(gè)字節(jié)長度的數(shù)據(jù)采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊;
[0058]步驟(4):所述數(shù)據(jù)輸出控制模塊將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式傳輸至接口,以便接口進(jìn)行讀取。
[0059]如圖7所示,作為本發(fā)明的一種優(yōu)化方法:所述步驟(3)還包括如下具體處理:
[0060]步驟(31):所述LZ77壓縮模塊對接收到的I個(gè)字節(jié)長度的數(shù)據(jù)計(jì)算Hash值;
[0061]步驟(32):所述LZ77壓縮模塊根據(jù)上述Hash值再次向數(shù)據(jù)緩存模塊發(fā)出讀請求,從數(shù)據(jù)緩存模塊中讀取I個(gè)字符;
[0062]步驟(33):所述LZ77壓縮模塊將此次讀取的I個(gè)字符對比當(dāng)前字符與歷史字符進(jìn)行對比,若匹配,則將收到的I個(gè)字節(jié)長度的數(shù)據(jù)采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊,若不匹配,則轉(zhuǎn)而執(zhí)行步驟(32)。
[0063]圖8示出本發(fā)明提供的加速方法的一個(gè)具體應(yīng)用例的流程圖;
[0064]步驟a:將輸入的數(shù)據(jù)組包成N字節(jié)長度,例如,將輸入的數(shù)據(jù)組包成N (N=8)字節(jié)長度;
[0065]步驟b:將長度為N字節(jié)的數(shù)據(jù)交替緩存至M個(gè)RAM之中的一個(gè),例如,將數(shù)據(jù)輸入控制模塊傳輸過來的8字節(jié)存儲在緩存模塊中,當(dāng)LZ77壓縮模塊發(fā)起讀請求(請求讀9個(gè)字節(jié))時(shí)將數(shù)據(jù)傳輸給LZ77壓縮模塊;
[0066]步驟c:當(dāng)LZ77模塊發(fā)出讀請求時(shí),向LZ77壓縮模塊提供I個(gè)字節(jié)長度的數(shù)據(jù),例如,向LZ77壓縮模塊提供1=9個(gè)字節(jié)長度的數(shù)據(jù);
[0067]步驟d:計(jì)算Hash值,例如,采用Hash計(jì)算公式對待壓縮字符計(jì)算Hash值;
[0068]步驟e:向數(shù)據(jù)緩存模塊發(fā)出讀請求,讀取I個(gè)字符,例如,向緩存模塊發(fā)出請求讀取1=9個(gè)字符;
[0069]步驟f:對比當(dāng)前讀取的字符與歷史字符,輸出壓縮結(jié)果,例如,比對結(jié)果為出現(xiàn)匹配,則輸出壓縮后的結(jié)果;
[0070]步驟g:控制壓縮后的數(shù)據(jù)傳輸至接口,以便接口讀取壓縮后的數(shù)據(jù),例如,控制壓縮后的數(shù)據(jù)以8字節(jié)組包的方式傳輸至接口,方便接口處理數(shù)據(jù)。
[0071]參考前述本發(fā)明示例性的描述,本領(lǐng)域技術(shù)人員可以知曉本發(fā)明具有以下優(yōu)點(diǎn):
[0072]本發(fā)明提供了一種LZ77壓縮算法硬件加速系統(tǒng)及加速方法,采用可編程邏輯器件(FPGA)實(shí)現(xiàn)LZ77壓縮算法,通過采用數(shù)據(jù)緩存模塊加速LZ77壓縮算法,從而有效的提高了現(xiàn)有LZ77壓縮算法的處理效率。
[0073]本發(fā)明提供了一種LZ77壓縮算法硬件加速系統(tǒng)及方法,采用數(shù)據(jù)緩存模塊加速算法的處理過程,而且數(shù)據(jù)緩存模塊可以根據(jù)設(shè)計(jì)需要做適當(dāng)調(diào)整,如可以更改RAM的個(gè)數(shù)M,更改RAM的位寬N,達(dá)到最優(yōu)效果。
[0074]本發(fā)明提供了一種LZ77壓縮算法硬件加速系統(tǒng)及方法,該硬件加速系統(tǒng)及方法也可以應(yīng)用于利用LZ77壓縮原理的算法中,如Gzip算法、LZO算法;LZ77變型和類似算法中,如LZW算法、LZSS算法等。
【權(quán)利要求】
1.一種LZ77壓縮算法硬件加速系統(tǒng),其特征在于,包括數(shù)據(jù)輸入控制模塊、數(shù)據(jù)緩存模塊、LZ77壓縮模塊和數(shù)據(jù)輸出控制模塊,其中: 所述數(shù)據(jù)輸入控制模塊用于將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊; 所述數(shù)據(jù)緩存模塊用于存儲上述8字節(jié)數(shù)據(jù)組,并在接收到LZ77壓縮模塊發(fā)出的讀請求時(shí),為該8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),將得到的9個(gè)字節(jié)長度的數(shù)據(jù)以數(shù)據(jù)源的形式傳輸至LZ77壓縮模塊; 所述LZ77壓縮模塊用于對上述待壓縮的數(shù)據(jù)源采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊; 所述數(shù)據(jù)輸出控制模塊用于將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式輸出。
2.根據(jù)權(quán)利要求1所述的一種LZ77壓縮算法硬件加速系統(tǒng),其特征在于,所述數(shù)據(jù)緩存模塊包括M個(gè)隨機(jī)存取存儲器,所述M個(gè)隨機(jī)存取存儲器的輸入端共同連接數(shù)據(jù)輸入控制模塊的輸出端,所述M個(gè)隨機(jī)存取存儲器的輸出端共同連接LZ77壓縮模塊的輸入端,每個(gè)隨機(jī)存取存儲器的寬度為8字節(jié),其中,M為大于等于2的自然數(shù)。
3.一種基于權(quán)利要求1所述的LZ77壓縮算法硬件加速系統(tǒng)的加速方法,其特征在于,包括如下具體步驟: 步驟(I):所述數(shù)據(jù)輸入控制模塊將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊; 步驟(2):所述數(shù)據(jù)緩存.模塊用于存儲上述8字節(jié)數(shù)據(jù)組,并在接收到LZ77壓縮模塊發(fā)出的讀請求時(shí),為該8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),將得到的9個(gè)字節(jié)長度的數(shù)據(jù)以數(shù)據(jù)源的形式傳輸至LZ77壓縮模塊; 步驟(3 ):所述LZ77壓縮模塊將接收到的待壓縮數(shù)據(jù)源采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊; 步驟(4):所述數(shù)據(jù)輸出控制模塊將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式傳輸至接口,以便接口進(jìn)行讀取。
4.一種基于權(quán)利要求2所述的LZ77壓縮算法硬件加速系統(tǒng)的加速方法,其特征在于,包括如下具體步驟: 步驟(I):所述數(shù)據(jù)輸入控制模塊將控制接口傳輸過來的數(shù)據(jù)打包成8字節(jié)數(shù)據(jù)組,并傳輸至數(shù)據(jù)緩存模塊; 步驟(2):所述數(shù)據(jù)緩存模塊將上述8字節(jié)數(shù)據(jù)組交替緩存至M個(gè)隨機(jī)存取存儲器,當(dāng)LZ77壓縮模塊向其發(fā)起讀請求時(shí),所述讀請求同時(shí)發(fā)送到所有隨機(jī)存取存儲器,所述數(shù)據(jù)緩存模塊為隨機(jī)存取存儲器中的8字節(jié)數(shù)據(jù)組加上標(biāo)示字節(jié),即向LZ77壓縮模塊提供9個(gè)字節(jié)長度的數(shù)據(jù),其中,M為大于等于2的自然數(shù); 步驟(3):所述LZ77壓縮模塊將接收到的9個(gè)字節(jié)長度的數(shù)據(jù)采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊; 步驟(4):所述數(shù)據(jù)輸出控制模塊將上述LZ77數(shù)據(jù)包以8字節(jié)組包的形式輸出。
5.根據(jù)權(quán)利要求4所述的一種LZ77壓縮算法硬件加速方法,其特征在于,所述步驟(3)還包括如下具體處理: 步驟(31):所述LZ77壓縮模塊對接收到的9個(gè)字節(jié)長度的數(shù)據(jù)計(jì)算Hash值;步驟(32): 所述LZ77壓縮模塊根據(jù)上述Hash值再次向數(shù)據(jù)緩存模塊發(fā)出讀請求,從數(shù)據(jù)緩存模塊中讀取9字符; 步驟(33): 所述LZ77壓縮模塊將此次讀取的I個(gè)字符與歷史字符進(jìn)行對比,若匹配,則將收到的9個(gè)字節(jié)長度的數(shù)據(jù)采用LZ77壓縮方法壓縮成LZ77數(shù)據(jù)包,并將LZ77數(shù)據(jù)包傳輸至數(shù)據(jù)輸出控制模塊,若不匹配,則轉(zhuǎn)而執(zhí)行步驟(32)。
【文檔編號】H03M7/30GK103475375SQ201310397198
【公開日】2013年12月25日 申請日期:2013年9月4日 優(yōu)先權(quán)日:2013年9月4日
【發(fā)明者】李冰, 尚壯壯, 董乾, 王剛, 趙霞, 劉勇 申請人:東南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
宁蒗| 托克托县| 吉安市| 七台河市| 江孜县| 忻城县| 建始县| 全州县| 寻乌县| 西安市| 北海市| 太保市| 阿鲁科尔沁旗| 绵竹市| 巴马| 平潭县| 镇坪县| 顺义区| 南溪县| 万荣县| 石柱| 合作市| 利川市| 光山县| 固始县| 图片| 贞丰县| 安岳县| 淮北市| 闸北区| 广昌县| 莒南县| 陕西省| 珠海市| 蛟河市| 河间市| 永年县| 东乡| 盐源县| 灌云县| 天长市|