平码五不中公式规律
  • / 32
  • 下载费用:30 金币  

分离式共享信息及专用信息缓存.pdf

关 键 ?#21097;?/dt>
分离 共享 信息 专用 缓存
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580030560.4

申请日:

2015.06.08

公开号:

CN106663058A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 12/0811申请日:20150608|||公开
IPC分类号: G06F12/0811(2016.01)I; G06F12/0815(2016.01)I; G06F12/0837(2016.01)I; G06F12/0846(2016.01)I 主分类号: G06F12/0811
申请人: 高通股份有限公司
发明人: 乔治·佩席拉瑞斯; 博胡斯拉夫·雷赫利克; 安瓦尔·罗西拉
地址: 美国加利福尼亚州
优?#28909;ǎ?/td> 2014.06.24 US 14/313,166
专利代理机构: 北京律盟知识产权代理有限责任公司 11287 代理人: 宋献涛
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580030560.4

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

系统及方法涉及一种包括分离式缓存结构的多处理器系统。第一专用信息缓存耦合至所述多处理器系统的第一处理器。所述第一专用信息缓存经配置以存储所述第一处理器专用的信息。与所述第一专用信息缓存分离的第一共享信息缓存也耦合至所述第一处理器。所述第一共享信息缓存经配置以存储所述第一处理器与所述多处理器系统中的一或多个其它处理器之间共享/可共享的信息。

权利要求书

1.一种操作多处理器系统的方法,所述方法包括:
将第一处理器专用的信息存储在耦合至所述第一处理器的第一专用信息缓存中;及
将所述第一处理器与一或多个其它处理器之间共享/可共享的信息存储在耦合至所述
第一处理器的第一共享信息缓存中;
其中所述第一专用信息缓存与所述第一共享信息缓存是分离的。
2.根据权利要求1所述的方法,其包括拒绝将所述共享/可共享信息存储在所述专用信
息缓存中。
3.根据权利要求1所述的方法,其中所述第一专用信息缓存的条目数目或大小大于所
述第一共享信息缓存的条目数目或大小。
4.根据权利要求1所述的方法,其中所述第一专用信息缓存不包括一致性跟踪机制,且
所述第一共享信息缓存包括一致性跟踪机制以保持存储在所述共享信息缓存中的共享/可
共享信息的一致性。
5.根据权利要求1所述的方法,其中,对于第一信息的存储器访?#21097;?#30830;定提示不可用于
指示所述第一信息是专用的还是共享/可共享的,?#24050;?#24207;地访问所述第一专用信息缓存且
接着访问所述第一共享信息缓存。
6.根据权利要求5所述的方法,其进一步包括:确定在所述第一专用信息缓存及所述第
一共享信息缓存中未命中所述第一信息,接着循序地访问耦合至处于远程位置的第二处理
器的第二共享信息缓存,且接着访问耦合至处于所述远程位置的所述第二处理器的第二专
用信息缓存。
7.根据权利要求1所述的方法,其中,对于第一信息的存储器访?#21097;?#30830;定提示不可用于
指示所述第一信息是专用的还是共享/可共享的,?#24050;?#24207;地访问所述第一共享信息缓存且
接着访问所述第一专用信息缓存。
8.根据权利要求1所述的方法,其中,对于第一信息的存储器访?#21097;?#30830;定提示不可用于
指示所述第一信息是专用的还是共享/可共享的,?#20063;?#34892;访问所述第一专用信息缓存及所
述第一共享信息缓存。
9.根据权利要求1所述的方法,其中,对于第一信息的存储器访?#21097;?#30830;定提示可用于指
示所述第一信息是专用的还是共享/可共享的,且分别基于所述第一信息是专用的还是共
享/可共享的来引导访问所述第一专用信息缓存或所述第一共享信息缓存。
10.根据权利要求9所述的方法,其进一步包括:确定在所述第一共享信息缓存中未命
中所述第一信息,及访问耦合至处于远程位置的第二处理器的第二共享信息缓存。
11.根据权利要求9所述的方法,其包括从包括所述第一信息的存储器的区域、编译程
序或操作系统的可共享性属性中的一者推导所述提示。
12.根据权利要求1所述的方法,其进一步包括:当所述第一处理器不在处理指令、被断
开或处于低功率或休眠模式时,选择性地禁用所述第一专用信息缓存以节约功率。
13.根据权利要求1所述的方法,其中所述两个缓存,即所述第一专用信息缓存及所述
第一共享信息缓存中的每一者的相关性、布局及替换策略中的一或多者基于所述两个缓存
中的每一者的一致性跟踪要求、访问时间、共享模式、功率考?#19988;?#32032;或其任何组合中的一或
多者来定制。
14.根据权利要求1所述的方法,其中所述第一专用信息缓存及所述第一共享信息缓存
为2级L2缓存或更高级缓存。
15.一种多处理器系统,其包括:
第一处理器;
第一专用信息缓存,其耦合至所述第一处理器,所述第一专用信息缓存经配置以存储
所述第一处理器专用的信息;及
第一共享信息缓存,其耦合至所述第一处理器,所述第一共享信息缓存经配置以存储
在所述第一处理器与一或多个其它处理器之间共享/可共享的信息;
其中所述第一专用信息缓存与所述第一共享信息缓存是分离的。
16.根据权利要求15所述的多处理器系统,其中所述共享/可共享信息被拒绝接纳于所
述专用信息缓存中。
17.根据权利要求15所述的多处理器系统,其中所述第一专用信息缓存的条目数目或
大小大于所述第一共享信息缓存的条目数目或大小。
18.根据权利要求15所述的多处理器系统,其中所述第一专用信息缓存不包括一致性
跟踪机制,且所述第一共享信息缓存包括一致性跟踪机制以保持存储在所述共享信息缓存
中的共享/可共享信息的一致性。
19.根据权利要求15所述的多处理器系统,其中,对于第一信息的存储器访?#21097;?#22914;果提
示不可用于指示所述第一信息是专用的还是共享/可共享的,则所述第一处理器经配置以
针对所述第一信息首先访问所述第一专用信息缓存且接着访问所述第一共享信息缓存。
20.根据权利要求19所述的多处理器系统,其中如果在所述第一专用信息缓存及所述
第一共享信息缓存中遇到未命中所述第一信息,则所述第一处理器经配置以针对所述第一
信息循序地访问耦合至处于远程位置的第二处理器的第二共享信息缓存,且接着访问耦合
至处于所述远程位置的所述第二处理器的第二专用信息缓存。
21.根据权利要求15所述的多处理器系统,其中,对于第一信息的存储器访?#21097;?#22914;果提
示可用于指示所述第一信息是专用的还是共享/可共享的,则所述第一处理器经配置以分
别基于所述第一信息是专用的还是共享/可共享的而针对所述第一信息引导访问所述第一
专用信息缓存或所述第一共享信息缓存。
22.根据权利要求21所述的多处理器系统,其中所述第一处理器经配置以从包括所述
第一信息的存储器的区域、编译程序或操作系统的可共享性属性中的一者推导所述提示。
23.根据权利要求15所述的多处理器系统,其中所述第一专用信息缓存接近所述第一
处理器物理地定位,且所述第一共享信息缓存接近系统总线物理地定位。
24.根据权利要求15所述的多处理器系统,其中所述第一专用信息缓存经配置以当所
述第一处理器不在处理指令、被断开或处于低功率或休眠模式时被选择性地禁用以节约功
率。
25.根据权利要求15所述的多处理器系统,其中所述第一专用信息缓存及所述第一共
享信息缓存为2级L2缓存或更高级缓存。
26.一种多处理器系统,其包括:
第一处理器;
用于存储所述第一处理器专用的信息的第一装置,所述第一装置耦合至所述第一处理
器;及
用于存储在所述第一处理器与一或多个其它处理器之间共享/可共享的信息的第二装
置,所述第二装置耦合至所述第一处理器;
其中所述第一装置与所述第二装置是分离的。
27.一种非暂时性计算机可读存储媒体,其包括在由多处理器系统的第一处理器执行
时致使所述第一处理器执行用于存储信息的操作的代码,所述非暂时性计算机可读存储媒
体包括:
用于将所述第一处理器专用的信息存储在耦合至所述第一处理器的专用信息缓存中
的代码;及
用于将所述第一处理器与一或多个其它处理器之间共享/可共享的信息存储在耦合至
所述第一处理器的第一共享信息缓存中的代码;
其中所述第一专用信息缓存与所述第一共享信息缓存是分离的。

