[發明專利]bzip2壓縮算法硬件加速實現方法無效
| 申請號: | 200910095596.7 | 申請日: | 2009-01-22 |
| 公開(公告)號: | CN101478311A | 公開(公告)日: | 2009-07-08 |
| 發明(設計)人: | 陳天洲;嚴力科;胡威;王罡;馮德貴;吳斌斌;陳度;王勇剛;劉敬偉 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | H03M7/30 | 分類號: | H03M7/30;G06F9/38 |
| 代理公司: | 杭州求是專利事務所有限公司 | 代理人: | 林懷禹 |
| 地址: | 310027浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | bzip2 壓縮 算法 硬件加速 實現 方法 | ||
1.一種bzip2壓縮算法硬件加速實現方法,其特征在于:
1)軟件對硬件加速器的輸入輸出進行管理:
硬件加速器以輸入輸出緩存作為與通用計算系統的通信接口;
軟件直接訪問硬件加速器的輸入輸出緩存,為硬件加速器準備輸入數據,并整理和讀取輸出數據:
①硬件加速器開始計算前,軟件組織好硬件加速器的輸入數據,寫入到硬件加速器的輸入緩存;
②硬件加速器計算完成后,軟件將硬件加速器的輸出數據從輸出緩存中取走,寫回到系統內存;
2)硬件加速器實現前置變換和行程長度編碼:
輸入緩存和輸出緩存分離,輸入緩存稱為本地緩存,用作緩存硬件加速器的輸入數據,輸出緩存稱作本地存儲,用作存儲硬件加速器的計算結果;硬件加速器包括本地存儲、本地緩存、寄存器組、一個2048位并行比較器、一個2048位移位器、一個256-8編碼器和一個行程長度編碼器;
寄存器組包括當前字節寄存器、當前地址寄存器、輸出地址寄存器、連續相同字節計數器、2048位的字符列表寄存器;其中字符列表寄存器的初始時從左到右按順序存儲值為0到256的字節;
具體實現步驟如下:
①根據當前地址從輸入緩存中讀取內容到當前字節寄存器,當前地址加1;
②以當前字節寄存器內容和字符列表寄存器作為2048位并行比較器的輸入,按如下方式進行并行比較:2048位并行比較器有兩個輸入,8位的當前字節寄存器輸入和2048位的字符列表寄存器輸入;輸出結果為256位,每1位表示8位輸入與2048位輸入中的每8位的比較結果,相同則為‘1’,否則為‘0’;
③以2048位并行比較器的輸出作為256-8編碼器的輸入,進行編碼;
I、當編碼結果為00000000時,連續相同字節計數器加1,繼續步驟①;
II、當編碼結果不為00000000,并且連續相同字節計數器為0時,繼續執行步驟④;
III、當編碼結果不為00000000,并且連續相同字節計數器不為0時,繼續執行步驟⑤;
④以2048位并行比較器的輸出結果和字符列表寄存器作為2048位移位器的輸入,以2048位并行比較器的輸出結果中的一位對應字符列表寄存器中的一個字節,將2048位并行比較器的輸出結果中‘1’所指向的字節前置到字符列表寄存器的第一個字節,將‘1’左邊的‘0’所對應的字符列表寄存器中的字節向后移8位;繼續執行步驟⑥;
⑤以連續相同字節計數器計數值作為行程長度編碼器的輸入,進行行程長度編碼,然后繼續執行步驟④;
⑥將256-8編碼器的編碼結果寫回到本地存儲中輸出地址寄存器指向的空間;如果輸入數據還沒處理完,繼續步驟①;
如果輸入數據已經全部處理,硬件加速器掛起,通知軟件取回結果數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910095596.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種多天線蜂窩通信系統中多小區之間協作調度的方法
- 下一篇:一種電源插座





