CN112559282A - Power consumption monitoring system, related method, device, processor and medium - Google Patents

Power consumption monitoring system, related method, device, processor and medium Download PDF

Info

Publication number
CN112559282A
CN112559282A CN202011420661.1A CN202011420661A CN112559282A CN 112559282 A CN112559282 A CN 112559282A CN 202011420661 A CN202011420661 A CN 202011420661A CN 112559282 A CN112559282 A CN 112559282A
Authority
CN
China
Prior art keywords
event
power consumption
hardware
monitored
alternative
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.)
Pending
Application number
CN202011420661.1A
Other languages
Chinese (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011420661.1A priority Critical patent/CN112559282A/en
Publication of CN112559282A publication Critical patent/CN112559282A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

In an embodiment of the present application, a power consumption monitoring system, a related method, an apparatus, a processor, and a medium, the power consumption monitoring system includes: the event monitoring module is arranged corresponding to the functional module and used for monitoring the occurrence condition of at least one hardware event to be monitored of the functional module so as to obtain event statistical parameters; and the control module is coupled with the at least one event monitoring module and used for calculating the dynamic power consumption of the integrated circuit according to the event statistical parameters of the at least one functional module. In the power consumption monitoring system in the embodiment of the application, the event monitoring modules are configured by corresponding to the functional modules of the integrated circuit to monitor the occurrence condition of the hardware event to be monitored of the functional modules to form the event statistical parameters, and the dynamic power consumption corresponding to the event statistical parameters is calculated to monitor the comprehensive and accurate dynamic power consumption.

Description

Power consumption monitoring system, related method, device, processor and medium
Technical Field
Embodiments of the present disclosure relate to the field of integrated circuit technologies, and in particular, to a power consumption monitoring system, a related method, an apparatus, a processor, and a medium.
Background
In very large scale integrated circuits, such as Central Processing Units (CPUs) based on the x86 architecture or Graphics Processing Units (GPUs), the power consumption of the processor chip is very large, which has become a bottleneck to further increase of the processor performance. More and more products are beginning to use Dynamic Voltage and Frequency Scaling (DVFS), which is based on the principle that when processors operate in different application scenarios using different frequencies and voltages, for example, when the workload (Work Load) of the processor is larger, the voltage and Frequency are increased, and when the Load of the chip is smaller, the voltage and Frequency are lower. DVFS is used on the premise that it is able to respond quickly to changes in workload. The dynamic power consumption of the chip is typically estimated to reflect the current workload of the processor.
How to find a scheme that considers the accuracy of power consumption measurement and can avoid increasing more power consumption due to power consumption measurement becomes a technical problem to be solved urgently in the industry.
Disclosure of Invention
In view of the above, embodiments of the present application provide a power consumption monitoring system, a related method, an apparatus, a processor, and a medium, which solve the problems in the prior art.
The embodiment of the application provides a power consumption monitoring system, which is applied to an integrated circuit comprising at least one functional module; the power consumption monitoring system includes: the event monitoring module is arranged corresponding to the functional module and used for monitoring the occurrence condition of at least one hardware event to be monitored of the functional module so as to obtain event statistical parameters; and the control module is coupled with the at least one event monitoring module and used for calculating the dynamic power consumption of the integrated circuit according to the event statistical parameters of the at least one functional module.
Optionally, each event monitoring module is configured to monitor a preset number of hardware events of the corresponding functional module, and configure event monitoring modules with a number matching the number of the hardware events to be monitored of the corresponding functional module.
Optionally, each hardware event to be monitored is associated with a weight value for combining with a signal value related to an occurrence condition of the hardware event, so as to calculate the event statistical parameter.
Optionally, the event monitoring module is configured to add, after weighting the signal value of each hardware event to be monitored according to time by using a corresponding weight value, the signal value to form an event statistical parameter.
Optionally, the event monitoring module includes:
a first selector comprising: the system comprises a plurality of input ends, a plurality of monitoring modules and a plurality of monitoring modules, wherein the input ends are used for respectively inputting signal values corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the signal value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a second selector comprising: a plurality of input ends, which are used for respectively inputting the weight value corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the weight value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a selection signal generator comprising: an enable terminal for receiving an enable signal; an output terminal coupled to the selection terminals of the first selector and the second selector to output a selection signal generated in response to the enable signal;
and operator, comprising: at least two input ends for respectively obtaining the signal value and the weight value of the selected hardware event to be monitored; the output end is used for outputting the AND operation result of the signal value and the weight value of the selected hardware event to be monitored;
an adder, comprising: a first input terminal for obtaining an input of the and operation result; a second input terminal for inputting the first accumulation result before the adder; the output end is used for outputting a second accumulation result obtained by summing the current AND operation result and the first accumulation result to serve as an event statistical parameter;
a temporary storage, comprising: an input end coupled to the output end of the adder for temporarily storing the accumulation result; and the output end is coupled to the second input end and used for outputting the temporarily stored accumulation result.
Optionally, the selection signal generator includes a loop counter, configured to count in a loop within a range of the number of hardware events monitored by the event monitoring module, and form the selection signal according to a count value.
Optionally, the calculation rule of dynamic power consumption includes: and calculating a calculation rule of the dynamic power consumption by combining the quadratic relation of the voltage and the event statistical parameter.
The embodiment of the application provides a calculation method, which is used for calculating weight values representing the influence of each hardware event of a functional module on the dynamic power consumption of the functional module; the calculation method comprises the following steps:
acquiring power consumption event relation data according to power consumption simulation data of the integrated circuit; the power consumption event relation data comprises event statistical parameters of hardware event occurrence conditions and corresponding dynamic power consumption;
and obtaining the weight value of each hardware event through regression calculation according to the calculation rule of the dynamic power consumption and the power consumption event relation data.
The embodiment of the application provides a hardware event screening method, which is used for screening a hardware event to be monitored from a hardware event pool; the hardware event screening method comprises the following steps:
acquiring power consumption event relation data according to power consumption simulation data of the integrated circuit; the power consumption event relation data comprises time-sharing event statistical parameters of the occurrence conditions of all hardware events and corresponding dynamic power consumption;
obtaining a weighted value and a check value of each hardware event through regression calculation according to a calculation rule of dynamic power consumption and the power consumption event relation data;
and executing an effectiveness screening process according to the check value and/or executing a correlation screening process at least according to the weight value so as to screen the hardware event to be monitored.
Optionally, the effectiveness screening process includes:
selecting a preset number of alternative hardware events from the hardware event pool to form an alternative event set;
performing a significance checker flow comprising: comparing the check value of the alternative hardware event in the alternative event set with a threshold value to remove the alternative hardware event with the check value lower than the threshold value from the alternative event set, and supplementing the alternative hardware event from the hardware event pool; wherein the threshold value is derived at a given level of significance from the probability distribution followed by each of the test values;
under the condition that the hardware event pool is not empty, repeatedly executing the regression calculation and correspondingly executing a significance check sub-process on the alternative event set until the hardware event pool is empty;
taking each alternative hardware event in the alternative event set obtained through the effectiveness screening process as a hardware event to be monitored; or, each remaining alternative hardware event in the alternative event set is used as an effective hardware event for executing the correlation screening process.
Optionally, the removing, from the candidate event set, the candidate hardware events whose check value is lower than the threshold value, and supplementing the candidate hardware events from the hardware event pool, further includes:
judging whether the number p of the alternative hardware events with the check value lower than the threshold value is 0 or not;
when p is 0, removing 1 with the lowest check value from the alternative event set, and taking 1 from the hardware event pool to supplement the preset number;
when p is not 0, judging whether the number p of the alternative hardware events of which the check value is lower than the threshold value is larger than the number k of the alternative hardware events left in the hardware event pool or not;
when p is less than or equal to k, p alternative hardware events are removed from the alternative event set, and p supplements are taken from k in the hardware event pool to the alternative event set;
and when p > k, removing k candidate hardware events from the p candidate hardware events of the candidate event set, and supplementing the k candidate hardware events in the hardware event pool to the candidate event set so as to maintain the candidate hardware events in the candidate event set to be the preset number.
Optionally, the relevance screening process includes:
acquiring an alternative event set containing a plurality of alternative hardware events;
a relevance comparison sub-process is performed, comprising: calculating according to event statistical parameters corresponding to the weight values of all the alternative hardware events in the alternative event set to obtain estimated power consumption; acquiring actual power consumption corresponding to the estimated power consumption from the power consumption simulation data; acquiring a first correlation coefficient between the estimated power consumption and the corresponding actual power consumption; at least one alternative hardware event with lowest effectiveness is removed from the alternative event set to be updated; performing regression calculation according to the updated alternative event set to obtain a new weight value; calculating according to the new weight value to obtain a second correlation coefficient;
judging whether the variation of the second correlation coefficient compared with the first correlation coefficient exceeds a preset threshold value or not;
if not, the correlation comparison sub-process is repeatedly executed;
if yes, taking the alternative hardware event in the alternative event set before the current correlation comparison subprocess as the hardware event to be monitored.
The embodiment of the application further provides a computing method, which is used for computing a corresponding weight value based on the hardware event to be monitored obtained by the hardware event screening method; the calculation method comprises the following steps:
acquiring power consumption event relation data of a hardware event to be monitored according to the power consumption simulation data of the integrated circuit; the power consumption event relation data comprises statistical information of hardware event occurrence conditions to be monitored and corresponding dynamic power consumption;
and obtaining the weight value of each hardware event to be monitored through regression calculation according to the calculation rule of the dynamic power consumption and the power consumption event relation data.
The embodiment of the application provides a construction method of a power consumption monitoring system, which is used for constructing the power consumption monitoring system; the construction method comprises the following steps:
establishing a hardware event pool of an integrated circuit;
screening hardware events to be monitored from the hardware event pool;
calculating the weight value of each hardware event to be monitored;
determining each corresponding functional module in the integrated circuit according to the hardware event to be monitored, and determining configuration information of the event monitoring module which needs to be set corresponding to each functional module.
An embodiment of the present application provides an integrated circuit, including:
at least one functional module;
the power consumption monitoring system is used for calculating the dynamic power consumption of the at least one functional module.
Optionally, the integrated circuit includes at least one processor chip, and the processor chip includes at least one of the following functional modules: the device comprises a floating point module, an instruction fetching module, a decoding module, an execution module, a reading and writing module and a cache module.
Optionally, the integrated circuit includes: at least one processing module to execute executable program code to perform: acquiring dynamic power consumption of the integrated circuit from the power consumption monitoring system; adjusting power consumption of the integrated circuit according to the obtained dynamic power consumption.
The embodiment of the application provides an event monitoring module, which is used for monitoring a hardware event to be monitored related to dynamic power consumption of a functional module; the event monitoring module comprises:
a first selector comprising: the system comprises a plurality of input ends, a plurality of monitoring modules and a plurality of monitoring modules, wherein the input ends are used for respectively inputting signal values corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the signal value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a second selector comprising: a plurality of input ends, which are used for respectively inputting the weight value corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the weight value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a selection signal generator comprising: an enable terminal for receiving an enable signal; an output terminal coupled to the selection terminals of the first selector and the second selector to output a selection signal generated in response to the enable signal;
and operator, comprising: at least two input ends for respectively obtaining the signal value and the weight value of the selected hardware event to be monitored; the output end is used for outputting the AND operation result of the signal value and the weight value of the selected hardware event to be monitored;
an adder, comprising: a first input terminal for obtaining an input of the and operation result; a second input terminal for inputting the first accumulation result before the adder; the output end is used for outputting a second accumulation result obtained by summing the current AND operation result and the first accumulation result to serve as an event statistical parameter;
a temporary storage, comprising: an input end coupled to the output end of the adder for temporarily storing the accumulation result; and the output end is coupled to the second input end and used for outputting the temporarily stored accumulation result.
The embodiment of the application provides a power consumption monitoring method, which is applied to the power consumption monitoring system; the power consumption monitoring method comprises the following steps:
acquiring event statistical parameters from each event monitoring module;
and calculating the dynamic power consumption of the integrated circuit according to the event statistical parameters of the at least one functional module.
The embodiment of the application provides a power consumption adjusting method, which is applied to the integrated circuit; the power consumption adjusting method comprises the following steps:
acquiring dynamic power consumption of the integrated circuit from the power consumption monitoring system;
adjusting power consumption of the integrated circuit according to the obtained dynamic power consumption.
An embodiment of the present application provides a computer apparatus, including: a memory and a processor, the memory storing executable program code; said processor chip executing said computational method when executing executable program code stored in memory; or, executing the hardware event screening method.
The embodiment of the application provides a computer readable storage medium, which stores executable program codes, and the executable program codes execute the computing method when being executed; or, executing the hardware event screening method; or, executing the power consumption monitoring method; or, the power consumption adjusting method is executed.
Compared with the prior art, the technical scheme of the embodiment of the application has the following beneficial effects:
on one hand, in the power consumption monitoring system in the embodiment of the application, the event monitoring modules are configured corresponding to the functional modules of the integrated circuit to monitor the occurrence condition of the hardware event to be monitored of the functional modules to form the event statistical parameters, and the dynamic power consumption corresponding to the event statistical parameters is calculated to monitor the comprehensive and accurate dynamic power consumption.
On the other hand, the event monitoring module provided in the embodiment of the application has the advantages of simple circuit structure, easiness in implementation and low power consumption.
On the other hand, a method for calculating a weight value representing the degree of correlation between the hardware event and the dynamic power consumption can be further provided, and the weight value is applied to calculation of the dynamic power consumption, so that accuracy of the dynamic power consumption is improved.
On the other hand, a hardware event screening method may also be provided in this embodiment of the present application, so as to screen out events that are more relevant to dynamic power consumption from each hardware event of the function module, and as a hardware event to be monitored, it is also beneficial to improve accuracy of dynamic power consumption calculation.
Drawings
Fig. 1 is a schematic structural diagram of a power consumption monitoring system in an embodiment of the present application.
Fig. 2 is a schematic diagram showing a structure of a processor chip to which the power consumption monitoring system is applied in the embodiment of the present application.
Fig. 3A shows a schematic structural diagram of a logic circuit of the event monitoring module in the embodiment of the present application.
Fig. 3B shows a schematic structural diagram of a logic circuit implemented by the event monitoring module in a more specific embodiment of the present application.
Fig. 4 shows a flowchart of a method for calculating a weight value of a hardware event in an embodiment of the present application.
Fig. 5 shows a flowchart of a hardware event screening method provided in an embodiment of the present application.
Fig. 6 shows a schematic diagram of an effectiveness screening procedure in an embodiment of the present application.
Fig. 7 shows a schematic diagram of a judgment process in the effectiveness screening process in the embodiment of the present application.
FIG. 8 shows a schematic diagram of a relevance screening procedure in an embodiment of the present application.
Fig. 9 shows a flow chart of a method for constructing a power consumption monitoring system in the embodiment of the present application.
Fig. 10 shows a flow chart of a power consumption monitoring method in the embodiment of the present application.
Fig. 11 shows a flow chart of a power consumption adjusting method in the embodiment of the present application.
Fig. 12 shows a schematic structural diagram of a computer device in an embodiment of the present application.
Detailed Description
Based on the requirements of dynamically adjusting power consumption, testing, etc. in an integrated circuit, such as a processor chip, etc., it may be necessary to monitor the dynamic power consumption of the integrated circuit, i.e., the power consumption of the integrated circuit during operation.
In some examples, the power consumption monitoring of the integrated circuit may be an estimation or an actual measurement.
For example, dynamic power consumption estimation may be performed using a Performance Counter (PC), and the dynamic power consumption may be estimated from the value of the Performance Counter using a linear correlation between the PC value of the Performance Counter and the dynamic power consumption. However, the model used for calculation is too simple to reflect the actual operation condition well, resulting in low accuracy.
For another example, the power consumption may be monitored by using a Shunt resistor (Shunt Resistance), which is a resistor added between the power supply and the chip power supply module to directly measure the power consumption of the chip. Although direct measurement, the additional power consumption is excessive and the accuracy is not high.
In view of this, the present embodiment provides a power consumption monitoring system, which adopts a different dynamic power consumption calculation idea from the above example to overcome the above defect according to the correlation between the hardware event of the functional module with power consumption in the integrated circuit and the dynamic power consumption thereof. The following description is made by way of specific examples and drawings.
Fig. 1 shows a schematic structural diagram of a power consumption monitoring system in an embodiment of the present application.
In fig. 1, an integrated circuit 100 is shown that includes at least one functional block that generates power consumption. To facilitate the demonstration of the features of the solution according to the embodiment of the present application, a plurality of functional modules 101A to 101D are exemplarily shown in fig. 1. The functional blocks 101A to 101D refer to functional circuit blocks for implementing necessary logic, such as processing, reading, writing, storage, and the like.
In the example of fig. 1, the power consumption monitoring system includes a plurality of event monitoring modules 102A to 102D, each of the functional modules 101A to 101D may be configured with an event monitoring module 102A to 102D (the functional module 101A is configured with the event monitoring module 102A, the functional module 101B is configured with the event monitoring module 102B, the functional module 101C is configured with the event monitoring module 102C, and the functional module 101D is configured with the event monitoring module 102D) for monitoring occurrence of hardware events of the functional modules 101A to 101D and generating corresponding event statistical parameters. In an implementation, the event monitoring modules 102A to 102D may be integrated into the functional modules 101A to 101D, or may be coupled to the functional modules 101A to 101D, so that although the example of fig. 1 is shown as being integrated into the functional modules, the disclosure is not limited thereto.
The power consumption monitoring system further includes a control module 103 coupled to each of the event monitoring modules 102A to 102D, for calculating a dynamic power consumption of the whole integrated circuit 100 according to event statistical parameters related to hardware events of each of the functional modules 101A to 101D. In a possible example, the control module 103 may be implemented by a microcontroller (Micro Controller) or the like, for example.
In some examples, the type of functional module that needs to be provided with the event monitoring module may also be selectable, for example, by selecting functional modules that consume more than a certain percentage of the total power consumption of the entire integrated circuit, e.g., 90%, 95%, 99%, 100%, etc.; or selecting a plurality of power consumptions ranked in the front; or the two modes are combined, namely, a plurality of functional modules arranged in the front row are selected, and the sum of the power consumption of the functional modules accounts for more than a certain proportion of the total power consumption of the whole integrated circuit.
For example, in a processor Chip such as a CPU or a System On Chip (SoC), functional modules may include, but are not limited to, a floating Point module (Float Point, FP), an InstruCtion Fetch module (instraction Fetch, IC), a DEcoder module (DEcoder, DE), an EXecution module (EXecution and secure, EXSC), a read/write module (Load and Store, LS), a Level/Level Cache module (Level 1/2/3Cache), and the like.
Fig. 2 is a schematic structural diagram of a processor chip to which the power consumption monitoring system is applied in the embodiment of the present application.
The processor Chip 200 may be a CPU or a System On Chip (SoC); the processor chip 200 includes a first processor core 210 and a second processor core 220, wherein each processor core 210 or 220 includes a floating point module, an instruction fetching module, a decoding module, an execution module, a read-write module, a second-level cache and other functional modules; the processor chip further includes: a third level cache 230, an interface module 240 (e.g., IO, northbridge, etc.), and the like.
In this example, each functional module is correspondingly provided with at least one event monitoring module, which is shown as event monitoring modules 211-216 in the first processor core 210, event monitoring modules 221-226 in the second processor core 220, two event monitoring modules 231, 232 in the third-level cache 230, and an event monitoring module 241 in the interface module 240, and is coupled to the control module 250. The control module 250 may be a microcontroller implementation in the processor chip 200. In a possible example, the microcontroller may be an existing microcontroller in a processor chip, and performing dynamic power consumption calculation by using the existing microcontroller is beneficial to reducing cost; of course, the microcontroller may be additionally provided.
In an alternative example, each event monitoring module is configured to monitor a preset number of hardware events of the corresponding functional module, and configure a number of event monitoring modules that match the number of hardware events to be monitored of the corresponding functional module. For example, each event monitoring module may monitor occurrence of 8 hardware events, and if there are 18 hardware events to be monitored in one functional module, 3 event monitoring modules need to be configured.
It should be noted that a plurality of event monitoring modules are used to monitor hardware events of different parts of a functional module, and a parallel processing mode among different event monitoring modules is beneficial to accelerating the operation efficiency. In other examples, for example, a single hardware monitoring module may be used to monitor a greater number of hardware events, for example, each hardware monitoring module may monitor 18 hardware events, so that if there are 18 hardware events to be monitored in a functional module, only one hardware monitoring module is needed, but in the hardware monitoring module, if multiple hardware events are not processed in parallel, the operation efficiency is inferior to that of the above-mentioned parallel manner of multiple hardware monitoring modules.
Because the power consumption is based on P ═ IU ═ U-2the/R calculation, therefore, in some examples, when the control module performs the dynamic power consumption calculation, the mathematical model of the calculation rule may be related to the quadratic relation of the voltage and the event statistical parameter, for example, as shown in the following formula (1):
P=(A*V2+B*V)*C (1)
wherein V is the supply voltage of the integrated circuit, A, B is a coefficient related to the voltage, C is the event statistical parameter, the occurrence or non-occurrence of the hardware event is determined by the operating frequency, the operating frequency is related to the clock, and the event statistical parameter C reflects the operating frequency and clock condition of the integrated circuit. In specific implementation, V is known in advance, and the value of the coefficient A, B can be obtained by measuring the power consumption of an integrated circuit under different voltages when an actual circuit of the integrated circuit is tested by Automatic Test Equipment (ATE), and then calculating; alternatively, the power consumption in the simulation data may be obtained by simulating the design of the integrated circuit and then calculating.
In some examples, when calculating the event statistic parameter C, the occurrence of each hardware event to be monitored may be considered, and the signal value may be obtained by counting, for example, the signal value of the occurrence of the hardware event is "1", and the signal value of the non-occurrence of the event is "0", and the occurrence of the hardware event may be reflected by counting the number of times of the signal value of "1" of the hardware event in a period of time. The statistical frequency may be calculated by accumulating according to time lapse, and in order to represent a difference in influence of each to-be-monitored hardware event on dynamic power consumption of the integrated circuit, a weight value is set in association with each to-be-monitored hardware event, and is used for combining with a signal value related to occurrence of the hardware event, so as to obtain the event statistical parameter by calculation.
Illustratively, the event statistical parameter C may be obtained by weighting, with a corresponding weight value, a signal value of each hardware event to be monitored occurring according to time and then accumulating the signal values. For example, all of the integrated circuits are shown in equation (2) below:
Figure BDA0002822178360000111
wherein num represents the total number of all hardware events to be monitored in the integrated circuit, ValueiIndicates the number of signal values of "1" (i.e., occurrence number) of occurrence of ith hardware event to be monitored in the integrated circuit, WeightiThe weight value of the ith hardware event to be monitored in the integrated circuit is represented.
It can be understood that although in the equation (2), the function modules are not distinguished, and statistics are performed from the perspective of all the hardware events to be monitored, in an actual example, each event monitoring module is responsible for calculating the event statistical parameters of the hardware events to be monitored of the function module where the event monitoring module is located, and then summarized to the control module for summation, and assuming that there are j function modules, the above equation (2) can be converted into the corresponding equation (3):
C=C1+C2+...Cj (3)
wherein, C1~CjThe event statistical parameters of the functional modules 1 to j are respectively added to obtain an event statistical parameter C of the whole integrated circuit.
Based on the above example, the event monitoring module calculates the event statistical parameter for the occurrence of the monitored hardware event, for example, implementing the weighting and accumulating function of time sharing, so logically, the event monitoring module may be a weighting and accumulator of time sharing.
Fig. 3A is a schematic diagram of a logic circuit structure of the event monitoring module according to the embodiment of the present application.
And the event monitoring module is used for monitoring hardware events to be monitored related to the dynamic power consumption of the functional module. In some examples, the event monitoring module in the example of fig. 3A may be applied to the embodiments of fig. 1 and fig. 2, but may also be applied to the functional modules in other scenarios, and is not limited to the above examples; the implementation of the event monitoring module in the embodiments of fig. 1 and fig. 2 is not limited to the embodiment.
In this embodiment, the event monitoring module 300 includes: a first selector 310, a second selector 320, a selection signal generator 330, an and operator 340, an adder 350, and a register 360.
The first selector 310 includes: the system comprises a plurality of input ends, a plurality of monitoring modules and a plurality of monitoring modules, wherein the input ends are used for respectively inputting signal values corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the signal value of the selected hardware event to be monitored; and a selection terminal for inputting a selection signal for selecting a hardware event. In the example of fig. 3A, there are 8 input ends of the first selector 310, which are respectively used for inputting the signal values event 0-event 7 of the hardware events 0-7 to be monitored, and there is one output end thereof used for outputting the selected signal value of the hardware events 0-7. For example, if hardware event0 is selected and event0 signal value is "1" if it is occurring, the output of the first selector 310 outputs "1".
The second selector 320 includes: a plurality of input ends, which are used for respectively inputting the weight value corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the weight value of the selected hardware event to be monitored; and a selection terminal for inputting a selection signal for selecting a hardware event. In the example of fig. 3A, there are 8 corresponding input terminals of the second selector 320, and the input terminals are respectively used for inputting the weight values of the corresponding hardware events of 0 to 7. In a possible example, the weight value 0-7 corresponding to each hardware event to be monitored is preset, and the corresponding signal value is set at each input end of the second selector 320, so that the signal value set at the selected input end is output to the output end when a certain input end of the second selector 320 is selected.
The selection signal generator 330 includes: an enable terminal for receiving an enable signal; an output terminal coupled to the selection terminals of the first selector 310 and the second selector 320 for outputting a selection signal generated in response to the enable signal.
The event monitoring module 300 has an enable signal terminal for receiving an external enable signal to operate, for example, pulling up to a high level "1"; the external enable signal may be issued by the control module or by other controllers internal or external to the integrated circuit.
The enable terminal of the selection signal generator 330 is coupled to the enable signal terminal. In an alternative example, when the enable level is pulled up to "1", the selection signal generator 330 starts to output selection signals "0" to "7" corresponding to hardware times 0 to 7; when the pull-down is "0", the selection signal generator 330 outputs signals other than "0" to "7", indicating that selection is not performed.
In an alternative example, since the selection signal type corresponds to the selected range of the number of the hardware events to be monitored, for example, between 0 and 7 of the above hardware events, in an example of specific implementation, the selection signal generator 330 may include a loop counter for counting in a loop within the range of the number of the hardware events monitored by the event monitoring module 300, and forming the selection signal according to the count value. For example, one of "0" to "7", such as "5", is cyclically output to the first selector 310 and the second selector 320, so that the first selector 310 selects the signal value (such as "1" or "0") output of the hardware event 5, and the second selector 320 selects the weight value output of the hardware event 5.
The and operator 340 includes: at least two input ends for respectively obtaining the signal value and the weight value of the selected hardware event to be monitored; and the output end is used for outputting the AND operation result of the signal value and the weight value of the selected hardware event to be monitored. For example, the first selector 310 selects the signal value (e.g., "1") of hardware event 5 to be output, and the second selector 320 selects the weight value (e.g., 0.2) of hardware event 5 to be output, and then the product of 1 and 0.2 obtained after calculation is 0.2 to be output.
The adder 350 includes: a first input terminal for obtaining an input of the and operation result; a second input terminal for inputting the first accumulation result before the adder 350; and the output end is used for outputting a second accumulation result obtained by summing the current AND operation result and the first accumulation result to serve as an event statistical parameter. In this example, the first accumulation result obtained before the adder 350 is returned to the second input end to be added to the sum operation result of the first input end, so that it can be inferred that the adder 350 can accumulate the products of the signal values and the weighted values of the hardware events 0 to 7 to be monitored at different times to output the event statistical parameters of the function module in which the function module is located on the hardware events 0 to 7.
For example, in a certain period, if the hardware event0 occurs 3 times, the hardware event 2 occurs 2 times, the hardware event 5 occurs 1 time, the weight value corresponding to the hardware event0 is 0.1, the weight value corresponding to the hardware event 2 is 0.3, and the weight value corresponding to the hardware event 5 is 0.2, the hardware events are weighted and accumulated by the event monitoring module 300, and finally, 3 × 0.1+2 × 0.3+1 × 0.2 is obtained as 1.1, and the obtained value is output as the event statistical parameter.
For example, if the event monitoring module 300 is one of the event monitoring modules 300 corresponding to one functional module in the integrated circuit, the sum of the partial event statistical parameter, i.e., 1.1, and the event statistical parameter obtained by the other event monitoring modules 300 corresponding to the functional module is the event statistical parameter of the functional module, and is further summed with the event statistical parameters of the other functional modules in the integrated circuit to obtain the event statistical parameter of the entire integrated circuit; for another example, the event monitoring module 300 is the only event monitoring module 300 corresponding to one functional module in the integrated circuit, and the event statistical parameter 1.1 is summed with the event statistical parameters of other functional modules in the integrated circuit to obtain the event statistical parameter of the whole integrated circuit, and the dynamic power consumption can be calculated according to the formula (1).
The temporary storage 360 includes: an input terminal coupled to the output terminal of the adder 350 for temporarily storing the accumulated result; and the output end is coupled to the second input end and used for outputting the temporarily stored accumulation result. In some examples, the register 360 may be formed by a plurality of flip-flops having a memory function, such as D flip-flops.
The term "coupled", as used herein, refers to a direct connection or an indirect connection through a third party device.
The logic architecture of the basic implementation shown in the embodiment of FIG. 3A may vary in scenarios where the requirements are more complex.
Fig. 3B is a schematic diagram of a logic circuit implemented by an event monitoring module according to a more specific embodiment of the present application.
Considering that the event monitoring module may output the accumulated event statistical parameters according to time periods, at the end of each time period, it is necessary to reset the current state of the selection signal generator (for example, the loop counter is reset to output from 0), and it is also necessary to clear the accumulated result of the register so as to restart calculating the corresponding event statistical parameters in the next time period.
To this end, the event monitoring module 300' in the example of fig. 3B adds signals, logic devices and corresponding terminals corresponding to the above requirements to its structure compared to fig. 3A. The first selector 310', the second selector 320', the selection signal generator 330', the and operator 340', the adder 350', and the temporary storage 360' included in the event monitoring module 300' have substantially the same functions as those of the corresponding modules with the same names in fig. 3A, but more specifically show the terminals they may have in actual implementation.
In fig. 3B, the event monitoring module 300' has a clear signal terminal (clear) for introducing a clear signal (e.g., pulling up to 1); the selection signal generator 330' further has a clear terminal coupled to the clear signal terminal for resetting according to a clear signal. The event monitoring module 300' may further have a clock signal terminal, which may access a clock signal, and the clock signal may be transmitted to the temporary storage, and if the temporary storage includes a D flip-flop, the clock signal may control its state, for example, when a rising edge arrives, the clock signal triggers the transmission of the signal value at the input terminal D to the output terminal Q, and so on.
Optionally, another and operator 370 'coupled between the and operator 340' and the adder 350 'may be added to the event monitoring module 300', two input terminals of the and operator 340 'are respectively provided for inputting the and operation result and the enable signal, and an output terminal of the and operator 340' is coupled to an input terminal of the adder 350', so that the operation result can be output to the adder 350' only when the enable signal is "1".
Optionally, a third selector 380' may be added, whose selection terminal is coupled to the clear signal terminal, two input terminals are coupled to the output terminal of the adder 350' and the low level "0", respectively, and its output terminal is coupled to the input terminal of the register 360 '; when the clear signal is "0", the third selector 380 'selects the accumulated result output by the adder 350' to the register 360 'to be temporarily stored in the register 360'; when a clear signal of "1" is received, a low level is selected to be output to the register 360' to clear the accumulation result.
For the sake of clarity, a specific application example is shown in conjunction with fig. 3B:
when the event monitoring module 300' needs to start working, the control module (or other controllers) enables the enable terminal of the event monitoring module 300' to be pulled up to "1", the selection signal generator 330' is enabled to output the selection signals of 0-7 by cycle counting, and the and operator 370' outputs the and operation result of the and operator 340' to the adder 350', and the selection result is output to the register 360' by the third selector 380' for realizing the accumulation of the adder 350 '.
When a certain condition is met, such as the end of the period or external intervention, and the event statistical parameter needs to be read, outputting the accumulated result stored in the temporary storage 360' as the event statistical parameter of the corresponding period; further, the control module pulls down the level of the enable signal terminal of the event monitoring module 300 'to "0" to stop the operation of the event monitoring module 300', and pulls up the level of the clear signal terminal of the event monitoring module 300 'to "1" to clear the reset of the selection signal generator 330', and controls the third selector to select a low level to output to the register 360 to clear the accumulation result stored in the register 360. The correspondence relationship between the signal values "0" and "1" at the signal terminals and the realized functions is merely an example, and may be changed in other examples, for example, the realized functions may be interchanged, and the present invention is not limited thereto.
Thereafter, the above process may be repeated again to obtain the event statistical parameters for the next period.
Fig. 4 is a schematic flow chart illustrating a method for calculating a weight value of a hardware event according to an embodiment of the present application. The weight value is used for reflecting the influence of each hardware event of the functional module on the dynamic power consumption of the functional module. In an alternative example, the weight value may be applied to the calculation of the event statistical parameter in the previous embodiment.
The method for calculating the weight value comprises the following steps:
step S401: and acquiring power consumption event relation data according to the power consumption simulation data of the integrated circuit.
The power consumption event relation data comprises event statistical parameters of hardware event occurrence conditions and corresponding dynamic power consumption.
In some examples, the power consumption simulation data may be waveform data of signals in the integrated circuit acquired from a simulation platform, such as waveform data of the integrated circuit under a test case simulating a specific scene, or waveform data obtained by the integrated circuit under a performance test, and the like. Optionally, the simulation Platform may be a Hardware simulation Platform (Hardware Emulation Platform), and the speed of generating the waveform data by Hardware acceleration is relatively high; alternatively, the waveform data may be acquired by software simulation.
In some examples, the statistical data of the hardware event occurrence conditions included in the power consumption event relationship data is, for example, the number of times of occurrence of each hardware event in a certain period, and the corresponding dynamic power consumption may be an analysis result, such as an average value, of the dynamic power consumption obtained in the certain period according to the power consumption simulation data. That is, in the power consumption event relationship data, the analysis result of the dynamic power consumption and the statistical data of the hardware event are in the same time period to generate a relationship; therefore, in an actual example, the analysis result of the dynamic power consumption and the statistical data of the hardware event do not necessarily need to be stored in the same file (e.g., log file of log), but may be stored in different files in association with the respective periods, respectively, such as a power consumption log file storing the analysis result of the dynamic power consumption obtained by a period, and a power consumption log file storing the statistical data of the hardware event obtained by a period.
In some examples, the occurrence of each hardware event may be captured from the waveform data through, for example, a pre-programmed script, such as a read/write module generating a corresponding waveform signal change at a terminal when a read event or a write event occurs, so as to determine the occurrence of the corresponding hardware event and count the occurrence times.
Step S402: and obtaining the weight value of each hardware event through regression calculation according to the calculation rule of the dynamic power consumption and the power consumption event relation data.
In some examples, the calculation rule of the dynamic power consumption may be, for example, the calculation manner of formula (1), however, it should be noted that the value of A, B, V may be obtained in advance, and when the weight value of each hardware event included in C needs to be determined, a × V may be used2And + B × V is a constant K, i.e., P ═ K × C, C is a weighted sum of the event statistical parameters and the weighted values of the hardware events in the formula (2).
Each weight value is actually obtained by a linear equation using the weight value K as a parameter and the event statistics acceptance number of the hardware event as a variable, and using a multiple linear regression calculation (or, for example, a least square method) to predict the weight value.
In the multiple linear regression calculation, check values can be generated corresponding to the obtained weight values so as to check the credibility of the weight values.
It can be understood that if each hardware event in the integrated circuit is taken into account, the calculation amount of the power consumption monitoring system is increased, and the size of the event monitoring module is also increased; in some examples, the check value of each weight value may be used to screen hardware events of the integrated circuit, and the screened hardware events are used as "hardware events to be monitored" in the foregoing embodiment, and accordingly, after obtaining each hardware event to be monitored, the method shown in the above embodiment of fig. 4 is performed on them to obtain the weight value of each hardware event to be monitored.
Fig. 5 is a schematic flow chart illustrating a hardware event screening method provided in an embodiment of the present application. The hardware event screening method is used for screening out the hardware events to be monitored from the hardware event pool.
In some examples, if the hardware event pool is a corresponding integrated circuit, the hardware event pool includes the hardware event in the integrated circuit, and is not limited to a certain functional module in the integrated circuit; or, if the hardware event pool corresponds to a certain functional module, the hardware event pool includes the hardware event in the functional module; or, if the hardware event pool corresponds to a certain circuit board, and the circuit board may include a plurality of integrated circuits (e.g., chips), the hardware event pool may include hardware events in each integrated circuit, and is not limited to a certain chip or hardware events in the chip; therefore, the method in the embodiment of fig. 5 can be applied to various demand scenarios, and is not limited to the previous embodiment.
The hardware event screening method comprises the following steps:
step S501: and acquiring power consumption event relation data according to the power consumption simulation data of the integrated circuit.
The power consumption event relation data comprises time-sharing event statistical parameters of hardware event occurrence conditions and corresponding dynamic power consumption. For example, associated event statistics and dynamic power consumption are generated for each time period in the time sequence.
In a specific implementation, the specific implementation of step S501 may be the same as or similar to step S401 described above.
Step S502: and obtaining the weight value and the check value of each hardware event through regression calculation according to the calculation rule of the dynamic power consumption and the power consumption event relation data.
In a specific implementation, the specific implementation principle of the prediction of the weight value in step S501 may be the same as or similar to that in step S402. That is, for example, a multiple regression calculation is used to obtain the weight value of each hardware event.
In an alternative example, for a linear equation with P ═ K × C, a T test is performed on coefficients (i.e., weighted values) obtained by multiple linear regression with the weighted value of each hardware event to be monitored as a coefficient and the corresponding event statistical parameter as a variable, so as to detect the significance of the variable.
For example, there are m hardware events to be monitored, and βjTo represent the weight value, X, of each hardware eventjAn event statistic parameter, j 1.. m, representing each hardware event; the dynamic power consumption P can be expressed as:
P=K*(β1X1+β2X2+....βmXm);
obtaining beta by multiple linear regression1~βmAnd the test parameter is test betajWhether or not hypothesis H is satisfied0: such as betaj=aj(ii) a Especially when ajWhen 0, it is a significance test in a particular case. If H is rejected0,βjNot equal to 0, indicates XjHas a significant linear effect on P, corresponding to betajOnly then is it available; otherwise, description of XjHas no significant linear effect on P, corresponding to betajIt is not preferable.
By significance testing, X can be testedjThe hardware events represented have a significant effect on P and thus may decide whether to screen them.
The above-mentioned T-test is only an example, and in other examples, the corresponding test value may be adopted according to different test modes, which is not limited to the above.
Step S503: and executing an effectiveness screening process according to the check value and/or executing a correlation screening process at least according to the weight value so as to screen the hardware event to be monitored.
Optionally, as shown in fig. 6, a schematic diagram of an effectiveness screening process in the embodiment of the present application is shown. The effectiveness screening process comprises the following steps:
step S601: and selecting a preset number of alternative hardware events from the hardware event pool to form an alternative event set.
In some examples, a hardware Event pool (Event pool) may be formed by selecting a set of hardware events that have a relatively large impact on the dynamic power consumption of the integrated circuit based on, for example, a priori knowledge.
Further, a preset number of alternative hardware events may be arbitrarily selected from the hardware event pool. Optionally, the preset number may be consistent with the number of the hardware events to be monitored, which is finally obtained; alternatively, the number of batches required for actual implementation may be set.
Step S602: performing a significance checker flow comprising: and comparing the check value of the alternative hardware event in the alternative event set with a threshold value to remove the alternative hardware event with the check value lower than the threshold value from the alternative event set, and supplementing the alternative hardware event from the hardware event pool.
Wherein the threshold value is derived at a given level of significance from the probability distribution followed by each of the test values.
For example, in the previous step, for example, 40 candidate hardware events, b ═ 40 candidate hardware events, are obtained from the hardware event pool to form the candidate event set, and the 40 candidate hardware events are subjected to multivariate linear regression and T-test is adopted to obtain weight values of the 40 hardware events and a T-test value of each weight value.
Assuming that the number of hardware events in the hardware event pool is n, the T-test value conforms to a T-distribution with a degree of freedom of n-40. The threshold value set at a given significance level is alpha<0.05 (i.e. the confidence of the weight value needs to be more than 95%), and the threshold value T can be obtained by searching a T distribution table with the degree of freedom of n-41threshold
Figure BDA0002822178360000191
Comparing the T check value of each weight value with TthresholdComparing, and checking if T is less than TthresholdIn case (2), it is considered that hypothesis H cannot be rejected0Corresponding hardware events need to be removed; furthermore, new hardware events are obtained from the remaining hardware events in the hardware event pool to supplement.
Optionally, after step S602, step S603 may be performed: and judging whether the hardware event pool is emptied.
If not, go to step S604: repeatedly executing the regression calculation on the supplemented alternative event set to update the weight value and the check value, and repeatedly executing the significance checker flow; and iterating in this way until the hardware event pool is judged to be empty, in step S605: and obtaining an alternative event set after effectiveness screening.
In some examples, the number of the alternative hardware events in the alternative event set may be always maintained as the preset number, so that when iteration is facilitated, the number of each weight value calculated according to the alternative event set is kept consistent with the number of each previous weight value, and an excessive difference between weight values of different times is also avoided.
For example, the previous candidate event set has 40 candidate hardware events and also has 40 weight values; if only 30 candidate hardware events and 30 corresponding weight values exist next time, on one hand, the lack of candidate hardware events may be adverse to the accuracy of power consumption monitoring, and moreover, the size difference between the 30 weight values and the 40 weight values is inevitably large, which is adverse to the final obtaining of credible weight values.
To this end, in some examples, the preset number of alternative hardware events in the resulting alternative event set may be maintained constant in the flow of fig. 6 by determining and adjusting the number of alternative hardware event culling and replenishment.
In a specific implementation, as shown in fig. 7, the above-mentioned elimination and supplement process may further include the following determination process:
optionally, step S701 may be performed first: judging whether the number k of the remaining alternative hardware events in the hardware event pool is 0 or not;
in a specific implementation, step S701 may replace step S603.
It should be noted that step S701 is not necessary, and may not be required to replace step S603, because there is an action of taking the alternative hardware event from the hardware event pool in the subsequent flow. If k is 0, the candidate hardware event cannot be fetched, and if it is, the candidate hardware event cannot be fetched as a determination condition and the flow is terminated as it is, so step S701 is indicated by a dotted line as an option.
If k is equal to 0, the hardware event pool is cleared, and the process is ended; if k is not equal to 0, a subsequent determination is performed, and the process proceeds to step S702.
Optionally, step S702 is executed: and judging whether the number p of the alternative hardware events with the check value lower than the threshold value is 0 or not.
If p is equal to 0, it indicates that there is no alternative hardware event lower than the threshold, but since the hardware event pool is not empty, there may be a better alternative hardware event afterwards, step S703 may be executed: and removing 1 with the lowest check value from the alternative event set, and taking 1 from the hardware event pool to supplement the preset number.
If p is not equal to 0, it indicates that there is an alternative hardware event that can be culled, then proceed to step S704.
Step S704: judging whether the number p of the alternative hardware events with the check value lower than the threshold value is larger than the number k of the alternative hardware events left in the hardware event pool or not;
step S705: if p is less than or equal to k, removing p alternative hardware events from the alternative event set, taking p supplements from k in the hardware event pool to the alternative event set, and then ending the judgment process in fig. 7; since the hardware event pool is not yet emptied, the above iterative process may then be performed according to the supplemented alternative event set.
Wherein, p is less than or equal to k, which indicates that the alternative hardware event number k in the hardware event pool can supplement the reduced p, and the alternative event set can be maintained in the predetermined number.
Step S706: if p > k, removing k candidate hardware events from the p candidate hardware events of the candidate event set, and supplementing the k candidate hardware events in the hardware event pool to the candidate event set to maintain the candidate hardware events in the candidate event set as the preset number.
Wherein p > k indicates that the number k of the alternative hardware events in the hardware event pool is not enough to supplement p that should be reduced, so that only k events are removed and k events are supplemented to maintain the preset number of the alternative hardware events in the alternative event set unchanged, and the judgment process of fig. 7 is ended; since the hardware event pool is emptied after k times of padding, it can be executed with reference to S604 in fig. 6.
In some examples, after the effectiveness screening process of fig. 6, each alternative hardware event in the obtained alternative event set may be directly used as a hardware event to be monitored; or, in other examples, each alternative hardware event remaining in the alternative event set may be further used as a valid hardware event for executing the correlation screening process.
Fig. 8 is a schematic diagram showing a correlation screening process in the embodiment of the present application. The correlation screening process comprises the following steps:
step S801: a candidate event set comprising a plurality of candidate hardware events is obtained.
In some examples, the correlation screening process may be a subsequent process of the validity screening process, and then the set of candidate events includes the valid hardware events, so that each valid hardware event is further clipped through the correlation screening process.
Step S802: a relevance comparison sub-process is performed, comprising: calculating according to event statistical parameters corresponding to the weight values of all the alternative hardware events in the alternative event set to obtain estimated power consumption; acquiring actual power consumption corresponding to the estimated power consumption from the power consumption simulation data; acquiring a first correlation coefficient between the estimated power consumption and the corresponding actual power consumption; at least one alternative hardware event with lowest effectiveness is removed from the alternative event set to be updated; performing regression calculation according to the updated alternative event set to obtain a new weight value; and calculating according to the new weight value to obtain a second correlation coefficient.
In a specific implementation, the estimated power consumption may be calculated by referring to the foregoing equation (1), and the actual power consumption may be the power consumption of the integrated circuit in the same time period as the estimated power consumption, which is extracted from the power consumption simulation data, and its value is, for example, an average result of power consumptions simulated by the integrated circuit in the time period. The second correlation coefficient and the first correlation coefficient may adopt the same calculation method, and the difference is that weight value combinations generated by different alternative hardware event combinations in the alternative event set are different, so that the calculated first correlation coefficient and the calculated second correlation coefficient are different. Optionally, the first correlation coefficient and the second correlation coefficient may be implemented based on an R-square (R-square) or an adjusted R-square (Adjust R-square) index.
In an alternative example, the functionality may refer to the trustworthiness or relevance of an alternative hardware event to the dynamic power consumption impact of the integrated circuit; if the confidence is lowest, which may correspond to the check value of the weight value (e.g., the aforementioned T-check value), then in the correlation sub-process, one or more candidate hardware events with the lowest check value may be eliminated; or, the lowest correlation value may correspond to the lowest weight value, and in the correlation comparison sub-process, one or more candidate hardware events with the lowest weight value may also be removed; of course, since a higher weight value and a lower check value are more preferable to be considered as being unreliable, the priority of the confidence of the check value size determination should be higher than the correlation of the weight value size determination, and therefore, it is preferable to use the check value of the alternative hardware event as the criterion of the high or low action degree for the accuracy.
For example, if there are 40 candidate hardware events in the candidate event set, the first correlation coefficient is calculated according to the 40 candidate hardware events and is set as RgoldenExecuting a correlation comparison sub-process on the candidate event set, removing 1 candidate hardware event with the lowest T test value, for example, leaving 39 candidate hardware events, calculating the second correlation coefficient for the remaining 39 candidate hardware events, and setting the second correlation coefficient as Rsquare
Step S803: judging whether the variation of the second correlation coefficient compared with the first correlation coefficient exceeds a preset threshold value or not; if not, returning to the step S802, and repeatedly executing the correlation comparison sub-process; if yes, go to step S804.
To explain the principle, the preset threshold is set to Rthreshold(ii) a If R isgolden-Rsquare<RthresholdIf so, the reduced alternative hardware event has little influence on the dynamic power consumption and can be removed; on the contrary, if Rgolden-Rsquare≥RthresholdIt is indicated that the impact of the culled alternative hardware event on the dynamic power consumption is not negligible.
Step S804: and executing the alternative hardware event in the alternative event set before the current correlation comparison subprocess as the hardware event to be monitored.
According to the principle, when the influence of the culled alternative hardware events on the dynamic power consumption is not negligible, the alternative event set before the culling is used for obtaining the hardware events to be monitored.
It is understood that after obtaining the hardware events to be monitored, if applied to the embodiment of fig. 1, the type (how many hardware events to be monitored can be monitored) and the number (how many hardware events to be monitored can be determined for each function module according to the obtained hardware events to be monitored; if the power consumption monitoring module configured in the embodiment of fig. 3A is used, the corresponding position to which the first selector is connected may be determined according to the event to be monitored of the functional module, and the weight value to be configured at each input end of the second selector may be determined.
It should be emphasized that, in step S503 in the embodiment of fig. 5, the effectiveness screening process (for example, as shown in the embodiment of fig. 6) may be separately adopted to screen each alternative hardware event, and may be directly used as the hardware event to be monitored; alternatively, the relevance screening process (for example, as shown in the embodiment of fig. 8) may be adopted to further screen out irrelevant alternative hardware events from each valid hardware event obtained by the validity screening process, so as to obtain the hardware event to be monitored.
In other examples, the relevance screening process may also be separately adopted to screen out irrelevant alternative hardware events, and the remaining alternative hardware events after screening are directly obtained as the hardware events to be monitored; or, the correlation screening process may be executed first, and the validity screening process is executed on each of the remaining candidate hardware events after the screening process, so as to obtain the hardware event to be monitored, which may be selected and implemented according to actual requirements.
It should be noted that, after obtaining each hardware event to be monitored in the above embodiment, a calculation method of the weight value may be executed, for example, the calculation method in the embodiment shown in fig. 4 is executed, so as to obtain the weight value of each hardware event to be monitored. The weight value may be used for each event monitoring module in the power consumption monitoring system.
To more clearly show the possibility of the combined application of the above embodiments, as shown in fig. 9, a flow chart of a method for constructing a power consumption monitoring system in the foregoing embodiments (for example, the embodiment of fig. 1) may also be provided in the embodiment of the present application:
step S901: a pool of hardware events for an integrated circuit is established.
In some examples, the integrated circuit may be, for example, a processor chip such as a CPU, SoC, or the like; alternatively, the hardware events having a large impact on power consumption of the integrated circuit may be selected by a priori knowledge (such as technical knowledge, experience, experimental data, and the like) to form the hardware event pool.
Step S902: and screening the hardware events to be monitored from the hardware event pool.
In some examples, a hardware event screening method such as that in the embodiment of fig. 5 may be performed, and in the screening process, the validity screening process in the embodiment of fig. 6 is performed first, and the process in the embodiment of fig. 7 may be used to obtain an alternative event set containing valid hardware events maintained at a predetermined number, and then the correlation screening process in the embodiment of fig. 8 is performed to reject valid hardware events with lower check values one by one or more times, and when the rejection is not possible (e.g., R isgolden-Rsquare≥Rthreshold) And obtaining the output of each hardware event to be monitored of the integrated circuit.
Step S903: and calculating the weight value of each hardware event to be monitored.
In some examples, the weight value may be calculated for each hardware event to be monitored obtained by filtering, for example, by the calculation method in the embodiment of fig. 4.
Step S904: determining each corresponding functional module in the integrated circuit according to the hardware event to be monitored, and determining configuration information of the event monitoring module which needs to be set corresponding to each functional module.
In some examples, the configuration information includes: at least one of the number of the event monitoring modules, the connection relation, the setting of the weight value, and the like. For example, if the number of hardware events that can be monitored by each event monitoring module is fixed, for example, 8, and there are 16 hardware events to be monitored in a certain functional module obtained by screening, 2 event monitoring modules need to be configured corresponding to the functional module; for another example, the hardware event in the functional module is A, B, C, D, E, and the hardware event A, C to be monitored is determined, then each input terminal of the first selector of the correspondingly configured event monitoring module is coupled to a pin, a line, or a connection point of the device that correspondingly detects the signal value of A, C in the functional module; for another example, the input terminals of the second selector in the event monitoring module are set to the weight values of the corresponding hardware events to be monitored.
Each event monitoring module may be connected to a control module (e.g. a microcontroller) to form the power consumption monitoring system.
Fig. 10 is a schematic flow chart illustrating a power consumption monitoring method according to an embodiment of the present application. The power consumption monitoring method may be applied to the power consumption monitoring system in the foregoing embodiment (e.g., fig. 1). In a specific implementation example, the power consumption monitoring method may be implemented by a control module (e.g., implemented by a microcontroller) running executable program code. Since the technical features between the embodiments can be used alternately, the specific implementation technical details in this embodiment can refer to the previous embodiments, and are not repeated in this embodiment.
The power consumption monitoring method specifically comprises the following steps:
step S1001: acquiring event statistical parameters from each event monitoring module;
step S1002: and calculating the dynamic power consumption of the integrated circuit according to the event statistical parameters of the at least one functional module.
As shown in fig. 11, a schematic flow chart of a power consumption adjusting method in the embodiment of the present application is shown.
Since the technical features between the embodiments can be used alternately, the specific implementation technical details in this embodiment can refer to the previous embodiments, and are not repeated in this embodiment.
The power consumption adjusting method comprises the following steps:
step S1101: acquiring dynamic power consumption of the integrated circuit from the power consumption monitoring system;
step S1102: adjusting power consumption of the integrated circuit according to the obtained dynamic power consumption.
In a specific implementation, the power consumption adjusting method may be applied to an integrated circuit including the aforementioned power consumption monitoring system, for example, a processor chip such as a CPU or an SoC, so as to implement by running an executable program code. In a specific example, the power consumption adjusting method may be applied to a DVFS of a processor chip, where the processor chip obtains dynamic power consumption through an included power consumption monitoring system, and adjusts the power consumption of the processor chip correspondingly, for example, by adjusting voltage, frequency, and the like. Of course, the processor chip is used as an example, but in practical implementation, the chip may be another type of integrated circuit that requires power consumption adjustment, and the implementation is not limited thereto.
Embodiments of the present application may also provide an integrated circuit, including:
at least one functional module; and
the power consumption monitoring system is used for calculating the dynamic power consumption of the at least one functional module.
Optionally, the integrated circuit includes at least one processor chip, and the processor chip includes at least one of the following functional modules: the device comprises a floating point module, an instruction fetching module, a decoding module, an execution module, a reading and writing module and a cache module.
Optionally, the integrated circuit includes: at least one processing module to execute executable program code to perform: acquiring dynamic power consumption of the integrated circuit from the power consumption monitoring system; adjusting power consumption of the integrated circuit according to the obtained dynamic power consumption.
In an implementation example of the integrated circuit, reference may be made to the architecture of the processor chip and the corresponding type of functional module in the foregoing fig. 2 embodiment, where the processing module may be implemented by a microcontroller, a processor core, and the like, and executes an executable program code to implement the dynamic power consumption obtaining and the power consumption adjustment of the integrated circuit (e.g., the processor chip).
Fig. 12 is a schematic structural diagram of a computer device in the embodiment of the present application.
The computer apparatus comprises a memory 1201 and a processor 1202, the memory 1201 having stored thereon a computer program executable on the processor 1202; the processor 1202 executes the computer program to perform the method steps as described above, for example, in the embodiments of fig. 4, 5, 6, 7, 8.
In some examples, the processor 1202 may be a combination that implements a computing function, such as a combination including one or more microprocessors, Digital Signal Processing (DSP), ASIC, or the like; the memory 1201 may comprise a high-speed RAM memory, and may further comprise a non-volatile memory (non-volatile memory), such as at least one disk memory.
In some examples, the computer apparatus 1200 may be implemented in, for example, a server bank, a desktop computer, a laptop computer, a smartphone, a tablet computer, a smart band, a smart watch, or other smart devices, or a processing system formed by communicatively coupling such smart devices.
A computer-readable storage medium may also be provided in an embodiment of the present application, on which a computer program is stored, where the computer program is executed to perform the method steps in the embodiments described above, for example, in fig. 4, fig. 5, fig. 6, fig. 7, fig. 8, fig. 11, and fig. 12.
That is, the method flows in the embodiments of the present application (e.g., the embodiments of fig. 4, 5, 6, 7, 8, 11, 12) may be implemented as software or computer code storable in a recording medium such as a CDROM, a RAM, a floppy disk, a hard disk, or a magneto-optical disk, or as computer code originally stored in a remote recording medium or a non-transitory machine-readable medium and to be stored in a local recording medium downloaded via a network, so that the methods described herein may be stored in such software processes on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware such as an ASIC or FPGA. It is understood that the computer, processor, microprocessor controller or programmable hardware includes storage components (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code that, when accessed and executed by the computer, processor or hardware, is implemented in the methods of the foregoing embodiments (e.g., the fig. 4, 5, 6, 7, 8, 11, 12 embodiments). In addition, when a general-purpose computer accesses code for implementing the methods illustrated herein, execution of the code transforms the general-purpose computer into a special-purpose computer for performing the method steps illustrated herein.
Compared with the prior art, the technical scheme of the embodiment of the application has the following beneficial effects:
on one hand, in the power consumption monitoring system in the embodiment of the application, the event monitoring modules are configured corresponding to the functional modules of the integrated circuit to monitor the occurrence condition of the hardware event to be monitored of the functional modules to form the event statistical parameters, and the dynamic power consumption corresponding to the event statistical parameters is calculated to monitor the comprehensive and accurate dynamic power consumption.
On the other hand, the event monitoring module provided in the embodiment of the application has the advantages of simple circuit structure, easiness in implementation and low power consumption.
On the other hand, a method for calculating a weight value representing the degree of correlation between the hardware event and the dynamic power consumption can be further provided, and the weight value is applied to calculation of the dynamic power consumption, so that accuracy of the dynamic power consumption is improved.
On the other hand, a hardware event screening method may also be provided in this embodiment of the present application, so as to screen out events that are more relevant to dynamic power consumption from each hardware event of the function module, and as a hardware event to be monitored, it is also beneficial to improve accuracy of dynamic power consumption calculation.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs. The procedures or functions according to the present application are generated in whole or in part when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer program may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "a plurality" means two or more unless specifically limited otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process. And the scope of the preferred embodiments of the present application includes other implementations in which functions may be performed out of the order shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
For example, the order of the steps in the embodiments of fig. 4, fig. 5, fig. 6, fig. 7, fig. 8, fig. 9, fig. 10, fig. 11, etc. described above may be changed in specific scenarios, and is not limited to the above description.
Although the embodiments of the present application are disclosed above, the present invention is not limited thereto. Various changes and modifications may be effected by one skilled in the art without departing from the spirit and scope of the embodiments of the invention as defined by the appended claims.

Claims (22)

1. A power consumption monitoring system is applied to an integrated circuit comprising at least one functional module; the power consumption monitoring system includes:
the event monitoring module is arranged corresponding to the functional module and used for monitoring the occurrence condition of at least one hardware event to be monitored of the functional module so as to obtain event statistical parameters;
and the control module is coupled with the at least one event monitoring module and used for calculating the dynamic power consumption of the integrated circuit according to the event statistical parameters of the at least one functional module.
2. The power consumption monitoring system according to claim 1, wherein each event monitoring module is configured to monitor a preset number of hardware events of the corresponding functional module, and configure a number of event monitoring modules that matches the number of hardware events to be monitored of the corresponding functional module.
3. The power consumption monitoring system according to claim 1, wherein each hardware event to be monitored is associated with a weight value for combining with a signal value related to occurrence of the hardware event, so as to obtain the event statistical parameter through calculation.
4. The power consumption monitoring system of claim 3, wherein the event monitoring module is configured to weight and accumulate signal values of each hardware event to be monitored according to time by using corresponding weight values to form an event statistical parameter.
5. The power consumption monitoring system of claim 4, wherein the event monitoring module comprises:
a first selector comprising: the system comprises a plurality of input ends, a plurality of monitoring modules and a plurality of monitoring modules, wherein the input ends are used for respectively inputting signal values corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the signal value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a second selector comprising: a plurality of input ends, which are used for respectively inputting the weight value corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the weight value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a selection signal generator comprising: an enable terminal for receiving an enable signal; an output terminal coupled to the selection terminals of the first selector and the second selector to output a selection signal generated in response to the enable signal;
and operator, comprising: at least two input ends for respectively obtaining the signal value and the weight value of the selected hardware event to be monitored; the output end is used for outputting the AND operation result of the signal value and the weight value of the selected hardware event to be monitored;
an adder, comprising: a first input terminal for obtaining an input of the and operation result; a second input terminal for inputting the first accumulation result before the adder; and the output end is used for outputting a second accumulation result obtained by summing the current AND operation result and the first accumulation result to serve as an event statistical parameter.
6. The power consumption monitoring system of claim 5, wherein the selection signal generator comprises a loop counter configured to count a number of hardware events monitored by the event monitoring module in a loop and form the selection signal based on the count value.
7. The power consumption monitoring system of claim 1, wherein the calculation rules for dynamic power consumption comprise: and calculating a calculation rule of the dynamic power consumption by combining the quadratic relation of the voltage and the event statistical parameter.
8. A calculation method is characterized by being used for calculating weight values representing the influence of each hardware event of a functional module on the dynamic power consumption of the functional module; the calculation method comprises the following steps:
acquiring power consumption event relation data according to power consumption simulation data of the integrated circuit; the power consumption event relation data comprises event statistical parameters of hardware event occurrence conditions and corresponding dynamic power consumption;
and obtaining the weight value of each hardware event through regression calculation according to the calculation rule of the dynamic power consumption and the power consumption event relation data.
9. A hardware event screening method is characterized by being used for screening a hardware event to be monitored from a hardware event pool; the hardware event screening method comprises the following steps:
acquiring power consumption event relation data according to power consumption simulation data of the integrated circuit; the power consumption event relation data comprises time-sharing event statistical parameters of the occurrence conditions of all hardware events and corresponding dynamic power consumption;
obtaining a weighted value and a check value of each hardware event through regression calculation according to a calculation rule of dynamic power consumption and the power consumption event relation data;
and executing an effectiveness screening process according to the check value and/or executing a correlation screening process at least according to the weight value so as to screen the hardware event to be monitored.
10. The hardware event screening method of claim 9, wherein the validity screening process comprises:
selecting a preset number of alternative hardware events from the hardware event pool to form an alternative event set;
performing a significance checker flow comprising: comparing the check value of the alternative hardware event in the alternative event set with a threshold value to remove the alternative hardware event with the check value lower than the threshold value from the alternative event set, and supplementing the alternative hardware event from the hardware event pool; wherein the threshold value is derived at a given level of significance from the probability distribution followed by each of the test values;
under the condition that the hardware event pool is not empty, repeatedly executing the regression calculation and correspondingly executing a significance check sub-process on the alternative event set until the hardware event pool is empty;
taking each alternative hardware event in the alternative event set obtained through the effectiveness screening process as a hardware event to be monitored; or, each remaining alternative hardware event in the alternative event set is used as an effective hardware event for executing the correlation screening process.
11. The method for screening hardware events according to claim 10, wherein the removing of the candidate hardware events with the check value lower than the threshold value from the candidate event set and the supplementing of the candidate hardware events from the hardware event pool further comprises:
judging whether the number p of the alternative hardware events with the check value lower than the threshold value is 0 or not;
when p is 0, removing 1 with the lowest check value from the alternative event set, and taking 1 from the hardware event pool to supplement the preset number;
when p is not 0, judging whether the number p of the alternative hardware events of which the check value is lower than the threshold value is larger than the number k of the alternative hardware events left in the hardware event pool or not;
when p is less than or equal to k, p alternative hardware events are removed from the alternative event set, and p supplements are taken from k in the hardware event pool to the alternative event set;
and when p > k, removing k candidate hardware events from the p candidate hardware events of the candidate event set, and supplementing the k candidate hardware events in the hardware event pool to the candidate event set so as to maintain the candidate hardware events in the candidate event set to be the preset number.
12. The hardware event screening method according to claim 9 or 10, wherein the correlation screening process comprises:
acquiring an alternative event set containing a plurality of alternative hardware events;
a relevance comparison sub-process is performed, comprising: calculating according to event statistical parameters corresponding to the weight values of all the alternative hardware events in the alternative event set to obtain estimated power consumption; acquiring actual power consumption corresponding to the estimated power consumption from the power consumption simulation data; acquiring a first correlation coefficient between the estimated power consumption and the corresponding actual power consumption; at least one alternative hardware event with lowest effectiveness is removed from the alternative event set to be updated; performing regression calculation according to the updated alternative event set to obtain a new weight value; calculating according to the new weight value to obtain a second correlation coefficient;
judging whether the variation of the second correlation coefficient compared with the first correlation coefficient exceeds a preset threshold value or not;
if not, the correlation comparison sub-process is repeatedly executed;
if yes, taking the alternative hardware event in the alternative event set before the current correlation comparison subprocess as the hardware event to be monitored.
13. A calculation method, configured to calculate a corresponding weight value based on the hardware event to be monitored obtained by the hardware event screening method according to any one of claims 9 to 12; the calculation method comprises the following steps:
acquiring power consumption event relation data of a hardware event to be monitored according to the power consumption simulation data of the integrated circuit; the power consumption event relation data comprises statistical information of hardware event occurrence conditions to be monitored and corresponding dynamic power consumption;
and obtaining the weight value of each hardware event to be monitored through regression calculation according to the calculation rule of the dynamic power consumption and the power consumption event relation data.
14. A method of constructing a power consumption monitoring system, for use in the construction of a power consumption monitoring system as claimed in any one of claims 1 to 7; the construction method comprises the following steps:
establishing a hardware event pool of an integrated circuit;
screening hardware events to be monitored from the hardware event pool;
calculating the weight value of each hardware event to be monitored;
determining each corresponding functional module in the integrated circuit according to the hardware event to be monitored, and determining configuration information of the event monitoring module which needs to be set corresponding to each functional module.
15. An integrated circuit, comprising:
at least one functional module;
the power consumption monitoring system of any of claims 1 to 7, configured to calculate a dynamic power consumption of the at least one functional module.
16. The integrated circuit of claim 15, wherein the integrated circuit comprises at least one processor chip, and the processor chip comprises at least one of the following functional modules: the device comprises a floating point module, an instruction fetching module, a decoding module, an execution module, a reading and writing module and a cache module.
17. The integrated circuit of claim 15, comprising: at least one processing module to execute executable program code to perform: acquiring dynamic power consumption of the integrated circuit from the power consumption monitoring system; adjusting power consumption of the integrated circuit according to the obtained dynamic power consumption.
18. An event monitoring module is characterized in that the event monitoring module is used for monitoring hardware events to be monitored related to dynamic power consumption of a functional module; the event monitoring module includes:
a first selector comprising: the system comprises a plurality of input ends, a plurality of monitoring modules and a plurality of monitoring modules, wherein the input ends are used for respectively inputting signal values corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the signal value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a second selector comprising: a plurality of input ends, which are used for respectively inputting the weight value corresponding to each hardware event to be monitored of the functional module; the output end is used for outputting the weight value of the selected hardware event to be monitored; the selection end is used for inputting a selection signal for selecting the hardware event;
a selection signal generator comprising: an enable terminal for receiving an enable signal; an output terminal coupled to the selection terminals of the first selector and the second selector to output a selection signal generated in response to the enable signal;
and operator, comprising: at least two input ends for respectively obtaining the signal value and the weight value of the selected hardware event to be monitored; the output end is used for outputting the AND operation result of the signal value and the weight value of the selected hardware event to be monitored;
an adder, comprising: a first input terminal for obtaining an input of the and operation result; a second input terminal for inputting the first accumulation result before the adder; the output end is used for outputting a second accumulation result obtained by summing the current AND operation result and the first accumulation result to serve as an event statistical parameter;
a temporary storage, comprising: an input end coupled to the output end of the adder for temporarily storing the accumulation result; and the output end is coupled to the second input end and used for outputting the temporarily stored accumulation result.
19. A power consumption monitoring method applied to the power consumption monitoring system according to any one of claims 1 to 7; the power consumption monitoring method comprises the following steps:
acquiring event statistical parameters from each event monitoring module;
and calculating the dynamic power consumption of the integrated circuit according to the event statistical parameters of the at least one functional module.
20. A power consumption adjustment method applied to the integrated circuit according to any one of claims 15 to 17; the power consumption adjusting method comprises the following steps:
acquiring dynamic power consumption of the integrated circuit from the power consumption monitoring system;
adjusting power consumption of the integrated circuit according to the obtained dynamic power consumption.
21. A computer device, comprising: a memory and a processor, the memory storing executable program code; the processor chip, when executing executable program code stored in a memory, performing the computing method of claim 8 or 13; alternatively, a hardware event screening method as claimed in any one of claims 9 to 12 is performed.
22. A computer-readable storage medium having stored thereon executable program code, characterized in that the executable program code is executed to perform the computing method of claim 8 or 13; or, performing the hardware event screening method of any of claims 9 to 12; or, performing the power consumption monitoring method of claim 19; alternatively, the power consumption adjustment method of claim 20 is performed.
CN202011420661.1A 2020-12-08 2020-12-08 Power consumption monitoring system, related method, device, processor and medium Pending CN112559282A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011420661.1A CN112559282A (en) 2020-12-08 2020-12-08 Power consumption monitoring system, related method, device, processor and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011420661.1A CN112559282A (en) 2020-12-08 2020-12-08 Power consumption monitoring system, related method, device, processor and medium

Publications (1)

Publication Number Publication Date
CN112559282A true CN112559282A (en) 2021-03-26

Family

ID=75059447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011420661.1A Pending CN112559282A (en) 2020-12-08 2020-12-08 Power consumption monitoring system, related method, device, processor and medium

Country Status (1)

Country Link
CN (1) CN112559282A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114120491A (en) * 2021-11-11 2022-03-01 珠海格力电器股份有限公司 Door lock control method and device, intelligent door lock and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470478B1 (en) * 1999-06-29 2002-10-22 International Business Machines Corporation Method and system for counting events within a simulation model
US20130125074A1 (en) * 2011-11-10 2013-05-16 Commissariat A L'energie Atomique Et Aux Energies Alternatives System and method for designing digital circuitry with an activity sensor
CN103455132A (en) * 2013-08-20 2013-12-18 西安电子科技大学 Embedded system power consumption estimation method based on hardware performance counter
CN110245366A (en) * 2018-03-08 2019-09-17 华为技术有限公司 Dynamic power consumption estimation method, apparatus and system
CN110908795A (en) * 2019-11-04 2020-03-24 深圳先进技术研究院 Cloud computing cluster mixed part job scheduling method and device, server and storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470478B1 (en) * 1999-06-29 2002-10-22 International Business Machines Corporation Method and system for counting events within a simulation model
US20130125074A1 (en) * 2011-11-10 2013-05-16 Commissariat A L'energie Atomique Et Aux Energies Alternatives System and method for designing digital circuitry with an activity sensor
CN103455132A (en) * 2013-08-20 2013-12-18 西安电子科技大学 Embedded system power consumption estimation method based on hardware performance counter
CN110245366A (en) * 2018-03-08 2019-09-17 华为技术有限公司 Dynamic power consumption estimation method, apparatus and system
CN110908795A (en) * 2019-11-04 2020-03-24 深圳先进技术研究院 Cloud computing cluster mixed part job scheduling method and device, server and storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114120491A (en) * 2021-11-11 2022-03-01 珠海格力电器股份有限公司 Door lock control method and device, intelligent door lock and storage medium

Similar Documents

Publication Publication Date Title
US7549069B2 (en) Estimating software power consumption
US8095354B2 (en) Power consumption peak estimation program for LSI and device therefor
CN108153587B (en) Slow task reason detection method for big data platform
CN112149380A (en) Index analysis method and device of standard cell library
CN113268403B (en) Time series analysis and prediction method, device, equipment and storage medium
JP2013105492A (en) System and method for designing digital circuitry with activity sensor
CN112559282A (en) Power consumption monitoring system, related method, device, processor and medium
CN115794570A (en) Pressure testing method, device, equipment and computer readable storage medium
CN107769987B (en) Message forwarding performance evaluation method and device
US10345883B2 (en) Power estimation
CN111783883A (en) Abnormal data detection method and device
CN115248783B (en) Software testing method, system, readable storage medium and computer equipment
US8271981B2 (en) Detecting an extraordinary behavior
US11556685B1 (en) Time-based power analysis
CN112416709B (en) Chip dynamic power consumption estimation method and device, processor chip and server
von Kistowski et al. Univariate interpolation-based modeling of power and performance
CN114490412A (en) Three-dimensional CAD software performance measurement method and device based on self-subtraction reverse cloud generator
CN113407350A (en) Instruction processing device, processor, chip, computing equipment and corresponding method
CN111340349A (en) Product reliability evaluation method and device, computer equipment and storage medium
CN116862135B (en) Mechanical equipment maintenance analysis method and system and electronic equipment
CN113010269B (en) Virtual machine scheduling method and device, electronic equipment and readable storage medium
US11882175B2 (en) Correlations between workload characteristics and elapsed times
CN116244179B (en) System firmware measuring method capable of self-improving
CN112825058B (en) Processor performance evaluation method and device
CN108628731B (en) Method for selecting test instruction and processing equipment

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