[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2008069029A1 - 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置 - Google Patents

半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置 Download PDF

Info

Publication number
WO2008069029A1
WO2008069029A1 PCT/JP2007/072694 JP2007072694W WO2008069029A1 WO 2008069029 A1 WO2008069029 A1 WO 2008069029A1 JP 2007072694 W JP2007072694 W JP 2007072694W WO 2008069029 A1 WO2008069029 A1 WO 2008069029A1
Authority
WO
WIPO (PCT)
Prior art keywords
switching
integrated circuit
semiconductor integrated
execution environment
arithmetic
Prior art date
Application number
PCT/JP2007/072694
Other languages
English (en)
French (fr)
Inventor
Hiroaki Inoue
Masamichi Takagi
Masayuki Mizuno
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to US12/517,986 priority Critical patent/US20090271594A1/en
Publication of WO2008069029A1 publication Critical patent/WO2008069029A1/ja

Links

Classifications

    • 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]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • 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 semiconductor integrated circuit having a plurality of CPUs, and more particularly to a semiconductor integrated circuit and a semiconductor integrated circuit capable of improving the reliability of a semiconductor integrated circuit by damage control in a wear failure.
  • the present invention relates to a control device, a load distribution method, a load distribution program, and an electronic device.
  • FIG. 1 is a conventional diagram schematically showing an example of a configuration example of a damage control apparatus by load distribution at an application level.
  • the application (AP) 30P1-Pm is configured to run on the execution environment 40P1-Pn consisting of CPU10P1-Pn and OS20P1-Pn! / .
  • the OS 20P1-Pn performs control so as to make the load status of each CPU constant, such as moving the application to a different CPU according to the load of the application 30P1-Pn.
  • fatigue (load) on the CPU10P1-Pn is leveled, so that the service life of the semiconductor device can be extended.
  • Patent Document 1 Japanese Patent Laid-Open No. 62-0775739.
  • Patent Document 1 discloses a task load distribution method capable of fixed assignment of tasks, as in the configuration shown in FIG. 1 (see Patent Document 1 described later). Therefore, Patent Document 1 has the same problem as FIG.
  • FIG. 2 is a conventional diagram showing a typical example of the configuration of the damage control device using the power control mechanism.
  • a power control mechanism 1000 is provided in the configuration example of the damage control device shown in FIG. 2, in addition to the configuration in FIG. 1, a power control mechanism 1000 is provided.
  • the CPU 10P1 is connected to the C without load via the power supply control mechanism 1000.
  • the method shown in FIG. 2 has the following problems.
  • Patent Document 2 Japanese Patent Laid-Open No. 2004-355153 discloses a power management system using an OS for a cylindrical processor (see Patent Document 2 described later).
  • Patent Document 2 discloses a configuration similar to that shown in FIG. Therefore, Patent Document 2 has the same problem as FIG.
  • Patent Document 1 JP-A-62-275739
  • Patent Document 2 JP 2004-355153 A
  • the execution environment means not only an application but also an application execution environment including an OS and middleware.
  • an object of the present invention is to provide a semiconductor integrated circuit having a plurality of arithmetic units.
  • Another object of the present invention is to provide a semiconductor integrated circuit, a semiconductor integrated circuit control device, a load distribution method, a load distribution program, and an electronic device that can distribute damage to each arithmetic device with finer accuracy than before.
  • the damage control means includes a switching determination means for calculating a load situation applied to the arithmetic device, and a switching means for switching an execution environment in operation on the arithmetic device based on a calculation result by the switching determination means. It is characterized by.
  • the present invention it is possible to move the execution environment itself including the OS, to perform more accurate load distribution of the arithmetic device, and to control the cumulative damage to the arithmetic device for each arithmetic device. Therefore, damage to the semiconductor integrated circuit can be leveled, and the useful life of the semiconductor integrated circuit can be extended.
  • the damage control means for controlling the switching of the execution environment between the plurality of arithmetic devices operable by the program calculates the load situation applied to the arithmetic device, and based on the calculation result, the arithmetic device This is because the execution environment during operation is switched.
  • a damage control means 100 for controlling damage of the CPU 10P1-Pn is provided.
  • the damage control means 100 determines the switching of the execution environment for distributing the damage, and based on the determination, the execution environment context is separated from a certain CPU. It is possible to move to the CPU.
  • the execution environment can be switched so that the damage is evenly distributed among the CPUs.
  • a damage threshold value is set for each CPU, and each CPU is damaged. It is also possible to switch the execution environment so that one page approaches each threshold.For example, a specific CPU damage threshold is set lower than other CPUs, and the damage of a specific CPU exceeds the threshold. You can also switch the execution environment like this!
  • the CPU load can be distributed with higher accuracy, and at the same time, the cost required for software modification can be reduced.
  • FIG. 3 is a block diagram showing the configuration of the damage control apparatus for a semiconductor integrated circuit according to the first embodiment of the present invention.
  • the damage control apparatus for a semiconductor integrated circuit includes a plurality of CPU10P1-Pn, accelerator 50, ROM51, RAM52, and input / output units connected via a system bus 60.
  • a damage control means 100 for controlling the damage of the CPU is provided.
  • CPU10P1-Pn accelerator 50, ROM51, RA in the present embodiment M52, 1/053, interrupt ⁇ clock ⁇ power supply control unit 54, timer 55, damage control means 100, each with a separate package configuration. (System—in—Package) structure, or a combination of these! /.
  • CPUlOP-1-l ⁇ may be any arithmetic device capable of performing a program operation, such as a signal processor, a VLIW processor, or a configurable processor.
  • the damage control means 100 may be realized with a software configuration in addition to the hardware configuration.
  • the damage to the CPU is calculated from a group of phenomena that cause aging deterioration in the semiconductor device as described below.
  • such phenomena include wiring electromiddle stress stress migration, aging breakdown of transistor oxide, NBTI (Negative Bias Temperature Instability), hot carrier injection, and the like.
  • NBTI Negative Bias Temperature Instability
  • hot carrier injection hot carrier injection
  • these phenomena have the characteristic that the average failure rate varies depending on the temperature and gate-source voltage. Therefore, the index calculated from the temperature, voltage, current consumption, operating rate, CPU internal resource access count and! /, At a certain point in time, is called the damage rate below.
  • the damage rate is calculated or observed by the damage control means based on the information on the phenomenon as described above.
  • the measurement of temperature, voltage, and power consumption may be converted from a measurement device provided in itself, a measurement device of a semiconductor integrated circuit, or internal load information. In any case, it can be acquired based on information from a conventional measuring apparatus.
  • FIG. 4 is a diagram showing an example of the operating environment of the semiconductor integrated circuit damage control apparatus according to the present embodiment, and the operating environment diagram 201 shows the operating environment of the semiconductor integrated circuit at time T and is executed.
  • the environment-damage rate information 202 indicates the execution environment operating at time T and the damage rate at time T for each CPU.
  • the execution environment 40P1 composed of OS20P1 and multiple applications 30P1 .30P2 is displayed on the CPU10P1 and S20P2 and application 30P3 power, real fi environment 40P2 power It is shown that the execution environment 40Pn consisting of OS2 OPn and application 30Pm is running on CPUlOPn.
  • the damage rate of the CPU 10P1 in which the execution environment 40P1 is operating is 60%
  • the CPU 10P2 in which the execution environment 40P2 is operating is 60%
  • the damage rate is 30%
  • the damage rate of the CPU 10P3 running the execution environment 40P3 is 5%
  • the damage rate of the CPUlOPn running the execution environment 40Pn is 25%.
  • the damage control apparatus in the present embodiment changes the configuration of the execution environment 40P1-Pn based on the damage rate.
  • FIG. 5 is a diagram showing an example of the operating environment of the damage control apparatus for a semiconductor integrated circuit according to the present embodiment.
  • the operating environment diagram 301 shows the operating environment of the semiconductor integrated circuit at time T + ⁇ and is executed.
  • Environment-damage rate information 302 includes the execution environment operating at time T and time ⁇ + ⁇ ⁇ , the damage rate at time ⁇ and time ⁇ + ⁇ ⁇ , and the time ⁇ and time ⁇ + ⁇ ⁇ for each CPU. It shows the cumulative damage rate.
  • the damage control device executes the operation environment diagram 201 at time T + ⁇ ⁇ in the operation environment diagram 201.
  • Execution environment 40P1 is executed to CPU10P3
  • execution environment 40 ⁇ 2 is executed to CPUlOPn It can be seen that environment 40P3 has moved to CPU10P1, and execution environment 40Pn has moved to CPU10P2.
  • FIG. 6 is a block diagram showing a configuration example of the damage control means of the semiconductor integrated circuit in the present embodiment.
  • this damage control means 100 has a function of determining the CPU configuration for leveling the damage rate based on the damage rate of all CPUs or partial CPUs!
  • a switching determination unit 110 and a switching unit 120 having a function of switching input / output signals of all CPUs are provided.
  • the switching determination means 110 observes a damage rate, which is an index calculated from scales such as temperature, voltage, current consumption, operating rate, and CPU internal resource access count at all times or at some time interval. Then, the switching determination unit 110 notifies the switching unit 120 of the CPU configuration to be changed by using a calculation method for leveling the damage rate of each CPU. However, since the switching unit 120 cannot always switch the execution environment 40 at any time, the switching determination unit 110 cooperates with the execution environment 40, for example, when the internal cache is flushed. Alternatively, the notification may be made to the switching means 120 after the execution environment 40 becomes in a stable state that can be switched, such as a state in which the interrupt processing with the external I / O is completed.
  • a damage rate which is an index calculated from scales such as temperature, voltage, current consumption, operating rate, and CPU internal resource access count at all times or at some time interval. Then, the switching determination unit 110 notifies the switching unit 120 of the CPU configuration to be changed by using a calculation method for leveling the damage rate of each CPU.
  • the switching unit 120 is connected to the input / output signals of all the CPUs and the system bus 60, and switches the input / output signals of the CPUs to be switched based on the notification from the switching determination unit 120.
  • the switching means 120 may switch input / output signals including general signals such as a clock signal “reset signal” and “interrupt signal” that can be transmitted only by the instruction / data bus.
  • the switching unit 120 has a function related to setting and extraction of the context of the execution environment currently being executed by each CPU.
  • the switching unit 120 can switch the execution environment running on a certain CPU to another CPU.
  • the context is information indicating a storage state at a specified moment of the operating CPU.
  • FIG. 7 is a diagram illustrating a configuration example of the switching unit of the semiconductor integrated circuit according to the present embodiment.
  • the switching means 120 sets the context of the CPU execution environment 'extraction A context setting extraction unit 121 having a function to perform the operation, and a signal connection unit 122 having a function of switching the connection of the input / output signal to the CPU in cooperation with the context setting extraction unit 121.
  • the context setting extraction unit 121 is connected to the switching determination unit 110.
  • the context setting extraction unit 121 sets the context via the system bus 60 connected to the CPU 10P1-Pn. Performs extraction and retains the extracted context. Further, the context setting extraction unit 121 notifies the signal connection unit 122 of an instruction to start and stop switching.
  • the signal connection means 122 is connected to the CPU 10Pl-Pn and the system bus 60, and switches the signal connection according to an instruction from the context setting extraction means 121.
  • the context setting extraction unit 121 can be realized by either a hardware configuration or a software configuration.
  • the context setting extraction means 121 is a conventional technology that uses a scan chain to acquire all the data in the CPU in the case of a hardware configuration, or a hyper provided in the CPU in the case of a software configuration. Any configuration can be used as long as it is realized by the conventional technology for setting / extracting the context, such as the conventional technology when data is set and saved by the operation in the visor mode.
  • the signal connection means 122 is information necessary for operating the execution environment in software, such as changing the interrupt notification destination only by switching all hardware signals and changing the processor number. It can be realized by resetting the group! /.
  • the damage control device for a semiconductor integrated circuit operates as a hardware component such as an LSI (Large Scale Integration) in which a program for realizing such a function is incorporated in the damage control device.
  • LSI Large Scale Integration
  • it is realized by software by executing a program that provides each function of each component described above by the CPU 10 on the computer processing device.
  • CPU10 CPU10, CPU10P1 ⁇ ;! OPn
  • CPU10 loads the program stored in ROM51 into the main memory and executes it to control the operation of the damage control device.
  • each function described above can be realized by software.
  • FIG. 8 is a flowchart showing the operation of the damage control apparatus for a semiconductor integrated circuit according to the present embodiment.
  • the damage control apparatus observes the damage rate at all times or at a certain time interval by switching judgment means 110 (step S101), and equalizes the damage rate of each CPU.
  • the CPU configuration to be changed is determined using the calculation method for the change (step S102), and the switching unit 120 is notified of the CPU configuration to be changed (step S103).
  • the switching means 120 extracts and sets the context of the currently executing execution environment of the corresponding CPU based on the notification from the switching determination means 110 (step SI 04).
  • the input / output signal is switched (step S105).
  • FIG. 9 is a diagram for explaining an example of the operation of the switching unit 120 in FIG.
  • the sign consisting of S and a number beside the arrow represents the step number. This example explains how to move the execution environment by setting and extracting the context.
  • Step S201 The context setting extraction unit 121 receives the CPU 10 from the switching determination unit 110.
  • Step S202 The context setting extraction unit 121 requests the signal connection unit 122 to stop the distribution of signals such as reset and interrupt. At this time, the context setting extraction unit 121 permits the signal connection means 122 to input / output signals related to context setting / extraction.
  • Step S203 The context setting extraction unit 121 extracts (reads out) the context from the CPU 10P2, and temporarily stores it in the context storage unit 123.
  • Step S204 The context setting extraction unit 121 reads the context from CPUlOPn, temporarily stores it in the context storage unit 123, and stores it in step S203. Set the CPU10P2 context for CPUlOPn.
  • Step S205 The context setting extraction unit 121 stores the CPU 1 stored in step S204.
  • Step S206 The context setting extraction unit 121 terminates the setting of the context.
  • the signal connection unit 122 is instructed to switch signals.
  • Step S207 When the signal connection unit 122 receives the switching instruction from the context setting extraction unit 121, the signal connection unit 122 switches the signal connection from the system bus 60 as if the signal of CPU10P2 is connected as CPUlOPn. Also, from the system bus 60, the signal connection is switched X as if the CPUlOPn signal was connected as CPU10P2.
  • FIG. 10 is a diagram for explaining an example of the operation of the switching unit 120 in FIG. In Fig. 10, the sign consisting of S and a number beside the arrow represents the step number. In this example, the connection status of the signal line after context setting / extraction is explained.
  • Step S301 The context setting extraction unit 121 instructs the signal connection unit 122 to switch the connection between the CPU 10P2 and the CPU 10P4, and the signal connection unit 122 switches the signal line according to the instruction. .
  • Step S302 The signal connection means 122 receives an input signal for the CPU 10P2 from the system bus 60.
  • Step S303 The signal connection means 122 transfers the signal to the CPUlOPn.
  • Step S304 The signal connection means 122 receives an input signal for the CPUlOPn from the system bus 60.
  • Step S305 The signal connection unit 122 transfers the signal to the CPU 10P2.
  • FIG. 11 is a diagram for explaining an example of the operation of the damage control means 100 of FIG.
  • FIG. 11 the sign consisting of S and a number beside the arrow represents the step number. In this example, the entire operation described in FIGS. 9 and 10 is shown.
  • Step S401 The switching means 120 accepts a signal from the system bus 60 to the CPU 10P2. To do.
  • Step S402 Switching means 120 passes the signal to CPU 10P2.
  • Step S403 The switching determination means 110 notifies the switching means 120 that the execution environment on the CPU 10P2 is moved to the CPUlOPn based on the damage rate calculation, and the switching means 120 is based on the notification. Then, the contexts of CPU10P2 and CPUlOPn are exchanged, and the signal connection is switched so that the connection from the system bus 60 is switched.
  • Step S404 Switching means 120 accepts a signal from system bus 60 to CPU 10P2.
  • Step S405 The switching means 120 passes the signal to CPUlOPn.
  • the execution environment itself including the OS it is possible to move the execution environment itself including the OS to a semiconductor integrated circuit having a plurality of CPUs that do not perform load distribution only at the application level. Damage can be leveled.
  • the damage control means power is calculated from temperature, voltage, current consumption, operating rate, number of accesses to CPU internal resources and the scale at any time or at some time interval.
  • damage leveling in the form implemented by hardware, damage leveling can be realized with minimal modification of existing software.
  • FIG. 12 is a diagram showing a configuration example of the damage control means of the semiconductor integrated circuit in the present embodiment.
  • the damage control means 100 in this embodiment is leveled based on the damage rate of all CPUs or partial CPUs, similarly to the damage control means 100 in the first embodiment.
  • the switching determination unit 110 having a function of considering the CPU configuration and the switching unit 120 having a function of switching input / output signals of all CPUs.
  • the switching determination unit 110 in the present embodiment has the same characteristics as the switching determination unit 110 in the first embodiment described in FIG. 6 and FIG.
  • the switching determination unit 110 in the present embodiment is different from the switching determination unit 110 in the first embodiment in that it is implemented as software on CPUlOP1- ⁇ .
  • the switching determination means 110 in this embodiment may be implemented as a so-called application, library, task, thread, or process, or may be implemented as an OS module or device driver! /, However, it may be implemented inside a new CPU mode, such as hypervisor mode, which has higher priority than user supervisor mode.
  • Switching means 120 in the present embodiment has the same characteristics as switching means 120 in the first embodiment described in FIGS. 6 and 11, but in the present embodiment realized as the software. It is different from the switching unit 120 in the first embodiment in that it cooperates with the switching determination unit 110.
  • the execution environment including the switching determination means 110 implemented as software on the CPU 10P1-Pn it is possible to move the execution environment including the switching determination means 110 implemented as software on the CPU 10P1-Pn. Compared with the embodiment, the accumulated damage to each CPU can be leveled.
  • FIG. 13 is a diagram showing a configuration example of the damage control means of the semiconductor integrated circuit in the present embodiment.
  • the damage control means 100 in the present embodiment is the same as the switching determination means 110 in the first and second embodiments, based on the damage rate of all CPUs or partial CPUs.
  • a switching determination unit 110 having a function of considering a CPU configuration for leveling the rate and a switching unit 120 having a function of switching input / output signals of all CPUs are provided.
  • switching determination means 110 in the present embodiment is realized as software, similar to switching determination means 110 in the second embodiment described with reference to FIG.
  • the switching determination unit 110 in the present embodiment has the same characteristics as the switching determination unit 110 in the second embodiment described in FIG.
  • Switching means 120 in the present embodiment differs from switching means 120 in the first embodiment in that it is implemented as software on CPU 10P1-Pn.
  • the switching means 120 in the present embodiment may be implemented as a so-called application, library, task, thread, or process, or may be implemented as an OS module or device driver, or a hypervisor. It may be implemented inside a new CPU mode, such as visor mode.
  • Switching means 120 in the present embodiment is implemented as software, and therefore cannot switch all input / output signals. Therefore, the switching means 120 in the present embodiment copes with the problem by resetting a group of information necessary for operating the execution environment in software, such as changing the interrupt notification destination and changing the processor number.
  • the present invention is limited to the damage control apparatus and method. Applicable to any damage control device and method.
  • FIG. 1 is a diagram showing a configuration example of a conventional damage control device.
  • FIG. 2 is a diagram showing a configuration example of a conventional damage control device.
  • FIG. 3 is a block diagram showing a configuration of a damage control apparatus for a semiconductor integrated circuit according to the first embodiment of the present invention.
  • FIG. 4 is a diagram showing an example of the operating environment of the damage control apparatus for a semiconductor integrated circuit according to the first embodiment.
  • FIG. 5 is a diagram showing an example of the operating environment of the damage control apparatus for a semiconductor integrated circuit according to the first embodiment.
  • FIG. 6 is a block diagram showing a configuration example of damage control means of the semiconductor integrated circuit according to the first embodiment.
  • FIG. 7 is a diagram showing a configuration example of switching means of the semiconductor integrated circuit according to the first embodiment.
  • FIG. 8 is a flowchart showing the operation of the damage control apparatus for a semiconductor integrated circuit according to the first embodiment.
  • FIG. 9 is a diagram for explaining the operation of the switching means according to the first embodiment.
  • FIG. 10 is a diagram for explaining the operation of the switching means according to the first embodiment.
  • FIG. 11 is a diagram for explaining the operation of the damage control means according to the first embodiment.
  • FIG. 12 is a block diagram showing a configuration of a damage control apparatus for a semiconductor integrated circuit according to a second embodiment of the present invention.
  • FIG. 13 is a block diagram showing a configuration of a damage control device for a c semiconductor integrated circuit according to a third embodiment of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

 複数のCPUを有する半導体集積回路において、従来よりも細かい精度で、それぞれのCPUへのダメージを分散化させる。  ダメージ制御手段100は、全CPUあるいは部分的なCPUのダメージ率に基づいて、ダメージ率の平準化を行うCPU構成を判断する機能を有する切替判断手段110と、全CPUの入出力信号の切替を行う機能を有する切替手段120とを備え、切替判断手段110は、常時又はある程度の時間間隔で、温度や、電圧、消費電流量、動作率、CPU内部資源のアクセス回数といった尺度から計算された指標であるダメージ率を観測し、各CPUのダメージ率を平準化するための計算手法を用いて、変更すべきCPUの構成を切替手段120へ通知し、切替手段120は、全CPUの入出力信号及びシステムバス60に接続し、切替判断手段120からの通知に基づいて、切替えるべきCPUの入出力信号の切替を行う。

