CN112559297A - 功耗计算方法、装置、存储介质、终端及服务器 - Google Patents

功耗计算方法、装置、存储介质、终端及服务器 Download PDF

Info

Publication number
CN112559297A
CN112559297A CN202011538965.8A CN202011538965A CN112559297A CN 112559297 A CN112559297 A CN 112559297A CN 202011538965 A CN202011538965 A CN 202011538965A CN 112559297 A CN112559297 A CN 112559297A
Authority
CN
China
Prior art keywords
power consumption
cpu
terminal
processing unit
central processing
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.)
Granted
Application number
CN202011538965.8A
Other languages
English (en)
Other versions
CN112559297B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011538965.8A priority Critical patent/CN112559297B/zh
Publication of CN112559297A publication Critical patent/CN112559297A/zh
Application granted granted Critical
Publication of CN112559297B publication Critical patent/CN112559297B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)

Abstract

本申请公开了一种功耗计算方法、装置、存储介质、终端及服务器。该功耗计算方法包括:获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,该参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;获取预设的功耗计算公式,该功耗计算公式以该参数的增量值作为自变量;根据该参数的增量值计算该功耗计算公式的应变量,并将该应变量确定为该中央处理器从该第一时刻到该第二时刻的功耗值。本申请可以提高计算中央处理器的功耗的准确度。

Description

