CN107153455A - 缓存功率管理 - Google Patents

缓存功率管理 Download PDF

Info

Publication number
CN107153455A
CN107153455A CN201710126757.9A CN201710126757A CN107153455A CN 107153455 A CN107153455 A CN 107153455A CN 201710126757 A CN201710126757 A CN 201710126757A CN 107153455 A CN107153455 A CN 107153455A
Authority
CN
China
Prior art keywords
caching
ratio
bandwidth
thesaurus
cache
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
CN201710126757.9A
Other languages
English (en)
Other versions
CN107153455B (zh
Inventor
艾什利·约翰·柯若弗德
安德鲁·克里斯多佛·罗斯
泰茜·托马斯
戴维·吉伦·范多斯
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN107153455A publication Critical patent/CN107153455A/zh
Application granted granted Critical
Publication of CN107153455B publication Critical patent/CN107153455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • G11C5/144Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby
    • 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

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)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及缓存功率管理。提供了一种操作缓存的方法及相应装置。缓存仅能够部分地供电,且用于降低缓存的当前供电部分的比例的决策是基于计算与在内存访问上消耗的当前有效缓存漏泄功率等效的内存带宽来进行的。缓存命中带宽被与此等效的内存带宽比较,且当缓存命中带宽小于等效的内存带宽时,缓存的当前供电部分的比例被降低。亦可进行类似决策且基于计算与缓存漏泄功率的增量等效的缓存命中带宽,且当缓存未命中带宽超过等效的缓存命中带宽时,缓存的当前供电部分的比例增加。

Description

