推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

Gzip压缩的硬件加速电路设计

更新时间:2019-12-25 03:34:39 大小:1M 上传用户:zhiyao6查看TA发布的资源 标签:Gzip压缩硬件加速电路设计 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

硬件无损压缩技术可以发挥专用电路的速度和功耗优势,被广泛应用于大数据计算以及通信领域.本文以GNUzip(Gzip)数据无损压缩技术为原型设计了一种硬件压缩电路.通过采用双Hash函数、并行匹配处理、面向硬件存储的LZ77压缩存储格式、高效数据拼接器等加速方法,发挥并行计算和流水线结构优势,提升压缩速率.该硬件压缩电路基于Verilog HDL设计,使用现场可编程门阵列(FPGA)进行测试和验证.测试数据表明:与软件压缩方式相比,该硬件压缩电路在获得适中压缩率(65.9%)的同时,其压缩速率得到显著提升,平均压缩速率达171Mb/s,满足网络通信、数据存储等实时压缩应用需求.


部分文件列表

文件名 大小
Gzip压缩的硬件加速电路设计.pdf 1M

部分页面预览

(完整内容请下载后查看)
3
Vol. 45 No. 3  
Mar. 2017  
2017  
ACTA ELECTRONICA SINICA  
3
Gzip  
压缩的硬件加速电路设计  
李 冰 王超凡 顾 巍 董 乾  
(
210096)  
东南大学集成电路学院 江苏南京  
:
.
硬件无损压缩技术可以发挥专用电路的速度和功耗优势 被广泛应用于大数据计算以及通信领域 本  
GNUzip( Gzip)  
.
数据无损压缩技术为原型设计了一种硬件压缩电路 通过采用双  
Hash  
文以  
函数 并行匹配处理 面向  
LZ77  
.
硬件存储的  
压缩存储格式 高效数据拼接器等加速方法 发挥并行计算和流水线结构优势 提升压缩速率 该硬  
Verilog HDL  
( FPGA)  
.
:
件压缩电路基于  
设计 使用现场可编程门阵列  
进行测试和验证 测试数据表明 与软件压缩方式  
171Mb/s,  
满足  
( 65ꢀ 9% )  
相比 该硬件压缩电路在获得适中压缩率  
的同时 其压缩速率得到显著提升 平均压缩速率达  
网络通信 数据存储等实时压缩应用需求  
.
:
; Gzip; ; LZ77; FPGA  
硬件  
关键词  
中图分类号  
无损压缩  
:
TP391ꢀ 1; TN492  
:
A
:
03722112 ( 2017) 03054006  
DOI: 10. 3969 /j. issn. 03722112. 2017. 03. 005  
文献标识码  
文章编号  
URL: http: / /www. ejournal. org. cn  
电子学报  
Hardware-Accelerated Circuit Design for Gzip Compression  
LI BingWANG ChaofanGU WeiDONG Qian  
( School of Integrated CircuitSoutheast UniversityNanjingJiangsu 210096China)  
Abstract: The hardware implementation of lossless data compression is wildly used in big data computing and com-  
municationsince it combines the speed and power advantage of the dedicated circuit. This paper proposed a hardware com-  
pression circuit based on GNUzip( Gzip) lossless data compression algorithm. The dual Hash functionsparallel match pro-  
cessinghardware storage oriented LZ77 compression data format and highperformance data adaptor were involved to accel-  
erate the compression speed with the advantages of parallel calculation and pipeline structure. The hardware compression cir-  
cuitbased on Verilog HDLwas tested and verified by field programmable gate array( FPGA) . The test data shows that,  
compared with software implementationthe compression speed of hardware circuit is improved significantly while the com-  
pression rate is 65ꢀ 9% . The average speed is up to 171Mb/s that can satisfy the realtime compression requests of network  
communication and data storage.  
Key words: lossless compression; Gzip; hardware; LZ77; FPGA  
23清华大学和百度公司使用分布式随机存储器  
;
1
引言  
( RAM)  
FPGA,  
实现了高速多通  
构成字典 基于定制的  
4]  
数据无损压缩技术可节约存储空间 降低数据传  
Gzip  
;
道的  
无损数据压缩  
微软公司和华盛顿大学合  
Hash  
输带宽需1且不影响数据重构质量 常以软件方式  
LZ77  
处理结构 取代了原有  
作设计了新型  
算法的  
Hash  
5]  
.
实现 该方式配置灵活 易获得较好的压缩率 但存在资  
;
滑铁卢大  
的链表结构 有效提升了  
的处理效率  
源消耗多 功耗大 处理速率低等性能瓶颈 无法满足大  
.
Huffman  
学完成了动态  
编码的硬件实现等工作 进一步  
提升了压缩率性6]  
数据环境下的实时压缩处理需求  
.
是一种基于字78熵编9无损压缩  
基于硬件的数据无损压缩实现方式 可充分利用  
Gzip  
其并行计算和流水线的性能优势 以很小的压缩率损  
.
方式 本文以提高数据压缩速率为主要目标 兼顾硬件  
失为代价获得极高的处理效率 同时几乎不占用上位  
Hash  
资源消耗 使用双  
函数 并行匹配处理方法 面向  
.
机的运算 存储资源 因而被国内外院校和企业关注和  
LZ77  
压缩存储格式 高效数据拼接器等多  
硬件存储的  
: 20150817;  
: 20160115; :  
责任编辑 覃怀银  
收稿日期  
修回日期  
:
( No. 61571116)  
基金项目 国家自然科学基金  
541  
3
: Gzip  
压缩的硬件加速电路设计  
Deflate  
Xilinx Vertix6 ML605  
Huffman  
种提速方法 基于  
Gzip  
硬件平台实现  
算法第二级包括动态 静态  
编码处  
.
.
理 动态  
Huffman  
是一种基于频率统计的编码方式 其  
数据无损压缩 测试发现其平均压缩速率可达  
171Mb/s,  
频率统计 基于频率编码的 两遍 处理需求限制了流  
相较无损压缩软件的平均处理速率提升可达  
.
Huffman  
8
.
水线结构的使用 另外 动态  
编码过程中对存  
储资源需求大且利用率不高 本文以提升无损压缩速  
Huffman  
倍多  
.
2
Gzip  
数据无损压缩技术  
率为主要目标 兼顾资源消耗 选择使用静态  
Gzip  
Deflate  
是一种基于  
算法的两级无损压缩方  
.
实现第二级数据无损压缩的方式 以少量压缩率损失  
1( a)  
式 该两级处理流程如图  
所示 待压缩数据经第一  
.
为代价 获得硬件资源的优化和压缩速率的极大提高  
69]  
LZ77  
Huff-  
man  
压缩后 再分别经过第二级的动态 静态  
Huffman  
如表  
1
静态  
编码根据预设编码表  
编码处理 最后选择压缩率较好的结果输出  
LZ77  
( LENDISLIT)  
示 对  
压缩输出数据  
进行编码 并  
78]  
LZ77  
是一种基于字典的数据无损压缩算法  
过使用索引替代重复出现的字符串达到压缩的目的  
1( b) ( Hash)  
函数被引入用来实  
Gzip  
. LZ77  
文件格式封装发送  
压缩输出数据的组织  
.
形式也是影响编码速率的关键因素之一  
1
Huffman  
静态  
编码树  
其流程如图  
现快速查找重复字符串 顺序计算每个字符串前 个字  
( byte) Hash Hash  
所示 哈希  
:
3
字符编号  
编码位数  
编码值  
0 ꢁ 143  
8
9
7
8
00110000 ꢁ 10111111  
值 根据  
值构造 维护链表 并沿  
144 ꢁ 255  
256 ꢁ 279  
280 ꢁ 287  
110010000 ꢁ 111111111  
0000000 ꢁ 0010111  
.
着链表顺序搜索匹配 若匹配完成时 未找到重复字符  
( LIT) ,  
串 则输出字符编码  
反之则输出由指回距离  
.
11000000 ꢁ 11000111  
( DIS) ( LEN)  
与匹配长度  
构成的编码  
3
Gzip  
数据无损压缩硬件加速方案  
2
针对第 节所述各种影响  
Gzip  
无损压缩速率的关  
4
键问题 本文相应使用 种加速方法 以达到数据无损  
.
压缩硬件加速的目的  
3. 1  
Hash  
LZ77  
函数提升  
匹配成功率  
3byte  
Hash  
15  
使用  
函数构造链 表 时  
与  
( bit) Hash  
值 多对一 的映射关系会导致 伪匹配 情  
.
2
况的出现 降低字符串匹配的成功率 本文通过使用  
Hash 3byte Hash  
值 当且  
.
种不同  
仅当所得  
函数计算字符串前  
Hash  
值的指向地址相同时维护链表 以此降  
.
低 伪匹配 出现概率 提高匹配成功率  
2
电路结构如图 所示 链表信息存储于链头存储器  
( Head Ram1Head Ram2)  
( Prev Ram)  
和回溯存储器  
2 Hash  
. Hash  
计算模块 包含 个不同的  
函数计算逻  
Hash  
.
/
辑 可并行计算两路  
值 链表构造 维护模块根据  
Hash  
Head Ram1Head Ram2  
两个  
两路  
值相应地从  
中获取  
值各自的指向地址 当所指向的地址相同时  
Head Ram1Head Ram2 Prev Ram.  
Hash  
维护链表 更新  
Hash  
( Mat Ad-  
值都指向的相同地址  
同时 将两路  
LZ77  
压缩是一个循环迭代的过程 由于各个步骤  
;
Hash  
间数据的依赖性 使得并行计算难以开展 加之  
Hash  
数 多对一 的特征 不可避免地出现  
值相同而字  
.“ ”  
符串不同的 伪匹配 情况 伪匹配 导致不必要的匹  
LZ77  
.
压缩处理速率 此 外  
配比较工作将极大限制  
LZ77  
LZ77  
匹配处理的执行效率也是影响  
压缩处理速  
.
率的关键因素  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载