【技术实现步骤摘要】
加速压缩方法以及使用此方法的装置
本专利技术关于一种微处理器技术,特别是一种加速压缩方法以及使用此方法的装置。
技术介绍
字符串匹配方法通常可归类为:基于内容可寻址内存(CAM-,ContentAddressableMemory-based);和基于散列(hash-based);两种。以上所述的字符串匹配都需要优化的最长字串匹配方法,而优化传统上以软件实现。然而,软件的执行效能往往劣于专属硬件的执行效能。因此,需要一种使用专属硬件的加速压缩方法以及使用此方法的装置,用以克服上述缺陷。
技术实现思路
本专利技术的实施例提出一种加速压缩方法,实施于压缩加速器中,至少包含以下步骤:提供第一字符串和第二字符串;以及,反复执行循环,用以决定于第一字符串及第二字符串间的匹配长度。在循环的每一迭代中,从第一字符串中取得n个连续字符作为源字符串;将源字符串中的每个字符单独地与第二字符串中的所有字符比较以生成n个第一匹配结果;根据n个第一匹配结果生成第二匹配结果;根据第二匹配结果判断是否存在n个连续字符的匹配;当不存在上述n个连续字符的匹配时,更新并输出匹配长度,并且结束循环;以及当存在上述n个连续字符的匹配时,将匹配长度加上n及继续循环的下一迭代。本专利技术的实施例提出一种加速压缩装置,至少包含滑动窗口缓存器、预取缓存器、掩码寄存器、n个字符串比较器、位移比较器、结果检查器及控制器,其中n大于1。预取缓存器锁存第一字符串中的n个连续字符作为源字符串,滑动窗口缓存器锁存第二字符串,以及掩码寄存器锁存掩码。n个字符串比较器将源字符串中的每个字符单独地与第二字符串中的所有字符比较, ...
【技术保护点】
一种加速压缩方法,实施于一压缩加速器中,包括:反复执行一第一循环,用以决定于一第一字符串及一第二字符串间的最大匹配长度,其中,在上述第一循环的每一迭代中,包括:从上述第一字符串中取得n个连续字符作为一源字符串,n大于1;将上述源字符串中的每个字符单独地与上述第二字符串中的所有字符比较以生成n个第一匹配结果;根据上述n个第一匹配结果生成一第二匹配结果;根据上述第二匹配结果判断是否存在上述n个连续字符的匹配;当不存在上述n个连续字符的匹配时,更新并输出一匹配长度,并且结束上述第一循环;以及当存在上述n个连续字符的匹配时,将上述匹配长度加上n并继续上述循环的下一迭代。
【技术特征摘要】
1.一种加速压缩方法,实施于一压缩加速器中,包括:反复执行一第一循环,用以决定于一第一字符串及一第二字符串间的最大匹配长度,其中,在上述第一循环的每一迭代中,包括:从上述第一字符串中取得n个连续字符作为一源字符串,n大于1;将上述源字符串中的每个字符单独地与上述第二字符串中的所有字符比较以生成n个第一匹配结果;根据上述n个第一匹配结果生成一第二匹配结果;根据上述第二匹配结果判断是否存在上述n个连续字符的匹配;当不存在上述n个连续字符的匹配时,更新并输出一匹配长度,并且结束上述第一循环;以及当存在上述n个连续字符的匹配时,将上述匹配长度加上n并继续上述循环的下一迭代。2.如权利要求1所述的加速压缩方法,其中,上述第一匹配结果中的每一个包含m个比特,每一上述第一匹配结果中的第i个比特为一第一值时,指示上述第二字符串中的第i个字符与上述源字符串中的一相应字符相符的信息;以及每一上述第一匹配结果中的第i个比特为一第二值时,指示上述第二字符串中的第i个字符与上述源字符串中的上述相应字符不相符的信息。3.如权利要求1所述的加速压缩方法,其中,除第一迭代外,上述n个连续字符接续上一迭代取得的一字符串。4.如权利要求1所述的加速压缩方法,其中,应用一掩码至上述第二匹配结果以判断是否存在上述n个连续字符的匹配,其中上述掩码储存连续匹配的期望结束位置的后一位置的信息。5.如权利要求4所述的加速压缩方法,其中,当上述第二匹配结果及上述掩码的第t+1个比特均为一第一值时,判断存在上述n个连续字符的匹配,t为n的倍数。6.如权利要求1所述的加速压缩方法,其中,上述第二匹配结果包含m个比特,当上述第二匹配结果中的第j个比特为一第一值时,代表上述第二字符串的第“j-n”至“j-1”个字符与上述源字符串中的全部字符相符,j为n至(m-1)间的任意整数。7.如权利要求1所述的加速压缩方法,其中,在更新上述匹配长度并输出上述更新后的匹配长度的步骤中,还包括:更新上述匹配长度以加上p,p为1至(n-1)间的任意整数。8.如权利要求7所述的加速压缩方法,其中,上述第二匹配结果包含第1级第二匹配结果至第n级第二匹配结果,每级第二匹配结果包含m个比特,其中第p级第二匹配结果中的第i个比特为一第一值时,代表上述第二字符串的第“i-p”至“i-1”个字符与上述源字符串中的前p个字符相符,p为1至n间的任意整数。9.如权利要求7所述的加速压缩方法,其中,在更新上述匹配长度并输出上述更新后的匹配长度的步骤中,还包括:执行一第二循环,用以检查第(n-1)级第二匹配结果至第1级第二匹配结果,以决定上述p值,其中,在上述第二循环的每一迭代中,还包括:当上述第k级第二匹配结果包含至少一个上述第一值时,将上述掩码右移k个比特,k为(n-1)至1之间的任意整数;以及当上述位移后的掩码及上述第k级第二匹配结果的一逻辑及运算结果指示存在k个连续字符的匹配时,p=k。10.如权利要求1所述的加速压缩方法,其中,还包括:当存在上述n个连续字符的匹配时,更新上述掩码中的值为上述掩码及上述第二匹配结果的一应用结果。11.一种加速压缩装置,包括:一滑动窗口缓存器,锁存一第二字符串;一预取缓存器,锁存一第一字符串中的n个连...
【专利技术属性】
技术研发人员:武芳芳,李晓阳,齐宗普,胡迪,喻津,王峥,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。