Nothing Special   »   [go: up one dir, main page]

CN117112191B - 信息处理方法和电子设备 - Google Patents

信息处理方法和电子设备 Download PDF

Info

Publication number
CN117112191B
CN117112191B CN202210745011.7A CN202210745011A CN117112191B CN 117112191 B CN117112191 B CN 117112191B CN 202210745011 A CN202210745011 A CN 202210745011A CN 117112191 B CN117112191 B CN 117112191B
Authority
CN
China
Prior art keywords
target
policy
cpu
epo
information
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
CN202210745011.7A
Other languages
English (en)
Other versions
CN117112191A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to PCT/CN2023/090786 priority Critical patent/WO2023221752A1/zh
Publication of CN117112191A publication Critical patent/CN117112191A/zh
Application granted granted Critical
Publication of CN117112191B publication Critical patent/CN117112191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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

信息处理方法和电子设备
本申请要求于2022年05月16日提交国家知识产权局、申请号为202210530863.4、申请名称为“参数转译方法和电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,具体涉及一种信息处理方法和电子设备。
背景技术
当今社会,电子设备已成为人们日常生活和工作中必不可少的物品。电子设备较优的性能以及在移动场景下较长的续航能给用户带来不一样的体验。性能和续航的提升,主要在于电子设备的资源调度。
相关技术中,存在一种资源调度方法,通过识别电子设备当前的用户场景,并结合用户场景和电子设备的系统负载等确定资源调度策略,将资源调度策略下发至中央处理器(central processing unit,CPU),CPU基于资源调度策略对资源进行调度,从而降低电子设备的功耗,延长续航,并能够合理分配资源,保证应用程序的流畅运行,提高电子设备的性能。
然而,不同电子设备的CPU的芯片平台类型可能不同,因此,在基于资源调度策略进行资源调度时,需要对资源调度策略进行转译。
发明内容
本申请提供了一种信息处理方法和电子设备,能够对调度策略信息进行转译,使资源调度策略信息适用不同的CPU芯片平台类型,提高电子设备的兼容性。
第一方面,本申请提供一种信息处理方法,所述方法由电子设备执行,所述方法包括:获取当前场景信息和当前场景信息对应的第一调度策略信息;当前场景信息表征电子设备当前处理的业务所对应的用户场景;若电子设备的CPU的芯片平台类型为第一类型,则确定第一调度策略信息对应的目标策略标识,根据目标策略标识通过第一类型的CPU对电子设备进行资源调度;若电子设备的CPU的芯片平台类型为第二类型,则根据当前场景信息和第一调度策略信息,确定第二调度策略信息,根据第二调度策略信息通过第二类型的CPU对电子设备进行资源调度。
具体的,场景信息例如可以为场景号或场景名称等。第一调度策略信息也称为CPU调度策略,为需要下发至CPU执行以对电子设备进行资源调度的信息。可选的,第一调度策略信息例如可以为第一CPU功耗调度信息。策略标识例如可以为策略号或策略名称等。
可选,第一类型可以为芯片平台。第二类型可以为超威半导体公(Advanced Micro Devices,AMD)芯片平台。也就是说,若电子设备的CPU的芯片平台类型为Intel芯片平台,则根据第一调度策略信息确定对应的目标策略标识。目标策略标识能够被Intel CPU芯片识别,Intel CPU芯片能够根据目标策略标识进行资源调度。若电子设备的CPU的芯片平台类型为AMD芯片平台,则根据当前场景信息和第一调度策略信息,确定第二调度策略信息。第二调度策略信息能够被AMD CPU芯片识别,AMD CPU芯片能够根据第二调度策略信息进行资源调度。
换句话说,本申请第一方面提供的方法,通过获取当前场景信息和当前场景信息对应的第一调度策略信息,根据CPU的芯片平台类型的不同,对第一调度策略信息进行不同的转译,以适配不同类型的CPU芯片平台。这样,在根据用户场景进行动态资源调度时,生成的调度策略信息能够被不同类型的芯片平台识别,从而使这种根据用户场景进行动态资源调度的方法能够适用不同类型的电子设备,提高该方法的兼容性,进而能够提升不同类型的电子设备的性能和续航能力。
一种可能的实现方式中,第一调度策略信息中包括长时睿频功耗(power limit1,PL1)目标值、能效比(energy performance preference,EPP)目标值和能效性能优化(energy performance optimize,EPO)开关的状态,目标策略标识包括目标动态调谐技术(dynamic tuning technology,DTT)策略标识和目标EPO策略标识;确定第一调度策略信息对应的目标策略标识,根据目标策略标识通过第一类型的CPU对电子设备进行资源调度,包括:获取第一调度策略信息对应的当前系统负载;根据PL1目标值或当前系统负载确定目标DTT策略标识;根据EPO开关的状态确定目标EPO策略标识;根据目标DTT策略标识通过第一类型的CPU调整CPU的功率,并根据目标EPO策略标识和EPP目标值,通过第一类型的CPU调整CPU的能效比。
该实现方式中,通过确定目标DTT策略标识,并根据目标DTT策略标识调整CPU功耗,通过确定目标EPO标识,并根据目标EPO标识调整CPU能效比,既实现了功耗调整,又实现了能效比调整,能够有效降低CPU功耗,提升电子设备续航能力。
一种可能的实现方式中,根据PL1目标值或当前系统负载确定目标DTT策略标识,包括:若第一调度策略信息为默认场景对应的策略信息,则根据第一对应关系,确定与当前系统负载对应的目标DTT策略标识;第一对应关系中包括至少一个默认策略标识与至少一个系统负载的对应关系,至少一个默认策略标识中包括目标DTT策略标识;默认场景是指除预设场景外的其他用户场景,默认策略标识是指默认场景对应的DTT策略标识;若第一调度策略信息不为默认场景对应的策略信息,则根据第二对应关系,确定与PL1目标值最接近的PL1值对应的目标DTT策略标识;第二对应关系中包括多个非默认策略标识与多个PL1值的对应关系,多个非默认策略标识中包括目标DTT策略标识;非默认策略标识是指非默认场景对应的DTT策略标识。
可选的,第一对应关系和第二对应关系可以通过策略表查询。策略表中可以包括DTT策略标识、PL1、PL2以及系统负载等参数中的部分或全部的对应关系。策略表可以由电子设备的基本输入输出系统(basic input output system,BIOS)建立和保存。其中,策略表中可以不包括PL1目标值和PL2目标值。也就是说,策略表可以不完全根据已有的PL1目标值和PL2目标值建立,策略标识与已有的PL1目标值和PL2目标值未必存在一一对应关系。
该实现方式中,在第一调度策略信息为默认场景对应的策略信息的情况下,根据第一对应关系,确定与当前系统负载对应的目标DTT策略标识,能够快速方便的确定出策略标识。在第一调度策略信息不为默认场景对应的策略信息的情况下,根据第二对应关系,确定与PL1目标值最接近的PL1值对应的目标DTT策略标识。这样,策略表中的第三对应关系中,DTT策略标识无需跟随第一调度策略信息的增加而增加,减少策略表中第二对应关系的扩充次数,节约BIOS容量,且能够保证策略表中第二对应关系的相对固定,便于操作和维护。
一种可能的实现方式中,非默认策略标识为DTT策略号,非默认策略标识中包括至少一组第一DTT策略号,第一DTT策略号中包括多个DTT策略号,且多个DTT策略号按照从小到大的顺序时,相邻两个DTT策略号对应的PL1步进值相等;根据第二对应关系,确定与PL1目标值最接近的PL1值对应的目标DTT策略标识,包括:根据PL1目标值确定目标PL1步进值和目标补偿值;根据PL1目标值、目标PL1步进值和目标补偿值确定目标DTT策略标识。
也就是说,策略表中,非默认策略标识为多个由大到小排序的DTT策略号,且相邻两个DTT策略号对应的PL1步进值相等。在这种情况下,可以根据PL1目标值确定目标PL1步进值和目标补偿值,再根据PL1目标值、目标PL1步进值和目标补偿值确定目标DTT策略标识。该实现方式中,考虑到极少数场景CPU才会运行在短时睿频状态下,因而在CPU的芯片平台类型为的情况下,忽略PL2,仅通过PL1目标值确定目标DTT策略号,从而简化算法,提高信息转译效率。
一种可能的实现方式中,根据PL1目标值、目标PL1步进值和目标补偿值确定目标DTT策略标识,包括:通过公式(1)确定目标DTT策略标识:
其中,表示向下取整,step表示目标PL1步进值,offset1表示目标补偿值。
该实现方式中,通过公式(1)能够快速的确定出第二对应关系中与第一调度策略信息中的PL1目标值最接近的PL1值对应的策略号,从而能够快速的确定出目标DTT策略标识,无需遍历查询策略表中的第二对应关系,提高信息转译效率。
一种可能的实现方式中,该方法还包括:根据当前场景信息确定第一调度策略信息是否为默认场景对应的策略信息。
一种可能的实现方式中,根据EPO开关的状态确定目标EPO策略标识,包括:若EPO开关的状态为关闭状态,则将预设EPO策略标识确定为目标EPO策略标识;根据目标EPO策略标识和EPP目标值,通过第一类型的CPU调整CPU的能效比,包括:根据预设EPO策略标识,通过第一类型的CPU调整CPU的能效比为EPP目标值。
也就是说,在确定EPO开关为关闭状态的情况下,直接能够确定出EPO策略标识为预设EPO策略标识。在确定EPO策略标识为预设EPO策略标识的情况下,电子设备关闭DTT调节功能,直接将CPU的能效比调整为EPP目标值。
一种可能的实现方式中,根据EPO开关的状态确定目标EPO策略标识,包括:若EPO开关的状态为打开状态,则根据EPP目标值确定EPO档位目标值,并根据第三对应关系,确定与EPO档位目标值最接近的EPO档位值对应的目标EPO策略标识;第三对应关系中包括多个EPO策略标识与多个EPO档位值的对应关系,多个EPO策略标识中包括目标EPO策略标识;根据目标EPO策略标识和EPP目标值,通过第一类型的CPU调整CPU的能效比,包括:根据目标EPO策略标识对应的EPO档位值,基于DTT,通过第一类型的CPU调整CPU的能效比。
可选的,第三对应关系也可以通过策略表查询。策略表中包括EPO策略标识、EPO档位值的对应关系。
该实现方式中,在EPO开关的状态为打开状态的情况下,根据EPP目标值确定EPO档位目标值,并根据第三对应关系确定与EPO档位目标值最接近的EPO档位值对应的目标EPO策略标识。这样,策略表中的第三对应关系中,EPO策略标识无需跟随第一调度策略信息的增加而增加,减少策略表中第三对应关系的扩充次数,节约BIOS容量,且能够保证策略表中第三对应关系的相对固定,便于操作和维护。
一种可能的实现方式中,多个EPO策略标识为多个EPO策略号,且多个EPO策略号按照从小到大的顺序时,相邻两个EPO策略号对应的EPO档位步进值相等,根据第三对应关系,确定与EPO档位目标值最接近的EPO档位值对应的目标EPO策略标识,包括:根据公式(2)确定目标EPO策略标识:
其中,表示向下取整,EPP目标值/255为EPO档位目标值,offset2表示EPO档位步进值。
该实现方式中,通过公式(2)能够快速的确定出第三对应关系中与EPO Gear目标值最接近的EPO Gear值,从而能够快速的确定出目标EPO策略标识,无需遍历查询策略表中的第三对应关系,提高信息转译效率。
一种可能的实现方式中,根据当前场景信息和第一调度策略信息,确定第二调度策略信息,包括:根据当前场景信息确定第二调度策略信息的数据类型;获取数据类型中包括的目标参数;获取第一调度策略信息中的初始参数;根据第四对应关系和初始参数的值,对目标参数赋值,得到第二调度策略信息;第四对应关系中包括目标参数中的至少一个参数和初始参数中的至少一个参数的对应关系。
可选的,第二调度信息的数据类型表征电子设备执行资源调度的类型。目标参数表征第二类型的CPU芯片平台在当前场景下执行第一调度策略信息对应的资源调度时所需要的参数类型。该实现方式中,根据第四对应关系和初始参数的值,对目标参数赋值,得到第二调度策略信息,得到的第二调度策略参数能够被第二类型的CPU芯片平台识别,使第二类型的CPU芯片能够执行资源调度。
一种可能的实现方式中,初始参数包括PL1和短时睿频功耗(power limit1,PL2),目标参数包括持续功率限制(sustained power limit,SPL)和慢整包功率跟踪限制(slowPPT limit,SPPT),第四对应关系包括SPL和PL1的对应关系,以及SPPT与PL2的对应关系;根据第四对应关系和初始参数的值,对目标参数赋值,得到第二调度策略信息,包括:将PL1的值赋值至SPL,将PL2的值赋值至SPPT,得到第二调度策略信息。
一种可能的实现方式中,第一调度策略信息中还包括EPP目标值,根据第二调度策略信息通过第二类型的CPU对电子设备进行资源调度,包括:根据SPL的值和SPPT的值,通过第二类型的CPU调整CPU的功率;根据EPP目标值,通过第二类型的CPU调整CPU的能效比。
一种可能的实现方式中,根据第二调度策略信息通过第二类型的CPU对电子设备进行资源调度,包括:获取第三调度策略信息,第三调度策略信息为电子设备的嵌入式控制器(Embedded Controller,EC)生成的调度策略信息;根据第二调度策略信息和第三调度策略信息,确定最终调度策略信息;在电子设备的CPU的芯片平台类型为第二类型的情况下,该方法还包括:根据当前场景信息获取第一调度策略信息的数据等级;数据等级表征根据第二调度策略信息和第三调度策略信息确定最终调度策略信息的过程中,第二调度策略信息的重要程度。
可选的,数据等级可以包括低等级(low level)、正常等级(normal level)和高等级(high level)。
低等级表征根据第二调度策略信息和第三调度策略信息决策最终调度策略信息过程中,第二调度策略信息的重要等级或优先等级最低。在一个具体的实施例中,数据等级为低等级时,根据第二调度策略信息和第三调度策略信息决策最终调度策略信息过程中可以忽略第二调度策略信息,仅根据第三调度策略信息决策出最终的调度策略信息。
正常等级表征根据第二调度策略信息和第三调度策略信息决策最终调度策略信息过程中,第二调度策略信息的重要等级或优先等级为中等,与第三调度策略信息的重要程度相当,将第二调度策略信息和第三调度策略信息比较或融合得到最终的调度策略信息。
高等级表征根据第二调度策略信息和第三调度策略信息决策最终调度策略信息过程中,第二调度策略信息的重要等级或优先等级最高。在一个具体的实施例中,数据等级为高等级时,根据第二调度策略信息和第三调度策略信息决策最终调度策略信息过程中可以忽略第三调度策略信息,仅根据第二调度策略信息决策出最终的调度策略信息。
一种可能的实现方式中,该方法还包括:获取电子设备的CPU芯片的供应商标识(vendor identification,VID);根据VID确定电子设备的CPU的芯片平台类型。
该实现方式中,通过VID能够简单、快速的确定CPU的芯片平台类型,提高信息转译的效率。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例电子设备100的结构示意图;
图2是本申请实施例提供的另一例电子设备100的软件结构框图;
图3是本申请实施例提供的一例电子设备100对资源进行调度的软件及硬件的工作流程示意图;
图4是本申请实施例提供的一例信息处理方法及根据转译结果进行功耗调度的流程示意图;
图5是本申请实施例提供的一例信息处理方法中电子设备各模块的交互示意图;
图6是本申请实施例提供的一例确定DTT策略号和EPO策略号的流程示意图;
图7是本申请实施例提供的一例将第一CPU功耗调度信息转译为第二CPU功耗调度信息的流程示意图;
图8是本申请实施例提供的一例芯片系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为更好地理解本申请实施例,以下对实施例中可能涉及的术语或概念进行解释说明。
长时睿频功耗(power limit1,PL1),指CPU在正常负载下的功耗,相当于热设计功耗,CPU绝大部分时间的运行功耗不超过PL1。
短时睿频功耗(power limit2,PL2),指CPU在短时间内可达到的最高功耗,其具有持续时间限制。一般地,PL2大于PL1。
CPU能效比(energy performance preference,EPP),用于反映CPU的调度倾向,其取值范围为0~255。CPU能效比越小,则表明CPU趋向于高性能;CPU能效比越高,则表明CPU趋向于低功耗。
动态调谐技术(dynamic tuning technology,DTT),是公司在 处理器和独立显卡之间自动并动态分配功耗,以优化性能并延长电池续航时间的技术,其可以使CPU和GPU的性能得到提升,智能混合工作负载功率平衡。
能效-性能优化挡位(energy performance optimize gear,EPO Gear)用来表征DTT调节CPU能效比(EPP)的力度。可选的,EPO Gear的取值范围可以为1~5,值越大,调节EPP时越倾向能效;值越小,调节EPP时越倾向性能。
供应商标识(vendor identification,VID),又称vendor ID,是代表设备的技术厂商的识别码,即厂商ID。VID是由外围部件互连专业组(peripheral componentinterconnect special interest group,PCI-SGI)统一编制命名的,是唯一的厂商标识,不允许重名。
焦点窗口(focus window),指拥有焦点的窗口。焦点窗口是唯一可以接收键盘输入的窗口。焦点窗口的确定方式与系统的焦点模式(focus mode)关联。焦点窗口的顶层窗口被称为活动窗口(active window)。同一时间只有一个窗口可以是活动窗口。焦点窗口大概率为用户当前需要使用的窗口。
焦点模式,可用于决定鼠标如何使一个窗口获得焦点。一般地,焦点模式可包括三种,分别为:
(1)点击聚焦(click-to focus),在这种模式下,鼠标点击的窗口即可获得焦点。即当鼠标点击一个可以获得焦点的窗口的任意位置,即可激活该窗口,该窗口便被置于所有窗口的最前面,并接收键盘输入。当鼠标点击其他窗口时,该窗口会失去焦点。
(2)焦点跟随鼠标(focus-follow-mouse),在这种模式下,鼠标下的窗口可以获取焦点。即当鼠标移到一个可以获得焦点的窗口的范围内,用户不需要点击窗口的某个地方就可以激活这个窗口,接收键盘输入,但该窗口不一定被置于所有窗口的最前面。当鼠标移出这个窗口的范围时,这个窗口也会随之失去焦点。
(3)草率聚焦(sloppy focus),这种焦点模式与focus-follow-mouse比较类似:当鼠标移到一个可以获得焦点的窗口的范围内,用户不需要点击窗口的某个地方就可以激活这个窗口,接收键盘输入,但该窗口不一定被置于所有窗口的最前面。与focus-follow-mouse不同的是,当鼠标移出这个窗口范围时,焦点并不会随之改变,只有当鼠标移动到别的可以接收焦点的窗口时,系统焦点才改变。
进程包括多个线程,线程可以创建窗口。焦点进程为创建焦点窗口的线程所属的进程。
转译,指对某个形式的数据或信息进行转换处理,得到另一个形式的数据或信息,该另一个形式的数据或信息可以被指定平台所识别。例如,电子设备可以对获得的策略参数进行转译,得到某一类型的CPU芯片平台能够识别的参数。
以下对本申请实施例提供的信息处理方法进行说明。
相关技术中,存在一种资源调度方法,通过识别电子设备当前所处理的业务对应的用户场景,并结合用户场景和电子设备的系统负载等确定资源调度策略,CPU基于资源调度策略对资源进行调度,从而提升电子设备的性能和续航能力。然而,不同电子设备选用的CPU可能不同,CPU的芯片平台类型不同。因此,在CPU基于资源调度策略进行资源调度之前,需要对资源调度策略进行转译。
有鉴于此,本申请提供一种信息处理方法,在电子设备确定出当前电子设备所处的用户场景以及用户场景对应的调度策略后,能够根据电子设备的CPU的芯片平台类型,对调度策略进行转译,以适配不同类型的CPU芯片平台,从而使得这种根据用户场景进行动态资源调度的方法能够适用不同的电子设备,提高该资源调度方法的兼容性,进而能够提升不同类型的电子设备的性能和续航能力。
本申请实施例提供的信息处理方法可以应用于笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1是本申请实施例提供的一例电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,无线通信模块150,显示屏160等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括I2C接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulsecodemodulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏160,和无线通信模块150等供电。在一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
无线通信模块150可以提供应用在电子设备100上的包括WLAN(如Wi-Fi),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,电子设备100可以通过无线通信模块150与终端设备(如无线耳机100)建立蓝牙连接。
无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏160,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏160和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏160用于显示图像,视频等。该显示屏160包括显示面板。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
上述电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Windows系统为例,示例性说明电子设备100的软件结构。
示例性的,图2为本申请实施例的一例电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Windows系统分为用户态和内核态。其中,用户态包括应用层以及子系统动态链接库。内核态自下而上分为固件层、硬件抽象层(hardwareabstraction layer,HAL)、内核和驱动层及执行体。
如图2所示,应用层包括音乐、视频、游戏、办公、社交等应用程序。应用层还包括环境子系统、场景识别引擎以及调度引擎等。其中,图中仅示出部分应用程序,应用层还可以包括其他应用程序,例如购物应用、浏览器等,本申请不做限定。
环境子系统可以将基本的执行体系统服务的某些子集以特定的形态展示给应用程序,为应用程序提供执行环境。
场景识别引擎可以识别电子设备100所处的用户场景,并确定与该用户场景匹配的基础调度策略。调度引擎可以获取电子设备100的负载情况,并结合电子设备100的负载情况及上述基础调度策略确定符合电子设备100实际运行情况的实际调度策略。其中,关于场景识别引擎和调度引擎的具体内容见后文,在此暂不描述。
子系统动态链接库包括API模块,该API模块包括Windows API,Windows原生API等。其中,Windows API,Windows原生API均可以为应用程序提供系统调用入口及内部函数支持,区别在于Windows原生API为Windows系统原生的API。例如,Windows API可包括user.dll、kernel.dll,Windows原生API可包括ntdll.dll。其中,user.dll是Windows用户界面接口,可用于执行创建窗口、发送消息等操作。kernel.dll用于为应用程序提供访问内核的接口。ntdll.dll是重要的Windows NT内核级文件,描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
执行体包括进程管理器、虚拟内存管理器、安全引用监视器、I/O管理器、Windows管理规范(Windows management instrumentation,WMI)、电源管理器、系统事件驱动(operating system event driver,OsEventDriver)节点、系统与芯片驱动(operatingsystem to System on Chip,OS2SOC)节点等。
进程管理器用于创建及中止进程和线程。
虚拟内存管理器实现“虚拟内存”。虚拟内存管理器也为高速缓存管理器提供基本的支持。
安全引用监视器可在本地计算机上执行安全策略,它保护了操作系统资源,执行运行时对象的保护和监视。
I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。
电源管理器可管理所有支持电源状态更改的设备的电源状态更改。
系统事件驱动节点可以与内核和驱动层进行交互,例如与显卡驱动进行交互,在确定存在GPU视频解码事件后,向场景识别引擎上报该GPU视频解码事件。
系统与芯片驱动节点可供调度引擎向硬件设备发送调整信息,例如向CPU发送调整PL1和PL2的信息。
内核和驱动层包括内核以及设备驱动程序。
内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。内核可以进行线程安排和调度、陷阱处理和异常调度、中断处理和调度等。
设备驱动程序运行在内核模式下,为I/O系统和相关硬件之间的接口。设备驱动程序可包括显卡驱动、Intel DTT驱动、鼠标驱动、音视频驱动、摄像头驱动、键盘驱动等。例如,显卡驱动可以驱动GPU运行,Intel DTT驱动可以驱动CPU运行。
HAL是一个核心态模块,可以隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等,为运行Windows的不同硬件平台提供统一的服务接口,实现多种硬件平台上的可移植性。需要说明的是,为了维护Windows的可移植性,Windows内部组件和用户编写的设备驱动程序并不直接访问硬件,而是通过调用HAL中的例程。
固件层可以包括基本输入输出系统(basic input output system,BIOS),BIOS是一组固化到计算机主板上一个只读存储器(read only memory,ROM)芯片内的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。Intel DTT驱动可以通过BIOS向CPU发送指令。
需要说明的是,本申请实施例仅以Windows系统举例来说明,在其他操作系统中(例如安卓系统,IOS系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
为了便于理解,在对本申请实施例提供的信息处理方法的具体过程进行阐述之前,首先结合图1和图2的结构,示例性的说明电子设备100实现资源调度的一种可能的软件及硬件结构和工作流程。需要说明的是,本实施例仅为示例,并不造成对该方法以及电子设备100具体结构的任何限定。
图3示出了一例电子设备100对资源进行调度的软件及硬件的工作流程示意图。
如图3所示,应用层的场景识别引擎可以包括系统探针模块、场景识别模块及基础策略匹配管理器。场景识别模块可分别与系统探针模块及基础策略匹配管理器进行交互。场景识别模块可以向系统探针模块发送获取探针状态的请求。系统探针模块可以获取电子设备100的运行状态。例如,系统探针模块可以包括电源状态探针、外设状态探针、进程负载探针、音视频状态探针、系统负载探针及系统事件探针等。
其中,电源状态探针可以向内核态订阅电源状态事件,根据内核态反馈的回调函数确定电源状态,电源状态包括电池(剩余)电量、电源模式等,电源模式可包括交流电源(alternating current,AC)和直流电源(direct current,DC)。例如,电源状态探针可向执行体层的OsEventDriver节点发送订阅电源状态事件的请求,由OsEventDriver节点向执行体层的电源管理器转发该请求。电源管理器可通过该OsEventDriver节点向电源状态探针反馈回调函数。
外设状态探针可以向内核态订阅外设事件,根据内核态反馈的回调函数确定外设事件。外设事件包括鼠标滚轮滑动事件、鼠标点击事件、键盘输入事件、麦克风输入事件、摄像头输入事件等。
进程负载探针可以向内核态订阅进程负载,根据内核态反馈的回调函数确定进程的负载。
系统负载探针可以向内核态订阅系统负载,根据内核态反馈的回调函数确定系统负载。
音视频状态探针可向内核态订阅音视频事件,根据内核态反馈的回调函数确定电子设备100当前存在的音视频事件。音视频事件可包括GPU解码事件等。例如,音视频状态探针可向执行体层的OsEventDriver节点发送订阅GPU解码事件的请求,由OsEventDriver节点向内核和驱动层的显卡驱动转发该请求。显卡驱动可以监控GPU的状态,在监控到GPU在进行解码操作后,通过该OsEventDriver节点向音视频状态探针反馈回调函数。
系统事件探针可以向内核态订阅系统事件,根据内核态反馈的回调函数确定系统事件。系统事件可包括窗口变化事件、进程创建事件、线程创建事件等。例如,系统事件探针可向执行体层的OsEventDriver节点发送订阅进程创建事件的请求,由OsEventDriver节点向进程管理器转发该请求。进程管理器可在创建进程后,通过该OsEventDriver节点向系统事件探针反馈回调函数。又例如,系统事件探针还向API模块发送订阅焦点窗口变化事件,API模块可监控电子设备100的焦点窗口是否发生变化,并在监控到焦点窗口发生变化时,向系统事件探针反馈回调函数。
可见,系统探针模块通过向内核态订阅电子设备100的各种事件,再根据内核态反馈的回调函数确定电子设备100的运行状态,即得到探针状态。系统探针模块得到探针状态后,可向场景识别模块反馈该探针状态。场景识别模块接收到探针状态后,可根据该探针状态确定电子设备100所处的用户场景。
可选的,用户场景可以包括主场景和子场景,子场景为主场景下的细分场景。主场景可以包括视频场景、游戏场景、办公场景、社交场景及空闲(idle)场景等。视频场景是指用户使用电子设备观看视频的场景。视频场景对应的子场景可以包括视频播放场景、视频浏览场景等。游戏场景是指用户使用电子设备打游戏的场景。游戏场景对应的子场景可以包括游戏中场景等。办公场景是指用户使用电子设备办公的场景。办公场景对应的子场景可以包括文档编辑场景、文档浏览场景、视频会议场景等。社交场景是指用户使用电子设备进行社交的场景。社交场景对应的子场景可以包括文字聊天场景、语音聊天场景、视频聊天场景等。空闲场景是指用户对电子设备无任何操作的场景。空闲场景可以不包括子场景。除上述视频场景、游戏场景、办公场景、社交场景和空闲场景之外的其他场景,定义为默认场景,默认场景可以不包括子场景。
用户场景可以反映用户当前的使用需求。例如,场景识别引擎在识别出焦点窗口为视频播放应用的窗口时,确定出电子设备100所处的主场景为视频场景,子场景为视频播放场景,说明用户需要使用视频应用观看、浏览视频。又例如,场景识别引擎识在识别出焦点窗口为微信TM的文字聊天窗口时,确定电子设备100所处的主场景为社交场景,子场景为文字聊天场景。场景识别模块还可向基础策略匹配管理器发送该用户场景。基础策略匹配管理器可根据该用户场景确定基础调度策略。基础策略匹配管理器可向场景识别模块反馈基础调度策略。场景识别模块可向应用层的调度引擎发送该基础调度策略及用户场景。
如图3所示,调度引擎包括负载管控器、芯片策略融合器以及调度执行器。其中,负载管控器可接收场景识别模块发送的基础调度策略及用户场景。负载管控器还可从系统探针模块获取系统负载,并根据系统负载和用户场景对该基础调度策略进行调整,得到实际调度策略。在一种可选的实施方式中,负载管控器可根据系统负载确定系统负载等级。可选的,系统负载等级可以包括轻、中、重三个等级。电子设备可预先配置各种用户场景和各种系统负载等级下对应的实际调度策略。
实际调度策略中可以包括OS调度策略和CPU调度策略(也称为第一调度策略)。其中,负载管控器可向调度执行器发送该OS调度策略,由调度执行器基于该OS调度策略进行调度。OS调度策略用于调整焦点进程的进程优先级及I/O优先级。示例性的,调度执行器可向进程管理器发送调整焦点进程的进程优先级的指令,响应于该指令,进程管理器对焦点进程的进程优先级进行调整。又例如,调度执行器可向I/O管理器发送调整焦点进程的I/O优先级的指令,响应于该指令,I/O管理器对焦点进程的I/O优先级进行调整。
CPU调度策略是指需要下发至CPU执行的调度策略。CPU调度策略可以包括功耗调度策略,也可以包括性能优化策略。其中,功耗调度策略用于调整CPU、GPU或其他硬件的参数以实现功耗调整,例如通过调整CPU的功率限制参数调整CPU功耗,或者通过调整CPU的能耗比调整CPU功耗等。性能优化策略用于调整电子设备中相关模块的参数或工作模式等以优化电子设备的性能,例如,通过系统温度跟踪调整进行性能优化,通过调整风扇转速或声音进行性能优化,或者通过调整BIOS的工作模式进行性能优化等。
负载管控器可以向芯片策略融合器发送用户场景和CPU调度策略,芯片策略融合器根据CPU的芯片平台类型和用户场景对该CPU调度策略进行转译,得到转译后的调度策略。芯片策略融合器将转译后的调度策略下发至调度执行器,调度执行器可以通过OS2SOC驱动节点、WMI、电源管理器、BIOS等中的至少一种,将转译后的调度策略下发至CPU,由CPU实现资源调度。
需要说明的是,本申请实施例中,用户场景可以通过场景信息来表征,场景信息例如可以包括场景号、场景名称等。CPU调度策略可以通过CPU调度策略信息来表征,CPU调度策略信息中例如可以包括调度参数、调度数据等。
另外,本申请以下实施例中,均以场景信息为场景号,以CPU调度策略信息(第一调度策略信息)为第一CPU功耗调度信息为例进行说明,其中,第一CPU功耗调度信息用于调整CPU的功耗参数。其他类型的CPU调度策略信息与此类似,不作赘述。
下面将以具有图3所示结构的电子设备为例,结合附图,对本申请实施例提供的信息处理方法实现对第一CPU功耗调度信息进行转译的过程进行具体阐述。
如上实施例所述,不同电子设备使用的CPU可能不同,CUP的芯片平台类型可能不同。例如,电子设备所使用的CPU可以为超威半导体公(Advanced Micro Devices,AMD)的CPU,芯片平台类型为AMD;电子设备所使用的CPU也可以为的CPU,芯片平台类型为这两类芯片平台对于CPU功耗的调整方式并不相同,因此需要进行区分。以下实施例以这两种芯片平台类型为例对信息处理方法进行说明。
示例性的,图4是本申请实施例提供的一例信息处理及根据转译结果进行功耗调度的方法的流程示意图,该方法的执行主体为电子设备,在一个具体的实施例中,执行主体可以为上述实施例中所述的调度引擎。示例性的,图5为本申请实施例提供的一例信息处理方法中电子设备各模块的交互示意图。请一并参见图4和图5,该信息处理方法可以包括:
S401、获取电子设备所处的用户场景的场景号和场景号对应的第一CPU功耗调度信息。
参见图5,可选的,电子设备可以通过负载管理器将场景号和第一CPU功耗调度信息下发至芯片策略融合器。
场景号用于表征用户场景。场景号可以由数字、文字或符号等组成,本申请实施例对此不做任何限定。可选的,可以预先建立每个主场景与主场景编号的唯一对应关系,并建立每个子场景与子场景编号的唯一对应关系。主场景对应的编号和子场景对应的编号组成最终的场景号。例如,主场景为视频场景,对应的主场景编号为4,子场景为视频播放场景,对应子场景编号为1,则用户场景对应的场景号可以为4-1。又例如,默认场景对应的场景号可以为-1。
第一CPU功耗调度信息用于表征对CPU功耗相关的参数的调整方式。第一CPU功耗调度信息中可以包括参数和参数的目标值。可选的,第一CPU功耗调度信息中的参数可以包括PL1、PL2、EPP和EPO开关(switch)状态等,对应的,参数的目标值可以包括PL1的目标值、PL2的目标值、EPP的目标值和表征EPO开关状态的信息等。其中,EPO开关用于在CPU的芯片平台类型为Inter的情况下选择是否打开DTT调节功能,即是否根据EPO Gear,通过DTT技术调节CPU的功耗。EPO的开关状态可以包括打开状态和关状态。当EPO开关处于打开状态,即打开DTT调节功能,由CPU根据EPP目标值对应的EPO Gear(可根据EPP目标值计算得到),通过DTT技术调节EPP。当EPO开关处于关闭状态,即关闭DTT调节功能,CPU不进行DTT调节,系统可以直接根据EPP目标值调节EPP,这种情况下可以直接将EPP目标值下发至CPU。在一个具体的实施例中,可以通过EPO开关状态的返回值确定EPO开关是否打开,例如,返回值为1表示EPO开关处于打开状态,返回值为0表示EPO开关处于关闭状态。
不同的场景号和不同的系统负载等级对应的第一CPU功耗调度信息不同。在一个实施例中,场景号、系统负载等级和第一CPU功耗调度信息的对应关系可以如表1所示。
表1
需要说明的是,表1中用户场景、第一CPU功耗调度信息中的参数和参数对应的目标值等仅为示例,并不代表实际情况,也不构成对本申请的任何限定。实际上,用户场景可以包括比表1更多或更少的类型,例如,在一些实施例中,用户场景还可以包括空闲场景、性能测评场景等。第一CPU功耗调度信息中也可以包括比表1更多的参数。
S402、确定电子设备的CPU的芯片平台类型;若CPU的芯片平台类型为(也称为第一类型),则执行步骤S403和S404;若CPU的芯片平台类型为AMD(也称为第二类型),则执行步骤S405至S407。
参见图5,可选的,芯片策略融合器可以通过从OS2SOC驱动节点中的VID接口获取VID返回值,根据VID返回值来确定CPU的芯片平台类型。例如,VID返回值为0x8086,表示CPU的芯片平台类型为VID接口的返回值为0x1022,表示CPU的芯片平台类型为AMD。
S403、对第一CPU功耗调度信息进行转译,输出策略号。
策略号用于标识CPU实现功耗调整的策略。当然,也可以通过其他的策略标识,例如策略名称等,对CPU实现功耗调整的策略进行标识,只要能够区分不同的策略,能被平台识别即可。
可选的,策略号可以包括DTT策略号和EPO策略号。
DTT策略号也称为DTT策略ID,用于标识DTT策略。DTT策略号对应的DTT策略用于调整CPU的PL1和PL2的值。
EPO策略号,也称为EPO策略ID,用于标识EPO策略。EPO策略号对应的EPO策略用于调整CPU的EPP。
可以理解地,DTT策略号与CPU的功耗参数可以存在映射关系,EPO策略号与CPU的EPO Gear可以存在映射关系。可选的,可以预先在BIOS中构建一张策略表,用于存储DTT策略号或EPO策略号与CPU的PL1、PL2和EPO等参数的值的对应关系。在一个实施例中,策略表可以如表2所示。可以理解,DTT策略号和EPO策略号可以通过编号区分。例如,表2中,策略号0至21、40、41表示DTT策略号,策略号50至55表示EPO策略号。另外,参见表2中的备注,DTT策略号中,0、41和42对应的用户场景为默认场景,这三个策略号也称为默认策略号,DTT策略号中除默认策略号之外的其他策略号为非默认场景对应的策略号,也称为非默认策略号。表2中,默认策略号与CPU的PL1、PL2参数的值以及系统负载等级的对应关系也称为第一对应关系。非默认策略号与CPU的PL1、PL2参数的值的对应关系也称为第二对应关系。EPO策略号与EPO Gear值的对应关系也称为第三对应关系。其中,第三对应关系中,EPO Gear的值能够表征EPO开关的状态。在一个具体的实施例中,EPO Gear的值为0,表示EPO开关处于关闭状态,EPO Gear的值为1、2、3、4或5,表示EPO开关处于打开状态。
表2
可以理解,表2仅为一种示例,并不构成对策略表的限定。实际应用中,策略表中的内容可以包括比表2更多或更少的内容,且各个策略号及对应的参数值可以与表2中不同。
可选的,在CPU的芯片平台类型为的情况下,芯片策略融合器可以基于场景号和第一CPU功耗调度信息确定对应的策略号,具体方法在后续实施例中进行详细阐述。
S404、基于策略号调整CPU功耗。
可选的,参见图5,在CPU的芯片平台类型为的情况下,芯片策略融合器可以将策略号下发至调度执行器,由调度执行器通过WMI将策略号下发至BIOS。BIOS将策略号下发至CPU,由CPU基于策略号运行。
S405、根据场景号对第一CPU功耗调度信息进行转译,得到第二CPU功耗调度信息。
具体的,AMD平台中定义的CPU的功耗参数与第一CPU功耗调度信息中的参数的类型不同。例如,AMD平台中定义的表征短时睿频功耗的参数为持续功率限制(sustainedpower limit,SPL),表征长时睿频功耗的参数为SPPT。也就是说,AMD平台中定义的参数中与第一CPU功耗调度信息中PL1对应的参数为SPL,与PL2对应的参数为慢整包功率跟踪限制(slow PPT limit,SPPT),其中,PPT是整包功率跟踪package power tracking的缩写。
另外,不同的用户场景下,AMD平台中定义的需要调整的CPU功耗参数不同。因而,在CPU的芯片平台类型为AMD的情况下,芯片策略融合器可以根据场景号确定AMD平台中定义的需要调整的CPU功耗参数,并根据AMD平台中定义的CPU的功耗参数与第一CPU功耗调度信息中的参数的对应关系,将第一CPU功耗调度信息中的目标值赋值至AMD平台中对应的功耗参数,得到第二CPU功耗调度信息。例如,根据某一场景号,确定需要调整的CPU功耗参数包括SPL和SPPT,则芯片策略融合器将PL1目标值赋值至SPL,将PL2目标值赋值至SPPT,得到第二CPU功耗调度信息。具体的,参见后述实施例。
其中,第二CPU功耗调度信息中可以不包括表征能效比的参数。也就是说,第一CPU功耗调度信息中的EPP无需转译,可以直接下发至CPU,具体参见步骤S407。
S406、基于第二CPU功耗调度信息调整CPU功耗。
可选的,参见图5,在CPU的芯片平台类型为AMD的情况下,芯片策略融合器可以将第二CPU功耗调度信息下发至调度执行器。调度执行器可以将第二CPU功耗调度信息通过WMI下发至BIOS。BIOS将第二CPU功耗调度信息下发至CPU,由CPU根据第二CPU功耗调度信息调整功耗参数。
S407、基于第一CPU功耗调度信息中的EPP目标值,调整CPU的EPP。
参见图5,对于第一CPU功耗调度信息中的EPP目标值,芯片策略融合器可以将EPP目标值下发至调度执行器,调度执行器调用电源管理器中的相应接口,通过电源管理器将EPP目标值下发至CPU。CPU根据EPP目标值调整CPU的EPP。其中,电源管理器也称为处理器电源模块(processor power module,PPM)。
本实施例提供的方法,通过获取用户场景的场景号和场景号对应第一CPU功耗调度信息,并确定电子设备的CPU的芯片平台类型,根据CPU的芯片平台类型的不同,对第一CPU功耗调度信息中参数进行不同的转译,以适配不同类型的CPU芯片平台,从而使得这种根据用户场景进行动态资源调度的方法能够适用不同的电子设备,提高该方法的兼容性,进而能够提升不同类型的电子设备的性能和续航能力。
下面结合附图,对CPU的芯片平台类型分别为和AMD情况下,第一CPU功耗调度信息的转译方法进行具体的说明。
1)CPU的芯片平台类型为
在CPU的芯片平台类型为的情况下,芯片策略融合器根据预先建立的策略表,确定与当前的第一CPU功耗调度信息对应的目标策略号。
可以理解,建立策略表以及根据策略表确定目标策略号的方式有多种。在一种可能的实现方式中,在BIOS中建立策略表时,可以根据各个场景号对应的第一CPU功耗调度信息,建立策略号与第一CPU功耗调度信息的映射关系,也即,策略号与第一CPU功耗调度信息一一对应。这种情况下,根据映射关系,能够直接确定出当前的第一CPU功耗调度信息对应的目标策略号。若采用这种方式,策略表需要随着用户场景和第一CPU功耗调度信息的增加进行扩充,每增加一组第一CPU功耗调度信息,就需要对BIOS中的策略表进行一次扩充,操作不便。而且,BIOS中策略表的容量有限,每个用户场景根据系统负载等级的不同会有多组第一CPU功耗调度信息(可参见表1),因而,随着可识别的用户场景的不断增加,策略表后续将无法满足扩充需求。
本实施例中提供的信息处理方法,根据第一CPU功耗调度信息,确定策略表中与PL1目标值最接近的PL1值对应的策略号,以及策略表中与EPO Gear最接近的EPO Gear值对应的策略号,从而确定目标策略号。这样,减少策略表扩充次数,能够节约BIOS容量,且能够保证策略表的相对固定,便于操作和维护。
本实施例提供的信息处理方法具体过程如下:
在一个实施例中,上述步骤S403、对第一CPU功耗调度信息进行转译,输出策略号,包括:
基于策略表,根据第一CPU功耗调度信息中的PL1目标值,确定目标DTT策略号;
根据第一CPU功耗调度信息中的EPO开关的状态和EPP目标值,确定目标EPO策略号。
具体的,芯片策略融合器可以确定策略表中与第一CPU功耗调度信息中的PL1目标值最接近的PL1值,将策略表中该最接近的PL1值对应的策略号确定为目标DTT策略号。
该实现方式中,考虑到极少数场景CPU才会运行在短时睿频状态下,因而在CPU的芯片平台类型为的情况下,忽略PL2,仅通过PL1目标值确定目标DTT策略号,从而简化算法,提高信息转译效率。
另外,在EPO开关为关闭状态的情况下,直接将预设EPO策略号确定为目标EPO策略号,预设EPO策略号用于指示关闭DTT调节功能。在EPO开关为打开状态的情况下,芯片策略融合器可以根据EPP目标值能够确定出对应的EPO Gear目标值,进而确定策略表中与EPOGear目标值最接近的EPO Gear值,将策略表中该最接近的EPO Gear值对应的策略号确定为目标EPO策略号。
示例性的,图6为本申请实施例提供的一例确定DTT策略号和EPO策略号的流程示意图。本实施例中,执行主体可以为图3中所示的芯片策略融合器,不再赘述。如图6所示,在策略表为表2的情况下,可以按照以下方法确定目标DTT策略号和目标EPO策略号:
S601、确定第一CPU功耗调度信息是否为默认策略信息;若第一CPU功耗调度策略为默认策略信息,则执行步骤S602;若第一CPU功耗调度信息不为默认策略信息,则执行步骤S603。
默认策略信息是指默认场景对应的CPU功耗调度信息。
可选的,在一种实现方式中,可以根据场景号判断第一CPU功耗调度信息是否为默认策略信息,例如,若预先设定的默认场景的场景号为-1,则可以判断当前场景号是否为-1,若是,则表明第一CPU功耗调度信息为默认策略信息,否则表明第一CPU功耗调度信息不为默认策略信息。
S602、根据第一CPU功耗调度信息对应的系统负载情况确定目标DTT策略号。
如上所述,表2所示的策略表中包括三种系统负载等级的默认策略对应的策略号和功耗参数。系统负载等级为“重”的默认策略对应的策略号为0,系统负载等级为“轻”的默认策略对应的策略号为40,系统负载等级为“中”的默认策略对应的策略号为41。
可选的,可以根据第一CPU功耗调度信息确定对应的系统负载等级,在策略表中确定该系统负载等级的默认策略对应的策略号,得到目标DTT策略号。具体的,若第一CPU功耗调度信息对应的系统负载等级为“重”,则确定目标DTT策略号为0;若第一CPU功耗调度信息对应的系统负载等级为“轻”,则确定目标DTT策略号为40;若第一CPU功耗调度信息对应的系统负载等级为“中”,则确定目标DTT策略号为41。
可选的,此处的系统负载等级可以由芯片策略融合器向系统负载探针订阅系统负载,根据系统负载确定系统负载等级,也可以由负载管控器将系统负载等级随场景号一同下发至芯片策略融合器,本申请实施例对此不做限定。
另外一种可能的实现方式中,系统也可以预先指定一个系统负载等级的默认策略(如负载等级为“重”的默认策略)对应的DTT策略号作为所有默认场景对应的策略号。也就是说,只要确定场景号为-1,确定第一CPU功耗调度信息为默认策略信息,就将指定的DTT策略号(例如0)确定为目标DTT策略号,而无需考虑系统负载情况。这样做的原因是,用户场景为默认场景时,多数情况下,系统负载均为重负载,因而,直接指定系统负载等级为“重”的默认策略对应的策略号能够覆盖大部分的情况,且能够简化信息转译过程,提高信息转译效率。
可选的,在另一种实现方式中,在确定第一CPU功耗调度信息是否为默认策略信息时,也可以直接确定第一CPU功耗调度信息中的PL1目标值来确定,且若确定第一CPU功耗调度信息为默认策略信息,可以直接确定出对应的策略号。
也就是说,上述步骤S601和步骤S602也可以通过下述方式替换:
确定第一CPU功耗调度信息中的PL1目标值是否等于系统负载等级为“重”的默认策略对应的PL1的值(35);若是,则将系统负载等级为“重”的默认策略对应的策略号(0)确定为目标DTT策略号;若否,则确定第一CPU功耗调度信息中的PL1目标值是否等于系统负载等级为“轻”的默认策略对应的PL1的值(12),若是,则将系统负载等级为“轻”的默认策略对应的策略号(40)确定为目标DTT策略号;若否,则确定第一CPU功耗调度信息中的PL1目标值是否等于系统负载等级为“中”的默认策略对应的PL1的值(20),若是,则将系统负载等级为“中”的默认策略对应的策略号(41)确定为目标DTT策略号。
S603、根据第一CPU功耗调度信息中的PL1目标值,通过计算公式(1)确定目标DTT策略号。
也就是说,若步骤S602中判断的结果为第一CPU功耗调度信息不为默认策略信息,则通过下述公式(1)确定目标DTT策略号。
其中,表示向下取整,step表示策略表中的PL1步进值(即相邻两个DTT策略号对应的PL1值的差值的绝对值),在PL1目标值小于45的情况下,step=2,在PL1目标值大于或等于45的情况下,step=5。
offset1表示DTT补偿值,在PL1目标值小于45的情况下,offset1=-1,在PL1目标值大于或等于45的情况下,offset1=9。
举例:假设第一CPU功耗调度信息中,PL1目标值为8,则step=2,offset1=-1,
该实现方式中,通过公式(1)能够快速的确定出策略表中与第一CPU功耗调度信息中的PL1目标值最接近的PL1值对应的策略号,从而能够快速的确定出目标DTT策略号,无需遍历查询策略表,提高信息转译效率。
S604、判断EPO开关的状态是否为打开状态;若是(即EPO开关的状态为打开状态),则执行步骤S605;若否(即EPO开关的状态为关闭状态),则执行步骤S606。
可选的,可以确定EPO开关参数的返回值是否为1,若返回值为1,则确定EPO开关为打开状态;若返回值为0,则确定EPO开关为关闭状态。
S605、根据第一CPU功耗调度信息中的EPP目标值,通过公式(2)确定EPO策略号。
其中,表示向下取整,255为EPP的最大取值,offset2表示EPO补偿值,offset2可以为50。
举例:假设第一CPU功耗调度信息中,EPO开关状态为打开,EPP目标值为127,
该实现方式中,通过公式(2)能够快速的确定出策略表中与EPO Gear目标值最接近的EPO Gear值,从而能够快速的确定出目标EPO策略号,无需遍历查询策略表,提高信息转译效率。
S606、将预设EPO策略号(50)确定为目标EPO策略号,预设EPO策略号用于指示关闭DTT调节功能。
具体的,表2所示的策略表中,EPO开关的状态为关闭状态的情况下,对应的EPO策略号为50,直接将50确定为目标EPO策略号。
而且,在EPO开关的状态是否为关闭状态的情况下,还可以执行步骤S404、基于策略号调整CPU功耗,可以包括下述过程:
1)芯片策略融合器将策略号下发至调度执行器,由调度执行器通过WMI将策略号下发至BIOS,BIOS将策略号下发至CPU,由CPU基于策略号运行,调整CPU的PL1和PL2;
2)芯片策略融合器将EPP目标值下发至调度执行器,调度执行器调用电源管理器中的相应接口,通过电源管理器将EPP目标值下发至CPU,CPU根据EPP目标值调整CPU的EPP。
其中,2)的具体过程可以参见步骤S407,不再赘述。
除此之外,在一种可能的实现方式中,还可以预先将表2中的某一策略号指定为备用策略号。当系统或算法等出现故障,无法按照上述算法获取策略号的情况下,默认将备用策略号下发至BIOS,以保证资源调度的正常进行,提高系统稳定性和可靠性。备用策略号例如可以为表2中的策略号0,且备用策略号对应的功率参数中还包括EPO Gear的值。策略融合器将备用策略号下发至BIOS,BIOS将备用策略号下发至CPU,CPU可直接根据应备用策略号调整CPU的PL1、PL2和EPP等参数。
2)CPU的芯片平台类型为AMD
示例性的,图7为本申请实施例提供的一例将第一CPU功耗调度信息转译为第二CPU功耗调度信息的流程示意图。如图7所示,在一个实施例中,上述步骤S405、根据场景号对第一CPU功耗调度信息进行转译,得到第二CPU功耗调度信息,包括:
S701、根据场景号确定第二CPU功耗调度信息的数据类型。
数据类型,也称为WMI策略数据类型,即WMI policy decision date type。数据类型用于表征第二调度策略信息对资源调度的类型(或称为资源调度的方向),即对哪一类型的资源进行调度。
数据类型可由BIOS预先定义。可选的,数据类型可以包括以下几种:功率限制(power limits)参数、系统温度跟踪(system temperature tracking,STT)调优参数、BIOS风扇转速&声音(cool quiet on lap)事件通知、BIOS自动模式传输(auto modetransition)事件通知(或称为系统中断事件通知)、查询OS滑块事件(slider positionevent)、动态电源滑块通知(dynamic power slider notification)事件……系统保留。其中,功率限制参数用于表征资源调度的类型为限制CPU功率,系统温度跟踪调优参数用于表征资源调度的类型为跟踪和调整系统温度。其他的数据类型不做赘述。
可选的,不同的用户场景,对资源的调度方向不同,需要芯片策略融合器输出的第二调度策略信息的数据类型不同。因此,可以根据场景号确定数据类型。在一个具体的实施例中,可以预先建立场景号和数据类型的映射关系,根据该映射关系确定当前场景号对应的数据类型。例如,场景号2-1(主场景为办公场景,子场景为文档编辑场景)对应的数据类型为功率限制参数。需要说明的是,一个场景号可以对应一种数据类型,也可以对应多种数据类型。例如,某一场景号对应的数据类型可以既包括功率限制参数,又包括STT调优参数。
S702、确定数据类型中包括的目标参数。
每一种数据类型可以包括AMD芯片平台中定义的一种或多种参数,换句话说,每一种数据类型的第二功耗调度信息中可以包括AMD芯片平台中定义的一种或多种参数。例如,数据类型STT调优参数包括参数:STT-SkinTempLimit-APU、STT-SkinTempLimit-HS2、STT-M1、STT-M2、STT-M3、STT-M4、STT-M5、STT-M6等等。又例如,数据类型功率限制参数包括参数:FPPT、SPPT、SPPT-APUOnly、SPL和STTMinLimint等。其中,APU为加速处理器AcceleratedProcessing Units的缩写,FPPT为快整包功率跟踪限制fast PPT limit的缩写。
可选的,芯片策略融合器可以预先建立各个数据类型与所包括的参数的映射关系,根据该映射关系确定当前第二CPU功耗调度信息的数据类型中所包括的参数,得到目标参数。
S703、获取目标参数与第一CPU功耗调度信息中所包括的参数的对应关系。
第一调度策略信息中所包括的参数也称为初始参数。如上实施例所述,第一CPU功耗调度信息中所包括的初始参数可以包括PL1、PL2、EPP和开关状态等。
可以理解,AMD芯片平台中定义的参数与第一CPU功耗调度信息的参数可以存在对应关系。因而,可以获取目标参数与第一CPU功耗调度信息中所包括的初始参数的对应关系(下称为第四对应关系)。
需要说明的是,根据第一CPU功耗调度信息中所包括的初始参数的不同,第四对应关系中可以包括所有目标参数与部分或全部初始参数的对应关系,也可以仅包括目标参数中的部分参数与初始参数中的部分或全部的对应关系。
具体的,一种可能的实现方式中,第一CPU功耗调度信息中可以包括所有目标参数对应的初始参数及目标值。对于一些不存在实际对应值的初始参数,可以令该初始参数的目标值0或为空,或者为其他预设值。即,无论是否存在实际对应值,初始参数均包括在第一CPU功耗调度信息中。当然,第一CPU功耗调度信息中还可以包括除初始参数之外的其他参数。采用这种实现方式时,第四对应关系中可以包括所有目标参数与部分或全部初始参数的对应关系。例如,目标参数5个,初始参数中存在实际对应值的参数包括2个,则,第一CPU功耗调度信息中可以包括5个目标参数对应的5个初始参数,对于不存在实际对应值的3个初始参数,令其目标值为0或为空。如此,第四对应关系中包括5个目标参数与5个初始参数的对应关系。
另一种可能的实现方式中,第一CPU功耗调度信息中也可以只包括目标参数中的部分参数对应的初始参数及目标值,对于不存在实际对应值的初始参数不包括在第一CPU功耗调度信息中。采用这种实现方式时,第四对应关系中包括目标参数中的部分参数与初始参数中的部分或全部的对应关系。继续上述例子,例如,目标参数5个,初始参数中存在实际对应值的参数包括2个,则第一CPU功耗调度信息中仅可以包括存在实际对应值的2个初始参数,不包括不存在实际对应值的3个参数。如此,第四对应关系中包括5个目标参数中的2个参数与2个初始参数的对应关系。
总而言之,第四对应关系中包括目标参数中的至少一个参数与初始参数中的至少一个参数的对应关系。本实施例中,目标参数包括:FPPT、SPPT、SPPT-APUOnly、SPL和STTMinLimint等,而初始参数包括PL1、PL2、EPP和开关状态等,第四对应关系包括目标参数中SPL、SPPT和初始参数中的PL1、PL2的对应关系,其中,SPL对应PL1,SPPT对应PL2。
S704、根据该对应关系以及第一CPU功耗调度信息,对目标参数进行赋值,生成第二CPU功耗调度信息。
具体的,根据该对应关系,将第一CPU功耗调度信息的参数的值(即目标值)赋值至对应的目标参数。具体的,在第四对应关系中包括所有目标参数与部分或全部初始参数的对应关系的情况下,可以按照该对应关系,对所有目标参数进行一一赋值。在第四对应关系中仅包括目标参数中的部分参数与初始参数中的部分或全部的对应关系的情况下,在赋值的过程中,对于第四关系中不存在对应的初始参数的目标参数,可以对该目标参数赋0值、赋空值或赋其他预设的值。本实施例中,将PL1目标值赋值至SPL,将PL2目标值赋值至SPPT,对FPPT、SPPT-APUOnly和STTMinLimint赋0值或赋空值,得到第二CPU功耗调度信息。
需要说明的是,在场景号对应的数据类型为多个时,可以按照数据类型分多次赋值,每次生成一个第二CPU功耗调度信息,并将每次生成的第二CPU功耗调度信息发送至BIOS。也就是说,在场景号对应的数据类型为多个时,生成多个第二CPU功耗调度信息,多个第二CPU功耗调度信息分多次发送至BIOS。例如,在某一场景号对应的数据类型既包括功率限制参数,又包括STT调优参数,则可以先根据第一CPU功耗调度信息对功率限制参数所对应的参数进行赋值,生成第二CPU功耗调度信息A,将第二CPU功耗调度信息A发送至BIOS。之后,可以根据第一CPU功耗调度信息对STT调优参数对应的参数进行赋值,生成第二CPU功耗调度信息B,将第二CPU功耗调度信息B发送至BIOS。
该实现方式中,在场景号对应的数据类型为多个时,生成多个第二CPU功耗调度信息,多个第二CPU功耗调度信息分多次发送至BIOS,这样能够防止信息转译过程中数据混乱,提高信息转译的准确性。
以上实施例对CPU的芯片平台类型为AMD的情况下对第一CPU功耗调度信息进行转译,输出第二CPU功耗调度信息的过程进行了说明。除了生成第二CPU功耗调度信息之外,在一些实施例中,芯片策略融合器还可以根据场景信息生成第二CPU功耗调度信息的数据等级,并将数据等级下发至BIOS,以便于BIOS数据处理时使用。具体说明如下:
芯片策略融合器输出第二CPU功耗调度信息,并将第二CPU功耗调度信息发送至调度执行器,由调度执行器通过WMI将第二CPU功耗调度信息下发至BIOS。BIOS在接收到第二CPU功耗调度信息之后,可以有多种处理方法,例如:
①BIOS可以直接将第二CPU功耗调度信息下发至CPU,由CPU根据第二CPU功耗调度信息调整功耗,如上述实施例所述。
②BIOS也可以将第二CPU功耗调度信息与其他的功耗调度信息对比或融合,决策出最终的CPU功耗调度信息,并将最终的CPU功耗调度信息发送至CPU,由CPU执行最终的CPU功耗调度信息,调整功耗。
具体的,在调度执行器通过WMI将第二CPU功耗调度信息下发至BIOS的同时,嵌入式控制器(Embedded Controller,EC)也可以通过系统控制中断(system controlinterrupt,SCI)通道下发第三CPU功耗调度信息至BIOS。BIOS在接收到第二CPU功耗调度信息和第三CPU功耗调度信息后,可以按照预设决策规则,决策出最终的CPU功耗调度信息。
上述第②种情况下,在图7所述实施例的基础上,本申请实施例提供的信息处理方法还可以包括:
芯片策略融合器根据场景号确定第二CPU功耗调度信息的数据等级;
芯片策略融合器将数据等级发送至BIOS。
数据等级,也称为WMI策略数据等级,即WMI policy decision date level,用于表征根据第二调度策略信息和第三调度策略信息决策最终调度策略信息最终CPU功耗调度信息过程中,通过WMI下发的第二调度策略信息的重要等级或优先等级。本实施例中,第二CPU功耗调度信息的数据等级用于表征根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中,通过WMI下发的第二CPU功耗调度信息的重要等级或优先等级。可选的,数据等级可以包括低等级(low level)、正常等级(normal level)和高等级(high level)。
低等级用于表征根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中,第二CPU功耗调度信息的重要等级或优先等级最低。在一个具体的实施例中,数据等级为低等级时,根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中可以忽略第二CPU功耗调度信息,仅根据第三CPU功耗调度信息决策出最终的CPU功耗调度信息。
正常等级用于表征根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中,第二CPU功耗调度信息的重要等级或优先等级为中等,与第三CPU功耗调度信息的重要程度相当,将第二CPU功耗调度信息和第三CPU功耗调度信息比较或融合得到最终的CPU功耗调度信息。
高等级用于表征根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中,第二CPU功耗调度信息的重要等级或优先等级最高。在一个具体的实施例中,数据等级为高等级时,根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中可以忽略第三CPU功耗调度信息,仅根据第二CPU功耗调度信息决策出最终的CPU功耗调度信息。
可选的,数据等级可以根据场景号确定。在一个具体的实施例中,可以预先建立场景号和数据等级的映射关系,根据该映射关系确定当前场景号对应的数据等级。例如,场景号5-1(主场景为性能测评场景,子场景为测评主场景)对应的数据等级为高等级。又例如,场景号-1(默认场景)对应的数据等级为低等级。具体的,由于默认场景表明当前场景为几种预设场景之外的其他场景,相当于无法获知当前的具体场景,因而可以将默认场景对应的数据等级设置为低等级,即根据第二CPU功耗调度信息和第三CPU功耗调度信息决策最终CPU功耗调度信息过程中可以忽略第二CPU功耗调度信息,由第三CPU功耗调度信息决定最终CPU功耗调度信息。
本实施例中,除第二CPU功耗调度信息之外,还根据场景号生成第二CPU功耗调度信息的数据等级,并将数据等级下发至BIOS,以便于BIOS根据数据等级、第二CPU功耗调度信息和第三CPU功耗调度信息决策生成最终CPU功耗调度信息。如此,使得最终CPU功耗调度的决策不仅参考了多种CPU功耗调度信息,而且充分考虑了不同场景下各种CPU调度信息对决策的重要程度,提高了最终CPU功耗调度的准确性和可靠性。
上文详细介绍了本申请实施例提供的信息处理方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述信息处理方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本申请实施例还提供一种芯片系统,如图8所示,该芯片系统包括至少一个处理器801和至少一个接口电路802。处理器801和接口电路802可通过线路互联。例如,接口电路802可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路802可用于向其它装置(例如处理器801)发送信号。示例性的,接口电路802可读取存储器中存储的指令,并将该指令发送给处理器801。当所述指令被处理器801执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的信息处理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的信息处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的信息处理方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种信息处理方法,所述方法由电子设备执行,其特征在于,所述方法包括:
获取当前场景信息和所述当前场景信息对应的第一调度策略信息;所述当前场景信息表征所述电子设备当前处理的业务所对应的用户场景;所述第一调度策略信息中包括长时睿频功耗PL1目标值、能效比EPP目标值和能效性能优化EPO开关的状态,EPO开关用于在CPU的芯片平台类型为第一类型的情况下,选择是否打开动态调谐技术DTT功能;
若所述电子设备的中央处理器CPU的芯片平台类型为第一类型,则获取所述第一调度策略信息对应的当前系统负载,根据所述PL1目标值或所述当前系统负载确定目标动态调谐技术DTT策略标识,根据所述EPO开关的状态确定目标EPO策略标识;根据目标DTT策略标识通过所述第一类型的CPU调整CPU的功率,并根据所述目标EPO策略标识和所述EPP目标值,通过所述第一类型的CPU调整CPU的能效比;
若所述电子设备的CPU的芯片平台类型为第二类型,则根据所述当前场景信息和所述第一调度策略信息,确定第二调度策略信息,根据所述第二调度策略信息通过所述第二类型的CPU对所述电子设备进行资源调度;
所述根据所述PL1目标值或所述当前系统负载确定目标动态调谐技术DTT策略标识,包括:若所述第一调度策略信息为默认场景对应的策略信息,则根据第一对应关系,确定与所述当前系统负载对应的所述目标DTT策略标识;所述第一对应关系中包括至少一个默认策略标识与至少一个系统负载的对应关系,所述至少一个默认策略标识中包括所述目标DTT策略标识;所述默认场景是指除预设场景外的其他用户场景,所述默认策略标识是指所述默认场景对应的DTT策略标识。
2.根据权利要求1所述的方法,其特征在于,所述根据所述PL1目标值或所述当前系统负载确定目标动态调谐技术DTT策略标识,包括:
若所述第一调度策略信息不为所述默认场景对应的策略信息,则根据第二对应关系,确定与所述PL1目标值最接近的PL1值对应的所述目标DTT策略标识;所述第二对应关系中包括多个非默认策略标识与多个PL1值的对应关系,所述多个非默认策略标识中包括所述目标DTT策略标识;所述非默认策略标识是指非默认场景对应的DTT策略标识。
3.根据权利要求2所述的方法,其特征在于,所述非默认策略标识为DTT策略号,所述非默认策略标识中包括至少一组第一DTT策略号,所述第一DTT策略号中包括多个DTT策略号,且所述多个DTT策略号按照从小到大的顺序时,相邻两个DTT策略号对应的PL1步进值相等;所述根据第二对应关系,确定与所述PL1目标值最接近的PL1值对应的所述目标DTT策略标识,包括:
根据所述PL1目标值确定目标PL1步进值和目标补偿值;
根据所述PL1目标值、所述目标PL1步进值和所述目标补偿值确定所述目标DTT策略标识。
4.根据权利要求3所述的方法,其特征在于,所述根据所述PL1目标值、所述目标PL1步进值和所述目标补偿值确定所述目标DTT策略标识,包括:
通过公式(1)确定所述目标DTT策略标识:
其中,表示向下取整,step表示所述目标PL1步进值,offset1表示所述目标补偿值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述当前场景信息确定所述第一调度策略信息是否为所述默认场景对应的策略信息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述EPO开关的状态确定目标EPO策略标识,包括:
若所述EPO开关的状态为关闭状态,则将预设EPO策略标识确定为所述目标EPO策略标识;
所述根据所述目标EPO策略标识和所述EPP目标值,通过所述第一类型的CPU调整CPU的能效比,包括:
根据所述预设EPO策略标识,通过所述第一类型的CPU调整CPU的能效比为所述EPP目标值。
7.根据权利要求1所述的方法,其特征在于,所述根据所述EPO开关的状态确定目标EPO策略标识,包括:
若所述EPO开关的状态为打开状态,则根据所述EPP目标值确定EPO档位目标值,并根据第三对应关系,确定与所述EPO档位目标值最接近的EPO档位值对应的所述目标EPO策略标识;所述第三对应关系中包括多个EPO策略标识与多个EPO档位值的对应关系,所述多个EPO策略标识中包括所述目标EPO策略标识;
所述根据所述目标EPO策略标识和所述EPP目标值,通过所述第一类型的CPU调整CPU的能效比,包括:
根据所述目标EPO策略标识对应的EPO档位值,基于DTT,通过所述第一类型的CPU调整CPU的能效比。
8.根据权利要求7所述的方法,其特征在于,所述多个EPO策略标识为多个EPO策略号,且所述多个EPO策略号按照从小到大的顺序时,相邻两个EPO策略号对应的EPO档位步进值相等,所述根据第三对应关系,确定与所述EPO档位目标值最接近的EPO档位值对应的所述目标EPO策略标识,包括:
根据公式(2)确定所述目标EPO策略标识:
其中,表示向下取整,EPP目标值/255为所述EPO档位目标值,offset2表示所述EPO档位步进值。
9.根据权利要求1所述的方法,其特征在于,所述根据所述当前场景信息和所述第一调度策略信息,确定第二调度策略信息,包括:
根据所述当前场景信息确定所述第二调度策略信息的数据类型;
获取所述数据类型中包括的目标参数;
获取所述第一调度策略信息中的初始参数;
根据第四对应关系和所述初始参数的值,对所述目标参数赋值,得到所述第二调度策略信息;所述第四对应关系中包括所述目标参数中的至少一个参数和所述初始参数中的至少一个参数的对应关系。
10.根据权利要求9所述的方法,其特征在于,所述初始参数包括PL1和短时睿频功耗PL2,所述目标参数包括持续功率限制SPL和慢整包功率跟踪限制SPPT,所述第四对应关系包括所述SPL和所述PL1的对应关系,以及所述SPPT与所述PL2的对应关系;
所述根据第四对应关系和所述初始参数的值,对所述目标参数赋值,得到所述第二调度策略信息,包括:
将所述PL1的值赋值至所述SPL,将所述PL2的值赋值至所述SPPT,得到所述第二调度策略信息。
11.根据权利要求10所述的方法,其特征在于,所述第一调度策略信息中还包括EPP目标值,所述根据所述第二调度策略信息通过所述第二类型的CPU对所述电子设备进行资源调度,包括:
根据所述SPL的值和所述SPPT的值,通过所述第二类型的CPU调整CPU的功率;
根据所述EPP目标值,通过所述第二类型的CPU调整CPU的能效比。
12.根据权利要求9所述的方法,其特征在于,所述根据所述第二调度策略信息通过所述第二类型的CPU对所述电子设备进行资源调度,包括:
获取第三调度策略信息,所述第三调度策略信息为所述电子设备的嵌入式控制器生成的调度策略信息;
根据所述第二调度策略信息和所述第三调度策略信息,确定最终调度策略信息;
在所述电子设备的CPU的芯片平台类型为所述第二类型的情况下,所述方法还包括:
根据所述当前场景信息获取所述第二调度策略信息的数据等级;所述数据等级表征根据所述第二调度策略信息和所述第三调度策略信息确定所述最终调度策略信息的过程中,所述第二调度策略信息的重要程度。
13.根据权利要求1至12中任一项所述的方法,其特征在于,所述方法还包括:
获取所述电子设备的CPU芯片的供应商标识;
根据所述供应商标识确定所述电子设备的CPU的芯片平台类型。
14.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至13中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至13中任一项所述的方法。
CN202210745011.7A 2022-05-16 2022-06-28 信息处理方法和电子设备 Active CN117112191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/090786 WO2023221752A1 (zh) 2022-05-16 2023-04-26 信息处理方法和电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210530863 2022-05-16
CN2022105308634 2022-05-16