缓存功率管理
技术领域
本公开涉及数据处理领域。更具体而言,本申请涉及对数据处理装置中的缓存的操作。
背景技术
使用缓存储存撷取自内存的数据项的临时副本允许与自内存撷取数据项相关联的潜时得以降低,且进一步减少与那些数据项的撷取相关联的功率消耗。然而,缓存本身对其中实施该缓存的系统具有漏泄功率成本;且在大的缓存中,此功率消耗可能相当大。当以数个部分(例如,数个存储库)提供缓存时,例如藉由当决定较小的缓存将足够满足系统的处理要求而将缓存的一个或多个部分断电时,可以采取步骤以减少缓存的漏泄。因此,可获得由于将缓存的一部分断电产生的漏泄功率减少的益处。然而,决定何时适于将缓存的一部分断电并不容易,并且存在改良此缓存功率管理决策制定处理的机会。
发明内容
在至少一些实施例中,一种操作缓存的方法包含以下步骤:根据对缓存的性能的监控来计算缓存命中带宽;依据缓存的当前供电的部分的比例来计算有效缓存漏泄功率;计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽;且当缓存命中带宽小于等效的内存带宽时,减小缓存的当前供电部分的比例。
在至少一些实施例中,提供一种用于操作缓存的装置,该装置包含:缓存监控电路,用于监控缓存的性能;缓存性能计算电路,用于自缓存监控电路接收性能数据并且:根据性能数据计算缓存命中带宽,依据缓存的当前供电的部分比例来计算有效缓存漏泄功率,并且计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽;及缓存功率控制电路,用于当缓存命中带宽小于等效的内存带宽时,减少缓存的当前供电部分的比例。
在至少一些实施例中,提供一种用于操作缓存的装置,该装置包含:用于根据对缓存的性能的监控来计算缓存命中带宽的装置;用于依据缓存的当前供电部分的比例来计算有效缓存漏泄功率的装置;用于计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽的装置;及用于当缓存命中带宽小于等效内存带宽时,降低缓存的当前供电的部分的比例的装置。
附图说明
本申请的技术将进一步仅例如参考如附图中所示的本申请的实施例来描述,在这些附图中:
图1示意地图示在一个实施例中的包含缓存的数据处理系统;
图2示意地更详细地图示在一个实施例中的图1的缓存性能监控块;
图3A及图3B示意地图示在一个实施例中的断电阈值及上电阈值的选择;及
图4示意地图示当执行一个实施例的方法时所采取的步骤序列。
具体实施方式
至少一些实施例提供一种操作缓存的方法,该方法包含以下步骤:根据对缓存的性能的监控来计算缓存命中带宽;依据缓存的当前供电部分的比例来计算有效缓存漏泄功率;计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽;及当缓存命中带宽小于等效内存带宽时,降低缓存的当前供电部分的比例。
因此,本申请的技术提供了一种客观实用的度量,根据该度量可做出关于是否将缓存的一部分断电的决策。具体而言,本文考虑的折衷为由缓存的活动的给定比例部分提供的缓存命中带宽与缓存的此比例部分的漏泄功率之间的折衷。换言之,为了证明缓存的正供电部分的此比例是适当的,缓存的命中带宽必须超过其漏泄。为了进行此评估,本申请认识到,应评估等效的内存成本(亦即,自内存返回相同带宽所需的功率(在此意谓超出访问所需数据项的缓存,例如对于诸如DRAM的外部内存))且随后将该等效内存成本与归因于缓存的当前有效比例部分的漏泄功率比较。具体而言,在缓存命中带宽下降到小于等效内存带宽的情况下,本申请的技术教示以下结论:将缓存的此比例部分供电是不适当的且缓存的一部分应断电。
缓存可以各种形式提供,且具体而言,缓存的子划分可以各种方式实施。与本申请的技术相关的特性为缓存的一部分可个别地断电,而缓存的其余部分供电。在一些实施例中,缓存包含多个存储库(bank),其中多个存储库中的至少一个存储库能够独立于多个存储库中的其余部分断电。可能的情况是,各存储库以相同方式配置;且因此在一些实施例中,多个存储库的各存储库能够个别地断电。此外,可以各种方式提供对缓存的多个存储库的功率控制;但是在一些实施例中,减少缓存的当前供电部分的比例包含将多个存储库中的至少一个存储库断电。以类似的方式,缓存的当前供电部分的比例可由多个存储库中当前供电的存储库的数目给出。
基于缓存的当前供电部分的比例计算的有效缓存漏泄功率例如可为每存储库漏泄功率乘以当前供电的存储库数目。然而,在一些实施例中,有效缓存漏泄功率依据断电阈值因子来计算,其中当缓存的当前供电部分的比例的值用于计算有效缓存漏泄功率时,断电阈值因子减小该值。换言之,藉由将断电阈值因子引入有效缓存漏泄功率的计算以修改在计算中使用的缓存的当前(可能地)供电部分的比例,“缩放的”的有效漏泄功率被使用。具体而言,当计算有效缓存漏泄功率时,人工地降低了缓存的当前供电部分的比例。如此进而降低所计算的等效的内存带宽。因而,此可设定值被实施为断电阈值因子,此值的设定使得系统设计者(或操作者)能够影响得出应减少缓存的当前供电部分的比例的结论的时刻。因此,对此阈值的影响提供了对缓存的一部分断电的时刻的控制,且具体而言对如何容易地触发此断电决策的设定的控制。
可以定义且以各种方式使用断电阈值因子,但是在一些实施例中,断电阈值因子可以设定在一定范围以使得在计算有效缓存漏泄功率时使用的缓存的当前供电部分的比例的值在以下范围之间:针对第一断电阈值因子值的缓存的当前供电部分的比例;针对第二断电阈值因子值的缓存的当前供电部分的比例减去缓存的能够被断电的增量比例,。因此,断电阈值因子可被设定以便计算中使用有效缓存漏泄功率对应于所有的缓存的当前供电比例,亦即,实际的缓存的当前供电比例;直至在缓存的增量比例部分断电(例如,其中该增量以存储库为单位,其中一个存储库断开)的情况下的缓存的当前供电比例。如此进而导致等效的内存带宽得以对应于所有的缓存的当前供电比例而计算,直至等效内存带宽对应于在增量比例部分被断电的情况。对此值进行选择的效应为设定做出关于将缓存的增量比例部分断电的决策的侵害性,增量比例范围自第一断电阈值因子值(该第一断电阈值因子值会更容易地使得此增量比例部分断电,实质上当将此增量比例部分供电的命中带宽效益小于最佳效益时即断电),直至第二断电阈值因子值(该第二断电阈值因子值将导致此缓存的增量比例部分仅当实质上感知对该增量比例部分供电根本无法获得任何命中带宽效益时才断电)。
在一些实施例中,断电阈值因子被设定为比接近第一断电阈值因子值更接近第二断电阈值因子值的值。对断电阈值因子的选择使得性能能够优先化于节能(优先一定的可设定的程度),尽管其他许多选择亦是可预期的(取决于这些因子的相对重要性)。
对于比所有缓存更少的缓存被供电,本申请的技术认识到,关于何时适于将缓存的一部分上电,可做出的类似决策。例如,归因于正执行的程序的改变(且因此其内存访问模式的改变)或若实际上做出缩减的未命中决策,则此举可变得合适。然而,本申请的技术另外认识到,在重设大小之后的命中带宽的变化不提供扩升决策所基于的适当标准,因为归因于上述因素(程序的改变及缩减未命中决策)中的任一者或两者,命中带宽可能降低。实际情况为,本申请的技术提倡将缓存未命中带宽用作潜在扩升效益的指示符。缓存未命中带宽被认为是“指示性”度量,因为关于扩升的未命中至命中的转换是未知的。该方法可使扩升优先化于缩减,以将性能损失最小化,且根据此专业的性能偏向,可以假定未命中至命中的100%转换的最佳案例。因此,在一些实施例中,该方法包含当缓存的当前供电部分的比例少于所有缓存时所采取的以下进一步步骤:根据对缓存的性能的监控来计算缓存未命中带宽;依据缓存的当前未供电部分的增量比例来计算增量缓存漏泄功率;计算与用于引发增量缓存漏泄功率等效的缓存命中带宽;且当缓存未命中带宽超过等效的缓存命中带宽时,将缓存的当前供电部分的比例增大所述增量比例。
在一些实施例中,缓存的增量比例为多个存储库中的一定存储库。
类似于上述断电阈值因子,在一些实施例中,增量缓存漏泄功率依据上电阈值因子来计算,其中当缓存的当前未供电部分的增量比例值用于计算增量缓存漏泄功率时,上电阈值因子减小该值。换言之,藉由引入计算增量缓存漏泄功率的上电阈值因子,使用了“缩放”的增量缓存漏泄功率。具体而言,人工地降低了增量缓存漏泄功率。如此进而降低了等效的缓存命中带宽。因而,此可设定值被实施为上电阈值因子,此值的设定使得系统设计者(或操作者)能够影响得出应增加缓存的当前供电部分的比例的结论的时刻。对此阈值的影响从而提供了对缓存的一部分上电的时刻的控制,尤其是对设置如何容易地触发此上电决策的控制。
可以定义且以各种方式使用上电阈值因子,但是在一些实施例中,上电阈值因子可设定在一定范围以使得在计算增量缓存漏泄功率时使用的缓存的当前未供电部分的增量比例值在以下范围之间:针对第一上电阈值因子值的缓存的当前未供电部分的增量比例;和针对第二上电阈值因子值的零值。因此,上电阈值因子可被设定为使得用于计算的增量缓存漏泄功率对应于所有的缓存的增量比例(即用于加电的候选部分)直至零(即对于用于计算的缓存的增量比例无影响)。这进而又导致等效的缓存未命中带宽对应于所有的缓存的增量比例而被计算,直至等效的缓存未命中带宽等于零。对此值的选择的影响为做出关于将缓存的增量比例部分上电的决策的侵害性如何,增量比例范围自使用第一断电阈值因子值(更容易地将此增量比例部分上电,实质上当预期到将此增量比例部分上电的带宽任何优势时就马上对此增量部分上电),直至非常接近于第二断电阈值因子值的值(亦即,仅略大于零),该第二断电阈值因子值将导致此缓存的增量比例部分仅当预期到从对该增量比例部分上电能获得缓存命中带宽的「“总体存储库的价值”时才对该增量比例部分上电。应注意,以第一上电阈值因子值本身设定断电阈值因子值将导致缓存未命中带宽总是超过等效的缓存命中带宽,且因此该特定情况要避免(除非明确地要求此“总是触发”配置,例如用于测试目的)。
在一些实施例中,上电阈值因子被设定为比接近第二上电阈值因子值来说更接近第一上电阈值因子值的值。对上电阈值因子的选择使得性能能够优先化于节能(优先化一定的可设定程度),尽管还预期到很多其他选择(取决于这些因子的相对重要性)。
除了上述决定何时降低缓存的当前供电部分的比例及何时增加缓存的当前供电部分的比例,本申请的技术还认识到,在缓存的当前供电部分的比例降低之后,在稳定之前,缓存未命中率通常可能增加或至少“突增(spike)”。然而,为了识别其中缓存未命中率增加,保持,但仍然很低而无法触发缓存未命中带宽检查的情况,在缓存的当前供电部分的比例降低之后,引入进一步检查以监控缓存未命中率。可以各种方式定义该检查,例如,检查是否缓存未命中率增加了比预设缓存未命中率预设比例(相对阈值)更大的比例(通常在缓存缩减之前)。或者,在适当情况下,可以定义绝对未命中率阈值。在任一情况下,该检查可进一步包含识别在降低缓存的供电部分的部分之后的缓存未命中率是否超过所定义的阈值长达比预定时段更长的时间。因此,在一些实施例中,该方法在降低缓存的当前供电部分的部分之后还包括以下进一步步骤:监控缓存未命中率;及当缓存未命中率超过预定缓存未命中率阈值长达预定时段时,增加缓存的当前供电部分的比例。
此外,本申请的技术认识到,在上述缓存功率管理技术被应用以控制何时将缓存的一部分断电及加电的情况下,通过防止缓存功率管理在缓存的当前供电部分的比例增大之后又减小缓存的当前供电部分的比例,提供了更加稳定的功率管理协议。因此,避免了系统颠簸。因此,在一些实施例中,该方法包含以下进一步步骤中的至少一者:延迟关于等效内存带宽是否超过缓存命中带宽的计算;及延迟缓存的当前供电部分的比例的任何后续降低。
可以各种方式监控缓存的性能,具体而言在缓存的命中率及未命中率方面。应注意,缓存性能的监控可藉由(仅)以下各者中的任意两者来执行:命中计数器、未命中计数器、访问计数器(因为访问计数等于命中计数加未命中计数)。监控可以针对整个缓存的“全局”水平来执行,或可逐个存储库地执行。因此,在一些实施例中,监控缓存的性能包含监控全局缓存性能;而在其他实施例中,监控缓存的性能包含监控每存储库缓存性能。
本申请的技术可藉由软件(或包含于为固件)或硬件来实施,且一些实施例提供一种计算装置可读储存介质,该计算装置可读储存介质以非瞬时方式储存有指令,,这些指令当由计算装置执行时引起计算装置执行任何前述所请求的方法。
一些实施例提供一种软件,该软件当由计算装置执行时引起计算装置执行如上所述方法的任何特定实施例。
一些实施例提供一种用于操作缓存的装置,该装置包含:缓存监控电路,用于监控缓存的性能;缓存性能计算电路,用于自缓存监控电路接收性能数据并且:根据性能数据计算缓存命中带宽,依据缓存的当前供电部分的比例来计算有效缓存漏泄功率,并且计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽;及缓存功率控制电路,用于当缓存命中带宽小于等效的内存带宽时,减少缓存的当前供电部分的比例。
一些实施例提供一种用于操作缓存的装置,该装置包含:用于根据对缓存的性能的监控来计算缓存命中带宽的装置;用于依据缓存的当前供电部分的比例来计算有效缓存漏泄功率的装置;用于计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽的装置;及用于当缓存命中带宽小于等效的内存带宽时,降低缓存的当前供电部分的比例的装置。现将参考附图来描述一些特定实施例。
图1示意地图示数据处理系统10,该数据处理系统包含处理器核心12、缓存14及内存(DRAM)16。如将为本领域技术人员所熟悉,处理器核心12对撷取自内存16的数据项执行数据处理操作,且为了避免与常常自内存16读取数据项和向内存写入数据项相关联的潜时及能量消耗,提供缓存14以保存这些数据项的临时副本。缓存14本身被细分成数个(此处四个)存储库18至24。本上下文中所说明的特定特征为形成缓存14的一部分的缓存库功率控制电路30。如此使得各存储库得以个别地上电或断电。清除支持电路34在当给定存储库被断电时使得该存储库中的项目得以清除,而不造成危险或阻断连续的执行。缓存14还包含数个性能计数器32,这些性能计数器在图1中的所示实施例中包含全局命中计数器及全局未命中计数器。应注意,其他实施例可同等地提供访问计数器(对缓存的所有访问进行计数)及命中计数器与未命中计数器中的仅一者,因为访问的数目等于命中数目加上未命中数目。此外,尽管在所示实施例中,性能计数器32被配置以全局地横跨缓存的四个存储库来监控该缓存的性能,但是在其他实施例中,针对每个存储库提供个别的性能计数器。
在本上下文中,由核心12支持的两个特定功能在本文中具有特定重要性,且这些功能藉由缓存性能监控40及缓存性能计算42来说明。应注意,在图1中所示的实施例中的这些功能为自内存16撷取且在核心12中执行的软件的结果,但是在其他实施例中,这些功能可以由固件或硬件提供,在此情况下,被配置以支持这些功能的缓存性能监控电路及缓存性能计算电路形成核心12的一部分(或系统10的另一部分)。关于硬件实施的描述可见下文进一步说明。在数据处理系统的操作(亦即,涉及核心访问缓存14及内存16中的数据项的数据处理操作)期间,缓存性能监控单元40自性能计数器32接收命中计数及未命中计数的指示,且在此基础上决定缓存命中带宽及缓存未命中带宽。图1亦图示由缓存性能监控单元40接收的值N(有效缓存存储库的数目),且此值被传递至缓存性能计算单元42。在其他实施例中,值N可由缓存性能计算单元42自缓存存储库功率控制30直接地接收。N指示缓存14中当前供电的存储库的数目。缓存性能计算单元42亦访问储存装置44及46,从这些存储装置撷取值L、ED、Td及Tu。L为一个存储库的漏泄功率,例如,以mW为单位。ED为用于访问DRAM 16中的数据的能量消耗,例如以mJ/MB为单位,其中该能量消耗包括在使用内存控制器(未图示)、DDR PHY(未图示)及DRAM本身中消耗的能量。Td为缩减(downsizing)阈值参数及Tu为扩升(upsizing)阈值参数。
缓存性能计算单元42执行两个特定计算,首先基于当前供电的存储库的数目来计算有效缓存漏泄功率,且其次计算在内存访问上消耗的有效缓存漏泄功率的等效内存带宽。这些计算基于在针对是否有效缓存库的数目N是合理的判断中的损益平衡点为:L×N=ED×HBW(其中HBW为缓存命中带宽,例如以MB/s为单位)的前提。在这些项中,当HBW>N×L/ED时,对缓存(其中N个存储库是有效的)继续操作是合理的。因此,当HBW<N×L/D时,可确定适于将缓存“缩减”至N-1个存储库。然而,在本文中亦使用缩减阈值Td(该值被定义为采用0与1之间的值),且应用该值以判断是否HBW<(N-Td)×L/E,且在此为真的情况下,缓存性能计算单元42发出断电信号至缓存存储库功率控制30,于是存储库中的一个存储库被断电。
在此处应注意,此决定没有考虑清除缓存的成本,但是该成本被认为在缩减的益处下会随着时间被吸收,因为程序通常在相对长的时段上是稳定的。此外,由于断电存储库,还有标记动态节能的益处,上述公式并不依赖于此。
相反地,一旦缓存已减小了尺寸(至少一个存储库断电),则通常会遇到将需要再次增大缓存的尺寸的时刻,这是因为由核心执行的软件已改变并带来(潜在的)缓存使用率的变化,或因为做出了缩减的失误决策。本文采用的用于决定何时扩升缓存(将存储库上电)的技术利用缓存未命中带宽(MBW)作为对潜在扩升益处的指示。应注意,未命中带宽可最多为指示性度量,因为对于扩升的未命中至命中的转换是未知的。然而,另外地,扩升决策优先于缩减决策,以最小化性能损失。为了决定何时扩升,缓存性能监控单元40确定缓存未命中带宽(MBW),且缓存性能计算单元42确定在另一存储库被加电的情况下的增量缓存漏泄功率(。缓存性能计算单元42针对此增量缓存漏泄功率计算等效的缓存命中带宽,且将此缓存命中带宽与缓存未命中带宽相比较。因此,在未命中带宽(MBW)超过等效缓存命中带宽的情况下,可以决定适于将缓存“扩升”至N+1个存储库。
然而,类似于如上所述的缩减,使用扩升阈值Td(该值被定义为采用0与1之间的值),且应用该值以决定是否MBW>(1-Tu)×L/D,且在此举为真的情况下,缓存性能计算单元42发出上电信号至缓存存储库功率控制30,于是存储库中的一个存储库被上电。
如将在下文参考图4更详细地描述,缓存性能计算42亦相对于缓存存储库功率控制发挥调节作用,以使得在缓存被缩减(至少一个存储库断电)之后,检查是否未命中率随后增加,即使此检查可能低于上述未命中带宽检查,例如藉由判断是否已发生缓存未命中率的相对增大(例如,大于先前缩减值的10%)或是否发生缓存未命中率的绝对增加(例如超过定义的阈值长达比预设时段更长的时间)。在这些情况下,可随后返回对存储库上电,且在预设时段内防止对缓存的另外缩减以防止系统颠簸。
如上所述,此控制可在硬件中实施,且在该情况下,用于硬件控制回路的基本算法梗概的实例(忽略调节机制)如下:
图2示意地更详细地图示图1的缓存性能监控单元40的示例性配置,且分别可见命中计数及未命中计数被转换成为命中带宽及未命中带宽。先前命中计数56被与当前命中计数比较,且这两者之间于时段54上的差异给出命中带宽。类似地,在先前未命中计数58与当前未命中计数之间于时段54上的未命中计数变化52的决定给出未命中带宽。
图3A及图3B示意地图示设定断电阈值Td及上电阈值Tu的影响。根据条件的上述定义(HBW<(N-Td)×L/ED),可见断电阈值Td的效应是人工地将值N降低最多一个单元,亦即,一个存储库。此举可见地图示于图3A中,其中箭头亦图示降低断电侵害的方向,亦即,当Td=0时,最容易越过在图3A中用于决定断电存储库3的阈值,而设定Td=1意谓将最不容易地决定缩减(及断电存储库3)。相反地,图3B图示相反情况,其中进行关于是否将存储库3(该存储库当前断电)上电的决定。对上电阈值Tu的值的选择决定着此决策的侵害性,其中Tu=1(接近于1)的设定最容易允许触发将存储库3上电的决策,而对于Tu=0,进行最少侵害性的设定。应注意,上述说明关于在大部分通常使用配置中避免设定Tu=1。在实施本申请的技术时执行的测试已表明,将Td及Tu两者设定为大于0.5以将缓存的功率配置偏向扩升是有益的。因此,性能比功率消耗优先化。然而,其他配置是可想象的且例如在其中节能应优先于所有其他考虑的配置中,可以实施将Tu及Td设定为小于0.5。取决于系统要求,也可以将Tu及Td不对称设定。
图4示意地图示根据一个实施例的方法所采用的步骤序列。该流程可视为开始于步骤60处,其中在计数器中收集指示缓存性能的度量,在图1的实例中,这些计数器为命中计数器及未命中计数器。随后,在步骤62处,决定是否已经过监控时段,且当未经过监控时段时,流程返回至步骤60。一旦监控时段已经过,则在步骤64处,计算缓存命中带宽(HBW)及缓存未命中带宽(MBW)。在步骤66处,决定是否最后一次功率变化为存储库断电。若为此情况,则流程进行至步骤68,在该步骤处,检查是否已作为结果发生了缓存未命中率增大。在图4的示例性实施例中,此举藉由决定是否缓存未命中率已超过未命中率阈值达长于预设时段的时段来检查,其中应理解此阈值可以相对项或绝对项来定义。若该增大尚未发生,则流程进行至步骤70,其中决定是否比缓存的所有存储库更少的存储库被当前供电(N<N存储库),且是否缓存未命中带宽(MBW)超过所计算的等效的缓存命中带宽,亦即,(1-Tu)×L/ED。若为此情况,则在步骤72处,将存储库上电;且随后在步骤74处,监控时段定时器重置。流程随后返回至步骤60。决策步骤70的否定结果采取流程至步骤76,其中决定是否缓存的至少一存储库被当前供电(N>1)及是否缓存命中带宽(HBW)小于等效内存带宽,亦即(N-Td)×L/ED的决定。若此为真,则在步骤78处,将存储库断电且流程进行至步骤74。另外,在步骤76处的决策的否定结果将流程直接引导向步骤74。最终,返回至步骤68的考虑,若在此处确定缓存未命中率已因为存储库断电实际上以不受欢迎的方式增大,则流程进行至步骤80,在该步骤中存储库被上电且随后的存储库断电被禁止达冷却时段。其后,在步骤82处重置监控时段时间,且流程返回至步骤60。
作为简单的总体总结,提供了一种操作缓存的方法及相应装置。缓存仅能够部分地供电,且用于降低缓存的当前供电部分的比例的决策基于计算与在内存访问上消耗的当前有效缓存漏泄功率等效的内存带宽。缓存命中带宽被与此等效的内存带宽比较,且当缓存命中带宽小于等效的内存带宽时,缓存的当前供电部分的比例被降低。亦可进行类似决策且基于计算等效于缓存漏泄功率的增量增加的缓存命中带宽,且当缓存未命中带宽超过等效的缓存命中带宽时,缓存的当前供电部分的比例被增加。
在本申请中,措辞“被配置以……”或“被布置以……”用于意谓装置的组件具有能够执行所定义的操作的配置。在此上下文中,“配置”意谓硬件或软件的布置或互连方式。例如,装置可具有提供所定义的操作的专用硬件,或处理器或其他处理装置可被编程以执行此功能。“被配置以”或“被布置以”不意味装置组件需要以任何方式来改变以提供所定义的操作。
尽管已参考附图在本文中详细描述了说明性实施例,但是应理解,本发明并不限于那些精确实施例,且在不背离如由所附权利要求所定义的本发明的范围的情况下,本领域技术人员可实现各种变化、添加及修改。例如,在不背离本发明的范围的情况下,可对独立权利要求的特征与从属权利要求的特征进行各种组合。

Claims (19)

1.一种操作缓存的方法,包含以下步骤:
根据对缓存性能的监控来计算缓存命中带宽;
依据缓存的当前供电部分的比例来计算有效缓存漏泄功率;
计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽;以及
当缓存命中带宽小于等效的内存带宽时,降低缓存的当前供电部分的比例。
2.如权利要求1所述的方法,其中,缓存包含多个存储库,其中该多个存储库中的至少一个存储库能够独立于该多个存储库的其余部分断电。
3.如权利要求2所述的方法,其中,该多个存储库的各存储库能够个别地断电。
4.如权利要求2所述的方法,其中,降低缓存的当前供电部分的比例包含将该多个存储库的至少一个存储库断电。
5.如权利要求2所述的方法,其中,缓存的当前供电部分的比例由该多个存储库中当前供电的存储库数给出。
6.如权利要求1所述的方法,其中,有效缓存漏泄功率依据断电阈值因子来计算,其中当缓存的当前供电部分的比例的值用在计算有效缓存漏泄功率中时,断电阈值因子减小该值。
7.如权利要求6所述的方法,其中,断电阈值因子能被设定在一定范围内以使得在计算有效缓存漏泄功率时使用的缓存的当前供电部分的比例值在以下值之间:
针对第一断电阈值因子值的该缓存的当前供电部分的比例;和
针对第二断电阈值因子值的该缓存的当前供电部分的比例减去该缓存的能够被断电部分的比例。
8.如权利要求7所述的方法,其中,断电阈值因子被设定为比接近第一断电阈值因子值更接近第二断电阈值因子值的值。
9.如权利要求1所述的方法,当缓存的当前供电部分的比例少于全部缓存时,包括以下进一步步骤:
根据对缓存性能的监控来计算缓存未命中带宽;
依据缓存的当前未供电增量比例来计算增量缓存漏泄功率;
计算与用于引发该增量缓存漏泄功率等效的缓存命中带宽;以及
当该缓存未命中带宽超过该等效的缓存命中带宽时,将缓存的当前供电部分比例增大所述增量比例。
10.如权利要求9所述的方法,其中缓存包含多个存储库,其中该多个存储库中的至少一个存储库能够独立于该多个存储库的其余存储库断电,其中该缓存的增量比例为该多个存储库中的一定存储库。
11.如权利要求9所述的方法,其中,该增量缓存漏泄功率依据上电阈值因子来计算,其中当缓存的当前未供电部分的增量比例的值用于计算增量缓存漏泄功率时,该上电阈值因子减小该值。
12.如权利要求11所述的方法,其中,上电阈值因子能被设定在一定范围以使得在计算增量缓存漏泄功率时使用的缓存的当前未供电的增量比例的值在以下值之间:
针对第一上电阈值因子值的该缓存的当前未供电增量比例;以及
针对第二上电阈值因子值的零值。
13.如权利要求12所述的方法,其中,该上电阈值因子被设定为比接近第二上电阈值因子值更接近第一上电阈值因子值的值。
14.如权利要求1所述的方法,在降低缓存的当前供电部分的比例之后,包含以下进一步步骤:
监控缓存未命中率;以及
当该缓存未命中率超过预定缓存未命中率阈值达一预定时段时,增加该缓存的当前供电部分的比例。
15.如权利要求14所述方法,包含以下进一步步骤中的至少一者:
延迟关于是否该等效的内存带宽超过缓存命中带宽的计算;以及
延迟缓存的当前供电部分的比例的任何后续降低。
16.如权利要求1所述的方法,其中,监控缓存的性能包含:监控全局缓存性能。
17.如权利要求2所述的方法,其中,监控缓存的性能包含:监控每存储库缓存性能。
18.一种计算装置可读储存介质,该计算装置可读储存介质以非瞬态方式储存指令,当指令由计算装置执行时,引起计算装置执行权利要求1所述的方法。
19.一种用于操作缓存的装置,包含:
缓存监控电路,用于监控缓存的性能;
缓存性能计算电路,用于从缓存监控电路接收性能数据,并且:
根据性能数据计算缓存命中带宽;
依据缓存的当前供电部分的比例来计算有效缓存漏泄功率,及
计算与在内存访问上消耗的有效缓存漏泄功率等效的内存带宽;及
缓存功率控制电路,用于当缓存命中带宽小于该等效的内存带宽时,减少缓存的当前供电部分的比例。
CN201710126757.9A 2016-03-04 2017-03-03 缓存功率管理 Active CN107153455B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1603741.8A GB2547939B (en) 2016-03-04 2016-03-04 Cache power management
GB1603741.8 2016-03-04

Publications (2)

Publication Number Publication Date
CN107153455A true CN107153455A (zh) 2017-09-12
CN107153455B CN107153455B (zh) 2021-12-21

Family

ID=55858986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710126757.9A Active CN107153455B (zh) 2016-03-04 2017-03-03 缓存功率管理

Country Status (5)

Country Link
US (1) US10359831B2 (zh)
KR (1) KR20170103643A (zh)
CN (1) CN107153455B (zh)
GB (1) GB2547939B (zh)
TW (1) TWI723137B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562288B2 (en) 2018-09-28 2023-01-24 Amazon Technologies, Inc. Pre-warming scheme to load machine learning models
US11436524B2 (en) * 2018-09-28 2022-09-06 Amazon Technologies, Inc. Hosting machine learning models
US11036279B2 (en) * 2019-04-29 2021-06-15 Arm Limited Apparatus and method for managing a cache
CN112585681B (zh) 2020-11-26 2023-12-19 长江存储科技有限责任公司 用于多管芯操作的动态峰值功率管理
CN115129623A (zh) * 2021-03-25 2022-09-30 京东方科技集团股份有限公司 功耗控制方法、装置、板卡、电子设备及存储介质
US20240095177A1 (en) * 2022-09-15 2024-03-21 Mediatek Inc. Performance and Power Balanced Cache Partial Power Down Policy

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761715A (en) * 1995-08-09 1998-06-02 Kabushiki Kaisha Toshiba Information processing device and cache memory with adjustable number of ways to reduce power consumption based on cache miss ratio
US20020049918A1 (en) * 2000-10-25 2002-04-25 Stefanos Kaxiras Method and apparatus for reducing leakage power in a cache memory
CN1612113A (zh) * 2003-10-14 2005-05-04 国际商业机器公司 节能高速缓存及其运行方法
US20120166822A1 (en) * 2011-12-30 2012-06-28 Kam Timothy Y Mechanisms for enabling power management of embedded dynamic random access memory on a semiconductor integrated circuit package
US20120173907A1 (en) * 2011-12-30 2012-07-05 Jaideep Moses Method, apparatus, and system for energy efficiency and energy conservation including dynamic c0-state cache resizing
US20130111121A1 (en) * 2011-10-31 2013-05-02 Avinash N. Ananthakrishnan Dynamically Controlling Cache Size To Maximize Energy Efficiency
CN105205014A (zh) * 2015-09-28 2015-12-30 北京百度网讯科技有限公司 一种数据存储方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981112B2 (en) * 2002-08-26 2005-12-27 International Business Machines Corporation Dynamic cache disable
US7210004B2 (en) * 2003-06-26 2007-04-24 Copan Systems Method and system for background processing of data in a storage system
JP5167952B2 (ja) * 2008-05-26 2013-03-21 富士通株式会社 キャッシュメモリシステム
US8611170B2 (en) * 2011-12-30 2013-12-17 Intel Corporation Mechanisms for utilizing efficiency metrics to control embedded dynamic random access memory power states on a semiconductor integrated circuit package
US8972645B2 (en) * 2012-09-19 2015-03-03 Hewlett-Packard Development Company, L.P. Request sent to storage device based on moving average
US9588570B2 (en) * 2013-04-30 2017-03-07 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bandwidth
WO2015147868A1 (en) * 2014-03-28 2015-10-01 Empire Technology Development Llc Magnetoresistive random-access memory cache write management
US20150378424A1 (en) * 2014-06-27 2015-12-31 Telefonaktiebolaget L M Ericsson (Publ) Memory Management Based on Bandwidth Utilization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761715A (en) * 1995-08-09 1998-06-02 Kabushiki Kaisha Toshiba Information processing device and cache memory with adjustable number of ways to reduce power consumption based on cache miss ratio
US20020049918A1 (en) * 2000-10-25 2002-04-25 Stefanos Kaxiras Method and apparatus for reducing leakage power in a cache memory
CN1612113A (zh) * 2003-10-14 2005-05-04 国际商业机器公司 节能高速缓存及其运行方法
US20130111121A1 (en) * 2011-10-31 2013-05-02 Avinash N. Ananthakrishnan Dynamically Controlling Cache Size To Maximize Energy Efficiency
US20120166822A1 (en) * 2011-12-30 2012-06-28 Kam Timothy Y Mechanisms for enabling power management of embedded dynamic random access memory on a semiconductor integrated circuit package
US20120173907A1 (en) * 2011-12-30 2012-07-05 Jaideep Moses Method, apparatus, and system for energy efficiency and energy conservation including dynamic c0-state cache resizing
CN105205014A (zh) * 2015-09-28 2015-12-30 北京百度网讯科技有限公司 一种数据存储方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AKHILA GUNDU等: ""Memory bandwidth reservation in the cloud to avoid information leakage in the memory controller"", 《ACM》 *
隋秀峰: ""高性能微处理器中自适应高速缓存管理策略研究"", 《国优秀博硕士学位论文全文数据库(博士)信息科技辑》 *

Also Published As

Publication number Publication date
GB2547939A (en) 2017-09-06
US20170255248A1 (en) 2017-09-07
GB2547939B (en) 2020-04-22
GB201603741D0 (en) 2016-04-20
KR20170103643A (ko) 2017-09-13
TWI723137B (zh) 2021-04-01
US10359831B2 (en) 2019-07-23
TW201805930A (zh) 2018-02-16
CN107153455B (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
CN107153455A (zh) 缓存功率管理
CN102483646B (zh) 根据性能灵敏度不均匀地改变计算单元的性能
US8775843B2 (en) Power management with dynamic frequency adjustments
JP3573957B2 (ja) コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
US20140136870A1 (en) Tracking memory bank utility and cost for intelligent shutdown decisions
US20040236969A1 (en) Method and system for dynamically adjusting power consumption of an information handling system
JPH0950401A (ja) キャッシュメモリ及びそれを備えた情報処理装置
US11152656B1 (en) Method and apparatus for controlling temperature of battery pack, battery management system and storage medium
CN109782827A (zh) 散热控制方法及设备、电子设备及计算机可读存储介质
US10204056B2 (en) Dynamic cache enlarging by counting evictions
DE112005003136T5 (de) Arbeitspunkt Verwaltung in Multi-Kern Architekturen
JP2013510376A (ja) プローブアクティビティレベルの追跡による性能状態の制御
US20140136873A1 (en) Tracking memory bank utility and cost for intelligent power up decisions
US20190146567A1 (en) Processor throttling based on accumulated combined current measurements
CN103823716A (zh) 具多重中央处理单元的电子装置及其效能管理方法
KR20180037954A (ko) 휴대용 컴퓨팅 디바이스에서의 캐시 인지 저전력 모드 제어를 위한 시스템 및 방법
US10942850B2 (en) Performance telemetry aided processing scheme
CN116298538B (zh) 一种智能电容补偿装置的在线监测方法
GB2503743A (en) Power management of processor using cache miss events to govern operational modes
CN116301285A (zh) 散热控制方法及服务器
US20060143486A1 (en) System and method to profile an unconstrained power of a processor
CN108765192A (zh) 一种基于大数据的变压器上层油温预测方法、系统及设备
CN107479830A (zh) 一种硬盘节能控制方法和装置
KR102242329B1 (ko) 다종 풍력발전 단지 제어기 운영 방법 및 시스템
CN117894347B (zh) 一种固态硬盘功耗控制方法、系统和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant