CN104102322B - 延长cpu睡眠时间的方法及装置 - Google Patents

延长cpu睡眠时间的方法及装置 Download PDF

Info

Publication number
CN104102322B
CN104102322B CN201310118000.7A CN201310118000A CN104102322B CN 104102322 B CN104102322 B CN 104102322B CN 201310118000 A CN201310118000 A CN 201310118000A CN 104102322 B CN104102322 B CN 104102322B
Authority
CN
China
Prior art keywords
cpu
interrupt
deferrable
external
control unit
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.)
Expired - Fee Related
Application number
CN201310118000.7A
Other languages
English (en)
Other versions
CN104102322A (zh
Inventor
陈虎
蔡俊杰
赵浩
徐景
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to CN201310118000.7A priority Critical patent/CN104102322B/zh
Priority to US14/245,214 priority patent/US9594419B2/en
Publication of CN104102322A publication Critical patent/CN104102322A/zh
Application granted granted Critical
Publication of CN104102322B publication Critical patent/CN104102322B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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)

Abstract

本申请公开了一种延长CPU睡眠时间的方法。当CPU进入睡眠状态后,中断控制器对可推迟的外部中断推迟报告给CPU,推迟时间默认配置或自行设置。本申请还提供了与之相对应的装置。本申请可以延长各类智能电子设备中的CPU的睡眠时间,使CPU进入深度睡眠模式,从而降低功耗而基本不影响***性能。

Description