Publications (2)

Publication Number Publication Date
CN117112191A CN117112191A (zh) 2023-11-24
CN117112191B true CN117112191B (zh) 2024-08-09

Family

ID=88804415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210745011.7A Active CN117112191B (zh) 2022-05-16 2022-06-28 信息处理方法和电子设备

Country Status (2)

Country Link
CN (1) CN117112191B (zh)
WO (1) WO2023221752A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118445138A (zh) * 2023-12-29 2024-08-06 荣耀终端有限公司 一种温控调节方法、存储介质及电子设备
CN117806831B (zh) * 2024-02-23 2024-07-19 荣耀终端有限公司 参数配置方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443256A (zh) * 2022-04-07 2022-05-06 荣耀终端有限公司 资源调度方法及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073545B (zh) * 2011-02-28 2013-02-13 中国人民解放军国防科学技术大学 操作系统中防止用户界面卡屏的进程调度方法及装置
US20160077576A1 (en) * 2014-09-17 2016-03-17 Abhinav R. Karhu Technologies for collaborative hardware and software scenario-based power management
CN106095592B (zh) * 2016-05-31 2021-08-24 Oppo广东移动通信有限公司 一种前景应用程序场景同步方法及装置、系统
CN107861816B (zh) * 2017-10-31 2022-10-28 Oppo广东移动通信有限公司 资源配置方法及装置
CN110489228B (zh) * 2019-07-16 2022-05-17 华为技术有限公司 一种资源调度的方法和电子设备
CN111625337A (zh) * 2020-05-28 2020-09-04 浪潮电子信息产业股份有限公司 一种任务调度方法、装置、电子设备和可读存储介质
CN112378047A (zh) * 2020-09-14 2021-02-19 华北电力大学 面向多场景的可调负荷的资源聚合方法、系统、设备及存储介质
CN112948133A (zh) * 2021-04-08 2021-06-11 广东琴智科技研究院有限公司 一种资源调度管理方法、装置及云平台

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443256A (zh) * 2022-04-07 2022-05-06 荣耀终端有限公司 资源调度方法及电子设备