Description

明 細 書
半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散 プログラムおよび電子装置
技術分野
[0001] 本発明は、複数の CPUを有する半導体集積回路に関し、特に、磨耗故障におい て、ダメージ制御によって半導体集積回路の信頼性を向上することが可能な、半導 体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよ び電子装置に関する。
背景技術
[0002] 半導体の微細化の進展により、半導体集積回路は高性能化の恩恵を享受してきた
。しかしながら、その高性能化に伴う、電流密度または回路のスイッチング回数といつ た半導体集積回路への負荷の増加が、半導体デバイスに非常に大きな負担をかけ ているため、その結果、半導体デバイスの疲労が避けられず、その耐用寿命が短くな るという課題があった。
[0003] 図 1は、アプリケーションレベルでの負荷分散によるダメージ制御装置の構成例の 一例を模式的に示す従来図である。図 1に示すダメージ制御装置の構成例では、 C PU10P1— Pnと、 OS20P1— Pnからなる実行環境 40P1— Pn上で、アプリケーショ ン (AP) 30P1— Pmが動作する構成とされて!/、る。
[0004] かかる構成において、 OS20P1— Pnは、アプリケーション 30P1—Pnの負荷に応 じて、アプリケーションを異なる CPU上へ移動させるといった、各 CPUの負荷状況を 一定化するように制御する。この制御により、 CPU10P1— Pnへの疲労 (負荷)が平 準化されるため、半導体デバイスの耐用寿命を伸ばすことが可能となる。
[0005] しかしな力 Sら、図 1に示した従来の方式は、以下の問題点を有していた。
[0006] 第 1に、アプリケーションレベルでの負荷分散のため、 CPUに固定して割り付けら れたアプリケーション等がある場合には、各 CPUの負荷の平準化が容易でな!/、と!/ヽ う問題点があった。
[0007] 第 2に、アプリケーションレベルの負荷の測定では、 CPUへの疲労度(ダメージ率) と直接結びつかなレヽとレ、う問題点があった。
[0008] これに対応する技術として、特許文献 1 (特開昭 62— 075739号公報)に記載のよ うなタスク割当て方法がある。しかし、特許文献 1には、図 1に示した構成と同様に、タ スクの固定割当も可能な、タスクの負荷分散方法が開示されている(後記特許文献 1 参照)。したがって、特許文献 1には、図 1と同じ問題があった。
[0009] 次に、図 2は、電源制御機構によるダメージ制御装置の構成の一典型例を示す従 来図である。図 2に示すダメージ制御装置の構成例では、図 1の構成に加えて、電源 制御機構 1000を備える構成とされている。
[0010] 力、かる構成において、 CPU10P1は、電源制御機構 1000を介して、負荷の無い C
PU (図 2では CPU10P2)の電源を遮断する。これにより、その負荷の無い CPUへの ダメージを低減することが可能となる。
[0011] しかしな力 Sら、図 2に示した方式は、図 1に示した問題点に加えて、以下の問題点を 有している。
[0012] 第 1に、電源制御を行う CPUが固定化されるので、その CPUのダメージの低減が 難し!/、と!/、う問題点があった。
[0013] 第 2に、負荷が無い状況でないと、この方式による利点は享受できないという問題 点かあった。
[0014] これに対応する技術として、特許文献 2 (特開 2004— 355153号公報)には、シン ダルプロセッサ向け OSを用いた電源管理システムが開示されている(後記特許文献 2参照)。しかし、特許文献 2には、図 2に示したのと同様の構成が開示されている。し たがって、特許文献 2には、図 2と同じ問題があった。
特許文献 1 :特開昭 62— 075739号公報
特許文献 2 :特開 2004— 355153号公報
発明の開示
発明が解決しょうとする課題
[0015] 上記で述べたように、従来、複数の CPUを有する半導体集積回路において、それ ぞれの CPUに均等にダメージを分散化させることで、半導体集積回路の耐用寿命を 延ばすことは実現不可能であった。 [0016] さらに、動作を行っている最中の実行環境同士を CPU間で移動させることは困難 であった。
[0017] ここで、実行環境とは、アプリケーションだけでなく OSやミドルウェアを含めたアプリ ケーシヨン実行環境のことを!/、う。
[0018] (発明の目的)
したがって、本発明の目的は、複数の演算装置を有する半導体集積回路において
、従来よりも細かい精度で、それぞれの演算装置へのダメージを分散化させる半導 体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよ び電子装置を提供することにある。
課題を解決するための手段
[0019] 前記目的を達成する本発明は、プログラムで動作可能な演算装置を複数有する半 導体集積回路におレ、て、前記演算装置の実行環境の切替を制御するダメージ制御 手段を備え、前記ダメージ制御手段は、前記演算装置にかかる負荷状況を計算する 切替判断手段と、前記切替判断手段による計算結果に基づいて、前記演算装置で 動作中の実行環境の切替を行う切替手段とを備えることを特徴とする。
[0020] (作用)
上記構成により、プログラムで動作可能な複数の演算装置を有する半導体集積回 路に対し、アプリケーションレベルのみで負荷分散を行うのではなぐ OSも含めた実 行環境そのものの移動が可能となる。
発明の効果
[0021] 本発明によれば、 OSも含めた実行環境そのものの移動が可能となって演算装置 のより高精度な負荷分散を行え、演算装置にかかる累積ダメージを演算装置毎に制 御できること力、ら、半導体集積回路のダメージをより平準化することができ、半導体集 積回路の耐用寿命を延ばすことができる。
[0022] その理由は、プログラムで動作可能な複数の演算装置間の実行環境の切替を制御 するダメージ制御手段が、演算装置にかかる負荷状況を計算し、当該計算結果に基 づいて、演算装置で動作中の実行環境の切替を行うからである。
発明を実施するための最良の形態 [0023] 本発明を実施するための最良の形態について説明する。
[0024] 本発明は、その好ましい一実施の形態によれば、図 3を参照すると、システムバス 6 0を介して接続された、複数の CPU10P1— Pn、ァクセラレータ 50、 ROM51、 RA M52、 1/053、割り込み ·クロック ·電源制御 54、タイマ 55を有する半導体集積回路 に加えて、 CPU10P1— Pnのダメージ制御を行うダメージ制御手段 100を備える。
[0025] これにより、ダメージ情報に基づいて、ダメージ制御手段 100がダメージの分散化 を行うための実行環境の切替を判断し、そして、その判断に基づき、実行環境のコン テキストをある CPUから別の CPUに移動させることが可能となる。
[0026] より具体的には、例えば、各 CPU間でダメージを均等にするように実行環境の切替 を行うことができ、また、例えば、 CPU毎にダメージの閾値を設定し、各 CPUのダメ 一ジが各閾値に近付くように実行環境の切替を行うこともでき、また、例えば、特定の CPUのダメージの閾値を他の CPUよりも低く設定し、特定の CPUのダメージが当該 閾値を超えな!/、ように実行環境の切替を行うこともできる。
[0027] その結果、より高精度な CPUの負荷分散が行えると同時に、ソフトウェアの改造に 力、かるコストを少なく抑えることができる。
[0028] 以下、実施の形態に即して図面を用いて詳細に説明する。
[0029] (第 1の実施の形態)
本発明の第 1の実施の形態を図面を用いて詳細に説明する。本実施の形態は、各 CPU間でダメージを均等にするように実行環境の切替を行うものである。
[0030] (第 1の実施の形態の構成)
図 3は、本発明の第 1の実施の形態による半導体集積回路のダメージ制御装置の 構成を示すブロック図である。
[0031] 図 3を参照すると、本実施の形態の半導体集積回路のダメージ制御装置は、システ ムバス 60を介して接続された、複数の CPU10P1— Pn、ァクセラレータ 50、 ROM5 1、 RAM52、入出力部(I/O) 53、割り込み ·クロック ·電源制御部 54、タイマ 55を 有する半導体集積回路に加えて、前記 CPUのダメージ制御を行うダメージ制御手段 100を備える。
[0032] なお、本実施の形態における CPU10P1— Pn、ァクセラレータ 50、 ROM51、 RA M52、 1/053、割り込み ·クロック ·電源制御部 54、タイマ 55、ダメージ制御手段 10 0は、それぞれ、別パッケージ構成だけでなぐ SoC (System— on— Chip)内部の 回路構成あるいは別チップによる SiP (System— in— Package)構成、さらにその組 み合わせからなる構成をとつてもよ!/、。
[0033] 本実施の形態による CPUlOP— 1—Ρηは、信号処理プロセッサ、または、 VLIW プロセッサ、構成可能プロセッサ等の、プログラム動作が可能な演算装置であれば何 でもよい。
[0034] また、本実施の形態によるダメージ制御手段 100は、ハードウェア構成だけでなぐ ソフトウェア的な構成で実現されてもょレ、。
[0035] なお、 CPUへのダメージとは、半導体デバイスにおける、下記のような経年劣化を 起こす現象群から計算される。例えば、そのような現象には、配線のエレクトロマイダ レーシヨン'ストレスマイグレーション、トランジスタの酸化膜経時破壊、 NBTI (Negati ve Bias Temperature Instability)、ホットキャリア注入等がある。これらの現象 は、温度や、ゲート'ソース電圧等によって、その平均故障率が変化するという特徴を 持っている。したがって、ある時点において、温度や、電圧、消費電流量、動作率、 C PU内部資源のアクセス回数と!/、つた尺度から計算された指標を、以下ではダメージ 率と呼ぶ。
[0036] ここで、ダメージ率は、上記のような現象の情報に基づき、ダメージ制御手段によつ て、上記の尺度が計算ないし観測される。温度や電圧、消費電力の測定は、自身に 設けられた測定装置や、半導体集積回路の測定装置、内部の負荷情報から換算し てもよい。いずれにせよ、従来の測定装置からの情報に基づいて、取得することが可 能である。
[0037] 図 4は、本実施の形態における半導体集積回路のダメージ制御装置の動作環境の 一例を示す図であり、動作環境図 201は、時刻 Tにおける半導体集積回路の動作環 境を示し、実行環境—ダメージ率情報 202は、各 CPUについて、時刻 Tにおいて動 作する実行環境と、時刻 Tにおけるダメージ率とを示す。
[0038] 動作環境図 201を参照すると、時刻 Tにおいて、 CPU10P1上には OS20P1と複 数のアプリケーション 30P1 .30P2からなる実行環境 40P1が、 CPU10P2上には O S20P2とアプリケーション 30P3力、らなる実 fi環境 40P2力 CPUlOPn上には OS2 OPnとアプリケーション 30Pmからなる実行環境 40Pnが動作していることが示されて いる。
[0039] また、実行環境 ダメージ率情報 202を参照すると、当該動作時(時刻 T)において 、実行環境 40P1が動作している CPU10P1のダメージ率が 60%、実行環境 40P2 が動作している CPU10P2のダメージ率が 30%、実行環境 40P3が動作している CP U10P3のダメージ率が 5%、実行環境 40Pnが動作している CPUlOPnのダメージ 率が 25%となっていることがわかる。
[0040] ここで、このダメージ率が当面同じであると仮定する。このとき、本実施の形態にお けるダメージ制御装置は、そのダメージ率に基づいて、実行環境 40P1— Pnの構成 を変化させる。
[0041] 図 5は本実施の形態における半導体集積回路のダメージ制御装置の動作環境の 一例を示す図であり、動作環境図 301は、時刻 T+ δ Τにおける半導体集積回路の 動作環境を示し、実行環境—ダメージ率情報 302は、各 CPUについて、時刻 T及び 時刻 τ+ δ τにおいて動作する実行環境と、時刻 τ及び時刻 τ+ δ τにおけるダメー ジ率と、時刻 τ及び時刻 τ+ δ τにおけるダメージ率の累積とを示している。
[0042] 動作環境図 301を参照すると、ダメージ制御装置によって、動作環境図 201の時 亥 IJTにおける実行環境群力 時刻 T+ δ Τにおいて、実行環境 40P1は CPU10P3 へ、実行環境 40Ρ2は CPUlOPnへ、実行環境 40P3は CPU10P1へ、実行環境 40 Pnは CPU10P2へと、移動していることがわかる。
[0043] 実行環境 ダメージ率情報 302を参照すると、各 CPUにおけるダメージ率の累積 (ま、 CPUIOPUこおレヽて 650/0、 CPU10P2(こお!/ヽて 550/0、 CPU10P3iこおレヽて 65 %、 CPUlOPnにおいて 55%となっていることがわかる。
[0044] これにより、各 CPUにおけるダメージ率の累積の平準化が可能となっている。
[0045] なお、ここでの例では、ある時点でのダメージ率に基づいて判断を行ったものの、 当然ながら、累積ダメージ率に基づいて判断してもよい。すなわち、現累積ダメージ 率と、ある時刻でのダメージ率とを組み合わせて判断してもよい。他にも、動的変化 する数値の平準化に役立つような計算手法であれば、何でも応用可能である。 [0046] 図 6は、本実施の形態における半導体集積回路のダメージ制御手段の構成例を示 すブロック図である。
[0047] 図 6を参照すると、このダメージ制御手段 100は、全 CPUあるいは部分的な CPU のダメージ率に基づ!/、て、ダメージ率の平準化を行う CPU構成を判断する機能を有 する切替判断手段 110と、全 CPUの入出力信号の切替を行う機能を有する切替手 段 120とを備える。
[0048] 切替判断手段 110は、常時又はある程度の時間間隔で、温度や、電圧、消費電流 量、動作率、 CPU内部資源のアクセス回数といった尺度から計算された指標である ダメージ率を観測する。そして、切替判断手段 110は、各 CPUのダメージ率を平準 化するための計算手法を用いて、変更すべき CPUの構成を切替手段 120へ通知す る。ただし、切替手段 120が任意の時点で実行環境 40を切替えることができるとは限 らないため、切替判断手段 110は、実行環境 40と協調することによって、例えば、内 部キャッシュがフラッシュされた状態や、外部 I/Oとの割込み処理が完了した状態と いった、実行環境 40が切替可能な安定状態になつてから、切替手段 120へ当該通 知をしてもよい。
[0049] 切替手段 120は、全 CPUの入出力信号及びシステムバス 60に接続し、切替判断 手段 120からの通知に基づいて、切替えるべき CPUの入出力信号の切替を行う。切 替手段 120は、命令 ·データバスだけでなぐクロック 'リセット信号、割込み信号等の 一般的な信号を含む入出力信号を切替の対象としてもよい。
[0050] また、切替手段 120は、各 CPUの現在実行中の実行環境のコンテキストの設定及 び抽出に関する機能を有する。
[0051] これらの機能により、切替手段 120は、ある CPU上で動作中の実行環境を別の CP Uへ切替ることが可能となる。
[0052] ここで、コンテキストとは、動作中の CPUのある指定された瞬間の記憶状態を示す 情報である。
[0053] 図 7は、本実施の形態における半導体集積回路の切替手段の構成例を示す図で ある。
[0054] 図 7を参照すると、切替手段 120は、 CPUの実行環境のコンテキストを設定'抽出 する機能を有するコンテキスト設定抽出手段 121と、コンテキスト設定抽出手段 121と 連携して、 CPUへの入出力信号の接続を切替える機能を有する信号接続手段 122 とを備える。
[0055] コンテキスト設定抽出手段 121は、切替判断手段 110と接続され、切替判断手段 1 10からの切替要求を受理すると、 CPU10P1—Pnと接続されたシステムバス 60を介 して、コンテキストの設定 ·抽出を行い、抽出したコンテキストを保持する。さらに、コン テキスト設定抽出手段 121は、切替の開始および停止の指示を信号接続手段 122 に通知する。
[0056] 信号接続手段 122は、 CPU10Pl—Pnおよびシステムバス 60に接続され、コンテ キスト設定抽出手段 121からの指示によって、信号接続の切替を行う。
[0057] 本実施の形態において、このコンテキスト設定抽出手段 121は、ハードウェア的な 構成でもソフトウェア的な構成でもどちらでも実現可能である。コンテキスト設定抽出 手段 121は、ハードウェア構成の場合における、スキャンチェインを利用して CPU内 の全データを取得するといつた従来技術や、あるいは、ソフトウェア的な構成の場合 における、 CPUに備えられたハイパーバイザモード上での動作によってデータを設 定-退避するといつた従来技術等、コンテキストを設定 ·抽出する従来の技術によって 実現されるのであれば、どのような構成でも構わなレ、。
[0058] また、信号接続手段 122は、ハードウェア的な全信号の切替だけでなぐ割込み通 知先の変更や、プロセッサ番号の変更といった、ソフトウェア的に実行環境を動作さ せるために必要な情報群を再設定することで実現されてもよ!/、。
[0059] なお、本発明による半導体集積回路のダメージ制御装置は、その動作を、ダメージ 制御装置内部にそのような機能を実現するプログラムを組み込んだ、 LSI (Large S cale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア 的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラム を、コンピュータ処理装置上の CPU10で実行することにより、ソフトウェア的に実現す ること力 Sでさる。
[0060] すなわち、 CPU10 (CPU10、 CPU10P1〜; !OPn)は、 ROM51に格納されている プログラムを、メインメモリにロードして実行し、ダメージ制御装置の動作を制御するこ とにより、上述した各機能をソフトウェア的に実現することができる。
[0061] (第 1の実施の形態の動作)
次レヽで、本実施の形態における半導体集積回路のダメージ制御装置の動作を説 明する。
[0062] 図 8は、本実施の形態における半導体集積回路のダメージ制御装置の動作を示す フローチャートである。
[0063] 図 8を参照すると、本実施の形態におけるダメージ制御装置は、切替判断手段 110 力 常時又はある程度の時間間隔でダメージ率を観測し (ステップ S101)、各 CPU のダメージ率を平準化するための計算手法を用いて変更すべき CPUの構成を判断 し(ステップ S 102)、変更すべき CPUの構成を切替手段 120へ通知する(ステップ S 103)。
[0064] 次いで、切替手段 120が、切替判断手段 110からの通知に基づいて、該当する CP Uの現在実行中の実行環境のコンテキストの抽出及び設定を行い(ステップ SI 04)、 切替えるべき CPUの入出力信号の切替を行う(ステップ S105)。
[0065] 図 9は、図 7の切替手段 120の動作の一例を説明するための図である。図 9におい て、矢印脇の Sと数字からなる符合は、ステップ番号を表している。この例では、コン テキストの設定 ·抽出による実行環境の移動方法について説明する。
[0066] はじめに、何の切替えも起きて!/、な!/、ことを前提とする。
[0067] ステップ S201 :コンテキスト設定抽出手段 121は、切替判断手段 110から CPU10
P2と CPulOPnの切替の旨示を受理する。
[0068] ステップ S202 :コンテキスト設定抽出手段 121は、リセットや割込み等の信号の配 送の停止を信号接続手段 122に対して要求する。この際、コンテキスト設定抽出手 段 121は、コンテキスト設定 ·抽出に関わる信号の入出力は信号接続手段 122に対 して許可してあよレ、。
[0069] ステップ S203 :コンテキスト設定抽出手段 121は、 CPU10P2からコンテキストを抽 出して(読み出して)コンテキスト保存手段に 123に一時的に保存する。
[0070] ステップ S204 :コンテキスト設定抽出手段 121は、 CPUlOPnからコンテキストを読 み出してコンテキスト保存手段 123に一時的に保存し、そして、ステップ S203で保存 した CPU10P2のコンテキストを CPUlOPnに対して設定する。
[0071] ステップ S205 :コンテキスト設定抽出手段 121は、ステップ S204で保存した CPU1
OPnのコンテキストを CPU10P2に対して設定する。
[0072] ステップ S206 :コンテキスト設定抽出手段 121は、コンテキストの設定が終了すると
、信号接続手段 122に対して信号の切替を指示する。
[0073] ステップ S207 :信号接続手段 122は、コンテキスト設定抽出手段 121から切替指 示を受けると、システムバス 60からはあたかも CPU10P2の信号が CPUlOPnとして 接続されているかのように信号の接続を切替え、かつ、システムバス 60からはあたか も CPUlOPnの信号が CPU10P2として接続されているかのように信号の接続を切 替 X·る。
[0074] 図 10は、図 7の切替手段 120の動作の一例を説明するための図である。図 10にお いて、矢印脇の Sと数字からなる符合は、ステップ番号を表している。この例では、コ ンテキストの設定 ·抽出後の信号線の接続状況について説明する。
[0075] はじめに、何の切替えも起きて!/、な!/、ことを前提とする。
[0076] ステップ S301:コンテキスト設定抽出手段 121は、信号接続手段 122に対して CP U10P2と CPU10P4の接続切替の指示を行い、そして、信号接続手段 122は、その 指示によって、信号線の切替を行う。
[0077] ステップ S302 :信号接続手段 122は、システムバス 60から CPU10P2向けの入力 信号を受理する。
[0078] ステップ S303 :信号接続手段 122は、 CPUlOPnに対してその信号を転送する。
[0079] ステップ S304 :信号接続手段 122は、システムバス 60から CPUlOPn向けの入力 信号を受理する。
[0080] ステップ S305 :信号接続手段 122は、 CPU10P2に対してその信号を転送する。
[0081] 図 11は、図 6のダメージ制御手段 100の動作の一例を説明するための図である。
図 11において、矢印脇の Sと数字からなる符合は、ステップ番号を表している。この 例では、図 9及び図 10で説明した動作の全体を示している。
[0082] はじめに、何の切替えも起きて!/、な!/、ことを前提とする。
[0083] ステップ S401:切替手段 120は、システムバス 60から CPU10P2への信号を受理 する。
[0084] ステップ S402 :切替手段 120は、その信号を CPU10P2へ渡す。
[0085] ステップ S403 :切替判断手段 110は、ダメージ率の計算に基づき、 CPU10P2上 の実行環境を CPUlOPnへ移動させることを切替手段 120に対して通知し、切替手 段 120は、当該通知に基づいて、 CPU10P2と CPUlOPnとのコンテキストを交換し 、そして、システムバス 60からはあた力、も接続が切替えられているように信号接続を 切替える。
[0086] ステップ S404 :切替手段 120は、システムバス 60から CPU10P2への信号を受理 する。
[0087] ステップ S405 :切替手段 120は、その信号を CPUlOPnへ渡す。
[0088] (第 1の実施の形態の効果)
本発明によれば、アプリケーションレベルのみで負荷分散を行うのではなぐ複数の CPUを有する半導体集積回路に対して、 OSも含めた実行環境そのものの移動が可 能となるので、各 CPUにかかる累積ダメージをより平準化することができる。
[0089] その理由は、本実施の形態によるダメージ制御手段力 常時又はある程度の時間 間隔で、温度や、電圧、消費電流量、動作率、 CPU内部資源のアクセス回数といつ た尺度から計算された指標であるダメージ率を観測し、各 CPUのダメージ率を平準 化するための計算手法を用いて、変更すべき CPUの構成を切替手段 120へ通知す る切替判断手段 110と、切替判断手段 110からの切替要求に基づいて、 CPUの実 行環境のコンテキストを設定 ·抽出し、 CPUへの入出力信号の接続を切替える信号 接続手段 122とを備えるからである。
[0090] また、本発明によれば、ハードウェアで実装する形態においては、既存ソフトウェア の改造を最小限に抑えて、ダメージの平準化を実現することができる。
[0091] (第 2の実施の形態)
次いで、本発明の第 2の実施の形態による半導体集積回路のダメージ制御装置を 図面を参照して説明する。本実施の形態は、ダメージ制御手段 120において第 1の 実施の形態と相違するため、相違する点を中心に以下説明する。
[0092] (第 2の実施の形態の構成) 図 12は、本実施の形態における半導体集積回路のダメージ制御手段の構成例を 示す図である。
[0093] 本実施の形態におけるダメージ制御手段 100は、第 1の実施の形態におけるダメ ージ制御手段 100と同様に、全 CPUあるいは部分的な CPUのダメージ率に基づい て、ダメージ率の平準化を行う CPU構成を考える機能を有する切替判断手段 110と 、全 CPUの入出力信号の切替を行う機能を有する切替手段 120とを備える。
[0094] このため、本実施の形態における切替判断手段 110は、図 6や図 11で述べた第 1 の実施の形態における切替判断手段 110と同じ特徴を持つ。
[0095] ただし、本実施の形態における切替判断手段 110は、 CPUlOPl—Ρη上のソフト ウェアとして実現されている点で、第 1の実施の形態における切替判断手段 110と異 なる。ここで、本実施の形態における切替判断手段 110は、いわゆるアプリケーション やライブラリ、タスク、スレッド、プロセスとして実装されていてもよいし、 OSモジュール やデバイスドライバとして実装されてレ、てもよ!/、し、ユーザスーパバイザモードより優 先度の高いハイパーバイザモードのような、 CPUの新しいモード内部に実装されて いてもよい。
[0096] 本実施の形態における切替手段 120は、図 6や図 11で述べた第 1の実施の形態に おける切替手段 120と同じ特徴を持つが、前記ソフトウェアとして実現された本実施 の形態における切替判断手段 110と連携する点で第 1の実施の形態における切替 手段 120と相違する。
[0097] (第 2の実施の形態の効果)
本発明によれば、第 1の実施の形態の効果に加え、 CPU10P1— Pn上のソフトゥヱ ァとして実現されている切替判断手段 110も含めた実行環境の移動が可能となるの で、第 1の実施の形態と比べ、各 CPUにかかる累積ダメージをより平準化することが できる。
[0098] (第 3の実施の形態)
次いで、本発明の第 3の実施の形態による半導体集積回路のダメージ制御装置を 図面を参照して説明する。本実施の形態は、切替手段 120において第 1の実施の形 態と相違するため、相違する点を中心に以下説明する。 [0099] (第 3の実施の形態の構成)
図 13は、本実施の形態における半導体集積回路のダメージ制御手段の構成例を 示す図である。
[0100] 本実施の形態におけるダメージ制御手段 100は、第 1及び第 2の実施の形態にお ける切替判断手段 110と同様に、全 CPUあるいは部分的な CPUのダメージ率に基 づいて、ダメージ率の平準化を行う CPU構成を考える機能を有する切替判断手段 1 10と、全 CPUの入出力信号の切替を行う機能を有する切替手段 120とを備える。
[0101] また、本実施の形態における切替判断手段 110は、図 12で述べた第 2の実施の形 態における切替判断手段 110と同様に、ソフトウェアとして実現されている。
[0102] このため、本実施の形態における切替判断手段 110は、図 12で述べた第 2の実施 の形態における切替判断手段 110と同じ特徴を持つ。
[0103] 本実施の形態における切替手段 120は、 CPU10P1— Pn上のソフトウェアとして実 現されている点で、第 1の実施の形態における切替手段 120と異なる。ここで、本実 施の形態における切替手段 120は、いわゆるアプリケーションやライブラリ、タスク、ス レッド、プロセスとして実装されていてもよいし、 OSモジュールやデバイスドライバとし て実装されていてもよいし、ハイパーバイザモードのような、 CPUの新しいモード内 部に実装されていてもよい。
[0104] 本実施の形態における切替手段 120は、ソフトウェアとして実現されているため、全 ての入出力信号を切替えることができない。よって、本実施の形態における切替手段 120は、割込み通知先の変更や、プロセッサ番号の変更といった、実行環境をソフト ウェア的に動作させるために必要な情報群を再設定することで対処する。
[0105] (第 3の実施の形態の効果)
本発明によれば、第 1の実施の形態の効果に加え、 CPU10P1— Pn上のソフトゥヱ ァとして実現されている切替手段 120も含めた実行環境の移動が可能となるので、 第 1の実施の形態と比べ、各 CPUにかかる累積ダメージをより平準化することができ
[0106] 以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記 実施の形態に限定されるものでなく、本発明の範囲内で当業者であればなしうるであ ろう各種変形、修正を含むことはもちろんであり、その技術的思想の範囲内において 様々に変形して実施することができる。
[0107] なお、上記各実施の形態では、複数の CPUを有する半導体集積回路のダメージを 制御するダメージ制御装置及び方法を例に説明した力 本発明は、かかるダメージ 制御装置及び方法に限定されるものではなぐ任意のダメージ制御装置及び方法に 適用可能である。
[0108] この出願は、 2006年 12月 8日に出願された日本出願特願 2006— 332121を基 礎とする優先権を主張し、その開示の全てをここに取り込む。
図面の簡単な説明
[0109] [図 1]従来のダメージ制御装置の構成例を示す図である。
[図 2]従来のダメージ制御装置の構成例を示す図である。
[図 3]本発明の第 1の実施の形態による半導体集積回路のダメージ制御装置の構成 を示すブロック図である。
[図 4]第 1の実施の形態による半導体集積回路のダメージ制御装置の動作環境例を 示す図である。
[図 5]第 1の実施の形態による半導体集積回路のダメージ制御装置の動作環境例を 示す図である。
[図 6]第 1の実施の形態による半導体集積回路のダメージ制御手段の構成例を示す ブロック図である。
[図 7]第 1の実施の形態による半導体集積回路の切替手段の構成例を示す図である
[図 8]第 1の実施の形態による半導体集積回路のダメージ制御装置の動作を示すフ ローチャートである。
[図 9]第 1の実施の形態による切替手段の動作を説明する図である。
[図 10]第 1の実施の形態による切替手段の動作を説明する図である。
[図 11]第 1の実施の形態によるダメージ制御手段の動作を説明する図である。
[図 12]本発明の第 2の実施の形態による半導体集積回路のダメージ制御装置の構 成を示すブロック図である。 [図 13]本発明の第 3の実施の形態に c 半導体集積回路のダメージ制御装置の構 成を示すブロック図である。
符号の説明
10、 10P1、 10P2、 10P3〜; L OPn CPU
20、 20P 1、 20P2、 20P3〜20Pn OS
30、 30P 1、 30P2、 30P3~30Pm アプリケーション(AP)
40、 40P1、 40P2、 40P3、 40Pn 実行環境
50 ァクセラレータ
51 ROM
52 RAM
53 I/O
54 割込み ·クロック ·電源制御
55 タイマ
60 システムバス
100 ダメージ制御手段
110 切替判断手段
120 切替手段
121 コンテキスト設定抽出手段
122 信号接続手段
1000 電源制御機構

Claims

請求の範囲
[1] プログラムで動作可能な演算装置を複数有する半導体集積回路において、
前記演算装置の実行環境の切替を制御するダメージ制御手段を備え、 前記ダメージ制御手段は、
前記演算装置にかかる負荷状況を計算する切替判断手段と、
前記切替判断手段による計算結果に基づいて、前記演算装置で動作中の実行環 境の切替を行う切替手段と
を備えることを特徴とする半導体集積回路。
[2] 前記切替判断手段は、前記演算装置のダメージ率に基づいて前記負荷状況を計 算し、前記実行環境の切替の必要性を判断することを特徴とする請求項 1に記載の 半導体集積回路。
[3] 前記ダメージ率は、前記演算装置の経年劣化をもたらす現象に基づいて導かれる ことを特徴とする請求項 2に記載の半導体集積回路。
[4] 前記切替手段は、
前記演算装置の実行環境のコンテキストを設定又は抽出するコンテキスト設定抽出 手段と、
前記コンテキストの切替の開始及び停止の指示に従って信号接続の切替を行う信 号切替手段と、
を有することを特徴とする請求項 1から請求項 3の何れ力、 1項に記載の半導体集積 回路。
[5] 前記コンテキスト設定抽出手段は、前記設定又は抽出によって前記実行環境の前 記コンテキストの切替を行い、
前記信号切替手段は、切替が行われた前記コンテキストに対応させて前記信号接 続の切替を行うことを特徴とする請求項 4に記載の半導体集積回路。
[6] 前記切替判断手段は、計算された前記負荷状況に基づいて、各前記演算装置の 負荷状況が均等化されるように前記実行環境の切替を判断することを特徴とする請 求項 1から請求項 5の何れか 1項に記載の半導体集積回路。
[7] 前記切替判断手段は、計算された前記負荷状況に基づいて、各前記演算装置の 負荷状況が、各前記演算装置毎に設定された各閾値に近付くように前記実行環境 の切替を判断することを特徴とする請求項 1から請求項 5の何れか 1項に記載の半導 体集積回路。
[8] プログラムで動作可能な演算装置を複数有する半導体集積回路上で前記演算装 置の制御を行う半導体集積回路制御装置において、
前記演算装置の実行環境の切替を制御するダメージ制御手段を備え、 前記ダメージ制御手段は、
前記演算装置にかかる負荷状況を計算する切替判断手段と、
前記切替判断手段による計算結果に基づいて、前記演算装置で動作中の実行環 境の切替を行う切替手段と
を備えることを特徴とする半導体集積回路制御装置。
[9] 前記切替判断手段は、前記演算装置のダメージ率に基づいて前記負荷状況を計 算し、前記実行環境の切替の必要性を判断することを特徴とする請求項 8に記載の 半導体集積回路制御装置。
[10] 前記ダメージ率は、前記演算装置の経年劣化をもたらす現象に基づいて導かれる ことを特徴とする請求項 9に記載の半導体集積回路制御装置。
[11] 前記切替手段は、
前記演算装置の実行環境のコンテキストを設定又は抽出するコンテキスト設定抽出 手段と、
前記コンテキストの切替の開始及び停止の指示に従って信号接続の切替を行う信 号切替手段と、
を有することを特徴とする請求項 8から請求項 10の何れ力、 1項に記載の半導体集 積回路制御装置。
[12] 前記コンテキスト設定抽出手段は、前記設定又は抽出によって前記実行環境の前 記コンテキストの切替を行い、
前記信号切替手段は、切替が行われた前記コンテキストに対応させて前記信号接 続の切替を行うことを特徴とする請求項 11に記載の半導体集積回路制御装置。
[13] 前記切替判断手段は、計算された前記負荷状況に基づいて、各前記演算装置の 負荷状況が均等化されるように前記実行環境の切替を判断することを特徴とする請 求項 8から請求項 12の何れか 1項に記載の半導体集積回路制御装置。
[14] 前記切替判断手段は、計算された前記負荷状況に基づいて、各前記演算装置の 負荷状況が、各前記演算装置毎に設定された各閾値に近付くように前記実行環境 の切替を判断することを特徴とする請求項 8から請求項 12の何れか 1項に記載の半 導体集積回路制御装置。
[15] 前記半導体集積回路を含むことを特徴とする請求項 8から請求項 14の何れか 1項 に記載の半導体集積回路制御装置。
[16] プログラムで動作可能な複数の演算装置の負荷分散方法であって、
1又は 2以上の前記演算装置における負荷状況を計算し、
前記負荷状況に従って前記演算装置の実行環境を他の何れの演算装置に切り替 えるかを判断し、
前記判断結果に基づ!/、て、前記演算装置の実行環境を他の演算装置へ切り替え ることを特徴とする演算装置の負荷分散方法。
[17] 前記演算装置のダメージ率を計算し、当該ダメージ率に基づいて前記負荷状況を 計算することを特徴とする請求項 16に記載の演算装置の負荷分散方法。
[18] 前記ダメージ率を、前記演算装置の経年劣化をもたらす現象に基づいて算出する ことを特徴とする請求項 17に記載の演算装置の負荷分散方法。
[19] 前記演算装置の実行環境のコンテキストを設定又は抽出し、
前記コンテキストの切替の開始及び停止の指示に従って信号接続の切替を行うこと を特徴とする請求項 16から請求項 18の何れ力、 1項に記載の演算装置の負荷分散方 法。
[20] 前記設定又は抽出によって前記実行環境の前記コンテキストの切替を行い、
切替が行われた前記コンテキストに対応させて前記信号接続の切替を行うことを特 徴とする請求項 19に記載の演算装置の負荷分散方法。
[21] 計算された前記負荷状況に基づいて、各前記演算装置の負荷状況が均等化され るように前記実行環境の切替を判断することを特徴とする請求項 16から請求項 20の 何れか 1項に記載の演算装置の負荷分散方法。
[22] 計算された前記負荷状況に基づいて、各前記演算装置の負荷状況が、各前記演 算装置毎に設定された各閾値に近付くように前記実行環境の切替を判断することを 特徴とする請求項 16から請求項 20の何れ力、 1項に記載の演算装置の負荷分散方 法。
[23] プログラムによってコンピュータ装置上で動作可能な複数の演算装置の負荷分散 プログラムであって、
ダメージ制御手段に、
1又は 2以上の前記演算装置における負荷状況を計算する処理と、
前記負荷状況に従って前記演算装置の実行環境を他の何れの演算装置に切り替 えるかを判断する処理とを実行させ、
切替手段に、
前記判断結果に基づ!/、て、前記演算装置の実行環境を他の演算装置へ切り替え る処理を実行させることを特徴とする演算装置の負荷分散プログラム。
[24] 請求項 1から請求項 7の何れか 1項に記載の半導体集積回路を備えることを特徴と する電子装置。
PCT/JP2007/072694 2006-12-08 2007-11-22 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置 WO2008069029A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/517,986 US20090271594A1 (en) 2006-12-08 2007-11-22 Semiconductor integrated circuit, semiconductor integrated circuit control device, load distribution method, load distribution program, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006332121A JP2010066785A (ja) 2006-12-08 2006-12-08 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置
JP2006-332121 2006-12-08

Publications (1)

Publication Number Publication Date
WO2008069029A1 true WO2008069029A1 (ja) 2008-06-12

Family

ID=39491933

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/072694 WO2008069029A1 (ja) 2006-12-08 2007-11-22 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置

Country Status (3)

Country Link
US (1) US20090271594A1 (ja)
JP (1) JP2010066785A (ja)
WO (1) WO2008069029A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914623B2 (en) * 2010-03-05 2014-12-16 Lenovo (Singapore) Pte. Ltd. Utilization of the screen image information of a primary environment for reproduction and user-interaction in a secondary environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10502472A (ja) * 1994-06-30 1998-03-03 キャタピラー インコーポレイテッド 同一負荷状態の2部品の比較によるマシン健康状態推定方法とその装置
JP2006018758A (ja) * 2004-07-05 2006-01-19 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW440782B (en) * 1996-12-11 2001-06-16 Matsushita Electric Ind Co Ltd Method for estimating hot carrier deterioration
US7292968B2 (en) * 2000-09-29 2007-11-06 Cadence Design Systems, Inc. Hot carrier circuit reliability simulation
GB2414809A (en) * 2003-01-23 2005-12-07 Jentek Sensors Inc Damage tolerance using adaptive model-based methods
US7761876B2 (en) * 2003-03-20 2010-07-20 Siemens Enterprise Communications, Inc. Method and system for balancing the load on media processors based upon CPU utilization information
US20060168571A1 (en) * 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
US7827435B2 (en) * 2005-02-15 2010-11-02 International Business Machines Corporation Method for using a priority queue to perform job scheduling on a cluster based on node rank and performance
JP4969791B2 (ja) * 2005-03-30 2012-07-04 株式会社日立製作所 ディスクアレイ装置およびその制御方法
JP4388005B2 (ja) * 2005-10-06 2009-12-24 パナソニック株式会社 コンテキスト切替え装置
JP4938695B2 (ja) * 2008-01-23 2012-05-23 富士通株式会社 き裂進展評価装置及びき裂進展評価方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10502472A (ja) * 1994-06-30 1998-03-03 キャタピラー インコーポレイテッド 同一負荷状態の2部品の比較によるマシン健康状態推定方法とその装置
JP2006018758A (ja) * 2004-07-05 2006-01-19 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム

Also Published As

Publication number Publication date
US20090271594A1 (en) 2009-10-29
JP2010066785A (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
US8122269B2 (en) Regulating power consumption in a multi-core processor by dynamically distributing power and processing requests by a managing core to a configuration of processing cores
US10740146B2 (en) Migrating virtual machines between compute systems by transmitting programmable logic accelerator state
KR101835056B1 (ko) 논리적 코어들의 동적 맵핑
US8752060B2 (en) Multi-CPU domain mobile electronic device and operation method thereof
KR0177536B1 (ko) 정보 처리 장치, 그 처리 방법 및 전원 제어 방법
EP2596413B1 (en) Managing current and power in a computing system
CN101946235B (zh) 用于在共享处理器分区环境中移动线程的方法及装置
TWI578234B (zh) 多層級中央處理單元(cpu)高電流保護技術
US9612879B2 (en) System constraints-aware scheduler for heterogeneous computing architecture
US20130158892A1 (en) Method for selecting a resource from a plurality of processing resources so that the probable times to failure of the resources evolve in a substantially identical manner
US7685444B2 (en) Power saving in circuit functions through multiple power buses
US20170285710A1 (en) Processor power monitoring and control with dynamic load balancing
KR20230157539A (ko) 공유 리소스 액세스 제어 방법 및 장치
KR20180018729A (ko) 집적 회로 입력들 및 출력들
WO2008069029A1 (ja) 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置
JP2010039923A (ja) 情報処理装置
US9389914B2 (en) Information processing apparatus and control method thereof
JP5704176B2 (ja) プロセッサ処理方法、およびプロセッサシステム
US9009509B2 (en) Virtual computer system, device sharing control method, computer-readable recording medium, and integrated circuit
JP5435663B2 (ja) 電子機器の保守装置、方法、及びプログラム
Kim et al. Energy-aware core switching for mobile devices with a heterogeneous multicore processor
CN109062394B (zh) 一种cpu簇的状态控制电路及方法
CN116755840A (zh) 虚拟机运行控制方法、装置、设备及介质
WO2024105351A1 (en) Exception signalling

Legal Events

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

Ref document number: 07832422

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 12517986

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07832422

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)