当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于对晶片外高速缓存存储器的标签集高速缓存的方法、装置和系统制造方法及图纸

技术编号:13825353 阅读:89 留言:0更新日期:2016-10-12 21:47
在确定对高速缓存数据的访问中提供高速缓存标签的高速缓存的技术和机制。在实施例中,标签存储存储第一集合,其包括与高速缓存存储器的相应数据位置关联的标签。高速缓存标签的高速缓存存储标签存储所存储的标签的子集。在第一集合的标签要存储到高速缓存标签的高速缓存的情况下,第一集合的所有标签被存储到第一部分。在另一个实施例中,第一集合的标签到高速缓存标签的高速缓存的任何存储包括第一集合的标签到仅高速缓存标签的高速缓存的第一部分的存储。维持替换表以供在基于高速缓存标签的高速缓存的集合的所指示的活动性水平来驱逐或替换高速缓存标签中使用。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及高速缓存标签存储。更具体地,某些实施例涉及用于高速缓存标签存储的标签集的技术。
技术介绍
所有种类的处理器由于相对于处理器核速度的相对慢存储器速度而变得更加依赖于高速缓存。几十年来已使用许多高速缓存架构。一个常见高速缓存架构是集合关联高速缓存。高速缓存架构具有存储来自系统存储器位置的数据的存储器存储,以及存储标签集的标签存储结构。在标准高速缓存层次结构中,大体上,高速缓存位置越接近处理器核,高速缓存变得越小且越快。最小且最快的高速缓存大体上驻存在处理器核硅晶片(silicon die)上。另一方面,最大的高速缓存(LLC或最后级别的高速缓存)或多个这样的高速缓存有时在存储器核晶片外驻存。因为要花更长时间将数据传送到处理器核,访问(access)驻存在晶片外高速缓存的数据(如与晶片上高速缓存不同)大体上造成额外延迟。每个高速缓存具有标签存储结构。如果处理器需要来自某一存储器位置的数据,它可以通过进行存储器位置地址和指定高速缓存的标签存储结构的比较来确定数据是否存储在该高速缓存中。如果标签存储结构在晶片外,进行标签查找的延迟将比如果标签存储结构在晶片上的要大。从而,尽管晶片上标签存储结构因为它们占据有价值空间而使处理器晶片的成本增加,它们通过使标签查找的延迟相对于晶片外高速缓存减少而有助于加快执行。附图说明本专利技术的各种实施例通过示例而非限制的方式在附图的图中图示,并且其中:图1是图示根据实施例高速缓存标签信息的系统的元件的功能框图。图2图示根据实施例提供对高速缓存数据的访问的高速缓存标签的高速缓存和标签存储的特征。图3A是图示根据实施例访问高速缓存标签的高速缓存的方法的要素的流程图。图3B是图示根据实施例在对高速缓存数据提供访问中使用的标签信息的要素的框图。图3C是图示根据实施例在对高速缓存数据提供访问中使用的标签信息的要素的框图。图4A是图示根据实施例用于维持高速缓存标签的高速缓存的方法的要素的流程图。图4B图示根据实施例在维持高速缓存标签的高速缓存中使用的替换表和状态图的要素。图4C是图示根据实施例在对高速缓存数据提供访问中使用的标签信息的要素的框图。图5是图示根据实施例对高速缓存数据提供访问的计算机系统的元件的框图。图6是图示根据实施例对高速缓存数据提供访问的移动设备的元件的框图。具体实施方式描述实现高速缓存标签的高速缓存的装置、系统和方法的实施例。在下列描述中,阐述许多特定细节。然而,理解实施例可在没有这些特定细节的情况下实践。在其他实例中,未详细论述众所周知的元件、规范和协议以避免使某些实施例难以理解。图1描述实现高速缓存标签的高速缓存的系统100的一个实施例。在许多实施例中,一个或多个处理器核104可以驻存在微处理器硅晶片上,例如晶片1 102。在其他微处理器实施例中,可以存在耦合在一起的多个处理器晶片,每个包括每晶片一个或多个核(对于多个晶片上的处理器核的架构未在图1中示出)。回到图1,处理器核可以耦合于互连105。在不同的实施例中,处理器核104可以是设计成供在任何形式的个人计算机、手持设备、服务器、工作站或现今可用的其他计算设备中使用的任何类型的中央处理单元(CPU)。为了便于解释而示出单个互连105以便不使本专利技术难以理解。在实践中,该单个互连105可以由使不同个体设备耦合在一起的多个互连组成。另外,在许多实施例中,未示出的更多设备(例如,芯片集)可耦合于互连105。处理器核104可以-例如,通过互连105-耦合于物理定位在与处理器核104相同晶片上的一个或多个晶片上高速缓存106。在许多实施例中,高速缓存具有与它关联的存储对于所有高速缓存存储器位置的标签的标签存储114。在许多实施例中,标签存储114驻存在与处理器核104分离的硅晶片上,例如晶片2 112。在许多实施例中,标签存储114耦合于一个或多个晶片外(非处理器晶片)高速缓存116-例如,通过互连105-并且位于与晶片外高速缓存116相同的晶片上。高速缓存标签的高速缓存(CoCT)108可以在处理器晶片102上存储晶片外高速缓存标签的子集。具体地,尽管标签存储114存储所有索引值和每索引值的关联标签集,另一方面,CoCT 108可不存储所有可能的索引值。相反,为了节省存储空间,CoCT 108可以仅存储在标签存储114中所存储的标签的子集。在一些实施例中,不是所有的索引位置在任何指定时间都在CoCT 108中表示。在一些实施例中,控制对CoCT 108的访问的控制器110确定存储器请求何时与当前位于CoCT 108内的标签匹配并且将这一点向处理器报告。在不同的实施例中,存储器请求可以源于系统中许多设备中的一个,例如处理器核中的一个或其他可能存储器请求发起方之中的总线主I/O设备。存储器访问请求每个可以包括到系统存储器122内的特定位置的相应地址。标签存储114可以包括与晶片外高速缓存116中的特定位置关联的所有标签集。从而,在存储器请求被控制器110接收时,控制器110可以在存储器请求地址中解析出索引字段(例如,其包括指向集合的指针或集合的标识符)和标签字段并且然后可检查来看看与特定存储器位置关联的标签的索引是否存储在高速缓存标签的高速缓存108内。如果原始索引被存储,则控制器110可以检查与存储器位置关联的原始标签是否在原始索引位置处以多个方式之一存储在CoCT 108内。如果原始标签位于与原始索引位置关联的CoCT 108的条目中,则结果是存储器请求是高速缓存标签的高速缓存108标签命中(即,高速缓存命中)。如果原始标签未存储在CoCT 108的任何这样的条目处,则结果是存储器请求是高速缓存标签的高速缓存108标签未命中。如果来自指定集合的所有方式的标签在CoCT 108中被高速缓存,这也是特定类型的高速缓存未命中,在本文称为集合未命中。另一方面,如果控制器110在初始查找时未找到存储在CoCT 108中的原始索引,结果是存储器请求是高速缓存标签的高速缓存108索引未命中。在该情况下,控制器110必须从存储器请求提取原始索引值并且然后通过替换当前存储在CoCT 108中的索引而将其插入CoCT 108。在一些实施例(其中CoCT 108自身是关联高速缓存)中,替换政策可以是最近使用最少的政策,其中最近使用最少的索引值被替换。在其他实施例中,其他标准替换政策方案可用于替换CoCT 108中的索引值。一旦将新的索引值插入CoCT 108,则控制器110可以确定与存储器请求关联的特定标签当前是否在索引位置处存储在标签存储114中。如果是这样的话,则结果是标签存储114中的标签命中并且控制器110可以对于在索引位置处存储在标签存储114中的所有方式在新的索引位置处将标签信息输入CoCT 108。否则,结果是标签存储114中的标签未命中并且控制器110需要发起用与存储器请求关联的标签替换最近使用最少的标签(在标签存储114中的索引位置处的方式中的一个)。该替换将位于存储器请求的地址处的数据从系统存储器输入高速缓存存储器内并且将原始标签从存储器请求输入标签存储114。一旦将标签从系统存储器122输入标签存储114内,则在一些实施例中,控制器110可发起用当前存储在标签存储114中的来自索引值处的每个本文档来自技高网...

