CN104272277A - 用于快速缓存断电的设备和方法 - Google Patents
用于快速缓存断电的设备和方法 Download PDFInfo
- Publication number
- CN104272277A CN104272277A CN201380018635.8A CN201380018635A CN104272277A CN 104272277 A CN104272277 A CN 104272277A CN 201380018635 A CN201380018635 A CN 201380018635A CN 104272277 A CN104272277 A CN 104272277A
- Authority
- CN
- China
- Prior art keywords
- buffer memory
- data
- memory
- cache
- modified data
- 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.)
- Pending
Links
Classifications
-
- 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/0804—Addressing 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
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种实现快速缓存关闭的设备和方法。在一个实施方案中,缓存子***包括缓存存储器和耦合至所述缓存存储器的缓存控制器。所述缓存控制器被配置来在恢复电力至所述缓存子***时,阻止被修改数据唯一地写入至所述缓存存储器中。
Description
技术领域
本公开涉及集成电路,且更具体地涉及处理器中的缓存子***。
发明背景
随着集成电路技术的进步,晶体管的部件大小已持续缩小。这使得更多电路能实施在单个集成电路晶片上。这继而允许集成电路上更多功能的实施。具有多个核心的处理器是可实施在集成电路上的增大数量的功能的一个实例。
在具有多个核心的处理器操作期间,可能存在至少一个核心不活动的实例。在这些实例中,不活动处理器核心可被断电以减小总体功率消耗。将闲置处理器核心断电可包括将实施其中的各种子***(包括缓存)断电。在一些情况下,缓存可能在确定处理器核心将被断电时正在存储被修改数据。如果被修改数据对于处理器核心中的缓存是唯一的,那么数据可被写入至较低级别缓存(例如,从1级或L1缓存至2级或L2缓存)或可被回写至存储器。在被修改数据已被写入至较低级别缓存或回写存储器之后,如果处理器核心的其它部分也准备断电,那么缓存可准备断电。
发明概要
本发明公开了一种实现快速缓存关闭的设备和方法。在一个实施方案中,缓存子***包括缓存存储器和耦合至缓存存储器的缓存控制器。缓存控制器被配置来在恢复电力至缓存子***时,阻止被修改数据唯一地写入至缓存存储器中。
在一个实施方案中,方法包括恢复电力至包括缓存存储器的缓存子***。方法进一步包括阻止被修改数据唯一地写入至缓存存储器中。
附图简述
在阅读下文详细描述及在参考下文简述的附图后,将变得了解本公开的其它方面。
图1是计算机***的一个实施方案的框图。
图2是具有多个核心和共享缓存的处理器的一个实施方案的框图。
图3是缓存子***的一个实施方案的框图。
图4是用于操作缓存子***的方法的一个实施方案的流程图,其中在恢复电力时及在达到阈值之前将被修改数据排除在缓存外。
图5是用于在避写(write bypass)模式中操作缓存子***的方法的一个实施方案的流程图。
图6是图示避写模式中的操作的缓存子***的一个实施方案的框图。
图7是图示直写模式中的操作的用于操作缓存子***的方法的一个实施方案的流程图。
图8是图示直写模式中的操作的缓存子***的一个实施方案的框图。
图9是图示包括描述缓存子***的实施方案的数据结构的计算机可读介质的一个实施方案的框图。
虽然本发明易于以各种修改和替代形式呈现,但是其特定实施方案举例来说示于图中且将在本文中详细描述。但是应了解,图和其描述不旨在将本发明限制于所公开的特定形式,而是相反本发明将涵盖属于如随附权利要求定义的本发明的精神和范围内的所有修改例、等效例和替代例。
具体实施方式
本公开涉及一种用于在恢复电力时阻止缓存存储器排除存储器层级中其它位置之外存储被修改数据达有限时间的方法和设备。有限时间可通过阈值定义。在现有技术缓存子***中,将缓存断电以将其置于睡眠状态中(例如,当相应处理器核心闲置时)可包括缓存控制器针对被修改数据检测相应缓存的存储位置。如果在一个或多个存储位置中发现被修改数据,那么其可被写入至存储器层级中较低的另一个缓存(例如,从L1缓存至L2缓存)或主存储器。相比之下,如果尚未达到阈值,那么本公开的缓存子***可在不针对被修改数据检测缓存存储器的情况下断电。由于在达到阈值之前阻止缓存存储器排除存储等级中的其它缓存和存储器将被修改数据存储在存储器中,所以无需在断电前检查缓存。相应地,包括这样一种缓存子***的处理器核心或其它功能单元可在所述功能单元闲置时被断电以节省电力,而无由确定被修改数据是否存在而引致的固有延迟。一般来说,如本文中描述的缓存子***在实施于处理器核心(或其它功能单元)中时可实现从睡眠状态退出以在短持续时间内执行任务且快速回到睡眠状态中而无由搜索所被修改数据并且由将其回写至存储器或另一个缓存而引致的延迟。
阈值可以各种方式实施。在一个实施方案中,阈值可为从电力恢复至缓存子***时开始的预定时间量。在预定时间量过去之前,缓存控制器可阻止被修改数据唯一地写入至其相应缓存中。如果缓存子***(和/或其所实施的单元)在预定时间量已过去之前变为闲置,那么其可被再次断电而无需针对被修改数据搜索缓存并且将所发现的任意被修改数据写入至另一个缓存或主存储器。如果缓存子***在预定时间量已过去之前未闲置,那么缓存控制器随后可使被修改数据能被唯一地写入至其相应缓存。
在另一个实施方案中,阈值可通过特定数量的事件的发生定义。事件可为缓存驱逐、由执行单元产生的被修改数据的实例、往和/或来缓存的流量的数量等等。一般来说,事件可为指示在与缓存子***相关的电路中发生的处理活动的级别的任意类型。在阈值是基于事件的实施方案中,达到阈值的时间在开启缓存子***的一个实例与另一个实例之间可能不同。
在开启缓存子***与达到阈值之间的时间段内被修改数据的处置可以不同方式完成。在一个实施方案中,缓存子***可在直写模式中操作。在于直写模式中操作时,被修改数据可被写入至缓存以及在存储器层级中较低的另一个存储位置(例如,较低缓存或至主存储器中)。因此,除缓存外,被修改数据还被存储在存储器层级中较低的位置中。因而,在将电力从缓存移除之前无需从缓存复制并且回写被修改数据,因为其已被存储在存储器层级中较低的至少一个存储位置。当达到阈值或当电力从缓存子***移除时,缓存子***可停止直写模式中的操作。直写模式中的操作可在电力从睡眠(或其它断电)状态恢复至缓存时恢复。
在另一实施方案中,缓存子***可在避写模式中操作。当在避写模式中操作时,缓存控制器可阻止任意被修改数据被写入至缓存中。而是,在避写模式中操作期间产生的被修改数据被取而代之写入至存储器层级中的至少一个较低级别存储位置。例如,当L1数据缓存的缓存子***在避写模式中操作时,由执行单元产生的被修改数据可被写入至L2缓存、L3缓存和/或主存储器。响应于达到阈值或当电力从缓存子***移除时,缓存子***可停止避写模式中的操作。避写模式中的操作的恢复可在电力恢复至缓存子***时发生。
还应注意,实施方案是可行的且预期其中被修改数据可被存储在存储器层级中相同级别但在不同功率域中的另一个缓存中。
应注意,在一些实施方案中,多个缓存和其相应子***可在上述模式之一中操作。例如,在具有L1缓存和L2缓存的处理器核心中,相应缓存子***可同时在直写或避写模式之一中操作。因此,如果两个不同的缓存耦合至相同的电力分配电路,那么仍可获得快速断电的好处。
此外,在多级缓存存储器可在上述模式中操作的实施方案中,两个缓存子***无需在相同模式中操作。例如,L1缓存可在避写模式中操作,而L2缓存可在直写模式中操作。
图1是计算机***10的一个实施方案的框图。在所示的实施方案中,计算机***10包括耦合至存储器6的集成电路(IC)2。在所示的实施方案中,IC 2是片上***(SOC),其具有若干处理器核心11,其是本实施方案中的处理器核心。在各种实施方案中,处理器核心的数量可少至1个或可如实施在IC晶片上可能的一样多。在多核心实施方案中,处理器核心11可彼此相同(即,对称多核)或一个或多个核心可与其它不同(即,不对称多核)。处理器核心11可各包括一个或多个执行单元、缓存存储器、排程器、分支预测电路等等。此外,每个处理器核心11可被配置来断言访问存储器6的请求,其可充当计算机10的主存储器。这些请求可包括读取请求和/或写入请求并且可最初通过北桥12接收自各自处理器核心11。访问存储器6的请求可响应于特定指令的执行而启动并且也可响应于预取操作而启动。
在所示的实施方案中,I/O接口13还耦合至北桥12。I/O接口13可充当计算机***10中的南桥装置。若干不同类型的***总线可耦合至I/O接口13。在这个特定实例中,总线类型包括***组件互连(PCI)总线、PCI扩展(PCI-X)、PCIE(PCI快速)总线、千兆以太网(GBE)总线和通用串列总线(USB)。但是,这些总线类型是示例性的,且许多其它的总线类型也可耦合至I/O接口13。各种类型的***装置(本文中未示出)可耦合至一些或所有***总线。这些***装置包括(但不限于)键盘、鼠标、打印机、扫描仪、控制杆或其它类型的游戏控制器、介质记录装置、外部存储装置、网络接口卡等等。可经由相应***总线耦合至I/O单元13的至少一些周边装置可使用直接存储器访问(DMA)断言存储器访问请求。这些请求(其可包括读取和写入请求)可经由I/O接口13传达至北桥12。
在所示的实施方案中,IC 2包括图形处理单元14,其耦合至计算机***10的显示器3。显示器3可为平板LCD(液晶显示器)、等离子显示器、CRT(阴极射线管)或任意其它适当显示器类型。GPU14可执行各种视频处理功能并且提供经处理信息至显示器3用于输出为可视信息。
在所示的实施方案中,存储器控制器18一体化至北桥12中,但是在其它实施方案中,其可与北桥12分离。存储器控制器18可接收从北桥12传达的存储器请求。响应于读取请求(包括预取)从存储器6访问的数据可通过存储器控制器18经由北桥12传达至请求代理。响应于写入请求,存储器控制器18可经由北桥12接收请求和将从请求代理写入的数据。如果多个存储器访问请求在给定时间待定,那么存储器控制器18可在这些请求之间仲裁。
在所示的实施方案中,存储器6可在一个实施方案中实施为多个存储器模块。每个存储器模块可包括安装其上的一个或多个存储器装置(例如,存储器芯片)。在另一个实施方案中,存储器6可包括安装在母板或其上也安装IC 2的其它载体上的一个或多个存储器装置。在又一个实施方案中,存储器6的至少一部分可实施在IC 2自身的晶片上。具有如上所述的各种实施的组合的实施方案也是可行的并且被预期。存储器6可用于实施在操作期间结合IC 2使用的随机访问存储器(RAM)。所实施的RAM可为静态RAM(SRAM)或动态RAM(DRAM)。可用于实施存储器6的DRAM的类型包括(但不限于)双数据速率(DDR)DRAM、DDR2 DRAM、DDR3 DRAM等等。
虽然图1中未明确示出,但是IC 2也可包括处理器核心11外部的一个或多个缓存存储器。如下文将讨论,每个处理器核心11可包括L1数据缓存和L1指令缓存。在一些实施方案中,每个处理器核心11可与相应L2缓存相关。每个L2缓存可在其相应处理器核心内部或外部。处理器核心11间共享的L3缓存也可包括在IC 2的一个实施方案中。一般来说,IC 2的各种实施方案可实施若干不同级别的缓存存储器,其中一些缓存存储器在处理器核心之间共享而其它缓存存储器可专用于特定一个处理器核心11。
在所示的实施方案中,北桥12还包括电力管理单元15,其可用于监测和控制IC 2的各种功能单元之间的功率消耗。更具体地,电力管理单元15可监测IC 2的每个其它功能单元的活动级别并且可在给定功能单元被确定闲置(例如,不活动达特定时间量)的情况下执行电力管理行动。此外,电力管理单元15也可在闲置功能单元需被启动以执行任务的情况下执行电力管理措施。电力管理措施可包括移除电力、选通时钟信号、恢复电力、恢复时钟信号、减小或增大操作电压及减小和增大时钟信号的频率。在一些情况下,电力管理单元15也可在处理器核心11间再分配工作负载,使得每个可保持在热设计电力极限内。一般来说,电力管理单元15可执行有关至IC 2的其它功能单元的电力的控制和分布的任意功能。
图2是处理器核心11的一个实施方案的框图。处理器核心11被配置来执行存储在***存储器(例如,图1的存储器6)中的指令。许多这些指令也可操作存储在存储器6中的数据。应注意,存储器6可实体分布遍及计算机***和/或可被一个或多个处理节点11访问。
在图示的实施方案中,处理器核心11可包括L1指令缓存106和L1数据缓存128。处理器核心11可包括耦合至指令缓存106的预取单元108,其将在下文更详细讨论。分派单元104可被配置来接收来自指令缓存106的指令并且分配操作至排程器118。一个或多个排程器118可被耦合来接收来自分派单元104的所分派操作并且发布操作至一个或多个执行单元124。执行单元124可包括一个或多个整数单元、一个或多个浮点单元。在所示的实施方案中,至少一个负载存储单元126还被包括在执行单元124间。由执行单元124产生的结果可被输出至一个或多个结果总线130(为简明起见示出单个结果总线,但是多个结果总线是可能的并且被预期)。这些结果可被用作后续发布的指令的操作数值和/或被存储至寄存器文件116。回退队列102可耦合至排程器118和分派单元104。回退队列102可被配置来确定每个发布操作何时可回退。
在一个实施方案中,处理器核心11可被设计为与x86架构(也被称作Intel架构-32或IA-32)兼容。在另一个实施方案中,处理器核心11可与64位架构兼容。也预期与其它架构兼容的处理器核心11的实施方案。
应注意,处理器核心11也可包括许多其它组件。例如,处理器核心11可包括分支预测单元(未示出),其被配置来在执行指令线程时预测分支。在一些实施方案中(例如,在实施为独立处理器的情况下),处理器核心11也可包括存储器控制器,其被配置来控制有关存储器6的读取和写入。
指令缓存106可存储指令供分派单元104取得。指令代码可通过透过预取单元108从***存储器200预取代码而被提供至指令缓存106进行存储。指令缓存106可被实施在多种配置中(例如,集关联、全关联或直接映射)。
处理器核心11也可与L2缓存129相关。在所示的实施方案中,L2缓存129在与处理器核心11相同的功率域外并且包括在其内。其中L2缓存129在与处理器核心11相同的功率域外并且独立于所述功率域的实施方案是可能的并且被预期。虽然指令缓存106可用于存储指令且数据缓存128可用于存储数据(例如,操作数),但是L2缓存129可为用于存储指令和数据的统一缓存。但是,其中单独的L2缓存被实施用于指令和数据的实施方案也是可能的并且被预期。
分派单元104可输出可由执行单元124执行的操作以及操作数地址信息、直接数据和/或位移数据。在一些实施方案中,分派单元104可包括用于将特定指令解码为可在执行单元124内执行的操作的解码电路(未示出)。简单指令可对应于单个操作。在一些实施方案中,更复杂的指令可对应于多个操作。在涉及寄存器的更新的操作解码时,寄存器文件116内的寄存器位置可被预留来存储推测寄存器状态(在替代实施方案中,记录器缓冲器可用于存储每个寄存器的一个或多个推测寄存器状态且寄存器文件116可存储每个寄存器的提交的寄存器状态)。寄存器映射134可将源和目的操作数的逻辑寄存器名称转换为物理寄存器编号以便于寄存器重命名。寄存器映射134可追踪寄存器文件116内哪个寄存器目前被分配以及未分配。
图2的处理器核心11可支持乱序执行。回退队列102可追踪原始程序序列用于寄存器读取和写入运操作,允许推测指令执行和分支误预测恢复以及促进精确异常。在一些实施方案中,回退队列102也可通过提供推测寄存器状态的数据值存储而支持寄存器重命名(例如,类似于记录器缓冲器)。在其它实施方案中,回退队列102可类似于记录器缓冲器作用但无法提供任何数据值存储。当操作被回退时,回退队列102可将不再需要用于存储推测寄存器状态的寄存器文件116中的寄存器解除分配并且提供信号至寄存器映射134指示哪些寄存器目前空闲。通过在寄存器文件116内维持推测寄存器状态(或在替代实施方案中,在记录器缓冲器内)直至产生所述状态的操作生效,沿着误预测路径的推测执行操作的结果可在分支预测不正确的情况下在寄存器文件116中失效。
在一个实施方案中,寄存器文件116的给定寄存器可被配置来存储被执行指令的数据结果并且也可存储可由被执行指令更新的一个或多个标记位。标记位可传达对于执行后续指令很重要的各种类型的信息(例如,指示进位或溢值情况因加法或乘法运算而存在)。架构上,标记寄存器可被定义为存储标记。因此,至给定寄存器的写入可更新逻辑寄存器和标记寄存器两者。应注意,并非所有指令都可更新一个或多个标记。
寄存器映射134可指派物理寄存器至被指定为操作的目的操作数的特定逻辑寄存器(例如,架构化寄存器或微架构指定寄存器)。分派单元104可确定寄存器文件116具有事先分配的物理寄存器,其被指派给在给定操作中被指定为源操作数的逻辑寄存器。寄存器映射134可提供最近指派给所述逻辑寄存器的物理寄存器的标记。这个标记可用于访问寄存器文件116中操作数的数据值或经由在结果总线130上转发的结果接收数据值。如果操作数对应于存储器位置,那么操作数值可通过负载存储单元126被提供在结果总线上(用于结果转发和/或存储在寄存器文件116中)。操作数数据值可在操作由排程器118之一发布时被提供至执行单元124。应注意,在替代实施方案中,操作数值可在操作被分派时被提供至相应排程器118(取代在操作发布时被提供至相应执行单元124)。
如本文中所使用,排程器是探测操作何时准备执行并且发布预备操作至一个或多个执行单元的装置。例如,预留站可为一种类型的排程器。可提供针对每个执行单元的独立预留站,或可提供从其中发布操作的中心预留站。在其它实施方案中,可使用保留操作直至回退的中心排程器。每个排程器118可能能够保留操作信息(例如,操作以及操作数值、操作数标记和/或直接数据)达等待发布至执行单元124的数个待定操作。在一些实施方案中,每个排程器118无法提供操作数值存储。而是,每个排程器可监测寄存器文件116中可得的发布操作和结果以确定何时操作数值将可用于被执行单元124读取(例如,从寄存器文件116或结果总线130)。
预取单元108可从存储器6预取指令代码用于存储在指令缓存106内。在所示的实施方案中,预取单元108是混合预取单元,其可采用多种特定代码预取技术和算法的两个或多个不同者。由预取单元108实施的预取算法可用于产生地址,数据可从所述地址预取并且被载入至寄存器和/或缓存中。预取单元108可被配置来执行仲裁以选择哪个所产生的地址将用于执行预取操作的给定实例。
如上所述,处理器核心11包括L1数据和指令缓存并且与至少一个L2缓存相关。在一些情况下,单独的L2缓存可分别被提供用于数据和指令。L1数据和指令缓存可为存储器层级的部分并且可能低于所述层级中处理器核心11的架构化寄存器。L2缓存可低于存储器层级中的L1数据和指令缓存。虽然未明确示出,但是L3缓存也可能存在(并且可在处理器核心11间共享),其中L3缓存低于存储器层级中的任意和所有L2缓存。低于存储器层级中的各种级别的缓存存储器的可能是主存储器,其中磁盘存储器(或闪存)低于主存储器。
图3是图示示例性缓存子***的一个实施方案的框图。在这个特定实例中,缓存子***涉及处理器核心的L2数据缓存。但是,如本文中示出的大致排列可应用于其中被修改数据可被存储在相应缓存中的任意缓存子***。
在所示的实施方案中,缓存子***220包括L2数据缓存229和缓存控制器228。21数据缓存是可用于存储数据(例如,操作数)并且可在各种配置(例如,集关联、全关联或直接映射)中实施的缓存。
缓存控制器228被配置来针对读取和写入操作控制至L2数据缓存229的访问。在图3中所示的特定实施中,缓存控制器228可读取并且从L2数据缓存229提供数据至执行单元124(或至将被执行单元访问用于特定指令的执行的寄存器)。此外,缓存控制器228也可在存储于其中的数据旧或将被移除以添加新数据时执行缓存线的驱逐。缓存控制器228也可与其它缓存子***(例如,至L1缓存的缓存控制器)以及存储器控制器通信以导致数据被写入至存储器层级中的较低级别的存储位置。
在所示的实施方案中由缓存控制单元228提供的另一个功能是控制被修改数据何时可被写入至并且唯一地存储在L2数据缓存229中。缓存控制器228可接收由通过执行单元124执行的指令产生的数据并且可对所述数据写入至L2数据缓存229施加控制。在本实施方案中,在恢复电力至缓存子***220时,缓存控制器228可阻止被修改数据被唯一地写入至L2数据缓存229中达特定时间量。即,对于特定时间段,缓存控制器228可阻止被修改数据被写入至L2数据缓存229,除非其被写入至存储器层级更下方的另一个位置或可阻止被修改数据被一起写入至L2数据缓存229中。
缓存控制器阻止唯一写入至L2数据缓存229及将被修改数据存储在L2数据缓存229中的时间量可基于阈值确定。阈值可基于时间或基于事件。在所示的实施方案中,缓存控制器228包括计时器232,其被配置来相对于预定时间阈值追踪从电力恢复至缓存子***220开始的时间量。所图示的实施方案中的缓存控制器228还包括事件计数器234,其被配置来计数和追踪特定数量的预定义事件的发生(例如,由执行单元产生的被修改数据的实例、被执行的指令、存储器访问等)。被计数事件的数量可与相应阈值比较。应注意,在各种实施方案中,缓存控制器228可仅包括计时器232或事件计数器234之一。一般来说,用于实施阈值的任意适当结构可被包括在缓存控制器228的给定实施方案中。
如果在恢复电力至缓存子***220之后达到或超过阈值,那么缓存控制器228可停止阻止L1数据缓存排除存储器层级中较低的其它位置存储被修改数据。在达到阈值后执行单元(或其它源)对被修改数据的任意发布可导致被修改数据被写入至L2数据缓存229中,而无需在其驱逐之前任何进一步回写。
在一些实例中,在缓存子***220或其相应功能单元(例如,如上所述的处理器核心11)之前无法达到阈值。在这样一种情况下,缓存子***220(和其相应功能单元)可通过从其移除电力而被置于睡眠状态中。由于在这种情况下尚未达到阈值,所以其遵从L2数据缓存229未存储被修改数据。相应地,由于无被修改数据存储在L2数据缓存229中,所以无需针对被修改数据搜索缓存或将所发现的任意被修改数据回写至存储器层级中较低的位置。这可能明显减小一旦确定将缓存断电时进入睡眠状态花费的时间量。因此,功率消耗可被减小。此外,快速进入并且退出睡眠状态的能力可允许缓存子***(和相应功能单元)针对被执行的短暂任务被开启且随后被快速断电回到睡眠状态中。
图4是用于操作缓存子***的方法的一个实施方案的流程图,其中在恢复电力时及在达到阈值之前被修改数据被排除在缓存之外。本文中描述的方法400的实施方案涉及实施在处理器核心或其它类型的处理节点(例如,如上所述)中的缓存子***。但是,类似方法可应用于任意缓存子***,无论其实施为其它功能单元的部分或独立于其它功能单元。
方法400从恢复电力至包括缓存子***的处理节点开始(方框405)。在恢复电力至处理节点时,指令的执行可开始(方框410)。指令的执行可由执行单元或其它适当电路执行。在一些实例中,指令的执行可修改先前从存储器提供至缓存的数据。但是,对于达到阈值前的时间,缓存控制器可阻止缓存排除存储器层级中的其它存储位置而存储被修改数据(方框415)。在一个实施方案中,这可通过导致被修改数据除被写入至缓存外,还被写入至存储器层级中较低的至少一个其它位置而完成。在另一个实施方案中,这可通过阻止任意被修改数据写入至缓存中并且取而代之迫使其写入至存储器层级中较低级别的存储位置而完成。只要尚未达到阈值,阻止缓存排除存储器层级中的其它、较低级别位置而存储被修改数据就可继续。
如果尚未达到阈值(方框420,否),但处理节点未闲置(方框425,否),那么处理可继续(方框425)。如果尚未达到阈值(方框420,否),且处理节点闲置(方框425,是),那么处理节点可通过将电力从其移除而被置于睡眠模式中(方框430)。由于在移除电力前未达到阈值,所以无需针对唯一地存储其中的被修改数据搜索缓存或将其回写至存储器或存储器层级中的较低级别缓存。因此,进入睡眠模式可比在被修改数据被唯一地存储在缓存存储器中的情况下另外可能的情况更快地实现。
如果在处理节点变为闲置之前达到阈值(方框420,是),那么缓存控制器可允许被修改数据被唯一地存储在缓存存储器中。如果处理节点未闲置(方框425),那么处理可继续,其中缓存控制器允许被修改数据唯一地写入至缓存。应注意,一旦达到阈值,方框420即可保留在“是”路径上,直至处理节点变为闲置。一旦处理节点变为闲置(方块425,是),那么电力可从处理节点移除以将其置于睡眠状态中。但是,由于在处理节点变为闲置之前达到阈值,所以可在进入睡眠模式之前针对被修改数据搜索缓存存储器。缓存中发现的任意被修改数据随后可被回写至存储器或至较低级别缓存存储器。
图5和图6图示被称作避写模式的模式中缓存子***的操作。参考先前在图3中描述的缓存子***220的实施方案描述操作,但是应注意,本文中描述的方法可结合缓存子***的其它实施方案描述。
如图5中所示,当在避写模式中操作时,缓存控制器228可阻止被修改数据任意写入至L1数据缓存228中。被修改数据可由执行单元124在特定指令执行期间产生(1)。缓存控制器228可阻止被修改数据被写入至L2数据缓存229中(2)。被修改数据取而代之被写入至较低级别缓存存储器或主存储器中的至少一个(3)。因此,L2数据缓存229在于避写模式中操作时未接收或存储任意被修改数据。
图6进一步图示避写模式中的操作。方法500从恢复电力(例如,退出睡眠状态)至缓存子***开始(方框505)。方法进一步包括指令的执行,其在一些情况下可产生被修改数据(方框510)。如果响应于指令的执行产生被修改数据(方框515,是),那么缓存控制器可阻止被修改数据被写入至其相应缓存且可取而代之导致其被写入至较低级别缓存或主存储器(方框520)。如果指令未产生被修改数据(方框515,否),那么方法可继续至方框525。
如果尚未达到阈值(方框525,否),且与缓存子***相关的处理节点未闲置(方框530,否),那么方法返回至方框510。如果尚未达到阈值(方框525,否),但处理节点已变为闲置(方框530,是),那么缓存子***(和相应处理节点)可通过将移除电力而被置于睡眠模式中(方框535)。由于在本实例中尚未达到阈值,所以无需针对被修改数据搜索缓存,因为被修改数据至缓存的写入已被阻止。
如果达到阈值(方框525,是),那么处理可继续,同时允许被修改数据写入至缓存(方框540)。被修改数据可被写入至并且唯一地存储在缓存中。缓存可维持被修改数据的唯一存储直至其针对新数据被驱逐或直至缓存子***将被断电。一旦这两个事件的任一个发生,被修改数据就可被写入至较低级别缓存或至主存储器。在方框545中,处理节点可继续操作直至闲置,此时电力可从其上移除(方框535)。
对于L2缓存是共享缓存(即,存储数据和指令)的实施方案,避写模式的变型可实施。在这样一种实施方案中,在达到阈值之前,L2缓存可唯一地操作作为指令缓存。因此,如果尚未达到阈值,那么无数据被写入至L2缓存。因而,如果到相应缓存子***变为闲置之时尚未达到阈值,那么其可被置于睡眠状态中,而不针对被修改数据搜索L2,因为无数据已被写入其中。另一方面,如果在缓存子***变为闲置之前达到阈值,那么随后可允许数据写入至L2缓存(被修改和未修改两者)。
图7和图8图示被称作写直写模式的模式中缓存子***的操作。参考先前在图3中描述的缓存子***220的实施方案描述操作,但是应注意,本文中描述的方法可结合缓存子***的其它实施方案描述。
如图7中所示,在直写模式中操作期间将被修改数据写入至L1数据缓存可伴随被修改数据额外写入至存储器层级中更下方的存储位置。被修改数据可由执行单元124在特定指令执行期间产生(1)。缓存控制器228可通过将被修改数据写入至L2数据缓存229中而响应(2)。此外,被修改数据也可被写入至存储器层级中更下方的至少一个存储位置,诸如较低级别缓存或至主存储器中(3)。若被修改数据被写入至较低级别缓存,那么被修改数据被存储在至少两个不同位置中,且因此并非唯一于L2数据缓存229。如果被修改数据被回写至存储器,那么其可导致L2数据缓存229中相应脏位的清理,由此移除如修改的数据的状态。
直写模式中的操作进一步图示在图8中。方法700从恢复电力(例如,退出睡眠状态)至缓存子***开始(方框705)。方法进一步包含指令之执行,其在一些情况下可产生被修改数据(方框710)。如果响应于指令的执行产生被修改数据(方框715,是),那么缓存控制器可允许被修改数据被写入至其相应缓存中且也可导致所述数据被写入至较低级别缓存或主存储器(方框720)。如果指令未产生被修改数据(方框715,否),那么方法可继续至方框725。
如果尚未达到阈值(方框725,否),且与缓存子***相关的处理节点未闲置(方框730,否),那么方法返回至方框710。如果尚未达到阈值(方框725,否),但处理节点已变为闲置(方框730,是),那么缓存子***(和相应处理节点)可通过移除电力而被置于睡眠状态中(方框735)。由于在本实例中尚未达到阈值,所以无需针对被修改数据搜索缓存,因为写入至缓存的任意被修改数据也被存储在存储器层级中更下方的至少一个存储位置中。
如果达到阈值(方框725,是),那么处理可继续,同时允许被修改数据写入至缓存(方框740)。被修改数据可被写入至并且唯一地存储在缓存中。缓存可维持被修改数据的唯一存储直至其将针对新数据被驱逐或直至缓存子***将被断电。一旦这两个事件的任一个发生,被修改数据就可被写入至较低级别缓存或至主存储器。在方框745中,处理节点可继续操作直至闲置,此时电力可从其上移除(方框735)。
继续参考图9,示出包括代表***10的数据库905的计算机可访问存储介质900的框图。一般来说,计算机可访问存储介质900可包括可由计算机在使用期间访问以提供指令和/或数据至计算机的任意非暂时性存储介质。例如,计算机可访问存储介质900可包括存储介质,诸如磁性或光学介质,例如,磁盘(固定或可移除)、磁带、CD-ROM或DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW、或Blu-Ray。存储介质可进一步包括易失性或非易失性存储器介质,诸如RAM(例如,同步动态RAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM、低功率DDR(LPDDR2等)SDRAM、Rambus DRAM(RDRAM)、静态RAM(SRAM)等)、ROM、闪存、可经由诸如通用串行总线(USB)接口的***接口访问的非易失性存储器(例如,闪存)。存储介质可包括微机电***(MEMS)以及可经由通信介质(诸如网络和/或无线链路)访问的存储介质。
通常,携载在计算机可访问存储介质900上的代表***10和/或其部分的数据905可为数据库或其它数据结构,其可由程序读取并且直接或间接用于制作包括***10的硬件。例如,数据库905可为高级设计语言(HDL)(诸如Verilog或VHDL)中的硬件功能的行为级描述或寄存器传输级(RTL)描述。描述可由综合工具读取,其可综合描述以产生包括来自综合库的门列表的网络列表。网络列表包括一组门,其还表示包括***10的硬件的功能。网络列表随后可被放置和路由以产生描述将应用至掩码的几何形状的数据集。掩码随后可用于各种半导体制作步骤以产生半导体电路或对应于***10的电路。替代地,计算机可访问存储介质900上的数据库905根据需要可为网络列表(具有或不具有综合库)或数据集,或图形数据***(GDS)II数据。
虽然计算机可访问存储介质900携载***10的代表,但是其它实施方案可根据需要携载***10的任意部分的代表,包括IC 2、任意代理集合(例如,处理核心11、I/O接口13、北桥12、缓存子***等)或代理的部分。
虽然已参考特定实施方案描述本发明,但是应了解实施方案是说明性的且本发明范围不限于此。对所描述的实施方案的任意变型、修改、添加和改进是可行的。这些变型、修改、添加和改进可属于如下文权利要求内详述的本发明的范围内。
Claims (30)
1.一种缓存子***,其包括:
用于耦合至缓存存储器的缓存控制器,其中所述缓存控制器被配置来响应于恢复电力至所述缓存子***而阻止被修改数据唯一地写入至所述缓存存储器中。
2.根据权利要求1所述的缓存子***,其中所述缓存控制器被配置来在被修改数据也被写入至存储器层级中比所述缓存存储器低的至少一个额外位置的情况下导致所述被修改数据在恢复电力之后被写入至所述缓存存储器。
3.根据权利要求2所述的缓存子***,其中所述缓存控制器被配置来在被修改数据也被写入至较低级别缓存的情况下导致所述被修改数据在恢复电力后被写入至所述缓存存储器中。
4.根据权利要求2所述的缓存子***,其中所述缓存控制器被配置来在被修改数据也被写入至主存储器的情况下导致所述被修改数据在恢复电力后被写入至所述缓存存储器中。
5.根据权利要求1所述的缓存子***,其中所述缓存控制器被配置来阻止被修改数据被写入至所述缓存存储器且进一步被配置来导致被修改数据被写入至存储器层级中比所述缓存存储器低的至少一个额外位置。
6.根据权利要求5所述的缓存子***,其中所述缓存控制器被配置来导致被修改数据被写入至所述存储器层级中的较低级别缓存。
7.根据权利要求5所述的缓存子***,其中所述缓存控制器被配置来导致被修改数据被写入至主存储器。
8.根据权利要求1所述的缓存子***,其中所述缓存控制器被配置来阻止被修改数据唯一地写入至所述缓存存储器中直至达到阈值,其中所述缓存控制器被进一步配置来使被修改数据能在达到所述阈值之后被唯一地写入至所述缓存存储器中。
9.根据权利要求8所述的缓存子***,其中所述阈值是事件数量。
10.根据权利要求9所述的缓存子***,其中所述事件是写入被修改数据至存储器层级中的至少一个存储单元的实例。
11.根据权利要求8所述的缓存子***,其中所述阈值是从电力恢复至所述缓存子***开始的时间量。
12.一种方法,其包括:
恢复电力至缓存子***;和
响应于恢复电力至所述缓存子***而阻止被修改数据被唯一地写入至所述缓存存储器中。
13.根据权利要求12所述的方法,其中所述阻止通过缓存控制器执行且其中所述方法进一步包括:
所述缓存控制器在达到阈值之前执行所述阻止被修改数据被唯一地写入至所述缓存存储器中;和
所述缓存控制器在达到所述阈值之后实现被修改数据唯一地写入至所述缓存存储器中。
14.根据权利要求13所述的方法,其中所述阈值是预定事件数量。
15.根据权利要求14所述的方法,其中所述事件是写入被修改数据至存储器层级中的至少一个存储单元的实例。
16.根据权利要求13所述的方法,其中所述阈值是从电力恢复至所述缓存子***开始的时间量。
17.根据权利要求13所述的方法,其进一步包括在恢复电力至所述缓存子***与达到所述阈值之间的时间段内写入被修改数据至所述缓存存储器及较低级别缓存存储器和主存储器中的至少一个。
18.根据权利要求13所述的方法,其进一步包括写入被修改数据至存储器层级中比所述缓存存储器低的至少一个额外位置同时阻止被修改数据被写入至所述缓存存储器中。
19.根据权利要求18所述的方法,其中所述至少一个额外位置是较低级别缓存存储器。
20.根据权利要求18所述的方法,其中所述至少一个额外位置是在主存储器中。
21.根据权利要求13所述的方法,其进一步包括响应于所述处理器核心在达到所述阈值之前变为闲置而将电力从包括所述缓存子***的处理器核心移除。
22.一种***,其包括:
具有至少一个处理器核心的处理器,其中所述至少一个处理器核心包括缓存子***,所述缓存子***包括:
第一缓存存储器;和
耦合至所述第一缓存存储器的缓存控制器,其中所述第一缓存控制器被配置来在恢复电力至所述第一处理器核心时,阻止被修改数据唯一地写入至所述第一缓存存储器中。
23.根据权利要求22所述的***,其中所述处理器进一步包括在存储器层级中比所述第一缓存存储器低的第二缓存存储器,且其中所述***包括耦合至所述处理器的主存储器,其中所述主存储器在所述存储器层级中比所述第二缓存存储器低。
24.根据权利要求23所述的***,其中所述缓存控制器被配置来在被修改数据块也被写入至所述第二缓存存储器和所述主存储器中的至少一个的情况下使所述被修改数据块能被写入至所述第一缓存存储器中。
25.根据权利要求23所述的***,其中响应于所述至少一个处理器核心产生被修改数据块,所述缓存控制器被配置来阻止所述被修改数据块被写入至所述第一缓存存储器,且其中所述处理器核心被配置来导致所述被修改数据块被写入至所述第二缓存存储器和所述主存储器中的至少一个。
26.根据权利要求22所述的***,其中所述第一控制器被配置来在达到阈值的情况下停止阻止被修改数据唯一地写入至所述第一缓存存储器中。
27.根据权利要求26所述的***,其进一步包括电力管理单元,其中所述电力管理单元被配置来响应于确定所述至少一个处理器核心在达到所述阈值之前已变为闲置而将电力从所述至少一个处理器核心移除。
28.一种非暂时性计算机可读介质,其包括可由可在计算机***上执行的程序操作的数据结构,所述程序操作所述数据结构以执行进程的一部分以制作包括由所述数据结构描述的电路的集成电路,以所述数据结构描述的所述电路包括:
耦合至缓存存储器的缓存控制器,其中所述缓存控制器被配置来在恢复电力至所述缓存子***时,阻止被修改数据唯一地写入至所述缓存存储器中。
29.根据权利要求28所述的计算机可读介质,其中由所述数据结构描述的所述缓存控制器被配置来响应于达到所述阈值而停止阻止被修改数据唯一地写入至所述缓存存储器中。
30.根据权利要求28所述的计算机可读介质,其中所述数据结构包括一个或多个下列类型的数据:
HDL(高级设计语言)数据;
RTL(寄存器传输级)数据;
图形数据***(GDS)II数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/435,539 | 2012-03-30 | ||
US13/435,539 US20130262780A1 (en) | 2012-03-30 | 2012-03-30 | Apparatus and Method for Fast Cache Shutdown |
PCT/US2013/034847 WO2013149254A1 (en) | 2012-03-30 | 2013-04-01 | Apparatus and method for fast cache shutdown |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104272277A true CN104272277A (zh) | 2015-01-07 |
Family
ID=48143370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380018635.8A Pending CN104272277A (zh) | 2012-03-30 | 2013-04-01 | 用于快速缓存断电的设备和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20130262780A1 (zh) |
EP (1) | EP2831744A1 (zh) |
JP (1) | JP2015515687A (zh) |
KR (1) | KR20140139610A (zh) |
CN (1) | CN104272277A (zh) |
IN (1) | IN2014DN08648A (zh) |
WO (1) | WO2013149254A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697172A (zh) * | 2017-10-24 | 2019-04-30 | 英飞凌科技股份有限公司 | 用于暂存存储内容的存储器装置和方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108734A1 (en) * | 2012-10-17 | 2014-04-17 | Advanced Micro Devices, Inc. | Method and apparatus for saving processor architectural state in cache hierarchy |
US9541984B2 (en) * | 2013-06-05 | 2017-01-10 | Apple Inc. | L2 flush and memory fabric teardown |
WO2015193777A1 (en) * | 2014-06-20 | 2015-12-23 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US11169925B2 (en) * | 2015-08-25 | 2021-11-09 | Samsung Electronics Co., Ltd. | Capturing temporal store streams into CPU caches by dynamically varying store streaming thresholds |
US9946646B2 (en) * | 2016-09-06 | 2018-04-17 | Advanced Micro Devices, Inc. | Systems and method for delayed cache utilization |
US20200388319A1 (en) | 2019-06-07 | 2020-12-10 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, electronic component, and electronic device |
US11436251B2 (en) * | 2020-10-02 | 2022-09-06 | EMC IP Holding Company LLC | Data size based replication |
TW202344986A (zh) * | 2022-05-12 | 2023-11-16 | 美商賽發馥股份有限公司 | 向量載入-儲存管線選擇 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761705A (en) * | 1996-04-04 | 1998-06-02 | Symbios, Inc. | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches |
US6052789A (en) * | 1994-03-02 | 2000-04-18 | Packard Bell Nec, Inc. | Power management architecture for a reconfigurable write-back cache |
US20050278486A1 (en) * | 2004-06-15 | 2005-12-15 | Trika Sanjeev N | Merging write-back and write-through cache policies |
CN1240000C (zh) * | 1999-03-31 | 2006-02-01 | 国际商业机器公司 | 用于改进超高速缓存性能的输入/输出页面删除确定 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68926466T2 (de) * | 1988-01-20 | 1996-10-17 | Advanced Micro Devices Inc | Integrierte Cachespeichereinheit |
EP0600626A1 (en) * | 1992-11-13 | 1994-06-08 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache |
JP3136036B2 (ja) * | 1993-11-16 | 2001-02-19 | 富士通株式会社 | ディスク制御装置の制御方法 |
US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
US20020138778A1 (en) * | 2001-03-22 | 2002-09-26 | Cole James R. | Controlling CPU core voltage to reduce power consumption |
US7496770B2 (en) * | 2005-09-30 | 2009-02-24 | Broadcom Corporation | Power-efficient technique for invoking a co-processor |
US7562191B2 (en) * | 2005-11-15 | 2009-07-14 | Mips Technologies, Inc. | Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme |
US7257507B1 (en) * | 2006-01-31 | 2007-08-14 | Credence Systems Corporation | System and method for determining probing locations on IC |
US8285936B2 (en) * | 2009-10-20 | 2012-10-09 | The Regents Of The University Of Michigan | Cache memory with power saving state |
EP2330753A1 (en) * | 2009-12-04 | 2011-06-08 | Gemalto SA | Method of power negotiation between two contactless devices |
JP5445326B2 (ja) * | 2010-05-19 | 2014-03-19 | 株式会社リコー | 画像形成装置 |
-
2012
- 2012-03-30 US US13/435,539 patent/US20130262780A1/en not_active Abandoned
-
2013
- 2013-04-01 WO PCT/US2013/034847 patent/WO2013149254A1/en active Application Filing
- 2013-04-01 JP JP2015503683A patent/JP2015515687A/ja active Pending
- 2013-04-01 EP EP13717911.5A patent/EP2831744A1/en not_active Withdrawn
- 2013-04-01 CN CN201380018635.8A patent/CN104272277A/zh active Pending
- 2013-04-01 KR KR20147030486A patent/KR20140139610A/ko not_active Application Discontinuation
- 2013-04-01 IN IN8648DEN2014 patent/IN2014DN08648A/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052789A (en) * | 1994-03-02 | 2000-04-18 | Packard Bell Nec, Inc. | Power management architecture for a reconfigurable write-back cache |
US5761705A (en) * | 1996-04-04 | 1998-06-02 | Symbios, Inc. | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches |
CN1240000C (zh) * | 1999-03-31 | 2006-02-01 | 国际商业机器公司 | 用于改进超高速缓存性能的输入/输出页面删除确定 |
US20050278486A1 (en) * | 2004-06-15 | 2005-12-15 | Trika Sanjeev N | Merging write-back and write-through cache policies |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697172A (zh) * | 2017-10-24 | 2019-04-30 | 英飞凌科技股份有限公司 | 用于暂存存储内容的存储器装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013149254A1 (en) | 2013-10-03 |
KR20140139610A (ko) | 2014-12-05 |
JP2015515687A (ja) | 2015-05-28 |
US20130262780A1 (en) | 2013-10-03 |
EP2831744A1 (en) | 2015-02-04 |
IN2014DN08648A (zh) | 2015-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104272277A (zh) | 用于快速缓存断电的设备和方法 | |
US9864681B2 (en) | Dynamic multithreaded cache allocation | |
US8438416B2 (en) | Function based dynamic power control | |
US9262322B2 (en) | Method and apparatus for storing a processor architectural state in cache memory | |
US9182999B2 (en) | Reintialization of a processing system from volatile memory upon resuming from a low-power state | |
CN101048763B (zh) | 一种配置处理器的高速缓冲存储器的方法与处理器 | |
US9720487B2 (en) | Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration | |
US9261935B2 (en) | Allocating power to compute units based on energy efficiency | |
US20160077575A1 (en) | Interface to expose interrupt times to hardware | |
US20130346683A1 (en) | Cache Sector Dirty Bits | |
US9875108B2 (en) | Shared memory interleavings for instruction atomicity violations | |
CN109716307B (zh) | 用于延迟的高速缓存利用的***和方法 | |
CN102163072A (zh) | 用于节能的基于软件的线程重映射 | |
US9256544B2 (en) | Way preparation for accessing a cache | |
US20150363116A1 (en) | Memory controller power management based on latency | |
CN103176943A (zh) | 用于功率优化的多处理器同步的方法 | |
CN102597972A (zh) | 虚拟计算机***、区域管理方法及程序 | |
US9043628B2 (en) | Power management of multiple compute units sharing a cache | |
CN107851006B (zh) | 多线程寄存器映射 | |
US20220318053A1 (en) | Method of supporting persistence and computing device | |
US20190259448A1 (en) | Save and restore scoreboard | |
US8438335B2 (en) | Probe speculative address file | |
US20160246360A1 (en) | Pruning of low power state information for a processor | |
WO2014016951A1 (ja) | 情報処理装置 | |
US9317100B2 (en) | Accelerated cache rinse when preparing a power state transition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |