WO2005124550A1 - プロセッサ、情報処理装置およびプロセッサの制御方法 - Google Patents

プロセッサ、情報処理装置およびプロセッサの制御方法 Download PDF

Info

Publication number
WO2005124550A1
WO2005124550A1 PCT/JP2005/006965 JP2005006965W WO2005124550A1 WO 2005124550 A1 WO2005124550 A1 WO 2005124550A1 JP 2005006965 W JP2005006965 W JP 2005006965W WO 2005124550 A1 WO2005124550 A1 WO 2005124550A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
temperature
control unit
combination
processing blocks
Prior art date
Application number
PCT/JP2005/006965
Other languages
English (en)
French (fr)
Inventor
Kenichi Adachi
Kazuaki Yazawa
Iwao Takiguchi
Atsuhiko Imai
Tetsuji Tamura
Original Assignee
Sony Computer Entertainment Inc.
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 Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to US10/575,041 priority Critical patent/US7831842B2/en
Priority to KR1020067014031A priority patent/KR100878660B1/ko
Priority to EP20050728541 priority patent/EP1783608B1/en
Publication of WO2005124550A1 publication Critical patent/WO2005124550A1/ja

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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • 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/3243Power saving in microcontroller unit
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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 processor technology, and relates to a processor that controls performance according to a temperature of a chip, and a method of controlling the processor.
  • Patent Document 1 US Patent Application Publication No. 2002Z0065049
  • the present invention has been made in view of such problems, and an object of the present invention is to provide a processor, an information processing apparatus, and a processor that can maintain a temperature within a range in which normal operation is guaranteed while suppressing a decrease in performance. It is to provide a control method.
  • One embodiment of the present invention relates to a method for controlling a processor.
  • the parallel utilization of a plurality of processing blocks provided in the processor is switched according to the temperature.
  • the combination of the parallel utilization and the operating frequency may be switched according to the temperature of the processor.
  • task Tasks may be allocated in consideration of the parallel available number of a plurality of processing blocks determined for each task, or a task may be allocated to at least the lowest temperature processing block among the plurality of processing blocks.
  • the "processing block" may correspond to each sub-processor.
  • the “parallel utilization” may correspond to the number of operating sub-processors.
  • Another embodiment of the present invention also relates to a method for controlling a processor.
  • the combination of the parallel utilization and the operating frequency of a plurality of processing blocks provided in the processor is switched with reference to a predetermined table.
  • the table may describe processing performance for each of the combinations. Also, when the processor temperature is predicted to exceed or exceeds a predetermined threshold value, the calorific value is lower than the combination currently selected from the combinations! The switching to the combination may be performed. Furthermore, when there are a plurality of detected combinations, switching to the combination that maximizes the performance may be performed.
  • Still another embodiment of the present invention relates to a processor.
  • the processor includes a plurality of processing blocks, a sensor that measures a temperature, and a control unit that switches a degree of parallel use of the plurality of processing blocks according to the measured temperature.
  • the control unit may switch the combination of the parallel utilization and the operating frequency according to the temperature.
  • the control unit may allocate the task in consideration of the parallel available number of the plurality of processing blocks determined for each task, or may assign the task to at least the processing block of the lowest temperature among the plurality of processing blocks. May be allocated
  • Still another embodiment of the present invention relates to a processor.
  • the processor includes a plurality of processing blocks, a sensor that measures a temperature of the processor, and a control unit that switches a combination of a parallel use degree and an operating frequency of the plurality of processing blocks according to the measured temperature. .
  • the table may describe processing performance for each of the combinations.
  • the control unit selects a combination having a lower calorific value than the present among the combinations, and switches to the combination. You can go! [0013]
  • Still another embodiment of the present invention relates to an information processing device.
  • This device is an information processing device including a processor that performs various tasks.
  • the processor includes a plurality of processing blocks, a sensor that measures temperature, and a plurality of processing blocks according to the measured temperature. And a control unit for switching the degree of parallel use of the data.
  • the present invention it is possible to keep the processor temperature within a range in which a normal operation is guaranteed, while suppressing a decrease in performance.
  • FIG. 1 is a diagram showing a configuration of a processor according to a first embodiment.
  • FIG. 2 is a functional block diagram for explaining the first embodiment.
  • FIG. 3 is a diagram showing operation points based on a combination of an operation frequency and the number of operating sub processors.
  • FIG. 4 is a diagram showing a performance table.
  • FIG. 5 is a flowchart for explaining the operation of the functional blocks in FIG. 2.
  • FIG. 6 is a functional block diagram for explaining a second embodiment.
  • FIG. 7 is a diagram showing a task table.
  • FIG. 8 is a diagram illustrating a configuration of a processor according to a third embodiment.
  • FIG. 9 is a flowchart for explaining a third embodiment.
  • FIG. 10 is a functional block diagram for explaining a fourth embodiment.
  • FIG. 11 is a diagram showing a table sorted in a low temperature order according to the fourth embodiment.
  • FIG. 12 is a flowchart for explaining functional blocks in FIG. 10;
  • One processor 100 main processor, 110 heating value estimator, 115 task table, 120 temperature controller, 121 task manager, 122 performance table, 130 subprocessor controller, 140 frequency controller, 200 subprocessor, 30 0 Storage unit, 400 temperature sensor, 500 clock generation unit.
  • FIG. 1 is a diagram illustrating a configuration of a processor according to the first embodiment.
  • the processor 1 includes a main processor 100, four first to fourth sub processors 200a to 200d, a storage unit 300, and a temperature sensor 400 in a chip. These are connected by a bus (not shown). Further, the number of sub-processors 200 is not limited to four, but may be any number. For example, eight may be provided. Also, these arrangement patterns are not limited to those shown in FIG. 1, and can be arbitrarily arranged.
  • the clock generator 500 gives the processor 1 a fundamental frequency.
  • the main processor 100 controls the entire processor 1.
  • the first to fourth sub-processors 200a to 200d are managed, and tasks are appropriately assigned to them. It also manages temperature, power, and performance.
  • the first to fourth sub-processors 200a to 200d execute tasks allocated from the main processor 100.
  • Temperature sensor 400 outputs the measured temperature to main processor 100.
  • the temperature sensor 400 may be provided outside the knock cage, but may be provided on a die in the knock cage to measure a steep temperature change.
  • FIG. 2 is a functional block diagram mainly realized by cooperation of the main processor 100, the storage unit 300, and software loaded in the storage unit 300 in the first embodiment. It is understood by those skilled in the art that this functional block can be realized in various forms by a combination of hardware and software.
  • the temperature sensor 400 outputs the current temperature of the chip to the temperature control unit 120.
  • the temperature control unit 120 estimates the temperature after the At period based on the current temperature input from the temperature sensor 400 and the estimated heat value input from the heat value estimation unit 110. This relational expression is shown below (Equation 1).
  • T is the temperature after the At period
  • T is the current temperature
  • E is the estimated heating value generated during the At period t + At t
  • the temperature T after the ⁇ t period is calculated by comparing the current temperature T with the estimated heating value E by t + At t
  • the calorific value estimating unit 110 is provided by the sub processor control unit 130 to the currently operating sub processor.
  • the current operating frequency is obtained from the frequency control unit 140 by obtaining the number of the sensors 200. Then, based on them, the estimated calorific value E is obtained. This relational expression is shown below (Expression 2).
  • a is a predetermined proportionality constant
  • C is a variable equivalently representing load by capacity
  • V is power supply voltage
  • f is dd
  • the power supply voltage V is used by squaring. These are multiplied by dd
  • the value integrated by ⁇ t is the estimated heating value E.
  • the load capacity C of the present embodiment is represented by the following (Equation 3).
  • C is the capacity of the main processor
  • C is the capacity of the subprocessor 200
  • N is the subprocessor 2 ms
  • the calorific value estimating unit 110 passes the estimated calorific value E obtained by the above calculation to the temperature control unit 120.
  • the temperature control unit 120 estimates the temperature T after the At period based on the current temperature T acquired from the temperature sensor 400 and the estimated heating value E as shown in the above (Equation 1). t t + At. Then, as shown in (Equation 4) below, the estimated temperature T is equal to or higher than the predetermined
  • the predetermined threshold temperature is a temperature at which normal operation of the entire processor 1 cannot be guaranteed.
  • FIG. 3 is a diagram showing operation points based on a combination of an operation frequency and the number of operating sub processors 200.
  • 4 GHz, 2 GHz, and 1 GHz are set as operating frequencies that can be shifted on the horizontal axis.
  • the number of operating sub-processors 200 that can transition on the vertical axis is set to 4 to 0. If the number is zero, only the main processor 100 is operating.
  • FIG. 3 has 15 operating points ao.
  • the performance of the top-right operating point a is the highest and the performance of the bottom-left operating point o is the highest. In the case of normal full operation, the operation is performed at the operation point a, the operation number of the sub-processor 200 is 4, and the operation frequency is GHz.
  • the task management unit 121 grasps the execution status of the task after the At period, and specifies the number of sub processors 200 that can be used in parallel at that time. Then, the number of possible parallel uses is passed to temperature control section 120.
  • the execution status of a task may be different if one task is being executed. You may be performing a number of tasks. Depending on the nature of each task, there are some tasks that can be executed by only one sub-processor 200! / And tasks that can be executed by a plurality of sub-processors 200.
  • FIG. 4 is a diagram showing the performance table 122. Operation point candidates for the number of parallel uses of the sub-processor 200 are registered. The operation points are registered in descending order of performance from the top. For example, when two sub-processors 200 are used, the operation points are as follows: high performance, d ⁇ g ⁇ h ⁇ j ⁇ k ⁇ l ⁇ m ⁇ n ⁇ o.
  • the performance table 122 may preliminarily describe the amount of heat generated during the At period at each operation point.
  • the temperature control unit 120 When the estimated temperature T reaches a predetermined threshold temperature, the temperature control unit 120
  • the power to reduce the number of operating sub-processors 200 used and the operating frequency of processor 1 as a whole must be reduced to reduce the heat generation.
  • the temperature control unit 120 obtains the number of sub processors 200 that can be used in parallel after the ⁇ t period input from the task management unit 121, and refers to the performance table 122 based on the number to make a transition. Identify candidate operation points.
  • the sub-processor control unit 130 switches the operating number of the sub-processor 200 according to the instruction of the temperature control unit 120.
  • the frequency control unit 140 switches the operating frequency according to an instruction from the temperature control unit 120.
  • FIG. 5 is a flowchart for explaining the operation of the functional blocks shown in FIG.
  • the temperature control unit 120 acquires the current temperature in the chip from the temperature sensor 400 (S10).
  • the calorific value estimating unit 110 acquires the current operating number of the sub-processor 200 from the sub-processor control unit 130, and acquires the current operating frequency of the entire processor 1 from the frequency control unit 140. Then, they are substituted into the above (Equation 2) and (Equation 3) to estimate the amount of heat generated during the At period and pass it to the temperature control unit 120 (Sl l).
  • the temperature control unit 120 estimates the temperature after the At period based on the current temperature acquired from the temperature sensor 400 and the calorific value estimated by the calorific value estimating unit 110 (S12).
  • the temperature control unit 120 compares the estimated temperature with a predetermined threshold temperature (S13). If the estimated temperature does not reach the predetermined threshold temperature (N in S13), normal operation with respect to the temperature after the above At period is guaranteed, so that the current sub-processor 200 It is not necessary to switch the number of operations and the operating frequency.
  • the performance table 122 is referred to (S15). More specifically, by referring to the item of the number of available parallel resources in the performance table 122, a candidate for the next operation point to transition from the current operation point is specified. In the performance table 122, the transitionable operation points are registered in the order in which the performance is not impaired for each of the items of the above-mentioned number of parallel uses. Therefore, the next operation point candidate is the operation point with the smallest performance degradation compared to the performance of the current operation point!
  • the temperature control unit 120 acquires the number of operating sub-processors 200 at the operating point and the operating frequency of the entire processor 1 and passes them to the calorific value estimating unit 110.
  • the calorific value estimating unit 110 substitutes the number of operating sub-processors 200 passed from the temperature control unit 120 and the operating frequency of the entire processor 1 into the above (Equation 2) and (Equation 3), and The calorific value generated during the t period is estimated again and returned to the temperature control unit 120 (S16). If the amount of heat generated in the At period of each operation point is described in advance in the performance table 122, it may be used.
  • the temperature controller 120 estimates the temperature after the At period again based on the temperature acquired from the temperature sensor 400 and the calorific value estimated by the calorific value estimator 110 (S17).
  • temperature control section 120 again compares the estimated temperature with a predetermined threshold temperature.
  • the temperature control unit 120 instructs the sub-processor control unit 130 to reduce the number of operating sub-processors 200 or instructs the frequency control unit 140 to change the processor 1 Lower the operating frequency of Alternatively, both are performed (S19).
  • the power of reducing the number of operating sub processors 200 and the operation of the entire processor 1 This can be avoided in advance by lowering the frequency.
  • the performance table 122 it is possible to make a transition to the V ⁇ operation point where the performance is most impaired.
  • the operating frequencies such as 1 GHz, 2 GHz, and 4 GHz described above are frequencies given to the chip, and the main processor 100 and the sub-processor 200 in the chip do not operate at these frequencies.
  • the frequency effectively used for the operation that is, the effective frequency is lower than the above-mentioned frequency. This effective frequency depends on the task. Therefore, when estimating the calorific value by the above (Equation 2), the effective frequency may be substituted for f.
  • the task management unit 121 specifies a task to be executed by the current time before the At period, and obtains an effective frequency according to the task.
  • the calorific value estimating unit 110 calculates the estimated calorific value E by substituting the effective frequency into the above (Equation 2). According to this, the task can be considered even at the stage of calculating the estimated heat generation amount E, so that more accurate temperature estimation can be performed.
  • the second embodiment is an example in which the estimated heat generation amount E is registered in a table in advance instead of being obtained by calculation as in the first embodiment.
  • FIG. 6 is a functional block diagram mainly realized by the cooperation of the main processor 100, the storage unit 300, and the software loaded in the storage unit 300 in the second embodiment.
  • the task table 115 stores the number of sub-processors 200 that can be used in parallel and the amount of heat generated for each task.
  • FIG. 7 is a diagram showing the task table 115.
  • Task types include, for example, waiting for key input, decoding of MPEG data, voice recognition, and the like.
  • the number of sub processors 200 that can be used in parallel varies depending on the task. Tasks that must be executed only by the main processor 100 are 0. More than one task can be processed in parallel.
  • the calorific value is the calorific value generated during the At period in the above (Equation 1) for each task. A value obtained experimentally may be registered in advance.
  • the task management unit 121 grasps the execution status of the task in the At period and performs the task in the At period.
  • One or more tasks to be executed are specified and passed to the calorific value estimating unit 110.
  • the calorific value estimating unit 110 obtains the estimated calorific value E of the entire processor 1 by referring to the task table 115 based on the task type specified by the task managing unit 121. When multiple tasks are executed, the calorific value of each task may be added.
  • the temperature sensor 400 outputs the current chip temperature to the temperature control unit 120.
  • the temperature control unit 120 calculates the temperature T after the At period based on the current temperature T acquired from the temperature sensor 400 and the estimated heating value E. Is estimated.
  • the estimated temperature T reaches a predetermined threshold or more and reaches a value temperature or higher.
  • the operating point is changed. The transition of the operation point is performed with reference to the performance table 122 shown in FIGS. 3 and 4, as described in the first embodiment.
  • the task management unit 121 grasps the execution state of the task after the At period, and specifies the number of sub processors 200 that can be used in parallel at that time. Then, the number of parallel uses is output to temperature control section 120.
  • the temperature control unit 120 also considers the number of sub-processors 200 that can be used in parallel obtained from the task management unit 121.
  • the sub-processor control unit 130 switches the number of operating sub-processors 200 according to an instruction from the temperature control unit 120.
  • the frequency control unit 140 switches the operating frequency according to an instruction from the temperature control unit 120.
  • the calorific value estimating unit 110 estimates the calorific value based on the task table 115 and the task execution status obtained from the task management unit 121. Are different.
  • the heat generation amount of the entire chip is estimated with reference to the task table in which the heat generation amount for each task is described in advance, so that the accuracy in consideration of the task is high.
  • the temperature can be estimated by a simple process.
  • the third embodiment is an example in which a plurality of temperature sensors 400 are provided in a chip.
  • FIG. 8 is a diagram illustrating a configuration of a processor according to the third embodiment.
  • Processor 1 has a main
  • the processor 100 includes four first to fourth sub-processors 200a to 200d, a storage unit 300, and four first to fourth temperature sensors 400a to 400d.
  • the first temperature sensor 400a measures the temperature of the block a
  • the second temperature sensor 400b measures the temperature of the block b.
  • the number of temperature sensors 400 is not limited to four, and any number can be provided. For example, two may be provided. Also, these arrangement patterns are not limited to those shown in FIG. 1, and can be arbitrarily arranged. The rest is the same as the description of FIG.
  • the third embodiment can be realized with the same configuration as the functional block diagrams shown in FIG. 2 and FIG.
  • the difference from the first and second embodiments is that a plurality of temperature sensors 400 are provided. That is, the current temperature of each block is input to the temperature control unit 120.
  • FIG. 9 is a flowchart for explaining the third embodiment.
  • the temperature control unit 120 acquires the current temperature of each block from the plurality of temperature sensors 400 (S20).
  • the temperature control unit 120 specifies the block with the highest temperature based on this (S21).
  • the calorific value estimating unit 110 acquires the current operating number of the sub-processor 200 from the sub-processor control unit 130, and acquires the current operating frequency of the processor 1 from the frequency control unit 140. Then, they are substituted into the above (Equation 2) and (Equation 3) to estimate the amount of heat generated during the At period, and pass it to the temperature control unit 120 (S22).
  • the heat generation amount estimation unit 110 may estimate the heat generation amount of the entire processor 1 by referring to the task table 115 based on the task type specified by the task management unit 121.
  • the temperature control unit 120 estimates the temperature after the At period based on the specified maximum temperature and the calorific value estimated by the calorific value estimating unit 110 (S23).
  • temperature control section 120 compares the estimated temperature with a predetermined threshold temperature (S24). If the estimated temperature does not reach the predetermined threshold temperature (N in S24), normal operation with respect to the temperature after the above At period is guaranteed. No need to switch.
  • the estimated temperature is equal to or higher than the predetermined threshold temperature (Y in S 24)
  • the number of sub processors 200 that can be used in parallel after the At period is acquired from the task management unit 121 (S 25).
  • the performance table 122 is referred to (S26).
  • the temperature control unit 120 specifies a candidate for a transitional operation point from the performance table 122, and The operating number of the processor 200 and the operating frequency of the processor 1 are obtained and passed to the calorific value estimating unit 110.
  • the calorific value estimating unit 110 substitutes the operating number of the sub-processor 200 and the operating frequency of the processor 1 passed from the temperature control unit 120 into (Equation 2) and (Equation 3), and The calorific value generated during the period is estimated again and returned to the temperature control unit 120 (S27).
  • the temperature control unit 120 re-estimates the temperature after the At period based on the maximum temperature and the calorific value estimated by the calorific value estimating unit 110 (S28).
  • temperature control section 120 again compares the estimated temperature with a predetermined threshold temperature.
  • the temperature control unit 120 instructs the sub-processor control unit 130 or the frequency control unit 140, or both, to transition to the operation point.
  • the sub-processor control unit 130 controls the sub-processor 200 to which the temperature control unit 120 is also instructed. It stops (S31).
  • the temperature control unit 120 instructs the stop of the sub-processors 200 belonging to the block with the highest temperature.
  • the stop of the sub-processor 200 closest to the block is instructed.
  • the first sub-processor 200a and the second sub-processor 200b are stopped.
  • the sub-processors 200 belonging to the block having the highest temperature and the sub-processor 200 located near the block are stopped in this order.
  • the order in which the sub-processor 200 is stopped when each block reaches the maximum temperature is described in advance in a table. It may be described. In that case, the temperature control unit 120 refers to the table and instructs the sub-processor control unit 130.
  • the frequency control unit 140 performs the operation indicated by the temperature control unit 120. Change to frequency (S33).
  • the temperature distribution in the chip is leveled out by stopping the sub-processor power belonging to or close to the block having the highest temperature when the operating point is shifted.
  • the temperature in the chip can be controlled in the direction to be performed.
  • the fourth embodiment is an example in which tasks are allocated according to the temperature of each block.
  • the configuration of the processor in the fourth embodiment is the same as that described in FIG.
  • FIG. 10 is a functional block diagram mainly realized by cooperation of the main processor 100, the storage unit 300, and the software loaded in the storage unit 300 in the fourth embodiment.
  • the plurality of temperature sensors 400 output the current temperature of each of the sub-processors 200a to 200d or the current temperature of each of the blocks a to d set by dividing a region in the chip to the temperature control unit 120.
  • the arrangement of the plurality of temperature sensors 400 may be at the position where the temperature of each sub-processor 200a-d is directly measured or at the position where the temperature of each block a-d is measured!
  • the task management unit 121 grasps the current task execution status and queue status, and passes the number of tasks that can be executed next to be used in parallel to the temperature control unit 120. The number that can be used in parallel depends on the nature of each task.
  • the temperature control unit 120 creates a table of each of the sub-port processors 200a to 200d based on the temperatures input from the plurality of temperature sensors 400 in order of the lowest temperature.
  • FIG. 11 is a diagram showing a table sorted in the order of low temperature in the fourth embodiment.
  • the fourth sub-processor d ⁇ the second sub-processor b ⁇ the third sub-processor c ⁇ the first sub-processor a are sorted in ascending order of temperature. This order is adaptively changed according to the temperatures input from the plurality of temperature sensors 400.
  • This table may manage not only the temperature order of each of the sub-processors 200a to 200d but also the actual or estimated temperature of each of the sub-processors 200a to 200d.
  • each sub-processor is calculated based on the distance relationship between the plurality of temperature sensors 400 and each of the sub-processors 200a to 200d. You can estimate the temperature of 200a ⁇ d! /.
  • the temperature control unit 120 refers to the above table and allocates the next task to be executed to the low-temperature sub-processor.
  • the sub-processor to be allocated is determined in consideration of the number of tasks to be executed next in parallel. That is, when the parallel utilization is 2, the task is allocated to the two sub-processors from the top in the order of the lowest temperature with reference to the above table. According to this, it is possible to level the temperature while suppressing a decrease in performance.
  • a task may be allocated to only one sub-processor.
  • the above table also manages the temperature of each of the sub-processors 200a to 200d, even if it is a sub-processor that is an allocation candidate based on the number of available parallel processors, the temperature of the sub-processor exceeds a predetermined threshold temperature. At that time, the allocation candidate power may also be excluded. In that case, the task will be executed by fewer sub-processors than the number available in parallel.
  • the threshold temperature may be set by obtaining an optimum value by actual measurement simulation, but may be set slightly lower in consideration of the temperature rise after execution of the task to be allocated. According to this, spot-like heat generation can be suppressed.
  • Temperature control unit 120 instructs sub-processor control unit 130 on the sub-processor to which the task is to be allocated.
  • the sub-processor control unit 130 controls the operation Z non-operation of each of the sub-processors 200a to 200d according to the instruction of the temperature control unit 120.
  • FIG. 12 is a flowchart for explaining the fourth embodiment.
  • the temperature control unit 120 acquires the temperature of each of the sub-processors 200a to 200d or the current temperature of each of the blocks a to d from the plurality of temperature sensors 400 (S40).
  • all the sub processors 200a to 200d are sorted in the order of the low temperature (S41).
  • the task to be executed next is allocated to one or more sub-processors in the order of the temperature (S42).
  • the task is preferentially assigned to the low-temperature sub-processors, and the control is performed such that the temperatures of the plurality of sub-processors are leveled, thereby reducing The temperature distribution in the inside can be leveled.
  • spot-like heat generation can be prevented in advance.
  • the subprocessor to which the task is allocated is determined based on the temperature of each subprocessor.
  • each subprocessor may be replaced with each block set by dividing an area in the chip. In this case, the temperature of each block is sorted in ascending order of temperature, and tasks are allocated to the subprocessors that are close to the block with the lower temperature.
  • the estimated temperature after the above ⁇ t period was compared with a predetermined threshold value temperature.
  • the current temperature acquired from the temperature sensor 400 may be compared with a predetermined threshold temperature.
  • the predetermined threshold temperature may be set lower than the temperature in each embodiment.
  • the temperature T after the ⁇ t period is the current temperature T and the estimated heating value t + At t
  • the temperature T after the above At period mainly depends on the task execution status.
  • the temperature control unit 120 estimates the temperature T after the ⁇ t period in consideration of the combination of the sub-processors 200 due to the execution of the task.
  • the blocks described in the third embodiment are ideally divided according to the size of the area where the peak of heat generation appears in a spot, but the size of the block is controlled by the heat generation control. It may be freely determined according to the target accuracy of the target and the required specifications of the processor 1. Also, the blocks may be regularly partitioned with the same size, or may be partitioned irregularly according to the boundaries of various processors.
  • the number of sub-processors 200, their arrangement positions, and the number of temperature sensors 400 and their arrangement positions can be arbitrarily set. Also, the transition described in the performance table 122 The possible operating frequency and the number of sub-processors 200 that can be transitioned can also be arbitrarily set. Further, the order in which the sub-processors 200 described in the predetermined table are stopped can be arbitrarily set. The order of stopping is determined mainly by the position from the block with the highest temperature, but the order may be determined in consideration of the positional relationship from important circuit elements.
  • the processor of the present invention can be applied to a control unit of an information processing device such as a PC, a workstation, a game machine, a PDA, or a portable telephone.
  • the present invention is also applicable to an information processing system in which a system is constructed by sharing resources distributed on a network.
  • the present invention can be applied to the field of controlling the performance of a processor including a plurality of processing blocks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Cooling Or The Like Of Semiconductors Or Solid State Devices (AREA)
  • Control Of Temperature (AREA)

