【技术实现步骤摘要】
数据高速缓存
[0001]分案说明
[0002]本申请属于申请日为2016年4月29日的中国专利技术专利申请201680018844.6的分案申请。
[0003]本说明书涉及对数据进行高速缓存。
技术介绍
[0004]装置可以包括用于存储最近访问的数据或预期被访问的数据的高速缓存。例如,处理器可以包括一个或多个高速缓存层级。例如,与在高速缓存层级层次中位于下部的较大且较慢的L3高速缓存相比,最高高速缓存层级,例如L1高速缓存,可以是高速缓存层级层次中的最快高速缓存并且是最小高速缓存。
技术实现思路
[0005]在一些实施方式中,系统可指定嵌套页面表,例如用于虚拟机,或其它不经常访问的数据所被存储的高速缓存层级。可以随时改变高速缓存层级以降低高速缓存未命中率。将嵌套页面表和其它不经常访问的数据存储在特定高速缓存层级处可以允许处理器在较慢的存储器,例如L3高速缓存,中访问不经常访问的存储器,然而不在高速缓存层级层次中将不经常访问的数据向上移,并且弹出存储在较快的存储器中的更可能被访问的数据。
[0006]一般而言,在本说明书中描述的主题的一个创新方面可用方法加以具体实现,所述方法包括以下动作:从装置的组件接收对数据的请求;确定所述数据满足不频发条件;响应于确定所述数据满足所述不频发条件:确定目标高速缓存层级,所述目标高速缓存层级定义在特定高速缓存的高速缓存层级层次内存储不经常访问的数据的高速缓存层级,所述目标高速缓存层级在所述高速缓存层级层次中比最高高速缓存层级低;从不是所述装置的 ...
【技术保护点】
【技术特征摘要】
1.一种计算机实现的方法,所述方法包括:从装置的组件接收对数据的请求;确定对所述数据的所述请求包括对嵌套页面表的请求;响应于确定对所述数据的所述请求包括对嵌套页面表的请求:确定所述数据是否是特定数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中;响应于确定所述数据是所述特定数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中:确定所述目标高速缓存层级,所述目标高速缓存层级定义在特定高速缓存的高速缓存层级层次内存储具有所述特定数据类型的数据的高速缓存层级,所述目标高速缓存层级在所述高速缓存层级层次中比最高高速缓存层级低;从不是所述装置的高速缓存的存储器请求并接收所述数据;以及将所述数据存储在所述特定高速缓存的在所述高速缓存层级层次中处于或者低于所述目标高速缓存层级的层级中;以及将所述数据提供给所述组件。2.根据权利要求1所述的方法,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的处理器接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述处理器。3.根据权利要求1所述的方法,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的存储器控制器接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述存储器控制器。4.根据权利要求1所述的方法,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的存储器管理单元接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述存储器管理单元。5.根据权利要求1所述的方法,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的输入/输出单元接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述输入/输出单元。6.根据权利要求1所述的方法,其中确定所述目标高速缓存层级包括使用所述特定高速缓存的高速缓存未命中率自动地确定所述目标高速缓存层级。7.根据权利要求6所述的方法,其中使用所述特定高速缓存的所述高速缓存未命中率自动地确定所述目标高速缓存层级包括:确定所述特定高速缓存的所述高速缓存未命中率不满足阈值未命中率;以及响应于确定所述特定高速缓存的所述高速缓存未命中率不满足所述阈值未命中率,而将所述目标高速缓存层级改变为所述高速缓存层级层次中的较低高速缓存层级。8.根据权利要求6所述的方法,其中使用所述特定高速缓存的所述高速缓存未命中率
自动地确定所述目标高速缓存层级包括:确定所述特定高速缓存的所述高速缓存未命中率满足阈值未命中率;以及响应于确定所述特定高速缓存的所述高速缓存未命中率满足所述阈值未命中率,而将所述目标高速缓存层级改变为所述高速缓存层级层次中的较低高速缓存层级。9.一种存储指令的非暂时性计算机可读存储介质,所述指令能够由数据处理设备执行并在这样的执行时,使所述数据处理设备执行操作,所述操作包括:从装置的组件接收对数据的请求;确定对所述数据的所述请求包括对嵌套页面表的请求;响应于确定对所述数据的所述请求包括对嵌套页面表的请求:确定所述数据是否是特定数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中;响应于确定所述数据是所述特定数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中:确定所述目标高速缓存层级,所述目标高速缓存层级定义在特定高速缓存的高速缓存层级层次内存储具有所述特定数据类型的数据的高速缓存层级,所述目标高速缓存层级在所述高速缓存层级层次中比最高高速缓存层级低;从不是所述装置的高速缓存的存储器请求并接收所述数据;以及将所述数据存储在所述特定高速缓存的在所述高速缓存层级层次中处于或者低于所述目标高速缓存层级的层级中;以及将所述数据提供给所述组件。10.根据权利要求9所述的非暂时性计算机可读存储介质,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的处理器接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述处理器。11.根据权利要求9所述的非暂时性计算机可读存储介质,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的存储器控制器接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述存储器控制器。12.根据权利要求9所述的非暂时性计算机可读存储介质,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的存储器管理单元接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述存储器管理单元。13.根据权利要求9所述的非暂时性计算机可读存储介质,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的输入/输出单元接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述输入/输出单元。14.根据权利要求9所述的非暂时性计算机可读存储介质,其中确定所述目标高速缓存层级包括使用所述特定高速缓存的高速缓存未命中率自动地确定所述目标高速缓存层级。15.根据权利要求14所述的非暂时性计算机可读存储介质,其中使用所述特定高速缓
存的所述高速缓存未命中率自动地确定所述目标高速缓存层级包括:确定所述特定高速缓存的所述高速缓存未命中率不满足阈值未命中率;以及响应于确定所述特定高速缓存的所述高速缓存未命中率不满足所述阈值未命中率,而将所述目标高速缓存层级改变为所述高速缓存层级层次中的较低高速缓存层级。16.一种系统,所述系统包括:数据处理设备;以及存储指令的非暂时性计算机可读存储介质,所述指令能够由数据处理设备执行并在这样的执行时,使所述数据处理设备执行操作,所述操作包括:从装置的组件接收对数据的请求;确定对所述数据的所述请求包括对嵌套页面表的请求;响应于确定对所述数据的所述请求包括对嵌套页面表的请求:确定所述数据是否是特定数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中;响应于确定所述数据是所述特定数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中:确定所述目标高速缓存层级,所述目标高速缓存层级定义在特定高速缓存的高速缓存层级层次内存储具有所述特定数据类型的数据的高速缓存层级,所述目标高速缓存层级在所述高速缓存层级层次中比最高高速缓存层级低;从不是所述装置的高速缓存的存储器请求并接收所述数据;以及将所述数据存储在所述特定高速缓存的在所述高速缓存层级层次中处于或者低于所述目标高速缓存层级的层级中;以及将所述数据提供给所述组件。17.根据权利要求16所述的系统,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的处理器接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述处理器。18.根据权利要求16所述的系统,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的存储器控制器接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述存储器控制器。19.根据权利要求16所述的系统,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的存储器管理单元接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述存储器管理单元。20.根据权利要求16所述的系统,其中:从所述装置的所述组件接收对数据的所述请求包括从装置的输入/输出单元接收对所述数据的所述请求;以及将所述数据提供给所述组件包括将所述数据提供给所述输入/输出单元。21.一种存储指令的非暂时性计算机可读存储介质,所述指令能够由数据处理设备执
行并在这样的执行时,使所述数据处理设备执行操作,所述操作包括:从装置的组件接收对数据的请求;确定所述数据是预先确定的数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中;响应于确定所述数据是所述预先确定的数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中:使用特定高速缓存的高速缓存未命中率自动地确定所述目标高速缓存层级,所述目标高速缓存层级定义在所述特定高速缓存的高速缓存层级层次内存储具有所述预先确定的数据类型的数据的高速缓存层级并且在所述高速缓存层级层次中比最高高速缓存层级低;从不是所述装置的高速缓存的存储器请求并接收所述数据;以及将所述数据存储在所述特定高速缓存的在所述高速缓存层级层次中处于或者低于所述目标高速缓存层级的层级中;以及将所述数据提供给所述组件。22.根据权利要求21所述的计算机可读存储介质,其中使用所述特定高速缓存的所述高速缓存未命中率自动地确定所述目标高速缓存层级包括:确定所述特定高速缓存的所述高速缓存未命中率不满足阈值未命中率;以及响应于确定所述特定高速缓存的所述高速缓存未命中率不满足所述阈值未命中率,而将所述目标高速缓存层级改变为所述高速缓存层级层次中的较低高速缓存层级。23.根据权利要求21所述的计算机可读存储介质,其中使用所述特定高速缓存的所述高速缓存未命中率自动地确定所述目标高速缓存层级包括:确定所述特定高速缓存的所述高速缓存未命中率满足阈值未命中率;以及响应于确定所述特定高速缓存的所述高速缓存未命中率满足所述阈值未命中率,而将所述目标高速缓存层级改变为所述高速缓存层级层次中的较高高速缓存层级。24.根据权利要求21所述的计算机可读存储介质,包括:从所述装置的所述组件接收对第二数据的第二请求;确定所述第二数据是所述预先确定的数据类型并且所述第二数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中;确定更新的目标高速缓存层级,所述更新的目标高速缓存层级定义在所述特定高速缓存的高速缓存层级层次内存储具有所述预先确定的数据类型的数据的高速缓存层级,并且所述更新的目标高速缓存层级在所述高速缓存层级层次中比最高高速缓存层级低;从不是所述装置的高速缓存的另一存储器请求并接收所述第二数据;将所述第二数据存储在所述特定高速缓存的在所述高速缓存层级层次中处于或者低于所述更新的目标高速缓存层级的层级中;以及将所述第二数据提供给所述装置的所述组件。25.一种存储指令的非暂时性计算机可读存储介质,所述指令能够由数据处理设备执行并在这样的执行时,使所述数据处理设备执行操作,所述操作包括:从装置的组件接收对数据的请求;确定所述数据是预先确定的数据类型以及所述数据仅应以不高于目标高速缓存层级的层级存储在高速缓存中;
响应于确定所述数据是所述预先确定的数据类型以及所述数据仅应以不高于所述目标高速缓存层级的层级存储在高速缓存中:确定所述目标高速缓存层级,所述目标高速缓存层级定义在特定高速缓存的高速缓存层级...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。