一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电源管理的控制权移交方法、装置、设备和存储介质与流程

2023-01-05 02:35:01 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种电源管理的控制权移交方法、装置、计算机设备和存储介质。


背景技术:

2.随着服务器技术的快速发展,易用性,性能及功能都在不断增强,能效管理能力随之成为了一个衡量服务器性能的重要指标,而实现能效管理能力的方式之一即为高级电源管理。
3.目前,高级电源管理的控制权都是由bios(basic input output system,基本输入输出系统)控制,由其来控制高级电源管理,用户就无法根据自己的实际需求进行高级电源的管理。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种电源管理的控制权移交方法、装置、计算机设备和存储介质,bios将高级电源管理的控制权移交至os(operating system,操作系统),os系统获得高级电源管理的控制权,使得用户能够根据实际需求进行高级电源的管理。
5.一种电源管理的控制权移交方法,该方法包括:在bios电源管理界面中,添加电源管理移交选项hwp;将电源管理移交选项hwp对应的选项值设置为本地模式native mode;保存本地模式native mode至中间结构体;根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
6.在其中一个实施例中,电源管理移交选项hwp对应的选项值还包括关闭电源管理移交模式disabled、不支持传统的本地模式native mode with no legacy support和传输层协议使用带外数据模式out of band mode中的任意一个。
7.在其中一个实施例中,在电源管理移交选项hwp对应的选项值为关闭电源管理移交模式disabled时,os系统通过传统的acpi接口调节电源管理移交选项hwp。
[0008] 在其中一个实施例中,在电源管理移交选项hwp对应的选项值为不支持传统的本地模式native mode with no legacy support时,os系统不做任何关于电源的设置调整,bios系统获得电源管理的控制权。
[0009]
在其中一个实施例中,在电源管理移交选项hwp对应的选项值为传输层协议使用带外数据模式out of band mode时,通过bmc设置电源管理移交选项hwp,bmc获得电源管理的控制权。
[0010]
在其中一个实施例中,中间结构体包括中间结构体变量和中间结构体变量值,中间结构体变量为电源管理移交选项hwp,中间结构体变量值为本地模式native mode。
[0011]
在其中一个实施例中,保存本地模式native mode至中间结构体之后,还包括:获取cpu是否支持硬件控制的性能状态,在cpu支持时,执行根据中间结构体修改cpu固有寄存器的位的步骤。
[0012]
在其中一个实施例中,获取cpu是否支持硬件控制的性能状态,包括:获取cpu中与硬件性能状态相关寄存器的状态参数,根据状态参数判断cpu是否支持硬件控制的性能状态。
[0013]
在其中一个实施例中,根据中间结构体修改cpu中目标寄存器的位,包括:根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值。
[0014]
在其中一个实施例中,根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值,包括:根据中间结构体将cpu中第一目标寄存器第一目标位对应的值置1。
[0015]
在其中一个实施例中,第一目标寄存器为msr_misc_pwr_mgmt。
[0016]
在其中一个实施例中,第一目标寄存器的地址为0x1aa。
[0017]
在其中一个实施例中,第一目标位为第六位。
[0018]
在其中一个实施例中,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值,包括:根据中间结构体将cpu中第二目标寄存器第二目标位对应的值置1。
[0019]
在其中一个实施例中,第二目标寄存器为msr_ia32_pm_enable。
[0020]
在其中一个实施例中,第二目标寄存器的地址为0x770。
[0021]
在其中一个实施例中,第二目标位为第0位。
[0022]
一种电源管理的控制权移交装置,该装置包括:添加模块,用于在bios电源管理界面中,添加电源管理移交选项hwp;设置模块,用于将电源管理移交选项hwp对应的选项值设置为本地模式native mode;保存模块,用于保存本地模式native mode至中间结构体;修改模块,用于根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0023]
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:在bios电源管理界面中,添加电源管理移交选项hwp;将电源管理移交选项hwp对应的选项值设置为本地模式native mode;保存本地模式native mode至中间结构体;根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0024]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:在bios电源管理界面中,添加电源管理移交选项hwp;将电源管理移交选项hwp对应的选项值设置为本地模式native mode;保存本地模式native mode至中间结构体;根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统
移交至os系统,os系统获得电源管理的控制权。
[0025]
上述电源管理的控制权移交方法、装置、计算机设备和存储介质,在bios电源管理界面下需要添加电源管理移交选项hwp,通过设置电源管理移交选项hwp对应的选项值为本地模式native mode,并保存至中间结构体中,根据中间结构体中的电源管理移交选项hwp的选项值修改cpu中目标寄存器的位,即根据中间结构体中的电源管理移交选项hwp的选项值更新cpu中目标寄存器的状态,使得bios将高级电源管理的控制权移交至os系统,而os系统成功获得电源管理的控制权,使得用户能够根据实际需求进行高级电源的管理。
附图说明
[0026]
图1为一个实施例中电源管理的控制权移交方法的流程示意图;图2为另一个实施例中电源管理的控制权移交方法的流程示意图;图3为又一个实施例中电源管理的控制权移交方法的流程示意图;图4为一个实施例中目标寄存器位操作步骤的流程示意图;图5为一个实施例中电源管理的控制权移交方法的原理示意图;图6为一个实施例中电源管理的控制权移交装置的结构框图;图7为一个实施例中计算机设备的内部结构图;图8为一个实施例中计算机设备的内部结构图。
具体实施方式
[0027]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0028]
在一个实施例中,如图1所示,提供了一种电源管理的控制权移交方法,包括以下步骤:步骤102,在bios电源管理界面中,添加电源管理移交选项hwp。
[0029]
其中,bios(basic input output system,基本输入输出系统),作为服务器主板最底层的、最直接的硬件设置和控制的管理者,能为服务器提供更多简单的易用性功能。bios是一组固化到主板上一个只读存储器rom(read-only memory,rom)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
[0030]
其中,bios电源管理界面是bios提供的电源管理菜单,在bios电源管理界面,添加电源管理移交选项hwp(hardware-controlled performance states 硬件性能状态),这个选项就是用来设置移交bios系统向os系统移交电源管理的控制权。其中,hardware-controlled performance states (hwp)支持硬件控制的性能状态hwp的处理器可以根据操作系统提供了性能指导提示信息,自动地选择合适的性能状态。eist技术为操作系统提供了一种方法,通过ia23_perf_ctl和ia32_perf_status msr,可以控制并监控各个独立的基于主频的操作点。
[0031]
作为对比,hwp是acpi定义的协作式处理器性能控制(acpi-defined collaborative processor performance control, cppc)的一种实现,规定了系统可以枚
举一个连续的,抽象的无单位的性能值等级(continuous, abstract unit-less, performance value scale),这个值不与特定的性能状态/频率关联。尽管枚举出来的值基本上与一个整型基准测试性能结果成线性关系,操作系统还是需要为实际的业务程序建立性能值范围以便获取实际可以获得的性能。
[0032]
步骤104,将电源管理移交选项hwp对应的选项值设置为本地模式native mode。
[0033]
其中,电源管理移交选项hwp对应有四个可选项值,分别为:关闭电源管理移交模式disabled、本地模式native mode、不支持传统的本地模式native mode with no legacy support和传输层协议使用带外数据模式out of band mode。
[0034]
在一个实施例中,在电源管理移交选项hwp对应的选项值为关闭电源管理移交模式disabled时,os系统通过传统的acpi接口调节hwp。
[0035]
其中,acpi接口是用于管理服务器内部各种部件时尽量做到节省能源的设备。
[0036]
在一个实施例中,在电源管理移交选项hwp对应的选项值为不支持传统的本地模式native mode with no legacy support时,os系统不做任何关于电源的设置调整,bios系统获得电源管理的控制权。
[0037]
在一个实施例中,在电源管理移交选项hwp对应的选项值为传输层协议使用带外数据模式out of band mode时,通过bmc设置电源管理移交选项hwp,bmc获得电源管理的控制权。
[0038]
也就是说,为了使得电源管理的控制权从bios系统移交至os系统,可以将电源管理移交选项hwp对应的选项值设置为本地模式native mode,当设置为本地模式native mode后,os系统通过hwp接口配置能效目标,进而控制电源管理。其中,将电源管理移交选项对应的选项值为本地模式native mode,os系统可以通过hwp接口配置能效目标,处理依赖于os系统的设置,自动调节电源状态。
[0039]
步骤106,保存本地模式native mode至中间结构体。
[0040]
具体地,在设置完电源管理移交选项hwp对应的选项值后,将该选项值与电源管理移交选项hwp组成中间结构体,也可以是,电源管理移交选项hwp关联有对应的结构体,将选项值本地模式native mode保存至hwp关联的结构体,得到中间结构体。例如,中间结构体可以为:hwp-native mode。
[0041]
在一个实施例中,中间结构体包括中间结构体变量和中间结构体变量值,中间结构体变量为电源管理移交选项hwp,中间结构体变量值为本地模式native mode。
[0042]
其中,中间结构体包括中间结构体变量和对应的中间结构体变量值,将中间结构体变量设置为电源管理移交选项hwp,将对应的中间结构体变量值设置为本地模式native mode,得到中间结构体。其中,将hwp对应的值设置为native mode时,操作系统可通过hwpm接口配置能效目标,处理器依赖于操作系统的设置,自动调节p-state。而os通过acpi_cpc object来了解hwp的控制寄存器,可以授予hwp,传递各种设置和约束条件。
[0043]
步骤108,根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0044]
具体地,在得到中间结构体后,获得了修改cpu中寄存器的权限,因此,根据中间结构体修改cpu中目标寄存器的位,cpu中包括多个寄存器,cpu的固有寄存器机制,可以根据中间结构体修改cpu中目标寄存器的位,目标寄存器可以是控制电源管理的寄存器。具体可
以是,根据中间结构体确定cpu中的目标寄存器的位,可以对确定的目标寄存器的位进行修改,当根据中间结构体修改cpu中目标寄存器的位之后,成功将电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0045]
其中,os(operating system,操作系统)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。当bios系统将电源管理的控制权移交给具有高级电源管理功能的os系统,使用户能在os系统中根据自己的实际需要设定。
[0046]
上述电源管理的控制权移交方法中,在bios电源管理界面下需要添加电源管理移交选项hwp,通过设置电源管理移交选项hwp对应的选项值为本地模式native mode,并保存至中间结构体中,根据中间结构体中的电源管理移交选项hwp的选项值修改cpu中目标寄存器的位,即根据中间结构体中的电源管理移交选项hwp的选项值更新cpu中目标寄存器的状态,使得bios将高级电源管理的控制权移交至os系统,而os系统成功获得电源管理的控制权,使得用户能够根据实际需求进行高级电源的管理。
[0047]
在一个实施例中,如图2所示,提供了一种电源管理的控制权移交方法,包括以下步骤:步骤202,在bios电源管理界面中,添加电源管理移交选项hwp。
[0048]
步骤204,将电源管理移交选项hwp对应的选项值设置为本地模式native mode。
[0049]
步骤206,保存本地模式native mode至中间结构体。
[0050]
具体地,bios提供了电源管理页面,在bios提供的电源管理页面中添加电源管理移交选项hwp,该电源管理移交选项hwp是用来配置电源管理的控制权移交的,该电源管理移交选项hwp中有多个选项值,将电源管理移交选项hwp的选项值设置为本地模式native mode。进一步地,当电源管理移交选项hwp的选项值设置为本地模式native mode后,os系统就可以通过hwp接口进行配置,进而控制电源管理,因此,最后将电源管理移交选项hwp和对应的选项值本地模式native mode进行结构体保存,得到中间结构体。
[0051]
步骤208,获取cpu是否支持硬件控制的性能状态。
[0052]
步骤210,在cpu支持时,根据中间结构体修改cpu固有寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0053]
具体地,获取cpu是否支持硬件控制的性能状态,硬件包括但不限于电源、cpu、pch、主板等,可以通过查询cpu寄存器状态进行获取cpu是否支持硬件控制的性能状态,如果支持,则可以执行根据中间结构体修改cpu固有寄存器的位的步骤。即,只有当cpu支持硬件控制的性能状态时,由于bios的选项设置都是保存在中间结构体中,然后再与cpu进行通信,进而根据中间结构体修改cpu固有寄存器的位,最后,成功地将电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0054]
反之,当cpu不支持硬件控制的性能状态时,则结束流程,无法根据中间结构体修改cpu固有寄存器的位。
[0055]
在一个实施例中,如图3所示,提供了一种电源管理的控制权移交方法,包括以下步骤:步骤302,在bios电源管理界面中,添加电源管理移交选项hwp。
[0056]
步骤304,将电源管理移交选项hwp对应的选项值设置为本地模式native mode。
[0057]
步骤306,保存本地模式native mode至中间结构体。
[0058]
具体地,在bios提供的电源管理页面中添加电源管理移交选项hwp,该电源管理移交选项hwp是用来配置电源管理的控制权移交的,该电源管理移交选项hwp中设置有多个选项值,将电源管理移交选项hwp的选项值设置为本地模式native mode。
[0059]
进一步地,当电源管理移交选项hwp的选项值设置为本地模式native mode后,os系统就可以成功控制电源管理,因此,最后将电源管理移交选项hwp和对应的选项值本地模式native mode进行结构体保存,得到中间结构体。
[0060]
步骤308,获取cpu中与硬件性能状态相关寄存器的状态参数。
[0061]
步骤310,根据状态参数判断cpu是否支持硬件控制的性能状态。
[0062]
步骤312,在cpu支持时,根据中间结构体修改cpu固有寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0063]
其中,获取cpu是否支持硬件控制的性能状态具体可以是,由于cpu是固有寄存器机制,因此,可以获取cpu中与硬件性能状态相关寄存器的状态参数,通过对状态参数分析,来确定cpu是否支持硬件控制的性能状态。
[0064]
进一步地,根据状态参数,确定cup支持硬件控制的性能状态后,可以根据中间结构体修改cpu固有寄存器的位,当根据中间结构体修改cpu中目标寄存器的位之后,成功将电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0065]
在一个实施例中,如图4所示,根据中间结构体修改cpu中目标寄存器的位,包括:步骤402,根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值。
[0066]
其中,cpu中包括多个寄存器,不同的寄存器对应不同的功能,在得到中间结构体后,可以与cpu进行通信,进而获得修改cpu中寄存器的权利。具体地,在得到中间结构体后,根据中间结构体确定cpu中与电源管理控制相关的寄存器,即第一目标寄存器,确定第一目标寄存器的地址以及对应的所有位,寄存器的每个位都存在对应的值。进一步地,根据中间结构体修改cpu中第一目标寄存器的第一目标位对应的值。
[0067]
在一个实施例中,根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值,包括:根据中间结构体将cpu中第一目标寄存器第一目标位对应的值置1。
[0068]
其中,根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值具体可以是,根据中间结构体将cpu中第一目标寄存器第一目标位对应的值置1,就能够使得os系统获得电源管理的控制权,这种主要依赖于cpu固有寄存器机制。
[0069]
在一个实施例中,第一目标寄存器可以为msr_misc_pwr_mgmt。
[0070]
在一个实施例中,第一目标寄存器的地址可以为0x1aa。
[0071]
在一个实施例中,第一目标位可以为第六位。
[0072]
例如,根据中间结构变量体将cpu中的第一目标寄存器msr_misc_pwr_mgmt(0x1aa)的bit[6]置1,其中,0x1aa为第一目标寄存器的地址,bit[6]为第一目标寄存器中的第六位。
[0073]
步骤404,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值。
[0074]
其中,cpu中的与电源管理控制权相关的寄存器除了第一目标寄存器之外,还包括第二目标寄存器,可以根据中间结构体将cpu中的第二目标寄存器的第二目标位对应的值进行修改。当cpu中第一目标寄存器和第二目标寄存器的目标位都操作完毕后,os系统成功
获得电源管理的控制权,bios系统成功将电源管理的控制权移交至os系统。
[0075]
在一个实施例中, 根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值,包括:根据中间结构体将cpu中第二目标寄存器第二目标位对应的值置1。
[0076]
其中,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值具体可以是,根据中间结构体将cpu中第二目标寄存器第二目标位对应的值置1,就能够使得os系统获得电源管理的控制权,这种主要依赖于cpu固有寄存器机制。
[0077]
在一个实施例中,第二目标寄存器为msr_ia32_pm_enable。
[0078]
在一个实施例中,第二目标寄存器的地址为0x770。
[0079]
在一个实施例中,第二目标位为第0位。
[0080]
例如,根据中间结构变量体将cpu中的第二目标寄存器msr_ia32_pm_enable(0x770)的bit[0]置1,其中,0x770为第二目标寄存器的地址,bit[0]为第二目标寄存器中的第0位。
[0081]
在一个具体的实施例中,如图5所示,图5示出一个实施例中电源管理的控制权移交方法的原理示意图,具体包括以下步骤:1、bios电源管理菜单中添加向os移交电源控制管理策略的选项hardware-controlled performance states。
[0082]
2、选项可选值有disabled、native mode、out of band mode和native mode with no legacy support。
[0083]
3、在电源管理菜单setup下将该选项的可选值为native mode,并将该选项值保存至结构体变量。
[0084]
4、获取cpu是否支持hwp的信息。
[0085]
5、当cpu支持hwp时,根据3中结构体变量将寄存器msr_misc_pwr_mgmt(1aa)的bit[6]和msr_ia32_pm_enable(770)的bit[0]置1,从而使得os获取电源管理策略控制权。
[0086]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0087]
在一个实施例中,如图6所示,提供了一种电源管理的控制权移交装置600,包括:添加模块602、设置模块604、保存模块606和修改模块608,其中:添加模块602,用于在bios电源管理界面中,添加电源管理移交选项hwp。
[0088]
设置模块604,用于将电源管理移交选项hwp对应的选项值设置为本地模式native mode。
[0089]
保存模块606,用于保存本地模式native mode至中间结构体。
[0090]
修改模块608,用于根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0091]
在一个实施例中,电源管理移交选项hwp对应的选项值还包括关闭电源管理移交
模式disabled、不支持传统的本地模式native mode with no legacy support和传输层协议使用带外数据模式out of band mode中的任意一个。
[0092]
在一个实施例中,在电源管理移交选项hwp对应的选项值为关闭电源管理移交模式disabled时,os系统通过传统的acpi接口调节hwp。
[0093]
在一个实施例中,在电源管理移交选项hwp对应的选项值为不支持传统的本地模式native mode with no legacy support时,os系统不做任何关于电源的设置调整,bios系统获得电源管理的控制权。
[0094]
在一个实施例中,在电源管理移交选项hwp对应的选项值为传输层协议使用带外数据模式out of band mode时,通过bmc设置电源管理移交选项hwp,bmc获得电源管理的控制权。
[0095]
在一个实施例中,中间结构体包括中间结构体变量和中间结构体变量值,中间结构体变量为电源管理移交选项hwp,中间结构体变量值为本地模式native mode。
[0096]
在一个实施例中,电源管理的控制权移交装置600获取cpu是否支持硬件控制的性能状态,在cpu支持时,修改模块608根据中间结构体修改cpu固有寄存器的位的步骤。
[0097]
在一个实施例中,电源管理的控制权移交装置600获取cpu中与硬件性能状态相关寄存器的状态参数,根据状态参数判断cpu是否支持硬件控制的性能状态。
[0098]
在一个实施例中,修改模块608根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值。
[0099]
在一个实施例中,修改模块608根据中间结构体将cpu中第一目标寄存器第一目标位对应的值置1。
[0100]
在一个实施例中,第一目标寄存器为msr_misc_pwr_mgmt。
[0101]
在一个实施例中,第一目标寄存器的地址为0x1aa。
[0102]
在一个实施例中,第一目标位为第六位。
[0103]
在一个实施例中,修改模块608根据中间结构体将cpu中第二目标寄存器第二目标位对应的值置1。
[0104]
在一个实施例中,第二目标寄存器为msr_ia32_pm_enable。
[0105]
在一个实施例中,第二目标寄存器的地址为0x770。
[0106]
在一个实施例中,第二目标位为第0位。
[0107]
关于电源管理的控制权移交装置的具体限定可以参见上文中对于电源管理的控制权移交方法的限定,在此不再赘述。上述电源管理的控制权移交装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0108]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储中间结构体。该计算机设备的网络接口用于与外部的终端通过网
络连接通信。该计算机程序被处理器执行时以实现一种电源管理的控制权移交方法。
[0109]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种电源管理的控制权移交方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0110]
本领域技术人员可以理解,图7或图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0111]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:在bios电源管理界面中,添加电源管理移交选项hwp;将电源管理移交选项hwp对应的选项值设置为本地模式native mode;保存本地模式native mode至中间结构体;根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0112]
在一个实施例中,电源管理移交选项hwp对应的选项值还包括关闭电源管理移交模式disabled、不支持传统的本地模式native mode with no legacy support和传输层协议使用带外数据模式out of band mode中的任意一个。
[0113]
在一个实施例中,在电源管理移交选项hwp对应的选项值为关闭电源管理移交模式disabled时,os系统通过传统的acpi接口调节电源管理移交选项hwp。
[0114] 在一个实施例中,在电源管理移交选项hwp对应的选项值为不支持传统的本地模式native mode with no legacy support时,os系统不做任何关于电源的设置调整,bios系统获得电源管理的控制权。
[0115]
在一个实施例中,在电源管理移交选项hwp对应的选项值为传输层协议使用带外数据模式out of band mode时,通过bmc设置hwp,bmc获得电源管理的控制权。
[0116]
在一个实施例中,中间结构体包括中间结构体变量和中间结构体变量值,中间结构体变量为电源管理移交选项hwp,中间结构体变量值为本地模式native mode。
[0117]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取cpu是否支持硬件控制的性能状态,在cpu支持时,执行根据中间结构体修改cpu固有寄存器的位的步骤。
[0118]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取cpu中与硬件性能状态相关寄存器的状态参数,根据状态参数判断cpu是否支持硬件控制的性能状态。
[0119]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值。
[0120]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据中间结构体将cpu中第一目标寄存器第一目标位对应的值置1。
[0121]
在一个实施例中,第一目标寄存器为msr_misc_pwr_mgmt。
[0122]
在一个实施例中,第一目标寄存器的地址为0x1aa。
[0123]
在一个实施例中,第一目标位为第六位。
[0124]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据中间结构体将cpu中第二目标寄存器第二目标位对应的值置1。
[0125]
在一个实施例中,第二目标寄存器为msr_ia32_pm_enable。
[0126]
在一个实施例中,第二目标寄存器的地址为0x770。
[0127]
在一个实施例中,第二目标位为第0位。
[0128]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在bios电源管理界面中,添加电源管理移交选项hwp;将电源管理移交选项hwp对应的选项值设置为本地模式native mode;保存本地模式native mode至中间结构体;根据中间结构体修改cpu中目标寄存器的位,使得电源管理的控制权从bios系统移交至os系统,os系统获得电源管理的控制权。
[0129]
在一个实施例中,电源管理移交选项hwp对应的选项值还包括关闭电源管理移交模式disabled、不支持传统的本地模式native mode with no legacy support和传输层协议使用带外数据模式out of band mode中的任意一个。
[0130]
在一个实施例中,在电源管理移交选项hwp对应的选项值为关闭电源管理移交模式disabled时,os系统通过传统的acpi接口调节电源管理移交选项hwp。
[0131] 在一个实施例中,在电源管理移交选项hwp对应的选项值为不支持传统的本地模式native mode with no legacy support时,os系统不做任何关于电源的设置调整,bios系统获得电源管理的控制权。
[0132]
在一个实施例中,在电源管理移交选项hwp对应的选项值为传输层协议使用带外数据模式out of band mode时,通过bmc设置hwp,bmc获得电源管理的控制权。
[0133]
在一个实施例中,中间结构体包括中间结构体变量和中间结构体变量值,中间结构体变量为电源管理移交选项hwp,中间结构体变量值为本地模式native mode。
[0134]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取cpu是否支持硬件控制的性能状态,在cpu支持时,执行根据中间结构体修改cpu固有寄存器的位的步骤。
[0135]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取cpu中与硬件性能状态相关寄存器的状态参数,根据状态参数判断cpu是否支持硬件控制的性能状态。
[0136]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据中间结构体修改cpu中第一目标寄存器第一目标位对应的值,根据中间结构体修改cpu中第二目标寄存器第二目标位对应的值。
[0137]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据中间结构体将cpu中第一目标寄存器第一目标位对应的值置1。
[0138]
在一个实施例中,第一目标寄存器为msr_misc_pwr_mgmt。
[0139]
在一个实施例中,第一目标寄存器的地址为0x1aa。
[0140]
在一个实施例中,第一目标位为第六位。
[0141]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据中间结构体将cpu中第二目标寄存器第二目标位对应的值置1。
[0142]
在一个实施例中,第二目标寄存器为msr_ia32_pm_enable。
[0143]
在一个实施例中,第二目标寄存器的地址为0x770。
[0144]
在一个实施例中,第二目标位为第0位。
[0145]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0146]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0147]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献