延长CPU睡眠时间的方法及装置
技术领域
本申请涉及一种计算机、平板电脑、手机等智能电子设备中延长CPU睡眠时间的方法及装置。
背景技术
智能电子设备中的CPU或处于运行状态,或处于睡眠状态。CPU的睡眠状态通常分为由浅到深的多种睡眠模式,睡眠模式越深,功耗越低,但同时唤醒的代价(苏醒时间、唤醒所需功耗)也越大。当操作***发现当前无事可做、准备将CPU置于睡眠状态时,会权衡各种因素,将CPU置于合适的睡眠模式。
各种型号CPU的睡眠模式在数量和含义上有所区别,但原理大体相同。以德州仪器(TI)公司的OMAP4460芯片为例,这是一款采用了ARM Cortex A9内核的双核CPU,有四种睡眠模式C1~C4。操作***根据预期睡眠时间来决定CPU进入哪种睡眠模式,如下表1所示:
表1OMAP4460芯片的四种睡眠模式
谷歌Galaxy Nexus手机的CPU正是OMAP4460芯片,该款手机除显示屏以外的整体功耗为:运行状态下1W;C1睡眠模式下0.62W;C2睡眠模式下0.15W;C3睡眠模式下0.12W;C4睡眠模式下0.08W。显然,如果能在保证***性能的同时延长CPU处于睡眠状态的时间、或者将CPU的睡眠模式由浅变深,就能够显著降低功耗。
在单处理器的智能电子设备中,如下三类事件会将CPU从睡眠状态唤醒为运行状态:
其一,CPU检测到外部中断;
其二,CPU检测到外部设备的异步错误事件(asynchronous abort);
其三,CPU检测到调试事件,例如JTAG(Joint Test Action Group)或者ICE(In-Circuit Emulator)的调试。
操作***通常将中断分为硬件中断和软件中断两大类,其中的硬件中断又分为外部中断和内部中断两小类。所述外部中断是由指外部设备(即除CPU和内存以外的硬件设备)发出的中断请求。外部中断由中断控制器负责报告给CPU,目前广泛使用的是可编程中断控制器(PIC,Programmable Interrupt Controller)。早期的中断控制器是与CPU独立封装的一块硬件芯片,如今通常与CPU集成在一个封装内。
请参阅图1,这是一种现有的中断控制器。其一方面连接多个外部设备,接收它们所发出的外部中断;另一方面连接CPU,向CPU报告外部中断,即向CPU发出中断信号。通常情况下,中断控制器在收到外部中断后就立即报告给CPU。如果多个外部中断同时发生,中断控制器会根据优先级依次报告给CPU。CPU一旦接收到外部中断,就会调用相应的中断处理函数进行处理。
请参阅图2,外部中断在时间上并无规律,中断控制器采用的实时报告机制并不考虑CPU是处于运行状态还是睡眠状态。处于睡眠状态的CPU一旦接收到中断信号,就会被唤醒为运行状态。各种外部中断使得CPU的睡眠时间碎片化,并使CPU难以进入深度睡眠模式。
对称多处理器***(SMP,symmetric multi processor)是指在一台智能电子设备上配置有两个以上的处理器,这些处理器共享内存等资源。一个处理器芯片上汇集多个运算核心的情况也属于SMP***,每个运算核心视作一个CPU。在SMP***中,除了上述三类事件以外,处于睡眠状态的CPU一旦检测到其他CPU的存储器一致性广播,也会被唤醒回到运行状态。
在SMP***中,每个CPU都具有独立的缓存(cache)。当某个CPU修改了自己的缓存,就会向其他CPU发送存储器一致性广播,告诉其他CPU这项修改。由于CPU对缓存的修改非常频繁,因此存储器一致性广播也频繁发生。
请参阅图3,在SMP***中频繁发生的存储器一致性广播将处于睡眠状态的某个CPU屡屡唤醒,甚至在该CPU每次开始睡眠时就会接收到存储器一致性广播,该CPU因此被立即唤醒,被唤醒后的该CPU在空闲时又再次进入睡眠状态。这导致SMP***中的各个CPU的睡眠时间总是非常短,通常<10μs。
发明内容
本申请所要解决的技术问题是提供一种延长CPU睡眠时间的方法,通过设计中断控制器的延迟报告机制、和/或在CPU睡眠时停止接收存储器一致性广播,以尽量少地唤醒处于睡眠状态的CPU,延长CPU睡眠的时间。为此,本申请还提供与所述延长CPU的睡眠时间的方法相对应的装置。
为解决上述技术问题,本申请延长CPU睡眠时间的方法包括如下步骤:
第1步,CPU进入睡眠状态,此时中断控制器对接收到的外部中断判断类型;
如果是可推迟的外部中断,则按照设定的推迟时间进行计时,完成计时后进入第2步;
如果是其他类型的外部中断,则直接进入第2步;
第2步,当任意可推迟的外部中断的推迟时间到达、或者中断控制器收到其他类型的外部中断时,中断控制器立即报告给CPU,CPU退出睡眠状态;
第3步,CPU遍历中断控制器以处理所有已经发生的外部中断,对于可推迟的外部中断即使推迟时间并未到达也进行处理;
第4步,CPU进入运行状态。
与上述方法相对应的装置包括:
分类模块,用于将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型;各个外部中断的类型、以及可推迟的外部中断的最大可推迟时间被存储起来;
中断控制器,用于在CPU处于运行状态时将外部中断立即报告给CPU,在CPU处于睡眠状态时将可推迟的外部中断推迟报告给CPU,在CPU处于睡眠状态时将其他类型的外部中断立即报告给CPU;
所述中断控制器中存储有所有可推迟的外部中断的推迟时间。
另一种本申请延长CPU睡眠时间的方法包括如下步骤:
第1步,某个CPU将进入睡眠状态前,停止接收其他CPU发出的存储器一致性广播;
第2步,该CPU进入睡眠状态,此时中断控制器对接收到的外部中断判断类型;
如果是可推迟的外部中断,则按照设定的推迟时间进行计时,完成计时后进入第3步;
如果是其他类型的外部中断,则直接进入第3步;
第3步,当所述可推迟的外部中断的推迟时间到达、或者中断控制器收到其他类型的外部中断时,中断控制器立即报告给CPU,CPU退出睡眠状态;
第4步,该CPU退出睡眠状态后、将进入运行状态前,恢复接收其他CPU发出的存储器一致性广播
第5步,CPU遍历中断控制器以处理所有已经发生的外部中断,对于可推迟的外部中断即使推迟时间并未到达也进行处理;
第6步,该CPU进入运行状态。
与上述方法相对应的装置包括:
分类模块,用于将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型;各个外部中断的类型、以及可推迟的外部中断的最大可推迟时间被存储起来;
中断控制器,用于在CPU处于运行状态时将外部中断立即报告给CPU,在CPU处于睡眠状态时将可推迟的外部中断推迟报告给CPU,在CPU处于睡眠状态时将其他类型的外部中断立即报告给CPU;所述中断控制器中存储有所有可推迟的外部中断的推迟时间;
在某个CPU将进入睡眠状态之前,使该CPU停止接收其他CPU发来的存储器一致性广播的模块;
在某个CPU从睡眠状态退出睡眠状态后、将回到运行状态前,使该CPU恢复接收其他CPU发来的存储器一致性广播的模块。
本申请对于单处理器、多处理器(尤其是部署SMP***)的智能电子设备,均可延长CPU的睡眠时间、并且使CPU进入更深的睡眠模式,在降低能耗的同时基本上不影响***性能。
附图说明
图1是现有的中断控制器的结构和连接关系示意图;
图2是外部中断将CPU的睡眠时间碎片化的示意图;
图3是存储器一致性广播将CPU的睡眠时间碎片化的示意图;
图4~图6是本申请延长CPU睡眠时间的方法的三个实施例的流程图;
图7是与本申请第一实施例所述方法相对应、且适用于单处理器***的装置的示意图;
图8是与本申请第一实施例所述方法相对应、且适用于SMP***的装置的示意图;
图9是与本申请第二实施例所述方法相对应的装置的示意图;
图10是与本申请第三实施例所述方法相对应的装置的示意图。
具体实施方式
请参阅图4,这是本申请延长CPU睡眠时间的方法的第一实施例,其包括如下步骤:
第4.1步,CPU进入睡眠状态。此时如果发生外部中断,中断控制器首先判断其类型。如果是可推迟的外部中断,则按照设定的推迟时间进行计时,完成计时后进入第4.2步。如果是其他类型的外部中断,则直接进入第4.2步。
第4.2步,当任意可推迟的外部中断的推迟时间到达、或者中断控制器收到其他类型的外部中断时,中断控制器立即报告给CPU,CPU退出睡眠状态。
第4.3步,CPU遍历中断控制器,按照优先级高低、或者可推迟的外部中断的发生时间先后依次处理所有已经发生的外部中断,对于可推迟的外部中断即使推迟时间并未到达也进行处理,这称为外部中断的合并处理。
第4.4步,CPU进入运行状态。
可选地,在4.1步之前,即在CPU将进入睡眠状态前,可在中断控制器中设置各个可推迟的外部中断的推迟时间。例如设为各个可推迟的外部中断的最大可推迟时间,或者设为CPU本次睡眠的预期睡眠时间。如果中断控制器中各个可推迟的外部中断的推迟时间已默认设置好,例如始终设为各自的最大可推迟时间,可省略该步骤。
可选地,在所述方法第4.1步中,当CPU进入睡眠状态且中断控制器接收到可推迟的外部中断时,中断控制器先将该外部中断的推迟状态改为已推迟,再按照设定的推迟时间进行计时;完成计时后,中断控制器先将该外部中断的推迟状态改为未推迟,再进入第4.2步。
在所述方法第4.1步中,涉及到判断外部中断的类型。本申请将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型。例如可采用穷举法对所有外部中断进行分类,并通过多次测试得到可推迟的外部中断的最大可推迟时间。详述如下:
对每一个外部中断进行多个不同测试时间的推迟测试,测试时间优选在1~500ms的范围内选取。
——如果每次推迟该外部中断都导致操作***崩溃,则将该外部中断归类为不可推迟的,典型代表为某些与GPU(图形处理单元)相关的外部中断。
——如果至少有一次推迟该外部中断并未导致操作***崩溃、并且该外部中断相关的功能可以实现,则将该外部中断归类为可推迟的。所选取的多个测试时间中符合上述条件的最大值作为该可推迟的外部中断的最大可推迟时间。
可推迟的外部中断的典型代表为某些DMA(Direct Memory Access,直接内存存取)中断。例如某些操作***中,背景音乐的功能是通过DMA实现的。如果推迟DMA中断,操作***不会崩溃,但会造成背景音乐的失真和/或噪声。失真的程度与推迟时间相关,10ms以内的小的推迟,几乎不会让人感觉到失真。又如某些实现触摸屏功能的外部中断被推迟后,操作***对触摸操作仍然能够响应,只是响应速度变慢。这些例子都被认为是相关的功能可以实现。
——如果至少有一次推迟该外部中断并未导致操作***崩溃、但同时该外部中断相关的功能也无法实现,则将该外部中断归类为连续型。
连续型外部中断的典型代表为I2C(Inter-Integrated Circuit)相关的一些外部中断。例如某些I2C相关的中断被推迟后,操作***并不会崩溃,但是相关功能也并未实现。这是因为为了完成一次任务,需要产生连续的几次外部中断。在连续型外部中断第一次出现并被处理后,在很短的时间内又会产生第二次,又被处理;再产生第三次,再处理;直到任务完成。
以谷歌的Galaxy Nexus手机和HTC的Desire手机作为硬件平台、并基于Linux操作***所进行的实验结果表明,大多数外部中断都是可推迟的,并且推迟时间小于100ms对***性能几乎没有影响。
以谷歌Galaxy Nexus手机为例,其外部中断的数量约在200个以内,对这些外部中断以穷举法进行上述分类和测试最大可推迟时间可以在很短的时间内完成。
本申请的第一实施例所述方法适用于单处理器或多处理器的任意智能电子设备,可以延长CPU处于睡眠状态的时间,从而有利于CPU进入较深睡眠模式,达到降低功耗的目的。
请参阅图5,这是本申请延长CPU睡眠时间的方法的第二实施例,适用于部署SMP***的智能电子设备,其包括如下步骤:
第5.1步,当某个CPU将进入睡眠状态前,就停止接收其他CPU的存储器一致性广播。
第5.2步,该CPU进入睡眠状态,不会接收到其他CPU的存储器一致性广播。
第5.3步,该CPU退出睡眠状态,恢复接收其他CPU的存储器一致性广播。
第5.4步,该CPU进入运行状态。
可选地,在所述方法第5.1步中,当某个CPU将进入睡眠状态前,该CPU还将自身缓存中的内容存储到主存储器(例如内存)中。这是由于CPU的缓存中的内容可能比主存储器中的相应内容的修改时间更靠后,因而有必要在CPU睡眠之前根据缓存对主存储器进行更新。
以谷歌Galaxy Nexus手机运行Android4.1***为例,在用户不对手机进行任何操作的情况下,以原始的、以及该第二实施例所述方法记录了60秒内CPU的睡眠时间,统计结果如下表2所示。
睡眠时间 原始 新方法
<1μs 600次 0次
1μs~10μs 120次 0次
10μs~100μs 50次 0次
100us~1ms 10次 5次
1ms~10ms 50次 40次
表2原始的、本申请第二实施例的CPU实现睡眠的方法比较
可以看出,采用了本申请第二实施例所述方法之后,CPU小于100μs的碎片睡眠时间基本消失,取而代之的是连续的、较深睡眠模式的睡眠时间,这便大大降低了功耗。
请参阅图6,这是本申请延长CPU睡眠时间的方法的第三实施例,适用于部署SMP***的智能电子设备,其包括如下步骤:
第6.1步,当某个CPU将进入睡眠状态前,就停止接收其他CPU的存储器一致性广播。该CPU还设置中断控制器中各个可推迟的外部中断的推迟时间。如果中断控制器中的各个可推迟的外部中断的推迟时间已被默认地设置好,可省略该操作。
第6.2步,该CPU进入睡眠状态,不会接收到其他CPU的存储器一致性广播。此时如果发生外部中断,中断控制器首先判断其类型。如果是可推迟的外部中断,则按照设定的推迟时间进行计时,完成计时后进入第6.3步。如果是其他类型的外部中断,则直接进入第6.3步。
第6.3步,当任意可推迟的外部中断的推迟时间到达、或者中断控制器收到除了可推迟的外部中断以外的外部中断时,中断控制器立即报告给该CPU,该CPU退出睡眠状态。
第6.4步,该CPU恢复接收其他CPU的存储器一致性广播,
第6.5步,该CPU遍历中断控制器以处理所有已经发生的外部中断,而不论其推迟时间是否到达。
第6.6步,该CPU进入运行状态。
该第三实施例可视为前两个实施例的综合运用。仍以谷歌Galaxy Nexus手机的处理器OMAP4460芯片为例,在QEMU(Quick EMUlator)仿真软件中对该款CPU基于Android/Linux操作***运行游戏水果忍者60秒进行了测试,以原有的、该第三实施例所述方法分别记录了这段时间内CPU的总睡眠时间以及处于各种睡眠状态的时间,其结果如下表3所示。
表3原始的、本申请第三实施例所述方法比较
可以看出,本申请第三实施例所述方法延长了CPU的睡眠时间,并且深度睡眠(C4)的占比显著上升。根据各种睡眠模式下的手机除显示屏以外的功耗,估计本申请的第三实施例可使手机整体能耗从39.74焦耳降至25.79焦耳,节能约35.1%。
与所述第一实施例的方法相对应的、适用于单处理器***的延长CPU睡眠时间的置如图7所示,包括:
——分类模块10,用于将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型。各个外部中断的类型、以及可推迟的外部中断的最大可推迟时间被存储起来,可以存储在中断控制器20的内部或外部。
——中断控制器20,用于在CPU处于运行状态时将外部中断立即报告给CPU,在CPU处于睡眠状态时将可推迟的外部中断推迟报告给CPU,在CPU处于睡眠状态时将其他类型的外部中断立即报告给CPU。所述中断控制器20中记录有所有可推迟的外部中断的推迟时间。所述推迟时间≤该可推迟的外部中断的最大可推迟时间。
可选地,所述中断控制器20中还记录有所有可推迟的外部中断的推迟状态。所述推迟状态分为两种:已推迟、未推迟。
与所述第一实施例的方法相对应的、适用于SMP***的延长CPU睡眠时间的装置如图8所示。其与图7所示装置的区别在于:所述中断控制器20中还记录有各个可推迟的外部中断对应于哪一个CPU处理的信息。在SMP***中,多个CPU共享一个中断控制器。某些CPU进入睡眠状态时,另一些CPU可能还处于运行状态。所述中断控制器20一旦收到某个外部中断,除了查询其类型外,还要查询其对应由哪一个CPU处理,查询顺序不限。对于可推迟的、且由睡眠状态的CPU处理的外部中断,即可采用本申请所述推迟报告的机制。
与所述第二实施例的方法相对应的、适用于SMP***的延长CPU睡眠时间的装置如图9所示,包括:
在某个CPU将进入睡眠状态之前,使该CPU停止接收其他CPU发来的存储器一致性广播的模块31;
在某个CPU从睡眠状态退出睡眠状态后、将回到运行状态前,使该CPU恢复接收其他CPU发来的存储器一致性广播的模块32。
与所述第三实施例的方法相对应的、适用于SMP***的延长CPU睡眠时间的装置如图10所示,包括:
分类模块,用于将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型;各个外部中断的类型、以及可推迟的外部中断的最大可推迟时间被存储起来;
中断控制器,用于在CPU处于运行状态时将外部中断立即报告给CPU,在CPU处于睡眠状态时将可推迟的外部中断推迟报告给CPU,在CPU处于睡眠状态时将其他类型的外部中断立即报告给CPU;所述中断控制器20中记录有所有可推迟的外部中断的推迟时间。
在某个CPU将进入睡眠状态之前,使该CPU停止接收其他CPU发来的存储器一致性广播的模块31;
在某个CPU从睡眠状态退出睡眠状态后、将回到运行状态前,使该CPU恢复接收其他CPU发来的存储器一致性广播的模块32。
以上仅为本申请的优选实施例,并不用于限定本申请。对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (5)

