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

解决高速缓存冲突制造技术

技术编号:2914936 阅读:198 留言:0更新日期:2012-04-11 18:40
防止和解决微处理器和/或计算机系统内的高速缓存冲突。更具体地,本发明专利技术的实施例涉及用于管理在其中可对特定的一个或一组高速缓存做出多个访问的处理器和/或计算机系统内的高速缓存冲突的技术。

【技术实现步骤摘要】
本申请是申请日为2005年8月26日申请号为第200580029787.3号专利技术名称为“解决高速缓存冲突”的中国专利申请的分案申请。领域本专利技术的实施例涉及微处理器和微处理器系统。本专利技术的实施例尤其涉及解决在其中发生对同一个或同一组高速缓存的多个访问的处理器或计算机系统内的高速缓存访问冲突。背景现有技术的处理器和计算机系统对能被并发地管理的特定一个或一组高速缓存的访问个数有限。用于对抗该问题的一种现有技术是使用其高速缓存条目与一个或多个处理器核专用的高速缓存(诸如1级(L1)高速缓存)的高速缓存条目相对应的相容(inclusive)高速缓存结构。换言之,现有技术的多核处理器和/或多处理器计算机系统已经试图通过简单地将高速缓存访问中的某一些定向到共享的相容高速缓存结构,诸如末级高速缓存(LLC),来降低核高速缓存内的高速缓存访问冲突,其中上述共享的相容高速缓存结构含有该相容高速缓存结构相对应的处理器核或代理的全部高速缓存条目。然而,在高速缓存访问来自于多核处理器内的某核的情况下,该核通常会首先试图访问它自己的高速缓存内的数据,然后再求助于共享的高速缓存。共享的相容高速缓存结构有时会被称为“高速缓存过滤器”,这是因为它保护核高速缓存不受过多的高速缓存访问,并因此通过从相容高速缓存而非核的高速缓存中为这些代理提供所请求的数据来保护总线通信量不受代理影响。使用诸如LLC等高速缓存结构以服务于来自各代理的高速缓存请求的现有技术有助于允许请求代理在例如数据并非由一特定的处理器核专有或修改的情况下无需求助于处理器核的高速缓存就能获取它们需要的数据。就诸如处理器或处理器核心等代理拥有请求代理企图访问的其自高速缓存的高速缓存行而言,例如LLC等高速缓存结构能够允许该请求代理获取其正在请求的数据,而非等待拥有数据代-->理与其共享数据。尽管如此,当使用LLC来服务高速缓存请求时仍会发生其他冲突。例如,图1示出了在从LLC中收回(eviction)被访问的行期间试图访问同一高速缓存行的两个核。更具体地,核0在与核1的高速缓存内的某行被从LLC中收回的基本同时(经由LLC监听)发起对该行的核高速缓存请求,而与此同时核1则正启动新数据的写回。在此情况下,如果核0的请求是在来自核1的写回已发生之前做出的,则核0可能会从LLC中检索到错误的数据。在某些情况下,LLC为履行核0的核请求而需要对核1的高速缓存做出监听(“交叉监听”),而这会导致在核0的请求、LLC对核1的交叉监听、LLC收回以及核1向LLC写回更新数据之间的四向高速缓存冲突。在图1中描绘的现有技术问题会随着系统中处理器核或其他总线代理数目的增加而恶化。例如,在图1中描绘的冲突在含有4核而非图1所示的2核的多核处理器中为两倍。类似地,随着计算机系统中处理器数目的增加,对任何特定核高速缓存的访问数也会增加,由此在LLC收回期间发生的冲突个数也会增加。诸如在图1中描绘的高速缓存冲突会因为请求代理等待LLC收回及相应的写回完成,或者检测由冲突引起的不正确检索数据并从中恢复而对处理器性能产生不利影响。因此,在现有技术的处理器和/或计算机系统中可以访问特定高速缓存结构的代理数目是有限的。附图简述在其中相同的标号指示类似元素的附图中,以示例性而非限制性的方式示出了本专利技术的实施例,在附图中:图1示出了现有技术处理器或计算机系统中对同一高速缓存行的多个访问之间的冲突。图2示出了根据本专利技术一个实施例的高速缓存桥架构。图3示出了结合本专利技术的一实施例使用的用于处理器的交叉监听状态机。图4是示出结合本专利技术的至少一个实施例使用的操作的流程图。图5示出了在其中可以使用本专利技术的至少一个实施例的前端总线计算机系统。图6示出了在其中可以使用本专利技术的至少一个实施例的点对点计算机系统。详细描述-->本专利技术的实施例涉及微处理器和/或计算机系统内的高速缓存架构。本专利技术的实施例尤其涉及用于管理在其中对特定的一个或一组高速缓存做出多个访问的处理器和/或计算机系统内的高速缓存冲突的技术。本公开描述了用于解决与现有技术的多处理器和/或多核计算机系统中的高速缓存技术相关联的问题的各个本专利技术实施例,其中包括当多个请求代理试图访问同一高速缓存行时冲突的解决和避免。在本专利技术的至少一个实施例中,诸如末级高速缓存(LLC)等相容高速缓存结构可以与具有诸如1级(L1)高速缓存的相关联高速缓存的多个处理器或处理器核结合使用。诸如LLC等相容高速缓存结构包括那些至少含有与该相容高速缓存结构所对应的其他高速缓存所含数据相同的结构。通过维持相容高速缓存结构与相对应的核和/或处理器高速缓存之间的一致性,可由该相容高速缓存来服务对相应的核/处理器高速缓存的访问,由此降低对相应的核/处理器的总线通信量并允许该核/处理器。其中使用相容高速缓存结构的本专利技术实施例还能够降低甚至减轻当多个处理器和/或处理器核试图访问该相容高速缓存结构内的同一高速缓存行时可能发生的冲突个数和/或类型。例如,本专利技术的至少一个实施例减轻了由多处理器系统内的处理器和/或从多核处理器内的核对相容高速缓存结构(诸如LLC)内正被收回的某行的高速缓存请求以及从与该行所对应的被收回的核的写回所引起的高速缓存冲突,其中所述行被收回是因为核高速缓存被收回并导致对LLC相同组的又一次填充。此外,至少一个实施例能够减轻由多处理器系统内的处理器和/或多核处理器内的核对共享的相容高速缓存(诸如LLC)内的正被填充的行的高速缓存请求以及所导致的对该共享的相容高速缓存行的收回所引起的冲突。其他实施例可以解决各请求代理对被收回的相容高速缓存行的多个访问所引起的其他冲突。图2示出了根据本专利技术一个实施例的解决对被收回的相容高速缓存行的多个访问之间的冲突的高速缓存桥架构。更具体地,图2的高速缓存桥架构示出了可由外部代理经由诸如前端总线接口和/或点对点接口之类的计算机系统互连接口205访问的LLC 201。此外,LLC可由核0 210和/或核1 215分别经由核互连接口213和217来访问。高速缓存桥调度与排序(CBSO)逻辑220在本专利技术的至少一个实施例中分别使用内部和外部请求队列225和230来管理外部与核代理对LLC的访问,这些请求队列可用于存储与外部和/或核逻辑对LLC做出的访问相对应的命令、地址和/或数据。在本专利技术的至少一个实施例中,CBSO逻辑可用于管理并解决由包括LLC查-->找、LLC高速本文档来自技高网...

【技术保护点】
一种方法,包括: 对相容高速缓存结构的同一行执行多个访问; 防止来自多个处理器核对所述行的所述多个访问之间的冲突,所述多个访问是由如下组中的任何两个事务导致的:所述行的外部监听、所述行的收回、来自所述相容高速缓存的交叉监听以及对 所述行的写回。

【技术特征摘要】
US 2004-9-9 10/937,9731.一种方法,包括:
对相容高速缓存结构的同一行执行多个访问;
防止来自多个处理器核对所述行的所述多个访问之间的冲突,所述多个访问
是由如下组中的任何两个事务导致的:所述行的外部监听、所述行的收回、来自所
述相容高速缓存的交叉监听以及对所述行的写回。
2.如权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:J吉尔伯特ZN蔡YC刘K西斯特拉
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1