CN1612113A - 节能高速缓存及其运行方法 - Google Patents

节能高速缓存及其运行方法 Download PDF

Info

Publication number
CN1612113A
CN1612113A CNA2004100840157A CN200410084015A CN1612113A CN 1612113 A CN1612113 A CN 1612113A CN A2004100840157 A CNA2004100840157 A CN A2004100840157A CN 200410084015 A CN200410084015 A CN 200410084015A CN 1612113 A CN1612113 A CN 1612113A
Authority
CN
China
Prior art keywords
cache
speed cache
road
data
size
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.)
Granted
Application number
CNA2004100840157A
Other languages
English (en)
Other versions
CN1328669C (zh
Inventor
E·B·科恩
T·E·库克
I·R·戈维特
P·D·卡尔特绍科
S·V·科索诺基
P·A·桑登
K·R·威廉姆斯
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1612113A publication Critical patent/CN1612113A/zh
Application granted granted Critical
Publication of CN1328669C publication Critical patent/CN1328669C/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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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
    • 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
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Abstract

一种节能高速缓存及其运行方法。节能高速缓存包括动态减小高速缓存的逻辑大小以节能的电路。优选使用利用各种可组合硬件和软件技术的方法确定用于平衡功率和性能的最佳高速缓存的大小。另外,在优选实施例中,使用了在调整高速缓存大小时保持一致性的步骤,包括对高速缓存中修改(“脏”)的数据的处理,并提供了在调整大小时在几路的一路中分区高速缓存的步骤,以提供合适的配置和粒度。

Description

节能高速缓存及其运行方法
技术领域
本发明一般涉及微处理器高速缓存,尤其涉及动态控制高速缓存的大小。
背景技术
由于改进的性能、速度、电池寿命、环境的需要以及供电限制等,整个工业有降低微处理器的功耗的趋势。由于体积的缩小,先进的CMOS处理器的泄漏电流日益增大,并因此增大了静态功耗。根据“莫尔定律”(每十八个月复杂性翻倍),高性能处理器日趋复杂,增加了晶体管数目,并因此增加了功耗。另外,处理器高速缓存的发展速度快于处理器逻辑电路的发展速度。最终的结果是,高速缓存消耗了处理器的大部分功率。
通常,在使用微处理器时,高速缓存的大小和功耗保持恒定。而且,在低功率运行期间,功耗的全部DC部分仍被耗散掉,而没有任何用途。
发明内容
本发明的一个目的是提供一种方法和装置,用于对微处理器高速缓存的一些部分断电,以使功耗最小,同时在需要高性能时不影响性能。
本发明的另一目的是,当不需要微处理器的全性能时,使微处理器高速缓存的漏过功率最小。
利用节能高速缓存及其运行方法实现这些和其它目的。节能高速缓存包括动态减小高速缓存的逻辑大小以节能的电路。优选地,使用一种利用各种可组合硬件和软件技术的过程来确定用于平衡功率和性能的最佳高速缓存大小。
另外,在优选实施例中,使用了在调整高速缓存大小时保持一致性的步骤,包括对高速缓存中修改(“脏”)的数据的处理。提供了在几路的一路中分区高速缓存的过程,以提供合适的配置和粒度。
通过参考附图对本发明的优选实施例的下述详细说明,将使本发明的其它益处和优点显而易见。
附图说明
图1示出了直接映射的高速缓存阵列;
图2示出了一半阵列断电的图1的高速缓存阵列;
图3示出了将高速缓存的大小减为一半的效果;
图4示出了双路组关联(2 way set associative)高速缓存结构;
图5示出了分区为两半的八路组关联高速缓存;
图6示出了分区为多个大小相等部分的八路组关联高速缓存;
图7示出了分区为多个具有二进制加权的分段的八路组关联高速缓存;以及
图8示出了具有断电的路的可选双路组关联高速缓存。
具体实施方式
为节能对高速缓存的分区
根据本发明,为实现节能,将处理器的高速缓存阵列设计为可以部分断电,而不损害数据的完整性或系统运行。下面详细描述两种具体方法,称为“水平”和“垂直”分区。
水平分区
直接映射的高速缓存意味着可以将每个存储单元高速缓存在确切的一个高速缓存单元中。然而,可以将每个高速缓存行映射到多个存储单元。
图1示出了尺寸为“高速缓存大小”的简化的直接映射的高速缓存阵列10以及对处理器的存储器12的映射。将存储器阵列12分为尺寸为高速缓存大小的块。可以将存储器阵列中的数据以与存储器中相同的索引(从存储器的高速缓存大小的块的起始处的偏移)存入高速缓存。然后,上述高速缓存单元的“标记”值中存储了存储器块号。这可以数学表达为:
索引=存储器地址MOD(高速缓存大小),
标记=存储器地址DIV(高速缓存大小)。
区域14中的存储单元也将被存入高速缓存中的相同位置,但将具有不同的标记值。区域16的存储单元将具有与“数据”相同的标记,但是以不同的索引被存入高速缓存阵列。
为降低功率,减小高速缓存阵列10的大小。然而,参考图2,当此发生时,高速缓存阵列10再也不能保存任何给定存储单元的内容。在图2的示例中,再也不能缓存单元“数据”。
为解决该问题,可以改变“高速缓存大小”以反映高速缓存的新大小,但是随后,由于高速缓存块的新大小,如“标记”值将发生的改变,仍处于高速缓存中的所有数据的“索引”值将发生改变。
图3示出了将高速缓存10的大小减为一半的效果。清除整个高速缓存的内容,以重新排序高速缓存。如果将高速缓存的大小减小一半,则在每个高速缓存的“标记”字增加一位,因为现在存在两倍的存储器块。
一旦对整个高速缓存恢复供电,则发生相反的过程。因为“索引”和“标记”值随高速缓存大小的改变而改变,再次清除高速缓存。
如果高速缓存为直写(将所有写入高速缓存的内容也写入存储器),仅使高速缓存大小的改变无效。这可以在对任务切换的最小影响下进行。然而,如果高速缓存为回写高速缓存(将写入高速缓存的数据不写入存储器,直到新的数据需要有效高速缓存行),如在处理器高速缓存上的大量高速缓存,它将包含不在其它地方存储的数据。在大小发生改变前,将称为“脏”数据的数据回写到存储器。
垂直分区
优选实施例中的垂直分区使用N“路”组关联高速缓存,并沿“路”分区高速缓存的功率岛。
可将关联高速缓存看作大小相等的多个方向的高速缓存。高速缓存中的每个入口都有自己的标记和索引。关联高速缓存允许缓存两个具有相同索引值、但位于不同存储器“块”中的入口。
图4示出了两个数据单元(数据1和数据2),所述单元从其各自的存储器块的起始处具有相同的偏移(索引),但是驻留在不同块中。如果将该高速缓存直接映射,在高速缓存中只能驻留这些单元中的一个。
根据本发明实施例,可对“路”的每个子组分别供电(或成组供电)。例如,如图5所示,在50中,可将八路组关联高速缓存分区成两半,在低供电运行中可对其中一半断电。其它示例(再次使用八路示例)可为如图6所示,在60中的八个功率分区,或如图7所示,在70中的二进制加权功率模式(包括“恒定”供电路,可变供电1-路、2-路、和4-路分段)。根据节能方式或功率/性能折衷,可使多路处于断电(offline)。
沿“路”的分区允许对高速缓存的分区通/断电,而不影响地址比较逻辑电路或其它高速缓存分区中的数据。
利用垂直分区,改变功率状态不需要象水平分区中那样对整个高速缓存的清仓和重载。
在图8中,高速缓存路1仍然具有与存储器块相同的大小,所以高速缓存仍映射全部存储器地址。路2已被断电,所以不能缓存数据。不过,整个存储器空间仍得到缓存。改变了高速缓存的关联(在该情况中,从双路变化到直接映射),而不是块大小。注意,如果高速缓存是回写高速缓存,那么必须在断电前将数据2回写。
当重新供电时,路2只需将所有标记设置为无效,然后路2可以开始加载高速缓存行。
在高速缓存功率变换时保持数据的完整性
在优选实施例中,在对高速缓存单元通电或断电前,注意保证数据的完整性。一方面,在断电变换时,优选将全部数据单元的备份保存在不被断电的区域。这样,当高速缓存断电时不会丢失任何数据。另一方面,当对高速缓存阵列重新供电时,优选将控制位设置为使得每个高速缓存入口都无效。
直写高速缓存
直写高速缓存不包含没有在较低级的存储器分层结构中保存的数据。对于这种高速缓存不需采取特定的措施,只需保证任何对存储器的未完成的写入已经完成。在可能断电前将任何写缓冲区(如在写附近读取缓冲区)清仓到主存储器(虽然在使用本发明时不必对这些缓冲区断电)。
在通电变换时,必须将新通电的高速缓存中的全部高速缓存行标记为“无效”,因为在该功率周期之后数据可能丢失或过时。
回写高速缓存
回写高速缓存提出了特定问题,因为保存在高速缓存中的数据不能位于系统的其它处。因此,在优选实施例中,对断电顺序有特定要求以保证数据的完整性。即,在功率能被顺序中断前保存高速缓存的所有“脏”行。有几种方法可以实现这点。其中包括:(i)直写分区,(ii)受迫清仓回写到存储设备的高速缓存行,(iii)受迫移走,(iv)模式改变,从回写到直写,以及(v)替换策略改变,改变LRU算法。
i)直写分区
保证数据完整性的相对简单的方法为,迫使可控高速缓存分区为直写。由于性能原因,不可控高速缓存分区可以是回写。行替换策略可优选把无供电可控回写路用于写操作(脏行将趋于总是通电的路),以及优选把直写或者回写用于读操作。
ii)受迫清仓回写到存储设备的高速缓存行
当“受迫清仓”时,状态机(软件、硬件或组合)全面搜索将被断电的高速缓存路,以搜索脏高速缓存行。当找到脏行时,将其回写到主存储器。
iii)受迫移走
受迫移走类似于受迫清仓,不同之处为,将数据(当然以及对应的标记)从将断电的路移到将保持供电并没有“脏”位组(脏位表示该数据不存在于其它任何地方并应该得到保持)的路中。如果全部通电的路为“脏”,可能需要退回到清仓。
iv)模式改变,从回写到直写
在断电变换时,将高速缓存“路”从回写设置为直写。当写入高速缓存行时,将在高速缓存中保存的数据回写到存储设备,从而在系统存储设备中生成数据备份。当已经将行回写到存储器时,因为主存储设备包含与高速缓存行相同的数据,可以清除行的“脏”位。当已经将路中的全部行写入时,可以安全地对高速缓存断电。在行被接触时特定逻辑电路可以进行回写,改善了回写时间。
v)替换策略改变,改变LRU算法
当将要对高速缓存分区(路)断电时,可以改变LRU策略以有利于将要保持通电的分区。将要保持通电的路可以优先于将要断电的路。可以禁止写入将要断电的路。同时仍读取将要断电的路,因为如果读取数据从高速缓存丢失,不存在数据完整性的问题。
保证“净”高速缓存
在对高速缓存分区断电前,优选保证没有脏行。在一些运行模式中(如,上述“模式改变”),不能保证经过任意时间已经将全部脏高速缓存行回写。因此,应采取特定措施以保证在对高速缓存分区断电前全部行为“净”。有几种方法可以实现这点。其中包括:(i)受迫清仓或受迫移走,(ii)忙位计数器,(iii)忙“或”运算,以及(iv)最后清仓。
i)受迫清仓或受迫移走(见上述“受迫移走”)
经过受迫移走或清仓,状态机保证无脏位剩余。
ii)忙位计数器
对每个功率边界或高速缓存路添加计数器,并用其计数脏位数目。当一脏位从“0”变到“1”(不脏到脏)时,计数器递增。当脏位从“1”变到“0”(脏到不脏)时,计数器递减。当在断电前清仓高速缓存时,测试计数器是否为零,零表示所有行为净,可以进行断电。
iii)忙“或”运算
将高速缓存分区中的全部忙位与公共忙位进行“或”运算。当出现断电请求(并开始上述清仓方法中的一种)时,该信号表示全部忙高速缓存行得到清仓。该“或”运算可为慢连线的(slow wired)“或”运算,因为它的输出是在断电时序路径中,而不是在关键性能路径中。
iv)最后清仓
在允许高速缓存自清仓一段时间之后,可以使用受迫清仓(高速缓存行可能停滞,但是“忙”)。可以使用硬件或软件起动的清仓清除高速缓存的剩余部分。
v)进一步分区高速缓存
可再次对高速缓存路分区。假定垂直分区的高速缓存(沿高速缓存路边界),可沿“水平”方向对高速缓存进行进一步子分区。然后可对每个水平分段分别供电,以进行更精细的功率分配。
然后,每个功率分区使用高速缓存清除方法(如上述受迫清仓/移走、忙位计数器、或忙“或”运算方法中的一种)以表示一个净的子分段。可在清除后对每个子分段断电。经过预定时间,可以迫使剩余的脏子分段使用软件或硬件清仓。
实现功率控制
一个优选的功率控制实现包括基于高速缓存内的特定路,物理地分区接入高速缓存电路中的Vdd或接地面。该方法消除了与功率岛对应的AC和DC功率。可以对连接到高速缓存路的Vdd或接地线分区。这包括为Vdd连接NFET,如果控制接地岛,或PFET,并将这些大小合适的晶体管与这些功率岛串联。一个功率岛对应于高速缓存的每路。受这些功率岛影响的电路将是所述路的位、位行和读出放大器。每个这些控制晶体管的功率岛将控制不同路。也可能包含功率控制分区的另一电路为该高速缓存的对应标记。而且,标记中的每路将具有它的被分区和控制的功率岛。
另一实现将防止对受影响路内的受影响位行和读出放大器的预充电。这样只通过防止对受影响区域的动态电路的预充电和估值,就可以节省AC功率。
确定最佳高速缓存大小
在硬件可重新配置,以允许提供各种高速缓存大小的情况下,根据本发明第二方面,可以提供如下方法和系统以指示硬件进入低功率状态,或恢复为全功率/性能状态。下文详述的优选方法和系统包括硬件和软件装置。
硬件
系统硬件可以监控系统使用。当系统使用达到特定(低)阈值时,指示硬件(例如,通过上述方法中的一种)减小高速缓存大小。一旦达到某第二(高)阈值,对更多高速缓存分区通电并使其返回运行组。硬件方法独立于操作系统(OS)。在该配置下,硬件功率检测逻辑电路将直接控制数据保存技术和功率切换的顺序。将不需要OS干涉。
HLT阈值
很多操作系统在OS的空闲线程中使用停机(HLT)指令。当没有将被调度的任务时,使处理器停机,减少了器件的切换功率。当收到中断(将要进行信号发送)时,处理器返回到运行状态,并服务于中断。如同当今使用的过程,该过程不减少在大高速缓存阵列中由于保持通电出现的DC或“泄漏”功率。
为实现节省DC功率,可在硬件中实现HLT阈值。一旦遇到HLT,起动计时器(可使用现有的计时器)。当计时器期满时,指示高速缓存使用上述对高速缓存的部分断电的方法中的一种。可将HLT和计时器期满之间的时间用于整合高速缓存数据(减少活动的路等)。
命中率阈值
在该过程中,硬件在水平(地址空间)或垂直(路)上测量一段时间内的命中率与不命中率(变化率,对高速缓存的使用对时间积分,如果其下降,减少高速缓存)。这可以数学表达为:
命中率/时间=减少高速缓存大小
不命中率/时间=增加高速缓存大小
高速缓存使用阈值
利用该过程,硬件测量高速缓存内容的年龄(从上次访问)。高于年龄阈值的高速缓存数据表示这些缓存的数据不是关键值。可将该数据移回主存储器,并减小高速缓存大小。
系统硬件
在该过程中,可以使用来自硬件的信号(如关闭膝上型计算机的盖)直接通知硬件变为节能模式的一种或多种。
软件
控制高速缓存大小的软件方法和系统使用操作系统或应用程序来指示硬件使用哪种功率模式。软件控制有直接、静态、动态三种类型。功率控制的软件控制需要供软件使用的硬件工具,以表示合适的功率模式。该工具可以为控制寄存器位(或多位)。
直接功率控制
该类对高速缓存大小的软件控制类似于硬件方法,除了由操作系统控制高速缓存功率硬件。没有来自软件/OS的干涉,硬件不改变功率状态。这是控制功率的重要方法,因为其允许将对服务质量的考虑并入管理策略。
现在的操作系统正设计为通过监控资源和调节系统参数来管理功率,以优化功率,同时将性能保持在需要的水平。例如,通过监控处理器的空闲时间,在需要低性能时(由大空闲时间表示),OS可以调低频率和电压以节能。可以类似地控制可动态调整大小的高速缓存,从而在性能要求较低时减小高速缓存的大小,在需要增加性能时恢复为更大。
操作系统也可以通过用户直接命令或硬件/OS干涉来控制高速缓存的功率硬件。
静态功率控制(已知工作组大小)
下述为使用静态软件的各种方法,其中在使用前确定需要多大的L2高速缓存来运行给定的软件应用,并根据节能调节高速缓存大小。这些方法可包括来自用户(编程者)的指令、编译器(通过局部变量)、和/或在性能简表分析中获得的数据。
开发者提供的数据
利用该过程,程序开发者在代码标头中包括提示,描述程序需要的高速缓存属性和性能。在特定情况下,这些提示可以是从“不需任何高速缓存”到“对时间要求严格(time critical)”之间的任何提示。流式视频数据可以作为“不需任何高速缓存”的例子。对于另一极端,播放流式视频的编解码器可以是“对时间要求严格”。即,无论何时运行编解码器,程序需要“X”大小的高速缓存。
编译器的开发
第二种方法,“由编译器派生”,是由编译器设法派生工作组大小。为确定“最佳估测”工作组大小,编译器将其估测基于为局部变量(函数自变量)和在函数内引用的任意全局变量保留的空间。
使用简表信息
第三种方法,“使用简表信息”,以捕捉工作组信息(通过简表分析),并利用顺序编译将简表分析信息反馈回编译器。
利用编译器的派生,或者使用简表信息方法,允许编译器派生对工作组大小的估测。
全部这些方法都导致编译器具有关于每个函数内的程序要求的知识。在运行时,可以将这些工作组信息(<cacheValue>)存储在栈帧上。无论何时调用新函数,可以将当前<cacheValue>压入堆栈作为栈帧的一部分,并可以使用从上述技术派生的值激活新<cacheValue>。当完成每个函数,可以将上述<cacheValue>从堆栈中弹出,所述<cacheValue>将高速缓存要求从上述环境还原。
可以使用处理器寄存器将信息传送给硬件。可以将<cacheValue>载入特定目的寄存器。编译器可以产生特定指令来更新处理器寄存器。
对于每个环境切换,操作系统可以负责保持每个进程的当前高速缓存要求。当载入进程时,将当前<cacheValue>载入进程表。对应每个环境切换,将当前进程<cacheValue>存入进程表,并将新进程<cacheValue>载入处理器寄存器。
动态功率控制(未知工作组大小)
下述的方法为,在运行程序时估测正在使用的高速缓存的大小,并根据节能调节高速缓存。这些方法包括:相对于正在使用高速缓存的频率的学习过程(测量),以及将信息反馈到动态高速缓存调节例程中(作用)。
控制高速缓存参数以抑制对高速缓存大小的反应
利用该过程,使用反馈来修改高速缓存的策略和大小,以在从节能模式转换为全功率运行时减少振动。OS保持高速缓存使用的最近历史,并在需要时调节高速缓存模式。可使用硬件辅助计数命中率、高速缓存填充率、或其它参数。然后,OS根据最近事件确定功率模式。
在任务切换时调整高速缓存的大小
在该过程中,使高速缓存工作组大小与任务表保持一致。当交换入新任务时,将其高速缓存大小(footprint)载入当前高速缓存参数,并使旧任务的高速缓存信息与任务一起交换出。使用表跟踪高速缓存在当前使用的任务中的使用。
尽管很明显,对这里公开的本发明进行了充分说明以实现上述目的,应该理解,本领域的技术人员可以设计大量修改和实施例,所附的权利要求书旨在覆盖全部落入本发明精神和范围内的这些修改和实施例。

