WO2023202305A1 - Chip and voltage noise suppression method - Google Patents

Chip and voltage noise suppression method Download PDF

Info

Publication number
WO2023202305A1
WO2023202305A1 PCT/CN2023/082803 CN2023082803W WO2023202305A1 WO 2023202305 A1 WO2023202305 A1 WO 2023202305A1 CN 2023082803 W CN2023082803 W CN 2023082803W WO 2023202305 A1 WO2023202305 A1 WO 2023202305A1
Authority
WO
WIPO (PCT)
Prior art keywords
power consumption
processor
suppression
information
consumption change
Prior art date
Application number
PCT/CN2023/082803
Other languages
French (fr)
Chinese (zh)
Inventor
程万娟
刘宇
刘臻
刘凯
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023202305A1 publication Critical patent/WO2023202305A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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

Definitions

  • the present application relates to the field of power management technology, and in particular to a chip and a voltage noise suppression method.
  • Multi-core processors can share power.
  • voltage droop or voltage surges (voltage droop or voltage) of different frequencies will occur due to a sharp increase in power consumption. overshoot), these voltage noises may endanger the circuit functional safety of computing equipment and cause processor performance damage.
  • This application provides a chip and voltage noise suppression method, which can effectively suppress voltage noise and reduce performance damage to the processor.
  • embodiments of the present application provide a chip, which includes multiple processors in the same power supply domain, and the multiple processors are powered by the same power supply.
  • the chip also includes a power consumption monitoring module and a power consumption adjustment module, where the power consumption monitoring module refers to a device or module used to monitor the operating status of the processor and generate power consumption change information of the processor based on the operating status of the processor;
  • the power consumption adjustment module refers to a device or module that adjusts the power consumption of the processor.
  • the power consumption monitoring module is used to obtain the power consumption change information of multiple processors, and transmit the power consumption change information to the power consumption adjustment module.
  • the power consumption adjustment module is used to adjust the power consumption of the multiple processors according to the power consumption change information. Consumption change information is used to suppress power consumption of some or all processors among multiple processors.
  • the embodiment of the present application suppresses power consumption by comprehensively considering the power consumption change information of multiple processors. Compared with suppressing power consumption by a single processor alone, it can be more accurate and more accurate.
  • the power consumption of the processor is suppressed in a timely manner to reduce voltage drops and overshoots that occur when multiple processors process tasks concurrently or when multiple overloaded tasks are running, thereby effectively suppressing voltage noise and reducing performance damage to the processor.
  • the power consumption monitoring module may include a voltage monitoring module set separately for each of the multiple processors; the voltage monitoring module refers to a device or module used to monitor voltage changes of the processor .
  • the voltage monitoring module of the first processor is used to monitor whether a voltage drop occurs in the first processor, and when the amplitude of the voltage drop exceeds a set amplitude threshold, generate power consumption change monitoring information; the first processor can be one of the above-mentioned any one of the processors.
  • Power consumption change monitoring information is one type of power consumption change information.
  • Power consumption change monitoring information refers to monitoring Information generated by changes in power consumption of the processor.
  • the power consumption monitoring module may include a status monitoring module set separately for each of the multiple processors; the status monitoring module refers to a module for monitoring the power consumption change slope of the processor. device or module.
  • the status monitoring module of the first processor is configured to determine the power consumption change slope according to the operating status of the first processor, and generate power consumption change monitoring information when the power consumption change slope reaches the set slope threshold of the first processor.
  • the power consumption monitoring module may include a voltage monitoring module and a status monitoring module respectively set for each processor in the plurality of processors.
  • the voltage monitoring module or status monitoring module of the first processor may be installed inside the first processor, or may be installed outside the first processor.
  • the voltage monitoring module or status monitoring module of the first processor is used to monitor the operating status of the first processor in real time, and can generate power consumption change information of the first processor in a timely manner, thereby notifying the power consumption adjustment module of the first processor in a timely manner.
  • the voltage monitoring module and the status monitoring module use different methods to monitor the power consumption changes of the processor, and can generate more comprehensive and timely power consumption change information of the processor based on the different status information of the processor.
  • the power consumption monitoring module may also include a power consumption change prediction module set separately for each processor.
  • the power consumption change prediction module refers to a device or module used to predict whether the processor will experience changes in power consumption. Among them, the power consumption change prediction module of the first processor is used to monitor the operating status of the first processor, and predict whether power consumption will occur within the set time window based on the operating status and historical status records of power consumption change events that have occurred. Change events, and generate power consumption change prediction information when it is predicted that a power consumption change event will occur. Power consumption change prediction information is also a type of power consumption change information. Power consumption change prediction information refers to information generated when an impending power consumption change event is predicted based on the operating status of the processor. Among them, the power consumption change event Refers to changes in processor power consumption.
  • the power consumption change prediction module by setting the power consumption change prediction module, it can be predicted in advance whether a power consumption change event will occur within a set time window in the future, so that the power consumption change information can be provided to the power consumption adjustment module earlier. It is beneficial for the power consumption adjustment module to determine the power consumption suppression strategy in advance and perform power consumption suppression more effectively.
  • the power consumption monitoring module may also include a signal monitoring module set separately for each processor.
  • the signal monitoring module A module refers to a device or module used to monitor signals received by the processor.
  • the signal monitoring module of the first processor is used to monitor whether the first processor receives the set target signal, and when the first processor receives the set target signal, generate target signal indication information.
  • Target signal indication information is also a type of power consumption change information.
  • Target signal indication information refers to information generated when a set target signal is received.
  • the signal monitoring module is set up to monitor whether the processor receives the set target signal.
  • the target signal is a pre-signal that may cause drastic changes in power consumption such as package resonance.
  • the target signal is monitored through the signal monitoring module. , can provide power consumption change information to the power consumption adjustment module in advance before the power consumption changes drastically, providing evidence for the suppression timing of high-frequency power consumption change events such as package resonance, which is conducive to the power consumption adjustment module to determine the power consumption suppression strategy in advance, improving Control drop effectiveness for more effective power consumption suppression.
  • the power consumption change monitoring module of the first processor may include a voltage monitoring module, a status monitoring module, a power consumption change prediction module and a signal monitoring module to more comprehensively monitor different status information from multiple aspects. Provide power consumption change information to the power consumption adjustment module.
  • the power consumption adjustment module includes separately setting The suppression module is installed, and the suppression module is used to suppress the power consumption of the processor.
  • the suppression module of the first processor is used to receive the power consumption change information of the first processor transmitted by the power consumption change monitoring module of the first processor, and receive the broadcast signal from any processor other than the first processor.
  • the power consumption change information is transmitted in a manner, and the power consumption of the first processor is suppressed based on the received power consumption change information.
  • the suppression module of the first processor may be arranged inside the first processor, or may be arranged outside the first processor.
  • the suppression module is distributed for each processor.
  • the suppression module of each processor can learn the power consumption change information of other processors at the same time, thereby providing favorable evidence for determining the timing of power consumption suppression.
  • Each processor The suppression module combines the received power consumption change information of other processors to suppress the power consumption of this processor, thereby realizing multiple processors to coordinate power consumption suppression and improving the voltage of the multi-core processor system in large current jump scenarios. Drop and overshoot control efficiency, suppressing voltage noise more effectively.
  • the power consumption change monitoring module and the suppression module of the first processor are both deployed inside the first processor. Since the communication line is short, the power consumption change monitoring module of the first processor can be updated. Quickly obtain various operating status information of the first processor, and notify the suppression module of the power consumption change information in a more timely manner, which is conducive to the suppression module to suppress the power consumption of the first processor earlier and reduce the risk of power consumption suppression taking effect. Too late and the voltage noise cannot be effectively suppressed.
  • the suppression module of the first processor may be specifically configured to: when receiving the power consumption change information of the first processor, and the power consumption change information of the first processor includes power consumption change monitoring When the information is received, the power consumption of the first processor is suppressed according to the set suppression ratio for the power consumption change monitoring information; when the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes power When the power consumption change prediction information is received, if the power consumption change information sent by at least N processors is received within the set time period, the power consumption of the first processor is performed according to the set suppression ratio for the power consumption change prediction information.
  • N is the set threshold for the number of changing processors
  • the power consumption change information of the first processor when the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes target signal indication information, if at the set time
  • the power consumption change information sent by at least M processors is received within the segment, the power consumption of the first processor is suppressed according to the set suppression ratio for the target signal indication information; where M is the set threshold for the number of changing processors.
  • the suppression module can determine the power consumption suppression strategy for the processor according to different situations, and flexibly suppress the power consumption of the processor. For example, when the suppression module of the first processor receives the power consumption change monitoring information of the first processor, it means that the power consumption has changed and power consumption needs to be suppressed immediately. The suppression module immediately follows the instructions for the power consumption change monitoring information. Set a suppression ratio to suppress power consumption of the first processor. When the suppression module of the first processor receives the power consumption change prediction information or the target signal indication information of the first processor, the suppression module can combine the power consumption change information of other processors to determine whether the first processor needs to be Power consumption suppression.
  • the suppression module of the first processor can be specifically configured to: when receiving the power consumption change information of the second processor, if at least K processors are received within a set time period, If the power consumption change information is sent, and the business priority of the first processor is lower than the business priority of the second processor, the power consumption of the first processor is suppressed according to the set cascade suppression ratio; where K is Set the threshold for changing the number of processors; the second processor is any processor except the first processor.
  • the suppression module of the first processor is also configured to: after suppressing the power consumption of the first processor, transmit the information to each processor except the first processor by broadcasting Suppression information; and receiving suppression information transmitted by any processor other than the first processor in a broadcast manner.
  • the suppression information of the second processor is received, if the service priority of the first processor is lower than the service priority of the second processor, the power consumption of the first processor is performed according to the suppression ratio set for the suppression information. inhibition.
  • the processor with lower business priority is given priority to suppress power consumption, which relatively ensures the normal operation of the processor with higher business priority.
  • the chip may also include a configuration module configured separately for each of the multiple processors; the configuration module of the first processor is configured to based on the received suppression information of any processor. , adjusting the threshold used by the first processor in the process of generating power consumption change information and/or the suppression ratio used in the process of suppressing power consumption.
  • the threshold used by this processor in the process of generating power consumption change information or when performing power consumption change information is adjusted.
  • the suppression ratio used in the process of power consumption suppression so that the power consumption suppression process of this processor can better match the current power consumption situation in the power domain.
  • the power consumption adjustment module includes an arbitration module and a suppression execution module in the power domain; the arbitration module is used to receive the power consumption change information of multiple processors sent by the power consumption monitoring module, and adjust the power consumption according to the received Power consumption change information is sent to the suppression execution module to send a power consumption suppression instruction.
  • the power consumption suppression instruction contains the target processor that requires power consumption suppression; the suppression execution module is used to control the target processor based on the power consumption suppression instruction sent by the arbitration module. Perform power consumption suppression.
  • the power consumption suppression actions of each processor can be coordinated based on the power consumption change information of multiple processors, and voltage noise can be suppressed more effectively.
  • the power consumption monitoring module includes a transient current monitoring module set in the power domain; the transient current monitoring module is used to monitor the current in the power domain and generate voltage status indication information according to changes in the current.
  • the power consumption change information includes voltage status indication information generated by the transient current monitoring module.
  • the voltage status indication information can be generated according to the transient current changes in the power domain. As a supplement to the power consumption change information of each processor, it can more comprehensively reflect the current power usage in the power domain.
  • embodiments of the present application provide a method for suppressing voltage noise.
  • the method includes: obtaining power consumption change information of multiple processors in the same power domain; based on the power consumption change information of multiple processors, Some or all of the processors perform power consumption suppression.
  • the above voltage noise suppression method can be executed by a first processor, which is any one of multiple processors; the first processor can obtain the voltage in the same power domain in the following manner: Power consumption change information of multiple processors: monitor the operating status of the first processor, and generate power consumption change information of the first processor based on the operating status of the first processor; receive the power consumption change information of the second processor sent by the second processor The power consumption change information of the second processor is generated according to the running status of the second processor; the second processor is any processor except the first processor.
  • the power consumption change information of the first processor includes at least one of the following: power consumption change monitoring information generated when a power consumption change event occurs in the first processor; The operating status and historical status records of power consumption change events that have occurred. When it is predicted that a power consumption change event will occur within the set time window, the power consumption change prediction information is generated; it is monitored that the first processor receives the set power consumption change event. When the target signal is generated, the target signal indication information is generated.
  • the power consumption of the first processor when the power consumption change monitoring information of the first processor is received, the power consumption of the first processor is suppressed according to the set suppression ratio for the power consumption change monitoring information; when the power consumption change monitoring information is received.
  • the power consumption change prediction information of the first processor if the power consumption change information sent by at least N processors is received within the set time period, the first processor will be suppressed according to the set suppression ratio for the power consumption change prediction information.
  • the processor performs power consumption suppression; N is the change in settings Processor number threshold; when receiving the target signal indication information of the first processor, if the power consumption change information sent by at least M processors is received within the set time period, the setting for the target signal indication information will be The suppression ratio is used to suppress the power consumption of the first processor; M is the set threshold for the number of changing processors.
  • the power consumption change information of the second processor when the power consumption change information of the second processor is received, if the power consumption change information sent by at least K processors is received within a set time period, and the power consumption change information of the first processor is If the service priority is lower than the service priority of the second processor, the power consumption of the first processor is suppressed according to the set cascade suppression ratio; K is the set threshold for the number of changing processors.
  • the suppression information may be transmitted to each processor except the first processor in a broadcast manner.
  • the suppression information of the second processor when the suppression information of the second processor is received, if the service priority of the first processor is lower than the service priority of the second processor, the suppression information is suppressed according to the setting of the suppression information. Proportional, power consumption suppression for the first processor.
  • the first processor can also adjust the threshold used by the first processor in the power consumption monitoring process and/or perform power consumption suppression based on the received suppression information of any processor.
  • the suppression ratio used in the process can also adjust the threshold used by the first processor in the power consumption monitoring process and/or perform power consumption suppression based on the received suppression information of any processor. The suppression ratio used in the process.
  • the above voltage noise suppression method is executed by an arbitration module.
  • the arbitration module can receive the power consumption change information of the first processor sent by the first processor; the first processor is one of the plurality of processors. Either; or, the arbitration module can receive the power consumption change information sent by the transient current monitoring module in the power domain; the power consumption change information is the voltage status indication information generated by the transient current monitoring module according to the current change in the power domain.
  • the arbitration module can determine the target processor that needs to suppress power consumption based on the received power consumption change information; and suppress the power consumption of the target processor through the suppression execution module.
  • embodiments of the present application provide a computer-readable storage medium.
  • Computer-executable instructions are stored in the computer-readable storage medium.
  • the computer-executable instructions are used to cause a computer to execute any of the methods provided in the second aspect. .
  • embodiments of the present application provide a computer program product that includes computer-executable instructions.
  • the computer-executable instructions are used to cause a computer to execute any of the methods provided in the second aspect.
  • Figure 1 is a schematic diagram of a chip provided by an embodiment of the present application.
  • Figure 2 is a schematic structural diagram of a processor provided by an embodiment of the present application.
  • Figure 3 is a schematic structural diagram of a power consumption change monitoring module provided by an embodiment of the present application.
  • Figure 4 is a flow chart of a power consumption suppression process performed by a suppression module provided by an embodiment of the present application
  • FIG. 5 is a schematic structural diagram of another processor provided by an embodiment of the present application.
  • Figure 6 is a schematic structural diagram of another chip provided by an embodiment of the present application.
  • Figure 7 is a flow chart of an arbitration module performing a power consumption suppression process provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of another chip provided by an embodiment of the present application.
  • Figure 9 is a flow chart of a voltage noise suppression method provided by an embodiment of the present application.
  • Processor cluster Multiple processors in the same power domain, or multiple processors powered by the same power supply, can be called a processor cluster.
  • pluriality means two or more.
  • plality in the embodiments of this application can also be understood as “at least two”.
  • At least one can be understood as one or more, for example, one, two or more.
  • including at least one means including one, two or more, and it does not limit which ones are included.
  • it includes at least one of A, B and C, then it can include A, B, C, A and B, A and C, B and C, or A and B and C.
  • “And/or” describes the relationship between related objects, indicating that there can be three relationships.
  • a and/or B can mean: A exists alone, A and B exist simultaneously, and B exists alone.
  • the character "/" unless otherwise specified, generally indicates that the related objects are in an "or" relationship.
  • ordinal numbers such as “first” and “second” mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, timing, priority or importance of multiple objects.
  • embodiments of the present application provide a chip that includes multiple processors in the same power domain. That is, the multiple processors are powered by the same power supply.
  • the power supply used to power the multiple processors can be provided on the chip. It can also be set up outside the chip, and multiple processors are connected to the power supply.
  • the chip can be a system on chip (SoC) or a computing chip used in computing devices, a control logic chip or a forwarding logic chip used in routers, or other chips including multi-core processors.
  • the processor can be a general-purpose processor, such as a microprocessor, a central processing unit (CPU), or other processors, such as an application processor (application processor, AP), modem processor, or tensor Processor (tensor processing unit, TPU) chip, neural network processing unit (NPU), graphics processing unit (GPU), artificial intelligence (artificial intelligence, AI) processor, image signal processing Image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, etc.
  • SoC system on chip
  • the processor can be a general-purpose processor, such as a microprocessor, a central processing unit (CPU), or other processors, such as an application processor (application processor, AP), modem processor, or tensor Processor (tensor processing unit, TPU) chip, neural
  • the chip provided by the embodiment of the present application also includes a power consumption monitoring module and a power consumption adjustment module.
  • the power consumption monitoring module refers to monitoring the operating status of the processor. According to The operating status of the processor is a device or module that generates information about changes in power consumption of the processor; the power consumption adjustment module refers to a device or module that adjusts the power consumption of the processor.
  • the power consumption monitoring module is used to obtain the power consumption changes of multiple processors. information, and transmits the power consumption change information to the power consumption adjustment module.
  • the power consumption adjustment module is used to suppress power consumption of some or all of the multiple processors based on the power consumption change information of the multiple processors.
  • Figure 1 exemplarily shows a schematic structural diagram of a chip provided by an embodiment of the present application.
  • the chip 100 includes a processor 0, a processor 1, and a processor N-1, a total of N processors, and the N processors are all powered by the power supply 200.
  • N processors are powered by the same power supply and can be used as a processor cluster.
  • the processor cluster shown in Figure 1 includes more than three processors. In other embodiments, the processor cluster may also include two processors, that is, N is an integer greater than or equal to 2.
  • the power supply 200 shown in FIG. 1 is disposed outside the chip 100 . In other embodiments, the power supply 200 can also be disposed inside the chip 100 .
  • the power supply 200 may be provided inside the processor cluster or outside the processor cluster.
  • each processor is equipped with an on-chip low dropout linear regulator (LDO).
  • LDO low dropout linear regulator
  • the chip 100 includes a power consumption change monitoring module 110 and a suppression module 120 respectively provided for each of the N processors.
  • the power consumption change monitoring module 110 is used to monitor the operating status of the corresponding processor, and generate the power consumption change information of the corresponding processor according to the operating status of the corresponding processor. That is, the power consumption change monitoring module 110 implements the function of the power consumption monitoring module.
  • the power consumption change monitoring module 110 may be disposed inside the corresponding processor, or may be disposed outside the corresponding processor. When the power consumption change monitoring module 110 can be disposed outside the corresponding processor, the power consumption change monitoring module 110 can be disposed close to the corresponding processor, so that changes in current, power consumption or voltage of the corresponding processor can be sensed in a timely manner.
  • the suppression module 120 is used to receive the power consumption change information of any processor, and based on the received power consumption change information, suppress the power consumption of the processor corresponding to the suppression module 120, that is, the suppression module 120 implements the function of the power consumption adjustment module .
  • the suppression module 120 may be disposed inside the corresponding processor, or may be disposed outside the corresponding processor.
  • the power consumption change monitoring module 110 and the suppression module 120 in Figure 1 are both arranged inside the corresponding processor.
  • processor 0 shown in Figure 1 is provided with a power consumption change monitoring module 110 and a suppression module 120.
  • the power consumption change monitoring module 110 of processor 0 is used to monitor the operating status of processor 0, generate power consumption change information of processor 0 according to the operating status of processor 0, and transmit the generated power consumption change information of processor 0 To the suppression module 120 of processor 0.
  • the power consumption change monitoring module 110 of processor 0 can also transmit the power consumption change information to the suppression modules of other processors by broadcasting.
  • the module 120 that is, the suppression module 120 of each processor from processor 1 to processor N-1 can receive the power consumption change information of processor 0 sent by the power consumption change monitoring module 110 of processor 0.
  • the suppression module 120 of the processor 0 is used to receive the power consumption change information of the processor 0 transmitted by the power consumption change monitoring module 110 of the processor 0, and to receive the power consumption change information of the processor 0 transmitted by any processor other than the processor 0 in a broadcast manner. Power consumption change information, and based on the received power consumption change information, performs power consumption suppression on processor 0.
  • FIG. 2 exemplarily shows a schematic diagram of the internal structure of a processor provided by an embodiment of the present application.
  • the processor includes a power consumption change monitoring module 110 and a suppression module 120, and also includes multiple functional units for implementing computing functions and control functions, such as an instruction fetch unit 131 (IFU), Instruction dispatch unit 132, prefetch unit 133, branch predictor unit 134, int.execute unit 135, load store unit 136, floating point number and single instruction Multiple data stream (single instruction multiple data, SIMD) unit, also known as floating point and SIMD unit (float & SIMD unit) 137.
  • the processor may also include a cache system 138, and the load storage unit 136 may temporarily store loaded program instructions or data in the cache system 138.
  • Each functional unit and cache system 138 are connected to the power consumption change monitoring module 110, and each functional unit is connected to the suppression module 120.
  • the suppression module 120 can suppress the power consumption of any functional unit.
  • Processors 0 to N-1 in Figure 1 can all adopt the processor structure shown in Figure 2 .
  • the following uses processor 0 as an example to illustrate the internal structures of the power consumption change monitoring module 110 and the suppression module 120 .
  • the power consumption change monitoring module of the other N-1 processors has the same structure as the power consumption change monitoring module of the processor 0, and the suppression module of the other N-1 processors has the same structure as the suppression module of the processor 0.
  • the power consumption change monitoring module 110 of the processor 0 may include an event monitoring module.
  • the event monitoring module is configured to generate power consumption change monitoring information when a power consumption change event is detected in the processor 0, and change the power consumption to
  • the change monitoring information is transmitted to the suppression module 120 of processor 0 and transmitted to the suppression modules 120 of other processors except processor 0 by broadcasting.
  • the event that the power consumption of the processor 0 changes occurs means that the processor 0 has an event that causes a voltage drop or a voltage overshoot.
  • Power consumption change monitoring information is a type of power consumption change information.
  • the event monitoring module can be based on the high-power transition indication event of each functional unit within the processor, for example, whether all the computing units of the scalable vector engine (scalable vector extensions engine, SVE) module are fully occupied, loading and storing The status of the pipeline (load store pipeline), whether there is an abnormal flushing state, etc., or you can also use one or more critical path (critical path) modeling detection circuits to detect whether there is a state that affects the processor.
  • SVE scalable vector extensions engine
  • the event monitoring module may include a voltage monitoring module, which is used to monitor whether a voltage drop occurs in the processor 0, and generate power consumption change monitoring information when the amplitude of the voltage drop exceeds a set amplitude threshold.
  • the event monitoring module may include a status monitoring module. The status monitoring module is configured to determine the power consumption change slope according to the operating status of the processor 0, and when the power consumption change slope reaches the set slope threshold of the processor 0 When, the power consumption change monitoring information is generated.
  • the event monitoring module may include a voltage monitoring module and a status monitoring module.
  • the power consumption change monitoring module 110 of the processor 0 may also include a power consumption change prediction module.
  • the power consumption change prediction module is used to monitor the operating status of the processor 0. According to The operating status of processor 0 and the historical status record of power consumption change events that have occurred, predict whether a power consumption change event will occur in processor 0 within the set time window, and when it is predicted that a power consumption change event will occur in processor 0 , generate power consumption change prediction information, transmit the power consumption change prediction information to the suppression module 120 of processor 0, and transmit it to the suppression modules 120 of other processors except processor 0 by broadcasting.
  • the power consumption change prediction information is a type of power consumption change information.
  • the power consumption change monitoring module 110 of the processor 0 may also include a signal monitoring module.
  • the signal monitoring module is used to monitor whether the processor 0 receives the set target signal. And when the processor 0 receives the set target signal, it generates the target signal indication information, transmits the target signal indication information to the suppression module 120 of the processor 0, and transmits it to other devices except the processor 0 by broadcasting. Inhibition module 120 of the processor.
  • the target signal indication information is a type of power consumption change information.
  • the power consumption change monitoring module 110 of the processor 0 may also include a power consumption change prediction module and a signal monitoring module. It should be noted that the various modules included in the power consumption change monitoring module 110 can be selected and used in combination according to actual application scenarios, or only one module can be used to implement similar functions.
  • FIG. 3 exemplarily shows a schematic structural diagram of a power consumption change monitoring module provided by an embodiment of the present application.
  • the power consumption change monitoring module 110 may include a voltage monitoring module 111 , a status monitoring module 112 , a power consumption change prediction module 113 and a signal monitoring module 114 .
  • the voltage monitoring module 111 may use a critical path monitor (CPM).
  • CCM critical path monitor
  • the voltage monitoring module 111 can use an analog critical path circuit to detect whether a voltage drop occurs in the processor 0. If a voltage drop occurs in the processor 0, and the amplitude of the voltage drop exceeds the set amplitude threshold of the processor 0, a power supply is generated. Consumption change monitoring information.
  • the status monitoring module 112 can use a current sensor (sensor).
  • the current sensor is used to monitor the current difference per unit time (delta current in delta time, DIDT).
  • the current sensor can use digital logic to determine the power consumption of the processor based on the monitored current difference. Change the slope to generate power consumption change monitoring information.
  • the status monitoring module 112 can detect the running status of the processor 0 according to the set DIDT detection cycle, including detecting events or signals of each functional unit of the processor 0, and analyzing the detected events or signals of each functional unit. High-power consumption events or key signals are weighted and averaged, and the power consumption of processor 0 is obtained by fitting. The power consumption change slope is determined based on the power consumption of processor 0 in different time periods, and when the power consumption change slope reaches the set slope threshold of processor 0, power consumption change monitoring information is generated.
  • the power consumption change slope may adopt an absolute slope value.
  • the status monitoring module 112 can respectively determine the power consumption of the n-th detection time window Pn and the power consumption of the n-1th detection time window Pn-1 according to the set window length, and calculate the power consumption of the detection time window Pn.
  • the difference between the power consumption of the power consumption detection time window P n-1 and The set window duration may be based on a clock cycle of the processor. For example, the set window duration may be several or dozens of clock cycles.
  • the detection time window Pn and the detection time window Pn -1 are two adjacent detection windows, and the detection time window Pn is located after the detection time window Pn-1 . That is to say, the status monitoring module 112 can determine the power consumption change slope according to the power consumption difference between two adjacent detection time windows.
  • the power consumption change slope may adopt a moving average slope value.
  • the status monitoring module 112 can respectively determine the power consumption of n adjacent detection time windows according to the set window duration. Calculate the first n-1 detection time windows, that is, the average power consumption from the detection time window P 1 to the detection time window P n-1 , and use the power consumption of the detection time window P n minus the first n-1 The average of the power consumption of the detection time windows is used to obtain the moving average slope value; or, the weighted average of the power consumption of the first n-1 detection time windows is calculated.
  • the weight of the power consumption of each detection time window can be used as follows: The method is determined: the weight of detecting power consumption in time window P n-1 is 1/2, the weight of detecting power consumption in time window P n-2 is 1/4, and the weight of detecting power consumption in time window P n-3 is 1/8, and so on; the moving average slope value is obtained by subtracting the weighted average of the power consumption of the detection time window P n from the power consumption of the previous n-1 detection time windows. That is to say, the status monitoring module 112 can determine the power consumption change slope according to the power consumption differences of n adjacent detection time windows. Through the above method, the power consumption change slope can be determined more accurately.
  • the set slope threshold of processor 0 refers to the set maximum slope threshold
  • the power consumption slope threshold of processor 0 may also include a set minimum slope threshold. If the power consumption change slope is greater than or equal to the set the maximum slope threshold, then the status monitoring module 112 sets the event identifier in the register corresponding to the power consumption change monitoring information, and generates the power consumption change monitoring information based on the change of the event identifier from scratch. If the power consumption change slope is less than or equal to the set minimum slope threshold, the status monitoring module 112 may clear the event identifier in the register corresponding to the power consumption change monitoring information.
  • the voltage monitoring module 111 or the status monitoring module 112 of the processor 0 generates power consumption change monitoring information, indicating that a power consumption change event has occurred in the processor 0 and requires immediate active defense.
  • the suppression module 120 receives the power consumption change monitoring module 110. Power consumption change monitoring information immediately suppresses the power consumption of processor 0.
  • the power consumption change monitoring module 110 is a module responsible for giving an indication signal indicating a drastic change in processor power consumption, the shorter the detection delay of the power consumption change monitoring module 110, the better the power consumption suppression effect.
  • the detection response time of the voltage monitoring module 111 and the status monitoring module 112 is both ns level or even cycle level, which can quickly generate power consumption change monitoring information and transmit it to the suppression module 120 of the processor 0, which is conducive to the suppression module 120 responding in time. , perform power consumption suppression on processor 0.
  • the voltage monitoring module 111 and the status monitoring module 112 can be used jointly or separately in different application scenarios.
  • the power consumption change monitoring information generated by the voltage monitoring module 111 and the status monitoring module 112 is hereinafter referred to as an S1 event, and the S1 event carries an S1 event flag (flag).
  • the output ends of the voltage monitoring module 111 and the status monitoring module 112 can be connected to a multiplexer (MUX) 115.
  • the multiplexer 115 can be understood as a connector that includes multiple input ports and an output port. One input port of the multiplexer 115 is connected to the output port of the voltage monitoring module 111 , the other input port is connected to the output port of the status monitoring module 112 , and the output port of the multiplexer 115 is connected to the input port of the suppression module 120 .
  • the multiplexer 115 is used to transmit the S1 event generated by the voltage monitoring module 111 or the status monitoring module 112 to the suppression module 120 .
  • the multiplexer 115 can be installed inside the voltage monitoring module 111 or outside the voltage monitoring module 111 .
  • the detection delay of the voltage monitoring module 111 and the status monitoring module 112 is very short, which can be only 1cyc, thereby ensuring that when the S1 event generated by it reaches the suppression module of other processors, there is still time to suppress the increase in power consumption, thereby generating suppressed voltage noise. Effect.
  • the power consumption change prediction module 113 may use a current slope-based predictor (DIDT forcaster; DIDT predictor).
  • the power consumption change prediction module 113 is used to monitor the operating status of processor 0, and predict whether processor 0 will suffer power consumption within the W1 time window based on the operating status of processor 0 and the historical status records of power consumption change events that have occurred. Change events.
  • the W1 time window refers to the time window starting from the current moment and the duration is the set duration W1. If it is predicted that a power consumption change event will occur in processor 0 within the W1 time window, power consumption change prediction information is generated, and the power consumption change prediction information is transmitted to the suppression module 120 of processor 0 and transmitted to the processor 0 by broadcasting. Suppression module 120 for processors other than processor 0.
  • the set duration W1 can be any duration between 10-50 cyc, or a longer duration.
  • the power consumption change prediction module 113 can use a prediction algorithm to determine that a power consumption change event will occur in processor 0 within the W1 time window based on the operating status of processor 0 and the historical status records of power consumption change events that have occurred. probability. If the determined probability is greater than or equal to the set probability value, power consumption change prediction information is generated.
  • the historical status record of the power consumption change event that has occurred may include the pattern of the instruction sequence executed by the processor 0 during the actual power consumption change event and the previous period of time, or the state of the occurrence pattern of the high power consumption event. Statistics records.
  • the power consumption change prediction module 113 may also generate power consumption change prediction information.
  • the power consumption change prediction module 113 may also generate power consumption change prediction information.
  • the operating status of processor 0 detected by the voltage monitoring module 111 or the status monitoring module 112 when the power consumption change event occurs can be added to the historical status record, so that the next time
  • the power consumption change prediction module 113 can predict whether a power consumption change event will occur in processor 0 in the next W1 time window based on historical status records.
  • the power consumption change prediction module 113 generates power according to a certain pattern in the historical status record.
  • the event flag is set in the register corresponding to the power consumption change prediction information.
  • the voltage monitoring module 111 or the status monitoring module 112 detects the power consumption change event caused by the pattern as a refresh instruction to trigger the power consumption change prediction module 113. That is, when the voltage monitoring module 111 or the status monitoring module 112 detects that the power consumption change prediction information corresponds to When a power consumption change event occurs, the power consumption change prediction module 113 is triggered to clear the event identifier in the register corresponding to the power consumption change prediction information; and, at the same time, refresh the prediction probability corresponding to the pattern in the historical status record.
  • the voltage monitoring module 111 or the status monitoring module 112 detects a power consumption change event corresponding to the power consumption change prediction information, indicating that the power consumption change prediction module 113 successfully predicts the pattern, and increases the prediction success rate of the pattern, so it can Improve the prediction probability corresponding to the pattern in the historical state record.
  • the prediction success rate of this pattern is reduced at this time, that is, in the power consumption change prediction module 113
  • the power consumption change prediction module 113 clears the power consumption change event. Change the event identifier in the register corresponding to the prediction information, and reduce the prediction probability corresponding to the pattern in the historical status record. If the predicted probability corresponding to a pattern is lower than the set probability value, the power consumption change prediction module 113 may no longer generate power consumption change prediction information based on the pattern to reduce the occurrence of false alarms.
  • processor 0 Assume that the current time is T0 time, and the power consumption change prediction module 113 of processor 0 generates power consumption change prediction information, indicating that a power consumption change event will occur on processor 0 within the future W1 time starting from T0 time. Assuming that the delay in broadcasting the power consumption change prediction information to the suppression module 120 of other processors is tn, then the power consumption change prediction information broadcast by processor 0 received by the suppression module 120 of any processor means T0+ Starting from time tn, processor 0 will have a power consumption change event within the time window of W1-tn, that is, processor 0 will experience a rapid performance or power consumption climb. In order to prevent the power consumption suppression of power consumption change events in some specific scenarios from taking effect too late and causing active defense failure, the delay tn needs to be minimized.
  • the power consumption change prediction information generated by the power consumption change prediction module 113 is hereinafter referred to as an S2 event, and the S2 event carries an S2 event flag.
  • the signal monitoring module 114 may adopt a system change number flag (SCN Flag) monitor.
  • the signal monitoring module 114 is used to monitor whether the processor 0 receives the set target signal, and when the processor 0 receives the set target signal, generate the target signal indication information, and transmit the target signal indication information to the processor 0
  • the suppression module 120 is transmitted to the suppression modules 120 of other processors except processor 0 by broadcasting.
  • the set target signal may include but is not limited to one or more of the following signals: wait for event (WFE) signal, wait for interrupt (WFI) signal, deep flush (deep flush) ) signal, branch flush signal, cache flush signal, high power event indicator signal or high power surge indicator signal, etc.
  • the signal monitoring module 114 can identify special scenarios that may cause power consumption change events in advance based on the above target signal, and notify the suppression module 120 earlier so that the suppression module 120 can perform peak-shift suppression or avoid package resonant frequencies.
  • the signal monitoring module 114 needs to predict the target signal indication information in advance before the power consumption change event, and the earlier the better.
  • the WFI signal can be obtained from the IFU, or it can be obtained earlier from an external wake-up interrupt interface.
  • the signal monitoring module 114 When the signal monitoring module 114 detects that the processor 0 receives any kind of target signal, it generates target signal indication information.
  • the target signal indication information generated by the signal monitoring module 114 is hereinafter referred to as an S3 event, and the S3 event carries an S3 event flag.
  • the above-mentioned S1 event, S2 event and S3 event are all power consumption generated by the power consumption change monitoring module 110 of the processor 0 Change information.
  • the power consumption change monitoring module 110 of processor 0 can also transmit the power consumption change information to the suppression modules 120 of other processors by broadcasting. .
  • the distance between the power consumption change monitoring module 110 of processor 0 and the suppression modules 120 of other processors is closer. , therefore the suppression module 120 of processor 0 can receive the power consumption change information of processor 0 sent by the power consumption change monitoring module 110 of processor 0 earlier than the suppression modules 120 of other processors.
  • the power consumption change monitoring module 110 of processor 0 transmits the power consumption change information of processor 0 to the suppression modules 120 of other processors, it can transmit different types of power consumption change information through a communication signal line, or Different types of power consumption change information can be transmitted through different communication signal lines. For example, S1 events are transmitted through the first communication signal line, S2 events are transmitted through the second communication signal line, and S3 events are transmitted through the third communication signal line. .
  • the delay of the transmission path from processor 0 to other processors should be constrained to a reasonable range, so that each processor can generate power consumption suppression processing actions after receiving the power consumption change information of processor 0 to be able to respond to voltage drops. Produce effects as constraints.
  • the power consumption change information in order to reduce the delay, can be transmitted through high-level metal traces to ensure that the power consumption change information can reach other processors within a short delay.
  • the S1 event or S3 event may not be transmitted to other processors through physical communication signal lines, but may be transmitted to other processors through interrupts, message mailboxes, or other non-physical wiring methods.
  • the above is an introduction to the power consumption change monitoring module 110 of the processor 0.
  • the suppression module 120 of the processor 0 will be introduced.
  • the suppression module 120 of the processor 0 is responsible for controlling the power consumption level of each functional unit within the processor 0 .
  • the suppression module 120 of the processor 0 can receive the power consumption change information of the processor 0 transmitted by the power consumption change monitoring module 110 of the processor 0, and receive the power consumption change information transmitted by any processor other than the processor 0 in a broadcast manner. Consumption change information is received, and based on the received power consumption change information, power consumption is suppressed for processor 0.
  • Specific ways for the suppression module 120 to suppress the power consumption of the processor may include but are not limited to: adjusting the clock frequency of the processor, such as adjusting the clock frequency from 100 MHz to 70 MHz; using a clock gating method, such as controlling the clock frequency every Run for 8 beats and stop for 2 beats; suppress the pipeline bandwidth of the processor, such as reducing the bandwidth of the internal pipeline of each functional unit in the processor; suppress the peak current; suppress some functional units in the processor, such as powering off some functional units or Shut down, or only suppress functional units that generate high power consumption events; temporarily shut down some functions of the processor, etc.
  • the suppression module 120 may use one or more of the above suppression methods to suppress the power consumption of the processor.
  • the suppression module 120 of processor 0 when the suppression module 120 of processor 0 receives the power consumption change information of processor 0, and the power consumption change information includes the S1 event, it means that the power consumption change event has occurred in processor 0 and requires immediate active defense. , the suppression module 120 can suppress the power consumption of the processor 0 according to the set suppression ratio corresponding to the S1 event.
  • the suppression module 120 of processor 0 When the suppression module 120 of processor 0 receives the power consumption change information of processor 0, and the power consumption change information includes the S2 event, if the suppression module 120 of processor 0 receives at least N processors within the set time period, If the power consumption change information is sent, the suppression module 120 suppresses the power consumption of processor 0 according to the set suppression ratio corresponding to the S2 event; where N is the set threshold of the number of changed processors corresponding to the S2 event.
  • the suppression module 120 of processor 0 When the suppression module 120 of processor 0 receives the power consumption change information of processor 0, and the power consumption change information includes the S3 event, if the suppression module 120 of processor 0 receives at least M processors within the set time period, If the power consumption change information is sent, the suppression module 120 suppresses the power consumption of processor 0 according to the set suppression ratio corresponding to the S3 event; where M is the set threshold of the number of changed processors corresponding to the S2 event.
  • the suppression module 120 of processor 0 When the suppression module 120 of processor 0 receives the power consumption change information of another processor, if the suppression module 120 of processor 0 receives power consumption change information sent by at least K processors within the set time period, and Processor 0 industry If the service priority is lower than the service priority of the other processor, the power consumption of processor 0 is suppressed according to the set suppression ratio corresponding to the power consumption change information of other processors; wherein, the other processor can be other than the processor
  • K is the threshold value of the number of processors corresponding to the set power consumption change information of other processors.
  • the values of K and the above-mentioned M and N may be the same or different.
  • the mitigation module 120 of processor 0 may include a power consumption event arbitration module and a peak power consumption mitigation (maxpower mitigation, MXPM) module.
  • the power consumption event arbitration module is used to determine whether to suppress the power consumption of processor 0 based on the received power consumption change information of each processor, and when it is determined to suppress the power consumption of processor 0, notify the peak power consumption suppression module Send a suppression command, which includes the suppression ratio and suppression duration.
  • the peak power consumption suppression module can suppress the power consumption of processor 0 within the suppression period according to the suppression ratio in the power consumption suppression instruction.
  • the suppression module 120 of processor 0 After the suppression module 120 of processor 0 suppresses the power consumption of processor 0, it transmits the suppression information to each other processor except processor 0 by broadcasting, so that other processors can determine whether they need to cooperate to suppress power consumption. .
  • the suppression module 120 of processor 0 can also receive suppression information transmitted by any one of the other processors in a broadcast manner.
  • the suppression module 120 When receiving suppression information from another processor, if the service priority of processor 0 is lower than the service priority of the other processor, the suppression module 120 performs suppression on processor 0 according to the set suppression ratio corresponding to the suppression information. Power consumption suppression, thereby suppressing voltage noise.
  • the suppression information is referred to as an S4 event below, and the S4 event carries an S4 event flag.
  • the suppression module 120 of the processor 0 includes a suppression information input interface, that is, an S4 input interface 121 , and a suppression information output interface, that is, an S4 output interface 122 .
  • the suppression module 120 of processor 0 can receive S4 events broadcast by other processors through the S4 input interface 121, and broadcast suppression information to other processors through the S4 output interface 122.
  • the power consumption change information received by the suppression module 120 of the processor 0 may be any of the S1 event, the S2 event or the S3 event. A sort of.
  • the process of power consumption suppression by the suppression module 120 of processor 0 is shown in Figure 4, which includes the following steps:
  • the power consumption change information of processor 0 sent by the power consumption change monitoring module 110 of processor 0 received by the suppression module 120 of processor 0, and the power consumption change information and suppression information sent by other processors can be called event information.
  • the power consumption change information may be any one of the S1 event, S2 event or S3 event, and the suppression information is the S4 event.
  • the event information sent by any processor can carry the processor's identification information and event flag.
  • the S1 event carries the S1 event flag.
  • the event information sent by the power consumption change monitoring module 110 of the processor 0 may also carry the identification information of the processor 0.
  • the processor can be called a processor core (core), and the identification information of the processor can be represented by C n , where the value of n is an integer value among 1,...N-1; for example, it will be processed below
  • the S1 event of processor 0 is represented as C 0 -S1
  • the S2 event of processor 0 is represented as C 0 -S2
  • the S1 event of processor 1 is represented as C 1 -S1.
  • the suppression module 120 may determine which processor sent the event information based on the identification information of the processor carried in the event information. If it is the event information of processor 0, you can determine whether it is an S1 event based on the event flag carried in the event information.
  • S404 Suppress the power consumption of processor 0 according to the set suppression ratio corresponding to the S1 event.
  • the suppression module 120 can suppress the power consumption of processor 0 within the set suppression period corresponding to the S1 event according to the set suppression ratio corresponding to the S1 event to reduce power supply noise.
  • N is the set number.
  • the value of N can be 1, 2, 3 or other integer values.
  • S406 Suppress the power consumption of processor 0 according to the set suppression ratio corresponding to the S2/S3 event.
  • the power consumption of processor 0 can be suppressed within the set suppression time according to the set suppression ratio corresponding to the S2/S3 event. For example, assuming that C 0 -S2 is currently received, the following method can be used to count the number of processors sending power consumption change information: Count how many processors have been received at the current moment and within the set time period before the current moment. Power consumption change information sent by the processor.
  • the statistical result can be: within the current time and 0.05ms before the current time, in addition to receiving the above-mentioned C 0 -S2 event, C 1 -S1 was also received, that is, a total of functions sent by 2 processors were received. Consumption change information.
  • the set suppression ratio corresponding to the S2/S3 event can be set.
  • the power consumption of processor 0 is suppressed for a certain period of time.
  • N 2
  • the suppression ratio corresponding to the S2/S3 event can be set according to the set suppression ratio corresponding to the S2/S3 event.
  • the power consumption of processor 0 is suppressed within the duration; otherwise, if only the C 0 -S2 or C 0 -S3 event is received at the current moment and within 0.05ms before the current moment, the power consumption of processor 0 does not need to be suppressed. Suppress and continue to wait for the arrival of the next event information.
  • the set suppression ratio corresponding to the S2 event and the set suppression ratio corresponding to the S3 event adopt the same set ratio value, and the suppression duration corresponding to the S2 event and the suppression duration corresponding to the S3 event can also be the same. .
  • the set suppression ratio corresponding to the S2 event and the set suppression ratio corresponding to the S3 event may be different, and the suppression duration corresponding to the S2 event and the suppression duration corresponding to the S3 event may also be different.
  • the received event information is the power consumption change information of processor 0
  • processor 0 can be suppressed according to the set suppression ratio corresponding to the S3 event within the set suppression duration corresponding to the S3 event. Power consumption suppression.
  • M is also a set quantity, and M and N can be the same or different.
  • the processor can also be set to perform power consumption suppression on the processor only when S1 events of at least N1 processors, S2 events of at least N2 processors, and S3 events of at least N3 processors are received.
  • the power consumption suppression for processor 0 will not be executed and the next event information will continue to wait; if C 0 -S2 is received at the current time, C 1 - is received within 0.05ms before the current time. If the power consumption change information of S1 and C3 -S2 is received, or the power consumption change information of other processors is also received, it can be processed within the set suppression time period corresponding to the S2 event according to the set suppression ratio corresponding to the S2 event. Device 0 performs power consumption suppression.
  • step S407 determine whether power consumption change information sent by at least K processors has been received; if so, execute step S408, If not, execute step S410.
  • K is also a set quantity.
  • the value of K can be the same as N, or it can be different.
  • S409 Suppress the power consumption of processor 0 according to the set cascade suppression ratio.
  • processor 0 and processor 1 can continue to be compared. If the service priority of processor 0 is lower than the service priority of processor 1, processor 0 will be suppressed according to the set suppression ratio corresponding to other processors within the set suppression time period corresponding to other processors. Perform power consumption suppression; otherwise, you may not perform power consumption suppression on processor 0 and continue to wait for the arrival of the next event information.
  • the set suppression ratio corresponding to other processors and the set suppression ratio corresponding to various power consumption change information of the processor itself may be different.
  • the power consumption change information and suppression information of other processors can be distinguished and processed differently respectively. For example, after determining that the event information is sent by another processor, it can be determined according to the event flag in the event information whether it is power consumption change information or suppression information. If it is power consumption change information, the number of processors sending power consumption change information is greater than or equal to K, and the business priority of processor 0 is low, the suppression ratio can be set according to the power consumption change information of other processors.
  • the power consumption of processor 0 can be suppressed within the set suppression time period corresponding to the suppression information of other processors according to the set suppression ratio corresponding to the suppression information of other processors. For example, if C 1 -S4 is received and the service priority of processor 0 is lower than the service priority of processor 1, the suppression ratio corresponding to the suppression information of other processors is set to that of the other processors. The power consumption of processor 0 is suppressed within the suppression period corresponding to the suppression information.
  • the process of the processor recovering from the power consumption suppression state to the normal operating state can be divided into multiple stages for recovery. For example, if the power consumption is suppressed through the clock frequency, the clock frequency can be increased from the suppression value first. to the middle value, and then increase from the middle value to the normal value to avoid recovering too quickly and increasing the power drop.
  • Processor 0 After executing the step of suppressing the power consumption of processor 0, or based on the above conditions, it is determined that there is no need to suppress the power consumption of processor 0 this time. Wait for the trigger of the next actual information, and then determine whether it is necessary to suppress the power consumption of processor 0 according to the above process. Processor 0 performs power consumption suppression.
  • various setting thresholds are used in the above-mentioned process of generating power consumption change information, as well as various setting quantities, setting suppression ratios, and setting durations used by the suppression module when performing power consumption suppression. etc., can be preset and saved in the processor's cache system or corresponding registers.
  • the chip 100 may further include a configuration module (Configuration Module, CFG) separately provided for each of the N processors.
  • the configuration module can be set inside the corresponding processor or outside the corresponding processor.
  • Figure 5 shows a schematic structural diagram of a processor with a configuration module inside. As shown in Figure 5, the configuration module 140 is connected to the power consumption change monitoring module 110 and the suppression module 120.
  • the configuration module 140 can be used to save various set thresholds used in the process of generating power consumption change information, and the suppression module Various setting quantities, setting suppression ratios, setting duration, etc. used when performing power consumption suppression.
  • the configuration module 140 can also adjust various setting thresholds used by the corresponding processor in the process of generating power consumption change information and/or the settings used in the process of power consumption suppression based on the received suppression information of any processor. Use various settings to suppress ratios, etc.
  • the processor shown in FIG. 5 may include each functional unit shown in FIG. 2 .
  • CFG.Throttle_signal(S2) Immediately suppress the trigger event, which can be the S1 event of this processor, or the S1/S2 event of this processor, or the S1/S2/S2 event of this processor; for example, if CFG.Throttle_signal is The S1 event of this processor, when the suppression module receives the S1 event of this processor, it will immediately suppress the power consumption of this processor according to the set suppression ratio; if CFG.Throttle_signal(S2) is the S1/S2/ S2 event, when the suppression module receives any power consumption change information of the processor, it will immediately suppress the power consumption of the processor according to the set suppression ratio;
  • CFG.Detector_time(P2) The set DIDT detection period.
  • the status monitoring module detects the running status of processor 0 according to the DIDT detection period; for example, the set DIDT detection period can be 8cyc or 16cyc, etc.;
  • CFG.Forcast_time(W1) Predict the duration of the window for future power consumption change events.
  • the power consumption change prediction module predicts whether a power consumption change event will occur within the set window duration; for example, the set window duration can be 8cyc or 16cyc, etc., or it can be 1/4 or 1/2 cycle of the resonant frequency of the processor, etc.;
  • CFG.Detector_threshold(L1) The maximum slope threshold of the power consumption change slope.
  • CFG.Detector_threshold(L0) The minimum slope threshold of the power consumption change slope. When the status monitoring module detects that the power consumption change slope of the processor is less than or equal to the set minimum slope threshold, the power consumption change monitoring information is cancelled;
  • the set suppression ratio corresponding to this processor that is, the S1 event, S2 event and S3 event of this processor correspond to the same set suppression ratio; the suppression module receives the S1 event, In case of S2 event or S3 event, the power consumption of this processor can be suppressed according to the set suppression ratio; for example, the set suppression ratio can be 90%, 80%, 70%, etc.; among them, 90% means that the processor will be The power consumption is reduced to 90% of the current level.
  • CFG.Throttle_time(T2) The set suppression time, the length of time for the suppression module to suppress the power consumption of this processor; matches the set DIDT detection period; for example, the set suppression time can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_th(cL2) cascade suppression ratio, that is, the set suppression ratio corresponding to other processors; when the suppression module receives the power consumption change information or suppression information of other processors, it can control this processor according to the set cascade suppression ratio.
  • the processor performs power consumption suppression; for example, the set suppression ratio can be 90%, 80%, 70%...0%; 0% means delaying the instruction fetch and stopping work from the beginning of the instruction fetch unit;
  • CFG.Throttle_time(cT2) cascade suppression time, that is, the set suppression time corresponding to other processors; when the suppression module receives the power consumption change information or suppression information of other processors, it can The power consumption of this processor is suppressed within the set cascade suppression time; the cascade suppression time matches the set DIDT detection period; for example, the set suppression time can be 8cyc or 16cyc, etc.;
  • CFG.casade_corenum(C2) The set number used by the suppression module when judging power consumption suppression. That is, when the set number of processors generate event information, the power consumption of this processor will be suppressed; for example, 0 means 1 deal with When the processor generates power consumption change information, the power consumption is suppressed. 1 means that 2 processors generate event information and the power consumption is suppressed. 2 means that 3 processors generate event information and the power consumption is suppressed. 4 means no cascading. As long as this processor When the processor generates event information, it suppresses power consumption;
  • CFG.casade_Mask(M2) Events that do not participate in the judgment when the suppression module performs suppression judgment; for example, S4 events do not need to participate in the judgment, and the suppression module can exclude the processing of sending S4 events when counting the number of processors that send event information. Device; 1 bit for each event.
  • different suppression ratios can be set for different events.
  • the following parameters can also be selectively set in the configuration module:
  • CFG.Throttle_Casade_th_S1 (L2S1): The set suppression ratio corresponding to the S1 event.
  • the suppression module receives the S1 event of this processor, it can suppress the power consumption of the processor according to the set suppression ratio corresponding to the S1 event.
  • S1 The set suppression ratio corresponding to the event can be 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S1 (T2S1): The set suppression time corresponding to the S1 event.
  • the suppression module receives the S1 event of the processor, it can suppress the power consumption of the processor within the set suppression time corresponding to the S1 event; with the setting Match the specified DIDT detection period; for example, the set suppression time corresponding to the S1 event can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_th_S2 (L2S2): The set suppression ratio corresponding to the S2 event.
  • the suppression module receives the S2 event of the processor, it can suppress the power consumption of the processor according to the set suppression ratio corresponding to the S2 event.
  • S2 The set suppression ratio corresponding to the event can be 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S2 (T2S2): The set suppression time corresponding to the S2 event.
  • the suppression module receives the S2 event of the processor, it can suppress the power consumption of the processor within the set suppression time corresponding to the S2 event; with the setting Match the specified DIDT detection period; for example, the set suppression time corresponding to the S2 event can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_th_S3 (L2S3): The set suppression ratio corresponding to the S3 event.
  • the suppression module receives the S3 event of this processor, it can suppress the power consumption of the processor according to the set suppression ratio corresponding to the S3 event.
  • S3 The set suppression ratio corresponding to the event can be 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S3 (T2S3): The set suppression time corresponding to the S3 event.
  • the suppression module receives the S3 event of the processor, it can suppress the power consumption of the processor within the set suppression time corresponding to the S3 event; with the setting Match the specified DIDT detection period; for example, the set suppression duration corresponding to the S3 event can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_th_S1 (cL2S1): The cascade suppression ratio for S1 events, that is, the set suppression ratio corresponding to the S1 events of other processors; when the suppression module receives S1 events from other processors, it can follow the cascade suppression ratio for S1 events.
  • the suppression ratio suppresses power consumption of this processor; for example, the cascade suppression ratio for S1 events can be 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S1 (cT2S1): The cascade suppression duration for S1 events, that is, the cascade suppression duration corresponding to S1 events of other processors; when the suppression module receives S1 events from other processors, it can follow the cascade suppression duration for S1 events.
  • the suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S1 events can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_th_S2 (cL2S2): The cascade suppression ratio for S2 events, that is, the set suppression ratio corresponding to the S2 events of other processors; when the suppression module receives S2 events from other processors, it can follow the cascade suppression ratio for S2 events.
  • the suppression ratio performs power consumption suppression on this processor; for example, the cascade suppression ratio for S2 events can It's 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S2 (cT2S2): The cascade suppression duration for S2 events, that is, the cascade suppression duration corresponding to S2 events of other processors; when the suppression module receives S2 events from other processors, it can follow the cascade suppression duration for S2 events.
  • the suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S2 events can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_th_S3 (cL2S3): The cascade suppression ratio for S3 events, that is, the set suppression ratio corresponding to the S3 events of other processors; when the suppression module receives S3 events from other processors, it can follow the cascade suppression ratio for S3 events.
  • the suppression ratio suppresses the power consumption of this processor; for example, the cascade suppression ratio for S3 events can be 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S3 (cT2S3): The cascade suppression duration for S3 events, that is, the cascade suppression duration corresponding to S3 events from other processors; when the suppression module receives S3 events from other processors, it can follow the cascade suppression duration for S3 events.
  • the suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S3 events can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_th_S4 (cL2S4): The cascade suppression ratio for S4 events, that is, the set suppression ratio corresponding to the S4 events of other processors; when the suppression module receives S4 events from other processors, it can follow the cascade suppression ratio for S4 events.
  • the suppression ratio suppresses the power consumption of this processor; for example, the cascade suppression ratio for S4 events can be 90%, 80%, 70%...0%;
  • CFG.Throttle_Casade_time_S4 (cT2S4): The cascade suppression duration for S4 events, that is, the cascade suppression duration corresponding to S4 events from other processors; when the suppression module receives S4 events from other processors, it can follow the cascade suppression duration for S4 events.
  • the suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S4 events can be 8cyc or 16cyc, etc.;
  • CFG.Throttle_Casade_priority(cPrn) The business priority of this processor; when one of the two processors needs to be suppressed and the other can run normally, the processor with the lower business priority suppresses power consumption;
  • CFG.Throttle_Casade_release(cTrn) When this processor returns from the inhibited state to the normal state, several stages of recovery need to be added. The default is 0, which is restored directly. 1 is to add a stage of recovery (it can be understood that there is a step in the middle of the current recovery to the peak value.) 2, 3 and so on, can avoid recovery too fast and increase the voltage drop.
  • the configuration module 140 is also responsible for adjusting various set thresholds used by the processor in the process of generating power consumption change information, and various set suppression ratios used in the process of power consumption suppression.
  • the configuration module 140 can adjust various setting thresholds used by the corresponding processor in the process of generating the power consumption change information according to the received suppression information of any processor; or, the configuration module 140 can adjust the various setting thresholds used by the corresponding processor according to the received suppression information.
  • the suppression module 120 of processor 0 receives the S4 event of processor 2 and may transmit the S4 event of processor 2 to the configuration module 140 of processor 0.
  • the configuration module 140 of processor 0 receives the S4 event of processor 2, indicating that processor 2 is currently in a power consumption suppression state, and can be associated with the modified power consumption change monitoring module 110 of processor 0 to detect the generation threshold of the S1 event.
  • the processor The power consumption change monitoring module 110 of 0 performs monitoring according to the modified threshold. When no power consumption suppression action occurs on any processor, the S1 event generation threshold of the power consumption change monitoring module 110 is restored to the configured default value.
  • the threshold can be adjusted by software or in conjunction with a hardware business classification processor.
  • each processor can transmit power consumption change information to each other and cooperate to suppress power consumption. It can suppress the power consumption of the processor more accurately and timely, suppress voltage noise more effectively, and reduce Performance damage to the processor.
  • the chip provided by the embodiment of the present application may also include an arbitration module 150 and a suppression execution module 160 provided in the power domain. Both the arbitration module 150 and the suppression execution module 160 belong to the power consumption adjustment module.
  • the arbitration module 150 can also be called a power integrity arbitration (PI arbiter) module, which is used to receive power consumption change information of multiple processors.
  • the power consumption change information of the processor can be the power consumption change monitoring of each processor.
  • Module 110 sends it to the arbitration module.
  • the arbitration module 150 can determine which processor or processors need to perform power consumption suppression based on the received power consumption change information, and send a power consumption suppression instruction to the suppression execution module 160.
  • the power consumption suppression instruction includes the target that needs to be power consumption suppressed. processor.
  • the arbitration module 150 may also first suppress the power consumption of processors with lower business priorities.
  • the suppression execution module 160 is configured to suppress power consumption of the target processor according to the power consumption suppression instruction sent by the arbitration module 150 .
  • the suppression execution module 160 can also be called a fast frequency scaling (FFS) module, which can perform frequency reduction processing through a fast frequency scaling response.
  • FFS fast frequency scaling
  • the suppression execution module 160 can reduce the frequency of all processors at the same time, or can only reduce the frequency of the processors. Part of the processors specified by the frequency, that is, the target processors determined by the arbitration module 150 that require power consumption suppression.
  • the chip provided by the embodiment of the present application may also include a transient current monitor (transient current monitor, TCM) module 170 provided in the power domain.
  • the transient current monitoring module 170 belongs to the power consumption monitoring module and is used to monitor the current in the power domain and generate voltage status indication information according to changes in the current. For example, the transient current monitoring module 170 detects that the real-time current in the power domain reaches or approaches At peak current, voltage status indication information can be generated.
  • the transient current monitoring module 170 sends the voltage status indication information to the arbitration module 150, so that the arbitration module 150 determines the power consumption suppression strategy according to the voltage status indication information, and sends the power consumption suppression strategy to the suppression execution module 160 according to the determined power consumption suppression strategy. Suppress commands.
  • the arbitration module may determine the power consumption suppression strategy only based on the voltage status indication information sent by the transient current monitoring module 170; in another embodiment, the arbitration module may only determine the power consumption suppression strategy based on the voltage status indication information sent by each processor.
  • the power consumption change information sent determines the power consumption suppression strategy; in another embodiment, the arbitration module can determine the power consumption suppression based on the power consumption change information sent by each processor and the voltage status indication information sent by the transient current monitoring module 170 Strategy.
  • Figure 7 exemplarily shows a flow chart of a process of power consumption suppression by an arbitration module. As shown in Figure 7, the process may include the following steps:
  • the trigger event received by the arbitration module may be the power consumption change information sent by the power consumption change monitoring module of a certain processor, such as the above-mentioned S1 event, S2 event or S3 event; it may also be the voltage status sent by the transient current monitoring module Instructions.
  • step S702 determine whether the trigger event is voltage status indication information; if yes, execute step S703; if not, execute step S704.
  • the arbitration module can determine whether the received trigger event is the voltage status indication information sent by the transient current monitoring module according to the event flag carried in the received trigger event, or according to the interface through which the trigger event is received.
  • S703 Generate a power consumption suppression instruction according to the power consumption suppression strategy for the voltage status indication information.
  • the arbitration module can generate a power consumption suppression instruction based on the set suppression ratio and set suppression time for the voltage status indication information to suppress power consumption of all processors; Alternatively, the arbitration module can generate a power consumption suppression instruction based on the set suppression ratio and set suppression duration for the voltage status indication information, as well as the business priority of each processor, to suppress power consumption of some processors.
  • the arbitration module can also adjust the threshold used by each processor in the process of generating power consumption change information or the set suppression ratio and setting used in the power consumption suppression process based on the received voltage status indication information. Inhibition duration.
  • S704 Generate a power consumption suppression instruction according to the power consumption suppression strategy based on the power consumption change information.
  • the arbitration module can set the suppression ratio based on the power consumption change information. and set the suppression duration, generate a power consumption suppression instruction, and perform power consumption suppression on processor 1; or, the arbitration module can set the suppression ratio and set the suppression duration based on the power consumption change information, generate a power consumption suppression instruction, and perform power consumption suppression on the business Processors with a lower priority than processor 1 perform power consumption suppression; alternatively, the arbitration module can set the suppression ratio and suppression duration based on the power consumption change information, generate a power consumption suppression instruction, and suppress processor 1 and business priority. Processors below processor 1 perform power suppression.
  • the arbitration module when the arbitration module receives the power consumption change information sent by processor 1, it can refer to the logic of the suppression module to perform power consumption suppression judgment, and first determine whether the number of processors sending power consumption change information reaches the set number. , if the set number is reached, the suppression ratio and suppression duration set for the power consumption change information can be set, and the business priority of each processor that sends the power consumption change information can be determined to determine which processors should perform power consumption suppression. And generate a power consumption suppression instruction to suppress the power consumption of the determined target processor.
  • the arbitration module can also adjust the threshold used by each processor in the process of generating the power consumption change information or the set suppression ratio used in the power consumption suppression process based on the received power consumption change information of the processor. and set the suppression duration.
  • S705 Send a power consumption suppression instruction to the suppression execution module.
  • the arbitration module sends the generated power consumption suppression instruction to the suppression execution module, and the suppression execution module uses frequency reduction and other methods to suppress the power consumption of the corresponding processor according to the power consumption suppression instruction.
  • the arbitration module After the arbitration module sends the power consumption suppression instruction to the suppression execution module, it can wait for the arrival of the next trigger event.
  • the arbitration module when the arbitration module receives power consumption change information sent by a certain processor, it can determine whether the power consumption change information is high-frequency event information, that is, power consumption change information caused by ns-level power consumption change events; If it is high-frequency event information, ns-level power consumption can be suppressed immediately according to the power consumption suppression strategy for ns-level power consumption change events. If it is not high-frequency event information, such as power consumption change information caused by us-level power consumption change events, us-level power consumption suppression can be performed according to the power consumption suppression strategy for us-level power consumption change events.
  • high-frequency event information that is, power consumption change information caused by ns-level power consumption change events
  • us-level power consumption suppression can be performed according to the power consumption suppression strategy for us-level power consumption change events.
  • the power consumption change information obtained by the high sampling rate power consumption change monitoring module inside the processor core, and the voltage status indication information obtained by the low sampling rate transient current monitoring module for the same power domain are centralized.
  • the managed arbitration module performs frequency reduction strategy control, and then performs frequency reduction control and frequency recovery control for the corresponding processor core through the suppression execution module, which can supplement the suppression efficiency and suppression amplitude of the suppression module of each processor. For example, if the Significant power consumption suppression, while also providing optimal energy efficiency options in multiple scenarios.
  • the chip 100 may include a power consumption change monitoring module 110 set for each processor in the N processors, an arbitration module 150 and a suppression execution module 160 set in the power domain, and may also include a transient current Monitoring module 170.
  • the consumption change monitoring module 110 is used to monitor the operating status of the corresponding processor, generate power consumption change information of the corresponding processor according to the operating status of the corresponding processor, and transmit the power consumption change information to the arbitration module 150 .
  • the transient current monitoring module 170 is used to monitor the current in the power domain and generate voltage status indication information according to changes in the current.
  • the transient current monitoring module 170 sends the voltage status indication information to the arbitration module 150 .
  • the arbitration module 150 can determine the power consumption suppression strategy based on the power consumption change information of each processor and the voltage status indication information transmitted by the transient current monitoring module 170, and send the power consumption suppression strategy to the suppression execution module 160 according to the determined power consumption suppression strategy. Suppression instructions.
  • the power consumption suppression instructions include the target processor that needs to be suppressed in power consumption, as well as the suppression ratio and suppression duration.
  • the suppression execution module 160 suppresses the power consumption of the target processor within the suppression duration according to the suppression ratio in the power consumption suppression instruction.
  • the power consumption suppression for the target processor is not controlled within the core. Instead, the suppression execution module 160 outside the processor controls the voltage or frequency of the target processor. External frequency reduction and voltage reduction can suppress the processor current better than in-core control that reduces performance by the same proportion.
  • the transient current monitoring module may not be included in the chip.
  • the arbitration module 150 may determine a power consumption suppression strategy based on the power consumption change information transmitted by the power consumption change monitoring module 110 of each processor, and send a power consumption suppression instruction to the suppression execution module 160 based on the determined power consumption suppression strategy.
  • the chip may not include a power consumption change monitoring module set separately for each processor.
  • the arbitration module 150 may determine a power consumption suppression strategy based on the voltage status indication information transmitted by the transient current monitoring module 170 , and send a power consumption suppression instruction to the suppression execution module 160 based on the determined power consumption suppression strategy.
  • embodiments of the present application also provide a voltage noise suppression method, which is executed by the chip in the above embodiments. As shown in Figure 9, the method may include the following steps:
  • S902 According to the power consumption change information of the multiple processors, perform power consumption suppression on some or all of the multiple processors.
  • the above voltage noise suppression method can be executed by any processor among multiple processors in the same power domain.
  • the following description takes processor 0 as an example.
  • Processor 0 can obtain the power consumption change information of multiple processors in the same power domain in the following manner: monitor the operating status of processor 0, and generate the power consumption change information of processor 0 based on the operating status of processor 0; receive The power consumption change information of the second processor is sent by the second processor; the power consumption change information of the second processor is generated based on the operating status of the second processor; the second processor is any processor other than processor 0. a processor.
  • the power consumption change information of processor 0 includes at least one of the following: power consumption change monitoring information generated when a power consumption change event occurs in processor 0; based on the operating status of processor 0 and the power consumption change event that has occurred Historical status records, when it is predicted that a power consumption change event will occur within the set time window, the power consumption change prediction information is generated; when it is monitored that processor 0 receives the set target signal, the target signal indication information is generated.
  • the power consumption change information of processor 0 may be generated by the power consumption change monitoring module of processor 0 and transmitted to the suppression module of processor 0.
  • the suppression module of processor 0 may receive the power consumption change information of processor 0 sent by the power consumption change monitoring module of processor 0, and receive the power consumption change information of the second processor sent by the second processor.
  • the processor 0 can suppress the power consumption of the processor 0 based on the power consumption change information of multiple processors. For example, when the power consumption change monitoring information of processor 0 is obtained, the power consumption of processor 0 is suppressed according to the set suppression ratio for the power consumption change monitoring information; when the power consumption change of processor 0 is obtained When predicting information, if the power consumption change information sent by at least N processors is received within the set time period, the power consumption of processor 0 will be suppressed according to the set suppression ratio for the power consumption change prediction information; N is The set threshold for changing the number of processors; when the target of processor 0 is obtained When targeting signal indication information, if the power consumption change information sent by at least M processors is received within the set time period, the power consumption of processor 0 will be suppressed according to the set suppression ratio for the target signal indication information; M Set the threshold for changing the number of processors.
  • the suppression information can be transmitted to each processor except processor 0 by broadcasting.
  • the suppression information of the second processor is received, if the service priority of processor 0 is lower than the service priority of the second processor, the power consumption of processor 0 is suppressed according to the suppression ratio set for the suppression information. .
  • processor 0 can also adjust the threshold used by processor 0 in the process of power consumption monitoring and/or the suppression used in the process of power consumption suppression based on the received suppression information of any processor. Proportion.
  • the above voltage noise suppression method can be executed by the arbitration module in the above embodiment, and the arbitration module can receive the power consumption change information of the first processor sent by the first processor; the first processor is multiple Any one of the processors; alternatively, the arbitration module can receive the power consumption change information sent by the transient current monitoring module in the power domain; the power consumption change information is the voltage status indication information generated by the transient current monitoring module according to the current changes in the power domain. .
  • the arbitration module can determine the target processor that needs to suppress power consumption based on the received power consumption change information; it can suppress the power consumption of the target processor through the suppression execution module.
  • the method steps in the embodiments of the present application can be implemented by hardware, or by a processor executing computer programs or instructions.
  • a computer program or instructions may constitute a computer program product.
  • An embodiment of the present application also provides a computer program product including computer-executable instructions.
  • the computer-executable instructions are used to cause the computer to perform functions in the method embodiments shown in FIG. 4, FIG. 7, or FIG. 9.
  • Computer-executable instructions may be stored in a computer-readable storage medium.
  • Embodiments of the present application further provide a computer-readable storage medium in which executable instructions are stored.
  • the computer-executable instructions are used to cause the computer to perform functions in the method embodiments shown in FIG. 4, FIG. 7, or FIG. 9.
  • the computer-readable storage medium can be random access memory (random access memory, RAM), flash memory, read-only memory (read-only memory, ROM), programmable read-only memory (programmableROM, PROM), Erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically ePROM, EEPROM), register, hard disk, removable hard disk, CD-ROM or any other form known in the art Computer-readable storage media.
  • RAM random access memory
  • ROM read-only memory
  • programmable read-only memory programmable read-only memory
  • PROM Erasable programmable read-only memory
  • EPROM Erasable programmable read-only memory
  • electrically erasable programmable read-only memory electrically erasable programmable read-only memory (electrically ePROM, EEPROM), register, hard disk, removable hard disk, CD-ROM or any other form known in the art Computer-readable storage media.
  • Computer-executable instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, the computer program or instructions may be transmitted from a website, computer, server, or A data center transmits data via wired or wireless means to another website site, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media.
  • the available media may be magnetic media, such as floppy disks, hard disks, and magnetic tapes; they may also be optical media, such as digital video discs (DVDs); they may also be semiconductor media, such as solid-state hard drives.

