[go: up one dir, main page]

CN114661139B - 降低功耗的方法、装置、设备及计算机可读存储介质 - Google Patents

降低功耗的方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114661139B
CN114661139B CN202011540344.3A CN202011540344A CN114661139B CN 114661139 B CN114661139 B CN 114661139B CN 202011540344 A CN202011540344 A CN 202011540344A CN 114661139 B CN114661139 B CN 114661139B
Authority
CN
China
Prior art keywords
equipment
stage
operating system
resource
power consumption
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
Application number
CN202011540344.3A
Other languages
English (en)
Other versions
CN114661139A (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN202011540344.3A priority Critical patent/CN114661139B/zh
Publication of CN114661139A publication Critical patent/CN114661139A/zh
Application granted granted Critical
Publication of CN114661139B publication Critical patent/CN114661139B/zh
Active 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
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

本发明提供一种降低功耗的方法、装置、设备及计算机可读存储介质。本发明的方法,通过在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段;在确定所述当前启动阶段为特定启动阶段时,根据系统配置,确定不使用的设备资源,并关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,这样操作系统启动过程中,这些已关闭的设备资源不会被设备驱动探测到,也就不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。

Description

降低功耗的方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种降低功耗的方法、装置、设备及计算机可读存储介质。
背景技术
随着嵌入式技术的快速发展,嵌入式系统在工业控制、石油勘探、医疗设备、智能电表、便携计算机等各个领域都得到广泛应用。嵌入式设备不断地改变着人们的生活,例如基于嵌入式系统实现的汽车自动操控无人驾驶、医生远程操作机械手臂进行颅腔骨骼修复手术等。但是这些嵌入式系统所需要的动力往往由体积和能量有限的电池供给。在这种情况下,降低嵌入式系统功耗对产品的使用更有重要的意义。
发明内容
本发明提供一种降低功耗的方法、装置、设备及计算机可读存储介质。
本发明的一个方面是提供一种降低功耗的方法,应用于嵌入式操作系统,包括:
在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段;
在确定所述当前启动阶段为特定启动阶段时,根据系统配置,判断是否使用所述设备资源;
若判断结果为不使用所述设备资源,则关闭所述设备资源。
在一种可能的实施方式中,所述关闭所述不使用的设备资源,包括:
若所述设备资源为GPIO(General-purpose input/output,通用型之输入输出),将所述GPIO设置成输入模式,并且将设置为输入模式的GPIO的输入电平设置为0。
在一种可能的实施方式中,所述关闭所述不使用的设备资源,包括:
若所述设备资源具有使能端,则关闭所述设备资源的使能端;
若所述设备资源具有对应的模块时钟,则关闭所述设备资源对应的模块时钟。
在一种可能的实施方式中,在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段;其中,所述操作系统的启动阶段包括:驱动注册阶段、驱动执行初始化第一阶段、驱动执行初始化第二阶段和驱动执行挂接中断阶段;
在确定所述当前启动阶段为特定启动阶段时,根据系统配置,判断是否使用所述设备资源,包括:
若确定当前启动阶段为驱动注册阶段,则根据系统配置,判断是否使用所述设备资源。
在一种可能的实施方式中,在操作系统启动后,获取CPU的空闲率;根据所述CPU的空闲率,调整所述CPU的频率。
本发明的另一个方面是提供一种降低功耗的装置,应用于嵌入式操作系统,包括:
驱动执行阶段确定模块,用于在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段;
降低功耗模块,用于在确定所述当前启动阶段为特定启动阶段时,根据系统配置,判断是否使用所述设备资源;若判断结果为不使用所述设备资源,则关闭所述设备资源。
在一种可能的实施方式中,所述降低功耗模块还用于:
若所述设备资源为GPIO,将所述GPIO设置成输入模式,并且将设置为输入模式的GPIO的输入电平设置为0。
在一种可能的实施方式中,所述降低功耗模块还用于:
若所述设备资源具有使能端,则关闭所述设备资源的使能端;
若所述设备资源具有对应的模块时钟,则关闭所述设备资源对应的模块时钟。
在一种可能的实施方式中,所述驱动执行阶段确定模块还用于:
在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段;其中,所述操作系统的启动阶段包括:驱动注册阶段、驱动执行初始化第一阶段、驱动执行初始化第二阶段和驱动执行挂接中断阶段;
所述降低功耗模块还用于:
若确定当前启动阶段为驱动注册阶段,则根据系统配置,判断是否使用所述设备资源。
在一种可能的实施方式中,所述降低功耗模块还用于:
在操作系统启动后,获取CPU的空闲率;根据所述CPU的空闲率,调整所述CPU的频率。
本发明的另一个方面是提供一种降低功耗的设备,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现上述所述的降低功耗的方法。
本发明的另一个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的降低功耗的方法。
本发明提供的降低功耗的方法、装置、设备及计算机可读存储介质,通过在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段;在确定所述当前启动阶段为特定启动阶段时,根据系统配置,确定不使用的设备资源,并关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,这样操作系统启动过程中,这些已关闭的设备资源不会被设备驱动探测到,也就不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。
附图说明
图1为本发明实施例一提供的降低功耗的方法流程图;
图2为本发明实施例二提供的降低功耗的方法流程图;
图3为本发明实施例二提供的关闭不使用的设备资源的执行时机的示意图;
图4为本发明实施例二提供的降低功耗的过程的示意图;
图5为本发明实施例三提供的降低功耗的装置的结构示意图;
图6为本发明实施例五提供的降低功耗的设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明所涉及的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
本发明实施例提供的降低功耗的方法具体可以应用于嵌入式操作系统,例如,vxWorks操作系统等。嵌入式操作系统多应用于定制化应用的场合,比如路由器(网络收发)、显示控制计算机(图形显示)、智能音响(音频输入输出)等。嵌入式操作系统会根据具体应用场合来配置所需使用的设备资源,针对不同的应用场合,配置使用的设备资源可以不同。嵌入式操作系统通常包含的设备资源都是很丰富的,对各种应用场景会有相当多的一部分设备资源不会使用到,不用的设备资源也会消耗着系统的能量,造成整体系统功耗很高。
例如,以某一处理器平台为例,可以包括以下资源:
1个GPU(Graphics Processing Unit,图形处理器);
显示控制器,支持两路DVO(Data Voice Outlet,数据语音引线)显示;
2个x4 PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)2.0接口,可以拆分为6个独立x1接口;
1个SATA(Serial Advanced Technology Attachment)2.0接口;
4个USB2.0接口;
2个RGMII(Reduced Gigabit Media Independent Interface,精简吉比特介质独立接口)千兆网接口;
1个HDA(High Definition Audio,高清晰音频)接口;
1个I2S(Inter-IC Sound,集成电路内置音频总线)接口;
RTC(Real-Time Clock,实时时钟)/HPET(High Precision Event Timer,高精度定时器)模块;
12个UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)控制器;
1个NAND(NAND flash memory,计算机闪存设备)控制器;
2个CAN(Controller Area Network,控制器局域网络)控制器;
1个SDIO(Secure Digital Input and Output,安全数字输入输出卡)控制器;
2个I2C(Inter-Integrated Circuit,两线式串行总线)控制器;
1个VPU(Video Processing Unit,视频处理单元)解码器;
1个CAMERA(Camera Interface,视频输入转换存储模块)接口控制器;
1个温度传感器;
60个GPIO(英文全称:General Purpose Input Output,中文全称:通用输入输出口);
1个PWM(Pulse Width Modulation,脉冲宽度调制)控制器。
假如有一个控制计算机的应用可能需要1个HPET控制器、1个SATA接口、1个x4PCIE接口、2个千兆网口、4个USB接口。其余不用的设备资源也会产生功耗。
在实现本发明过程中,发明人发现现有技术中对于降低功耗这个问题,人们普遍会在硬件上比较关注,应用各种技术改变硬件的功耗,比如芯片制造工艺和内部设计结构,硬件设计的电阻、电容的筛选等等。事实上,整个系统的运行管理是由软件体现的,在硬件基础一定的情况下,只有将软件系统对能量的损耗降低至最小,才能使全系统降低至最佳状态。目前,嵌入式操作系统并没有软件降低功耗的有效方法。
本发明提供的降低功耗的方法,旨在根据当前的系统配置,关闭不使用的非必要的系统资源,从而实现嵌入式操作系统软件降低功耗,有效降低整体系统的功耗。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图1为本发明实施例一提供的降低功耗的方法流程图。本实施例中的方法应用于嵌入式操作系统,例如vxWorks操作系统等,在其他实施例中,该方法还可应用于其他设备,本实施例以嵌入式操作系统为例进行示意性说明。如图1所示,该方法具体步骤如下:
步骤S101、在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段。
通常,vxWorks操作系统启动流程分四个阶段:驱动注册阶段,驱动执行初始化第一阶段(也即驱动执行Init1阶段),驱动执行初始化第二阶段(也即驱动执行Init2阶段)阶段,驱动执行挂接中断(Connect)阶段。
在驱动执行初始化第一阶段(也即驱动执行Init1阶段),设备驱动会探测(probe)设备,若设备没有关闭,就可以探测到设备。
为了避免不使用的设备资源在驱动执行Init1阶段被设备驱动探测到,本实施例中,在设备驱动对设备资源进行探测之前的驱动注册阶段,根据系统配置,依次判断是否使用每项设备资源,可以确定不使用的设备资源。其中,上述设备驱动即为CPU不同功能接口对应的驱动;示例性的,当CPU的功能接口为显示接口时,对应的设备驱动即为显示驱动;当CPU的功能接口为音频接口时,对应的设备驱动即为声卡驱动;当CPU的功能接口为SATA接口时,对应的设备驱动即为SATA驱动。或者,上述设备驱动可以为连接不同设备资源的驱动;基于上述处理器平台示例,该设备驱动可以为GPU驱动、显示驱动、SATA驱动、USB设备驱动、以太网设备驱动、声卡驱动,等等。基于此,可以通过不同的设备驱动对各自对应的设备资源进行探测,获取系统配置,以确定各个设备资源的当前使用状态。
在嵌入式操作系统启动过程中,可以根据驱动执行阶段标志,确定当前的启动流程阶段,也即当前启动阶段。
示例性地,以vxWorks操作系统为例,在vxWorks操作系统中,驱动执行阶段标志是一个全局变量vxbInitPhase。vxWorks操作系统的启动流程分为四个阶段,以全局变量vxbInitPhase的值进行划分。启动流程的四个阶段与全局变量vxbInitPhase的值的关系如下:
(1)vxbInitPhase的值由0~1之间(不包括1),为驱动注册阶段,此处调用不使用的设备资源的关闭函数,关闭不使用的设备资源。
(2)vxbInitPhase的值由1~2之间(不包括2),为驱动执行初始化第一阶段(也即驱动执行Init1阶段),此处设备驱动会探测(probe)设备,若设备没有关闭,就可以探测到设备。
(3)vxbInitPhase的值由2~3之间(不包括3),为驱动执行初始化第二阶段(也即驱动执行Init2阶段)。
(4)vxbInitPhase的值由3以后(包括3),为驱动执行挂接中断(Connect)阶段。
基于上述操作系统的启动流程,可以根据vxbInitPhase的值,确定操作系统的当前启动阶段。
本实施例的另一实施方式中,在嵌入式操作系统的启动流程中,还可以通过其他方式确定操作系统的当前启动阶段,本实施例此处不做具体限定。
步骤S102、在确定当前启动阶段为特定启动阶段时,根据系统配置,判断是否使用设备资源。
其中,特定启动阶段可以是设备驱动对设备资源进行探测之前的任意阶段。
系统配置中包含在当前应用场景下所需使用的设备资源,根据系统配置可以确定任意一项设备资源是否使用。
示例性地,系统配置可以记录每个设备资源的配置信息,每个设备资源的配置信息中包含操作系统是否使用该设备资源。该步骤中,根据系统配置可以查询到每个设备资源的配置信息,并根据设备资源的配置信息,确定操作系统是否使用设备资源。
示例性地,系统配置中某一配置项中记录了操作系统所需使用的设备资源的标识信息。该步骤中,针对每个设备资源,通过判断系统配置中的该配置项中是否包含了该设备资源的标识信息;如果该配置项中包含了该设备资源的标识信息,则确定使用该设备资源;如果该配置项中不包含该设备资源的标识信息,则确定不使用该设备资源。
步骤S103、若判断结果为不使用设备资源,则关闭设备资源。
根据判断结果,对于任意一项设备资源,若不使用该设备资源,那么关闭该设备资源。
本实施例中,在设备驱动探测设备之前,将当前系统配置中不使用的设备资源关闭,这样在操作系统启动后,这些设备资源不会启动和运行,从而可以减少这些设备资源的功耗。
本发明实施例通过在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段;在确定当前启动阶段为特定启动阶段时,根据系统配置,确定不使用的设备资源,并关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,这样操作系统启动过程中,这些已关闭的设备资源不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。
实施例二
图2为本发明实施例二提供的降低功耗的方法流程图。在上述实施例一的基础上,本实施例中,在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段;若确定当前启动阶段为驱动注册阶段,则根据系统配置,判断是否使用设备资源。本实施例以应用于vxWorks操作系统为例,对降低功耗的方法进行示例性地说明。如图2所示,该方法具体步骤如下:
步骤S201、在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段。
本实施例中,嵌入式操作系统启动过程中,要在设备驱动探测各项设备资源之前,将当前系统配置中不使用的设备资源关闭,这样在操作系统启动后,不会运行已关闭的设备资源,从而可以减少这些设备资源的功耗。
在嵌入式操作系统启动过程中,可以根据驱动执行阶段标志,确定当前启动阶段,在当前启动阶段进入驱动注册阶段后,执行步骤S202,在驱动注册阶段内,关闭不使用的设备资源。
示例性地,以vxWorks操作系统为例,在vxWorks操作系统中,驱动执行阶段标志是一个全局变量vxbInitPhase。vxWorks操作系统的启动流程分为四个阶段,以全局变量vxbInitPhase的值进行划分。启动流程的四个阶段与全局变量vxbInitPhase的值的关系如下:
(1)vxbInitPhase的值由0~1之间(不包括1),为驱动注册阶段,此处调用不使用的设备资源的关闭函数,关闭不使用的设备资源。
(2)vxbInitPhase的值由1~2之间(不包括2),为驱动执行初始化第一阶段(也即驱动执行Init1阶段),此处设备驱动会探测(probe)设备,若设备没有关闭,就可以探测到设备。
(3)vxbInitPhase的值由2~3之间(不包括3),为驱动执行初始化第二阶段(也即驱动执行Init2阶段)。
(4)vxbInitPhase的值由3以后(包括3),为驱动执行挂接中断(Connect)阶段。
基于上述操作系统的启动流程,如图3所示,可以在vxbInitPhase=0时,调用不使用的设备资源的关闭函数,根据系统配置确定不使用的设备资源,并关闭不使用的设备资源。
本实施例的另一实施方式中,在嵌入式操作系统的启动流程中,还可以通过其他方式确定操作系统的启动阶段,并在设备驱动探测设备之前,将当前系统配置中不使用的设备资源关闭,本实施例此处不做具体限定。
步骤S202、若确定当前启动阶段为驱动注册阶段,根据系统配置,判断是否使用设备资源。
本实施例中,可以在嵌入式操作系统启动流程中,在设备驱动探测设备之前的驱动注册阶段,确定不使用的设备资源,并关闭不使用的设备资源。
在一种可能的实现方式中,根据系统配置,判断是否使用设备资源,具体可以采用如下方式实现:
依次对每项设备资源进行如下处理:根据系统配置,判断是否使用该项设备资源。
示例性地,系统配置可以记录每个设备资源的配置信息,每个设备资源的配置信息中包含操作系统是否使用该设备资源。该步骤中,根据系统配置信息可以查询到每个设备资源的配置信息,并根据设备资源的配置信息,确定操作系统是否使用设备资源。
示例性地,系统配置中某一配置项中记录了操作系统所需使用的设备资源的标识信息。该步骤中,针对每个设备资源,通过判断系统配置中的该配置项中是否包含了该设备资源的标识信息;如果该配置项中包含了该设备资源的标识信息,则确定使用该设备资源;如果该配置项中不包含该设备资源的标识信息,则确定不使用该设备资源。
步骤S203、若判断结果为不使用设备资源,则关闭设备资源。
在确定不使用的设备资源之后,该步骤中,关闭不使用的设备资源。
具体地,对于不同的设备资源,关闭设备资源的方式可以不同。
示例性地,在关闭不使用的设备资源时,若设备资源为GPIO,对于不使用的GPIO,将GPIO设置成输入模式,并且将设置为输入模式的GPIO的输入电平设置为0。
例如,设置GPIO为输入模式可以通过如下代码中提供的函数实现,其中函数的输入参数为GPIO的个数:
在关闭不使用的设备资源时,对于具有使能端的设备资源,例如显示设备,通过关闭设备资源使能端的方式,来关闭不使用的设备资源,使得设备资源不工作,从而降低系统功耗。
另外,对于具有对应的模块时钟的设备资源,例如网络模块、GPU、音频模块等,可以通过关闭设备资源对应的模块时钟的方式,来关闭设备资源,使得设备资源不工作,从而降低系统功耗。
例如,基于vxWorks操作系统,降低功耗的过程可以如图4所示,包括以下处理流程:
(1)检查系统配置,是否操作系统不使用第一路显示,若确定不使用第一路显示,则关闭第一路显示的输出使能;
(2)检查系统配置,是否操作系统不使用第二路显示,若确定不使用第二路显示,则关闭第二路显示的输出使能;
(3)检查系统配置,是否操作系统不使用GPU,若确定不使用GPU,则关闭GPU的模块时钟;
(4)检查系统配置,GPIO有多个时,操作系统可能使用其中的一部分,那么将不使用的GPIO设置成输入模式,并将设置成输入模式的GPIO的输入电平设置成0,也即将不使用的GPIO设置成输入模式、输入电平拉低的状态;
(5)检查系统配置,是否操作系统不使用音频模块,若确定不使用音频模块,则关闭音频模块的模块时钟;
(6)检查系统配置,是否操作系统不使用网络模块,若确定不使用网络模块,则关闭网络模块的模块时钟。
示例性地,例如,假设显示控制器的帧缓冲配置寄存器的位域中,两路显示设备显示控制器的帧缓冲配置寄存器的寄存器偏移位置分别为:0x1240和0x1250。帧缓冲配置寄存器中的第8位(bit8)控制显示是否输出使能,当不使用显示设备时,通过将帧缓冲配置寄存器中的第8位(bit8)清0,即可关闭此显示设备的使能,从而关闭该显示设备。
可选地,可以先获取各显示设备的显示控制器的总线号,设备号,功能号,再获取显示控制器的基地址,根据显示控制器的基地址和显示控制器的帧缓冲配置寄存器的寄存器偏移位置,确定显示控制器的帧缓冲配置寄存器的地址,根据显示控制器的帧缓冲配置寄存器的地址,将显示控制器的帧缓冲配置寄存器bit8清0,关闭第一路显示输出。第二路输出可以采用类似方法关闭。
需要说明的是,图4中仅以对两路显示输出、GPU、GPIO、音频设备、网络模块等设备资源的处理为例,对关闭各项设备资源的流程进行示例性地说明,此处对于嵌入式操作系统所包含的设备资源的数量和类型不做具体限定,对于要关闭的不使用的设备资源的数量和类型也不做具体限定。
另外,图4中对各个设备资源的处理顺序指示一种示例,此处对于各个设备资源的处理顺序不做具体限定。
在另一种可能的实现方式中,根据系统配置,确定未使用的设备资源,关闭不使用的设备资源,具体还可以采用如下方式实现:
根据系统配置,确定所有不使用的设备资源,然后关闭所有的不使用设备资源。
在实际应用中,CPU是功耗比较大的芯片,并且CPU运行频率和功耗是成正比的一个变化关系,CPU运行频率越高,功耗越高。
本实施例的另一实施方式中,在操作系统启动后,可以通过步骤S204-S205,获取CPU的空闲率,并根据CPU的空闲率,调整CPU的频率,以便在一定程度上降低CPU的功耗。
步骤S204、在操作系统启动后,获取CPU的空闲率。
该步骤中,可以统计一个时间段内的CPU的空闲率,其中统计的时间段可以根据实际应用场景进行设置和调整,本实施例此处不做具体限定。
示例性地,可以通过统计CPU空闲率或占用率的工具来获取CPU空闲率。
例如,在vxWorks操作系统中,可以通过SPY工具统计CPU空闲率,也即统计一段时间内CPU空闲的百分比。CPU的空闲率(空闲的百分比)越大CPU执行任务的负载越小,CPU的空闲率越小CPU执行任务的负载越大。
步骤S205、根据CPU的空闲率,调整CPU的频率。
本实施例中,可以根据CPU的空闲率,调整CPU的频率。具体地,CPU的空闲率高时,调低CPU的频率;CPU的空闲率低时,调高CPU的频率。
示例性地,可以将CPU频率分为高、中、低三档,预设设置每一档对应的频率。当CPU空闲率在一个较为居中的第一范围(例如50%~80%)时,将CPU频率设置为中档。当CPU空闲率在一个较高的第二范围(例如80%~100%)时,将CPU频率设置为低档。当CPU空闲率在一个较低的第三范围(例如50%以下)时,将CPU频率设置为高档。
本实施例中,通过实时地根据CPU的空闲率调整CPU的频率,可以减少CPU的功耗。
本发明实施例通过在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段,在驱动注册阶段,根据系统配置,确定不使用的设备资源,关闭不使用的设备资源,能够实现在设备驱动探测设备之前,根据系统配置,确定不使用的设备资源,关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,操作系统启动过程中,这些已关闭的设备资源不会被设备驱动探测到,也就不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。
实施例三
图5为本发明实施例三提供的降低功耗的装置的结构示意图。本发明实施例提供的降低功耗的装置可以执行降低功耗的方法实施例提供的处理流程。如图5所示,该降低功耗的装置30包括:驱动执行阶段确定模块301和降低功耗模块302。
具体地,驱动执行阶段确定模块301用于在设备驱动对设备资源进行探测之前,根据驱动执行阶段标志,确定设备的当前启动阶段。
降低功耗模块302用于:在确定当前启动阶段为特定启动阶段时,根据系统配置,判断是否使用设备资源;若判断结果为不使用设备资源,则关闭设备资源。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过在设备驱动对设备资源进行探测之前,根据系统配置,根据驱动执行阶段标志,确定设备的当前启动阶段;在确定当前启动阶段为特定启动阶段时,根据系统配置,确定不使用的设备资源,并关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,这样操作系统启动过程中,这些已关闭的设备资源不会被设备驱动探测到,也就不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。
实施例四
在上述实施例三的基础上,本实施例中,降低功耗模块还用于:
若设备资源为GPIO,将GPIO设置成输入模式,并且将设置为输入模式的GPIO的输入电平设置为0。
在一种可能的实施方式中,降低功耗模块还用于:
若设备资源具有使能端,则关闭设备资源的使能端;若设备资源具有对应的模块时钟,则关闭设备资源对应的模块时钟。
在一种可能的实施方式中,驱动执行阶段确定模块还用于:
在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段;其中,操作系统的启动阶段包括:驱动注册阶段、驱动执行初始化第一阶段、驱动执行初始化第二阶段和驱动执行挂接中断阶段。
降低功耗模块还用于:
若确定当前启动阶段为驱动注册阶段,则根据系统配置,判断是否使用设备资源。
在一种可能的实施方式中,降低功耗模块还用于:
在操作系统启动后,获取CPU的空闲率;根据CPU的空闲率,调整CPU的频率。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过在操作系统启动过程中,根据驱动执行阶段标志,确定当前启动阶段,在驱动注册阶段,根据系统配置,确定不使用的设备资源,关闭不使用的设备资源,能够实现在设备驱动探测设备之前,根据系统配置,确定不使用的设备资源,关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,操作系统启动过程中,这些已关闭的设备资源不会被设备驱动探测到,也就不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。
实施例五
图6为本发明实施例五提供的降低功耗的设备的结构示意图。如图6所示,该降低功耗的设备100包括:处理器1001,存储器1002,以及存储在存储器1002上并可在处理器1001上运行的计算机程序。
其中,处理器1001运行计算机程序时实现上述任一方法实施例提供的降低功耗的方法。
本发明实施例通过在设备驱动对设备资源进行探测之前,根据系统配置,根据驱动执行阶段标志,确定设备的当前启动阶段;在确定当前启动阶段为特定启动阶段时,根据系统配置,确定不使用的设备资源,并关闭不使用的设备资源,能够基于系统配置,灵活地选取系统不使用设备资源进行关闭,这样操作系统启动过程中,这些已关闭的设备资源不会被设备驱动探测到,也就不会启动和运行,从而避免不必要的设备资源的功耗,达到基于嵌入式操作系统软件降低整体功耗的效果。
另外,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的降低功耗的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