【技术保护点】
一种装置,其包括:高速缓存存储器,用于耦合于处理器;标签存储,其耦合于所述高速缓存存储器,用于存储第一集合,其包括第一标签,每个第一标签与所述高速缓存存储器的相应数据位置关联;高速缓存标签的高速缓存,用于存储所述标签存储处所存储的标签的子集,所述高速缓存标签的高速缓存包括第一部分和第二部分;以及控制器,其耦合于所述高速缓存标签的高速缓存,所述控制器用于基于来自所述处理器的存储器访问请求来更新所述标签的子集,其中响应于所述第一集合的标签要存储到所述高速缓存标签的高速缓存的任何确定,所述控制器用于将所述第一集合的所有标签存储到所述第一部分,其中所述第一集合的标签通过所述控制器到所述高速缓存标签的高速缓存的任何存储包括所述第一集合的标签到仅所述第一部分的存储。

【技术特征摘要】
【国外来华专利技术】2014.03.27 US 14/2279401. 一种装置,其包括:高速缓存存储器,用于耦合于处理器;标签存储,其耦合于所述高速缓存存储器,用于存储第一集合,其包括第一标签,每个第一标签与所述高速缓存存储器的相应数据位置关联;高速缓存标签的高速缓存,用于存储所述标签存储处所存储的标签的子集,所述高速缓存标签的高速缓存包括第一部分和第二部分;以及控制器,其耦合于所述高速缓存标签的高速缓存,所述控制器用于基于来自所述处理器的存储器访问请求来更新所述标签的子集,其中响应于所述第一集合的标签要存储到所述高速缓存标签的高速缓存的任何确定,所述控制器用于将所述第一集合的所有标签存储到所述第一部分,其中所述第一集合的标签通过所述控制器到所述高速缓存标签的高速缓存的任何存储包括所述第一集合的标签到仅所述第一部分的存储。2. 如权利要求1所述的装置,所述标签存储进一步用于存储第二集合,其包括第二标签,每个第二标签与所述高速缓存存储器内存储的相应数据位置关联。3. 如权利要求2所述的装置,其中响应于所述第二集合的标签要存储到所述高速缓存标签的高速缓存的任何确定,所述控制器用于将所述第二集合的所有标签存储到所述第二部分,其中所述第二集合的标签通过所述控制器到所述高速缓存标签的高速缓存的任何存储包括所述第二集合的标签到仅所述第二部分的存储。4. 如权利要求1和2中任一项所述的装置,其中在所述标签存储的标签的所有集合中,所述第一部分仅存储所述第一集合的标签。5. 如权利要求1、2和4中任一项所述的装置,其中所述标签存储包括:第一多个集合,其包括所述第一集合;以及第二多个集合,其包括所述第二集合;其中在所述第一多个集合和所述第二多个集合中,所述第一部分仅专用于所述第一多个集合并且所述第二部分仅专用于所述第二多个集合。6. 如权利要求5所述的装置,其中所述第一多个集合对应于所述高速缓存存储器的奇数集合并且其中所述第二多个集合对应于所述高速缓存存储器的偶数集合。7. 如权利要求1、2和4中任一项所述的装置,其中所述高速缓存标签的高速缓存和所述处理器位于第一晶片上。8. 如权利要求7所述的装置,其中所述标签存储结构位于耦合于所述第一晶片的第二晶片上。9. 一种方法,其包括:在标签存储处存储第一集合,其包括第一标签,每个第一标签与耦合于处理器的高速缓存存储器的相应数据位置关联;在高速缓存标签的高速缓存处存储所述标签存储处所存储的标签的子集,所述高速缓存标签的高速缓存包括第一部分和第二部分;以及基于来自所述处理器的存储器访问请求来更新所述标签的子集,其中响应于所述第一集合的标签要存储到所述高速缓存标签的高速缓存的任何确定,所述第一集合的所有标签被存储到所述第一部分,其中所述第一集合的标签到所述高速缓存标签的高速缓存的任何存储包括所述第一集合的标签到仅所述第一部分的存储。10. 如权利要求9所述的方法,其进一步包括:在所述标签存储处存储第二集合,其包括第二标签,每个第二标签与所述高速缓存存储器内存储的相应数据位置关联;以及响应于所述第二集合的标签要存储到所述高速缓存标签的高速缓存的任何确定,将所述第二集合的所有标签存储到所述第二部分。11. 如权利要求10所述的方法,其中所述第二集合的标签通过所述控制器到所述高速缓存标签的高速缓存的任何存储包括所述第二集合的标签到仅所述第二部分的存储。12. 如权利要求9和10中任一项所述的方法,其中在所述标签存储的标签的所有集合中,所述第一部分仅存储所述第一集合的标签。13. 如权利要求9、10...

【专利技术属性】
技术研发人员:D罗兰N休塞诺瓦BA奎斯塔Q蔡
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1