功耗计算方法、装置、存储介质、终端及服务器
技术领域
本申请属于功耗技术领域,尤其涉及一种功耗计算方法、装置、存储介质、终端及服务器。
背景技术
中央处理器可以称之为终端的“大脑”。在运行时,终端的中央处理器每时每刻都在进行着各种各样的运算。因此,中央处理器的功耗也比较大,尤其是目前终端的性能要求越来越高,中央处理器的功耗成为用户和研发人员的关注对象。然而,相关技术中对中央处理器的功耗进行计算的准确度较差。
发明内容
本申请实施例提供一种功耗计算方法、装置、存储介质、终端及服务器,可以提高计算中央处理器的功耗的准确度。
第一方面,本申请实施例提供一种功耗计算方法,包括:
获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
第二方面,本申请实施例提供一种功耗计算装置,包括:
第一获取模块,用于获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
第二获取模块,用于获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
计算模块,用于根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的方法。
第四方面,本申请实施例还提供一种终端,包括存储器,中央处理器,所述中央处理器通过调用所述存储器中存储的计算机程序,用于执行本申请提供的功耗计算方法中的流程。
第五方面,本申请实施例提供一种服务器,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请提供的功耗计算方法中的流程。
本申请实施例中,终端或服务器可以获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,该参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个。之后,终端或服务器可以获取预设的功耗计算公式,该预设的功耗计算公式以参数的增量值作为自变量。之后,终端或服务器可以根据上述参数的增量值计算该功耗计算公式的应变量,并将该应变量确定为终端的中央处理器从第一时刻到第二时刻的功耗值。由于性能监测单元监测的指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这些参数既能反映出中央处理器的静态表现(如空闲状态的功耗表现),又能反映出中央处理器的动态表现(如负载状态的功耗表现),因此利用这些参数来计算中央处理器的功耗值的准确度更高。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的功耗计算方法的第一种流程示意图。
图2是本申请实施例提供的功耗计算方法的第二种流程示意图。
图3是本申请实施例提供的功耗计算方法的第三种流程示意图。
图4至图7是本申请实施例提供的功耗计算方法的场景示意图。
图8是本申请实施例提供的功耗计算装置的结构示意图。
图9是本申请实施例提供的终端的结构示意图。
图10是本申请实施例提供的终端的另一结构示意图。
图11是本申请实施例提供的服务器的结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
请参阅图1,图1是本申请实施例提供的功耗计算方法的第一种流程示意图。
本申请实施例提供的流程可以包括:
101、获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,该参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个。
中央处理器可以称之为终端的“大脑”。在运行时,终端的中央处理器每时每刻都在进行着各种各样的运算。因此,中央处理器的功耗也比较大,尤其是目前终端的性能要求越来越高,中央处理器的功耗成为用户和研发人员的关注对象。然而,相关技术中对中央处理器的功耗进行计算的准确度较差。
本申请实施例提供的功耗计算方法可以应用于终端,也可以应用于服务器。
下面先以功耗计算方法应用于终端为例进行说明。
比如,终端可以先获取它的中央处理器(CPU)的性能监测单元(PerformanceMonitoring Unit,PMU)监测到的如下各个参数从第一时刻到第二时刻的增量值,参数至少可以包括:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个。
需要说明的是,上述指令条数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_INSTRUCTIONS的值。
上述1级数据缓存读取次数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_CACHE_L1D的值。
上述前端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_FRONTED的值。
上述后端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_BACKEND的值。
例如,某个参数从第一时刻到第二时刻的增量值是指该参数在第二时刻的数值减去该参数在第一时刻的数值。例如,指令条数在第一时刻的数值为100,该指令条数在第二时刻的数值为220,那么从第一时刻到第二时刻该指令条数的增量值为120(即220-100)。
102、获取预设的功耗计算公式,该功耗计算公式以参数的增量值作为自变量。
比如,终端还可以获取预设的功耗计算公式,其中,该预设的功耗计算公式以101中的参数的增量值作为自变量。
103、根据参数的增量值计算功耗计算公式的应变量,并将该应变量确定为中央处理器从第一时刻到第二时刻的功耗值。
比如,在获取到性能监测单元所监测到的参数从第一时刻到第二时刻的增量值以及预设的功耗计算公式后,终端可以根据这些参数的增量值和功耗计算公式计算出中央处理器从第一时刻到第二时刻的功耗值。例如,终端可以根据参数的增量值计算预设的功耗计算公式的应变量,并将该功耗计算公式的应变量确定为中央处理器从第一时刻到第二时刻的功耗值。
下面再以功耗计算方法应用于服务器为例进行说明。
比如,终端可以先获取它的中央处理器(CPU)的性能监测单元(PerformanceMonitoring Unit,PMU)监测到的如下各个参数从第一时刻到第二时刻的增量值,参数至少可以包括:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个。
需要说明的是,上述指令条数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_INSTRUCTIONS的值。
上述1级数据缓存读取次数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_CACHE_L1D的值。
上述前端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_FRONTED的值。
上述后端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_BACKEND的值。
例如,某个参数从第一时刻到第二时刻的增量值是指该参数在第二时刻的数值减去该参数在第一时刻的数值。例如,指令条数在第一时刻的数值为100,该指令条数在第二时刻的数值为220,那么从第一时刻到第二时刻该指令条数的增量值为120(即220-100)。
之后,终端可以将其获取到的上述参数从第一时刻到第二时刻的增量值发送给服务器。那么,服务器可以获取到这些参数从第一时刻到第二时刻的增量值。
之后,服务器还可以获取预设的用于计算终端的中央处理器功耗的功耗计算公式,其中,该功耗计算公式以上述参数的增量值作为自变量。在一些实施方式中,预设的功耗计算公式可以预先部署(存储)在服务器上。或者,预设的功耗计算公式也可以先部署在终端上,当服务器需要计算终端的中央处理器的功耗时,终端可以将该功耗计算公式发送给服务器。
比如,服务器在获取到终端的性能监测单元所监测到的参数从第一时刻到第二时刻的增量值以及预设的功耗计算公式后,服务器可以根据这些参数的增量值和功耗计算公式计算出终端的中央处理器从第一时刻到第二时刻的功耗值。例如,服务器可以根据参数的增量值计算预设的功耗计算公式的应变量,并将该功耗计算公式的应变量确定为终端的中央处理器从第一时刻到第二时刻的功耗值。
可以理解的是,本申请实施例中,终端或服务器可以获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,该参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个。之后,终端或服务器可以获取预设的功耗计算公式,该预设的功耗计算公式以参数的增量值作为自变量。之后,终端或服务器可以根据上述参数的增量值计算该功耗计算公式的应变量,并将该应变量确定为终端的中央处理器从第一时刻到第二时刻的功耗值。由于性能监测单元监测的指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这些参数既能反映出中央处理器的静态表现(如空闲状态的功耗表现),又能反映出中央处理器的动态表现(如负载状态的功耗表现),因此利用这些参数来计算中央处理器的功耗值的准确度更高。
请参阅图2,图2为本申请实施例提供的功耗计算方法的第二种流程示意图。该功耗计算方法可以应用于终端。该功耗计算方法的流程可以包括:
201、终端获取中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,该参数包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
比如,终端可以获取中央处理器的性能监测单元监测到的指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的每一个参数从第一时刻到第二时刻的增量值。
需要说明的是,上述指令条数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_INSTRUCTIONS的值。
上述1级数据缓存读取次数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_CACHE_L1D的值。
上述前端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_FRONTED的值。
上述后端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_BACKEND的值。
例如,某个参数从第一时刻到第二时刻的增量值是指该参数在第二时刻的数值减去该参数在第一时刻的数值。例如,指令条数在第一时刻的数值为100,该指令条数在第二时刻的数值为220,那么从第一时刻到第二时刻该指令条数的增量值为120(即220-100)。
202、响应于功耗值计算指令,终端获取预设的功耗计算公式,该功耗计算公式以参数的增量值作为自变量。
比如,当需要计算中央处理器的功耗值时,终端可以响应于功耗值计算指令,进而获取预设的功耗计算公式。其中,该功耗计算公式可以是以指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数的增量值作为自变量。
203、终端根据参数的增量值计算功耗计算公式的应变量,并将该应变量确定为中央处理器从第一时刻到第二时刻的功耗值。
比如,在获取到性能监测单元所监测到的指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的每一个参数从第一时刻到第二时刻的增量值以及预设的功耗计算公式后,终端可以根据这四个参数的增量值和功耗计算公式计算出中央处理器从第一时刻到第二时刻的功耗值。例如,预设的功耗计算公式的应变量即为中央处理器从第一时刻到第二时刻的功耗值。
在一种实施方式中,终端的中央处理器可以包括n个处理核。那么,预设的功耗计算公式可以为P=Apc0+Apc1+Vddmx+Vddcx;
其中,
Figure BDA0002854360060000061
Figure BDA0002854360060000062
Figure BDA0002854360060000063
Figure BDA0002854360060000064
Icpu_i表示中央处理器的第i个处理核的指令条数,Lcpu_i表示第i个处理核的1级数据缓存读取次数,Scpu_i表示第i个处理核的前端停滞周期和后端停滞周期的和,ai、bi、ci、ei、fi、gi、pi、qi、ri、ui、vi、wi、D1、D2、D3、D4为预先测得的拟合系数。
例如,终端的中央处理器为8核处理器,即中央处理器有8个处理核。这8个处理核分别记为CPU_1、CPU_2、CPU_3、CPU_4、CPU_5、CPU_6、CPU_7、CPU_8。
那么,中央处理器从第一时刻到第二时刻的功耗值为P=Apc0+Apc1+Vddmx+Vddcx;其中,Apc0与CPU_1~CPU_4这四个处理器核的PMU counter值相关;Apc1与CPU5~CPU8这四个处理核的PMU counter值相关;Vddmx和Vddcx与8个处理核的PMU counter相关。
其中,Apc0=(a1×Icpu_1+b1×Lcpu_1+c1×Scpu_1)+(a2×Icpu_2+b2×Lcpu_2+c2×Scpu_2)+(a3×Icpu_3+b3×Lcpu_3+c3×Scpu_3)+(a4×Icpu_4+b4×Lcpu_4+c4×Scpu_4)+D1;其中,Icpu_1表示中央处理器的第1个处理核的指令条数,Lcpu_1表示第1个处理核的1级数据缓存读取次数,Scpu_1表示第1个处理核的前端停滞周期和后端停滞周期的和,Icpu_2表示中央处理器的第2个处理核的指令条数,Lcpu_2表示第2个处理核的1级数据缓存读取次数,Scpu_2表示第2个处理核的前端停滞周期和后端停滞周期的和,Icpu_3表示中央处理器的第3个处理核的指令条数,Lcpu_3表示第3个处理核的1级数据缓存读取次数,Scpu_3表示第3个处理核的前端停滞周期和后端停滞周期的和,Icpu_4表示中央处理器的第4个处理核的指令条数,Lcpu_4表示第4个处理核的1级数据缓存读取次数,Scpu_4表示第4个处理核的前端停滞周期和后端停滞周期的和,a1、b1、c1、a2、b2、c2、a3、b3、c3、a4、b4、c4、D1为预先测得的拟合系数。
Apc1=e5×Icpu_5+f5×Lcpu_5+g5×Scpu_5+e6×Icpu_6+f6×Lcpu_6+g6×Scpu_6+e7×Icpu_7+f7×Lcpu_7+g7×Scpu_7+e8×Icpu_8+f8×Lcpu_8+g9×Scpu_9+D2;其中,Icpu_5表示中央处理器的第5个处理核的指令条数,Lcpu_5表示第5个处理核的1级数据缓存读取次数,Scpu_5表示第5个处理核的前端停滞周期和后端停滞周期的和;Icpu_6表示中央处理器的第6个处理核的指令条数,Lcpu_6表示第6个处理核的1级数据缓存读取次数,Scpu_6表示第6个处理核的前端停滞周期和后端停滞周期的和;Icpu_7表示中央处理器的第7个处理核的指令条数,Lcpu_7表示第7个处理核的1级数据缓存读取次数,Scpu_7表示第7个处理核的前端停滞周期和后端停滞周期的和;Icpu_8表示中央处理器的第8个处理核的指令条数,Lcpu_8表示第8个处理核的1级数据缓存读取次数,Scpu_8表示第8个处理核的前端停滞周期和后端停滞周期的和,e5、f5、g5、e6、f6、g6、e7、f7、g7、e8、f8、g8、D2为预先测得的拟合系数。
Vddmx=p1×Icpu_1+q1×Lcpu_1+r1×Scpu_1+p2×Icpu_2+q2×Lcpu_2+r2×Scpu_2+p3×Icpu_3+q3×Lcpu_3+r3×Scpu_3+p4×Icpu_4+q4×Lcpu_4+r4×Scpu_4+p5×Icpu_5+q5×Lcpu_5+r5×Scpu_5+p6×Icpu_6+q6×Lcpu_6+r6×Scpu_6+p7×Icpu_7+q7×Lcpu_7+r7×Scpu_7+p8×Icpu_8+q8×Lcpu_8+r8×Scpu_8+D3;其中,p1、q1、r1、p2、q2、r2、p3、q3、r3、p4、q4、r4、p5、q5、r5、p6、q6、r6、p7、q7、r7、p8、q8、r8、D3为预先测得的拟合系数。
Vddcx=u1×Icpu_1+v1×Lcpu_1+w1×Scpu_1+u2×Icpu_2+v2×Lcpu_2+w2×Scpu_2+u3×Icpu_3+v3×Lcpu_3+w3×Scpu_3+u4×Icpu_4+v4×Lcpu_4+w4×Scpu_4+u5×Icpu_5+v5×Lcpu_5+w5×Scpu_5+u6×Icpu_6+v6×Lcpu_6+w6×Scpu_6+u7×Icpu_7+v7×Lcpu_7+w7×Scpu_7+u8×Icpu_8+v8×Lcpu_8+w8×Scpu_8+D4;其中,u1、v1、w1、u2、v2、w2、u3、v3、w3、u4、v4、w4、u5、v5、w5、u6、v6、w6、u7、v7、w7、u8、v8、w8、D4为预先测得的拟合系数。
需要说明的是,拟合系数表示系数具体的数值需要根据对设备的实际测量结果进行拟合得到。设备的类型不同则拟合系数的数值也可能不同。
在一些实施方式中,可以预先采集训练样本数据从而形成训练集,每一训练样本数据可以包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的一个或多个在一个时间段内的增量值,并且每一训练样本数据还可以包括终端的中央处理器在该时间段内的功耗值。接着,可以通过神经网络模型对训练样本数据进行学习训练,从而得到功耗计算公式中的各个拟合系数。在得到对应的拟合系数后,还可以利用由测试样本数据构成的测试集对具有拟合系数的功耗计算公式进行测试。在训练、测试的过程中可以不断迭代优化,从而得到功耗计算公式中准确的拟合系数。
拟合系数的学习和测试过程可以部署在服务器一侧,也可以部署在终端一侧,本申请实施例对此不做具体的限定。
204、终端将计算得到的中央处理器从第一时刻到第二时刻的功耗值发送至与该终端绑定的服务器,以使该服务器对该中央处理器的功耗值进行记录和分析,并向该终端反馈分析结果。
比如,终端可以对中央处理器在不同时段的功耗值进行计算,并将计算得到的功耗值发送至与该终端绑定的服务器,以使该服务器对该终端的中央处理器在不同时段的功耗值进行记录和分析,并向该终端反馈分析结果。
例如,服务器可以通过分析得到哪些时段终端的中央处理器的功耗值比较大,哪些时段终端的中央处理器的功耗值比较小,从而通过反馈分析结果来指导用户优化使用行为。或者,服务器得出的分析结果也可以用来指导终端开发人员优化终端应用,等等。
在一种实施方式中,本申请实施例还可以包括如下流程:
若检测到满足预设条件,则终端生成用于指示进行功耗值计算的指令,该预设条件至少包括前台应用发生改变,其中,当前台应用由目标应用切换到其它应用时,该目标应用最近一次在前台的运行时长对应于从第一时刻到第二时刻的时长。
比如,在运行过程中,终端可以检测是否满足预设条件。当检测到满足预设条件时,终端可以生成一则用于指示进行中央处理器的功耗值计算的指令。在本申请实施例中,预设条件至少可以包括前台应用发生改变。其中,当前台应用由目标应用切换到其它应用时,该目标应用最近一次在前台的运行时长对应于从第一时刻到第二时刻的时长。例如,在T1时刻,前台应用由A应用切换到B应用。在T2时刻,前台应用由B应用切换到C应用。那么B应用最近一次在前台的运行时长为T2-T1。即,T1时刻为第一时刻,T2时刻为第二时刻。
请参阅图3,图3为本申请实施例提供的功耗计算方法的第三种流程示意图。该功耗计算方法可以应用于服务器。该功耗计算方法的流程可以包括:
301、服务器获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,该参数包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
比如,终端可以先获取它的中央处理器(CPU)的性能监测单元(PerformanceMonitoring Unit,PMU)监测到的如下各个参数从第一时刻到第二时刻的增量值,参数可以包括:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
需要说明的是,上述指令条数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_INSTRUCTIONS的值。
上述1级数据缓存读取次数是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_CACHE_L1D的值。
上述前端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_FRONTED的值。
上述后端停滞周期是指中央处理器的性能监测单元所监测到的PERF_COUNTER_HW_STALLED_CYCLES_BACKEND的值。
例如,某个参数从第一时刻到第二时刻的增量值是指该参数在第二时刻的数值减去该参数在第一时刻的数值。例如,指令条数在第一时刻的数值为100,该指令条数在第二时刻的数值为220,那么从第一时刻到第二时刻该指令条数的增量值为120(即220-100)。
之后,终端可以将其获取到的上述参数从第一时刻到第二时刻的增量值发送给服务器。那么,服务器可以获取到这些参数从第一时刻到第二时刻的增量值。
302、服务器获取预设的功耗计算公式,该功耗计算公式以参数的增量值作为自变量。
比如,服务器还可以获取预设的用于计算终端的中央处理器功耗的功耗计算公式,其中,该功耗计算公式以如下参数的增量值作为自变量:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
在一些实施方式中,预设的功耗计算公式可以预先部署(存储)在服务器上。或者,预设的功耗计算公式也可以先部署在终端上,当服务器需要计算终端的中央处理器的功耗时,终端可以将该功耗计算公式发送给服务器。
303、服务器根据参数的增量值计算功耗计算公式的应变量,并将该应变量确定为终端的中央处理器从第一时刻到第二时刻的功耗值。
比如,服务器在获取到终端的性能监测单元所监测到的上述四个参数从第一时刻到第二时刻的增量值以及预设的功耗计算公式后,服务器可以根据这些参数的增量值和功耗计算公式计算出终端的中央处理器从第一时刻到第二时刻的功耗值。例如,服务器可以根据上述四个参数的增量值计算预设的功耗计算公式的应变量,并将该功耗计算公式的应变量确定为终端的中央处理器从第一时刻到第二时刻的功耗值。
在一种实施方式中,终端的中央处理器可以包括n个处理核。那么,预设的功耗计算公式可以为P=Apc0+Apc1+Vddmx+Vddcx;
其中,
Figure BDA0002854360060000111
Figure BDA0002854360060000112
Figure BDA0002854360060000113
Figure BDA0002854360060000114
Icpu_i表示中央处理器的第i个处理核的指令条数,Lcpu_i表示第i个处理核的1级数据缓存读取次数,Scpu_i表示第i个处理核的前端停滞周期和后端停滞周期的和,ai、bi、ci、ei、fi、gi、pi、qi、ri、ui、vi、wi、D1、D2、D3、D4为预先测得的拟合系数。
例如,终端的中央处理器为8核处理器,即中央处理器有8个处理核。这8个处理核分别记为CPU_1、CPU_2、CPU_3、CPU_4、CPU_5、CPU_6、CPU_7、CPU_8。
那么,中央处理器从第一时刻到第二时刻的功耗值为P=Apc0+Apc1+Vddmx+Vddcx;其中,Apc0与CPU_1~CPU_4这四个处理器核的PMU counter值相关;Apc1与CPU5~CPU8这四个处理核的PMU counter值相关;Vddmx和Vddcx与8个处理核的PMU counter相关。
其中,Apc0=(a1×Icpu_1+b1×Lcpu_1+c1×Scpu_1)+(a2×Icpu_2+b2×Lcpu_2+c2×Scpu_2)+(a3×Icpu_3+b3×Lcpu_3+c3×Scpu_3)+(a4×Icpu_4+b4×Lcpu_4+c4×Scpu_4)+D1;其中,Icpu_1表示中央处理器的第1个处理核的指令条数,Lcpu_1表示第1个处理核的1级数据缓存读取次数,Scpu_1表示第1个处理核的前端停滞周期和后端停滞周期的和,Icpu_2表示中央处理器的第2个处理核的指令条数,Lcpu_2表示第2个处理核的1级数据缓存读取次数,Scpu_2表示第2个处理核的前端停滞周期和后端停滞周期的和,Icpu_3表示中央处理器的第3个处理核的指令条数,Lcpu_3表示第3个处理核的1级数据缓存读取次数,Scpu_3表示第3个处理核的前端停滞周期和后端停滞周期的和,Icpu_4表示中央处理器的第4个处理核的指令条数,Lcpu_4表示第4个处理核的1级数据缓存读取次数,Scpu_4表示第4个处理核的前端停滞周期和后端停滞周期的和,a1、b1、c1、a2、b2、c2、a3、b3、c3、a4、b4、c4、D1为预先测得的拟合系数。
Apc1=e5×Icpu_5+f5×Lcpu_5+g5×Scpu_5+e6×Icpu_6+f6×Lcpu_6+g6×Scpu_6+e7×Icpu_7+f7×Lcpu_7+g7×Scpu_7+e8×Icpu_8+f8×Lcpu_8+g9×Scpu_9+D2;其中,Icpu_5表示中央处理器的第5个处理核的指令条数,Lcpu_5表示第5个处理核的1级数据缓存读取次数,Scpu_5表示第5个处理核的前端停滞周期和后端停滞周期的和;Icpu_6表示中央处理器的第6个处理核的指令条数,Lcpu_6表示第6个处理核的1级数据缓存读取次数,Scpu_6表示第6个处理核的前端停滞周期和后端停滞周期的和;Icpu_7表示中央处理器的第7个处理核的指令条数,Lcpu_7表示第7个处理核的1级数据缓存读取次数,Scpu_7表示第7个处理核的前端停滞周期和后端停滞周期的和;Icpu_8表示中央处理器的第8个处理核的指令条数,Lcpu_8表示第8个处理核的1级数据缓存读取次数,Scpu_8表示第8个处理核的前端停滞周期和后端停滞周期的和,e5、f5、g5、e6、f6、g6、e7、f7、g7、e8、f8、g8、D2为预先测得的拟合系数。
Vddmx=p1×Icpu_1+q1×Lcpu_1+r1×Scpu_1+p2×Icpu_2+q2×Lcpu_2+r2×Scpu_2+p3×Icpu_3+q3×Lcpu_3+r3×Scpu_3+p4×Icpu_4+q4×Lcpu_4+r4×Scpu_4+p5×Icpu_5+q5×Lcpu_5+r5×Scpu_5+p6×Icpu_6+q6×Lcpu_6+r6×Scpu_6+p7×Icpu_7+q7×Lcpu_7+r7×Scpu_7+p8×Icpu_8+q8×Lcpu_8+r8×Scpu_8+D3;其中,p1、q1、r1、p2、q2、r2、p3、q3、r3、p4、q4r4、p5、q5、r5、p6、q6、r6、p7、q7、r7、p8、q8、r8、D3为预先测得的拟合系数。
Vddcx=u1×Icpu_1+v1×Lcpu_1+w1×Scpu_1+u2×Icpu_2+v2×Lcpu_2+w2×Scpu_2+u3×Icpu_3+v3×Lcpu_3+w3×Scpu_3+u4×Icpu_4+v4×Lcpu_4+w4×Scpu_4+u5×Icpu_5+v5×Lcpu_5+w5×Scpu_5+u6×Icpu_6+v6×Lcpu_6+w6×Scpu_6+u7×Icpu_7+v7×Lcpu_7+w7×Scpu_7+u8×Icpu_8+v8×Lcpu_8+w8×Scpu_8+D4;其中,u1、v1、w1、u2、v2、w2、u3、v3、w3、u4、v4、w4、u5、v5、w5、u6、v6、w6、u7、v7、w7、u8、v8、w8、D4为预先测得的拟合系数。
需要说明的是,拟合系数表示系数具体的数值需要根据对设备的实际测量结果进行拟合得到。设备的类型不同则拟合系数的数值也可能不同。
在一些实施方式中,可以预先采集训练样本数据从而形成训练集,每一训练样本数据可以包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的一个或多个在一个时间段内的增量值,并且每一训练样本数据还可以包括终端的中央处理器在该时间段内的功耗值。接着,可以通过神经网络模型对训练样本数据进行学习训练,从而得到功耗计算公式中的各个拟合系数。在得到对应的拟合系数后,还可以利用由测试样本数据构成的测试集对具有拟合系数的功耗计算公式进行测试。在训练、测试的过程中可以不断迭代优化,从而得到功耗计算公式中准确的拟合系数。
拟合系数的学习和测试过程可以部署在服务器一侧,也可以部署在终端一侧,本申请实施例对此不做具体的限定。
304、服务器对终端的中央处理器从第一时刻到所述第二时刻的功耗值进行记录和分析,并向该终端反馈分析结果。
比如,在对终端的中央处理器在不同时段的功耗值进行计算后,服务器可以对计算得到的终端中央处理器在不同时段的功耗值进行记录和分析,并向该终端反馈分析结果。
例如,服务器可以通过分析得到哪些时段终端的中央处理器的功耗值比较大,哪些时段终端的中央处理器的功耗值比较小,从而通过反馈分析结果来指导用户优化使用行为。或者,服务器得出的分析结果也可以用来指导终端开发人员优化终端应用,等等。
请参阅图4至图7,图4至图7为本申请实施例提供的功耗计算方法的场景示意图。
比如,如图4所示,用户点击了应用B的图标,从而启动应用B,使得B应用变为终端的前台应用,即终端检测到前台应用发生改变,例如当前时刻为T1时刻。在这种情况下,终端可以将T1时刻确定为第一时刻。并且,终端可以获取中央处理器的性能检测单元在第一时刻监测到的如下每一个参数的参数值:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
之后一段时间,例如如图5所示,用户在应用B的界面点击了“返回主界面”的按钮,从而使得应用B切换到后台,即终端检测到前台应用发生改变,例如此时为T2时刻。在这种情况下,终端可以将T2时刻确定为第二时刻。并且,终端可以获取中央处理器的性能检测单元在第二时刻监测到的如下每一个参数的参数值:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
之后,终端可以计算中央处理器的性能监测单元监测到的指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的每一个参数从第一时刻到第二时刻的增量值。
在检测到前台运行的B应用被切换到后台时,终端可以生成一则用于指示进行中央处理器的功耗值计算的指令。
响应于功耗值计算指令,终端可以获取预设的功耗计算公式。其中,该功耗计算公式可以是以指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数的增量值作为自变量。
在获取到指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的每一个参数从第一时刻到第二时刻的增量值,以及预设的功耗计算公式后,终端可以根据这四个参数的增量值和功耗计算公式计算出中央处理器从第一时刻到第二时刻的功耗值。其中,预设的功耗计算公式的应变量即为中央处理器从第一时刻到第二时刻的功耗值。
之后,终端可以将计算得到的中央处理器从T1时刻到T2时刻的功耗值发送至与该终端绑定的服务器,以使该服务器对该终端的中央处理器在不同时段的功耗值进行记录和分析,并向该终端反馈分析结果,如图6所示。
或者,预设的功耗计算公式被部署在与终端绑定的服务器上。比如,用户点击了应用B的图标,从而启动应用B,使得B应用变为终端的前台应用,即终端检测到前台应用发生改变,例如当前时刻为T1时刻。在这种情况下,终端可以将T1时刻确定为第一时刻。终端可以获取中央处理器的性能检测单元在第一时刻监测到的如下每一个参数的参数值:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
之后一段时间,在T2时刻,B应用由终端的前台切换到后台,即终端检测到前台应用发生改变。在这种情况下,终端可以将T2时刻确定为第二时刻。并且,终端可以获取中央处理器的性能检测单元在第二时刻监测到的如下每一个参数的参数值:指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期。
之后,终端可以计算中央处理器的性能监测单元监测到的指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的每一个参数从第一时刻到第二时刻的增量值。
在获取到指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数中的每一个参数从第一时刻到第二时刻的增量值后,终端可以将上述四个参数从第一时刻到第二时刻的增量值发送给服务器,并指示服务器计算终端的中央处理器从第一时刻到第二时刻的功耗值。
在接收到终端发送的上述四个参数从第一时刻到第二时刻的增量值以及指示服务器计算终端的中央处理器从第一时刻到第二时刻的功耗值的指令后,服务器则可以获取预设的功耗计算公式。其中,该功耗计算公式可以是以指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期这四个参数的增量值作为自变量。
之后,服务器可以根据这四个参数的增量值和功耗计算公式计算出中央处理器从第一时刻到第二时刻的功耗值。其中,预设的功耗计算公式的应变量即为中央处理器从第一时刻到第二时刻的功耗值。
比如,在对终端的中央处理器在不同时段的功耗值进行计算后,服务器可以对计算得到的终端中央处理器在不同时段的功耗值进行记录和分析,并向该终端反馈分析结果,如图7所示。
请参阅图8,图8为本申请实施例提供的功耗计算装置的结构示意图。功耗计算装置400可以包括:第一获取模块401,第二获取模块402,计算模块403。
第一获取模块401,用于获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个。
第二获取模块402,用于获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量。
计算模块403,用于根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
在一种实施方式中,所述中央处理器包括n个处理核,所述参数包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期;
所述预设的功耗计算公式为P=Apc0+Apc1+Vddmx+Vddcx;
其中,所述
Figure BDA0002854360060000161
所述
Figure BDA0002854360060000162
所述
Figure BDA0002854360060000163
所述
Figure BDA0002854360060000164
所述Icpu_i表示所述中央处理器的第i个处理核的指令条数,所述Lcpu_i表示所述第i个处理核的1级数据缓存读取次数,所述Scpu_i表示所述第i个处理核的前端停滞周期和后端停滞周期的和,所述ai、bi、ci、ei、fi、gi、pi、qi、ri、ui、vi、wi、D1、D2、D3、D4为预先测得的拟合系数。
在一种实施方式中,所述第二获取模块402用于:响应于功耗值计算指令,获取预设的功耗计算公式。
在一种实施方式中,所述功耗计算装置应用于终端,所述计算模块403还用于:将计算得到的所述中央处理器从所述第一时刻到所述第二时刻的功耗值发送至与所述终端绑定的服务器,以使所述服务器对所述中央处理器的功耗值进行记录和分析,并向所述终端反馈分析结果。
在一种实施方式中,所述第二获取模块402还用于:若检测到满足预设条件,则生成用于指示进行功耗值计算的指令,所述预设条件至少包括前台应用发生改变,其中,当前台应用由目标应用切换到其它应用时,所述目标应用最近一次在前台的运行时长对应于从第一时刻到第二时刻的时长。
在一种实施方式中,所述功耗计算装置可以应用于服务器,所述计算模块403还用于:对终端的所述中央处理器从所述第一时刻到所述第二时刻的功耗值进行记录和分析,并向所述终端反馈分析结果。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的功耗计算方法中的流程。
本申请实施例还提供一种终端,包括存储器,中央处理器,所述中央处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的功耗计算方法中的流程。
例如,上述终端可以是诸如平板电脑或者智能手机等移动终端。请参阅图9,图9为本申请实施例提供的终端的结构示意图。
该终端500可以包括电池501、存储器502、中央处理器503等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
电池501可以用于为终端的各个部件和模块提供电力支持,从而保证终端的各个部件和模块的正常运行。
存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。中央处理器503通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。
中央处理器503是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。
在本实施例中,终端中的中央处理器503会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由中央处理器503来运行存储在存储器502中的应用程序,从而执行:
获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
请参阅图10,终端500可以包括电池501、存储器502、中央处理器503、显示屏504、扬声器505、麦克风506等部件。
电池501可以用于为终端的各个部件和模块提供电力支持,从而保证终端的各个部件和模块的正常运行。
存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器503通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。
中央处理器503是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。
显示屏504用于显示诸如文字、图像等信息。
扬声器505可以用于播放声音信号。
麦克风506可以用于采集周围环境中的声音信号,例如麦克风506可以用于采集用户语音等。
在本实施例中,终端中的中央处理器503会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由中央处理器503来运行存储在存储器502中的应用程序,从而执行:
获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
在一种实施方式中,所述中央处理器包括n个处理核,所述参数包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期;
所述预设的功耗计算公式为P=Apc0+Apc1+Vddmx+Vddcx;
其中,所述
Figure BDA0002854360060000191
所述
Figure BDA0002854360060000192
所述
Figure BDA0002854360060000193
所述
Figure BDA0002854360060000194
所述Icpu_i表示所述中央处理器的第i个处理核的指令条数,所述Lcpu_i表示所述第i个处理核的1级数据缓存读取次数,所述Scpu_i表示所述第i个处理核的前端停滞周期和后端停滞周期的和,所述ai、bi、ci、ei、fi、gi、pi、qi、ri、ui、vi、wi、D1、D2、D3、D4为预先测得的拟合系数。
在一种实施方式中,中央处理器503执行所述获取预设的功耗计算公式时,可以执行:响应于功耗值计算指令,获取预设的功耗计算公式。
在一种实施方式中,中央处理器503还可以执行:将计算得到的所述中央处理器从所述第一时刻到所述第二时刻的功耗值发送至与所述终端绑定的服务器,以使所述服务器对所述中央处理器的功耗值进行记录和分析,并向所述终端反馈分析结果。
在一种实施方式中,中央处理器503还可以执行:若检测到满足预设条件,则生成用于指示进行功耗值计算的指令,所述预设条件至少包括前台应用发生改变,其中,当前台应用由目标应用切换到其它应用时,所述目标应用最近一次在前台的运行时长对应于从第一时刻到第二时刻的时长。
本申请实施例还提供一种服务器,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的功耗计算方法中的流程。
请参阅图11,该服务器600可以包括存储器601、处理器602等部件。本领域技术人员可以理解,图11中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器601可用于存储应用程序和数据。存储器601存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器602通过运行存储在存储器601的应用程序,从而执行各种功能应用以及数据处理。
处理器602是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器601内的应用程序,以及调用存储在存储器601内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。
在本实施例中,服务器中的处理器602会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器601中,并由处理器602来运行存储在存储器601中的应用程序,从而执行:
获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
在一种实施方式中,终端的中央处理器包括n个处理核,所述参数包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期;
所述预设的功耗计算公式为P=Apc0+Apc1+Vddmx+Vddcx;
其中,所述
Figure BDA0002854360060000201
所述
Figure BDA0002854360060000202
所述
Figure BDA0002854360060000203
所述
Figure BDA0002854360060000204
所述Icpu_i表示所述中央处理器的第i个处理核的指令条数,所述Lcpu_i表示所述第i个处理核的1级数据缓存读取次数,所述Scpu_i表示所述第i个处理核的前端停滞周期和后端停滞周期的和,所述ai、bi、ci、ei、fi、gi、pi、qi、ri、ui、vi、wi、D1、D2、D3、D4为预先测得的拟合系数。
在一种实施方式中,处理器602执行所述获取预设的功耗计算公式时,可以执行:响应于功耗值计算指令,获取预设的功耗计算公式。
在一种实施方式中,处理器602还可以执行:对终端的所述中央处理器从所述第一时刻到所述第二时刻的功耗值进行记录和分析,并向所述终端反馈分析结果。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对功耗计算方法的详细描述,此处不再赘述。
本申请实施例提供的所述功耗计算装置与上文实施例中的功耗计算方法属于同一构思,在所述功耗计算装置上可以运行所述功耗计算方法实施例中提供的任一方法,其具体实现过程详见所述功耗计算方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述功耗计算方法而言,本领域普通技术人员可以理解实现本申请实施例所述功耗计算方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述功耗计算方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述功耗计算装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种功耗计算方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种功耗计算方法,其特征在于,包括:
获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
2.根据权利要求1所述的功耗计算方法,其特征在于,所述中央处理器包括n个处理核,所述参数包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期;
所述预设的功耗计算公式为P=Apc0+Apc1+Vddmx+Vddcx;
其中,所述
Figure FDA0002854360050000011
所述
Figure FDA0002854360050000012
所述
Figure FDA0002854360050000013
所述
Figure FDA0002854360050000014
所述Icpu_i表示所述中央处理器的第i个处理核的指令条数,所述Lcpu_i表示所述第i个处理核的1级数据缓存读取次数,所述Scpu_i表示所述第i个处理核的前端停滞周期和后端停滞周期的和,所述ai、bi、ci、ei、fi、gi、pi、qi、ri、ui、vi、wi、D1、D2、D3、D4为预先测得的拟合系数。
3.根据权利要求1所述的功耗计算方法,其特征在于,所述获取预设的功耗计算公式,包括:
响应于功耗值计算指令,获取预设的功耗计算公式。
4.根据权利要求1-3中任一项所述的功耗计算方法,其特征在于,所述方法应用于终端,所述方法还包括:
将计算得到的所述中央处理器从所述第一时刻到所述第二时刻的功耗值发送至与所述终端绑定的服务器,以使所述服务器对所述中央处理器的功耗值进行记录和分析,并向所述终端反馈分析结果。
5.根据权利要求4所述的功耗计算方法,其特征在于,所述方法还包括:
若检测到满足预设条件,则生成用于指示进行功耗值计算的指令,所述预设条件至少包括前台应用发生改变,其中,当前台应用由目标应用切换到其它应用时,所述目标应用最近一次在前台的运行时长对应于从所述第一时刻到所述第二时刻的时长。
6.根据权利要求1-3中任一项所述的功耗计算方法,其特征在于,所述方法应用于服务器,所述方法还包括:
对终端的所述中央处理器从所述第一时刻到所述第二时刻的功耗值进行记录和分析,并向所述终端反馈分析结果。
7.一种功耗计算装置,其特征在于,包括:
第一获取模块,用于获取终端的中央处理器的性能监测单元监测到的参数从第一时刻到第二时刻的增量值,所述参数至少包括指令条数、1级数据缓存读取次数、前端停滞周期、后端停滞周期中的一个或多个;
第二获取模块,用于获取预设的功耗计算公式,所述功耗计算公式以所述参数的增量值作为自变量;
计算模块,用于根据所述参数的增量值计算所述功耗计算公式的应变量,并将所述应变量确定为所述中央处理器从所述第一时刻到所述第二时刻的功耗值。
8.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
9.一种终端,包括存储器,中央处理器,其特征在于,所述中央处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至5中任一项所述的方法。
10.一种服务器,包括存储器,处理器,其特征在于,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至3中任一项所述的方法,或者用于执行如权利要求6所述的方法。
CN202011538965.8A 2020-12-23 2020-12-23 功耗计算方法、装置、存储介质、终端及服务器 Active CN112559297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011538965.8A CN112559297B (zh) 2020-12-23 2020-12-23 功耗计算方法、装置、存储介质、终端及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011538965.8A CN112559297B (zh) 2020-12-23 2020-12-23 功耗计算方法、装置、存储介质、终端及服务器