Landscapes

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

Abstract

Disclosed in the present application are a chip and a voltage noise suppression method, belonging to the technical field of power management. The chip comprises a plurality of processors located in the same power domain, and a power consumption monitoring module and a power consumption regulation module, the power consumption monitoring module being used for acquiring power consumption change information of the plurality of processors, and for transmitting the power consumption change information to the power consumption regulation module, and the power consumption regulation module being used for performing, according to the power consumption change information of the plurality of processors, power consumption suppression on some or all of the plurality of processors. In the present application, for a scenario in which a plurality of processors share a power supply, power consumption suppression is performed by comprehensively considering the power consumption change information of the plurality of processors, thereby achieving more accurate and timely power consumption suppression on the processors, effectively suppressing voltage noise, and reducing performance damage to the processors.

Description

芯片和电压噪声抑制方法Chip and Voltage Noise Reduction Methods
相关申请的交叉引用Cross-references to related applications
本申请要求在2022年04月18日提交中国专利局、申请号为202210404415.X、申请名称为“芯片和电压噪声抑制方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed with the China Patent Office on April 18, 2022, with application number 202210404415. middle.
技术领域Technical field
本申请涉及电源管理技术领域,尤其涉及一种芯片和电压噪声抑制方法。The present application relates to the field of power management technology, and in particular to a chip and a voltage noise suppression method.
背景技术Background technique
在笔记本、台式机、智能手机、自动驾驶控制器等计算设备中,由于处理的任务越来越多,计算量越来越大,单核处理器无法满足任务处理需求,因此常用多核处理器来并行处理任务,以提升计算设备的算力性能和用户体验。In computing devices such as notebooks, desktops, smartphones, and autonomous driving controllers, as more and more tasks are processed and the amount of calculations increases, single-core processors cannot meet the task processing needs, so multi-core processors are commonly used. Process tasks in parallel to improve the computing performance and user experience of computing devices.
多核处理器可以共享电源,当出现多核处理器中的多个处理器并发处理任务或多个重载任务运行时,由于功耗急剧增加,会出现不同频率的电压跌落上冲(voltage droop or voltage overshoot),这些电压噪声可能会危害计算设备的电路功能安全,造成处理器的性能损伤。Multi-core processors can share power. When multiple processors in a multi-core processor process tasks concurrently or multiple heavy-duty tasks run, voltage droop or voltage surges (voltage droop or voltage) of different frequencies will occur due to a sharp increase in power consumption. overshoot), these voltage noises may endanger the circuit functional safety of computing equipment and cause processor performance damage.
发明内容Contents of the invention
本申请提供一种芯片和电压噪声抑制方法,可以有效抑制电压噪声,减少对处理器的性能损伤。This application provides a chip and voltage noise suppression method, which can effectively suppress voltage noise and reduce performance damage to the processor.
第一方面,本申请实施例提供一种芯片,该芯片包括处于同一电源域内的多个处理器,多个处理器由同一电源供电。该芯片还包括功耗监测模块和功耗调节模块,其中,功耗监测模块是指用于监测处理器的运行状态,根据处理器的运行状态生成处理器的功耗变化信息的器件或模块;功耗调节模块是指对处理器的功耗进行调整的器件或模块。在本申请实施例中,功耗监测模块用于获取多个处理器的功耗变化信息,并将功耗变化信息传输至功耗调节模块,功耗调节模块用于根据多个处理器的功耗变化信息,对多个处理器中的部分或全部处理器进行功耗抑制。In a first aspect, embodiments of the present application provide a chip, which includes multiple processors in the same power supply domain, and the multiple processors are powered by the same power supply. The chip also includes a power consumption monitoring module and a power consumption adjustment module, where the power consumption monitoring module refers to a device or module used to monitor the operating status of the processor and generate power consumption change information of the processor based on the operating status of the processor; The power consumption adjustment module refers to a device or module that adjusts the power consumption of the processor. In the embodiment of the present application, the power consumption monitoring module is used to obtain the power consumption change information of multiple processors, and transmit the power consumption change information to the power consumption adjustment module. The power consumption adjustment module is used to adjust the power consumption of the multiple processors according to the power consumption change information. Consumption change information is used to suppress power consumption of some or all processors among multiple processors.
本申请实施例在多个处理器共享电源的场景中,通过综合考虑多个处理器的功耗变化信息进行功耗抑制,与单个处理器单独进行功耗抑制相比,可以更准确地、更及时地对处理器进行功耗抑制,减少多个处理器并发处理任务或多个重载任务运行时发生的电压跌落上冲情况,从而有效地抑制电压噪声,减少对处理器的性能损伤。In the scenario where multiple processors share power supply, the embodiment of the present application suppresses power consumption by comprehensively considering the power consumption change information of multiple processors. Compared with suppressing power consumption by a single processor alone, it can be more accurate and more accurate. The power consumption of the processor is suppressed in a timely manner to reduce voltage drops and overshoots that occur when multiple processors process tasks concurrently or when multiple overloaded tasks are running, thereby effectively suppressing voltage noise and reducing performance damage to the processor.
在一种可能的实现方式中,功耗监测模块可以包括针对多个处理器中的每个处理器分别设置的电压监测模块;电压监测模块是指用于监测处理器的电压变化的器件或模块。其中,第一处理器的电压监测模块用于监测第一处理器是否发生电压跌落,并在电压跌落的幅度超过设定幅度阈值时,生成功耗变化监测信息;第一处理器可以是上述多个处理器中的任意一个。功耗变化监测信息属于功耗变化信息中的一种,功耗变化监测信息是指监测 到处理器发生功耗变化而生成的信息。例如,监测到处理器的电压跌落幅度超过设定幅度阈值,或处理器的功耗变化斜率达到设定斜率阈值时,说明处理器发生功耗变化,生成功耗变化监测信息。在另一种可能的实现方式中,功耗监测模块可以包括针对多个处理器中的每个处理器分别设置的状态监测模块;状态监测模块是指用于监测处理器的功耗变化斜率的器件或模块。第一处理器的状态监测模块用于根据第一处理器的运行状态确定功耗变化斜率,并在功耗变化斜率达到第一处理器的设定斜率阈值时,生成功耗变化监测信息。在另一种可能的实现方式中,功耗监测模块可以包括针对多个处理器中的每个处理器分别设置的电压监测模块和状态监测模块。In a possible implementation, the power consumption monitoring module may include a voltage monitoring module set separately for each of the multiple processors; the voltage monitoring module refers to a device or module used to monitor voltage changes of the processor . Among them, the voltage monitoring module of the first processor is used to monitor whether a voltage drop occurs in the first processor, and when the amplitude of the voltage drop exceeds a set amplitude threshold, generate power consumption change monitoring information; the first processor can be one of the above-mentioned any one of the processors. Power consumption change monitoring information is one type of power consumption change information. Power consumption change monitoring information refers to monitoring Information generated by changes in power consumption of the processor. For example, when it is detected that the processor's voltage drop exceeds a set amplitude threshold, or the processor's power consumption change slope reaches a set slope threshold, it indicates that the processor's power consumption has changed, and power consumption change monitoring information is generated. In another possible implementation, the power consumption monitoring module may include a status monitoring module set separately for each of the multiple processors; the status monitoring module refers to a module for monitoring the power consumption change slope of the processor. device or module. The status monitoring module of the first processor is configured to determine the power consumption change slope according to the operating status of the first processor, and generate power consumption change monitoring information when the power consumption change slope reaches the set slope threshold of the first processor. In another possible implementation, the power consumption monitoring module may include a voltage monitoring module and a status monitoring module respectively set for each processor in the plurality of processors.
第一处理器的电压监测模块或状态监测模块可以设置在第一处理器的内部,也可以设置在第一处理器的外部。第一处理器的电压监测模块或状态监测模块用于实时监测第一处理器的运行状态,可以及时地生成第一处理器的功耗变化信息,从而更及时地向功耗调节模块通知第一处理器的功耗变化。并且,电压监测模块和状态监测模块采用不同方式监测处理器的功耗变化,可以根据处理器的不同状态信息更全面、更及时地生成处理器的功耗变化信息。The voltage monitoring module or status monitoring module of the first processor may be installed inside the first processor, or may be installed outside the first processor. The voltage monitoring module or status monitoring module of the first processor is used to monitor the operating status of the first processor in real time, and can generate power consumption change information of the first processor in a timely manner, thereby notifying the power consumption adjustment module of the first processor in a timely manner. Processor power consumption changes. In addition, the voltage monitoring module and the status monitoring module use different methods to monitor the power consumption changes of the processor, and can generate more comprehensive and timely power consumption change information of the processor based on the different status information of the processor.
在一种可能的实现方式中,功耗监测模块除包括针对每个处理器分别设置的电压监测模块或状态监测模块之外,还可以包括针对每个处理器分别设置的功耗变化预测模块,功耗变化预测模块是指用于预测处理器是否将发生功耗变化的器件或模块。其中,第一处理器的功耗变化预测模块用于监测第一处理器的运行状态,根据运行状态与已发生功耗变化事件的历史状态记录,预测在设定时间窗内是否将发生功耗变化事件,并在预测到将发生功耗变化事件时,生成功耗变化预测信息。功耗变化预测信息也属于功耗变化信息中的一种,功耗变化预测信息是指根据处理器的运行状态,在预测到即将发生功耗变化事件时生成的信息,其中,功耗变化事件指处理器的功耗发生变化。In a possible implementation, in addition to a voltage monitoring module or a status monitoring module set separately for each processor, the power consumption monitoring module may also include a power consumption change prediction module set separately for each processor. The power consumption change prediction module refers to a device or module used to predict whether the processor will experience changes in power consumption. Among them, the power consumption change prediction module of the first processor is used to monitor the operating status of the first processor, and predict whether power consumption will occur within the set time window based on the operating status and historical status records of power consumption change events that have occurred. Change events, and generate power consumption change prediction information when it is predicted that a power consumption change event will occur. Power consumption change prediction information is also a type of power consumption change information. Power consumption change prediction information refers to information generated when an impending power consumption change event is predicted based on the operating status of the processor. Among them, the power consumption change event Refers to changes in processor power consumption.
上述实现方式中,通过设置功耗变化预测模块,可以预先预测到在未来的设定时间窗内是否将发生功耗变化事件,从而可以更早地向功耗调节模块提供功耗变化信息,有利于功耗调节模块提前确定功耗抑制策略,更有效地进行功耗抑制。In the above implementation method, by setting the power consumption change prediction module, it can be predicted in advance whether a power consumption change event will occur within a set time window in the future, so that the power consumption change information can be provided to the power consumption adjustment module earlier. It is beneficial for the power consumption adjustment module to determine the power consumption suppression strategy in advance and perform power consumption suppression more effectively.
在一种可能的实现方式中,功耗监测模块除包括针对每个处理器分别设置的电压监测模块或状态监测模块之外,还可以包括针对每个处理器分别设置的信号监测模块,信号监测模块是指用于监测处理器接收到的信号的器件或模块。其中,第一处理器的信号监测模块用于监测第一处理器是否接收到设定的目标信号,并在第一处理器接收到设定的目标信号时,生成目标信号指示信息。目标信号指示信息也属于功耗变化信息中的一种,目标信号指示信息是指接收到设定的目标信号时生成的信息。In a possible implementation, in addition to a voltage monitoring module or a status monitoring module set separately for each processor, the power consumption monitoring module may also include a signal monitoring module set separately for each processor. The signal monitoring module A module refers to a device or module used to monitor signals received by the processor. The signal monitoring module of the first processor is used to monitor whether the first processor receives the set target signal, and when the first processor receives the set target signal, generate target signal indication information. Target signal indication information is also a type of power consumption change information. Target signal indication information refers to information generated when a set target signal is received.
上述实现方式中,通过设置信号监测模块来监测处理器是否接收到设定的目标信号,目标信号为封装谐振等可能会引发功耗剧烈变化的前置信号,通过信号监测模块来监测到目标信号,可以在功耗剧烈变化之前,提前向功耗调节模块提供功耗变化信息,为封装谐振等高频功耗变化事件的抑制时机提供证据,有利于功耗调节模块提前确定功耗抑制策略,提升了控制跌落有效性更有效地进行功耗抑制。In the above implementation, the signal monitoring module is set up to monitor whether the processor receives the set target signal. The target signal is a pre-signal that may cause drastic changes in power consumption such as package resonance. The target signal is monitored through the signal monitoring module. , can provide power consumption change information to the power consumption adjustment module in advance before the power consumption changes drastically, providing evidence for the suppression timing of high-frequency power consumption change events such as package resonance, which is conducive to the power consumption adjustment module to determine the power consumption suppression strategy in advance, improving Control drop effectiveness for more effective power consumption suppression.
在一种可能的实现方式中,第一处理器的功耗变化监测模块可以包括电压监测模块、状态监测模块、功耗变化预测模块和信号监测模块,从多个方面根据不同状态信息更全面地为功耗调节模块提供功耗变化信息。In a possible implementation, the power consumption change monitoring module of the first processor may include a voltage monitoring module, a status monitoring module, a power consumption change prediction module and a signal monitoring module to more comprehensively monitor different status information from multiple aspects. Provide power consumption change information to the power consumption adjustment module.
在一种可能的实现方式中,功耗调节模块包括针对多个处理器中的每个处理器分别设 置的抑制模块,抑制模块用于对处理器进行功耗抑制。其中,第一处理器的抑制模块用于接收第一处理器的功耗变化监测模块传输的第一处理器的功耗变化信息,以及接收除第一处理器之外的任意一个处理器通过广播的方式传输的功耗变化信息,并基于接收到的功耗变化信息,对第一处理器进行功耗抑制。第一处理器的抑制模块可以设置在第一处理器内部,也可以设置在第一处理器外部。In a possible implementation, the power consumption adjustment module includes separately setting The suppression module is installed, and the suppression module is used to suppress the power consumption of the processor. Wherein, the suppression module of the first processor is used to receive the power consumption change information of the first processor transmitted by the power consumption change monitoring module of the first processor, and receive the broadcast signal from any processor other than the first processor. The power consumption change information is transmitted in a manner, and the power consumption of the first processor is suppressed based on the received power consumption change information. The suppression module of the first processor may be arranged inside the first processor, or may be arranged outside the first processor.
上述实现方式中,针对每个处理器分布式设置抑制模块,各个处理器的抑制模块可以同时得知其他处理器的功耗变化信息,从而为功耗抑制时机的判定提供有利证据,各个处理器的抑制模块结合接收到的其他处理器的功耗变化信息,对本处理器进行功耗抑制,从而实现多个处理器协同进行功耗抑制,提升多核处理器系统在大电流跳变场景下的电压跌落上冲控制效率,更有效地抑制电压噪声。In the above implementation, the suppression module is distributed for each processor. The suppression module of each processor can learn the power consumption change information of other processors at the same time, thereby providing favorable evidence for determining the timing of power consumption suppression. Each processor The suppression module combines the received power consumption change information of other processors to suppress the power consumption of this processor, thereby realizing multiple processors to coordinate power consumption suppression and improving the voltage of the multi-core processor system in large current jump scenarios. Drop and overshoot control efficiency, suppressing voltage noise more effectively.
在一种可能的实现方式中,第一处理器的功耗变化监测模块和抑制模块均部署于第一处理器内部,由于通信的线路较短,第一处理器的功耗变化监测模块可以更快地获知第一处理器的各种运行状态信息,更及时地将功耗变化信息通知给抑制模块,有利于抑制模块更早地对第一处理器进行功耗抑制,减少因功耗抑制生效太晚而导致无法有效抑制电压噪声的情况发生。In a possible implementation, the power consumption change monitoring module and the suppression module of the first processor are both deployed inside the first processor. Since the communication line is short, the power consumption change monitoring module of the first processor can be updated. Quickly obtain various operating status information of the first processor, and notify the suppression module of the power consumption change information in a more timely manner, which is conducive to the suppression module to suppress the power consumption of the first processor earlier and reduce the risk of power consumption suppression taking effect. Too late and the voltage noise cannot be effectively suppressed.
在一种可能的实现方式中,第一处理器的抑制模块,具体可以用于:当接收到第一处理器的功耗变化信息,且第一处理器的功耗变化信息包括功耗变化监测信息时,按照针对功耗变化监测信息的设定抑制比例对第一处理器进行功耗抑制;当接收到第一处理器的功耗变化信息,且第一处理器的功耗变化信息包括功耗变化预测信息时,若在设定时间段内接收到至少N个处理器发送的功耗变化信息,则按照针对功耗变化预测信息的设定抑制比例对所述第一处理器进行功耗抑制;其中,N为设定的变化处理器数量阈值;当接收到第一处理器的功耗变化信息,且第一处理器的功耗变化信息包括目标信号指示信息时,若在设定时间段内接收到至少M个处理器发送的功耗变化信息,则按照针对目标信号指示信息的设定抑制比例对第一处理器进行功耗抑制;其中,M为设定的变化处理器数量阈值。In a possible implementation, the suppression module of the first processor may be specifically configured to: when receiving the power consumption change information of the first processor, and the power consumption change information of the first processor includes power consumption change monitoring When the information is received, the power consumption of the first processor is suppressed according to the set suppression ratio for the power consumption change monitoring information; when the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes power When the power consumption change prediction information is received, if the power consumption change information sent by at least N processors is received within the set time period, the power consumption of the first processor is performed according to the set suppression ratio for the power consumption change prediction information. Suppression; where N is the set threshold for the number of changing processors; when the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes target signal indication information, if at the set time When the power consumption change information sent by at least M processors is received within the segment, the power consumption of the first processor is suppressed according to the set suppression ratio for the target signal indication information; where M is the set threshold for the number of changing processors. .
上述实现方式中,抑制模块可以根据不同情形,分别确定针对处理器的功耗抑制策略,灵活的对处理器进行功耗抑制。例如,当第一处理器的抑制模块接收到第一处理器的功耗变化监测信息时,说明已经发生功耗变化,需要立即进行功耗抑制,则抑制模块立即按照针对功耗变化监测信息的设定抑制比例对第一处理器进行功耗抑制。当第一处理器的抑制模块接收到第一处理器的功耗变化预测信息或目标信号指示信息时,则抑制模块可以结合其他处理器的功耗变化信息,确定是否需要对第一处理器进行功耗抑制。In the above implementation, the suppression module can determine the power consumption suppression strategy for the processor according to different situations, and flexibly suppress the power consumption of the processor. For example, when the suppression module of the first processor receives the power consumption change monitoring information of the first processor, it means that the power consumption has changed and power consumption needs to be suppressed immediately. The suppression module immediately follows the instructions for the power consumption change monitoring information. Set a suppression ratio to suppress power consumption of the first processor. When the suppression module of the first processor receives the power consumption change prediction information or the target signal indication information of the first processor, the suppression module can combine the power consumption change information of other processors to determine whether the first processor needs to be Power consumption suppression.
在一种可能的实现方式中,第一处理器的抑制模块,具体可以用于:当接收到第二处理器的功耗变化信息时,若在设定时间段内接收到至少K个处理器发送的功耗变化信息,且第一处理器的业务优先级低于第二处理器的业务优先级,则按照设定的级联抑制比例对第一处理器进行功耗抑制;其中,K为设定的变化处理器数量阈值;第二处理器为除第一处理器之外的任意一个处理器。In a possible implementation, the suppression module of the first processor can be specifically configured to: when receiving the power consumption change information of the second processor, if at least K processors are received within a set time period, If the power consumption change information is sent, and the business priority of the first processor is lower than the business priority of the second processor, the power consumption of the first processor is suppressed according to the set cascade suppression ratio; where K is Set the threshold for changing the number of processors; the second processor is any processor except the first processor.
在一种可能的实现方式中,第一处理器的抑制模块,还用于:对第一处理器进行功耗抑制之后,通过广播的方式向除第一处理器之外的每个处理器传输抑制信息;以及接收除第一处理器之外的任意一个处理器通过广播的方式传输的抑制信息。当接收到第二处理器的抑制信息时,若第一处理器的业务优先级低于第二处理器的业务优先级,则按照针对抑制信息的设定抑制比例对第一处理器进行功耗抑制。 In a possible implementation, the suppression module of the first processor is also configured to: after suppressing the power consumption of the first processor, transmit the information to each processor except the first processor by broadcasting Suppression information; and receiving suppression information transmitted by any processor other than the first processor in a broadcast manner. When the suppression information of the second processor is received, if the service priority of the first processor is lower than the service priority of the second processor, the power consumption of the first processor is performed according to the suppression ratio set for the suppression information. inhibition.
上述实现方式中,在多个处理器进行级联功耗抑制时,优先对业务优先级较低的处理器进行功耗抑制,相对保证业务优先级较高的处理器的正常运行。In the above implementation, when multiple processors perform cascade power consumption suppression, the processor with lower business priority is given priority to suppress power consumption, which relatively ensures the normal operation of the processor with higher business priority.
在一种可能的实现方式中,芯片还可以包括针对多个处理器中的每个处理器分别设置的配置模块;第一处理器的配置模块用于根据接收到的任意一个处理器的抑制信息,调整第一处理器在生成功耗变化信息的过程中所使用的阈值和/或在进行功耗抑制的过程中所使用的抑制比例。In a possible implementation, the chip may also include a configuration module configured separately for each of the multiple processors; the configuration module of the first processor is configured to based on the received suppression information of any processor. , adjusting the threshold used by the first processor in the process of generating power consumption change information and/or the suppression ratio used in the process of suppressing power consumption.
上述实现方式中,在多个处理器进行级联功耗抑制时,当接收到其他处理器的抑制信息时,调整本处理器在生成功耗变化信息的过程中所使用的阈值或在进行功耗抑制的过程中所使用的抑制比例,以使本处理器的功耗抑制过程可以与电源域内当前的用电情况更匹配。In the above implementation, when multiple processors perform cascade power consumption suppression, when receiving suppression information from other processors, the threshold used by this processor in the process of generating power consumption change information or when performing power consumption change information is adjusted. The suppression ratio used in the process of power consumption suppression, so that the power consumption suppression process of this processor can better match the current power consumption situation in the power domain.
在一种可能的实现方式中,功耗调节模块包括电源域内的仲裁模块和抑制执行模块;仲裁模块用于接收功耗监测模块发送的多个处理器的功耗变化信息,并根据接收到的功耗变化信息,向抑制执行模块发送功耗抑制指令,功耗抑制指令中包含需要进行功耗抑制的目标处理器;抑制执行模块用于根据仲裁模块发送的功耗抑制指令,对目标处理器进行功耗抑制。In a possible implementation, the power consumption adjustment module includes an arbitration module and a suppression execution module in the power domain; the arbitration module is used to receive the power consumption change information of multiple processors sent by the power consumption monitoring module, and adjust the power consumption according to the received Power consumption change information is sent to the suppression execution module to send a power consumption suppression instruction. The power consumption suppression instruction contains the target processor that requires power consumption suppression; the suppression execution module is used to control the target processor based on the power consumption suppression instruction sent by the arbitration module. Perform power consumption suppression.
上述实现方式中,通过对各处理器的功耗抑制进行集中管理,可以根据多个处理器的功耗变化信息协调对各处理器的功耗抑制动作,更有效地抑制电压噪声。In the above implementation, by centrally managing the power consumption suppression of each processor, the power consumption suppression actions of each processor can be coordinated based on the power consumption change information of multiple processors, and voltage noise can be suppressed more effectively.
在一种可能的实现方式中,功耗监测模块包括电源域内设置的瞬态电流监测模块;瞬态电流监测模块用于监测电源域内的电流,并根据电流的变化生成电压状态指示信息。功耗变化信息包括瞬态电流监测模块生成的电压状态指示信息。In a possible implementation, the power consumption monitoring module includes a transient current monitoring module set in the power domain; the transient current monitoring module is used to monitor the current in the power domain and generate voltage status indication information according to changes in the current. The power consumption change information includes voltage status indication information generated by the transient current monitoring module.
上述实现方式中,可以根据电源域内的瞬态电流变化情况,生成电压状态指示信息,作为各个处理器的功耗变化信息的补充,可以更全面地反映电源域内的当前用电情况。In the above implementation, the voltage status indication information can be generated according to the transient current changes in the power domain. As a supplement to the power consumption change information of each processor, it can more comprehensively reflect the current power usage in the power domain.
第二方面,本申请实施例提供一种电压噪声抑制方法,该方法包括:获取处于同一电源域内的多个处理器的功耗变化信息;根据多个处理器的功耗变化信息,对多个处理器中的部分或全部处理器进行功耗抑制。In a second aspect, embodiments of the present application provide a method for suppressing voltage noise. The method includes: obtaining power consumption change information of multiple processors in the same power domain; based on the power consumption change information of multiple processors, Some or all of the processors perform power consumption suppression.
在一种可能的实现方式中,上述电压噪声抑制方法可以由第一处理器执行,第一处理器为多个处理器中的任意一个;第一处理器可以通过如下方式获取处于同一电源域内的多个处理器的功耗变化信息:监测第一处理器的运行状态,并根据第一处理器的运行状态生成第一处理器的功耗变化信息;接收第二处理器发送的第二处理器的功耗变化信息;第二处理器的功耗变化信息是根据第二处理器的运行状态生成的;第二处理器为除第一处理器之外的任意一个处理器。In a possible implementation, the above voltage noise suppression method can be executed by a first processor, which is any one of multiple processors; the first processor can obtain the voltage in the same power domain in the following manner: Power consumption change information of multiple processors: monitor the operating status of the first processor, and generate power consumption change information of the first processor based on the operating status of the first processor; receive the power consumption change information of the second processor sent by the second processor The power consumption change information of the second processor is generated according to the running status of the second processor; the second processor is any processor except the first processor.
在一种可能的实现方式中,第一处理器的功耗变化信息包括如下至少一种:监测到第一处理器发生功耗变化事件时,生成的功耗变化监测信息;根据第一处理器的运行状态与已发生功耗变化事件的历史状态记录,预测到在设定时间窗内将发生功耗变化事件时,生成的功耗变化预测信息;监测到第一处理器接收到设定的目标信号时,生成的目标信号指示信息。In a possible implementation, the power consumption change information of the first processor includes at least one of the following: power consumption change monitoring information generated when a power consumption change event occurs in the first processor; The operating status and historical status records of power consumption change events that have occurred. When it is predicted that a power consumption change event will occur within the set time window, the power consumption change prediction information is generated; it is monitored that the first processor receives the set power consumption change event. When the target signal is generated, the target signal indication information is generated.
在一种可能的实现方式中,当接收到第一处理器的功耗变化监测信息时,按照针对功耗变化监测信息的设定抑制比例,对第一处理器进行功耗抑制;当接收到第一处理器的功耗变化预测信息时,若在设定时间段内接收到至少N个处理器发送的功耗变化信息,则按照针对功耗变化预测信息的设定抑制比例,对第一处理器进行功耗抑制;N为设定的变化 处理器数量阈值;当接收到第一处理器的目标信号指示信息时,若在设定时间段内接收到至少M个处理器发送的功耗变化信息,则按照针对目标信号指示信息的设定抑制比例,对第一处理器进行功耗抑制;M为设定的变化处理器数量阈值。In a possible implementation, when the power consumption change monitoring information of the first processor is received, the power consumption of the first processor is suppressed according to the set suppression ratio for the power consumption change monitoring information; when the power consumption change monitoring information is received When receiving the power consumption change prediction information of the first processor, if the power consumption change information sent by at least N processors is received within the set time period, the first processor will be suppressed according to the set suppression ratio for the power consumption change prediction information. The processor performs power consumption suppression; N is the change in settings Processor number threshold; when receiving the target signal indication information of the first processor, if the power consumption change information sent by at least M processors is received within the set time period, the setting for the target signal indication information will be The suppression ratio is used to suppress the power consumption of the first processor; M is the set threshold for the number of changing processors.
在一种可能的实现方式中,当接收到第二处理器的功耗变化信息时,若在设定时间段内接收到至少K个处理器发送的功耗变化信息,且第一处理器的业务优先级低于第二处理器的业务优先级,则按照设定的级联抑制比例,对第一处理器进行功耗抑制;K为设定的变化处理器数量阈值。In a possible implementation, when the power consumption change information of the second processor is received, if the power consumption change information sent by at least K processors is received within a set time period, and the power consumption change information of the first processor is If the service priority is lower than the service priority of the second processor, the power consumption of the first processor is suppressed according to the set cascade suppression ratio; K is the set threshold for the number of changing processors.
在一种可能的实现方式中,对第一处理器进行功耗抑制之后,可以通过广播的方式向除第一处理器之外的每个处理器传输抑制信息。In a possible implementation, after power consumption is suppressed on the first processor, the suppression information may be transmitted to each processor except the first processor in a broadcast manner.
在一种可能的实现方式中,当接收到第二处理器的抑制信息时,若第一处理器的业务优先级低于第二处理器的业务优先级,则按照针对抑制信息的设定抑制比例,对第一处理器进行功耗抑制。In a possible implementation, when the suppression information of the second processor is received, if the service priority of the first processor is lower than the service priority of the second processor, the suppression information is suppressed according to the setting of the suppression information. Proportional, power consumption suppression for the first processor.
在一种可能的实现方式中,第一处理器还可以根据接收到的任意一个处理器的抑制信息,调整第一处理器在功耗监测过程中所使用的阈值和/或在进行功耗抑制的过程中所使用的抑制比例。In a possible implementation, the first processor can also adjust the threshold used by the first processor in the power consumption monitoring process and/or perform power consumption suppression based on the received suppression information of any processor. The suppression ratio used in the process.
在一种可能的实现方式中,上述电压噪声抑制方法由仲裁模块执行,仲裁模块可以接收第一处理器发送的第一处理器的功耗变化信息;第一处理器为多个处理器中的任意一个;或者,仲裁模块可以接收电源域内的瞬态电流监测模块发送的功耗变化信息;功耗变化信息为瞬态电流监测模块根据电源域内的电流变化生成的电压状态指示信息。In a possible implementation, the above voltage noise suppression method is executed by an arbitration module. The arbitration module can receive the power consumption change information of the first processor sent by the first processor; the first processor is one of the plurality of processors. Either; or, the arbitration module can receive the power consumption change information sent by the transient current monitoring module in the power domain; the power consumption change information is the voltage status indication information generated by the transient current monitoring module according to the current change in the power domain.
在一种可能的实现方式中,仲裁模块可以根据接收到的功耗变化信息,确定需要进行功耗抑制的目标处理器;通过抑制执行模块对目标处理器进行功耗抑制。In a possible implementation, the arbitration module can determine the target processor that needs to suppress power consumption based on the received power consumption change information; and suppress the power consumption of the target processor through the suppression execution module.
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述第二方面提供的任一种方法。In a third aspect, embodiments of the present application provide a computer-readable storage medium. Computer-executable instructions are stored in the computer-readable storage medium. The computer-executable instructions are used to cause a computer to execute any of the methods provided in the second aspect. .
第四方面,本申请实施例提供一种计算机程序产品,包含有计算机可执行指令,该计算机可执行指令用于使计算机执行上述第二方面提供的任一种方法。In a fourth aspect, embodiments of the present application provide a computer program product that includes computer-executable instructions. The computer-executable instructions are used to cause a computer to execute any of the methods provided in the second aspect.
上述第二方面至第四方面中任一方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。The technical effects that can be achieved by any one of the above-mentioned second to fourth aspects can be referred to the description of the beneficial effects in the above-mentioned first aspect, and will not be repeated here.
附图说明Description of the drawings
图1为本申请实施例提供的一种芯片的示意图;Figure 1 is a schematic diagram of a chip provided by an embodiment of the present application;
图2为本申请实施例提供的一种处理器的结构示意图;Figure 2 is a schematic structural diagram of a processor provided by an embodiment of the present application;
图3为本申请实施例提供的一种功耗变化监测模块的结构示意图;Figure 3 is a schematic structural diagram of a power consumption change monitoring module provided by an embodiment of the present application;
图4为本申请实施例提供的一种抑制模块执行功耗抑制过程的流程图;Figure 4 is a flow chart of a power consumption suppression process performed by a suppression module provided by an embodiment of the present application;
图5为本申请实施例提供的另一种处理器的结构示意图;Figure 5 is a schematic structural diagram of another processor provided by an embodiment of the present application;
图6为本申请实施例提供的另一种芯片的结构示意图;Figure 6 is a schematic structural diagram of another chip provided by an embodiment of the present application;
图7为本申请实施例提供的一种仲裁模块执行功耗抑制过程的流程图;Figure 7 is a flow chart of an arbitration module performing a power consumption suppression process provided by an embodiment of the present application;
图8为本申请实施例提供的另一种芯片的结构示意图;Figure 8 is a schematic structural diagram of another chip provided by an embodiment of the present application;
图9为本申请实施例提供的一种电压噪声抑制方法的流程图。 Figure 9 is a flow chart of a voltage noise suppression method provided by an embodiment of the present application.
具体实施方式Detailed ways
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例进行详细描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in detail below with reference to the accompanying drawings. The terms used in the embodiments of the present application are only used to explain specific embodiments of the present application and are not intended to limit the present application. Obviously, the described embodiments are only some of the embodiments of the present application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.
在介绍本申请实施例提供的具体方案之前,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解,并不对本申请中的用语进行限定。Before introducing the specific solutions provided by the embodiments of this application, some terms used in this application will be explained to facilitate understanding by those skilled in the art, and will not limit the terms used in this application.
(1)处理器簇(processor cluster):处于同一电源域内的多个处理器,或者,由同一电源进行供电的多个处理器,可以称为一个处理器簇。(1) Processor cluster: Multiple processors in the same power domain, or multiple processors powered by the same power supply, can be called a processor cluster.
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。In the embodiments of this application, "plurality" means two or more. In view of this, "plurality" in the embodiments of this application can also be understood as "at least two". "At least one" can be understood as one or more, for example, one, two or more. For example, including at least one means including one, two or more, and it does not limit which ones are included. For example, if it includes at least one of A, B and C, then it can include A, B, C, A and B, A and C, B and C, or A and B and C. "And/or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and/or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/", unless otherwise specified, generally indicates that the related objects are in an "or" relationship.
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。Unless otherwise stated, ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, timing, priority or importance of multiple objects.
在多核处理器共享同一电源的应用场景中,当出现多个处理器并发处理任务或多个重载任务运行时,功耗急剧增加,多核处理器的电源完整性(power integration,PI)问题会很明显,主要表现为经常出现不同频率的电压跌落上冲,从而产生电压噪声,电压噪声可能会危害计算设备的电路功能安全,造成处理器的性能损伤或影响电路最小工作电压的收益。In application scenarios where multi-core processors share the same power supply, when multiple processors process tasks concurrently or multiple overloaded tasks run, power consumption increases sharply, and the power integrity (PI) problem of the multi-core processor will arise. Obviously, the main manifestation is that voltage drops and overshoots of different frequencies often occur, resulting in voltage noise. Voltage noise may endanger the circuit functional safety of computing equipment, cause performance damage to the processor, or affect the minimum operating voltage of the circuit.
基于此,本申请实施例提供一种芯片,该芯片包括处于同一电源域内的多个处理器,即多个处理器由同一电源进行供电,用于为多个处理器供电的电源可以设置在芯片内,也可以设置在芯片外,多个处理器均为电源连接。Based on this, embodiments of the present application provide a chip that includes multiple processors in the same power domain. That is, the multiple processors are powered by the same power supply. The power supply used to power the multiple processors can be provided on the chip. It can also be set up outside the chip, and multiple processors are connected to the power supply.
示例性地,该芯片可以是计算设备中使用的系统级芯片(system on chip,SoC)或计算芯片,也可以是路由器中使用的控制逻辑芯片或转发逻辑芯片,或者是其他包括多核处理器的芯片。处理器可以是通用处理器,如微处理器、中央处理器(central processing unit,CPU),也可以是其他处理器,如应用处理器(application processor,AP)、调制解调处理器、张量处理器(tensor processing unit,TPU)芯片、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphic processing unit,GPU)、人工智能(artificial intelligence,AI)处理器,图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器等。For example, the chip can be a system on chip (SoC) or a computing chip used in computing devices, a control logic chip or a forwarding logic chip used in routers, or other chips including multi-core processors. chip. The processor can be a general-purpose processor, such as a microprocessor, a central processing unit (CPU), or other processors, such as an application processor (application processor, AP), modem processor, or tensor Processor (tensor processing unit, TPU) chip, neural network processing unit (NPU), graphics processing unit (GPU), artificial intelligence (artificial intelligence, AI) processor, image signal processing Image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, etc.
本申请实施例提供的芯片,除包括处于同一电源域内的多个处理器之外,还包括功耗监测模块和功耗调节模块,功耗监测模块是指用于监测处理器的运行状态,根据处理器的运行状态生成处理器的功耗变化信息的器件或模块;功耗调节模块是指对处理器的功耗进行调整的器件或模块。在本申请实施例中,功耗监测模块用于获取多个处理器的功耗变化 信息,并将功耗变化信息传输至功耗调节模块,功耗调节模块用于根据多个处理器的功耗变化信息,对多个处理器中的部分或全部处理器进行功耗抑制。通过结合处于同一电源域内的多个处理器的功耗变化信息,可以更准确地确定何时需要对处理器进行功耗抑制,以及需要对哪一个处理器进行功耗抑制,从而可以在功耗急剧增加时或功耗急剧增加前及时对处理器进行功耗抑制,更有效地抑制电压噪声,减少对处理器的性能损伤。In addition to multiple processors in the same power domain, the chip provided by the embodiment of the present application also includes a power consumption monitoring module and a power consumption adjustment module. The power consumption monitoring module refers to monitoring the operating status of the processor. According to The operating status of the processor is a device or module that generates information about changes in power consumption of the processor; the power consumption adjustment module refers to a device or module that adjusts the power consumption of the processor. In the embodiment of this application, the power consumption monitoring module is used to obtain the power consumption changes of multiple processors. information, and transmits the power consumption change information to the power consumption adjustment module. The power consumption adjustment module is used to suppress power consumption of some or all of the multiple processors based on the power consumption change information of the multiple processors. By combining the power consumption change information of multiple processors in the same power domain, it can be more accurately determined when the processor needs to be power-consumption suppressed and which processor needs to be power-consumption suppressed, so that the power consumption can be determined When the power consumption increases sharply or before the power consumption increases sharply, the power consumption of the processor is suppressed in time to suppress the voltage noise more effectively and reduce the performance damage to the processor.
图1示例性地示出了本申请实施例提供的一种芯片的结构示意图。在一些实施例中,如图1所示,芯片100中包括处理器0、处理器1……处理器N-1共N个处理器,N个处理器均由电源200供电。N个处理器由同一电源进行供电,可以作为一个处理器簇。图1所示的处理器簇中包括3个以上的处理器,在其他实施例中,处理器簇中也可以包括2个处理器,即N为大于等于2的整数。图1所示的电源200设置于芯片100的外部,在其他实施例中,电源200也可以设置在芯片100的内部。当电源200设置在芯片100的内部时,电源200可以设置在处理器簇的内部,也可以设置在处理器簇的外部。在一些实施例中,每个处理器均设置有片上的低压差线性稳压器(low dropout regulator,LDO),但在高压场景下,仍然需要直通到同一个电源上,由同一个电源供电,这些处理器也属于处于同一电源域内的多个处理器。Figure 1 exemplarily shows a schematic structural diagram of a chip provided by an embodiment of the present application. In some embodiments, as shown in FIG. 1 , the chip 100 includes a processor 0, a processor 1, and a processor N-1, a total of N processors, and the N processors are all powered by the power supply 200. N processors are powered by the same power supply and can be used as a processor cluster. The processor cluster shown in Figure 1 includes more than three processors. In other embodiments, the processor cluster may also include two processors, that is, N is an integer greater than or equal to 2. The power supply 200 shown in FIG. 1 is disposed outside the chip 100 . In other embodiments, the power supply 200 can also be disposed inside the chip 100 . When the power supply 200 is provided inside the chip 100, the power supply 200 may be provided inside the processor cluster or outside the processor cluster. In some embodiments, each processor is equipped with an on-chip low dropout linear regulator (LDO). However, in high-voltage scenarios, it still needs to be connected to the same power supply and powered by the same power supply. These processors are also among multiple processors in the same power domain.
如图1所示,芯片100中包括针对N个处理器中的每个处理器分别设置的功耗变化监测模块110和抑制模块120。功耗变化监测模块110用于监测对应处理器的运行状态,并根据对应处理器的运行状态生成对应处理器的功耗变化信息,即功耗变化监测模块110实现功耗监测模块的功能。功耗变化监测模块110可以设置在对应处理器的内部,也可以设置在对应处理器的外部。当功耗变化监测模块110可以设置在对应处理器的外部时,功耗变化监测模块110可以紧邻对应处理器设置,以便可以及时感知对应处理器的电流,功耗或者电压的变化。抑制模块120用于接收任意一个处理器的功耗变化信息,并基于接收到的功耗变化信息,对抑制模块120对应的处理器进行功耗抑制,即抑制模块120实现功耗调节模块的功能。抑制模块120可以设置在对应处理器的内部,也可以设置在对应处理器的外部。图1中的功耗变化监测模块110和抑制模块120均设置在对应处理器的内部。As shown in FIG. 1 , the chip 100 includes a power consumption change monitoring module 110 and a suppression module 120 respectively provided for each of the N processors. The power consumption change monitoring module 110 is used to monitor the operating status of the corresponding processor, and generate the power consumption change information of the corresponding processor according to the operating status of the corresponding processor. That is, the power consumption change monitoring module 110 implements the function of the power consumption monitoring module. The power consumption change monitoring module 110 may be disposed inside the corresponding processor, or may be disposed outside the corresponding processor. When the power consumption change monitoring module 110 can be disposed outside the corresponding processor, the power consumption change monitoring module 110 can be disposed close to the corresponding processor, so that changes in current, power consumption or voltage of the corresponding processor can be sensed in a timely manner. The suppression module 120 is used to receive the power consumption change information of any processor, and based on the received power consumption change information, suppress the power consumption of the processor corresponding to the suppression module 120, that is, the suppression module 120 implements the function of the power consumption adjustment module . The suppression module 120 may be disposed inside the corresponding processor, or may be disposed outside the corresponding processor. The power consumption change monitoring module 110 and the suppression module 120 in Figure 1 are both arranged inside the corresponding processor.
以处理器0为例进行说明,图1所示的处理器0内部设置有功耗变化监测模块110和抑制模块120。处理器0的功耗变化监测模块110用于监测处理器0的运行状态,并根据处理器0的运行状态生成处理器0的功耗变化信息,将生成的处理器0的功耗变化信息传输至处理器0的抑制模块120。处理器0的功耗变化监测模块110除将处理器0的功耗变化信息传输至处理器0的抑制模块120之外,还可以将功耗变化信息通过广播的方式传输至其他处理器的抑制模块120,即处理器1至处理器N-1中的每个处理器的抑制模块120均可以收到处理器0的功耗变化监测模块110发送的处理器0的功耗变化信息。处理器0的抑制模块120用于接收处理器0的功耗变化监测模块110传输的处理器0的功耗变化信息,以及接收除处理器0之外的任意一个处理器通过广播的方式传输的功耗变化信息,并基于接收到的功耗变化信息,对处理器0进行功耗抑制。Taking processor 0 as an example for illustration, processor 0 shown in Figure 1 is provided with a power consumption change monitoring module 110 and a suppression module 120. The power consumption change monitoring module 110 of processor 0 is used to monitor the operating status of processor 0, generate power consumption change information of processor 0 according to the operating status of processor 0, and transmit the generated power consumption change information of processor 0 To the suppression module 120 of processor 0. In addition to transmitting the power consumption change information of processor 0 to the suppression module 120 of processor 0, the power consumption change monitoring module 110 of processor 0 can also transmit the power consumption change information to the suppression modules of other processors by broadcasting. The module 120, that is, the suppression module 120 of each processor from processor 1 to processor N-1 can receive the power consumption change information of processor 0 sent by the power consumption change monitoring module 110 of processor 0. The suppression module 120 of the processor 0 is used to receive the power consumption change information of the processor 0 transmitted by the power consumption change monitoring module 110 of the processor 0, and to receive the power consumption change information of the processor 0 transmitted by any processor other than the processor 0 in a broadcast manner. Power consumption change information, and based on the received power consumption change information, performs power consumption suppression on processor 0.
图2示例性地示出了本申请实施例提供的一种处理器的内部结构示意图。如图2所示,该处理器包括功耗变化监测模块110和抑制模块120,还包括用于实现计算功能和控制功能的多个功能单元,例如取指单元131(instruction fetch unit,IFU)、指令分派(instruction dispatch)单元132、预读取(prefetch)单元133、分支预测(branch predictor)单元134、整型执行单元(int.execute unit)135、加载存储(load store)单元136、浮点数和单指令 多数据流(single instruction multiple data,SIMD)单元,或称为浮点数和SIMD单元(float&SIMD unit)137。处理器中还可以包括缓存系统(cache system)138,加载存储单元136可以将加载的程序指令或数据暂存在缓存系统138中。每个功能单元和缓存系统138均与功耗变化监测模块110连接,并且每个功能单元均与抑制模块120连接,抑制模块120可以对任意一个功能单元进行功耗抑制。图1中的处理器0至处理器N-1均可以采用图2所示的处理器结构。FIG. 2 exemplarily shows a schematic diagram of the internal structure of a processor provided by an embodiment of the present application. As shown in Figure 2, the processor includes a power consumption change monitoring module 110 and a suppression module 120, and also includes multiple functional units for implementing computing functions and control functions, such as an instruction fetch unit 131 (IFU), Instruction dispatch unit 132, prefetch unit 133, branch predictor unit 134, int.execute unit 135, load store unit 136, floating point number and single instruction Multiple data stream (single instruction multiple data, SIMD) unit, also known as floating point and SIMD unit (float & SIMD unit) 137. The processor may also include a cache system 138, and the load storage unit 136 may temporarily store loaded program instructions or data in the cache system 138. Each functional unit and cache system 138 are connected to the power consumption change monitoring module 110, and each functional unit is connected to the suppression module 120. The suppression module 120 can suppress the power consumption of any functional unit. Processors 0 to N-1 in Figure 1 can all adopt the processor structure shown in Figure 2 .
下文以处理器0为例说明功耗变化监测模块110和抑制模块120的内部结构。其他N-1个处理器的功耗变化监测模块与处理器0的功耗变化监测模块的结构相同,其他N-1个处理器的抑制模块与处理器0的抑制模块的结构相同。The following uses processor 0 as an example to illustrate the internal structures of the power consumption change monitoring module 110 and the suppression module 120 . The power consumption change monitoring module of the other N-1 processors has the same structure as the power consumption change monitoring module of the processor 0, and the suppression module of the other N-1 processors has the same structure as the suppression module of the processor 0.
在一些实施例中,处理器0的功耗变化监测模块110可以包括事件监测模块,事件监测模块用于在监测到处理器0发生功耗变化事件时,生成功耗变化监测信息,将功耗变化监测信息传输至处理器0的抑制模块120,并通过广播的方式传输至除处理器0之外的其他处理器的抑制模块120。其中,处理器0发生功耗变化事件指处理器0发生引起电压跌落或电压过冲事件。功耗变化监测信息是功耗变化信息的一种。示例性地,事件监测模块可以根据处理器内部各个功能单元的高功耗跳变指示事件作为依据,例如,可扩展向量引擎(scalable vector extensions engine,SVE)模块运算单元是否全部占满,加载存储流水线(load store pipeline)的状态,是否出现异常冲刷状态等,或者也可以使用一条或多条关键路径(critical path)的建模检测电路的方式,检测是否存在对处理器有影响的状态产生。In some embodiments, the power consumption change monitoring module 110 of the processor 0 may include an event monitoring module. The event monitoring module is configured to generate power consumption change monitoring information when a power consumption change event is detected in the processor 0, and change the power consumption to The change monitoring information is transmitted to the suppression module 120 of processor 0 and transmitted to the suppression modules 120 of other processors except processor 0 by broadcasting. The event that the power consumption of the processor 0 changes occurs means that the processor 0 has an event that causes a voltage drop or a voltage overshoot. Power consumption change monitoring information is a type of power consumption change information. For example, the event monitoring module can be based on the high-power transition indication event of each functional unit within the processor, for example, whether all the computing units of the scalable vector engine (scalable vector extensions engine, SVE) module are fully occupied, loading and storing The status of the pipeline (load store pipeline), whether there is an abnormal flushing state, etc., or you can also use one or more critical path (critical path) modeling detection circuits to detect whether there is a state that affects the processor.
在一种实施例中,事件监测模块可以包括电压监测模块,电压监测模块用于监测处理器0是否发生电压跌落,并在电压跌落的幅度超过设定幅度阈值时,生成功耗变化监测信息。在另一种实施例中,事件监测模块可以包括状态监测模块,状态监测模块用于根据处理器0的运行状态确定功耗变化斜率,并在功耗变化斜率达到处理器0的设定斜率阈值时,生成功耗变化监测信息。在另一种实施例中,事件监测模块可以包括电压监测模块和状态监测模块。In one embodiment, the event monitoring module may include a voltage monitoring module, which is used to monitor whether a voltage drop occurs in the processor 0, and generate power consumption change monitoring information when the amplitude of the voltage drop exceeds a set amplitude threshold. In another embodiment, the event monitoring module may include a status monitoring module. The status monitoring module is configured to determine the power consumption change slope according to the operating status of the processor 0, and when the power consumption change slope reaches the set slope threshold of the processor 0 When, the power consumption change monitoring information is generated. In another embodiment, the event monitoring module may include a voltage monitoring module and a status monitoring module.
在另一些实施例中,处理器0的功耗变化监测模块110除包括事件监测模块之外,还可以包括功耗变化预测模块,功耗变化预测模块用于监测处理器0的运行状态,根据处理器0的运行状态与已发生功耗变化事件的历史状态记录,预测在设定时间窗内处理器0是否将发生功耗变化事件,并在预测到处理器0将发生功耗变化事件时,生成功耗变化预测信息,将功耗变化预测信息传输至处理器0的抑制模块120,并通过广播的方式传输至除处理器0之外的其他处理器的抑制模块120。其中,功耗变化预测信息是功耗变化信息的一种。In other embodiments, in addition to the event monitoring module, the power consumption change monitoring module 110 of the processor 0 may also include a power consumption change prediction module. The power consumption change prediction module is used to monitor the operating status of the processor 0. According to The operating status of processor 0 and the historical status record of power consumption change events that have occurred, predict whether a power consumption change event will occur in processor 0 within the set time window, and when it is predicted that a power consumption change event will occur in processor 0 , generate power consumption change prediction information, transmit the power consumption change prediction information to the suppression module 120 of processor 0, and transmit it to the suppression modules 120 of other processors except processor 0 by broadcasting. Among them, the power consumption change prediction information is a type of power consumption change information.
在另一些实施例中,处理器0的功耗变化监测模块110除包括事件监测模块之外,还可以包括信号监测模块,信号监测模块用于监测处理器0是否接收到设定的目标信号,并在处理器0接收到设定的目标信号时,生成目标信号指示信息,将目标信号指示信息传输至处理器0的抑制模块120,并通过广播的方式传输至除处理器0之外的其他处理器的抑制模块120。其中,目标信号指示信息是功耗变化信息的一种。In other embodiments, in addition to the event monitoring module, the power consumption change monitoring module 110 of the processor 0 may also include a signal monitoring module. The signal monitoring module is used to monitor whether the processor 0 receives the set target signal. And when the processor 0 receives the set target signal, it generates the target signal indication information, transmits the target signal indication information to the suppression module 120 of the processor 0, and transmits it to other devices except the processor 0 by broadcasting. Inhibition module 120 of the processor. Among them, the target signal indication information is a type of power consumption change information.
在另一些实施例中,处理器0的功耗变化监测模块110除包括事件监测模块之外,还可以包括功耗变化预测模块和信号监测模块。需要说明的是,功耗变化监测模块110中包含的各个模块可以根据实际应用场景进行选择组合使用,或者仅使用一个模块去实现类似的功能。 In other embodiments, in addition to the event monitoring module, the power consumption change monitoring module 110 of the processor 0 may also include a power consumption change prediction module and a signal monitoring module. It should be noted that the various modules included in the power consumption change monitoring module 110 can be selected and used in combination according to actual application scenarios, or only one module can be used to implement similar functions.
为方便理解,图3示例性地示出了本申请实施例提供的一种功耗变化监测模块的结构示意图。如图3所示,功耗变化监测模块110可以包括电压监测模块111、状态监测模块112、功耗变化预测模块113和信号监测模块114。For ease of understanding, FIG. 3 exemplarily shows a schematic structural diagram of a power consumption change monitoring module provided by an embodiment of the present application. As shown in FIG. 3 , the power consumption change monitoring module 110 may include a voltage monitoring module 111 , a status monitoring module 112 , a power consumption change prediction module 113 and a signal monitoring module 114 .
电压监测模块111可以采用关键路径检测器(critical path monitor,CPM)。电压监测模块111可以使用模拟关键路径(critical path)电路来检测处理器0是否发生电压跌落,如果处理器0发生电压跌落,且电压跌落幅度超过处理器0的设定幅度阈值时,则产生功耗变化监测信息。The voltage monitoring module 111 may use a critical path monitor (CPM). The voltage monitoring module 111 can use an analog critical path circuit to detect whether a voltage drop occurs in the processor 0. If a voltage drop occurs in the processor 0, and the amplitude of the voltage drop exceeds the set amplitude threshold of the processor 0, a power supply is generated. Consumption change monitoring information.
状态监测模块112可以采用电流传感器(sensor),电流传感器用于监测单位时间电流差(delta current in delta time,DIDT),电流传感器可使用数字逻辑,根据监测到的电流差确定处理器的功耗变化斜率,产生功耗变化监测信息。The status monitoring module 112 can use a current sensor (sensor). The current sensor is used to monitor the current difference per unit time (delta current in delta time, DIDT). The current sensor can use digital logic to determine the power consumption of the processor based on the monitored current difference. Change the slope to generate power consumption change monitoring information.
在一些实施例中,状态监测模块112可以按照设定的DIDT检测周期对处理器0的运行状态进行检测,包括检测处理器0的各个功能单元的事件或信号,将检测到的各个功能单元的高功耗事件或关键信号进行加权平均,拟合得到处理器0的功耗。根据处理器0在不同时间段的功耗确定功耗变化斜率,并在功耗变化斜率达到处理器0的设定斜率阈值时,生成功耗变化监测信息。In some embodiments, the status monitoring module 112 can detect the running status of the processor 0 according to the set DIDT detection cycle, including detecting events or signals of each functional unit of the processor 0, and analyzing the detected events or signals of each functional unit. High-power consumption events or key signals are weighted and averaged, and the power consumption of processor 0 is obtained by fitting. The power consumption change slope is determined based on the power consumption of processor 0 in different time periods, and when the power consumption change slope reaches the set slope threshold of processor 0, power consumption change monitoring information is generated.
在一种实施例中,功耗变化斜率可以采用绝对斜率值。状态监测模块112可以按照设定的窗口时长,分别确定第n个检测时间窗Pn的功耗与第n-1个检测时间窗Pn-1的功耗,并计算检测时间窗Pn的功耗检测时间窗Pn-1的功耗与之间的差值,将该差值作为处理器0的功耗变化斜率,该差值即为绝对斜率值。其中,设定的窗口时长可以以处理器的时钟周期(cycle)为单元,例如,设定的窗口时长可以是几个或几十个时钟周期。检测时间窗Pn与检测时间窗Pn-1是相邻的两个检测窗,检测时间窗Pn且位于检测时间窗Pn-1之后。也就是说,状态监测模块112可以根据相邻的两个检测时间窗的功耗差值确定功耗变化斜率。In one embodiment, the power consumption change slope may adopt an absolute slope value. The status monitoring module 112 can respectively determine the power consumption of the n-th detection time window Pn and the power consumption of the n-1th detection time window Pn-1 according to the set window length, and calculate the power consumption of the detection time window Pn. The difference between the power consumption of the power consumption detection time window P n-1 and The set window duration may be based on a clock cycle of the processor. For example, the set window duration may be several or dozens of clock cycles. The detection time window Pn and the detection time window Pn -1 are two adjacent detection windows, and the detection time window Pn is located after the detection time window Pn-1 . That is to say, the status monitoring module 112 can determine the power consumption change slope according to the power consumption difference between two adjacent detection time windows.
在另一种实施例中,功耗变化斜率可以采用移动平均斜率值。状态监测模块112可以按照设定的窗口时长,分别确定相邻的n个检测时间窗的功耗。计算其中的前n-1个检测时间窗,即从检测时间窗P1至检测时间窗Pn-1的功耗的平均值,采用检测时间窗Pn的功耗减去与前n-1个检测时间窗的功耗的平均值,得到移动平均斜率值;或者,计算其中的前n-1个检测时间窗的功耗的加权平均值,各个检测时间窗的功耗的权重可以采用如下方式确定:检测时间窗Pn-1的功耗的权重为1/2,检测时间窗Pn-2的功耗的权重为1/4,检测时间窗Pn-3的功耗的权重为1/8,依此类推;采用检测时间窗Pn的功耗减去与前n-1个检测时间窗的功耗的加权平均值,得到移动平均斜率值。也就是说,状态监测模块112可以根据相邻的n个检测时间窗的功耗差值确定功耗变化斜率。通过上述方法,可以更准确地确定功耗变化斜率。In another embodiment, the power consumption change slope may adopt a moving average slope value. The status monitoring module 112 can respectively determine the power consumption of n adjacent detection time windows according to the set window duration. Calculate the first n-1 detection time windows, that is, the average power consumption from the detection time window P 1 to the detection time window P n-1 , and use the power consumption of the detection time window P n minus the first n-1 The average of the power consumption of the detection time windows is used to obtain the moving average slope value; or, the weighted average of the power consumption of the first n-1 detection time windows is calculated. The weight of the power consumption of each detection time window can be used as follows: The method is determined: the weight of detecting power consumption in time window P n-1 is 1/2, the weight of detecting power consumption in time window P n-2 is 1/4, and the weight of detecting power consumption in time window P n-3 is 1/8, and so on; the moving average slope value is obtained by subtracting the weighted average of the power consumption of the detection time window P n from the power consumption of the previous n-1 detection time windows. That is to say, the status monitoring module 112 can determine the power consumption change slope according to the power consumption differences of n adjacent detection time windows. Through the above method, the power consumption change slope can be determined more accurately.
在一些实施例中,处理器0的设定斜率阈值指设定的最大斜率阈值,处理器0的功耗斜率阈值还可以包括设定的最小斜率阈值,如果功耗变化斜率大于或等于设定的最大斜率阈值,则状态监测模块112在功耗变化监测信息对应的寄存器设置事件标识,并基于事件标识从无到有的变化生成功耗变化监测信息。如果功耗变化斜率小于或等于设定的最小斜率阈值,则状态监测模块112可以清除功耗变化监测信息对应的寄存器中的事件标识。In some embodiments, the set slope threshold of processor 0 refers to the set maximum slope threshold, and the power consumption slope threshold of processor 0 may also include a set minimum slope threshold. If the power consumption change slope is greater than or equal to the set the maximum slope threshold, then the status monitoring module 112 sets the event identifier in the register corresponding to the power consumption change monitoring information, and generates the power consumption change monitoring information based on the change of the event identifier from scratch. If the power consumption change slope is less than or equal to the set minimum slope threshold, the status monitoring module 112 may clear the event identifier in the register corresponding to the power consumption change monitoring information.
处理器0的电压监测模块111或状态监测模块112生成功耗变化监测信息,说明处理器0已经发生功耗变化事件,需要立即进行主动防御,抑制模块120接收到功耗变化监测模块110发送的功耗变化监测信息,立即对处理器0进行功耗抑制。 The voltage monitoring module 111 or the status monitoring module 112 of the processor 0 generates power consumption change monitoring information, indicating that a power consumption change event has occurred in the processor 0 and requires immediate active defense. The suppression module 120 receives the power consumption change monitoring module 110. Power consumption change monitoring information immediately suppresses the power consumption of processor 0.
由于功耗变化监测模块110是负责给出处理器功耗剧烈变化指示信号的模块,因此,该功耗变化监测模块110的检测时延越短,功耗抑制的效果越好。电压监测模块111和状态监测模块112的检测响应时间均为ns级别甚至cycle级别,可以在迅速生成功耗变化监测信息,并传输至处理器0的抑制模块120,有利于抑制模块120及时作出响应,对处理器0进行功耗抑制。电压监测模块111和状态监测模块112在不同的应用场景中可以联合使用,也可以单独使用。电压监测模块111和状态监测模块112生成的功耗变化监测信息在下文中称为S1事件,S1事件中携带有S1事件标志(flag)。Since the power consumption change monitoring module 110 is a module responsible for giving an indication signal indicating a drastic change in processor power consumption, the shorter the detection delay of the power consumption change monitoring module 110, the better the power consumption suppression effect. The detection response time of the voltage monitoring module 111 and the status monitoring module 112 is both ns level or even cycle level, which can quickly generate power consumption change monitoring information and transmit it to the suppression module 120 of the processor 0, which is conducive to the suppression module 120 responding in time. , perform power consumption suppression on processor 0. The voltage monitoring module 111 and the status monitoring module 112 can be used jointly or separately in different application scenarios. The power consumption change monitoring information generated by the voltage monitoring module 111 and the status monitoring module 112 is hereinafter referred to as an S1 event, and the S1 event carries an S1 event flag (flag).
在一些实施例中,电压监测模块111和状态监测模块112的输出端可以连接多路选择器(multiplexer,MUX)115,多路选择器115可以理解为一个连接器,其包括多个输入端口和一个输出端口。多路选择器115的一个输入端口连接电压监测模块111的输出端口,另一个输入端口连接状态监测模块112的输出端口,多路选择器115的输出端口连接至抑制模块120的输入端口。多路选择器115用于将电压监测模块111或状态监测模块112生成的S1事件传输至抑制模块120。多路选择器115可以设置在电压监测模块111内部,也可以设置在电压监测模块111外部。In some embodiments, the output ends of the voltage monitoring module 111 and the status monitoring module 112 can be connected to a multiplexer (MUX) 115. The multiplexer 115 can be understood as a connector that includes multiple input ports and an output port. One input port of the multiplexer 115 is connected to the output port of the voltage monitoring module 111 , the other input port is connected to the output port of the status monitoring module 112 , and the output port of the multiplexer 115 is connected to the input port of the suppression module 120 . The multiplexer 115 is used to transmit the S1 event generated by the voltage monitoring module 111 or the status monitoring module 112 to the suppression module 120 . The multiplexer 115 can be installed inside the voltage monitoring module 111 or outside the voltage monitoring module 111 .
电压监测模块111和状态监测模块112的检测延时很短,可以只有1cyc,从而可以保证其生成的S1事件到其他处理器的抑制模块时,仍然来得及抑制功耗的爬升,从而产生抑制电压噪声的效果。The detection delay of the voltage monitoring module 111 and the status monitoring module 112 is very short, which can be only 1cyc, thereby ensuring that when the S1 event generated by it reaches the suppression module of other processors, there is still time to suppress the increase in power consumption, thereby generating suppressed voltage noise. Effect.
功耗变化预测模块113可以采用基于电流斜率的预测器(DIDT forcaster;DIDT predictor)。功耗变化预测模块113用于监测处理器0的运行状态,根据处理器0的运行状态与已发生功耗变化事件的历史状态记录,预测在W1时间窗口内,处理器0是否将发生功耗变化事件。其中,W1时间窗口指自当前时刻起,时长为设定时长W1的时间窗口。如果预测到处理器0在W1时间窗口内将发生功耗变化事件时,生成功耗变化预测信息,将功耗变化预测信息传输至处理器0的抑制模块120,并通过广播的方式传输至除处理器0之外的其他处理器的抑制模块120。示例性地,设定时长W1可以是10-50cyc之间的任意时长,也可以是更长的时长。The power consumption change prediction module 113 may use a current slope-based predictor (DIDT forcaster; DIDT predictor). The power consumption change prediction module 113 is used to monitor the operating status of processor 0, and predict whether processor 0 will suffer power consumption within the W1 time window based on the operating status of processor 0 and the historical status records of power consumption change events that have occurred. Change events. Among them, the W1 time window refers to the time window starting from the current moment and the duration is the set duration W1. If it is predicted that a power consumption change event will occur in processor 0 within the W1 time window, power consumption change prediction information is generated, and the power consumption change prediction information is transmitted to the suppression module 120 of processor 0 and transmitted to the processor 0 by broadcasting. Suppression module 120 for processors other than processor 0. For example, the set duration W1 can be any duration between 10-50 cyc, or a longer duration.
示例性地,功耗变化预测模块113可以采用预测算法,根据处理器0的运行状态与已发生功耗变化事件的历史状态记录,确定在W1时间窗口内,处理器0将发生功耗变化事件的概率,如果确定的概率大于或等于设定的概率值,则生成功耗变化预测信息。其中,已发生功耗变化事件的历史状态记录可以包括处理器0曾经实际发生功耗变化事件期间及前一段时间窗口所执行的指令序列的模式(pattern)或高功耗事件的发生pattern的状态统计记录。在一些实施例中,当处理器0的软件或SoC的配合电路给出可能会产生高功耗线程的提示时,功耗变化预测模块113也可能会生成功耗变化预测信息。在另一些实施例中,由于处理器的投机性预取指令,在预测失败时会引发对预取指令所取出的数据进行冲刷的高功耗事件,因此当处理器0的投机性预取指令预测失败时,功耗变化预测模块113也可能会生成功耗变化预测信息。For example, the power consumption change prediction module 113 can use a prediction algorithm to determine that a power consumption change event will occur in processor 0 within the W1 time window based on the operating status of processor 0 and the historical status records of power consumption change events that have occurred. probability. If the determined probability is greater than or equal to the set probability value, power consumption change prediction information is generated. Among them, the historical status record of the power consumption change event that has occurred may include the pattern of the instruction sequence executed by the processor 0 during the actual power consumption change event and the previous period of time, or the state of the occurrence pattern of the high power consumption event. Statistics records. In some embodiments, when the software of the processor 0 or the cooperative circuit of the SoC gives a hint that a high-power consumption thread may be generated, the power consumption change prediction module 113 may also generate power consumption change prediction information. In other embodiments, due to the speculative prefetch instruction of the processor, a high-power event that flushes the data fetched by the prefetch instruction will be triggered when the prediction fails. Therefore, when the speculative prefetch instruction of processor 0 When the prediction fails, the power consumption change prediction module 113 may also generate power consumption change prediction information.
电压监测模块111或状态监测模块112检测到的发生功耗变化事件时处理器0的运行状态,如指令序列的pattern或高功耗事件的发生pattern,可以添加至历史状态记录中,从而在下一次出现类似的pattern时,功耗变化预测模块113可以根据历史状态记录预测处理器0在下一个W1时间窗口内是否会发生功耗变化事件。The operating status of processor 0 detected by the voltage monitoring module 111 or the status monitoring module 112 when the power consumption change event occurs, such as the pattern of the instruction sequence or the occurrence pattern of the high power consumption event, can be added to the historical status record, so that the next time When a similar pattern occurs, the power consumption change prediction module 113 can predict whether a power consumption change event will occur in processor 0 in the next W1 time window based on historical status records.
在一些实施例中,功耗变化预测模块113在根据历史状态记录中的某个pattern生成功 耗变化预测信息时,在功耗变化预测信息对应的寄存器设置事件标识。电压监测模块111或状态监测模块112检测到该pattern引发的功耗变化事件作为触发功耗变化预测模块113的刷新指示,即当电压监测模块111或状态监测模块112检测到功耗变化预测信息对应的功耗变化事件时,触发功耗变化预测模块113清除功耗变化预测信息对应的寄存器中的事件标识;并且,同时刷新历史状态记录中该pattern对应的预测概率。例如,电压监测模块111或状态监测模块112检测到功耗变化预测信息对应的功耗变化事件,表明功耗变化预测模块113针对该pattern的预测成功,增加了该pattern的预测成功率,因此可以在历史状态记录中提高该pattern对应的预测概率。In some embodiments, the power consumption change prediction module 113 generates power according to a certain pattern in the historical status record. When the power consumption change prediction information is received, the event flag is set in the register corresponding to the power consumption change prediction information. The voltage monitoring module 111 or the status monitoring module 112 detects the power consumption change event caused by the pattern as a refresh instruction to trigger the power consumption change prediction module 113. That is, when the voltage monitoring module 111 or the status monitoring module 112 detects that the power consumption change prediction information corresponds to When a power consumption change event occurs, the power consumption change prediction module 113 is triggered to clear the event identifier in the register corresponding to the power consumption change prediction information; and, at the same time, refresh the prediction probability corresponding to the pattern in the historical status record. For example, the voltage monitoring module 111 or the status monitoring module 112 detects a power consumption change event corresponding to the power consumption change prediction information, indicating that the power consumption change prediction module 113 successfully predicts the pattern, and increases the prediction success rate of the pattern, so it can Improve the prediction probability corresponding to the pattern in the historical state record.
如果历史上曾经在该pattern之后发生过功耗变化事件,但此次在该pattern之后,并未真正发生功耗变化事件,此时降低了该pattern的预测成功率,即在功耗变化预测模块113生成功耗变化预测信息后的预设时长内,电压监测模块111和状态监测模块112均未检测到功耗变化预测信息对应的功耗变化事件,则功耗变化预测模块113清除该功耗变化预测信息对应的寄存器中的事件标识,并在历史状态记录中降低该pattern对应的预测概率。如果一个pattern对应的预测概率低于设定的概率值时,功耗变化预测模块113可以不再根据该pattern生成功耗变化预测信息,以减少误报的发生。If a power consumption change event has occurred after this pattern in history, but this time, no power consumption change event has actually occurred after this pattern, the prediction success rate of this pattern is reduced at this time, that is, in the power consumption change prediction module 113 Within the preset time period after the power consumption change prediction information is generated, if neither the voltage monitoring module 111 nor the status monitoring module 112 detects the power consumption change event corresponding to the power consumption change prediction information, the power consumption change prediction module 113 clears the power consumption change event. Change the event identifier in the register corresponding to the prediction information, and reduce the prediction probability corresponding to the pattern in the historical status record. If the predicted probability corresponding to a pattern is lower than the set probability value, the power consumption change prediction module 113 may no longer generate power consumption change prediction information based on the pattern to reduce the occurrence of false alarms.
假设当前时刻为T0时刻,处理器0的功耗变化预测模块113生成功耗变化预测信息,表示自T0时刻起未来W1时间内处理器0将发生功耗变化事件。假设功耗变化预测信息广播到其他处理器的抑制模块120的延时为tn,那么任意一个处理器的抑制模块120收到的处理器0广播的功耗变化预测信息,表示的含义是T0+tn时刻起,W1-tn的时间窗口内处理器0会将发生功耗变化事件,即处理器0将由性能或功耗快速爬坡的现象发生。为了防止对一些特定场景的功耗变化事件的功耗抑制生效太晚导致主动防御失败,需尽量减小延时tn。Assume that the current time is T0 time, and the power consumption change prediction module 113 of processor 0 generates power consumption change prediction information, indicating that a power consumption change event will occur on processor 0 within the future W1 time starting from T0 time. Assuming that the delay in broadcasting the power consumption change prediction information to the suppression module 120 of other processors is tn, then the power consumption change prediction information broadcast by processor 0 received by the suppression module 120 of any processor means T0+ Starting from time tn, processor 0 will have a power consumption change event within the time window of W1-tn, that is, processor 0 will experience a rapid performance or power consumption climb. In order to prevent the power consumption suppression of power consumption change events in some specific scenarios from taking effect too late and causing active defense failure, the delay tn needs to be minimized.
功耗变化预测模块113生成的功耗变化预测信息在下文中称为S2事件,S2事件中携带有S2事件标志。The power consumption change prediction information generated by the power consumption change prediction module 113 is hereinafter referred to as an S2 event, and the S2 event carries an S2 event flag.
信号监测模块114可以采用系统变化值标志(system change number flag,SCN Flag)监测器。信号监测模块114用于监测处理器0是否接收到设定的目标信号,并在处理器0接收到设定的目标信号时,生成目标信号指示信息,将目标信号指示信息传输至处理器0的抑制模块120,并通过广播的方式传输至除处理器0之外的其他处理器的抑制模块120。其中,设定的目标信号可以包括但不限于如下信号中一种或多种:等待事件唤醒(wait for event,WFE)信号、等待中断唤醒(wait for interrupt,WFI)信号、深度冲刷(deep flush)信号、分支冲刷(branch flush)信号、缓存冲刷(cache flush)信号、高功耗事件(high power event)指示信号或高功耗剧增指示信号等。信号监测模块114可以基于上述目标信号,提前识别可能会引发功耗变化事件的特殊场景,更早地通知抑制模块120,以使抑制模块120可以进行错峰抑制或规避封装谐振频率。信号监测模块114生成目标信号指示信息需要在功耗变化事件之前提前预判,越早越好。比如,WFI信号可以是从IFU获取,也可以更早的从外部的唤醒中断接口处得到。The signal monitoring module 114 may adopt a system change number flag (SCN Flag) monitor. The signal monitoring module 114 is used to monitor whether the processor 0 receives the set target signal, and when the processor 0 receives the set target signal, generate the target signal indication information, and transmit the target signal indication information to the processor 0 The suppression module 120 is transmitted to the suppression modules 120 of other processors except processor 0 by broadcasting. Among them, the set target signal may include but is not limited to one or more of the following signals: wait for event (WFE) signal, wait for interrupt (WFI) signal, deep flush (deep flush) ) signal, branch flush signal, cache flush signal, high power event indicator signal or high power surge indicator signal, etc. The signal monitoring module 114 can identify special scenarios that may cause power consumption change events in advance based on the above target signal, and notify the suppression module 120 earlier so that the suppression module 120 can perform peak-shift suppression or avoid package resonant frequencies. The signal monitoring module 114 needs to predict the target signal indication information in advance before the power consumption change event, and the earlier the better. For example, the WFI signal can be obtained from the IFU, or it can be obtained earlier from an external wake-up interrupt interface.
信号监测模块114在监测到处理器0接收到任意一种目标信号时,生成目标信号指示信息。信号监测模块114生成的目标信号指示信息在下文中称为S3事件,S3事件中携带有S3事件标志。When the signal monitoring module 114 detects that the processor 0 receives any kind of target signal, it generates target signal indication information. The target signal indication information generated by the signal monitoring module 114 is hereinafter referred to as an S3 event, and the S3 event carries an S3 event flag.
上述的S1事件、S2事件和S3事件均为处理器0的功耗变化监测模块110生成的功耗 变化信息。处理器0的功耗变化监测模块110除将生成的功耗变化信息传输至处理器0的抑制模块120之外,还可以将功耗变化信息通过广播的方式传输至其他处理器的抑制模块120。相较于处理器0的功耗变化监测模块110与其他处理器的抑制模块120之间的距离,处理器0的功耗变化监测模块110与处理器0的抑制模块120之间的距离更近,因此处理器0的抑制模块120可以比其他处理器的抑制模块120更早地收到处理器0的功耗变化监测模块110发送的处理器0的功耗变化信息。The above-mentioned S1 event, S2 event and S3 event are all power consumption generated by the power consumption change monitoring module 110 of the processor 0 Change information. In addition to transmitting the generated power consumption change information to the suppression module 120 of processor 0, the power consumption change monitoring module 110 of processor 0 can also transmit the power consumption change information to the suppression modules 120 of other processors by broadcasting. . Compared with the distance between the power consumption change monitoring module 110 of processor 0 and the suppression modules 120 of other processors, the distance between the power consumption change monitoring module 110 of processor 0 and the suppression module 120 of processor 0 is closer. , therefore the suppression module 120 of processor 0 can receive the power consumption change information of processor 0 sent by the power consumption change monitoring module 110 of processor 0 earlier than the suppression modules 120 of other processors.
处理器0的功耗变化监测模块110在将处理器0的功耗变化信息传输至其他处理器的抑制模块120时,可以将不同种类的功耗变化信息通过一根通信信号线进行传输,也可以通过不同的通信信号线传输不同类型的功耗变化信息,例如,通过第一根通信信号线传输S1事件,通过第二根通信信号线传输S2事件,通过第三根通信信号线传输S3事件。从处理器0至其他处理器的传输路径的时延应约束至合理范围,以能够满足各个处理器在接收到处理器0的功耗变化信息后,生成的功耗抑制处理动作能够对电压跌落产生作用为约束条件。在一些实施例中,为了减小时延,可以通过高层金属走线来传输功耗变化信息,以保证功耗变化信息可以在很短的时延内到达其他处理器。在另一些实施例中,S1事件或S3事件也可以不通过实体的通信信号线传输到其他处理器,而可以通过中断、消息邮箱或者其他非实体走线的方式传输到其他处理器。When the power consumption change monitoring module 110 of processor 0 transmits the power consumption change information of processor 0 to the suppression modules 120 of other processors, it can transmit different types of power consumption change information through a communication signal line, or Different types of power consumption change information can be transmitted through different communication signal lines. For example, S1 events are transmitted through the first communication signal line, S2 events are transmitted through the second communication signal line, and S3 events are transmitted through the third communication signal line. . The delay of the transmission path from processor 0 to other processors should be constrained to a reasonable range, so that each processor can generate power consumption suppression processing actions after receiving the power consumption change information of processor 0 to be able to respond to voltage drops. Produce effects as constraints. In some embodiments, in order to reduce the delay, the power consumption change information can be transmitted through high-level metal traces to ensure that the power consumption change information can reach other processors within a short delay. In other embodiments, the S1 event or S3 event may not be transmitted to other processors through physical communication signal lines, but may be transmitted to other processors through interrupts, message mailboxes, or other non-physical wiring methods.
上述是对处理器0的功耗变化监测模块110的介绍,下面开始介绍处理器0的抑制模块120。处理器0的抑制模块120负责控制处理器0内部各功能单元的功耗水平。The above is an introduction to the power consumption change monitoring module 110 of the processor 0. Next, the suppression module 120 of the processor 0 will be introduced. The suppression module 120 of the processor 0 is responsible for controlling the power consumption level of each functional unit within the processor 0 .
处理器0的抑制模块120可以接收处理器0的功耗变化监测模块110传输的处理器0的功耗变化信息,以及接收除处理器0之外的任意一个处理器通过广播的方式传输的功耗变化信息,并基于接收到的功耗变化信息,对处理器0进行功耗抑制。抑制模块120对处理器进行功耗抑制的具体方式可以包括但不限于:调整处理器的时钟频率,如将时钟频率由100MHz调整为70MHz;采用时钟门控(clock gating)方式,如控制时钟每运行8拍停2拍;抑制处理器的流水线带宽,如降低处理器中各功能单元内部流水线的带宽;抑制峰值电流;对处理器中的部分功能单元进行抑制,如将部分功能单元下电或关闭,或仅对产生高功耗事件的功能单元进行抑制;暂时关闭处理器的部分功能等等。抑制模块120可以采用上述抑制方式中的一种或多种对处理器进行功耗抑制。The suppression module 120 of the processor 0 can receive the power consumption change information of the processor 0 transmitted by the power consumption change monitoring module 110 of the processor 0, and receive the power consumption change information transmitted by any processor other than the processor 0 in a broadcast manner. Consumption change information is received, and based on the received power consumption change information, power consumption is suppressed for processor 0. Specific ways for the suppression module 120 to suppress the power consumption of the processor may include but are not limited to: adjusting the clock frequency of the processor, such as adjusting the clock frequency from 100 MHz to 70 MHz; using a clock gating method, such as controlling the clock frequency every Run for 8 beats and stop for 2 beats; suppress the pipeline bandwidth of the processor, such as reducing the bandwidth of the internal pipeline of each functional unit in the processor; suppress the peak current; suppress some functional units in the processor, such as powering off some functional units or Shut down, or only suppress functional units that generate high power consumption events; temporarily shut down some functions of the processor, etc. The suppression module 120 may use one or more of the above suppression methods to suppress the power consumption of the processor.
示例性地,当处理器0的抑制模块120接收到处理器0的功耗变化信息,且功耗变化信息中包括S1事件时,说明处理器0已经发生功耗变化事件,需要立即进行主动防御,抑制模块120可以按照S1事件对应的设定抑制比例对处理器0进行功耗抑制。For example, when the suppression module 120 of processor 0 receives the power consumption change information of processor 0, and the power consumption change information includes the S1 event, it means that the power consumption change event has occurred in processor 0 and requires immediate active defense. , the suppression module 120 can suppress the power consumption of the processor 0 according to the set suppression ratio corresponding to the S1 event.
当处理器0的抑制模块120接收到处理器0的功耗变化信息,且功耗变化信息包括S2事件时,如果在设定时间段内处理器0的抑制模块120接收到至少N个处理器发送的功耗变化信息,则抑制模块120按照S2事件对应的设定抑制比例对处理器0进行功耗抑制;其中,N为设定的S2事件对应的变化处理器数量阈值。When the suppression module 120 of processor 0 receives the power consumption change information of processor 0, and the power consumption change information includes the S2 event, if the suppression module 120 of processor 0 receives at least N processors within the set time period, If the power consumption change information is sent, the suppression module 120 suppresses the power consumption of processor 0 according to the set suppression ratio corresponding to the S2 event; where N is the set threshold of the number of changed processors corresponding to the S2 event.
当处理器0的抑制模块120接收到处理器0的功耗变化信息,且功耗变化信息包括S3事件时,如果在设定时间段内处理器0的抑制模块120接收到至少M个处理器发送的功耗变化信息,则抑制模块120按照S3事件对应的设定抑制比例对处理器0进行功耗抑制;其中,M为设定的S2事件对应的变化处理器数量阈值。When the suppression module 120 of processor 0 receives the power consumption change information of processor 0, and the power consumption change information includes the S3 event, if the suppression module 120 of processor 0 receives at least M processors within the set time period, If the power consumption change information is sent, the suppression module 120 suppresses the power consumption of processor 0 according to the set suppression ratio corresponding to the S3 event; where M is the set threshold of the number of changed processors corresponding to the S2 event.
当处理器0的抑制模块120接收到另一处理器的功耗变化信息时,如果在设定时间段内处理器0的抑制模块120接收到至少K个处理器发送的功耗变化信息,且处理器0的业 务优先级低于该另一处理器的业务优先级,则按照其他处理器功耗变化信息对应的设定抑制比例对处理器0进行功耗抑制;其中,另一处理器可以是除处理器0之外的任意一个处理器,K为设定的其他处理器功耗变化信息对应的变化处理器数量阈值。K与上述的M、N的取值可以相同,也可以不同。When the suppression module 120 of processor 0 receives the power consumption change information of another processor, if the suppression module 120 of processor 0 receives power consumption change information sent by at least K processors within the set time period, and Processor 0 industry If the service priority is lower than the service priority of the other processor, the power consumption of processor 0 is suppressed according to the set suppression ratio corresponding to the power consumption change information of other processors; wherein, the other processor can be other than the processor For any processor other than 0, K is the threshold value of the number of processors corresponding to the set power consumption change information of other processors. The values of K and the above-mentioned M and N may be the same or different.
在一些实施例中,处理器0的抑制模块120可以包括功耗事件仲裁模块和峰值功耗抑制(maxpower mitigation,MXPM)模块。功耗事件仲裁模块用于根据接收到的各个处理器的功耗变化信息,确定是否对处理器0进行功耗抑制,并在确定对处理器0进行功耗抑制时,向峰值功耗抑制模块发送抑制指令,抑制指令中包括抑制比例和抑制时长。峰值功耗抑制模块可以根据功耗抑制指令中的抑制比例,在抑制时长内对处理器0进行功耗抑制。In some embodiments, the mitigation module 120 of processor 0 may include a power consumption event arbitration module and a peak power consumption mitigation (maxpower mitigation, MXPM) module. The power consumption event arbitration module is used to determine whether to suppress the power consumption of processor 0 based on the received power consumption change information of each processor, and when it is determined to suppress the power consumption of processor 0, notify the peak power consumption suppression module Send a suppression command, which includes the suppression ratio and suppression duration. The peak power consumption suppression module can suppress the power consumption of processor 0 within the suppression period according to the suppression ratio in the power consumption suppression instruction.
处理器0的抑制模块120对处理器0进行功耗抑制之后,通过广播的方式向除处理器0之外的其他各个处理器传输抑制信息,以使其他处理器确定是否需要联动进行功耗抑制。After the suppression module 120 of processor 0 suppresses the power consumption of processor 0, it transmits the suppression information to each other processor except processor 0 by broadcasting, so that other processors can determine whether they need to cooperate to suppress power consumption. .
处理器0的抑制模块120还可以接收其他处理器中的任意一个处理器通过广播的方式传输的抑制信息。当接收到另一处理器的抑制信息时,若处理器0的业务优先级低于该另一处理器的业务优先级,则抑制模块120按照抑制信息对应的设定抑制比例对处理器0进行功耗抑制,从而抑制电压噪声。抑制信息在下文中称为S4事件,S4事件中携带有S4事件标志。The suppression module 120 of processor 0 can also receive suppression information transmitted by any one of the other processors in a broadcast manner. When receiving suppression information from another processor, if the service priority of processor 0 is lower than the service priority of the other processor, the suppression module 120 performs suppression on processor 0 according to the set suppression ratio corresponding to the suppression information. Power consumption suppression, thereby suppressing voltage noise. The suppression information is referred to as an S4 event below, and the S4 event carries an S4 event flag.
如图1所示,处理器0的抑制模块120包括抑制信息输入接口,即S4输入接口121,以及抑制信息输出接口,即S4输出接口122。处理器0的抑制模块120可以通过S4输入接口121接收其他处理器广播的S4事件,通过S4输出接口122向其他处理器广播抑制信息。As shown in FIG. 1 , the suppression module 120 of the processor 0 includes a suppression information input interface, that is, an S4 input interface 121 , and a suppression information output interface, that is, an S4 output interface 122 . The suppression module 120 of processor 0 can receive S4 events broadcast by other processors through the S4 input interface 121, and broadcast suppression information to other processors through the S4 output interface 122.
当功耗变化监测模块110包括事件监测模块、功耗变化预测模块和信号监测模块时,处理器0的抑制模块120接收到的功耗变化信息可能是S1事件、S2事件或S3事件中的任意一种。此时,处理器0的抑制模块120进行功耗抑制的过程如图4所示,包括如下步骤:When the power consumption change monitoring module 110 includes an event monitoring module, a power consumption change prediction module and a signal monitoring module, the power consumption change information received by the suppression module 120 of the processor 0 may be any of the S1 event, the S2 event or the S3 event. A sort of. At this time, the process of power consumption suppression by the suppression module 120 of processor 0 is shown in Figure 4, which includes the following steps:
S401,接收到事件信息。S401, event information is received.
处理器0的抑制模块120接收到的处理器0的功耗变化监测模块110发送的处理器0的功耗变化信息,以及其他处理器发送的功耗变化信息和抑制信息均可以称为事件信息。功耗变化信息可能是S1事件、S2事件或S3事件中的任意一种,抑制信息为S4事件。The power consumption change information of processor 0 sent by the power consumption change monitoring module 110 of processor 0 received by the suppression module 120 of processor 0, and the power consumption change information and suppression information sent by other processors can be called event information. . The power consumption change information may be any one of the S1 event, S2 event or S3 event, and the suppression information is the S4 event.
任意一个处理器的发送的事件信息中可以携带处理器的标识信息和事件标志,例如,S1事件中携带有S1事件标志。处理器0的功耗变化监测模块110发送的事件信息中也可以携带处理器0的标识信息。处理器可以称为处理器核(core),处理器的标识信息可以采用Cn表示,其中,n的取值为1、……N-1中的整数值;示例性地,下文中将处理器0的S1事件表示为C0-S1,处理器0的S2事件表示为C0-S2,处理器1的S1事件表示为C1-S1。The event information sent by any processor can carry the processor's identification information and event flag. For example, the S1 event carries the S1 event flag. The event information sent by the power consumption change monitoring module 110 of the processor 0 may also carry the identification information of the processor 0. The processor can be called a processor core (core), and the identification information of the processor can be represented by C n , where the value of n is an integer value among 1,...N-1; for example, it will be processed below The S1 event of processor 0 is represented as C 0 -S1, the S2 event of processor 0 is represented as C 0 -S2, and the S1 event of processor 1 is represented as C 1 -S1.
S402,判断是否为处理器0的事件信息;若是,则执行步骤S403,若否,则执行步骤S407;S402, determine whether it is the event information of processor 0; if so, execute step S403; if not, execute step S407;
S403,判断是否为S1事件;若是,则执行步骤S404;若否,则执行步骤S405;S403, determine whether it is an S1 event; if yes, execute step S404; if not, execute step S405;
抑制模块120可以根据事件信息中携带的处理器的标识信息确定是哪一个处理器发送的事件信息。如果是处理器0的事件信息,则可以根据事件信息中携带的事件标志确定是否是S1事件。The suppression module 120 may determine which processor sent the event information based on the identification information of the processor carried in the event information. If it is the event information of processor 0, you can determine whether it is an S1 event based on the event flag carried in the event information.
S404,按照S1事件对应的设定抑制比例对处理器0进行功耗抑制。S404: Suppress the power consumption of processor 0 according to the set suppression ratio corresponding to the S1 event.
如果接收到C0-S1,即处理器自身的S1事件,说明处理器自身已经发生功耗变化事件, 需要立即进行主动防御,则抑制模块120可以按照S1事件对应的设定抑制比例,在设定的S1事件对应的抑制时长内对处理器0进行功耗抑制,以减小电源噪声。If C 0 -S1 is received, that is, the S1 event of the processor itself, it means that the power consumption change event of the processor itself has occurred. If active defense is required immediately, the suppression module 120 can suppress the power consumption of processor 0 within the set suppression period corresponding to the S1 event according to the set suppression ratio corresponding to the S1 event to reduce power supply noise.
S405,判断是否接收到至少N个处理器发送的功耗变化信息;若是,则执行步骤S406,若否,则执行步骤S410。S405: Determine whether power consumption change information sent by at least N processors is received; if yes, execute step S406; if not, execute step S410.
其中,N为设定数量。N的取值可以是1、2、3或其他整数值。Among them, N is the set number. The value of N can be 1, 2, 3 or other integer values.
S406,按照S2/S3事件对应的设定抑制比例对处理器0进行功耗抑制。S406: Suppress the power consumption of processor 0 according to the set suppression ratio corresponding to the S2/S3 event.
如果不是处理器0的S1事件,说明是处理器0的S2事件或S3事件。此时,如果发送功耗变化信息的处理器的数量大于或等于N,则可以按照S2/S3事件对应的设定抑制比例在设定的抑制时长内对处理器0进行功耗抑制。示例性地,假设当前接收到的是C0-S2,可以采用如下方法统计发送功耗变化信息的处理器的数量:统计在当前时刻以及当前时刻之前的设定时间段内共接收到几个处理器发送的功耗变化信息。例如,统计结果可以是:在当前时刻以及当前时刻之前的0.05ms之内,除接收到上述C0-S2事件之前,还接收到C1-S1,即共接收到2个处理器发送的功耗变化信息。If it is not the S1 event of processor 0, it means it is the S2 event or S3 event of processor 0. At this time, if the number of processors sending power consumption change information is greater than or equal to N, the power consumption of processor 0 can be suppressed within the set suppression time according to the set suppression ratio corresponding to the S2/S3 event. For example, assuming that C 0 -S2 is currently received, the following method can be used to count the number of processors sending power consumption change information: Count how many processors have been received at the current moment and within the set time period before the current moment. Power consumption change information sent by the processor. For example, the statistical result can be: within the current time and 0.05ms before the current time, in addition to receiving the above-mentioned C 0 -S2 event, C 1 -S1 was also received, that is, a total of functions sent by 2 processors were received. Consumption change information.
示例性地,如果N是1,则在确定接收到处理器0的S2事件或S3事件时,就可以按照S2/S3事件对应的设定抑制比例,在设定的S2/S3事件对应的抑制时长内对处理器0进行功耗抑制。如果N是2,则在确定发送功耗变化信息的处理器的数量为2个或2个以上时,可以按照S2/S3事件对应的设定抑制比例在设定的S2/S3事件对应的抑制时长内对处理器0进行功耗抑制;否则,如果在当前时刻以及当前时刻之前的0.05ms之内,仅接收到C0-S2或C0-S3事件,则可以不对处理器0进行功耗抑制,继续等待下一个事件信息的到来。For example, if N is 1, when it is determined that the S2 event or S3 event of processor 0 is received, the set suppression ratio corresponding to the S2/S3 event can be set. The power consumption of processor 0 is suppressed for a certain period of time. If N is 2, when it is determined that the number of processors sending power consumption change information is 2 or more, the suppression ratio corresponding to the S2/S3 event can be set according to the set suppression ratio corresponding to the S2/S3 event. The power consumption of processor 0 is suppressed within the duration; otherwise, if only the C 0 -S2 or C 0 -S3 event is received at the current moment and within 0.05ms before the current moment, the power consumption of processor 0 does not need to be suppressed. Suppress and continue to wait for the arrival of the next event information.
在图4所示的实施例中,S2事件对应的设定抑制比例和S3事件对应的设定抑制比例采用同一设定比例值,S2事件对应的抑制时长和S3事件对应的抑制时长也可以相同。In the embodiment shown in Figure 4, the set suppression ratio corresponding to the S2 event and the set suppression ratio corresponding to the S3 event adopt the same set ratio value, and the suppression duration corresponding to the S2 event and the suppression duration corresponding to the S3 event can also be the same. .
在另一些实施例中,S2事件对应的设定抑制比例和S3事件对应的设定抑制比例可以不同,S2事件对应的抑制时长和S3事件对应的抑制时长也可以不同。在判断接收到的事件信息是处理器0的功耗变化信息后,还可以根据事件信息中的事件标志进一步判断是S2事件,还是S3事件。如果接收到C0-S2,在确定发送功耗变化信息的处理器的数量达到N时,可以按照S2事件对应的设定抑制比例在设定的S2事件对应的抑制时长内对处理器0进行功耗抑制。如果接收到C0-S3,在确定发送功耗变化信息的处理器的数量达到M时,可以按照S3事件对应的设定抑制比例在设定的S3事件对应的抑制时长内对处理器0进行功耗抑制。其中,M也是一个设定数量,M与N可以相同,也可以不同。In other embodiments, the set suppression ratio corresponding to the S2 event and the set suppression ratio corresponding to the S3 event may be different, and the suppression duration corresponding to the S2 event and the suppression duration corresponding to the S3 event may also be different. After determining that the received event information is the power consumption change information of processor 0, it can be further determined whether it is an S2 event or an S3 event based on the event flag in the event information. If C 0 -S2 is received, when it is determined that the number of processors sending power consumption change information reaches N, processor 0 can be suppressed according to the set suppression ratio corresponding to the S2 event within the set suppression duration corresponding to the S2 event. Power consumption suppression. If C 0 -S3 is received, when it is determined that the number of processors sending power consumption change information reaches M, processor 0 can be suppressed according to the set suppression ratio corresponding to the S3 event within the set suppression duration corresponding to the S3 event. Power consumption suppression. Among them, M is also a set quantity, and M and N can be the same or different.
在另一些实施例中,还可以设定接收到至少N1个处理器的S1事件、至少N2个处理器的S2事件和至少N3个处理器的S3事件时,才执行对处理器进行功耗抑制的步骤。其中,N1的取值可以是0、1、2或其他整数值,N2的取值可以是0、1、2或其他整数值,N3的取值可以是0、1、2或其他整数值。例如,假设N1取值为1,N2取值为2,N3取值为0,如果在当前时刻,接收到C0-S2,在当前时刻之前的0.05ms之内,仅接收到C1-S2事件,则不执行对处理器0的功耗抑制,继续等待下一个事件信息的到来;如果在当前时刻,接收到C0-S2,在当前时刻之前的0.05ms之内,接收到C1-S1和C3-S2两个功耗变化信息,或者还接收到其他处理器的功耗变化信息,则可以按照S2事件对应的设定抑制比例在设定的S2事件对应的抑制时长内对处理器0进行功耗抑制。In other embodiments, it can also be set to perform power consumption suppression on the processor only when S1 events of at least N1 processors, S2 events of at least N2 processors, and S3 events of at least N3 processors are received. A step of. Among them, the value of N1 can be 0, 1, 2 or other integer values, the value of N2 can be 0, 1, 2 or other integer values, and the value of N3 can be 0, 1, 2 or other integer values. For example, assuming that N1 has a value of 1, N2 has a value of 2, and N3 has a value of 0, if C 0 -S2 is received at the current time, only C 1 -S2 is received within 0.05ms before the current time. event, the power consumption suppression for processor 0 will not be executed and the next event information will continue to wait; if C 0 -S2 is received at the current time, C 1 - is received within 0.05ms before the current time. If the power consumption change information of S1 and C3 -S2 is received, or the power consumption change information of other processors is also received, it can be processed within the set suppression time period corresponding to the S2 event according to the set suppression ratio corresponding to the S2 event. Device 0 performs power consumption suppression.
S407,判断是否接收到至少K个处理器发送的功耗变化信息;若是,则执行步骤S408, 若否,则执行步骤S410。S407, determine whether power consumption change information sent by at least K processors has been received; if so, execute step S408, If not, execute step S410.
如果是其他处理器发送的事件信息,判断是否接收到至少K个处理器发送的功耗变化信息。其中,K也是一个设定数量。K的取值可以与N相同,也可以不同。If the event information is sent by other processors, it is determined whether the power consumption change information sent by at least K processors is received. Among them, K is also a set quantity. The value of K can be the same as N, or it can be different.
S408,判断处理器0的业务优先级是否低于发送功耗变化信息的处理器的业务优先级;若是,则执行步骤S409,若否,则执行步骤S410。S408: Determine whether the service priority of processor 0 is lower than the service priority of the processor that sends the power consumption change information; if so, execute step S409; if not, execute step S410.
S409,按照设定的级联抑制比例对处理器0进行功耗抑制。S409: Suppress the power consumption of processor 0 according to the set cascade suppression ratio.
在图4所示的实施例中,如果是其他处理器发送的事件信息,并且,确定在当前时刻以及当前时刻之前的设定时间段内,发送功耗变化信息的处理器的数量大于或等于K,且处理器0的业务优先级较低时,可以按照其他处理器对应的设定抑制比例在设定的其他处理器对应的抑制时长内对处理器0进行功耗抑制。In the embodiment shown in Figure 4, if the event information is sent by other processors, and it is determined that the number of processors sending power consumption change information is greater than or equal to the current time and the set time period before the current time. K, and when the service priority of processor 0 is low, the power consumption of processor 0 can be suppressed within the set suppression time period corresponding to other processors according to the set suppression ratios corresponding to other processors.
示例性地,如果K是3,则在接收到C1-S1时,如果确定发送功耗变化信息的处理器的数量为3个或3个以上时,可以继续比较处理器0与处理器1的业务优先级,如果处理器0的业务优先级低于处理器1的业务优先级,则按照其他处理器对应的设定抑制比例在设定的其他处理器对应的抑制时长内对处理器0进行功耗抑制;否则,可以不对处理器0进行功耗抑制,继续等待下一个事件信息的到来。其他处理器对应的设定抑制比例与处理器自身的各种功耗变化信息对应的设定抑制比例可以不同。For example, if K is 3, when receiving C 1 -S1, if it is determined that the number of processors sending power consumption change information is 3 or more, processor 0 and processor 1 can continue to be compared. If the service priority of processor 0 is lower than the service priority of processor 1, processor 0 will be suppressed according to the set suppression ratio corresponding to other processors within the set suppression time period corresponding to other processors. Perform power consumption suppression; otherwise, you may not perform power consumption suppression on processor 0 and continue to wait for the arrival of the next event information. The set suppression ratio corresponding to other processors and the set suppression ratio corresponding to various power consumption change information of the processor itself may be different.
在另一些实施例中,可以对其他处理器的功耗变化信息与抑制信息进行区分,分别进行不同处理。示例性地,在确定是其他处理器发送的事件信息后,可以根据事件信息中的事件标志确定是功耗变化信息,还是抑制信息。如果是功耗变化信息,发送功耗变化信息的处理器的数量大于或等于K,且处理器0的业务优先级较低时,可以按照其他处理器的功耗变化信息对应的设定抑制比例在设定的其他处理器的功耗变化信息对应的抑制时长内对处理器0进行功耗抑制;如果是抑制信息,且处理器0的业务优先级低于发送抑制信息的处理器的业务优先级时,可以按照其他处理器的抑制信息对应的设定抑制比例在设定的其他处理器的抑制信息对应的抑制时长内对处理器0进行功耗抑制。例如,如果接收到C1-S4,且处理器0的业务优先级低于处理器1的业务优先级,则按照其他处理器的抑制信息对应的设定抑制比例在设定的其他处理器的抑制信息对应的抑制时长内对处理器0进行功耗抑制。In other embodiments, the power consumption change information and suppression information of other processors can be distinguished and processed differently respectively. For example, after determining that the event information is sent by another processor, it can be determined according to the event flag in the event information whether it is power consumption change information or suppression information. If it is power consumption change information, the number of processors sending power consumption change information is greater than or equal to K, and the business priority of processor 0 is low, the suppression ratio can be set according to the power consumption change information of other processors. Suppress the power consumption of processor 0 within the set suppression time corresponding to the power consumption change information of other processors; if it is suppression information, and the service priority of processor 0 is lower than the service priority of the processor that sends the suppression information level, the power consumption of processor 0 can be suppressed within the set suppression time period corresponding to the suppression information of other processors according to the set suppression ratio corresponding to the suppression information of other processors. For example, if C 1 -S4 is received and the service priority of processor 0 is lower than the service priority of processor 1, the suppression ratio corresponding to the suppression information of other processors is set to that of the other processors. The power consumption of processor 0 is suppressed within the suppression period corresponding to the suppression information.
在一些实施例中,处理器从功耗抑制状态恢复到正常运行状态的过程,可以分为多个阶段进行恢复,例如,若通过时钟频率进行功耗抑制,可以先将时钟频率从抑制值提升至中间值,再从中间值提升至正常值,以避免恢复太快反而增加电源跌落。In some embodiments, the process of the processor recovering from the power consumption suppression state to the normal operating state can be divided into multiple stages for recovery. For example, if the power consumption is suppressed through the clock frequency, the clock frequency can be increased from the suppression value first. to the middle value, and then increase from the middle value to the normal value to avoid recovering too quickly and increasing the power drop.
S410,等待接收下一个事件信息。S410, wait to receive the next event information.
在执行对处理器0进行功耗抑制的步骤之后,或者根据上述条件,判定此次不需要对处理器0进行功耗抑制时,等待下一个实际信息的触发,再根据上述流程判定是否需要对处理器0进行功耗抑制。After executing the step of suppressing the power consumption of processor 0, or based on the above conditions, it is determined that there is no need to suppress the power consumption of processor 0 this time. Wait for the trigger of the next actual information, and then determine whether it is necessary to suppress the power consumption of processor 0 according to the above process. Processor 0 performs power consumption suppression.
在一些实施例中,上述生成功耗变化信息的过程中所使用的各种设定阈值,以及抑制模块在进行功耗抑制时所使用的各种设定数量、设定抑制比例、设定时长等,均可以预先设置并保存在处理器的缓存系统或对应寄存器中。In some embodiments, various setting thresholds are used in the above-mentioned process of generating power consumption change information, as well as various setting quantities, setting suppression ratios, and setting durations used by the suppression module when performing power consumption suppression. etc., can be preset and saved in the processor's cache system or corresponding registers.
在另一些实施例中,芯片100还可以包括针对N个处理器中的每个处理器分别设置的配置模块(Configuration Module,CFG)。配置模块可以设置在对应处理器的内部,也可以设置在对应处理器的外部。图5示出了一种内部设置有配置模块的处理器的结构示意图, 如图5所示,配置模块140与功耗变化监测模块110和抑制模块120连接,配置模块140可以用于保存上述生成功耗变化信息的过程中所使用的各种设定阈值,以及抑制模块在进行功耗抑制时所使用的各种设定数量、设定抑制比例、设定时长等。配置模块140还可以根据接收到的任意一个处理器的抑制信息,调整对应处理器在生成功耗变化信息的过程中所使用的各种设定阈值和/或在进行功耗抑制的过程中所使用的各种设定抑制比例等。In other embodiments, the chip 100 may further include a configuration module (Configuration Module, CFG) separately provided for each of the N processors. The configuration module can be set inside the corresponding processor or outside the corresponding processor. Figure 5 shows a schematic structural diagram of a processor with a configuration module inside. As shown in Figure 5, the configuration module 140 is connected to the power consumption change monitoring module 110 and the suppression module 120. The configuration module 140 can be used to save various set thresholds used in the process of generating power consumption change information, and the suppression module Various setting quantities, setting suppression ratios, setting duration, etc. used when performing power consumption suppression. The configuration module 140 can also adjust various setting thresholds used by the corresponding processor in the process of generating power consumption change information and/or the settings used in the process of power consumption suppression based on the received suppression information of any processor. Use various settings to suppress ratios, etc.
图5中虽未示出处理器中包含的各功能单元,但图5所示的处理器可以包括图2中所示出的各功能单元。Although each functional unit included in the processor is not shown in FIG. 5 , the processor shown in FIG. 5 may include each functional unit shown in FIG. 2 .
下文示例性地说明配置模块140中配置的一些设定参数的含义。The meaning of some setting parameters configured in the configuration module 140 is exemplarily explained below.
CFG.Throttle_signal(S2):立即抑制触发事件,可以是本处理器的S1事件、或者本处理器的S1/S2事件,或者本处理器的S1/S2/S2事件;例如,如果CFG.Throttle_signal为本处理器的S1事件,则抑制模块接收到本处理器的S1事件时,立即按照设定抑制比例对本处理器进行功耗抑制;如果CFG.Throttle_signal(S2)为本处理器的S1/S2/S2事件,则抑制模块接收到本处理器的任何功耗变化信息时,均立即按照设定抑制比例对本处理器进行功耗抑制;CFG.Throttle_signal(S2): Immediately suppress the trigger event, which can be the S1 event of this processor, or the S1/S2 event of this processor, or the S1/S2/S2 event of this processor; for example, if CFG.Throttle_signal is The S1 event of this processor, when the suppression module receives the S1 event of this processor, it will immediately suppress the power consumption of this processor according to the set suppression ratio; if CFG.Throttle_signal(S2) is the S1/S2/ S2 event, when the suppression module receives any power consumption change information of the processor, it will immediately suppress the power consumption of the processor according to the set suppression ratio;
CFG.Detector_time(P2):设定的DIDT检测周期,状态监测模块按照该DIDT检测周期对处理器0的运行状态进行检测;例如,设定的DIDT检测周期可以是8cyc或16cyc等;CFG.Detector_time(P2): The set DIDT detection period. The status monitoring module detects the running status of processor 0 according to the DIDT detection period; for example, the set DIDT detection period can be 8cyc or 16cyc, etc.;
CFG.Forcast_time(W1):预测未来功耗变化事件产生窗口的时长,功耗变化预测模块预测在设定的窗口时长内是否将发生功耗变化事件;例如,设定的窗口时长可以是8cyc或16cyc等,也可以是处理器的谐振频率的1/4或1/2周期等;CFG.Forcast_time(W1): Predict the duration of the window for future power consumption change events. The power consumption change prediction module predicts whether a power consumption change event will occur within the set window duration; for example, the set window duration can be 8cyc or 16cyc, etc., or it can be 1/4 or 1/2 cycle of the resonant frequency of the processor, etc.;
CFG.Detector_threshold(L1):功耗变化斜率的最大斜率阈值,当状态监测模块监测到本处理器的功耗变化斜率达到该设定的最大斜率阈值时,生成功耗变化监测信息;CFG.Detector_threshold(L1): The maximum slope threshold of the power consumption change slope. When the status monitoring module detects that the power consumption change slope of the processor reaches the set maximum slope threshold, it generates power consumption change monitoring information;
CFG.Detector_threshold(L0):功耗变化斜率的最小斜率阈值,当状态监测模块监测到本处理器的功耗变化斜率小于或等于该设定的最小斜率阈值时,取消功耗变化监测信息;CFG.Detector_threshold(L0): The minimum slope threshold of the power consumption change slope. When the status monitoring module detects that the power consumption change slope of the processor is less than or equal to the set minimum slope threshold, the power consumption change monitoring information is cancelled;
CFG.Throttle_m(R2):用于限定抑制模块可进行功耗抑制的功能单元的范围;CFG.Throttle_m(R2): used to limit the range of functional units that the suppression module can perform power consumption suppression;
CFG.Throttle_th(L2):本处理器对应的设定抑制比例,即本处理器的S1事件、S2事件和S3事件对应相同的设定抑制比例;抑制模块在接收到本处理器的S1事件、S2事件或S3事件时,均可以按照该设定抑制比例对本处理器进行功耗抑制;例如,设定抑制比例可以是90%,80%,70%等;其中,90%表示将本处理器的功耗降低至当前的90%。CFG.Throttle_th(L2): The set suppression ratio corresponding to this processor, that is, the S1 event, S2 event and S3 event of this processor correspond to the same set suppression ratio; the suppression module receives the S1 event, In case of S2 event or S3 event, the power consumption of this processor can be suppressed according to the set suppression ratio; for example, the set suppression ratio can be 90%, 80%, 70%, etc.; among them, 90% means that the processor will be The power consumption is reduced to 90% of the current level.
CFG.Throttle_time(T2):设定的抑制时长,抑制模块对本处理器进行功耗抑制的时间长度;与设定的DIDT检测周期相匹配;例如,设定的抑制时长可以是8cyc或16cyc等;CFG.Throttle_time(T2): The set suppression time, the length of time for the suppression module to suppress the power consumption of this processor; matches the set DIDT detection period; for example, the set suppression time can be 8cyc or 16cyc, etc.;
CFG.Throttle_th(cL2):级联抑制比例,即其他处理器对应的设定抑制比例;抑制模块接收到其他处理器的功耗变化信息或抑制信息时,可以按照设定的级联抑制比例对本处理器进行功耗抑制;例如,设定抑制比例可以是90%,80%,70%......0%;0%表示推迟取指,从取指单元开始就停止工作;CFG.Throttle_th(cL2): cascade suppression ratio, that is, the set suppression ratio corresponding to other processors; when the suppression module receives the power consumption change information or suppression information of other processors, it can control this processor according to the set cascade suppression ratio. The processor performs power consumption suppression; for example, the set suppression ratio can be 90%, 80%, 70%...0%; 0% means delaying the instruction fetch and stopping work from the beginning of the instruction fetch unit;
CFG.Throttle_time(cT2):级联抑制时长,即其他处理器对应的设定抑制时长;抑制模块接收到其他处理器的功耗变化信息或抑制信息时,可以按照设定的级联抑制比例在设定的级联抑制时长内对本处理器进行功耗抑制;级联抑制时长与设定的DIDT检测周期相匹配;例如,设定的抑制时长可以是8cyc或16cyc等;CFG.Throttle_time(cT2): cascade suppression time, that is, the set suppression time corresponding to other processors; when the suppression module receives the power consumption change information or suppression information of other processors, it can The power consumption of this processor is suppressed within the set cascade suppression time; the cascade suppression time matches the set DIDT detection period; for example, the set suppression time can be 8cyc or 16cyc, etc.;
CFG.casade_corenum(C2):抑制模块进行功耗抑制判断时所使用的设定数量,即达到该设定数量的处理器产生事件信息,就对本处理器进行功耗抑制;例如,0表示1个处理 器产生功耗变化信息就进行功耗抑制,1表示2个处理器产生事件信息就进行功耗抑制,2表示3个处理器产生事件信息就进行功耗抑制,4表示不级联,只要本处理器产生事件信息就进行功耗抑制;CFG.casade_corenum(C2): The set number used by the suppression module when judging power consumption suppression. That is, when the set number of processors generate event information, the power consumption of this processor will be suppressed; for example, 0 means 1 deal with When the processor generates power consumption change information, the power consumption is suppressed. 1 means that 2 processors generate event information and the power consumption is suppressed. 2 means that 3 processors generate event information and the power consumption is suppressed. 4 means no cascading. As long as this processor When the processor generates event information, it suppresses power consumption;
CFG.casade_Mask(M2):抑制模块进行抑制判断时,不参与判断的事件;例如,S4事件可以不参与判断,抑制模块在统计发送事件信息的处理器的数量时,可以排除发送S4事件的处理器;每个事件1bit。CFG.casade_Mask(M2): Events that do not participate in the judgment when the suppression module performs suppression judgment; for example, S4 events do not need to participate in the judgment, and the suppression module can exclude the processing of sending S4 events when counting the number of processors that send event information. Device; 1 bit for each event.
在一些实施例中,可以针对不同的事件分别设置不同的抑制比例,示例性地,配置模块中还可以选择性地设置下列参数:In some embodiments, different suppression ratios can be set for different events. For example, the following parameters can also be selectively set in the configuration module:
CFG.Throttle_Casade_th_S1(L2S1):S1事件对应的设定抑制比例,抑制模块在接收到本处理器的S1事件时,可以按照S1事件对应的设定抑制比例对本处理器进行功耗抑制,例如,S1事件对应的设定抑制比例可以是90%,80%,70%......0%;CFG.Throttle_Casade_th_S1 (L2S1): The set suppression ratio corresponding to the S1 event. When the suppression module receives the S1 event of this processor, it can suppress the power consumption of the processor according to the set suppression ratio corresponding to the S1 event. For example, S1 The set suppression ratio corresponding to the event can be 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S1(T2S1):S1事件对应的设定抑制时长,抑制模块在接收到本处理器的S1事件时,可以在S1事件对应的设定抑制时长内对本处理器进行功耗抑制;与设定的DIDT检测周期相匹配;例如,S1事件对应的设定抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S1 (T2S1): The set suppression time corresponding to the S1 event. When the suppression module receives the S1 event of the processor, it can suppress the power consumption of the processor within the set suppression time corresponding to the S1 event; with the setting Match the specified DIDT detection period; for example, the set suppression time corresponding to the S1 event can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_th_S2(L2S2):S2事件对应的设定抑制比例,抑制模块在接收到本处理器的S2事件时,可以按照S2事件对应的设定抑制比例对本处理器进行功耗抑制,例如,S2事件对应的设定抑制比例可以是90%,80%,70%......0%;CFG.Throttle_Casade_th_S2 (L2S2): The set suppression ratio corresponding to the S2 event. When the suppression module receives the S2 event of the processor, it can suppress the power consumption of the processor according to the set suppression ratio corresponding to the S2 event. For example, S2 The set suppression ratio corresponding to the event can be 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S2(T2S2):S2事件对应的设定抑制时长,抑制模块在接收到本处理器的S2事件时,可以在S2事件对应的设定抑制时长内对本处理器进行功耗抑制;与设定的DIDT检测周期相匹配;例如,S2事件对应的设定抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S2 (T2S2): The set suppression time corresponding to the S2 event. When the suppression module receives the S2 event of the processor, it can suppress the power consumption of the processor within the set suppression time corresponding to the S2 event; with the setting Match the specified DIDT detection period; for example, the set suppression time corresponding to the S2 event can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_th_S3(L2S3):S3事件对应的设定抑制比例,抑制模块在接收到本处理器的S3事件时,可以按照S3事件对应的设定抑制比例对本处理器进行功耗抑制,例如,S3事件对应的设定抑制比例可以是90%,80%,70%......0%;CFG.Throttle_Casade_th_S3 (L2S3): The set suppression ratio corresponding to the S3 event. When the suppression module receives the S3 event of this processor, it can suppress the power consumption of the processor according to the set suppression ratio corresponding to the S3 event. For example, S3 The set suppression ratio corresponding to the event can be 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S3(T2S3):S3事件对应的设定抑制时长,抑制模块在接收到本处理器的S3事件时,可以在S3事件对应的设定抑制时长内对本处理器进行功耗抑制;与设定的DIDT检测周期相匹配;例如,S3事件对应的设定抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S3 (T2S3): The set suppression time corresponding to the S3 event. When the suppression module receives the S3 event of the processor, it can suppress the power consumption of the processor within the set suppression time corresponding to the S3 event; with the setting Match the specified DIDT detection period; for example, the set suppression duration corresponding to the S3 event can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_th_S1(cL2S1):针对S1事件的级联抑制比例,即其他处理器的S1事件对应的设定抑制比例;抑制模块接收到其他处理器的S1事件时,可以按照针对S1事件的级联抑制比例对本处理器进行功耗抑制;例如,针对S1事件的级联抑制比例可以是90%,80%,70%......0%;CFG.Throttle_Casade_th_S1 (cL2S1): The cascade suppression ratio for S1 events, that is, the set suppression ratio corresponding to the S1 events of other processors; when the suppression module receives S1 events from other processors, it can follow the cascade suppression ratio for S1 events. The suppression ratio suppresses power consumption of this processor; for example, the cascade suppression ratio for S1 events can be 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S1(cT2S1):针对S1事件的级联抑制时长,即其他处理器的S1事件对应的级联抑制时长;抑制模块接收到其他处理器的S1事件时,可以按照针对S1事件的级联抑制时长对本处理器进行功耗抑制;例如,针对S1事件的级联抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S1 (cT2S1): The cascade suppression duration for S1 events, that is, the cascade suppression duration corresponding to S1 events of other processors; when the suppression module receives S1 events from other processors, it can follow the cascade suppression duration for S1 events. The suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S1 events can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_th_S2(cL2S2):针对S2事件的级联抑制比例,即其他处理器的S2事件对应的设定抑制比例;抑制模块接收到其他处理器的S2事件时,可以按照针对S2事件的级联抑制比例对本处理器进行功耗抑制;例如,针对S2事件的级联抑制比例可以 是90%,80%,70%......0%;CFG.Throttle_Casade_th_S2 (cL2S2): The cascade suppression ratio for S2 events, that is, the set suppression ratio corresponding to the S2 events of other processors; when the suppression module receives S2 events from other processors, it can follow the cascade suppression ratio for S2 events. The suppression ratio performs power consumption suppression on this processor; for example, the cascade suppression ratio for S2 events can It's 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S2(cT2S2):针对S2事件的级联抑制时长,即其他处理器的S2事件对应的级联抑制时长;抑制模块接收到其他处理器的S2事件时,可以按照针对S2事件的级联抑制时长对本处理器进行功耗抑制;例如,针对S2事件的级联抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S2 (cT2S2): The cascade suppression duration for S2 events, that is, the cascade suppression duration corresponding to S2 events of other processors; when the suppression module receives S2 events from other processors, it can follow the cascade suppression duration for S2 events. The suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S2 events can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_th_S3(cL2S3):针对S3事件的级联抑制比例,即其他处理器的S3事件对应的设定抑制比例;抑制模块接收到其他处理器的S3事件时,可以按照针对S3事件的级联抑制比例对本处理器进行功耗抑制;例如,针对S3事件的级联抑制比例可以是90%,80%,70%......0%;CFG.Throttle_Casade_th_S3 (cL2S3): The cascade suppression ratio for S3 events, that is, the set suppression ratio corresponding to the S3 events of other processors; when the suppression module receives S3 events from other processors, it can follow the cascade suppression ratio for S3 events. The suppression ratio suppresses the power consumption of this processor; for example, the cascade suppression ratio for S3 events can be 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S3(cT2S3):针对S3事件的级联抑制时长,即其他处理器的S3事件对应的级联抑制时长;抑制模块接收到其他处理器的S3事件时,可以按照针对S3事件的级联抑制时长对本处理器进行功耗抑制;例如,针对S3事件的级联抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S3 (cT2S3): The cascade suppression duration for S3 events, that is, the cascade suppression duration corresponding to S3 events from other processors; when the suppression module receives S3 events from other processors, it can follow the cascade suppression duration for S3 events. The suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S3 events can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_th_S4(cL2S4):针对S4事件的级联抑制比例,即其他处理器的S4事件对应的设定抑制比例;抑制模块接收到其他处理器的S4事件时,可以按照针对S4事件的级联抑制比例对本处理器进行功耗抑制;例如,针对S4事件的级联抑制比例可以是90%,80%,70%......0%;CFG.Throttle_Casade_th_S4 (cL2S4): The cascade suppression ratio for S4 events, that is, the set suppression ratio corresponding to the S4 events of other processors; when the suppression module receives S4 events from other processors, it can follow the cascade suppression ratio for S4 events. The suppression ratio suppresses the power consumption of this processor; for example, the cascade suppression ratio for S4 events can be 90%, 80%, 70%...0%;
CFG.Throttle_Casade_time_S4(cT2S4):针对S4事件的级联抑制时长,即其他处理器的S4事件对应的级联抑制时长;抑制模块接收到其他处理器的S4事件时,可以按照针对S4事件的级联抑制时长对本处理器进行功耗抑制;例如,针对S4事件的级联抑制时长可以是8cyc或16cyc等;CFG.Throttle_Casade_time_S4 (cT2S4): The cascade suppression duration for S4 events, that is, the cascade suppression duration corresponding to S4 events from other processors; when the suppression module receives S4 events from other processors, it can follow the cascade suppression duration for S4 events. The suppression duration suppresses the power consumption of this processor; for example, the cascade suppression duration for S4 events can be 8cyc or 16cyc, etc.;
CFG.Throttle_Casade_cfg_en(cEn):针对可选事件级联抑制配置的使能,若使能,则根据级联事件场景自动将该事件的级联抑制比例传递给cL2/cT2,提供给抑制模块使用;CFG.Throttle_Casade_cfg_en(cEn): Enable the optional event cascade suppression configuration. If enabled, the cascade suppression ratio of the event will be automatically passed to cL2/cT2 according to the cascade event scenario and provided to the suppression module;
CFG.Throttle_Casade_priority(cPrn):本处理器的业务优先级;当两个处理器中一个需要抑制另一个可正常运行时,业务优先级低的处理器进行功耗抑制;CFG.Throttle_Casade_priority(cPrn): The business priority of this processor; when one of the two processors needs to be suppressed and the other can run normally, the processor with the lower business priority suppresses power consumption;
CFG.Throttle_Casade_release(cTrn):本处理器从抑制状态恢复到正常状态时,需要增加几个阶段恢复。默认为0,直接恢复。1为增加一个阶段恢复(可以理解为电流恢复到高峰中间有一个台阶。)2,3依此类推,可以避免恢复太快反倒增加电压跌落。CFG.Throttle_Casade_release(cTrn): When this processor returns from the inhibited state to the normal state, several stages of recovery need to be added. The default is 0, which is restored directly. 1 is to add a stage of recovery (it can be understood that there is a step in the middle of the current recovery to the peak value.) 2, 3 and so on, can avoid recovery too fast and increase the voltage drop.
配置模块140还负责调整本处理器在生成功耗变化信息的过程中所使用的各种设定阈值,以及在进行功耗抑制的过程中所使用的各种设定抑制比例等。示例性地,配置模块140可以根据接收到的任意一个处理器的抑制信息,调整对应处理器在生成功耗变化信息的过程中所使用的各种设定阈值;或者,配置模块140可以根据接收到的任意一个处理器的抑制信息,在进行功耗抑制的过程中所使用的各种设定抑制比例和设定抑制时长;或者,配置模块140可以根据接收到的任意一个处理器的抑制信息,调整对应处理器在生成功耗变化信息的过程中所使用的各种设定阈值和在进行功耗抑制的过程中所使用的各种设定抑制比例和设定抑制时长。The configuration module 140 is also responsible for adjusting various set thresholds used by the processor in the process of generating power consumption change information, and various set suppression ratios used in the process of power consumption suppression. For example, the configuration module 140 can adjust various setting thresholds used by the corresponding processor in the process of generating the power consumption change information according to the received suppression information of any processor; or, the configuration module 140 can adjust the various setting thresholds used by the corresponding processor according to the received suppression information. The suppression information of any processor received, the various set suppression ratios and the set suppression duration used in the process of power consumption suppression; alternatively, the configuration module 140 can based on the suppression information of any processor received. , adjust various set thresholds used by the corresponding processor in the process of generating power consumption change information and various set suppression ratios and set suppression durations used in the process of power consumption suppression.
例如,处理器0的抑制模块120接收到处理器2的S4事件,可以将处理器2的S4事件传输至处理器0的配置模块140。处理器0的配置模块140接收到处理器2的S4事件,说明处理器2当前已处于功耗抑制状态,可以关联修改处理器0的功耗变化监测模块110检测S1事件的产生阈值,处理器0的功耗变化监测模块110根据修改后的阈值进行监测。 在所有处理器均没有功耗抑制动作发生时,功耗变化监测模块110的S1事件的产生阈值恢复配置的默认值。对阈值的调整可由软件配合调整,也可以结合硬件业务分类处理器配合调整。For example, the suppression module 120 of processor 0 receives the S4 event of processor 2 and may transmit the S4 event of processor 2 to the configuration module 140 of processor 0. The configuration module 140 of processor 0 receives the S4 event of processor 2, indicating that processor 2 is currently in a power consumption suppression state, and can be associated with the modified power consumption change monitoring module 110 of processor 0 to detect the generation threshold of the S1 event. The processor The power consumption change monitoring module 110 of 0 performs monitoring according to the modified threshold. When no power consumption suppression action occurs on any processor, the S1 event generation threshold of the power consumption change monitoring module 110 is restored to the configured default value. The threshold can be adjusted by software or in conjunction with a hardware business classification processor.
本申请实施例提供的芯片,各个处理器之间可以相互传输功耗变化信息,并协同进行功耗抑制,可以更准确更及时地对处理器进行功耗抑制,更有效地抑制电压噪声,减少对处理器的性能损伤。In the chip provided by the embodiment of the present application, each processor can transmit power consumption change information to each other and cooperate to suppress power consumption. It can suppress the power consumption of the processor more accurately and timely, suppress voltage noise more effectively, and reduce Performance damage to the processor.
在一些实施例中,如图6所示,本申请实施例提供的芯片还可以包括电源域内设置的仲裁模块150和抑制执行模块160。仲裁模块150和抑制执行模块160均属于功耗调节模块。其中,仲裁模块150又可以称为电源完整性仲裁(PI arbiter)模块,用于接收多个处理器的功耗变化信息,处理器的功耗变化信息可以是每个处理器的功耗变化监测模块110发送至仲裁模块的。仲裁模块150可以根据接收到的功耗变化信息,确定哪个或哪些处理器需要进行功耗抑制,并向抑制执行模块160发送功耗抑制指令,功耗抑制指令中包含需要进行功耗抑制的目标处理器。仲裁模块150在确定需要对部分处理器进行功耗抑制时,也可以先对业务优先级较低的处理器进行功耗抑制。In some embodiments, as shown in FIG. 6 , the chip provided by the embodiment of the present application may also include an arbitration module 150 and a suppression execution module 160 provided in the power domain. Both the arbitration module 150 and the suppression execution module 160 belong to the power consumption adjustment module. Among them, the arbitration module 150 can also be called a power integrity arbitration (PI arbiter) module, which is used to receive power consumption change information of multiple processors. The power consumption change information of the processor can be the power consumption change monitoring of each processor. Module 110 sends it to the arbitration module. The arbitration module 150 can determine which processor or processors need to perform power consumption suppression based on the received power consumption change information, and send a power consumption suppression instruction to the suppression execution module 160. The power consumption suppression instruction includes the target that needs to be power consumption suppressed. processor. When the arbitration module 150 determines that power consumption of some processors needs to be suppressed, the arbitration module 150 may also first suppress the power consumption of processors with lower business priorities.
抑制执行模块160用于根据仲裁模块150发送的功耗抑制指令,对目标处理器进行功耗抑制。抑制执行模块160又可以称为快速分频响应(fast frequency scaling,FFS)模块,可以通过快速分频响应的方式进行降频处理,抑制执行模块160可以同时降频所有处理器,也可以只降频指定的部分处理器,即仲裁模块150确定的需要进行功耗抑制的目标处理器。The suppression execution module 160 is configured to suppress power consumption of the target processor according to the power consumption suppression instruction sent by the arbitration module 150 . The suppression execution module 160 can also be called a fast frequency scaling (FFS) module, which can perform frequency reduction processing through a fast frequency scaling response. The suppression execution module 160 can reduce the frequency of all processors at the same time, or can only reduce the frequency of the processors. Part of the processors specified by the frequency, that is, the target processors determined by the arbitration module 150 that require power consumption suppression.
在一些实施例中,本申请实施例提供的芯片还可以包括电源域内设置的瞬态电流监测(transient current monitor,TCM)模块170。瞬态电流监测模块170属于功耗监测模块,用于监测电源域内的电流,并根据电流的变化生成电压状态指示信息,例如,瞬态电流监测模块170在监测到电源域内的实时电流达到或接近峰值电流(peak current)时,可以生成电压状态指示信息。瞬态电流监测模块170将电压状态指示信息发送至仲裁模块150,以使仲裁模块150根据电压状态指示信息确定功耗抑制策略,并根据确定的功耗抑制策略,向抑制执行模块160发送功耗抑制指令。In some embodiments, the chip provided by the embodiment of the present application may also include a transient current monitor (transient current monitor, TCM) module 170 provided in the power domain. The transient current monitoring module 170 belongs to the power consumption monitoring module and is used to monitor the current in the power domain and generate voltage status indication information according to changes in the current. For example, the transient current monitoring module 170 detects that the real-time current in the power domain reaches or approaches At peak current, voltage status indication information can be generated. The transient current monitoring module 170 sends the voltage status indication information to the arbitration module 150, so that the arbitration module 150 determines the power consumption suppression strategy according to the voltage status indication information, and sends the power consumption suppression strategy to the suppression execution module 160 according to the determined power consumption suppression strategy. Suppress commands.
示例性地,在一种实施例中,仲裁模块可以仅根据瞬态电流监测模块170发送的电压状态指示信息确定功耗抑制策略;在另一种实施例中,仲裁模块可以仅根据各处理器发送的功耗变化信息确定功耗抑制策略;在另一种实施例中,仲裁模块可以根据各处理器发送的功耗变化信息和瞬态电流监测模块170发送的电压状态指示信息确定功耗抑制策略。For example, in one embodiment, the arbitration module may determine the power consumption suppression strategy only based on the voltage status indication information sent by the transient current monitoring module 170; in another embodiment, the arbitration module may only determine the power consumption suppression strategy based on the voltage status indication information sent by each processor. The power consumption change information sent determines the power consumption suppression strategy; in another embodiment, the arbitration module can determine the power consumption suppression based on the power consumption change information sent by each processor and the voltage status indication information sent by the transient current monitoring module 170 Strategy.
图7示例性地示出了一种仲裁模块进行功耗抑制的过程的流程图,如图7所示,该过程可以包括如下步骤:Figure 7 exemplarily shows a flow chart of a process of power consumption suppression by an arbitration module. As shown in Figure 7, the process may include the following steps:
S701,接收到触发事件。S701, receiving a trigger event.
仲裁模块接收到的触发事件可能是某个处理器的功耗变化监测模块发送的功耗变化信息,如上述的S1事件、S2事件或S3事件;也可能是瞬态电流监测模块发送的电压状态指示信息。The trigger event received by the arbitration module may be the power consumption change information sent by the power consumption change monitoring module of a certain processor, such as the above-mentioned S1 event, S2 event or S3 event; it may also be the voltage status sent by the transient current monitoring module Instructions.
S702,判断触发事件是否为电压状态指示信息;若是,执行步骤S703;若否,执行步骤S704。S702, determine whether the trigger event is voltage status indication information; if yes, execute step S703; if not, execute step S704.
仲裁模块可以根据接收到的触发事件中携带的事件标志,或者根据接收到触发事件的接口,确定接收到的触发事件是否是瞬态电流监测模块发送的电压状态指示信息。The arbitration module can determine whether the received trigger event is the voltage status indication information sent by the transient current monitoring module according to the event flag carried in the received trigger event, or according to the interface through which the trigger event is received.
S703,根据针对电压状态指示信息的功耗抑制策略,生成功耗抑制指令。 S703: Generate a power consumption suppression instruction according to the power consumption suppression strategy for the voltage status indication information.
如果接收到瞬态电流监测模块发送的电压状态指示信息,仲裁模块可以根据针对电压状态指示信息的设定抑制比例和设定抑制时长,生成功耗抑制指令,对全部处理器进行功耗抑制;或者,仲裁模块可以根据针对电压状态指示信息的设定抑制比例和设定抑制时长,以及各处理器的业务优先级,生成功耗抑制指令,对部分处理器进行功耗抑制。If the voltage status indication information sent by the transient current monitoring module is received, the arbitration module can generate a power consumption suppression instruction based on the set suppression ratio and set suppression time for the voltage status indication information to suppress power consumption of all processors; Alternatively, the arbitration module can generate a power consumption suppression instruction based on the set suppression ratio and set suppression duration for the voltage status indication information, as well as the business priority of each processor, to suppress power consumption of some processors.
在一些实施例中,仲裁模块还可以根据接收到电压状态指示信息,调整各处理器在生成功耗变化信息的过程中使用的阈值或在功耗抑制过程中使用的设定抑制比例和设定抑制时长。In some embodiments, the arbitration module can also adjust the threshold used by each processor in the process of generating power consumption change information or the set suppression ratio and setting used in the power consumption suppression process based on the received voltage status indication information. Inhibition duration.
S704,根据针对功耗变化信息的功耗抑制策略,生成功耗抑制指令。S704: Generate a power consumption suppression instruction according to the power consumption suppression strategy based on the power consumption change information.
如果接收到的触发事件不是电压状态指示信息,而是某个处理器发送的功耗变化信息,假设是处理器1发送的功耗变化信息,仲裁模块可以根据针对功耗变化信息设定抑制比例和设定抑制时长,生成功耗抑制指令,对处理器1进行功耗抑制;或者,仲裁模块可以根据针对功耗变化信息设定抑制比例和设定抑制时长,生成功耗抑制指令,对业务优先级低于处理器1的处理器进行功耗抑制;或者,仲裁模块可以根据针对功耗变化信息设定抑制比例和设定抑制时长,生成功耗抑制指令,对处理器1以及业务优先级低于处理器1的处理器进行功耗抑制。If the received trigger event is not the voltage status indication information, but the power consumption change information sent by a certain processor, assuming it is the power consumption change information sent by processor 1, the arbitration module can set the suppression ratio based on the power consumption change information. and set the suppression duration, generate a power consumption suppression instruction, and perform power consumption suppression on processor 1; or, the arbitration module can set the suppression ratio and set the suppression duration based on the power consumption change information, generate a power consumption suppression instruction, and perform power consumption suppression on the business Processors with a lower priority than processor 1 perform power consumption suppression; alternatively, the arbitration module can set the suppression ratio and suppression duration based on the power consumption change information, generate a power consumption suppression instruction, and suppress processor 1 and business priority. Processors below processor 1 perform power suppression.
在一些实施例中,仲裁模块接收到处理器1发送的功耗变化信息时,可以参照抑制模块进行功耗抑制判断的逻辑,先确定发送功耗变化信息的处理器的数量是否达到设定数量,如果达到设定数量,则可以按照针对功耗变化信息设定抑制比例和设定抑制时长,和发送功耗变化信息的各个处理器的业务优先级,确定对哪些处理器进行功耗抑制,并生成功耗抑制指令,对确定的目标处理器进行功耗抑制。In some embodiments, when the arbitration module receives the power consumption change information sent by processor 1, it can refer to the logic of the suppression module to perform power consumption suppression judgment, and first determine whether the number of processors sending power consumption change information reaches the set number. , if the set number is reached, the suppression ratio and suppression duration set for the power consumption change information can be set, and the business priority of each processor that sends the power consumption change information can be determined to determine which processors should perform power consumption suppression. And generate a power consumption suppression instruction to suppress the power consumption of the determined target processor.
在一些实施例中,仲裁模块还可以根据接收到处理器的功耗变化信息,调整各处理器在生成功耗变化信息的过程中使用的阈值或在功耗抑制过程中使用的设定抑制比例和设定抑制时长。In some embodiments, the arbitration module can also adjust the threshold used by each processor in the process of generating the power consumption change information or the set suppression ratio used in the power consumption suppression process based on the received power consumption change information of the processor. and set the suppression duration.
S705,向抑制执行模块发送功耗抑制指令。S705: Send a power consumption suppression instruction to the suppression execution module.
仲裁模块将生成的功耗抑制指令发送至抑制执行模块,由抑制执行模块根据功耗抑制指令,采用降频等方式对相应的处理器进行功耗抑制。The arbitration module sends the generated power consumption suppression instruction to the suppression execution module, and the suppression execution module uses frequency reduction and other methods to suppress the power consumption of the corresponding processor according to the power consumption suppression instruction.
仲裁模块向抑制执行模块发送功耗抑制指令后,可以等待下一个触发事件的到来。After the arbitration module sends the power consumption suppression instruction to the suppression execution module, it can wait for the arrival of the next trigger event.
在一些实施例中,仲裁模块接收到某个处理器发送的功耗变化信息时,可以判断功耗变化信息是否为高频事件信息,即ns级别的功耗变化事件引发的功耗变化信息;如果是高频事件信息,可以按照针对ns级别的功耗变化事件的功耗抑制策略,立即进行ns级别的功耗抑制。如果不是高频事件信息,例如是us级别的功耗变化事件引发的功耗变化信息,则可以按照针对us级别的功耗变化事件的功耗抑制策略,进行us级别的功耗抑制。In some embodiments, when the arbitration module receives power consumption change information sent by a certain processor, it can determine whether the power consumption change information is high-frequency event information, that is, power consumption change information caused by ns-level power consumption change events; If it is high-frequency event information, ns-level power consumption can be suppressed immediately according to the power consumption suppression strategy for ns-level power consumption change events. If it is not high-frequency event information, such as power consumption change information caused by us-level power consumption change events, us-level power consumption suppression can be performed according to the power consumption suppression strategy for us-level power consumption change events.
上述实施例中,通过处理器核心内部的高采样率的功耗变化监测模块得到的功耗变化信息,以及针对同一电源域的低采样率的瞬态电流监测模块得到电压状态指示信息,由集中管理的仲裁模块进行降频策略控制,再通过抑制执行模块给相应的处理器核心进行降频控制及频率恢复控制,可以对各个处理器的抑制模块的抑制效率和抑制幅度进行补充,如进行更大幅度的功耗抑制,同时,还可以提供多场景能效最优选择。In the above embodiment, the power consumption change information obtained by the high sampling rate power consumption change monitoring module inside the processor core, and the voltage status indication information obtained by the low sampling rate transient current monitoring module for the same power domain are centralized. The managed arbitration module performs frequency reduction strategy control, and then performs frequency reduction control and frequency recovery control for the corresponding processor core through the suppression execution module, which can supplement the suppression efficiency and suppression amplitude of the suppression module of each processor. For example, if the Significant power consumption suppression, while also providing optimal energy efficiency options in multiple scenarios.
在一些实施例中,芯片中可以不针对每个处理器分别设置的抑制模块。如图8所示,芯片100可以包括针对N个处理器中的每个处理器分别设置的功耗变化监测模块110,电源域内设置的仲裁模块150和抑制执行模块160,还可以包括瞬态电流监测模块170。功 耗变化监测模块110用于监测对应处理器的运行状态,并根据对应处理器的运行状态生成对应处理器的功耗变化信息,将功耗变化信息传输至仲裁模块150。瞬态电流监测模块170用于监测电源域内的电流,并根据电流的变化生成电压状态指示信息。瞬态电流监测模块170将电压状态指示信息发送至仲裁模块150。仲裁模块150可以根据各个处理器的功耗变化信息和瞬态电流监测模块170传输的电压状态指示信息,确定功耗抑制策略,并根据确定的功耗抑制策略,向抑制执行模块160发送功耗抑制指令,功耗抑制指令中包含需要进行功耗抑制的目标处理器,还包括抑制比例和抑制时长。抑制执行模块160根据功耗抑制指令中的抑制比例,在抑制时长内对目标处理器进行功耗抑制。In some embodiments, there may not be a separate suppression module for each processor in the chip. As shown in FIG. 8 , the chip 100 may include a power consumption change monitoring module 110 set for each processor in the N processors, an arbitration module 150 and a suppression execution module 160 set in the power domain, and may also include a transient current Monitoring module 170. achievement The consumption change monitoring module 110 is used to monitor the operating status of the corresponding processor, generate power consumption change information of the corresponding processor according to the operating status of the corresponding processor, and transmit the power consumption change information to the arbitration module 150 . The transient current monitoring module 170 is used to monitor the current in the power domain and generate voltage status indication information according to changes in the current. The transient current monitoring module 170 sends the voltage status indication information to the arbitration module 150 . The arbitration module 150 can determine the power consumption suppression strategy based on the power consumption change information of each processor and the voltage status indication information transmitted by the transient current monitoring module 170, and send the power consumption suppression strategy to the suppression execution module 160 according to the determined power consumption suppression strategy. Suppression instructions. The power consumption suppression instructions include the target processor that needs to be suppressed in power consumption, as well as the suppression ratio and suppression duration. The suppression execution module 160 suppresses the power consumption of the target processor within the suppression duration according to the suppression ratio in the power consumption suppression instruction.
上述实施例中,针对目标处理器的功耗抑制不是核内控制,而是由处理器外的抑制执行模块160对目标处理器进行电压或频率的控制。外部降频降压对处理器的电流的抑制程度比同等比例降性能的核内控制效果可以更好。In the above embodiment, the power consumption suppression for the target processor is not controlled within the core. Instead, the suppression execution module 160 outside the processor controls the voltage or frequency of the target processor. External frequency reduction and voltage reduction can suppress the processor current better than in-core control that reduces performance by the same proportion.
在另一些实施例中,芯片中也可以不包括瞬态电流监测模块。仲裁模块150可以根据各个处理器的功耗变化监测模块110传输的功耗变化信息,确定功耗抑制策略,并根据确定的功耗抑制策略,向抑制执行模块160发送功耗抑制指令。In other embodiments, the transient current monitoring module may not be included in the chip. The arbitration module 150 may determine a power consumption suppression strategy based on the power consumption change information transmitted by the power consumption change monitoring module 110 of each processor, and send a power consumption suppression instruction to the suppression execution module 160 based on the determined power consumption suppression strategy.
在另一些实施例中,芯片中也可以不包括针对每个处理器分别设置的功耗变化监测模块。仲裁模块150可以根据瞬态电流监测模块170传输的电压状态指示信息,确定功耗抑制策略,并根据确定的功耗抑制策略,向抑制执行模块160发送功耗抑制指令。In other embodiments, the chip may not include a power consumption change monitoring module set separately for each processor. The arbitration module 150 may determine a power consumption suppression strategy based on the voltage status indication information transmitted by the transient current monitoring module 170 , and send a power consumption suppression instruction to the suppression execution module 160 based on the determined power consumption suppression strategy.
与上述实施例基于相同的发明构思,本申请实施例还提供电压噪声抑制方法,由上述实施例中的芯片执行。如图9所示,该方法可以包括如下步骤:Based on the same inventive concept as the above embodiments, embodiments of the present application also provide a voltage noise suppression method, which is executed by the chip in the above embodiments. As shown in Figure 9, the method may include the following steps:
S901,获取处于同一电源域内的多个处理器的功耗变化信息;S901: Obtain power consumption change information of multiple processors in the same power domain;
S902,根据多个处理器的功耗变化信息,对多个处理器中的部分或全部处理器进行功耗抑制。S902: According to the power consumption change information of the multiple processors, perform power consumption suppression on some or all of the multiple processors.
在一些实施例中,上述电压噪声抑制方法可以由处于同一电源域内的多个处理器中的任意一个处理器执行,下文中以处理器0为例进行说明。In some embodiments, the above voltage noise suppression method can be executed by any processor among multiple processors in the same power domain. The following description takes processor 0 as an example.
处理器0可以通过如下方式获取处于同一电源域内的多个处理器的功耗变化信息:监测处理器0的运行状态,并根据处理器0的运行状态生成处理器0的功耗变化信息;接收第二处理器发送的第二处理器的功耗变化信息;第二处理器的功耗变化信息是根据第二处理器的运行状态生成的;第二处理器为除处理器0之外的任意一个处理器。Processor 0 can obtain the power consumption change information of multiple processors in the same power domain in the following manner: monitor the operating status of processor 0, and generate the power consumption change information of processor 0 based on the operating status of processor 0; receive The power consumption change information of the second processor is sent by the second processor; the power consumption change information of the second processor is generated based on the operating status of the second processor; the second processor is any processor other than processor 0. a processor.
其中,处理器0的功耗变化信息包括如下至少一种:监测到处理器0发生功耗变化事件时,生成的功耗变化监测信息;根据处理器0的运行状态与已发生功耗变化事件的历史状态记录,预测到在设定时间窗内将发生功耗变化事件时,生成的功耗变化预测信息;监测到处理器0接收到设定的目标信号时,生成的目标信号指示信息。Among them, the power consumption change information of processor 0 includes at least one of the following: power consumption change monitoring information generated when a power consumption change event occurs in processor 0; based on the operating status of processor 0 and the power consumption change event that has occurred Historical status records, when it is predicted that a power consumption change event will occur within the set time window, the power consumption change prediction information is generated; when it is monitored that processor 0 receives the set target signal, the target signal indication information is generated.
处理器0的功耗变化信息可以由处理器0的功耗变化监测模块生成,并传输至处理器0的抑制模块。处理器0的抑制模块可以接收处理器0的功耗变化监测模块发送的处理器0的功耗变化信息,以及接收第二处理器发送的第二处理器的功耗变化信息。The power consumption change information of processor 0 may be generated by the power consumption change monitoring module of processor 0 and transmitted to the suppression module of processor 0. The suppression module of processor 0 may receive the power consumption change information of processor 0 sent by the power consumption change monitoring module of processor 0, and receive the power consumption change information of the second processor sent by the second processor.
处理器0可以根据多个处理器的功耗变化信息,对处理器0进行功耗抑制。示例性地,当获取到处理器0的功耗变化监测信息时,按照针对功耗变化监测信息的设定抑制比例,对处理器0进行功耗抑制;当获取到处理器0的功耗变化预测信息时,若在设定时间段内接收到至少N个处理器发送的功耗变化信息,则按照针对功耗变化预测信息的设定抑制比例,对处理器0进行功耗抑制;N为设定的变化处理器数量阈值;当获取到处理器0的目 标信号指示信息时,若在设定时间段内接收到至少M个处理器发送的功耗变化信息,则按照针对目标信号指示信息的设定抑制比例,对处理器0进行功耗抑制;M为设定的变化处理器数量阈值。The processor 0 can suppress the power consumption of the processor 0 based on the power consumption change information of multiple processors. For example, when the power consumption change monitoring information of processor 0 is obtained, the power consumption of processor 0 is suppressed according to the set suppression ratio for the power consumption change monitoring information; when the power consumption change of processor 0 is obtained When predicting information, if the power consumption change information sent by at least N processors is received within the set time period, the power consumption of processor 0 will be suppressed according to the set suppression ratio for the power consumption change prediction information; N is The set threshold for changing the number of processors; when the target of processor 0 is obtained When targeting signal indication information, if the power consumption change information sent by at least M processors is received within the set time period, the power consumption of processor 0 will be suppressed according to the set suppression ratio for the target signal indication information; M Set the threshold for changing the number of processors.
当接收到第二处理器的功耗变化信息时,若在设定时间段内接收到至少K个处理器发送的功耗变化信息,且处理器0的业务优先级低于第二处理器的业务优先级,则按照设定的级联抑制比例,对处理器0进行功耗抑制;K为设定的变化处理器数量阈值。When receiving the power consumption change information of the second processor, if the power consumption change information sent by at least K processors is received within the set time period, and the business priority of processor 0 is lower than that of the second processor, According to the business priority, the power consumption of processor 0 is suppressed according to the set cascade suppression ratio; K is the set threshold for the number of changing processors.
对处理器0进行功耗抑制之后,可以通过广播的方式向除处理器0之外的每个处理器传输抑制信息。当接收到第二处理器的抑制信息时,若处理器0的业务优先级低于第二处理器的业务优先级,则按照针对抑制信息的设定抑制比例,对处理器0进行功耗抑制。After power consumption suppression is performed on processor 0, the suppression information can be transmitted to each processor except processor 0 by broadcasting. When the suppression information of the second processor is received, if the service priority of processor 0 is lower than the service priority of the second processor, the power consumption of processor 0 is suppressed according to the suppression ratio set for the suppression information. .
可选地,处理器0还可以根据接收到的任意一个处理器的抑制信息,调整处理器0在功耗监测过程中所使用的阈值和/或在进行功耗抑制的过程中所使用的抑制比例。Optionally, processor 0 can also adjust the threshold used by processor 0 in the process of power consumption monitoring and/or the suppression used in the process of power consumption suppression based on the received suppression information of any processor. Proportion.
在另一些实施例中,上述电压噪声抑制方法可以由上述实施例中的仲裁模块执行,仲裁模块可以接收第一处理器发送的第一处理器的功耗变化信息;第一处理器为多个处理器中的任意一个;或者,仲裁模块可以接收电源域内的瞬态电流监测模块发送的功耗变化信息;功耗变化信息为瞬态电流监测模块根据电源域内的电流变化生成的电压状态指示信息。In other embodiments, the above voltage noise suppression method can be executed by the arbitration module in the above embodiment, and the arbitration module can receive the power consumption change information of the first processor sent by the first processor; the first processor is multiple Any one of the processors; alternatively, the arbitration module can receive the power consumption change information sent by the transient current monitoring module in the power domain; the power consumption change information is the voltage status indication information generated by the transient current monitoring module according to the current changes in the power domain. .
仲裁模块可以根据接收到的功耗变化信息,确定需要进行功耗抑制的目标处理器;通过抑制执行模块对目标处理器进行功耗抑制。The arbitration module can determine the target processor that needs to suppress power consumption based on the received power consumption change information; it can suppress the power consumption of the target processor through the suppression execution module.
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行计算机程序或指令的方式来实现。计算机程序或指令可以构成计算机程序产品。本申请实施例还提供一种计算机程序产品,包含有计算机可执行指令。在一些实施例中,该计算机可执行指令用于使计算机执行图4、图7或图9所示的方法实施例中的功能。The method steps in the embodiments of the present application can be implemented by hardware, or by a processor executing computer programs or instructions. A computer program or instructions may constitute a computer program product. An embodiment of the present application also provides a computer program product including computer-executable instructions. In some embodiments, the computer-executable instructions are used to cause the computer to perform functions in the method embodiments shown in FIG. 4, FIG. 7, or FIG. 9.
计算机可执行指令可以被存放于计算机可读存储介质中,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有可执行指令。在一些实施例中,该计算机可执行指令用于使计算机执行图4、图7或图9所示的方法实施例中的功能。Computer-executable instructions may be stored in a computer-readable storage medium. Embodiments of the present application further provide a computer-readable storage medium in which executable instructions are stored. In some embodiments, the computer-executable instructions are used to cause the computer to perform functions in the method embodiments shown in FIG. 4, FIG. 7, or FIG. 9.
本申请实施例提供的计算机可读存储介质可以是随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically ePROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的计算机可读存储介质。The computer-readable storage medium provided by the embodiment of the present application can be random access memory (random access memory, RAM), flash memory, read-only memory (read-only memory, ROM), programmable read-only memory (programmableROM, PROM), Erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically ePROM, EEPROM), register, hard disk, removable hard disk, CD-ROM or any other form known in the art Computer-readable storage media.
计算机可执行指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘。Computer-executable instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, the computer program or instructions may be transmitted from a website, computer, server, or A data center transmits data via wired or wireless means to another website site, computer, server, or data center. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media, such as floppy disks, hard disks, and magnetic tapes; they may also be optical media, such as digital video discs (DVDs); they may also be semiconductor media, such as solid-state hard drives.
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限 于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。In the various embodiments of this application, if there is no special explanation or logical conflict, the terms and/or descriptions between different embodiments are consistent and can be referenced to each other. The technical features in different embodiments are based on their inherent Logical relationships can be combined to form new embodiments. Furthermore, the terms "including" and "having" and any variations thereof are intended to cover a non-exclusive inclusion, for example, the inclusion of a series of steps or units. Methods, systems, products or devices need not be limited to Instead of those steps or elements expressly listed, other steps or elements not expressly listed or inherent to the process, method, product or apparatus may be included.
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的方案进行示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。Although the present application has been described in conjunction with specific features and embodiments thereof, it will be apparent that various modifications and combinations may be made without departing from the spirit and scope of the application. Accordingly, the specification and drawings are merely illustrative of the scheme defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of this application.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。 Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. In this way, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of this application and equivalent technologies, then this application is also intended to include these modifications and variations.

