(57)【要約】  それぞれが複数のトランジスタを有する複数のプロセサコアと、プロセサコア数に基づいて設定された基板バイアス電圧をトランジスタのそれぞれに与える少なくとも１つの基板バイアス回路とを備えた。
2008120393.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数のトランジスタを有する複数のプロセサコアと、
前記プロセサコア数に基づいて設定された基板バイアス電圧を前記トランジスタのそれぞれに与える少なくとも１つの基板バイアス回路と
を備える情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記複数のプロセサコアは、同一の構成である情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記基板バイアス電圧は、前記プロセサコア数が多いほど前記トランジスタのしきい値電圧が高くなるように設定される情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記しきい値電圧は、前記トランジスタのリーク電力が前記プロセサコア数に反比例するように設定される情報処理装置。
【請求項５】
請求項１に記載の情報処理装置において、
前記トランジスタは、ＣＭＯＳであり、
前記基板バイアス回路は、前記ＣＭＯＳ中のＰＭＯＳの基板バイアス電圧を与えるＰＭＯＳ用基板バイアス回路と、前記ＣＭＯＳ中のＮＭＯＳの基板バイアス電圧を与えるＮＭＯＳ用基板バイアス回路とからなる情報処理装置。
【請求項６】
請求項１に記載の情報処理装置において、
前記複数のプロセサコアは、１つのチップ内に設けられ、
前記基板バイアス回路は、前記チップ外に設けられる情報処理装置。
【請求項７】
請求項１に記載の情報処理装置において、
更に、前記基板バイアス回路に前記基板バイアス電圧を設定する設定部を備える情報処理装置。
【請求項８】
請求項７に記載の情報処理装置において、
前記複数のプロセサコアは、１つのチップ内に設けられ、
前記基板バイアス回路と前記設定部は、前記チップ内において前記プロセサコア毎に設けられ、
前記設定部は、互いに接続されたスキャンレジスタであり、スキャンにより外部から入力される値に基づいて前記基板バイアス回路における基板バイアス電圧の設定を行う情報処理装置。
【請求項９】
請求項７に記載の情報処理装置において、
前記プロセサコアは、それぞれ異なるモジュール内に設けられ、
前記基板バイアス回路は、前記モジュール毎に前記モジュール外に設けられ
前記設定部は、前記モジュール外に設けられる情報処理装置。
【請求項１０】
請求項７に記載の情報処理装置において、
前記プロセサコアは、それぞれ異なるモジュール内に設けられ、
前記基板バイアス回路は、前記モジュール毎に該モジュール内に設けられ
前記設定部は、前記モジュール外に設けられる情報処理装置。
【請求項１１】
複数のプロセサコアを有する情報処理装置の設計を行う情報処理装置設計方法であって、
前記プロセサコアの設計データと前記プロセサコア内に用いるトランジスタの仕様を示すトランジスタ仕様情報と前記情報処理装置の仕様を示す装置仕様情報とを取得する取得ステップと、
前記取得ステップにより取得された設計データとトランジスタ仕様情報とに基づいて、１つの前記プロセサコアの性能及び電力を計算する第１計算ステップと、
前記取得ステップにより取得された装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、設定されたプロセサコア数の前記プロセサコアを用いる前記情報処理装置の性能及び電力を計算する第２計算ステップと、
前記第２計算ステップによる計算結果に基づいて、前記プロセサコア数と前記トランジスタに与える基板バイアス電圧を決定する決定ステップと
を実行する情報処理装置設計方法。
【請求項１２】
請求項１１に記載の情報処理装置設計方法において、
前記トランジスタ仕様は、前記トランジスタのオン電流、オフ電流、しきい値電圧の関係を含み、
前記装置仕様情報は、前記情報処理装置の要求性能及び消費電力の上限を含む情報処理装置設計方法。
【請求項１３】
請求項１２に記載の情報処理装置設計方法において、
前記決定ステップは、前記第２計算ステップにより得られた前記情報処理装置の性能が前記要求性能を満たし、且つ前記第２計算ステップにより得られた前記情報処理装置の電力が前記消費電力の上限以下となるまで、前記プロセサコア数及び前記基板バイアス電圧を変更して前記第２計算ステップを繰り返す情報処理装置設計方法。
【請求項１４】
請求項１１に記載の情報処理装置設計方法において、
前記第１計算ステップは、前記設計データとトランジスタ仕様情報とに基づいて、前記１つのプロセサコアのリーク電力及びアクティブ電力を計算し、該リーク電力及びアクティブ電力の合計を前記１つのプロセサコアの電力とし、
前記第２計算ステップは、前記装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、前記情報処理装置のリーク電力及びアクティブ電力を計算し、該リーク電力及びアクティブ電力の合計を前記情報処理装置のプロセサコアの電力とする情報処理装置設計方法。
【請求項１５】
請求項１４に記載の情報処理装置設計方法において、
前記複数のプロセサコアは、同一の構成である情報処理装置設計方法。
【請求項１６】
請求項１５に記載の情報処理装置設計方法において、
前記基板バイアス電圧は、前記プロセサコア数が多いほど前記トランジスタのしきい値電圧が高くなるように設定される情報処理装置設計方法。
【請求項１７】
請求項１６に記載の情報処理装置設計方法において、
前記しきい値電圧は、前記トランジスタのリーク電力が前記プロセサコア数に反比例するように設定される情報処理装置設計方法。
【請求項１８】
請求項１７に記載の情報処理装置設計方法において、
前記トランジスタは、ＣＭＯＳであり、
前記基板バイアス電圧は、前記ＣＭＯＳ中のＰＭＯＳの基板バイアス電圧と、前記ＣＭＯＳ中のＮＭＯＳの基板バイアス電圧とからなる情報処理装置設計方法。
【請求項１９】
複数のプロセサコアを有する情報処理装置の設計をコンピュータに実行させる情報処理装置設計プログラムであって、
前記プロセサコアの設計データと前記プロセサコア内に用いるトランジスタの仕様を示すトランジスタ仕様情報と前記情報処理装置の仕様を示す装置仕様情報とを取得する取得ステップと、
前記取得ステップにより取得された設計データとトランジスタ仕様情報とに基づいて、１つの前記プロセサコアの性能及び電力を計算する第１計算ステップと、
前記取得ステップにより取得された装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、設定されたプロセサコア数の前記プロセサコアを用いる前記情報処理装置の性能及び電力を計算する第２計算ステップと、
前記第２計算ステップによる計算結果に基づいて、前記プロセサコア数と前記トランジスタのしきい値電圧を決定する決定ステップと
をコンピュータに実行させる情報処理装置設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサの高性能化と低消費電力化を両立させる情報処理装置、情報処理装置設計方法、情報処理装置設計プログラムに関するものである。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration circuit）チップ内に複数のマイクロプロセサコア（以下、コアと呼ぶ）を集積する、または情報処理装置内に複数のマイクロプロセサチップを搭載することにより、情報処理装置の性能を向上させることができる。【０００３】
なお、本発明の関連ある従来技術として、必要のない回路動作をなくしてリーク電流による電力消費を抑える半導体装置及び携帯端末装置がある（例えば、特許文献１参照）。
【特許文献１】特開２００３−２０９６１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、コア数を増やして性能を向上させる場合、単純にコア数を増やすだけでは消費電力も増加するため、冷却や電源供給の面で限界が来る。消費電力の内訳として、アクティブ電力とリーク電力がある。例え動作速度（クロック周波数）を下げることによってアクティブ電力を抑えたとしても、リーク電力は抑えられないため、コア数の増加によってリーク電力は増加してしまう。従って、電力［Ｗ］当たりの性能［ＭＩＰＳ（Mega Instruction Per Second）］で評価すると、クロック周波数を下げることによりアクティブ電力を抑える方式では、コア数を増やすほど電力に対する性能の比が低下していくという問題がある。【０００５】
また、電源電圧を下げる方式では、システム外部とのインターフェース電圧との関係で電源電圧の制限を受けるため、あるいは近年の電源電圧１．０Ｖに対して低下の余地がほとんどないため、調整範囲が小さいという欠点がある。【０００６】
本発明は上述した問題点を解決するためになされたものであり、電力に対する性能を向上させる情報処理装置、情報処理装置設計方法、情報処理装置設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、本発明は、それぞれが複数のトランジスタを有する複数のプロセサコアと、前記プロセサコア数に基づいて設定された基板バイアス電圧を前記トランジスタのそれぞれに与える少なくとも１つの基板バイアス回路とを備える。【０００８】
また、本発明は、複数のプロセサコアを有する情報処理装置の設計を行う情報処理装置設計方法であって、前記プロセサコアの設計データと前記プロセサコア内に用いるトランジスタの仕様を示すトランジスタ仕様情報と前記情報処理装置の仕様を示す装置仕様情報とを取得する取得ステップと、前記取得ステップにより取得された設計データとトランジスタ仕様情報とに基づいて、１つの前記プロセサコアの性能及び電力を計算する第１計算ステップと、前記取得ステップにより取得された装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、設定されたプロセサコア数の前記プロセサコアを用いる前記情報処理装置の性能及び電力を計算する第２計算ステップと、前記第２計算ステップによる計算結果に基づいて、前記プロセサコア数と前記トランジスタに与える基板バイアス電圧を決定する決定ステップとを実行する。【０００９】
また、本発明は、複数のプロセサコアを有する情報処理装置の設計をコンピュータに実行させる情報処理装置設計プログラムであって、前記プロセサコアの設計データと前記プロセサコア内に用いるトランジスタの仕様を示すトランジスタ仕様情報と前記情報処理装置の仕様を示す装置仕様情報とを取得する取得ステップと、前記取得ステップにより取得された設計データとトランジスタ仕様情報とに基づいて、１つの前記プロセサコアの性能及び電力を計算する第１計算ステップと、前記取得ステップにより取得された装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、設定されたプロセサコア数の前記プロセサコアを用いる前記情報処理装置の性能及び電力を計算する第２計算ステップと、前記第２計算ステップによる計算結果に基づいて、前記プロセサコア数と前記トランジスタのしきい値電圧を決定する決定ステップとをコンピュータに実行させる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態に係るトランジスタの一例を示す構造図である。
【図２】本実施の形態に係る第１の設計プログラムの一例を示すフローチャートである。
【図３】本実施の形態に係る第２の設計プログラムの一例を示すフローチャートである。
【図４】本実施の形態に係る第１の情報処理装置におけるＣＰＵ周辺回路の一例を示す回路図である。
【図５】本実施の形態に係る第２の情報処理装置におけるＣＰＵチップの一例を示す回路図である。
【図６】本実施の形態に係る第３の情報処理装置におけるシステムボードの一例を示す回路図である。
【図７】本実施の形態に係る第４の情報処理装置におけるシステムボードの一例を示す回路図である。
【図８】本実施の形態に係るトランジスタ仕様の一例を示す表である。
【図９】第１のケースにおけるチップの性能及び電力の一例を示す表である。
【図１０】第２のケースにおけるチップの性能及び電力の一例を示す表である。
【図１１】第３のケースにおけるチップの性能及び電力の一例を示す表である。
【図１２】コア数と性能の関係の一例を示すグラフである。
【図１３】コア数と性能電力比の関係の一例を示すグラフである。
【発明を実施するための最良の形態】
【００１１】
以下、実施の形態の例について図面を参照しつつ説明する。【００１２】
実施の形態１．
本実施の形態においては、本発明を、複数のコア（プロセサコア）を有するマイクロプロセサＬＳＩに適用した例について説明する。【００１３】
電力に対する性能の比が低下する原因は、クロック周波数を下げるとアクティブ電力が低下するがリーク電力は変わらないことにある。リーク電力はトランジスタのリーク電流Ｉｏｆｆの総和により決まるので、リーク電力を下げるためにはコア内のトランジスタのＩｏｆｆを下げれば良い。【００１４】
ここで、トランジスタのＶｇｓ（ゲート−ソース間電圧）−Ｉｄｓ（ドレイン−ソース間電流）特性により、Ｖｇｓが０となるときのＩｄｓをＩｏｆｆ、Ｖｇｓが電源電圧ＶｄｄとなるときのＩｄｓをＩｏｎとする。しきい値電圧Ｖｔｈの定義は様々であるが、例えばＩｄｓ＝１μＡとなるときのＶｇｓをＶｔｈとする。従って、Ｖｇｓ−Ｉｄｓ特性により、Ｉｏｆｆが下がると、Ｖｔｈは上がり、Ｉｏｎが下がり、動作速度が下がる。【００１５】
しかし、アクティブ電力の低下に対する動作速度の低下に比べて、Ｉｏｆｆの低下に対する動作速度の低下は小さい。従って、Ｉｏｆｆの調節により、性能の低下を抑えつつリーク電力を低下させることができるため、電力に対する性能の比を向上させることができる。【００１６】
次に、トランジスタ（ＣＭＯＳ）におけるＶｔｈ（Ｉｏｆｆ）の調節について説明する。【００１７】
図１は、本実施の形態に係るトランジスタの一例を示す構造図である。この図に示されるトランジスタにおいて、ＮＭＯＳ１のソースはグランド電位ＧＮＤに接続され、ＰＭＯＳ２のソースは電源電位ＶＤＤに接続されている。ここで、ＮＭＯＳのバックゲート（基板）−ソース間の電圧をＶｂｓ＿Ｎ、ＰＭＯＳのバックゲート−ソース間の電圧をＶｂｓ＿Ｐとする。また、ＮＭＯＳのバックゲート−ソース間に基板バイアス回路３を設け、ＰＭＯＳのバックゲート−ソース間にそれぞれ基板バイアス回路４を設ける。基板バイアス回路３がＶｂｓ＿Ｎを与え、基板バイアス回路４がＶｂｓ＿Ｐを与えることにより、Ｖｔｈを制御することができる。【００１８】
次に、少なくとも１つのコアを有するＬＳＩチップにおいてコア数及びＶｔｈを決定するための設計プログラム（情報処理装置設計プログラム）の例について説明する。この設計プログラムは、ＰＣ（Personal Computer）やサーバで構成される設計装置（情報処理装置設計装置）上で動作する。設計プログラムは、設計装置内のＣＰＵにより設計装置内のメモリ上で実行される。【００１９】
まず、本実施の形態に係る第１の設計プログラムについて説明する。【００２０】
図２は、本実施の形態に係る第１の設計プログラムの一例を示すフローチャートである。まず、第１の設計プログラムは、予め作成されたコア設計データとコアに用いられたトランジスタ仕様を取得し（Ｓ１０）、コア設計データとトランジスタ仕様から、コア当たりの性能（クロック周波数［Ｈｚ］）、コア当たりの電力（リーク電力［Ｗ］、アクティブ電力［Ｗ］）の計算を行う（Ｓ１１）。コア設計データは、外部の設計ツールにより設計されたもの、または前世代のコア全体やコアの内部ブロックの設計データを用いて設計ルールの変換により得られるものである。トランジスタ仕様は、Ｉｏｎ、Ｉｏｆｆ、Ｖｔｈ等の値を含む。また、クロック周波数は、タイミング設計ツールにより計算される。リーク電力は、総トランジスタ幅から計算される。アクティブ電力は、（総トランジスタ容量＋配線容量）とクロック周波数から計算される。【００２１】
次に、第１の設計プログラムは、予め作成されたチップ仕様を取得し、チップ仕様と処理Ｓ１１の計算結果とから、チップレベルの性能［ＭＩＰＳ］とチップレベルの電力（リーク電力［Ｗ］、アクティブ電力［Ｗ］）の計算を行う（Ｓ１２）。チップ仕様は、要求性能［ＭＩＰＳ］、電力限界（冷却限界［Ｗ］または電力供給限界［Ｗ］）等を含む。次に、第１の設計プログラムは、チップレベルの性能が要求性能を満たしたか否かの判断を行う（Ｓ２１）。【００２２】
要求性能を満たしていない場合（Ｓ２１，Ｎ）、第１の設計プログラムは、コア数を増やしてチップレベルの性能、リーク電力、アクティブ電力を増加させ（Ｓ２２）、処理Ｓ１２へ戻る。要求性能を満たした場合（Ｓ２１，Ｙ）、第１の設計プログラムは、チップレベルの電力（リーク電力＋アクティブ電力）が電力限界を超えたか否かの判断を行う（Ｓ２３）。【００２３】
電力限界を超えた場合（Ｓ２３，Ｙ）、Ｖｔｈを増加させ（Ｉｏｆｆを減少させ）（Ｓ２４）、処理Ｓ１１へ戻る。ここで、Ｉｏｆｆは、例えばリーク電力がコア数に反比例するように設定される。電力限界を超えていない場合（Ｓ２３，Ｎ）、このフローは終了する。【００２４】
このフローにより、マルチコアチップにおけるコア数、Ｖｔｈ（Ｉｏｆｆ）が決定される。【００２５】
次に、本実施の形態に係る第２の設計プログラムについて説明する。【００２６】
図３は、本実施の形態に係る第２の設計プログラムの一例を示すフローチャートである。この図において、図２と同一符号は図２に示された対象と同一又は相当処理を示しており、ここでの説明を省略する。第１の設計プログラムと比較すると、第２の設計プログラムは、処理の順序が異なる。まず、第２の設計プログラムは、第１の設計プログラムと同様の処理Ｓ１０，Ｓ１１，Ｓ１２を実行する。次に、第２の設計プログラムは、チップレベルの電力（リーク電力＋アクティブ電力）が電力限界を超えたか否かの判断を行う（Ｓ３１）。【００２７】
電力限界を超えた場合（Ｓ３１，Ｙ）、Ｖｔｈを増加させ（Ｉｏｆｆを減少させ）（Ｓ３２）、処理Ｓ１１へ戻る。電力限界を超えていない場合（Ｓ３１，Ｎ）、第２の設計プログラムは、チップレベルの性能が要求性能を満たしたか否かの判断を行う（Ｓ３３）。【００２８】
要求性能を満たしていない場合（Ｓ３３，Ｎ）、第２の設計プログラムは、コア数を増やしてチップレベルの性能、リーク電力、アクティブ電力を増加させ（Ｓ３４）、処理Ｓ１２へ戻る。要求性能を満たした場合（Ｓ３３，Ｙ）、このフローは終了する。【００２９】
このフローにより、マルチコアチップにおけるコア数、Ｖｔｈ（Ｉｏｆｆ）が決定され、更にＶｔｈからＶｂｓ＿Ｎ，Ｖｂｓ＿Ｐが決定される。【００３０】
上述した第１及び第２の設計プログラムによれば、クロック周波数だけでチップの性能と電力の調節を行った場合と比較すると、同じ性能でも低消費電力のチップを設計することが可能である。【００３１】
なお、上述した設計プログラムの動作を、少なくとも１つのプロセサを有するマルチプロセサシステムの設計に適用しても良い。この場合、コア数の代わりにプロセサ数を用い、チップレベルのパラメータの代わりにシステムレベルのパラメータを用いる。【００３２】
次に、上述した設計プログラムにより設計されたマルチコアチップを用いる情報処理装置の例について説明する。【００３３】
まず、マルチコアチップを用いる第１の情報処理装置におけるＣＰＵ周辺回路について説明する。【００３４】
第１の情報処理装置は、ＣＰＵチップの外部に基板バイアス回路を設けるものである。図４は、本実施の形態に係る第１の情報処理装置におけるＣＰＵ周辺回路の一例を示す回路図である。このＣＰＵ周辺回路は、２つのコア１１ａ，１１ｂを有するＣＰＵチップ１２、２つの基板バイアス回路１３，１４で構成される。【００３５】
ＣＰＵチップ１２は、コア１１ａ，１１ｂのＶＤＤ端子に接続されたＶＤＤ端子１８、コア１１ａ，１１ｂのＧＮＤ端子に接続されたＧＮＤ端子１９、コア１１ａ内のＰＭＯＳのバックゲートに接続されたＶｂｓ＿Ｐ端子１６ａ、コア１１ｂ内のＰＭＯＳのバックゲートに接続されたＶｂｓ＿Ｐ端子１６ｂ、コア１１ａ内のＮＭＯＳのバックゲートに接続されたＶｂｓ＿Ｎ端子１７ａ、コア１１ｂ内のＮＭＯＳのバックゲートに接続されたＶｂｓ＿Ｎ端子１７ｂを有する。【００３６】
ＶＤＤ端子１８は、外部の電源電位ＶＤＤに接続される。ＧＮＤ端子１９は、外部のグランド電位ＧＮＤに接続される。基板バイアス回路１３は、ＶＤＤとＶｂｓ＿Ｐ端子１６ａ，１６ｂとの間に接続される。基板バイアス回路１４は、ＧＮＤとＶｂｓ＿Ｎ端子１７ａ，１７ｂとの間に接続される。【００３７】
この構成によれば、ＣＰＵチップ１２の外部からＶｂｓ＿Ｎ、Ｖｂｓ＿Ｐを設定することにより、設計プログラムで得られたＶｔｈ（Ｉｏｆｆ）を設定することができる。【００３８】
次に、マルチコアチップを用いる第２の情報処理装置におけるＣＰＵチップについて説明する。【００３９】
第２の情報処理装置は、ＣＰＵチップの内部に基板バイアス回路を設けるものである。図５は、本実施の形態に係る第２の情報処理装置におけるＣＰＵチップの一例を示す回路図である。ＣＰＵチップ２２は、２つのコア２１ａ，２１ｂ、スキャンイン端子２５、スキャンアウト端子２６、ＶＤＤ端子２８、ＧＮＤ端子２９を備える。コア２１ａ，２１ｂのそれぞれは、スキャンレジスタ３１，３２、基板バイアス回路３３，３４、スキャンイン端子３５、スキャンアウト端子３６、コアメイン回路３７、ＶＤＤ端子３８、ＧＮＤ端子３９を有する。【００４０】
ＶＤＤ端子２８は、コア２１ａ，２１ｂのＶＤＤ端子３８に接続される。ＧＮＤ端子２９は、コア２１ａ，２１ｂのＧＮＤ端子３９に接続される。ＣＰＵチップ２２のスキャンイン端子２５は、コア２１ａのスキャンイン端子３５に接続される。コア２１ａのスキャンアウト端子３６は、コア２１ｂのスキャンイン端子３５に接続される。コア２１ｂのスキャンアウト端子３６は、ＣＰＵチップ２２のスキャンアウト端子３６に接続される。【００４１】
コア２１ａ，２１ｂにおいて、ＶＤＤ端子３８は、コアメイン回路３７のＶＤＤ端子に接続され、ＧＮＤ端子３９は、コアメイン回路３７のＧＮＤ端子に接続される。基板バイアス回路３３は、コアメイン回路３７のＶＤＤ端子とコアメイン回路３７内のＰＭＯＳのバックゲートとの間に接続される。基板バイアス回路３４は、コアメイン回路３７のＧＮＤ端子とコアメイン回路３７内のＮＭＯＳのバックゲートとの間に接続される。【００４２】
また、コア２１ａ，２１ｂにおいて、スキャンイン端子３５は、スキャンレジスタ３１，３２を介して、スキャンアウト端子３６に接続されている。つまり、ＣＰＵチップ２２のスキャンイン端子２５からの入力は、コア２１ａのスキャンレジスタ３１，３２、コア２１ｂのスキャンレジスタ３１，３２を順に通ってＣＰＵチップ２２のスキャンイン端子２６へ出力される。また、スキャンレジスタ３１は、スキャンで外部から設定された値に従って基板バイアス回路３３のＶｂｓ＿Ｐを設定する。スキャンレジスタ３２は、スキャンで外部から設定された値に従って基板バイアス回路３４のＶｂｓ＿Ｎを設定する。【００４３】
スキャンを用いてスキャンイン端子２５から、コア２１ｂのＶｂｓ＿Ｎ、コア２１ｂのＶｂｓ＿Ｐ、コア２１ａのＶｂｓ＿Ｎ、コア２１ａのＶｂｓ＿Ｐの値を順に入力することにより、設計プログラムで得られたＶｔｈ（Ｉｏｆｆ）を設定することができる。【００４４】
次に、上述した設計プログラムにより設計されたマルチプロセサシステムを用いる情報処理装置の例について説明する。【００４５】
まず、マルチプロセサシステムを用いる第３の情報処理装置におけるシステムボードについて説明する。【００４６】
第３の情報処理装置は、ＣＰＵモジュール（モジュール）の外部に基板バイアス回路を設けるものである。第３の情報処理装置は、複数のシステムボードを備える。図６は、本実施の形態に係る第３の情報処理装置におけるシステムボードの一例を示す回路図である。このシステムボード５１は、４つのＣＰＵモジュール５２、ＣＰＵモジュール５２毎の基板バイアス回路５３，５４、Ｖｔｈ制御回路５５、ＶＤＤ端子５８、ＶＳＳ端子５９を備える。ＣＰＵモジュール５２のそれぞれは、１つのコアを有する。【００４７】
Ｖｔｈ制御回路５５は、基板バイアス回路５３にＶｂｓ＿Ｐの値を設定し、基板バイアス回路５４にＶｂｓ＿Ｎの値を設定する。基板バイアス回路５３は、ＶＤＤ端子５８とＣＰＵモジュール５２内のＰＭＯＳのバックゲートとの間に接続され、Ｖｔｈ制御回路５５からの指示に従ってＶｂｓ＿Ｐを設定する。基板バイアス回路５４は、ＶＳＳ端子５９とＣＰＵモジュール５２内のＮＭＯＳのバックゲートとの間に接続され、Ｖｔｈ制御回路５５からの指示に従ってＶｂｓ＿Ｎを設定する。【００４８】
この第３の情報処理装置によれば、Ｖｔｈ制御回路５５にＶｂｓ＿Ｎ、Ｖｂｓ＿Ｐの値を設定することにより、設計プログラムで得られたＶｔｈ（Ｉｏｆｆ）を設定することができる。【００４９】
まず、マルチプロセサシステムを用いる第４の情報処理装置におけるシステムボードについて説明する。【００５０】
第４の情報処理装置は、ＣＰＵモジュールの内部に基板バイアス回路を設けるものである。第４の情報処理装置は、複数のシステムボードを備える。図７は、本実施の形態に係る第４の情報処理装置におけるシステムボードの一例を示す回路図である。このシステムボード６１は、４つのＣＰＵモジュール６２、Ｖｔｈ制御回路６５、ＶＤＤ端子６８、ＶＳＳ端子６９を備える。また、ＣＰＵモジュール６２は、コア７１、ＤＤＣ（ＤＣ−ＤＣコンバータ）７２、基板バイアス回路７３，７４を備える。【００５１】
ＶＤＤ端子６８は、外部の高電位ＶＤＤに接続され、ＶＳＳ端子６９は、外部の低電位に接続される。ＤＤＣ７２は、ＶＤＤ端子６８の電位とＶＳＳ端子の電位に基づいて、コア７１へ高電位Ｖｄｄ及び低電位Ｖｓｓをそれぞれ与える。【００５２】
Ｖｔｈ制御回路６５は、基板バイアス回路７３にＶｂｓ＿Ｐの値を設定し、基板バイアス回路７４にＶｂｓ＿Ｎの値を設定する。基板バイアス回路７３は、ＤＤＣ７２のＶｄｄとコア７１内のＰＭＯＳのバックゲートとの間に接続され、Ｖｔｈ制御回路６５からの指示に従ってＶｂｓ＿Ｐを設定する。基板バイアス回路７４は、ＤＤＣ７２のＶｓｓとコア７１内のＮＭＯＳのバックゲートとの間に接続され、Ｖｔｈ制御回路６５からの指示に従ってＶｂｓ＿Ｎを設定する。【００５３】
この第４の情報処理装置によれば、Ｖｔｈ制御回路６５にＶｂｓ＿Ｎ、Ｖｂｓ＿Ｐの値を設定することにより、設計プログラムで得られたＶｔｈ（Ｉｏｆｆ）を設定することができる。【００５４】
次に、上述した設計プログラムにより得られる性能と電力の具体例について説明する。【００５５】
まず、トランジスタの仕様について説明する。【００５６】
ここで、トランジスタ幅の単位長当たりのＳＤリーク電流ＩｏｆｆＸ、オン電流ＩｏｎＸを定義する。ここで、Ｘは、ＮまたはＰを示す。トランジスタ特性におけるＩｏｎＸ−ＩｏｆｆＸ特性は、リニア軸で表されたＩｏｎＸ軸と対数軸で表されたＩｏｆｆＸ軸において直線となることが知られている。つまり、ＩｏｎＸ−ＩｏｆｆＸ特性は、次式で表される。【００５７】
ＩｏｎＸ＝Ａ・ｌｎ（ＩｏｆｆＸ）＋Ｂ（Ａ、Ｂは定数）【００５８】
また、ＩｏｎＸは動作速度に強い影響があり、ＩｏｎＸが低下すると動作速度は遅くなる。ここで、ＩｏｎＮとＩｏｎＰの合成量をＩｏｎ、ＮＭＯＳとＰＭＯＳのトランジスタ幅をそれぞれＷｎ、Ｗｐとすると、Ｉｏｎは次式で表される。【００５９】
Ｉｏｎ＝（ＩｏｎＮ＋（Ｗｐ／Ｗｎ）・ＩｏｎＰ）／２【００６０】
このとき、Ｉｏｎに対する動作速度ｆは、次式で表される。【００６１】
ｆ＝Ｃ・ｅｘｐ（Ｄ・Ｉｏｎ）  ，（Ｃ，Ｄは定数）【００６２】
同様に、ＩｏｆｆＮとＩｏｆｆＰの合成量をＩｏｆｆとすると、Ｉｏｆｆは次式で表される。【００６３】
Ｉｏｆｆ＝（ＩｏｆｆＮ＋（Ｗｐ／Ｗｎ）・ＩｏｆｆＰ）／２【００６４】
図８は、本実施の形態に係るトランジスタ仕様の一例を示す表である。ここでは、Ｗｐ／Ｗｎ＝２．２、クロック周波数を２［ＧＨｚ］とした。この表は、ＩｏｎＮ［μＡ］、ＩｏｆｆＮ［ｎＡ］、ＩｏｎＰ［μＡ］、ＩｏｆｆＰ［ｎＡ］、Ｉｏｎ［μＡ］、Ｉｏｆｆ［ｎＡ］、クロック周波数［ＭＨｚ］のそれぞれについて、代表値（Ｔｙｐ．）、３σばらつき幅の下限（３σＳｌｏｗ）と上限（３σＦａｓｔ）を示す。以下、性能指標ＩＰＣ（Instruction Per Cycle）＝２、リーク電力を５０［Ｗ／コア］、アクティブ電力を６０［Ｗ／コア］とする。【００６５】
次に、チップのコア数を１個から８個まで変えた場合のチップの性能及び電力について、従来の２つのケースと本実施の形態に係る１つのケースとを比較しながら説明する。【００６６】
次に、第１のケースとして、コア数に応じて電力の調節を行わない場合について説明する。図９は、第１のケースにおけるチップの性能及び電力の一例を示す表である。この表は、コア数［個］毎に、クロック周波数［ＭＨｚ］、リーク電力［Ｗ］、アクティブ電力［Ｗ］、性能［１０ＭＩＰＳ］、性能電力比（性能／電力比）［１０ＭＩＰＳ／Ｗ］の項目を示す。ここで、性能は、簡単のため（コア数×クロック周波数×ＩＰＣ）とする。また、性能電力比は、単位電力当たりの性能であり、（性能／（リーク電力＋アクティブ電力））とする。以下、チップは、この性能電力比で評価される。【００６７】
この場合、電力（リーク電力＋アクティブ電力）は、コア数に正比例する。また、性能もコア数に正比例するため、性能電力比は、コア数に関わらず一定となる。しかし、コア数が８個のときの電力は非現実的な値となってしまう。【００６８】
次に、第２のケースとして、コア数に応じてクロック周波数の調節を行う場合について説明する。図１０は、第２のケースにおけるチップの性能及び電力の一例を示す表である。この表は、図９と同様の項目を示す。ここで、クロック周波数は、コア数に反比例するように調節される。【００６９】
この場合、性能とアクティブ電力がクロック周波数に正比例するため、チップ全体の性能とアクティブ電力はコア数に関わらず一定となる。しかし、リーク電力はコア数に正比例するため、コア数の増加に伴って性能電力比は減少してしまう。【００７０】
次に、第３のケースとして、本実施の形態に係る設計プログラムを用い、コア数に応じてＩｏｆｆの調節を行う場合について説明する。図１１は、第３のケースにおけるチップの性能及び電力の一例を示す表である。この表は、図９と同様の項目を示す。ここで、Ｉｏｆｆは、リーク電力がコア数に反比例するように調節される。【００７１】
上述したように、Ｉｏｆｆを下げ、リーク電力を下げると、Ｖｔｈが高くなり、動作速度が低下するため、クロック周波数を下げることになる。ここでは、図８のトランジスタ仕様とＳｐｉｃｅシミュレーションで求めた動作速度との相関関係から導いた以下の実験式を用いてクロック周波数Ｆｒｅｑの計算を行った。【００７２】
ＩｏｎＮ＝１３０．３Ｌｎ（ＩｏｆｆＮ）＋４００
ＩｏｎＰ＝４３．４Ｌｎ（ＩｏｆｆＰ）＋２５０
Ｉｏｎ＝（ＩｏｎＮ＋２．２ＩｏｎＰ）／２
Ｆｒｅｑ＝５５２．２ｅｘｐ（０．００１３Ｉｏｎ）【００７３】
この場合、性能とアクティブ電力は、コア数に正比例するが、リーク電力はコア数に関わらず一定となる。従って、コア数の増加に伴って、性能電力比は飽和傾向にあるが増加する。【００７４】
次に、上述した３つのケースにおけるコア数と性能の関係、コア数と性能電力比の関係をグラフで示す。図１２は、コア数と性能の関係の一例を示すグラフである。図１３は、コア数と性能電力比の関係の一例を示すグラフである。これらのグラフにおいて、第１のケースは「単純増」で示された曲線であり、第２のケースは「クロック調節」で示された曲線であり、第３のケースは「リーク調節」で示された曲線である。本実施の形態に係る第３のケースは、性能が第１のケースの０．８倍程度を確保しつつ、リーク電力がコア数１のときの値になるようにリーク電力を調節している。従って、第３のケースは、性能電力比の指標において、最も高いケースとなる。【００７５】
本実施の形態によれば、マルチコアＬＳＩまたはマルチプロセサシステムを設計するにあたって、電力に対する性能の効率を損なわないように、リーク電力、アクティブ電力、クロック周波数を決定することができる。【００７６】
３．３Ｖ〜１．０Ｖ世代のＣＭＯＳテクノロジにおいては、ほぼ等電界スケーリングとなるように電源電圧と最小チャネル長が設定されてきた。９０ｎｍ世代に至って電源電圧が１．０Ｖに到達しており、これ以降の世代において等電界をキープしたスケーリング（低電源電圧化）は難しい。これは、今後、微細化が進むとトランジスタのチャネルがより高電界になること、トランジスタの単位幅当たりのリーク電流は、現在と同等か増加していくことを意味する。トランジスタ幅当たりのリーク電流を現在と同等にキープしたと仮定すると、コア当たりのリーク電流は、トランジスタ幅方向のシュリンク率が適用されて現在の０．７倍程度になると見込まれる。しかし、チップ面積を同一とした場合は集積度が２倍となるため、コア当たりのリーク電流は、現在の１．４倍となり、今後のＣＭＯＳテクノロジにおいても引き続きリーク電力が問題になることに変わりはない。【００７７】
一方、アクティブ電力は、クロック周波数がマルチギガヘルツに到達したことにより１チップ当たりの動作限界に近づいており、この先はクロック周波数を高くするのではなく、マルチコアにして性能を稼ぐ仕組みが主流になる見込みである。【００７８】
微細化することによりたくさんのコアを搭載することは可能となるが、先に述べたようにリーク電流は減らない見込みであるため、本実施の形態に示したように、コア数に応じてリーク電力を変更し、電力に対する性能の効率を改善する手法は有効である。【００７９】
更に、情報処理装置設計装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、情報処理装置設計プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、情報処理装置設計装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【産業上の利用可能性】
【００８０】
以上説明したように、情報処理装置における電力に対する性能を向上させることが可能になる。
【図１】
2008120393.tif 000003
【図２】
2008120393.tif 000004
【図３】
2008120393.tif 000005
【図４】
2008120393.tif 000006
【図５】
2008120393.tif 000007
【図６】
2008120393.tif 000008
【図７】
2008120393.tif 000009
【図８】
2008120393.tif 000010
【図９】
2008120393.tif 000011
【図１０】
2008120393.tif 000012
【図１１】
2008120393.tif 000013
【図１２】
2008120393.tif 000014
【図１３】
2008120393.tif 000015
【手続補正書】
【提出日】平成21年8月7日(2009.8.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれが複数のトランジスタを有する複数のプロセサコアと、
前記プロセサコア数に基づいて設定された基板バイアス電圧を前記トランジスタのそれぞれに与える少なくとも１つの基板バイアス回路と
を備える情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記複数のプロセサコアは、同一の構成である情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記基板バイアス電圧は、前記プロセサコア数が多いほど前記トランジスタのしきい値電圧が高くなるように設定される情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記しきい値電圧は、前記トランジスタのリーク電力が前記プロセサコア数に反比例するように設定される情報処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の情報処理装置において、
前記トランジスタは、ＣＭＯＳであり、
前記基板バイアス回路は、前記ＣＭＯＳ中のＰＭＯＳの基板バイアス電圧を与えるＰＭＯＳ用基板バイアス回路と、前記ＣＭＯＳ中のＮＭＯＳの基板バイアス電圧を与えるＮＭＯＳ用基板バイアス回路とからなる情報処理装置。
【請求項６】
複数のプロセサコアを有する情報処理装置の設計を行う情報処理装置設計方法であって、
前記プロセサコアの設計データと前記プロセサコア内に用いるトランジスタの仕様を示すトランジスタ仕様情報と前記情報処理装置の仕様を示す装置仕様情報とを取得する取得ステップと、
前記取得ステップにより取得された設計データとトランジスタ仕様情報とに基づいて、１つの前記プロセサコアの性能及び電力を計算する第１計算ステップと、
前記取得ステップにより取得された装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、設定されたプロセサコア数の前記プロセサコアを用いる前記情報処理装置の性能及び電力を計算する第２計算ステップと、
前記第２計算ステップによる計算結果に基づいて、前記プロセサコア数と前記トランジスタに与える基板バイアス電圧を決定する決定ステップと
を実行する情報処理装置設計方法。
【請求項７】
複数のプロセサコアを有する情報処理装置の設計をコンピュータに実行させる情報処理装置設計プログラムであって、
前記プロセサコアの設計データと前記プロセサコア内に用いるトランジスタの仕様を示すトランジスタ仕様情報と前記情報処理装置の仕様を示す装置仕様情報とを取得する取得ステップと、
前記取得ステップにより取得された設計データとトランジスタ仕様情報とに基づいて、１つの前記プロセサコアの性能及び電力を計算する第１計算ステップと、
前記取得ステップにより取得された装置仕様情報と前記第１計算ステップによる計算結果とに基づいて、設定されたプロセサコア数の前記プロセサコアを用いる前記情報処理装置の性能及び電力を計算する第２計算ステップと、
前記第２計算ステップによる計算結果に基づいて、前記プロセサコア数と前記トランジスタのしきい値電圧を決定する決定ステップと
をコンピュータに実行させる情報処理装置設計プログラム。
【国際調査報告】
2008120393.tif 000016
2008120393.tif 000017