【技术实现步骤摘要】
【国外来华专利技术】用于生成压缩数据的具有最长匹配处理的压缩系统
技术介绍
[0001]相关技术
[0002]一些电子装置执行用于将数据(诸如用户或系统文件、数据流或序列等)压缩的操作。电子装置可将数据压缩以减小数据的大小,以使得数据能够更高效地存储在存储器中、使得数据能够经由网络在电子装置之间传输等。例如,电子装置可使用字典编码标准(诸如Lempel Ziv
‑
77(LZ77)、LZ78或Lempel
‑
Ziv
‑
Welch(LZW))来从原始数据(即,未压缩数据)生成压缩数据。
[0003]尽管将数据压缩可提高存储和处理数据的效率,但是许多装置使用软件(即,软件例程、应用程序等)来压缩数据。使用软件对数据进行压缩典型地要求诸如中央处理单元(CPU)的通用处理器执行大量的压缩操作和相关联的存储器访问。由于大量的压缩相关操作和存储器访问,使用软件对数据进行压缩是低效的。
附图说明
[0004]图1呈现了示出根据一些实施方案的压缩数据的框图。
[0005]图2呈现了示出根据一些实施方案的文字写入命令的框图。
[0006]图3呈现了示出根据一些实施方案的字符串复制命令的框图。
[0007]图4呈现了示出根据一些实施方案的原始数据、搜索字符串和多个子字符串的框图。
[0008]图5呈现了示出根据一些实施方案的电子装置的框图。
[0009]图6呈现了示出根据一些实施方案的压缩子系统的框图。
[0010]图7A呈现了示出根据一些实施方案的选 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于从原始数据创建压缩数据的电子装置,所述电子装置包括:压缩子系统,所述压缩子系统包括比较器、历史缓冲器、匹配检测器和命令生成器;在时钟的每个周期中开始,所述压缩子系统被配置为处理搜索字符串以生成用于所述压缩数据的命令,所述搜索字符串包括来自所述原始数据的多个字节,其中当处理所述搜索字符串时:所述比较器被配置为将来自所述搜索字符串的N个子字符串中的每一者与来自所述历史缓冲器的存储数据进行比较以找到所述子字符串与所述存储数据之间的匹配,每个子字符串具有以字节为单位的指定长度并且包括来自所述搜索字符串的不同有序序列的字节;所述匹配检测器被配置为确定所述子字符串中的每一者的最长匹配;并且所述命令生成器被配置为基于所述子字符串的所述最长匹配来选择性地输出用于所述压缩数据的命令。2.如权利要求1所述的电子装置,其中:所述比较器包括比较元件;并且当将所述子字符串中的每一者与来自所述历史缓冲器的所述存储数据进行比较以找到所述匹配时,所述比较器被配置为:将所述子字符串和来自所述存储数据的比较字符串作为输入提供到所述比较元件中的对应元件,每个比较字符串具有以字节为单位的所述指定长度并且包括来自所述存储数据的不同有序序列的字节;以及接收每个匹配的指示所述匹配的长度的标识符作为所述对应元件的输出。3.如权利要求2所述的电子装置,其中:所述标识符包括位序列,所述位序列包括所述子字符串的每个字节的单独位;并且所述对应元件被配置为输出其中所述子字符串和所述比较字符串的相应字节匹配的每个位的第一值,以及其中所述子字符串和所述比较字符串的相应字节不匹配的每个位的第二值。4.如权利要求1所述的电子装置,其中:所述匹配检测器包括N个匹配流水线,每个匹配流水线包括按顺序布置的K级最长匹配选择器;并且当确定所述子字符串中的每一者的所述最长匹配时,所述匹配检测器被配置为:在所述匹配流水线中的对应流水线中从所述比较器接收所述子字符串的匹配;以及在所述匹配流水线中的所述对应流水线中的所述级中的每个级中,从单独匹配组中选择局部最长匹配并且提供所述局部最长匹配作为所述匹配流水线的下一级的匹配,其中所述级中的最终级从最终且最小的单独匹配组中选择所述最长匹配。5.如权利要求4所述的电子装置,其中当基于所述子字符串的所述最长匹配来选择性地输出用于所述压缩数据的所述命令时,所述命令生成器被配置为在所述时钟的周期中:从第一匹配流水线开始,按循环次序跳过因先前最长匹配而在所述时钟的所述周期中将不被处理的匹配流水线;当跳过所有所述匹配流水线时,在所述时钟的所述周期内终止处理匹配流水线而不输出命令;当一个或多个匹配流水线未被跳过并且因此仍要处理时,对于按指定次序的下一匹配
流水线,基于所述下一匹配流水线的所述最长匹配的长度来输出命令;以及基于所述下一匹配流水线的所述最长匹配的所述长度在所述时钟的所述周期中处理或跳过剩余的匹配流水线。6.如权利要求5所述的电子装置,其中所述指定次序是以下一者:循环次序;或者基于仍要处理的所述匹配流水线中的每一者的所述最长匹配来确定的次序。7.如权利要求5所述的电子装置,其中当输出所述命令时,所述命令生成器被配置为:当未找到匹配或所述最长匹配短于阈值长度时,输出文字写入命令;以及当所述最长匹配长于所述阈值长度时,输出字符串复制命令。8.如权利要求4所述的电子装置,其中当基于所述子字符串的所述最长匹配来选择性地输出用于所述压缩数据的所述命令时,所述命令生成器被配置为在所述时钟的周期中:获取来自所述时钟的较早周期的计数值,如果有的话,或者将所述计数值设定为零;从第一匹配流水线开始按循环次序跳过每个下一流水线并且使所述计数值递减,直到所述计数值等于零或没有剩余的匹配流水线要被跳过;当没有剩余的匹配流水线要被跳过时,在所述时钟的所述周期内终止输出命令并且在所述时钟的后续周期内保留所述计数值的当前值;以及当所述计数值为零并且一个或多个匹配流水线未被跳过时:当按指定次序的所述下一匹配流水线的最长匹配的长度短于阈值或未找到匹配时,输出用于所述下一匹配流水线的文字写入命令并且将所述计数值设定为零;以及当按所述指定次序的所述下一匹配流水线的所述最长匹配的所述长度长于所述阈值时,输出与所述最长匹配相关联的字符串复制命令并且将所述计数值设定为等于所述最长匹配的以字节为单位的长度减一;以及返回所述跳过操作。9.如权利要求1所述的电子装置,其中:所述搜索字符串包括多个字节,所述多个字节比所述子字符串的以字节为单位的所述指定长度长N
‑
1个字节;并且所述子字符串包括来自所述搜索字符串的每个不同顺序子字符串,其中所述子字符串中的第一子字符串从所述搜索字符串的第一字节开始,并且所述子字符串中的每个下一子字符串从与所述第一字节的以字节为单位的递增地更长的偏移开始。10.如权利要求1所述的电子装置,其中所述压缩子系统还包括:字符串处理程序,所述字符串处理程序被配置为在所述时钟的每个周期中:从所述原始数据获取所述搜索字符串;以及将所述搜索字符串提供到所述比较器。11.如权利要求10所述的电子装置,其中在所述时钟的每个周期中将所述搜索字符串提供到所述比较器之后,所述字符串处理程序被配置为:将数据的N字节移出所述原始数据;以及将所述数据的所述N字节添加到所述历史缓冲器中的所述存储数据。12.如权利要求10所述的电子装置,其中:所述搜索字符串包括来自所述原始数据的从所述原始数据中的起始字节开始的多个
字节:并且在所述时钟的每个周期中将所述搜索字符串提供到所述比较器之后,所述字符串处理程序被配置为:将所述起始字节递增N个字节,从而将所述压缩子系统配置为在...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。