Claims (25)

  1. 一种芯片,其特征在于,包括处于同一电源域内的多个处理器,功耗监测模块和功耗调节模块;A chip, characterized in that it includes multiple processors in the same power domain, a power consumption monitoring module and a power consumption adjustment module;
    所述功耗监测模块用于获取所述多个处理器的功耗变化信息,并将所述功耗变化信息传输至所述功耗调节模块;The power consumption monitoring module is used to obtain the power consumption change information of the multiple processors, and transmit the power consumption change information to the power consumption adjustment module;
    所述功耗调节模块用于根据所述多个处理器的功耗变化信息,对所述多个处理器中的部分或全部处理器进行功耗抑制。The power consumption adjustment module is configured to suppress power consumption of some or all of the plurality of processors based on the power consumption change information of the plurality of processors.
  2. 根据权利要求1所述的芯片,其特征在于,所述功耗变化信息包括功耗变化监测信息;所述功耗监测模块包括针对所述多个处理器中的每个处理器分别设置的电压监测模块和/或状态监测模块;The chip according to claim 1, wherein the power consumption change information includes power consumption change monitoring information; the power consumption monitoring module includes a voltage set separately for each processor in the plurality of processors. Monitoring module and/or condition monitoring module;
    第一处理器的电压监测模块用于监测所述第一处理器是否发生电压跌落,并在电压跌落的幅度超过设定幅度阈值时,生成所述功耗变化监测信息;所述第一处理器为所述多个处理器中的任意一个;The voltage monitoring module of the first processor is used to monitor whether a voltage drop occurs in the first processor, and when the amplitude of the voltage drop exceeds a set amplitude threshold, generate the power consumption change monitoring information; the first processor be any one of the plurality of processors;
    第一处理器的状态监测模块用于根据所述第一处理器的运行状态确定功耗变化斜率,并在功耗变化斜率达到所述第一处理器的设定斜率阈值时,生成所述功耗变化监测信息。The status monitoring module of the first processor is configured to determine the power consumption change slope according to the operating status of the first processor, and generate the power consumption change slope when the power consumption change slope reaches the set slope threshold of the first processor. Consumption change monitoring information.
  3. 根据权利要求2所述的芯片,其特征在于,所述功耗变化信息还包括功耗变化预测信息;所述功耗监测模块还包括针对所述多个处理器中的每个处理器分别设置的功耗变化预测模块;The chip according to claim 2, wherein the power consumption change information also includes power consumption change prediction information; the power consumption monitoring module further includes setting settings for each processor in the plurality of processors. Power consumption change prediction module;
    所述第一处理器的功耗变化预测模块用于监测所述第一处理器的运行状态,根据所述运行状态与已发生功耗变化事件的历史状态记录,预测在设定时间窗内是否将发生功耗变化事件,并在预测到将发生功耗变化事件时,生成所述功耗变化预测信息。The power consumption change prediction module of the first processor is used to monitor the operating status of the first processor, and predict whether the power consumption change event will occur within the set time window based on the operating status and the historical status record of the power consumption change event that has occurred. A power consumption change event will occur, and when it is predicted that a power consumption change event will occur, the power consumption change prediction information is generated.
  4. 根据权利要求2或3所述的芯片,其特征在于,所述功耗变化信息还包括目标信号指示信息;所述功耗监测模块还包括针对所述多个处理器中的每个处理器分别设置的信号监测模块;The chip according to claim 2 or 3, characterized in that the power consumption change information also includes target signal indication information; the power consumption monitoring module further includes: Set signal monitoring module;
    所述第一处理器的信号监测模块用于监测所述第一处理器是否接收到设定的目标信号,并在所述第一处理器接收到设定的目标信号时,生成所述目标信号指示信息。The signal monitoring module of the first processor is used to monitor whether the first processor receives the set target signal, and when the first processor receives the set target signal, generate the target signal Instructions.
  5. 根据权利要求2~4中任一项所述的芯片,其特征在于,所述功耗调节模块包括针对所述多个处理器中的每个处理器分别设置的抑制模块;The chip according to any one of claims 2 to 4, wherein the power consumption adjustment module includes a suppression module respectively provided for each processor in the plurality of processors;
    所述第一处理器的抑制模块用于接收所述第一处理器的功耗变化监测模块传输的所述第一处理器的功耗变化信息,以及接收除所述第一处理器之外的任意一个处理器通过广播的方式传输的功耗变化信息,并基于接收到的功耗变化信息,对所述第一处理器进行功耗抑制。The suppression module of the first processor is configured to receive the power consumption change information of the first processor transmitted by the power consumption change monitoring module of the first processor, and receive the power consumption change information of the first processor other than the first processor. Any processor transmits power consumption change information through broadcasting, and based on the received power consumption change information, performs power consumption suppression on the first processor.
  6. 根据权利要求5所述的芯片,其特征在于,所述第一处理器的抑制模块,具体用于:The chip according to claim 5, characterized in that the suppression module of the first processor is specifically used for:
    当接收到所述第一处理器的功耗变化信息,且所述第一处理器的功耗变化信息包括功 耗变化监测信息时,按照针对功耗变化监测信息的设定抑制比例对所述第一处理器进行功耗抑制。When the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes power When the power consumption change monitoring information is received, the power consumption of the first processor is suppressed according to the set suppression ratio for the power consumption change monitoring information.
  7. 根据权利要求5或6所述的芯片,其特征在于,所述第一处理器的抑制模块,具体用于:The chip according to claim 5 or 6, characterized in that the suppression module of the first processor is specifically used for:
    当接收到所述第一处理器的功耗变化信息,且所述第一处理器的功耗变化信息包括功耗变化预测信息时,若在设定时间段内接收到至少N个处理器发送的功耗变化信息,则按照针对功耗变化预测信息的设定抑制比例对所述第一处理器进行功耗抑制;所述N为设定的变化处理器数量阈值;或者,When the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes power consumption change prediction information, if at least N processors are received within the set time period, power consumption change information, then suppress the power consumption of the first processor according to the set suppression ratio for the power consumption change prediction information; the N is the set threshold of the number of changing processors; or,
    当接收到所述第一处理器的功耗变化信息,且所述第一处理器的功耗变化信息包括目标信号指示信息时,若在设定时间段内接收到至少M个处理器发送的功耗变化信息,则按照针对目标信号指示信息的设定抑制比例对所述第一处理器进行功耗抑制;所述M为设定的变化处理器数量阈值。When the power consumption change information of the first processor is received, and the power consumption change information of the first processor includes target signal indication information, if the power consumption change information sent by at least M processors is received within the set time period, If the power consumption change information is received, the power consumption of the first processor is suppressed according to the set suppression ratio for the target signal indication information; the M is the set threshold for the number of changing processors.
  8. 根据权利要求5~7任一项所述的芯片,其特征在于,所述第一处理器的抑制模块,具体用于:The chip according to any one of claims 5 to 7, characterized in that the suppression module of the first processor is specifically used for:
    当接收到第二处理器的功耗变化信息时,若在设定时间段内接收到至少K个处理器发送的功耗变化信息,且所述第一处理器的业务优先级低于所述第二处理器的业务优先级,则按照设定的级联抑制比例对所述第一处理器进行功耗抑制;所述K为设定的变化处理器数量阈值;所述第二处理器为除所述第一处理器之外的任意一个处理器。When receiving the power consumption change information of the second processor, if the power consumption change information sent by at least K processors is received within the set time period, and the service priority of the first processor is lower than the According to the service priority of the second processor, the power consumption of the first processor is suppressed according to the set cascade suppression ratio; the K is the set threshold for the number of changing processors; the second processor is Any processor other than the first processor.
  9. 根据权利要求5~8中任一项所述的芯片,其特征在于,所述第一处理器的抑制模块,还用于:The chip according to any one of claims 5 to 8, characterized in that the suppression module of the first processor is also used for:
    对所述第一处理器进行功耗抑制之后,通过广播的方式向除所述第一处理器之外的每个处理器传输抑制信息;After suppressing the power consumption of the first processor, transmit the suppression information to each processor except the first processor by broadcast;
    所述第一处理器的抑制模块,还用于:接收除所述第一处理器之外的任意一个处理器通过广播的方式传输的抑制信息。The suppression module of the first processor is also configured to receive suppression information transmitted by any processor other than the first processor in a broadcast manner.
  10. 根据权利要求9所述的芯片,其特征在于,所述第一处理器的抑制模块,还用于:The chip according to claim 9, characterized in that the suppression module of the first processor is also used for:
    当接收到第二处理器的抑制信息时,若所述第一处理器的业务优先级低于所述第二处理器的业务优先级,则按照针对抑制信息的设定抑制比例对所述第一处理器进行功耗抑制。When the suppression information of the second processor is received, if the service priority of the first processor is lower than the service priority of the second processor, the suppression ratio of the first processor is set according to the suppression ratio set for the suppression information. A processor performs power consumption suppression.
  11. 根据权利要求5~10中任一项所述的芯片,其特征在于,所述芯片还包括针对所述多个处理器中的每个处理器分别设置的配置模块;The chip according to any one of claims 5 to 10, characterized in that the chip further includes a configuration module respectively provided for each processor in the plurality of processors;
    所述第一处理器的配置模块用于根据接收到的任意一个处理器的抑制信息,调整所述第一处理器在生成功耗变化信息的过程中所使用的阈值和/或在进行功耗抑制的过程中所使用的抑制比例。The configuration module of the first processor is configured to adjust the threshold used by the first processor in the process of generating power consumption change information and/or in the process of power consumption according to the received suppression information of any processor. The suppression ratio used in the suppression process.
  12. 根据权利要求1~11中任一项所述的芯片,其特征在于,所述功耗调节模块包括所述电源域内的仲裁模块和抑制执行模块; The chip according to any one of claims 1 to 11, wherein the power consumption adjustment module includes an arbitration module and a suppression execution module in the power domain;
    所述仲裁模块用于接收所述功耗监测模块发送的多个处理器的功耗变化信息,并根据接收到的功耗变化信息,向所述抑制执行模块发送功耗抑制指令,所述功耗抑制指令中包含需要进行功耗抑制的目标处理器;The arbitration module is configured to receive the power consumption change information of multiple processors sent by the power consumption monitoring module, and send a power consumption suppression instruction to the suppression execution module according to the received power consumption change information. The power consumption suppression instruction contains the target processor that needs to be power consumption suppressed;
    所述抑制执行模块用于根据所述仲裁模块发送的功耗抑制指令,对所述目标处理器进行功耗抑制。The suppression execution module is configured to suppress power consumption of the target processor according to the power consumption suppression instruction sent by the arbitration module.
  13. 根据权利要求1~12中任一项所述的芯片,其特征在于,所述功耗监测模块包括所述电源域内的瞬态电流监测模块;The chip according to any one of claims 1 to 12, wherein the power consumption monitoring module includes a transient current monitoring module in the power domain;
    所述瞬态电流监测模块用于监测所述电源域内的电流,并根据所述电流的变化生成所述功耗变化信息。The transient current monitoring module is used to monitor the current in the power domain and generate the power consumption change information according to changes in the current.
  14. 一种电压噪声抑制方法,其特征在于,包括:A voltage noise suppression method, characterized by including:
    获取处于同一电源域内的多个处理器的功耗变化信息;Obtain power consumption change information of multiple processors in the same power domain;
    根据所述多个处理器的功耗变化信息,对所述多个处理器中的部分或全部处理器进行功耗抑制。According to the power consumption change information of the plurality of processors, power consumption is suppressed for some or all of the plurality of processors.
  15. 根据权利要求14所述的方法,其特征在于,所述方法由第一处理器执行,所述第一处理器为所述多个处理器中的任意一个;所述获取处于同一电源域内的多个处理器的功耗变化信息,包括:The method according to claim 14, characterized in that the method is executed by a first processor, and the first processor is any one of the plurality of processors; and the obtaining of multiple processors in the same power domain Power consumption change information of each processor, including:
    监测所述第一处理器的运行状态,并根据所述第一处理器的运行状态生成所述第一处理器的功耗变化信息;第一处理器的功耗变化信息包括:监测到所述第一处理器发生功耗变化事件时,生成的功耗变化监测信息;Monitor the operating status of the first processor, and generate power consumption change information of the first processor according to the operating status of the first processor; the power consumption change information of the first processor includes: monitoring the When a power consumption change event occurs on the first processor, the power consumption change monitoring information is generated;
    接收第二处理器发送的所述第二处理器的功耗变化信息;所述第二处理器的功耗变化信息是根据所述第二处理器的运行状态生成的;所述第二处理器为除所述第一处理器之外的任意一个处理器。Receive the power consumption change information of the second processor sent by the second processor; the power consumption change information of the second processor is generated according to the operating status of the second processor; the second processor be any processor except the first processor.
  16. 根据权利要求15所述的方法,其特征在于,所述第一处理器的功耗变化信息还包括如下至少一种:The method according to claim 15, characterized in that the power consumption change information of the first processor further includes at least one of the following:
    根据所述第一处理器的运行状态与已发生功耗变化事件的历史状态记录,预测到在设定时间窗内将发生功耗变化事件时,生成的功耗变化预测信息;Generate power consumption change prediction information when it is predicted that a power consumption change event will occur within a set time window based on the operating status of the first processor and historical status records of power consumption change events that have occurred;
    监测到所述第一处理器接收到设定的目标信号时,生成的目标信号指示信息。Target signal indication information is generated when it is detected that the first processor receives the set target signal.
  17. 根据权利要求16所述的方法,其特征在于,所述根据所述多个处理器的功耗变化信息,对所述多个处理器中的部分或全部处理器进行功耗抑制,包括:The method according to claim 16, wherein the step of suppressing power consumption of some or all of the plurality of processors according to the power consumption change information of the plurality of processors includes:
    若获取到所述第一处理器的功耗变化监测信息,则按照针对功耗变化监测信息的设定抑制比例,对所述第一处理器进行功耗抑制;或者,If the power consumption change monitoring information of the first processor is obtained, the power consumption of the first processor is suppressed according to the set suppression ratio for the power consumption change monitoring information; or,
    若获取到所述第一处理器的功耗变化预测信息,且在设定时间段内获取到至少N个处理器发送的功耗变化信息,则按照针对功耗变化预测信息的设定抑制比例,对所述第一处理器进行功耗抑制;所述N为设定的变化处理器数量阈值;或者,If the power consumption change prediction information of the first processor is obtained, and the power consumption change information sent by at least N processors is obtained within the set time period, the suppression ratio set for the power consumption change prediction information will be , perform power consumption suppression on the first processor; the N is the set threshold for the number of changing processors; or,
    若获取到所述第一处理器的目标信号指示信息,且在设定时间段内获取到至少M个处 理器发送的功耗变化信息,则按照针对目标信号指示信息的设定抑制比例,对所述第一处理器进行功耗抑制;所述M为设定的变化处理器数量阈值。If the target signal indication information of the first processor is obtained, and at least M locations are obtained within a set time period, If the power consumption change information sent by the processor is received, then the power consumption of the first processor is suppressed according to the set suppression ratio for the target signal indication information; the M is the set threshold of the number of changing processors.
  18. 根据权利要求15或16所述的方法,其特征在于,所述根据所述多个处理器的功耗变化信息,对所述多个处理器中的部分或全部处理器进行功耗抑制,包括:The method according to claim 15 or 16, characterized in that, according to the power consumption change information of the plurality of processors, performing power consumption suppression on some or all of the plurality of processors includes: :
    当接收到第二处理器的功耗变化信息时,若在设定时间段内接收到至少K个处理器发送的功耗变化信息,且所述第一处理器的业务优先级低于所述第二处理器的业务优先级,则按照设定的级联抑制比例,对所述第一处理器进行功耗抑制;所述K为设定的变化处理器数量阈值。When receiving the power consumption change information of the second processor, if the power consumption change information sent by at least K processors is received within the set time period, and the service priority of the first processor is lower than the According to the service priority of the second processor, the power consumption of the first processor is suppressed according to the set cascade suppression ratio; the K is the set threshold for the number of changing processors.
  19. 根据权利要求17或18所述的方法,其特征在于,所述对所述第一处理器进行功耗抑制之后,所述方法还包括:The method according to claim 17 or 18, characterized in that after suppressing power consumption of the first processor, the method further includes:
    通过广播的方式向除所述第一处理器之外的每个处理器传输抑制信息。The suppression information is transmitted to each processor except the first processor in a broadcast manner.
  20. 根据权利要求19所述的方法,其特征在于,所述方法还包括:The method of claim 19, further comprising:
    当接收到第二处理器的抑制信息时,若所述第一处理器的业务优先级低于所述第二处理器的业务优先级,则按照针对抑制信息的设定抑制比例,对所述第一处理器进行功耗抑制。When the suppression information of the second processor is received, if the service priority of the first processor is lower than the service priority of the second processor, the suppression ratio set for the suppression information is suppressed. The first processor performs power consumption suppression.
  21. 根据权利要求19或20所述的方法,其特征在于,所述方法还包括:The method according to claim 19 or 20, characterized in that the method further includes:
    根据接收到的任意一个处理器的抑制信息,调整所述第一处理器在功耗监测过程中所使用的阈值和/或在进行功耗抑制的过程中所使用的抑制比例。According to the received suppression information of any processor, the threshold value used by the first processor in the process of power consumption monitoring and/or the suppression ratio used in the process of performing power consumption suppression is adjusted.
  22. 根据权利要求14所述的方法,其特征在于,所述方法由仲裁模块执行,所述获取处于同一电源域内的多个处理器的功耗变化信息,包括:The method according to claim 14, characterized in that the method is executed by an arbitration module, and obtaining the power consumption change information of multiple processors in the same power domain includes:
    接收第一处理器发送的所述第一处理器的功耗变化信息;所述第一处理器为所述多个处理器中的任意一个;或者,Receive the power consumption change information of the first processor sent by the first processor; the first processor is any one of the plurality of processors; or,
    接收所述电源域内的瞬态电流监测模块发送的功耗变化信息;所述功耗变化信息为所述瞬态电流监测模块根据所述电源域内的电流变化生成的。Receive power consumption change information sent by the transient current monitoring module in the power domain; the power consumption change information is generated by the transient current monitoring module according to the current change in the power domain.
  23. 根据权利要求22所述的方法,其特征在于,所述根据所述多个处理器的功耗变化信息,对所述多个处理器中的部分或全部处理器进行功耗抑制,包括:The method according to claim 22, wherein the step of suppressing power consumption of some or all of the plurality of processors according to the power consumption change information of the plurality of processors includes:
    根据接收到的功耗变化信息,确定需要进行功耗抑制的目标处理器;According to the received power consumption change information, determine the target processor that needs to perform power consumption suppression;
    通过抑制执行模块对所述目标处理器进行功耗抑制。Suppress the power consumption of the target processor by suppressing the execution module.
  24. 一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求14~23中任一项所述的方法。A computer-readable storage medium, characterized in that computer-executable instructions are stored therein, and the computer-executable instructions are used to cause a computer to execute the method according to any one of claims 14 to 23.
  25. 一种计算机程序产品,其特征在于,包含有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求14~23中任一项所述的方法。 A computer program product, characterized in that it contains computer-executable instructions, and the computer-executable instructions are used to cause a computer to execute the method according to any one of claims 14 to 23.
