CN101349996B - 在低功耗模式下保留被缓存的信息的技术 - Google Patents

在低功耗模式下保留被缓存的信息的技术 Download PDF

Info

Publication number
CN101349996B
CN101349996B CN2008101377476A CN200810137747A CN101349996B CN 101349996 B CN101349996 B CN 101349996B CN 2008101377476 A CN2008101377476 A CN 2008101377476A CN 200810137747 A CN200810137747 A CN 200810137747A CN 101349996 B CN101349996 B CN 101349996B
Authority
CN
China
Prior art keywords
processor
power consumption
low
cache
consumption mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101377476A
Other languages
English (en)
Other versions
CN101349996A (zh
Inventor
S·贾哈格达
V·乔治
J·阿拉雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101349996A publication Critical patent/CN101349996A/zh
Application granted granted Critical
Publication of CN101349996B publication Critical patent/CN101349996B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

根据至少一个实施例,公开了一种在低功耗模式下保留被缓存的信息的技术。在一个实施例中,存储在处理器的本地高速缓存中的信息在该处理器被置于低功耗模式以前被保存至共享高速缓存中,使得其他处理器可以从所述共享高速缓存访问信息,而不必使该低功耗模式的处理器从低功耗模式返回以便向对其本地高速缓存的访问提供服务。

Description

在低功耗模式下保留被缓存的信息的技术
技术领域
本发明的实施例一般涉及信息处理领域,更具体地,涉及计算系统和微处理器中电源管理的领域。
背景技术
一些微处理器和/或处理器内核(本文一般称为“处理器”)可以包括或能够访问主高速缓冲存储器,比如一级(“L1”)高速缓存,或与处理器或计算系统中其他存储结构相比处理器可以相对更快地从中获取频繁访问过的信息(比如数据或指令)的其他存储结构。另外,一些处理器可以包括或能够访问次级高速缓冲存储器,比如二级(“L2”)高速缓冲存储器,或某些其他存储结构,从该存储结构中处理器可以慢于从主高速缓冲存储器获取但快于从系统存储器(比如动态随机存取存储器(DRAM)、硬盘驱动器存储器等)来获取较不频繁访问过的信息(比如数据或指令)。
一些计算机系统可以包括多个处理器,其每一个包括或能够访问本地高速缓冲存储器(比如L1高速缓存)来存储主要由相对应的处理器来使用的信息。此外,一些计算机系统可以包括共享高速缓冲存储器,比如L2高速缓存,其可以被多于一个处理器使用。在具有共享高速缓冲存储器的计算机系统中,共享高速缓冲存储器可以存储所有或一部分存储在每个本地高速缓冲存储器的信息,使得多个本地高速缓冲存储器存储了在共享高速缓冲存储器中存储的频繁使用信息的子集。存储在本地高速缓冲存储器中的信息可以比存储在共享高速缓冲存储器中的相应信息更为频繁地被更新,因此,计算机系统可以实现高速缓存一致性方案来保持共享高速缓冲存储器中的信息与存储在一个或多个本地高速缓冲存储器中的信息相同。
通过在特定的处理器未被使用时或者响应于其他的算法(比如那些监测处理器或计算机系统内的温度并防止该温度超出阈值温度的算法)来减少系统中的一个或多个处理器的时钟频率和/或电压,一些计算机系统可以使用电源管理技术来将系统中的多个处理器置于低功耗模式。被置于低功耗模式的处理器处于低功耗模式时可以通过例如对本地高速缓存保持供电来保留存储在它们所对应的本地高速缓冲存储器中的信息,使得当处理器从低功耗模式返回时,信息将可用。
在低功耗模式下保留被缓存信息的现有技术的一个缺点是:可以通过例如“监听(snoop)”周期访问处于低功耗模式下的处理器的高速缓存的多个处理器,可能不得不等到处于低功耗模式下的处理器从低功耗模式返回且能够响应其他处理器的访问。对低功耗模式下处理器的高速缓存的访问与被请求的数据被获取或被确定不存在于低功耗模式下的处理器的高速缓存中这两者之间的延迟可以显著地降低相应的计算机系统的性能。当处理器的数量增加时,由于可能处于低功耗模式的处理器的数量和对这些处理器的访问数量可能增加,该问题可能加重。此外,计算机系统可能消耗不必要的功耗,特别是如果被请求的数据被确定不存在于处正处于低功耗模式中的理器的本地高速缓存中。
附图说明
本发明的实施例通过示例的方式而非限制的方式在附图中说明,图中相似的参考数字表示相似的元素,其中:
图1示出多内核微处理器的框图,本发明的至少一个实施例可以在其中使用;
图2示出共享总线计算机系统的框图,本发明的至少一个实施例可以在其中使用;
图3示出点对点互连结构的计算机系统的框图,本发明的至少一个实施例可以在其中使用;
图4示出基于环路的多内核微处理器的框图,本发明的至少一个实施例可以在其中使用;
图5示出根据本发明的一个实施例,处于低功耗模式时可以用来保留被缓存的信息的操作的流程图。
具体实施方式
至少公开了一项用于在处于低功耗模式时保留计算机系统中被缓存的信息的技术。在以下描述中,出于示例性目的,给出了许多具体的细节以便提供对本发明实施例的全面理解。然而,对于熟悉该技术的人员而言很明显,不需要这些具体的细节就可以实践本发明的实施例。
通常,本文所述的实施例可以适用于任何数量的多处理器系统,其包括多个微处理器、具有多个处理器内核的单的微处理器,或是每个具有多个处理器内核的多个处理器。为求简便,多个微处理器和多个微处理器内核在本文将被统称为“处理器”。此外,主高速缓冲存储器(即那些用来存储被处理器最频繁使用的信息的高速缓冲存储器)在本文将被统称为“本地高速缓存”,而用来存储在两个或多个处理器的主高速缓存中存储的至少一些信息的次级高速缓存(即那些用来存储比本地高速缓存较不频繁使用信息的高速缓冲存储器,例如L2高速缓存、L3高速缓存等)在本文将被统称为“共享高速缓存”。最后,处理器在其中工作的电压和/或频率状态,包括在其中一个或多个处理器时钟是空闲、停止、暂停或被减少到低于最大工作频率和/或一个或多个处理器电压被减少到低于最大工作电压的那些状态,在本文可以被统称为“功耗模式”。
在一些实施例中,在被置于低功耗模式之前,处理器可以将存储在它的本地高速缓存中的信息保存到共享高速缓存中对应的位置,使得原本可以尝试从该低功耗模式处理器的本地高速缓存访问信息的其他处理器,可以另行从共享高速缓存获取被请求的信息,并且该低功耗模式处理器可以停留在低功耗模式直到另有所需为止。有利的是,至少一个实施例可以提高计算机系统内的性能,是因为信息可以另外地从低功耗模式处理器在进入低功耗模式以前所保存至的共享高速缓存中获取,而不是由系统等待处于低功耗状态的处理器从低功耗状态返回来对其他处理器对其本地高速缓存的访问提供服务。在一些实施例中,对共享高速缓存的访问的可能比对处于低功耗模式的处理器的本地高速缓存的访问更快地完成。此外,由于处于低功耗模式的处理器可能不需要从低功耗模式返回来服务对其本地高速缓存的访问,至少一个实施例可以帮助在使用该实施例的系统中节约功耗。
在一个实施例中,将被置于低功耗模式的处理器可能首先执行高速缓存转储清除(flush)操作、高速缓存无效操作、写回操作,或者引起存储在处理器本地高速缓存中的信息被保存至共享高速缓存的其他操作。在一个实施例中,低功耗模式可以包括关闭一个或多个将被置于低功耗模式的处理器的时钟。在其他实施例中,低功耗模式可以包括减少或禁止用于为处理器、本地高速缓存或者这两者提供电源的一个或多个工作电压。在另外的实施例中,低功耗模式可以减少或使处理器的时钟频率和电压完全被禁止。
图1示出多内核微处理器,本发明的至少一个实施例可以在其中使用。特别地,图1示出具有至少两个处理器内核105和110的微处理器100,每个处理器内核分别具有与之相关联的本地高速缓存107和113。图1还示出共享高速缓冲存储器115,其可以存储在本地高速缓存107和113两者中存储的至少一些各个版本的信息。在一些实施例中,微处理器100还可以包括图1中未示出的其他的逻辑,比如集成的存储器控制器、集成的图形控制器、以及其他用来执行计算机系统内的其他功能(例如I/O控制)的逻辑。在一个实施例中,多处理器系统中的每个微处理器或者多内核处理器中的每个处理器内核可以包括或以其他方式与逻辑119相关联,取决于处理器/内核在任何特定的时间的功耗状态,来指引对本地高速缓存或共享高速缓存的访问。该逻辑可以包括或与存储器(比如非易失性的可编程存储器)相关联,在计算机系统工作期间的任何时刻存储内核或处理器的功耗状态。在这种实施例中,对处理器或内核的访问的进行无关于目标处理器或内核的功耗状态,使得相同类型的访问(比如监听)可以被发送到每个处理器或内核,并且取决于处理器或内核的功耗状态,目标处理器或内核既可以对其本地高速缓存监听进行服务,也可以将监听重新指引为对共享高速缓存的访问(监听或其它操作)。
在一个实施例中,图1示出的多个处理器内核中的一个内核在进入低功耗模式之前,可以将存储在其本地高速缓存中信息的最新版本存储至共享高速缓存。当多个内核中的一个处于低功耗模式(“低功耗模式内核”)时,由于在其进入低功耗模式之前,低功耗模式内核已将来自其本地高速缓存的最新信息保存至共享高速缓存,其他的内核(或多个内核)可以通过访问共享高速缓存来获得存储在低功耗模式内核的本地高速缓存的最新版本的信息。在一个实施例中,低功耗模式内核可能已经执行高速缓存的转储清除操作,在该操作中,在本地被缓存的一些或全部信息被无效或低功耗模式内核进入低功耗模式之前,存储在低功耗模式内核的本地高速缓存中的一些或全部信息被保存至共享高速缓存。在其他的实施例中,取决于内核的指令集体系结构,可以执行其他操作来将低功耗模式内核的本地高速缓存的一些或全部信息保存至共享高速缓存。
在一个实施例中,处理器在任何时候可能处于若干个不同的功耗状态中的一个,包括一个或多个低功耗模式。例如,处理器可能处于全功耗部件状态(“C0”),其中消耗最大容许量的功耗,减少的功耗部件状态(“C1”),定义为低于C0状态的功耗容许量,或其他的低功耗状态(例如C3、C6等),其每个状态由逐渐减少的功耗容许量来定义。此外,可以调整一个或多个处理器的时钟或电源来实现与每个状态相关联的容许的电源消耗量。
例如,在一个实施例中,全功耗C0状态可以通过操作一定频率范围内的一个或多个处理器时钟,以及操作一定电压范围内处理器的一个或多个电源,使得处理器性能最大化。这种功耗状态在例如运行在处理器上的程序要求处理器具有高性能时,可能是有用的。减少的功耗状态C1可以通过停止或减少一个或多个处理器时钟的同时在一定电压范围内维持对处理器一个或多个电源,而将处理器置于空闲的、暂停的或其他的低性能状态来完成。在这种减少的功耗状态下,处理器可能能够比在C0状态下消耗较少的功耗,但是仍然对其他的处理器对其本地高速缓存的访问提供服务,例如,对于监听操作。
在一个实施例中,处理器(例如图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中,两个内核都处于活跃的内核部件状态(“CC0”状态),而在处理器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状态下的处理器或内核的访问从处理器的或内核的本地高速缓存被重新指引至共享高速缓存或其他的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与芯片组390交换数据。芯片组390也可以通过高性能图形接口339与高性能图形电路338交换数据。本发明的实施例可以在具有任何数量的处理内核的任何处理器中实现,或者可以在图3的PtP总线代理的每一个中实现。在一个实施例中,任何处理器内核可以包括或者以其它方式与本地高速缓存(未示出)相关联。此外,共享高速缓存(未示出)可以被包括在两个处理器之外的任一处理器内,而仍通过P2P互连结构与多个处理器相连接,使得如果处理器被置于低功耗模式下,任一或两个处理器的本地高速缓存信息可以存储在共享高速缓存。图3中的一个或多个处理器或内核可以包括或以其它方式与逻辑319相关联,取决于在任何给定的时间处理器/内核的功耗状态,来指引对本地高速缓存或共享高速缓存的访问。该逻辑可以包括或与存储器(比如非易失性的可编程存储器)相关联,来存储计算机系统运行期间的任何时间的内核或处理器的功耗状态。
图4示出以环路配置构成的计算机系统或处理器,本发明的至少一个实施例可以在其中使用。图1的环路系统包括8个处理器或处理器内核401、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核”)可以存储在有形的机器可读的介质(“磁带”)上,并向各种客户或制造装置提供,以便加载到实际制造该逻辑或处理器的构建机器中。
因此,描述了用于指引微体系结构存储器区域的访问的方法和装置。可以理解上述描述期望为示例性而非限制性的。对本领域技术人员而言许多其他的实施例在阅读和理解上述描述后将是显而易见的。因此,本发明的范围应当依据所述的权利要求以及与该权利要求所赋予的等同物的全部范围一起来确定。

Claims (29)

1.一种处理器装置,包括:
第一处理器内核,其被置于低功耗模式,在该低功耗模式下至少存储在所述第一处理器内核的本地高速缓存中的被修改的信息将在进入所述低功耗模式之前被存储在共享高速缓存中;
第二处理器内核,其发起监听以访问存储在所述第一处理器内核的本地高速缓存中的信息;以及
逻辑部件,其基于在给定时间所述第一处理器内核的功耗状态,将存储在所述第一处理器内核的本地高速缓存中的信息的所述监听指引至所述第一处理器内核的本地高速缓存或指引至所述共享高速缓存。
2.根据权利要求1所述的装置,其中所述第一处理器内核指示其是否要进入所述低功耗模式并相应地指引所述访问。
3.根据权利要求2所述的装置,其中所述第一处理器内核包括逻辑模块,用于确定其是否处于所述低功耗模式,以及基于所述第一处理器是否处于所述低功耗模式,尝试访问所述第一处理器内核的本地高速缓存中的信息。
4.根据权利要求1所述的装置,其中所述共享高速缓存存储至少一些存储在与至少两个处理器内核相对应的至少两个本地高速缓存中的信息。
5.根据权利要求4所述的装置,其中所述本地高速缓存包括一级高速缓存,所述共享高速缓存包括二级高速缓存。
6.根据权利要求1所述的装置,其中所述低功耗模式包括减少所述第一处理器内核的至少一个时钟以及禁止对所述第一处理器内核的供电。
7.根据权利要求1所述的装置,其中所述低功耗模式包括将所述第一处理器内核置于空闲状态以及将所述第一处理器内核的工作电压减少。
8.根据权利要求1所述的装置,其中所述本地高速缓存由于进入所述低功耗模式而被转储清除。
9.一种计算机系统,包括:
第一处理器,其具有至少两个处理器内核,其中至少一个处理器内核将进入低功耗模式,在该低功耗模式下存储在所述至少一个处理器内核的本地高速缓存中的信息不再可被访问;
第二处理器,其具有至少一个处理器内核,用于如果所述第一处理器的所述至少一个处理器内核处于低功耗模式,就从共享高速缓存访问信息,其中所述共享高速缓存用于存储在所述至少两个处理器内核的本地高速缓存的每一个中存储的各个版本的信息;
系统存储器,用于存储在所述共享高速缓存中存储的各个版本的信息;
存储器控制器,所述第二处理器的至少一个处理器内核通过该存储器控制器来访问所述系统存储器。
10.根据权利要求9所述的系统,还包括非易失性存储器,用于存储所述第一处理器的至少一个处理器内核的功耗状态。
11.根据权利要求10所述的系统,其中所述第二处理器的至少一个处理器内核尝试访问所述第一处理器的至少一个处理器内核中的信息,无论所述第一处理器的至少一个处理器内核处于何种功耗状态。
12.根据权利要求11所述的系统,其中如果所述第一处理器的至少一个处理器内核尚未进入所述低功耗模式,则所述第二处理器的至少一个处理器内核将监听所述第一处理器的至少一个处理器内核的本地高速缓存。
13.根据权利要求9所述的系统,其中所述第一和第二处理器通过前端总线耦合。
14.根据权利要求9所述的系统,其中所述第一和第二处理器通过点对点互连结构耦合。
15.根据权利要求9所述的系统,其中所述第一和第二处理器通过环路互连结构耦合。
16.根据权利要求9所述的系统,其中所述低功耗模式包括停止时钟以及取消对所述第一处理器的至少一个处理器内核的供电。
17.根据权利要求9所述的系统,其中访问所述共享高速缓存中的信息所需要的时间少于等待所述第一处理器的至少一个处理器内核从所述低功耗模式返回再访问其本地高速缓存所需要的时间。
18.一种用于获取信息的方法,包括:
将第一处理器内核置于低功耗模式,其中所述低功耗模式包括将所述第一处理器内核的一级高速缓存中至少被修改的信息存储到二级高速缓存中;
发起监听以访问存储在所述第一处理器内核的一级高速缓存中的信息;
响应于所述第一处理器内核中的逻辑部件指示所述第一处理器内核进入所述低功耗模式,第二处理器内核访问所述二级高速缓存,而不是所述一级高速缓存;以及
如果所述第二处理器内核所请求的信息未存储在所述二级高速缓存中,生成对系统存储器的访问。
19.根据权利要求18所述的方法,其中所述第一处理器内核基于该第一处理器内核的低功耗模式来路由对所述一级或二级高速缓存的访问。
20.根据权利要求19所述的方法,其中所述低功耗模式在与所述第一处理器内核相关联的非易失性可编程存储器中被指示。
21.根据权利要求18所述的方法,其中所述第一处理器包括逻辑模块,用于:基于所述第一处理器是否处于所述低功耗模式来确定将来自所述第二处理器内核的访问路由到何处。
22.根据权利要求18所述的方法,其中所述低功耗模式包括将所述第一处理器内核置于空闲状态并减少工作电压。
23.一种用于访问共享高速缓存的方法,该方法包括:
使第一处理器访问在至少第二和第三处理器之间共享的高速缓存,而不是访问与所述第二和第三处理器之一相对应的本地高速缓存,以获取在相对应的处理器进入低功耗模式之前可在相对应的本地高速缓存中访问的信息,作为对确定所述第二和第三处理器至少之一已进入低功耗模式的响应,其中进入所述低功耗模式使得所述第二和第三处理器至少之一将其相应的本地高速缓存中的信息存储到所述共享高速缓存中、对所述第二和第三处理器至少之一的时钟进行门控、以及将所述第二和第三处理器至少之一的供电减少。
24.根据权利要求23所述的方法,还包括确定所述至少第二和第三处理器是否处于所述低功耗模式。
25.根据权利要求24所述的方法,其中所述确定所述至少第二和第三处理器是否处于所述低功耗模式包括访问包含所述至少第二和第三处理器的功耗状态信息的存储区域。
26.根据权利要求25所述的方法,其中所述存储区域由所述至少第二和第三处理器来维护。
27.根据权利要求26所述的方法,其中所述确定所述至少第二和第三处理器是否处于所述低功耗模式包括执行软件例程。
28.根据权利要求23所述的方法,其中所述本地高速缓存是一级高速缓存。
29.根据权利要求28所述的方法,其中所述共享高速缓存是二级高速缓存。
CN2008101377476A 2007-07-20 2008-07-18 在低功耗模式下保留被缓存的信息的技术 Active CN101349996B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/880,357 US8527709B2 (en) 2007-07-20 2007-07-20 Technique for preserving cached information during a low power mode
US11/880,357 2007-07-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201310108148.2A Division CN103257701B (zh) 2007-07-20 2008-07-18 在低功耗模式下保留被缓存的信息的技术

Publications (2)

Publication Number Publication Date
CN101349996A CN101349996A (zh) 2009-01-21
CN101349996B true CN101349996B (zh) 2013-04-24

Family

ID=40265786

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2008101377476A Active CN101349996B (zh) 2007-07-20 2008-07-18 在低功耗模式下保留被缓存的信息的技术
CN201310108148.2A Active CN103257701B (zh) 2007-07-20 2008-07-18 在低功耗模式下保留被缓存的信息的技术

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201310108148.2A Active CN103257701B (zh) 2007-07-20 2008-07-18 在低功耗模式下保留被缓存的信息的技术

Country Status (8)

Country Link
US (3) US8527709B2 (zh)
JP (2) JP5138036B2 (zh)
KR (1) KR101227219B1 (zh)
CN (2) CN101349996B (zh)
DE (1) DE112008001895B4 (zh)
GB (1) GB2463828B (zh)
TW (1) TWI360046B (zh)
WO (1) WO2009014931A2 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527709B2 (en) 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US8725953B2 (en) * 2009-01-21 2014-05-13 Arm Limited Local cache power control within a multiprocessor system
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
CN102053946B (zh) * 2009-10-30 2014-05-28 国际商业机器公司 多核系统中处理请求的数据处理方法、设备和系统
JP5495822B2 (ja) * 2010-01-29 2014-05-21 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
US8533505B2 (en) 2010-03-01 2013-09-10 Arm Limited Data processing apparatus and method for transferring workload between source and destination processing circuitry
KR101664108B1 (ko) * 2010-04-13 2016-10-11 삼성전자주식회사 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법
US8751833B2 (en) 2010-04-30 2014-06-10 Arm Limited Data processing system
JP5485055B2 (ja) * 2010-07-16 2014-05-07 パナソニック株式会社 共有メモリシステム及びその制御方法
US8806232B2 (en) 2010-09-30 2014-08-12 Apple Inc. Systems and method for hardware dynamic cache power management via bridge and power manager
US8984305B2 (en) * 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
JPWO2013057886A1 (ja) * 2011-10-17 2015-04-02 パナソニックIpマネジメント株式会社 集積回路、マルチコアプロセッサ装置及び集積回路の製造方法
KR101858159B1 (ko) 2012-05-08 2018-06-28 삼성전자주식회사 멀티-cpu 시스템과 이를 포함하는 컴퓨팅 시스템
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
US9086980B2 (en) 2012-08-01 2015-07-21 International Business Machines Corporation Data processing, method, device, and system for processing requests in a multi-core system
US9760150B2 (en) * 2012-11-27 2017-09-12 Nvidia Corporation Low-power states for a computer system with integrated baseband
US9703707B2 (en) * 2012-12-04 2017-07-11 Ecole polytechnique fédérale de Lausanne (EPFL) Network-on-chip using request and reply trees for low-latency processor-memory communication
KR102005765B1 (ko) * 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
US9128857B2 (en) * 2013-01-04 2015-09-08 Apple Inc. Flush engine
WO2014196976A1 (en) * 2013-06-06 2014-12-11 Empire Technology Development, Llc Shared cache data movement in thread migration
JP6347633B2 (ja) * 2013-06-14 2018-06-27 キヤノン株式会社 通信装置、通信方法およびプログラム
JP6110487B2 (ja) 2013-06-14 2017-04-05 バーフェリヒト ゲゼルシャフト ミット ベシュレンクテル ハフツング カスタマイズされた屈折矯正手術のための自動機械設定
JP6366717B2 (ja) 2013-09-27 2018-08-01 インテル・コーポレーション 複数のデバイスにわたる複数のメモリリソースを構成するための技術
US9836113B2 (en) 2013-12-23 2017-12-05 Intel Corporation Method and apparatus to manage power usage in a processor
US9665155B2 (en) 2013-12-28 2017-05-30 Intel Corporation Techniques for increasing energy efficiency of sensor controllers that receive data from one or more sensors
US9436972B2 (en) 2014-03-27 2016-09-06 Intel Corporation System coherency in a distributed graphics processor hierarchy
US20150370707A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Disunited shared-information and private-information caches
KR102347657B1 (ko) * 2014-12-02 2022-01-06 삼성전자 주식회사 전자 장치 및 이의 공유 캐시 메모리 제어 방법
US9563431B2 (en) * 2014-12-26 2017-02-07 Intel Corporation Techniques for cooperative execution between asymmetric processor cores
KR102222444B1 (ko) * 2015-03-05 2021-03-04 삼성전자주식회사 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법
CN104765698B (zh) * 2015-03-17 2018-02-13 中国科学院声学研究所 一种高速缓冲存储器及路预测方法
TWI667570B (zh) * 2015-07-15 2019-08-01 聯華電子股份有限公司 半導體裝置及其運作方法
CN105404591B (zh) * 2015-12-18 2019-02-26 杭州士兰微电子股份有限公司 处理器系统及其存储器控制方法
CN105487875B (zh) * 2015-12-18 2019-08-27 杭州士兰微电子股份有限公司 程序存储器的控制方法、控制装置及其处理器系统
US10606339B2 (en) * 2016-09-08 2020-03-31 Qualcomm Incorporated Coherent interconnect power reduction using hardware controlled split snoop directories
US10324850B2 (en) * 2016-11-11 2019-06-18 Microsoft Technology Licensing, Llc Serial lookup of tag ways
US10649684B2 (en) * 2017-03-16 2020-05-12 Arm Limited Memory access monitoring
US10565122B2 (en) 2017-05-30 2020-02-18 Microsoft Technology Licensing, Llc Serial tag lookup with way-prediction
CN108805276B (zh) * 2017-06-16 2020-09-22 上海兆芯集成电路有限公司 处理器、用于操作处理器的方法和计算机可用介质
US10956332B2 (en) * 2017-11-01 2021-03-23 Advanced Micro Devices, Inc. Retaining cache entries of a processor core during a powered-down state
US10705590B2 (en) 2017-11-28 2020-07-07 Google Llc Power-conserving cache memory usage
CN109542830B (zh) * 2018-11-21 2022-03-01 北京灵汐科技有限公司 一种数据处理系统及数据处理方法
US11134030B2 (en) * 2019-08-16 2021-09-28 Intel Corporation Device, system and method for coupling a network-on-chip with PHY circuitry
US11615022B2 (en) * 2020-07-30 2023-03-28 Arm Limited Apparatus and method for handling accesses targeting a memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1618053A (zh) * 2001-12-20 2005-05-18 英特尔公司 用于允许处理器的低功率模式的方法和装置
CN1910538A (zh) * 2003-12-18 2007-02-07 英特尔公司 改变高速缓存策略的方法和系统

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
US5632038A (en) * 1994-02-22 1997-05-20 Dell Usa, L.P. Secondary cache system for portable computer
US6052789A (en) * 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
US6658532B1 (en) * 1999-12-15 2003-12-02 Intel Corporation Cache flushing
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6763435B2 (en) * 2001-10-16 2004-07-13 International Buisness Machines Corporation Super-coherent multiprocessor system bus protocols
US6792551B2 (en) * 2001-11-26 2004-09-14 Intel Corporation Method and apparatus for enabling a self suspend mode for a processor
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6920574B2 (en) * 2002-04-29 2005-07-19 Apple Computer, Inc. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US7017054B2 (en) * 2002-07-02 2006-03-21 Dell Products L.P. Mirrored tag snoop optimization
US6976131B2 (en) * 2002-08-23 2005-12-13 Intel Corporation Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system
US7194638B1 (en) * 2002-09-27 2007-03-20 Cypress Semiconductor Corporation Device and method for managing power consumed by a USB device
US7461213B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor system using request, data, snoop, and response rings
US6971034B2 (en) * 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
US6711447B1 (en) * 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
GB2403561A (en) * 2003-07-02 2005-01-05 Advanced Risc Mach Ltd Power control within a coherent multi-processor system
US7237131B2 (en) * 2003-12-30 2007-06-26 Intel Corporation Transaction-based power management in a computer system
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070156992A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US7694080B2 (en) * 2004-12-29 2010-04-06 Intel Corporation Method and apparatus for providing a low power mode for a processor while maintaining snoop throughput
US20060171244A1 (en) * 2005-02-03 2006-08-03 Yoshiyuki Ando Chip layout for multiple cpu core microprocessor
US7337280B2 (en) * 2005-02-10 2008-02-26 International Business Machines Corporation Data processing system and method for efficient L3 cache directory management
US20070005907A1 (en) 2005-06-29 2007-01-04 Intel Corporation Reduction of snoop accesses
US7899990B2 (en) * 2005-11-15 2011-03-01 Oracle America, Inc. Power conservation via DRAM access
JP2007148952A (ja) * 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US20070150663A1 (en) * 2005-12-27 2007-06-28 Abraham Mendelson Device, system and method of multi-state cache coherence scheme
US7584327B2 (en) * 2005-12-30 2009-09-01 Intel Corporation Method and system for proximity caching in a multiple-core system
US8225046B2 (en) * 2006-09-29 2012-07-17 Intel Corporation Method and apparatus for saving power by efficiently disabling ways for a set-associative cache
US7937535B2 (en) * 2007-02-22 2011-05-03 Arm Limited Managing cache coherency in a data processing apparatus
US8527709B2 (en) 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US8489906B2 (en) * 2010-05-25 2013-07-16 Freescale Semiconductor, Inc. Data processor having multiple low power modes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1618053A (zh) * 2001-12-20 2005-05-18 英特尔公司 用于允许处理器的低功率模式的方法和装置
CN1910538A (zh) * 2003-12-18 2007-02-07 英特尔公司 改变高速缓存策略的方法和系统

Also Published As

Publication number Publication date
GB2463828B (en) 2012-08-22
GB2463828A (en) 2010-03-31
US8527709B2 (en) 2013-09-03
JP5138036B2 (ja) 2013-02-06
JP2010534377A (ja) 2010-11-04
KR20100021003A (ko) 2010-02-23
CN101349996A (zh) 2009-01-21
WO2009014931A3 (en) 2009-04-02
JP2013069320A (ja) 2013-04-18
DE112008001895B4 (de) 2018-09-06
CN103257701B (zh) 2016-08-03
CN103257701A (zh) 2013-08-21
US20130179639A1 (en) 2013-07-11
JP5367899B2 (ja) 2013-12-11
US8732399B2 (en) 2014-05-20
KR101227219B1 (ko) 2013-01-28
US9274592B2 (en) 2016-03-01
WO2009014931A2 (en) 2009-01-29
US20140115369A1 (en) 2014-04-24
GB201000648D0 (en) 2010-03-03
DE112008001895T5 (de) 2010-06-02
TW200915059A (en) 2009-04-01
TWI360046B (en) 2012-03-11
US20090024799A1 (en) 2009-01-22

Similar Documents

Publication Publication Date Title
CN101349996B (zh) 在低功耗模式下保留被缓存的信息的技术
US9104409B2 (en) Predict computing platform memory power utilization
US9575889B2 (en) Memory server
US7620776B2 (en) Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of modified memory blocks
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
US7395376B2 (en) Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of shared memory blocks
US20230214326A1 (en) Computer Memory Expansion Device and Method of Operation
JP2008525901A (ja) 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測
CN101425043A (zh) 解决高速缓存冲突
US20180157589A1 (en) Proactive cache coherence
US20180341585A1 (en) Write-back cache for storage controller using persistent system memory
US8769211B2 (en) Monitoring thread synchronization in a distributed cache
US8397029B2 (en) System and method for cache coherency in a multiprocessor system
Ahmed et al. Directory-based cache coherence protocol for power-aware chip-multiprocessors
CN110221985B (zh) 跨芯片维护缓存一致性策略的装置与方法
JP5861496B2 (ja) マルチプロセッサ装置、及びマルチプロセッサ装置の電力制御方法
KR102570030B1 (ko) 멀티프로세서 시스템 및 이의 데이터 관리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant