WO2006117950A1 - 情報処理装置における電力制御装置 - Google Patents

情報処理装置における電力制御装置 Download PDF

Info

Publication number
WO2006117950A1
WO2006117950A1 PCT/JP2006/306274 JP2006306274W WO2006117950A1 WO 2006117950 A1 WO2006117950 A1 WO 2006117950A1 JP 2006306274 W JP2006306274 W JP 2006306274W WO 2006117950 A1 WO2006117950 A1 WO 2006117950A1
Authority
WO
WIPO (PCT)
Prior art keywords
power
program
power control
information
state
Prior art date
Application number
PCT/JP2006/306274
Other languages
English (en)
French (fr)
Inventor
Takenobu Tani
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2007514509A priority Critical patent/JP4838240B2/ja
Priority to US11/919,421 priority patent/US8156348B2/en
Publication of WO2006117950A1 publication Critical patent/WO2006117950A1/ja
Priority to US13/404,975 priority patent/US20120166824A1/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
    • 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
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a power control device in an information processing device.
  • the information processing apparatus In the information processing apparatus
  • microprocessors including microcomputers, microcontrollers, and digital signal processors
  • sequencers including static configuration logic, and dynamically reconfigurable logic.
  • static configuration logic including static configuration logic, and dynamically reconfigurable logic.
  • program unit in this specification includes a process unit, a thread unit, and a task unit.
  • Patent Document 1 JP-A-8-152945
  • Patent Document 2 JP-A-8-6681
  • Figures 34 and 35 show the transition processes of efficient scheduling and inefficient scheduling from the viewpoint of power consumption.
  • a power control device is a device that controls power consumed inside an information processing device, and stores power control information for each program in a storage area that is distinguished by program identification information.
  • the power context reference means for referring to the power control information about the desired program from the power context storage means, and the power control information referred to by the power context reference means, the information processing device And a power state changing means for changing a state of power consumed internally.
  • the power control apparatus further includes a power control register that stores power control information for a program being executed in the information processing apparatus, and the power context reference unit is in parallel with instruction execution of the information processing apparatus.
  • Power context save / restore control means for saving / returning the contents of the power control register to / from the power context storage means, and the power state changing means is stored in the power control information stored in the power control register. Based on this, it is preferable to change the state of the power consumed inside the information processing apparatus. This allows power control information to be saved and restored without degrading program processing performance, even in a system that frequently switches and processes multiple programs. Control becomes possible.
  • the power context reference means refers to power control information of a first program different from a program being executed in the information processing apparatus when the first program is not executed. It is preferable to include a means of prior reference. As a result, even in a system that executes multiple programs, the process for changing the power state and the schedule process for program allocation can be performed in advance before executing the program allocation, which degrades the program processing performance. Power control can be implemented without any problems.
  • the power state changing means is prior to execution of the first program based on power control information of the first program referenced by the power context advance reference means. It is preferable to change the power state in advance. Yes. As a result, the processor can be changed to a power state capable of executing the first program more quickly, and performance degradation due to waiting for the power state change can be suppressed.
  • the power context advance reference means refers to power control information corresponding to the first program prior to execution of the first program, and determines a power state change time and program allocation. It is preferable to prohibit the change of the power state when it is determined that the change of the power state is not effective based on the time information. As a result, performance degradation due to mismatch between the processor state and the power control state can be efficiently suppressed.
  • the power control information includes a success rate or a failure rate of past power allocation
  • the power context reference unit is based on the success rate or the failure rate of the power control information. It is preferable to include speculative power state change determination means for determining whether or not to change the power state when executing the program. This effectively suppresses performance degradation due to mismatch between the processor state and the power control state.
  • the power context reference unit selects a program that minimizes a current power state and a power change from power control information for each program stored in the power context storage unit, and It preferably includes a program schedule means to be assigned to the information processing apparatus. As a result, the total power consumption during the execution of multiple programs can be efficiently reduced.
  • the power context reference means rearranges the power control information for each program stored in the power context storage means in the order of the program that minimizes the power change between the programs, It is preferable that program schedule means to be assigned to the information processing apparatus is included. As a result, the total power consumption when executing multiple programs can be efficiently reduced.
  • a load detection unit that detects a current operation state of the information processing device, a power state detection unit that detects a current power state of the information processing device, and the load detection unit
  • the detected load and the power information detected by the power state detecting means The load power determination means for determining in advance that the current program operation cannot be continued from the information, and the program schedule means for switching the program when it is determined that the continuation cannot be performed. Is preferable. As a result, it is possible to suppress performance degradation due to waiting for the power state change, and at the same time, it is possible to more actively implement power state change control because the performance degradation is small.
  • Another power control apparatus of the present invention is an apparatus that controls power consumed in a plurality of physical processors, and stores information for identifying a power supply group to which the physical processors physically belong. It is characterized by comprising power supply group storage means and program schedule means for deciding which physical processor to allocate each program based on the contents of the power supply group storage means.
  • FIG. 1 is a block diagram showing a configuration of a power control apparatus according to a first embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a logical configuration example of a power context storage device.
  • FIG. 3 is a diagram illustrating a logical configuration example of a power context storage device.
  • FIG. 4 is a diagram illustrating a logical configuration example of power control information.
  • FIG. 5 is a diagram showing a detailed configuration example of the power state change device.
  • FIG. 6 is a diagram illustrating a detailed configuration example of the power state change device.
  • FIG. 7 is a block diagram showing a configuration of a power control apparatus according to a second embodiment of the present invention.
  • FIG. 8 is a block diagram showing a configuration of a power control apparatus according to a third embodiment of the present invention.
  • FIG. 9 is a diagram showing a detailed configuration example of the power advance control device.
  • FIG. 10 is a diagram showing an operation timing of the power control apparatus according to the third embodiment of the present invention.
  • FIG. 11 is a flowchart for explaining an operation procedure of the power control apparatus according to the third embodiment of the present invention.
  • FIG. 12 is a block diagram showing a configuration of a power control apparatus according to a fourth embodiment of the present invention.
  • FIG. 13 is a diagram illustrating a detailed configuration example of the speculative power state change determination device.
  • FIG. 14 is a flowchart for explaining an operation procedure of the power control apparatus according to the fourth embodiment of the present invention.
  • FIG. 15 is a flowchart showing an example of a procedure for calculating a past success rate.
  • FIG. 16 is a block diagram showing a configuration of a device that calculates a success rate.
  • FIG. 17 is a block diagram illustrating an example of a configuration of a device that updates information in the power context storage device with a value corresponding to the operation state of the program when the program is switched.
  • FIG. 18 is a diagram illustrating a detailed configuration example of the speculative power state change determination device.
  • FIG. 19 is a flowchart showing an example of a procedure for calculating a normal minimum time.
  • FIG. 20 is a block diagram showing a configuration of a power control apparatus according to a sixth embodiment of the present invention.
  • FIG. 21 is a diagram illustrating a detailed configuration example of a power scheduler.
  • FIG. 22 is a flowchart for explaining an operation procedure of the power control apparatus according to the sixth embodiment of the present invention.
  • FIG. 23 is a diagram showing an operation timing of the power control apparatus according to the sixth embodiment of the present invention.
  • FIG. 24 is a diagram illustrating a detailed configuration example of a power scheduler.
  • FIG. 25 is a block diagram showing a configuration of a power control apparatus according to an eighth embodiment of the present invention.
  • FIG. 26 is a diagram illustrating a detailed configuration example of the load power determination device.
  • FIG. 27 is a flowchart for explaining an operation procedure of the power control apparatus according to the eighth embodiment of the present invention.
  • FIG. 28 is a block diagram showing a configuration of a power control apparatus according to a ninth embodiment of the present invention.
  • FIG. 29 is a diagram showing a logical configuration example of a power supply group storage device.
  • FIG. 30 is a diagram showing a physical arrangement example of a processor and a power supply group storage device.
  • FIG. 31 is a diagram showing an example of program allocation for heat distribution.
  • FIG. 32 is a diagram illustrating an example of an ideal voltage change.
  • FIG. 33 is a diagram showing an example of voltage change with a realistic transition time.
  • FIG. 34 is a diagram showing an example of efficient scheduling with a power consumption viewpoint.
  • FIG. 35 is a diagram showing an example of inefficient scheduling with respect to power consumption.
  • FIG. 1 is a block diagram showing the configuration of the power control apparatus 100 according to the first embodiment.
  • Figure 1 shows the power controller 100 installed inside the microprocessor 1000 (information processor).
  • the power controller 100 can also be installed outside the microprocessor 1000 (information processor). It is.
  • the power context storage device ZA105 is connected to the processor bus access control device ZA104 and can read and write from the microprocessor 1000.
  • the power context storage device ZA105 is connected to the power context reference device ZB101, and outputs power control information ZA103 corresponding to the identification number requested from the power context reference device ZB101 to the power context reference device ZB101.
  • the power state changing device ZA101 changes the power state of the microprocessor 1000 to reduce power consumption based on the power control information ZA103 supplied from the power context reference device ZB101.
  • the power context reference device ZB101 accesses the power context storage device ZA105 in parallel with the processor bus access control device ZA104, but the power context reference device ZB101 uses the processor bus access control device ZA104.
  • a configuration may be adopted in which the power context storage device ZA105 is accessed.
  • the power control register ZA102 (FIG. 7) indicating the power control information for only the current program is not necessarily required. Based on the information in the storage device ZA105, the power state change device ZA101 is controlled.
  • Power Context Storage ZA105 runs on single or multiple physical processors It is possible to effectively reduce the power consumption of the entire system by storing the power context of the program group to be executed, referring to these power contexts in advance, and performing calculations as necessary.
  • the power context storage device ZA105 can be configured by a flip-flop group having an SRAM structure. It is also possible to share information other than power information in a memory space accessible by the microprocessor 1000.
  • FIG. 2 shows a configuration example of the power context storage device ZA105.
  • the storage area power of the power control information ZA103 corresponding to the identification number (ID) for identifying the program is configured.
  • the power contest storage device ZA105 is configured using SRAM (Static Random Access Memory), it is possible to perform writing in addition to reading of the power control information ZA103.
  • SRAM Static Random Access Memory
  • FIG. 3 shows an example in which a program identification number (ID) is also stored as power control information ZA103 in the power context storage device ZA105.
  • ID program identification number
  • FIG. 4 does not necessarily need to include all of the power indicating the content example of the power control information ZA103.
  • the power supply voltage information represents, for example, a voltage for supplying power to the information processing apparatus, and is used for control for reducing power consumption during operation of the information processing apparatus.
  • the threshold voltage information is used for control for reducing leakage power in an information processing apparatus using a semiconductor fine process.
  • the clock frequency information represents the frequency of the clock supplied to the information processing apparatus, and power reduction is realized by making this variable.
  • the clock stop information is used for reduction control of unnecessary power consumption by stopping the clock supply to a circuit area unnecessary for operation.
  • Tr stop information is used for output transistor stop control in order to suppress toggling of signals unnecessary for operation, or power gating Tr inserted in series in a MOS circuit to reduce leakage power. Used for stop control.
  • the control target block information is a target for performing power control indicated by the power control information ZA103. Used to identify a block.
  • the state change success rate information is used to perform power control based on the past success rate of speculative power state change, as will be described later.
  • the preceding state change condition information specifies an activation condition for changing the power state prior to the start of the corresponding program.
  • the operation mode information specifies a mode number for specifying a voltage and a frequency. For example, high
  • the mode number identifies the high-speed operation mode that operates at V ⁇ voltage and high! ⁇ frequency, and the low-speed mode that operates at low! ⁇ voltage and low! ⁇ frequency, reducing the amount of information and simplifying the power setting.
  • the state change condition information specifies a state condition of the information processing apparatus for the corresponding program to change the power. For example, address information during execution of the program, privilege level status, memory access status such as cache miss, etc. are specified, and the power change is activated only when these match.
  • the state change permission information specifies that the corresponding program is prohibited or permitted to change power.
  • FIG. 5 and FIG. 6 show an example of the power state changing device ZA101.
  • Figure 5 shows an example of changing the supply voltage using a DC-DC converter for given power supply voltage conditions and threshold voltage conditions.
  • Figure 6 shows an example of changing the supplied clock according to the power factor condition and the division ratio condition as clock frequency information.
  • FIG. 7 is a block diagram showing the configuration of the power control apparatus 200 according to the second embodiment.
  • the power state change device ZA101 is connected to the power control register ZA102 and changes the power state of the microprocessor 1000 to reduce power consumption based on the contents of the power control information ZA103 supplied from the power control register ZA102. I do.
  • the power control information ZA103 held by the power control register ZA102 is the power control register Reading Z rewriting can be performed via the processor bus access control device ZA104 connected to ZA102.
  • the microprocessor 1000 can change the microprocessor 1000 to an appropriate power state and reduce power consumption by rewriting the contents of the power control register ZA102 with the program itself to be executed.
  • the microprocessor 1000 can read the contents of the power context storage device ZA105 via the processor bus access control device ZA104 and perform Z rewriting.
  • a program executed by the microprocessor 1000 can change the contents of the power control register ZA102 with the contents of the storage area prepared for each program of the power context storage device ZA105. It is possible to realize power control under conditions.
  • the power context storage device ZA105 can be configured by a flip-flop group having an SRAM structure. It is also possible to share information other than power information in a memory space accessible by the microprocessor 1000.
  • the power context reference device ZB101 includes a power context save / return control device ZA106.
  • the power context save / restore control device ZA106 is connected to the power control register ZA102 and the power context storage device ZA105, and can read and rewrite the stored contents of each.
  • the power context save / restore control device ZA106 can access the power control register ZA102 and the power context storage device ZA105 without occupying the port session, so the power control register ZA102 It is also possible to replace the contents of the power context storage device ZA105.
  • FIG. 8 is a block diagram showing the configuration of the power control apparatus 300 according to the third embodiment.
  • This power control device 300 may be provided inside the microphone port processor 1000 as well as the power control devices 100 and 200 shown in FIGS. 1 and 7, or may be provided outside the microprocessor 1000. Good.
  • the power context reference device ZB101 includes a power advance control device ZC101.
  • the power advance control device ZC101 obtains the power control information Z A103 from the power context storage device ZA105, performs a calculation for changing the power state based on this, and supplies the power control information ZA1 03 to the power state change device ZA101. To do.
  • the power state changing device ZA101 changes the power state of the microphone processor 1000 based on the supplied power control information ZA103.
  • FIG. 9 shows an example of the internal configuration of the power advance control device ZC 101.
  • the power leading control device ZC101 receives the identification number ZC201 of the program to be executed next by the microprocessor 1 000 by the program scheduler by hardware or the program scheduler by the operating system, and stores it in the identification number holding register ZC202. Store.
  • the contents of the identification number holding register ZC202 are supplied to the power context storage device ZA105 as the identification number ZC203, and the power context storage device ZA105 obtains the power control information ZA103 corresponding to the identification number ZC203 and stores it as power. Record in control information holding register ZC204.
  • the comparator ZC205 compares the power state ZC206 of the microprocessor 1000 with the contents of the power control information Z A103, and notifies the power change timing controller ZC207 of the result.
  • the power state ZC206 and the power control information ZA103 represent the power supply voltage.
  • the selector ZC208 selects the program switching request ZC209 side from the program scheduler. That is, after waiting for the timing at which the program is switched, the voltage state change request ZC210 is notified to the power state changing device ZA101. This prevents the microprocessor 1000 from malfunctioning during execution of a program that requires a high operating voltage due to a state change to a voltage below the operable voltage.
  • power change timing controller ZC207 starts preparation for changing power before program switching.
  • the down counter ZC211 is started and the result is a predetermined value (here In the case of zero)
  • the voltage state change request ZC210 is notified to the power state changing device ZA101 via the selector ZC208.
  • the power state required by the program can be changed before switching to the program.
  • FIG. 10 shows the operation timing of this embodiment.
  • program A and program B specify voltage VI as power control information ZA103
  • program C and program D specify voltage V2.
  • power state ZC206 is at voltage VI, and power control information ZA103 of program C indicates voltage V2.
  • the comparator ZC205 determines that the power state ZC206 is larger as a comparison result between the power state ZC206 and the power control information ZA103, and causes the selector ZC208 to select the program switching request ZC209 side. Since the program switching request ZC209 is asserted at the time of program switching, the power switching request ZC210 is not notified until the program switching. As a result, the power state change is waited until program B is interrupted.
  • the comparison result of the comparator ZC205 determines that the power control information Z A103 side is large, so the power change timing controller ZC207 counts the counter and then precedes the program switching. Initiate power state change.
  • FIG. 11 shows an example of the execution procedure of the present embodiment.
  • step ZC301 power control information ZA103 corresponding to the identification number of the program assigned next is acquired.
  • step ZC302 the power control information ZA103 is compared with the power state ZC206 of the microprocessor 1000.
  • the power state ZC In this example assuming voltage as the power state, the power state ZC
  • the procedure ZC303 is selected. If the 206 side is high, the procedure ZC304 is selected.
  • Procedure ZC303 waits for a power change until program switching by normal scheduling.
  • step ZC304 calculation of timing for changing the power condition is started. In this example, timing adjustment by timer ZC211 is shown.
  • step ZC305 a power change is waited until the timing condition is completed.
  • the count value of timer ZC211 is shown as a condition.
  • Procedure after completion of waiting ZC306 requests the power state changing device ZA101 to change the power state based on the power control information ZA103.
  • FIG. 12 is a block diagram showing the configuration of the power control apparatus 400 according to the fourth embodiment.
  • the power control device 400 may be provided inside the microprocessor 1000 as in the power control devices 100 and 200 shown in FIGS. 1 and 7, or may be provided outside the microprocessor 1000. .
  • the power context reference device ZB101 includes a speculative power state change device ZD101.
  • the speculative power state change device ZD101 obtains the power control information ZA103 from the power context storage device ZA105, performs calculation for changing the power state based on this, and supplies the power control information ZA103 to the power state change device ZA101. To do.
  • the power state changing device ZA101 changes the power of the microphone port processor 1000 based on the supplied power control information ZA103.
  • FIG. 13 shows an example of the internal configuration of the speculative power state changing device ZD101.
  • the speculative power state change device ZD101 receives the identification number ZD201 of the program to be executed next in the microprocessor 1000 by the program scheduler by hardware or the program scheduler by the operating system, and stores the identification number holding register ZD202. To store.
  • the contents of the identification number holding register ZD202 are supplied as the identification number ZD203 to the power context storage device ZA105, and the power context storage device ZA105 obtains the power control information ZA103 corresponding to the identification number Z D203 and stores it as the power. Record in the control information holding register ZD204.
  • the comparator ZD205 compares the success rate Z D206 of the past power change in the content of the power control information ZA103 with the specified limit value ZD207 of the success rate.
  • the past power change The success rate ZD206 consists of the number of times the power change has failed continuously, and the specified limit value ZD207 is
  • the output of 05 is asserted.
  • comparator ZD205 is logically ANDed with the power change permission bit in power control information ZD204 (ZD208), and the result is used as power change request ZD209, and the power state change device Notify ZA101.
  • FIG. 14 shows an example of the implementation procedure of the present embodiment.
  • step ZD301 power control information ZA103 corresponding to the identification number of the program assigned next is acquired.
  • step ZD302 it is determined from the contents of the state change permission bit of the power control information ZA103 whether the program is permitted for power control, and the program is not permitted for power control! Completes the procedure without making a power state change request.
  • step ZD303 the power state change control should be performed based on the success rate of the past power state change in the content of the power control information ZA103. If it is determined that it should be suppressed, the procedure is completed without requesting to change the power state. On the contrary, if it is determined that the change should be performed, in step ZD304, based on the contents of the power control information ZA103, the power state change device ZA101 is notified of the power state change request.
  • FIG. 15 shows an example of calculating a past success rate in the present embodiment. Here, an example is shown in which the calculation is based on the number of failures as the success rate.
  • step ZD401 based on the margin, the microprocessor 1000 calculates and determines the force that can cause a malfunction in the combination of the current power state and the load state. Shown in form.)
  • step ZD402 When it is determined in step ZD401 that the power state has no margin and is in a state (power hazard state), in step ZD402, a value corresponding to the state change success rate in the power control information is increased.
  • a simple example is 1 each time a power hazard condition is detected. Although it is increased, a method of adding a weighted value according to the margin can be easily configured.
  • step ZD401 If it is determined in step ZD401 that there is a margin in the power state, and if a program switching request is received in step ZD404, the success rate is calculated in further subsequent step ZD405.
  • one of the mounting methods is a method of simply subtracting a value.
  • the success rate can be calculated based on whether the total value exceeds a certain threshold regardless of the degree of success or failure.
  • step ZD405 when power allocation is successful, a method of clearing the success rate value to an initial value (eg, 0) can be used. In this case, it is possible to configure a judgment method that makes the value exceed the threshold only when N failures occur consecutively.
  • an initial value eg, 0
  • FIG. 16 is a block diagram illustrating a configuration of a device that calculates the success rate.
  • the selector ZD501 supplies a value (+1) that is a failure number addition value in the case of a power hazard state, and a value that is a success number subtraction value if it is not in a power hazard state ( -
  • Adder ZD502 adds the current state change success rate value supplied from power control information ZD204 and the addition / subtraction value supplied from selector ZD501.
  • the failure rate information register ZD503 writes the value supplied from the adder ZD502 when the program switch information is asserted. Further, the state change success rate field of the power context storage device ZA105 is updated with this value.
  • FIG. 17 illustrates a configuration of an apparatus that updates information in the power context storage device ZA105 with a value corresponding to the operating state of a program when switching programs, as in the present embodiment.
  • the power allocation success and failure determination mechanism can be used to more safely reduce the power.
  • the power state margin can be calculated and the power control information for the corresponding program in the power context storage device ZA105 can be updated.
  • the power control information of the power context storage device ZA105 can be updated with a lower voltage value.
  • the margin is small, it can be updated with a higher voltage value. This can reduce performance degradation due to power allocation failure and dynamically reduce power consumption.
  • FIG. 18 shows another example of the internal configuration of the speculative power state changing device ZD101.
  • the speculative power state change device ZD101 receives the identification number ZD201 of the program to be executed next by the microprocessor 1000 by the hardware program scheduler or the operating system program scheduler, and stores the identification number holding register ZD202. To store.
  • the contents of the identification number holding register ZD202 are supplied to the power context storage device ZA105 as the identification number ZD203, and the power context storage device ZA105 obtains the power control information ZA103 corresponding to the identification number Z D203. Record in the control information holding register ZD204.
  • the difference calculator ZE101 calculates the difference between the power state ZE102 of the microprocessor 1000 and the power information of the power control information ZA103.
  • the power supply voltage is exemplified as the power state.
  • the difference calculator ZE101 calculates and outputs the voltage difference between the two.
  • the power transition time table ZE103 calculates and outputs the time required to change the input power state value.
  • the transition time required to change the voltage difference O.lmV is stored in the form of a table and output.
  • the table may be composed of rewritable registers and memories, or it may be composed of combinational logic.
  • the comparator ZE104 compares the output of the power-transition time table ZE103 with the normal minimum time ZE105 in the content of the power control information ZA 103. If the normal minimum time ZE105 is smaller, the power change Request ZE106 is notified to the power status change device ZA101. [0108] Normal time minimum time ZE105 stores the minimum time unit executed for each switching unit in the normal time excluding emergency such as interruption of the corresponding program.
  • FIG. 19 shows a calculation procedure for the normal minimum time ZE105.
  • ZE201 start program allocation time measurement using a timer after program switching. This can be done by newly initializing and counting the timer, or by using a shared timer that is always running and recording the timer value at the start of the program.
  • step ZE203 After the program switch is detected in step ZE202, it is determined in step ZE203 whether the current program switch is an emergency switch due to normal switching force or interruption.
  • step ZE204 After determining that the current program switch is a normal switch in step ZE203, the program allocation time is calculated in step ZE204.
  • the current timer value itself is used.
  • the current timer value is also recorded and the timer at the start of the recorded program is used. The allocation time is calculated by subtracting the value.
  • step ZE205 the value of the normal minimum time ZE105 stored in the power control information holding register ZD204 is compared with the current program allocation time calculated in the above ZE204, and the smaller value is determined in step ZE206. Usually, it is stored in the corresponding field of the power context storage device ZA105 as the minimum time.
  • FIG. 20 is a block diagram showing a configuration of a power control apparatus 600 according to the sixth embodiment.
  • This power control device 600 is similar to the power control devices 100 and 200 shown in FIG. 1 and FIG. It may be provided inside the microprocessor 1000 or may be provided outside the microprocessor 1000.
  • the power context reference device ZB101 includes a power scheduler ZF101.
  • the power scheduler ZF101 obtains the power control information ZA103 corresponding to the program identification number from the power context storage device ZA105, performs calculation for changing the power state based on this, and uses the power control information ZA103 as the power state change device.
  • ZA101 is supplied, and program allocation information ZF102 is supplied to program allocation device ZF103.
  • the power state changing device ZA101 changes the power of the microphone mouth processor 1000 based on the supplied power control information ZA103.
  • the program assignment device ZF103 assigns the program identified by the supplied program assignment information ZF102 to the microprocessor 1000.
  • FIG. 21 shows an example of the internal configuration of the power scheduler ZF101.
  • the power scheduler ZF101 holds the program information to be allocated to the microprocessor 1000 and uses the state control machine ZF201 that performs allocation control to assign an identification number for each program that can be allocated to the power context storage device ZA105 via the ID holding register ZF201.
  • the power control information ZA103 is received and stored in the power control information holding register ZD 204.
  • the subtractor ZF 203 calculates a difference between the power control information ZA103 output from the power control information holding register ZD204 and the power state ZF204 of the microprocessor 1000.
  • a supply voltage power supply voltage
  • a voltage difference is output.
  • the subtractor ZF206 calculates the difference between the power state ZF204 and the minimum difference candidate holding register ZF205.
  • the comparator ZF207 compares the output of the subtractor ZF203 with the output of the subtractor ZF206, and asserts the write request ZF208 if the output value of the subtractor ZF203 is smaller.
  • the write request ZF208 is notified to the minimum difference candidate holding register ZF205 after the logical product (AND) with the timing adjustment signal from the state control machine ZF201, and is notified of the minimum difference.
  • the candidate holding register ZF205 stores the current power control information ZA103 as a new minimum difference candidate.
  • the minimum difference candidate holding register ZF205 stores the current power information, the program identification number having the smallest difference value, and the power state control information. ZA103 can be stored.
  • power change request ZF209 and program switching request ZF210 are asserted and notified to power state changer ZA101 and program allocation unit ZF103 as a power and program change request.
  • the power and program allocation status are changed respectively.
  • FIG. 22 shows an example of the execution procedure of the present embodiment.
  • step ZF301 power control information ZA103 corresponding to the identification number of the program assigned next is acquired.
  • step ZF302 the power value of the power control information ZA103 is compared with the current power state value ZF204 of the microprocessor 1000, and if closer, in step ZF303, the corresponding program identification
  • the number and power control information ZA103 are stored in the minimum difference candidate holding register ZF205 as a candidate to be assigned to the next program.
  • FIG. 23 shows the operation timing of this embodiment.
  • power scheduler ZF101 searches programs B, C, and D to which programs can be allocated for a program having the smallest difference from the current power state (here, voltage state). It is determined that the power difference of program B is the smallest, and program B is notified to program allocation device ZF103 as the next program switching target. In addition, the power status change device ZA101 is notified of the power status change.
  • program C that minimizes the difference in power state is selected as a candidate to be assigned next.
  • the power advance control device ZC101 shown in the third embodiment may be used to change the power state before switching to the program C to suppress performance degradation. Is possible.
  • FIG. 24 shows another example of the internal configuration of the power scheduler ZF101.
  • the power scheduler ZF101 holds the program information to be allocated to the microprocessor 1000 and uses the state control machine ZF201 to perform allocation control, and assigns an identification number for each program that can be allocated to the power context storage device ZA105 via the ID holding register ZF201.
  • the power control information ZA103 is received and stored in the power control information holding register ZD 204.
  • the subtractor ZG101 calculates the difference between the previous minimum value register ZG103 that holds the previously determined minimum difference and the power control information ZA103.
  • the subtractor ZG102 calculates the difference between the previous minimum value register ZG103 that holds the previously determined minimum difference and the minimum difference candidate holding register ZF205 that holds the current minimum difference.
  • the comparator ZG103 compares the results of the subtractor ZG101 and the subtractor ZG102, and the subtractor ZG103
  • the state control machine ZF201 stores the contents of the minimum difference candidate holding register ZF205 in the previous minimum value register. Control is performed to write to the star ZG103, and control is performed to write the contents of the previous minimum value register ZG103 to the rearranged program table ZG104.
  • the program with the smallest power difference can be extracted, and then the program with the smallest power difference is sequentially extracted, such as the next program with the smallest power difference.
  • the program identification information is recorded in the rearranged program table ZG104 in the order of programs with the smallest power difference.
  • the comparison method it is possible to rearrange the power differences in order. It is also possible to perform the rearrangement process by software processing that does not require any software.
  • the state control machine ZF201 sends a power control state change request ZA103 and a program assignment request ZF102 to the power state change device ZA101 and the program assignment device ZF103 according to the order of the rearranged program table ZG104. Notify, change power state and switch programs.
  • FIG. 25 is a block diagram showing a configuration of a power control apparatus 800 according to the eighth embodiment.
  • the power control device 800 may be provided inside the microprocessor 1000 as in the power control devices 100 and 200 shown in FIGS. 1 and 7, or may be provided outside the microprocessor 1000. .
  • the power context reference device ZB101 includes a power scheduler ZF101.
  • the power scheduler ZF101 obtains the power control information ZA103 corresponding to the program identification number from the power context storage device ZA105, performs calculation for changing the power state based on this, and uses the power control information ZA103 as the power state change device.
  • ZA101 is supplied, and program allocation information ZF102 is supplied to program allocation device ZF103.
  • the power status change device ZA101 changes the power of the microphone port processor 1000 based on the supplied power control information ZA103.
  • the program allocation device ZF103 allocates the program identified by the supplied program allocation information ZF102 to the microprocessor 1000.
  • the load power determination device ZH101 receives the power state ZH102 and the load state ZH103 of the microprocessor 1000 as input, and compares the current power state with the current power state.
  • the power control hazard notification ZH104 is output to the power scheduler ZF101. This also has the meaning of a program switching request to the power scheduler ZF101.
  • the power scheduler ZF101 searches for a program that can be allocated in the current power state, and assigns the program allocation to the program allocation.
  • Device ZF103 Further, if possible, the power state change device ZA101 is notified of a power state change notification for reducing the power.
  • FIG. 26 shows an example of the internal configuration of the load power determination device ZH101.
  • the load power conversion table ZH201 outputs an operable power state value according to the input load state ZH103.
  • the load state ZH101 indicates the current operation state of the microprocessor 1000, and includes the number of memory accesses, the number of instruction executions, the operation frequency, and the like. For example, assuming the number of memory accesses, the number of instruction executions, and the operating frequency as the load state ZH101, the power supply voltage value at which the microprocessor 1000 can operate without malfunctioning is output under each execution load state.
  • Table ZH201 can be composed of rewritable registers and memories, or it can be composed of combinational logic.
  • the comparator ZH202 compares the output of the load power conversion table ZH201 with the current power state ZH102 of the microprocessor 1000. If the current power state is smaller, the comparator ZH202 sets the power control hazard ZH104 to the power scheduler ZF. Notify 101.
  • the power scheduler ZF101 can execute another program that does not generate a wait state for the power state to transition to a state that does not cause a malfunction, thereby preventing system performance deterioration due to waiting. it can.
  • FIG. 27 shows an example of the execution procedure of the present embodiment.
  • step ZH301 compare the power state of the microprocessor 1000 with the load state as needed to monitor that the power state causing the malfunction cannot be approached. If the power status becomes insufficient, proceed to step ZH302 and there is a program that can operate in the current power status. Search if it exists.
  • step ZH303 wait until the power state becomes appropriate for the operating load.
  • step ZH304 If there is a program that can operate in the current power state, the assignment is changed to the operable program in step ZH304, and the execution of the microprocessor 1000 is continued.
  • the contents of the power context storage device ZA105 must be set to a safe value in order to operate more safely at the next program allocation. It is also possible to update with.
  • This dynamic power condition change can be easily combined with the power allocation success and failure determination mechanism shown in the fourth embodiment, for example.
  • FIG. 28 is a block diagram showing a configuration of a power control apparatus 900 according to the ninth embodiment.
  • the power control device 900 is a device for realizing efficient reduction of the total power consumption when executing a plurality of programs without depending on the number of installed processors in a system having a plurality of physical processors. is there.
  • the power scheduler ZF101 acquires the power supply group information ZI102 from the power supply group storage device ZI101, based on this, determines the processor to which each program is to be executed and determines the program information to be assigned to the program assignment device ZF103. Notify the power status change device ZA101 of the power status change.
  • FIG. 29 shows an example of the storage configuration method of the power supply group information ZI102.
  • FIG. 29 (a) shows a method of preparing a storage area for each physical processor identification number and indicating to which power supply group the corresponding processor belongs.
  • Processors with processor numbers 0 and 3 physically belong to power group 0, processors with processor number 1 belong to power group 1, and processors with processor number 2 belong to power group 2.
  • This method requires storage areas according to the number of physical processors.
  • four processors are physically designed and implemented with three types of power supply groups, indicating that there are three types of power supply groups that can be controlled independently. For example, in this example, the power supply voltages of processor number 0 and processor number 3 cannot be changed individually. Therefore, assigning a program under power conditions close to processor number 0 and processor number 3 is a good way to reduce power consumption.
  • FIG. 29 (b) shows a method of preparing a storage area for each power supply group and indicating whether a processor with an incorrect processor number belongs to the corresponding power supply group.
  • the stored value is 1, it indicates that the processor belongs to the power group. Therefore, for example, the processor of processor number 0 and processor number 3 belongs to power supply group number 0.
  • FIG. 30 shows an example of physical arrangement of a plurality of physical processors and power supply group storage devices.
  • FIG. 30 (a) shows a configuration example corresponding to FIG. 29 (a), and each processor has a power supply group storage device.
  • FIG. 30 (b) shows a configuration example corresponding to FIG. 29 (b), which has a power supply group storage device common to the processors.
  • the configuration example shown in Fig. 30 (a) and (b) may be a group of processors between different LSIs that describe an example in which multiple processors are mounted on the same LSI.
  • the other logic units may not be configuration examples.
  • each program is allocated for the purpose of efficiently reducing the total power consumption when executing a plurality of programs.
  • the first method is a method of alternately allocating programs based on the power state as follows when the physical processor numbers are arranged as usual. This As shown in Figure 31 (a), the highest power is assigned to # 0, the lowest power is assigned to # 1, the second highest power is assigned to # 2, and the power is Is the second lowest, assigns the thing to # 3, and so on.
  • the second method is a method in which physical processor numbers are designed and arranged discontinuously.
  • physical processor numbers are positioned discontinuously in the row or column direction (incremental relationship that is not a fixed value).
  • Program allocation is performed in order of physical processor numbers in the order of power consumption. Because the processor numbers are discontinuous, the program is naturally distributed.
  • the present invention generally relates to information processing devices such as a microprocessor (including a microcomputer, a microcontroller, and a digital signal processor), a sequencer, a static configuration logic, a dynamically reconfigurable logic, etc. Applicable.
  • a microprocessor including a microcomputer, a microcontroller, and a digital signal processor
  • sequencer including a sequencer, a static configuration logic, a dynamically reconfigurable logic, etc. Applicable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Direct Current Feeding And Distribution (AREA)

Abstract

 電力制御装置(100)は、情報処理装置(1000)の内部で消費される電力を制御する装置であって、電力コンテキスト記憶手段(ZA105)と、電力コンテキスト参照手段(ZB101)と、電力状態変更手段(ZA101)とを備える。電力コンテキスト記憶手段(ZA105)は、プログラムの識別情報で区別される記憶領域にプログラム毎の電力制御情報を格納する。電力コンテキスト参照手段(ZB101)は、電力コンテキスト記憶手段(ZA105)から所望のプログラムについての電力制御情報を参照する。電力状態変更手段(ZA101)は、電力コンテキスト参照手段(ZB101)により参照された電力制御情報に基づいて、情報処理装置(1000)の内部で消費される電力の状態を変更する。

Description

明 細 書
情報処理装置における電力制御装置
技術分野
[0001] 本発明は情報処理装置における電力制御装置に関する。上記情報処理装置には
、単一または複数構成力もなるマイクロプロセッサ(マイクロコンピュータ,マイクロコン トローラ,ディジタルシグナルプロセッサを含む)、シーケンサ、静的構成論理、動的 再構成可能論理、などが含まれる。本明細書では主にプロセッサを例として取り扱う 力 S、本発明は上記情報処理装置一般に適用可能である。 背景技術
[0002] 近年、携帯電話やデジタルテレビ等のデジタル機器にぉ 、て、音声、オーディオ、 動画や符号処理等の様々なデジタル処理の需要が増加して!/、る。これら処理の実現 のためにマイクロプロセッサなどの情報処理装置が一般に利用されている力 アプリ ケーシヨン需要の増大に応じて回路規模や動作周波数や搭載プロセッサ数が増加し 消費電力は増加の一途をたどって!/、る。
[0003] 従来は消費電力削減のため、ハードウ アによるクロックゲーティング制御、動作上 必要のないブロックをソフトウェアにより停止させる制御、ソフトウェアあるいはハードウ アにより周波数や電圧状態の変更をプログラム単位で行う制御(特開平 8— 15294 5号公報)などが一般に実現されている。なお、本明細書における「プログラム単位」 という表現は、プロセス単位、スレッド単位、タスク単位を含むものとする。
[0004] また近年は、プロセッサの実行状態の長周期の平均負荷状況に応じて周波数ゃ電 圧状態を変更する制御が行われている(特開平 8— 6681号公報)。
特許文献 1:特開平 8— 152945号公報
特許文献 2 :特開平 8— 6681号公報
発明の開示
発明が解決しょうとする課題
[0005] し力しながら上記従来のプログラム単位の消費電力削減方法では、複数のプロダラ ムが同時並列にあるいは時間的に切り替えながら並行に動作するシステムにおいて 効率の良い消費電力削減が行えない。
[0006] 例えば、 1つの物理的なプロセッサにおいて 2つのプログラムを時間的に切り替えな 力 Sら並行に動作させるシステムの場合の課題は次の通りである。一方のプログラムが 高 、電源電圧での動作を必要とする状態であり他方のプログラムが低 、電源電圧で の動作を必要としている条件下においてプログラムの切り替えが頻繁に発生する場 合、従来のプログラム単位の電源電圧変更方法ではプログラムの切り替え時間に電 源電圧の変更が追随できないことが考えられる。この場合、電源電圧の変更完了の ための待ち時間が発生する力 リアルタイム性が重要視される組み込み用途ではこ の待ち時間はシステム性能の劣化や性能保証を損なう致命的な問題となる。したが つてこのような用途においてプログラム単位の単純な電力制御を適用することは現実 にはできない。これは電源電圧だけでなくクロック周波数の変更においても同じであ る。理想的な電力状態 (ここでは電圧)の変更と、現実的な遷移時間を伴う電力状態 の変更について図 32,図 33にそれぞれ示す。
[0007] 他方、仮に電源電圧やクロック周波数の変更がプログラムの切り替え頻度に追随で きた場合でも、多数のプログラムを並列ある 、は並行に動作させるシステムにお!/、て プログラム単位の電力制御では、プログラム群全体の実行時に最適な電源電圧ゃ閾 値電圧などの電圧を供給することによる消費電力削減を実現できるとは限らない。例 えば、 4つのプログラムを並行に動作させるシステムにおいて、 2つのプログラムが高 い電圧で、残り 2つのプログラムが低い電圧で動く場合を考える。この場合、最も電力 効率が高いプログラムの実行過程は、高い電圧の 2つのプログラムが連続して実行さ れ、残り低い電圧の 2つのプログラムが連続して実行される形態が続く場合である。し 力しながら、プログラム単位に着目した電力制御方式では、高い電圧設定のプロダラ ムと低い電圧設定のプログラムが交互に実行される可能性があり、この場合には、電 圧状態変更自体による電力損失がより多く発生したり、電圧状態変更のための待ち 回数がより多く発生したりして、消費電力やシステム性能の観点力 最適な状態には ならな 、。消費電力の観点からの効率的なスケジューリングと非効率的なスケジユー リングの遷移過程について図 34,図 35にそれぞれ示す。
[0008] 上記の課題を解決するために、プログラム単位の電力削減ではなぐ比較的長周 期 (例えばミリ秒オーダー)における平均的な負荷状態に応じて供給電圧や動作周 波数を変更する方法が考えられる。この場合、長周期での電力制御となるため、頻繁 にプログラムが切り替わるリアルタイム処理に適したより短時間で電力条件を変更す る効率の良い電力制御は行えない。また、電力制御はプログラムの実行順序には無 関係のため、先に示したように、必ずしも最適な順番でプログラムが実行されるとは限 らず、プログラム群全体で最適な消費電力になるとは限らない。さらに、過去の平均 情報に基づく電力制御であるため、先行的に電力変更を行うこともできない。平均情 報の傾斜関数を利用した予測に基づき電力を変更することは可能であるが、将来実 行されることが確定的なプログラムがあつたとしてもそれにあわせて適切な電力状態 に先行的に変更できるものではない。
[0009] 上記では 1つの物理プロセッサにおける複数プログラムの実行時について従来の 電力制御の課題を示した力 複数の物理プロセッサを有するシステムにおいても同 様に従来の電力制御方法ではプログラム単位の特性に基づきプログラム群全体の消 費電力を効率的に削減することはできない。
[0010] 例えば、物理的なプロセッサが 2つ存在しそれぞれが電力制御可能であっても、ソ フトウェアの実行順序や実行されるプロセッサと電力状態の変更との関係が最も効率 的になるとは限らない。
[0011] 例として、プロセッサ Aとプロセッサ Bが存在し、高い動作電圧を必要とするプロダラ ム PH1と PH2、低い動作電圧でよいプログラム PL1と PL2が存在する場合を考える 。ここで仮にプロセッサ Aとプロセッサ Bカ^ヽずれも高!ヽ電圧から動作開始する場合を 考えると、プログラム単体での電力制御方法では最適なプログラム割り当て実行と電 力制御が判断できない。システム全体で最も電力効率が良くなるのは、プロセッサ A または Bの片側に低い動作電圧のプログラム PL 1と PL2を実行させる場合であるが、 例えば現在に最も近い電圧力もプログラム割り当てを行うと PH1と PH2がプロセッサ Aおよび Bに割り当てられることになるため、その後 PL1と PL2がプロセッサ Aおよび Bに割り当てられ、電源状態の変化は 2回発生することとなり、先に示した最適状態と はならない。 PL1と PL2が先にプロセッサ Aと Bにそれぞれ割り当てられる場合も同様 である。このように、電力制御がプログラム単位で行われる限り、システム全体を考慮 した消費電力の削減は充分に行えない。
課題を解決するための手段
[0012] 本発明による電力制御装置は、情報処理装置の内部で消費される電力を制御する 装置であって、プログラムの識別情報で区別される記憶領域にプログラム毎の電力 制御情報を格納する電力コンテキスト記憶手段と、前記電力コンテキスト記憶手段か ら所望のプログラムについての電力制御情報を参照する電力コンテキスト参照手段と 、前記電力コンテキスト参照手段により参照された電力制御情報に基づいて、前記 情報処理装置の内部で消費される電力の状態を変更する電力状態変更手段とを備 える、ことを特徴とする。
[0013] 上記電力制御装置は、前記情報処理装置において実行中のプログラムに対する 電力制御情報を記憶する電力制御レジスタをさらに備え、前記電力コンテキスト参照 手段は、前記情報処理装置の命令実行とは並列に、前記電力制御レジスタの内容 を電力コンテキスト記憶手段との間で退避あるいは復帰する電力コンテキスト退避復 帰制御手段を含み、前記電力状態変更手段は、前記電力制御レジスタに記憶され ている電力制御情報に基づいて、前記情報処理装置の内部で消費される電力の状 態を変更する、ことが好ましい。これにより、複数のプログラムを頻繁に切り替えて処 理するシステムにお 、ても、プログラム処理性能を劣化させることなく電力制御情報 を退避および復帰することができ、きめ細力 、より効率的な電力制御が可能となる。
[0014] 上記電力制御装置において、前記電力コンテキスト参照手段は、前記情報処理装 置において実行中のプログラムと異なる第 1のプログラムの電力制御情報を前記第 1 のプログラムの非実行時に参照する電力コンテキスト先行参照手段を含む、ことが好 ましい。これにより、複数のプログラムを実行するシステムにおいても、該当プログラム の割り当て実行前に電力状態変更のための処理やプログラム割り当てのためのスケ ジュール処理を事前に行うことができ、プログラム処理性能を劣化させることなく電力 制御を実施できる。
[0015] 上記電力制御装置において、前記電力状態変更手段は、前記電力コンテキスト先 行参照手段により参照された前記第 1のプログラムの電力制御情報に基づいて、前 記第 1のプログラムの実行に先立って、電力状態の変更を前もって行う、ことが好まし い。これにより、第 1のプログラムを実行可能な電力状態にプロセッサをより早く変更 することができ、電力状態変更のための待ち合わせによる性能劣化を抑制することが できる。
[0016] 上記電力制御装置において、前記電力コンテキスト先行参照手段は、前記第 1の プログラムの実行に先立って、前記第 1のプログラムに対応した電力制御情報を参照 し、電力状態変更時間とプログラム割り当て時間の情報に基づき、電力状態の変更 が有効でないと判断した場合には、電力状態の変更を禁止する、ことが好ましい。こ れにより、プロセッサ状態と電力制御状態の不整合による性能劣化を効率的に抑制 することができる。
[0017] 上記電力制御装置において、前記電力制御情報は、過去の電力割り当ての成功 率あるいは失敗率を含み、前記電力コンテキスト参照手段は、前記電力制御情報の 成功率あるいは失敗率に基づいて、該当プログラムを実行する際の電力状態の変更 を行うか否かを決定する投機的電力状態変更判定手段を含む、ことが好ましい。これ により、プロセッサ状態と電力制御状態の不整合による性能劣化を効率的に抑制す ることがでさる。
[0018] 上記電力制御装置において、前記電力コンテキスト参照手段は、前記電力コンテ キスト記憶手段に記憶されたプログラム毎の電力制御情報から、現在の電力状態と 電力変化が最小となるプログラムを選択し前記情報処理装置に割り当てるプログラム スケジュール手段を含む、ことが好ましい。これにより、複数のプログラム実行時の総 消費電力を効率的に削減することができる。
[0019] 上記電力制御装置において、前記電力コンテキスト参照手段は、前記電力コンテ キスト記憶手段に記憶されたプログラム毎の電力制御情報から、各プログラム間の電 力変化が最小となるプログラム順に並び替え、前記情報処理装置に割り当てるプロ グラムスケジュール手段を含む、ことが好ましい。これにより、複数のプログラム実行 時の総消費電力を効率的に削減することができる。
[0020] 上記電力制御装置において、前記情報処理装置の現在の動作状況を検出する負 荷検出手段と、前記情報処理装置の現在の電力状態を検出する電力状態検出手段 と、前記負荷検出手段が検出した負荷と前記電力状態検出手段が検出した電力情 報から、現在のプログラムの動作継続を行えな 、事を事前に判断する負荷電力判定 手段と、前記継続が行えない事を判断した場合に、プログラムの切り替えを行うプロ グラムスケジュール手段とをさらに備える、ことが好ましい。これにより、電力状態変更 の待ち合わせによる性能劣化を抑制できると同時に、性能劣化が少ないためより積 極的に電力状態の変更制御を実施することができる。
[0021] 本発明の別の電力制御装置は、複数の物理プロセッサの内部で消費される電力を 制御する装置であって、物理プロセッサが物理的に所属する電源グループを識別す る情報を記憶する電源グループ記憶手段と、前記電源グループ記憶手段の内容に 基づき、各々のプログラムをいずれの物理プロセッサに割り当てるかを決定するプロ グラムスケジュール手段とを備える、ことを特徴とする。これにより、複数の物理プロセ ッサを有するシステムにおいて、プロセッサの搭載数に依存することなぐ複数のプロ グラム実行時の総消費電力を効率的に削減することができる。
発明の効果
[0022] 以上のように本発明によれば、複数のプログラムを並列または並行に実行する情報 処理システムにおいて、システムの処理性能の劣化を最小にしながら、より効率的に プログラム群全体の実行時の消費電力の削減を実現することができる。 図面の簡単な説明
[0023] [図 1]図 1は、本発明の第 1の実施形態による電力制御装置の構成を示すブロック図 である。
[図 2]図 2は、電力コンテキスト記憶装置の論理的な構成例を示す図である。
[図 3]図 3は、電力コンテキスト記憶装置の論理的な構成例を示す図である。
[図 4]図 4は、電力制御情報の論理的な構成例を示す図である。
[図 5]図 5は、電力状態変更装置の詳細な構成例を示す図である。
[図 6]図 6は、電力状態変更装置の詳細な構成例を示す図である。
[図 7]図 7は、本発明の第 2の実施形態による電力制御装置の構成を示すブロック図 である。
[図 8]図 8は、本発明の第 3の実施形態による電力制御装置の構成を示すブロック図 である。 [図 9]図 9は、電力先行制御装置の詳細な構成例を示す図である。
[図 10]図 10は、本発明の第 3の実施形態に係る電力制御装置の動作タイミングを示 す図である。
[図 11]図 11は、本発明の第 3の実施形態による電力制御装置の動作手順を説明す るためのフローチャートである。
[図 12]図 12は、本発明の第 4の実施形態による電力制御装置の構成を示すブロック 図である。
圆 13]図 13は、投機的電力状態変更判定装置の詳細な構成例を示す図である。
[図 14]図 14は、本発明の第 4の実施形態による電力制御装置の動作手順を説明す るためのフローチャートである。
[図 15]図 15は、過去の成功率を計算する手順の一例を示すフローチャートである。
[図 16]図 16は、成功率の計算を行う装置の構成を示すブロック図である。
[図 17]図 17は、プログラムの切り替え時に、プログラムの動作状態に応じた値で、電 力コンテキスト記憶装置の情報を更新する装置の構成の一例を示すブロック図であ る。
圆 18]図 18は、投機的電力状態変更判定装置の詳細な構成例を示す図である。
[図 19]図 19は、通常最小時間の計算手順の一例を示すフローチャートである。
[図 20]図 20は、本発明の第 6の実施形態による電力制御装置の構成を示すブロック 図である。
[図 21]図 21は、電力スケジューラの詳細な構成例を示す図である。
[図 22]図 22は、本発明の第 6の実施形態に係る電力制御装置の動作手順を説明す るためのフローチャートである。
[図 23]図 23は、本発明の第 6の実施形態に係る電力制御装置の動作タイミングを示 す図である。
[図 24]図 24は、電力スケジューラの詳細な構成例を示す図である。
[図 25]図 25は、本発明の第 8の実施形態による電力制御装置の構成を示すブロック 図である。
[図 26]図 26は、負荷電力判定装置の詳細な構成例を示す図である。 [図 27]図 27は、本発明の第 8の実施形態に係る電力制御装置の動作手順を説明す るためのフローチャートである。
[図 28]図 28は、本発明の第 9の実施形態による電力制御装置の構成を示すブロック 図である。
[図 29]図 29は、電源グループ記憶装置の論理的な構成例を示す図である。
[図 30]図 30は、プロセッサと電源グループ記憶装置の物理的な配置例を示す図であ る。
[図 31]図 31は、熱分散のためのプログラム割り当ての例を示す図である。
[図 32]図 32は、理想的な電圧変更の例を示す図である。
[図 33]図 33は、現実的な遷移時間を伴う電圧変更の例を示す図である。
[図 34]図 34は、消費電力の観点力もの効率的なスケジューリングの例を示す図であ る。
[図 35]図 35は、消費電力の観点力 の非効率なスケジューリングの例を示す図であ る。
符号の説明
ZA101 電力状態変更装置
ZA102 電力制御レジスタ
ZA103 電力制御情報
ZA104 プロセッサバスアクセス制御装置
ZA105 電力コンテキスト記憶装置
ZA106 電力コンテキスト退避復帰制御装置
ZB101 電力コンテキスト参照装置
ZC101 電力先行制御装置
ZC101 電力先行制御装置
ZD101 投機的電力状態変更装置
ZF101 電力スケジューラ
ZF103 プログラム割り当て装置
ZH101 負荷電力判定装置 ZI101 電力グループ記憶装置
発明を実施するための最良の形態
[0025] 以下、本発明の実施形態を図面を参照して詳しく説明する。なお、図面において同 一または相当する部分には同一の参照符号を付してその説明は繰り返さない。
[0026] 以下の実施形態では、情報処理装置として特にマイクロプロセッサへの本発明の 適用例について説明する。
[0027] (第 1の実施形態)
図 1は、第 1の実施形態による電力制御装置 100の構成を示すブロック図である。 図 1では、電力制御装置 100がマイクロプロセッサ 1000 (情報処理装置)の内部に 設けられている場合を示している力 電力制御装置 100をマイクロプロセッサ 1000 ( 情報処理装置)の外部に設けることも可能である。
[0028] 電力コンテキスト記憶装置 ZA105は、プロセッサバスアクセス制御装置 ZA104に 接続されマイクロプロセッサ 1000から読み書きを行える。また電力コンテキスト記憶 装置 ZA105は、電力コンテキスト参照装置 ZB101に接続され、電力コンテキスト参 照装置 ZB101から要求された識別番号に応じた電力制御情報 ZA103を電力コンテ キスト参照装置 ZB101に出力する。
[0029] 電力状態変更装置 ZA101は、電力コンテキスト参照装置 ZB101から供給された 電力制御情報 ZA103に基づき、消費電力削減のためにマイクロプロセッサ 1000の 電力状態を変更する。
[0030] なお、図 1では、電力コンテキスト参照装置 ZB101がプロセッサバスアクセス制御 装置 ZA104と並列に電力コンテキスト記憶装置 ZA105にアクセスする構成であるが 、電力コンテキスト参照装置 ZB101がプロセッサバスアクセス制御装置 ZA104を経 由して電力コンテキスト記憶装置 ZA105にアクセスする構成をとつても良い。
[0031] 本実施例では、後述の第 2の実施形態(図 7)とは異なり、現在のプログラムのみに 対する電力制御情報を示す電力制御レジスタ ZA102 (図 7)は必ずしも必要ではなく 、電力コンテキスト記憶装置 ZA105の情報を元に、電力状態変更装置 ZA101の制 御を行う。
[0032] 電力コンテキスト記憶装置 ZA105には、単一または複数の物理プロセッサで実行 されるプログラム群の電力コンテキストを格納し、これら電力コンテキストを事前に参 照し必要に応じて計算を行うことで、システム全体の消費電力を効果的に削減するこ とを可能にする。
[0033] 当然ながら電力コンテキスト記憶装置 ZA105は、 SRAM構造による構成ゃフリツ プフロップ群により構成することが可能である。また、マイクロプロセッサ 1000がァク セス可能なメモリ空間に、電力情報以外の情報と共用配置することも可能である。
[0034] 図 2に、電力コンテキスト記憶装置 ZA105の構成例を示す。プログラム毎に電力制 御情報 ZA103を記憶するために、プログラムを識別するための識別番号 (ID)に応 じた電力制御情報 ZA103の格納領域力 構成される。
[0035] 例えば電力コンテスト記憶装置 ZA105を SRAM (Static Random Access Memory) を用いて構成すると、電力制御情報 ZA103の読み出しに加え書き込みをも行うこと が可能である。
[0036] 図 3には、電力コンテキスト記憶装置 ZA105に、電力制御情報 ZA103としてプロ グラムの識別番号 (ID)をも記憶する例を示す。
[0037] 図 4には、電力制御情報 ZA103の内容例を示す力 必ずしも全てを含む必要はな ぐかつ記載内容以外も当然格納可能である。
[0038] 図 4にお 、て、電源電圧情報は、例えば情報処理装置の電源供給のための電圧を 表し、情報処理装置の動作時の消費電力の削減のための制御に使用する。
[0039] 閾値電圧情報は、半導体微細プロセスを使用した情報処理装置におけるリーク電 力削減のための制御に使用する。
[0040] クロック周波数情報は、情報処理装置に供給するクロックの周波数を表し、これを可 変にすることにより電力削減を実現する。
[0041] クロック停止情報は、動作上不要な回路領域へのクロック供給を停止させることで、 不要な電力消費の削減制御に使用する。
[0042] Tr停止情報は、動作上不要な信号のトグルを抑制するために、出力 Trの停止制御 に使用するか、リーク電力削減のために MOS回路に直列に挿入するパワーゲーティ ング用 Trの停止制御に使用する。
[0043] 制御対象ブロック情報は、電力制御情報 ZA103が示す電力制御を実施する対象 ブロックを特定するために使用する。
[0044] 状態変更成功率情報は、後述するように、投機的な電力状態変更の過去の成功率 により電力制御を行うために使用する。
[0045] 先行状態変更条件情報は、後述するように、電力状態を該当プログラム開始に先 行して変更するための起動条件を指定する。
[0046] 動作モード情報は、電圧や周波数を特定するモード番号を指定する。例えば、高
Vヽ電圧と高!ヽ周波数で稼動する高速動作モード、低!ヽ電圧と低!ヽ周波数で稼動す る低速モードを、モード番号で識別させ、情報量の削減や電力設定の簡易化を行う
[0047] 状態変更条件情報は、該当プログラムが電力変更を行うための情報処理装置の状 態条件を指定する。例えば、該当プログラムの実行中のアドレス情報や特権レベル 状態やキャッシュミス等のメモリアクセス状態などを指定し、これが一致した場合のみ 電力変更を起動する。
[0048] 状態変更許可情報は、該当プログラムが電力変更を行うことを禁止あるいは許可す ることを指定する。
[0049] 図 5と図 6に電力状態変更装置 ZA101の一例を示す。図 5は、与えられた電源電 圧条件や閾値電圧条件に対し、 DC— DCコンバータを用 ヽて供給電圧を変更する 例である。図 6は、クロック周波数情報としての遁倍率条件と分周率条件により、供給 クロックを変更する例である。
[0050] (第 2の実施形態)
図 7は、第 2の実施形態による電力制御装置 200の構成を示すブロック図である。 図 7では、電力制御装置 200がマイクロプロセッサ 1000の内部に設けられている場 合を示している力 電力制御装置 200をマイクロプロセッサ 1000の外部に設けること も可能である。
[0051] 電力状態変更装置 ZA101は、電力制御レジスタ ZA102に接続され、電力制御レ ジスタ ZA102から供給される電力制御情報 ZA103の内容に基づき、消費電力削減 のためにマイクロプロセッサ 1000の電力状態の変更を行う。
[0052] 電力制御レジスタ ZA102が保持する電力制御情報 ZA103は、電力制御レジスタ ZA102に接続されたプロセッサバスアクセス制御装置 ZA104を経由して読み出し Z書き換えを行うことができる。マイクロプロセッサ 1000は、実行するプログラム自身 で電力制御レジスタ ZA102の内容を書き換えることで、マイクロプロセッサ 1000を適 切な電力状態に変更し、消費電力を削減することができる。
[0053] マイクロプロセッサ 1000は、電力コンテキスト記憶装置 ZA105の内容をプロセッサ バスアクセス制御装置 ZA104を経由して、読み出し Z書き換えを行うことができる。
[0054] マイクロプロセッサ 1000にて実行されるプログラムは、電力制御レジスタ ZA102の 内容を、電力コンテキスト記憶装置 ZA105の、プログラム毎に用意された格納領域 の内容と入れ替えることで、各プログラム毎に個別の条件での電力制御を実現するこ とがでさる。
[0055] プログラム毎に電力制御情報を用意することで、よりきめ細かい電力制御が可能と なり消費電力の削減をより効果的に実現できる。
[0056] 当然ながら電力コンテキスト記憶装置 ZA105は、 SRAM構造による構成ゃフリツ プフロップ群により構成することが可能である。また、マイクロプロセッサ 1000がァク セス可能なメモリ空間に、電力情報以外の情報と共用配置することも可能である。
[0057] 電力コンテキスト参照装置 ZB101は電力コンテキスト退避復帰制御装置 ZA106を 含んでいる。電力コンテキスト退避復帰制御装置 ZA106は、電力制御レジスタ ZA1 02および電力コンテキスト記憶装置 ZA105に接続され、それぞれの記憶内容を読 み出し Z書き換えることができる。電力コンテキスト退避復帰制御装置 ZA106は、プ 口セッサノ スを占有することなぐ電力制御レジスタ ZA102および電力コンテキスト記 憶装置 ZA105にアクセス可能であるため、プロセッサの処理性能を落とさずに、電 力制御レジスタ ZA102および電力コンテキスト記憶装置 ZA105の内容を入れ替え ることがでさる。
[0058] (第 3の実施形態)
図 8は、第 3の実施形態による電力制御装置 300の構成を示すブロック図である。こ の電力制御装置 300は、図 1および図 7に示した電力制御装置 100, 200と同様、マ イク口プロセッサ 1000の内部に設けられてもよいし、マイクロプロセッサ 1000の外部 に設けられてもよい。 [0059] 電力コンテキスト参照装置 ZB101は電力先行制御装置 ZC101を含んでいる。電 力先行制御装置 ZC101は、電力コンテキスト記憶装置 ZA105から電力制御情報 Z A103を取得し、これを元に電力状態変更のための計算を行い、電力制御情報 ZA1 03を電力状態変更装置 ZA101に供給する。
[0060] 電力状態変更装置 ZA101は、供給された電力制御情報 ZA103に基づき、マイク 口プロセッサ 1000の電力状態変更を行う。
[0061] 図 9に電力先行制御装置 ZC 101の内部構成の一例を示す。
[0062] 電力先行制御装置 ZC101は、ハードウェアによるプログラムスケジューラまたはォ ペレ一ティングシステムによるプログラムスケジューラにより、次にマイクロプロセッサ 1 000で実行すべきプログラムの識別番号 ZC201を受け取り、識別番号保持レジスタ ZC202に格納する。
[0063] 識別番号保持レジスタ ZC202の内容は、識別番号 ZC203として電力コンテキスト 記憶装置 ZA105に供給され、電力コンテキスト記憶装置 ZA105からは識別番号 ZC 203に対応する電力制御情報 ZA103を取得し、これを電力制御情報保持レジスタ Z C 204に記録する。
[0064] 比較器 ZC205は、マイクロプロセッサ 1000の電力状態 ZC206と、電力制御情報 Z A103の内容を比較し、結果を電力変更タイミング制御器 ZC207に通知する。なお、 ここでは一例として電力状態 ZC206および電力制御情報 ZA103は電源電圧を表 すものとする。
[0065] 電力状態 ZC206と電力制御情報 ZA103との比較により、電力状態 ZC206の表す 電圧のほうが大きい場合は、セレクタ ZC208は、プログラムスケジューラからのプログ ラム切り替え要求 ZC209側を選択する。すなわち、プログラムが切り替わるタイミング を待って、電圧状態の変更要求 ZC210を電力状態変更装置 ZA101に通達する。こ れにより、高い動作電圧を必要とするプログラムの実行中に、動作可能な電圧以下 への状態変更によりマイクロプロセッサ 1000が誤動作することを防ぐ。
[0066] 比較器 ZC205の比較結果力 電力状態 ZC206の方が低いことを示す場合には、 電力変更タイミング制御器 ZC207は、プログラム切り替え前に電力変更を行う準備を 始める。この例では、ダウンカウンタ ZC211の起動を行い、この結果が所定の値 (ここ では零)になった場合に、セレクタ ZC208を経由して、電圧状態の変更要求 ZC210 を電力状態変更装置 ZA101に通達する。これにより、該当プログラムに切り替わるよ り前に、該当プログラムが必要とする電力状態に変更を行うことができる。
[0067] 図 10に本実施例の動作タイミングを示す。ここでは、プログラム Aとプログラム Bが 電力制御情報 ZA103として電圧 VI、プログラム Cとプログラム Dが電圧 V2を指定し ている場合を例示する。
[0068] プログラム B実行中において、電力状態 ZC206は電圧 VIであり、プログラム Cの電 力制御情報 ZA103は電圧 V2を示している。比較器 ZC205は、電力状態 ZC206と 電力制御情報 ZA103の比較結果として、電力状態 ZC206のほうが大きいと判断し、 セレクタ ZC208にプログラム切り替え要求 ZC209側を選択させる。プログラム切り替 え要求 ZC209は、プログラム切り替え時にアサートされるため、電力切り替え要求 Z C210は、プログラム切り替え時まで通知されない。結果として、プログラム Bが実行 中断するタイミングまで電力状態の変更が待たされる。
[0069] 反対にプログラム Dの実行時には、比較器 ZC205の比較結果は、電力制御情報 Z A103側が大きいと判断するため、電力変更タイミング制御器 ZC207は、カウンタの 計数後、プログラム切り替えに先行して電力状態の変更を開始する。
[0070] なお、プログラム Aおよびプログラム Cの実行中のように、次のプログラム実行時と電 力条件が同じ場合は、プログラム切り替え後に電力変更を行っても、プログラム切り 替え前に電力変更を行っても、電力状態は同じである。もちろん、比較結果が同じ場 合には電力変更制御を実施しないことは当然考えられる。
[0071] 図 11には、本実施例の実施手順の一例を示す。
[0072] 手順 ZC301にお 、て、次に割り当てられるプログラムの識別番号に応じた電力制 御情報 ZA103を取得する。
[0073] 次に手順 ZC302にて、この電力制御情報 ZA103とマイクロプロセッサ 1000の電 力状態 ZC206を比較する。電力状態として電圧を仮定した本例では、電力状態 ZC
206側が低ければ手順 ZC303を選択し、高ければ手順 ZC304を選択する。
[0074] 手順 ZC303では、通常のスケジューリングによるプログラムの切り替えまで、電力変 更を待ち合わせる。 [0075] 手順 ZC304では、電力条件を変更するタイミングの計算を開始する。本例ではタイ マ ZC211によるタイミング調整の例を示した。
[0076] 手順 ZC305では、タイミング条件完了まで電力変更を待ち合わせる。本例ではタイ マ ZC211のカウント値が所定の値になることを条件として示した。
[0077] 待ち合わせ完了後の手順 ZC306では、電力制御情報 ZA103に基づき電力状態 の変更を電力状態変更装置 ZA101に要求する。
[0078] (第 4の実施形態)
図 12は、第 4の実施形態による電力制御装置 400の構成を示すブロック図である。 この電力制御装置 400は、図 1および図 7に示した電力制御装置 100, 200と同様、 マイクロプロセッサ 1000の内部に設けられてもよ 、し、マイクロプロセッサ 1000の外 部に設けられてもよい。
[0079] 電力コンテキスト参照装置 ZB101は投機的電力状態変更装置 ZD101を含んでい る。投機的電力状態変更装置 ZD101は、電力コンテキスト記憶装置 ZA105から電 力制御情報 ZA103を取得し、これを元に電力状態変更のための計算を行い、電力 制御情報 ZA103を電力状態変更装置 ZA101に供給する。
[0080] 電力状態変更装置 ZA101は、供給された電力制御情報 ZA103に基づき、マイク 口プロセッサ 1000の電力変更を行う。
[0081] 図 13に投機的電力状態変更装置 ZD101の内部構成の一例を示す。
[0082] 投機的電力状態変更装置 ZD101は、ハードウェアによるプログラムスケジューラま たはオペレーティングシステムによるプログラムスケジューラにより、次にマイクロプロ セッサ 1000で実行すべきプログラムの識別番号 ZD201を受け取り、識別番号保持 レジスタ ZD202に格納する。
[0083] 識別番号保持レジスタ ZD202の内容は、識別番号 ZD203として電力コンテキスト 記憶装置 ZA105に供給され、電力コンテキスト記憶装置 ZA105からは識別番号 Z D203に対応する電力制御情報 ZA103を取得し、これを電力制御情報保持レジス タ ZD204に記録する。
[0084] 比較器 ZD205は、電力制御情報 ZA103の内容のうち過去の電力変更の成功率 Z D206と、成功率の指定限界値 ZD207とを比較する。例えば、過去の電力変更の成 功率 ZD206は連続的に電力変更に失敗した回数で構成し、指定限界値 ZD207が
3回を表す構成とした場合、過去の成功率 ZD206が 3回以内であれば、比較器 ZD2
05の出力はアサートされる。
[0085] ここでは、比較器 ZD205の出力は、電力制御情報 ZD204の中の電力変更許可ビ ットと論理的に ANDをとり(ZD208)、その結果を電力変更要求 ZD209として、電力 状態変更装置 ZA101に通知する。
[0086] このようにして、過去の電力変更の成功率に基づき、一定条件以上の失敗の場合 に、電力状態の変更を抑制することができる。
[0087] 図 14には、本実施例の実施手順の一例を示す。
[0088] 手順 ZD301にお 、て、次に割り当てられるプログラムの識別番号に応じた電力制 御情報 ZA103を取得する。
[0089] 次に手順 ZD302において、電力制御情報 ZA103の状態変更許可ビットの内容か ら、電力制御が許可されたプログラムであるかを判定し、電力制御が許可されたプロ グラムでな!、場合は、電力状態の変更要求を行わずに手順を完了する。
[0090] 電力制御が許可されたと判定された場合は、次に手順 ZD303にお 、て、電力制 御情報 ZA103の内容の過去の電力状態変更の成功率から、電力状態の変更制御 を実施すべきか抑制すべきかを判定し、抑制すべきであると判定した場合には、電 力状態の変更要求を行わずに手順を完了する。反対に変更を実施すべきと判定し た場合には、手順 ZD304において、電力制御情報 ZA103の内容に基づき、電力 状態変更装置 ZA101に対して、電力状態の変更要求を通知する。
[0091] 図 15には、本実施例において、過去の成功率を計算する例を示す。ここでは成功 率として失敗回数を基にした計算を行う例を示す。
[0092] 手順 ZD401〖こおいて、現在の電力状態と負荷状態の組合せではマイクロプロセッ サ 1000が誤動作を発生しうる力を余裕度をもとに計算判定する(この手順について は第 8の実施形態において示す。 )
電力状態に余裕がな 、状態 (電力ハザード状態)であると手順 ZD401にお 、て判 定した場合、手順 ZD402において、電力制御情報における状態変更成功率に相当 する値を増加させる。単純な例としては、電力ハザード状態を検出するごとに 1ずつ 増加させるが、余裕度に応じて重み付けを付けた値を加算する方法も容易に構成で きる。
[0093] 手順 ZD403においては、実装方法に応じて、電力状態に余裕が生じるまで待ち状 態に入れることや、割り当て可能なプログラムに切り替える方法を取る。
[0094] 電力状態に余裕があると手順 ZD401にて判定した場合において、さらに手順 ZD4 04にてプログラムの切り替え要求を受けた場合は、さらに続く手順 ZD405において 、成功率の計算を行う。
[0095] 手順 ZD405において、実装方法の一つとしては単純に値を減算する方法がある。
この方法では、失敗や成功の連続度合いとは無関係に、合計値がある閾値を越える か否かで成功率を計算することができる。
[0096] また他の実装方法としては、手順 ZD405では電力割り当てが成功している場合に は、成功率の値を初期値 (たとえば 0)にクリアする方法を取ることができる。この場合 は、連続して N回失敗した場合にのみ、閾値を越える値とする判定方法を構成できる
[0097] 図 16は、成功率の計算を行う装置の構成を示すブロック図である。
[0098] この例ではセレクタ ZD501は、電力ハザード状態の場合には、失敗数加算値であ る値( + 1)を供給し、電力ハザード状態でない場合には、成功数減算値である値(―
1)を供給する。
[0099] 加算器 ZD502は、電力制御情報 ZD204から供給される現在の状態変更成功率 の値と、セレクタ ZD501から供給される加減算値を加算する。
[0100] 失敗率情報レジスタ ZD503は、加算器 ZD502から供給される値を、プログラム切り 替え情報がアサートされた場合に書き込む。さらにこの値により、電力コンテキスト記 憶装置 ZA105の状態変更成功率のフィールドを更新する。
[0101] なお、図 17には本実施例のように、プログラムの切り替え時に、プログラムの動作状 態に応じた値で、電力コンテキスト記憶装置 ZA105の情報を更新する装置の構成を 例示する。
[0102] なお、本実施例では、投機的に電力変更を行うか否かについて例示したが、電力 割り当ての成功および失敗の判定機構を用いれば、より安全に電力の削減を行うこと が可能である。例えば電力割り当てが成功している場合には、電力状態の余裕度の 計算を行い、電力コンテキスト記憶装置 ZA105における該当プログラム用の電力制 御情報を更新することができる。例えば電力割り当てが成功しており、現在の電圧が 動作条件に対して充分に余裕があることが判定できれば、より低い電圧値で電力コン テキスト記憶装置 ZA105の電力制御情報を更新することができる。逆に余裕度が小 さい場合はより高い電圧値で更新することができる。これにより、電力割り当ての失敗 による性能劣化を減らすとともに、消費電力の削減を動的に実現することができる。
[0103] (第 5の実施形態)
図 18に投機的電力状態変更装置 ZD101の内部構成の別の一例を示す。
[0104] 投機的電力状態変更装置 ZD101は、ハードウェアによるプログラムスケジューラま たはオペレーティングシステムによるプログラムスケジューラにより、次にマイクロプロ セッサ 1000で実行すべきプログラムの識別番号 ZD201を受け取り、識別番号保持 レジスタ ZD202に格納する。
[0105] 識別番号保持レジスタ ZD202の内容は、識別番号 ZD203として電力コンテキスト 記憶装置 ZA105に供給され、電力コンテキスト記憶装置 ZA105からは識別番号 Z D203に対応する電力制御情報 ZA103を取得し、これを電力制御情報保持レジス タ ZD204に記録する。
[0106] 差分計算器 ZE101は、マイクロプロセッサ 1000の電力状態 ZE102と、電力制御 情報 ZA103の電力情報との差分を計算する。ここで、電力状態として電源電圧につ いて例示する。この場合には、差分計算機 ZE101は、両者の電圧差を計算し出力 することとなる。電力 遷移時間テーブル ZE103は、入力する電力状態値の変更に 要する時間を計算し出力する。例えば、電圧差 O.lmVの変更に要する遷移時間を 表の形で記憶しておき、出力する。当然ながら表は書き換え可能なレジスタやメモリ で構成してもよ 、し、組み合わせロジックにより構成してもよ 、。
[0107] 比較器 ZE104は、電力-遷移時間テーブル ZE103の出力と、電力制御情報 ZA 103の内容における通常時最小時間 ZE105とを比較し、通常時最小時間 ZE105の ほうが小さい場合には、電力変更要求 ZE106を電力状態変更装置 ZA101に通知 する。 [0108] 通常時最小時間 ZE105は、該当プログラムが割り込み等の緊急時を除く通常時に おいて、各切り替え単位ごとに実行された最小の時間単位を保存する。
[0109] このようにして、該当プログラムの切り替え時間力 目標とする電力状態への遷移時 間より短い場合は、電力状態の変更を抑制することができる。
[0110] 図 19には、通常最小時間 ZE105の計算手順を示す。
[0111] 手順 ZE201において、プログラムの切り替え後にタイマを用いたプログラム割り当 て時間の計測を開始する。これは新たにタイマを初期化し計数を行う方法や、常時 稼動して 、る共用タイマを用い、プログラム開始時のタイマ値を記録する方法で良 ヽ
[0112] 手順 ZE202において、新たなプログラムの切り替えまで処理を待ち合わせる。
[0113] 手順 ZE202にてプログラムの切り替え検出後、手順 ZE203において、今回のプロ グラム切り替えが通常の切り替え力、割り込み等による緊急の切り替えかを判定する
。通常の切り替えでない場合は、今回のプログラム割り当て時間を用いた最小時間 Z E105の計算と記録を行わない。これにより、通常のプログラム動作中の切り替えでは な 、特別な場合の影響を除外することができる。
[0114] 手順 ZE203において今回のプログラム切り替えが通常の切り替えであることを判定 した後、手順 ZE204において、プログラム割り当て時間を算出する。新たなタイマを 初期化した場合には、その時点でのタイマ値そのものを使用し、常時稼動している共 用タイマを使用した場合は、現在のタイマ値力も記録済みのプログラム開始時のタイ マ値を減算することで割り当て時間を算出する。
[0115] 手順 ZE205では、電力制御情報保持レジスタ ZD204に格納された通常最小時間 ZE105の値と、上記 ZE204で算出した今回のプログラム割り当て時間を比較し、より 小さい側の値を、手順 ZE206において、通常最小時間として電力コンテキスト記憶 装置 ZA105の該当フィールドに格納する。
[0116] 続く手順 ZE207においてプログラム切り替え手順を行う。
[0117] (第 6の実施形態)
図 20は、第 6の実施形態による電力制御装置 600の構成を示すブロック図である。 この電力制御装置 600は、図 1および図 7に示した電力制御装置 100, 200と同様、 マイクロプロセッサ 1000の内部に設けられてもよ 、し、マイクロプロセッサ 1000の外 部に設けられてもよい。
[0118] 電力コンテキスト参照装置 ZB101は電力スケジューラ ZF101を含んでいる。電力 スケジューラ ZF101は、電力コンテキスト記憶装置 ZA105からプログラムの識別番 号に応じた電力制御情報 ZA103を取得し、これを元に電力状態変更のための計算 を行い、電力制御情報 ZA103を電力状態変更装置 ZA101に供給し、プログラム割 り当て情報 ZF102をプログラム割り当て装置 ZF103に供給する。
[0119] 電力状態変更装置 ZA101は、供給された電力制御情報 ZA103に基づき、マイク 口プロセッサ 1000の電力変更を行う。
[0120] プログラム割り当て装置 ZF103は、供給されたプログラム割り当て情報 ZF102で識 別されるプログラムをマイクロプロセッサ 1000に割り当てる。
[0121] 図 21に電力スケジューラ ZF101の内部構成の一例を示す。
[0122] 電力スケジューラ ZF101は、マイクロプロセッサ 1000に割り当てるべきプログラム 情報を保有し割り当て制御を行うステート制御マシン ZF201により、割り当て可能な プログラム毎の識別番号を ID保持レジスタ ZF201経由で電力コンテキスト記憶装置 ZA105に供給し、電力制御情報 ZA103を受け取り、電力制御情報保持レジスタ ZD 204に格納する。
[0123] 減算器 ZF203は、電力制御情報保持レジスタ ZD204から出力される電力制御情 報 ZA103と、マイクロプロセッサ 1000の電力状態 ZF204との差分を計算する。ここ で電力制御情報として供給電圧 (電源電圧)を想定する場合は、電圧差が出力され る。
[0124] 同様に、減算器 ZF206は、電力状態 ZF204と最小差候補保持レジスタ ZF205と の差分を計算する。
[0125] 比較器 ZF207は、減算器 ZF203の出力と減算器 ZF206の出力との比較を行い、 減算器 ZF203の出力値のほうが小さい場合は、書き込み要求 ZF208をアサートす る。
[0126] 書き込み要求 ZF208は、ステート制御マシン ZF201からのタイミング調整信号との 論理積 (AND)をとつた上で、最小差候補保持レジスタ ZF205に通知され、最小差 候補保持レジスタ ZF205は、その時点の電力制御情報 ZA103を、新たな最小差候 補として記憶する。
[0127] 以上の手順を割り当て候補のプログラム識別番号に対して行うことで、最小差候補 保持レジスタ ZF205には、現在の電力情報と最も小さい差分値をもつプログラム識 別番号と、電力状態制御情報 ZA103を記憶することができる。
[0128] ステート制御マシン ZF201におけるプログラム探索完了に伴い、電力変更要求 ZF 209と、プログラム切り替え要求 ZF210をアサートし、電力状態変更装置 ZA101とプ ログラム割り当て装置 ZF 103に電力とプログラムの変更要求として通知され、電力と プログラム割り当て状態がそれぞれ変更される。
[0129] 図 22には、本実施例の実施手順の一例を示す。
[0130] 手順 ZF301にお 、て、次に割り当てられるプログラムの識別番号に応じた電力制 御情報 ZA103を取得する。
[0131] 次に手順 ZF302において、電力制御情報 ZA103の電力値力 マイクロプロセッサ 1000の現在の電力状態値 ZF204と最も近 、かを比較し、より近 、場合は手順 ZF3 03において、該当のプログラム識別番号と電力制御情報 ZA103を、次にプログラム 割り当てすべき候補として最小差候補保持レジスタ ZF205に保存する。
[0132] 手順 ZF304により、全てのプログラムの識別番号に対し最小差比較を行つたかを 確認し、全てのプログラムの比較検索が完了した場合には、手順 ZF305により、次に 割り当てるべきプログラムとして、最小差候補保持レジスタ ZF205の内容に基づき、 電力状態の変更を電力状態変更装置 ZA101に要求し、手順 ZF305にて最小差候 補保持レジスタ ZF205の内容に基づき、次に割り当てるべきプログラムにつ 、ての 割り当て要求をプログラム割り当て装置 ZF103に要求する。
[0133] なお、手順 ZF305と ZF306は実装方式により入れ替わっても良い。
[0134] 図 23に本実施例の動作タイミングを示す。
[0135] プログラム A実行中において、電力スケジューラ ZF101は、プログラム割り当て可能 なプログラム B、 C、 Dについて、現在の電力状態 (ここでは電圧状態)との差分が最も 小さいプログラムを探索する。プログラム Bの電力差が最小であることを判定し、次の プログラム切り替え対象としてプログラム Bをプログラム割り当て装置 ZF103に通知す るとともに、電力状態の変更を電力状態変更装置 ZA101に通知する。
[0136] 同様に、プログラム C、 Dをもそれぞれの時点で探索を行 、プログラム割り当てと電 力変更を適時行う。
[0137] 割り当て可能なプログラム A〜Dがー通り実行された後、新たにプログラム A〜Dが プログラム割り当ての候補として再度スケジューラにより認識される。一周期最終のプ ログラム D実行中において、次に最も電力差が小さいプログラムは Dであることを、電 力スケジューラ ZF101は、電力状態の比較から判定し、プログラム Dを割り当てる。
[0138] 引き続くプログラム Dの実行中において、次に割り当てるべき候補として、同様に、 電力状態の差が最小となるプログラム Cが選定される。この場合、図 23のタイミングで 示すように、第 3の実施形態で示した電力先行制御装置 ZC101を用いて、プロダラ ム Cに切り替わる前に、電力状態を変更し、性能劣化を抑制することも可能である。
[0139] (第 7の実施形態)
図 24に電力スケジューラ ZF101の内部構成の別の一例を示す。
[0140] 電力スケジューラ ZF101は、マイクロプロセッサ 1000に割り当てるべきプログラム 情報を保有し割り当て制御を行うステート制御マシン ZF201により、割り当て可能な プログラム毎の識別番号を ID保持レジスタ ZF201経由で電力コンテキスト記憶装置 ZA105に供給し、電力制御情報 ZA103を受け取り、電力制御情報保持レジスタ ZD 204に格納する。
[0141] 減算器 ZG101は、前回確定された最小差を保持する前最小値レジスタ ZG103と 電力制御情報 ZA103との差を計算する。
[0142] 同様に減算器 ZG102は、前回確定の最小差を保持する前最小値レジスタ ZG103 と、現在の最小差を保持する最小差候補保持レジスタ ZF205との差を計算する。
[0143] 比較器 ZG103は、減算器 ZG101と減算器 ZG102の結果比較を行い、減算器 ZG
101の値が小さい場合は、書き込み要求を最小差候補保持レジスタ ZF205に通知 し、最小差候補保持レジスタ ZF205は現在検索中の電力制御情報 ZA103を記録 する。
[0144] マイクロプロセッサ 1000に割り当て可能なプログラムが一通り検索し終わると、ステ ート制御マシン ZF201は、最小差候補保持レジスタ ZF205の内容を前最小値レジ スタ ZG103に書き込む制御を行い、前最小値レジスタ ZG103の内容を並び替え済 みプログラムテーブル ZG104に書き込む制御を行う。
[0145] 以上の手順で最も電力差の小さいプログラムの抽出が行え、続いて次に電力差が 小さいプログラムというように順次、電力差の小さいプログラムの抽出を継続する。結 果的に、並び替え済みプログラムテーブル ZG104には、電力差の小さいプログラム 順にプログラム識別情報が記録される。当然ながら比較方法を変更することで、電力 差の大き 、順に並び替えることも可能である。また並び替え処理をノ、一ドウエアでは なぐソフトウェア処理により行うことも可能である。
[0146] 最終的にステート制御マシン ZF201は、並び替え済みプログラムテーブル ZG104 の順序に従い、電力制御状態の変更要求 ZA103と、プログラム割り当て要求 ZF10 2を、電力状態変更装置 ZA101と、プログラム割り当て装置 ZF103に通知し、電力 状態変更とプログラム切り替えを行う。
[0147] (第 8の実施形態)
図 25は、第 8の実施形態による電力制御装置 800の構成を示すブロック図である。 この電力制御装置 800は、図 1および図 7に示した電力制御装置 100, 200と同様、 マイクロプロセッサ 1000の内部に設けられてもよ 、し、マイクロプロセッサ 1000の外 部に設けられてもよい。
[0148] 電力コンテキスト参照装置 ZB101は電力スケジューラ ZF101を含んでいる。電力 スケジューラ ZF101は、電力コンテキスト記憶装置 ZA105からプログラムの識別番 号に応じた電力制御情報 ZA103を取得し、これを元に電力状態変更のための計算 を行い、電力制御情報 ZA103を電力状態変更装置 ZA101に供給し、プログラム割 り当て情報 ZF102をプログラム割り当て装置 ZF103に供給する。
[0149] 電力状態変更装置 ZA101は、供給された電力制御情報 ZA103に基づき、マイク 口プロセッサ 1000の電力変更を行う。プログラム割り当て装置 ZF103は、供給され たプログラム割り当て情報 ZF102で識別されるプログラムをマイクロプロセッサ 1000 に割り当てる。
[0150] さらに、負荷電力判定装置 ZH101は、マイクロプロセッサ 1000の電力状態 ZH10 2と負荷状態 ZH103を入力とし、両者の比較判定処理により、現在の電力状態と負 荷状態の組み合わせではマイクロプロセッサ 1000が誤動作を発生しうると判定した 場合には、電力制御ハザード通知 ZH104を電力スケジューラ ZF101に出力する。 これは、電力スケジューラ ZF101に対するプログラム切り替え要求の意味をも持ち、 電力スケジューラ ZF101は、電力制御ハザード通知 ZH104を受け取ると、現在の電 力状態で割り当て可能なプログラムを探索し、プログラム割り当てをプログラム割り当 て装置 ZF103に通知する。さらに可能であれば、電力を低下させるための電力状態 の変更通知を電力状態変更装置 ZA101に通知する。
[0151] 図 26に負荷電力判定装置 ZH101の内部構成の一例を示す。
[0152] 負荷電力変換表 ZH201は、入力される負荷状態 ZH103に応じて、動作可能な電 力状態値を出力する。負荷状態 ZH101は、マイクロプロセッサ 1000の現在の動作 状況を示すものであり、メモリアクセス数、命令実行数、動作周波数などを含む。例え ば負荷状態 ZH101として、メモリアクセス数や命令実行数や動作周波数を想定する 場合、それぞれの実行負荷状態にぉ ヽてマイクロプロセッサ 1000が誤動作せず動 作可能な電源電圧値を出力する。当然ながら表 ZH201は書き換え可能なレジスタ やメモリで構成してもよ 、し、組み合わせロジックにより構成してもよ 、。
[0153] 比較器 ZH202は、負荷電力変換表 ZH201の出力と、マイクロプロセッサ 1000の 現在の電力状態 ZH102とを比較し、現在の電力状態の方が小さければ、電力制御 ハザード ZH 104を電力スケジューラ ZF 101に通知する。
[0154] 電力スケジューラ ZF101は、電力状態が誤動作を起こさない状態に遷移するため の待ち状態を発生させることなぐ別のプログラムを実行させることができ、待ち合わ せによるシステムの性能劣化を防ぐことができる。
[0155] このようにして、負荷状態に基づく電力制御方式を有するマイクロプロセッサ 1000 においても、マイクロプロセッサ 1000の誤動作を招くことなぐかつ、性能劣化を抑制 した電力制御が可能となる。
[0156] 図 27には、本実施例の実施手順の一例を示す。
[0157] 手順 ZH301にて、マイクロプロセッサ 1000の電力状態と負荷状態とを随時比較し 、誤動作を引き起こす電力状態に近づ力ないことを監視する。電力状態に余裕がな くなつた場合は、手順 ZH302に進み、現在の電力状態で動作可能なプログラムが存 在するかを検索する。
[0158] 現在の電力状態で動作可能なプログラムが存在しない場合は、手順 ZH303にて、 動作負荷に対して電力状態が適切になるまで待ち合わせを行う。
[0159] 現在の電力状態で動作可能なプログラムが存在する場合は、手順 ZH304にて、 動作可能なプログラムに割り当てを変更し、マイクロプロセッサ 1000の実行を継続す る。
[0160] なお、現在の電力状態の判定により誤動作を発生しうると判定されたプログラムに ついては、次回のプログラム割り当て時により安全に動作させるために、電力コンテ キスト記憶装置 ZA105の内容を安全な値で更新することも可能である。
[0161] 例えば、電力コンテキスト記憶装置 ZA105において、該当プログラム用の電力制 御情報のうち、電圧情報が 0.9Vで記録されていた場合を考える。この場合に該当プ ログラムが電力制御ハザードを発生させた場合には、上記電圧情報をより安全な電 力条件 1.0Vに書き換えることで、次回のプログラム割り当て時にはより安全に稼動さ せることができる。
[0162] この動的な電力条件の変更は、例えば第 4の実施形態において示した、電力割り 当ての成功および失敗判定機構と組み合わせることは容易である。
[0163] (第 9の実施形態)
図 28は、第 9の実施形態による電力制御装置 900の構成を示すブロック図である。 この電力制御装置 900は、複数の物理プロセッサを有するシステムにおいて、プロセ ッサの搭載数に依存することなぐ複数のプログラム実行時の総消費電力を効率的 に削減することを実現するための装置である。
[0164] 電力スケジューラ ZF101は、電源グループ記憶装置 ZI101からの電源グループ情 報 ZI102を取得し、これを元に各プログラムを割り当て実行すべきプロセッサを決定 し、割り当てるべきプログラム情報をプログラム割り当て装置 ZF103に通知し、電力 状態の変更を電力状態変更装置 ZA101に通知する。
[0165] 図 29に電源グループ情報 ZI102の記憶構成方法の例を示す。
[0166] 図 29 (a)は、物理的なプロセッサの識別番号ごとに記憶領域を用意し、該当プロセ ッサがいずれの電源グループに所属するかを表す方式である。図 29 (a)の例では、 プロセッサ番号 0とプロセッサ番号 3のプロセッサは物理的に電源グループ 0に所属 し、プロセッサ番号 1のプロセッサは電源グループ 1に所属し、プロセッサ番号 2のプ 口セッサは電源グループ 2に所属する。この方式では物理プロセッサの個数に応じた 記憶領域が必要となる。この例では、 4つのプロセッサは 3種類の電源グループで物 理的に設計実装されており、独立に状態変更制御可能な電源グループが 3種類であ ることを示している。例えばこの例では、プロセッサ番号 0とプロセッサ番号 3の電源電 圧を個別に変更することはできない。従って、プロセッサ番号 0とプロセッサ番号 3に は近い電力条件でのプログラムを割り当てることが消費電力の削減上得策となる。
[0167] 図 29 (b)は、電源グループごとに記憶領域を用意し、該当電源グループに 、ずれ のプロセッサ番号のプロセッサが所属するかを表す方式である。図 29 (b)では、記憶 値が 1の場合に該当プロセッサが該当電源グループに所属していることを表している 。したがって、たとえば電源グループ番号 0には、プロセッサ番号 0とプロセッサ番号 3 のプロセッサが所属することになる。
[0168] 図 29 (a) , (b)ともに、記憶する情報の内容は同一であり、記憶領域やプロセッサ数 、電源グループ数の拡張性を考慮 、ずれかを適用可能である。
[0169] 図 30に、複数の物理プロセッサと電源グループ記憶装置の物理配置例を示す。図 30 (a)は、図 29 (a)に対応した構成例を示しており、それぞれのプロセッサ内に電源 グループの記憶装置を有する。一方、図 30 (b)は、図 29 (b)に対応した構成例であ り、プロセッサ群で共通の電源グループの記憶装置を有する。図 30 (a) (b)の構成例 は同一の LSI上に複数のプロセッサが搭載されている例を記載している力 異なる L SI間のプロセッサ群でもよい。また、その他のロジック部は構成例でありなくてもよい。
[0170] なお、上述の例では、複数の物理プロセッサを有するシステムにおいて複数のプロ グラム実行時の総消費電力を効率的に削減することを目的に各プログラムを割り当て 実行すべきプロセッサを決定した力 複数の物理プロセッサを有するシステムにお ヽ て複数のプログラム実行時の発熱量を効率的に分散させることを目的に各プログラム を割り当て実行すべきプロセッサを以下のように決定することができる。
[0171] 1つめの方法は、物理プロセッサ番号の並びが従来通りである場合において、プロ グラムの割り当てを次のように電力状態に基づき交互に割り当てる方法である。この 方法では、図 31 (a)に示すように、電力が最も高いものを # 0へ割り当て、電力が最 も低いものを # 1へ割り当て、電力が 2番目に高いものを # 2へ割り当て、電力が 2番 目に低 、ものを # 3へ割り当て、…と 、うように割り当てを行う。
[0172] 2つめの方法は、物理プロセッサ番号を不連続に設計配置する方法である。この方 法では、図 31 (b)に示すように、物理プロセッサ番号を行方向あるいは列方向に不 連続(固定値でない増分関係)に位置づける。そして、プログラムの割り当ては、消費 電力の大きさ順に物理プロセッサ番号に順番に割り当てる。プロセッサ番号が不連 続であるため、プログラムは自然に分散される。
産業上の利用可能性
[0173] 本発明は、単一または複数構成力もなるマイクロプロセッサ(マイクロコンピュータ, マイクロコントローラ,ディジタルシグナルプロセッサを含む)、シーケンサ、静的構成 論理、動的再構成可能論理、などの情報処理装置一般に適用可能である。

Claims

請求の範囲
[1] 情報処理装置の内部で消費される電力を制御する装置であって、
プログラムの識別情報で区別される記憶領域にプログラム毎の電力制御情報を格 納する電力コンテキスト記憶手段と、
前記電力コンテキスト記憶手段力 所望のプログラムについての電力制御情報を 参照する電力コンテキスト参照手段と、
前記電力コンテキスト参照手段により参照された電力制御情報に基づいて、前記 情報処理装置の内部で消費される電力の状態を変更する電力状態変更手段とを備 える、
ことを特徴とする電力制御装置。
[2] 請求項 1において、
前記電力制御装置は、
前記情報処理装置において実行中のプログラムに対する電力制御情報を記憶す る電力制御レジスタをさらに備え、
前記電力コンテキスト参照手段は、
前記情報処理装置の命令実行とは並列に、前記電力制御レジスタの内容を電力コ ンテキスト記憶手段との間で退避あるいは復帰する電力コンテキスト退避復帰制御手 段を含み、
前記電力状態変更手段は、
前記電力制御レジスタに記憶されて 、る電力制御情報に基づ 、て、前記情報処理 装置の内部で消費される電力の状態を変更する、
ことを特徴とする電力制御装置。
[3] 請求項 1において、
前記電力コンテキスト参照手段は、
前記情報処理装置において実行中のプログラムと異なる第 1のプログラムの電力制 御情報を前記第 1のプログラムの非実行時に参照する電力コンテキスト先行参照手 段を含む、
ことを特徴とする電力制御装置。
[4] 請求項 3において、
前記電力状態変更手段は、
前記電力コンテキスト先行参照手段により参照された前記第 1のプログラムの電力 制御情報に基づいて、前記第 1のプログラムの実行に先立って、電力状態の変更を 前もって行う、
ことを特徴とする電力制御装置。
[5] 請求項 3において、
前記電力コンテキスト先行参照手段は、
前記第 1のプログラムの実行に先立って、前記第 1のプログラムに対応した電力制 御情報を参照し、電力状態変更時間とプログラム割り当て時間の情報に基づき、電 力状態の変更が有効でないと判断した場合には、電力状態の変更を禁止する、 ことを特徴とする電力制御装置。
[6] 請求項 1において、
前記電力制御情報は、
過去の電力割り当ての成功率あるいは失敗率を含み、
前記電力コンテキスト参照手段は、
前記電力制御情報の成功率あるいは失敗率に基づ 、て、該当プログラムを実行す る際の電力状態の変更を行うか否かを決定する投機的電力状態変更判定手段を含 む、
ことを特徴とする電力制御装置。
[7] 請求項 1において、
前記電力コンテキスト参照手段は、
前記電力コンテキスト記憶手段に記憶されたプログラム毎の電力制御情報から、現 在の電力状態と電力変化が最小となるプログラムを選択し前記情報処理装置に割り 当てるプログラムスケジュール手段を含む、
ことを特徴とする電力制御装置。
[8] 請求項 1において、
前記電力コンテキスト参照手段は、 前記電力コンテキスト記憶手段に記憶されたプログラム毎の電力制御情報から、各 プログラム間の電力変化が最小となるプログラム順に並び替え、前記情報処理装置 に割り当てるプログラムスケジュール手段を含む、
ことを特徴とする電力制御装置。
[9] 請求項 1において、
前記情報処理装置の現在の動作状況を検出する負荷検出手段と、
前記情報処理装置の現在の電力状態を検出する電力状態検出手段と、 前記負荷検出手段が検出した負荷と前記電力状態検出手段が検出した電力情報 から、現在のプログラムの動作継続を行えな ヽ事を事前に判断する負荷電力判定手 段と、
前記継続が行えな ヽ事を判断した場合に、プログラムの切り替えを行うプログラムス ケジュール手段とをさらに備える、
ことを特徴とする電力制御装置。
[10] 複数の物理プロセッサの内部で消費される電力を制御する装置であって、
物理プロセッサが物理的に所属する電源グループを識別する情報を記憶する電源 グループ記憶手段と、
前記電源グループ記憶手段の内容に基づき、各々のプログラムをいずれの物理プ 口セッサに割り当てるかを決定するプログラムスケジュール手段とを備える、 ことを特徴とする電力制御装置。
PCT/JP2006/306274 2005-04-27 2006-03-28 情報処理装置における電力制御装置 WO2006117950A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007514509A JP4838240B2 (ja) 2005-04-27 2006-03-28 情報処理装置における電力制御装置
US11/919,421 US8156348B2 (en) 2005-04-27 2006-03-28 Power controller in information processor
US13/404,975 US20120166824A1 (en) 2005-04-27 2012-02-24 Power controller in information processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005130433 2005-04-27
JP2005-130433 2005-04-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/404,975 Division US20120166824A1 (en) 2005-04-27 2012-02-24 Power controller in information processor

Publications (1)

Publication Number Publication Date
WO2006117950A1 true WO2006117950A1 (ja) 2006-11-09

Family

ID=37307756

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/306274 WO2006117950A1 (ja) 2005-04-27 2006-03-28 情報処理装置における電力制御装置

Country Status (5)

Country Link
US (2) US8156348B2 (ja)
JP (2) JP4838240B2 (ja)
CN (2) CN100527089C (ja)
TW (1) TW200705166A (ja)
WO (1) WO2006117950A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225639A (ja) * 2007-03-09 2008-09-25 Hitachi Ltd 低消費電力ジョブ管理方法及び計算機システム
JP2011229311A (ja) * 2010-04-21 2011-11-10 Fujitsu Ltd 半導体装置
WO2013080426A1 (ja) * 2011-12-01 2013-06-06 パナソニック株式会社 熱を考慮した構造を持つ集積回路装置、三次元集積回路、三次元プロセッサ装置、及びプロセススケジューラ
JP2013225297A (ja) * 2012-03-23 2013-10-31 Toshiba Corp 制御装置、制御方法、プログラムおよび半導体装置
JP2014183400A (ja) * 2013-03-18 2014-09-29 Canon Inc 半導体集積回路および制御方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853812B2 (en) * 2007-02-07 2010-12-14 International Business Machines Corporation Reducing power usage in a software application
US8078897B2 (en) * 2008-01-18 2011-12-13 Texas Instruments Incorporated Power management in federated/distributed shared memory architecture
US8862786B2 (en) * 2009-08-31 2014-10-14 International Business Machines Corporation Program execution with improved power efficiency
US8495395B2 (en) * 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US9268611B2 (en) * 2010-09-25 2016-02-23 Intel Corporation Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores
US20120252361A1 (en) * 2011-03-31 2012-10-04 Nxp B.V. Wireless data transfer
US8650577B2 (en) * 2011-05-30 2014-02-11 Lg Electronics Inc. Mobile terminal and controlling method thereof
US10108433B2 (en) * 2011-11-22 2018-10-23 Intel Corporation Collaborative processor and system performance and power management
JP5942416B2 (ja) * 2011-12-21 2016-06-29 富士通株式会社 情報処理装置の制御プログラム、制御方法及び情報処理装置
US10732689B2 (en) 2013-07-09 2020-08-04 Texas Instruments Incorporated Controlling the number of powered vector lanes via a register field
KR101671372B1 (ko) 2014-01-16 2016-11-16 한국전자통신연구원 멀티코어 기반 병렬 프로그램의 경합 탐지를 위한 확장적 감시 장치 및 방법
CN107844329A (zh) * 2017-11-17 2018-03-27 上海华虹集成电路有限责任公司 一种***功耗模式切换的方法
JP7031930B2 (ja) 2018-03-19 2022-03-08 Necプラットフォームズ株式会社 プログラム生成部、情報処理装置、プログラム生成方法、及びプログラム
JP7272486B2 (ja) 2018-10-31 2023-05-12 株式会社ダイフク 移載装置
US11347293B2 (en) * 2019-09-20 2022-05-31 Dell Products, L.P. Management of turbo states based upon user presence
JP2023083621A (ja) 2022-04-07 2023-06-15 株式会社ダイフク 移載装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH09297688A (ja) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp システムクロック決定装置
JP2002182807A (ja) * 2000-12-13 2002-06-28 Matsushita Electric Ind Co Ltd プロセッサの電力制御装置
JP2003202935A (ja) * 2002-01-08 2003-07-18 Mitsubishi Electric Corp 電力管理方式及び電力管理方法
JP3450263B2 (ja) * 2000-04-05 2003-09-22 北海道日本電気ソフトウェア株式会社 消費電力を低減する電源制御方法、情報処理装置、及び記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08152945A (ja) 1994-11-28 1996-06-11 Nec Corp 消費電力管理装置
CN1159021A (zh) 1996-03-06 1997-09-10 三菱电机株式会社 ***时钟确定装置
JPH11345047A (ja) * 1998-05-29 1999-12-14 Toshiba Corp 計算機システムにおける電源制御方法ならびに装置及び同方法がプログラムされ記録される記録媒体
JP2000122747A (ja) 1998-10-12 2000-04-28 Nec Corp ディジタル信号演算処理部の制御装置および方法
JP2000322257A (ja) * 1999-05-10 2000-11-24 Nec Corp 条件分岐命令の投機的実行制御方法
JP4123640B2 (ja) * 1999-06-16 2008-07-23 ソニー株式会社 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体
EP1096360B1 (en) * 1999-10-25 2004-09-22 Texas Instruments Incorporated Intelligent power management for distributed processing systems
US20030009705A1 (en) * 2001-07-09 2003-01-09 Michael Thelander Monitoring and synchronization of power use of computers in a network
US7185215B2 (en) * 2003-02-24 2007-02-27 International Business Machines Corporation Machine code builder derived power consumption reduction
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
US7272730B1 (en) * 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US20070220293A1 (en) * 2006-03-16 2007-09-20 Toshiba America Electronic Components Systems and methods for managing power consumption in data processors using execution mode selection
FI20065449A0 (fi) * 2006-06-29 2006-06-29 Nokia Corp Tehonkulutuksen valvontamenetelmä, tehonkulutuksen valvontalaite, tietokoneohjelmatuote, tietokoneohjelman jakeluväline ja kommunikaatioväline

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH09297688A (ja) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp システムクロック決定装置
JP3450263B2 (ja) * 2000-04-05 2003-09-22 北海道日本電気ソフトウェア株式会社 消費電力を低減する電源制御方法、情報処理装置、及び記録媒体
JP2002182807A (ja) * 2000-12-13 2002-06-28 Matsushita Electric Ind Co Ltd プロセッサの電力制御装置
JP2003202935A (ja) * 2002-01-08 2003-07-18 Mitsubishi Electric Corp 電力管理方式及び電力管理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225639A (ja) * 2007-03-09 2008-09-25 Hitachi Ltd 低消費電力ジョブ管理方法及び計算機システム
JP2011229311A (ja) * 2010-04-21 2011-11-10 Fujitsu Ltd 半導体装置
WO2013080426A1 (ja) * 2011-12-01 2013-06-06 パナソニック株式会社 熱を考慮した構造を持つ集積回路装置、三次元集積回路、三次元プロセッサ装置、及びプロセススケジューラ
US9122286B2 (en) 2011-12-01 2015-09-01 Panasonic Intellectual Property Management Co., Ltd. Integrated circuit apparatus, three-dimensional integrated circuit, three-dimensional processor device, and process scheduler, with configuration taking account of heat
JP2013225297A (ja) * 2012-03-23 2013-10-31 Toshiba Corp 制御装置、制御方法、プログラムおよび半導体装置
JP2014183400A (ja) * 2013-03-18 2014-09-29 Canon Inc 半導体集積回路および制御方法

