在低功耗模式下保留被缓存的信息的技术的制作方法

文档序号:6466016阅读:180来源:国知局
专利名称:在低功耗模式下保留被缓存的信息的技术的制作方法
技术领域
本发明的实施例一般涉及信息处理领域,更具体地,涉及计算系统和 微处理器中电源管理的领域。
背景技术
一些微处理器和/或处理器内核(本文一般称为"处理器")可以包括或
能够访问主高速缓冲存储器,比如一级("L1")高速缓存,或与处理器或计 算系统中其他存储结构相比处理器可以相对更快地从中获取频繁访问过的 信息(比如数据或指令)的其他存储结构。另外,一些处理器可以包括或能够 访问次级高速缓冲存储器,比如二级("L2")高速缓冲存储器,或某些其他 存储结构,从该存储结构中处理器可以慢于从主高速缓冲存储器获取但快 于从系统存储器(比如动态随机存取存储器(DRAM)、硬盘驱动器存储器等) 来获取较不频繁访问过的信息(比如数据或指令)。
一些计算机系统可以包括多个处理器,其每一个包括或能够访问本地 高速缓冲存储器(比如Ll高速缓存)来存储主要由相对应的处理器来使用的 信息。此外, 一些计算机系统可以包括共享高速缓冲存储器,比如L2高速 缓存,其可以被多于一个处理器使用。在具有共享高速缓冲存储器的计算 机系统中,共享高速缓冲存储器可以存储所有或一部分存储在每个本地高 速缓冲存储器的信息,使得多个本地高速缓冲存储器存储了在共享高速缓 冲存储器中存储的频繁使用信息的子集。存储在本地高速缓冲存储器中的 信息可以比存储在^^享高速缓冲存储器中的相应信息更为频繁地被更新, 因此,计算机系统可以实现高速缓存一致性方案来保持共享高速缓冲存储 器中的信息与存储在一个或多个本地高速缓冲存储器中的信息相同。
通过在特定的处理器未被使用时或者响应于其他的算法(比如那些监测 处理器或计算机系统内的温度并防止该温度超出阈值温度的算法)来减少系 统中的一个或多个处理器的时钟频率和/或电压, 一些计算机系统可以使用
电源管理技术来将系统中的多个处理器置于低功耗模式。被置于低功耗模 式的处理器处于低功耗模式时可以通过例如对本地高速缓存保持供电来保 留存储在它们所对应的本地高速缓冲存储器中的信息,使得当处理器从低 功耗模式返回时,信息将可用。
在低功耗模式下保留被缓存信息的现有技术的一个缺点是可以通过 例如"监听(snoop)"周期访问处于低功耗模式下的处理器的高速缓存的多
个处理器,可能不得不等到处于低功耗模式下的处理器从低功耗模式返回 且能够响应其他处理器的访问。对低功耗模式下处理器的高速缓存的访问 与被请求的数据被获取或被确定不存在于低功耗模式下的处理器的高速缓 存中这两者之间的延迟可以显著地降低相应的计算机系统的性能。当处理 器的数量增加时,由于可能处于低功耗模式的处理器的数量和对这些处理 器的访问数量可能增加,该问题可能加重。此外,计算机系统可能消耗不 必要的功耗,特别是如果被请求的数据被确定不存在于处正处于低功耗模 式中的理器的本地高速缓存中。


