当前位置: 首页 > 专利查询>ARM有限公司专利>正文

追踪缓存的内容制造技术

技术编号:14008077 阅读:62 留言:0更新日期:2016-11-17 06:26
本公开涉及追踪缓存的内容。提供了包括多个路径的缓存,多个路径中的每一路径包括数据阵列,其中由缓存所存储的数据项被存储在多个路径中的一个路径的数据阵列中。缓存的路径追踪器具有多个条目,多个条目中的每一条目用于存储数据项标识符,以及用于与数据项标识符相关联地存储对多个路径中的选定路径的指示,以指示由数据项标识符所标识的数据项被存储在选定路径中。路径追踪器的每一条目还用于与数据项标识符相关联地存储错过指示符,其中当针对由该数据项标识符所标识的数据项的查找已经导致缓存错过时,错过指示符由缓存来设置。本文还提供缓存数据的对应的方法。

【技术实现步骤摘要】

本公开涉及数据处理。更具体地,本公开涉及缓存要进行数据处理的数据。
技术介绍
在数据处理装置中可以提供缓存以便存储被存储在存储器中的数据项的本地副本,以使得当那些数据项被数据处理装置频繁地访问时,不需要针对每一次访问引起与从存储器获取那些数据项相关联的延时。缓存可以以多个缓存等级的形式被提供,其中缓存等级和存储数据项的存储器形成层次结构,其中靠近数据处理装置的处理元件提供较小较快的缓存,并且靠近存储器提供较大较慢的缓存。缓存可以以组相联(set-associative)的方式被安排,其中提供了可用以存储数据项的多个路径。给定数据项在缓存中的存储位置通常由该数据项的存储器地址的一部分确定,但是多个路径为数据项提供了对应数量的可能的存储位置。这减轻了与两个数据项相关联的问题,这两个数据项都被数据处理装置频繁地访问,并具有相同的存储器地址部分并且因此在缓存中具有相同的存储位置。如果对于这两个数据项在缓存中只存在一个可能的存储位置,则访问一个数据项将会驱逐另一个数据项,并且对两个数据项的频繁访问将会导致“系统颠簸(thrashing)”。对于数据处理装置中的缓存的实现方式,缓存的运行效率和速度是重要的因素,并且仍存在改善这两个特性的机会。
技术实现思路
至少一些实施例具有缓存,该缓存包括:多个路径,多个路径中的每一路径包括数据阵列,其中,由缓存所存
储的数据项被存储在多个路径中的一个路径的数据阵列中;以及包括多个条目的路径追踪器,多个条目中的每一条目用于存储数据项标识符,以及用于与数据项标识符相关联地存储对多个路径中的选定路径的指示,以指示由数据项标识符所标识的数据项被存储在选定路径中,其中,每一条目还用于与数据项标识符相关联地存储错过指示符,其中,当针对由数据项标识符所标识的数据项的查找已经导致缓存错过时,错过指示符由缓存来设置。至少一些实施例提供了缓存数据项的方法,该方法包括:将数据项存储在缓存的多个路径中的路径的数据阵列中;将数据项标识符存储在包括多个条目的路径追踪器的条目中;与路径追踪器的条目中的数据项标识符相关联地存储对多个路径中的选定路径的指示,以指示由数据项标识符所标识的数据项被存储在选定路径中;与路径追踪器中所存储的每一数据项标识符相关联地存储错过指示符;以及当针对由数据项标识符所标识的数据项的查找已经导致缓存错过时,设置错过指示符。至少一些实施例具有缓存,该缓存包括:用于将数据项存储在缓存的多个路径中的路径的数据阵列中的装置;用于将数据项标识符存储在包括多个条目的路径追踪器的条目中的装置;用于与路径追踪器的条目中的数据项标识符相关联地存储对多个路径中的选定路径的指示以指示由数据项标识符所标识的数据项被存储在选定路径中的装置;用于与路径追踪器中所存储的每一数据项标识符相关联地存储错过指示符的装置;以及用于当针对由数据项标识符所标识的数据项的查找已经导致缓存错过时设置错过指示符的装置。附图说明本专利技术将只以示例的方式参考附图中所示的其实施例被进一步描述,其中:图1示意性地示出了一个实施例中包括缓存的数据处理装置;图2示意性地更详细地示出了一个实施例中的缓存;图3A示意性地示出了一个实施例中的路径追踪器;图3B示意性地示出了一个实施例中由缓存所接收的地址和路径追踪器中所存储的地址之间的匹配的确定;以及图4示出了当实现一个实施例的方法时实行的一系列步骤。具体实施方式根据本技术的至少一些缓存的实施例包括:多个路径,多个路径中的每一路径包括数据阵列,其中由缓存所存储的数据项被存储在多个路径中的一个路径的数据阵列中;以及包括多个条目的路径追踪器,多个条目中的每一条目用于存储数据项标识符,以及用于与数据项标识符相关联地存储对多个路径中的选定路径的指示,以指示由数据项标识符所标识的数据项被存储在选定路径中,其中每一条目还用于与数据项标识符相关联地存储错过指示符,其中当针对由该数据项标识符所标识的数据项的查找已经导致缓存错过时,错过指示符由缓存设置。因为缓存中所存储的给定数据项可以被存储在缓存中若干可能的存储位置中的一个中,其中可能的存储位置的数量由缓存中路径的数量来给定,所以缓存具有多个路径(即,它是组相联的)。在缓存中针对数据项存在多个可能的存储位置的情况下,提供路径追踪器以便对存储特定数据项(由其数据项标识符(例如其存储器地址或其存储器地址的一部分)所标识的)的缓存的路径给出早期指示,例如其使得缓存中的完全查找过程能够被避免。此外,路径追踪器的每一条目还被安排为能够存储错过指示符,该错过指示符在针对缓存中错过的对应数据项的查找之后被设置,换言之,假设已知对应的数据项未被存储在缓存中。这样一来,本技术使得缓存能够受益于在缓存中存储与“已知的缓存错过”有关的信息,而无需
为了这么做而提供额外的专用组件,因为这种功能通过利用现有的路径追踪器并且扩展路径追踪器(该路径追踪器以其它方式存储数据项被存储在缓存中何处的指示)的每一条目中所存储的信息而被提供以包括对数据项的已知缓存错过的指示。在一些实施例中,缓存还包括:具有用于存储数据项标识符的多个标签条目的至少一个标签阵列,该至少一个标签阵列用于将数据项标识符存储在与多个路径中的一个路径的数据阵列中的数据项的存储位置相对应的至少一个标签阵列的标签条目中;以及访问电路,其用于响应于对所接收的数据项标识符的接收来在至少一个标签阵列中和多个路径中的每一路径的数据阵列中执行查找过程,其中路径追踪器响应于所接收的数据项标识符和路径追踪器的条目中的数据项标识符之间的匹配以使得由访问电路来抑制在至少一个标签阵列中的查找过程。因此,在至少一个标签阵列被提供以使得缓存能够执行查找以确定缓存中给定数据项的存储位置(路径)的情况下,因为无论是否路径追踪器中的条目指示数据项被存储在缓存的特定路径中(并且因此确定该路径的标签阵列查找不是必需的),还是路径追踪器中的条目指示数据项是“已知的缓存错过”(并且因此标签阵列查找不是必需的,因为在缓存中未发现数据项),当路径追踪器中存在匹配时,通过抑制至少一个标签阵列中的查找过程可以节省缓存的时间和能量消耗。从一个视角来看,路径追踪器实际上可以被视为标签阵列的小子集,并且路径追踪器较小的事实使得路径追踪器能够被更快地访问(并且因此当发现匹配时,及时抑制实际标签阵列访问)。在一些实施例中,路径追踪器响应于所接收的数据项标识符和路径追踪器的条目中的数据项标识符之间的匹配,并且当对选定路径的指示被存储在该条目中时,以使得抑制访问电路对多个路径中的每一路径而不是选定路径的数据阵列的访问。因此,在路径追踪器中的条目指示已知所请求的数据项(如所接收的数据项标识符所标识的)被存储在其中的路径时,对数据阵列的访问可被部分地避免,因为该访问只需要在已知数据项被存储在其中的路径中被执行。由此节省了在其它路径中执行访问的能量消耗。在一些实施例中,路径追踪器响应于所接收的数据项标识符和路径追踪器的条目中的数据项标识符之间的匹配,并且当错过指示符与该数据项标识符相关联地被存储时,以使得抑制访问电路对所有多个路径的数据阵列的访问。(因为错过指示符被与对应的数据项标识符相关联地设置和存储)在已知数据项未被存储在缓存中的情况下,通过抑制所有数据阵列中的访问本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201610270075.html" title="追踪缓存的内容原文来自X技术">追踪缓存的内容</a>