Claims (19)

1.一种节能高速缓存,包括:
动态减小高速缓存的逻辑大小以节能的电路。
2.根据权利要求1的节能高速缓存,还包括确定用于平衡功率和性能的最佳高速缓存大小的装置。
3.根据权利要求2的节能高速缓存,其中确定最佳高速缓存大小的装置包括硬件装置。
4.根据权利要求2的节能高速缓存,其中确定最佳高速缓存大小的装置包括软件装置。
5.根据权利要求1的节能高速缓存,还包括在改变高速缓存的大小时保持高速缓存中数据一致性的装置。
6.根据权利要求5的节能高速缓存,其中高速缓存中的一些数据为修改的数据,以及保持一致性的装置包括处理所述修改的数据的装置。
7.根据权利要求1的节能高速缓存,其中所述电路包括在几路的一路中分区高速缓存的装置以提供希望的配置和粒度。
8.根据权利要求1的节能高速缓存,其中所述电路包括对高速缓存的各部分断电的装置。
9.根据权利要求1的节能高速缓存,其中高速缓存为N路组关联高速缓存,以及所述电路包括沿所述各路分区高速缓存的装置。
10.一种节能高速缓存的运行方法,包括:
使用动态减小高速缓存的逻辑大小以节能的电路。
11.根据权利要求10的方法,其中高速缓存为N路组关联高速缓存,以及使用动态减小高速缓存的逻辑大小的电路的步骤包括:使用所述电路沿各路分区高速缓存的步骤。
12.根据权利要求11的方法,其中对所述N路中的每路分别供电。
13.根据权利要求10的方法,其中高速缓存包括数据,以及该方法还包括在改变高速缓存大小时保持数据完整性的步骤。
14.根据权利要求13的方法,还包括对高速缓存的各部分断电的步骤。
15.根据权利要求14的方法,其中高速缓存中的一些数据为修改的数据,以及保持数据完整性的步骤包括:在对高速缓存的一部分断电前,将所有修改的数据存入高速缓存的所述一部分的步骤。
16.根据权利要求15的方法,还包括在给定一组功率和性能标准时确定高速缓存最佳大小的步骤,以及在其中使用电路的步骤包括:使用电路将高速缓存的大小减小到所述最佳大小的电路步骤。
17.根据权利要求16的方法,其中确定最佳大小的步骤包括:使用预定一组硬件技术中的一种,来确定所述最佳大小的步骤。
18.根据权利要求16的方法,其中在处理器中使用高速缓存,以及该方法还包括以下步骤:
在处理器上运行高速缓存大小调节例程;以及
将信息反馈给所述例程,以确定高速缓存的最佳大小。
19.根据权利要求10的方法,其中使用步骤包括:在给定数目的路的一路中分区高速缓存,以提供希望的配置和粒度的步骤,所述给定数目的路包括:(i)大小相等的分区、以及(ii)具有或没有恒定通电路的二进制加权。
CNB2004100840157A 2003-10-14 2004-10-13 节能高速缓存及其运行方法 Active CN1328669C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/605,616 2003-10-14
US10/605,616 US7127560B2 (en) 2003-10-14 2003-10-14 Method of dynamically controlling cache size