本发明的实施例通过示例的方式而非限制的方式在附图中说明,图中
相似的参考数字表示相似的元素,其中
图1示出多内核微处理器的框图,本发明的至少一个实施例可以在其
中使用;
图2示出共享总线计算机系统的框图,本发明的至少一个实施例可以 在其中使用;
图3示出点对点互连结构的计算机系统的框图,本发明的至少一个实 施例可以在其中使用;
图4示出基于环路的多内核微处理器的框图,本发明的至少一个实施 例可以在其中使用;
图5示出根据本发明的一个实施例,处于低功耗模式时可以用来保留 被缓存的信息的操作的流程图。
具体实施例方式
至少公开了一项用于在处于低功耗模式时保留计算机系统中被缓存的 信息的技术。在以下描述中,出于示例性目的,给出了许多具体的细节以 便提供对本发明实施例的全面理解。然而,对于熟悉该技术的人员而言很 明显,不需要这些具体的细节就可以实践本发明的实施例。
通常,本文所述的实施例可以适用于任何数量的多处理器系统,其包 括多个微处理器、具有多个处理器内核的单的微处理器,或是每个具有多 个处理器内核的多个处理器。为求简便,多个微处理器和多个微处理器内 核在本文将被统称为"处理器"。此外,主高速缓冲存储器(即那些用来存《诸
被处理器最频繁使用的信息的高速缓冲存储器)在本文将被统称为"本tik高 速缓存",而用来存储在两个或多个处理器的主高速缓存中存储的至少一些 信息的次级高速缓存(即那些用来存储比本地高速缓存较不频繁使用信息的
高速缓冲存储器,例如L2高速缓存、L3高速缓存等)在本文将被统称为"共 享高速缓存"。最后,处理器在其中工作的电压和/或频率状态,包括在其中 一个或多个处理器时钟是空闲、停止、暂停或被减少到低于最大工作频率 和/或一个或多个处理器电压被减少到低于最大工作电压的那些状态,在本 文可以被统称为"功耗模式"。
在一些实施例中,在被置于低功耗模式之前,处理器可以将存储在它 的本地高速缓存中的信息保存到共享高速缓存中对应的位置,使得原本可 以尝试从该低功耗模式处理器的本地高速缓存访问信息的其他处理器,可 以另行从共享高速缓存获取被请求的信息,并且该低功耗模式处理器可以 停留在低功耗模式直到另有所需为止。有利的是,至少一个实施例可以提 高计算机系统内的性能,是因为信息可以另外地从低功耗模式处理器在进 入低功耗模式以前所保存至的共享高速缓存中获取,而不是由系统等待处 于低功耗状态的处理器从低功耗状态返回来对其他处理器对其本地高速缓 存的访问提供服务。在一些实施例中,对共享高速缓存的访问的可能比对 处于低功耗模式的处理器的本地高速缓存的访问更快地完成。此外,由于 处于低功耗模式的处理器可能不需要从低功耗模式返回来服务对其本地高 速缓存的访问,至少一个实施例可以帮助在使用该实施例的系统中节约功 耗。
在一个实施例中,将被置于低功耗模式的处理器可能首先执行高速缓
存转储清除(flush)操作、高速缓存无效操作、写回操作,或者引起存储在处 理器本地高速缓存中的信息被保存至共享高速缓存的其他操作。在一个实 施例中,低功耗模式可以包括关闭一个或多个将被置于低功耗模式的处理 器的时钟。在其他实施例中,低功耗模式可以包括减少或禁止用于为处理 器、本地高速缓存或者这两者提供电源的一个或多个工作电压。在另外的 实施例中,低功耗模式可以减少或使处理器的时钟频率和电压完全被禁止。 图1示出多内核微处理器,本发明的至少一个实施例可以在其中使用。
特别地,图1示出具有至少两个处理器内核105和110的微处理器100,每 个处理器内核分别具有与之相关联的本地高^I缓存107和113。图1还示出 共享高速缓冲存储器115,其可以存储在本地高速缓存107和113两者中存 储的至少一些各个版本的信息。在一些实施例中,微处理器100还可以包 括图1中未示出的其他的逻辑,比如集成的存储器控制器、集成的图形控 制器、以及其他用来执行计算机系统内的其他功能(例如I/O控制)的逻辑。 在一个实施例中,多处理器系统中的每个微处理器或者多内核处理器中的 每个处理器内核可以包括或以其他方式与逻辑119相关联,取决于处理器/ 内核在任何特定的时间的功耗状态,来指引对本地高速缓存或共享高速缓 存的访问。该逻辑可以包括或与存储器(比如非易失性的可编程存储器)相关 联,在计算机系统工作期间的任何时刻存储内核或处理器的功耗状态。在 这种实施例中,对处理器或内核的访问的进行无关于目标处理器或内核的 功耗状态,使得相同类型的访问(比如监听)可以被发送到每个处理器或内 核,并且取决于处理器或内核的功耗状态,目标处理器或内核既可以对其 本地高速缓存监听进行服务,也可以将监听重新指引为对共享高速缓存的 访问(监听或其它操作)。
在一个实施例中,图1示出的多个处理器内核中的一个内核在进入低 功耗模式之前,可以将存储在其本地高速缓存中信息的最新版本存储至共 享高速缓存。当多个内核中的一个处于低功耗模式("低功耗模式内核") 时,由于在其进入低功耗模式之前,低功耗模式内核已将来自其本地高速 缓存的最新信息保存至共享高速缓存,其他的内核(或多个内核)可以通过访 问共享高速缓存来获得存储在低功耗模式内核的本地高速缓存的最新版本 的信息。在一个实施例中,低功耗模式内核可能己经执行高速缓存的转储
清除操作,在该操作中,在本地被缓存的一些或全部信息被无效或低功耗 模式内核进入低功耗模式之前,存储在低功耗模式内核的本地高速缓存中 的一些或全部信息被保存至共享高速缓存。在其他的实施例中,取决于内 核的指令集体系结构,可以执行其他操作来将低功耗模式内核的本地高速 缓存的一些或全部信息保存至共享高速缓存。
在一个实施例中,处理器在任何时候可能处于若干个不同的功耗状态 中的一个,包括一个或多个低功耗模式。例如,处理器可能处于全功耗部
件状态("C0"),其中消耗最大容许量的功耗,减少的功耗部件状态("C1"), 定义为低于CO状态的功耗容许量,或其他的低功耗状态(例如C3、 C6等), 其每个状态由逐渐减少的功耗容许量来定义。此外,可以调整一个或多个 处理器的时钟或电源来实现与每个状态相关联的容许的电源消耗量。
例如,在一个实施例中,全功耗CO状态可以通过操作一定频率范围内 的一个或多个处理器时钟,以及操作一定电压范围内处理器的一个或多个 电源,使得处理器性能最大化。这种功耗状态在例如运行在处理器上的程 序要求处理器具有高性能时,可能是有用的。减少的功耗状态C1可以通过 停止或减少一个或多个处理器时钟的同时在一定电压范围内维持对处理器 一个或多个电源,而将处理器置于空闲的、暂停的或其他的低性能状态来 完成。在这种减少的功耗状态下,处理器可能能够比在CO状态下消耗较少 的功耗,但是仍然对其他的处理器对其本地高速缓存的访问提供服务,例 如,对于监听操作。
在一个实施例中,处理器(例如图1示出的多个内核中的一个)可能通过 停止或减少处理器的一个或多个时钟,以及禁止或减少一个或多个为处理 器供电的电源电压,而被置于比C0或C1更低的功耗状态,使得存储在处 理器本地高速缓存的信息不被保留。例如在图1中,多个内核中的一个可 以被置于低功耗内核部件状态("CC3"状态),其中内核的所有时钟被暂停 并且电源电压被禁止或另外地被减少到非活跃级别。在CC3状态下,根据一 个实施例,内核可以消耗最小量的功耗,并且可能根本不消耗。因此,在 图1示出的处理器或内核可以被置于CC3状态之前,至少存储在内核的本 地高速缓存的任何修改过的信息可以被存储至共享高速缓存中的相应位 置。在一个实施例中,在内核进入CC3状态之前,只有修改过的信息(即比
存储在共享高速缓存中的相同信息的各个版本更新的本地高速缓存中各个
版本的信息)被存储至共享高速缓存。在其他的实施例中,在内核进入CC3 状态之前,本地髙速缓存的全部内容被存储至共享高速缓存,无论其相比 于从共享高速缓存可获得的版本是否修改过。
有利的是,由于共享高速缓存包含存储在将被置于CC3状态的内核的 本地高速缓存中至少修改过的信息,在一个实施例中,图1示出的原本可 以尝试访问CC3内核的高速缓存(比如当将被访问的内核处于减少的内核 部件状态(例如"CC1")时)的任何其他的处理器或内核,可以另行直接从 共享高速缓存访问被请求的信息,使CC3内核保留在低功耗模式,从而节 省功耗。此外,在一个实施例中,由于CC3内核不必从其低功耗状态返回 来向其他内核或处理器对其本地高速缓存的访问提供服务,例如,对于监 听操作,要求访问的处理器或内核可能不必像其将需要等待被访问的内核 从低功耗状态返回来对请求进行服务那样长久地等待其请求的信息。以上 在各个实施例中描述的技术可以被进一步应用到具有任何数量的处理器或 处理器内核的系统。
例如,图2示出前端总线(FSB)计算机系统,本发明的至少一个实施例 可以在其中使用。任何处理器201、 205、 210或215可以访问在处理器内 核223、 227、 233、 237、 243、 247、 253、 257中的一个内核中或与其以其 它方式相关联的任何本地一级(L1)高速缓冲存储器220、 225、 230、 235、 240、 245、 250、 255的信息。此外,任何处理器201、 205、 210或215可 以从任何一个共享的二级(L2)高速缓存203、 207、 213、 217或通过芯片组 265从系统存储器260访问信息。图2中的一个或多个处理器可以包括或以 其它方式与逻辑219相关联,取决于处理器/内核在任何给定的时间的功耗 状态,指引对本地高速缓存或共享高速缓存的访问。该逻辑可以包括或与 存储器(比如非易失性的可编程存储器)相关联,在计算机系统运行期间存储 内核或处理器在任何时间的功耗状态。
在图2示出的实例中,在处理器201中,两个内核都处于活跃的内核 部件状态("CCO"状态),而在处理器205中,两个内核都处于减少的功耗 状态,比如CC1,使得每个内核可以对来自活跃的内核223和227监听或 类似的操作进行服务。处理器210和215每一个的内核都处于比处理器201
和205的内核更低的功耗模式下,比如CC3状态,使得本地高速缓存243、 247、 253和257中的信息都不再可用。在一个实施例中,如果活跃的内核 223或227要访问存储在处理器210和215的内核的本地高速缓存中的信息, 那么它们将不得不分别从处理器210和215的共享高速缓存获取信息。这 是因为,在一个实施例中,在进入CC3状态之前,处理器223和227的内 核将存储在它们的本地高速缓存的信息的至少修改的版本分别存储到它们 的共享高速缓存213和217中。如果处理器201的内核请求的信息在共享 高速缓存213和217不可获得,且在本地高速缓存230或235也不可获得, 那么处理器201的内核将不得不寻求通过芯片组265或通过硬盘驱动器从 系统存储器260或图2中未示出的其它存储来源访问信息。
在一些实施例中,图2中每个处理器的内核可以彼此处于不同的功耗 模式而并非处于图2中示出的相同的功耗模式。在一个实施例中,逻辑可 以被包括在多个处理器或多个内核中的每一个之内,来向监听或类似操作 指示被访问的内核是否处于CC3状态或其他的状态下,使得发请求的内核 可以发出适当的事务来对被请求的内核的适当的存储结构(本地高速缓存或 共享高速缓存)进行寻址。在一些实施例中,内核的功耗状态的指示值可以 在软件程序中被记录或追踪,比如可被计算机系统的BIOS访问的表格。例 如,在一个实施例中,内核或处理器在任何时候改变功耗状态,这种改变 就被记录在存储于逻辑或存储器的表格内,系统BIOS可以对其读取并通知 可能尝试访问另一处理器的或内核的本地高速缓存的任何内核或处理器。 通过向发出访问的处理器或内核通知关于其他处理器或内核的功耗模式, 该处理器或内核可以访问适当的存储结构,比如当相对应的本地高速缓存 处于减少的功耗模式(比如CC3)时的共享高速缓存。在其他的实施例中,每 个处理器或内核的功耗模式信息可以通过其它方式修改或被记录,包括硬 件逻辑或BIOS之外的其他软件。
在一些实施例中,被访问的处理器或内核可以包括控制被访问处理器 或内核的响应的逻辑。例如,在一个实施例中,要使用本文所描述的技术 的计算机系统内的每个处理器(或内核)可以包括存储(比如非易失性的可编 程存储器),其可在任何给定的时间存储处理器的功耗状态,使得相关联的 逻辑可以确定如何对来自另一 处理器/内核的监听请求或类似操作作出响
应。在一个实施例中,存储和逻辑可以被用来例如使得对处于CC3状态下 的处理器或内核的访问从处理器的或内核的本地高速缓存被重新指弓I至共 享高速缓存或其他的L2高速缓存。但是,如果被访问的处理器或内核处于 另外的状态,比如CC0或CC1状态(即比CC3高的功耗状态),那么被访问 的处理器或内核中的逻辑将允许它的本地高速缓存被监听或被另外访问。 在这样的一个实施例中,进行访问的处理器内核不需要了解任何处理器的 功耗状态,但是可以简单地对任何其他的处理器的本地高速缓存发出访问 (比如监听),并且被访问的处理器(或内核)可以基于此时其所处的功耗状态 来指引访问需要去往何处。
除了在图2中示出的FSB计算机系统之外,其他的系统配置可以与本 发明的各个实施例一起来使用,包括点对点(P2P)互连结构系统和环路互连 结构系统。例如,图3中的P2P系统可以包括数个处理器,只有其中的两 个处理器370、 380通过实例示出。处理器370、 380可以各自包括本地的 存储器控制中心(MCH)372、 382来与存储器32、 34相连接。处理器370、 380可以通过点对点(PtP)接口 350使用PtP接口电路378、 388来交换数据。 处理器370、 380可以各自通过单独的PtP接口 352、 354使用点对点接口电 路376、 394、 386、 398与芯片组3卯交换数据。芯片组390也可以通过高 性能图形接口 339与高性能图形电路338交换数据。本发明的实施例可以 在具有任何数量的处理内核的任何处理器中实现,或者可以在图3的PtP 总线代理的每一个中实现。在一个实施例中,任何处理器内核可以包括或 者以其它方式与本地高速缓存(未示出)相关联。此外,共享高速缓存(未示 出)可以被包括在两个处理器之外的任一处理器内,而仍通过P2P互连结构 与多个处理器相连接,使得如果处理器被置于低功耗模式下,任一或两个 处理器的本地高速缓存信息可以存储在共享高速缓存。图3中的一个或多 个处理器或内核可以包括或以其它方式与逻辑319相关联,取决于在任何 给定的时间处理器/内核的功耗状态,来指引对本地高速缓存或共享高速缓 存的访问。该逻辑可以包括或与存储器(比如非易失性的可编程存储器) 相关联,来存储计算机系统运行期间的任何时间的内核或处理器的功耗状 态。
图4示出以环路配置构成的计算机系统或处理器,本发明的至少一个
实施例可以在其中使用。图1的环路系统包括8个处理器或处理器内核40K 405、 410、 415、 420、 425、 430、 435沿着同心的环路互连结构而构成,其 中每个处理器或内核具有对应的本地高速缓存,其可以沿着环路互连结构 被另外的内核访问。图4的系统或处理器还可以包括共享的末级高速缓存 (LLC) 440,其存储在本地髙速缓存403、 407、 413、 417、 423、 427、 433、 437中存储的所有或一些版本的信息。在一个实施例中,如果图4中的多个 处理器或内核中的一个处于功耗模式,在该模式下信息不再可从处理器或 内核的本地高速缓存访问,那么尝试访问存储在低功耗模式处理器/内核的 本地高速缓存中的信息的任何其他的处理器或内核,必须转而尝试从LLC 访问该信息。在一个实施例中,如果信息在LLC中不可获得,那么进行访 问的处理器或内核可能需要通过存储器控制器445从系统存储器来源(未示 出)访问数据。图4中的一个或多个处理器可以包括或以其它方式与逻辑419 相关联,取决于在任何给定的时间的处理器/内核的功耗状态,指引对本地 高速缓存或共享高速缓存的访问。该逻辑可以包括或与存储器(比如非易失 性的可编程存储器)相关联,在计算机系统操作期间的任何时间存储内核或 处理器的功耗状态。
图5示出操作的流程图,其可与至少本发明的一个实施例一起使用, 不论实施例中使用何种处理器或系统配置。例如,在操作501,对处理器进 行访问,例如通过监听操作或其它的高速缓存访问操作。在操作505,如果 被访问的处理器处于低功耗模式(比如CC3状态),那么处理器的共享高速 缓存在操作510被访问。取决于所使用的协议,访问可以是对共享高速缓 存的监听,或者该监听可以被转换成另一种操作来对共享高速缓存进行访 问。在操作515,如果被请求的信息不存在于共享高速缓存中,那么在操作 520对系统存储器进行访问,并且信息在操作530从系统存储器返回,否则, 信息在操作525从共享高速缓存返回。
在操作505,如果处理器不处于低功耗模式(比如CC3),那么处理器的 本地高速缓存在操作535被访问。在操作540,如果信息在本地高速缓存中 可获得,那么信息在操作545从本地高速缓存返回。否则,过程返回至操 作510来从共享高速缓存或如以上所描述的系统存储器访问信息。在一个 实施例中,不论系统中的其他处理器处于怎样的功耗状态,进行访问的处理器向它们发送监听,并且基于被访问的处理器的功耗状态,被访问的处 理器确定是否向本地高速缓存或共享高速缓存发送访问。例如,如果被访
问的处理器在被访问时处于CC3状态,来自其他处理器的监听操作将作为 监听或其它操作被重新指引至被访问的处理器的共享高速缓存。否则,如 果被访问的处理器正处于允许本地高速缓存被监听的功耗状态,监听操作 可能引起对被访问的处理器的本地高速缓存的访问。在其他的实施例中, 对一个表格进行维护(比如通过BIOS),进行访问的处理器在访问另一处理 器之前可以对其进行査询,从而基于表格中所指示的功耗状态,来确定是 否应当访问该处理器的本地高速缓存应或应当访问它的共享高速缓存。在 其他的实施例中,可能使用其他技术基于被访问的处理器的功耗状态来管 理访问应被指引至何处。
本文所述实施例可以使用多种技术以多种途径来实现。例如,至少一 个实施例在CMOS逻辑中实现,而其他的实施例则在软件中实现。又如, 另外的实施例通过硬件逻辑和软件的组合来实现。
在一个实施例中,用于助于例程的软件可被嵌入到机器可读的介质中。 机器可读的介质包括以机器可访问的形式提供(即存储和/或传输)信息的任 何装置(例如计算机、网络设备、个人数字助理、制造工具、任何具有一组 一个或多个处理器的设备等)。例如,机器可读的介质包括可记录/不可记录 的介质(例如包括固件的只读存储器(ROM)、随机存取存储器(RAM)、磁盘 存储介质、光存储介质、闪速存储器件;等等),以及电的、光学的、声学 的或传播信号的其他形式(例如载波、红外信号、数字信号等);等等。
至少一个实施例的一个或多个方面可以由存储在机器可读介质中的代 表性数据来实现,该数据表示处理器中的各种逻辑,其由机器读取后引起 机器构建逻辑来执行本文所描述的技术。这种表示(称为"IP核")可以存储 在有形的机器可读的介质("磁带")上,并向各种客户或制造装置提供,以 便加载到实际制造该逻辑或处理器的构建机器中。
因此,描述了用于指引微体系结构存储器区域的访问的方法和装置。 可以理解上述描述期望为示例性而非限制性的。对本领域技术人员而言许 多其他的实施例在阅读和理解上述描述后将是显而易见的。因此,本发明 的范围应当依据所述的权利要求以及与该权利要求所赋予的等同物的全部范围一起来确定,
权利要求
1、一种装置,包括第一处理器内核,其被置于低功耗模式,在该低功耗模式下至少存储在所述第一处理器内核的本地高速缓存中的被修改的信息将被存储在共享高速缓存中;第二处理器内核,其访问所述共享高速缓存,以获取在所述第一处理器内核进入所述低功耗模式之前可在所述本地高速缓存中访问的信息,其中响应于所述第一处理器内核被置于所述低功耗模式,所述第二处理器内核访问所述共享高速缓存而不是所述本地高速缓存。
2、 根据权利要求1所述的装置,其中所述第一处理器内核指示其是否 要进入所述低功耗模式并相应地指引所述访问。
3、 根据权利要求2所述的装置,其中所述第一处理器内核包括逻辑, 用于确定其是否处于所述低功耗模式,以及基于所述第一处理器是否处于 所述低功耗模式,尝试访问所述第一处理器内核的本地高速缓存中的信息。
4、 根据权利要求1所述的装置,其中所述共享高速缓存存储至少一些 存储在与至少两个处理器内核相对应的至少两个本地高速缓存中的信息。
5、 根据权利要求4所述的装置,其中所述本地高速缓存包括一级(L1) 高速缓存,所述共享高速缓存包括二级(L2)高速缓存。
6、 根据权利要求1所述的装置,其中所述低功耗模式包括减少所述第 一处理器内核的至少一个时钟以及禁止对所述第一处理器内核的供电。
7、 根据权利要求1所述的装置,其中所述低功耗模式包括将所述第一 处理器内核置于空闲状态以及将所述第一处理器内核的工作电压减少至基 本为零。
8、 根据权利要求l所述的装置,其中所述本地高速缓存由于进入所述 低功耗模式而被转储清除。
9、 一种系统,包括第一处理器,其具有至少两个处理器内核,其中至少一个处理器内核 将进入低功耗模式,在该低功耗模式下存储在所述至少一个处理器内核的 本地高速缓存中的信息不再可被访问;第二处理器,其具有至少一个处理器内核,用于如果所述第一处理器 的所述至少一个处理器内核处于低功耗模式,就从共享高速缓存访问信息, 其中所述共享高速缓存用于存储在所述至少两个处理器内核的本地高速缓 存中存储的各个版本的信息;系统存储器,用于存储在所述共享高速缓存中存储的各个版本的信息;存储器控制器,所述第二处理器的至少一个处理器内核通过该存储器 控制器来访问所述系统存储器。
10、 根据权利要求9所述的系统,还包括非易失性存储器,用于存储 所述第一处理器的至少一个处理器内核的功耗状态。
11、 根据权利要求10所述的系统,其中所述第二处理器的至少一个处 理器内核尝试访问所述第一处理器的至少一个处理器内核中的信息,无论 所述第一处理器的至少一个处理器内核处于何种功耗状态。
12、 根据权利要求11所述的系统,其中如果所述第一处理器的至少一 个处理器内核尚未进入所述低功耗模式,则所述第二处理器的至少一个处 理器内核将监听所述第一处理器的至少一个处理器内核的本地高速缓存。
13、 根据权利要求9所述的系统,其中所述第一和第二处理器通过前立而总线孝禺合o
14、 根据权利要求9所述的系统,其中所述第一和第二处理器通过点 对点互连结构耦合。
15、 根据权利要求9所述的系统,其中所述第一和第二处理器通过环 路互连结构耦合。
16、 根据权利要求9所述的系统,其中所述低功耗模式包括停止时钟 以及取消对所述第一处理器的至少一个处理器内核的供电。
17、 根据权利要求9所述的系统,其中访问所述共享高速缓存中的信 息所需要的时间少于等待所述第一处理器的至少一个处理器内核从所述低 功耗模式返回再访问其本地高速缓存所需要的时间。
18、 一种方法,包括将第一处理器置于低功耗模式,其中所述低功耗模式包括将所述第一 处理器内核的一级(L1)高速缓存中至少被修改的信息存储到二级(L2)高速缓存中;响应于所述第一处理器内核进入所述低功耗模式,访问所述L2高速缓 存,而不是L1高速缓存;如果所述第二处理器内核所请求的信息未存储在所述L2高速缓存中, 生成对系统存储器的访问。
19、 根据权利要求18所述的方法,其中所述第一处理器内核基于该第 一处理器内核的低功耗模式来路由对所述U或L2高速缓存的访问。
20、 根据权利要求19所述的方法,其中所述低功耗模式在与所述第一 处理器内核相关联的非易失性可编程存储器中被指示。
21、 根据权利要求18所述的方法,其中所述第一处理器包括逻辑,用 于基于所述第一处理器是否处于所述低功耗模式来确定将来自所述第二处理器的访问路由到何处。
22、 根据权利要求18所述的方法,其中所述低功耗模式包括将所述第 一处理器内核置于空闲状态并减少工作电压。
23、 一种机器可读介质,具有存储在其上的一组指令,该组指令被机 器执行后使该机器执行一种方法,该方法包括使第一处理器访问在至少第二和第三处理器之间共享的高速缓存,而 不是访问与所述第二和第三处理器之一相对应的本地高速缓存,作为对确 定所述第二和第三处理器至少之一已进入低功耗模式的响应,其中进入所 述低功耗模式使得所述第二和第三处理器至少之一将其相应的本地高速缓 存中的信息存储到所述共享高速缓存中、对所述第二和第三处理器至少之 一的时钟进行门控、以及将所述第二和第三处理器至少之一的供电减少到 基本为零。
24、 根据权利要求23所述的机器可读介质,还包括确定所述至少第二 和第三处理器是否处于所述低功耗模式。
25、 根据权利要求24所述的机器可读介质,其中所述确定过程包括访 问包含所述至少第二和第三处理器的功耗状态信息的存储区域。
26、 根据权利要求25所述的机器可读介质,其中所述存储区域由所述 至少第二和第三处理器来维护。
27、 根据权利要求26所述的机器可读介质,其中所述确定过程包括执 行软件例程。
28、 根据权利要求23所述的机器可读介质,其中所述本地高速缓存是 一级(L1)高速缓存。
29、 根据权利要求28所述的机器可读介质,其中所述共享高速缓存是 二级(L2)高速缓存。
30、 根据权利要求23所述的机器可读介质,其中所述低功耗模式是内 核部件3号功耗状态。
全文摘要
根据至少一个实施例,公开了一种在低功耗模式下保留被缓存的信息的技术。在一个实施例中,存储在处理器的本地高速缓存中的信息在该处理器被置于低功耗模式以前被保存至共享高速缓存中,使得其他处理器可以从所述共享高速缓存访问信息,而不必使该低功耗模式的处理器从低功耗模式返回以便向对其本地高速缓存的访问提供服务。
文档编号G06F15/167GK101349996SQ20081013774
公开日2009年1月21日 申请日期2008年7月18日 优先权日2007年7月20日
发明者J·阿拉雷, S·贾哈格达, V·乔治 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1