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

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

Info

Publication number
JP2010066785A
JP2010066785A JP2006332121A JP2006332121A JP2010066785A JP 2010066785 A JP2010066785 A JP 2010066785A JP 2006332121 A JP2006332121 A JP 2006332121A JP 2006332121 A JP2006332121 A JP 2006332121A JP 2010066785 A JP2010066785 A JP 2010066785A
Authority
JP
Japan
Prior art keywords
switching
integrated circuit
semiconductor integrated
execution environment
arithmetic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006332121A
Other languages
English (en)
Inventor
Hiroaki Inoue
浩明 井上
Masamichi Takagi
将通 高木
Masayuki Mizuno
正之 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2006332121A priority Critical patent/JP2010066785A/ja
Priority to US12/517,986 priority patent/US20090271594A1/en
Priority to PCT/JP2007/072694 priority patent/WO2008069029A1/ja
Publication of JP2010066785A publication Critical patent/JP2010066785A/ja
Pending legal-status Critical Current

Links

Images

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

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の入出力信号の切替を行う。
【選択図】図4

Description

本発明は、複数のCPUを有する半導体集積回路に関し、特に、磨耗故障において、ダメージ制御によって半導体集積回路の信頼性を向上することが可能な、半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置に関する。
半導体の微細化の進展により、半導体集積回路は高性能化の恩恵を享受してきた。しかしながら、その高性能化に伴う、電流密度または回路のスイッチング回数といった半導体集積回路への負荷の増加が、半導体デバイスに非常に大きな負担をかけているため、その結果、半導体デバイスの疲労が避けられず、その耐用寿命が短くなるという課題があった。
図12は、アプリケーションレベルでの負荷分散によるダメージ制御装置の構成例の一例を模式的に示す従来図である。図12に示すダメージ制御装置の構成例では、CPU10P1−Pnと、OS20P1−Pnからなる実行環境40P1−Pn上で、アプリケーション(AP)30P1−Pmが動作する構成とされている。
かかる構成において、OS20P1−Pnは、アプリケーション30P1−Pnの負荷に応じて、アプリケーションを異なるCPU上へ移動させるといった、各CPUの負荷状況を一定化するように制御する。この制御により、CPU10P1−Pnへの疲労(負荷)が平準化されるため、半導体デバイスの耐用寿命を伸ばすことが可能となる。
しかしながら、図12に示した従来の方式は、以下の問題点を有していた。
第1に、アプリケーションレベルでの負荷分散のため、CPUに固定して割り付けられたアプリケーション等がある場合には、各CPUの負荷の平準化が容易でないという問題点があった。
第2に、アプリケーションレベルの負荷の測定では、CPUへの疲労度(ダメージ率)と直接結びつかないという問題点があった。
これに対応する技術として、特許文献1(特開昭62−075739号公報)に記載のようなタスク割当て方法がある。しかし、特許文献1には、図12に示した構成と同様に、タスクの固定割当も可能な、タスクの負荷分散方法が開示されている(後記特許文献1参照)。したがって、特許文献1には、図12と同じ問題があった。
次に、図13は、電源制御機構によるダメージ制御装置の構成の一典型例を示す従来図である。図13に示すダメージ制御装置の構成例では、図12の構成に加えて、電源制御機構1000を備える構成とされている。
かかる構成において、CPU10P1は、電源制御機構1000を介して、負荷の無いCPU(図13ではCPU10P2)の電源を遮断する。これにより、その負荷の無いCPUへのダメージを低減することが可能となる。
しかしながら、図13に示した方式は、図12に示した問題点に加えて、以下の問題点を有している。
第1に、電源制御を行うCPUが固定化されるので、そのCPUのダメージの低減が難しいという問題点があった。
第2に、負荷が無い状況でないと、この方式による利点は享受できないという問題点があった。
これに対応する技術として、特許文献2(特開2004−355153号公報)には、シングルプロセッサ向けOSを用いた電源管理システムが開示されている(後記特許文献2参照)。しかし、特許文献2には、図13に示したのと同様の構成が開示されている。したがって、特許文献2には、図13と同じ問題があった。
特開昭62−075739号公報 特開2004−355153号公報
上記で述べたように、従来、複数のCPUを有する半導体集積回路において、それぞれのCPUに均等にダメージを分散化させることで、半導体集積回路の耐用寿命を延ばすことは実現不可能であった。
さらに、動作を行っている最中の実行環境同士をCPU間で移動させることは困難であった。
ここで、実行環境とは、アプリケーションだけでなくOSやミドルウエアを含めたアプリケーション実行環境のことをいう。
(発明の目的)
したがって、本発明の目的は、複数の演算装置を有する半導体集積回路において、従来よりも細かい精度で、それぞれの演算装置へのダメージを分散化させる半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置を提供することにある。
前記目的を達成する本発明は、プログラムで動作可能な演算装置を複数有する半導体集積回路において、前記演算装置の実行環境の切替を制御するダメージ制御手段を備え、前記ダメージ制御手段は、前記演算装置にかかる負荷状況を計算する切替判断手段と、前記切替判断手段による計算結果に基づいて、前記演算装置で動作中の実行環境の切替を行う切替手段とを備えることを特徴とする。
(作用)
上記構成により、プログラムで動作可能な複数の演算装置を有する半導体集積回路に対し、アプリケーションレベルのみで負荷分散を行うのではなく、OSも含めた実行環境そのものの移動が可能となる。
本発明によれば、OSも含めた実行環境そのものの移動が可能となって演算装置のより高精度な負荷分散を行え、演算装置にかかる累積ダメージを演算装置毎に制御できることから、半導体集積回路のダメージをより平準化することができ、半導体集積回路の耐用寿命を延ばすことができる。
その理由は、プログラムで動作可能な複数の演算装置間の実行環境の切替を制御するダメージ制御手段が、演算装置にかかる負荷状況を計算し、当該計算結果に基づいて、演算装置で動作中の実行環境の切替を行うからである。
本発明を実施するための最良の形態について説明する。
本発明は、その好ましい一実施の形態によれば、図1を参照すると、システムバス60を介して接続された、複数のCPU10P1−Pn、アクセラレータ50、ROM51、RAM52、I/O53、割り込み・クロック・電源制御54、タイマ55を有する半導体集積回路に加えて、CPU10P1−Pnのダメージ制御を行うダメージ制御手段100を備える。
これにより、ダメージ情報に基づいて、ダメージ制御手段100がダメージの分散化を行うための実行環境の切替を判断し、そして、その判断に基づき、実行環境のコンテキストをあるCPUから別のCPUに移動させることが可能となる。
より具体的には、例えば、各CPU間でダメージを均等にするように実行環境の切替を行うことができ、また、例えば、CPU毎にダメージの閾値を設定し、各CPUのダメージが各閾値に近付くように実行環境の切替を行うこともでき、また、例えば、特定のCPUのダメージの閾値を他のCPUよりも低く設定し、特定のCPUのダメージが当該閾値を超えないように実行環境の切替を行うこともできる。
その結果、より高精度なCPUの負荷分散が行えると同時に、ソフトウェアの改造にかかるコストを少なく抑えることができる。
以下、実施の形態に即して図面を用いて詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態を図面を用いて詳細に説明する。本実施の形態は、各CPU間でダメージを均等にするように実行環境の切替を行うものである。
(第1の実施の形態の構成)
図1は、本発明の第1の実施の形態による半導体集積回路のダメージ制御装置の構成を示すブロック図である。
図1を参照すると、本実施の形態の半導体集積回路のダメージ制御装置は、システムバス60を介して接続された、複数のCPU10P1−Pn、アクセラレータ50、ROM51、RAM52、入出力部(I/O)53、割り込み・クロック・電源制御部54、タイマ55を有する半導体集積回路に加えて、前記CPUのダメージ制御を行うダメージ制御手段100を備える。
なお、本実施の形態におけるCPU10P1−Pn、アクセラレータ50、ROM51、RAM52、I/O53、割り込み・クロック・電源制御部54、タイマ55、ダメージ制御手段100は、それぞれ、別パッケージ構成だけでなく、SoC(System−on−Chip)内部の回路構成あるいは別チップによるSiP(System−in−Package)構成、さらにその組み合わせからなる構成をとってもよい。
本実施の形態によるCPU10P−1−Pnは、信号処理プロセッサ、または、VLIWプロセッサ、構成可能プロセッサ等の、プログラム動作が可能な演算装置であれば何でもよい。
また、本実施の形態によるダメージ制御手段100は、ハードウェア構成だけでなく、ソフトウェア的な構成で実現されてもよい。
なお、CPUへのダメージとは、半導体デバイスにおける、下記のような経年劣化を起こす現象群から計算される。例えば、そのような現象には、配線のエレクトロマイグレーション・ストレスマイグレーション、トランジスタの酸化膜経時破壊、NBTI(Negative Bias Temperature Instability)、ホットキャリア注入等がある。これらの現象は、温度や、ゲート・ソース電圧等によって、その平均故障率が変化するという特徴を持っている。したがって、ある時点において、温度や、電圧、消費電流量、動作率、CPU内部資源のアクセス回数といった尺度から計算された指標を、以下ではダメージ率と呼ぶ。
ここで、ダメージ率は、上記のような現象の情報に基づき、ダメージ制御手段によって、上記の尺度が計算ないし観測される。温度や電圧、消費電力の測定は、自身に設けられた測定装置や、半導体集積回路の測定装置、内部の負荷情報から換算してもよい。いずれにせよ、従来の測定装置からの情報に基づいて、取得することが可能である。
図2は、本実施の形態における半導体集積回路のダメージ制御装置の動作環境の一例を示す図であり、動作環境図201は、時刻Tにおける半導体集積回路の動作環境を示し、実行環境−ダメージ率情報202は、各CPUについて、時刻Tにおいて動作する実行環境と、時刻Tにおけるダメージ率とを示す。
動作環境図201を参照すると、時刻Tにおいて、CPU10P1上にはOS20P1と複数のアプリケーション30P1・30P2からなる実行環境40P1が、CPU10P2上にはOS20P2とアプリケーション30P3からなる実行環境40P2が、CPU10Pn上にはOS20Pnとアプリケーション30Pmからなる実行環境40Pnが動作していることが示されている。
また、実行環境−ダメージ率情報202を参照すると、当該動作時(時刻T)において、実行環境40P1が動作しているCPU10P1のダメージ率が60%、実行環境40P2が動作しているCPU10P2のダメージ率が30%、実行環境40P3が動作しているCPU10P3のダメージ率が5%、実行環境40Pnが動作しているCPU10Pnのダメージ率が25%となっていることがわかる。
ここで、このダメージ率が当面同じであると仮定する。このとき、本実施の形態におけるダメージ制御装置は、そのダメージ率に基づいて、実行環境40P1−Pnの構成を変化させる。
図3は本実施の形態における半導体集積回路のダメージ制御装置の動作環境の一例を示す図であり、動作環境図301は、時刻T+δTにおける半導体集積回路の動作環境を示し、実行環境−ダメージ率情報302は、各CPUについて、時刻T及び時刻T+δTにおいて動作する実行環境と、時刻T及び時刻T+δTにおけるダメージ率と、時刻T及び時刻T+δTにおけるダメージ率の累積とを示している。
動作環境図301を参照すると、ダメージ制御装置によって、動作環境図201の時刻Tにおける実行環境群が、時刻T+δTにおいて、実行環境40P1はCPU10P3へ、実行環境40P2はCPU10Pnへ、実行環境40P3はCPU10P1へ、実行環境40PnはCPU10P2へと、移動していることがわかる。
実行環境−ダメージ率情報302を参照すると、各CPUにおけるダメージ率の累積は、CPU10P1において65%、CPU10P2において55%、CPU10P3において65%、CPU10Pnにおいて55%となっていることがわかる。
これにより、各CPUにおけるダメージ率の累積の平準化が可能となっている。
なお、ここでの例では、ある時点でのダメージ率に基づいて判断を行ったものの、当然ながら、累積ダメージ率に基づいて判断してもよい。すなわち、現累積ダメージ率と、ある時刻でのダメージ率とを組み合わせて判断してもよい。他にも、動的変化する数値の平準化に役立つような計算手法であれば、何でも応用可能である。
図4は、本実施の形態における半導体集積回路のダメージ制御手段の構成例を示すブロック図である。
図4を参照すると、このダメージ制御手段100は、全CPUあるいは部分的なCPUのダメージ率に基づいて、ダメージ率の平準化を行うCPU構成を判断する機能を有する切替判断手段110と、全CPUの入出力信号の切替を行う機能を有する切替手段120とを備える。
切替判断手段110は、常時又はある程度の時間間隔で、温度や、電圧、消費電流量、動作率、CPU内部資源のアクセス回数といった尺度から計算された指標であるダメージ率を観測する。そして、切替判断手段110は、各CPUのダメージ率を平準化するための計算手法を用いて、変更すべきCPUの構成を切替手段120へ通知する。ただし、切替手段120が任意の時点で実行環境40を切替えることができるとは限らないため、切替判断手段110は、実行環境40と協調することによって、例えば、内部キャッシュがフラッシュされた状態や、外部I/Oとの割込み処理が完了した状態といった、実行環境40が切替可能な安定状態になってから、切替手段120へ当該通知をしてもよい。
切替手段120は、全CPUの入出力信号及びシステムバス60に接続し、切替判断手段120からの通知に基づいて、切替えるべきCPUの入出力信号の切替を行う。切替手段120は、命令・データバスだけでなく、クロック・リセット信号、割込み信号等の一般的な信号を含む入出力信号を切替の対象としてもよい。
また、切替手段120は、各CPUの現在実行中の実行環境のコンテキストの設定及び抽出に関する機能を有する。
これらの機能により、切替手段120は、あるCPU上で動作中の実行環境を別のCPUへ切替ることが可能となる。
ここで、コンテキストとは、動作中のCPUのある指定された瞬間の記憶状態を示す情報である。
図5は、本実施の形態における半導体集積回路の切替手段の構成例を示す図である。
図5を参照すると、切替手段120は、CPUの実行環境のコンテキストを設定・抽出する機能を有するコンテキスト設定抽出手段121と、コンテキスト設定抽出手段121と連携して、CPUへの入出力信号の接続を切替える機能を有する信号接続手段122とを備える。
コンテキスト設定抽出手段121は、切替判断手段110と接続され、切替判断手段110からの切替要求を受理すると、CPU10P1−Pnと接続されたシステムバス60を介して、コンテキストの設定・抽出を行い、抽出したコンテキストを保持する。さらに、コンテキスト設定抽出手段121は、切替の開始および停止の指示を信号接続手段122に通知する。
信号接続手段122は、CPU10P1−Pnおよびシステムバス60に接続され、コンテキスト設定抽出手段121からの指示によって、信号接続の切替を行う。
本実施の形態において、このコンテキスト設定抽出手段121は、ハードウェア的な構成でもソフトウェア的な構成でもどちらでも実現可能である。コンテキスト設定抽出手段121は、ハードウェア構成の場合における、スキャンチェインを利用してCPU内の全データを取得するといった従来技術や、あるいは、ソフトウェア的な構成の場合における、CPUに備えられたハイパーバイザモード上での動作によってデータを設定・退避するといった従来技術等、コンテキストを設定・抽出する従来の技術によって実現されるのであれば、どのような構成でも構わない。
また、信号接続手段122は、ハードウェア的な全信号の切替だけでなく、割込み通知先の変更や、プロセッサ番号の変更といった、ソフトウェア的に実行環境を動作させるために必要な情報群を再設定することで実現されてもよい。
なお、本発明による半導体集積回路のダメージ制御装置は、その動作を、ダメージ制御装置内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のCPU10で実行することにより、ソフトウェア的に実現することができる。
すなわち、CPU10(CPU10、CPU10P1〜10Pn)は、ROM51に格納されているプログラムを、メインメモリにロードして実行し、ダメージ制御装置の動作を制御することにより、上述した各機能をソフトウェア的に実現することができる。
(第1の実施の形態の動作)
次いで、本実施の形態における半導体集積回路のダメージ制御装置の動作を説明する。
図6は、本実施の形態における半導体集積回路のダメージ制御装置の動作を示すフローチャートである。
図6を参照すると、本実施の形態におけるダメージ制御装置は、切替判断手段110が、常時又はある程度の時間間隔でダメージ率を観測し(ステップS101)、各CPUのダメージ率を平準化するための計算手法を用いて変更すべきCPUの構成を判断し(ステップS102)、変更すべきCPUの構成を切替手段120へ通知する(ステップS103)。
次いで、切替手段120が、切替判断手段110からの通知に基づいて、該当するCPUの現在実行中の実行環境のコンテキストの抽出及び設定を行い(ステップS104)、切替えるべきCPUの入出力信号の切替を行う(ステップS105)。
図7は、図5の切替手段120の動作の一例を説明するための図である。図7において、矢印脇のSと数字からなる符合は、ステップ番号を表している。この例では、コンテキストの設定・抽出による実行環境の移動方法について説明する。
はじめに、何の切替えも起きていないことを前提とする。
ステップS201:コンテキスト設定抽出手段121は、切替判断手段110からCPU10P2とCPu10Pnの切替の指示を受理する。
ステップS202:コンテキスト設定抽出手段121は、リセットや割込み等の信号の配送の停止を信号接続手段122に対して要求する。この際、コンテキスト設定抽出手段121は、コンテキスト設定・抽出に関わる信号の入出力は信号接続手段122に対して許可してもよい。
ステップS203:コンテキスト設定抽出手段121は、CPU10P2からコンテキストを抽出して(読み出して)コンテキスト保存手段に123に一時的に保存する。
ステップS204:コンテキスト設定抽出手段121は、CPU10Pnからコンテキストを読み出してコンテキスト保存手段123に一時的に保存し、そして、ステップS203で保存したCPU10P2のコンテキストをCPU10Pnに対して設定する。
ステップS205:コンテキスト設定抽出手段121は、ステップS204で保存したCPU10PnのコンテキストをCPU10P2に対して設定する。
ステップS206:コンテキスト設定抽出手段121は、コンテキストの設定が終了すると、信号接続手段122に対して信号の切替を指示する。
ステップS207:信号接続手段122は、コンテキスト設定抽出手段121から切替指示を受けると、システムバス60からはあたかもCPU10P2の信号がCPU10Pnとして接続されているかのように信号の接続を切替え、かつ、システムバス60からはあたかもCPU10Pnの信号がCPU10P2として接続されているかのように信号の接続を切替える。
図8は、図5の切替手段120の動作の一例を説明するための図である。図8において、矢印脇のSと数字からなる符合は、ステップ番号を表している。この例では、コンテキストの設定・抽出後の信号線の接続状況について説明する。
はじめに、何の切替えも起きていないことを前提とする。
ステップS301:コンテキスト設定抽出手段121は、信号接続手段122に対してCPU10P2とCPU10P4の接続切替の指示を行い、そして、信号接続手段122は、その指示によって、信号線の切替を行う。
ステップS302:信号接続手段122は、システムバス60からCPU10P2向けの入力信号を受理する。
ステップS303:信号接続手段122は、CPU10Pnに対してその信号を転送する。
ステップS304:信号接続手段122は、システムバス60からCPU10Pn向けの入力信号を受理する。
ステップS305:信号接続手段122は、CPU10P2に対してその信号を転送する。
図9は、図4のダメージ制御手段100の動作の一例を説明するための図である。図9において、矢印脇のSと数字からなる符合は、ステップ番号を表している。この例では、図7及び図8で説明した動作の全体を示している。
はじめに、何の切替えも起きていないことを前提とする。
ステップS401:切替手段120は、システムバス60からCPU10P2への信号を受理する。
ステップS402:切替手段120は、その信号をCPU10P2へ渡す。
ステップS403:切替判断手段110は、ダメージ率の計算に基づき、CPU10P2上の実行環境をCPU10Pnへ移動させることを切替手段120に対して通知し、切替手段120は、当該通知に基づいて、CPU10P2とCPU10Pnとのコンテキストを交換し、そして、システムバス60からはあたかも接続が切替えられているように信号接続を切替える。
ステップS404:切替手段120は、システムバス60からCPU10P2への信号を受理する。
ステップS405:切替手段120は、その信号をCPU10Pnへ渡す。
(第1の実施の形態の効果)
本発明によれば、アプリケーションレベルのみで負荷分散を行うのではなく、複数のCPUを有する半導体集積回路に対して、OSも含めた実行環境そのものの移動が可能となるので、各CPUにかかる累積ダメージをより平準化することができる。
その理由は、本実施の形態によるダメージ制御手段が、常時又はある程度の時間間隔で、温度や、電圧、消費電流量、動作率、CPU内部資源のアクセス回数といった尺度から計算された指標であるダメージ率を観測し、各CPUのダメージ率を平準化するための計算手法を用いて、変更すべきCPUの構成を切替手段120へ通知する切替判断手段110と、切替判断手段110からの切替要求に基づいて、CPUの実行環境のコンテキストを設定・抽出し、CPUへの入出力信号の接続を切替える信号接続手段122とを備えるからである。
また、本発明によれば、ハードウェアで実装する形態においては、既存ソフトウェアの改造を最小限に抑えて、ダメージの平準化を実現することができる。
(第2の実施の形態)
次いで、本発明の第2の実施の形態による半導体集積回路のダメージ制御装置を図面を参照して説明する。本実施の形態は、ダメージ制御手段120において第1の実施の形態と相違するため、相違する点を中心に以下説明する。
(第2の実施の形態の構成)
図10は、本実施の形態における半導体集積回路のダメージ制御手段の構成例を示す図である。
本実施の形態におけるダメージ制御手段100は、第1の実施の形態におけるダメージ制御手段100と同様に、全CPUあるいは部分的なCPUのダメージ率に基づいて、ダメージ率の平準化を行うCPU構成を考える機能を有する切替判断手段110と、全CPUの入出力信号の切替を行う機能を有する切替手段120とを備える。
このため、本実施の形態における切替判断手段110は、図4や図9で述べた第1の実施の形態における切替判断手段110と同じ特徴を持つ。
ただし、本実施の形態における切替判断手段110は、CPU10P1−Pn上のソフトウェアとして実現されている点で、第1の実施の形態における切替判断手段110と異なる。ここで、本実施の形態における切替判断手段110は、いわゆるアプリケーションやライブラリ、タスク、スレッド、プロセスとして実装されていてもよいし、OSモジュールやデバイスドライバとして実装されていてもよいし、ユーザスーパバイザモードより優先度の高いハイパーバイザモードのような、CPUの新しいモード内部に実装されていてもよい。
本実施の形態における切替手段120は、図4や図9で述べた第1の実施の形態における切替手段120と同じ特徴を持つが、前記ソフトウェアとして実現された本実施の形態における切替判断手段110と連携する点で第1の実施の形態における切替手段120と相違する。
(第2の実施の形態の効果)
本発明によれば、第1の実施の形態の効果に加え、CPU10P1−Pn上のソフトウェアとして実現されている切替判断手段110も含めた実行環境の移動が可能となるので、第1の実施の形態と比べ、各CPUにかかる累積ダメージをより平準化することができる。
(第3の実施の形態)
次いで、本発明の第3の実施の形態による半導体集積回路のダメージ制御装置を図面を参照して説明する。本実施の形態は、切替手段120において第1の実施の形態と相違するため、相違する点を中心に以下説明する。
(第3の実施の形態の構成)
図11は、本実施の形態における半導体集積回路のダメージ制御手段の構成例を示す図である。
本実施の形態におけるダメージ制御手段100は、第1及び第2の実施の形態における切替判断手段110と同様に、全CPUあるいは部分的なCPUのダメージ率に基づいて、ダメージ率の平準化を行うCPU構成を考える機能を有する切替判断手段110と、全CPUの入出力信号の切替を行う機能を有する切替手段120とを備える。
また、本実施の形態における切替判断手段110は、図10で述べた第2の実施の形態における切替判断手段110と同様に、ソフトウェアとして実現されている。
このため、本実施の形態における切替判断手段110は、図10で述べた第2の実施の形態における切替判断手段110と同じ特徴を持つ。
本実施の形態における切替手段120は、CPU10P1−Pn上のソフトウェアとして実現されている点で、第1の実施の形態における切替手段120と異なる。ここで、本実施の形態における切替手段120は、いわゆるアプリケーションやライブラリ、タスク、スレッド、プロセスとして実装されていてもよいし、OSモジュールやデバイスドライバとして実装されていてもよいし、ハイパーバイザモードのような、CPUの新しいモード内部に実装されていてもよい。
本実施の形態における切替手段120は、ソフトウェアとして実現されているため、全ての入出力信号を切替えることができない。よって、本実施の形態における切替手段120は、割込み通知先の変更や、プロセッサ番号の変更といった、実行環境をソフトウェア的に動作させるために必要な情報群を再設定することで対処する。
(第3の実施の形態の効果)
本発明によれば、第1の実施の形態の効果に加え、CPU10P1−Pn上のソフトウェアとして実現されている切替手段120も含めた実行環境の移動が可能となるので、第1の実施の形態と比べ、各CPUにかかる累積ダメージをより平準化することができる。
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、本発明の範囲内で当業者であればなしうるであろう各種変形、修正を含むことはもちろんであり、その技術的思想の範囲内において様々に変形して実施することができる。
なお、上記各実施の形態では、複数のCPUを有する半導体集積回路のダメージを制御するダメージ制御装置及び方法を例に説明したが、本発明は、かかるダメージ制御装置及び方法に限定されるものではなく、任意のダメージ制御装置及び方法に適用可能である。
本発明の第1の実施の形態による半導体集積回路のダメージ制御装置の構成を示すブロック図である。 第1の実施の形態による半導体集積回路のダメージ制御装置の動作環境例を示す図である。 第1の実施の形態による半導体集積回路のダメージ制御装置の動作環境例を示す図である。 第1の実施の形態による半導体集積回路のダメージ制御手段の構成例を示すブロック図である。 第1の実施の形態による半導体集積回路の切替手段の構成例を示す図である。 第1の実施の形態による半導体集積回路のダメージ制御装置の動作を示すフローチャートである。 第1の実施の形態による切替手段の動作を説明する図である。 第1の実施の形態による切替手段の動作を説明する図である。 第1の実施の形態によるダメージ制御手段の動作を説明する図である。 本発明の第2の実施の形態による半導体集積回路のダメージ制御装置の構成を示すブロック図である。 本発明の第3の実施の形態による半導体集積回路のダメージ制御装置の構成を示すブロック図である。 従来のダメージ制御装置の構成例を示す図である。 従来のダメージ制御装置の構成例を示す図である。
符号の説明
10、10P1、10P2、10P3〜10Pn:CPU
20、20P1、20P2、20P3〜20Pn:OS
30、30P1、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 (24)

  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項に記載の半導体集積回路を備えることを特徴とする電子装置。