Also Published As

Publication number Publication date
WO2023221752A1 (zh) 2023-11-23
CN117112191A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN114443256B (zh) 资源调度方法及电子设备
CN117112191B (zh) 信息处理方法和电子设备
CN116028205B (zh) 资源调度方法和电子设备
CN116028210B (zh) 资源调度方法、电子设备及存储介质
CN116028207B (zh) 调度策略确定方法、装置、设备和存储介质
CN116027880B (zh) 资源调度方法和电子设备
CN117130454B (zh) 功耗调整方法和电子设备
CN116025580B (zh) 调节风扇转速的方法和电子设备
CN116027879B (zh) 确定参数的方法、电子设备和计算机可读存储介质
CN117130772A (zh) 资源调度方法、电子设备及存储介质
CN116069209A (zh) 焦点窗口处理方法、装置、设备和存储介质
CN116028211A (zh) 显卡调度方法、电子设备和计算机可读存储介质
CN116055443B (zh) 识别社交场景的方法、电子设备及计算机可读存储介质
CN116089055B (zh) 资源调度方法和装置
CN116028208B (zh) 系统负载确定方法、装置、设备和存储介质
CN116028005B (zh) 音频会话获取方法、装置、设备和存储介质
CN116028209B (zh) 资源调度方法、电子设备及存储介质
CN116027878B (zh) 功耗调整方法和电子设备
CN117270670B (zh) 一种功耗控制方法及电子设备
CN110658901B (zh) 一种分配方法及装置
US11316343B2 (en) Interactive user control of power utilization
CN116028314B (zh) 温度参数读取方法、电子设备和计算机可读存储介质
CN117950935A (zh) 一种性能调控方法及电子设备
CN116028206A (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
GR01 Patent grant
GR01 Patent grant