说明书

分离式共享信息及专用信息缓存

技术领域

所揭示的方面是针对用于?#26723;?#32531;存结构的访问时间及增大其能效的系统及方法。
更确?#26800;?#35828;,示范性方面是针对分隔的缓存结构,例如多处理器设计中的2级或3级缓存,从
而针对专用信息及共享信息提供分离式缓存结构。

背景技术

高性能处理环境中常用多处理器系统或多核处理器。多处理器系统包括相配合提
供高性能的多个处理器或处理核心(例如,通用处理器、中央处理单元(CPU)、数字信号处理
器(DSP)等)。为此目的,两个或更多个处理器可共享至少一个存储器结构,例如主存储器。
处理器中的每一者也可具有带有不同程度的独占性或专用所有权的额外存储器结构。举例
来说,处理器可具有1级(L1)缓存,所述1级缓存为小型快速高性能的存储器结构,其常规上
整合在处理器的芯片中且排他性地由所述处理器使用或专用。L1缓存常规上用于存储少量
重要及其相关联处理器最常使用的信息。在L1缓存与主存储器之间可存在一或多个在常规
上以层级方式布置的额外缓存结构。这些可包含(例如)2级(L2)缓存及有时包括3级(L3)缓
存。所述L2及L3缓存在常规上较大,可相对于一或多个处理器整合于芯片外,且可存储可在
所述多个处理器当中共享的信息。L2缓存在常规上经设计以相对于相关联处理器为?#38236;?br />的,但含有与其它处理器共享的信息。

当L2或L3缓存存储跨处理器共享的信息时,一致性或同步化的概念产生。举例来
说,两个或更多个处理器可基于其个别处理需求从主存储器检索相同信息且将所述信息存
储在共享的L2或L3缓存中。然而,当任何更新写入回至所述共享缓存中时,不同版本可得以
创建,因为每一处理器可以不同方式对共享信息起作用。为?#23435;?#25345;跨越多个处理器的处理
整合性或一致性,不得从共享缓存中检索过时信息。采用众所周知的缓存同步化及一致性
协议来确保对共享信息的修改被有效地传播遍及所述多个处理器及存储器结构。此类一致
性协议可涉及用以播送共享信息的更新的每一处理器的?#24067;?#21450;相关联的软件,及用以监控
共享信息的实施及使用的“窥探”控制器及机制。

举例来说,一致性协议的一些实施方案涉及跟踪所述共享缓存的每一条目或缓存
行。一致性状态(例如基于众所周知的修改/互斥/共享/无效(MESI)协议)需要与共享缓存
的每一缓存行相关联。这些状态的任何更新必须跨越各种存储器结构及不同处理器予以传
播。所述窥探控制器交叉检验跨越各个共享缓存的相同信息的多个?#21271;?#30340;一致性状态,以
便确保最新信息可为任何请求共享信息的处理器所用。这些一致性协议及窥探机制的实施
方案极其昂贵,且其复杂度随着处理器及共享缓存结构的数目增大而增大。

然而,在常规的架构中,与一致性协议的实施相关的这些费用的相当大一部分往
往是不必要及浪费的。这是因为(例如)共享L2缓存的大部分(高达80-90%)通常由非共享
(或换句话说,单个相关联处理器专用)的信息占据。此类专用信息不需要与其相关联的昂
贵一致性机制。在本实例中,仅共享L2缓存其余的更小分率包含很可能跨多个处理器共享
且可能需要一致性机制的信息。然而,由于所述共享信息以及所述专用信息存储在统一共
享L2缓存中,因此整个共享L2缓存将需要具有一致性机制就位。

此外,在常规的实施方案中,访问时间或访问时延也不必要地较高。举例来说,希
望访问第一处理器专用但存储在相对于第一处理器为?#38236;?#30340;统一共享第一L2缓存结构中
的信息的第一处理器将必须搜遍专用信息以及共享信息两者以便访问所要专用信息。搜遍
共享第一L2缓存在常规上涉及标签结构,其大小及相关联的时延随着必须搜索的缓存行的
数目增大。因此,即使第一处理器知道其试图访问的信息是专用的,其也仍然必须牺牲资源
及访问时间来将搜索扩展至存储在共享第一L2缓存中的共享信息。另一方面(例如)就希望
访问存储在共享第一L2缓存中的共享信息的远程第二处理器而言也存在类似问题。即使共
享信息含于共享第一L2缓存的仅一小部分中,远程第二处理器还是将必须搜遍整个共享第
一L2缓存。

因此,需要避免前述与共享缓存结构的常规实施方案相关联的缺点。

发明内容

本发明的示范性实施例是针对经配置以用于存储专用信息及共享信息的分离式
缓存结构。

举例来说,示范性实施例是针对一种操作多处理器系统的方法,所述方法包括将
专用于第一处理器的信息存储在耦合至第一处理器的第一专用信息缓存中,且将第一处理
器与一或多个其它处理器之间共享/可共享的信息存储在耦合至第一处理器的第一共享信
息缓存中。第一专用信息缓存及第一共享信息缓存是分离的。

另一示范性实施例是针对多处理器系统,其包括:第一处理器;耦合至第一处理器
的第一专用信息缓存,第一专用信息缓存经配置以存储第一处理器专用的信息;及耦合至
第一处理器的第一共享信息缓存,第一共享信息缓存经配置以存储在第一处理器与一或多
个其它处理器之间共享/可共享的信息。第一专用信息缓存及第一共享信息缓存是分离的。

另一示范性实施例是针对多处理器系统,其包括:第一处理器;用于存储第一处理
器专用的信息的第一装置,所述第一装置耦合至第一处理器;及用于存储在第一处理器与
一或多个其它处理器之间共享/可共享的信息的第二装置,所述第二装置耦合至第一处理
器。所述第一装置与所述第二装置是分离的。

又一示范性实施例是针对包括代码的非暂时性计算机可读存储媒体,所述代码在
由多处理器系统的第一处理器执行时使第一处理器执行存储信息的操作,所述非暂时性计
算机可读存储媒体包括:用于将第一处理器专用的信息存储在耦合至第一处理器的专用信
息缓存中的代码,及用于将第一处理器与一或多个其它处理器之间共享/可共享的信息存
储在耦合至第一处理器的第一共享信息缓存中的代码。第一专用信息缓存及第一共享信息
缓存是分离的。

附图说明

呈现随附图式以辅助描述本发明的实施例,且提供所述图式仅用于说明实施例而
非对实施例加以限制。

图1说明具有常规的统一L2缓存的常规多处理器系统。

图2说明具有示范性分离式L2缓存(专用信息L2缓存及共享信息L2缓存)的示范性
多处理器系统。

图3A至B说明当无提示可用时示范性分离式L2缓存的?#38236;?#21450;远程访问时间。