PCT/CN2023/082803 2022-04-18 2023-03-21 Chip and voltage noise suppression method WO2023202305A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210404415.XA CN116954346A (en) 2022-04-18 2022-04-18 Chip and voltage noise suppression method
CN202210404415.X 2022-04-18

Publications (1)

Publication Number Publication Date
WO2023202305A1 true WO2023202305A1 (en) 2023-10-26

Family

ID=88419159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/082803 WO2023202305A1 (en) 2022-04-18 2023-03-21 Chip and voltage noise suppression method

Country Status (2)

Country Link
CN (1) CN116954346A (en)
WO (1) WO2023202305A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082060A1 (en) * 2013-09-16 2015-03-19 Stmicroelectronics International N.V. Power consumption management system and method
WO2021114155A1 (en) * 2019-12-11 2021-06-17 华为技术有限公司 Processor and method for reducing power consumption
CN113641550A (en) * 2021-06-16 2021-11-12 无锡江南计算技术研究所 Processor power consumption management and control method and device
WO2021232266A1 (en) * 2020-05-20 2021-11-25 华为技术有限公司 Control method and control device for chip
CN113886196A (en) * 2021-12-07 2022-01-04 上海燧原科技有限公司 On-chip power consumption management method, electronic device and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082060A1 (en) * 2013-09-16 2015-03-19 Stmicroelectronics International N.V. Power consumption management system and method
WO2021114155A1 (en) * 2019-12-11 2021-06-17 华为技术有限公司 Processor and method for reducing power consumption
WO2021232266A1 (en) * 2020-05-20 2021-11-25 华为技术有限公司 Control method and control device for chip
CN113641550A (en) * 2021-06-16 2021-11-12 无锡江南计算技术研究所 Processor power consumption management and control method and device
CN113886196A (en) * 2021-12-07 2022-01-04 上海燧原科技有限公司 On-chip power consumption management method, electronic device and storage medium

