CN103257701B - 在低功耗模式下保留被缓存的信息的技术 - Google Patents
在低功耗模式下保留被缓存的信息的技术 Download PDFInfo
- Publication number
- CN103257701B CN103257701B CN201310108148.2A CN201310108148A CN103257701B CN 103257701 B CN103257701 B CN 103257701B CN 201310108148 A CN201310108148 A CN 201310108148A CN 103257701 B CN103257701 B CN 103257701B
- Authority
- CN
- China
- Prior art keywords
- kernel
- cache
- processor
- low
- power
- 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
Links
- 238000005516 engineering process Methods 0.000 title abstract description 9
- 230000000717 retained effect Effects 0.000 title description 3
- 230000015654 memory Effects 0.000 claims description 31
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 15
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 239000008358 core component Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 239000000306 component Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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
本申请是2008年7月18日提交的申请号为200810137747.6、名称为‘在低功耗模式下保留被缓存的信息的技术’的分案申请。
技术领域
本发明的实施例一般涉及信息处理领域,更具体地,涉及计算系统和微处理器中电源管理的领域。
背景技术
一些微处理器和/或处理器内核(本文一般称为“处理器”)可以包括或能够访问主高速缓冲存储器,比如一级(“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相关联,该逻辑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相关联,该逻辑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相关联,该逻辑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相关联,该逻辑419用于取决于在任何给定的时间的处理器/内核的功耗状态,将访问指引到本地高速缓存或者共享高速缓存。该逻辑可以包括或与存储器(比如非易失性的可编程存储器)相关联,在计算机系统操作期间的任何时间存储内核或处理器的功耗状态。
图5示出操作的流程图,其可与至少本发明的一个实施例一起使用,不论实施例中使用何种处理器或系统配置。例如,在操作501,对处理器进行访问,例如通过监听操作或其它的高速缓存访问操作。在操作505,如果被访问的处理器处于低功耗模式(比如CC3状态),那么处理器的共享高速缓存在操作510被访问。取决于所使用的协议,访问可以是对共享高速缓存的监听,或者该监听可以被转换成另一种操作来对共享高速缓存进行访问。在操作515,如果被请求的信息不存在于共享高速缓存中,那么在操作520对系统存储器进行访问,并且信息在操作530从系统存储器返回,否则,信息在操作525从共享高速缓存返回。
在操作505,如果处理器不处于低功耗模式(比如CC3),那么处理器的本地高速缓存在操作535被访问。在操作540,如果信息在本地高速缓存中可获得,那么信息在操作545从本地高速缓存返回。否则,过程返回至操作510来从共享高速缓存或如以上所描述的系统存储器访问信息。在一个实施例中,不论系统中的其他处理器处于怎样的功耗状态,进行访问的处理器向它们发送监听,并且基于被访问的处理器的功耗状态,被访问的处理器确定是否向本地高速缓存或共享高速缓存发送访问。例如,如果被访问的处理器在被访问时处于CC3状态,来自其他处理器的监听操作将作为监听或其它操作被重新指引至被访问的处理器的共享高速缓存。否则,如果被访问的处理器正处于允许本地高速缓存被监听的功耗状态,监听操作可能引起对被访问的处理器的本地高速缓存的访问。在其他的实施例中,对一个表格进行维护(比如通过BIOS),进行访问的处理器在访问另一处理器之前可以对其进行查询,从而基于表格中所指示的功耗状态,来确定是否应当访问该处理器的本地高速缓存应或应当访问它的共享高速缓存。在其他的实施例中,可能使用其他技术基于被访问的处理器的功耗状态来管理访问应被指引至何处。
本文所述实施例可以使用多种技术以多种途径来实现。例如,至少一个实施例在CMOS逻辑中实现,而其他的实施例则在软件中实现。又如,另外的实施例通过硬件逻辑和软件的组合来实现。
在一个实施例中,用于助于例程的软件可被嵌入到机器可读的介质中。机器可读的介质包括以机器可访问的形式提供(即存储和/或传输)信息的任何装置(例如计算机、网络设备、个人数字助理、制造工具、任何具有一组一个或多个处理器的设备等)。例如,机器可读的介质包括可记录/不可记录的介质(例如包括固件的只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器件;等等),以及电的、光学的、声学的或传播信号的其他形式(例如载波、红外信号、数字信号等);等等。
至少一个实施例的一个或多个方面可以由存储在机器可读介质中的代表性数据来实现,该数据表示处理器中的各种逻辑,其由机器读取后引起机器构建逻辑来执行本文所描述的技术。这种表示(称为“IP核”)可以存储在有形的机器可读的介质(“磁带”)上,并向各种客户或制造装置提供,以便加载到实际制造该逻辑或处理器的构建机器中。
因此,描述了用于指引微体系结构存储器区域的访问的方法和装置。可以理解上述描述期望为示例性而非限制性的。对本领域技术人员而言许多其他的实施例在阅读和理解上述描述后将是显而易见的。因此,本发明的范围应当依据所述的权利要求以及与该权利要求所赋予的等同物的全部范围一起来确定。
Claims (41)
1.一种处理器,包括:
包含第一本地高速缓存的第一内核,其中当该第一内核将被置于低功耗模式时,在进入该低功耗模式之前存储在所述第一本地高速缓存中的被修改的信息将被存储在共享高速缓存中;
通过环路互连结构耦合到所述第一内核的第二内核,用于启动对所述第一内核的监听以访问存储在所述第一本地高速缓存中的信息;以及
第一内核的逻辑,其包括存储所述第一内核的功耗状态的存储器,所述逻辑用于基于所述第一内核的功耗状态来将所述监听指引到所述第一本地高速缓存或者所述共享高速缓存,其中当所述第一内核是活跃的时,所述逻辑将所述监听指引到所述第一本地高速缓存,而在所述第一内核处于所述低功耗模式时,将所述监听指引到所述共享高速缓存。
2.根据权利要求1所述的处理器,其中所述第一内核指示其是否要进入所述低功耗模式并相应地指引所述访问。
3.根据权利要求1所述的处理器,其中所述共享高速缓存存储至少一些存储在所述第一本地高速缓存和与所述第二内核关联的第二本地高速缓存中的信息。
4.根据权利要求3所述的处理器,其中所述第一本地高速缓存包括一级(L1)高速缓存,所述共享高速缓存包括二级(L2)高速缓存。
5.根据权利要求1所述的处理器,其中所述低功耗模式包括减少所述第一内核的至少一个时钟以及禁止对所述第一内核的供电。
6.根据权利要求1所述的处理器,其中所述低功耗模式包括将所述第一内核置于空闲状态以及将所述第一内核的工作电压减少。
7.根据权利要求1所述的处理器,其中所述第一本地高速缓存由于进入所述低功耗模式而被转储清除。
8.一种计算机系统,包括:
第一处理器,其具有至少两个处理器内核,其中至少一个处理器内核将进入低功耗模式,在该低功耗模式下存储在所述至少一个处理器内核的本地高速缓存中的信息不再可被访问;
第二处理器,其具有至少一个处理器内核,用于如果所述第一处理器的所述至少一个处理器内核处于低功耗模式,就从共享高速缓存访问信息,其中所述共享高速缓存用于存储在所述第一处理器的所述至少两个处理器内核中存储的各个版本的信息;
系统存储器,用于存储在所述共享高速缓存中存储的各个版本的信息。
9.根据权利要求8所述的计算机系统,还包括非易失性存储器,用于存储所述第一处理器的所述至少一个处理器内核的功耗状态。
10.根据权利要求9所述的计算机系统,其中所述第二处理器的至少一个处理器内核尝试访问所述第一处理器的所述至少一个处理器内核中的信息,无论所述第一处理器的所述至少一个处理器内核处于何种功耗状态。
11.根据权利要求10所述的计算机系统,其中如果所述第一处理器的所述至少一个处理器内核尚未进入所述低功耗模式,则所述第二处理器的至少一个处理器内核将监听所述第一处理器的所述至少一个处理器内核的本地高速缓存。
12.根据权利要求8所述的计算机系统,其中所述第一处理器和所述第二处理器通过前端总线耦合。
13.根据权利要求8所述的计算机系统,其中所述第一处理器和所述第二处理器通过点对点互连结构耦合。
14.根据权利要求8所述的计算机系统,其中所述第一处理器和所述第二处理器通过环路互连结构耦合。
15.根据权利要求8所述的计算机系统,其中所述低功耗模式包括停止时钟以及取消对所述第一处理器的所述至少一个处理器内核的供电。
16.根据权利要求15所述的计算机系统,其中访问所述共享高速缓存中的信息所需要的等待时间少于等待所述第一处理器的所述至少一个处理器内核从所述低功耗模式返回再访问其本地高速缓存所需要的时间。
17.一种用于在低功耗模式下保留被缓存的信息的系统,包括:
作为对确定第二和第三处理器至少之一已进入所述低功耗模式的响应,使第一处理器访问耦合在至少第二和第三处理器之间的共享高速缓存、而不是访问与所述第二和第三处理器之一相对应的本地高速缓存的模块,以及
使所述第二和第三处理器之一进入所述低功耗模式的模块,包括使得所述第二和第三处理器至少之一将其相应的本地高速缓存中的信息存储到所述共享高速缓存中、对所述第二和第三处理器至少之一的时钟进行门控、以及将所述第二和第三处理器至少之一的供电减少的模块。
18.根据权利要求17所述的系统,还包括确定所述至少第二和第三处理器是否处于所述低功耗模式的模块。
19.根据权利要求18所述的系统,还包括访问包含所述至少第二和第三处理器的功耗状态信息的存储区域的模块。
20.一种处理器,包括:
包含第一一级高速缓存的第一内核和包含第二一级高速缓存的第二内核,
所述第一内核进入多个低功率模式,包括但不限于:
第一低功率模式,其中响应于所述第一内核进入所述第一低功率模式,所述第一内核的一个或多个时钟被暂停,同时维持对所述第一内核的供电;以及
第二低功率模式,其中在进入所述第二低功率模式时,来自所述第一一级高速缓存的数据被存储到二级高速缓存中,并且所述第一内核被断电,同时维持对所述处理器的其余部分的供电;以及
第三低功率模式,其中在进入所述第三低功率模式时,来自所述第一一级高速缓存的数据被存储到二级高速缓存中,并且包括所述第一内核在内的所述处理器被断电。
21.根据权利要求20所述的处理器,进一步包括监听逻辑,用于响应于所述第一内核处于所述第一低功率模式而使所述第一内核接收访问;并且响应于所述第一内核处于所述第二低功率模式或所述第三低功率模式而使所述第一内核不接收所述访问。
22.根据权利要求21所述的处理器,其中所述监听逻辑使所述第一内核接收访问包括所述监听逻辑将所述访问指引到所述第一一级高速缓存,并且其中所述监听逻辑使所述第一内核不接收所述访问包括所述监听逻辑将所述访问指引到所述二级高速缓存。
23.一种处理器,包括:
耦合到第一一级高速缓存的第一内核和与第二一级高速缓存相关联的第二内核,
所述第一内核进入多个低功率模式,包括但不限于:
第一低功率模式,其中响应于所述第一内核进入所述第一低功率模式,所述第一内核的一个或多个时钟被暂停,同时维持对所述第一内核的一个或多个供电;以及
第二低功率模式,其中在所述第一内核进入所述第二低功率模式时,来自第一一级高速缓存的数据被存储到二级高速缓存中,并且至少所述第一内核被断电;以及
存储装置,用来保存所述第一内核的功率状态的指示;以及
监听逻辑,响应于所述第一内核的所述功率状态的指示指出了所述第一内核的所述第一低功率模式,使所述第一内核接收对所述数据的访问;并且响应于所述第一内核的所述功率状态的指示指出了所述第一内核的所述第二低功率模式,使所述第一内核不接收对所述数据的所述访问。
24.根据权利要求23所述的处理器,其中保存所述第一内核的功率状态的所述指示的所述存储装置包括寄存器,并且其中所述访问包括监听一致性请求。
25.根据权利要求23所述的处理器,其中至少所述第一内核被断电以进入所述第二低功率模式包括对所述第一内核全部断电。
26.根据权利要求23所述的处理器,其中所述监听逻辑响应于当前功率模式表示所述第一低功率模式,使所述第一内核接收访问包括:所述监听逻辑响应于所述当前功率模式表示所述第一低功率模式,将所述访问指引到所述第一一级高速缓存;并且其中所述监听逻辑响应于当前功率模式表示所述第二低功率模式,使所述第一内核不接收访问包括:所述监听逻辑响应于所述当前功率模式表示所述第二低功率模式,将所述访问指引到所述二级高速缓存。
27.一种多内核处理器,包括:
共享的高速缓存;
耦合到所述共享的高速缓存的第一内核,所述第一内核有本地高速缓存,其中所述第一内核进入低功率模式,并且其中响应于进入所述低功率模式,来自所述本地高速缓存的数据被存储到所述共享的高速缓存中并且减少所述第一内核的功率;
耦合到所述第一内核和所述共享的高速缓存的第二内核,所述第二内核产生与所述数据相关联的请求;
监听逻辑,用于如果所述第一内核处在所述低功率模式,则使所述第一内核不接收所述请求;和
系统逻辑,其与所述第一内核和所述第二内核集成,所述系统逻辑包括存储器控制器、图像控制器和I/O控制器。
28.根据权利要求27所述的多内核处理器,进一步包括用于保存所述第一内核的功率状态的指示的存储装置,所述监听逻辑用于基于保存在所述存储装置中的所述功率状态的所述指示来确定所述第一内核处在活跃功率状态或者低功率状态,并且所述请求包括监听一致性请求。
29.根据权利要求28所述的多内核处理器,其中所述监听逻辑响应于所述第一内核处在所述活跃功率状态,进一步使所述第一内核接收所述请求。
30.根据权利要求29所述的多内核处理器,其中所述监听逻辑使所述第一内核接收所述请求包括所述监听逻辑将所述请求指引到所述本地高速缓存,并且其中所述监听逻辑使所述第一内核不接收所述请求包括所述监听逻辑将所述请求指引到所述共享的高速缓存。
31.一种计算机系统,包括:
第一多内核处理器,包括具有第一L1高速缓存的第一内核、具有第二L1高速缓存的第二内核和第一共享的L2高速缓存,所述第一内核进入第一低功率模式,在该第一低功率模式下所述第一内核的供电被减少,并且当进入所述第一低功率模式时,来自所述第一L1高速缓存的数据被存储到所述第一共享的L2高速缓存中;
第二多内核处理器,包括有第三L1高速缓存的第三内核、有第四L1高速缓存的第四内核和第二共享的L2高速缓存,所述第三内核进入第二低功率模式,在该第二低功率模式下到第三内核的一个或多个时钟被停止,同时维持到所述第三内核的一个或多个供电;和
耦合到所述第一多内核处理器和所述第二多内核处理器的共享总线,用来传送请求以访问在所述第一L1高速缓存、所述第二L1高速缓存、所述第三L1高速缓存、所述第四L1高速缓存、所述第一共享的L2高速缓存和所述第二共享的L2高速缓存中的信息,
所述第一多内核处理器进一步包括第一监听逻辑,其用于如果所述第一内核处在所述第一低功率模式,则使第一请求访问所述第一共享的L2高速缓存而不被所述第一内核的所述第一L1高速缓存接收,和
所述第二多内核处理器进一步包括第二监听逻辑,其用于如果所述第三内核处在所述第二低功率模式,则使所述第三内核的所述第三L1高速缓存接收访问信息的第二请求。
32.根据权利要求31所述的计算机系统,其中所述第一内核有第三低功率模式,在该第三低功率模式下给所述第一内核的一个或多个时钟被减少或者除去,如果所述第一内核处在所述第三低功率模式,所述第一监听逻辑将所述第一请求指引到所述第一L1高速缓存。
33.根据权利要求32所述的计算机系统,其中所述第三内核有第四低功率模式,在该第四低功率模式下给所述第三内核的供电被减少或者除去,并且在进入所述第四低功率模式之前,存储在所述第三L1高速缓存内的至少修改的信息将会被存储到所述第二共享的L2高速缓存中,如果所述第三内核处在所述第四低功率模式,所述第二监听逻辑将所述第二请求指引到所述第二共享的L2高速缓存。
34.根据权利要求31所述的计算机系统,其中所述第一监听逻辑包括存储器以存储值,并且其中基于所述值,所述第一监听逻辑将所述第一请求指引到所述第一L1高速缓存或者到所述第一共享的L2高速缓存。
35.根据权利要求31所述的计算机系统,进一步包括耦合到所述共享的总线的系统存储器。
36.一种处理器,包括:
第一多内核处理器,包括具有第一L1高速缓存的第一内核,和具有第二L1高速缓存的第二内核;
第二多内核处理器,包括具有第三L1高速缓存的第三内核,和具有第四L1高速缓存的第四内核;
第三多内核处理器,包括具有第五L1高速缓存的第五内核,和具有第六L1高速缓存的第六内核;
第四多内核处理器,包括具有第七L1高速缓存的第七内核,和具有第八L1高速缓存的第八内核;
耦合到所述第一多内核处理器、所述第二多内核处理器、所述第三多内核处理器和所述第四多内核处理器的最后级别高速缓存;
存储器控制器,以提供对系统存储器的访问;
耦合到所述第一多内核处理器、所述第二多内核处理器、所述第三多内核处理器、所述第四多内核处理器、所述最后级别高速缓存和所述存储器控制器的环形互联;和
与所述第一内核相关联的监听逻辑,至少基于所述第一内核的功率模式,所述监听逻辑使访问信息的请求被所述第一内核的所述第一L1高速缓存或者共享的高速缓存接收,所述第一内核进入低功率模式,在该低功率模式下给所述第一内核的供电被减少,并且在进入所述低功率模式之前,在所述第一L1高速缓存内的数据将会被存储到所述共享的高速缓存中。
37.根据权利要求36所述的处理器,其中所述共享的高速缓存是2级高速缓存。
38.根据权利要求36所述的处理器,其中所述共享的高速缓存是最后级别高速缓存。
39.根据权利要求36所述的处理器,其中所述低功率模式包括第一低功率模式,所述第一内核有第二低功率模式,在该第二低功率模式下给所述第一内核的一个或多个时钟将会被减少或者除去,如果所述第一内核处在所述第二低功率模式,所述监听逻辑将访问信息的所述请求指引到所述第一L1高速缓存。
40.根据权利要求36所述的处理器,其中如果所述第一内核是活跃的,所述监听逻辑将所述请求指引到所述第一L1高速缓存,而如果所述第一内核处在所述低功率模式,则将所述请求指引到所述共享的高速缓存。
41.根据权利要求36所述的处理器,其中所述监听逻辑是第一监听逻辑,访问信息的所述请求是访问信息的第一请求,所述处理器进一步包括与所述第三内核相关联的第二监听逻辑,至少基于所述第三内核的功率模式,所述第二监听逻辑使访问信息的第二请求被所述第三内核的所述第三L1高速缓存或者第二共享的高速缓存接收,其中如果所述第三内核是活跃的,所述第二监听逻辑将所述第二请求指引到所述第三L1高速缓存,而如果所述第三内核处在所述低功率模式,则将所述第二请求指引到所述第二共享的高速缓存。
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 Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101377476A Division CN101349996B (zh) | 2007-07-20 | 2008-07-18 | 在低功耗模式下保留被缓存的信息的技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103257701A CN103257701A (zh) | 2013-08-21 |
CN103257701B true CN103257701B (zh) | 2016-08-03 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101377476A Active CN101349996B (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)
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)
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)
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 |
-
2007
- 2007-07-20 US US11/880,357 patent/US8527709B2/en active Active
-
2008
- 2008-07-01 TW TW097124713A patent/TWI360046B/zh active
- 2008-07-14 JP JP2010518285A patent/JP5138036B2/ja active Active
- 2008-07-14 DE DE112008001895.2T patent/DE112008001895B4/de active Active
- 2008-07-14 WO PCT/US2008/069962 patent/WO2009014931A2/en active Application Filing
- 2008-07-14 KR KR1020107001251A patent/KR101227219B1/ko active IP Right Grant
- 2008-07-14 GB GB1000648.4A patent/GB2463828B/en active Active
- 2008-07-18 CN CN2008101377476A patent/CN101349996B/zh active Active
- 2008-07-18 CN CN201310108148.2A patent/CN103257701B/zh active Active
-
2012
- 2012-11-13 JP JP2012249462A patent/JP5367899B2/ja active Active
-
2013
- 2013-03-06 US US13/787,311 patent/US8732399B2/en active Active
- 2013-12-27 US US14/141,926 patent/US9274592B2/en active Active
Patent Citations (2)
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 |
---|---|
CN101349996B (zh) | 2013-04-24 |
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 |
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 |
---|---|---|
CN103257701B (zh) | 在低功耗模式下保留被缓存的信息的技术 | |
US9104409B2 (en) | Predict computing platform memory power utilization | |
US7174471B2 (en) | System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached | |
US8832478B2 (en) | Enabling a non-core domain to control memory bandwidth in a processor | |
US7360032B2 (en) | Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of modified memory blocks | |
US8671293B2 (en) | Multi-core system energy consumption optimization | |
CN102646446B (zh) | 硬件动态高速缓存电源管理 | |
US20070022256A1 (en) | Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of shared memory blocks | |
US20180341585A1 (en) | Write-back cache for storage controller using persistent system memory | |
US9411663B2 (en) | Conditional notification mechanism | |
Ahmed et al. | Directory-based cache coherence protocol for power-aware chip-multiprocessors | |
CN115657839A (zh) | 一种处理器低功耗控制方法、系统、设备及存储介质 | |
EP4022446B1 (en) | Memory sharing | |
CN111026681A (zh) | 一种基于Ceph的缓存方法、系统及存储介质 |
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 |