JP2006332121A 2006-12-08 2006-12-08 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置 Pending JP2010066785A (ja)

Priority Applications (3)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2010066785A true JP2010066785A (ja) 2010-03-25

Family

ID=39491933

Family Applications (1)

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

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

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566091A (en) * 1994-06-30 1996-10-15 Caterpillar Inc. Method and apparatus for machine health inference by comparing two like loaded components
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
WO2004066044A1 (en) * 2003-01-23 2004-08-05 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
JP4465598B2 (ja) * 2004-07-05 2010-05-19 ソニー株式会社 集積回路およびその処理制御方法、並びに、プログラム
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 富士通株式会社 き裂進展評価装置及びき裂進展評価方法

Also Published As

Publication number Publication date
WO2008069029A1 (ja) 2008-06-12
US20090271594A1 (en) 2009-10-29

Similar Documents

Publication Publication Date Title
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
US10740146B2 (en) Migrating virtual machines between compute systems by transmitting programmable logic accelerator state
KR101835056B1 (ko) 논리적 코어들의 동적 맵핑
JP4808108B2 (ja) プロセッサシステム
JP4255457B2 (ja) エラー処理方法
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
US8806166B2 (en) Memory allocation in a multi-node computer
JP2008152470A (ja) データ処理システム及び半導体集積回路
US20170285710A1 (en) Processor power monitoring and control with dynamic load balancing
JP2008003915A (ja) 電子機器
JPWO2011135759A1 (ja) 情報処理装置及びタスク切り替え方法
US8046565B2 (en) Accelerator load balancing with dynamic frequency and voltage reduction
US20240202025A1 (en) Hybrid virtual gpu co-scheduling
US7467289B1 (en) Indicating acknowledge of stable state of pipeline resource when freeze bit set and context switch inhibited
TWI497419B (zh) 電腦裝置及其中斷任務分配方法
JP6380261B2 (ja) 電子機器および給電制御プログラム
JP2010039923A (ja) 情報処理装置
US9772964B2 (en) Multicore processor system, computer product, assigning method, and control method
JP2010066785A (ja) 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置
JP5704176B2 (ja) プロセッサ処理方法、およびプロセッサシステム
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
US9009509B2 (en) Virtual computer system, device sharing control method, computer-readable recording medium, and integrated circuit
JP2014052918A (ja) 演算装置およびその制御方法
US20240183884A1 (en) Dynamic voltage regulator sensing for chiplet-based designs
JP5791462B2 (ja) 半導体管理システム及び半導体管理方法