减少锁存器计数以节省用于动态霍夫曼表生成的硬件面积制造技术

技术编号:29956726 阅读:21 留言:0更新日期:2021-09-08 09:07
本发明专利技术的实施例涉及DEFLATE压缩加速器以及用于在生成动态霍夫曼表时减少符号排序所需的锁存器计数的方法。加速器包括输入缓冲器和通信地耦接到输入缓冲器的输出的Lempel

【技术实现步骤摘要】
【国外来华专利技术】减少锁存器计数以节省用于动态霍夫曼表生成的硬件面积

技术介绍

[0001]本专利技术涉及数字计算机系统,更具体地说,涉及数字计算机系统中采用的数字数据压缩和解压缩方案。
[0002]数字计算机系统执行数据压缩以实现有限存储空间的更有效使用。计算机系统通常包括称为压缩加速器的硬件组件,其接受来自主机系统的工作请求或数据请求,以压缩或解压缩所请求数据的一个或多个块。当设计加速器以执行压缩时,在与可能的压缩比相比待压缩的输入数据的大小与由压缩数据导致的等待时间之间存在折衷。
[0003]压缩加速器通常利用“DEFLATE”算法,该算法是将Lempel

Ziv(例如,LZ77)压缩算法与霍夫曼编码算法组合以执行压缩的无损压缩方案。来自霍夫曼算法的计算输出可以被看作用于编码源符号(例如文件中的字符)的可变长度码表。霍夫曼算法从源符号的每个可能值的所估计的出现概率或频率(权重)得到该表。
[0004]为了最大化使用DEFLATE算法获得的压缩比,根据符号的出现频率将符号编码到可变长度码表中。换句话说,最频繁的符号用最少的位编码,而相对较不常见的符号用相对较多的位编码。这导致压缩数据流所需的存储空间的直接减少。因为符号是基于其相对频率而编码的,所以必须对每个符号的出现计数进行排序。在该过程期间对符号计数(频率)进行排序在面积(所需的锁存器和宽度比较器的数量)、功率和计时/布线考虑方面是昂贵的。

技术实现思路

[0005]本专利技术的实施例针对一种加速器,例如DEFLATE压缩加速器,其被配置为在动态霍夫曼表生成期间减少所需的锁存器计数。加速器的非限制性示例包括输入缓冲器和通信地耦接到输入缓冲器的输出的Lempel

Ziv 77(LZ77)压缩器。加速器还包括可通信地耦接到LZ77压缩器的霍夫曼编码器。霍夫曼编码器包括位转换器。加速器还包括通信地耦接到霍夫曼编码器的输出缓冲器。
[0006]在本专利技术的一些实施例中,位转换器是24位到10位转换器。
[0007]在本专利技术的一些实施例中,位转换器被配置为基于第一符号计数生成5位移位字段和5位尾数(mantissa)。
[0008]在本专利技术的一些实施例中,位转换器还被配置为级联5位移位字段和5位尾数以生成第二符号计数。
[0009]本专利技术的实施例涉及一种用于在生成动态霍夫曼表时减少符号排序所需的锁存器计数的方法。该方法的非限制性示例包括确定多个第一符号计数。第一符号计数中的每一个包括第一位宽。该方法还包括生成多个第二符号计数。第二符号计数是基于第一符号计数的减少位映射。多个第二符号计数按频率排序,并用于生成动态霍夫曼树。
[0010]在本专利技术的一些实施例中,基于具有多个第一符号计数的第一符号生成5位移位字段和5位尾数。
[0011]在本专利技术的一些实施例中,5位移位字段对第一符号的最高有效非零位的位置进
行编码。
[0012]在本专利技术的一些实施例中,5位尾数对第一符号的最高有效非零位和接下来的四位进行编码。
[0013]在本专利技术的一些实施例中,5位尾数对第一符号的最高有效非零位之后的接下来五位进行编码。
[0014]本专利技术的实施例针对一种用于在生成动态霍夫曼表时减少符号排序所需的锁存器计数的计算机程序产品。计算机程序产品的非限制性示例包括可由电子计算机处理器执行以控制计算机系统执行操作的程序指令。该操作可以包括确定多个第一符号计数。第一符号计数中的每一个包括第一位宽。该操作还可以包括生成多个第二符号计数。第二符号计数是基于第一符号计数的减少位映射。多个第二符号计数按频率排序,并用于生成动态霍夫曼树。
[0015]本专利技术的实施例针对一种用于在生成动态霍夫曼表时减少符号排序所需的锁存器计数的系统。该系统的非限制性示例包括加速器、具有计算机可读指令的存储器、以及被配置为执行计算机可读指令的处理器。计算机可读指令在由处理器执行时使加速器执行一种方法。该方法可以包括确定多个第一符号计数,第一符号计数中的每一个包括第一位宽。可以生成多个第二符号计数。第二符号计数中的每一个可以是基于多个第一符号计数中的符号计数的映射。第二符号计数可以包括小于第一位宽的第二位宽。该方法还可以包括按频率对多个第二符号计数进行排序,并且基于排序后的多个第二符号计数来生成动态霍夫曼树。
[0016]本专利技术的实施例涉及一种方法。该方法的非限制性示例包括从输入缓冲器接收包括第一符号的数据流。可以基于第一符号来确定具有第一位宽的第一符号计数。该方法可以包括基于第一符号计数生成5位移位字段和5位尾数。通过级联5位移位字段和5位尾数,可以生成具有第二位宽的第二符号计数。该方法可以包括对第二符号计数的频率进行排序。
[0017]通过本专利技术的技术实现了附加的技术特征和益处。本专利技术的实施例和方面在本文中详细描述,并且被认为是所要求保护的主题的一部分。为了更好地理解,参考详细描述和附图。
附图说明
[0018]在说明书的结尾处的权利要求中特别指出并清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本专利技术的实施例的前述和其它特征和优点是显而易见的,在附图中:
[0019]图1A和1B描述了根据本专利技术的各种实施例生成的霍夫曼树;
[0020]图2示出了根据本专利技术的各种实施例的能够压缩和解压数据的计算机系统的框图;
[0021]图3示出了根据一个或多个实施例的加速器的框图;
[0022]图4示出图3所示的加速器的霍夫曼编码器的部分;
[0023]图5示出了图4所示的霍夫曼编码器的DHT生成器的排序模块的部分;
[0024]图6是示出根据非限制性实施例的方法的流程图;以及
[0025]图7是示出根据另一非限制性实施例的方法的流程图。
[0026]这里描述的图是说明性的。在不脱离本专利技术的精神的情况下,可以存在对其中描述的图或操作进行的多个变型。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦接”及其变型描述了在两个元件之间具有通信路径,但不暗示元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变化都被认为是说明书的一部分。
[0027]在附图和以下对所公开的实施例的详细描述中,附图中所示的各种元件具有两个或三个数字参考标号。除了次要的例外,每个参考数字的最左边的数字对应于其中首先示出其元件的图。
具体实施方式
[0028]在此参考相关附图描述本专利技术的各种实施例。在不偏离本专利技术的范围的情况下,可以设计本专利技术的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有说明,否则这些连接和/或位置关系可以是直接的或间接的,并且本专利技术并不旨在在这方面进行限制。因此,实体的耦接可以指直接或间接耦接,并且实体之间的位置关系可以是直接或间接位置关系。此外,本文所述的各种任务和过程步骤可并入具有本文未详细描述的额外步骤或功能性的更全面的程序或过程中。
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种加速器,包括:输入缓冲器;Lempel

