用于分配缓存资源的方法、系统和存储介质与流程

文档序号:37353477发布日期:2024-03-18 18:36阅读:11来源:国知局
用于分配缓存资源的方法、系统和存储介质与流程

本说明书涉及具有集成电路设备的系统。


背景技术:

1、缓存是针对系统中的一个或多个不同的硬件设备存储从存储器取回的数据或者要写入存储器的数据的设备。硬件设备可以是集成到片上系统(soc)中的不同组件。在本说明书中,通过缓存提供读取请求和写入请求的设备将被称为客户端设备。

2、缓存可以用于通过减少对主存储器的总体请求来减少功耗。另外,只要客户端设备可以访问缓存中所需的数据,就可以通过将主存储器以及通往主存储器的数据路径置于低功率状态来进一步节省功率。因此,缓存使用与总功耗相关,并且缓存使用的增加导致总功耗的减少。因此,依赖于电池电量的设备(例如移动计算设备)可以通过增加集成客户端设备的缓存使用来延长其电池寿命。

3、缓存通常被组织为具有多个道路的多个集合。请求的存储器地址用于标识放置缓存行的特定集合,如果必须更换现有的缓存行,则特定的缓存策略确定应该更换集合内的哪些道路。例如,缓存可以实施首先更换集合内最近最少使用的缓存行的缓存策略。

4、缓存通常是低级硬件设备,它们对正被缓存的地址的解释不具有可见性。换言之,传统的缓存没有用于确定该地址用于什么或该地址处存储什么类型的数据的机制。由于不相关的数据请求集可以竞争相同的缓存资源,这可能会导致缓存性能的效率低下,从而导致更少的缓存命中和更多的缓存未命中以及所得的更多存储器行程。


技术实现思路

1、本说明书描述了用于在由相关数据流(在本文中也称为“数据流”)驱动的缓存中实现缓存策略的技术。在本说明书中,流是在软件中彼此相关的多个存储器请求。例如,流可以包括对同一软件驱动器的所有指令请求。流还可以包括对同一软件驱动器的所有数据请求。

2、缓存可以通过检查不同存储器请求共有的页面级属性来标识数据流。然后,缓存可以将缓存存储器的不同部分分配给不同的数据流。因此,例如与数据请求相比,可以将指令请求分配给缓存的不同部分。该能力允许缓存基于数据的属性而不是仅基于地址范围、页面标识符或发出请求的客户端设备或客户端驱动器的标识来分配缓存部分。

3、可以实施本说明书中描述的主题的特定实施例,以便实现一个或多个以下优点。缓存可以通过使用页面级属性确定相关的存储器请求流来提高缓存的性能和使用。因此,缓存可以减少针对不同的存储器请求流的缓存资源的竞争,从而提高缓存命中率。在依赖于电池电量的移动设备中,提高缓存命中率减少了功耗并延长了电池寿命。另外,通过使用页面级属性,缓存可以将缓存的相同部分分配给具有生产者/消费者关系的客户端设备,从而有效地增加整个系统可用的缓存资源量。

4、在下面的附图和描述中陈述了本说明书的主题的一个或多个实施例的细节。主题的其他特征、方面和优点将通过描述、附图和权利要求而变得显而易见。



技术特征:

1.一种系统,包括:

2.根据权利要求1所述的系统,其中,所述系统包括多个客户端设备,并且其中,所述缓存被配置为使用存储器请求的页面级属性来将所述缓存的不同部分专用于不同的客户端设备。

3.根据权利要求1所述的系统,其中,所述缓存被配置为使用存储器请求的页面级属性来将所述缓存的不同部分专用于指令和数据。

4.根据权利要求1所述的系统,其中,所述缓存被配置为使用存储器请求的页面级属性来区分页表请求与其他存储器请求。

5.根据权利要求1所述的系统,其中,使用用于所述页面级属性的所述缓存的所述专用部分来服务所述存储器请求包括:使用应用于具有所述页面级属性的存储器请求的、与用于其他存储器请求的另一更换策略不同的更换策略。

