分区的共享高速缓存的制作方法

文档序号:6570094阅读:165来源:国知局
专利名称:分区的共享高速缓存的制作方法
分区的共享高速緩存背景技术
为改进性能, 一些计算系统利用多个处理器。这些计算系统还可包括能由多个处理器共享的高速緩存。然而,处理器可具有不 同的高速緩存使用行为。例如, 一些处理器可能正在使用共享高速緩 存用于高吞吐量数据。结果,这些处理器可能会过于频繁地刷新共享高速緩存,从而使得剩余的处理器(其可能处理低吞吐量数据)不能有 效地将他们的数据緩存在共享高速緩存中。


将参考附图来提供具体描述。在图中,参考标号中的最左 边数字标识其中该参考标号最先出现的图。在不同图中使用的相同参 考标号表示相似或完全相同的项。
图1、 3和5说明了根据本发明各种实施例的计算系统的 框图。
图2说明了利用分区的共享高速緩存的方法实施例的流程图。
图4说明了分布式处理平台的实施例的框图。
具体实施方式
在以下的描述中,陈述了许多特定细节以4更提供对各种实 施例的透彻理解。然而,本发明的各种实施例可以在没有这些特定细 节的前提下实施。在其他实例中,并没有详细描述/>知的方法、过程、 部件和电路,以便不会使得本发明的具体实施例变得模糊。
本文中讨论的一些实施例可在各种计算环境(如参考图1 和图3至5讨论的那些计算环境)中利用共享高速緩存内的分区。更具体而言,图1说明了根据本发明实施例的多处理器计算系统100的一部分的框图。系统100包括一个或多个处理器102(在本文中称作"多 个处理器102"或更一般地称作"处理器102")。处理器102可通过 总线(或互连网络)104与系统100的其他部件进行通信,所述其他部件 例如为一个或多个核106-1至106-N(本文称作"多个核106"或更一 般地称作"核106")。
如将进一步参考图3和5所讨论的,任何类型的多处理器 系统可包括处理器核106和/或处理器102。此外,处理器核106和/ 或处理器102可提供在相同的集成电路管芯上。而且,在一个实施例 中,至少一个处理器102可包括一个或多个处理器核。在一个实施例 中,处理器102中的核可与核106同类或异类。
在一个实施例中,系统100可处理通过计算机网络108传 递的数据。例如,处理器核106中的每个核可执行一个或多个线程以 便处理经由网络108传递的数据。在一个实施例中,处理器核106例 如可以是一个或多个微引擎(ME)、网络处理器引擎(NPE)和/或流式处 理器(可处理与例如图形、音频或其他类型实时数据的数据流相对应的 数据)。此外,处理器102可以为通用处理器(如用来执行系统100内 的各种通用任务)。在一个实施例中,处理器核106可提供与任务相关 的硬件加速,例如数据加密等。系统100还可包括一个或多个々某体才妄 口 110,其可为系统100的各种部件提供物理接口以便与网络108进 行通信。在一个实施例中,系统100可包括用于处理器核106和处理 器102中的每一个的一个媒体接口 110。
如图1所示,系统IOO可包括存储器控制120,其可与总 线104通信并提供对存储器122的访问。存储器122可由处理器102、 处理器核106和/或通过总线104通信的其他部件共享。存储器122可 存储数据,包括可由处理器102和/或处理器核106或系统100中包括 的其他设备执行的指令序列。例如,存储器122可存储对应于在网络 108上传递的一个或多个数据分组的数^"。
在一个实施例中,存储器122可包括一个或多个易失性存 储(或存储器)设备,例如参考图3讨论的那些。而且,存储器122可 包括非易失性存储器(外加或替代易失性存储器),例如参考图3讨论 的那些。因此,系统100可包括易失性和/或非易失性存储器(或存储 装置)。此外,多个存储设备(包括易失性和/或非易失性存储器)可耦合 到总线104(未示出)。在一个实施例中,存储器控制器120可包括多个 存储器控制120及相关联的存储器122。而且,在一个实施例中,总 线104可包括多种多样的总线104或结构。
另外,处理器102和核106可通过高速乡爰存控制器132与 共享高速缓存130通信。如图1所示,高速緩存控制器132可通过总 线104或直接地(例如通过用于处理器102和核106中的每一个的独立 的高速緩存端口)与处理器102和核106通信。因此,高速緩存控制器 132可向第一存储器访问代理(如处理器102)和第二存储器访问代理 (如核106)提供对共享高速緩存130的访问(如读或写)。在一个实施例 中,共享高速緩存130可以是2级(L2)高速緩存、高于2级(如3级或 4级)的高速緩存或最后一级高速纟爰存(LLC)。而且,在各种实施例中, 处理器102和核106中的一个或多个可包括一个或多个高速緩存,例 如1级高速緩存(如分别为高速緩存124和126-1至126-N (本文中称 作"多个高速緩存126"或更一般地称作"高速緩存126"》。在一 个实施例中,高速緩存(如高速緩存124和/或126)可代表单个统一的 高速緩存。在另一实施例中,高速緩存(如高速緩存124和/或126)可 包括配置在多级体系中的多个高速緩存。而且,该体系的级可包括多 个同类或异类的高速緩存(如数据高速緩存和指令高速緩存)。
如图1所示,共享高速緩存130可包括一个或多个共享分 区134(如用来存储在核106和/或处理器102(或处理器102中的一个或 多个核)的各种分组之间共享的数据)和一个或多个私有分区136。例 如,私有分区中的一个或多个分区可存储仅由核106中的一个或多个 核访问的数据;然而,其他私有分区可存储仅由处理器102(或处理器102内的核中一个或多个核)访问的数据。因此,共享分区134可使得 核106能参与同处理器102的一致性高速緩存存储器通信。而且,在 一个实施例中,分区134和136中的每个分区可代表独立的一致性域。 另夕卜,系统100可包括一个或多个其他的高速》爰存(如高速緩存124和 126、其他中间级高速緩存或LLC(未示出)),所述一个或多个其他的 高速緩存同共享高速緩存130 —起参与高速緩存一致性协议。此外, 在一个实施例中,高速緩存中的每个高速緩存同分区134和/或136中 的一个或多个分区 一起参与高速緩存一致性协议,例如以便在系统 100内提供一个或多个高速緩存一致性域。而且,即使图1所示的分 区134和136看起来像具有相同大小,但这些分区也可具有不同的(可 调整的)大小,这将进一步参考图2讨论。
图2说明了利用分区的共享高速緩存的方法200的实施例 的流程图。在各种实施例中,参考方法200讨论的操作中的一个或多 个操作可由参考图1、 3、 4和/或5讨论的一个或多个部件执行。例如, 方法200可使用图1中的共享高速緩存130的分区134和136用于数 据存储。
参考图1和2,在操作202,高速緩存控制器132可从存 储器访问代理(如处理器102或核106之一)接收访问(如读或写)共享高 速緩存130的存储器访问请求。在一个实施例中,分区134和136的 大小可以是静态或固定的,如在系统初始化时祐:确定。例如,分区134 和136的大小可以是静态的以便降低使用共享高速緩存分区134用于 不同类型的数据的影响(如其中一个处理器可能正在使用共享高速緩 存用于高吞吐量数据,其过于频繁地刷新共享高速緩存,使得剩余的 处理器不能有效地将其数据緩存在共享高速緩存中)。
在一个实施例中,在可选操作204,例如在操作202的存 储器访问请求所请求的存储器部分比当前在分区134或136之一中可 得到的存储器部分更大时,高速緩存控制器132可确定分区134和136 的大小是否要被调整。如果需要进行分区大小调整,则高速緩存控制器132会可选地调整分区134和136的大小(在操作206)。在一个实施 例中,因为共享高速H存130的总大小可以是固定的, 一个分区中大 小的增加可导致剩余分区中的一个或多个分区的大小减小。因此,例 如由于高速緩存行为、存储器访问代理请求、数据流行为、时间考虑 (如延时)或其他因素,分区134和/或136的大小会被动态地调整(如在 才喿作204和/或206)。此外,系统100可包括对应于分区134和136 如何或何时可被调整的一个或多个寄存器(或在存储器122中存储的 变量)。这种寄存器或变量可设置边界、计数等。
在操作208,高速緩存控制器132可确定哪一个存储器访 问代理(如处理器102或核106)发起存储器访问请求。这可基于存储器 访问请求提供的标记(如识别存储器访问请求的源的一个或多个位)或 在操作202接收存储器访问请求的高速緩存端口而祐_确定。
在一些实施例中,因为核106可具有与处理器102相比不 同的高速緩存使用行为(例如,核106可处理从緩存受益较少的高吞吐 量或流式数据,因为数据可能被写入一次并可能^皮读取一次,而在之 间有相对较长的延迟),所以对于处理器102与核106的存储器访问请 求,可执行不同的高速緩存策略。 一般,高速緩存策略可指明响应于 请求(例如来自请求者、系统或另一存储器访问代理)高速緩存130如 何将数据装载、预取、存储、共享和/或回写到存储器122。例如,如 果核106用作输/v/输出(I/0)代理(如,用来处理在网络108上传递的 数据),这种存储器访问可对应于比完整高速緩存行(如32个字节)小 的数据块(如一个双字)。为此,在一个实施例中,核106中的至少一 个核可请求高速i爰存控制器132在私有分区136的至少一个中^l行部 分写合并(如合并较小的数据块)。在另一示例中,核106可例如为不 从緩存受益的数据识别选择高速緩存策略(包括分配策略),该选择高 速緩存策略被应用于涉及共享高速緩存130的存储器事务,没有写分 配的写事务可被执行。这使得能够将数据发送到存储器122,而不是 为写入一次而不被该代理再次读取的数据占据共享高速緩存130中的高速緩存行。类似地,在其中待写入的数据与能访问共享高速緩存130的另 一代理时间上相关的实施例中,核106可识别在选择共享分区134中将要执行的写分配的高速緩存策略。
因此,对于处理器102的(如操作202的)存储器访问请求, 在操作210,高速緩存控制器132可确定请求(如在操作202)涉及哪个 分区(如共享分区134或私有分区136中的一个私有分区)。在一个实 施例中,存储器访问代理(如在该例中处理器102)可利用与存储器访问 请求(如在操作202)相对应的标记来指示存储器访问请求涉及哪个分 区。例如,存储器访问代理102可以用识别共享高速緩存130内的特 定分区的一个或多个位来标记存储器访问请求。或者,高速緩存控制 器132可基于存储器访问请求的地址(如仅被存储在共享高速緩存130 的分区(如134或136)的特定一个分区中的具体地址或地址的范围)确 定共享高速緩存130的目标分区。在操作212,高速緩存控制器132 可在目标分区上执行第一组高速緩存策略。在操作214,高速緩存控 制器132可将对应于来自处理器102的存储器访问请求的数据存储在 目标分区中。在一个实施例中,比操作210的目标高速緩存(如高速緩 存124或其他可由处理器102访问的中间级高速乡爰存)低级的一个或多 个高速緩存可窥探(snoop)涉及(如操作210的)目标分区的一个或多个 存储器事务。因此,与处理器102相关联的高速緩存124不需要窥探 涉及核106的私有分区136的存储器事务。在一个实施例中,例如对 于核106可处理高吞吐量数据,其可能过于频繁地刷新共享高速纟爰存 130,使得处理器102不能有效地将数据緩存在共享高速緩存130中 的情况,这改善了系统效率。
而且,对于多个核106中的一个核的存储器访问请求,在 操作216,高速緩存控制器132可确定存储器访问请求涉及哪一个分 区。如参考操作210所述,存储器访问代理可利用与(如操作202的) 存储器访问请求相对应的标记来指示存储器访问请求涉及哪个分区 (如分区134或136)。例如,存卞者器访问代理106可以用识别共享高速纟爰存130内的特定分区的一个或多个位来标记存储器访问请求。或者,高速緩存控制器132可基于存储器访问请求的地址(如仅被存储在共 享高速緩存130的分区(如134或136)的特定一个分区中的具体地址或 地址的范围)确定共享高速緩存130的目标分区。在一个实施例中,对 于特定事务,处理器102内的处理器核使访问限制于分区134或136 中的一个分区,结果,利用操作202的存储器访问请求,由处理器102 发送的任何存储器访问请求可不包括任何分区标识信息。
在操作218,高速緩存控制器132可在共享高速緩存130 的一个或多个分区上执行第二组高速緩存策略。在操作214,高速緩 存控制器132可将对应于核106的存储器访问请求的数据存储在(如操 作216的)目标分区中。在一个实施例中,(如操作210的)第一组高速 緩存策略与(如操作218的)第二组高速緩存策略可以不同。在一个实 施例中,(如操作210的)第一组高速緩存策略可以是(如操作218的) 第二组高速緩存策略的子集。在一个实施例中,(如操作210的)第一 组高速緩存策略可以是暗示的而(如操作218的)第二组高速緩存策略 可以是明确的。明确的高速緩存策略一般是指其中高速緩存控制器 132接收有关哪个高速緩存策略在相应的操作212或218被利用的信 息的实现;然而,使用暗示的高速緩存策略,不会提供对应于操作202 的请求的有关特定高速纟爰存策略选择的信息。
图3说明了根据本发明的实施例的计算系统300的框图。 计算系统300可包括耦合到互连网络(或总线)304的一个或多个中央 处理器单元(CPU)302或处理器(本文一般称作"多个处理器302"或"处 理器302")。处理器302可以是任何合适的处理器,例如通用处理器、 网络处理器(其处理在计算机网络108上传递的数据)或其他类型的处 理器,包括精简指令集计算机(RISC)处理器或复杂指令集计算机 (CISC))。而且,处理器302可具有单个或多个核设计。具有多个核设 计的处理器302可在相同的集成电路(IC)管芯上集成不同类型的处理 器核。此外,具有多个核设计的处理器302可实现为对称或非对称多处理器。而且,系统300可包括参考图1-2讨论的处理器核106、共 享高速緩存130和/或高速缓存控制器中的一个或多个。在一个实施例 中,处理器302可以与参考图l-2讨论的处理器102相同或相似。例 如,处理器302可包括图1的高速緩存124。此外,参考图1-2讨论 的操作可由系统300的一个或多个部件执行。
芯片组306也可耦合到互连网络304。芯片组306可包括 存储器控制集线器(MCH)308。 MCH 308可包括耦合到存储器312的 存储器控制器310。存储器312可存储数据(包括由处理器302和/或核 106、或包括在计算系统300中的任何其他设备执行的指令序列)。在 一个实施例中,存储器控制器310和存储器312可分别与图1的存储 器控制器120和存储器122相同或相似。在本发明的一个实施例中, 存储器312可包括一个或多个易失性存储(或存储器)设备,例如随机 访问存储器(RAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、静 态RAM(SRAM)等。非易失性存储器还可例如用作硬盘。另外的设备 可耦合到互连网络304,例如多个CPU和/或多个系统存储器。
MCH 308还可包括耦合到图形加速器316的图形接口 314。 在本发明的一个实施例中,图形接口 314可经由加速图形端口(AGP) 耦合到图形加速器316。在本发明的实施例中,显示器(例如平板显示 器)可通过例如信号转换器耦合到图形接口 314,该信号转换器将存储 设备(如视频存储器或系统存储器)中存储的图像的数字表示变换成由 显示器解释并显示的显示信号。由显示器设备产生的显示信号在^^示器解释并随后显示在其上之前可通过各种控制设备。
集线器接口 318可将MCH308耦合到输入/输出控制集线 器(ICH) 320。 ICH 320可向耦合到计算系统300的I/O设备提供接口 。 ICH 320可通过诸如外围设备互连(PCI)桥、通用串行总线(USB)控制 器等的外围桥(或控制器)324耦合到总线322。桥324可提供CPU 302 和外围设备之间的数据路径。可利用其他类型的拓朴。此外,多个总 线可例如通过多个桥或控制器耦合到ICH 320。此外,这些多个总线可以同类或异类。而且,在各种本发明的实施例中,其他耦合到ICH320的外围设备可包括集成驱动电子设备(IDE)或小型计算机系统接口 (SCSI)硬盘驱动器、USB端口、键盘、鼠标、并行端口、串行端口、 软盘驱动器、数字输出支持(如数字视频接口(DVI))等。
总线322可耦合到音频i殳备326、 一个或多个盘驱动器(或 盘接口 )328 、以及一个或多个网络接口设备330(其耦合到计算机网络 108)。在一个实施例中,网络接口设备330可以是网^4妄口卡(NIC)。 在另一实施例中,网络接口设备330可以是存储主机总线适配器(HBA) (如用来连接到光纤通道盘)。其他设备可耦合到总线322。此外,在本 发明的一些实施例中,各种部件(如网络接口设备330)可耦合到MCH 308。另外,处理器302和MCH308可被结合以形成单个集成电路芯 片。在一个实施例中,图形加速器316、 ICH320、外围桥324、音频 设备326、盘或盘接口 328和/或网络接口 330可按各种配置结合在单 个集成电路芯片中。此外,各种配置可与处理器302和MCH 308结 合在一起以形成单个集成电路芯片。而且,在本发明的其他实施例中, 图形加速器316可包括在MCH308内。
另外,计算系统300可包括易失性和/或非易失性存储器 (或存储装置)。例如,非易失性存储器可包括以下存储器中的一个或 多个只读存储器(ROM)、可编程ROM (PROM)、可擦除PROM (EPROM)、电EPROM (EEPROM)、带有电池的非易失性存储器 (NVRAM)、盘驱动器(如328)、软盘、只读光盘(CD-ROM)、数字化 视频光盘(DVD)、闪存、磁光盘或适合存储电子数据(包括指令)的其 他类型的非易失性机器可读i某体。
对应于图1和图3的系统100和300可使用在各种应用中。 例如,在联网应用中,可能为在网络处理器(如处理例如按数据分组形 式的在网络上传递的数据的处理器)和控制和/或内容处理元件之间的 最佳、高吞吐量通信而将分组处理与通用处理紧密地耦合。例如,如 图4所示,分布式处理平台400的实施例可包括通过底板406(如交换结构)互连的刀片(blade)402-A至402-M和线路卡404-A至404-P的集 合。交换结构406例如可遵照公共交换接口 (CSIX)或其他结构技术, 如高级交换互连(ASI)、 HyperTransport、 Infmiband、外围设备互连(PCI) (和/或PCI Express (PCI-e))、以太网、SONET(同步光网络)上的分组、 RapidIO和/或用于异步传输模式(ATM)的通用测试和操作PHY (物理) 接口 (UTOPIA)。
在一个实施例中,线路卡404可提供线路终止和输^/输出 (1/0)处理。线路卡404可包括数据面中的处理(分组处理)以及控制面 处理,以便进行在数据面中执行的策略的管理。刀片402-A至402-M 可包括用来进行未分配给线路卡的控制面功能的控制刀片;用来执 行诸如驱动器枚举、路由表管理、全局表管理、网络地址翻译以及向 控制刀片消息传送等的系统管理功能的控制刀片;应用及服务刀片; 和/或内容处理刀片。交换结构或多个结构406还可驻留在一个或多个 刀片上。在网络基础设施中,内容处理刀片可用来进行标准线路卡功 能性以外的增强的基于内容的处理,所述标准线路卡功能性包括语音 处理、加密清除以及在性能要求高时的侵入4全测。在一个实施例中, 控制、管理、内容处理和/或专门应用和服务处理的功能可按各种方式 结合在一个或多个刀片402上。
线路卡404中的至少一个线路卡(如线路卡404-A)M于 系统100和/或300的体系结构实现的专门线路卡,用来将处理器(如 通用处理器或另 一类型的处理器)的处理智能紧密地耦合到网络处理 器(如处理在网络上传递的数据的处理器)的更为专门的能力。线路卡 404-A包括一个或多个々某体接口 110,用来处理在连接(如参考图1-3 讨论的网络108或例如经由光纤通道的其他类型的连接,例如存储区 域网络(SAN)连接)上的通信。 一个或多个i某体接口 110可耦合到处理 器,本文示为网络处理器(NP) 410 (其在一个实施例中可以是处理器核 106中的一个或多个)。尽管可使用单个NP,但是在该实现中, 一个 NP用作入口处理器,而其他的NP用作出口处理器。或者, 一系列NP可配置为流水线以进行不同级的入口业务或出口业务或两者的处理。平台400中的其他部件和互连示出在图1中。本文中,总线104 可通过输入/输出(1/0)块408耦合到交换结构406。在一个实施例中, 总线104可通过存储器控制器120耦合到I/O块408。在一个实施例 中,1/O块408可以是交换设备。而且, 一个或多个NP410和处理器 102可耦合到该1/0块408。或者或此外,基于图l和图3的系统的其 他应用可由分布式处理平台400采用。例如,对于优化的存储处理, 例如涉及企业服务器的应用、网络存储、清除和存储子系统应用,处 理器410可实现为1/0处理器。对于另外其他的应用,处理器410可 以是协处理器(例如用作加速器)或独立的控制面处理器。在一个实施 例中,处理器410可包括一个或多个通用和/或专门处理器(或其他类 型的处理器)或协处理器。在一个实施例中,线路卡404可包括一个或 多个处理器102。取决于刀片402和线路卡404的配置,分布式处理 平台400可实现交换设备(如交换机或路由器)、服务器、网关或其他 类型装备。
在各种实施例中,共享高速緩存(如图1的共享高速緩存 130)可被分区以便由参考图1-3讨论的平台400的各种部件(如线路卡 404和/或刀片402的若干部分)使用。共享高速緩存130可通过高速緩 存控制器(如图1和图3的高速i爰存控制器132)耦合到平台的各种部 件。此外,共享高速緩存可在平台400的任何合适位置(例如在线路卡 404和/或刀片402内)提供,或耦合到交换结构406。
图5说明了根据本发明的实施例、按点对点(PtP)配置安排 的计算系统500。具体来说,图5示出了其中处理器、存储器和输入/ 输出设备通过许多点对点接口互连的系统。参考图l-4讨论的操作可 通过系统500的一个或多个部件而^皮执行。
如图5所示,系统500可包括几个处理器,其中为清楚起 见仅仅示出了两个处理器502和504。系统500可包括参考图1-4讨 论的处理器核106、共享高速緩存130和/或高速緩存控制器132中的一个或多个,他们可通过PtP接口而与系统500的各种部件进行通信(例如按图5所示)。此外,处理器502和504可包括参考图1讨论的 高速^爰存124。在一个实施例中,处理器502和504可与参考图1-4 讨论的处理器102相似。处理器502包括与存储器510耦合的本地存 储器控制器集线器(MCH) 506,处理器504包括与存储器512耦合的 本地存储器控制器集线器(MCH)508 。在图5所示的实施例中,核106 还可包括与存储器耦合的本地MCH(未示出)。存储器510和/或512 可存储各种数据,例如分别参考图1和图3的存储器122和/或312讨 论的那些数据。
处理器502和504可以;^任何合适的处理器,例如参考图 3的处理器302讨论的那些处理器。处理器502和504可分别使用PtP 接口电路516和518而经由点对点(PtP)接口 514交换数据。处理器502 可使用点对点接口电路526、 530经由单独的PtP接口 522与芯片组 520交换数据,处理器504可使用点对点接口电路528、 532经由单独 的PtP接口 524与芯片组520交换数据。芯片组520还可使用PtP接 口电路537经由高性能图形接口 536与高性能图形电路534交换数据。
本发明的至少一个实施例可通过利用处理器502和504而 4是供。例如,处理器核106可位于处理器502和504内。然而,本发 明的其他实施例可存在于图5的系统500中的其他电i 各、逻辑单元或 设备内。此外,本发明的其他实施例可分布在整个图5所示的几个电 路、逻辑单元或设备中。
芯片组520可使用PtP接口电路541耦合到总线540。总 线540可具有耦合到它的一个或多个设备,例如总线桥542和I/O设 备543。经由总线544,总线桥543可耦合到其他设备,例如键盘/鼠 标545、参考图3讨论的网络接口设备330(如可耦合到计算机网络108 的调制解调器、网络接口卡(NIC)等)、音频I/0设备、和/或数据存储 设备或接口 548。数据存储设备548可存储可由处理器502和/或504 执行的代码549。
在本发明的各种实施例中,本文例如参考图l-5讨论的操 作可实现为硬件(如逻辑电路)、软件、固件或其组合,他们可^皮提供 为计算机程序产品,例如包括计算机可读介质或具有指令(或软件过程) 存储在其上的计算机可读介质,所述指令用来对计算机进行编程以执 行本文讨论的过程。计算机可读介质可包括例如关于图l-5讨论的任 何合适的存储设备。
此外,这种计算机可读媒体可作为计算机程序产品下载, 其中可通过在载波或其他传播介质中体现的数据信号方式经由通信 链路(如调制解调器或网络连接)将程序从远程计算机(如服务器)传送 到请求计算机(如客户机)。因此,在本文中,载波应当视为包括计算 机可读介质。
在说明书中对"一个实施例"或"实施例"的引用意味着 结合该实施例描述的具体特征、结构或特性可包括在至少一个实现 中。在说明书中,在各处出现的词组"在一个实施例中"可以都指相 同的实施例或可以不都指相同的实施例。
而且,在说明书和权利要求书中,可使用术语"耦合,,和 "连接"及其派生词。在本发明的一些实施例中,可使用"连4lr"来 表明两个或两个以上元件彼此直接物理或电接触。"耦合"可意味着 两个或两个以上元件直接物理或电接触。然而,"耦合"还可意味着 两个或两个以上元件彼此并不直接接触,但是彼此仍然协作并交互。
因此,尽管按照对于结构特征和/或方法动作特定的语言描 述了本发明的实施例,但是应当理解,所要求保护的主题不受限于所 描述的特定特征或动作。相反,特定的特征和动作是按照实现所要求 主题的样本形式公开的。
权利要求
1.一种装置,包括耦合到共享高速缓存的第一存储器访问代理;耦合到所述共享高速缓存的第二存储器访问代理,第二存储器访问代理包括多个处理器核;以及所述共享高速缓存包括共享分区,用来存储在第一存储器访问代理和第二存储器访问代理之间共享的数据;以及至少一个私有分区,用来存储由所述多个处理器核中的一个或多个处理器核访问的数据。
2. 如权利要求l所述的装置,还包括高速緩存控制器,用来 对于第一存储器访问代理的存储器访问请求,在所述共享高速緩存的第一分区上执行第一组高速緩存策略;以及对于第二存储器访问代理的存储器访问请求,在所述共享高速緩 存的第一分区和笫二分区中的一个或多个分区上执行第二组高速緩 存策略。
3. 如权利要求2所述的装置,其中第一组高速緩存策略是第二 组高速緩存策略的子集。
4. 如权利要求1所述的装置,其中笫一存储器访问代理或第二 存储器访问代理中的至少一个识别存储器访问请求涉及的所述共享 高速緩存中的分区。
5. 如权利要求1所述的装置,其中笫一存储器访问代理或第二 存储器访问代理中的至少 一个识别应用于涉及所述共享高速緩存的 存储器事务的高速緩存策略。
6. 如权利要求1所述的装置,其中所述多个处理器核中的一个 或多个处理器核在所述共享高速緩存的一个或多个私有分区中执行 部分写合并。
7. 如权利要求1所述的装置,还包括比所述共享高速緩存低级 的 一个或多个高速緩存,其中所述一个或多个高速緩存蔬探涉及所述 共享分区的一个或多个存储器事务。
8. 如权利要求1所述的装置,其中所述共享高速緩存是2级高 速緩存、高于2级的高速緩存或最后一级高速緩存之一。
9. 如权利要求1所述的装置,其中第一代理包括一个或多个处 理器。
10. 如权利要求9所述的装置,其中所述一个或多个处理器中的 至少一个处理器包括1级高速纟爰存。
11. 如权利要求9所述的装置,其中所述一个或多个处理器中的 至少一个处理器包括多级体系中的多个高速緩存。
12. 如权利要求l所述的装置,其中所述多个处理器核中的一个 或多个处理器核包括1级高速緩存。
13. 如权利要求l所述的装置,其中所述多个处理器核中的至少 一个处理器核包括多级体系中的多个高速緩存。
14. 如权利要求l所述的装置,还包括至少一个私有分区,用来 存储由第 一存储器访问代理访问的数据。
15. 如权利要求l所述的装置,其中笫一代理包括至少一个处理 器,所述处理器包括多个处理器核。
16. 如权利要求l所述的装置,其中所述多个处理器核在相同的 集成电路管芯上。
17. 如权利要求l所述的装置,其中第一代理包括一个或多个处 理器核,并且第 一存储器访问代理与第二存储器访问代理在相同的集 成电路管芯上。
18. —种方法,包括在共享高速緩存的共享分区中存储在第一存储器访问代理和第 二存储器访问代理之间共享的数据,笫二存储器访问代理包括多个处 理器核;以及在所述共享高速緩存的至少一个私有分区中存储由所述多个处 理器核中的一个或多个处理器核访问的数据。
19. 如权利要求18所述的方法,还包括在所述共享分区的一个或多个私有分区中存储由第 一存储器访问代理访问的数据。
20. 如权利要求18所述的方法,还包括识别存储器访问请求涉及 的所述共享高速緩存中的高速緩存分区。
21. 如权利要求18所述的方法,还包括对于第一存储器访问代理的存储器访问请求,在所述共享高速緩 存的第一分区上执行第一组高速緩存策略;以及对于第二存储器访问代理的存储器访问请求,在所述共享高速多爰存的第一分区或第二分区中的一个或多个分区上执行第二组高速纟爰 存策略。
22. 如权利要求18所述的方法,还包括识别应用于涉及所迷共享 高速緩存的存储器事务的高速緩存策略。
23. 如权利要求18所述的方法,还包括在所述共享高速緩存的至 少 一个私有分区中执行部分写合并。
24. 如权利要求18所述的方法,还包括动态或静态地调整所述共 享高速緩存中的一个或多个分区的大小。
25. 如权利要求18所述的方法,还包括窥探涉及所述共享高速緩 存的所述共享分区的一个或多个存储器事务。
26. —种业务管理"i殳备,包括 交换结构;以及用来处理经由所述交换结构传递的数据的装置,包括高速緩存控制器,用来响应于存储器访问请求而在共享高速 緩存的一个或多个共享分区和一个或多个私有分区中的一个分区中 存储所述数据;第一存储器访问代理和第二存储器访问代理,用来发送所述 存储器访问请求,第二存储器访问代理包括多个处理器核;所述一个或多个共享分区中的至少一个共享分区,用来存卡者在第 一存储器访问代理和第二存储器访问代理之间共享的数据;以及 所述一个或多个私有分区中的至少一个私有分区,用来存卡者 由所述多个处理器核中的一个或多个处理器核访问的数椐。
27. 如权利要求26所述的业务管理设备,其中所述交换结构遵 照公共交换接口 (CSIX)、高级交换互连(ASI) 、 HyperTransport 、 Infiniband、外围设备互连(PCI)、PCI Express(PCI-e)、以太网、SONET(同 步光网络)上的分组、或用于ATM的通用测试及操作PHY(物理)接口 (UTOPIA)中的一个或多个。
28. 如权利要求26所述的业务管理设备,其中所述高速緩存控 制器对于第一存储器访问代理的存储器访问请求,在所述共享高速緩 存的第一分区上执行第一组高速緩存策略;以及对于第二存储器访问代理的存储器访问请求,在所述共享高速》爰 存的第一分区和第二分区中的 一个或多个分区上执行第二组高速緩 存策略。
29. 如权利要求26所述的业务管理设备,其中第一存储器访问 代理包括至少一个处理器,所述处理器含有多个处理器核。
30. 如权利要求26所述的业务管理设备,还包括至少一个私有 分区,用来存储由第一存储器访问代理访问的数据。
全文摘要
本文讨论的一些实施例可在各种计算环境中利用共享高速缓存内的分区。在一个实施例中,在两种存储器访问代理之间共享的数据可存储在共享高速缓存的共享分区中。另外,由存储器访问代理之一访问的数据可存储在共享高速缓存的一个或多个私有分区中。
文档编号G06F12/08GK101331465SQ200680047731
公开日2008年12月24日 申请日期2006年12月7日 优先权日2005年12月21日
发明者C·纳拉 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1