Ziv 77即LZ77压缩器,其通信地耦接到所述输入缓冲器的输出;霍夫曼编码器,其通信地耦接到所述LZ77压缩器,所述霍夫曼编码器包括位转换器;以及输出缓冲器,其通信地耦接到所述霍夫曼编码器。2.根据权利要求1所述的加速器,其中,所述位转换器被配置为将包括第一位宽的第一符号计数映射至包括第二位宽的第二符号计数。3.根据权利要求2所述的加速器,其中,所述第二位宽小于所述第一位宽。4.根据权利要求3所述的加速器,其中,所述位转换器包括24位至10位转换器,所述第一位宽包括24位,所述第二位宽包括10位。5.根据权利要求4所述的加速器,其中,所述位转换器被配置为基于所述第一符号计数来生成5位移位字段和5位尾数。6.根据权利要求5所述的加速器,其中,所述位转换器还被配置为级联所述5位移位字段和所述5位尾数以生成所述第二符号计数。7.根据权利要求1所述的加速器,其中,所述加速器包括DEFLATE硬件加速器。8.一种用于在生成动态霍夫曼表时减少符号排序所需的锁存器计数的方法,所述方法包括:确定多个第一符号计数,所述第一符号计数中的每一个包括第一位宽;生成多个第二符号计数,所述第二符号计数中的每一个是基于所述多个第一符号计数中的符号计数的映射,所述第二符号计数包括小于所述第一位宽的第二位宽;按照频率对所述多个第二符号计数进行排序;以及基于经排序的多个第二符号计数来生成动态霍夫曼树。9.根据权利要求8所述的方法,其中,所述第一位宽包括24位,所述第二位宽包括10位。10.根据权利要求9所述的方法,其中,生成所述多个第二符号计数中的每个第二符号计数包括基于所述多个第一符号计数中的第一符号来生成5位移位字段和5位尾数。11.根据权利要求10所述的方法,还包括:级联所述5位移位字段和所述5位尾数。12.根据权利要求10所述的方法,其中,所述5位移位字段对所述第一符号的最高有效非零位的位置进行编码。13.根据权利要求12所述的方法,其中,所述5位尾数对所述第一符号的最高有效非零位和接下来的四个位进行编码。14.根据权利要求12所述的方法,其中,所述5位尾数对所述第一符号的在所述最高有效非零位之后的接下来的五个位进行编码。15.一种计算机程序产品,用于在生成动态霍夫曼表时减少符号排序所需的锁存器计数,所述计算机程序产品包括在其中体现有程序指令的计算机可读存储介质,所述程序指令可由电子计算机处理器执行以控制计算机系统执行操作,所述操作包括:确定多个...

【专利技术属性】
技术研发人员:B
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1