Claims (8)

1.一种降低功耗的方法,其特征在于,应用于嵌入式操作系统,包括:
在设备驱动对设备资源进行探测之前,在所述操作系统启动过程中,根据驱动执行阶段标志,确定设备的当前启动阶段;其中,所述操作系统的启动阶段包括:驱动注册阶段、驱动执行初始化第一阶段、驱动执行初始化第二阶段和驱动执行挂接中断阶段;
若确定所述当前启动阶段为驱动注册阶段,则针对每个设备资源,判断系统配置中的某一配置项中是否包含该设备资源的标识信息;若该配置项中包含该设备资源的标识信息,则确定使用该设备资源;若该配置项中不包含该设备资源的标识信息,则确定不使用该设备资源,所述系统配置中某一配置项中记录有所述操作系统所需使用的设备资源的标识信息;
若判断结果为不使用所述设备资源,则关闭所述设备资源,以在所述操作系统启动后,所述设备资源不启动运行;
其中,当所述设备为显示设备时,关闭所述设备资源的方法包括:
根据各显示设备的显示控制器的总线号、设备号和功能号,获取待关闭显示设备的显示控制器的基地址;并根据获取的所述显示控制器的基地址和所述获取的显示控制器的帧缓冲配置寄存器的寄存器偏移位置,确定所述获取的显示控制器的帧缓冲配置寄存器的地址;根据所述显示控制器的帧缓冲配置寄存器的地址,将所述显示控制器的帧缓冲配置寄存器的指定位清零,关闭所述待关闭显示设备。
2.根据权利要求1所述的方法,其特征在于,所述关闭所述设备资源,包括:
若所述设备资源为GPIO,将所述GPIO设置成输入模式,并且将设置为输入模式的GPIO的输入电平设置为0。
3.根据权利要求1所述的方法,其特征在于,所述关闭所述设备资源,包括:
若所述设备资源具有使能端,则关闭所述设备资源的使能端;
若所述设备资源具有对应的模块时钟,则关闭所述设备资源对应的模块时钟。
4.根据权利要求1所述的方法,其特征在于,还包括:
在操作系统启动后,获取CPU的空闲率;
根据所述CPU的空闲率,调整所述CPU的频率。
5.一种降低功耗的装置,其特征在于,应用于嵌入式操作系统,包括:
驱动执行阶段确定模块,用于在设备驱动对设备资源进行探测之前,在所述操作系统启动过程中,根据驱动执行阶段标志,确定设备的当前启动阶段;其中,所述操作系统的启动阶段包括:驱动注册阶段、驱动执行初始化第一阶段、驱动执行初始化第二阶段和驱动执行挂接中断阶段;
降低功耗模块,用于若确定所述当前启动阶段为驱动注册阶段,则针对每个设备资源,判断系统配置中的某一配置项中是否包含该设备资源的标识信息;若该配置项中包含该设备资源的标识信息,则确定使用该设备资源;若该配置项中不包含该设备资源的标识信息,则确定不使用该设备资源,所述系统配置中某一配置项中记录有所述操作系统所需使用的设备资源的标识信息;若判断结果为不使用所述设备资源,则关闭所述设备资源,以在所述操作系统启动后,所述设备资源不启动运行;
当所述设备为显示设备时,所述降低功耗模块用于:根据各显示设备的显示控制器的总线号、设备号和功能号,获取待关闭显示设备的显示控制器的基地址;并根据获取的所述显示控制器的基地址和所述获取的显示控制器的帧缓冲配置寄存器的寄存器偏移位置,确定所述获取的显示控制器的帧缓冲配置寄存器的地址;根据所述显示控制器的帧缓冲配置寄存器的地址,将所述显示控制器的帧缓冲配置寄存器的指定位清零,关闭所述待关闭显示设备。
6.根据权利要求5所述的装置,其特征在于,所述降低功耗模块还用于:
在操作系统启动后,获取CPU的空闲率;根据所述CPU的空闲率,调整所述CPU的频率。
7.一种降低功耗的设备,其特征在于,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求1至4中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法。
CN202011540344.3A 2020-12-23 2020-12-23 降低功耗的方法、装置、设备及计算机可读存储介质 Active CN114661139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011540344.3A CN114661139B (zh) 2020-12-23 2020-12-23 降低功耗的方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011540344.3A CN114661139B (zh) 2020-12-23 2020-12-23 降低功耗的方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114661139A CN114661139A (zh) 2022-06-24
CN114661139B true CN114661139B (zh) 2024-02-13