1.一种延长CPU睡眠时间的方法,其特征是,包括如下步骤:
第1步,将所有外部中断归类为三种类型之一:不可推迟的、可推迟的、连续型;对于可推迟的外部中断还通过多次测试得到最大可推迟时间;
第2步,CPU进入睡眠状态,此时中断控制器对接收到的外部中断判断类型;
如果是可推迟的外部中断,则按照设定的推迟时间进行计时,完成计时后进入第2步;
如果是其他类型的外部中断,则直接进入第2步;
第3步,当所述可推迟的外部中断的推迟时间到达、或者中断控制器收到其他类型的外部中断时,中断控制器立即报告给CPU,CPU退出睡眠状态;
第4步,CPU遍历中断控制器以处理所有已经发生的外部中断,对于可推迟的外部中断即使推迟时间并未到达也进行处理;
第5步,CPU进入运行状态。
2.一种延长CPU睡眠时间的装置,其特征是,包括:
分类模块,用于将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型;各个外部中断的类型、以及可推迟的外部中断的最大可推迟时间被存储起来;
中断控制器,用于在CPU处于运行状态时将外部中断立即报告给CPU,在CPU处于睡眠状态时将可推迟的外部中断推迟报告给CPU,在CPU处于睡眠状态时将其他类型的外部中断立即报告给CPU;
所述中断控制器中存储有所有可推迟的外部中断的推迟时间。
3.根据权利要求2所述的延长CPU睡眠时间的装置,其特征是,所述中断控制器中还存储有所有可推迟的外部中断的推迟状态;所述推迟状态分为两种:已推迟、未推迟。
4.根据权利要求2所述的延长CPU睡眠时间的装置,其特征是,所述中断控制器中还存储有各个可推迟的外部中断对应的CPU的信息。
5.一种延长CPU睡眠时间的装置,其特征是,包括:
分类模块,用于将所有外部中断分为三种类型:不可推迟的、可推迟的、连续型;各个外部中断的类型、以及可推迟的外部中断的最大可推迟时间被存储起来;
中断控制器,用于在CPU处于运行状态时将外部中断立即报告给CPU,在CPU处于睡眠状态时将可推迟的外部中断推迟报告给CPU,在CPU处于睡眠状态时将其他类型的外部中断立即报告给CPU;所述中断控制器中存储有所有可推迟的外部中断的推迟时间;
在某个CPU将进入睡眠状态之前,使该CPU停止接收其他CPU发来的存储器一致性广播的模块;
在某个CPU从睡眠状态退出睡眠状态后、将回到运行状态前,使该CPU恢复接收其他CPU发来的存储器一致性广播的模块。
CN201310118000.7A 2013-04-07 2013-04-07 延长cpu睡眠时间的方法及装置 Expired - Fee Related CN104102322B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310118000.7A CN104102322B (zh) 2013-04-07 2013-04-07 延长cpu睡眠时间的方法及装置
US14/245,214 US9594419B2 (en) 2013-04-07 2014-04-04 Method and device for prolonging sleeping time of CPU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310118000.7A CN104102322B (zh) 2013-04-07 2013-04-07 延长cpu睡眠时间的方法及装置

