用于压缩算法的高速缓冲存储体扩展制造技术

技术编号:15396995 阅读:91 留言:0更新日期:2017-05-19 11:30
方面包括用于使用高速缓冲存储体扩展来实现针对压缩数据的高速缓冲存储器访问请求的计算设备、系统和方法。在一个方面中,高速缓冲存储体扩展可以包括:确定该高速缓冲存储器访问的压缩数据是否适合于单个高速缓冲存储体。响应于确定该压缩数据适合于单个高速缓冲存储体,可以计算高速缓冲存储体扩展值来替换/恢复在数据压缩期间可能被清除的用于该高速缓冲存储器访问请求的高速缓冲存储器的物理地址的存储体选择位。高速缓冲存储器的物理空间中的高速缓冲存储体扩展地址可以包括高速缓冲存储器访问请求的物理地址加上所恢复的存储体选择位。可以使用该高速缓冲存储体扩展地址来从高速缓冲存储器设备读取压缩数据,或者向高速缓冲存储器设备写入压缩数据。

For the cache bank extension compression algorithm

Including for the use of the cache bank extended to realize the system of computing devices, and methods for cache compression data access request. In one aspect, the cache bank expansion may include: determine the compression data of the cache memory access is suitable for a single cache memory. In response to the compressed data for a single cache bank, can calculate the cache bank value to replace the expansion / recovery for may be cleared in data compression during the physical address of the cache, the cache access requests the memory select bits. High speed buffer storage space physical cache memory in the extended physical address can include cache memory access request with the recovered memory select bits. You can use the cache memory extension address from the cache memory device reads the compressed data, or to the cache memory device writes the compressed data.