图4A至B说明当有提示可用以指示所要信息是专用还是共享时示范性分离式L2缓
存的?#38236;?#21450;远程访问时间。

图5A至C说明示范性分离式L2缓存的并行搜索的?#38236;?#21450;远程访问时间。

图6说明关于示范性分离式缓存的示范性读取操作及相关的一致性状态的流程
图。

图7A至B说明关于示范性分离式缓存的示范性写入操作及相关的一致性状态的流
程图。

图8是说明根据示范性方面的操作多处理器系统的方法的流程图。

图9说明本发明的一方面可有利地采用的示范性无线装置900。

具体实施方式

在以下针对本发明的特定实施例的描述及相关图式中揭示本发明的若干方面。可
在不脱离本发明的范围的情况下设计替代实施例。此外,将不详细描述或将省略本发明的
众所周知的元件,以免混淆本发明的相关?#38468;凇?br />

词语“示范性”在本文中用以意指“充当实例、例子或说明”。本文中描述为“示范
性”的任何实施例不必理解为比其它实施例优选或有利。同样,术语“本发明的实施例”并不
需要本发明的所有实施例包含所论述的特征、优点或操作模式。

本文中所使用的术语仅出于描述特定实施例的目的,?#20063;?#19981;意图限制本发明的实
施例。如本文中所使用,除非上下文另外明?#20998;?#31034;,否则单数形式“一”及“所述?#24065;?#22312;也包含
?#35789;?#24418;式。将进一步理解,术语“包括”及/或“包含”在本文中使用时指定所陈述的特征、整
体、步骤、操作、元件及/或组件的存在,但并不排除一或多个其它特征、整体、步骤、操作、元
件、组件及/或其群组的存在或添加。

此外,许多实施例依据待由(例如)计算装置的元件执行的动作序列来加以描述。
应认识到,本文中所描述的各种动作可由特定电路(例如,专用集成电路(ASIC))、由正由一
或多个处理器执行的程序指令或由所述两者的组合来执行。另外,可认为本文中所描述的
这些动作序列完全体现于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中
存储有一组对应的计算机指令,一旦执行所述计算机指令将使相关联的处理器执行本文中
所描述的功能性。因此,本发明的各种方面可以许多不同形式来体现,已预期其全部属于所
主张的标的物的范围内。此外,对于本文中所描述的实施例中的每一者,任?#26410;说?#23454;施例的
对应形式可在本文中描述为(例如)“经配置以(执行所描述动作)的逻辑”。

示范性方面是针对用于避免与含有专用及共享信息两者的常规统一共享缓存结
构相关联的资源损耗及较长访问时间的系统及方法。因此,一或多个方面是针对将共享信
息及专用信息分离或分隔且将其放置在单独的缓存结构中。一般来说,如本文所使用的术
语“信息”涵盖可存储在例如缓存等存储器结构中的任何类型的信息。更确?#26800;?#35828;,“信息”
可涵盖指令以及数据。因此,将针对可包含指令缓存、数据缓存或组?#31995;?#25351;令及数据缓存的
缓存结构描述示范性方面。指令与数据之间的区别与本文中所论述的示范性方面不相关,
且因此采用术语“信息”代替指令及/或数据,以便消除可能因使用术语“数据”而产生的混
淆。因此,如果论述有关示范性方面的示范性L2缓存,那?#20174;?#29702;解,示范性L2缓存可为L2指
令缓存或L2数据缓存或可保存指令以及数据的组合L2缓存。在示范性方面更相关的区别是
关于缓存中的信息(指令/数据)是专用的还是共享的。因此,本说明书中对“信息类型”的提
及是关于所述信息是专用的还是共享的。

因此,如本文中所采用,术语“专用信息”定义为包含非共享或非可共享但(例如)
供特定处理器或核心专用的信息。另一方面,将若干处理器当中共享或可共享的信息定义
为“共享信息”。一或多个示范性方面是针对分离式缓存结构,其中专用信息缓存经配置以
包括专用信息,而共享信息缓存经配置以包含共享信息。因此,在示范性方面中将定义为包
括专用信息以及共享信息的“常规统一缓存”分成两个缓存,其中每一缓存根据信息类
型——专用信息缓存及共享信息缓存——进?#20449;?#32622;。这允许基于其保存的信息类型优化每
一缓存。

更详细地说,第一装置(例如专用信息缓存)经设计以保存与专用信息缓存相关联
的?#38236;?#31532;一处理器或核心专用的信息。第二装置(例如共享信息缓存)也与专用信息缓存一
起提供,所述第二装置可保存第一处理器与一或多个其它远程处理器或可能相对于?#38236;?#31532;
一处理器处于远程位置的远程缓存之间共享或可共享的信息。这允许针对共享信息缓存单
独定制及实施一致性协议,因为专用信息缓存?#32531;?#20849;享或可共享信息,且因此不需要一致
性机制就位。此外,在通过将一致性协议限制于共享信息缓存来?#26723;?#23454;施这些协议的成本
的过程中,所述示范性方面采用所述示范性缓存还能够实现更快访问时间及提高处理系统
的性能。在示范性案例中,专用信息缓存的大小可小于常规统一缓存的大小,且搜索专用信
息缓存更快是因为所述搜索排除共享信息。即使专用信息缓存的条目数目与常规统一缓存
中的条目数目相当或相等,示范性专用信息缓存也可有更小整体大小且显示经提高的访问
速度,因为示范性专用信息缓存中可避免一致性位及相关的一致性检查。在共享信息的实
例中,可为共享信息缓存定制一致性协议,所述共享信息缓存可经配置以(例如,基于经验
数据)保存比专用信息缓存或常规统一缓存少的条目数目。基于对应地更小的搜索空间,示
范性共享信息缓存中的共享信息的访问时间可比在常规的统一缓存中搜索共享信息快很
多。

虽然已参考示范性专用信息缓存及共享信息缓存的相?#28304;?#23567;来提供以上实例,但
应理解,这些实例不应解释为限制。另一方面,就存储在这些缓存中的缓存条目数目而言,
示范性方面可包含任?#26410;?#23567;的分离式专用信息缓存及共享信息缓存。基于对用于专用信息
缓存的一致性实施的避免及在专用信息缓存或共享信息缓存中定向搜索信息的能力,可在
任?#26410;?#23567;的示范性分离式专用信息缓存及共享信息缓存中观测到性能及访问速度?#31995;?#25552;
高。基于这一点,应也可认识到,一些方面涉及示范性案例:其中,基于与处理器的?#38236;?#32531;存
中专用信息更高百分比相关的经验数据,可使示范性专用信息缓存具备更大的大小且使示
范性共享信息缓存具备更小的大小。以下图式中的示范?#36816;?#26126;可采纳此类设定为相对较大
大小的专用信息缓存及设定为较小大小的共享信息缓存来展示相对访问速度,但同样,这
些说明并不解释为限制。

还应认识到,示范性方面的各态样有别于试图基于其中含有的信息为专用或是共
享来将常规的统一缓存组织成区段或片段的已知方法,因为对信息的搜索量(及对应的访
问时间)仍然较高且对应于整个常规统一缓存的搜索结构。举例来说,仅鉴别常规统一缓存
中的缓存行是关于共享信息还是专用信息不能充分获得根据示范性方面的实体地分隔的
缓存结构的益处。

