CN107924221A - 用于便携式计算设备中的高速缓存感知的低功率模式控制的***和方法 - Google Patents
用于便携式计算设备中的高速缓存感知的低功率模式控制的***和方法 Download PDFInfo
- Publication number
- CN107924221A CN107924221A CN201680045498.0A CN201680045498A CN107924221A CN 107924221 A CN107924221 A CN 107924221A CN 201680045498 A CN201680045498 A CN 201680045498A CN 107924221 A CN107924221 A CN 107924221A
- Authority
- CN
- China
- Prior art keywords
- cache
- core
- low
- power mode
- power
- 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
- 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
- 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
-
- 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/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
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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
给出了用于对多核片上***(SoC)中的低功率模式的改进的实现的***和方法。识别多核SoC中的进入空闲状态的核。针对核的低功率模式,计算核的进入功率成本和核的退出功率成本。还计算用于与核相关联的高速缓存的工作集合大小。使用工作集合大小,来计算用于高速缓存退出核的低功率模式的时延。最后,部分地基于核的进入和退出功率成本以及高速缓存退出低功率模式的时延,来进行关于用于核的低功率模式与活动模式相比是否导致功率节省的确定。
Description
背景技术
通过各种通信介质(包括无线信号)与其它设备进行通信的、具有处理器的移动设备是普遍存在的。包括便携式计算设备(PCD)的移动设备可以用于经由无线、模拟、数字和其它方式与多种其它设备进行通信。这些移动设备可以包括移动电话、便携式数字助理(PDA)、便携式游戏控制台、掌上计算机、平板计算机和其它便携式电子设备。除了主要功能以外,PCD还可以用于下载和玩游戏;下载和播放音乐;下载和观看视频;全球定位***(GPS)导航、网页浏览、以及运行应用。
为了适应增加的功能,现代PCD通常包括具有相关联的高速缓存存储器的、用于并行地(例如,在多个并行线程中)控制或者执行PCD的不同功能的、多个处理器或者核(例如,中央处理单元(CPU))。保持多个核活动导致大的能量消耗,减少PCD中的电池使用时间。因此,许多PCD将一个或多个核置于较低功率模式中,如果该核是空闲的或者没有活动地执行任务的话。
可以利用算法或者其它逻辑单元进行关于将核置于低功率模式中的决策。对是否设置核的决策的限制因素包括与使核进入低功率状态以及然后重新激活核离开低功率状态相关联的时间和/或能量开销。这些因素通常是预先确定以及不变的,并且不会将核的当前操作状态或者核所依赖的其它组件(例如,核的相关联的高速缓存存储器)的操作状态考虑在内。
因此,存在针对用于基于操作状态(并且具体地,与核/CPU模式相关联的高速缓存存储器的操作状态)对用于核/CPU的低功率模式的改进的实现的***和方法的需求。
发明内容
公开了允许基于以下项对用于便携式计算设备(PCD)中的核/CPU的低功率模式的改进的实现的***和方法:与所述核/CPU相关联的高速缓存存储器的操作状态。在操作中,示例性方法识别所述多核SoC中的核正在进入空闲状态。针对所述核的低功率模式,计算所述核进入所述低功率模式的进入功率成本和所述核退出所述低功率模式的退出功率成本。还计算用于与所述核相关联的高速缓存的工作集合大小。使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的时延。最后,部分地基于所述核的所述进入功率成本、所述核的所述退出功率成本以及所述高速缓存退出所述低功率模式的所述时延,来进行关于用于所述核的所述低功率模式与活动模式相比是否导致功率节省的确定。
另一示例实施例是用于便携式计算设备(PCD)中的多核片上***(SoC)的计算机***,所述***包括:所述SoC的核;所述SoC的高速缓存,其与所述核相通信;以及低功率模式控制器,其与所述核和所述高速缓存相通信,所述低功率模式控制器被配置为:识别所述核正在进入空闲状态;针对所述核的低功率模式,计算进入功率成本和针对所述核的退出功率成本;计算用于所述高速缓存的工作集合大小;使用用于所述高速缓存的所述工作集合大小,来计算所述高速缓存退出所述核的所述低功率模式的时延;以及部分地基于所述高速缓存退出所述低功率模式的所述时延,来确定用于所述核的所述低功率模式与活动模式相比是否导致功率节省。
附图说明
在各图中,除非另外指出,否则类似的附图标记贯穿各个视图指代类似的部分。对于具有诸如“102A”或者“102B”之类的字母字符名称的附图标记而言,字母字符名称可以对在同一图中存在的两个类似的部分或者元素进行区分。当旨在附图标记包含在所有图中具有相同的附图标记的所有部分时,可以省略用于附图标记的字母字符名称。类似地,对于具有‘名称的附图标记(例如,102’),‘名称可以指定用于具有相同的附图标记(但是没有‘名称)的基本元素的替代实施例。
图1是便携式计算设备(PCD)的示例实施例的框图,在该PCD中,可以实现用于基于本公开内容的操作状态对用于便携式计算设备(PCD)中的核/CPU的低功率模式的改进的实现;
图2是在PCD(例如,在图1中示出的PCD实施例)中的并行线程的执行的示例时序图;
图3A是示出用于核或者CPU(例如,在图1中示出的PCD实施例的CPU的核中的一个核)的示例性低功率模式的曲线图;
图3B是示出从图3A中示出的低功率模式中的一种模式中退出的额外的方面的示例性曲线图;
图4是示出用于基于PCD(例如,在图1中示出的PCD实施例)中的操作状态对用于核/CPU的低功率模式的改进的实现的***的示例性实施例的框图;
图5A是描述用于基于操作状态对用于核/CPU的低功率模式的改进的实现的方法的示例性实施例的方面的流程图;
图5B示出能够执行图5A中示出的方法的各方面的示例组件;
图6A是描述用于基于操作状态对用于核/CPU的低功率模式的改进的实现的方法的示例性实施例的额外的方面的流程图;以及
图6B示出能够执行图6A中示出的方法的各方面的示例组件。
具体实施方式
“示例性”一词在本文中用于意指“用作例子、实例或说明”。在本文中被描述为“示例性的”任何方面未必被解释为比其它方面优选或者有优势。
在该描述中,术语“应用”还可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所提及的“应用”还可以包括本质上不可执行的文件,例如,可能需要打开的文档或者需要访问的其它数据文件。
术语“内容”还可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所提及的“内容”还可以包括本质上不可执行的文件,例如,可能需要打开的文档或者需要访问的其它数据文件或者数据值。
如该描述中使用的,术语“组件”、“数据库”、“模块”、“***”等旨在指代计算机相关实体,硬件、固件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在计算设备上运行的应用和计算设备二者可以是组件。一个或多个组件可以位于进程和/或执行的线程内,并且组件可以被本地化在一个计算机上和/或分布在两个或更多个计算机之间。另外,这些组件可以根据具有存储在其上的各种数据结构的各个计算机可读介质来执行。组件可以通过本地和/或远程进程的方式进行通信,例如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件通过信号的方式与本地***、分布式***和/或跨越诸如互联网之类的具有其它***的网络的另一组件进行交互)。
在该描述中,术语“便携式计算设备”(“PCD”)用于描述在有限容量的可充电电源(例如,电池和/或电容器)上操作的任何设备。虽然具有可充电电源的PCD已经使用数十年,但是在可充电电池方面的技术进步加上第三代(“3G”)和***(“4G”)无线技术的出现,已经实现了具有多种能力的众多PCD。因此,除此之外,PCD还可以是蜂窝电话、卫星电话、寻呼机、PDA、智能电话、导航设备、智能本或者阅读器、媒体播放器、上述设备的组合、具有无线连接的膝上型计算机或者平板计算机。
在该描述中,术语“中央处理单元(“CPU”)”、“数字信号处理器(“DSP”)”、“图像处理单元(“GPU”)”、“芯片”、“视频编解码器”、“***总线”、“图像处理器”以及“媒体显示处理器(“MDP”)”是可以在SoC上实现的处理组件的非限制性例子。用于处理组件的这些术语可以可互换地使用,除了在另有指示时。此外,如以下讨论的,以上各项或者它们的等效物中的任何一项可以在在本文中通常被称为“核”和/或“子核”的一个或多个不同的处理组件中实现或者包括其。
在该描述中,术语“工作负载”、“处理负载”、“处理工作负载”以及“图形工作负载”可以可互换地使用,并且通常针对处理负担,或者处理负担的百分比,其在给定的实施例中与给定的处理组件相关联或者可以被分配给该给定的处理组件。另外,相关术语“帧”、“代码块”和“代码的块”可以互换地使用以指代给定的工作负载的一部分或者一段。除了以上定义的以外,“处理组件”等可以是但不限于,中央处理单元、图形处理单元、核、主核、子核、处理区域、硬件引擎等、或者位于便携式计算设备内的集成电路内或者之外的任何组件。
本领域技术人员将明白的是,术语“MIPS”表示处理器能够以给定的功率频率处理的每秒百万指令的数量。在该描述中,该术语用作用于在示例性实施例中指示处理器性能的相对水平的通用的计量单位,并且将不会被解释为暗示落入本公开内容的范围内的任何给定实施例必须包括或者必须不包括具有任何特定的测试程序(Dhrystone)排名或者处理容量的处理器。另外,如本领域技术人员将明白的是,处理器的MIPS设置与被提供给处理器的功率、频率、或者操作频率直接相关。
用于基于PCD中的操作状态对用于核/CPU的低功率模式的改进的实现的本***和方法提供了有成本效益的方式来动态地实现关于是否使空闲核或者CPU进入低功率模式或者究竟是否使空闲核或者CPU进入低功率模式的改进的决策。在一个实施例中,对于与核/CPU的高速缓存,本***和方法在核/CPU进入空闲状态之前,在进行关于使核/CPU进入低功率模式的“成本”或者“开销”的确定时,考虑了高速缓存的操作状态的影响。
本文描述的***或者该***的部分可以根据需要用硬件或者软件来实现。如果用硬件实现,则这些设备可以包括都是本领域中公知的以下技术中的任何技术或者组合:分立电子组件、集成电路、具有适当地被配置的半导体器件和电阻元件的专用集成电路等。这些硬件设备中的任何硬件设备(不论是与其它设备或者其它组件(例如,存储器)一起动作或者单独地)还可以形成或者包括用于执行所公开的方法的各个操作或者步骤的组件或者单元。
当用软件实现或者部分地实现本文描述的***时,软件部分可以用于执行本文描述的方法的各个步骤。在表示各个单元时使用的软件和数据可以被存储在存储器中,并且由合适的指令执行***(微处理器)执行。软件可以包括用于实现逻辑功能的可执行指令的有序列表,并且可以体现在任何“处理器可读介质”中,以便由指令执行***、装置或者设备(例如,单核或者多核处理器或者包含处理器的***)使用或者与其相结合地使用。这样的***通常将从指令执行***、装置或者设备中访问指令,并且执行指令。
图1是可以实现本文描述的***和方法的PCD 100的示例性、非限制性方面的框图。图1中所示的PCD 100具有能够与一个或多个无线通信***进行通信的无线电话的形式。这样的无线通信***可以是宽带无线通信***,其包括长期演进(LTE)***、码分多址(CDMA)***、频分多址(FDMA)***、全球移动通信***(GSM)***、无线局域网(WLAN)***、某个其它无线***、或者这些***中的任何***的组合。CDMA***可以实现宽带CDMA(WCDMA)、CDMA 1X、演进数据优化(EVDO)、时分同步CDMA(TD-SCDMA)或者CDMA的某个其它版本。
如图所示,PCD 100包括片上***(或者SoC)102,其包括异构多核中央处理单元(“CPU”)110和模拟信号处理器128,其耦合到一起。如本领域技术人员所理解的,CPU 110可以包括第零核120、第一核122、第二核124、以及第N核126。此外,如本领域技术人员所理解的,代替CPU 110,还可以采用数字信号处理器(“DSP”)。此外,如本领域对异构多核处理器所理解的,核120、122、124、126中的每个核可以具有不同的架构,可以以不同的效率处理工作负载,可以在操作时消耗不同的功率量等。核120、122、124、126中的每一个可以控制PCD100的一个或多个功能。例如,第零核120可以是用于控制PCD 100中的图形的图形处理单元(“GPU”)。这样的GPU/第零核120还可以包括驱动器、高速缓存和/或控制PCD 100中的图形(包括控制GPU核120与存储器112(包括缓冲器)之间的通信)所必需的其它组件。对于另一例子,不同的核(例如,第N核126)可以运行PCD操作***,其可以是高级操作***(“HLOS”)。这样的第N/HLOS核126还可以包括驱动器、高速缓存、硬件接口和/或运行HLOS(包括核126与存储器112(其可以包括闪速存储器)之间的通信)所必需的其它组件。
核120、122、124、126中的任何核可以是单独的处理器,例如,CPU或者数字信号处理器。除了处理器之外,核120、122、124、126中的一个或多个核还可以包括诸如一个或多个高速缓存存储器之类的其它组件。这些高速缓存存储器可以包括用于特定核或者处理器的专用高速缓存存储器(例如,L1高速缓存)。另外或者替代地,这些高速缓存存储器可以包括与其它核或者处理器共享和/或其它核或者处理器可访问的高速缓存存储器(例如,L2高速缓存)。
另外,核120、122、124、126中的每个核可以在功能上与其它组件(例如,存储器112、传感器或者PCD 100的其它硬件)分组在一起,以形成以下描述的子***。可以实现这样的子***,以便执行PCD的某种功能,例如,音频子***、GPS子***、传感器子***等。这样的子***中的一个或多个还可以被配置为独立于SoC 102而进行操作,例如以在SoC 102已经被置于低功率或者减小的功率状态或者模式(包括关闭状态或者模式)中时继续操作。
如所提及的,存储器112被示为耦合到图1中的多核CPU 110。该存储器112可以例如是随机存取存储器(“RAM”)、只读存储器(“ROM”)、闪速存储器或者其任意组合。另外,存储器112可以包括位于一起或者位于相互远离的位置的多种不同类型的存储器(包括缓冲器、主存储器和高速缓存)。这样的高速缓存可以包括一个或多个L2、L3、LN高速缓存,其可以由核120、122、124、126中的一个或多个核访问。另外,虽然存储器112被示为位于SoC 102上,但是存储器112可以包括在物理上位于远离SoC102或者“片外”的位置的一个或多个存储器,例如,与多核CPU 110和/或核120、122、124、126中的一个或多个核相通信的双倍数据速率(“DDR”)存储器。
如图1中所示,显示器控制器129和触摸屏控制器130耦合到多核CPU110。进而,在片上***102之外的显示器/触摸屏132耦合到显示器控制器129和触摸屏控制器130。数字照相机148还可以耦合到多核CPU 110。在这样的实施例中,数字照相机148可以由多核CPU110的核120、122、124、126中的一个核控制。在一个示例性方面中,数字照相机148是电荷耦合器件(“CCD”)照相机或者互补金属氧化物半导体(“CMOS”)照相机。
图1的PCD 100还可以包括视频编码器134(例如,逐行倒相(“PAL”)编码器、顺序传送彩色与存储(“SECAM”)编码器或者美国国家电视***委员会(“NTSC”)编码器)或者耦合到多核CPU 110的任何其它类型的视频解码器134。进一步地,视频放大器136耦合到视频编码器134和显示器/触摸屏132。此外,视频端口138耦合视频放大器136。如图1中所示,通用串行总线(“USB”)控制器140耦合到多核CPU 110。此外,USB端口142耦合到USB控制器140。用户识别模块(“SIM”)卡146还可以耦合到多核CPU 110。在其它实施例中,可以实现多个SIM卡146。
如图1中进一步所示,立体声音频CODEC 150可以耦合到多核CPU110。此外,音频放大器152可以耦合到立体声音频CODEC 150。在一个示例性方面中,第一立体声扬声器154和第二立体声扬声器156耦合到音频放大器152。图1示出了麦克风放大器158还可以耦合到立体声音频CODEC150。此外,麦克风160可以耦合到麦克风放大器158。在特定的方面中,调频(“FM”)无线电调谐器162可以耦合到立体声音频CODEC 150。此外,FM天线164耦合到FM无线电调谐器162。进一步地,立体声头戴式耳机166可以耦合到立体声音频CODEC 150。
图1进一步指示调制解调器设备/射频(“RF”)收发机168可以耦合多核CPU 110。调制解调器设备168可以支持无线通信协议中的一项或多项,例如,GSM、CDMA、W-CDMA、TDSCDMA、LTE以及LTE的变型(例如,但不限于FDB/LTE以及PDD/LTE无线协议)。另外,可以存在多个调制解调器设备168,并且在这样的实施例中,不同的调制解调器设备168可以支持无线通信协议和/或以上列出的技术中的一些或者全部。
在一些实现中,调制解调器设备168还可以包括各个组件,其包括单独的处理器、存储器和/或RF收发机。在其它实现中,调制解调器设备168可以仅是RF收发机。进一步地,调制解调器设备168可以被并入到集成电路中。也就是说,包括调制解调器设备168的组件可以是芯片中的完整方案,并且包括其本身的处理器和/或核(其可以由本文描述的***和方法监测)。替代地,包括调制解调器设备168的各个组件可以耦合到多核CPU110,并且由CPU 110中的核120、122、124中的一个核控制。RF开关170可以耦合到调制解调器设备168以及RF天线172。在各个实施例中,可以存在多个RF天线172,并且每个这样的RF天线172可以通过RF开关170耦合到调制解调器设备168。
如图1中所示,小键盘174可以直接地或者通过模拟信号处理器128耦合到多核CPU110。此外,具有麦克风的单声道耳机176可以耦合到多核CPU 110或者模拟信号处理器128。此外,振动器设备178还可以耦合到多核CPU 110和/或模拟信号处理器128。图1还示出电源188可以耦合到片上***102,并且在一些实现中,电源188经由USB控制器140耦合。在特定的方面中,电源188是直流(DC)电源,其向PCD 100的需要功率的各个组件提供功率。此外,在特定的方面中,电源188可以是可充电DC电池或者DC电源,其是从连接到AC电源的交流电(AC)到DC变压器得到的。
多核CPU 110还可以耦合到一个或多个内部、片上热传感器157A以及一个或多个外部、片外热传感器157B。片上热传感器157A可以包括一个或多个与绝对温度(“PTAT”)成比例的温度传感器(其基于垂直PNP结构),以及通常专用于互补金属氧化物半导体(“CMOS”)超大规模集成(“VLSI”)电路。片外热传感器157B可以包括一个或多个热敏电阻。热传感器157可以产生利用模数转换器(“ADC”)控制器103转换为数字信号的电压降。然而,在不脱离本公开内容的范围的情况下,可以采用其它类型的热传感器157。
图1进一步指示PCD 110还可以包括网卡114,其可以用于访问数据网络,例如,局域网、个域网或者任何其它网络。网卡114可以是蓝牙网卡、WiFi网卡、个域网(“PAN”)卡或者本领域公知的任何其它网卡。进一步地,网卡114可以被并入到集成电路中。也就是说,网卡114可以是芯片中的完整方案,而可以不是单独的网卡114。
如图1中所示,显示器/触摸屏132、视频端口138、USB端口142、照相机148、第一立体声扬声器154、第二立体声扬声器156、麦克风160、FM天线164、立体声头戴式耳机166、RF开关170、RF天线172、小键盘174、单声道耳机176、振动器178和电源180在SoC 102之外。
SoC 102还可以包括各个总线和/或互连(未示出),以将多核CPU 110和/或核120、122、124、126中的一个或多个核与SoC 102或者PCD 100中的其它子***或者组件通信地耦合。应当理解的是,任何数量的总线和/或互连控制器还可以被实现和布置为片上***102中的总线/互连接口。替代地,单个总线/互连控制器可以被配置有输入,所述输入被布置为如可以期望的,监测在CPU 110与PCD 100中的各个子***或者组件之间传送信号的两个或者更多个总线/互连接口。
可以经由在存储器112和/或位于CPU 110上的存储器中存储的数据和处理器指令的组合,实现本文描述的方法步骤中的一个或多个步骤。这些指令可以由多核CPU 110中的一个或多个核120、122、124、126和/或SoC102的子***执行,以便执行本文描述的方法。此外,多核CPU 110、核120、122、124、126中的一个或多个核、存储器112、PCD 100的其它组件或者其组合可以用作用于执行本文描述的方法步骤中的一个或多个方法步骤的单元,以便能够实现基于操作状态(并且具体地,与核/CPU模式相关联的一个或多个高速缓存存储器的操作状态)对用于核/CPU的低功率模式的改进的实现。
图2是对PCD中的并行线程的执行(例如,由在图1中示出的PCD实施例的核120、122、124、126)的示例性时序图。如图2中所示,在操作期间,核120、122、124、126可以在特定时间段内并行地执行各个任务。可以根据由多核CPU 110(图1)接收的任何周期性信号,来生成或者测量这些时间段。例如,在不同的实施例中,周期性信号可以例如是时钟信号、周期性中断、垂直同步(“V-Sync”)信号等。在图2的示例性时序图中,核120、122、124、126正在执行PCD 100上的游戏。在该例子中,时间段根据V-Sync信号。然而,本领域技术人员将理解的是,图2还应用于其它信号和/或用例,例如,视频回放、操作电话会议或者视频会议软件等。
图2示出第一时间段(帧1/周期1)以及第二时间段(帧2/周期2)的一部分。如图2中所示,所有的第0核120、第1核122、第2核124和第N核126在帧1中是活动的。如本领域技术人员将理解的是,虽然所有的核120、122、124、126在帧1期间是活动的,但是活动级别或者活动量未必在核120、122、124、126之间是均等地分布的。例如,如图2中所示,第0核120线程在帧1期间执行两个相对较小的任务(ipEvent和xTh2)。第1核122线程在帧1期间执行一个相对较大的任务(gameRenderTh)。
如本领域技术人员还将理解的是,由每个线程执行的不同的任务可能要求用于与执行线程的核120、122、124、126相关联的一个或多个高速缓存的不同的活动级别。再次使用第0核作为例子,如图2中所示,在帧1期间执行的两个任务要求与第0核相关联的高速缓存的很少的活动。与第0核相关联的该高速缓存可以是L1高速缓存、L2高速缓存或者第0核可访问的任何其它高速缓存。在图2中,第0核的高速缓存的活动的这种缺少通过以下项来表示:该高速缓存不需要取回内容来放置在该高速缓存中(例如,从不同的高速缓存、片外存储器(例如,DDR、DVD盘或者在网络连接上的远程服务器)取回)。
继续该例子,如图2中所示,由第1核执行的线程的单个任务需要与第1核相关联的高速缓存的相对大的活动级别。第1核的高速缓存的这种大活动级别在图2中通过以下项来表示:该高速缓存需要从外部源多次取回内容,这导致被取回的内容被写为该高速缓存中的一个或多个高速缓存行。这样的内容取回可以包括从不同的高速缓存、片外存储器(例如,DDR、DDR盘或者在网络连接上的远程服务器)取得内容。
如图2中还示出的,在帧1/周期1结束之后,核120、122、124、126都不具有要在帧2/周期2中执行的任何线程或者任务。因此,核120、122、124、126将在至少帧2/周期2内进入空闲状态。在其它例子中,核120、122、124、126中的一个或多个核可以在帧2/周期2期间保持活动,而剩余的核120、122、124、126进入空闲状态。当PCD 100检测到核/CPU进入空闲状态(例如,在图2中所示的帧2/周期2中)时,PCD 100可以尝试以及将核/CPU置于低功率模式中,以减少核/CPU的功率消耗。如本文中所使用的,“低功率模式”或者“LPM”可以包括核/CPU的一种或多种模式或者状态,例如,无功能状态、睡眠状态、减小的或者零电压状态、减小的或者零功率状态等,在该状态中,核/CPU消耗或者泄露较少的功率(与核/CPU在完全活动状态中时消耗或者泄露的功率相比)。
例如,图3A是示出当核/CPU被检测到空闲时,核/CPU(例如,核120、122、124、126中的一个或多个核)可以被置于的示例性低功率模式的曲线图300A。在图3A的曲线图300A中,x轴表示时间,而y轴表示示例性核/CPU消耗或者泄露的以毫安(“mA”)为单位的功率。如将理解的,图3A的曲线图300A可以针对不同的核/CPU而改变,这取决于***、用于核/CPU的低功率模式的数量、***或者核/CPU架构、实现等。
在图3A的例子中,核具有活动状态和两种低功率模式(LPM1和LPM2)。如图3A中还示出的,在时间上被标记为核空闲的点处,示例性核进入空闲状态(参见图2的帧2)。当在空闲状态时,核可以留在活动模式中,或者可以被置于如图3A中示出的低功率模式LPM1或者LPM2中的一种模式中。如果被置于低功率模式中的一种模式中,那么核可以保持在该模式中,直到当一些操作或者任务将需要该核再次处于活动模式时在时间上标记为核活动的第二点为止。如将理解的是,对于核的特定实现而言,更多或者更少的低功率模式是可能的。
如图3A中所示,当核处于活动模式中时,其消耗或者泄露第一功率量(被示为mA)。如果该核被置于LPM1中,那么其将消耗或者泄露第二功率量,其低于活动模式的功率量。另外,如果核被置于LPM2中,那么其将消耗或者泄露第三功率量,其低于活动模式和LPM1的功率量。如将理解的是,在图3A中示出的用于活动模式、LPM1和LPM2的功率水平是说明性的,并且可以与在图3中针对不同的核/CPU示出的不同。如还将理解的是,使核/CPU进入低功率模式通常还导致与核/CPU相关联的一个或多个高速缓存连同核/CPU一起进入和/或被置于低功率模式或者状态中。相应地,使核/CPU脱离低功率模式通常导致一个或多个高速缓存脱离低功率模式或者状态和/或利用在高速缓存被置于低功率模式中时存在的高速缓存行重新填充。
如图3A中还示出的,存在进入和退出LPM1和LPM2中的每一种的时间延迟(也被称为“进入时延”和“退出时延”)、以及进入和退出LPM1和LPM2中的每一种所需要的功率量。使得核进入低功率模式以及从低功率模式退出所需要的时间量、以及使得核进入低功率模式以及从低功率模式退出的功率“成本”或者“开销”将针对每个核/CPU而改变。针对用于核/CPU的每种可用的低功率模式而言,这些进入/退出时延以及进入/退出功率成本可以是预先确定的(例如,通过在制造商处进行测试)。一旦确定,针对每种可用的低功率模式的进入/退出时延以及进入/退出功率成本对于特定的核/CPU而言通常不改变,并且可以是“固化的”或者以其它方式被存储在PCD上,以由进行关于是否要使核进入低功率模式的确定的算法或者逻辑单元使用。
在针对图3A中示出的示例性核的实施例中,针对LPM1的进入/退出时延先前已经被确定,如针对LPM1的进入/退出功率成本一样。PCD 100变得知晓核在图3A中被标记为核空闲的时间处已经进入被标记的空闲状态。在知道核接下来何时将需要再次是活动的以执行某种操作任务之后——被标记为核活动的时间——在图3A中,以及在知道针对核的进入/退出时延之后,PCD 100可以确定在唤醒过程必须开始以使得该核返回活动模式之前,核将能够保持在LPM1(核在LPM1中的“驻留”)中多长时间。
在知道核将能够保持在LPM1中多长时间、核在处于LPM1中时的功率泄露(以mA示出)以及针对LPM1的进入/退出功率成本之后,PCD可以确定使得该核进入LPM1中是否导致任何实际的功率节省(与在相同的时间段使得核留在活动模式相比)。相同的确定还可以针对LPM2进行(如果需要的话)或者作为对要进入的“最佳”低功率模式的选择的部分(如果需要的话)。如将理解的是,在一个实施例中,用于进行关于针对低功率模式的功率节省的这些确定的算法或者逻辑单元对于多个不同的核而言可以是相同的。然而,用于进行确定的特定参数以及确定的结果将针对不同的核/CPU而改变,这取决于它们的架构、实现等。
已经观察到的是,在使得核/CPU脱离低功率模式时,还可能存在由与核/CPU相关联的其它组件引起的额外的时延和额外的功率成本。图3B例如是示出核/CPU从图3A中示出的LPM2低功率模式退出的额外的方面的曲线图300B。如图3B中所示,除了使得核/CPU脱离LPM2的时延和功率成本以外,还存在重新填充或者重建与核/CPU相关联的高速缓存的时延和功率成本。
重新填充或者重建与核/CPU相关联的高速缓存可以包括从外部源重新取回内容和/或将高速缓存行重新写入高速缓存中的时延和功率成本。重建高速缓存的这种额外的退出时延和功率成本通常在对是否要使得核/CPU进入LPM2中的确定中是不考虑的。在一个例子(其中,在进入空闲状态之前,核/CPU执行不需要或者需要很少的高速缓存的取回操作的任务或者线程)中,重建高速缓存的额外的退出时延和功率成本可以忽略。
在一些例子(其中,在进入空闲状态之前,核/CPU执行需要高速缓存的很多次取回的任务或者线程)中,重建高速缓存的额外的退出时延和功率成本可能是可观的。例如,如图3B的示例性曲线图300B中所示,重建或者重新填充高速缓存的高速缓存行引起的额外的时延可能在核/CPU已经被使得恢复到活动模式之后,使其实际上暂停。在一些实例中,要求核/CPU在其高速缓存被重建或者重新加载时在活动模式中等待可能否定来自将核/CPU置于低功率模式中的任何益处。另外,在一些实例中,要求核/CPU在其高速缓存被重建或者重新加载时在活动模式中等待可能导致与核/CPU只是留在活动模式中的情况相比更大的功率成本。
如将理解的是,高速缓存具有的对核/CPU的低功率模式的影响量可以取决于高速缓存在核/CPU进入空闲状态时的操作状态。因此,可以不使用通常在低功率模式算法、逻辑单元、驱动器、控制器等中使用的全部预先确定的参数来计算针对高速缓存的时延和功率成本。
图4是示出用于基于PCD(例如,在图1中示出的PCD实施例)中的操作状态对用于核/CPU的低功率模式的改进的实现的***400的示例性实施例的框图。示例性***400可以包括片上***(SoC)集成电路202,其可以在PCD(与图1中的SoC 102类似)中实现。图4中的SoC 202包括第0核220、第1核222、第2核224以及第N核226,所有都连接到SoC202的互连或者总线240。SoC 202的互连/总线240可以是任何期望类型的总线或者互连,这可以取决于SoC 202的架构和/或SoC 202或者PCD旨在针对的用途。如图4中所示,“片外”DDR 250也连接到互连/总线240,与核220、222、224、226和/或它们各自的L1高速缓存221、223、225、227相通信。如上讨论的,在操作中,L1高速缓存221、223、225、227中的一个或多个可以根据需要从位于SoC 202之外的DDR 250(或者从SoC 202之外的其它存储器或者位置)取回内容,以及将所取回的内容作为高速缓存行写入到高速缓存中。
SoC 202还可以包括在图4中为了清楚而没有示出的其它组件和/或子***(包括图1中示出的那些)。第0核220、第1核222、第2核224和第N核226中的每个核将包括某种类型的处理器,并且每个可以被实现为以上针对图1所讨论的核120、122、124、126中的一个核。在一些实施例中,第0核220、第1核222、第2核224和第N核226中的一个或多个核的处理器可以被实现为通用处理单元,而在其它实施例中,处理器可以被实现为专用处理器(例如,DSP)。第0核220、第1核222、第2核224和第N核226中的每个核还包括至少一个高速缓存存储器,在图4中被示为L1高速缓存221(用于第0核220)、L1高速缓存223(用于第1核222)、L1高速缓存225(用于第2核224)以及L1高速缓存227(用于第N核246)。
在各个实施例中,第0核220、第1核222、第2核224和第N核226中的一个或多个核可以包括与图2中示出的相比更多或者更少的组件(例如,额外的L2高速缓存)。此外,在一些实施例中,在图4中示出的组件可以在不同的配置中在物理上布置在SoC 202上,以及在图4中示出的一个或多个组件可以在SoC 202上在物理上不是位于彼此附近。
在图4中示出的实施例中,L1高速缓存221、223、225和227中的每一个分别包含或者耦合到访问计数器231、233、235、237。在所示出的实施例中,访问计数器231、233、235、237是耦合到L1高速缓存221、223、225、227的、在这些高速缓存与互连/总线240之间的硬件计数器。在其它实施例中,根据需要,访问计数器231、233、235、237可以是位于L1高速缓存221、223、225、227本身中或者核220、222、224、226中的硬件、固件、软件或者逻辑单元。
在***400的操作期间,当L1高速缓存221例如从DDR 250(或者其它“片外”位置)取回或者取得内容时,与该L1高速缓存221相关联的访问计数器231创建活动的记录。每次L1高速缓存221从存储器或者“片外”源取回内容,相关联的访问计数器231就记录关于由L1高速缓存221进行的取回操作的信息。可以被记录的示例性信息包括:取回操作的次数、被取回的高速缓存行的数量、被取回以及写入高速缓存的字节数量、内容从何处被取回的(例如,DDR 250)等。因此,访问计数器231、233、235、237中的每一个可以保持对由其相关联的L1高速缓存221、223、225、227执行的取回操作的数量、量、类型、位置等的运行计数或者记录。
虽然在图4的实施例中被示为与一个L1类型的高速缓存相关联,但是将理解的是,访问计数器231、233、235、237中的一个或多个可以与额外的或者不同的高速缓存(其包括由多个核/CPU共享的高速缓存、L2高速缓存和/或由核220、222、224、226使用的多个级别的高速缓存)相关联。因此,在一些实施例中,访问计数器231、233、235、237均可以存储用于多个不同的高速缓存的这种运行计数或者记录信息。在一个实施例中,可以将运行计数或者记录信息(不管是针对一个高速缓存还是多个高速缓存)存储在访问计数器231、233、235、237的存储器中。在其它实施例中,访问计数器231、233、235、237可以将这种运行计数或者记录信息存储在其它地方,例如存储在它们相应的相关联的高速缓存(例如,所示出的L1高速缓存221、223、225、227)中。在其它实施例中,可以将由访问计数器231、233、235、237收集的运行计数或者记录信息存储在中央位置(例如,低功率模式控制器(LPM控制器260))中。
示例性LPM控制器260(在图4中被示为连接到互连/总线240)可以从访问计数器231、233、235、237中的一个或多个中接收或者获得运行计数或者记录信息,以在PCD 100进行关于将核220、222、224、226中的一个或多个核置于一种或多种低功率模式的确定时使用。例如,在一个实施例中,LPM控制器260可以包括集中式驱动器、逻辑单元、软件或者算法,其在一种实现中可以是用于PCD 100的操作***的部分(其进行关于是否将核220、222、224、226中的一个或多个核置于低功率模式(和/或哪种低功率模式)的确定)。在另一实施例中,LPM控制器260可以是SoC 202上的用于执行针对核220、222、224、226中的一个或多个核的低功率模式确定的硬件组件或者一些硬件组件。
在操作中,图4的访问计数器231、233、235、237可以用作用于基于与访问计数器231、233、235、237相关联的高速缓存的操作状态对用于核/CPU的低功率模式的改进的实现的方法的部分。图5A是示出用于基于与核/CPU相关联的高速缓存的操作状态对用于核/CPU的低功率模式的改进的实现的示例性方法500的各方面的流程图。
如图5A中所示,在框510中,方法500以对触发事件的检测开始。在方法500的该实施例中,假设访问计数器231、233、235、237已经在收集和/或记录针对一个或多个相关联的高速缓存(例如,L1高速缓存231、233、235、237)的访问信息的运行计数。在方法500的步骤510中,检测到触发事件。在一个实施例中,由访问计数器231、233、235、237中的一个或多个访问计数器检测到触发事件。在该实施例的实现(其中,访问计数器231、233、235、257是用硬件来实现的)中,由访问计数器231、233、235、257检测到的触发事件可以是接收的周期性信号(例如,以上关于图1所讨论的V-Sync)。在这样的实现中,周期性信号可以是由访问计数器直接接收的,或者可以通过相应的核220、222、224、226间接地接收的。
在另一实施例中,对触发事件的检测可以是由另一组件进行的(例如,由LPM控制器260进行的)。在该其它实施例的实现中,LPM控制器260可以检测触发事件,并且然后单独地动作,或者结合访问计数器231、233、235、237中的一个或多个来动作,以执行方法500的剩余框。
在框520中,保存所收集的访问计数器数据(例如,由访问计数器231、222、235、237收集的运行计数或者记录信息)。在一些实施例中,访问计数器231、233、235、237通过将所收集的访问记录信息保存或者存储到存储器中,来执行该框520。在一些实施例中,访问计数器231、233、235、237中的一个或多个可以将该信息保存到对于访问计数器是本地的存储器。在其它实施例中,可以将访问计数器数据保存在其它地方(例如,保存在与访问计数器相关联的L1高速缓存221、223、225、227中或者在诸如LPM控制器260之类的中央位置(或者LPM控制器260可访问的存储器)处)。
在一些实施例中,在框520处,访问计数器231、233、235、237可以保存所收集的记录信息的汇总或者聚合。例如,不是单独地保存每个访问记录,而是访问计数器231、233、235、237中的一个或多个可以保存由一个或多个高速缓存进行的取回的总次数、由一个或多个高速缓存取回的高速缓存行的总数量、由一个或多个高速缓存取回的数据的总字节数等。
在其它实施例中,保存访问计数器数据(和/或访问计数器数据的汇总或者聚合)可以替代地由PCD 100的不同部分(例如,LPM控制器260)执行。在一种实现中,在框510中检测到触发事件之后,LPM控制器260可以从访问计数器231、233、235、237中的一个或多个中取得访问计数器数据(和/或访问计数器数据的汇总或者聚合),以及将该信息存储在与LPM控制器260相关联的存储器中。在另一种实现中,在框510中检测到触发事件之后,LPM控制器260可以使得访问计数器231、233、235、237中的一个或多个将所收集的数据(和/或访问计数器数据的汇总或者聚合)提供给LPM控制器260或者其可以由LPM控制器260访问的另一位置。
方法500继续到框530,其中,重置访问计数器231、233、235、237。在框530中,清除和/或重置包含关于高速缓存取回的连续信息的存储器存储装置,而不是在步骤520中访问计数器数据已经被存储到其中的存储器。以这种方式,框530使得访问计数器231、233、235、237开始对新的时间段内的关于高速缓存取回的信息的新的连续收集,从而创建高速缓存取回信息在其内被获得和保存的单独的采样时段。框530可以直接通过访问计数器231、233、235、237重置或者通过清除连续记录信息已经被存储在其中的本地存储器或者其它存储器来实现。在其它实施例中,这可以由LPM控制器260执行,从而使得这样的访问计数器存储器或者其它存储器重置。
在框530中重置访问计数器231、233、235、237之后,可以执行可选的框540。例如,在每个访问计数器231、233、235、237针对该处的单个高速缓存而分别执行方法500的实施例中,可以无需执行方法500的框540。在其它实施例(例如其中,一个或多个访问计数器231、233、235、237针对多个高速缓存而分别执行方法500)中,可以执行框540。对于这样的实施例,在框540中,访问计数器231、233、235、237确定是否已经针对所有的高速缓存而保存数据。如果是的话,方法500结束。如果不是的话,方法500返回到框520,其中,可以保存用于额外的高速缓存的访问计数器数据,以及关于那些额外的高速缓存来重置访问计数器(框530)。
在其它实施例(例如其中,LPM控制器260(或者PCD 100的其它组件)正在针对多个访问计数器231、233、235、237执行方法500)中,还可以执行框540。对于这样的实施例,在框540中,LPM控制器260(或者PCD 100的其它组件)确定是否已经针对所有的访问计数器231、233、235、237而保存数据。如果是的话,方法500结束。如果不是的话,方法500返回到框520,其中,保存针对额外的访问计数器231、233、235、237的访问计数器数据,以及重置额外的访问计数器231、233、235、237(框530)。
如将理解的是,图5A的示例性方法500允许对与核/CPU相关联的一个或多个高速缓存(例如,与图4A的核220、222、224、226相关联的L1高速缓存221、223、225、227)的操作状态的捕获。具体地,例如,当核/CPU进入空闲状态(见图2)时,示例性方法500捕获以及提供关于紧接在核/CPU进入空闲状态之前的时间段或者采样时段内与核/CPU相关联的高速缓存的操作状态的信息——即,如以下讨论的,可以用于计算或者估计当核/CPU从低功率模式退出时重建或者重新填充高速缓存可能需要多少时间和/或功率。示例性方法500还允许在核/CPU在进入空闲状态之前的多个时间段或者采样时段内捕获以及记录关于这些高速缓存的操作状态的信息,从而提供可以还用作对重建或者重新填充高速缓存所需要的时间和/或功率的这种计算或者估计的部分的、高速缓存的操作状态的历史。
虽然已经在图5A的背景下描述了示例性方法500,但是将理解的是,可以实现方法500的其它方法或者实施例。例如,在其它实施例中,访问计数器231、233、235、237可能先前在方法500的开始之前没有操作。在这样的实施例中,在框510中检测触发事件可以替代地使得访问计数器231、233、235、237重置以及然后开始收集取回信息,从而开始新的采样时段。在这样的实施例中,随后的触发事件可以使得保存所收集的取回信息,以及如上所讨论的使得重置访问计数器231、233、235、237,从而开始下一个采样时段。因此,在方法500的替代实施例中,图5A的框520和530将在次序上颠倒。图5A的方法500的其它实施例和/或改变也是可能的,如将理解的。
接下来转到图6A,示出了用于对用于核/CPU的低功率模式的改进的实现的方法600的示例性实施例的额外的方面。在框610中,图6A的方法600以对一个或多个核/CPU的识别或者检测(例如,图4中的进入空闲状态的核220、222、224、226)来开始。可以通过PCD 100来识别或者检测一个或多个核/CPU进入空闲状态(例如,由像图4中示出的LPM控制器260之类的组件)。如上所讨论的,LPM控制器260可以是单独的组件(或者一些组件),或者可以是在PCD 100上进行操作的算法、应用、程序、驱动器等。替代地,在其它实施例中,框610的识别或者确定(以及方法600的剩余框)可以由进入空闲状态的核/CPU执行。如将理解的是,存在多种方式来在框610中识别或者确定一个或多个核进入空闲状态。
一旦已经识别或者确定核/CPU进入空闲状态,就在框620中,计算将核/CPU置于低功率模式的进入和退出开销(例如,功率成本)。如以上针对图3A所讨论的,该进入/退出功率成本针对每个核/CPU而言通常是预先确定的,以及并不基于PCD 100的操作状态而改变。在一些实施例中,每个核/CPU进入空闲状态可以针对其本身执行框620的计算。在其它实施例中,集中式组件或者驱动器/应用/算法(例如,图4中的LPM控制器260)可以针对一个或多个核/CPU来执行框620。
在框630中,计算或者确定用于与核/CPU相关联的一个或多个高速缓存的工作集合大小。在一些实施例中,高速缓存可以是与核/CPU相关联的L1高速缓存(例如,图4中的L1高速缓存221、223、225、227)。在其它实施例中,高速缓存可以是L2或者对于多于一个的核/CPU而言共享或者可访问的其它高速缓存。在一个实施例中,计算或者确定工作集合可以包括:基于关于由高速缓存从“片外”源(例如,DDR存储器(参见图4中的DDR 250)、光盘(例如,DVD)、由网络连接的远程服务器等)进行的取回的信息,来估计或者计算高速缓存的操作状态。如针对图5A所讨论的,这样的信息可以包括由图4中的访问计数器231、233、235、237收集的信息。
在一个实施例中,可以根据关于高速缓存的最新信息(例如,如在图5A中讨论的,在核/CPU进入空闲状态之前的最近时间段/采样时段中收集的信息),来计算或者确定用于高速缓存的工作集合大小。例如,工作集合大小可以是由高速缓存在最近时间段/采样时段中取回的高速缓存行的总数量、由高速缓存在最近时间段/采样时段中取回的字节或者内容的数量等。
在其它实施例中,可以根据不只是关于高速缓存的最近信息(例如,在核/CPU进入空闲状态之前的先前的时间段/采样时段中收集的信息),来计算或者确定高速缓存的工作集合大小。在这样的实施例中,在框630中计算用于高速缓存的工作集合大小可以包括:确定由高速缓存在过去的N个时间段/采样时段期间取回的高速缓存行的平均数量和/或所取回的内容的字节的平均数量。在其它实施例中,在框630中计算用于高速缓存的工作集合大小可以替代地或者另外包括:确定由高速缓存在过去的N个时间段/采样时段中的任何时段中取回的高速缓存行的最大数量和/或内容的字节的最大数量。
在一些实施例中,进入空闲状态的每个核/CPU可以针对其本身执行框630的计算或者确定。在其它实施例中,集中式组件或者驱动器/应用/算法(例如,图4中的LPM控制器260)可以针对进入空闲状态的一个或多个核/CPU来执行框630的计算或者确定。
方法600继续到框640,其中,确定用于重新填充、重新加载、重新取回和/或重建高速缓存的开销。在一个实施例中,框640的确定或者计算可以包括:针对低功率模式,确定用于重新填充、重新加载、重新取回和/或重建高速缓存的功率成本。功率成本的这种计算可以使用在框630中确定的工作集合大小来执行,而不管如何确定工作集合大小。
在其它实施例中,框640的确定或者计算可以替代地或者另外包括:针对低功率模式,确定用于重新填充、重新加载、重新取回和/或重建高速缓存的时延。时延的这种计算还可以使用在框630中确定的工作集合大小来执行,而不管如何确定工作集合大小。例如,在一种实现中,框640的计算可以包括:将在最近时间段/采样时段中访问/取回的高速缓存行的总数量乘以高速缓存访问/取回高速缓存行的时间,以确定将工作集合重新填充、重新加载或者重新构建到高速缓存中的总时间。如将理解的是,可以在框640中实现额外的计算或者确定,并且这些计算可以取决于在框630中如何计算工作集合。
在一些实施例中,进入空闲状态的每个核/CPU可以针对其本身执行框640的计算或者确定。在其它实施例中,集中式组件或者驱动器/应用/算法(例如,图4中的LPM控制器260)可以针对进入空闲状态的一个或多个核/CPU来执行框640的计算或者确定。
在框650中,方法600确定用于核的低功率模式是否被证明是合理的。在一种实现中,框650的确定可以基于框620、630和/或640的计算或者确定。例如,在一些实施例中,框650可以包括:对将核/CPU保持在活动状态的功率成本与将核/CPU置于低功率模式(例如,图3A中的LPM2)中的功率成本进行比较。在一个实施例中,可以通过首先将在低功率状态中的核/CPU的功率消耗/泄露乘以核/CPU“驻留”在低功率状态中的时间段,以获得“原始”功率成本,从而确定来自将核/CPU置于低功率状态中的功率成本。可以基于核/CPU的进入/退出时延以及重新填充与核/CPU相关联的一个或多个高速缓存的时延,来确定核/CPU“驻留”在低功率状态中的时间段。这种“原始”功率成本可以通过针对低功率状态而言核/CPU的进入/退出功率成本、以及重新填充与核/CPU相关联的一个或多个高速缓存的功率成本来调整,以确定将核/CPU置于低功率模式中的最终的总功率成本。
如将理解的是,执行框620、630、640的计算或者确定的方式中的任何方式可以在框650的示例计算/确定的以上部分中的任何部分中使用,以得到将核/CPU置于低功率模式中的最终的总功率成本。另外,如将理解的是,可以在框650中实现得到将核/CPU置于低功率模式中的最终的总功率成本的完全不同的方式。这样不同的实现对所述确定而言可以具有较多或者较少的部分,和/或可以将不同的信息考虑在内。
在一个实施例中,如果将核/CPU置于低功率模式中的最终的总功率成本不少于将核/CPU保持在完全活动模式中的功率成本,那么可以不证明低功率模式是合理的。在另一实施例中,框650的确定可以替代地要求针对要被证明合理的低功率模式而言,来自将核/CPU置于低功率模式中的“成本节省”超过完全活动模式的功率成本一预先确定的量、百分比或者阈值。
在一些实施例中,进入空闲状态的每个核/CPU可以针对其本身执行框650的确定或者计算。在其它实施例中,集中式组件或者驱动器/应用/算法(例如,图4中的LPM控制器260)可以针对进入空闲状态的一个或多个核/CPU来执行框650的计算或者确定。
在框650之后,可以执行框660,以决定是否已经考虑了用于进入空闲状态的核/CPU或者用于进入空闲状态的所有核/CPU的所有低功率模式。如果已经考虑了它们,则方法600结束。如果还没有考虑针对核/CPU或者针对所有核/CPU的所有低功率模式,那么方法600可以返回到框620,以及开始针对核/CPU的下一低功率模式或者针对下一核/CPU的计算/确定。
在一些实施例中,框660是可选的。例如,在对于核/CPU而言仅有一种低功率模式退出的实施例中,框660是不必要的,并且方法600可以在框650中确定低功率模式是否被证明是合理的之后结束。在其它实施例中,对于核/CPU而言可以存在多种低功率模式,但是实现方法600的核/CPU、算法、逻辑单元、应用、驱动器等可以被构造为使得顺序地评估用于核/CPU的所有可能的低功率模式,当任何低功率模式被确定为合理的时停止。在这样的实施例中,框650中的对低功率模式被证明是合理的确定也可以结束方法600。
在其它实施例中,方法600可以同时评估用于核/CPU的所有可能的低功率模式。在这些实施例中,框650还可以包括对“最佳”低功率模式的确定(例如,在活动模式上具有最大功率成本节省的低功率模式)。对于这些实施例而言,在框650中对“最佳”低功率模式的确定也可以结束方法600。
在一些实施例中,进入空闲状态的每个核/CPU可以在必要的情况下针对其本身执行框660的确定。在其它实施例中,集中式组件或者驱动器/应用/算法(例如,图4中的LPM控制器260)可以针对进入空闲状态的一个或多个核/CPU来执行框660的确定。
如将理解的是,图5A和6A仅分别描述了所公开的方法500和600的一个示例性实施例。在其它实施例中,可以将额外的框或者步骤添加到在图5A中示出的方法500和/或图6A中示出的方法600中。类似地,在一些实施例中,可以将在图5A和/或6A中示出的各个框或者步骤进行组合或者忽略。方法500和600的这样的变型在本公开内容的范围内。
另外,在该说明书(包括图5A或者6A)中描述的过程或者过程流程中的某些步骤可以自然地在其它步骤之前,以便本发明在所描述的实施例中运作。然而,本公开内容并不限于所描述的步骤的次序,如果这样的次序或者顺序不改变本发明的功能的话。此外,应认识到的是,在不脱离本发明的范围的情况下,一些步骤可以在其它步骤之前、之后或者与其并行地(与其基本上同时)执行。此外,诸如“之后”、“然后”、“接下来”、“顺序地”等词并不旨在限制这些步骤的次序。这些词仅用于引导读者通读示例性方法的描述。
以上针对方法500和600描述的各种操作、方法或者功能可以由各个硬件和/或软件组件/模块来执行。这样的组件和/或模块可以提供用于执行各种描述的操作、方法或者功能的单元。通常,在存在具有对应的配对单元加功能的图的图中示出的方法的情况下,操作框与具有类似编号的单元加功能框相对应。例如,图5A中示出的框510-540与图5B中示出的单元加功能框510’-540’相对应。类似地,图6A中示出的框610-660与图6B中示出的单元加功能框610’-660’相对应。
本领域技术人员在编程时能够基于例如本说明书中的流程图以及相关联的描述,在没有困难的情况下,编写计算机代码,或者识别合适的硬件和/或电路,来实现所公开的发明。因此,特定程序代码指令集或者详细的硬件设备的公开并不被视为对于充分地理解如何实现和使用本发明而言是必需的。在以上描述中并且结合可以示出各个过程流程的图,更加详细地解释了所发明的、所要求保护的处理器实现的过程的功能。
在如以上指出的一个或多个示例性方面中,所描述的功能可以用硬件、软件、固件或者其任意组合来实现。如果用软件来实现,所述功能可以存储在计算机可读介质(例如,非暂时性处理器可读介质)上或者作为计算机可读介质上的一个或多个指令或者代码进行发送。计算机可读介质包括数据存储介质和通信介质二者,通信介质包括促进程序从一个位置传输到另一个位置的任何介质。
存储介质可以是可以由计算机或者处理器访问的任何可用介质。通过举例而非限制的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储、磁盘存储或者其它磁存储设备、或者可以用于携带或者存储具有指令或者数据结构形式的期望程序代码并且可以被计算机访问的任何其它介质。如本文中所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述各项的组合也应当包括在非暂时性计算机可读介质的范围之内。
虽然已经示出并且详细地描述了所选择的方面,但是将理解的是,可以在不脱离本发明(如以下权利要求所限定的)的情况下,在其中进行各种替换和改变。
Claims (30)
1.一种用于对便携式计算设备(PCD)中的多核片上***(SoC)中的低功率模式的改进的实现的方法,所述方法包括:
识别所述多核SoC中的核正在进入空闲状态;
针对所述核的低功率模式,计算所述核的进入功率成本和所述核的退出功率成本;
计算用于与所述核相关联的高速缓存的工作集合大小;
使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的时延;以及
部分地基于所述核的所述进入功率成本、所述核的所述退出功率成本以及用于所述高速缓存退出所述低功率模式的所述时延,来确定用于所述核的所述低功率模式与活动模式相比是否导致功率节省。
2.根据权利要求1所述的方法,还包括:
使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的功率成本,其中,所述确定用于所述高速缓存的所述低功率模式是否导致所述功率节省还部分地基于用于所述高速缓存退出所述低功率模式的所述功率成本。
3.根据权利要求1所述的方法,其中,计算用于所述高速缓存的所述工作集合大小包括:确定由所述高速缓存在至少一个采样时段期间取得的高速缓存行的数量。
4.根据权利要求3所述的方法,其中,计算用于所述高速缓存的所述工作集合大小还包括:
确定由所述高速缓存在所述至少一个采样时段中的最近采样时段期间取得的高速缓存行的数量。
5.根据权利要求3所述的方法,其中,计算用于所述高速缓存的所述工作集合大小还包括:
确定由所述高速缓存在多个采样时段期间取得的高速缓存行的平均数量。
6.根据权利要求3所述的方法,其中,使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述低功率模式的时延还包括:
将在所述至少一个采样时段期间取得的所述高速缓存行的数量乘以用于所述高速缓存取得每个高速缓存行所需要的时间。
7.根据权利要求3所述的方法,其中,确定由所述高速缓存在所述至少一个采样时段期间取得的高速缓存行的数量,包括:
利用耦合到所述高速缓存的访问计数器,来对由所述高速缓存在所述至少一个采样时段期间取得的所述高速缓存行的数量进行计数。
8.根据权利要求7所述的方法,其中:
所述至少一个采样时段包括多个采样时段,以及
利用耦合到高速缓存的访问计数器来进行计数还包括:在所述多个采样时段中的每个采样时段结束时重置所述访问计数器。
9.一种用于便携式计算设备(PCD)中的多核片上***(SoC)的计算机***,所述***包括:
所述SoC的核;
所述SoC的高速缓存,其与所述核相通信;以及
低功率模式控制器,其与所述核和所述高速缓存相通信,所述低功率模式控制器被配置为:
识别所述核正在进入空闲状态,
针对所述核的低功率模式,计算所述核的进入功率成本和所述核的退出功率成本,
计算用于所述高速缓存的工作集合大小,
使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的时延,以及
部分地基于所述核的所述进入功率成本、所述核的所述退出功率成本以及用于所述高速缓存退出所述低功率模式的所述时延,来确定用于所述核的所述低功率模式与活动模式相比是否导致功率节省。
10.根据权利要求9所述的***,其中,所述低功率模式控制器还被配置为:
使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的功率成本,以及部分地基于用于所述高速缓存退出所述低功率模式的所述功率成本,来确定用于所述高速缓存的所述低功率模式是否导致功率节省。
11.根据权利要求9所述的***,其中,用于所述高速缓存的所述工作集合大小包括:由所述高速缓存在至少一个采样时段期间取得的高速缓存行的数量。
12.根据权利要求11所述的***,其中:
所述至少一个采样时段还包括多个采样时段,以及
用于所述高速缓存的所述工作集合大小包括:由所述高速缓存在所述多个采样时段中的最近采样时段期间取得的所述高速缓存行的数量。
13.根据权利要求11所述的***,其中:
所述至少一个采样时段还包括多个采样时段,以及
用于所述高速缓存的所述工作集合大小包括:由所述高速缓存在所述多个采样时段期间取得的高速缓存行的平均数量。
14.根据权利要求11所述的***,其中,所述低功率模式控制器被配置为使用用于所述高速缓存的所述工作集合大小来计算用于所述高速缓存退出所述低功率模式的时延还包括:
所述低功率模式控制器被配置为将在所述采样时段期间取得的所述高速缓存行的数量乘以用于所述高速缓存取得每个高速缓存行所需要的时间。
15.根据权利要求11所述的***,还包括:耦合到所述高速缓存的访问计数器,所述访问计数器被配置为对由所述高速缓存在所述至少一个采样时段期间取得的所述高速缓存行的数量进行计数。
16.根据权利要求15所述的***,其中:
所述至少一个采样时段包括多个采样时段,以及
所述访问计数器还被配置为:在所述多个采样时段中的每个时段结束时进行重置。
17.一种计算机程序产品,其包括具有体现在其中的计算机可读程序代码的非暂时性计算机可用介质,所述计算机可读程序代码适于被执行以实现用于对便携式计算设备(PCD)中的多核片上***(SoC)中的低功率模式的改进的实现的方法,所述方法包括:
识别所述多核SoC中的核正在进入空闲状态;
针对所述核的低功率模式,计算所述核的进入功率成本和所述核的退出功率成本;
计算用于与所述核相关联的高速缓存的工作集合大小;
使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的时延;以及
部分地基于所述核的所述进入功率成本、所述核的所述退出功率成本以及用于所述高速缓存退出所述低功率模式的所述时延,来确定用于所述核的所述低功率模式与活动模式相比是否导致功率节省。
18.根据权利要求17所述的计算机程序产品,还包括:
使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的功率成本,其中,所述确定用于所述高速缓存的所述低功率模式是否导致所述功率节省还部分地基于用于所述高速缓存退出所述低功率模式的所述功率成本。
19.根据权利要求17所述的计算机程序产品,其中,用于所述高速缓存的所述工作集合大小包括:
由所述高速缓存在至少一个采样时段期间取得的高速缓存行的数量。
20.根据权利要求19所述的计算机程序产品,其中:
所述至少一个采样时段还包括多个采样时段,以及
用于所述高速缓存的所述工作集合大小还包括:由所述高速缓存在所述多个采样时段中的最近采样时段期间取得的所述高速缓存行的数量。
21.根据权利要求19所述的计算机程序产品,其中:
所述至少一个采样时段还包括多个采样时段,以及
用于所述高速缓存的所述工作集合大小包括:由所述高速缓存在所述多个采样时段期间取得的高速缓存行的平均数量。
22.根据权利要求19所述的计算机程序产品,其中,使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述低功率模式的时延还包括:
将在所述采样时段期间取得的所述高速缓存行的数量乘以用于所述高速缓存取得每个高速缓存行所需要的时间。
23.根据权利要求19所述的计算机程序产品,其中,确定由所述高速缓存在所述至少一个采样时段期间取得的高速缓存行的数量,包括:
利用耦合到所述高速缓存的访问计数器,来对由所述高速缓存在所述至少一个采样时段期间取得的所述高速缓存行的数量进行计数。
24.一种用于对便携式计算设备(PCD)中的多核片上***(SoC)中的低功率模式的改进的实现的计算机***,所述***包括:
用于识别所述多核SoC中的核正在进入空闲状态的单元;
用于针对所述核的低功率模式,计算所述核的进入功率成本和所述核的退出功率成本的单元;
用于计算用于与所述核相关联的高速缓存的工作集合大小的单元;
用于使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的时延的单元;以及
用于部分地基于所述核的所述进入功率成本、所述核的所述退出功率成本以及用于所述高速缓存退出所述低功率模式的所述时延,来确定用于所述核的所述低功率模式与活动模式相比是否导致功率节省的单元。
25.根据权利要求24所述的***,还包括:
用于使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述核的所述低功率模式的功率成本的单元,其中,所述确定用于所述高速缓存的所述低功率模式是否导致所述功率节省还部分地基于用于所述高速缓存退出所述低功率模式的所述功率成本。
26.根据权利要求24所述的***,其中,所述用于计算用于所述高速缓存的所述工作集合大小的单元还包括:
用于确定由所述高速缓存在多个采样时段中的所述至少一个采样时段期间取得的高速缓存行的数量的单元。
27.根据权利要求26所述的***,其中,所述用于计算用于所述高速缓存的所述工作集合大小的单元还包括:
用于确定由所述高速缓存在所述多个采样时段中的最近采样时段期间取得的所述高速缓存行的数量的单元。
28.根据权利要求26所述的***,其中,所述用于计算用于所述高速缓存的所述工作集合大小的单元还包括:
用于确定由所述高速缓存在所述多个采样时段期间取得的高速缓存行的平均数量的单元。
29.根据权利要求26所述的***,其中,所述用于使用用于所述高速缓存的所述工作集合大小,来计算用于所述高速缓存退出所述低功率模式的所述时延的单元还包括:
用于将在多个采样时段中的所述至少一个采样时段期间取得的所述高速缓存行的数量乘以用于所述高速缓存取得每个高速缓存行所需要的时间的单元。
30.根据权利要求26所述的***,其中,所述用于确定由所述高速缓存在多个采样时段中的至少一个采样时段期间取得的高速缓存行的数量的单元还包括:
耦合到所述高速缓存的、用于对由所述高速缓存在多个采样时段中的所述至少一个采样时段期间取得的所述高速缓存行的数量进行计数的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/819,384 US20170038813A1 (en) | 2015-08-05 | 2015-08-05 | System and method for cache aware low power mode control in a portable computing device |
US14/819,384 | 2015-08-05 | ||
PCT/US2016/041703 WO2017023494A1 (en) | 2015-08-05 | 2016-07-11 | System and method for cache aware low power mode control in a portable computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107924221A true CN107924221A (zh) | 2018-04-17 |
Family
ID=56511931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680045498.0A Pending CN107924221A (zh) | 2015-08-05 | 2016-07-11 | 用于便携式计算设备中的高速缓存感知的低功率模式控制的***和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20170038813A1 (zh) |
EP (1) | EP3332306B1 (zh) |
JP (1) | JP2018532174A (zh) |
KR (1) | KR20180037954A (zh) |
CN (1) | CN107924221A (zh) |
BR (1) | BR112018002252A2 (zh) |
TW (1) | TW201716925A (zh) |
WO (1) | WO2017023494A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116472512A (zh) * | 2020-11-11 | 2023-07-21 | 超威半导体公司 | 片上***(soc)的增强的耐久性 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959075B2 (en) | 2015-08-05 | 2018-05-01 | Qualcomm Incorporated | System and method for flush power aware low power mode control in a portable computing device |
US10203749B2 (en) * | 2016-01-04 | 2019-02-12 | Marvell World Trade Ltd. | Method and apparatus for saving power, including at least two power saving modes |
US10324519B2 (en) * | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US20180188797A1 (en) * | 2016-12-29 | 2018-07-05 | Intel Corporation | Link power management scheme based on link's prior history |
US11023379B2 (en) | 2019-02-13 | 2021-06-01 | Google Llc | Low-power cached ambient computing |
TWI777320B (zh) * | 2020-12-04 | 2022-09-11 | 神雲科技股份有限公司 | 功耗校調方法與伺服器 |
WO2023205926A1 (en) * | 2022-04-24 | 2023-11-02 | Qualcomm Incorporated | Performance-aware smart framework to improve cpu power efficiency in static display read mode |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517886A (zh) * | 2003-01-07 | 2004-08-04 | ض� | 一种支持处理器的功率操作模式的高速缓存存储器 |
US20050192977A1 (en) * | 2004-02-27 | 2005-09-01 | International Business Machines Corporation | System, method and program for assessing the activity level of a database management system |
US20080071987A1 (en) * | 2006-09-20 | 2008-03-20 | International Business Machines Corporation | Cache Configuration in a Database System |
CN102741775A (zh) * | 2010-12-23 | 2012-10-17 | 英特尔公司 | 用于对计算机平台的***功率状态进行转换的方法、装置和*** |
CN103262001A (zh) * | 2010-12-22 | 2013-08-21 | 英特尔公司 | 具有自适应高速缓存清除的计算平台 |
CN104781753A (zh) * | 2012-12-14 | 2015-07-15 | 英特尔公司 | 功率选通高速缓存存储器的一部分 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495403B2 (en) * | 2008-12-31 | 2013-07-23 | Intel Corporation | Platform and processor power management |
US9176563B2 (en) * | 2012-05-14 | 2015-11-03 | Broadcom Corporation | Leakage variation aware power management for multicore processors |
US9354694B2 (en) * | 2013-03-14 | 2016-05-31 | Intel Corporation | Controlling processor consumption using on-off keying having a maximum off time |
US9665153B2 (en) * | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
US9460001B2 (en) * | 2014-03-21 | 2016-10-04 | Veritas Technologies Llc | Systems and methods for identifying access rate boundaries of workloads |
-
2015
- 2015-08-05 US US14/819,384 patent/US20170038813A1/en not_active Abandoned
-
2016
- 2016-07-11 EP EP16742127.0A patent/EP3332306B1/en active Active
- 2016-07-11 CN CN201680045498.0A patent/CN107924221A/zh active Pending
- 2016-07-11 WO PCT/US2016/041703 patent/WO2017023494A1/en active Application Filing
- 2016-07-11 KR KR1020187003279A patent/KR20180037954A/ko unknown
- 2016-07-11 JP JP2018504979A patent/JP2018532174A/ja active Pending
- 2016-07-11 BR BR112018002252A patent/BR112018002252A2/pt not_active Application Discontinuation
- 2016-08-04 TW TW105124824A patent/TW201716925A/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517886A (zh) * | 2003-01-07 | 2004-08-04 | ض� | 一种支持处理器的功率操作模式的高速缓存存储器 |
US20050192977A1 (en) * | 2004-02-27 | 2005-09-01 | International Business Machines Corporation | System, method and program for assessing the activity level of a database management system |
US20080071987A1 (en) * | 2006-09-20 | 2008-03-20 | International Business Machines Corporation | Cache Configuration in a Database System |
CN103262001A (zh) * | 2010-12-22 | 2013-08-21 | 英特尔公司 | 具有自适应高速缓存清除的计算平台 |
CN102741775A (zh) * | 2010-12-23 | 2012-10-17 | 英特尔公司 | 用于对计算机平台的***功率状态进行转换的方法、装置和*** |
CN104781753A (zh) * | 2012-12-14 | 2015-07-15 | 英特尔公司 | 功率选通高速缓存存储器的一部分 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116472512A (zh) * | 2020-11-11 | 2023-07-21 | 超威半导体公司 | 片上***(soc)的增强的耐久性 |
Also Published As
Publication number | Publication date |
---|---|
WO2017023494A1 (en) | 2017-02-09 |
BR112018002252A2 (pt) | 2018-09-18 |
KR20180037954A (ko) | 2018-04-13 |
EP3332306B1 (en) | 2021-08-18 |
JP2018532174A (ja) | 2018-11-01 |
US20170038813A1 (en) | 2017-02-09 |
EP3332306A1 (en) | 2018-06-13 |
TW201716925A (zh) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924221A (zh) | 用于便携式计算设备中的高速缓存感知的低功率模式控制的***和方法 | |
JP5734505B2 (ja) | ポータブルコンピューティングデバイスのマルチコアプロセッサにおける複数のコアへの電力を動的に制御するための方法およびシステム | |
US10571996B2 (en) | System on a chip with fast wake from sleep | |
CN103890694B (zh) | 基于任务紧急性来管理时钟速率的***和方法 | |
US9405575B2 (en) | Use of multi-thread hardware for efficient sampling | |
CN103930874B (zh) | 使用经调度资源组转变通过对便携式计算装置的工作负载估计而节省功率 | |
AU2015267615B2 (en) | System on a chip with always-on processor | |
CN108701079A (zh) | 具有自适应预取的闪存读取高速缓存的***和方法 | |
CN107077185B (zh) | 用于基于协处理器操作提供动态服务质量水平的***和方法 | |
CN102568435A (zh) | 用于显示设备的低功率刷新的方法和装置 | |
CN109582105A (zh) | 应用处理器、相应移动装置和选择时钟信号的方法 | |
CN104951043B (zh) | 可穿戴式控制器及其操作方法 | |
CN107111555A (zh) | 用于改进便携式计算设备中的牺牲(victim)缓存模式的***和方法 | |
CN110198558A (zh) | 待机优化方法、装置、计算机设备和存储介质 | |
US9959075B2 (en) | System and method for flush power aware low power mode control in a portable computing device | |
CN104756042B (zh) | 用于在无线终端中控制操作模式的装置和方法 | |
CN101606135B (zh) | 时钟控制装置、时钟控制方法、时钟控制程序及集成电路 | |
CN107924225A (zh) | 用于动态地调整存储器状态转变定时器的***和方法 | |
CN104769520A (zh) | 用于动态存储器功率管理的***和方法 | |
CN109144232A (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
CN106687884B (zh) | 用于片上***子***外部访问检测和恢复的***和方法 | |
WO2016114997A1 (en) | System and method for adaptive implementation of victim cache mode in a portable computing device | |
CN115431768A (zh) | 车载冰箱控制方法及相关设备 | |
KR20170041816A (ko) | 이종 프로세서 시스템 내 캐시들 간에 데이터 이동 | |
CN109992360A (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180417 |
|
RJ01 | Rejection of invention patent application after publication |