Publications (2)

Publication Number Publication Date
CN104102322A CN104102322A (zh) 2014-10-15
CN104102322B true CN104102322B (zh) 2018-08-03

Family

ID=51655357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310118000.7A Expired - Fee Related CN104102322B (zh) 2013-04-07 2013-04-07 延长cpu睡眠时间的方法及装置

Country Status (2)

Country Link
US (1) US9594419B2 (zh)
CN (1) CN104102322B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10082858B2 (en) 2014-06-23 2018-09-25 Mellanox Technologies, Ltd. Peripheral device assistance in reducing CPU power consumption
US10324513B2 (en) * 2014-08-31 2019-06-18 Mellanox Technologies, Ltd. Control of peripheral device data exchange based on CPU power state
US20160188503A1 (en) * 2014-12-25 2016-06-30 Intel Corporation Virtual legacy wire
CN105022669A (zh) * 2015-06-30 2015-11-04 惠州市亿能电子有限公司 一种利用协处理器提高bms***性能的方法
CN105094968B (zh) 2015-07-01 2019-05-21 小米科技有限责任公司 唤醒mcu的方法及装置
CN106020961A (zh) * 2016-05-30 2016-10-12 天津国芯科技有限公司 一种可以提高***效率的交叉触发装置
US11080095B2 (en) * 2017-06-04 2021-08-03 Apple Inc. Scheduling of work interval objects in an AMP architecture using a closed loop performance controller
CN107466094A (zh) * 2017-08-02 2017-12-12 努比亚技术有限公司 网络数据上报控制方法、协处理器、终端及存储介质
US10747298B2 (en) * 2017-11-29 2020-08-18 Advanced Micro Devices, Inc. Dynamic interrupt rate control in computing system
CN109918223A (zh) * 2019-05-06 2019-06-21 深圳市钮为通信技术有限公司 Cpu复位监控装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093036B2 (en) * 2003-12-11 2006-08-15 International Business Machines Corporation Processor state aware interrupts from peripherals
CN101639726A (zh) * 2008-07-29 2010-02-03 辉达公司 基于平台的闲置时间处理
EP2166457A1 (en) * 2008-09-12 2010-03-24 Telefonaktiebolaget LM Ericsson (publ) Interrupt controller and methods of operation
CN101770398A (zh) * 2008-12-26 2010-07-07 罗侍田 一种操作***内核

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093036B2 (en) * 2003-12-11 2006-08-15 International Business Machines Corporation Processor state aware interrupts from peripherals
CN101639726A (zh) * 2008-07-29 2010-02-03 辉达公司 基于平台的闲置时间处理
EP2166457A1 (en) * 2008-09-12 2010-03-24 Telefonaktiebolaget LM Ericsson (publ) Interrupt controller and methods of operation
CN101770398A (zh) * 2008-12-26 2010-07-07 罗侍田 一种操作***内核

