[发明专利]一种Gzip硬件压缩方法在审
申请号: | 201410197092.7 | 申请日: | 2014-05-12 |
公开(公告)号: | CN103957013A | 公开(公告)日: | 2014-07-30 |
发明(设计)人: | 李冰;史曙光;许立峰;董乾;赵霞;刘勇;王刚;陆清茹;陈德斌 | 申请(专利权)人: | 东南大学成贤学院 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 朱小兵 |
地址: | 210088 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gzip 硬件 压缩 方法 | ||
技术领域
本发明涉及数据压缩中数据通道的技术。尤其涉及一种Gzip硬件压缩系方法。
背景技术
随着现代科学技术的发展,特别是在云计算的研究越来越大众化,大数据的传输与处理越来越成为焦点,一种有效的方法是使用压缩技术将数据压缩后在传输,而传统的压缩都是软件实现的,软件实现的最大的问题就是浪费CPU宝贵资源。而解决这类问题有效的方法是用硬件资源来实现软件压缩的功能,这可以代替CPU进行数据处理,从而使CPU处理其他程序。
目前,数据压缩分为两种:有损压缩和无损压缩。有损压缩包括脉冲编码调制、预测编码、变换编码、小波编码 ,无损压缩包括LZW、LZO、LZMA、Gzip。有损压缩虽然是原始数据得到大幅度的压缩,但是解压缩的数据与原始数据不一致,不可修复,数据出现损失,而无损压缩能够很好弥补有损压缩这一缺点。无损压缩是可逆的,数据在压缩过程中不丢失。其中Gzip算法在压缩速率和和压缩率都比较好,但是,在FPGA测试时候则遇到PC的存储器与FPGA上数据传输的问题。常用的数据传输方式包括程序控制、中断控制、DMA(Direct Memory Access)方式。一般的数据传送(包括程序控制方式、中断方式)是在CPU(Central Processing Unit)的控制下进行的,即CPU向地址总线和控制总线发出双方的地址和控制信息,再将要传送的数据送到数据总线并经过CPU的累加器转送到存储单元或外部设备端口。且每次传送的位数有限(最多不超过CPU数据线宽度),其数据传送速度要比内存的存储速度低得多。经CPU进行大批量的数据传送是很不经济的,尤其是不适合要求实时传送数据的场景。而DMA技术只需要CPU完成对其配置就能够自动根据配置信息传输数据,从而使CPU解放出来,处理其他进程。
本发明针对Gzip硬件压缩的特性定制了数据传输的方法,从而使Gzip硬件压缩的效率得到提升。
发明内容
本发明所要解决的技术问题是针对背景技术中的缺陷,提供一种有效节省CPU时间、提供数据速率、并且提高压缩效率的Gzip硬件压缩方法。
本发明为解决上述技术问题采用以下技术方案:
一种Gzip硬件压缩方法,包含DMA模块和Gzip压缩模块,具体步骤如下:
步骤1),对DMA模块的寄存器和Gzip压缩模块的寄存器进行配置;
步骤2),DMA模块向外部CPU发送数据请求包;
步骤3),DMA模块接收CPU发送的数据包,并解析该数据包;
步骤4),DMA模块将解析数据包得到的需要压缩的数据传输给Gzip压缩模块;
步骤5),Gzip压缩模块将需要压缩的数据进行压缩后,向DMA模块发出写数据请求;
步骤6),DMA模块接收压缩的数据,并将其封装成DMA写请求包发送给外部CPU。
作为本发明一种Gzip硬件压缩方法进一步的优化方案,步骤1)中所述DMA模块的寄存器包含第一复位寄存器、DMA写寄存器组、DMA读寄存器组、中断使能寄存器和中断屏蔽寄存器,所述Gzip压缩模块的寄存器包含第二复位寄存器、Gzip压缩模式寄存器和Gzip压缩使能寄存器。
作为本发明一种Gzip硬件压缩方法进一步的优化方案,所述DMA写寄存器组包含DMA写状态寄存器、DMA写地址寄存器和DMA写数据长度寄存器,所述DMA读寄存器组包含DMA读状态寄存器、DMA读地址寄存器和DMA读数据长度寄存器。
作为本发明一种Gzip硬件压缩方法进一步的优化方案,步骤1)中所述对DMA模块的寄存器进行配置的详细步骤如下:
步骤1.1),DMA模块接收外部CPU的存储器写请求,解析存储器写请求,将存储器写请求包中的数据和地址解析出来,并将数据写到相应的地址中;
步骤1.2),DMA模块接收外部CPU的存储器读请求,将存储器读请求包中的数据发送给外部CPU,供外部CPU确认存储器写请求已被执行。
作为本发明一种Gzip硬件压缩方法进一步的优化方案,所述的存储器写请求包、存储器读请求包采用PCIe协议格式。
作为本发明一种Gzip硬件压缩方法进一步的优化方案,步骤2)中所述 DMA模块向外部CPU发送数据请求包的具体步骤是:
DMA模块根据存储器写请求中的地址和数据,构造PCIe存储器读报文,向外部CPU申请数据。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学成贤学院,未经东南大学成贤学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410197092.7/2.html,转载请声明来源钻瓜专利网。