Abstract

 発熱量推定部110は、現在稼働しているサブプロセッサの数を取得し、現在の動作周波数を取得し、Δt期間後の発熱量を推定する。温度制御部120は、温度センサ400から入力される現在の温度と、推定された発熱量とを基に、Δt期間後の温度を推定し、所定のしきい値温度と比較する。所定のしきい値温度に達した場合、タスク管理部121からΔt期間後のサブプロセッサの並列利用可能数を取得し、パフォーマンステーブル122を参照して遷移する動作ポイントを求める。サブプロセッサ制御部130および周波数制御部140は、それに応じたサブプロセッサの稼働数と動作周波数に切り替える。パフォーマンステーブル122には、遷移する動作ポイントがパフォーマンス順に記述されている。

Description

明 細 書
プロセッサ、情報処理装置およびプロセッサの制御方法
技術分野
[0001] この発明はプロセッサ技術に関し、チップの温度に応じでパフォーマンスを制御す るプロセッサ、およびプロセッサの制御方法に関する。
背景技術
[0002] LSI設計にぉ 、て製造プロセスの微細化と素子の高集積ィ匕が一段と進み、チップ の性能限界として発熱量を考慮することが設計上非常に重要になってきている。チッ プが高温になると、動作不良を起こしたり、長期信頼性が低下するため、様々な発熱 対策がとられている。たとえば、チップの上部に放熱フィンを設けて、チップから発生 する熱を逃がす方法がとられる。
[0003] また、チップの消費電力分布にもとづいて、プロセッサのタスクをスケジューリングす ることも検討されている (たとえば、特許文献 1参照)。
特許文献 1:米国特許出願公開第 2002Z0065049号明細書
発明の開示
発明が解決しょうとする課題
[0004] 急峻な温度上昇が起きた場合等には、上述したような対策では対応しきれな!/、場 合もある。そのような場合、チップの動作周波数を下げる等の処理によりパフオーマン ス自体を低下させて、対処する手法が考えられる。しかしながら、ノ フォーマンスを必 要以上に低下させることは、無駄である。
[0005] 本発明はこうした課題に鑑みてなされたものであり、その目的は、パフォーマンスの 低下を抑えながら、正常動作が保証される範囲に温度を保つことができるプロセッサ 、情報処理装置およびプロセッサの制御方法を提供することにある。
課題を解決するための手段
[0006] 本発明のある態様はプロセッサの制御方法に関する。この方法は、プロセッサの内 部に設けられた複数の処理ブロックの並列利用度を、温度に応じて切り替える。並列 利用度と動作周波数の組合せをプロセッサの温度に応じて切り替えてもよい。タスク ごとに定まる複数の処理ブロックの並列利用可能数を考慮して、タスクを割り振っても よいし、複数の処理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスク を割り振ってもよい。
[0007] 「処理ブロック」は、複数のサブプロセッサを搭載したプロセッサの場合、各サブプロ セッサに対応させてもよい。「並列利用度」は、当該サブプロセッサの稼働数に対応さ せてもよい。
[0008] 本発明の別の態様もプロセッサの制御方法に関する。この方法は、プロセッサの内 部に設けられた複数の処理ブロックの並列利用度と動作周波数の組合せを所定の テーブルを参照して切り替える。
[0009] テーブルは前記組合せのそれぞれについて、処理のパフォーマンスを記述してい てもよい。また、プロセッサの温度が所定のしきい値を越えると予測されるとき、または 超えたとき、前記組合せの中で現在選択されて!ヽる組合せより発熱量が低!、組合せ を検出し、検出された組合せへの切替を行ってもよい。さらに、検出された組合せが 複数存在する場合、パフォーマンスが最大になる組合せへの切替を行ってもよい。
[0010] 本発明のさらに別の態様はプロセッサに関する。このプロセッサは、複数の処理ブ ロックと、温度を測定するセンサと、測定された温度に応じて、複数の処理ブロックの 並列利用度を切り替える制御部と、を備える。制御部は、温度に応じて、並列利用度 と動作周波数の組合せを切り替えてもよい。制御部は、タスクごとに定まる前記複数 の処理ブロックの並列利用可能数を考慮して、タスクを割り振ってもよいし、複数の処 理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ってもよい
[0011] 本発明のさらに別の態様はプロセッサに関する。このプロセッサは、複数の処理ブ ロックと、本プロセッサの温度を測定するセンサと、測定された温度に応じ、複数の処 理ブロックの並列利用度と動作周波数の組合せを切り替える制御部と、を備える。
[0012] テーブルは前記組合せのそれぞれについて、処理のパフォーマンスを記述してい てもよい。また、プロセッサの温度が所定のしきい値を越えると予測されるとき、または 超えたとき、制御部は、前記組合せの中で現在よりも発熱量が低い組合せを選択し、 その組合せへの切替を行ってもよ!、。 [0013] 本発明のさらに別の態様は情報処理装置に関する。この装置は、各種のタスクを実 行するプロセッサを備える情報処理装置であって、プロセッサは、複数の処理ブロッ クと、温度を測定するセンサと、測定された温度に応じて、複数の処理ブロックの並列 利用度を切り替える制御部と、を備える。
[0014] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コ ンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である 発明の効果
[0015] 本発明によれば、パフォーマンスの低下を抑えながら、正常動作が保証される範囲 にプロセッサの温度を保つことができる。
図面の簡単な説明
[0016] [図 1]第 1実施形態におけるプロセッサの構成を示す図である。
[図 2]第 1実施形態を説明するための機能ブロック図である。
[図 3]動作周波数とサブプロセッサの稼働数の組み合わせによる動作ポイントを示す 図である。
[図 4]パフォーマンステーブルを示す図である。
[図 5]図 2の機能ブロックの動作を説明するためのフローチャートである。
[図 6]第 2実施形態を説明するための機能ブロック図である。
[図 7]タスクテーブルを示す図である。
[図 8]第 3実施形態におけるプロセッサの構成を示す図である。
[図 9]第 3実施形態を説明するためのフローチャートである。
[図 10]第 4実施形態を説明するための機能ブロック図である。
[図 11]第 4実施形態における低温度順にソートされたテーブルを示す図である。
[図 12]図 10の機能ブロックを説明するためのフローチャートである。
符号の説明
[0017] 1 プロセッサ、 100 メインプロセッサ、 110 発熱量推定部、 115 タスクテー ブル、 120 温度制御部、 121 タスク管理部、 122 パフォーマンステーブル、 130 サブプロセッサ制御部、 140 周波数制御部、 200 サブプロセッサ、 30 0 記憶部、 400 温度センサ、 500 クロック生成部。
発明を実施するための最良の形態
[0018] (第 1実施形態)
図 1は、第 1実施形態におけるプロセッサの構成を示す図である。プロセッサ 1は、 チップ内に、メインプロセッサ 100、 4個の第 1〜4サブプロセッサ 200a〜d、記憶部 3 00、および温度センサ 400を含む。これらは、図示しないバスにより接続されている。 また、サブプロセッサ 200の数は、 4個に限るものではなく任意の数を設けることがで きる。たとえば、 8個設けてもよい。また、これらの配置パターンも、図 1に示したものに 限るものではなぐ任意に配置することができる。クロック生成部 500は、プロセッサ 1 に基本周波数を与える。
[0019] メインプロセッサ 100は、プロセッサ 1全体を制御する。特に、第 1〜4サブプロセッ サ 200a〜dの管理を行い、これらに適宜タスクを振り分ける。また、温度管理、電力 管理、およびパフォーマンス管理を行う。第 1〜4サブプロセッサ 200a〜dは、メイン プロセッサ 100から割り振られたタスクを実行する。温度センサ 400は、測定した温度 をメインプロセッサ 100に出力する。温度センサ 400は、ノ ッケージの外に設けてもよ いが、急峻な温度変化を測定するために、ノ ッケージ内のダイ (die)に設けるとよい。
[0020] 図 2は、第 1実施形態における主にメインプロセッサ 100、記憶部 300および記憶 部 300にロードされたソフトウェアの連携によって実現される機能ブロック図である。 この機能ブロックがハードウェアとソフトウェアとの組み合せによって 、ろ 、ろな形で 実現できることは、当業者に理解されるところである。図 2において、温度センサ 400 は、現在のチップの温度を温度制御部 120に出力する。温度制御部 120は、温度セ ンサ 400から入力される現在の温度と、発熱量推定部 110から入力される推定発熱 量とを基に、 A t期間後の温度を推定する。この関係式を下記 (式 1)に示す。
[0021] T =f (T , Ε) · ·· (式 1)
t+ At t
T は A t期間後の温度、 Tは現在の温度、 Eは当該 A t期間に生じる推定発熱量 t+ At t
を示す。このように、当該 Δ t期間後の温度 T を、現在の温度 Tと推定発熱量 Eの t+ At t
関数として求める。
[0022] 発熱量推定部 110は、サブプロセッサ制御部 130から現在稼働しているサブプロセ ッサ 200の数を取得し、周波数制御部 140から現在の動作周波数を取得する。そし て、それらを基に、推定発熱量 Eを求める。この関係式を下記 (式 2)に示す。
[0023] Ε= ί [ a . C .V 2'f] dt…(式 2)
dd
aは所定の比例定数、 Cは負荷を容量で等価的に示した変数、 V は電源電圧、 fは dd
動作周波数である。電源電圧 V は 2乗して用いる。これらを掛け合わせたものを上 dd
記 Δ tで積分した値が推定発熱量 Eとなる。
[0024] 本実施形態の負荷の容量 Cは、下記 (式 3)で表される。
C = C +NC - - - (3)
m s
C はメインプロセッサの容量、 Cはサブプロセッサ 200の容量、 Nはサブプロセッサ 2 m s
00の稼働数である。
[0025] 発熱量推定部 110は、以上の計算により求めた推定発熱量 Eを温度制御部 120に 渡す。温度制御部 120は、上記 (式 1)に示したように、温度センサ 400から取得した 現在の温度 Tと、上記推定発熱量 Eとを基に、上記 A t期間後の温度 T を推定す t t+ At る。そして下記 (式 4)に示すように、この推定温度 T が所定のしき!/、値温度以上 t+ At
に達したカゝ否かを判断する。所定のしきい値温度は、プロセッサ 1全体の正常動作が 保証されなくなる温度である。
T ≥T - - - (4)
t+ At th
[0026] 図 3は、動作周波数とサブプロセッサ 200の稼働数の組み合わせによる動作ポイン トを示す図である。図 3において、横軸に遷移可能な動作周波数として、 4GHz, 2G Hz, 1GHzを設定している。縦軸に遷移可能なサブプロセッサ 200の稼働数として、 4個〜 0個を設定している。 0個の場合は、メインプロセッサ 100のみが稼働している 状態である。したがって、図 3は 15個の動作ポイント a〜oを有する。一番右上の動作 ポイント aのパフォーマンスが最も高ぐ一番左下の動作ポイント oのパフォーマンスが 最も低い。通常のフル稼働の場合、動作ポイント aで動作し、サブプロセッサ 200の稼 働数が 4で、動作周波数力 GHzとなる。
[0027] タスク管理部 121は、上記 A t期間後のタスクの実行状況を把握し、その時点のサ ブプロセッサ 200の並列利用可能数を特定する。そして、当該並列利用可能数を温 度制御部 120に渡す。タスクの実行状況には、 1つのタスクを実行している場合ゃ複 数のタスクを実行している場合がある。また、各タスクの性質により 1つのサブプロセッ サ 200でしか実行できな!/、タスクや、複数のサブプロセッサ 200で実行可能なタスク がある。
[0028] 図 4は、パフォーマンステーブル 122を示す図である。サブプロセッサ 200の並列 利用数に対する動作ポイントの候補が登録されている。動作ポイントは、上からパフォ 一マンスが高い順に登録されている。たとえば、サブプロセッサ 200を 2つ利用する 場合の動作ポイントは、パフォーマンスが高 、順に d→g→h→j→k→l→m→n→oと なる。なお、パフォーマンステーブル 122には、予め各動作ポイントの上記 A t期間に 生じる発熱量を記述してぉ ヽてもよ ヽ。
[0029] 温度制御部 120は、推定温度 T が所定のしきい値温度に達した場合、並列利 t+ At
用しているサブプロセッサ 200の稼働数を減らす力、プロセッサ 1全体の動作周波数 を下げて、発熱量を下げなければならない。その際、温度制御部 120は、タスク管理 部 121から入力される上記 Δ t期間後のサブプロセッサ 200の並列利用可能数を取 得し、それを基にパフォーマンステーブル 122を参照して、遷移する動作ポイントの 候補を特定する。サブプロセッサ制御部 130は、温度制御部 120の指示によりサブ プロセッサ 200の稼働数を切り替える。周波数制御部 140は、温度制御部 120の指 示により上記動作周波数を切り替える。
[0030] 図 5は、図 2に示した機能ブロックの動作を説明するためのフローチャートである。ま ず、温度制御部 120は、温度センサ 400からチップ内の現在の温度を取得する(S1 0)。次に、発熱量推定部 110は、サブプロセッサ制御部 130から現在のサブプロセッ サ 200の稼働数を取得し、周波数制御部 140から現在のプロセッサ 1全体の動作周 波数を取得する。そして、それらを上記 (式 2) , (式 3)に代入して、上記 A t期間に生 じる発熱量を推定し、温度制御部 120に渡す (Sl l)。温度制御部 120は、温度セン サ 400から取得した現在の温度と、発熱量推定部 110により推定された発熱量とを 基に、上記 A t期間後の温度を推定する(S12)。
[0031] 次に、温度制御部 120は、当該推定温度と、所定のしきい値温度とを比較する(S1 3)。当該推定温度が所定のしきい値温度に達していない場合 (S13の N)、上記 A t 期間後の温度に対する正常な動作が保証されるため、現在のサブプロセッサ 200の 稼働数および動作周波数を切り替える必要はな 、。
[0032] 当該推定温度が所定のしきい値温度以上の場合 (S13の Y)、タスク管理部 121か ら、当該 A t期間後のサブプロセッサ 200の並列利用可能数を取得する(S14)。そし て、パフォーマンステーブル 122を参照する(S 15)。より具体的には、パフオーマン ステーブル 122の中の、上記並列利用可能数の項目を参照し、現在の動作ポイント から遷移する次の動作ポイントの候補を特定する。パフォーマンステーブル 122は、 上記並列利用可能数の項目ごとに、遷移可能な動作ポイントを、パフォーマンスを損 なわない順に登録されている。したがって、次の動作ポイントの候補は、現在の動作 ポイントのパフォーマンスに対し、パフォーマンスの低下が最も小さ!/、動作ポイントと なる。温度制御部 120は、当該動作ポイントのサブプロセッサ 200の稼働数とプロセ ッサ 1全体の動作周波数とを取得し、発熱量推定部 110に渡す。
[0033] 発熱量推定部 110は、温度制御部 120から渡されたサブプロセッサ 200の稼働数 とプロセッサ 1全体の動作周波数とを上記 (式 2) , (式 3)に代入して、上記 A t期間に 生じる発熱量を再度推定し、温度制御部 120に返す (S16)。なお、パフォーマンス テーブル 122に予め各動作ポイントの上記 A t期間に生じる発熱量が記述されてい る場合は、それを用いればよい。温度制御部 120は、温度センサ 400から取得した 温度と、発熱量推定部 110により推定された発熱量とを基に、上記 A t期間後の温度 を再度推定する (S 17)。
[0034] 次に、温度制御部 120は、当該推定温度と、所定のしきい値温度とを再度比較する
(S18)。当該推定温度が所定のしきい値温度に達していない場合 (SI 8の N)、現在 の動作ポイントの候補に遷移すれば、上記 A t期間後の温度に対する正常な動作が 保証される。したがって、温度制御部 120は、当該動作ポイントの候補に遷移するた めに、サブプロセッサ制御部 130に指示してサブプロセッサ 200の稼働数を減らすか 、周波数制御部 140に指示してプロセッサ 1全体の動作周波数を下げる。または、そ の両方を行う(S 19)。
[0035] S18において、当該推定温度が所定のしきい値温度以上の場合(S18の Y)、 S15 に遷移して、再度パフォーマンステーブル 122を参照する(S 15)。そして、現在の動 作ポイントの候補力も次の動作ポイントの候補に変更する。以後、 S16, S17と上述し た処理が繰り返され、 SI 7において推定した温度力 所定のしきい値温度未満にな るまで(S 18の N)、行う。
[0036] このように、本実施形態によれば、プロセッサ 1の温度が所定のしきい値温度以上 になると推定される場合に、サブプロセッサ 200の稼働数を減らす力、プロセッサ 1全 体の動作周波数を下げるかして、これを事前に回避することができる。またその際、 パフォーマンステーブル 122を参照することによって、最もパフォーマンスを損なわな Vヽ動作ポイントに遷移することができる。
[0037] なお、上述した 1GHz, 2GHz, 4GHzといった動作周波数は、チップに与えられる 周波数であり、チップ内のメインプロセッサ 100およびサブプロセッサ 200がこの周波 数で動作している訳ではない。動作に有効に活用されている周波数、即ち実効周波 数は、上述した周波数より低いものである。この実効周波数は、タスクによって異なる 。そこで、上記 (式 2)により発熱量を推定する際、 fに実効周波数を代入してもよい。 タスク管理部 121は、現在力も上記 A t期間後までに実行するタスクを特定し、そのタ スクに応じた実効周波数を求める。発熱量推定部 110は、その実効周波数を上記( 式 2)に代入して推定発熱量 Eを算出する。これによれば、推定発熱量 Eを算出する 段階でも、タスクを考慮することができ、より精度の高い温度推定を行うことができる。
[0038] (第 2実施形態)
第 2実施形態は、第 1実施形態のように推定発熱量 Eを計算で求めるのではなぐ 予めテーブルに登録しておく例である。図 6は、第 2実施形態における主にメインプロ セッサ 100、記憶部 300および記憶部 300にロードされたソフトウェアの連携によつ て実現される機能ブロック図である。タスクテーブル 115は、各タスクごとにサブプロ セッサ 200の並列利用可能数と発熱量を格納している。図 7は、タスクテーブル 115 を示す図である。タスクの種別としては、たとえばキー入力待ち、 MPEGデータのデ コード、音声認識等がある。サブプロセッサ 200の並列利用可能数は、タスクによつ て異なる。メインプロセッサ 100のみで実行しなければならないタスクは 0となる。並列 処理可能なタスクは 1以上となる。発熱量は、各タスクごとに上記 (式 1)における A t 期間に生じる発熱量である。予め実験的に得た値を登録しておけばよい。
[0039] タスク管理部 121は、上記 A t期間のタスクの実行状況を把握して、当該 A t期間に 実行される 1以上のタスクを特定し、発熱量推定部 110に渡す。発熱量推定部 110 は、タスク管理部 121により特定されたタスクの種別を基に、タスクテーブル 115を参 照し、プロセッサ 1全体の推定発熱量 Eを求める。複数のタスクが実行される場合は、 各タスクの発熱量を足せばよい。温度センサ 400は、現在のチップの温度を温度制 御部 120に出力する。
[0040] 温度制御部 120は、上記 (式 1)に示したように、温度センサ 400から取得した現在 の温度 Tと、上記推定発熱量 Eとを基に、上記 A t期間後の温度 T を推定する。
t t+ At
そして上記 (式 4)に示すように、この推定温度 T が所定のしき 、値温度以上に達 t+ At
した力否かを判断する。所定のしきい値温度以上に達した場合、動作ポイントの遷移 を行う。動作ポイントの遷移は、第 1実施形態において説明したように、図 3および図 4に示したパフォーマンステーブル 122を参照して行う。
[0041] タスク管理部 121は、上記 A t期間後のタスクの実行状況を把握し、その時点のサ ブプロセッサ 200の並列利用可能数を特定する。そして、当該並列利用可能数を温 度制御部 120に出力する。温度制御部 120は、パフォーマンステーブル 122を参照 して動作ポイントの遷移を行う際、タスク管理部 121から取得したサブプロセッサ 200 の並列利用可能数も考慮する。動作ポイントの遷移に際し、サブプロセッサ制御部 1 30は、温度制御部 120の指示によりサブプロセッサ 200の稼働数を切り替える。周 波数制御部 140は、温度制御部 120の指示により上記動作周波数を切り替える。
[0042] なお、図 6に示した機能ブロックの動作は、第 1実施形態において図 5のフローチヤ ートを用いた説明部分と基本的に同様である。 S11において、ある上記 A t期間に生 じる発熱量を推定する際、発熱量推定部 110がタスクテーブル 115とタスク管理部 1 21から得られるタスクの実行状況を基に発熱量を推定する点が相違する。
[0043] このように第 2実施形態によれば、予めタスクごとの発熱量が記述されたタスクテー ブルを参照して、チップ全体の発熱量の推定を行うことにより、タスクを考慮した精度 の高 、温度推定を簡易な処理で行うことができる。
[0044] (第 3実施形態)
第 3実施形態は、温度センサ 400をチップ内に複数設ける例である。図 8は、第 3実 施形態におけるプロセッサの構成を示す図である。プロセッサ 1は、チップ内に、メイ ンプロセッサ 100、 4個の第 1〜4サブプロセッサ 200a〜d、記憶部 300、および 4個 の第 1〜4温度センサ 400a〜dを含む。第 1温度センサ 400aは、ブロック aの温度を 測定し、第 2温度センサ 400bは、ブロック bの温度を測定する。第 3温度センサ 400c および第 4温度センサ 400dも同様である。温度センサ 400の数は、 4個に限るもので はなく任意の数を設けることができる。たとえば、 2個設けてもよい。また、これらの配 置パターンも、図 1に示したものに限るものではなぐ任意に配置することができる。そ の他は、図 1の説明と同様である。
[0045] 第 3実施形態は、図 2や図 6に示した機能ブロック図と同様の構成で実現可能であ る。温度センサ 400が複数になる点が第 1実施形態および第 2実施形態と異なる。即 ち、温度制御部 120には、各ブロックの現在の温度が入力される。
[0046] 図 9は、第 3実施形態を説明するためのフローチャートである。まず、温度制御部 1 20は、複数の温度センサ 400から各ブロックの現在の温度を取得する(S20)。温度 制御部 120は、それを基に最高温度のブロックを特定する(S21)。次に、発熱量推 定部 110は、サブプロセッサ制御部 130から現在のサブプロセッサ 200の稼働数を 取得し、周波数制御部 140から現在のプロセッサ 1の動作周波数を取得する。そして 、それらを上記 (式 2) , (式 3)に代入して、上記 A t期間に生じる発熱量を推定し、温 度制御部 120に渡す (S22)。なお、発熱量推定部 110は、タスク管理部 121により 特定されたタスクの種別を基に、タスクテーブル 115を参照し、プロセッサ 1全体の発 熱量を推定してもよい。温度制御部 120は、特定した最高温度と、発熱量推定部 11 0により推定された発熱量とを基に、上記 A t期間後の温度を推定する(S23)。
[0047] 次に、温度制御部 120は、当該推定温度と、所定のしきい値温度とを比較する(S2 4)。当該推定温度が所定のしきい値温度に達していない場合 (S24の N)、上記 A t 期間後の温度に対する正常な動作が保証されるため、現在のサブプロセッサ 200の 稼働数および動作周波数を切り替える必要はな 、。
[0048] 当該推定温度が所定のしきい値温度以上の場合 (S24の Y)、タスク管理部 121か ら、当該 A t期間後のサブプロセッサ 200の並列利用可能数を取得する(S25)。そし て、パフォーマンステーブル 122を参照する(S26)。温度制御部 120は、パフォーマ ンステーブル 122から遷移する動作ポイントの候補を特定し、当該動作ポイントのサ ブプロセッサ 200の稼働数とプロセッサ 1の動作周波数とを取得し、発熱量推定部 1 10に渡す。
[0049] 発熱量推定部 110は、温度制御部 120から渡されたサブプロセッサ 200の稼働数 とプロセッサ 1の動作周波数とを上記 (式 2) , (式 3)に代入して、上記 A t期間に生じ る発熱量を再度推定し、温度制御部 120に返す (S27)。温度制御部 120は、上記 最高温度と、発熱量推定部 110により推定された発熱量とを基に、上記 A t期間後の 温度を再度推定する(S28)。
[0050] 次に、温度制御部 120は、当該推定温度と、所定のしきい値温度とを再度比較する
(S29)。当該推定温度が所定のしきい値温度以上の場合 (S29の Y)、 S26に遷移し て、再度パフォーマンステーブル 122を参照する(S26)。そして、現在の動作ポイン トの候補力も次の動作ポイントの候補に変更する。以後、 S27, S28と上述した処理 が繰り返され、ステップ S28において推定した温度力 所定のしきい値温度未満にな るまで(S29の N)、行う。
[0051] S29において、上記推定温度が所定のしきい値温度に達していない場合(S29の N)、現在の動作ポイントの候補に遷移すれば、上記 A t期間後の温度に対する正常 な動作が保証される。したがって、温度制御部 120は、当該動作ポイントに遷移する ように、サブプロセッサ制御部 130もしくは周波数制御部 140、または両方に指示す る。まず、当該動作ポイントに遷移するために、サブプロセッサ 200の稼働数を削減 しなければならない場合 (S30の Y)、サブプロセッサ制御部 130は、温度制御部 12 0力も指示されたサブプロセッサ 200を停止する(S31)。
[0052] ここで、温度制御部 120は、最高温度のブロックに属しているサブプロセッサ 200の 停止を指示する。当該ブロックのサブプロセッサ 200が停止している場合、当該ブロ ックに最も近い位置のサブプロセッサ 200の停止を指示する。たとえば、図 8におい てブロック aが最高温度のブロックの場合で、サブプロセッサ 200が 4個稼働から 2個 稼働に遷移する場合、第 1サブプロセッサ 200aと第 2サブプロセッサ 200bを停止さ せる。このように、最高温度のブロックに属しているサブプロセッサ 200、当該ブロック に近い位置のサブプロセッサ 200の順番で停止させていく。また、各ブロックが最高 温度になった場合の、サブプロセッサ 200を停止させる順番は、予めテーブルに記 述しておいてもよい。その場合、温度制御部 120は、当該テーブルを参照してサブプ 口セッサ制御部 130に指示する。
[0053] 次に、上記動作ポイントに遷移するために、プロセッサ 1全体の動作周波数を変更 しなければならない場合 (S32の Y)、周波数制御部 140は、温度制御部 120から指 示された動作周波数に変更する(S33)。
[0054] このように第 3実施形態によれば、動作ポイントを遷移する際に、最高温度のブロッ クに属する、または近い位置のサブプロセッサ力も停止させることにより、チップ内の 温度分布を平準化する方向で、チップ内の温度を制御することができる。
[0055] (第 4実施形態)
第 4実施形態は、各ブロックの温度に応じてタスクを割り振る例である。第 4実施形 態におけるプロセッサの構成は、図 8の説明と同様である。図 10は、第 4実施形態に おける主にメインプロセッサ 100、記憶部 300および記憶部 300にロードされたソフト ウェアの連携によって実現される機能ブロック図である。複数の温度センサ 400は、 各サブプロセッサ 200a〜dの現在の温度、またはチップ内の領域を分割して設定し た各ブロック a〜dの現在の温度を温度制御部 120に出力する。複数の温度センサ 4 00の配置は、各サブプロセッサ 200a〜dの温度を直接測る位置にあってもよぐ各 ブロック a〜dの温度を測る位置にあってもよ!、。
[0056] タスク管理部 121は、現在のタスクの実行状況や待ち行列状況を把握し、次に実行 すべきタスクの並列利用可能数を温度制御部 120に渡す。並列利用可能数は、各タ スクの性質により異なる。
[0057] 温度制御部 120は、複数の温度センサ 400から入力される温度を基に、各サブプ 口セッサ 200a〜dのテーブルを低温度順に作成する。図 11は、第 4実施形態におけ る低温度順にソートされたテーブルを示す図である。図 11では、温度の低い順に、 第 4サブプロセッサ d→第 2サブプロセッサ b→第 3サブプロセッサ c→第 1サブプロセ ッサ aとソートされている。この順番は、複数の温度センサ 400から入力される温度に より、適応的に変更される。なお、このテーブルは、各サブプロセッサ 200a〜dの温 度順番のみならず、各サブプロセッサ 200a〜dの実際のまたは推定の温度を管理し てもよい。 [0058] 複数の温度センサ 400から各ブロックの a〜dの温度が入力される場合、複数の温 度センサ 400と、各サブプロセッサ 200a〜dとの距離関係を基に、計算で各サブプロ セッサ 200a〜dの温度を推定してもよ!/、。
[0059] 温度制御部 120は、上記テーブルを参照して、次に実行すべきタスクを低温度の サブプロセッサに割り振る。その際、次に実行すべきタスクの並列利用数を考慮し、 割り振るサブプロセッサを決定する。即ち、並列利用度が 2の場合、上記テーブルを 参照して、低温度順に上から 2つのサブプロセッサに当該タスクを割り振る。これによ れば、パフォーマンスの低下を抑えながら、温度の平準化を行うことができる。勿論、 1つのサブプロセッサにのみタスクを割り振ってもよい。なお、上記テーブルが各サブ プロセッサ 200a〜dの温度も管理している場合、並列利用可能数により割り振り候補 となるサブプロセッサであっても、そのサブプロセッサが所定の閾値温度を超える温 度であるときは、割り振り候補力も除外してもよい。その場合、並列利用可能数より少 ないサブプロセッサでタスクを実行することになる。当該閾値温度は、実測ゃシミュレ ーシヨンにより最適値を求めて設定するとよいが、割り振るタスクの実行後の温度上 昇をカ卩味して、若干低めに設定してもよい。これによれば、スポット的な発熱を抑える ことができる。
[0060] 温度制御部 120は、タスクを割り振るサブプロセッサをサブプロセッサ制御部 130に 指示する。サブプロセッサ制御部 130は、温度制御部 120の指示により各サブプロセ ッサ 200a〜dの稼働 Z非稼働を制御する。
[0061] 図 12は、第 4実施形態を説明するためのフローチャートである。まず、温度制御部 120は、複数の温度センサ 400から各サブプロセッサ 200a〜dの温度、または各ブ ロック a〜dの現在の温度を取得する(S40)。次に、すべてのサブプロセッサ 200a〜 dを低温度順にソートする(S41)。そして、次に実行すべきタスクを低温度順に 1っ以 上のサブプロセッサに割り振る(S42)。その際、当該タスクにおけるサブプロセッサの 並列利用可能数、各サブプロセッサ 200a〜dの温度が所定の閾値温度を超えな ヽ か等を考慮することができる。
[0062] このように第 4実施形態によれば、低温度のサブプロセッサに優先的にタスクを割り 振って、複数のサブプロセッサの温度を平準化するように制御することにより、チップ 内の温度分布を平準化することができる。また、スポット的な発熱を事前に防止するこ ともできる。なお、本実施形態において、各サブプロセッサの温度を基に、タスクを割 り振るサブプロセッサを決定した。この点、各サブプロセッサを、チップ内の領域を分 割して設定した各ブロックに読み替えてもよい。この場合、各ブロックの温度を低温度 順にソートし、低温度のブロックに近接するサブプロセッサにタスクを割り振ることなる
[0063] 以上、本発明を実施形態をもとに説明した。これらの実施形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。
[0064] 各実施形態にお!、ては、上記 Δ t期間後の推定温度と所定のしき 、値温度とを比 較した。この点、温度センサ 400から取得する現在の温度と所定のしきい値温度とを 比較してもよい。この場合、所定のしきい値温度は、各実施形態における温度より低 めに設定するとよい。
[0065] 上記 (式 1)にお 、て、上記 Δ t期間後の温度 T は、現在の温度 Tと推定発熱量 t+ At t
Eとの関数であると説明した。この点、サブプロセッサ 200のコンビネーションを要素 に追加してもよい。上記 A t期間後の温度 T は、主としてタスクの実行状況に依存 t+ At
する。これに加えて、隣接するサブプロセッサ 200に同時にタスクが割り振られると、 離れたサブプロセッサ 200にタスクが分散する場合よりも熱が発生しやすいなどの物 理的な性質力もの影響も受ける。温度制御部 120は、タスクの実行によるサブプロセ ッサ 200のコンビネーションも考慮して、上記 Δ t期間後の温度 T を推定すること t+ At
ができる。
[0066] 第 3実施形態にぉ 、て説明したブロックは、スポット的に発熱のピークが現れる領域 の大きさに合わせて区切られることが理想であるが、当該ブロックの大きさは、発熱制 御の目標精度やプロセッサ 1の要求仕様によって自由に決めてよい。また、当該プロ ックは同一サイズで規則的に区切られてもよいが、各種プロセッサの境界に合わせて 不規則に区切られてもよい。
[0067] サブプロセッサ 200の数、その配置位置、および温度センサ 400の数、その配置位 置は、任意に設定可能である。また、パフォーマンステーブル 122に記述される遷移 可能な動作周波数、および遷移可能なサブプロセッサ 200の稼働数も、任意に設定 可能である。さらに、所定のテーブルに記述されるサブプロセッサ 200を停止させる 順番も任意に設定可能である。主に最高温度のブロックからの位置により、停止させ る順番を定めるが、重要な回路素子からの位置関係も考慮して、順番を定めてもよい
[0068] なお、本発明のプロセッサは、 PC、ワークステーション、ゲーム機、 PDA,携帯電 話機等の情報処理装置の制御部に適用可能なことはいうまでもない。また、ネットヮ ーク上に分散された資源を共有してシステムを構築するような形態の情報処理システ ムにも適用可能である。
産業上の利用可能性
[0069] 本発明は、複数の処理ブロックを備えるプロセッサのパフォーマンスを制御する分 野に適用することができる。

Claims

請求の範囲
[1] プロセッサの内部に設けられた複数の処理ブロックの並列利用度を、温度に応じて 切り替えることを特徴とするプロセッサの制御方法。
[2] 請求項 1に記載の方法にお!、て、前記並列利用度と動作周波数の組合せをプロセ ッサの温度に応じて切り替えることを特徴とするプロセッサの制御方法。
[3] 請求項 1に記載の方法において、タスクごとに定まる前記複数の処理ブロックの並 列利用可能数を考慮して、前記タスクを割り振ることを特徴とするプロセッサの制御方 法。
[4] 請求項 1または 3に記載の方法において、前記複数の処理ブロックのうち、少なくと も最も低 ヽ温度の処理ブロックに、タスクを割り振ることを特徴とするプロセッサの制 御方法。
[5] プロセッサの内部に設けられた複数の処理ブロックの並列利用度と動作周波数の 組合せを所定のテーブルを参照して切り替えることを特徴とするプロセッサの制御方 法。
[6] 請求項 5に記載の方法にお 、て、前記テーブルは前記組合せのそれぞれにつ!/、 て、処理のパフォーマンスを記述して 、ることを特徴とするプロセッサの制御方法。
[7] 請求項 6に記載の方法において、プロセッサの温度が所定のしきい値を越えると予 測されるとき、または超えたとき、前記組合せの中で現在選択されている組合せより 発熱量が低 、組合せを検出し、検出された組合せへの切替を行うことを特徴とする プロセッサの制御方法。
[8] 請求項 7に記載の方法にぉ 、て、検出された組合せが複数存在する場合、パフォ 一マンスが最大になる組合せへの切替を行うことを特徴とするプロセッサの制御方法
[9] 複数の処理ブロックと、
温度を測定するセンサと、
測定された温度に応じて、前記複数の処理ブロックの並列利用度を切り替える制御 部と、
を備えることを特徴とするプロセッサ。
[10] 請求項 9に記載のプロセッサにおいて、前記制御部は、前記温度に応じて、前記並 列利用度と動作周波数の組合せを切り替えることを特徴とするプロセッサ。
[11] 請求項 9に記載のプロセッサにおいて、前記制御部は、タスクごとに定まる前記複 数の処理ブロックの並列利用可能数を考慮して、前記タスクを割り振ることを特徴とす るプロセッサ。
[12] 請求項 9または 11に記載のプロセッサにおいて、前記制御部は、前記複数の処理 ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ることを特徴 とするプロセッサ。
[13] 複数の処理ブロックと、
前記複数の処理ブロックの並列利用度と動作周波数の組合せを記述するテーブル と、
前記テーブルを参照し、前記組合せを適宜切り替える制御部と、
を備えることを特徴とするプロセッサ。
[14] 請求項 13に記載のプロセッサにおいて、前記テーブルは前記組合せのそれぞれ につ 、て、処理のパフォーマンスを記述して 、ることを特徴とするプロセッサ。
[15] 請求項 14に記載のプロセッサにおいて、当該プロセッサの温度が所定のしきい値 を越えると予測されるとき、または超えたとき、前記制御部は、前記組合せの中で現 在よりも発熱量が低 ヽ組合せを選択し、その組合せへの切替を行うことを特徴とする プロセッサ。
[16] 各種のタスクを実行するプロセッサを備える情報処理装置であって、
前記プロセッサは、
複数の処理ブロックと、
温度を測定するセンサと、
測定された温度に応じて、前記複数の処理ブロックの並列利用度を切り替える制御 部と、
を備えることを特徴とする情報処理装置。
[17] 請求項 16に記載の装置において、前記制御部は、前記温度に応じて、前記並列 利用度と動作周波数の組合せを切り替えることを特徴とする情報処理装置。
[18] 請求項 16に記載の装置において、前記制御部は、タスクごとに定まる前記複数の 処理ブロックの並列利用可能数を考慮して、前記タスクを割り振ることを特徴とする情 報処理装置。
[19] 請求項 16または 18に記載の装置において、前記制御部は、前記複数の処理プロ ックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ることを特徴とす る情報処理装置。
[20] 各種のタスクを実行するプロセッサを備える情報処理装置であって、
前記プロセッサは、
複数の処理ブロックと、
前記複数の処理ブロックの並列利用度と動作周波数の組合せを記述するテーブル と、
前記テーブルを参照し、前記組合せを適宜切り替える制御部と、
を含むことを特徴とする情報処理装置。
[21] 各種のタスクを実行するプロセッサを備える情報処理システムであって、
前記プロセッサは、
複数の処理ブロックと、
温度を測定するセンサと、
測定された温度に応じて、前記複数の処理ブロックの並列利用度を切り替える制御 部と、
を備えることを特徴とする情報処理システム。
[22] 請求項 21に記載のシステムにお 、て、前記制御部は、前記温度に応じて、前記並 列利用度と動作周波数の組合せを切り替えることを特徴とする情報処理システム。
[23] 請求項 21に記載のシステムにお 、て、前記制御部は、タスクごとに定まる前記複数 の処理ブロックの並列利用可能数を考慮して、前記タスクを割り振ることを特徴とする 情報処理システム。
[24] 請求項 21または 23に記載のシステムにおいて、前記制御部は、前記複数の処理 ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ることを特徴 とする情報処理システム。
[25] 各種のタスクを実行するプロセッサを備える情報処理システムであって、 前記プロセッサは、
複数の処理ブロックと、
前記複数の処理ブロックの並列利用度と動作周波数の組合せを記述するテーブル と、
前記テーブルを参照し、前記組合せを適宜切り替える制御部と、
を含むことを特徴とする情報処理システム。
[26] プロセッサの内部に設けられた複数の処理ブロックの並列利用度を、温度に応じて 切り替えることを特徴とするプロセッサの制御プログラム。
[27] 請求項 26に記載のプログラムにおいて、前記並列利用度と動作周波数の組合せ をプロセッサの温度に応じて切り替えることを特徴とするプロセッサの制御プログラム
[28] 請求項 26に記載のプログラムにおいて、タスクごとに定まる前記複数の処理ブロッ クの並列利用可能数を考慮して、前記タスクを割り振ることを特徴とするプロセッサの 制御プログラム。
[29] 請求項 26または 28に記載のプログラムにおいて、前記複数の処理ブロックのうち、 少なくとも最も低 、温度の処理ブロックに、タスクを割り振ることを特徴とするプロセッ サの制御プログラム。
[30] プロセッサの内部に設けられた複数の処理ブロックの並列利用度と動作周波数の 組合せを所定のテーブルを参照して切り替えることを特徴とするプロセッサの制御プ ログラム。
PCT/JP2005/006965 2004-06-22 2005-04-08 プロセッサ、情報処理装置およびプロセッサの制御方法 WO2005124550A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/575,041 US7831842B2 (en) 2004-06-22 2005-04-08 Processor for controlling performance in accordance with a chip temperature, information processing apparatus, and method of controlling processor
KR1020067014031A KR100878660B1 (ko) 2004-06-22 2005-04-08 프로세서, 정보처리장치, 정보처리시스템, 프로세서의 제어방법, 및 프로세서의 제어 프로그램을 격납한 기록매체
EP20050728541 EP1783608B1 (en) 2004-06-22 2005-04-08 Processor, information processor and control method of processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-183988 2004-06-22
JP2004183988A JP3805344B2 (ja) 2004-06-22 2004-06-22 プロセッサ、情報処理装置およびプロセッサの制御方法

Publications (1)

Publication Number Publication Date
WO2005124550A1 true WO2005124550A1 (ja) 2005-12-29

Family

ID=35509891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/006965 WO2005124550A1 (ja) 2004-06-22 2005-04-08 プロセッサ、情報処理装置およびプロセッサの制御方法

Country Status (7)

Country Link
US (1) US7831842B2 (ja)
EP (1) EP1783608B1 (ja)
JP (1) JP3805344B2 (ja)
KR (1) KR100878660B1 (ja)
CN (1) CN100432943C (ja)
TW (1) TWI307013B (ja)
WO (1) WO2005124550A1 (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006073899A2 (en) * 2004-12-30 2006-07-13 Intel Corporation Operating point management in multi-core architectures
WO2007128668A1 (en) * 2006-05-03 2007-11-15 International Business Machines Corporation Selection of processor cores for optimal thermal performance
JP2008097280A (ja) * 2006-10-11 2008-04-24 Denso Corp 移動体用マルチコアcpuの制御装置、移動体用マイクロコンピュータ及び移動体操縦支援装置
US7460932B2 (en) 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7480586B2 (en) 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7512530B2 (en) 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7512513B2 (en) 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7552346B2 (en) 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
JP2009193509A (ja) * 2008-02-18 2009-08-27 Fujitsu Ltd 情報処理装置、情報処理方法、情報処理プログラム
US7603576B2 (en) 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7721128B2 (en) 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US8027798B2 (en) 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US8037893B2 (en) 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US8806228B2 (en) 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US9015501B2 (en) 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US9097590B2 (en) 2005-11-29 2015-08-04 International Business Machines Corporation Tracing thermal data via performance monitoring
CN116638017A (zh) * 2023-06-26 2023-08-25 深圳市欣茂鑫实业有限公司 一种基于自动化锻压冲压模的远程控制方法及系统

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
JP2007241376A (ja) * 2006-03-06 2007-09-20 Fujitsu Ten Ltd 情報処理装置
JP4819600B2 (ja) * 2006-06-30 2011-11-24 富士通株式会社 情報処理装置の試験装置及び方法及びプログラム
CN101689106B (zh) 2007-06-12 2013-10-09 松下电器产业株式会社 多处理器控制装置、多处理器控制方法以及多处理器控制电路
JP5189921B2 (ja) 2008-08-02 2013-04-24 レノボ・シンガポール・プライベート・リミテッド コンピュータの放熱システム
JP5245852B2 (ja) * 2009-01-17 2013-07-24 日本電気株式会社 サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム
US8689037B2 (en) 2009-12-16 2014-04-01 Qualcomm Incorporated System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US8775830B2 (en) * 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US8909962B2 (en) 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8826049B2 (en) 2010-11-16 2014-09-02 International Business Machines Corporation Minimizing airflow using preferential memory allocation by prioritizing memory workload allocation to memory banks according to the locations of memory banks within the enclosure
CN103348324A (zh) * 2011-02-10 2013-10-09 富士通株式会社 调度方法、设计辅助方法以及系统
US8942857B2 (en) * 2011-04-22 2015-01-27 Qualcomm Incorporated Method and system for thermal load management in a portable computing device
JP2012243274A (ja) * 2011-05-24 2012-12-10 Mitsubishi Electric Corp 情報処理装置および消費電力制御方法
US8688289B2 (en) * 2011-07-07 2014-04-01 Qualcomm Incorporated Method and system for preempting thermal load by proactive load steering
JP5729197B2 (ja) * 2011-07-28 2015-06-03 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US8954017B2 (en) * 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device
CN102981439B (zh) * 2011-09-07 2017-06-06 技嘉科技股份有限公司 电子元件工作频率的监控方法及其监控装置与电子装置
KR101885857B1 (ko) 2012-01-04 2018-08-06 삼성전자주식회사 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법
TWI617988B (zh) 2013-01-31 2018-03-11 聯想企業解決方案(新加坡)有限公司 根據處理器位置之熱條件進行排程的電腦系統與方法
US9170631B2 (en) * 2013-02-05 2015-10-27 Advanced Micro Devices, Inc. Adaptive temperature and power calculation for integrated circuits
WO2014186948A1 (en) * 2013-05-21 2014-11-27 Advanced Micro Devices, Inc. Thermal-aware compiler for parallel instruction execution in processors
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
CN103577270B (zh) * 2013-10-30 2017-05-17 宇龙计算机通信科技(深圳)有限公司 控制分体式移动终端的使用方法及分体式移动终端
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
US9703613B2 (en) * 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
US10082847B2 (en) * 2014-04-01 2018-09-25 Qualcomm Incorporated Method and system for optimizing performance of a PCD while mitigating thermal generation
JP2016010112A (ja) * 2014-06-26 2016-01-18 オリンパス株式会社 画像処理装置
KR20160027757A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 전자 장치 내의 발열을 관리하기 위한 방법 및 이를 위한 전자 장치
CN104199529A (zh) * 2014-09-16 2014-12-10 山东超越数控电子有限公司 一种计算机智能风扇控制方法
CN104536483B (zh) * 2014-12-11 2017-12-12 上海卓悠网络科技有限公司 一种通讯终端的温度控制方法与装置
US9760402B2 (en) * 2015-07-23 2017-09-12 Dell Products L.P. Systems and methods for input/output traffic shaping for optimal performance under thermal constraints
CN105278647B (zh) * 2015-10-20 2018-07-06 福州瑞芯微电子股份有限公司 一种芯片温控管理方法及系统
US9749740B2 (en) * 2015-11-17 2017-08-29 Motorola Solutions, Inc. Method and apparatus for expanded temperature operation of a portable communication device
KR102599653B1 (ko) 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
US9817697B2 (en) * 2016-03-25 2017-11-14 International Business Machines Corporation Thermal-and spatial-aware task scheduling
US10359820B2 (en) 2016-05-31 2019-07-23 Lenovo (Beijing) Co., Ltd. Electronic device and control method thereof
CN106095640B (zh) * 2016-05-31 2019-07-26 联想(北京)有限公司 一种控制方法及电子设备
JP2018106591A (ja) * 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、動作制御方法、及びプログラム
CN107357385B (zh) * 2017-06-09 2020-04-28 努比亚技术有限公司 基于频率控制温度的方法、终端及计算机可读存储介质
US11086371B2 (en) * 2018-06-06 2021-08-10 Lenovo (Singapore) Pte. Ltd. Heat suppression in an information processing device in an initial setting mode
KR20220028443A (ko) 2020-08-28 2022-03-08 삼성전자주식회사 주변장치 인터페이스를 포함하는 장치 및 그것의 동작 방법
CN114528083B (zh) * 2022-02-17 2023-03-21 珠海星云智联科技有限公司 数据处理单元dpu业务数据的调度处理方法及相关产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322259A (ja) * 1999-05-11 2000-11-24 Hitachi Ltd データ処理装置
JP2004078929A (ja) * 2002-08-12 2004-03-11 Hewlett-Packard Development Co Lp プロセッサ・レベルにて性能を最適化するシステム、方法、装置
JP2004126968A (ja) * 2002-10-03 2004-04-22 Fujitsu Ltd 並列計算機のジョブスケジューリング装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
JP3567354B2 (ja) 1996-12-26 2004-09-22 株式会社リコー マルチプロセッサシステムおよび命令作成装置
JPH11237933A (ja) 1998-02-20 1999-08-31 Mitsubishi Electric Corp 生産管理システム
US6091255A (en) * 1998-05-08 2000-07-18 Advanced Micro Devices, Inc. System and method for tasking processing modules based upon temperature
US6345240B1 (en) * 1998-08-24 2002-02-05 Agere Systems Guardian Corp. Device and method for parallel simulation task generation and distribution
JP2001147730A (ja) * 1999-09-10 2001-05-29 Sony Computer Entertainment Inc 電子機器
US6198245B1 (en) 1999-09-20 2001-03-06 O2 Micro International Ltd. Look-ahead closed-loop thermal management
US6501999B1 (en) * 1999-12-22 2002-12-31 Intel Corporation Multi-processor mobile computer system having one processor integrated with a chipset
EP1182556B1 (en) * 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
KR100830747B1 (ko) * 2000-10-25 2008-05-20 텍사스 인스트루먼츠 인코포레이티드 분산된 프로세싱 시스템을 위한 인텔리젼트 전력 관리
US6988211B2 (en) * 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6836849B2 (en) * 2001-04-05 2004-12-28 International Business Machines Corporation Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6938176B1 (en) * 2001-10-05 2005-08-30 Nvidia Corporation Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
CA2365729A1 (en) * 2001-12-20 2003-06-20 Platform Computing (Barbados) Inc. Topology aware scheduling for a multiprocessor system
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
KR100935574B1 (ko) * 2002-11-04 2010-01-07 삼성전자주식회사 Cpu 과열방지시스템
US20040128663A1 (en) * 2002-12-31 2004-07-01 Efraim Rotem Method and apparatus for thermally managed resource allocation
US20050046400A1 (en) * 2003-05-21 2005-03-03 Efraim Rotem Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322259A (ja) * 1999-05-11 2000-11-24 Hitachi Ltd データ処理装置
JP2004078929A (ja) * 2002-08-12 2004-03-11 Hewlett-Packard Development Co Lp プロセッサ・レベルにて性能を最適化するシステム、方法、装置
JP2004126968A (ja) * 2002-10-03 2004-04-22 Fujitsu Ltd 並列計算機のジョブスケジューリング装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1783608A4 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006073899A2 (en) * 2004-12-30 2006-07-13 Intel Corporation Operating point management in multi-core architectures
WO2006073899A3 (en) * 2004-12-30 2007-01-04 Intel Corp Operating point management in multi-core architectures
US11287871B2 (en) 2004-12-30 2022-03-29 Intel Corporation Operating point management in multi-core architectures
US10013047B2 (en) 2004-12-30 2018-07-03 Intel Corporation Operating point management in multi-core architectures
US9785226B2 (en) 2004-12-30 2017-10-10 Intel Corporation Operating point management in multi-core architectures
US9619009B2 (en) 2004-12-30 2017-04-11 Intel Corporation Operating point management in multi-core architectures
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8650424B2 (en) 2004-12-30 2014-02-11 Intel Corporation Method and apparatus to control power consumption of a plurality of processor cores
US7721128B2 (en) 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7512530B2 (en) 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7460932B2 (en) 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7480586B2 (en) 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7603576B2 (en) 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7512513B2 (en) 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7747407B2 (en) 2005-11-29 2010-06-29 International Business Machines Corporation Thermal interrupt generation
US7957848B2 (en) 2005-11-29 2011-06-07 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US9097590B2 (en) 2005-11-29 2015-08-04 International Business Machines Corporation Tracing thermal data via performance monitoring
US8037893B2 (en) 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7552346B2 (en) 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
WO2007128668A1 (en) * 2006-05-03 2007-11-15 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8806228B2 (en) 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US9015501B2 (en) 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
JP2008097280A (ja) * 2006-10-11 2008-04-24 Denso Corp 移動体用マルチコアcpuの制御装置、移動体用マイクロコンピュータ及び移動体操縦支援装置
US8027798B2 (en) 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
JP2009193509A (ja) * 2008-02-18 2009-08-27 Fujitsu Ltd 情報処理装置、情報処理方法、情報処理プログラム
CN116638017A (zh) * 2023-06-26 2023-08-25 深圳市欣茂鑫实业有限公司 一种基于自动化锻压冲压模的远程控制方法及系统
CN116638017B (zh) * 2023-06-26 2024-04-12 深圳市欣茂鑫实业有限公司 一种基于自动化锻压冲压模的远程控制方法及系统

Also Published As

Publication number Publication date
TWI307013B (en) 2009-03-01
JP2006011548A (ja) 2006-01-12
TW200604790A (en) 2006-02-01
EP1783608B1 (en) 2015-05-20
US7831842B2 (en) 2010-11-09
CN1860447A (zh) 2006-11-08
JP3805344B2 (ja) 2006-08-02
US20070143763A1 (en) 2007-06-21
CN100432943C (zh) 2008-11-12
EP1783608A1 (en) 2007-05-09
KR20070033952A (ko) 2007-03-27
EP1783608A4 (en) 2010-09-08
KR100878660B1 (ko) 2009-01-15

Similar Documents

Publication Publication Date Title
WO2005124550A1 (ja) プロセッサ、情報処理装置およびプロセッサの制御方法
CN106170742B (zh) 多处理器片上系统中的能效感知热管理的方法和系统
US9442774B2 (en) Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US8942857B2 (en) Method and system for thermal load management in a portable computing device
Chaudhry et al. Thermal-aware scheduling in green data centers
KR101534449B1 (ko) 이기종 멀티 코어 프로세서에서의 열 에너지 생성을 관리하는 시스템 및 방법
US8296773B2 (en) Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US20040128663A1 (en) Method and apparatus for thermally managed resource allocation
US20140115363A1 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
Cao et al. Cooling-aware job scheduling and node allocation for overprovisioned HPC systems
JP5109799B2 (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
Wong et al. An on-line approach for power minimization in qos sensitive systems
Said et al. Towards a global energy management within a data center

Legal Events

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

Ref document number: 200580001100.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020067014031

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 2005728541

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007143763

Country of ref document: US

Ref document number: 10575041

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020067014031

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2005728541

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10575041

Country of ref document: US