[发明专利]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.vipzhuanli.com/pat/books/200910095596.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多天线蜂窝通信系统中多小区之间协作调度的方法
- 下一篇:一种电源插座