Also Published As

Publication number Publication date
JPWO2006117950A1 (ja) 2008-12-18
CN101539802A (zh) 2009-09-23
US20090313490A1 (en) 2009-12-17
CN100527089C (zh) 2009-08-12
US8156348B2 (en) 2012-04-10
JP5091986B2 (ja) 2012-12-05
TW200705166A (en) 2007-02-01
JP4838240B2 (ja) 2011-12-14
JP2010250858A (ja) 2010-11-04
US20120166824A1 (en) 2012-06-28
CN101167055A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
JP4838240B2 (ja) 情報処理装置における電力制御装置
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
US7219241B2 (en) Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
US7962771B2 (en) Method, system, and apparatus for rerouting interrupts in a multi-core processor
JP5469940B2 (ja) 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法
US20060085794A1 (en) Information processing system, information processing method, and program
US7412590B2 (en) Information processing apparatus and context switching method
JP2020511706A (ja) 行バッファ競合を低減するための動的メモリの再マッピング
US20090172428A1 (en) Apparatus and method for controlling power management
US20060136915A1 (en) Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US20080201591A1 (en) Method and apparatus for dynamic voltage and frequency scaling
GB2421325A (en) Setting a thread to a wait state using a wait instruction
US20090292892A1 (en) Method to Reduce Power Consumption of a Register File with Multi SMT Support
JP2007272573A (ja) 低消費電力化メモリ管理方法及びメモリ管理プログラム
BRPI0907774B1 (pt) Programação de encadeamento ciente de energia e uso dinâmico de processadores
JP2007535721A (ja) マルチコアプロセッサのパフォーマンス改善のための方法、システムおよび装置
US20040268093A1 (en) Cross-thread register sharing technique
WO2006014254A1 (en) An apparatus and method for heterogenous chip multiprocessors via resource allocation and restriction
JP2008090395A (ja) 計算機システム、演算用ノード及びプログラム
US7822952B2 (en) Context switching device
WO2011161782A1 (ja) マルチコアシステムおよび外部入出力バス制御方法
CN115981833A (zh) 一种任务处理方法及装置
KR100856144B1 (ko) 프로세서 내에서의 다수의 동시 물리 스레드로부터의다수의 논리 스레드의 디커플링
JP4482275B2 (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
JP2001117786A (ja) プロセススケジューリング装置およびプロセススケジューリング方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680014188.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2007514509

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11919421

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06730222

Country of ref document: EP

Kind code of ref document: A1