[发明专利]基于散列的加速压缩方法以及使用此方法的装置有效
申请号: | 201710347210.1 | 申请日: | 2017-05-17 |
公开(公告)号: | CN107168936B | 公开(公告)日: | 2019-02-19 |
发明(设计)人: | 李晓阳;齐宗普;王峥;杨梦晨;武芳芳;罗时灿;孟磊;喻津;何宽瑞;李琳 | 申请(专利权)人: | 上海兆芯集成电路有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 徐协成 |
地址: | 上海市张江高科技*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 加速 压缩 方法 以及 使用 装置 | ||
基于散列的加速压缩方法以及使用此方法的装置。本发明的实施例提出一种基于散列的加速压缩方法,实施于微处理器的压缩加速器中,至少包含以下步骤:多个散列函数并行接收从有限状态机传来的多个子字符串;每一散列函数将接收的子字符串映射成散列索引,及依据散列索引驱动选择器以连接至多个匹配路径中的一个;当连接的匹配路径中的匹配器判定散列表不包含子字符串时,传送不匹配的信息给有限状态机;以及当连接的匹配路径中的匹配器判定散列表包含子字符串时,传送匹配的信息及散列表中相应于子字符串的匹配偏移量给有限状态机。
技术领域
本发明涉及一种微处理器技术,特别涉及一种基于散列的加速压缩方法以及使用此方法的装置。
背景技术
对于压缩加速器(compression accelerator)来说,最复杂的部分在于进行最长前缀字符串匹配(longest-prefix string matching),而最长前缀字符串匹配方法通常可归类为:基于内容可寻址内存(CAM-,Content Addressable Memory-based);及基于散列(hash-based)二种。基于散列的字符串匹配通常都藉由降低散列链长度和/或使用低冲突函数来进行优化,而上述优化均为软件算法上的优化。然而,软件的执行效能往往劣于专属硬件的执行效能。因此,需要一种基于散列的加速压缩方法以及使用此方法的装置,用以克服上述缺陷。
发明内容
本发明的实施例提出一种基于散列的加速压缩方法,实施于微处理器的压缩加速器中,至少包含以下步骤:多个散列函数并行接收从有限状态机传来的多个子字符串;每一散列函数将接收的子字符串映射成散列索引,及依据散列索引驱动选择器以连接至多个匹配路径中的一个;当连接的匹配路径中的匹配器判定散列表不包含子字符串时,传送不匹配的信息给有限状态机;以及当连接的匹配路径中的匹配器判定散列表包含子字符串时,传送匹配的信息及散列表中相应于子字符串的匹配偏移量给有限状态机。
本发明的实施例提出一种基于散列的加速压缩装置,至少包含:有限状态机;及散列匹配器。散列匹配器耦接于有限状态机,包含:多个散列函数;选择器,耦接于散列函数;以及对应于多个散列函数的多个匹配路径,耦接至选择器。多个散列函数并行接收有限状态机传来的多个子字符串,并将每一子字符串映射成散列索引,及依据散列索引驱动选择器以连接至匹配路径中的一个。当连接的匹配路径判定散列表不包含子字符串时,传送不匹配的信息给有限状态机。当连接的匹配路径判定散列表包含子字符串时,传送匹配的信息及散列表中相应于子字符串的匹配偏移量给有限状态机。
本发明的前述有限状态机可以在同一时钟周期同时输出多个散列请求分别给多个散列函数并行进行散列匹配,并且藉由本发明之中介缓存器记录各实例的状态、匹配长度及匹配偏移量,使得乱序执行散列匹配和最长匹配后的实例能够按照待压缩字符串中的原始顺序退却以进行压缩。
附图说明
图1是依据本发明实施例的微处理器的系统架构图。
图2是依据本发明实施例的压缩加速器的方块图。
图3是依据本发明实施例的状态图。
图4是依据本发明实施例的散列请求程序的流程图。
图5是依据本发明实施例的散列回复处理程序的流程图。
图6是依据本发明实施例的数据回复处理程序的流程图。
图7是依据本发明实施例的退却处理程序的流程图。
图8是依据本发明实施例的散列匹配器的方块图。
图9是依据本发明实施例的匹配器的方块图。
图10是依据本发明实施例的散列匹配方法的流程图。
【符号说明】
10 微处理器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海兆芯集成电路有限公司,未经上海兆芯集成电路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710347210.1/2.html,转载请声明来源钻瓜专利网。