Family

ID=82024536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011540344.3A Active CN114661139B (zh) 2020-12-23 2020-12-23 降低功耗的方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114661139B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186223A (zh) * 2011-12-27 2013-07-03 英业达股份有限公司 计算机装置及外接子板的侦测方法
CN107203418A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 根据系统配置选取资源的方法及装置
CN110278603A (zh) * 2019-06-20 2019-09-24 重庆邮电大学 一种移动终端动态功耗调整的方法
CN110308934A (zh) * 2018-03-22 2019-10-08 龙芯中科技术有限公司 Hpet驱动方法和装置、可读存储介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111182B2 (en) * 2003-08-29 2006-09-19 Texas Instruments Incorporated Thread scheduling mechanisms for processor resource power management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186223A (zh) * 2011-12-27 2013-07-03 英业达股份有限公司 计算机装置及外接子板的侦测方法
CN107203418A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 根据系统配置选取资源的方法及装置
CN110308934A (zh) * 2018-03-22 2019-10-08 龙芯中科技术有限公司 Hpet驱动方法和装置、可读存储介质及电子设备
CN110278603A (zh) * 2019-06-20 2019-09-24 重庆邮电大学 一种移动终端动态功耗调整的方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
《vxWorks系统中vxbus机制总结》;傲世阿龍;《https://blog.csdn.net/u010383937/article/details/72123955》;20170515;第1-8页 *
冯博琴 等.《4.设备管理》.《计算机文化基础》.西安交通大学出版社,1995,第42-43页. *
刘杰.《第四章 设备时钟》.《基于固件的DSP开发及虚拟实现》.北京航空航天大学出版社,2014,第112页. *
张文洁 等.《2.1.2嵌入式系统》.《机械电子工程导论》.北京理工大学出版社,2015,第33-36页. *
徐建之 等.《微型计算机应用技术》.上海科学技术出版社,1986,(第1版),第175页. *
樊卫华.《5.2.4 GPIO使用示例》.《嵌入式控制系统原理及设计》.机械工业出版社,2020,第105页. *
顾藏知 等.《三、EPROM》.《数字电路与逻辑设计》.电子科技大学出版社,2000,第193页. *