Publications (2)

Publication Number Publication Date
CN1612113A true CN1612113A (zh) 2005-05-04
CN1328669C CN1328669C (zh) 2007-07-25

Family

ID=34421895

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100840157A Active CN1328669C (zh) 2003-10-14 2004-10-13 节能高速缓存及其运行方法

Country Status (3)

Country Link
US (1) US7127560B2 (zh)
CN (1) CN1328669C (zh)
TW (1) TWI321726B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019364A (zh) * 2011-09-22 2013-04-03 株式会社东芝 控制系统和控制方法
CN103455441A (zh) * 2008-09-30 2013-12-18 英特尔公司 在低电压操作期间禁用高速缓存部分
CN104067243A (zh) * 2012-01-16 2014-09-24 高通股份有限公司 混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法
CN104813293A (zh) * 2012-11-28 2015-07-29 高通股份有限公司 使用动态分配的脏掩码空间的存储器管理
CN106020732A (zh) * 2016-05-27 2016-10-12 乐视控股(北京)有限公司 节点的磁盘空间确定方法及系统
CN107153455A (zh) * 2016-03-04 2017-09-12 Arm 有限公司 缓存功率管理
CN110574014A (zh) * 2017-11-28 2019-12-13 谷歌有限责任公司 节能的高速缓存存储器使用

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000077652A2 (de) 1999-06-10 2000-12-21 Pact Informationstechnologie Gmbh Sequenz-partitionierung auf zellstrukturen
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9411532B2 (en) 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7539608B1 (en) * 2002-05-10 2009-05-26 Oracle International Corporation Techniques for determining effects on system performance of a memory management parameter
US7394284B2 (en) 2002-09-06 2008-07-01 Pact Xpp Technologies Ag Reconfigurable sequencer structure
ES2322271T3 (es) * 2003-12-03 2009-06-18 Koninklijke Philips Electronics N.V. Procedimiento y sistema de ahorro de energia.
US20050131995A1 (en) * 2003-12-11 2005-06-16 International Business Machines Corporation Autonomic evaluation of web workload characteristics for self-configuration memory allocation
JP3834323B2 (ja) * 2004-04-30 2006-10-18 日本電気株式会社 キャッシュメモリおよびキャッシュ制御方法
US7454571B1 (en) * 2004-05-04 2008-11-18 Sun Microsystems, Inc. Heuristic cache tuning
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US20070156992A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7370153B1 (en) 2004-08-06 2008-05-06 Nvidia Corporation System and method of pre-fetching using an extended data structure including required data and a pre-fetch flag
US7526604B1 (en) * 2004-08-09 2009-04-28 Nvidia Corporation Command queueing speculative write prefetch
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7478218B2 (en) * 2005-02-18 2009-01-13 Vmware, Inc. Adaptive cache sizing based on monitoring of regenerated and replaced cache entries
US8201004B2 (en) 2006-09-14 2012-06-12 Texas Instruments Incorporated Entry/exit control to/from a low power state in a complex multi level memory system
US7861055B2 (en) * 2005-06-07 2010-12-28 Broadcom Corporation Method and system for on-chip configurable data ram for fast memory and pseudo associative caches
US7647514B2 (en) * 2005-08-05 2010-01-12 Fujitsu Limited Reducing power consumption at a cache
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US7747907B2 (en) * 2005-09-20 2010-06-29 Seagate Technology Llc Preventive recovery from adjacent track interference
US7904658B2 (en) * 2005-11-30 2011-03-08 International Business Machines Corporation Structure for power-efficient cache memory
US20070124538A1 (en) * 2005-11-30 2007-05-31 International Business Machines Corporation Power-efficient cache memory system and method therefor
TW200746161A (en) * 2005-12-21 2007-12-16 Nxp Bv Power partitioning memory banks
US20070288776A1 (en) * 2006-06-09 2007-12-13 Dement Jonathan James Method and apparatus for power management in a data processing system
US7467280B2 (en) * 2006-07-05 2008-12-16 International Business Machines Corporation Method for reconfiguring cache memory based on at least analysis of heat generated during runtime, at least by associating an access bit with a cache line and associating a granularity bit with a cache line in level-2 cache
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
US7606976B2 (en) * 2006-10-27 2009-10-20 Advanced Micro Devices, Inc. Dynamically scalable cache architecture
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
WO2008070814A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
US20080140941A1 (en) * 2006-12-07 2008-06-12 Dasgupta Gargi B Method and System for Hoarding Content on Mobile Clients
US8209461B2 (en) * 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US20080162954A1 (en) * 2006-12-31 2008-07-03 Paul Lassa Selectively powered data interfaces
US8022960B2 (en) * 2007-02-22 2011-09-20 Qualcomm Incorporated Dynamic configurable texture cache for multi-texturing
US8135944B2 (en) * 2007-03-14 2012-03-13 Sandisk Technologies Inc. Selectively powered data interfaces
US20080244181A1 (en) * 2007-03-30 2008-10-02 Michael Walz Dynamic run-time cache size management
US8495276B2 (en) * 2007-10-12 2013-07-23 HGST Netherlands B.V. Power saving optimization for disk drives with external cache
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8589706B2 (en) * 2007-12-26 2013-11-19 Intel Corporation Data inversion based approaches for reducing memory power consumption
US8868836B2 (en) * 2007-12-31 2014-10-21 Intel Corporation Reducing minimum operating voltage through hybrid cache design
US8255635B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Claiming coherency ownership of a partial cache line of data
US20090198910A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Data processing system, processor and method that support a touch of a partial cache line of data
US7958309B2 (en) * 2008-02-01 2011-06-07 International Business Machines Corporation Dynamic selection of a memory access size
US8250307B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Sourcing differing amounts of prefetch data in response to data prefetch requests
US8108619B2 (en) * 2008-02-01 2012-01-31 International Business Machines Corporation Cache management for partial cache line operations
US8117401B2 (en) * 2008-02-01 2012-02-14 International Business Machines Corporation Interconnect operation indicating acceptability of partial data delivery
US8140771B2 (en) * 2008-02-01 2012-03-20 International Business Machines Corporation Partial cache line storage-modifying operation based upon a hint
US8266381B2 (en) * 2008-02-01 2012-09-11 International Business Machines Corporation Varying an amount of data retrieved from memory based upon an instruction hint
US7979655B2 (en) * 2008-03-04 2011-07-12 International Business Machines Corporation Dynamic optimization of device limits and thresholds in a write cache
US20090327609A1 (en) * 2008-06-30 2009-12-31 Bruce Fleming Performance based cache management
US20100049920A1 (en) * 2008-08-20 2010-02-25 International Business Machines Corporation Dynamically adjusting write cache size
US8266409B2 (en) 2009-03-03 2012-09-11 Qualcomm Incorporated Configurable cache and method to configure same
US8055805B2 (en) 2009-03-31 2011-11-08 Intel Corporation Opportunistic improvement of MMIO request handling based on target reporting of space requirements
US8117390B2 (en) * 2009-04-15 2012-02-14 International Business Machines Corporation Updating partial cache lines in a data processing system
US8140759B2 (en) * 2009-04-16 2012-03-20 International Business Machines Corporation Specifying an access hint for prefetching partial cache block data in a cache hierarchy
US8230176B2 (en) * 2009-06-26 2012-07-24 International Business Machines Corporation Reconfigurable cache
US20110055610A1 (en) * 2009-08-31 2011-03-03 Himax Technologies Limited Processor and cache control method
US8949529B2 (en) * 2009-12-30 2015-02-03 International Business Machines Corporation Customizing function behavior based on cache and scheduling parameters of a memory argument
TWI420311B (zh) * 2010-03-18 2013-12-21 Univ Nat Sun Yat Sen 基於集合分模組之快取記憶體之分割方法
WO2011114384A1 (en) * 2010-03-19 2011-09-22 Hitachi, Ltd. Storage system and method for changing configuration of cache memory for storage system
US8472278B2 (en) 2010-04-09 2013-06-25 Qualcomm Incorporated Circuits, systems and methods for adjusting clock signals based on measured performance characteristics
US8412971B2 (en) * 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
TWI447741B (zh) * 2010-07-29 2014-08-01 Winbond Electronics Corp 動態隨機存取記憶體單元及其資料更新方法
US8631198B2 (en) * 2010-08-06 2014-01-14 Seagate Technology Llc Dynamic cache reduction utilizing voltage warning mechanism
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
US8775737B2 (en) * 2010-12-02 2014-07-08 Microsoft Corporation Efficient cache management
US9009406B2 (en) 2010-12-10 2015-04-14 International Business Machines Corporation Determining server write activity levels to use to adjust write cache size
WO2012116369A2 (en) * 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US20120303897A1 (en) * 2011-05-28 2012-11-29 Sakthivel Komarasamy Pullagoundapatti Configurable set associative cache way architecture
US8886911B2 (en) * 2011-05-31 2014-11-11 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
US20130036270A1 (en) * 2011-08-04 2013-02-07 The Regents Of The University Of Michigan Data processing apparatus and method for powering down a cache
US8700972B2 (en) 2011-08-17 2014-04-15 Broadcom Corporation Adaptive ultra-low voltage memory
US8687453B2 (en) * 2011-10-12 2014-04-01 Wisconsin Alumni Research Foundation Energy efficient processor having heterogeneous cache
US9170931B2 (en) * 2011-10-27 2015-10-27 Qualcomm Incorporated Partitioning a memory into a high and a low performance partitions
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
GB2510760B (en) 2011-12-20 2020-05-20 Intel Corp Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
JP5458132B2 (ja) * 2012-03-13 2014-04-02 株式会社東芝 キャッシュ装置
US8943274B2 (en) 2012-05-22 2015-01-27 Seagate Technology Llc Changing power state with an elastic cache
US9218040B2 (en) 2012-09-27 2015-12-22 Apple Inc. System cache with coarse grain power management
US9128843B2 (en) 2012-10-11 2015-09-08 Industrial Technology Research Institute Method and computer system for memory management on virtual machine system
US9098417B2 (en) * 2012-12-13 2015-08-04 Advanced Micro Devices, Inc. Partitioning caches for sub-entities in computing devices
US9372803B2 (en) * 2012-12-20 2016-06-21 Advanced Micro Devices, Inc. Method and system for shutting down active core based caches
US9400544B2 (en) 2013-04-02 2016-07-26 Apple Inc. Advanced fine-grained cache power management
US8984227B2 (en) 2013-04-02 2015-03-17 Apple Inc. Advanced coarse-grained cache power management
US9396122B2 (en) 2013-04-19 2016-07-19 Apple Inc. Cache allocation scheme optimized for browsing applications
US20150019818A1 (en) * 2013-07-11 2015-01-15 Lsi Corporation Maintaining Cache Size Proportional to Power Pack Charge
US9323614B2 (en) 2013-11-06 2016-04-26 Wisconsin Alumni Research Foundation Dynamic error handling for on-chip memory structures
WO2015147868A1 (en) * 2014-03-28 2015-10-01 Empire Technology Development Llc Magnetoresistive random-access memory cache write management
US20150310902A1 (en) 2014-04-23 2015-10-29 Texas Instruments Incorporated Static Power Reduction in Caches Using Deterministic Naps
US9563567B2 (en) * 2014-04-28 2017-02-07 Apple Inc. Selective cache way-group power down
US9494997B2 (en) 2014-06-16 2016-11-15 Apple Inc. Hierarchical clock control using hysterisis and threshold management
US20170031601A1 (en) * 2015-07-30 2017-02-02 Kabushiki Kaisha Toshiba Memory system and storage system
US11068401B2 (en) 2015-09-25 2021-07-20 Intel Corporation Method and apparatus to improve shared memory efficiency
US10621104B2 (en) 2015-09-25 2020-04-14 Hewlett Packard Enterprise Development Lp Variable cache for non-volatile memory
US10776273B2 (en) * 2016-05-16 2020-09-15 SK Hynix Inc. Memory system having multiple cache pages and operating method thereof
US10628331B2 (en) * 2016-06-01 2020-04-21 International Business Machines Corporation Demote scan processing to demote tracks from cache
US10127107B2 (en) * 2016-08-14 2018-11-13 Nxp Usa, Inc. Method for performing data transaction that selectively enables memory bank cuts and memory device therefor
US10424107B2 (en) 2017-04-01 2019-09-24 Intel Corporation Hierarchical depth buffer back annotaton
US11010953B2 (en) 2017-04-21 2021-05-18 Intel Corporation Dedicated fixed point blending for energy efficiency
US10178619B1 (en) 2017-09-29 2019-01-08 Intel Corporation Advanced graphics power state management
US11243883B2 (en) * 2019-05-24 2022-02-08 Texas Instruments Incorporated Cache coherence shared state suppression
US11385693B2 (en) 2020-07-02 2022-07-12 Apple Inc. Dynamic granular memory power gating for hardware accelerators
US11709776B2 (en) 2021-03-29 2023-07-25 Pensando Systems Inc. Methods and systems for a stripe mode cache pool
TWI819662B (zh) * 2022-06-16 2023-10-21 瑞昱半導體股份有限公司 系統剖析調校方法與電腦系統

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950401A (ja) * 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
US6308241B1 (en) * 1997-12-22 2001-10-23 U.S. Philips Corporation On-chip cache file register for minimizing CPU idle cycles during cache refills
US6260114B1 (en) * 1997-12-30 2001-07-10 Mcmz Technology Innovations, Llc Computer cache memory windowing
EP0974906A3 (en) * 1998-07-24 2008-12-24 Interuniversitair Microelektronica Centrum Vzw Method for determining an optimized memory organization of a digital device
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US6766420B2 (en) * 2001-09-27 2004-07-20 International Business Machines Corporation Selectively powering portions of system memory in a network server to conserve energy
US20030145239A1 (en) * 2002-01-31 2003-07-31 Kever Wayne D. Dynamically adjustable cache size based on application behavior to save power
US6950904B2 (en) * 2002-06-25 2005-09-27 Intel Corporation Cache way replacement technique

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455441B (zh) * 2008-09-30 2016-08-24 英特尔公司 在低电压操作期间禁用高速缓存部分
CN103455441A (zh) * 2008-09-30 2013-12-18 英特尔公司 在低电压操作期间禁用高速缓存部分
CN103019364A (zh) * 2011-09-22 2013-04-03 株式会社东芝 控制系统和控制方法
US10025711B2 (en) 2012-01-16 2018-07-17 Qualcomm Incorporated Hybrid write-through/write-back cache policy managers, and related systems and methods
CN104067243B (zh) * 2012-01-16 2017-09-12 高通股份有限公司 混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法
CN104067243A (zh) * 2012-01-16 2014-09-24 高通股份有限公司 混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法
CN104813293A (zh) * 2012-11-28 2015-07-29 高通股份有限公司 使用动态分配的脏掩码空间的存储器管理
CN104813293B (zh) * 2012-11-28 2017-10-31 高通股份有限公司 使用动态分配的脏掩码空间的存储器管理
CN107153455A (zh) * 2016-03-04 2017-09-12 Arm 有限公司 缓存功率管理
CN107153455B (zh) * 2016-03-04 2021-12-21 Arm 有限公司 缓存功率管理
CN106020732A (zh) * 2016-05-27 2016-10-12 乐视控股(北京)有限公司 节点的磁盘空间确定方法及系统
CN110574014A (zh) * 2017-11-28 2019-12-13 谷歌有限责任公司 节能的高速缓存存储器使用
CN110574014B (zh) * 2017-11-28 2023-08-11 谷歌有限责任公司 节能的高速缓存存储器使用

