(57)【要約】【課題】低電力で、且つリアルタイム処理を可能とする半導体集積回路装置を提供する。【解決手段】温度を検出するとともにその検出結果が基準値を越えたか否かを上記基準値毎に判定して出力可能な温度センサ（ＴＳＮＳ）と、上記温度センサの出力信号に基づいて演算ブロックの動作を制御可能な制御ブロック（ＲＭ）とを設ける。上記制御ブロックは、上記温度センサの出力信号に基づく割り込み信号によって休止状態から動作状態に復帰し、上記演算ブロックの温度条件を満たすように上記演算ブロックの動作条件を決定する。それにより消費電力の低減、及びリアルタイム性の向上を図る。【選択図】図１
2008124125.tif 000002
【特許請求の範囲】
【請求項１】
所定の演算処理を行う演算ブロックと、
互いに異なる複数の基準値を備え、温度を検出するとともにその検出結果が上記基準値を越えたか否かを上記基準値毎に判定して出力可能な温度センサと、
上記温度センサの出力信号に基づいて上記演算ブロックの動作を制御可能な制御ブロックと、を含み、
上記制御ブロックは、上記温度センサの出力信号に基づいて割り込み信号を生成する周辺回路ブロックと、
入力された割り込み信号をトリガとして休止状態から動作状態に復帰し、上記演算ブロックの温度条件を満たすように上記演算ブロックの動作条件を決定可能なコントローラと、を含んで成ることを特徴とする半導体集積回路装置。
【請求項２】
上記温度センサは、温度検出を行う温度センサブロックと、
上記温度センサブロックの温度検出結果を、互いに異なる複数の基準電圧と比較するための複数のコンパレータと、を含んで成る請求項１記載の半導体集積回路装置。
【請求項３】
上記周辺回路ブロックは、上記複数のコンパレータからの出力信号に対応する複数の割り込み信号を生成する割り込み制御回路を含んで成る請求項２記載の半導体集積回路装置。
【請求項４】
上記周辺回路ブロックは、上記複数のコンパレータからの出力信号を積分するためのフィルタブロックを含み、上記フィルタブロックの出力信号が上記割り込み制御回路に伝達される請求項３記載の半導体集積回路装置。
【請求項５】
上記温度センサブロックの温度検出結果を上記半導体集積回路装置の外部に出力可能な外部端子を含んで成る請求項１記載の半導体集積回路装置。
【請求項６】
上記演算ブロックにおけるクリティカルパスの遅延量を観測可能なディレイモニタを含み、上記割り込み制御回路は、上記複数のコンパレータからの出力信号に対応する複数の割り込み信号とは別に、上記ディレイモニタの出力信号に応じた割り込み信号を生成してそれを上記コントローラに出力する請求項３記載の半導体集積回路装置。
【請求項７】
上記コントローラは、上記演算ブロックの温度条件を満たす中で最大のパフォーマンスを発揮するように上記演算ブロックの動作を制御する請求項１記載の半導体集積回路装置。
【請求項８】
上記コントローラは、周辺温度とリーク電流による熱の成分を計算する第１処理と、
上記第１処理で得られた演算結果を用いて許容される最大動作電力を算出する第２処理と、を含み、
上記第２処理での算出結果に基づいて、上記演算ブロックにおいて許容される電力が決定される請求項７記載の半導体集積回路装置。
【請求項９】
所定の演算処理を行う演算ブロックと、
互いに異なる複数の基準値を備え、温度を検出するとともにその検出結果が上記基準値を越えたか否かを上記基準値毎に判定して出力可能な温度センサと、
上記演算ブロックにおけるクリティカルパスの遅延量を観測可能なディレイモニタと、
上記演算ブロックにおける動作電圧を観測可能な動作電圧モニタと、
上記温度センサの出力信号、上記ディレイモニタのモニタ結果、上記動作電圧モニタのモニタ結果に基づいて上記演算ブロックの動作を制御可能な制御ブロックと、を含み、
上記制御ブロックは、上記温度センサの出力信号、上記ディレイモニタのモニタ結果、上記動作電圧モニタのモニタ結果に基づいて上基づいて割り込み信号を生成する周辺回路ブロックと、
入力された割り込み信号をトリガとして休止状態から動作状態に復帰し、上記演算ブロックの温度条件を満たすように上記演算ブロックの動作条件を決定するコントローラと、
上記コントローラによって決定された動作条件に従って、上記演算ブロックにおける動作周波数、上記演算ブロックにおける電源電圧遮断、及び基板電圧の制御を指示可能な動作条件制御回路と、を含んで成ることを特徴とする半導体集積回路装置。
【請求項１０】
複数の半導体チップが一つのパッケージに封止されて成る半導体集積回路装置であって、
上記複数の半導体チップにおける少なくとも一つは、請求項１乃至９の何れか１項記載の半導体集積回路装置とされ、それに含まれる上記コントローラは、上記複数の半導体チップにおける個々のチップ毎の温度条件を満たすように個々のチップ毎の動作条件を決定する半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路技術、特に動作温度を考慮した半導体集積回路装置に関する。
【背景技術】
【０００２】
半導体製造プロセスの微細化に伴い、ＬＳＩの集積度は向上し、1チップ上に複数のシステムの集積が可能となった。しかし一方で、この微細化は電力の増加をもたらす。電力増加は電源電圧のスケーリング鈍化、リーク電流の増加によるものである。組込み向けのＬＳＩでは、電力増加による熱暴走を如何に回避するかが重要とされる。
【０００３】
電力増加による熱暴走などを回避する手段として、温度センサをＬＳＩ内に集積し、その値に応じて電力を制御する方法が考えられる。
【０００４】
特許文献１には、プロセッサの温度がある一定温度を超えた場合、一定の時間割合でプロセッサの動作を休止させるようにした技術が記載されている。また、特許文献２には、複数のプロセッサを含むＬＳＩにおいて、いずれかのプロセッサの動作温度が一定温度を超えた場合、他のプロセッサにその処理を移行させるようにした技術が記載されている。
【０００５】
【特許文献１】特開２００６−１４６６０５号公報
【特許文献２】特開２００６−０１８７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
組込み機器の高性能化に伴う電力の増加に伴い、今後は組込み向けでも熱問題は重要となる。しかしながら、組み込み用途では、厳しいコスト要求や、さまざまな環境での使用などサーバー分野とは異なる制約条件が発生する。例えば組み込み用途では以下の要求を満たす必要があると考えられる。
（１）より低電力かつ小面積で実装する。
（２）使用環境の変化による周辺温度の変化に対応させる。
（３）処理に対する時間制限を持つリアルタイム処理を可能とする。
【０００７】
しかしながら、上記特許文献１では、一定期間プロセッサの動作を停止するようにしており、この動作停止期間中のリアルタイム処理の受付については考慮されていない。また、上記特許文献１及び特許文献２の何れにおいても上記（２）の条件に関しては触れられていない。
【０００８】
本発明の目的は、低電力で、且つリアルタイム処理を可能とする半導体集積回路装置を提供することにある。
【０００９】
本発明の別の目的は、使用環境の変化による周辺温度の変化を考慮した半導体集積回路装置を提供することにある。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１２】
すなわち、温度を検出するとともにその検出結果を複数の基準値と比較してその結果を出力可能な温度センサと、上記温度センサの出力信号に基づいて演算ブロックの動作を制御可能な制御ブロックとを設ける。上記制御ブロックは、上記温度センサの出力信号に基づいて割り込み信号を生成する周辺回路ブロックと、入力された割り込み信号をトリガとして休止状態から動作状態に復帰し、上記演算ブロックの温度条件を満たすように演算ブロックの動作条件を決定可能なコントローラとを含む。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１４】
すなわち、低電力で、且つリアルタイム処理を可能とする半導体集積回路装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
１．代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路装置（ＳＯＣ）は、所定の演算処理を行う演算ブロック（ＦＢ）と、互いに異なる複数の基準値を備え、温度を検出するとともにその検出結果が上記基準値を越えたか否かを上記基準値毎に判定して出力可能な温度センサ（ＴＳＮＳ）と、上記温度センサの出力信号に基づいて上記演算ブロックの動作を制御可能な制御ブロック（ＲＭ）とを設ける。そして、上記制御ブロックは、上記温度センサの出力信号に基づいて割り込み信号を生成する周辺回路ブロック（ＲＭＰ）と、入力された割り込み信号をトリガとして休止状態から動作状態に復帰し、上記演算ブロックの温度条件を満たすように上記演算ブロックの動作条件を決定可能なコントローラ（ＲＭＣ）とを含んで構成する。
【００１７】
上記の構成によれば、温度を検出するとともにその検出結果が上記基準値を越えたか否かを上記基準値毎に判定して出力することにより、温度の時間変化が分かり、これにより組み込みで変化する周辺温度を算出でき、その変化に対応可能となる。また、コントローラは、入力された割り込み信号をトリガとして休止状態から動作状態に復帰するため、割り込みがかかるまで動作を休止することができ、それによって温度制御にかかる電力を最小限に抑えることができる。
【００１８】
〔２〕上記温度センサは、温度検出を行う温度センサブロック（ＴＳＮＳＢ）と、上記温度センサブロックの温度検出結果を、互いに異なる複数の基準電圧と比較するための複数のコンパレータ（ＣＭＰ）とを含んで構成することができる。
【００１９】
〔３〕上記周辺回路ブロックは、上記複数のコンパレータからの出力信号に対応する複数の割り込み信号を生成する割り込み制御回路を含んで成る。
【００２０】
〔４〕上記周辺回路ブロックは、上記複数のコンパレータからの出力信号を積分するためのフィルタブロック（ＦＬＴ）を含み、上記フィルタブロックの出力信号が上記割り込み制御回路に伝達されるように構成することができる。上記フィルタブロックにより、温度センサブロックからの信号の揺らぎやノイズを除去することができる。
【００２１】
〔５〕上記温度センサブロックの温度検出結果を上記半導体集積回路装置の外部に出力可能な外部端子（ＴＳＣＯ，ＲＥＦＣＯ）を設けることができる。それにより、上記温度センサブロックＴＳＮＳＢの外部モニタが可能となるので、上記温度センサブロックＴＳＮＳＢによって、正しく温度検出が行われているか否かを確認することができ、信頼性の向上を図ることができる。
【００２２】
〔６〕上記演算ブロックにおけるクリティカルパスの遅延量を観測可能なディレイモニタを含み、上記割り込み制御回路は、上記複数のコンパレータからの出力信号に対応する複数の割り込み信号とは別に、上記ディレイモニタの出力信号に応じた割り込み信号を生成してそれを上記コントローラに出力するように構成することができる。
【００２３】
〔７〕上記コントローラは、上記演算ブロックの温度条件を満たす中で最大のパフォーマンスを発揮するように上記演算ブロックの動作を制御させることができる。
【００２４】
〔８〕上記コントローラは、周辺温度とリーク電流による熱の成分を計算する第１処理（４０１）と、上記第１処理で得られた演算結果を用いて許容される最大動作電力を算出する第２処理（４０２）と、を含み、上記第２処理での算出結果に基づいて、上記演算ブロックにおいて許容される電力が決定される。
【００２５】
〔９〕所定の演算処理を行う演算ブロックと、互いに異なる複数の基準値を備え、温度を検出するとともにその検出結果が上記基準値を越えたか否かを上記基準値毎に判定して出力可能な温度センサと、上記演算ブロックにおけるクリティカルパスの遅延量を観測可能なディレイモニタと、上記演算ブロックにおける動作電圧を観測可能な動作電圧モニタと、上記温度センサの出力信号、上記ディレイモニタのモニタ結果、上記動作電圧モニタのモニタ結果に基づいて上記演算ブロックの動作を制御可能な制御ブロックとを含み、上記制御ブロックは、上記温度センサの出力信号、上記ディレイモニタのモニタ結果、上記動作電圧モニタのモニタ結果に基づいて上基づいて割り込み信号を生成する周辺回路ブロックと、入力された割り込み信号をトリガとして休止状態から動作状態に復帰し、上記演算ブロックの温度条件を満たすように上記演算ブロックの動作条件を決定するコントローラ（ＲＭＰ）と、上記コントローラによって決定された動作条件に従って、上記演算ブロックにおける動作周波数、上記演算ブロックにおける電源電圧遮断、及び基板電圧の制御を指示可能な動作条件制御回路（ＲＭＣ）とを設ける。
【００２６】
〔１０〕複数の半導体チップが一つのパッケージに封止されて成る半導体集積回路装置であって、上記複数の半導体チップにおける少なくとも一つは、上記〔１〕乃至〔９〕の半導体集積回路装置とされ、それに含まれる上記コントローラは、上記複数の半導体チップにおける個々のチップ毎の温度条件を満たすように個々のチップ毎の動作条件を決定することができる。
【００２７】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００２８】
図１には、本発明にかかる半導体集積回路装置の一例とされるシステムオンチップが示される。
【００２９】
図１に示されるシステムオンチップＳＯＣは、特に制限されないが、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成され、多数の演算ブロックＦＢが１チップ上に集積されて成る。
【００３０】
図１に示されるシステムオンチップＳＯＣは、温度センサＴＳＮＳと、ディレイモニタＤＳＮＳと、外部端子を介して与えられた制御信号ＲＭＥＮに基づいてシステムオンチップＳＯＣを管理するための制御ブロックＲＭと、ユーザー処理を行うための演算ブロックＦＢと、各演算ブロックＦＢの処理実行状況を観測するための観測回路ＰＰＣと、メモリインタフェース制御回路ＢＳＣと、各ブロックの動作周波数の設定を行うための動作周波数制御回路ＰＣＴＲと、これらのブロックを接続するオンチップ・インタフェースＯＩＦと、オンチップ・インタフェースの調停に関する制御を行うためのブロックＢＣＴＲを含む。システムオンチップＳＯＣを管理するための制御ブロックＲＭは、コントローラＲＭＣと、このコントローラＲＭＣに付随する周辺回路ブロックＲＭＰからなる。コントローラＲＭＣは、制御プログラムを実行するためのコントローラＲＭＣＰＵと、ローカルメモリ、アドレス変換テーブル、キャッシュを含むインタフェースブロックＲＭＢＩＦと、オンチップデバッグ回路ＯＣＤを含む。またコントローラＲＭＣに付随する周辺回路ブロックＲＭＰは、温度センサＴＳＮＳからの情報をフィルタリングするためのブロックＦＬＴと、タイマーブロックＴＭＵと、温度センサＴＳＮＳ、タイマーブロックＴＭＵからの情報をコントローラＲＭＣに伝達するための割り込みコントロールブロックＩＮＴを含む。割り込みコントロールブロックＩＮＴが温度センサＴＳＮＳからの情報をコントローラＲＭＣに伝達する手段としては、割り込みＩＮＴＴＳ信号を用いる方法と、コントローラＲＭＣからＩＮＴＴＳ内のレジスタＴＳＲを読み出す手段がある。観測回路ＰＰＣは処理実行状況を観測するための手段であるが、処理実行状態とは例えば実行された命令数などが一例である。ディレイモニタＤＳＮＳは、クリティカルパスの伝播遅延がディレイ違反を発生していないかどうかを検出するためのブロックである。トランジスタのディレイは温度、および、チップ依存性があり、温度だけではなくこのディレイも含めて演算ブロックＦＢの動作速度を決定する必要がある。ディレイモニタＤＳＮＳは、あるクリティカルパスと同程度かすこし大きめのディレイを有し、その伝播遅延が期待されている値より大きくなりディレイ違反が発生した際にはＩＮＴＴＳ０を論理値‘１’にアサートするブロックである。
【００３１】
本構成において、温度センサＴＳＮＳ、ディレイモニタＤＳＮＳ、観測回路ＰＰＣによって計測されたシステムオンチップＳＯＣ内の温度情報、ディレイ情報、各演算ブロックＦＢの動作状況に関する情報、および、動作周波数に関する情報を用いて、ＲＭは演算ブロックＦＢの適切な動作条件（動作周波数など）を算出し、その結果を各演算ブロックＦＢにフィードバックする。
【００３２】
図２には、図１におけるフィルタブロックＦＬＴの構成例が示される。
【００３３】
フィルタブロックＦＬＴは、温度センサＴＳＮＳからの信号の揺らぎやノイズを除去するための積分型フィルタである。このフィルタブロックＦＬＴによって、コントローラＲＭＣは揺らぎやノイズを除去するための処理をソフトウェアで行う必要がなく、処理周波数を抑え、低消費電力化を実現できる。フィルタブロックＦＬＴは、基準クロックＲＣＬＫを分周し、サンプリングクロックＳＣＬＫを生成するためのブロックＤＩＶと、そのサンプリングクロックに同期してセンサからの入力信号ＳＮＳＯをサンプリングしフィルタ演算を行うブロックＦＬＴＢからなる。ブロックＦＬＴＢは、サンプリングした信号を積分し、それを設定しておいた値ＴＨＶＳと比較し、その比較結果を出力する。ブロックＦＬＴＢの数は、センサからの入力信号の本数に依存する。また本ＦＬＴはサンプリング数ＮＳＰＬ、サンプリング周波数ＦＳＰＬを制御レジスタに書き込むことで変更できる。
【００３４】
図３には、上記温度センサＴＳＮＳの構成例が示される。
【００３５】
上記温度センサＴＳＮＳは、バンドギャップ電圧を測定するタイプの温度センサブロックＴＳＮＳＢと、その出力電圧ＴＳＮＳＳ及び参照電圧ＲＥＦをチップ外部に出力するためのバッファブロックＢＵＦと、上記出力電圧ＴＳＮＳＳが特定の温度以上であることを検出するための複数のコンパレータＣＭＰを含んで成る。各コンパレータは、参照電圧ＲＥＦが複数の抵抗で分圧して得られるところの互いに異なる基準電圧と、上記出力電圧ＴＳＮＳＳを比較する。参照電圧ＲＥＦが複数の抵抗で分圧して得られる基準電圧は、上記温度センサＴＳＮＳによる温度検出との関係で設定される。例えば、温度センサＴＳＮＳの出力信号ＳＮＳＯに含まれる“ＯＶＥＲ１２５“信号は、ＴＳＮＳＢの検出した温度が１２５℃を超える期間、論理値‘１’を出力する。また、温度センサＴＳＮＳの出力信号ＳＮＳＯに含まれる“ＯＶＥＲ１１５“信号は、ＴＳＮＳＢの検出した温度が１１５℃を超える期間、論理値‘１’とされる。同様に、ＳＮＳＯに含まれる他の信号はそれぞれ別の温度を検出する。本例においては、上記複数のコンパレータの出力である複数の温度情報（ＯＶＥＲ１２５，ＯＶＥＲ１１５，ＯＶＥＲ１０５，ＯＶＥＲ９５，ＯＶＥＲ８５）を用いることで、ＬＳＩの外の周辺温度などを推定し、それによって、より精度の良い制御を行うようにしている。
【００３６】
上記温度センサブロックＴＳＮＳＢは、バッファＢＵＦ及びチップの外部端子ＴＳＣＯを介してチップ外に出力することができる。また、上記参照電圧ＲＥＦは、バッファＢＵＦ及びチップの外部端子ＲＥＦＣＯを介してチップ外に出力することができる。これにより、上記温度センサブロックＴＳＮＳＢの外部モニタが可能となり、上記温度センサブロックＴＳＮＳＢによって、正しく温度検出が行われているか否かを確認することができる。
【００３７】
図４には、温度制御フローが示される。
【００３８】
コントローラＲＭＣは、図４に示される流れに従い、演算処理及び所定ブロックの動作制御を行う。本図において、Ｔｊは温度センサＴＳＮＳによって計測されるシステムオンチップＳＯＣの動作温度であり、ＴＢＰは過去の制御電力値を保持するためのテーブルである。ＴＢＴＪは過去のシステムオンチップＳＯＣの温度情報を保持するためのテーブルであり、Ｔｊｔは制御目標温度であり、ＰｓｗはシステムオンチップＳＯＣの電力成分のうちのスイッチング電力である。ＰｌｋはシステムオンチップＳＯＣの電力成分のうちのリーク電力であり、ＨｓｗはＰｓｗによる熱であり、ＨｌｋはシステムオンチップＳＯＣのリーク電流Ｐｌｋによる熱である。Ｔａは周辺温度であり、θｐｋｇはパッケージの熱抵抗であり、ＣｓｉはＬＳＩの熱容量であり、ＨＳＷＭＡＸは許容されるスイッチング電力による熱であり、ＰＳＷＭＡＸは許容されるスイッチング電力である。この温度制御の目的は、システムオンチップＳＯＣの規定された限界温度以下で最大のパフォーマンスを出すことである。一般的な温度制御においては、限界温度に達する直前で回路動作を停止させる、あるいは、予め決めておいた値まで周波数を下げるといったものである。しかし、回路動作の停止や大幅な周波数低減は、組み込みシステムで重要なリアルタイム処理の動作に影響を及ぼす。組み込み向けのシステムオンチップＳＯＣにおいて、周辺温度Ｔａは大きく変化し、そのＴａによって低減すべき周波数の度合いは異なる。これが組込み向け制御を難しくさせる。本例では、先ず、１ｓｔステージにおいて式４０１で示される演算処理により、変化する周辺温度Ｔａとリーク電流による熱Ｈｌｋの成分を含む項を計算する。リーク電流も温度依存性をもつため１ｓｔステージで算出する。この計算においては、システムオンチップＳＯＣの温度Ｔｊの時間変化と以前のスイッチング電力値Ｐｓｗを用いる。この温度変化を知るために図３で述べた複数の温度レベルを検出する機構が必須となる。
【００３９】
次に２ｎｄステージでは、上記１ｓｔステージでの演算結果を用いて、式４０２で示される演算処理により、許容される最大動作電力を算出する。この２ｎｄステージでは、ディレイモニタＤＳＮＳからのディレイ情報も加味される。また、システムオンチップＳＯＣ全体として許容される電力の各機能ブロックへの分配を決める手段としては、予め決めておいた電力分配テーブルをベースに決定する。コントローラＲＭＣは各機能ブロックに対して、許容される電力指標を通知する。電力指標の例としては電力値や周波数がある。各機能ブロックはこれを元に自らの電力を制御する。この制御は、複数の決められた温度レベルが検出され割り込みが発生したとき、また、タイマからの割り込みがアサートされたときに実行される。また、許容される電力を各機能ブロックに分配する方法として、各機能に必要電力をコントローラＲＭＣに通知させそれをもとに動的に分配する方法がある。また、上記例ではコントローラＲＭＣが電力指標を通知する単位としては各機能ブロックとしているが、複数機能ブロックを合せた機能ブロック群でもよく、その機能ブロック群を統括する機能ブロックに電力指標を通知する。機能ブロック群の例としては、ＣＰＵ、専用処理ＩＰ（Intellectual Property）、周辺ブロックなどを含むエリアなどがある。
【００４０】
図５には、上記割り込みコントロールブロックＩＮＴの構成例が示される。
【００４１】
上記割り込みコントロールブロックＩＮＴは、タイマーブロックＴＭＵの出力信号ＴＭＵ０、フィルタＦＬＴの出力信号ＦＬＴ０、ディレイモニタＤＳＮＳの出力信号ＩＮＴＴＳ０を入力とし、コントローラＲＭＣに対する割り込み要求ＩＮＴＴＵ、ＩＮＴＤＳ、ＩＮＴＴＳを生成する。上記割り込みコントロールブロックＩＮＴは、ＦＬＴ０信号の立ち上がりエッジと立下りエッジを検出するエッジ検出ブロックＥＧＤＴと、入力信号のうちコントローラＲＭＣへの割り込み要求には反映しない信号を遮蔽するためのマスクブロックＭＳＫと、このマスクブロックＭＳＫを通過した複数の要因のうちから優先度の高いものを選択し割り込み要求とするＰＲＩＪと、レジスタ群（ＩＥＶＴ、ＰＲＩ、ＭＳＫＲ、ＭＳＫＣＬＲＲ、ＴＳＲ、ＤＳＲ）からなる。ＩＥＶＴは割り込み要求を発生した要因を保持するためのレジスタである。ＰＲＩは各要因の優先度を指定である。ＭＳＫＲは各要因を遮蔽するかどうかを指定するためのレジスタであり、ＭＳＫＣＬＲＲはＭＳＫＲ内の各要因のマスク指定をクリアするレジスタである。ＤＳＲはＩＮＴＴＳ０からのディレイ情報を保持するためのレジスタであり、ＴＳＲは温度センサＴＳＮＳからの温度情報を保持するためのレジスタである。これらのレジスタ群はインタフェースを通してコントローラＲＭＣなどから読み書きすることも可能である。マスクブロックＭＳＫは、ＭＳＫＲで指示された要因を遮蔽する。本ブロックＩＮＴの特徴の一つは、エッジ検出ブロックＥＧＤＴにより温度センサＴＳＮＳからの情報の立ち上がりエッジと立下りエッジを検出して割り込み要求を発生させる点である。これにより、温度が上昇する場合と下降する場合とを区別することができ、それに応じた動作制御が可能になる。
【００４２】
上記例によれば、以下の作用効果を得ることができる。
【００４３】
（１）ＬＳＩの動作温度範囲内での動作を保証しつつ、そのパフォーマンスを最大化するよう機能回路動作を制御することが可能となる。特に組み込みＬＳＩでは、周辺温度の変化に伴い許容される機能回路のパフォーマンスも大きく変化する。上記の例によれば、この周辺温度も考慮し機能回路動作の制御を行う。その効果の一例が図８に示される。本図（Ａ）における比較対象とされる特性曲線８２は、ＬＳＩの動作限界温度に達する直前で機能回路の動作を停止させる方式を採用した場合の特性を示している。この比較対象方式においては、機能回路動作が停止する期間のリアルタイム処理が受け付けられず、そのリアルタイム性が阻害される。これに対して上記の例によれば、特性曲線８１のように、いかなる周辺温度でもその最大のパフォーマンスでリアルタイム処理の実行が可能である。例えば許容処理実行周波数が６００ＭＨｚを満たす場合の周辺温度範囲は、図８（Ｂ）に示されるように、比較対象が周辺温度範囲が５５℃であるのに対して、上記の例によれば、周辺温度範囲は８５℃とされ、リアルタイム動作を保証できる周辺温度が拡大される。
【００４４】
（２）上記の例においては、温度情報をコントローラＲＭＣに割込みで通知する構造、および、温度センサＴＳＮＳからＲＭの間にフィルタ回路による不必要な割り込みを抑止する構造により、コントローラＲＭＣは割り込み信号がアサートされるまで動作を休止させることができる。つまり、コントローラＲＭＣはは、割り込み信号をトリガとして休止状態から動作状態に復帰させることにより、温度制御にかかる電力を最小化できる。
【００４５】
（３）温度センサブロックＴＳＮＳＢは、バッファＢＵＦ及びチップの外部端子ＴＳＣＯを介してチップ外に出力することができ、また、上記参照電圧ＲＥＦは、バッファＢＵＦ及びチップの外部端子ＲＥＦＣＯを介してチップ外に出力することができるので、上記温度センサブロックＴＳＮＳＢの外部モニタが可能となる。それにより、上記温度センサブロックＴＳＮＳＢによって、正しく温度検出が行われているか否かを確認することができるので、信頼性の向上を図ることができる。
【００４６】
図６には、上記システムオンチップＳＯＣの別の構成例が示される。
【００４７】
図６に示されるシステムオンチップＳＯＣが図１に示されるのと大きく相違するのは、３個の機能ブロックＲＭＣＵが設けられ、各機能ブロックＲＭＣＵは、制御対象となる機能ブロックＦＢに対して、各種センサブロック（温度センサＴＳＮＳ、ディレイモニタＤＳＮＳ、ＶＳＮＳ）と、周波数制御部ＦＣＴＲ、電源電圧制御部ＳＶＣＴＲ、基板電圧制御部ＴＶＣＴＲを付加したブロックである。ＴＳＮＳは温度センサである。ディレイモニタＤＳＮＳは機能ブロックＲＭＣＵの動作周波数が適切に制御されているかどうかをモニタするための回路ブロックであり、クリティカルパスと同程度のディレイを持つ擬似パスを用いてこれを判定する。ＶＳＮＳは機能ブロックＲＭＣＵの動作電圧をモニタするための回路ブロックである。これら温度センサＴＳＮＳ、ディレイモニタＤＳＮＳ、ＶＳＮＳの情報はＲＭＰを介してコントローラＲＭＣに伝達される。これらの、温度、電圧、ディレイは密接な関係をもつ。これらのモニタ回路ブロックを備えることで、コントローラＲＭＣは総合的な判断し演算ブロックＦＢの動作条件を決定できる。ＩＰＣＴＲは制御対象とされる演算ブロックＦＢに対して動作周波数、電源電圧の遮断、基板電圧の制御を指示するためのブロックである。このブロックＩＰＣＴＲ内の、ＦＣＴＲＴは各演算ブロックＦＢの動作周波数を指定するための記憶部を備えるブロックであり、ＳＶＣＴＲＴは各演算ブロックＦＢに電源電圧値(遮断を含め)を指定するための記憶部を備えるブロックであり、各演算ブロックＦＢの基板電圧を指定するための記憶部を備えるブロックである。コントローラＲＭＣはライト命令を用いてこれらＦＣＴＲＴ、ＳＶＣＴＲＴ、ＴＶＣＴＲＴに指示を行うことができる。機能ブロックＲＭＣＵ内のＦＣＴＲはＩＰＣＴＲ内のＦＣＴＲＴで指示された周波数での動作を行うための制御ブロックであり、機能ブロックＲＭＣＵ内のＳＶＣＴＲは、ブロックＩＰＣＴＲ内のＳＶＣＴＲＴで指示により機能ブロックＲＭＣＵ内の電源制御回路を操作するための制御ブロックであり、機能ブロックＲＭＣＵ内のＴＶＣＴＲはＩＰＣＴＲ内のＴＶＣＴＲＴの指示により機能ブロックＲＭＣＵ内の基板電圧値を制御するためのブロックである。また、システムオンチップＳＯＣ外部の電源電圧制御回路に対して、供給される電圧値を指定するための端子も有し、この端子への出力値はＲＭＣから指定可能である。本例においては基板電圧制御単位と、電源電圧制御単位が一致しているが、もちろん異なってもよい。また、本例においては、制御単位がＬＳＩ内のブロック単位に分割されているが、もちろんＬＳＩ全体が一つの制御単位となってもよい。
【００４８】
また、複数の高性能なＬＳＩを１パッケージ化する場合、熱の問題も非常に重要となる。図７には、複数の半導体チップを１パッケージ内に封止する場合の構成例が示される。
【００４９】
ＬＳＩ−０、ＬＳＩ−１、ＬＳＩ−２の３チップが、一つのパッケージＰＫＧに収められている。本例において、ＬＳＩ−１と、ＬＳＩ−２が自立的に動作を行うＬＳＩであり、ＬＳＩ−０はＬＳＩ−１の要求を受けてそれを処理するだけのスレーブＬＳＩである。ＬＳＩ−０の典型例としてはメモリが挙げられる。
【００５０】
ＬＳＩ−０は、本来もつ機能ブロックに加え、温度センサＴＳＮＳＢ０と、その出力であるアナログ電圧をディジタル信号に変換するためのＡＤ変換ブロックＡＤＣ０と、変換後のディジタル値を他のＬＳＩに通知ための出力信号ＯＵＴ０を備える。この機構によりＬＳＩ−０の動作温度を他のＬＳＩが知ることができる。
【００５１】
ＬＳＩ−１は、図１や図６に示されるような機能ブロックを含む。ＬＳＩ−１には、ＬＳＩ−０の温度情報を知るための信号ＯＵＴ０や、ＬＳＩ−２の温度情報を知るための信号ＯＵＴ２が伝達される。そしてＬＳＩ−１は、ＬＳＩ−１自体の温度情報を測定する温度センサＴＳＮＳＢ１、ＴＳＮＳＢ１の出力をディジタル信号に変換するＡＤ変換ブロックＡＤＣ1、温度などをコントロールするための制御ブロックＲＭ１を持つ。ＬＳＩ−１内のＲＭ１は、前記の温度制御アルゴリズムを実行するためのコントローラＲＭＣと、各種センサからの情報をＲＭＣに伝達する役割を持つ周辺回路ブロックＲＭＰ両方を含んだブロックである。このブロックＲＭ１に、信号ＯＵＴ０、ＯＵＴ２、及び温度センサＴＳＮＳ０１の出力信号により、ＬＳＩ−０、ＬＳＩ−１、ＬＳＩ−２の温度情報が集められ、ＬＳＩ−１内のブロックＲＭ１は、それぞれのＬＳＩの限界温度を超えないためのＬＳＩ−０、ＬＳＩ−１、ＬＳＩ−２の動作条件を算出する。この動作条件に従いＬＳＩ−１内のＲＭ１はそれぞれのＬＳＩの発熱を制御する。ＬＳＩ−１のスレーブＬＳＩであるＬＳＩ−０に対しては、ＬＳＩ−１からＬＳＩ−０への要求を伝達するインタフェースＩＦ１ＴＯ０へ指示を出し、その最大要求数を制限する。ＬＳＩ−２に対しては、熱量を算出された予算内に抑えるための動作条件を信号ＯＵＴ１を介して通知する。ＬＳＩ−１自体に対しては図１、図６に示される構成の場合と同様に、所定の動作条件を満たすように、ＬＳＩ−１内の機能ブロックの動作周波数や、電源電圧などが制御される。さらに、ＬＳＩ−１はＰＫＧの外部に対しても要求を出す出力端子ＯＵＴを備える。例えばこの出力端子ＯＵＴからの出力信号を用いて冷却用のファンの回転速度を変化させることで、周辺温度条件を変化させることができる。
【００５２】
ＬＳＩ−２は、本来もつ機能ブロックに加え、ＬＳＩ−１のブロックＲＭ１が算出したＬＳＩ−２の動作条件を知る手段として信号ＯＵＴ１、ＬＳＩ−２自体の温度情報を測定する温度センサＴＳＮＳＢ２、ＴＳＮＳＢ２の出力をディジタル信号に変換するＡＤ変換ブロックＡＤＣ２、ＬＳＩ−２の温度情報をＬＳＩ−１のブロックＲＭ１に伝達するための信号ＯＵＴ２、コントローラＲＭ２を備える。コントローラＲＭ２は、信号ＯＵＴ１によって得た動作条件に合せて、ＬＳＩ−２内の機能ブロックの動作周波数や、電源電圧などを制御する。
【００５３】
複数の半導体チップを1パッケージ化する際には熱問題はより深刻となるため、上記のように複数半導体チップ間で温度情報等のやり取りを可能とすることで、システム全体としての熱問題の最適化を図ることが可能となる。
【００５４】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００５５】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシステムオンチップに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路装置に広く適用することができる。
【図面の簡単な説明】
【００５６】
【図１】本発明にかかる半導体集積回路装置の一例とされるシステムオンチップの構成例ブロック図である。
【図２】上記システムオンチップにおける主要部の構成例ブロック図である。
【図３】上記システムオンチップにおける主要部の構成例ブロック図である。
【図４】上記システムオンチップにおける主要部で行われる演算処理についての説明図である。
【図５】上記システムオンチップにおける主要部の構成例ブロック図である。
【図６】上記システムオンチップの別の構成例ブロック図である。
【図７】上記システムオンチップを含むシステムの構成例説明図である。
【図８】上記システムオンチップにおいてリアルタイム動作を保証できる周辺温度が拡大されることを示す特性図である。
【符号の説明】
【００５７】
ＳＯＣ  システムオンチップ
ＴＳＮＳ  温度センサ
ＲＭ  制御ブロック
ＲＭＰ  周辺回路ブロック
ＲＭＣ  コントローラ
ＦＬＴ  フィルタブロック
ＴＳＮＳＢ  温度センサブロック
ＣＭＰ  コンパレータ
ＴＳＣＯ，ＲＥＦＣＯ  外部端子
【図１】
2008124125.tif 000003
【図２】
2008124125.tif 000004
【図３】
2008124125.tif 000005
【図４】
2008124125.tif 000006
【図５】
2008124125.tif 000007
【図６】
2008124125.tif 000008
【図７】
2008124125.tif 000009
【図８】
2008124125.tif 000010