【技术实现步骤摘要】
【国外来华专利技术】用于压缩的高速缓存的弹性字典共享
技术介绍
[0001]相关技术说明
[0002]微处理器可以耦合到高速缓存层次结构的一个或多个层级以便减少微处理器请求存储器中的数据以进行读取或写入操作的等待时间。计算系统中的高速缓存子系统包括存储数据块的高速的高速缓存存储器。通常,高速缓存可以存储一个或多个块,其中每个块是存储在系统存储器中的对应地址处的数据的副本。如本文所使用,“高速缓存行”或“高速缓存块”是存储在连续存储器位置中的字节集合,所述字节集合出于一致性目的而被视为单元。在一些实施方案中,高速缓存行也可以是高速缓存中的分配和解除分配的单元。高速缓存行中的字节数根据设计选项而变化并且可以具有任何大小。
[0003]高速缓存容量是任何高性能架构设计中的关键资源。可以使用较大的高速缓存来获得更多容量,但是这种方法导致较高的访问等待时间并消耗更多功率和面积。高速缓存压缩技术降低了每兆字节(MB)高速缓存的面积成本,由此允许减少面积或增加高速缓存容量。
附图说明
[0004]通过结合附图参考以下描述,可更好地理解本文描述的方法和机 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种高速缓存,其包括:数据阵列,所述数据阵列包括多个集合;以及控制逻辑,所述控制逻辑被配置为:接收要被分配为所述高速缓存中的高速缓存行的数据;确定所述高速缓存行映射到的原始数据阵列集合;确定存储在包括所述原始数据阵列集合的给定数据阵列集合组中的多个字典中的哪个字典是用于压缩所述高速缓存行的优选字典;使用所述优选字典压缩所述高速缓存行以创建压缩的高速缓存行;修改所述高速缓存行的集合映射以导致所述高速缓存行被映射到包括所述优选字典的给定数据阵列集合,而不是所述原始数据阵列集合;以及将所述压缩的高速缓存行存储在所述给定数据阵列集合中。2.根据权利要求1所述的高速缓存,其中为了修改所述高速缓存行的所述集合映射,所述控制逻辑还被配置为:生成用于修改基本索引以导致所述高速缓存行被映射到所述给定数据阵列集合的给定偏移,其中所述基本索引是所述高速缓存行的地址的位子集;并且将所述给定偏移存储在与所述高速缓存行相对应的标签阵列条目中。3.根据权利要求2所述的高速缓存,其中:所述基本索引本身将所述高速缓存行映射到与所述给定数据阵列集合不同的所述原始数据阵列集合;并且所述给定数据阵列集合组包括能够使用所述给定偏移将所述高速缓存行映射到的多个数据阵列集合。4.根据权利要求1所述的高速缓存,其中所述给定数据阵列集合组包括能够通过修改与所述高速缓存行相对应的索引的偏移的值来寻址的数据阵列集合。5.根据权利要求1所述的高速缓存,其中所述控制逻辑还被配置为在所述多个字典中选择实现最高压缩率的所述优选字典。6.根据权利要求1所述的高速缓存,其中所述优选字典对于所述高速缓存行的数据实现大于阈值压缩量。7.根据权利要求1所述的高速缓存,其中所述控制逻辑还被配置为:响应于确定第一数据阵列集合的第一字典比所述多个字典中的其他字典实现更多压缩而生成第一偏移,所述第一偏移导致所述高速缓存行被映射到所述第一数据阵列集合;并且响应于确定第二数据阵列集合的第二字典比所述多个字典中的其他字典实现更多压缩而生成第二偏移,所述第二偏移导致所述高速缓存行被映射到与所述第一数据阵列集合不同的所述第二数据阵列集合。8.一种方法,其包括:接收要被分配为高速缓存中的高速缓存行的数据;确定所述高速缓存行映射到的原始数据阵列集合;确定存储在包括所述原始数据阵列集合的给定数据阵列集合组中的多个字典中的哪个字典是用于压缩所述高速缓存行的优选字典;
使用所述优选字典压缩所述高速缓存行以创建压缩的高速缓存行;修改所述高速缓存行的集合映射以导致所述压缩的高速缓存行被映射到包括所述优选字典的给定数据阵列集合,而不是所述原始数据阵列集合;以及将所述压缩的高速缓存行存储在所述给定数据阵列集合中。9.根据权利要求8所述的方法,其中为了修改所述高速缓存行的所述集合映射,所述方法还包括:生成用于修改基本索引以导致所述高速缓存行被映射到所述给定数据阵列集合的给定偏移,其中所述基本索引是所述高速缓存行的地址的位子集;以及将所述给定偏移存储在与所述高速缓存行相对应的标签阵列条目中。10.根...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。