【技术实现步骤摘要】
【国外来华专利技术】用于压缩算法的高速缓冲存储体扩展
技术介绍
无损压缩使用可配置大小的被压缩的数据段。随后,将该压缩的数据存储在高速缓存中,直到其被写回到存储器为止。但是,通过对数据进行压缩,在物理地址空间中产生未使用的孔。根据如何将所压缩的数据存储在物理地址空间中,可能存在对系统级资源(例如,高速缓存)的不均匀使用。高速缓存按照高速缓存线粒度来存储数据,并且使用最频繁使用的比特来将数据路由到存储体。所压缩的块大小和高速缓存线大小之间的不匹配可能导致对高速缓存资源(例如,存储体)的不规则使用。这种不规则使用是通过所压缩的数据清除物理地址中的未使用比特产生的,其中这些未使用比特在高速缓存索引时使用。例如,这样的情况在将256字节块压缩成128字节时发生,其将清除物理地址中用于该压缩数据的地址位。较低的地址位通常被用于高速缓存选择决策,以便产生平衡的访问(由于它们频繁地改变)。如果通常使用较低的地址位的比特W来选择高速缓冲存储体,则压缩的数据将始终位于一半的存储体/高速缓存中,这是由于当比特W被清除时(即,在压缩比特W=0之后),该值将始终是相同的。类似地,如果通常使用两个比特(例如,比特W和比特Y)来选择高速缓冲存储体,虽然比特Y的值可以改变(即,在压缩之后,比特Y将等于0或1),但是由于比特W的值将保持静态(即,比特W=0),并且因此存储体选择位W和Y一起可以组合达四个存储体选择选项中的仅仅两个(即,比特Y和W=00或10,而不是00、01、10或11),因此压缩的数据将始终位于一半的存储体/高速缓存中。
技术实现思路
各个方面的方法和装置提供了用于在计算设备上针对压缩数据,执行高速缓冲存储器访问请求的电路和方法,其可以包括:恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址,以及在该高速缓冲存储体扩展地址处执行高速缓冲存储器访问请求。一个方面的方法还可以包括:确定压缩数据是否适合于高速缓冲存储器设备的单个高速缓冲存储体的高速缓存线,在其中,可以响应于确定压缩数据适合于该高速缓冲存储器设备的单个高速缓冲存储体,执行恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址。在一个方面中,确定所述高速缓冲存储器访问请求的压缩数据是否适合于该高速缓冲存储器设备的单个高速缓冲存储体可以包括:确定该压缩数据的压缩比是否大于或等于2:1的压缩比。在一个方面中,确定所述高速缓冲存储器访问请求的压缩数据是否适合于该高速缓冲存储器设备的单个高速缓冲存储体可以包括:确定该压缩数据的大小是否小于或等于该高速缓冲存储器设备的高速缓存线的大小。在一个方面中,响应于确定所述压缩数据适合于所述高速缓冲存储器设备的高速缓冲存储体,恢复所述高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生所述高速缓冲存储体扩展地址可以包括:选择用于高速缓冲存储体扩展函数的输入,执行所述高速缓冲存储体扩展函数,返回高速缓冲存储体扩展值,以及使用所述高速缓冲存储体扩展值来替换所述一个或多个存储体选择位。在一个方面中,选择用于所述高速缓冲存储体扩展函数的输入可以包括:选择所述高速缓冲存储器访问请求的高速缓冲存储器设备的物理地址的保留位的多个最低有效位,作为用于高速缓冲存储体扩展函数的操作数,以及执行所述高速缓冲存储体扩展函数可以包括:使用具有所述操作数的异或运算符。在一个方面中,所述高速缓冲存储体扩展函数可以包括:使用逻辑运算、算术运算中的一个,选择随机值,从表格中选择与所述高速缓冲存储器访问请求的物理地址相关联的高速缓冲存储体扩展地址。在一个方面中,在所述高速缓冲存储器设备中的所述高速缓冲存储体扩展地址处执行针对压缩数据的高速缓冲存储器访问请求可以包括:将压缩数据写入到由所述高速缓冲存储体扩展地址的一个或多个恢复的存储体选择位指示的第一高速缓冲存储体,其中,该第一高速缓冲存储体与由所述高速缓冲存储器访问请求的高速缓冲存储器设备的物理地址的一个或多个存储体选择位指示的第二高速缓冲存储体不同,以及从由所述高速缓冲存储体扩展地址的一个或多个恢复的存储体选择位指示的第一高速缓冲存储体读取压缩数据,其中,该第一高速缓冲存储体与由所述高速缓冲存储器访问请求的高速缓冲存储器设备的物理地址的一个或多个存储体选择位指示的第二高速缓冲存储体不同。一个方面包括一种计算设备,该计算设备具有被通信地连接到彼此的处理器、存储体扩展函数组件、高速缓冲存储器控制器和高速缓冲存储器,其中,所述处理器、存储体扩展函数组件、高速缓冲存储器控制器被配置为执行上面描述的方面的方法中的一个或多个的操作。一个方面包括一种非暂时性处理器可读介质,其具有被存储在其上的处理器可执行指令,所述处理器可执行指令被配置为使处理器、存储体扩展函数组件和高速缓冲存储器控制器执行上面描述的方面的方法中的一个或多个的操作。一个方面包括一种计算设备,该计算设备具有用于执行上面描述的方面的方法中的一个或多个的功能的单元。附图说明被并入本文并且构成本说明书的一部分的附图,示出了本专利技术的示例性方面,并且连同上面给出的一般性描述以及下面给出的具体实施方式用来解释本专利技术的特征。图1是示出了适合于实现一个方面的计算设备的组件框图。图2是示出了适合于实现一个方面的示例性多核处理器的组件框图。图3A和图3B是根据一个方面示出了被配置为实现高速缓冲存储体扩展的片上系统(SoC)的例子的组件框图。图4是根据一个方面的对高速缓冲存储器的一部分的说明,其中该高速缓冲存储器包括由用于存储压缩数据的多个高速缓冲存储体上的高速缓存空间组成的高速缓存线。图5是根据一个方面的对高速缓冲存储器的一部分的说明,其中该高速缓冲存储器包括用于存储压缩数据的多个高速缓冲存储体上的高速缓存线。图6是根据一个方面的对高速缓冲存储器的一部分的说明,其中该高速缓冲存储器包括用于存储压缩数据的多个高速缓冲存储体上的高速缓存线。图7是根据一个方面的对高速缓冲存储器的一部分的说明,其中该高速缓冲存储器包括用于存储压缩数据或未压缩数据的多个高速缓冲存储体上的高速缓存线。图8是根据一个方面示出了针对压缩数据的高速缓冲存储器访问请求的物理地址和该高速缓存中的相关联的存储体扩展物理地址之间的关系的示例性表格。图9是示出了用于针对压缩数据的高速缓冲存储器访问请求,实现高速缓冲存储体扩展的一个方面的方法的过程流程图。图10是示出了用于针对压缩数据的写高速缓冲存储器访问请求,实现高速缓冲存储体扩展的一个方面的方法的过程流程图。图11是示出了用于针对压缩数据的读高速缓冲存储器访问请求,实现高速缓冲存储体扩展的一个方面的方法的过程流程图。图12是示出了适合于与各个方面一起使用的示例性移动计算设备的组件框图。图13是示出了适合于与各个方面一起使用的示例性移动计算设备的组件框图。图14是示出了适合于与各个方面一起使用的示例性服务器的组件框图。具体实施方式将参照附图来详细地描述各个方面。只要有可能,将贯穿附图使用相同的附图标记来指代相同或者相似的部件。对于特定例子和实现方式的提及是出于说明性的目的的,并非旨在限制本专利技术或者权利要求的范围。本文可互换地使用术语“计算设备”和“移动计算设备”来指代以下各项中的任何一项或者全部:蜂窝电话、智本文档来自技高网...
用于压缩算法的高速缓冲存储体扩展