应理解,所述示范性系统及方法是关于任何层级或大小的缓存(例如,L2、L3等)。
虽然一些方面可能关于共享L2缓存而予以论述,但应清楚,所揭示的技术可?#30001;?#33267;存储器
层级中的可包含共享信息的任何其它级缓存,例如L3缓存。此外,如前文所述,示范性技术
可?#30001;?#33267;指令缓存及/或数据缓存,或换句话说,存储在示范性缓存结构中的信息可为指令
及/或数据,或(就此而言)存储在特定缓存实施方案中的任何其它形式的信息。

现参考图1,说明常规的多处理器系统100。第一处理器102及第二处理器104展示
成具有相关联的L2缓存106及108,其以通信方式耦合至主存储器110。在以下描述中,可将
第一处理器102视为?#38236;?#22788;理器,第二处理器104相对于其而言可为远程处理器或位于远程
位置。在此论述中,术语“?#38236;亍?#21450;“远程”仅用于表达缓存与其它系统组件的相对放置,?#20063;?br />应解释为限制性的。此外,本文中不要求远程位置(例如)在芯片外或在与?#38236;?#22788;理器所整
?#31995;?#33455;片不同的芯片上。为简单起见,其它缓存(例如,处理器102、104内的?#38236;豅1缓存、L3
缓存等)从此说明中省去,但可存在。L2缓存106及108可在处理器102及104之间共享。L2缓
存106及108为常规的统一缓存,且其含有专用信息及共享信息两者。举例来说,L2缓存106
相对于处理器102为?#38236;?#30340;,且含有?#38236;?#22788;理器102专用的信息(即本文中的“专用信息”)以
及与远程处理器104共享的信息(即本文中的“共享信息”)。由于L2缓存106为常规的统一缓
存,因此L2缓存106的所有条目或缓存行必须实施一致性协议。跨越L2缓存106的所有行的
一致性位107代表性地说明了这一点。类似地,还展示L2缓存108的一致性位109。L2缓存106
及108遭受与针对专用信息的一致性协议的不必要实施相关联的前述缺点:长访问时间、高
功率消耗、低效搜索功能、浪费资源等。