Also Published As

Publication number Publication date
US20140304538A1 (en) 2014-10-09
US9594419B2 (en) 2017-03-14
CN104102322A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
CN104102322B (zh) 延长cpu睡眠时间的方法及装置
US11144108B2 (en) Optimizing power usage by factoring processor architectural events to PMU
CN105302637B (zh) ***进程运行异常引起卡顿的恢复方法、装置及移动终端
US8725488B2 (en) Method and apparatus for adaptive voltage scaling based on instruction usage
CN101010655B (zh) 协调多核处理器中的空闲状态转换
CN107526640A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN102597912B (zh) 用于平台功率节省的协调设备和应用程序中断事件
CN102087619A (zh) 用于提高事件处理的涡轮加速性能的方法和装置
CN106502687A (zh) 一种进入休眠状态的方法及终端
EP2728442B1 (en) Method and device for controlling central processing unit
US20170308155A1 (en) Power consumption management method and device and computer storage medium
CN107025225A (zh) 一种终端数据库的并行执行方法和装置
CN103645794A (zh) 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法
CN105807892A (zh) 一种嵌入式实时操作***的低功耗模式切换方法
CN102262434A (zh) 基于加速计输出来修改电子设备的转换的方法和装置
CN106055455B (zh) 一种按键的防干扰方法及装置
CN103324546A (zh) 一种延时喂狗的方法及装置
WO2010135428A2 (en) Associating data for events occurring in software threads with synchronized clock cycle counters
US20150220672A1 (en) Method and apparatus for modelling power consumption of integrated circuit
US20210191795A1 (en) Warm mission-mode reset in a portable computing device
TW200416516A (en) Operating system-independent method and system of determining CPU utilization
CN107332997A (zh) 减少终端发热的方法、装置、移动终端及存储介质
US20140310540A1 (en) Interrupt Based Power State Management
CN109246233A (zh) 基于在线监控的数据处理方法、装置、设备及存储介质
CN106412664A (zh) 多媒体同步播放方法、装置、终端及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180803

CF01 Termination of patent right due to non-payment of annual fee