6.根据权利要求1所述的系统,其中,确定所述缓存的所述部分专用于具有所述页面级属性的存储器请求包括将所述页面级属性值映射到特定分区标识符。

7.根据权利要求1所述的系统,其中,所述缓存被配置为服务来自用于所述页面级属性的相同专用缓存部分的具有相同页面级属性的不同物理页面上发生的具有不同物理地址的存储器请求。

8.根据权利要求1所述的系统,其中,每个客户端设备具有相应地址转化模块,所述相应地址转化模块被配置为将从软件驱动器接收的虚拟地址转换为具有相应物理地址和相应页面描述符的相应存储器请求,并且其中,每个客户端设备被配置为更新页表以将特定页面级属性值指派给特定页面。

9.根据权利要求8所述的系统,其中,所述缓存被配置为使用由所述客户端设备的所述相应地址转化模块生成的页面描述符的特定页面级属性来区分不同的存储器请求。

10.根据权利要求8所述的系统,其中,所述地址转化模块是被配置为执行所述第一存储器中的页表的硬件遍历以便执行地址转化的存储器管理单元。

11.一种由包括一个或多个集成客户端设备和缓存的设备执行的方法,每个客户端设备被配置为生成存储器请求,每个存储器请求具有相应物理地址以及所述物理地址所属的第一存储器的相应页面的相应页面级属性,所述方法包括:

12.根据权利要求11所述的方法,其中,所述系统包括多个客户端设备,并且其中,所述缓存被配置为使用存储器请求的页面级属性来将所述缓存的不同部分专用于不同的客户端设备。

13.根据权利要求11所述的方法,其中,所述缓存被配置为使用存储器请求的页面级属性来将所述缓存的不同部分专用于指令和数据。

14.根据权利要求11所述的方法,其中,所述缓存被配置为使用存储器请求的页面级属性来区分页表请求与其他存储器请求。

15.根据权利要求11所述的方法,其中,使用用于所述页面级属性的所述缓存的所述专用部分来服务所述存储器请求包括:使用应用于具有所述页面级属性的存储器请求的、与用于其他存储器请求的另一更换策略不同的更换策略。

16.根据权利要求11所述的方法,其中,确定所述缓存的所述部分专用于具有所述页面级属性的存储器请求包括将所述页面级属性值映射到特定分区标识符。

17.根据权利要求11所述的方法,其中,所述缓存被配置为服务来自用于所述页面级属性的相同专用缓存部分的具有相同页面级属性的不同物理页面上发生的具有不同物理地址的存储器请求。

18.根据权利要求11所述的方法,其中,每个客户端设备具有相应地址转化模块,所述相应地址转化模块被配置为将从软件驱动器接收的虚拟地址转换为具有相应物理地址和相应页面描述符的相应存储器请求,并且其中,每个客户端设备被配置为更新页表以将特定页面级属性值指派给特定页面。

19.根据权利要求18所述的方法,其中,所述缓存被配置为使用由所述客户端设备的所述相应地址转化模块生成的页面描述符的特定页面级属性来区分不同的存储器请求。

20.根据权利要求18所述的方法,其中,所述地址转化模块是被配置为执行所述第一存储器中的页表的硬件遍历以便执行地址转化的存储器管理单元。


技术总结
本申请公开了用于分配缓存资源的方法、系统和存储介质。包括在计算机存储介质上编码的计算机程序的方法、系统和装置用于根据页面级属性值来分配缓存资源。在一种实施方式中,所述系统包括一个或多个集成客户端设备和缓存。每个客户端设备被配置为至少生成存储器请求。每个存储器请求具有相应物理地址以及所述物理地址所属的页面的相应页面描述符。所述缓存被配置为缓存所述一个或多个集成客户端设备中的每个集成客户端设备的存储器请求。所述缓存包括具有多个道路的缓存存储器。所述缓存被配置为使用所述存储器请求的相应页面描述符的页面级属性来区分不同的存储器请求,并且将所述缓存存储器的不同部分分配给不同的相应存储器请求。

技术研发人员:维诺德·沙马蒂,若昂·迪亚斯
受保护的技术使用者:谷歌有限责任公司
技术研发日:
技术公布日:2024/3/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1