Publications (2)

Publication Number Publication Date
CN112559297A true CN112559297A (zh) 2021-03-26
CN112559297B CN112559297B (zh) 2022-12-20

Family

ID=75031655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011538965.8A Active CN112559297B (zh) 2020-12-23 2020-12-23 功耗计算方法、装置、存储介质、终端及服务器

Country Status (1)

Country Link
CN (1) CN112559297B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232147A (ja) * 1998-02-16 1999-08-27 Toshiba Corp パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体
CN109460338A (zh) * 2018-09-26 2019-03-12 努比亚技术有限公司 一种应用资源控制方法、终端及计算机可读存储介质
CN109684167A (zh) * 2018-12-06 2019-04-26 北京城市网邻信息技术有限公司 应用程序cpu使用率的计算方法、装置、存储介质及终端
CN110676521A (zh) * 2019-09-23 2020-01-10 Oppo(重庆)智能科技有限公司 电池管理方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232147A (ja) * 1998-02-16 1999-08-27 Toshiba Corp パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体
CN109460338A (zh) * 2018-09-26 2019-03-12 努比亚技术有限公司 一种应用资源控制方法、终端及计算机可读存储介质
CN109684167A (zh) * 2018-12-06 2019-04-26 北京城市网邻信息技术有限公司 应用程序cpu使用率的计算方法、装置、存储介质及终端
CN110676521A (zh) * 2019-09-23 2020-01-10 Oppo(重庆)智能科技有限公司 电池管理方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112559297B (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
CN111563014A (zh) 接口服务性能测试方法、装置、设备和存储介质
CN104965773A (zh) 终端、卡顿检测方法、装置及游戏卡顿检测方法、装置
CN112749013B (zh) 线程负载的检测方法、装置、电子设备及存储介质
CN103605647A (zh) 用于测试设备参数的系统、方法和计算机程序产品
CN111639002B (zh) 休眠功耗测试方法、系统、计算机设备和存储介质
CN114996103A (zh) 页面异常检测方法、装置、电子设备和存储介质
CN112559297B (zh) 功耗计算方法、装置、存储介质、终端及服务器
CN111708704B (zh) 一种云真机测试方法、装置、终端及存储介质
CN105487960A (zh) 一种基于物理实测的移动端app加载能耗自动测量方法
CN111949493A (zh) 一种基于推理应用的边缘ai服务器功耗测试方法及装置
CN112464599A (zh) 应用在电路的静态时序分析中确定电源电压数据的方法
CN110737900A (zh) 网页功能测试方法及装置、服务器和计算机可读存储介质
CN113849356B (zh) 一种设备测试方法、装置、电子设备和存储介质
CN114071127A (zh) 直播视频延迟的测试方法、装置、存储介质及电子设备
CN113056756B (zh) 睡眠识别方法、装置、存储介质及电子设备
CN109710521B (zh) 多媒体应用性能测试方法、装置、计算机设备和存储介质
CN113935187A (zh) 一种功耗检测方法、装置、计算机设备及存储介质
CN108958929B (zh) 应用算法库的方法、装置、存储介质及电子设备
CN116048947A (zh) 应用程序测试方法、装置、电子设备和可读存储介质
CN113515354A (zh) 一种基于环境上下文一致性的统一处理系统、方法
CN110865937A (zh) 一种应用测试方法、装置和存储介质
CN112181853A (zh) 程序调试方法、装置及系统
CN114222980A (zh) 耗电日志处理方法、装置、电子设备以及存储介质
CN117806900B (zh) 服务器管理方法、装置、电子设备及存储介质
CN113409816B (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