【技术保护点】
一种缓存,包括:多个路径,所述多个路径中的每一路径包括数据阵列,其中,由所述缓存所存储的数据项被存储在所述多个路径中的一个路径的所述数据阵列中;以及包括多个条目的路径追踪器,所述多个条目中的每一条目用于存储数据项标识符,以及用于与所述数据项标识符相关联地存储对所述多个路径中的选定路径的指示,以指示由所述数据项标识符所标识的数据项被存储在所述选定路径中,其中,每一条目还用于与所述数据项标识符相关联地存储错过指示符,其中,当针对由所述数据项标识符所标识的数据项的查找已经导致缓存错过时,所述错过指示符由所述缓存来设置。

【技术特征摘要】
2015.05.04 US 14/702,9721.一种缓存,包括:多个路径,所述多个路径中的每一路径包括数据阵列,其中,由所述缓存所存储的数据项被存储在所述多个路径中的一个路径的所述数据阵列中;以及包括多个条目的路径追踪器,所述多个条目中的每一条目用于存储数据项标识符,以及用于与所述数据项标识符相关联地存储对所述多个路径中的选定路径的指示,以指示由所述数据项标识符所标识的数据项被存储在所述选定路径中,其中,每一条目还用于与所述数据项标识符相关联地存储错过指示符,其中,当针对由所述数据项标识符所标识的数据项的查找已经导致缓存错过时,所述错过指示符由所述缓存来设置。2.如权利要求1所述的缓存,还包括:至少一个标签阵列,所述至少一个标签阵列具有用于存储数据项标识符的多个标签条目,所述至少一个标签阵列用于将数据项标识符存储在与所述多个路径中的一个路径的所述数据阵列中的数据项的存储位置相对应的所述至少一个标签阵列的标签条目中;以及访问电路,所述访问电路用于在所述至少一个标签阵列中执行查找过程,以及用于响应于对所接收的数据项标识符的接收来访问所述多个路径中的每一路径的所述数据阵列,其中,所述路径追踪器响应于所述所接收的数据项标识符和所述路径追踪器的条目中的所述数据项标识符之间的匹配使得由所述访问电路来抑制在所述至少一个标签阵列中的所述查找过程。3.如权利要求2所述的缓存,其中,所述路径追踪器响应于所述所接收的数据项标识符和所述路径追踪器的条目中的所述数据项标识符之间的所述匹配,并且当对所述选定路径的所述指示被存储在所述条目中时,使得由所述访问电路来抑制对所述多个路径中的每一路径而不是所述选定路径的所述数据阵列的访问。4.如权利要求2所述的缓存,其中,所述路径追踪器响应于所述所接收的数据项标识符和所述路径追踪器的条目中的所述数据项标识符之间的所述匹配,并且当所述错过指示符被与所述数据项标识符相关联地存储时,使得由所述访问电路来抑制对所有所述多个路径的数据阵列的访问。5.如权利要求2所述的缓存,其中,所述路径追踪器中所存储的选定路径的所述指示包括针对所述多个路径中的每一路径的禁用指示符,并且当针对所述缓存的路径的所述禁用指示符在所述路径追踪器的条目中被设置时,所述访问电路响应于所述所接收的数据项标识符和所述路径追踪器的条目中的所述...

【专利技术属性】
技术研发人员:迈尔斯·罗伯特·杜利托德·拉法兹盖伊·拉里
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

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

1