[发明专利]bzip2压缩算法硬件加速实现方法无效
申请号: | 200910095596.7 | 申请日: | 2009-01-22 |
公开(公告)号: | CN101478311A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 陈天洲;严力科;胡威;王罡;冯德贵;吴斌斌;陈度;王勇刚;刘敬伟 | 申请(专利权)人: | 浙江大学 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;G06F9/38 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种bzip2压缩算法硬件加速实现方法。本方法是利用硬件加速器实现在程序中占大量执行时间的前置变换和行程长度编码,以加速程序的压缩速度。有如下特点:首先,以硬件加速器输入输出缓存作为与通用计算系统的通信接口,并通过软件为硬件加速器准备输入数据,并整理读取输出数据,简化了硬件加速器的设计;其次,以硬件方式实现前置变换和行程长度编码,并采用全展开的2048位并行比较器和移位器,加速了程序的执行,加快了bzip2算法的数据压缩速度,有效提高程序的性能。 | ||
搜索关键词: | bzip2 压缩 算法 硬件加速 实现 方法 | ||
【主权项】:
1、一种bzip2压缩算法硬件加速实现方法,其特征在于:1)软件对硬件加速器的输入输出进行管理:硬件加速器以输入输出缓存作为与通用计算系统的通信接口;软件直接访问硬件加速器的输入输出缓存,为硬件加速器准备输入数据,并整理读取输出数据:①硬件加速器开始计算前,软件组织好硬件加速器的输入数据,写入到硬件加速器的输入缓存;②硬件加速器计算完成后,软件将硬件加速器的输出数据从缓存中取走,写回到系统内存;2)硬件加速器实现前置变换和行程长度编码:硬件加速器包括本地存储、本地缓存、寄存器组、一个2048位并行比较器、一个2048位移位器、一个256-8编码器和一个行程长度编码器;寄存器组包括当前字节寄存器、当前地址寄存器、输出地址寄存器、连续相同字节计数器、2048位的字符列表寄存器;具体实现步骤如下:①根据当前地址从输入缓存中读取内容到当前字节寄存器,当前地址加1;②以当前字节寄存器内容和字符列表寄存器作为2048位并行比较器的输入,进行并行比较;③以2048位并行比较器的输出作为256-8编码器的输入,进行编码;I、当编码结果为00000000时,连续相同字节计数器加1,继续步骤①;II、当编码结果不为00000000,并且连续相同字节计数器为0时,继续执行步骤④;III、当编码结果不为00000000,并且连续相同字节计数器不为0时,继续执行步骤⑤;④以2048位并行比较器的输出结果和字符列表寄存器作为2048位移位器的输入,以2048位并行比较器的输出结果中的一位对应字符列表寄存器中的一个字节,将2048位并行比较器的输出结果中‘1’所指向的字节前置到字符列表寄存器的第一个字节,将‘1’左边的‘0’所对应的字符列表寄存器中的字节向后移8位;继续执行步骤⑥;⑤以连续相同字节计数器计数值作为行程长度编码器的输入,进行行程长度编码,然后继续执行步骤④;⑥将256-8编码器的编码结果写回到本地存储中输出地址寄存器指向的空间;如果输入数据还没处理完,继续步骤①;如果输入数据已经全部处理,硬件加速器挂起,通知软件取回结果数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910095596.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种多天线蜂窝通信系统中多小区之间协作调度的方法
- 下一篇:一种电源插座