CN101243379A - 用于降低功率的动态存储器大小调整 - Google Patents
用于降低功率的动态存储器大小调整 Download PDFInfo
- Publication number
- CN101243379A CN101243379A CNA2006800304570A CN200680030457A CN101243379A CN 101243379 A CN101243379 A CN 101243379A CN A2006800304570 A CNA2006800304570 A CN A2006800304570A CN 200680030457 A CN200680030457 A CN 200680030457A CN 101243379 A CN101243379 A CN 101243379A
- Authority
- CN
- China
- Prior art keywords
- road
- multichannel
- storer
- memory
- equipment
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 88
- 230000009467 reduction Effects 0.000 title abstract description 3
- 238000004513 sizing Methods 0.000 title 1
- 230000007958 sleep Effects 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 47
- 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 claims description 17
- 238000003860 storage Methods 0.000 claims description 16
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 9
- 230000008602 contraction Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000005059 dormancy Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000009958 sewing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/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
- 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
-
- 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
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0864—Addressing 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
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本文针对具有耦合休眠装置的存储器而描述了用于降低功率的动态存储器的系统和方法。在一个实施例中,运行要求可反映执行相当操作所需的存储器量。存储器电源管理逻辑用于协调存储器要求与操作要求。休眠装置能够基于要求而启用或禁用存储器以减小功耗。
Description
技术领域
本发明的一个或多个实施例大致涉及集成电路和/或计算系统。具体地说,某些实施例涉及存储电路的电源管理。
背景技术
随着使用具有更多晶体管和更高频率的高级处理器的趋势在持续增长,计算机设计者和制造商经常面临相应的功耗增大问题。此外,提供更快和更小组件的制造技术同时导致了漏泄功率增大。尤其是在移动计算环境中,这些都增大会导致过热,而可能不利地影响性能并大大缩短电池寿命。
由于例如在微处理器中关注性能和较小外形的因素,高速缓存大小在增大以实现给定硅面积的最佳性能。近来趋向甚至更大存储器大小的这些趋势增大了与存储器相关联的功耗部分。因此,存储器浪费的漏泄功率相对于中央处理器(CPU)的总功率而言很重要。
附图说明
本领域的技术人员在阅读以下说明书和随附权利要求书并参照附图后,将明白本发明实施例的各种优点,其中:
图1是根据本发明一个实施例,实现动态大小调整的存储器架构的示例方框图;
图2是根据本发明一个实施例,实现动态大小调整的存储器架构的另一示例方框图;
图3是根据本发明一个实施例,实现动态大小调整的存储器架构的单元级别示例方框图;
图4是根据本发明一个实施例,实现动态大小调整的存储器架构的单元级别示例方框图;
图5是根据本发明一个实施例,实现动态大小调整的存储器架构的另一单元级别示例方框图;
图6-8是根据本发明实施例的休眠装置各种示例图;
图9是根据本发明实施例的示例计算机系统系统级别方框图;
图10是根据本发明一个实施例,管理动态存储器大小调整的方法示例流程图;
图11是根据本发明一个实施例,管理动态存储器大小调整的方法的另一示例流程图;以及
图12是根据本发明一个实施例的动态存储器管理的状态机示例图。
具体实施方式
计算机系统和/或相关联软件实际可能需要的存储器量经常因时间而不同。例如,对于一般的应用程序,在任何给定时间可能只需要小部分的存储器。根据一个或多个实施例,诸如图1所示存储器的存储器可动态调整大小以降低存储电路和使用它的系统的功率要求。具体而言,如本文中所述一样,本发明的实施例能够通过在不需要和/或未选择存储器的一个或多个子区时禁用那些子区,从而可实现降低功耗,且实际上不影响性能。
图1示出根据一个实施例的,可动态调整大小的存储器100的图示。图1示例实施例的可动态调整大小存储器是例如可使用静态随机存取存储器(SRAM)实现的n路相联超高速缓存。可动态调整大小的存储器100包括多个子区102a、102b-102n(在此特定示例中每个子区均为路(way)),每个如图所示分别单独耦合到多个休眠装置(sleepdevice)104a、104b-104n,使得每个子区或路102可选择性地启用/禁用。根据本发明一个或多个实施例,休眠装置104可包括用于选择性地将存储器的关联子区与电源耦合/去耦合的休眠晶体管。
图3示出在晶体管级别的此类实现的示例子区或路300。路300包括耦合到休眠装置304的单元302a、302b-302m。路300的电源可通过串联晶体管304耦合到主集成电路的全局电源线,串联晶体管在本文可称为休眠装置或休眠晶体管。图4示出可对应于图3单元之一302的单个单元402。更具体地说,如图3和图4所示,休眠装置304和404的输入端口耦合到电源(此示例中的Vss),并且输出端口耦到可称为阵列虚拟电源或VVss的阵列电源。
虽然图3和图4示例实施例示出耦合在存储器子区与Vss之间的休眠装置,但对于备选实施例,休眠装置可如图5为单元502所示转为耦合在存储器子区与Vcc之间,或者休眠电路可耦合在每个Vcc和Vss与相关联子区之间。
根据一个或多个实施例,只要相关联的路在活动状态,休眠装置便可打开,并且在确定相关联路要停用时便可关闭。由于关闭休眠装置和禁用存储器的相关联子区,虚拟电源的轨对轨电压(rail-railvoltage)会降低。相关联存储器阵列的漏泄功率由于漏泄取决于电压,因而就会降低(参见下面的等式1)。
Ilkg=k·Vn (等式1)
其中,I1kg是漏泄电流;V是轨对轨电压;k可以为常数,并且n可以但不必一定是大于3。
图6-7示出根据本发明实施例的休眠装置备选实施例。图6示出具有两个休眠晶体管606a和606b的休眠装置604。此配置的优点包括但不限于休眠晶体管606a具有与606b不同的电阻值的情况。在实施例中,通过减小休眠晶体管606a的面积,休眠晶体管606a栅极(gate)的电压可高于接地电压,因此无需太多电压禁用路或单元602。
类似地,其它优点由如图7所示休眠装置704和图8所示休眠装置804提供。休眠装置704可用于逐渐降低提供到路或单元702的功率。休眠装置804可用于有限降低提供到路或单元802的功率。图6-8的备选休眠装置提供备选实施例,这些实施例示出根据本发明实施例,本领域的技术人员基于本文提供的示教可采用的休眠装置的类型,并且无意限制本发明的范围。另外,正如本领域的技术人员可明白的一样,休眠装置的这些各种实施例可具有比其它应用更专业化的应用,并且因此对于某些可动态调整大小的存储器可能更有利。
对于其它实施例,各种电路和/或其它技术可用于实现备选休眠逻辑和/或使用不同方案提供类似于休眠装置的功能。例如,在本发明的一个实施例中,存储器的不同子区可在不同的电源层(power plane)上实现,使得存储器子区可通过电源层控制而被启用/禁用。其它方案在各种实施例的范围内。
虽然此处示出了路和相关联休眠装置的多个单独对,但在不脱离本发明实施例精神和范围的情况下,可在各种布置中轻松实现本发明的实施例。例如,图2示出根据本发明备选实施例的、包括耦合到单个休眠装置204的多个路202a、202b-202n的动态存储器200,其中,n可以为大于1的任何数字。路和休眠装置在功能和设计上可类似于图1所述,但在此实施例中,休眠装置204可停用以禁用与其相关联的所有路。
此外,虽然为便于说明,在本文中描述了在微处理器上实现的n路相联超高速缓存,但将理解,本发明的实施例可应用到其它类型的存储器,包括具有在另一类型集成电路装置上实现的不同架构和/或存储器的高速缓存。
例如,对于其它实施例,可使用本文所述一个或多个方案,选择性地启用和/或禁用包括各种级别高速缓存的存储器其它分区、子区或部分。所示的路因此可提供方便的单元分组,如阵列,但术语“路”的使用无意限制本发明的精神或范围。
再参照图1,如上所述,休眠装置104a可停用,以便在不需要路102a时禁用路102a,从而提供更小的漏泄功率,或者可激活以启用路102a。要注意的是,相对于存储器使用术语启用,指的是在任何活动级别(active level)的存储器的供电;而使用术语禁用,指的是去除或阻止到存储器的电源。从逻辑角度而言,根据本文所述的本发明实施例,已启用存储器可被访问以进行读/写操作,而已禁用存储器则不可以。
根据一个或多个实施例,为了启用和/或禁用可动态调整大小的存储器100的相关联子区,休眠装置104a-104n可由存储器电源管理逻辑或其它逻辑(未示出)控制,逻辑可在主集成电路、计算机系统或软件中实现。下面参照图9来描述此类实现的一个示例。
图9是根据本发明示例实施例,具有可动态调整大小的存储器905的计算机系统900方框图。计算机系统900可以为个人计算机系统,如膝上型、笔记本或台式计算机系统。计算机系统900可包括一个或多个处理器901,处理器可包括,诸如但不限于,由核902和核904所示的一个或多个核子块,例如可以为L2高速缓存的可动态调整大小的高速缓存906及可包括存储器电源管理逻辑907的存储器管理逻辑906。一个或多个处理器901可以为Intel架构体系微处理器。对于其它实施例,处理器可以为不同类型的处理器,如图形处理器、数字信号处理器、嵌入式处理器等,和/或可实现不同的架构。
一个或多个处理器901可与一个或多个时钟源908一起工作,并且备有一个或多个电压源819的电源。一个或多个处理器901也可与诸如存储器912等其它级别的存储器通信。诸如系统存储器(RAM)918a等更高存储器层次级别和诸如可包括在系统内或可由系统访问的海量存储装置等存储器918b可经主机总线914和芯片组916而被访问。
另外,举例如图形接口920和网络接口922等其它功能部件可经适当的总线或端口与一个或多个处理器901通信。例如,存储器912、RAM 918a和/或存储器918b可包括用于根据本发明实施例的动态调整存储器大小的子区。此外,本领域的技术人员将认识到,在不脱离所述实施例精神或范围的情况下,所示的一些或全部组件可通过改变图9所示内容,使用不同的分区和/或集成方案实现。
对于一个实施例,存储器918b可存储软件,如操作系统924。对于一个实施例,操作系统是由在华盛顿州雷蒙德的微软公司提供的Windows操作系统,它包括根据高级配置和电源接口(ACPI)标准(例如,2004年9月2日发布的ACPI规范3.0版、2003年8月25日发布的2.0c版、2000年7月27日发布的2.0版等)的特性和功能,并提供用于运行系统控制的电源管理(OSPM)。对于其它实施例,操作系统可以为不同类型的操作系统,如Linux操作系统。
当系统900是移动个人计算系统时,其它类型的系统也在各种实施例范围内,如其它类型的计算机(例如,掌上型、服务器、平板型、环球网设备、路由器等)、无线通信装置(例如,蜂窝电话、无绳电话、寻呼器、个人数字助理等)、计算机有关的外围设备(例如,打印机、扫描器、监视器等)、娱乐装置(例如,电视、收音机、立体音响、磁带和压缩光盘播放器、盒式录像机、摄像机、数码相机、MP3(移动图像专家组,音频层3)播放器、视频游戏、手表等)。各种上述图形所示的存储电路也可为任何类型,并且可在任何上述系统中实现。
一个实施例的存储器电源管理模块907可实现为有限状态机(FSM)。图12中示出对应于一个示例实施例存储器电源管理模块907运行的状态图。
存储器电源管理模块907可与诸如电源管理模块906等处理器901的其它特性和功能协同工作。具体而言,一个实施例的存储器管理模块可控制处理器901和/或单个核902和904的电源管理,包括在各种电源状态之间的转换。例如,在操作系统924支持ACPI的情况下,电源管理模块907可控制和跟踪各种核的c状态(c-state)和/或p状态(p-state)。电源管理模块也可存储或以其它方式访问在一个或多个实施例的动态存储器大小调整方案中要使用的其它信息,如处理器和/或一个或多个核的工作电压/频率、最小高速缓存大小、定时器信息和/或在寄存器或其它数据存储器中存储的其它信息。
继续参照图9和图12,存储器电源管理模块在三个高级状态(可为各种实施例而包括中间状态)之间转换:完整高速缓存大小1205、最低高速缓存大小1210和停止收缩(Stop Shrink)1215。在这些状态之间的转换可协同耦合到存储器905的微代码(μC0de)或其它模块926进行管理。对于完整高速缓存大小状态1205,可请求微代码926将高速缓存返回为其完整大小。这是默认(重置)状态。对于最小高速缓存大小状态1210,可请求微代码926将高速缓存缩小为其最小大小。对于一些实施例,最小大小是可编程的(例如,经微代码),并可通过各种设计考虑因素确定,诸如但不限于,一般软件配置文件、在减小高速缓存大小中的可接受延迟、更低时存储器不运行的最小大小和/或其它因素。要注意的是,正如本领域的技术人员将理解的一样,存储器的任何最小大小可取决于系统的状态,并且因此随时间变化。对于停止收缩状态1215,可请求微代码停止高速缓存收缩序列(cache shrinksequence)。已禁用或关闭的路或其它子区保持禁用,但有效的高速缓存大小不再进一步减小。
这些状态之间的转换可根据某些变量进行管理,这些变量例如可存储在寄存器或其它数据存储器(未示出)。例如,对于一个实施例,这些变量可包括但不限于1)除了一个外所有核在低功率状态,2)比率<=收缩阈值,3)c状态定时器输出4)至少一个核在低功率状态,5)比率>收缩阈值,6)扩展和/或7)收缩。
对于包括2个核并根据ACPI规范工作的图9处理器901,变量“除一个外所有核在低功率状态”可设置用于一个实施例以响应确定一个核已经在C4状态,而在动态存储器大小调整操作期间可继续执行的其它核仍在活动状态(C0)。对于一个实施例,如果任何核具有中断事件未决(break event pending),则不应设置此变量。如果在处理器901上存在两个(或更多个)核,而一个(或更多个)核被禁用或去除,则在决策进程期间可忽略该核。
对于一个实施例,“比率<=收缩阈值”变量可设置以响应处理器901或其一个核被设计为以比设为收缩阈值的预定频率更低/相等的频率操作。收缩阈值可设计用于一些实施例,并可等于零。
在确定是否在状态之间转换时,也可考虑一个或多个定时器的输出。例如,对于一个实施例,诸如8位降值计数器等定时器可用于统计处理器(或核)在活动或C0状态所处的连续时间,并可指示何时该时间超过预设计的阈值。对于此示例,可使用变量“C0定时器超过阈值”。
对于图9所示的示例处理器和系统,在一个核已进入稳定的C1、C2或C3状态而不是C4或WFS状态时,可设置变量“至少一个核在低功率状态”。
在处理器或其一个核设计为以比收缩阈值更高的频率操作时,可设置“比率>收缩阈值”变量。对于一些实施例,如果收缩阈值等于0,则在确定是否扩展存储器时无需考虑此比率。
对于一个实施例,如果比率>收缩阈值、至少一个核在低功率状态和/或C0定时器>阈值,则可设置“扩展”变量,或者可以其它方式启用动态存储器扩展。对于其它实施例和/或实现,可在不同条件下或者响应不同输入而设置扩展变量。
对于一个实施例,如果设置了比率<=收缩阈值并且设置了除一个外所有核都在低功率状态,则可设置“收缩”变量或者可以其它方式启用动态存储器大小减小。
继续参照图9和图12,对于一个实施例,为响应确定一个核已经在C4(或其它低功率)状态以及处理器901在收缩阈值p状态下操作时,可为多核处理器进行从完整高速缓存大小状态1205到最小高速缓存大小1210的转换。随后可假设有效高速缓存减小将对性能影响不大,并且因此可以启动。同时,可确认无需有效存储器扩展,例如,C0定时器未超时以指示活动因素可能上升。
一旦微代码已输入在C4状态的核上的C4流,微代码便可检测将存储器有效大小减小到最小高速缓存大小的请求,并开始禁用存储器的路或其它子区。对于一个实施例,在最小高速缓存大小状态1210,路或其它子区一次可禁用一个。对于其它实施例可使用其它方案。
在动态存储器大小减小过程期间,微代码可在可编程组块或其它间隔后停止收缩进程以确定是否仍断定为收缩变量。如果不是,则冻结收缩进程。此外,如果出现未决中断,则将中断收缩进程。
一旦预定数量的路或其它子区已关闭,剩余核便可指示C4状态,使整个处理器901进入C4状态。对于一些实施例,此顺序可为最后一个核的每个C4条目重复进行,直至高速缓存已达到预定的最小大小。此后,可忽略收缩请求。
在最小高速缓存大小状态1210时,如果一个核退出了C4状态,并且扩展操作(或设置扩展变量)的条件尚未满足,或者任一核存在未决中断请求,则可拒绝收缩变量,并且可停止收缩进程(即,可进入停止收缩状态1215)。这会使存储器905处于中间有效大小,直至继续收缩的条件出现或者扩展操作的条件出现。如果有效存储器905大小低于给定数量的路或其它子区,如更低时存储器905将无法正确运行的最小路数,并且未达到“0”,或者最小大小已设计在给定级别,例如,“重新打开为2”,则微代码可能需要重新打开存储器,以便至少给定数量的路或其它子区在运行。
从最小高速缓存大小状态1210或停止收缩状态1215,可能出现有效扩展存储器905的指示。扩展存储器905可基于活动因素已增大的一个或多个指标。对于一个实施例,指标可包括转换到比收缩阈值更高的p状态,一个核转换到不同的功率状态(例如,C1/2/3而不是以C4为目标),和/或C0定时器超过其阈值。此类事件可指示程序在其更长的活动延伸期之一。如果出现任何上述情况,则可断定为扩展变量,或者可以其它方式启动存储器905的有效扩展。
对于一个实施例,有效存储器扩展可大致瞬间出现,即,除防止电流尖峰的一定延迟外不经过多个周期。在扩展后,微代码可忽略扩展请求。除以上所述之外,对于一些实施例,在每个核C4退出时,微代码可检查收缩变量(或收缩控制区域(shrink control field))继续中断(break)以到达更高功率状态前,微代码可将存储器扩展回最小路数。
对于收缩进程,一些另外的考虑因素可应用到一个或多个实施例。例如,对于一些实施例,微代码可能需要通过信号量(semaphore)控制存储器收缩段条目(shrink segment entry),以便一次只有单个核可访问存储器接口。(对于上述示例实施例,假设其它核在核C4状态,但在扩展段或进程期间可能无法保证此假设。任何情况下,事件计时可导致在收缩流的原子段(atomic segment)完成前中断(break)。信号量可确保第二个核将不访问存储器接口,直至收缩/扩展进程完成。)
此外,为防止存储器905的问题,微代码可能需要在收缩/减小进程进行时确保阻止第二个(或其它)核进入C4状态。对于一些实施例,这可能基于相同的信号量而在硬件中发生,但微代码可能需要通过在开始实际的原子收缩流(atomic shrink flow)前,重新检查收缩指示以考虑延迟因素。
由于收缩流可能很长,因此,微代码可能需要定期检测并确保无中断未决(break pending),并且未出现停止收缩流的请求。这可通过测试是否仍断定为收缩变量而在每个“组块”后定期完成。如果微代码检测到收缩条件已结束,则它应释放信号量以确保其它核可响应中断事件并继续其它流。如果检测到任何未决中断事件,并且因此可能不需要在流中间打开中断窗口,则可忽略收缩请求/变量。
对于一些实施例,如上所述,可能有更低时存储器905无法操作的最小有效大小。例如,如果存储器905的最小大小为2路(即,只启用1路时它无法正确运行),收缩进程即使设计为一次收缩1路或其它子区,它也可直接从启用2路转到0路。
对于一个实施例,对于“正常”扩展流,微代码可尝试在每个核C4退出(解退(unwind))时捕获信号量而不考虑是否需要扩展。因此,休眠或低功率核(对于多核处理器)可能在收缩流期间无法开始执行,以防止与收缩进程之间出现可能的争用。存储器扩展可在中断微代码处理例程期间执行。对于一些实施例,如上所述,在存储器低于最小可操作大小而无法操作的情况下,它可在某些条件下直接扩展到最小可操作大小。例如,在本发明的实施例中,如果处理器可实现MWAIT状态,则自动扩展可在每次MWAIT退出时实现,并且存储器可直接转到最小可操作有效大小。
自动检查架构(MCA)例外(exception)可在退出收缩流的核上出现(例如,在存储器905上的奇偶误差),或者在其它核的时钟已重新启动和/或已开始核C4退出时在其它核上出现。在两种情况下,存储器905都可能已减小到低于最小可操作大小,并且可能已达到零有效大小。由于这不是合法的可操作大小,并且由于可假设可能不会很快再次进入C4,因此,可要求微代码在MCA例外处理程序中完全扩展存储器905。因此,在MCA例外发生时,微代码可能需要执行类似于MWAIT的展开流(unwind flow),包括捕捉信号量,扩展存储器905到其最大有效大小(如果尚未达到),释放信号量以及随后将核移到活动状态。
为响应收到缩小高速缓存的命令,可执行以下组操作中的一个或多个操作:
1.偏移新线路的分配,使得可不为新请求分配要禁用的路。
2.扫描要禁用路中的所有位置。如果发现有效的数据,则在数据为处理过的数据(clean data)时应使其失效,在其已修改时应将其写回。注意,正如本领域的技术人员将认识到的一样,除MESI(4种状态:已修改、独占、共享、无效)外的备选一致性或写无效协议可由本发明实现和使用。例如,本领域的技术人员将容易明白可实现MOESI(5种状态:已修改、所有者、独占、共享、无效)或DRAGON(4种状态:有效独占、共享处理、共享修改、脏(dirty))。
3.将要禁用的路标记为“已禁用”,并通过信号将状态更改发送到存储器。
在这些操作期间,根据本发明的实施例,要禁用路中的所有有效数据可供读写访问。在应扩展高速缓存时的实施例中,存储器电源管理逻辑可标记要启用的路。根据本发明的实施例,如果当前在禁用状态的任何路接收功率,使得其状态可能不确定,则可在那些路可供系统或处理器使用前使它们失效。
虽然上面已描述了一个或多个实施例的许多细节,但将理解,对于其它实施例,可实现用于动态减小存储器大小的其它方案。例如,虽然上述提到特定的电源状态,但在确定扩展或降低有效存储器大小时,可考虑其它电源状态和/或其它因素。此外,虽然作为示例上面描述了在个人计算机的双核处理器中的高速缓存,但将理解,根据一个或多个实施例的动态存储器大小调整方案可应用到不同类型的存储器和/或主集成电路芯片和/或系统。
例如,根据本发明各种实施例,存储器电源管理逻辑或其它软件或硬件一般可监视主处理器的工作负载和/或尤其是监视存储器的工作负载。如果处理器在长时间内不活动,和/或如果应用程序只消耗小部分的可用的总高速缓存,则存储器电源管理逻辑可根据所有或部分处理器或计算系统的电源状态,发布命令以有效地收缩存储器。这可如图1示例实施例中所示,通过禁用例如一路或更多路的部分活动存储器而完成。存储器电源管理逻辑检测到处理器长时间在活动状态,则所有或部分处理器或主计算系统在给定功率状态,和/或高速缓存大小可能不够大,无法完成处理器或计算系统所需的操作时,它可发布命令或以其它方式控制逻辑,通过启用更多的存储器来扩展高速缓存。
因此,根据本发明一个实施例,硬件协调监视器可迭代(iteratively)确定何时所需路数少于已启用的路数,并停用休眠装置以禁用一路或更多路,使得已启用路数大体上等于所需路数。
此外,根据本发明一个实施例,通过使用一个或多个一致性协议,硬件协调监视器可扫描一路或更多路以查找至少要写入存储器的数据。
在本发明的另一实施例中,硬件协调监视器也可迭代确定何时所需路数多于已启用的路数,并激活休眠装置以启用一路或更多路,使得已启用路数大体上等于所需路数。
本发明的实施例可包括执行上述说明中论述的功能的方法。例如,本发明的实施例可包括监视处理器和存储器并调整存储器的方法。方法可包括另外的操作,下面参照图10和图11描述了其实施例。
图10示出本发明一个实施例的操作流程。操作可在方框1000例示,并可立即继续到方框1002。在方框1002,可开始监视处理器和存储器的操作。根据本发明的实施例,可以有不止一个处理器,并且每个处理器可具有一个或多个核,任何核也可被监视。进程随后继续到方框1004。
在方框1004,可开始确定处理器要求和存储器要求的进程。根据本发明的实施例,诸如但不限于OSPM和ACPI等各种管理标准可提供阈值或要求,诸如但不限于各种c状态或p状态或两者的组合及各种高速缓存命中或高速缓存未命中级别,由此硬件协调监视器可确定系统的存储器需要。进程随后继续到方框1006。
在方框1006,可开始从处理器要求和存储器要求确定多个要求的进程。根据本发明实施例,多个要求可以是区分优先顺序或其它有序的列表,可使根据本发明一个或多个实施例启用的系统执行存储器的启用或禁用。进程随后继续到方框1008。
在方框1008,可开始确定何时满足多个要求中的一个或几个要求的进程。根据本发明实施例,存储器电源管理逻辑可提供此确定。如本文别处所述,诸如但不限于存储器电源管理逻辑906等存储器电源管理逻辑可访问在方框1006确定的多个要求。进程随后继续到方框1010。
在方框1010,可开始基于满足的多个要求中至少一个要求而调整存储器的进程。如本文别处所述,至少基于使存储器可供系统使用的需要,本发明实施例提供用于存储器的启用。在本发明的其它实施例中,存储器可具有不需要且因此可禁用的路。进程随后完成并继续到方框1012。在方框1012,操作可在方框1100再次开始。正如本领域的技术人员至少基于本文提供的示教将认识到的一样,在本发明的备选实施例中,操作可在图10的任何方框中开始。
图11示出本发明另一实施例的操作流程。操作可在方框1100例示,并可立即继续到方框1102。在方框1102,可开始监视一个或多个处理器的至少一个核和具有不止一路的至少一个存储器的操作。进程随后继续到方框1104。
在方框1104,可开始确定所需路数的进程。根据本发明的实施例,诸如但不限于OSPM和ACPI等的各种管理标准可提供阈值或要求,诸如但不限于各种c状态或p状态或两者的组合及各种高速缓存命中或高速缓存未命中级别,由此硬件协调监视器可确定系统的存储器需要。进程随后继续到方框1106。
在方框1106,在所需路数少于已启用路数时,进程可开始禁用一路或更多路,使得已启用路数大体上等于所需路数。根据本发明实施例,进程可以不止一个步长或以迭代方式或一次性全部禁用根据休眠装置的一个或多个实施例启用的不需要的路,以执行存储器的禁用。进程随后继续到方框1108。
在方框1108,在所需路数多于已启用路数时,进程可开始启用一路或更多路,使得已启用路数大体上等于所需路数。根据本发明实施例,存储器电源管理逻辑可提供至少方框1106和1108之一的确定。如本文别处所述,诸如但不限于存储器电源管理逻辑906等存储器电源管理逻辑可访问在方框1006确定的多个要求。进程随后继续到方框1110。
在方框1110,在方框1006中禁用一路或更多路前,可开始扫描这些路以查找至少要写入存储器的数据的可选操作。在本发明的其它实施例中,存储器可具有不需要且因此可禁用的路。进程随后完成并继续到方框1112。在方框1112,操作可在方框1100再次开始。正如本领域的技术人员至少基于本文提供的示教将认识到的一样,在本发明的备选实施例中,操作可在图11的任何方框中开始。
鉴于一些上述进程及其操作,通过监视一个或多个处理器的至少一个核,监视包括不止一路的存储器,确定所需路数,可运行无论是设备或存储器装置的本发明实施例,并且在所需路数少于已启用路数时,设备或存储器装置可迭代启用一路或更多路,使得已启用路数大体上等于所需路数。
此外,在禁用一路或更多路前,设备或存储器装置可扫描一路或更多路以查找至少要写入存储器的数据。
另外,根据本发明另一实施例,在所需路数多于已启用路数时,设备或存储器装置可迭代禁用一路或更多路,使得已启用路数大体上等于所需路数。
本说明书对“一个实施例”、“实施例”、“示例实施例”等的任何引用指结合该实施例描述的特定特性、结构或特征包括在本发明的至少一个实施例中。在说明书中各个位置出现的此类词语不一定全部指同一实施例。此外,结合任何实施例描述某个特定特性、结构或特征时,认为结合其它实施例影响此类特性、结构或特征是在本领域技术人员的预见范围内的。此外,为便于理解,某些方法过程可能描述为单独的过程;然而,这些单独描述的过程不应视为其性能必需依赖的顺序。也就是说,正如本领域技术人员至少基于本文提供的示教将理解的一样,一些过程也可以备选顺序或同时执行。
本发明实施例可以用充足的细节描述以便本领域的技术人员实践本发明。在不脱离本发明范围的情况下,可利用其它实施例,并且可进行结构、逻辑和思想的更改。另外,要理解的是,本发明的各种实施例虽然不同,但不一定相互排斥。例如,一个实施例中描述的特定特性、结构或特征可包括在其它实施例中。因此,详细的描述不应视为限制。
上述实施例和优点只是示范,不可视为限制本发明。例如,本示教可轻松应用到其它类型的存储器。本领域的技术人员可从上述说明中理解,本发明实施例技术可以用多种形式实现。因此,虽然本发明实施例已结合其特殊示例进行描述,但由于本发明的技术人员可在研究附图、说明书和以下权利求书时将明白其它修改,因此,本发明实施例的真实范围不应受限于此。
Claims (20)
1.一种用于动态存储器功率降低的设备,包括:
包括多路的存储器,其中每路都包括至少一个存储器单元;
耦合到所述多路中的一路或更多路的休眠装置,所述休眠装置能够禁用所述一路或更多路;以及
耦合到所述休眠装置的存储器电源管理逻辑,所述存储器电源管理逻辑能够基于一个或多个要求而控制所述休眠装置。
2.如权利要求1所述的设备,其特征在于,所述存储器电源管理逻辑监视从由下列项组成的组中选定的至少一个的操作:i)一个或多个处理器,ii)所述一个或多个处理器的每个处理器中的一个或多个核,iii)操作系统的一个或多个参数,及iv)所述存储器的一个或多个参数。
3.如权利要求1所述的设备,其特征在于,所述一个或多个要求的其中一个是基于所述多路的所需路数。
4.如权利要求3所述的设备,其特征在于,硬件协调监视器迭代地确定何时所述所需路数少于已启用的路数,并停用所述休眠装置以禁用一路或更多路,使得所述已启用的路数大体上等于所述所需路数。
5.如权利要求4所述的设备,其特征在于,所述硬件协调监视器扫描所述一路或更多路以查找至少要写入存储器的数据。
6.如权利要求3所述的设备,其特征在于,所述硬件协调监视器迭代确定何时所述所需路数多于已启用的路数,并激活所述休眠装置以启用一路或更多路,使得所述已启用路数大体上等于所述所需路数。
7.如权利要求1所述的设备,其特征在于,所述休眠装置包括多于一个的休眠晶体管。
8.如权利要求1所述的设备,其特征在于,所述休眠装置包括至少监视所述多路中的一路或更多路的状态的逻辑。
9.如权利要求1所述的设备,其特征在于,所述存储器包括静态随机存取存储器(SRAM)阵列。
10.一种用于动态存储器功率降低的存储器装置,包括:
包括多路的存储器,其中各路都包括至少一个存储器单元;
耦合到所述多路中的一路或更多路的休眠装置,所述休眠装置能够禁用所述一路或更多路;以及
耦合到所述休眠装置的存储器电源管理逻辑,所述存储器电源管理逻辑基于一个或多个要求而控制所述休眠装置。
11.如权利要求10所述的存储器装置,其特征在于,所述存储器包括静态随机存取存储器(SRAM)阵列。
12.一种用于动态存储器功率降低的方法,包括:
监视一个或多个处理器的至少一个核;
监视包括多于一路的存储器;
确定所需的路数;以及
在所述所需路数少于已启用路数时,迭代地启用一路或更多路,使得所述已启用路数大体上等于所述所需路数。
13.如权利要求12所述的方法,其特征在于,还包括:
在禁用所述一路或更多路前,扫描所述一路或更多路以查找至少要写入存储器的数据。
14.如权利要求12所述的方法,其特征在于,还包括:
在所述所需路数多于已启用路数时,迭代地禁用一路或更多路,使得所述已启用路数大体上等于所述所需路数。
15.一种用于动态存储器功率降低的设备,包括:
单集成电路芯片上实现的存储器,所述存储器包括多个子区,其中每个子区包括至少一个存储器单元;以及
耦合到所述存储器的存储器电源管理逻辑,所述存储器电源管理逻辑响应于至少一种电源状态而选择性地和单独地控制至少一些所述子区的启用和禁用。
16.如权利要求15所述的设备,其特征在于,所述存储器包括高速缓冲存储器,并且所述子区包括路。
17.如权利要求15所述的设备,其特征在于,还包括:
多个休眠装置,至少一个休眠装置耦合到所述多个子区的每个,每个所述休眠装置响应于所述存储器电源管理逻辑而控制相应子区的启用和禁用。
18.如权利要求17所述的设备,其特征在于,所述休眠装置中的各个都包括耦合在电源与相应子区之间的至少第一晶体管。
19.如权利要求15所述的设备,其特征在于,所述电源状态包括至少第一微处器核的电源状态。
20.如权利要求15所述的设备,其特征在于,响应于接收要求而降低所述存储器的有效大小的所述存储器电源管理逻辑每次禁用一个子区,直至达到最低有效存储器大小,或者直至检测到停止收缩条件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/208,935 US20070043965A1 (en) | 2005-08-22 | 2005-08-22 | Dynamic memory sizing for power reduction |
US11/208,935 | 2005-08-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101243379A true CN101243379A (zh) | 2008-08-13 |
Family
ID=37192499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800304570A Pending CN101243379A (zh) | 2005-08-22 | 2006-08-03 | 用于降低功率的动态存储器大小调整 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20070043965A1 (zh) |
JP (1) | JP2009505306A (zh) |
KR (1) | KR100998389B1 (zh) |
CN (1) | CN101243379A (zh) |
DE (1) | DE112006002154T5 (zh) |
TW (1) | TW200731276A (zh) |
WO (1) | WO2007024435A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141920A (zh) * | 2010-01-28 | 2011-08-03 | 华为技术有限公司 | 一种动态配置C-State方法和通信设备 |
CN102934046A (zh) * | 2010-05-11 | 2013-02-13 | 超威半导体公司 | 高速缓存控制的方法和装置 |
CN103348303A (zh) * | 2011-02-08 | 2013-10-09 | 飞思卡尔半导体公司 | 提供电力管理的集成电路器件、电力管理模块以及方法 |
CN104850354A (zh) * | 2014-02-18 | 2015-08-19 | 株式会社东芝 | 信息处理系统以及存储器系统 |
WO2022252042A1 (zh) * | 2021-05-31 | 2022-12-08 | 华为技术有限公司 | 内存管理装置和方法、电子设备 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003505753A (ja) | 1999-06-10 | 2003-02-12 | ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング | セル構造におけるシーケンス分割方法 |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus 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 |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
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 |
JP4388895B2 (ja) | 2002-09-06 | 2009-12-24 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | リコンフィギュアラブルなシーケンサ構造 |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US7664970B2 (en) * | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
US7555659B2 (en) * | 2006-02-28 | 2009-06-30 | Mosaid Technologies Incorporated | Low power memory architecture |
US7930564B2 (en) * | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
US20080052428A1 (en) * | 2006-08-10 | 2008-02-28 | Jeffrey Liang | Turbo station for computing systems |
US7774650B2 (en) * | 2007-01-23 | 2010-08-10 | International Business Machines Corporation | Power failure warning in logically partitioned enclosures |
US20080229050A1 (en) * | 2007-03-13 | 2008-09-18 | Sony Ericsson Mobile Communications Ab | Dynamic page on demand buffer size for power savings |
JP2009251713A (ja) * | 2008-04-02 | 2009-10-29 | Toshiba Corp | キャッシュメモリ制御装置 |
US20090327609A1 (en) * | 2008-06-30 | 2009-12-31 | Bruce Fleming | Performance based cache management |
GB2464131A (en) * | 2008-10-06 | 2010-04-07 | Ibm | Lowering i/o power of a computer system by lowering code switching frequency |
KR101600951B1 (ko) | 2009-05-18 | 2016-03-08 | 삼성전자주식회사 | 고체 상태 드라이브 장치 |
JP5338905B2 (ja) * | 2009-05-29 | 2013-11-13 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
US9311245B2 (en) * | 2009-08-13 | 2016-04-12 | Intel Corporation | Dynamic cache sharing based on power state |
US20110055610A1 (en) * | 2009-08-31 | 2011-03-03 | Himax Technologies Limited | Processor and cache control method |
JP5607175B2 (ja) * | 2010-03-08 | 2014-10-15 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | データ記憶装置及び方法 |
KR20110137973A (ko) * | 2010-06-18 | 2011-12-26 | 삼성전자주식회사 | 컴퓨터시스템 및 그 제어방법 |
US8352683B2 (en) | 2010-06-24 | 2013-01-08 | Intel Corporation | Method and system to reduce the power consumption of a memory device |
US8775836B2 (en) * | 2010-12-23 | 2014-07-08 | Intel Corporation | Method, apparatus and system to save processor state for efficient transition between processor power states |
US9214924B2 (en) | 2011-03-25 | 2015-12-15 | Freescale Semiconductor, Inc. | Integrated circuit and method for reducing an impact of electrical stress in an integrated circuit |
US20130124891A1 (en) * | 2011-07-15 | 2013-05-16 | Aliphcom | Efficient control of power consumption in portable sensing devices |
CN103946765B (zh) * | 2011-11-22 | 2017-11-17 | 英特尔公司 | 协同处理器以及系统性能和功率管理 |
US20120095607A1 (en) * | 2011-12-22 | 2012-04-19 | Wells Ryan D | Method, Apparatus, and System for Energy Efficiency and Energy Conservation Through Dynamic Management of Memory and Input/Output Subsystems |
US9830272B2 (en) * | 2011-12-28 | 2017-11-28 | Intel Corporation | Cache memory staged reopen |
CN102662868B (zh) * | 2012-05-02 | 2015-08-19 | 中国科学院计算技术研究所 | 用于处理器的动态组相联高速缓存装置及其访问方法 |
TWI562162B (en) * | 2012-09-14 | 2016-12-11 | Winbond Electronics Corp | Memory device and voltage control method thereof |
US9269406B2 (en) | 2012-10-24 | 2016-02-23 | Winbond Electronics Corp. | Semiconductor memory device for controlling an internal supply voltage based on a clock frequency of an external clock signal and a look-up table |
US9207750B2 (en) * | 2012-12-14 | 2015-12-08 | Intel Corporation | Apparatus and method for reducing leakage power of a circuit |
US9760149B2 (en) | 2013-01-08 | 2017-09-12 | Qualcomm Incorporated | Enhanced dynamic memory management with intelligent current/power consumption minimization |
US8984227B2 (en) * | 2013-04-02 | 2015-03-17 | Apple Inc. | Advanced coarse-grained cache power management |
US9400544B2 (en) | 2013-04-02 | 2016-07-26 | Apple Inc. | Advanced fine-grained cache power management |
US9396122B2 (en) | 2013-04-19 | 2016-07-19 | Apple Inc. | Cache allocation scheme optimized for browsing applications |
US9261939B2 (en) * | 2013-05-09 | 2016-02-16 | Apple Inc. | Memory power savings in idle display case |
KR102027573B1 (ko) * | 2013-06-26 | 2019-11-04 | 한국전자통신연구원 | 캐시 메모리 제어 방법 및 그 장치 |
JP6478762B2 (ja) | 2015-03-30 | 2019-03-06 | ルネサスエレクトロニクス株式会社 | 半導体装置及びその制御方法 |
US9778871B1 (en) | 2016-03-27 | 2017-10-03 | Qualcomm Incorporated | Power-reducing memory subsystem having a system cache and local resource management |
US9785371B1 (en) | 2016-03-27 | 2017-10-10 | Qualcomm Incorporated | Power-reducing memory subsystem having a system cache and local resource management |
US10073787B2 (en) * | 2016-04-18 | 2018-09-11 | Via Alliance Semiconductor Co., Ltd. | Dynamic powering of cache memory by ways within multiple set groups based on utilization trends |
US10539997B2 (en) | 2016-09-02 | 2020-01-21 | Qualcomm Incorporated | Ultra-low-power design memory power reduction scheme |
US11385693B2 (en) * | 2020-07-02 | 2022-07-12 | Apple Inc. | Dynamic granular memory power gating for hardware accelerators |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3589485B2 (ja) * | 1994-06-07 | 2004-11-17 | 株式会社ルネサステクノロジ | セットアソシアティブ方式のメモリ装置およびプロセッサ |
JPH0950401A (ja) * | 1995-08-09 | 1997-02-18 | Toshiba Corp | キャッシュメモリ及びそれを備えた情報処理装置 |
US5870616A (en) * | 1996-10-04 | 1999-02-09 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
US6539484B1 (en) * | 1997-12-18 | 2003-03-25 | Intel Corporation | Configurable power distribution circuit |
JP2000298618A (ja) * | 1999-04-14 | 2000-10-24 | Toshiba Corp | セットアソシアティブ型キャッシュメモリ装置 |
JP2002236616A (ja) * | 2001-02-13 | 2002-08-23 | Fujitsu Ltd | キャッシュメモリシステム |
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 |
JP2003131945A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | キャッシュメモリ装置 |
US20030145239A1 (en) * | 2002-01-31 | 2003-07-31 | Kever Wayne D. | Dynamically adjustable cache size based on application behavior to save power |
JP4062095B2 (ja) * | 2002-10-08 | 2008-03-19 | 独立行政法人科学技術振興機構 | キャッシュメモリ |
US7076672B2 (en) * | 2002-10-14 | 2006-07-11 | Intel Corporation | Method and apparatus for performance effective power throttling |
CN100407102C (zh) * | 2002-12-04 | 2008-07-30 | Nxp股份有限公司 | 基于软件的微处理器功率损耗控制 |
US20040128445A1 (en) * | 2002-12-31 | 2004-07-01 | Tsafrir Israeli | Cache memory and methods thereof |
US6917555B2 (en) * | 2003-09-30 | 2005-07-12 | Freescale Semiconductor, Inc. | Integrated circuit power management for reducing leakage current in circuit arrays and method therefor |
US7127560B2 (en) * | 2003-10-14 | 2006-10-24 | International Business Machines Corporation | Method of dynamically controlling cache size |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
-
2005
- 2005-08-22 US US11/208,935 patent/US20070043965A1/en not_active Abandoned
-
2006
- 2006-08-02 TW TW095128349A patent/TW200731276A/zh unknown
- 2006-08-03 DE DE112006002154T patent/DE112006002154T5/de not_active Withdrawn
- 2006-08-03 WO PCT/US2006/030201 patent/WO2007024435A2/en active Application Filing
- 2006-08-03 KR KR1020087004101A patent/KR100998389B1/ko not_active IP Right Cessation
- 2006-08-03 CN CNA2006800304570A patent/CN101243379A/zh active Pending
- 2006-08-03 JP JP2008527937A patent/JP2009505306A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141920A (zh) * | 2010-01-28 | 2011-08-03 | 华为技术有限公司 | 一种动态配置C-State方法和通信设备 |
CN102141920B (zh) * | 2010-01-28 | 2014-04-02 | 华为技术有限公司 | 一种动态配置C-State方法和通信设备 |
CN102934046A (zh) * | 2010-05-11 | 2013-02-13 | 超威半导体公司 | 高速缓存控制的方法和装置 |
CN102934046B (zh) * | 2010-05-11 | 2016-06-22 | 超威半导体公司 | 高速缓存控制的方法和装置 |
CN103348303A (zh) * | 2011-02-08 | 2013-10-09 | 飞思卡尔半导体公司 | 提供电力管理的集成电路器件、电力管理模块以及方法 |
CN103348303B (zh) * | 2011-02-08 | 2016-08-17 | 飞思卡尔半导体公司 | 提供电力管理的集成电路器件、电力管理模块以及方法 |
CN104850354A (zh) * | 2014-02-18 | 2015-08-19 | 株式会社东芝 | 信息处理系统以及存储器系统 |
CN104850354B (zh) * | 2014-02-18 | 2019-03-08 | 东芝存储器株式会社 | 信息处理系统以及存储器系统 |
WO2022252042A1 (zh) * | 2021-05-31 | 2022-12-08 | 华为技术有限公司 | 内存管理装置和方法、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
DE112006002154T5 (de) | 2008-06-26 |
JP2009505306A (ja) | 2009-02-05 |
US20070043965A1 (en) | 2007-02-22 |
WO2007024435A2 (en) | 2007-03-01 |
WO2007024435A3 (en) | 2007-11-29 |
KR100998389B1 (ko) | 2010-12-03 |
KR20080030674A (ko) | 2008-04-04 |
TW200731276A (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101243379A (zh) | 用于降低功率的动态存储器大小调整 | |
CN101356508B (zh) | 用于优化动态存储器大小调整的等待时间的方法和系统 | |
US9383813B2 (en) | Dynamic control of reduced voltage state of graphics controller component of memory controller | |
EP2805243B1 (en) | Hybrid write-through/write-back cache policy managers, and related systems and methods | |
DE102013224175B4 (de) | Niedrig-Leistungs-Zustände für ein Computer-System mit integriertem Basis-Band | |
CN102692991B (zh) | 协调多个电路中的性能参数 | |
US8209480B2 (en) | DRAM selective self refresh | |
US20060149977A1 (en) | Power managing point-to-point AC coupled peripheral device | |
US9128703B1 (en) | Processor that transitions to an idle mode when no task is scheduled to execute and further enters a quiescent doze mode or a wait mode depending on the value of a reference counter | |
WO2001073529A2 (en) | Method and apparatus to implement the acpi (advanced configuration and power interface) c3 state in a rdram based system | |
US9639143B2 (en) | Interfacing dynamic hardware power managed blocks and software power managed blocks | |
CN101091146A (zh) | 管理移动装置功率的技术 | |
WO2014100152A1 (en) | Dynamic clock and power gating with decentralized wake-ups | |
Hattori et al. | Hierarchical power distribution and power management scheme for a single chip mobile processor | |
US11508423B2 (en) | Noise shielding circuit and chip | |
US20230086149A1 (en) | Reducing memory power usage in far memory | |
US11493986B2 (en) | Method and system for improving rock bottom sleep current of processor memories | |
Shirota et al. | Electronic Paper Display update scheduler for extremely low power non-volatile 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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080813 |