System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
所公开的实施方案一般涉及存储器系统,并且具体地涉及基于处理器的系统的经压缩存储器系统中的基于优先级的高速缓存行拟合。
技术介绍
1、随着由常规基于处理器的系统执行的应用在大小和复杂性方面的增加,存储器带宽可变成对系统性能的约束。虽然可通过使用较宽的存储器通信信道来增加可用存储器带宽,但此方法可能会在增加成本和/或集成电路(ic)上的存储器所需的附加面积方面招致惩罚。在不增加存储器通信信道的宽度的情况下增加基于处理器的系统中的存储器带宽的一种方法是通过使用数据压缩。可在基于处理器的系统中采用数据压缩系统来以压缩格式存储数据,因此增加有效存储容量而不增加物理存储容量。就这一点而言,一些常规的数据压缩系统提供压缩引擎来压缩待写入主系统存储器的数据。在执行压缩后,压缩引擎将经压缩数据连同元数据一起写入系统存储器,该元数据将经压缩数据的虚拟地址映射到实际存储经压缩数据的系统存储器中的物理地址。然而,因为元数据用于地址映射,所以存储器访问招致额外的读取和写入,这负面地影响系统性能。例如,访问存储器中的特定高速缓存行可能需要访问存储器中的元数据和地址计算的附加层以确定对应于该特定高速缓存行的存储器中的经压缩高速缓存行的位置。这会增加采用存储容量压缩的基于处理器的系统的复杂性、成本和延迟。
技术实现思路
1、因此,需要最小化传统压缩系统的开销的系统、方法和技术。本文所述的技术可用于去除大多数高速缓存行的元数据,并且因此改善高速缓存行访问的平均性能。
2、在一个方面,提供了一种用于在基于
3、在一些具体实施中,该方法还包括:根据确定(i)第一高速缓存行是不可压缩的、(ii)第二高速缓存行是不可压缩的,或者(iii)第二经压缩高速缓存行未拟合在候选经压缩高速缓存行的第二预先确定的部分内,在候选经压缩高速缓存行中设定溢出指针。根据第二高速缓存行的压缩率或第二经压缩高速缓存行的大小,溢出指针指向多个溢出块中的一个溢出块。多个溢出块中的每个溢出块具有不同的大小。
4、在一些具体实施中,该方法还包括:接收对第一高速缓存行或第二高速缓存行的读取请求;以及响应于接收到该读取请求:根据确定溢出指针被设定,根据溢出指针从多个溢出块中的溢出块检索数据。
5、在一些具体实施中,该方法还包括:根据确定第一高速缓存行是可压缩的:在候选经压缩高速缓存行中设定第一压缩率控制位;以及根据确定第一高速缓存行是不可压缩的:将第一高速缓存行的第一部分写入候选经压缩高速缓存行;将第一高速缓存行的剩余部分写入溢出块;重置候选经压缩高速缓存行中的第一压缩率控制位;以及在候选经压缩高速缓存行中设定溢出指针以指向溢出块。
6、在一些具体实施中,该方法还包括:响应于接收到对第一高速缓存行的读取请求:根据确定第一压缩率控制位被设定:从候选经压缩高速缓存行检索第一高速缓存行;以及根据确定第一压缩率控制位被重置:从候选经压缩高速缓存行检索第一高速缓存行的第一部分;以及基于溢出指针来从溢出块检索第一高速缓存行的第二部分。
7、在一些具体实施中,该方法还包括:根据确定第一高速缓存行是不可压缩的:根据第二高速缓存行是否是可压缩的,将第二高速缓存行或第二经压缩高速缓存行写入溢出块;以及重置候选经压缩高速缓存行中的第二压缩率控制位以指示第二高速缓存行是否是不可压缩的。
8、在一些具体实施中,该方法还包括:响应于接收到对第二高速缓存行的读取请求:基于第二压缩率控制位来从溢出块检索第二高速缓存行或第二经压缩高速缓存行。
9、在一些具体实施中,该方法还包括:响应于接收到对第一高速缓存行的高速缓存行写入请求:压缩第一高速缓存行以获得具有第一大小的第一经更新高速缓存行;根据确定第一大小等于或小于候选经压缩高速缓存行的第一预先确定的大小,将第一经更新高速缓存行写入候选经压缩高速缓存行;根据确定第一大小大于第一预先确定的大小并且等于或小于候选经压缩高速缓存行的第二预先确定的大小,基于第一经更新高速缓存行来对候选经压缩高速缓存行执行读取-修改-写入操作;以及根据确定第一大小大于候选经压缩高速缓存行的第二预先确定的大小,基于第一经更新高速缓存行来对候选经压缩高速缓存行执行读取-修改-写入操作并且对多个溢出块中的溢出块执行读取-修改-写入操作。
10、在一些具体实施中,第一预先确定的大小是候选经压缩高速缓存行的大小的一半。
11、在一些具体实施中,该方法还包括:在将第二高速缓存行或第二经压缩高速缓存行的第二部分写入候选经压缩高速缓存行的第二预先确定的部分时,在候选经压缩高速缓存行中写入结束位索引以指示第二高速缓存行或第二经压缩高速缓存行的第二部分被写入候选经压缩高速缓存行内的何处;以及基于候选经压缩高速缓存行中的结束位索引来计算第二预先确定的大小。
12、在一些具体实施中,该方法还包括:响应于接收到对第二高速缓存行的高速缓存行写入请求:压缩第二高速缓存行以获得具有第二大小的第二经更新高速缓存行;根据确定第二大小与第一经压缩高速缓存行的大小的总和小于候选经压缩高速缓存行的第一预先确定的大小,执行读取-修改-写入操作以将第二经更新高速缓存行写入候选经压缩高速缓存行;以及根据确定第二大小与第一经压缩高速缓存行的大小的总和不小于候选经压缩高速缓存行的第一预先确定的大小,(i)执行第一读取-修改-写入操作以将第二经更新高速缓存行的第一部分写入候选经压缩高速缓存行,以及(ii)执行第二读取-修改-写入操作以将第二经更新高速缓存行的剩余部分写入溢出指针所指向的溢出块。
13、在一些具体实施中,该方法还包括:响应于接收到对第一高速缓存行或第二高速缓存行的高速缓存行写入请求:压缩第一高速缓存行或第二高速缓存行以获得具有经更新大小的经更新经压缩高速缓存行;以及根据确定经更新大小不能拟合在溢出指针所指向的溢出块内,释放溢出指针并更新溢出指针以指向多个溢出块中的新溢出块。
14、在一些具体实施中,第一经压缩高速缓存行、第二经压缩高速缓存行和候选经压缩高速缓存行具有相等的大小。
15、在一些具体实施中,第一数据区域和第二数据区域具有相等的大小。
16、在一些具体实施中,本文档来自技高网...
【技术保护点】
1.一种基于处理器的系统的经压缩存储器系统,所述经压缩存储器系统包括:
2.根据权利要求1所述的经压缩存储器系统,所述经压缩存储器系统还包括:
3.根据权利要求1所述的经压缩存储器系统,其中每个经压缩高速缓存行还包括:
4.根据权利要求1所述的经压缩存储器系统,所述经压缩存储器系统还包括:
5.根据权利要求1所述的经压缩存储器系统,其中每个经压缩高速缓存行还包括指示所述第二组数据位的结束的结束位索引。
6.根据权利要求2所述的经压缩存储器系统,其中每个溢出仓被配置为在所述第一方向上保持所述第一高速缓存行的位和/或所述第二高速缓存行或压缩后的所述第二高速缓存行的位。
7.根据权利要求1所述的经压缩存储器系统,其中所述第一组数据位和所述第二组数据位隔开一个或多个字节。
8.根据权利要求1所述的经压缩存储器系统,其中每个高速缓存行和每个经压缩高速缓存行具有相同的大小。
9.根据权利要求1所述的经压缩存储器系统,其中当压缩后的所述第一高速缓存行或压缩后的所述第二高速缓存行未拟合在所述经压缩高速
10.根据权利要求1所述的经压缩存储器系统,其中所述第二组数据位还被配置为保持指示经压缩高速缓存行中的溢出以及所述第二组数据位的结束的多个控制位。
...【技术特征摘要】
【国外来华专利技术】
1.一种基于处理器的系统的经压缩存储器系统,所述经压缩存储器系统包括:
2.根据权利要求1所述的经压缩存储器系统,所述经压缩存储器系统还包括:
3.根据权利要求1所述的经压缩存储器系统,其中每个经压缩高速缓存行还包括:
4.根据权利要求1所述的经压缩存储器系统,所述经压缩存储器系统还包括:
5.根据权利要求1所述的经压缩存储器系统,其中每个经压缩高速缓存行还包括指示所述第二组数据位的结束的结束位索引。
6.根据权利要求2所述的经压缩存储器系统,其中每个溢出仓被配置为在所述第一方向上保持所述第一高速缓存行的位和/或所述第二高速缓存行或压缩后的所述第二高速缓存行的位。
7.根据权利要求1所述的经压缩存储器系统,其中所述第一组数据位...
【专利技术属性】
技术研发人员:N·金恩,R·辛尼尔,G·S·查布拉,王侃,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。