Also Published As

Publication number Publication date
CN116954346A (en) 2023-10-27

Similar Documents

Publication Publication Date Title
CN111837110B (en) Method and apparatus for reducing memory access latency of a memory system
US8539269B2 (en) Apparatus and method for high current protection
US7788519B2 (en) Method, system, and apparatus for improving multi-core processor performance
US7337334B2 (en) Network processor power management
US8775838B2 (en) Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data
US9086823B2 (en) Providing adaptive frequency control for a processor using utilization information
US9110671B2 (en) Idle phase exit prediction
US9207745B2 (en) Methods and systems for managing performance and power utilization of a processor employing a fully-multithreaded load threshold
US7958483B1 (en) Clock throttling based on activity-level signals
US20190042331A1 (en) Power aware load balancing using a hardware queue manager
US7689844B2 (en) Credit-based activity regulation within a microprocessor based on an accumulative credit system
CN110941325B (en) Frequency modulation method and device of processor and computing equipment
US9811150B2 (en) System and method for controlling idle state exits to manage DI/DT issues
US11138037B2 (en) Switch policy for hybrid scheduling in multi-processor systems
EP4160379A1 (en) Storage system and energy-saving control method
US20190146567A1 (en) Processor throttling based on accumulated combined current measurements
CN110399034A (en) A kind of power consumption optimization method and terminal of SoC system
KR20240004362A (en) Low-power state selection based on idle duration history
US11675410B2 (en) Predicting processor power disturbances by monitoring performance characteristics
US20230004185A1 (en) System and method for controllilng electrical current supply in a multi-processor core system via instruction per cycle reduction
WO2023202305A1 (en) Chip and voltage noise suppression method
CN112231107B (en) Message speed limiting system, method, equipment and medium of firewall
EP2819008B1 (en) Method and apparatus to protect a processor against excessive power
JP2014021786A (en) Computer system
WO2022166679A1 (en) Computing core, computing core temperature adjustment method and device, medium, chip, and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23790966

Country of ref document: EP

Kind code of ref document: A1