【技术保护点】
一种用于在计算设备上针对压缩数据,执行高速缓冲存储器访问请求的方法,包括:恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址;以及在所述高速缓冲存储体扩展地址处执行所述高速缓冲存储器访问请求。

【技术特征摘要】
【国外来华专利技术】2014.09.11 US 14/483,9021.一种用于在计算设备上针对压缩数据,执行高速缓冲存储器访问请求的方法,包括:恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址;以及在所述高速缓冲存储体扩展地址处执行所述高速缓冲存储器访问请求。2.根据权利要求1所述的方法,还包括:确定压缩数据是否适合于高速缓冲存储器设备的单个高速缓冲存储体的高速缓存线,其中,恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址包括:响应于确定所述压缩数据适合于所述高速缓冲存储器设备的单个高速缓冲存储体,恢复所述高速缓冲存储器访问请求的所述物理地址的所述一个或多个存储体选择位以产生所述高速缓冲存储体扩展地址。3.根据权利要求2所述的方法,其中,确定所述高速缓冲存储器访问请求的所述压缩数据是否适合于所述高速缓冲存储器设备的单个高速缓冲存储体包括:确定所述压缩数据的压缩比是否大于或等于2:1的压缩比。4.根据权利要求2所述的方法,其中,确定所述高速缓冲存储器访问请求的所述压缩数据是否适合于所述高速缓冲存储器设备的单个高速缓冲存储体包括:确定所述压缩数据的大小是否小于或等于所述高速缓冲存储器设备的高速缓存线的大小。5.根据权利要求2所述的方法,其中,响应于确定所述压缩数据适合于所述高速缓冲存储器设备的高速缓冲存储体,恢复所述高速缓冲存储器访问请求的所述物理地址的一个或多个存储体选择位以产生所述高速缓冲存储体扩展地址包括:选择用于高速缓冲存储体扩展函数的输入;执行所述高速缓冲存储体扩展函数;返回高速缓冲存储体扩展值;以及利用所述高速缓冲存储体扩展值来替换所述一个或多个存储体选择位。6.根据权利要求5所述的方法,其中:选择用于所述高速缓冲存储体扩展函数的输入包括:选择所述高速缓冲存储器访问请求的所述高速缓冲存储器设备的所述物理地址的保留位的多个最低有效位,作为用于高速缓冲存储体扩展函数的操作数;以及执行所述高速缓冲存储体扩展函数包括:使用具有所述操作数的异或运算符。7.根据权利要求5所述的方法,其中,执行所述高速缓冲存储体扩展函数包括:使用逻辑运算、算术运算中的一个,选择随机值,从表格中选择与所述高速缓冲存储器访问请求的所述物理地址相关联的所述高速缓冲存储体扩展地址。8.根据权利要求1所述的方法,其中,在所述高速缓冲存储体扩展地址处执行所述高速缓冲存储器访问请求包括:将压缩数据写入到由所述高速缓冲存储体扩展地址的所述一个或多个恢复的存储体选择位指示的第一高速缓冲存储体,其中,所述第一高速缓冲存储体与由所述高速缓冲存储器访问请求的所述高速缓冲存储器设备的所述物理地址的一个或多个存储体选择位指示的第二高速缓冲存储体不同;以及从由所述高速缓冲存储体扩展地址的所述一个或多个恢复的存储体选择位指示的所述第一高速缓冲存储体读取所述压缩数据,其中,所述第一高速缓冲存储体与由所述高速缓冲存储器访问请求的高速缓冲存储器设备的所述物理地址的一个或多个存储体选择位指示的第二高速缓冲存储体不同。9.根据权利要求1所述的方法,其中,在所述高速缓冲存储体扩展地址处执行所述高速缓冲存储器访问请求包括:在由所述高速缓冲存储体扩展地址指示的高速缓冲存储器设备的物理地址处执行针对所述压缩数据的所述高速缓冲存储器访问请求。10.一种计算设备,包括:处理器;存储体扩展函数组件,其被通信地连接到所述处理器并且被配置为执行包括以下的操作:恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址;高速缓冲存储器控制器,其被通信地连接到所述存储体扩展函数组件并且被配置为执行包括以下的操作:在所述高速缓冲存储体扩展地址处执行所述高速缓冲存储器访问请求;以及高速缓冲存储器,其被通信地连接到所述高速缓冲存储器控制器。11.根据权利要求10所述的计算设备,其中:所述存储体扩展函数组件被配置为执行还包括以下的操作:确定压缩数据是否适合于高速缓冲存储器的单个高速缓冲存储体的高速缓存线;以及所述存储体扩展函数组件被配置为执行操作,使得恢复高速缓冲存储器访问请求的物理地址的一个或多个存储体选择位以产生高速缓冲存储体扩展地址包括:响应于确定所述压缩数据适合于所述高速缓冲存储器的单个高速缓冲存储体,恢复所述高速缓冲存储器访问请求的所述物理地址的所述一个或多个存储体选择位以产生所述高速缓冲存储体扩展地址。12.根据权利要求11所述的计算设备,其中,所述存储体扩展函数组件被配置为执行操作,使得确定所述高速缓冲存储器访问请求的所述压缩数据是否适合于所述高速缓冲存储器的单个高速缓冲存储体包括:确定所述压缩数据的压缩比是否大于或等于2:1的压缩比。13.根据权利要求11所述的计算设备,其中,所述存储体扩展函数组件被配置为执行操作,使得确定所述高速缓冲存储器访问请求的所述压缩数据是否适合于所述高速缓冲存储器的单个高速缓冲存储体包括:确定所述压缩数据的大小是否小于或等于所述高速缓冲存储器的高速缓存线的大小。14.根据权利要求11所述的计算设备,其中,所述存储体扩展函数组件被配置为执行操作,使得响应于确定所述压缩数据适合于所述高速缓冲存储器的高速缓冲存储体,恢复所述高速缓冲存储器访问请求的所述物理地址的一个或多个存储体选择位以产生所述高速缓冲存储体扩展地址包括:选择用于高速缓冲存储体扩展函数的输入;执行所述高速缓冲存储体扩展函数;返回高速缓冲存储体扩展值;以及利用所述高速缓冲存储体扩展值来替换所述一个或多个存储体选择位。15.根据权利要求14所述的计算设备,其中,所述存储体扩展函数组件被配置为执行操作,使得:执行高速缓冲存储体扩展函数包括:使用具有操作数的异或运算符、逻辑运算、算术运算中的一个,选择随机值,从表格中选择与所述高速缓冲存储器访问请求的所述物理地址相关联的所述高速缓冲存储体扩展地址;以及选择用于所述高速缓冲存储体扩展函数的输入包括:使用具有所述操作数的异或运算符来选择所述高速缓冲存储器访问请求的所述高速缓冲存储器的所述物理地址的保留位的多个最低有效位,作为用于所述高速缓冲存储体扩展函数的所述操作数。16.根据权利要求10所述的计算设备,其中,所述高速缓冲存储器控制器被配置为执行操作,使得在所述高速缓冲存储器中的所述高速缓冲存储体扩展地址处执行所述高速缓冲存储器访问请求包括:将压缩数据写入到由所述高速缓冲存储体扩展地址的所述一个或多个恢复的存储体选择位指示的第一高速缓冲存储体,其中,所述第一高速缓冲存储体与由所述高速缓冲存储器访问请求的所述高速缓冲存储器的所述物理地址的一个或多个存储体选择位指示的第二高速缓冲存储体不同;以及从由所述高速缓冲存储体扩展地址的所述一个或多个恢复的存储体选择位指示的所述第一高速缓冲存储体读取所述压缩数据,其中,所述第一高速缓冲存储体与由所述高速缓冲存储器访问请求的所述高速缓冲存储器的所述物理地址的一个或多个存储体选择位指示的所述第二高速缓冲存储体不同。17.一种非暂时性处理器可读介质,其具有被存储在其上的处理器可执行指令,所述处理器可执行指令被配置为使处理器、...

【专利技术属性】
技术研发人员:G·帕奇拉腊斯A·E·特纳B·雷赫利克
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1