Also Published As

Publication number Publication date
US7127560B2 (en) 2006-10-24
TWI321726B (en) 2010-03-11
TW200530810A (en) 2005-09-16
US20050080994A1 (en) 2005-04-14
CN1328669C (zh) 2007-07-25

Similar Documents

Publication Publication Date Title
CN1612113A (zh) 节能高速缓存及其运行方法
US10956331B2 (en) Cache partitioning in a multicore processor
US7418553B2 (en) Method and apparatus of controlling electric power for translation lookaside buffer
US20080320203A1 (en) Memory Management in a Computing Device
US9201608B2 (en) Memory controller mapping on-the-fly
US6986069B2 (en) Methods and apparatus for static and dynamic power management of computer systems
US9176875B2 (en) Power gating a portion of a cache memory
CN1804816A (zh) 用于程序员控制的超高速缓冲存储器线回收策略的方法
Mukkara et al. Whirlpool: Improving dynamic cache management with static data classification
Mittal A survey of techniques for architecting and managing GPU register file
Hu et al. Container marking: Combining data placement, garbage collection and wear levelling for flash
US20090271646A1 (en) Power Management Using Clustering In A Multicore System
US20080313482A1 (en) Power Partitioning Memory Banks
US20130268741A1 (en) Power reduction in server memory system
WO2005069148A2 (en) Memory management method and related system
WO2016138785A1 (zh) 一种运行进程的方法及装置
CN1704912A (zh) 地址转换器和地址转换方法
JP6873942B2 (ja) 推定装置、推定方法およびプログラム
Valls et al. A directory cache with dynamic private-shared partitioning
Namaki Shoushtari Software assists to on-chip memory hierarchy of manycore embedded systems
Inoue et al. Trends in high-performance, low-power cache memory architectures
Levy et al. Memory issues in power-aware design of embedded systems: An overview
Ratnakumar et al. An Energy Efficient Multilevel Reconfigurable parallel Cache Architecture for Embedded Multicore Processors
Zheng et al. Research on optimizing last level cache performance for hybrid main memory
Quirós et al. Heterogeneous Memory Organizations in Embedded Systems

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
TR01 Transfer of patent right

Effective date of registration: 20171031

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171031

Address after: American New York

Patentee after: Core USA second LLC

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right