Also Published As

Publication number Publication date
CN114661139A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN107526665B (zh) 机箱管理系统及机箱管理方法
EP3242218B1 (en) Dynamic pcie switch reconfiguration mechanism
EP2901245B1 (en) Efficient low power exit sequence for peripheral devices
EP3367538B1 (en) Smart power supply management for high standby power system
CN101943941B (zh) 信息处理装置及其功率控制方法
US20180210850A1 (en) System and Method to Avoid SMBus Address Conflicts via a Baseboard Management Controller
US9395799B2 (en) Power management techniques for USB interfaces
US11347298B2 (en) System for reducing power consumption upon loss of main power in an information handling system
CN101196819A (zh) 一种片上系统芯片自适应启动设备的方法
CN107070548A (zh) 一种自动调节qsfp+光模块功率等级的装置及方法
CN101441497B (zh) 具有存储器时钟设定功能的信息处理装置和存储器时钟设定方法
CN112000545A (zh) 一种图形处理器板卡和图形处理器管理方法
CN109375543B (zh) Dvs电压管理装置、系统及方法、存储介质、计算机设备
CN114661139B (zh) 降低功耗的方法、装置、设备及计算机可读存储介质
US20120091823A1 (en) Mobile storage device and method for managing power consumption of the mobile storage device
CN108228109A (zh) 一种电子设备的保护数据方法、装置及计算机存储介质
US10489328B2 (en) Universal sleds server architecture
CN115237849B (zh) 可动态重构和异构的计算模块及计算装置
US11894772B2 (en) Method for providing dynamic voltage regulator characteristic changes
JP2000259288A (ja) 電子機器
US7418539B2 (en) System and method for utilizing an external computing device to access storage inside an inactive computing device
CN205427694U (zh) 一种无风扇嵌入式工业主板
CN112912819A (zh) 在电力辅助单元中提供高带宽电容器电路的方法与装置
US20220300294A1 (en) Information processing method, device, and electronic apparatus
CN102831924B (zh) Sd卡控制方法和控制电路

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