现参考图2,说明关于包括处理器202及204的多处理器系统200的示范性方面。与
图1的常规多处理器系统100相比,多处理器系统200包含以通信方式耦合至主存储器210的
分离式缓存,其中系统总线212处置其各种互连(为简单起见,本视图中省去例如L1/L3缓存
等额外?#38468;冢?#20854;中理解为存储器层级的这些及其它方面可能存在,但无限制性)。更详细地
说,多处理器系统100中的L2缓存106(例如)由分离式缓存(专用信息L2缓存206p及共享信
息L2缓存206s)代替。专用信息L2缓存206p包含处理器202专用(即,未共享或不可共享)的
专用信息,其中处理器202相对于专用信息L2缓存206p为?#38236;?#30340;。共享信息L2缓存206s包含
可与?#38236;?#22788;理器202及远程处理器204共享或可共享的共享信息。

在一些方面,例如如所说明,专用信息L2缓存206p与共享信息L2缓存206s相比可
在大小上较大。然而,就如已论述的,这并非限制,?#20197;?#20854;它方面,基于(例如)处理器202从
这些缓存访问的专用信息及共享信息的相对量、或对专用信息及共享信息事务所要的性能
要求,有可能专用信息L2缓存206p与共享信息L2缓存206s相比可具有更小或相等的大小。
在一些情况下,可存储在专用信息L2缓存206p及共享信息L2缓存206s中的信息(专用或共
享)的组合量可与可能存储在多处理器系统100的常规统一L2缓存106中的信息量相当。因
此,在说明性实例中,专用信息L2缓存206p的大小可为常规统一L2缓存106大小的80-90%,
而共享信息L2缓存206s的大小可为常规统一L2缓存106大小的10-20%。同样,此类情况也
不是限制,且信息的组合量可小于或大于(例如)常规统一缓存(例如图1中的常规L2缓存
106)中的条目数目。即使在示范性专用信息L2缓存206p及共享信息L2缓存206s的组合大小
可能大于(?#28909;?常规L2缓存106的情况下,示范性方面中的访问时间可仍然更快,因为可提
供提示(如下文将进一步论述)来指引对专用信息L2缓存206p或共享信息L2缓存206s中的
一者的特定信息的搜索;或可并行搜索专用信息L2缓存206p及共享信息L2缓存206s(同样,
如以下章节将进一步论述)。

继续参考图2,一致性位207仅与共享信息L2缓存206s相关联,而专用信息L2缓存
206p未展示具有对应的一致性位。相比于常规统一L2缓存106的一致性位107,一致性位207
的大小可更小,部分原因是仅存储在更小的共享信息L2缓存206s中的条目对其有需要。关
于一致性协议的适用于示范性方面的额外?#38468;?#23558;在本发明的随后章节中予以论述。共享信
息L2缓存206s可充当供较大专用信息L2缓存206p用的窥探过滤器,部分原因是远程处理器
可首?#20154;?#32034;或窥探共享信息L2缓存206s,?#20197;?#26497;少情况下可能将搜索?#30001;?#33267;专用信息L2缓
存206p(其如上文所论述可能包含一些共享或可共享的信息)。

根据分离式示范性缓存的以上一般结构,?#32440;?#35770;述填充及访问专用信息L2缓存
206p及共享信息L2缓存206s。应理解,与具有一致性位209的专用信息L2缓存208p及共享信
息L2缓存208s相关的对应方面是类似的,?#39029;?#20110;简洁起见,将不再重复这些方面的详细论
述。还将理解,(例如)在异构多处理器系统中的处理器202及204可能不相似,且因此每一处
理器的分离式缓存的特性可能不同。举例来说,两个专用信息L2缓存206p及208p的大小可
能不同?#20063;?#30456;干,且两个共享信息L2缓存206s及208p的大小可能不同?#20063;?#30456;干。相应地,其
访问时间及访问协议也可能不同?#20063;?#30456;干。因此,将描述示范性协议以供确定:是否必须将
特定缓存行或信息指引至专用信息L2缓存206p及共享信息L2缓存206s以供填充这些缓存;
就循序搜索这些示范性缓存而言,为了访问特定缓存行而搜索这些分离式缓存的次序;对
示范性缓存的并行搜索的选择;及相对性能及功率益处。一般来说,应认识到,可选择性地
禁用所述分离式缓存以供节约功率。举例来说,如果处理器202希望访问专用信息且相关的
访问请求被识别为应导向专用信息L2缓存206p的一个请求,那么没有理由启动共享信息L2
缓存206s或保持其在作用中。因此,可将共享信息L2缓存206s停用或置于睡眠模式。

因此,示范性方面可涉及分离式缓存的示范性访?#21097;?#20854;中得不到关于所要访问是
针对专用信息还是共享信息的额外提示或指示。举例来说,处理器202可能希望访问来自其
?#38236;豅2缓存的信息,但其可能不知道这个信息是将位于专用信息L2缓存206p中还是共享信
息L2缓存206s中。因此,可能需要搜索专用信息L2缓存206p及共享信息L2缓存206s两者。在
一个方面中,可循序地搜索(也可能并行搜索,将在下文更详细地论述)专用信息L2缓存
206p及共享信息L2缓存206s。可按特定处理需求定制依序搜索的次序,且虽然更详细地处
理首?#20154;?#32034;专用信息L2缓存206p、?#32531;?#25628;索共享信息L2缓存206s的情况,但从此处描述可
容易理解首?#20154;?#32034;共享信息L2缓存206s、?#32531;?#25628;索专用信息L2缓存206p的相反情况。可基
于示范性协议执行依序搜索,所述示范性协议在大多数情况下将通过识别两个分离的缓存
中会发现所要信息的最可能的一者且首?#20154;?#32034;所述两个分离缓存中所述最可能的一者来
优化访问时间。在几个罕见的情况中,依序搜索在更可能的一者中未命中之后将需要?#30001;?br />至所述两个分离缓存中不大可能的一者。虽然在这些罕见情况中,整体访问有可能?#20154;?#36941;
常规统一缓存的整体访问高,但示范性多处理器系统200的整体性能仍然比常规多处理器
系统100的整体性能高,因为常见情况得到提高。虽然并行搜索也有可能,但这将需要启动
专用信息L2缓存206p及共享信息L2缓存206s两者及相关的搜索功能。因此,在一些方面中,
并行搜索可能涉及功?#24335;?#30465;与高速访问之间的权衡。

图3A中形象地表示了以上与?#38236;?#35775;问相关的方面。访?#39135;?#35268;多处理器系统100的
常规统一L2缓存106所花费的时间说明为时间302。现参考示范性多处理器系统200,在常见
情况情境中,处理器202将假定所要信息为专用的(如先前论述,这在常规上构?#31245;?0-90%
的访问)。因此,处理器202可首?#20154;?#32034;专用信息L2缓存206p。访问专用信息L2缓存206p所花
费的时间说明为时间304。代表性地,时间304展示为小于时间302,且因此在常见情况中,示
范性方面可减少访问时间。在罕见情况中,所要信息并非专用,而是与远程处理器204共享
或可共享(这在常规上构?#31245;?0-20%的访问)。因此,在这些情况下,一旦处理器202已搜遍
专用信息L2缓存206p且未命中,则处理器202可循序地继续搜索共享信息L2缓存206s。用于
此依序搜索的全部访问时间说明为时间306。如所见,时间306可略微大于常规统一L2缓存
106访问时间302。然而,由于罕见情况不频?#20445;?#22240;?#26031;?#22240;于常见情况访问的改进,示范性多
处理器系统200的整体性能得以提高。

另外,示范性方面可通过将待首?#20154;?#32034;的缓存实体地放置得接近处理器来进一步
优化依序搜索的常见情况。举例来说,在上述示范性方面中,通过将专用信息L2缓存206p物
理上放置得接近处理器202,可?#26723;?#30005;线时延。由于专用信息L2缓存206p不需要一致性状态
标签,因此可通过定制专用信息L2缓存206p的设计以省略与一致性相关的?#24067;?其常规上
包含在L2缓存中)来进一步?#26723;?#19987;用信息L2缓存206p的大小。此外,由于来自远程处理器
204的窥探请求并不干扰?#38236;?#22788;理器202对专用信息L2缓存206p的专用访?#21097;?#22240;?#31169;?#19968;步优
化所述专用访问。

现参考在时间306之后还没在共享信息L2缓存206s中发现所要信息的情况,处理
器202可将搜索?#30001;?#33267;远程处理器204的共享信息L2缓存208s及专用信息L2缓存208p。这些
情况属于远程访问的类别。在示例性方面中,此类远程访问的访问时间也在大多数情况下
得到改进。所述远程访问及对应的访?#24335;?#21442;考图3B相对于常规多处理器系统100中可比的
远程访问予以论述。

参考图3B,相对于图3A中的上述依序搜索来说明远程访问协议及访问时间。在常
规多处理器系统100中,如果确定?#38236;?#32479;一L2缓存106不具有处理器102所要的信息,那么处
理器102可查看远程L2缓存108。累计用于搜遍L2缓存106及108两者的访问时间?#20918;?#31034;为时
间312。另一方面,在示范性多处理器系统200中,通过时间306(参考图3A)将确定两个?#38236;?br />缓存(专用信息L2缓存206p及共享信息L2缓存206s)并不具有处理器202所要的信息。处理
器202接着继续首先查看远程共享信息L2缓存208s,因为这个缓存更可能(同样,80-90%的
远程访问)具有共享信息。因此,在更可能的情境中,?#38236;?#32531;存(专用信息L2缓存206p、共享
信息L2缓存206s)的依序访问及随后的远程共享信息L2缓存208s所需的累计时间为时间
314。如所见,时间314小于常规实施方案的时间312。在罕见情况(例如10-20%的远程访问)
下,共享信息可能最终存在于远程专用信息L2缓存208p中,且依序访?#24335;?#20135;生访问时间
316,其可略微大于常规访问时间312。然而,更可能的情境中优良的访问时间的性能益处胜
过罕见情况中较长访问时间的性能影响。此外,在一些实施方案中,如果在远程专用信息L2
缓存208p中发现共享信息,那么可将所述共享信息提升至远程共享信息L2缓存208s以供在
未来?#26723;?#23545;应的访问时间。同样,应注意,必要时可通过首?#20154;?#32034;远程专用信息L2缓存208p
且接着搜索远程信息L2缓存208s来颠倒远程缓存的依序搜索的次序。此外,在其它情况下,
远程缓存的搜索也可并行进行。

一些示范性方面还可包含?#24067;?软件优化以进一步改进远程访问。举例来说,对于
图3B中所说明的方面及参考图2,可将远程共享信息L2缓存208s放置得接近系统总线212以
在远程访问期间具有更短的电线时延。同样,如先前描述,可使远程共享信息L2缓存208s的
区域小于远程专用信息L2缓存208p,且一致性位209及相关联的?#24067;?#21487;限于远程共享信息
L2缓存208s。远程共享信息L2缓存208s还充当远程专用信息L2缓存208p的窥探过滤器,且
避免来自处理器204的?#38236;?#35775;问的很大部分对共享信息L2缓存208s的干扰(因为来自处理
器204的?#38236;?#35775;问更可能在专用信息L2缓存208p中命中)。

虽然已针对没有提示可供用于预?#28909;?#23450;所要信息是专用的还是共享/可共享的情
况来描述以上关于?#38236;?#21450;远程的依序访问的示范性方面,但一或多个方面也可包含引导这
个确定的提示。举例来说,使用编译程序或操作系统(OS)支持,处理器所要的特定信息可识
别为处理器专用的或与远程处理器共享/可共享的。在其它关于已知架构的实例中,采用页
表属性或可共享性属性(例如“共享正常存储器属性”)来描述存储器区域是否被多个处理
器访问。如果所要信息属于所述存储器区域,那么所述信息可识别为共享的或可共享的,且
因?#23435;?#38750;专用的。此类有关信息的类型的识别可用于推?#32487;?#31034;,其中所述提示可用于导入
访问协议。

举例来说,如果处理器202基于提示而知道其寻求的信息是专用的还是共享/可共
享的,那么所述处理器可直接把可能保存所述类型的信息的缓存作为目标。更确?#26800;?#35828;,如
果基于提示而确定所述信息为专用的,那么处理器202可将相关访问以相关联的低时延指
引至专用信息L2缓存206p。举例来说,参考图4A,对于?#38236;?#35775;?#21097;?#22914;果提示可供使用,那么对
于专用信息,访问时间将对应于用于访问专用信息L2缓存206p的时间304(类似于参考图3A
所描述的没有提示可供使用的常见情况情境)。对于共享信息,访问时间将对应于用于小的
共享信息L2缓存206s的访问时间或时间308。可见这些访问时间304及308两者比对应的统
一L2缓存106的常规访问时间(其将仍为时间302)低,因为提示并不加快常规的访问时间。

参考图4B,说明远程访问及相关联的访问时间,其中提示可供使用。对于共享信息
(基于提示),如果处理器202所要的信息在?#38236;?#20849;享信息L2缓存206s中未命中,那么所述处
理器继续访?#35797;?#31243;共享信息L2缓存208s。累?#21697;?#38382;时间将为时间318。同样,应指出,时间
318明显比对应的如相对于图3B所论述的常规实施方案中发生的时间312低,因为提示并不
加快常规实施方案中的访问时间。

应理解,如果基于所述提示已知是专用的信息在?#38236;?#19987;用信息L2缓存206p中未命
中,那么所述访问协议将不继续搜索远程缓存,因为所述信息是专用的且因此不应存在于
任何其它远程缓存中。因此,依照所述未命中,访问协议将直接继续搜索下一级存储器(例
如一些情况下的L3缓存,或主存储器210)。这种直接继续搜索较高级缓存及/或主存储器的
方式符合预期行为,其中在上下文切换或线程迁移之后,专用缓存中的所有数据将被写回
(如果已变更)且失效。

一些示范性方面中也可包含关于功率考?#19988;?#32032;的额外优化。举例来说,对于具有
两个或更多个处理器或核心的多处理器,并不在所有在作用中的处理器中共享所有信息,
而且随着处理器数目增大,查找所有处理器的远程专用信息缓存及远程共享信息缓存往往
会极其昂贵且耗费功率。为了以?#32479;?#26412;/低功率方式有效地处理这一点,一些示范性方面实
施对信息的层级搜索,其中针对共享信息的常见情况对所述层级搜索进行了优化。当发出
请求的处理器针对所要信息搜索其它远程处理器时,所述发出请求的处理器可首先将对所
要信息的请求发送至所有远程共享信息缓存。如果所要信息在所有共享信息缓存中未命
中,那么一则信息可被发回至发出请求的处理器,将所述未命中告知发出请求的处理器。示
范性方面可经配置以仅当所要信息在所有共享信息缓存中未命中时才能够将搜索?#30001;?#33267;
远程专用信息缓存。因此,(例如)在无提示可供使用的情况下,可将根据上文所描述的示范
性方面的依序搜索?#30001;?#33267;任何数目的处理器。

因此,示范性多处理器系统可有利地将缓存结构分离成专用信息缓存及共享信息
缓存。可针对这两种分离的缓存的特定目的对其进行定制。举例来说,专用信息缓存可经优
化以将高性能及低功率路径提供给相关联的?#38236;?#22788;理器的L1缓存及/或处理核心。共享信
息缓存可经优化以将高性能及低功率路径提供给所述示范性多处理器系统的其余部分。由
于不再需要专用信息缓存来跟踪一致性,因此共享信息缓存可在这点?#31995;?#20197;进一步优化。
举例来说,由于相较于针对相对更大的常规统一缓存,针对小的分离共享信息缓存实施更
复杂的协议的负担更低,因此可采用这些复?#26377;?#35758;来跟踪一致性。

此外,可基于性能目标定制专用信息缓存及共享信息缓存的缓存行的相?#28304;?#23567;及
数目。可定制共享信息缓存的结合性来符合共享模式或共享信息模式的要求,其中这种结
合性可不同于对应的专用信息缓存的结合性。类似地,可针对专用信息缓存及共享信息缓
存单独选择替换策略(例如,最近最少使用、最近使用、随机等)。例如,由于可使具有?#31995;?#25968;
目的端口(因一致性状态及信息被省略的?#20498;?的专用信息缓存的布局不同于共享信息缓
存的布局,也可对专用信息缓存及共享信息缓存的布?#32440;?#34892;定制。如先前论述,可通过在依
序搜索期间选择性断开专用信息缓存及共享信息缓存中的至少一者来获得功?#24335;?#30465;。在一
些情况下,当专用信息缓存相关联的处理器不在执行代码时,可将所述专用信息缓存断开,
因为这将意味着不会发生专用信息访问。

现参考图5A至C,将论述示范性专用信息及共享信息缓存的并行访问。一般来说,
这些情况可能涉及提示不可用的状况,因为提示会有助于仅对更可能具有所要信息的缓存
的定向搜索。然而,这并非限制,且必要时,如果提示可供使用,那么也可执行并行搜索。

参考图5A,其中的说明再次将常规统一L2缓存106的访问时间说明为访问时间
302。相比之下,专用信息L2缓存206p的访问时间展示为访问时间504,而共享信息L2缓存
206s的访问时间展示为访问时间508,其中与访问时间504及508相关的访问并行发生。因
此,并行搜遍专用信息L2缓存206p及共享信息L2缓存206s两者的整体时延或访问时间将是
访问时间504与508中的更长者。在所说明的情况中,假定专用信息L2缓存206p较大,伴有对
应地较高的访问时间504,且因此并行搜索将消耗与访问时间504相关的时延(即使基于专
用信息L2缓存206p及共享信息L2缓存206s大小相同,因此访问时间504及508相等,但访问
时间中较高的一者将仍等于504或508,且因此这种情况的处理将类似)。如可见,这比访问
时间302低。虽然在示例性方面中的此类并行访问可能需要接通且搜索专用信息L2缓存
206p及共享信息L2缓存206s两者,从而带来一些冗余,但性能益处可胜过所附加的功?#39135;?br />本,因为信息可从缓存返回,其中比起常规统一缓存的可能情况,所述信息呈现得更早。

参考图5B,说明专用信息L2缓存206p及共享信息L2缓存206s两者均?#32531;?#26377;所要信
息的情境,例如,如同其与图5A相关。因此,必须启动远程访问。在常规统一缓存实施方案
中,远程访问的整体访问时间将是累?#21697;?#38382;时间以及搜遍统一的?#38236;豅2缓存106及随后的
远程L2缓存108所涉及的任何额外时延,描绘为访问时间312。另一方面,一旦专用信息L2缓
存206p及共享信息L2缓存206s的并行搜索在访问时间504及508中的较大者(如所说明是
504)处结束,那么远程搜索可立即开始,即,早于常规统一L2缓存的可能情况。可接着在远
程共享信息L2缓存208s中搜索所要信息,因为这个缓存是共享信息最可能存在的地方。如
果所要信息存在于远程共享信息L2缓存208s中,那么访问时间将为如比访问时间312低的
访问时间514所指示。

参考图5C,说明图5B的替代性方面,其中示范性分离式缓存的远程搜索也可并行
执行而非如图5B中首?#20154;?#36941;远程共享信息L2缓存208s。照此,在图5C中,仍并行搜索远程共
享信息L2缓存208s及远程专用信息L2缓存208p,伴以整体时延514及516,如所描绘。在此实
例中,基于假设远程专用信息L2缓存208p较大,因此整体时延516较大。整体时延516涉及用
于并行搜索?#38236;?#20998;离式缓存且接着并行搜索远程分离式缓存的时间。如所见,整体时延516
比用于常规的统一?#38236;?#21450;远程L2缓存的时延312低。因此,同样,即使在图5C中所描绘的较
不常见实例中,性能及访问时间也得以提高,且可弥补所引发的功率方面的任何附加成本。

从以上所描述的示范性方面可知,可见可能需要将示范性专用信息及共享信息缓
存配置成分离式。此外,在一些方面中,可能需要对分离的专用信息及共享信息缓存进?#20449;?br />置,使得不允许将共享信息填充在专用信息缓存中,?#20063;?#20801;许将专用信息填充在共享信息
缓存中。以此方式,可有可能基于存储在分离式缓存中的信息性质来定制所述分离式缓存
的大小、一致性机制、放置等。

现参考图6至7,说明示范性方面中分别针对读取及写入操作的一致性协议的实施
方案。用来维持特别是写回缓存中的一致性的常用机制涉及如先前所提及的所谓MESI协
议。简单来说,针对(例如)具有共享内存的多处理器系统内的第一缓存的每个缓存行或缓
存条目,常规MESI协议定义四种状态:修改(M)、互斥(E)、共享(S)及无效(I)。修改(M)状态
指示缓存条目仅存在于第一缓存中,但“已变更?#20445;?#21363;,其已由主存储器中的值发生修改。互
斥(E)状态指示仅第一缓存拥有所述缓存条目,且所述缓存条目“未变更?#20445;?#21363;,其与主存储
器中的值匹配。共享(S)状态指示所述缓存条目未变更,但所述缓存条目的?#21271;?#20063;可存在于
存储器系统中的一或多个其它缓存中。无效(I)状态指示所述缓存条目无效。通过各种与所
要存储器访问相关的处理元件之间的通信(也称为“窥探”)及基于缓存条目的状态(M/E/S/
I)而管理对缓存及主存储器的更新的权限来维持一致性。举例来说,如果多处理器系统中
的第一处理器希望将数据写入至第一缓存(其可为与第一处理器相关联的?#38236;豅1缓存)的
缓存条目,那么如果所述缓存条目处于互斥(E)状态,则第一处理器可写入缓存行且将其更
新至修改(M)状态。另一方面,如果所述缓存条目处于共享(S)状态,那么所述缓存条目的所
有其它?#21271;?#24517;须在可准许第一处理器写入所述缓存条目之前失效。如本文所论述,可针对
示范性分离的?#38236;?#21450;远程缓存定制一致性协议的示范性实施方案。

图6至7可适用于任何处理系统,例如图2的多处理器系统200。图6至7涉及针对遵
循始发?#38236;?#22788;理器对应的请求的读取(载入)及写入(存储)操作的操作流程。可存在一或多
个具有对应的缓存的远程处理器。出于概括性起见,在图6至7中已将发出请求的?#38236;?#22788;理
器的?#38236;?#20998;离式缓存(例如,处理系统200中的?#38236;?#22788;理器202的专用信息L2缓存206p及共
享信息缓存L2缓存206s)分别标示为“LPCache”及“LSCache”。照此,LPCache及LSCache可为
任何?#38236;?#19987;用信息及共享信息缓存,包含L2缓存、L3缓存或其类似者。类似地,远程处理器
的分离式缓存(例如,远程处理器204的远程专用信息L2缓存208p及共享信息缓存L2缓存
208s)已总体上分别标示为“RPCache”及“RSCache”。任何数目的此类远程处理器及对应的
远程缓存RPCaches及RSCaches可存在于图6至7的上下文中。就专用信息缓存(例如,
LPCaches及RPCaches)而言,应记得并不出现一致性的概念,且因此专用信息缓存的缓存条
目的上述互斥(E)状态将涉及?#36873;?#26377;效”位设置为或其处于缓存条目的“V”状态。类似地,修
改(M)状态将涉及?#36873;?#24050;变更”位设置为或其处于缓存条目的“D”状态。

记住以上符号,图6说明关于示范性多处理器系统中的读取或载入操作的流程图,
其中所述读取操作涉及由发出请求的?#38236;?#22788;理器搜索信息?#21271;盡?#22312;决策框602中,读取操作
开?#21152;?#22312;?#38236;?#30340;分离式缓存LSCache及LPCache中搜索所要信息(不论这是分别根据图3A至
B及图4A至B在无提示或有提示的情况下循序地执行,或是根据图5A至C并行执行)。如果在
?#38236;?#30340;分离式缓存LSCache及LPCache中的一者中存在命中,那么如框604所指示,与所要信
息相关的缓存条目的一致性状态不存在改变。另一方面,如果存在未命中,那么操作流程进
?#26800;?#20915;策框606,其中从RSCache开始对远程缓存进行搜索。如果在框606中存在未命中,那
么在框608中将读取请求转发到一或多个RPCaches。另一方面,如果存在命中,那么出?#33267;?br />中单独的可能性,使分支遵循框632(其中所要信息仅有一个?#21271;?#23384;在于RSCache中,呈M状
态)及框640(其中存在多个呈S状态的?#21271;?。

首先沿着框608进行,在决策框610中确定是否有任何RPCache包含所要信息。如果
RPCaches中没有一个产生命中,那么在框612中,从主存储器检索所要信息的?#21271;荊?#38543;后在
框616中将所检索到的信息以有效(V)状态存储在发出请求的?#38236;?#22788;理器的LPCache中。

另一方面,如果在决策框610中确定所要信息在RPCaches中的一者中可得到,那么
操作流程进行至决策框614,其中确定所要信息是处于有效(V)还是已变更(D)状态。如果其
处于V状态,那么在框618中将所要信息移动至对应的远程共享缓存RSCache中,?#20197;?#26694;620
中将所述信息放置于总线上,以将所述信息转送至发出请求的处理器的LSCache。在框622
中,将含有所要信息的共享缓存条目的一致性状态设置为S。如果在框614中,确定所要信息
的?#21271;?#22788;于D状态,那么在框624中,同样将所述信息的?#21271;?#31227;动至对应的远程共享缓存
RSCache,?#20197;?#26694;626中将所述信息放置于总线上以将所述信息的?#21271;?#36716;送至发出请求的处
理器的?#38236;?#20849;享缓存LSCache。然而,在此情况下,由于所述信息已变更,且含有所要信息的
共享缓存条目的状态已从D变至S,因此也在框628中执行将所述信息的?#21271;?#22238;写至主存储
器。

在框606中确定RSCache具有呈M状态的所要信息的一个?#21271;?#30340;情况下,操作流程
进行至框632,其中将修改的信息放置于总线上,以便在框634中执行将修改的信息回写至
主存储器。对应地,在框636中,含有所述修改信息的共享缓存条目的状态从M变至S。?#32531;?#22312;
框638中,将所述信息存储至针对所要信息发出请求的?#38236;?#22788;理器的LSCache。

沿着框640进行,当决策框606揭示在RSCaches中有可用的呈S状态的所要信息的
多个?#21271;?#26102;,则在框640中,将来自RSCaches中的随机/?#25105;?#19968;者的所述信息的?#21271;?#25918;在总
线上,以便在框642中将所述?#21271;?#36716;送至发出请求的?#38236;?#22788;理器的LSCache。

现参考图7A至B,说明(例如)基于来源于图6中所描述的多处理器系统中的发出请
求的?#38236;?#22788;理器的请求而对所要信息进行写入或存储操作。所述写入操作可基于无提示可
供使用。在决策框702中,可检查发出请求的?#38236;?#22788;理器的?#38236;?#19987;用信息缓存LPCache。如果
对应于所要信息的条目已经呈现在LPCache内,那么在决策框704中进行确定所要信息是出
于已变更(D)状态还是有效(V)。如果所述缓存条目处于D状态或已变更,那么在框706中用
待写入的信息更新所述缓存条目。如果所述缓存条目处于V或有效状态,那么在框708中用
待写入的信息更新所述缓存条目,?#20197;?#26694;710中将所述缓存条目的状态从V变至D。

另一方面,如果LPCache 702没有保存关于写入信息的缓存条目,那么操作流程从
框702进?#26800;?#20915;策框712。在框712中,从?#38236;?#20849;享缓存LSCache开始在共享缓存中搜索所要
信息。如果?#38236;?#20849;享缓存LSCache产生未命中,则操作进?#26800;?#22270;7B中所说明的框726。如果在
LSCache中存在命中,那么在决策框714中确定对应的缓存条目处于M状态还是S状态。如果
其处于S状态,则意味着所要信息将由发出请求的?#38236;?#22788;理器仅写入至LSCache,这将改变
远程共享缓存中的共享?#21271;?#30340;状态。因此在框716中将更新播送至所有RSCaches以指示所
述状态已修改,?#20197;?#26694;718中所述状态在所有保存所要信息的?#21271;?#30340;RSCaches上从S修改至
I。在框720中,LSCache中的所述缓存条目由发出请求的?#38236;?#22788;理器利用待写入的所要信息
予以更新,?#20197;?#26694;722中将所述缓存条目的状态从S变至M。另一方面,如果在决策框714确定
所述缓存条目的状态为M,那么在框724中仅利用待写入的所要信息更新LSCache中的缓存
条目,而不要求任何进一步的播送或状态。

接着看图7B,在决策框726中,确定对应于所要信息的缓存条目是否存在于远程共
享缓存RSCaches中的任一者中。如果存在(于至少一个RSCache中),那么在决策框746中,确
定RSCache中的缓存条目的状态是M还是S。如果状态为M,那么在框750中,将对应的缓存条
目写回至主存储器,?#20197;?#26694;752中将所述缓存条目的状态从M变至I。在框754中,接着将所要
信息写入至发出请求的?#38236;?#22788;理器的?#38236;?#19987;用缓存LPCache。另一方面,如果在决策框726
中,RSCache中的缓存条目的状态为S,那么在框748中,所述状态直?#26377;?#25913;至I,?#20197;?#26694;756
中,接着将所要信息写入至发出请求的?#38236;?#22788;理器的?#38236;?#19987;用缓存LPCache。

另一方面,如果决策框726揭示没有一个RSCaches保存所要信息,那么在决策框
728中确定远程专用缓存RPCaches中的任一者是否产生命中。如果没有,那么在框730中从
主存储器检索所要信息,?#20197;?#26694;732中将所要信息存储在发出请求的?#38236;?#22788;理器的?#38236;?#19987;
用缓存LPCache中。另一方面,如果RPCaches中的一者保存所要信息,那么在决策框734中确
定所要信息的状态是有效(V)还是已变更(D)。如果状态为V,那么在框742中,所述状态失效
或设置为已变更(D),?#20197;?#26694;744中将所要信息存储在发出请求的?#38236;?#22788;理器的LPCache中。
另一方面,如果所述状态已经是已变更(D),则在框736中将所要信息写回至主存储器,?#20197;?br />框740中将所述信息存储在发出请求的?#38236;?#22788;理器的LPCache中。

应?#31169;猓?#31034;范性方面包含用于执行本文揭示的过程、函数及/或算法的各种方法。
举例来说,如图8中所说明,示范性方面可包含操作多处理器系统(例如多处理器系统200)
的方法(800)。所述方法可包含将第一处理器(例如,处理器202)专用的信息存储在耦合至
第一处理器的第一专用信息缓存(例如,专用信息L2缓存206p)中(框802)。所述方法可进一
步包含将在第一处理器与一或多个其它处理器(例如,处理器204)之间共享/可共享的信息
存储在耦合至第一处理器的第一共享信息缓存(例如,专用信息L2缓存206p)中(框804),其
中所述第一专用信息缓存与所述第一共享信息缓存分离。

现参考图9,描绘包含根据示范性实施例配置的多核心处理器的无线装置的特定
说明性实施例的框图,且所述无线装置一般表示为900。无线装置900包含数字信号处理器
(DSP)964,其可包含具有根据本发明的方面的分离式缓存的多个处理器。更确?#26800;?#35828;,DSP
964可包含?#38236;?#21450;远程处理器,例如图2的多处理器系统200的处理器202及204。根据示范性
方面,?#38236;?#20998;离式专用信息L2缓存206p及共享信息L2缓存206s可以通信方式耦合至?#38236;?#22788;
理器202,且类似地,远程分离式专用信息L2缓存208p及共享信息L2缓存208s可以通信方式
耦合至远程处理器204。?#38236;?#20998;离式专用信息L2缓存206p及共享信息L2缓存206s以及远程
分离式专用信息L2缓存208p及共享信息L2缓存208s可进一步通过系统总线212耦合至一或
多个较高层级的缓存(未展示)及存储器932。

图9还展示耦合至DSP 964及显示器928的显示控制器926。译码器/解码器(编码解
码器)934(例如,音频及/或语音编码解码器)可耦合至DSP 964。还说明了例如无线控制器
940(其可包含调制解调器)等其它组件。扬声器936及麦克风938可耦合至编码解码器934。
图9还指示无线控制器940可耦合至无线天线942。在特定实施例中,DSP 964、显示控制器
926、存储器932、编码解码器934及无线控制器940包含在系统级封装或片上系统装置922
中。

在特定实施例中,输入装置930及电力供应器944耦合至片上系统装置922。此外,
在特定实施例中,如图9中所说明,显示器928、输入装置930、扬声器936、麦克风938、无线天
线942及电力供应器944在片上系统装置922外部。然而,显示器928、输入装置930、扬声器
936、麦克风938、无线天线942及电力供应器944中的每一者可耦合至片上系统装置922的组
件,例如接口或控制器。

应注意,虽然图9描绘?#23435;?#32447;通信装置,但DSP 964及存储器932也可整合至机顶
?#23567;?#38899;乐播放器、视频播放器、娱乐单元、导航装置、个人数?#31181;?#29702;(PDA)、固定位置数据单元
或计算机中。

所属领域的技术人员将?#31169;猓?#21487;使用多种不同技术及技艺中的任一者来表示信息
及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来
表示贯穿以上描述可能提到的数据、指令、命令、信息、信号、位、符号及码片。

此外,所属领域的技术人员将?#31169;猓?#32467;合本文所揭示的实施例而描述的各种说明
性逻辑块、模块、电路及算法步骤可实施为电子?#24067;?#35745;算机软件或两者的组合。为了清楚
地说明?#24067;?#19982;软件的此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、
块、模块、电路及步骤。?#26031;?#33021;性是实施为?#24067;?#36824;是软件取决于特定应用及施加于整个系统
的设计约束。所属领域的技术人员可针对每一特定应用以不同方式?#35789;?#26045;所描述的功能
性,但这样的实施方案决策不应解释为会导致脱离本发明的范围。

结合本文所揭示的实施例而描述的方法、序列及/或算法可直接以?#24067;?#20197;由处理
器执行的软件模块或以两者的组合来体现。软件模块可驻留在RAM存储器、闪存、ROM存储
器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除?#25490;獺D-ROM,或此项技术中已知的
任一其它形式的存储媒体中。示范性存储媒体耦合至处理器,使得处理器可从存储媒体读
取信息以及将信息写入至存储媒体。在替代方案中,存储媒体可与处理器成一体式。

因此,本发明的实施例可包含一种计算机可读媒体,其体现用于操作具有分离式
专用信息及共享信息缓存的多处理系统的方法。因此,本发明不限于所说明的实例,且任何
用于执行本文中所描述的功能性的装置包含于本发明的实施例中。

虽然前文的揭示内容展示本发明的说明性实施例,但应注意,在不脱离如所附权
利要求书界定的本发明的范围的情况下,可在其中做出各种改变及修改。无需以任何特定
次序来执行根据本文中所描述的本发明的实施例的方法权利要求项的功能、步骤及/或动
作。此外,虽然可能以单数形式描述或主张本发明的元件,但除非明确陈述限于单数形式,
否则也涵盖?#35789;?#24418;式。

关于本文
本文标题:分离式共享信息及专用信息缓存.pdf
链接地址:http://www.pqiex.tw/p-6091768.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 七星彩专家免费预测号码查询 黑龙江11选5根号技巧 辽宁11选5计划推荐 大富豪手机版官网 领奖现场 万达二分彩全天计划 体彩浙江飞鱼开奖 湖北11选5 上期双色球摇号现场 盘口分析