CN106575145B - 芯片上***中存储器访问的功率管理 - Google Patents
芯片上***中存储器访问的功率管理 Download PDFInfo
- Publication number
- CN106575145B CN106575145B CN201580045746.7A CN201580045746A CN106575145B CN 106575145 B CN106575145 B CN 106575145B CN 201580045746 A CN201580045746 A CN 201580045746A CN 106575145 B CN106575145 B CN 106575145B
- Authority
- CN
- China
- Prior art keywords
- power state
- memory
- module
- power
- modules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- 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/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
用于管理芯片上***(SOC)的功率状态的技术和机制。该SOC的多个模块包括第一模块,用于执行任务,其包括对存储器的一个或多个访问。在实施例中,SOC转变到到存储器路径可用(PMA)功率状态和到存储器路径不可用(PMNA)功率状态中的一个,其中该转变响应于在多个模块中仅第一模块在任务期间要访问存储器的指示。PMA功率状态启用存储器与第一模块之间的数据通信并且阻止存储器与多个模块的任何其他模块之间的数据通信。在另一个实施例中,PMNA功率状态阻止存储器与多个模块中的任一个之间的数据通信,但允许从PMNA功率状态到PMA功率状态的低延迟转变。
Description
技术领域
本文论述的实施例大体上涉及对集成电路的功率管理。更具体地,某些实施例包括但不限于促进对芯片上***的存储器的功率高效访问的功率状态。
背景技术
在芯片上***(SOC)中,SOC的电路部件在单个芯片上集成。SOC集成电路在包括例如具有机顶盒、移动电话、膝上型媒体设备等等的嵌入式应用的各种应用中变得甚至更加普遍。尽管SOC中部件的高度集成提供例如芯片面积节省和更好的信号质量等优势,功耗和性能延迟对于包括这样的SOC的设备正变成越来越重要的约束。尤其是利用膝上型SOC应用,高效功率管理功能性是许多SOC实现的有价值方面。
存储器访问(memory access)对SOC效率和性能具有明显影响。通常,SOC的不同部件以各种方式访问相同存储器资源。现有SOC存储器访问技术方案以各种方式牵涉使整个SOC上电,以及在需要访问SOC的存储器时对SOC的主电压供应上电。然而,至少从延迟和转变能量方面存在与这样的方法关联的巨大成本。此外,存在与SOC的部件之间的存储器共享关联的挑战,例如对部件操作的延迟要求、访问存储器方面的功率效率及类似物。
附图说明
本发明的各种实施例通过示例而非限制的方式在附图的图中图示并且其中:
图1是图示根据实施例提供存储器访问的芯片上***的元件的高级功能框图。
图2图示根据实施例用于操作芯片上***的方法的要素的流程图。
图3是图示根据实施例的芯片上***的功率状态转变的状态图。
图4是图示根据实施例操作芯片上***的信号交换的要素的定时图。
图5是图示根据实施例由芯片上***执行的任务的要素的定时图。
图6是图示根据实施例对存储器资源提供访问的计算机平台的元件的高级功能框图。
图7是图示根据实施例对存储器资源提供访问的移动设备的元件的高级功能框图。
具体实施例
随着SOC中的集成度增加,使用存储器资源的SOC部件的数量和种类也增长。因此,对SOC部件提供功率高效存储器访问的需要在增长。本文论述的技术和机制以各种方式提供功率状态,其促进驻存在SOC中的多个模块的特定模块对存储器的高效访问。这样的技术和/或机制可以提供第一SOC功率状态,其中向第一SOC模块而不是向一个或多个其他SOC模块提供对存储器的访问,该一个或多个其他SOC模块可能另外在SOC的不同功率状态访问存储器。功率状态可以进一步包括第二功率状态,其防止第一模块以及其他模块对存储器的访问。然而,第二功率状态可以充当备用功率状态,其促进到第一功率状态的低延迟转变。
图1图示根据某些实施例对存储器访问提供功率管理的芯片上***(SoC)100的元件。SOC 100仅仅是集成电路(IC)的一个示例,该集成电路包括多个部件(在本文称为“模块”),每个以各种方式访问该IC中包括或耦合于该IC的相同存储器资源。这样的IC可以提供一个或多个SOC功率状态,其关于存储器对多个模块的可用性方面对多个模块中的仅仅一些(例如,仅仅一个)支持存储器访问。
某些实施例在本文关于促进SOC 100的模块130的存储器访问的功率状态论述,其中这样的功率状态阻止SOC 100的一个或多个其他模块110的存储器访问。然而,这样的论述可以扩展成另外或备选地适用于SOC的多种其他模块中的任一个的存储器访问。特定数量和类型的一个或多个其他模块110仅仅是说明性的,并且对某些实施例没有限制。
SOC 100可以包括作为以下的部件而操作的电路:台式计算机、膝上型计算机、手持设备(例如,智能电话、掌上设备、平板,等)、游戏控制台、无线通信设备或其他这样的能够计算的设备。为了促进这样的操作,SOC 100可以包括多个模块-例如,其包括模块130和一个或多个模块110-以及耦合于该多个模块的存储器控制器140,该存储器控制器140对多个模块提供对SOC 100中包括或耦合于SOC 100的存储器的访问。通过说明而非限制的方式,存储器控制器140可以提供对SOC 100中包括的存储器145(例如动态随机存取存储器(DRAM)模块)的访问。在另一个实施例中,存储器145是可以与SOC 100一起堆叠在封装设备的IC晶片堆栈中的另一个IC芯片(未示出)的部分。存储器145和/或存储器控制器140的操作可以遵循例如双数据速率(DDR)规范(例如2012年9月的DDR4 SDRAM JEDEC标准JESD79-4)、高带宽存储器(HBM)规范(例如2013年10月的HBM DRAM标准JESD235)或其他这样的规范的一些或所有要求。
互连电路120可以使SOC 100的各种模块耦合于存储器控制器140-并且在一些实施例中,彼此耦合-以用于数据和/或控制消息的各种交换。互连电路120可以包括一个或多个总线、交叉开关、构造和/或其他连接机构的多种组合中的任一个,用于以各种方式使模块110、130耦合于存储器控制器140。互连电路120可以包括例如一个或多个地址和/或数据总线。应理解,模块110、130中的一些或全部每个可以经由截然不同的通信路径耦合于存储器控制器140。例如,根据一些实施例,一个或多个专用数据和/或控制线路等可以用于仅使模块110、130中的特定一个模块耦合于存储器145。模块110、130与存储器控制器140之间的通信可以从常规的通信技术来修改,这些技术在本文未被详述并且对某些实施例没有限制。
模块110、130可以以各种方式向存储器控制器140发送访问存储器145的请求-例如,其中模块110、130独立于彼此请求这样的访问。尽管某些实施例在该方面不受限制,一个或多个模块110可以包括处理器单元111,其耦合于存储器控制器140。处理器单元111可以包括一个或多个核112,用于执行操作***(OS)(未示出)。另外,处理器单元111可以包括高速缓存存储器(未示出),例如静态随机存取存储器(SRAM)及类似物,或多种类型的内部集成存储器中的任一个。在一个示例中,存储器145可以存储软件程序,其可以由处理器单元111执行。在一些实施例中,处理器单元111可以访问基本输入/输出***(BIOS)指令-例如存储在存储器145中或在单独的存储设备中。
一个或多个模块110可以包括额外或备选模块(如由说明性显示模块114表示的)用于执行图像数据处理,和中枢模块116,用于充当SOC 100的一个或多个其他部件(未示出)的中枢。中枢模块116可以包括例如平台中枢、输入/输出(I/O)中枢或其他这样的中枢电路。与处理器单元111相似,显示模块114和中枢模块116每个可以在各种时间经由存储器控制器140访问存储器145-例如,这取决于SOC 100的指定功率状态。
SOC 100可以在不同时间在两个或以上功率状态中的任一个操作,并且可以提供逻辑-例如,其包括硬件、固件和/或执行软件-来支持、发起或用别的方式实现在这样的功率状态之间的转变。根据一个示范性实施例,SOC 100的功率管理单元105可以包括状态逻辑162,其包括硬件和/或执行软件用于识别要为SOC 100配置的指定功率状态-例如,在这样的识别部分基于模块110、130的当前和/或预期未来操作的情况下。此外,功率管理单元105可以包括或耦合于用于以各种方式由状态逻辑162在不同时间配置不同功率状态的电路。通过图示而非限制的方式,功率管理单元105可以包括时钟门逻辑160,其包括用于执行SOC 100的一个或多个部件的时钟选通以便以各种方式配置SOC 100的功率状态的电路。备选地或另外,功率管理单元105可以包括功率门逻辑164,用于执行功率选通以用于配置这样的功率状态。在一些实施例中,电压供应逻辑166可以选择性地启用或停用一个或多个供应电压来实现指定功率状态。要实现这样的时钟选通、功率选通和/或电压调节所凭借的特定机制可以从常规功率控制机制来修改,其在本文未详述以避免使某些实施例的特征难以理解。
在一个实施例中,用功率管理单元105配置的一个或多个功率状态可能对于模块110、130的子集-例如,仅对该子集-选择性地进行与存储器145的通信。第一功率状态可以启用经由存储器控制器140的存储器模块130与存储器145之间的数据通信,其中该第一功率状态还阻止一个或多个模块110中的一些或全部参与与存储器145的数据交换。在一些实施例中,第二功率状态充当备用模式,其为了通过模块130对存储器145的可访问性而允许快速转变到第一功率状态。这样的功率状态可以在满足模块130的任务方面提供改进的功率效率,该任务认为是对于SOC 100的操作是关键的,或另外要在预期一个或多个模块110至少关于存储器访问不活跃期期间来执行。
例如,模块130可以在SOC 100和与之耦合的代理(未示出)之间提供I/O通信的功能性。这样的代理可以驻存在平台上,其包括SOC 100,或备选地可以经由一个或多个有线网络和/或无线网络的多种组合中的任一个来与这样的平台通信。在实施例中,模块130包括通信处理器、调制解调器、WiFi网络模块、Bluetooth网络模块、蜂窝电话模块或其他这样的通信I/O接口硬件。在一些实施例中,模块130包括全球定位***(GPS)模块、全球导航卫星***(GNSS)模块或其他接收器和/或传送器电路,用于交换大地测量信息。在再其他实施例中,模块130包括用于SOC 100的流播电路,用于输出或接收音频数据流。这些只是模块103提供来执行任务的功能性的一些示例,该任务包括存储器访问-例如,在一个或多个其他模块110处于相对深的低功率模式时。
为了在一个或多个模块110不活跃(至少关于访问存储器145)时高效支持模块130的操作,功率管理单元105可以实现功率状态以选择性地停用存储器145与一个或多个模块110之间的数据通信。此外,在模块130未访问存储器145但可以预期在一个或多个模块110活动期间即刻访问存储器145时,功率管理单元105可以为了额外功率效率选择性地实现另一个功率状态。这样的功率状态可以响应于在模块150与功率管理单元105之间交换的信令150而以各种方式实现。在一些实施例中,模块130是模块110、130中能够就要实现这样的功率状态来请求功率管理单元105或另外信号传递给功率管理单元105的唯一模块。信令150可以提供独立于执行固件(或其他这样的代码)实现功率状态转变的控制电路的快速操作。
图2图示根据实施例用于操作SOC的方法200的要素。例如,可以执行方法200以便以各种方式配置SOC 100的功率状态。在实施例中,利用具有功率管理单元105的特征中的一些或全部的电路来执行方法200。
方法200可以包括在210处检测到在SOC的多个模块的第一模块的任务期间,由SOC的多个模块对存储器的访问要成为第一模块的访问。第一模块可以具有模块130的特征中的一些或全部-例如,其中多个模块经由存储器控制器140耦合于存储器145。在210处的检测可以基于由例如功率管理单元105接收的一个或多个信号,其指示多个模块的当前活动和/或多个模块的预期未来活动。这样的一个或多个信号可以规定或另外指示在多个模块中仅第一模块预期为需要持续至少一段时间的存储器访问,该段时间允许对于多个模块中的一个或多个其他模块停用存储器访问(具有伴随的功率节省)。特定数量和/或类型的这样的一个或多个信号(其可以作为先验输入被接收)对某些实施例没有限制。生成、传递和/或评估这样的一个或多个信号所凭借的特定机制可以从常规平台性能评估技术来修改,在本文未详述这些技术。
响应于在210处的检测,方法200可以在220处使SOC转变到第一功率状态和第二功率状态中的一个,其中该第一功率状态启用存储器与第一模块之间的数据通信并且阻止存储器与多个模块中除第一模块以外的任一个之间的数据通信。为了简洁起见,这样的第一功率状态在本文称为到存储器路径可用(PMA)功率状态。相比之下,第二功率状态可以阻止存储器与多个模块中的任一个之间的数据通信。然而,第二功率状态可以允许快速转变到第一功率状态-例如,如与可以由SOC的另一个功率状态提供的任何对应转变相比。因此,第二功率状态可以促进第一模块在第一功率状态对存储器访问的快速恢复。为了简洁起见,这样的第二功率状态在本文称为到存储器路径不可用(PMNA)功率状态。
在第一功率状态期间,方法200可以在230处交换数据来执行对于第一模块的任务的操作。在230处的交换可以包括经由SOC的存储器控制器在第一模块与存储器之间交换数据。在230处的数据交换之前或之后,方法200可以在240处执行SOC在第一功率状态与第二功率状态之间的转变。由于240处转变引起的在启用与存储器和多个模块的数据通信和阻止与存储器和多个模块的数据通信之间的任何改变是关于存储器与第一模块之间的通信的改变。因此,第一模块可以是多个模块中由于240处执行的转变而在阻止与存储器交换数据和允许与存储器交换数据之间转变的唯一模块。相比之下,其他模块每个在240处的转变之前、期间和之后可以维持不能与存储器通信。
220处的转变可以包括使SOC从除第一功率状态和第二功率状态中的任一个以外的功率状态转变。例如,图3示出状态图300,其包括对于SOC(例如根据方法200操作的)的功率状态和功率状态转变。如在状态图300中图示的,根据一个实施例的状态图305(该状态图305包括到存储器路径可用功率状态PMA 310和到存储器路径不可用功率状态PMNA 320)可以是包括SOC的一个或多个其他功率状态的较大状态图的一部分。状态图305包括从PMA310到PMNA 320的转变315。这样的转变315可以响应于SOC的功率管理逻辑检测到在第一模块的预期即刻存储器访问之前至少暂时使功耗减少(除PMA 320提供的其他功率节省外)的机会而发生。状态图305进一步包括从PMNA 320到PMA 310的转变325,其例如可以响应于第一模块指示需要这样的下一个存储器访问-例如,在预期其他模块的不活跃继续存在时-而出现。
图3的状态图300和表350图示PMA 310和/或PMNA 320之间关于各种常规功率状态的某些区别。然而,在技术方面具有普通技能的读者将意识到在状态图305外部的定时图300的状态和状态转变仅仅是说明性的,并且对某些实施例没有限制。在实施例中,状态图300进一步包括在状态图305外部从PMA 310到完全操作功率状态Active 330的转变335。尽管处于Active 330,SOC可以支持SOC的多个模块中的任一个和每个的存储器访问。状态图300进一步示出在状态图305外部的各种低功率状态LPS1 340a、LPS2 340b…LPSn 340n,其中这样的低功率状态可以经由相应转变345a、345b…345n而以各种方式转变到PMA 310/从PMA 310转变。一些或所有这样的低功率状态可以至少关于支持多个模块对存储器的访问方面同等对待多个模块。尽管某些实施例在该方面不受限制,LPS1 340a、LPS2 340b…LPSn340n可以包括各种常规备用、睡眠、休眠和/或其他功率状态中的任一个。这样的常规功率状态的示例包括例如对于由美国加利福尼亚州圣克拉拉市的Intel Corporation制造的SOC的SOi1、SOi2…等功率状态。
如在表350中示出的,低功率状态LPS1 340a、LPS2 340b…340b可以以各种方式包括停用存储器本身来阻止任何数据交换-例如,其中存储器设备去耦合、掉电、被时钟选通、功率选通和/或类似物。如在说明性表350中示出的,这样的停用可以包括使存储器置于自我刷新模式,其例如阻止存储器与存储器控制器之间的数据交换。相比之下,在PMA 310期间启用存储器来促进与第一模块的数据交换,并且(在一些实施例中)可以甚至在PMNA 320期间这样被启用-例如,其中SOC的一些其他部件相反在PMNA 320配置来阻止这样的数据交换。
在实施例中,存储器自身在PMNA 320期间部分被停用-例如,通过使存储器置于自我刷新模式和/或通过对存储器时钟信号到存储器的通信选通、阻止这样的通信或另外限制这样的通信。在PMA状态期间,存储器相反可以配置成从存储器控制器接收显式存储器刷新信号-例如,而不是采用自我刷新模式操作。例如,如在表350中示出的,可以在PMA功率状态期间向存储器提供存储器时钟信号,其中在PMNA功率状态期间阻止向存储器提供该存储器时钟信号。
备选地或另外,***时钟信号可以在PMA 310期间传递到第一模块(而不是SOC的其他模块)-并且在一些实施例中在PMNA 320期间-但不是到第一模块或其他模块(在SOC的一个或多个其他低功率状态期间)。因此,在PMA功率状态与PMNA功率状态之间的转变-例如,转变315、325中的一个-可以包括改变对第一模块、存储器控制器或存储器中的一个或多个的功率选通和/或时钟选通。在存储器、存储器控制器和/或第一模块在PMNA 320期间保持至少部分被加电和/或加时钟的情况下,SOC的一些或所有这样的部件可以通过恢复对这样的部件的时钟信令而容易可用于转变325的“瞬间开启”实现。
在一些实施例中,SOC的除第一模块以外的模块可以在操作功率状态(除PMA功率状态以外)期间耦合于电力轨,其中该模块在PMA状态和/或PMNA功率状态期间被时钟选通、功率选通和/或从电力轨去耦合。例如,多个模块中的每个可以在Active 330期间耦合成经由相应电力轨接收电力,其中多个模块中仅仅第一模块耦合成在PMA 320期间接收足够电力来启用存储器访问。第一模块也可以是在PMNA 320期间多个模块中耦合于这样的电力的唯一模块。
在一些实施例中,存储器控制器耦合成在PMA功率状态期间接收电力并且在一些实施例中可以耦合成在PMNA功率状态期间接收至少一些电力。例如,存储器控制器在PMNA320期间可以被功率选通和/或时钟选通。备选地或另外,PMA功率状态可以包括去耦合和/或掉电以阻止存储器控制器与SOC的除第一模块以外的一个或多个模块之间的数据通信的互连电路。在这样的实施例中,PMNA功率状态可以包括去耦合和/或掉电以进一步阻止存储器控制器与第一模块之间的数据通信的其他互连电路。
现在参考图4,对于在SOC的模块与SOC的功率管理逻辑之间交换的信号示出定时图400。模块可以选择性地提供有通过SOC的PMA功率状态对存储器的访问。定时图400可以代表交换-例如信号150的交换,例如-用于控制每个到PMA功率状态或PMNA功率状态的一个或多个转变。例如,这样的一个或多个功率状态转变可以包括转变315、325中的一个或两个。在定时图400中示出的信号的特定定时对于某些实施例没有限制。
如在说明性定时图400中示出的,信号PreWake 410可以由模块断言,其中PreWake410提前将要预期对PMA功率模式的请求信号传递到功率管理逻辑。响应于PreWake 410,SOC的一个或多个时钟信号源可以启动-例如供SOC从低功率状态(例如LPS1 340a、LPS2340b…LPSn 340n中的一个)转变。
在时间t1,信号PMA_REQ 420可以由模块断言来请求功率管理逻辑配置PMA功率状态。随后,功率管理逻辑可以断言信号PMA_ACK 430,其确认PMA_REQ 420传递的请求回到模块。请求信号PMA_REQ 420随后可以被解除断言-例如,在PMA_ACK 430的上升沿被模块接收后。
响应于PMA功率状态请求,MEM_LINK_STATUS 470可以由功率管理逻辑断言来向模块信号通知链路可用于模块以与存储器交换数据。作为响应,模块可以经由链路访问存储器-例如在时间t5与时间t6之间的说明性时期期间。在该时期期间,信号PMNA_REQ 440可以由模块一次或多次断言以便以各种方式请求功率管理逻辑配置PMNA功率状态。PMNA_REQ440这样的断言可以由模块进行以预期即将到来的不活跃期(至少关于存储器访问)。SOC可以在流播和/或访问该存储器的任务的其他操作期间多次在PMA功率状态与PMNA功率状态之间转变。
在完成任务时,模块可以断言信号PMA_RELEASE 450来向功率管理单元指示(至少暂时)模块不再需要存储器,并且在一些情况下,由于预期未来链接程序引起的延迟是可接受的。模块然后可以断言信号PMA_RELEASE_ACK 460-例如,在MEM_LINK_STATUS 470的解除断言期间-确认PMA_RELEASE 450的接收回到功率管理逻辑。在MEM_LINK_STATUS 470指示存储器被释放后,PreWake 410可以被解除断言来对功率管理单元信号通知将不需要PMA功率状态-例如,在SOC转变到低功率状态的情况下。
现在参考图5,定时图500、510示出为图示SOC的操作,其中这样的操作包括根据实施例的各种功率状态转变。定时图500、510可以代表SOC的操作,其包括例如SOC 100的特征中的一些或全部。在实施例中,图5中示出的功率转变中的一个或多个根据方法200的操作来执行。
定时图500、510代表存储器分页操作的特征,这些存储器分页操作例如可以在支持第三代(3G)通信的情况下执行,例如根据瑞士日内瓦的国际电信联盟的国际移动电信-2000(IMT-2000)规范。然而,根据不同的实施例,定时图500、510的特征可以相似地适用于多种一个或多个额外或备选操作中的任一个。
如在定时图500中示出的,SOC的模块(在该示例中,是调制解调器)每周期性地(例如,每1280毫秒)唤醒来实现需要访问SOC的主存储器的任何必需的分页操作。典型的分页周期可以持续~20ms,但某些实施例在该方面不受限制。在实施例中,调制解调器可以包括持续图示的20ms分页周期的仅仅某些时期活跃的通信处理器、控制器、状态机或其他电路。例如,调制解调器的处理器可以需要持续仅仅该周期的约10%访问存储器。然而,在它需要访问存储器时,处理器可能在转变到适应这样的访问的功率状态方面无法忍受高延迟。
如在定时图510中示出的,在调制解调器的处理器(或其他电路)活跃时,它可以断言PMA_req信号以在PMA功率状态配置SOC。在这样的PMA功率状态期间,调制解调器处理器可以能够以非常低的延迟访问主存储器。在调制解调器的处理器进入闲置状态(关于存储器访问)时,调制解调器可以断言PMNA_req信号以使SOC转变到PMNA功率状态。PMNA功率状态的配置可以阻止调制解调器能够访问主存储器。然而,除PMA功率状态的那些功率节省措施外,PMNA功率状态还可以采用额外功率节省措施。通过说明而非限制的方式,PMNA功率状态的配置可以包括将存储器置于自我刷新模式和/或停用一个或多个锁相环(PLL),锁相环(PLL)另外促进时钟信令。在单个20ms分页周期期间,SOC可以在PMA功率状态与PMNA功率状态之间多次转变。
图6是其中可以实现SOC的功率管理的计算***的实施例的框图。***600代表根据本文描述的任何实施例的计算设备,并且可以是膝上型计算机、台式计算机、服务器、游戏或娱乐控制***、扫描仪、复印机、打印机或其他电子设备。***600可以包括处理器620,其对***600提供处理、操作管理和指令的执行。处理器620可以包括任何类型的微处理器、中央处理单元(CPU)、处理核或其他处理硬件来对***600提供处理。处理器620控制***600的整体操作,并且可以是或包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑设备(PLD)或类似物,或这样的设备的组合。
存储器子***630代表***600的主存储器,并且对要由处理器620执行的代码或要在执行例程中使用的数据值提供暂时存储。存储器子***630可以包括一个或多个存储器设备,例如只读存储器(ROM)、闪速存储器、一个或多个种类的随机存取存储器(RAM)或其他存储器设备或这样的设备的组合。除其他外,存储器子***630还存储和托管操作***(OS)636来提供软件平台以用于在***600中执行指令。另外,存储和执行来自存储器子***630的其他指令638以提供***600的逻辑和处理。OS 636和指令638由处理器620执行。
存储器子***630可以包括存储器设备632,其中它存储数据、指令、程序或其他项。在一个实施例中,存储器子***630驻存在***600的SOC 690上,并且包括存储器控制器634用于对于也驻存在SOC 690上的模块提供对存储器632的访问。SOC 690可以包括SOC100的特征中的一些或全部。SOC 690的这样的模块可以包括例如处理器620、网络接口650和/或***600的多种其他这样的部件中的任一个。根据本文论述的技术,SOC 690的功率管理单元PMU 695可以以各种方式配置SOC的功率状态。
SOC 610耦合于总线/总线***610。总线610是抽象概念,其代表通过合适的网桥、适配器和/或控制器连接的任何一个或多个单独的物理总线、通信线路/接口和/或点到点连接。因此,总线610可以包括例如***总线、***部件互连(PCI)总线、工业标准架构(ISA)总线、小型计算机***接口(SCSI)总线、通用串行总线(USB)或电气和电子工程师协会(IEEE)标准1394总线(统称为“Firewire”)中的一个或多个。总线610的总线还可以对应于网络接口650中的接口。
***600还可以包括耦合于总线610的一个或多个输入/输出(I/O)接口640、一个或多个内部大容量存储设备660和***接口670。I/O接口640可以包括一个或多个接口部件,用户通过接口部件来与***600交互(例如,视频、音频和/或字母数字接口)。网络接口650对***600提供通过一个或多个网络与远程设备(例如,服务器、其他计算设备)通信的能力。网络接口650可以包括以太网适配器、无线互连部件、USB(通用串行总线)、或其他基于有线或无线标准的或专用接口。
存储设备660可以是或包括用于采用非易失性方式存储大量数据的任何常规介质,例如一个或多个磁、固态或基于光的盘或组合。存储设备660以永久状态持有代码或指令和数据662(即,尽管到***600的电力中断,也保留值)。尽管存储器630是执行或操作存储器用于对处理器620提供指令,存储设备660一般可以视为“存储器”。虽然存储设备660是非易失性的,存储器630可以包括易失性存储器(即,如果中断到***600的电力,数据的值或状态是不确定的)。
***接口670可以包括上文未专门提到的任何硬件接口。外设大体上指依赖性地连接到***600的设备。依赖性连接是其中***600提供软件和/或硬件平台(在其上执行操作并且用户与之交互)的连接。
图7是其中可以实现SOC的功率管理的移动设备的实施例的框图。设备700代表移动计算设备,例如计算平板、移动电话或智能电话、支持无线的电子阅读器或其他移动设备。将理解,大体上示出部件中的某些,并且不是这样的设备的所有部件都在设备700中示出。
设备700可以包括处理器710,其执行设备700的主要处理操作。处理器710可以包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑设备或其他处理部件。由处理器710执行的处理操作包括在其上执行应用和/或设备功能的操作平台或操作***的执行。处理操作包括与人类用户或其他设备的I/O(输入/输出)有关的操作、与功率管理有关的操作和/或与使设备700连接到另一个设备有关的操作。处理操作还可以包括与音频I/O和/或显示I/O有关的操作。
在一个实施例中,设备700包括音频子***720,其代表与向计算设备提供音频功能关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)部件。音频功能可以包括扬声器和/或耳机输出,以及麦克风输入。用于这样的功能的设备可以集成到设备700内,或连接到设备700。在一个实施例中,用户通过提供由处理器710接收和处理的音频命令而与设备700交互。
显示子***730代表对用户提供视觉和/或触觉显示来与计算设备交互的硬件(例如,显示设备)和软件(例如,驱动器)部件。显示子***730可以包括显示界面732,其可以包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示界面732包括与处理器710分离来执行与显示有关的至少一些处理的逻辑。在一个实施例中,显示子***730包括触屏设备,其向用户提供输出和输入两者。
I/O控制器740代表与用户的交互有关的硬件设备和软件部件。I/O控制器740可以操作来管理作为音频子***720和/或显示子***730的一部分的硬件。另外,I/O控制器740图示对于连接到设备700的额外设备的连接点,由此用户可以与***交互。例如,可以附连到设备700的设备可以包括麦克风设备、扬声器或立体音响***、视频***或其他显示设备、键盘或小键盘设备或用于与例如读卡器或其他设备等特定应用一起使用的其他I/O设备。
如上文提到的,I/O控制器740可以与音频子***720和/或显示子***730交互。例如,通过麦克风或其他音频设备的输入可以对设备700的一个或多个应用或功能提供输入或命令。另外,代替显示输出或除显示输出外,还可以提供音频输出。在另一个示例中,如果显示子***包括触屏,显示设备还充当输入设备,其可以至少部分由I/O控制器740管理。在设备700上还可以存在额外按钮或开关来提供由I/O控制器740管理的I/O功能。
在一个实施例中,I/O控制器740管理例如加速计、拍摄装置、光传感器或其他环境传感器、陀螺仪、全球定位***(GPS)或可以包括在设备700中的其他硬件等设备。输入可以是直接用户交互的一部分,以及向***提供环境输入来影响它的操作(例如对于噪声的过滤、针对亮度检测而调整显示器、对拍摄装置应用闪光灯,或其他特征)。
在一个实施例中,设备700包括功率管理750,其管理电池电力使用、电池的充电和与电力节省操作有关的特征。存储器子***760可以包括存储器设备762,用于将信息存储在设备700中。存储器子***760可以包括非易失性(如果到存储器设备的电力被中断则状态不改变)和/或易失性(如果到存储器设备的电力被中断则状态未定)存储器设备。存储器760可以存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与***700的应用和功能的执行有关的***数据(无论是长期还是暂时的)。
在一个实施例中,存储器子***760包括存储器控制器764(其也可以视为***700的控制的一部分)。设备700可以包括SOC 705,其包括存储器控制器764和经由存储器控制器764以各种方式访问存储器762的一个或多个模块(例如,其包括处理器700、调制解调器778和/或类似物)。SOC 705可以包括SOC 100的特征中的一些或全部。功率管理750可以以各种方式在不同时间配置SOC 705的不同功率状态,其中功率状态包括如本文论述的PMA功率状态和PMNA功率状态。
连接性(connectivity)770可以包括用于使设备700能够与外部设备通信的硬件设备(例如,无线和/或有线连接器和通信硬件)和软件部件(例如,驱动器、协议栈)。设备可以是例如其他计算设备、无线接入点或基站等单独的设备,以及例如耳机、打印机或其他设备等外设。
连接性770可以包括多个不同类型的连接性。为了泛化,设备700图示有蜂窝连接性772和无线连接性774-例如,经由说明性偶极天线776。蜂窝连接性772大体上指由无线载波提供的蜂窝网络连接性,例如经由GSM(全球移动通信***)或变化或衍生、CDMA(码分多址)或变化或衍生、TDM(时分复用)或变化或衍生、LTE(长期演进-也称为“4G”)或其他蜂窝服务标准提供的。无线连接性774指的是不是蜂窝的无线连接性,并且可以包括个人区域网(例如蓝牙)、局域网(例如WiFi)和/或广域网(例如WiMax)或其他无线通信。无线通信指通过使用通过非固态介质的调制电磁辐射来传递数据。有线通信通过固态通信介质发生。
***连接780包括硬件接口和连接器,以及软件部件(例如,驱动器、协议栈),用于进行***连接。将理解,设备700可以既是到其他计算设备(“到”782)的***装置,又具有连接到它的***设备(“从”784)。设备700通常具有“对接”连接器,用于连接到其他计算设备以用于例如管理(例如,下载和/或上传、改变、同步)设备700上的内容等目的。另外,对接连接器可以允许设备700连接到某些外设,其允许设备700控制例如到视听或其他***的内容输出。
除了专用对接连接器或其他专用连接硬件外,设备700可以经由常用或基于标准的连接器来进行***连接780。常用类型可以包括通用串行总线(USB)连接器(其可以包括许多不同硬件接口中的任一个)、DisplayPort(其包括MiniDisplayPort(MDP))、高清晰度多媒体接口(HDMI)、Firewire或其他类型。
在一个实现中,SOC电路包括:多个模块,其包括第一模块,该多个模块每个包括相应电路,其配置成请求访问存储器;存储器控制器,其耦合于多个模块中的每个;和功率管理单元,其包括配置成接收一个或多个信号的电路,该一个或多个信号指示在第一模块的任务期间由多个模块对存储器的任何访问要成为第一模块的访问。响应于该一个或多个信号,功率管理单元使SOC电路转变到第一功率状态和第二功率状态中的一个,其中该第一功率状态启用存储器与第一模块之间的数据通信并且阻止存储器与多个模块中除第一模块以外的任何模块之间的数据通信。第一模块交换数据来执行任务的操作,其包括第一模块经由存储器控制器与存储器交换数据,并且功率管理单元进一步执行在第一功率状态与第二功率状态之间的转变,其中由于转变引起的在启用存储器和多个模块之间的通信与阻止存储器和多个模块之间的通信之间的任何改变是关于存储器与第一模块之间的通信的改变。
在实施例中,其中SOC包括存储器。在另一个实施例中,在第一功率状态期间向存储器提供存储器时钟信号,并且在第二功率状态期间阻止向存储器提供存储器时钟信号。在另一个实施例中,在第一功率状态期间和在第二功率状态期间将时钟信号提供给第一模块。在另一个实施例中,多个模块中除第一模块以外的一个模块在芯片上***的除第一功率状态和第二功率状态以外的功率状态期间耦合于电力轨,并且多个模块中的该一个模块在第一功率状态和第二功率状态中的一个期间从电力轨去耦合。
在另一个实施例中,多个模块中的每个耦合成在除第一功率状态和第二功率状态以外的有效功率状态期间经由相应的电力轨接收电力,并且其中,在多个模块中仅第一模块耦合成在第一功率状态期间经由相应的电力轨来接收电力。在另一个实施例中,在多个模块中仅第一模块耦合成在第二功率状态期间经由相应的电力轨来接收电力。在另一个实施例中,存储器控制器耦合成在第一功率状态期间接收电力。在另一个实施例中,存储器控制器耦合成在第二功率状态期间接收电力。
在另一个实施例中,在多个模块中仅第一模块包括耦合成请求第一功率状态和第二功率状态中的一个的电路。在另一个实施例中,在第一功率状态期间,存储器配置成从存储器控制器接收存储器刷新信号。在另一个实施例中,执行在第一功率状态与第二功率状态之间的转变包括改变对第一模块、存储器控制器或存储器的功率选通。在另一个实施例中,执行在第一功率状态与第二功率状态之间的转变包括改变第一模块、存储器控制器或存储器的时钟选通。
在另一个实现中,计算机可读存储介质具有存储在其上的指令,这些指令在由一个或多个处理单元执行时促使该一个或多个处理单元执行方法,其包括接收一个或多个信号,该一个或多个信号指示在芯片上***(SOC)的多个模块的第一模块的任务期间由该多个模块对存储器的任何访问要成为第一模块的访问,并且响应于该一个或多个信号,转变到SOC的第一功率状态和SOC的第二功率状态中的一个,其中该第一功率状态启用存储器与第一模块之间的数据通信并且阻止存储器与多个模块中除第一模块以外的任何模块之间的数据通信。方法进一步包括在第一功率状态期间交换数据来执行任务的操作,其包括经由SOC的存储器控制器在第一模块与存储器之间交换数据。方法进一步包括执行在第一功率状态与第二功率状态之间的转变,其中由于转变引起的在启用存储器和多个模块之间的通信与阻止存储器和多个模块之间的通信之间的任何改变是关于存储器与第一模块之间的通信的改变。
在实施例中,其中SOC包括存储器。在另一个实施例中,其中在第一功率状态期间向存储器提供存储器时钟信号,并且其中在第二功率状态期间阻止向存储器提供存储器时钟信号。在另一个实施例中,其中在第一功率状态期间和在第二功率状态期间向第一模块提供时钟信号。
在另一个实现中,方法包括接收一个或多个信号,其指示在芯片上***(SOC)的多个模块的第一模块的任务期间由多个模块对存储器的任何访问要成为第一模块的访问,并且响应于该一个或多个信号,转变到SOC的第一功率状态和SOC的第二功率状态中的一个,其中第一功率状态启用存储器与第一模块之间的数据通信并且阻止存储器与多个模块中除第一模块以外的任何模块之间的数据通信。方法进一步包括在第一功率状态期间交换数据来执行任务的操作,其包括经由SOC的存储器控制器在第一模块与存储器之间交换数据。方法进一步包括执行在第一功率状态与第二功率状态之间的转变,其中由于转变引起的在启用存储器和多个模块之间的通信与阻止存储器和多个模块之间的通信之间的任何改变是关于存储器与第一模块之间的通信的改变。
在实施例中,在第一功率状态期间向存储器提供存储器时钟信号,并且在第二功率状态期间阻止向存储器提供存储器时钟信号。在另一个实施例中,在第一功率状态期间和在第二功率状态期间向第一模块提供时钟信号。在另一个实施例中,多个模块中除第一模块以外的一个模块在SOC的除第一功率状态和第二功率状态以外的功率状态期间耦合于电力轨,并且多个模块中的该一个模块在第一功率状态和第二功率状态中的一个期间从电力轨去耦合。在另一个实施例中,多个模块中的每个耦合成在除第一功率状态和第二功率状态以外的有效功率状态期间经由相应电力轨来接收电力,并且多个模块中仅第一模块耦合成在第一功率状态期间经由相应电力轨来接收电力。
在另一个实现中,***包括芯片上***(SOC)电路,其包括:多个模块,该多个模块包括第一模块,多个模块每个包括相应电路,其配置成请求访问存储器;存储器控制器,其耦合于多个模块中的每个;和功率管理单元,其包括配置成接收一个或多个信号的电路,该一个或多个信号指示在第一模块的任务期间由多个模块对存储器的任何访问要成为第一模块的访问。响应于一个或多个信号,功率管理单元使SOC电路转变成第一功率状态和第二功率状态中的一个,其中该第一功率状态启用存储器与第一模块之间的数据通信并且阻止存储器与多个模块中除第一模块以外的任何模块之间的数据通信。第一模块交换数据来执行任务的操作,其包括第一模块经由存储器控制器与存储器交换数据。功率管理单元进一步执行在第一功率状态与第二功率状态之间的转变,其中由于转变引起的在启用存储器和多个模块之间的通信与阻止存储器和多个模块之间的通信之间的任何改变是关于存储器与第一模块之间的通信的改变。***进一步包括偶极天线,用于基于SOC电路的操作来交换无线通信。在实施例中,SOC包括存储器。在另一个实施例中,在多个模块中仅第一模块包括耦合成请求第一功率状态和第二功率状态中的一个的电路。
在本文描述用于管理芯片上***的功率的技术和架构。在上文的描述中,为了解释目的,阐述许多特定细节以便提供对某些实施例的全面理解。然而,实施例可以在没有这些特定细节的情况下实践,这对于本领域内技术人员将是明显的。在其他实例中,以框图的形式示出结构和设备以避免使描述难以理解。
在说明书中对“一个实施例”或“实施例”的引用意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。短语“一个实施例”在说明书中各种地方中的出现不一定都指相同实施例。
从关于计算机存储器内的数据位的操作的算法和符号表示方面呈现本文的详细描述中的一些部分。这些算法描述和表示是由计算领域内的技术人员使用以最有效地向本领域内其他技术人员传达它们的工作实质的手段。算法在这里并且一般设想为导致期望结果的步骤的自洽顺序。这些步骤是需要物理操纵物理量的那些步骤。通常,尽管不是必须的,这些量采取能够被存储、转移、组合、比较和用别的方式而操纵的电或磁信号的形式。已经证实有时主要由于常见使用的原因将这些信号称为位、值、要素、符号、字符、项、数字或类似物是方便的。
然而,应该牢记所有这些和相似的术语要与适当的物理量关联并且仅是应用于这些量的方便标签。除非另外具体阐述(如从上文论述显而易见的),要意识到在整个说明中,利用例如“处理”或“计算”或“运算”或“确定”或“显示”或类似物等术语的论述指计算机***或相似的电子计算设备的动作和进程,其操纵表示为计算机***的寄存器和存储器内的物理(电子)量的数据并且将其转换为相似地表示为计算机***存储器或寄存器或其他这样的信息存储、传输或显示装置内的物理量的其他数据。
某些实施例还涉及用于执行本文的操作的装置。该装置可以专门对于所需目的而构造,或它可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质,例如但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)例如动态RAM(DRAM)、EPROM、EEPROM、磁或光卡,或适合用于存储电子指令并且耦合于计算机***总线的任何类型的介质。
本文呈现的算法和显示器不固有地涉及任何特定计算机或其他装置。各种通用***可根据本文的教导与程序一起使用,或可证明便于构造更专业的装置来执行需要的方法步骤。各种各样的这些***需要的结构将从本文的描述显而易见。另外,未参考任何特定编程语言来描述某些实施例。将意识到各种各样的编程语言可用于实现如本文描述的这样的实施例的教导。
除上文描述的外,可对公开的实施例和其实现做出各种修改而不偏离它们的范围。因此,本文的说明和示例应在说明性而非限制性意义上解释。本发明的范围应仅仅通过参考随附的权利要求来度量。
Claims (26)
1.一种用于提供存储器访问的芯片上***(SOC)电路,所述SOC电路包括:
多个模块,其包括第一模块,所述多个模块每个包括相应电路,其配置成请求访问存储器;
存储器控制器,其耦合于所述多个模块中的每个;以及
功率管理单元,其包括配置成接收一个或多个信号的电路,所述一个或多个信号指示在所述第一模块的任务期间由所述多个模块对所述存储器的任何访问要成为所述第一模块的访问,其中响应于所述一个或多个信号,所述功率管理单元使所述SOC电路转变到第一功率状态和第二功率状态中的一个,其中所述第一功率状态启用所述存储器与所述第一模块之间的数据通信并且阻止所述存储器与所述多个模块中除所述第一模块以外的任何模块之间的数据通信,以及其中所述第二功率状态阻止所述存储器与任何模块之间的数据通信;
其中所述第一模块交换数据来执行所述任务的操作,其包括所述第一模块经由存储器控制器与所述存储器交换数据,并且其中所述功率管理单元进一步执行在所述第一功率状态与所述第二功率状态之间的转变,
其特征在于:
在所述第一功率状态期间和在所述第二功率状态期间将时钟信号提供给所述第一模块;
在所述多个模块中,仅所述第一模块包括配置成请求所述第一功率状态和所述第二功率状态之一的电路,其中响应于从所述第一功率状态到所述第二功率状态的转变,所述第一模块配置成从启用与所述存储器交换数据转变成阻止与所述存储器交换数据。
2.如权利要求1所述的SOC电路,其中所述SOC包括所述存储器。
3.如权利要求1和2中任一项所述的SOC电路,其中在所述第一功率状态期间向所述存储器提供存储器时钟信号,并且其中在所述第二功率状态期间阻止向所述存储器提供所述存储器时钟信号。
4.如权利要求1至2中任一项所述的SOC电路,其中所述多个模块中除所述第一模块以外的一个模块在所述芯片上***的除所述第一功率状态和所述第二功率状态以外的功率状态期间耦合于电力轨,并且其中所述多个模块中的所述一个模块在所述第一功率状态和所述第二功率状态中的一个期间从所述电力轨去耦合。
5.如权利要求1至2中任一项所述的SOC电路,其中所述多个模块中的每个耦合成在除所述第一功率状态和第二功率状态以外的有效功率状态期间经由相应的电力轨接收电力,并且其中,在所述多个模块中仅所述第一模块耦合成在所述第一功率状态期间经由相应的电力轨来接收电力。
6.如权利要求5所述的SOC电路,其中在所述多个模块中仅所述第一模块耦合成在所述第二功率状态期间经由相应的电力轨来接收电力。
7.如权利要求5所述的SOC电路,其中所述存储器控制器耦合成在所述第一功率状态期间接收电力。
8.如权利要求7所述的SOC电路,其中所述存储器控制器耦合成在所述第二功率状态期间接收电力。
9.如权利要求1至2中任一项所述的SOC电路,其中在所述多个模块中仅所述第一模块包括耦合成请求所述第一功率状态和所述第二功率状态中的一个的电路。
10.如权利要求1至2中任一项所述的SOC电路,其中在所述第一功率状态期间,所述存储器配置成从所述存储器控制器接收存储器刷新信号。
11.如权利要求1至2中任一项所述的SOC电路,其中执行在所述第一功率状态与所述第二功率状态之间的转变包括改变对所述第一模块、所述存储器控制器或所述存储器的功率选通。
12.如权利要求1至2中任一项所述的SOC电路,其中执行在所述第一功率状态与所述第二功率状态之间的转变包括改变所述第一模块、所述存储器控制器或所述存储器的时钟选通。
13.一种计算机可读存储介质,其具有存储在其上的指令,所述指令在由一个或多个处理单元执行时促使所述一个或多个处理单元执行方法,所述方法包括:
接收一个或多个信号,其指示在芯片上***(SOC)的多个模块的第一模块的任务期间由所述多个模块对存储器的任何访问要成为所述第一模块的访问;
响应于所述一个或多个信号,转变到所述SOC的第一功率状态和所述SOC的第二功率状态中的一个,其中所述第一功率状态启用所述存储器与所述第一模块之间的数据通信并且阻止所述存储器与所述多个模块中除所述第一模块以外的任何模块之间的数据通信,以及其中所述第二功率状态阻止所述存储器与任何模块之间的数据通信;
在所述第一功率状态期间交换数据来执行所述任务的操作,其包括经由所述SOC的存储器控制器在所述第一模块与所述存储器之间交换数据;
执行在所述第一功率状态与所述第二功率状态之间的转变,
其特征在于:
在所述第一功率状态期间和在所述第二功率状态期间将时钟信号提供给所述第一模块;
在所述多个模块中,仅所述第一模块包括配置成请求所述第一功率状态和所述第二功率状态之一的电路,其中响应于从所述第一功率状态到所述第二功率状态的转变,所述第一模块配置成从启用与所述存储器交换数据转变成阻止与所述存储器交换数据。
14.如权利要求13所述的计算机可读存储介质,其中所述SOC包括所述存储器。
15.如权利要求13和14中任一项所述的计算机可读存储介质,其中在所述第一功率状态期间向所述存储器提供存储器时钟信号,并且其中在所述第二功率状态期间阻止向所述存储器提供所述存储器时钟信号。
16.一种用于提供存储器访问的方法,所述方法包括:
接收一个或多个信号,其指示在芯片上***(SOC)的多个模块的第一模块的任务期间由所述多个模块对存储器的任何访问要成为所述第一模块的访问;
响应于所述一个或多个信号,转变到所述SOC的第一功率状态和所述SOC的第二功率状态中的一个,其中所述第一功率状态启用所述存储器与所述第一模块之间的数据通信并且阻止所述存储器与所述多个模块中除所述第一模块以外的任何模块之间的数据通信,以及其中所述第二功率状态阻止所述存储器与任何模块之间的数据通信;
在所述第一功率状态期间交换数据来执行所述任务的操作,其包括经由所述SOC的存储器控制器在所述第一模块与所述存储器之间交换数据;
执行在所述第一功率状态与所述第二功率状态之间的转变,
其特征在于:
在所述第一功率状态期间和在所述第二功率状态期间将时钟信号提供给所述第一模块;
在所述多个模块中,仅所述第一模块包括配置成请求所述第一功率状态和所述第二功率状态之一的电路,其中响应于从所述第一功率状态到所述第二功率状态的转变,所述第一模块配置成从启用与所述存储器交换数据转变成阻止与所述存储器交换数据。
17.如权利要求16所述的方法,其中在所述第一功率状态期间向所述存储器提供存储器时钟信号,并且其中在所述第二功率状态期间阻止向所述存储器提供所述存储器时钟信号。
18.如权利要求16至17中任一项所述的方法,其中所述多个模块中除所述第一模块以外的一个模块在所述SOC的除所述第一功率状态和所述第二功率状态以外的功率状态期间耦合于电力轨,并且其中所述多个模块中的所述一个模块在所述第一功率状态和所述第二功率状态中的一个期间从所述电力轨去耦合。
19.如权利要求16至17中任一项所述的方法,其中所述多个模块中的每个耦合成在除所述第一功率状态和所述第二功率状态的有效功率状态期间经由相应电力轨来接收电力,并且其中在所述多个模块中仅所述第一模块耦合成在所述第一功率状态期间经由相应电力轨来接收电力。
20.一种用于提供存储器访问的***,所述***包括:
芯片上***(SOC)电路,其包括:
多个模块,所述多个模块包括第一模块,所述多个模块每个包括相应电路,其配置成请求访问存储器;
存储器控制器,其耦合于所述多个模块中的每个;以及
功率管理单元,其包括配置成接收一个或多个信号的电路,所述一个或多个信号指示在所述第一模块的任务期间由所述多个模块对所述存储器的任何访问要成为所述第一模块的访问,其中响应于所述一个或多个信号,所述功率管理单元使所述SOC电路转变成第一功率状态和第二功率状态中的一个,其中所述第一功率状态启用所述存储器与所述第一模块之间的数据通信并且阻止所述存储器与所述多个模块中除所述第一模块以外的任何模块之间的数据通信,以及其中所述第二功率状态阻止所述存储器与任何模块之间的数据通信;
其中所述第一模块交换数据来执行所述任务的操作,其包括所述第一模块经由存储器控制器与存储器交换数据,并且其中所述功率管理单元进一步执行在所述第一功率状态与所述第二功率状态之间的转变;
偶极天线,用于基于所述SOC电路的操作来交换无线通信,
其特征在于:
在所述第一功率状态期间和在所述第二功率状态期间将时钟信号提供给所述第一模块;
在所述多个模块中,仅所述第一模块包括配置成请求所述第一功率状态和所述第二功率状态之一的电路,其中响应于从所述第一功率状态到所述第二功率状态的转变,所述第一模块配置成从启用与所述存储器交换数据转变成阻止与所述存储器交换数据。
21.如权利要求20所述的***,其中所述SOC包括所述存储器。
22.如权利要求20和21中任一项所述的***,其中在所述多个模块中仅所述第一模块包括耦合成请求所述第一功率状态和所述第二功率状态中的一个的电路。
23.一种用于提供存储器访问的装置,所述装置包括:
用于接收一个或多个信号的部件,所述信号指示在芯片上***(SOC)的多个模块的第一模块的任务期间由所述多个模块对存储器的任何访问要成为所述第一模块的访问;
用于响应于所述一个或多个信号转变到所述SOC的第一功率状态和所述SOC的第二功率状态中的一个的部件,其中所述第一功率状态启用所述存储器与所述第一模块之间的数据通信并且阻止所述存储器与所述多个模块中除所述第一模块以外的任何模块之间的数据通信,以及其中所述第二功率状态阻止所述存储器与任何模块之间的数据通信;
用于在所述第一功率状态期间交换数据来执行所述任务的操作的部件,其中包括经由所述SOC的存储器控制器在所述第一模块与所述存储器之间交换数据;
用于执行在所述第一功率状态与所述第二功率状态之间的转变的部件,
其特征在于:
在所述第一功率状态期间和在所述第二功率状态期间将时钟信号提供给所述第一模块;
在所述多个模块中,仅所述第一模块包括配置成请求所述第一功率状态和所述第二功率状态之一的电路,其中响应于从所述第一功率状态到所述第二功率状态的转变,所述第一模块配置成从启用与所述存储器交换数据转变成阻止与所述存储器交换数据。
24.如权利要求23所述的装置,其中在所述第一功率状态期间向所述存储器提供存储器时钟信号,并且其中在所述第二功率状态期间阻止向所述存储器提供所述存储器时钟信号。
25.如权利要求23至24中任一项所述的装置,其中所述多个模块中除所述第一模块以外的一个模块在所述SOC的除所述第一功率状态和所述第二功率状态以外的功率状态期间耦合于电力轨,并且其中所述多个模块中的所述一个模块在所述第一功率状态和所述第二功率状态中的一个期间从所述电力轨去耦合。
26.如权利要求23至24中任一项所述的装置,其中所述多个模块中的每个耦合成在除所述第一功率状态和所述第二功率状态的有效功率状态期间经由相应电力轨来接收电力,并且其中在所述多个模块中仅所述第一模块耦合成在所述第一功率状态期间经由相应电力轨来接收电力。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/498516 | 2014-09-26 | ||
US14/498,516 US20160091957A1 (en) | 2014-09-26 | 2014-09-26 | Power management for memory accesses in a system-on-chip |
PCT/US2015/046508 WO2016048513A2 (en) | 2014-09-26 | 2015-08-24 | Power management for memory accesses in a system-on-chip |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106575145A CN106575145A (zh) | 2017-04-19 |
CN106575145B true CN106575145B (zh) | 2021-05-11 |
Family
ID=55582229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580045746.7A Active CN106575145B (zh) | 2014-09-26 | 2015-08-24 | 芯片上***中存储器访问的功率管理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20160091957A1 (zh) |
EP (1) | EP3198363A4 (zh) |
JP (1) | JP6322838B2 (zh) |
KR (1) | KR102244114B1 (zh) |
CN (1) | CN106575145B (zh) |
TW (1) | TWI596468B (zh) |
WO (1) | WO2016048513A2 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9880601B2 (en) * | 2014-12-24 | 2018-01-30 | Intel Corporation | Method and apparatus to control a link power state |
US10539996B2 (en) * | 2016-11-28 | 2020-01-21 | Qualcomm Incorporated | WiFi memory power minimization |
US10984136B2 (en) * | 2017-04-21 | 2021-04-20 | Micron Technology, Inc. | Secure memory device with unique identifier for authentication |
US10474211B2 (en) * | 2017-07-28 | 2019-11-12 | Advanced Micro Devices, Inc. | Method for dynamic arbitration of real-time streams in the multi-client systems |
US11054878B2 (en) * | 2017-08-29 | 2021-07-06 | Texas Instruments Incorporated | Synchronous power state control scheme for multi-chip integrated power management solution in embedded systems |
US11226918B2 (en) * | 2017-12-08 | 2022-01-18 | Hewlett-Packard Development Company, L.P. | Blocking systems from responding to bus mastering capable devices |
CN110007739B (zh) * | 2017-12-29 | 2023-09-12 | 华为技术有限公司 | 一种噪声屏蔽电路及芯片 |
US11687277B2 (en) | 2018-12-31 | 2023-06-27 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11194511B2 (en) | 2018-12-31 | 2021-12-07 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11237617B2 (en) * | 2018-12-31 | 2022-02-01 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11126245B2 (en) * | 2019-06-21 | 2021-09-21 | Intel Corporation | Device, system and method to determine a power mode of a system-on-chip |
CN111176409B (zh) * | 2019-12-16 | 2023-11-21 | 珠海亿智电子科技有限公司 | 一种通用可在线编程的功耗控制电路、***与方法 |
WO2021056033A2 (en) * | 2021-01-20 | 2021-03-25 | Zeku, Inc. | Apparatus and method of intelligent power and performance management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012736A (zh) * | 2009-09-08 | 2011-04-13 | 三星电子株式会社 | 图像形成装置及其功率控制方法 |
CN103534693A (zh) * | 2010-11-22 | 2014-01-22 | 马维尔国际贸易有限公司 | 在客户端之间共享对存储器的访问 |
CN103699202A (zh) * | 2012-09-27 | 2014-04-02 | 三星电子株式会社 | 具有根据数据业务控制供电能力的片上***及其操作方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693596B2 (en) * | 2005-12-14 | 2010-04-06 | Dell Products L.P. | System and method for configuring information handling system integrated circuits |
US20080162748A1 (en) * | 2006-12-31 | 2008-07-03 | Blaise Fanning | Efficient power management techniques for computer systems |
US7991992B2 (en) * | 2007-03-13 | 2011-08-02 | Intel Corporation | Power reduction for system on chip |
US7868479B2 (en) * | 2007-06-27 | 2011-01-11 | Qualcomm Incorporated | Power gating for multimedia processing power management |
US8286195B2 (en) * | 2007-10-31 | 2012-10-09 | Microsoft Corporation | Controlling hardware across two or more simultaneously running operating systems |
US8286014B2 (en) * | 2008-03-25 | 2012-10-09 | Intel Corporation | Power management for a system on a chip (SoC) |
KR101543326B1 (ko) * | 2009-01-05 | 2015-08-10 | 삼성전자주식회사 | 시스템 온 칩 및 그 구동 방법 |
JP5578698B2 (ja) * | 2009-04-23 | 2014-08-27 | ルネサスエレクトロニクス株式会社 | 半導体データ処理装置及びデータ処理システム |
US8706966B1 (en) * | 2009-12-16 | 2014-04-22 | Applied Micro Circuits Corporation | System and method for adaptively configuring an L2 cache memory mesh |
KR101664108B1 (ko) * | 2010-04-13 | 2016-10-11 | 삼성전자주식회사 | 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법 |
US8218391B2 (en) * | 2010-07-01 | 2012-07-10 | Arm Limited | Power control of an integrated circuit memory |
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 |
JP2012164046A (ja) * | 2011-02-04 | 2012-08-30 | Seiko Epson Corp | メモリー制御装置 |
US20130117589A1 (en) * | 2011-11-04 | 2013-05-09 | Anand Satyamoorthy | Stability control in a voltage scaling system |
US9037812B2 (en) * | 2011-11-17 | 2015-05-19 | Intel Corporation | Method, apparatus and system for memory validation |
DE112011105901B4 (de) * | 2011-11-30 | 2018-06-07 | Intel Corporation | Verfahren und Vorrichtung zur Energieeinsparung für First In First Out (FIF0)-Speicher |
KR20130110459A (ko) * | 2012-03-29 | 2013-10-10 | 삼성전자주식회사 | 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법 |
US9104421B2 (en) * | 2012-07-30 | 2015-08-11 | Nvidia Corporation | Training, power-gating, and dynamic frequency changing of a memory controller |
US8730603B2 (en) * | 2012-09-11 | 2014-05-20 | Lsi Corporation | Power management for storage device read channel |
US9760150B2 (en) * | 2012-11-27 | 2017-09-12 | Nvidia Corporation | Low-power states for a computer system with integrated baseband |
US9690353B2 (en) * | 2013-03-13 | 2017-06-27 | Intel Corporation | System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request |
US9430014B2 (en) * | 2013-07-18 | 2016-08-30 | Qualcomm Incorporated | System and method for idle state optimization in a multi-processor system on a chip |
-
2014
- 2014-09-26 US US14/498,516 patent/US20160091957A1/en not_active Abandoned
-
2015
- 2015-08-24 JP JP2017508988A patent/JP6322838B2/ja active Active
- 2015-08-24 CN CN201580045746.7A patent/CN106575145B/zh active Active
- 2015-08-24 KR KR1020177004983A patent/KR102244114B1/ko active IP Right Grant
- 2015-08-24 WO PCT/US2015/046508 patent/WO2016048513A2/en active Application Filing
- 2015-08-24 EP EP15844819.1A patent/EP3198363A4/en not_active Ceased
- 2015-08-25 TW TW104127716A patent/TWI596468B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012736A (zh) * | 2009-09-08 | 2011-04-13 | 三星电子株式会社 | 图像形成装置及其功率控制方法 |
CN103534693A (zh) * | 2010-11-22 | 2014-01-22 | 马维尔国际贸易有限公司 | 在客户端之间共享对存储器的访问 |
CN103699202A (zh) * | 2012-09-27 | 2014-04-02 | 三星电子株式会社 | 具有根据数据业务控制供电能力的片上***及其操作方法 |
Non-Patent Citations (1)
Title |
---|
《Energy-efficient adaptive wireless NoCs architecture》;Dominic DiTomaso等;《2013 Seventh IEEE/ACM International Symposium on Networks-on-Chip (NoCS)》;20131231;1-18 * |
Also Published As
Publication number | Publication date |
---|---|
KR20170034423A (ko) | 2017-03-28 |
US20160091957A1 (en) | 2016-03-31 |
WO2016048513A3 (en) | 2016-05-06 |
EP3198363A2 (en) | 2017-08-02 |
WO2016048513A2 (en) | 2016-03-31 |
KR102244114B1 (ko) | 2021-04-26 |
JP2017529600A (ja) | 2017-10-05 |
TW201626155A (zh) | 2016-07-16 |
CN106575145A (zh) | 2017-04-19 |
JP6322838B2 (ja) | 2018-05-16 |
TWI596468B (zh) | 2017-08-21 |
EP3198363A4 (en) | 2018-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575145B (zh) | 芯片上***中存储器访问的功率管理 | |
KR102039796B1 (ko) | 주변기기 서브시스템에 대한 개별화된 전력 제어를 제공하기 위한 방법 및 장치 | |
US11221774B2 (en) | Power down mode for universal flash storage (UFS) | |
US10108241B2 (en) | Method and apparatus for saving power of a processor socket in a multi-socket computer system | |
US8788861B2 (en) | Connected standby sleep state for increased power savings | |
US8601304B2 (en) | Method, apparatus and system to transition system power state of a computer platform | |
KR101832953B1 (ko) | 모바일 디바이스의 어플리케이션 프로세서의 원격 시동 | |
RU2664398C2 (ru) | Архитектура с ультранизкой мощностью для поддержки постоянно включенного пути к памяти | |
US9697168B2 (en) | Apparatus, system and method for sharing physical layer logic across multiple protocols | |
US9195292B2 (en) | Controlling reduced power states using platform latency tolerance | |
US10496298B2 (en) | Configurable flush of data from volatile memory to non-volatile memory | |
US10254821B2 (en) | Managing surprise hot plug in low power state | |
US11933843B2 (en) | Techniques to enable integrated circuit debug across low power states | |
US8307226B1 (en) | Method, apparatus, and system for reducing leakage power consumption | |
US20230280809A1 (en) | Method and apparatus to control power supply rails during platform low power events for enhanced usb-c user experience |
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 |