用于通过组和通路将缓存灵活划分成组件缓存的方法和装置制造方法及图纸

技术编号:14872463 阅读:86 留言:0更新日期:2017-03-23 20:14
一些方面包括用于通过组和通路将系统缓存划分成组件缓存的计算设备、系统和方法。一种系统缓存内存控制器可以管理这些组件缓存,并管理针对这些组件缓存的访问。该系统缓存内存控制器可以接收指定组件缓存标识符的系统缓存访问请求,将该组件缓存标识符与组件缓存配置表中同这些组件缓存标识符的特征相关的记录进行匹配。这些组件缓存特征可以包括组转变特征、组偏移特征和目标通路,它们可以规定该组件缓存在系统缓存中的位置。该系统缓存内存控制器还可以在系统缓存访问请求中接收针对系统缓存的物理地址,确定用于组件缓存的索引模式,以及转换用于该组件缓存的物理地址。

【技术实现步骤摘要】
【国外来华专利技术】相关申请本申请与同时提交的、标题为“MethodAndApparatusForASharedCacheWithDynamicPartitioning”的美国专利申请No.14/334,010相关,故以引用方式将其全部内容明确地并入本文。
技术介绍
缓存分区以服务计算系统中的多个客户端进程(“客户端”)具有一些利益。分区大小可以进行变化,以匹配客户端的性能需求。客户端体验稳健的性能,因为其专用缓存中的数据不会由于其他客户端的访问而遭到驱逐。可以关闭空闲分区以减少功耗。但是,由于完成当前缓存划分的方式所造成的限制,这些益处不如它们所希望的那么大。当前缓存只能在缓存通路(way)上进行划分,这具有多种限制。缓存划分数量受到缓存通路数量的限制,向缓存划分添加关联性以减少缓存冲突减少了可能的缓存划分的最大数量。根据该关联性来确定最小通路分区大小。例如,具有8路相连的8路的8MB缓存的最小分区是1MB。此外,更小的缓存分区则由于碎片化而导致缓存空间的丢失。使用同一个例子,将512KB的数据存储在最小的1MB缓存分区中将导致该缓存分区中512KB的空间未使用。根据关联性来确定最小通路分区电源崩溃粒度。在相同的例子中,可能发生电源崩溃的最小粒度是1MB缓存分区。崩溃粒度的大小影响功率节省/使用,特别是当共享系统缓存替代多个专用内存时,其中所述多个专用内存可能独立地发生电源崩溃。在移动片上系统(SoC)计算系统中面临的另一个问题是子系统所产生的不同访问模式。例如,像视频和图形之类的多媒体子系统具有较长的访问时间,并受益于较长的缓存线,而来自于应用中央处理单元(CPU)的访问是较随机的,并对于时延是敏感的,因此受益于较小的缓存线和较高的关联性。并不是所有的潜在访问模式都能与依赖于通路缓存分区的当前缓存分区进行更好地工作。传统的缓存分区为所有应用和子系统提供一个大小的缓存。该缓存分区的大小可能使某些访问模式比其他模式更有利。另一个例子是在图像处理引擎和显示引擎之间看到的生产者对消费者访问模式,其可以受益于先进先出(FIFO)替换策略。但是,保持这些引擎之间的转换数据的缓存可能使该应用程序使用低效的替换策略。
技术实现思路
各个方面的方法和装置提供用于对系统缓存进行划分的电路和方法,其可以包括:加载被配置为存储多个组件缓存标识符的组件缓存配置表,其中,所述多个组件缓存标识符与组转变特征(setshifttrait)、组偏移特征和目标通路特征相关,所述组转变特征被配置为指示系统缓存中的组群的数量,所述组偏移特征被配置为指示一个组件缓存所位于的组群,所述目标通路特征被配置为指示该组件缓存所位于的一个或多个通路,其中,所述组转变特征大于零指示通过多个组群划分的组件缓存。方法还包括:从客户端接收包括组件缓存标识符的系统缓存访问请求;从所述组件缓存配置表中,获取该组件缓存配置表中与所述组件缓存标识符相关的组转变特征、组偏移特征和目标通路特征;以及将所述系统缓存位置划分到由该组转变特征、组偏移特征和目标通路特征来限定的组件缓存中。在一个方面,从客户端接收包括组件缓存标识符的系统缓存访问请求可以包括:接收系统缓存的物理地址和定制索引(customindex)。一个方面方法还可以包括:从所述组件缓存配置表中,获取该组件缓存配置表中与所述组件缓存标识符相关的索引模式;判断该索引模式指示物理索引化还是定制索引化;将系统缓存的物理地址转换成所述组件缓存的物理地址;以及访问所述组件缓存的物理地址,以从所述组件缓存的物理地址读取,或者写入到所述组件缓存的物理地址。在一个方面,将系统缓存的物理地址转换成所述组件缓存的物理地址可以包括:对所述系统缓存的物理地址的组索引的第一集合的位与所述系统缓存的物理地址的标签进行组合,其中,通过所述组转变特征的值来确定所述组索引的第一集合的位的数量;使用所述组偏移特征的值来替代所述组索引的第一集合的位;以及当确定所述索引模式指示定制索引化时,使用定制索引来替代所述组索引的第二集合的位。在一个方面,从客户端接收包括所述组件缓存标识符的系统缓存访问请求可以包括:接收所述组件缓存的一个或多个特征;更新所述组件缓存配置表中与同该组件缓存标识符相关的所接收的一个或多个特征相对应的一个或多个特征。一个方面方法还可以包括:判断在所述组件缓存配置表中是否存在所述组件缓存标识符;以及响应于确定在所述组件缓存配置表中不存在所述组件缓存标识符,在所述组件缓存配置表中生成针对所述组件缓存标识符的记录。一个方面方法还可以包括:在计算设备的启动时间,加载所述组件缓存配置表;以及将所述组转变特征、所述组偏移特征和所述目标通路特征的所有可能组合包括在所加载的组件缓存配置表中,其中,每一个组合与不同的组件缓存标识符相关。一个方面方法还可以包括:在运行时静态或者动态地,根据每一个组件缓存的所述目标通路特征,对每一个组件缓存的关联性进行定制;以及根据每一个组件缓存的替换策略特征,对每一个组件缓存的替换策略进行定制。一个方面方法还可以包括:对每一个组件缓存的缓存线大小进行定制。一个方面包括一种计算设备,该计算设备具有彼此之间通信连接的处理器、系统缓存内存和系统缓存控制器,其中,所述系统缓存控制器被配置为执行上面所描述的方面方法中的一个或多个的操作。一个方面包括一种其上存储有处理器可执行软件指令的非临时性处理器可读介质,所述处理器可执行软件指令使处理器和系统缓存控制器执行上面所描述的方面方法中的一个或多个的操作一个方面包括一种计算设备,该计算设备具有用于执行上面所描述的方面方法中的一个或多个的功能的单元。附图说明被并入本文并且构成本说明书一部分的附图描绘了本专利技术的示例性方面,并且连同上面给出的概括描述以及下面给出的详细描述一起来解释本专利技术的特征。图1是描绘适合于实现一个方面的计算设备的组件框图。图2是示出适合于实现一个方面的示例性多核处理器的组件框图。图3是示出根据一个方面,适合于通过组和通路将缓存内存划分成一些组件缓存的计算设备的组件框图。图4是根据一个方面,示出通过组和通路对示例性缓存内存进行可变地划分,以实现组件缓存的示意图。图5是根据一个方面,示出一种示例性组件缓存配置表的示意图。图6是根据一个方面,示出通过组和通路将示例性系统缓存内存可变地划分成组件缓存的示意图。图7是根据一个方面,示出组件缓存的客户端访问的例子的原理和过程流程图。图8是根据一个方面,示出用于访问组件缓存的地址转换例子的原理和过程流程图。图9是根据一个方面,示出使用物理地址来访问组件缓存的地址转换例子的原理和过程流程图。图10是根据一个方面,示出使用结合定制索引的物理地址来访问组件缓存的地址转换例子的原理和过程流程图。图11是适合于实现一个方面的示例性组件缓存激活/停用控制命令的组件框图。图12是适合于实现一个方面的示例性组件缓存激活/停用控制状态的组件框图。图13是根据一个方面,示出示例性组件缓存活动通路表的示意图。图14是根据一个方面,示出示例性组件缓存预订表的示意图。图15是根据一个方面,示出一种示例性系统缓存内存的示意图,该系统缓存内存具有被分配给各个组件缓存的预订的缓存通路。图16是根据一个方面,示出一种示例性系统缓存内存的示意图,该系统缓存内存具有被分配给组件本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201580038378.html" title="用于通过组和通路将缓存灵活划分成组件缓存的方法和装置原文来自X技术">用于通过组和通路将缓存灵活划分成组件缓存的方法和装置</a>

