【技术实现步骤摘要】
【国外来华专利技术】相关申请本申请与和本申请同时提交的、标题为“MethodandApparatusForFlexibleCachePartitioningBySetsAndWaysIntoComponentCaches”的美国专利申请No.14/333,981相关,故以引用方式将其全部内容明确地并入本文。
技术介绍
高速缓存分区以服务计算系统中的多个客户端进程(“客户端”)具有一些利益。分区大小可以进行变化,以匹配客户端的性能需求。客户端体验稳健的性能,因为其专用缓存中的数据不会由于其他客户端的访问而被驱逐。可以关闭空闲分区以减少功耗。但是,由于完成当前高速缓存分区的方式所造成的限制,这些益处不如它们本可以实现的那么大。当前高速缓存只能在高速缓存通路(way)上进行分区,这具有多种限制。高速缓存分区数量受到高速缓存通路数量的限制,并且向高速缓存分区添加关联性以减少高速缓存冲突减少高速缓存分区的可能的最大数量。根据该关联性来确定最小通路分区大小。例如,具有8路相连的8个通路的8MB高速缓存的最小分区是1MB。此外,更小的高速缓存分区可能由于碎片化而导致高速缓存空间的丢失。使用同一个示例,将512KB的数据存储在最小的1MB高速缓存分区中,将导致该高速缓存分区中512KB的空间未使用。根据关联性来确定最小通路分区电源崩溃粒度。在相同的示例中,可能发生电源崩溃的最小粒度是1MB高速缓存分区。崩溃粒度的大小影响功率节省/使用,特别是在共享系统高速缓存替代多个专用存储器的情况下,其中所述多个专用存储器可以独立地发生电源崩溃。在移动片上系统(SoC)计算系统中面临的另一个问题是子系统所产生的 ...
【技术保护点】
一种用于对系统高速缓存进行动态分区的方法,包括:从客户端接收系统高速缓存访问请求,所述系统高速缓存访问请求包括组件高速缓存标识符;从组件高速缓存配置表中检索所述组件高速缓存配置表中与所述组件高速缓存标识符相关的集合移位特性和集合偏移特性;以及对所述系统高速缓存中,与由所述集合移位特性和所述集合偏移特性所指示的集合组内的组件高速缓存的通路组的至少一部分相关的位置进行激活。
【技术特征摘要】
【国外来华专利技术】2014.07.17 US 14/334,0101.一种用于对系统高速缓存进行动态分区的方法,包括:从客户端接收系统高速缓存访问请求,所述系统高速缓存访问请求包括组件高速缓存标识符;从组件高速缓存配置表中检索所述组件高速缓存配置表中与所述组件高速缓存标识符相关的集合移位特性和集合偏移特性;以及对所述系统高速缓存中,与由所述集合移位特性和所述集合偏移特性所指示的集合组内的组件高速缓存的通路组的至少一部分相关的位置进行激活。2.根据权利要求1所述的方法,其中,对所述系统高速缓存中,与由所述集合移位特性和所述集合偏移特性所指示的所述集合组内的所述组件高速缓存的所述通路组的所述至少一部分相关的所述位置进行激活包括:对所述系统高速缓存中的所述位置进行预留。3.根据权利要求2所述的方法,其中,对所述系统高速缓存中的所述位置进行预留包括:针对所述系统高速缓存中的所述位置,在组件高速缓存预留表中设置预留指示符。4.根据权利要求3所述的方法,还包括:更新所述预留指示符,以改变与所述通路组和所述集合组的更新的部分相关的在所述系统高速缓存中预留的位置的数量。5.根据权利要求2所述的方法,还包括:利用对所述组件高速缓存的所述通路组中的活动的所述部分的指示来更新组件高速缓存活动通路表,其中,预留所述系统高速缓存中的所述位置包括:对组件高速缓存活动通路表的所述指示的所述通路进行预留。6.根据权利要求1所述的方法,还包括:防止另一个客户端访问所述系统高速缓存中的所述位置。7.根据权利要求1所述的方法,还包括:对所述系统高速缓存中的所述位置的至少一部分进行释放;以及对所述系统高速缓存中,与所述系统高速缓存中的所释放的位置相关的位置进行去激活。8.根据权利要求1所述的方法,其中,所述组件高速缓存标识符是第一组件高速缓存标识符,并且所述组件高速缓存是第一组件高速缓存,还包括:装载针对至少所述第一组件高速缓存标识符的奖励向量,所述奖励向量被配置为指示与所述第一组件高速缓存标识符相关联的所述第一组件高速缓存扩展到其的一个或多个通路;接收针对至少所述第一组件高速缓存标识符的预留向量,所述预留向量被配置为指示被预留用于所述第一组件高速缓存的一个或多个通路;确定所述预留向量的一个或多个通路是否被第二组件高速缓存预留;响应于确定所述第二组件高速缓存已预留所述预留向量的一个或多个通路,对所述第二组件高速缓存进行去激活,以使由所述第二组件高速缓存预留的所述一个或多个通路未被预留;确定使用所述第一组件高速缓存是否包括使用所述奖励向量的所述通路中的一个或多个通路;响应于确定使用所述第一组件高速缓存的所述请求包括对所述奖励向量的所述通路中的一个或多个通路的所述使用,确定所述奖励向量的一个或多个通路是否被所述第二组件高速缓存预留;响应于确定所述第二组件高速缓存已预留所述奖励向量的一个或多个通路,对所述第二组件高速缓存进行去激活,以使由所述第二组件高速缓存预留的所述一个或多个通路未被预留;以及为所述第一组件高速缓存预留一个或多个未被预留的通路。9.一种计算设备,包括:处理器;系统高速缓存,其连接到所述处理器,所述系统高速缓存被配置为提供用于存储和检索数据的快速访问;系统高速缓存控制器,其通信地连接到所述处理器和所述系统高速缓存,并且被配置为执行包括以下各项的操作:从客户端接收系统高速缓存访问请求,所述系统高速缓存访问请求包括组件高速缓存标识符;从组件高速缓存配置表中检索所述组件高速缓存配置表中与所述组件高速缓存标识符相关的集合移位特性和集合偏移特性;以及对所述系统高速缓存中,与由所述集合移位特性和所述集合偏移特性所指示的集合组内的组件高速缓存的通路组的至少一部分相关的位置进行激活。10.根据权利要求9所述的计算设备,其中,所述系统高速缓存控制器被配置为执行操作,以使得对所述系统高速缓存中,与由所述集合移位特性和所述集合偏移特性所指示的所述集合组内的所述组件高速缓存的所述通路组的所述至少一部分相关的所述位置进行激活包括:对所述系统高速缓存中的所述位置进行预留。11.根据权利要求10所述的计算设备,其中,所述系统高速缓存控制器被配置为执行操作,以使得对所述系统高速缓存中的所述位置进行预留包括:针对于所述系统高速缓存中的所述位置,在组件高速缓存预留表中设置预留指示符。12.根据权利要求11所述的计算设备,其中,所述系统高速缓存控制器被配置为执行还包括以下各项的操作:更新所述预留指示符,以改变与所述通路组和所述集合组的更新的部分相关的在所述系统高速缓存中预留的位置的数量。13.根据权利要求10所述的计算设备,其中,所述系统高速缓存控制器被配置为执行还包括以下各项的操作:利用对所述组件高速缓存的所述通路组中的活动的所述部分的指示来更新组件高速缓存活动通路表,其中,预留所述系统高速缓存中的所述位置包括:对组件高速缓存活动通路表的所述指示的所述通路进行预留。14.根据权利要求9所述的计算设备,其中,所述系统高速缓存控制器被配置为执行还包括以下各项的操作:防止另一个客户端访问所述系统高速缓存中的所述位置。15.根据权利要求9所述的计算设备,其中,所述系统高速缓存控制器被配置为执行还包括以下各项的操作:对所述系统高速缓存中的所述位置的至少一部分进行释放;以及对所述系统高速缓存中,与所述系统高速缓存中的所释放的位置相关的位置进行去激活。16.根据权利要求9所述的计算设备,其中,所述组件高速缓存标识符是第一组件高速缓存标识符,并且所述组件高速缓存是第一组件高速缓存,以及其中,所述系统高速缓存控制器被配置为执行还包括以下各项的操作:装载针对至少所述第一组件高速缓存标识符的奖励向量,所述奖励向量被配置为指示与所述第一组件高速缓存标识符相关联的所述第一组件高速缓存扩展到其的一个或多个通路;接收针对至少所述第一组件高速缓存标识符的预留向量,所述预留向量被配置为指示被预留用于所述第一组件高速缓存的一个或多个通路;确定所述预留向量的一个或多个通路是否被第二组件高速缓存预留;响应于确定所述第二组件高速缓存已预留所述预留向量的一个或多个通路,对所述第二组件高速缓存进行去激活,以使由所述第二组件高速缓存预留的所述一个或多个通路未被预留;确定使用所述第一组件高速缓存是否包括使用所述奖励向量的所述通路中的一个或多个通路;响应于确定使用所述第一组件高速缓存的所述请求包括对所述奖励向量的所述通路中的一个或多个通路的所述使用,确定所述奖励向量的一个或多个通路是否被所述第二组件高速缓存预留;响应于确定所述第二组件高速缓存已预留所述奖励向量的一个或多个通路,对所述第二组件高速缓存进行去激活,以使由所述第二组件高速缓存预留的所述一个或多个通路未被预留;以及为所述第一组件高速缓存预留一个或多个未被预留的通路。17.一种具有存储在其上的处理器可执行软件指令的非暂时性处理器可读介质,所述处理器可执行软件指令用于使处理器和系统高速缓存控制器执行包括以下各项的操作:从客户端接收系统高速缓存访问请求,所述系统高速缓存访问请求包括组件高速缓存标识符;从组件...
【专利技术属性】
技术研发人员:S·帕拉查拉,M·卡恩,A·阿尔蒂耶里,K·邦霍尔,V·沙马蒂,Y·李,R·三库拉特里,G·帕奇拉腊斯,P·K·蒂鲁纳加里,A·E·特纳,JH·吴,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。