【技术保护点】
一种用于对系统缓存进行划分的方法,包括:加载被配置为存储多个组件缓存标识符的组件缓存配置表,其中,所述多个组件缓存标识符与组转变特征、组偏移特征和目标通路特征相关,所述组转变特征被配置为指示所述系统缓存中的组群的数量,所述组偏移特征被配置为指示组件缓存所位于的组群,所述目标通路特征被配置为指示所述组件缓存所位于的一个或多个通路,其中,所述组转变特征大于零指示通过多个组群划分组件缓存;从客户端接收包括组件缓存标识符的系统缓存访问请求;从所述组件缓存配置表中,获取在所述组件缓存配置表中与所述组件缓存标识符相关的组转变特征、组偏移特征和目标通路特征;以及将系统缓存位置划分成通过所述组转变特征、所述组偏移特征和所述目标通路特征来规定的所述组件缓存。

【技术特征摘要】
【国外来华专利技术】2014.07.17 US 14/333,9811.一种用于对系统缓存进行划分的方法,包括:加载被配置为存储多个组件缓存标识符的组件缓存配置表,其中,所述多个组件缓存标识符与组转变特征、组偏移特征和目标通路特征相关,所述组转变特征被配置为指示所述系统缓存中的组群的数量,所述组偏移特征被配置为指示组件缓存所位于的组群,所述目标通路特征被配置为指示所述组件缓存所位于的一个或多个通路,其中,所述组转变特征大于零指示通过多个组群划分组件缓存;从客户端接收包括组件缓存标识符的系统缓存访问请求;从所述组件缓存配置表中,获取在所述组件缓存配置表中与所述组件缓存标识符相关的组转变特征、组偏移特征和目标通路特征;以及将系统缓存位置划分成通过所述组转变特征、所述组偏移特征和所述目标通路特征来规定的所述组件缓存。2.根据权利要求1所述的方法,其中,从所述客户端接收包括所述组件缓存标识符的所述系统缓存访问请求包括:接收所述系统缓存的物理地址和定制索引。3.根据权利要求2所述的方法,还包括:从所述组件缓存配置表中,获取在所述组件缓存配置表中与所述组件缓存标识符相关的索引模式;判断所述索引模式是指示物理索引化还是定制索引化;将所述系统缓存的所述物理地址转换成所述组件缓存的物理地址;以及访问所述组件缓存的所述物理地址,以从所述组件缓存的所述物理地址进行读取,或者向所述组件缓存的所述物理地址进行写入。4.根据权利要求3所述的方法,其中,将所述系统缓存的所述物理地址转换成所述组件缓存的所述物理地址包括:对所述系统缓存的所述物理地址的组索引的第一集合的位与所述系统缓存的所述物理地址的标签进行组合,其中,所述组索引的所述第一集合的位的数量是根据所述组转变特征的值来确定的;使用所述组偏移特征的值,来替代所述组索引的所述第一集合的位;以及当确定所述索引模式指示定制索引化时,使用定制索引来替代所述组索引的第二集合的位。5.根据权利要求1所述的方法,其中,从所述客户端接收包括所述组件缓存标识符的所述系统缓存访问请求包括:接收所述组件缓存的一个或多个特征;以及更新所述组件缓存配置表中与所述组件缓存标识符相关的同所接收的一个或多个特征相对应的一个或多个特征。6.根据权利要求1所述的方法,还包括:判断在所述组件缓存配置表中是否存在所述组件缓存标识符;以及响应于确定在所述组件缓存配置表中不存在所述组件缓存标识符,在所述组件缓存配置表中生成针对所述组件缓存标识符的记录。7.根据权利要求1所述的方法,还包括:在计算设备的启动时间,加载所述组件缓存配置表;以及将所述组转变特征、所述组偏移特征和所述目标通路特征的所有可能组合包括在所加载的组件缓存配置表中,其中,每一个组合与不同的组件缓存标识符相关。8.根据权利要求1所述的方法,还包括:在运行时静态或者动态地,根据每一个组件缓存的所述目标通路特征,对每一个组件缓存的关联性进行定制;以及根据每一个组件缓存的替换策略特征,对每一个组件缓存的替换策略进行定制。9.根据权利要求1所述的方法,还包括:对每一个组件缓存的缓存线大小进行定制。10.一种计算设备,包括:处理器;连接到所述处理器的系统缓存,其被配置为提供用于存储和获取数据的快速访问;通信地连接到所述处理器和所述系统缓存的系统缓存控制器,其被配置为执行包括以下各项的操作:加载被配置为存储多个组件缓存标识符的组件缓存配置表,其中,所述多个组件缓存标识符与组转变特征、组偏移特征和目标通路特征相关,所述组转变特征被配置为指示所述系统缓存中的组群的数量,所述组偏移特征被配置为指示组件缓存所位于的组群,所述目标通路特征被配置为指示所述组件缓存所位于的一个或多个通路,其中,所述组转变特征大于零指示通过多个组群划分组件缓存;从客户端接收包括组件缓存标识符的系统缓存访问请求;从所述组件缓存配置表中,获取在所述组件缓存配置表中与所述组件缓存标识符相关的组转变特征、组偏移特征和目标通路特征;以及将系统缓存位置划分成通过所述组转变特征、所述组偏移特征和所述目标通路特征来规定的所述组件缓存。11.根据权利要求10所述的计算设备,其中,所述系统缓存控制器还被配置为执行操作,使得从所述客户端接收包括所述组件缓存标识符的所述系统缓存访问请求包括:接收所述系统缓存的物理地址和定制索引。12.根据权利要求11所述的计算设备,其中,所述系统缓存控制器被配置为执行还包括以下各项的操作:从所述组件缓存配置表中,获取在所述组件缓存配置表中与所述组件缓存标识符相关的索引模式;判断所述索引模式是指示物理索引化还是定制索引化;将所述系统缓存的所述物理地址转换成所述组件缓存的物理地址;以及访问所述组件缓存的所述物理地址,以从所述组件缓存的所述物理地址进行读取,或者向所述组件缓存的所述物理地址进行写入。13.根据权利要求12所述的计算设备,其中,所述系统缓存控制器被配置为执行操作,使得将所述系统缓存的所述物理地址转换成所述组件缓存的所述物理地址包括:对所述系统缓存的所述物理地址的组索引的第一集合的位与所述系统缓存的所述物理地址的标签进行组合,其中,所述组索引的所述第一集合的位的数量是根据所述组转变特征的值来确定的;使用所述组偏移特征的值,来替代所述组索引的所述第一集合的位;以及当确定所述索引模式指示定制索引化时,使用定制索引来替代所述组索引的第二集合的位。14.根据权利要求10所述的计算设备,其中,所述系统缓存控制器被配置为执行操作,使得从所述客户端接收包括所述组件缓存标识符的所述系统缓存访问请求包括:接收所述组件缓存的一个或多个特征;以及更新所述组件缓存配置表中与所述组件缓存标识符相关的同所接收的一个或多个特征相对应的一个或多个特征。15.根据权利要求10所述的计算设备,其中,所述系统缓存控制器被配置为执行还包括以下各项的操作:判断在所述组件缓存配置表中是否存在所述组件缓存标识符;以及响应于确定在所述组件缓存配置表中不存在所述组件缓存标识符,在所述组件缓存配置表中生成针对所述组件缓存标识符的记录。16.根据权利要求10所述的计算设备,其中,所述系统缓存控制器被配置为执行还包括以下各项的操作:在计算设备的启动时间,加载所述组件缓存配置表;以及将所述组转变特征、所述组偏移特征和所述目标通路特征的所有可能组合包括在所加载的组件缓存配置表中,其中,每一个组合与不同的组件缓存标识符相关。17.根据权利要求10所述的计算设备,其中,所述系统缓存控制器被配置为执行还包括以下各项的操作:在运行时静态或者动态地,根据每一个组件缓存的所述目标通路特征,对每一个组件缓存的关联性进行定制;以及根据每一个组件缓存的替换策略特征,对每一个组件缓存的替换策略进行定制。18.根据权利要求10所述的计算设备,其中,所述系统缓存控制器被配置为执行还包括以下的操作:对每一个组件缓存的缓存线大小进行定制。19.一种其上存储有处理器可执行软件指令的非临时性处理器可读介质,所述处理器可执行软件指令使处理器和系统缓存控制器执行包括以下各项的操作:加载被配置为存储多个组件缓存标识符的组件缓存配置表,其中,所述多个组件缓存标识符与组转变特征、组偏移特征和目标通路特征相关,所述组转变特征被配置为...

【专利技术属性】
技术研发人员:S·帕拉查拉M·卡恩A·阿尔蒂耶里K·邦霍尔V·沙马蒂P·肖拉西亚R·三库拉特里
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1