(57)【要約】【課題】同一の機能を持った複数のコアを有する半導体集積回路において、電圧降下に伴う処理速度のばらつきを低減する。【解決手段】電源電圧を供給する電源供給部２及び互いに同一の構成であり演算処理を行う複数のコア４を有するチップ１と、前記複数のコアの各々について前記電源供給部からの間隔を示す距離指標を格納する記憶部５と、演算命令が与えられ、前記記憶部に格納された前記距離指標を参照し、前記距離指標が小さい順に前記演算命令に応じた数の前記コアを活性化するように制御する制御部６と、を備える。【選択図】図１
2009289796.tif 000002
【特許請求の範囲】
【請求項１】
電源電圧を供給する電源供給部及びそれぞれ同一の構成であり演算処理を行う複数のコアを有するチップと、
前記複数のコアの各々について前記電源供給部からの間隔を示す距離指標を格納する記憶部と、
演算命令が与えられ、前記記憶部に格納された前記距離指標を参照し、前記距離指標が小さい順に前記演算命令に応じた数の前記コアを活性化するように制御する制御部と、
を備える半導体集積回路の電源制御装置。
【請求項２】
前記電源供給部は前記チップの周端部に設けられた電源パッドであることを特徴とする請求項１に記載の半導体集積回路の電源制御装置。
【請求項３】
前記距離指標は、前記コアから第１の方向に沿って最も近い前記電源パッドまでの距離をｘ、前記第１の方向に直交する第２の方向に沿って最も近い前記電源供給部までの距離をｙとすると、ｘ・ｙ／（ｘ＋ｙ）となることを特徴とする請求項２に記載の半導体集積回路の電源制御装置。
【請求項４】
前記距離指標は、前記コアから第１の方向に沿って近い方の前記電源パッドまでの距離をｘ１、遠い方の前記電源パッドまでの距離をｘ２、前記第１の方向に直交する第２の方向に沿って近い方の前記電源パッドまでの距離をｙ１、遠い方の前記電源パッドまでの距離をｙ２とすると、ｘ１・ｘ２・ｙ１・ｙ２／（ｘ２・ｙ１・ｙ２＋ｘ１・ｙ１・ｙ２＋ｘ１・ｘ２・ｙ２＋ｘ１・ｘ２・ｙ１）となることを特徴とする請求項２に記載の半導体集積回路の電源制御装置。
【請求項５】
前記チップは、前記電源パッドに接続され、前記第１の方向及び前記第２の方向に沿って格子状に形成されたメッシュ電源配線をさらに有し、前記距離指標は前記第１の方向に沿った前記メッシュ電源配線の抵抗と、前記第２の方向に沿った前記メッシュ電源配線の抵抗とにより重み付けされた値となることを特徴とする請求項３又は４に記載の半導体集積回路の電源制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の電源制御装置に関するものである。
【背景技術】
【０００２】
半導体集積回路は、チップ内に電源電圧を均一に供給するため、チップ外周部に電源リングが設けられ、さらに電源リングの内側に電源配線が格子状に設けられている。しかし、近年のプロセスの微細化に伴い、電源配線の抵抗が増加し、電圧降下が回路動作に与える影響が無視できなくなっている。供給電圧の電圧降下量及び電源ノイズ量は、電源リングから離れるほど、すなわちチップ中央に近づくほど大きくなる。
【０００３】
このような問題を解決するため、複数のセルを遅延時間の順にソートし、最も遅延時間の大きいセルをチップの周辺領域側に配置し、遅延時間が小さくなるに従ってチップのより中央領域側に配置していくレイアウト方法が提案されている（例えば特許文献１参照）。電源電圧が低下し、動作速度が低下するチップ中央領域側に遅延時間の小さいセルを配置することで、回路全体への影響を少なくしている。
【０００４】
近年、複数の同一機能を持ったＣＰＵコアを１つのチップに搭載し、並列処理を行わせることでＣＰＵチップ全体での処理能力を上げるマルチコア（Multi-core）やメニイコア（Many-Core）が研究されている。マルチコアやメニイコアにおいても、チップ中央に近付くほど電圧降下量・電源ノイズ量が増大し、処理速度にばらつきが生じるという問題がある。
【０００５】
マルチコアではチップ内に同一機能を持ったＣＰＵコアが配置される。従って、上述したような複数のセルを遅延時間の大きい順にチップの周辺領域側から中央領域側へ配置していくという方法は適用できない。
【特許文献１】米国特許第６，７９９，３１０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は同一の機能を持った複数のコアを有する半導体集積回路において、電圧降下に伴う処理速度のばらつきを低減する電源制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様による半導体集積回路の電源制御装置は、電源電圧を供給する電源供給部及びそれぞれ同一の構成であり演算処理を行う複数のコアを有するチップと、前記複数のコアの各々について前記電源供給部からの間隔を示す距離指標を格納する記憶部と、演算命令が与えられ、前記記憶部に格納された前記距離指標を参照し、前記距離指標が小さい順に前記演算命令に応じた数の前記コアを活性化するように制御する制御部と、を備えるものである。
【発明の効果】
【０００８】
本発明によれば、同一の機能を持った複数のコアを有する半導体集積回路において、電圧降下に伴う処理速度のばらつきを低減できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
図１に本発明の実施形態に係る半導体集積回路の概略構成を示す。半導体集積回路はチップ１と、チップ１の周端部に設けられた電源供給用の入出力パッドである電源パッド２、電源パッド２に接続され格子状に配線されたメッシュ電源配線３、及びチップ１上に搭載された互いに同一の機能を持つ複数のコア４を備える。
【００１１】
記憶部５は各コア４の、重心と電源パッド２（チップ１のエッジ部分）との距離に基づく指標Ｂｒを格納する。例えば図２に示すように、コア４ａの重心からｘ方向に近い側のチップ１のエッジ（電源パッド２）までの距離をｘ１、ｙ方向に近い側のチップ１のエッジまでの距離をｙ１としたとき、指標ＢｒはＢｒ＝ｘ１×ｙ１／（ｘ１＋ｙ１）と表される。指標Ｂｒの値が小さいほど、チップ１のエッジ部分に近いことを示す。ここで、コア４ａの重心はコア４ａの図形的な中心とする。
【００１２】
制御部６は記憶部５に格納された指標Ｂｒに基づいて、複数のコア４の活性／非活性の制御を行う。また、制御部６は外部（例えばＯＳ）からチップ１で行う演算命令が与えられる。この演算命令には、演算処理において使用する（活性化する）コア４の数が含まれている。ここで、活性／非活性とは例えば電源復帰（オン）／電源遮断（オフ）である。
【００１３】
制御部６は、演算命令で指定された数の分のコア４を、記憶部５に格納された指標Ｂｒを参照して、指標Ｂｒの値が小さい順に活性化する。一般に、電源パッド２から離れる程、すなわちチップ１のエッジ部分から離れる程、電圧降下量や電源ノイズ量が大きくなる。そのため、本実施形態は、電圧降下量が小さく電源品質の高いコア、すなわちチップ１のエッジ部分に近いコアから順に利用していくものである。
【００１４】
例えば図３に示すようにｘ方向６個、ｙ方向６個、合計３６個のコアＣ１〜Ｃ３６が搭載されているチップ１を例に説明する。なお、ここでは簡単のため、隣接するコアの中心間の距離を１、最外周のコアの中心とエッジ（電源パッド２）までの距離を０．５とする。
【００１５】
この時、例えばコアＣ１は中心からｘ方向のエッジまでの距離が０．５、ｙ方向のエッジまでの距離が０．５となるので、指標Ｂｒは０．２５となる。また、コアＣ９は中心からｘ方向のエッジまでの距離が２．５、ｙ方向のエッジまでの距離が１．５となるので、指標Ｂｒは０．９３８となる。
【００１６】
従って、コアＣ１〜Ｃ３６の指標Ｂｒは図４に示すような値となる。演算命令により指定されるコアの数が４個以下の場合、制御部６はコアＣ１、Ｃ６、Ｃ３１、Ｃ３６を指定された数だけ活性化させる。
【００１７】
演算命令により指定されるコアの数が５個以上１２個の場合は、制御部６はコアＣ１、Ｃ６、Ｃ３１、Ｃ３６に加えてコアＣ２、Ｃ５、Ｃ７、Ｃ１２、Ｃ２５、Ｃ３０、Ｃ３２、Ｃ３５のいずれかを指定された数となるように活性化させる。
【００１８】
このように、本実施形態ではチップ上の場所によって異なる電源品質を、電源パッド（チップのエッジ部分）からの離れ具合を示す指標Ｂｒを用いて評価し、品質の良い電源、すなわち電圧降下量・電源ノイズ量が少ない電圧が供給されるコアを優先的に使用するため、複数のコアの処理速度のばらつきを低減することができる。
【００１９】
上記実施形態では指標Ｂｒの計算式をＢｒ＝ｘ１×ｙ１／（ｘ１＋ｙ１）としたが、計算式はこれに限定されない。例えば、図５に示すように、コアの重心からｘ方向に近い側のチップのエッジ（電源パッド）までの距離をｘＬ１、遠い側のエッジまでの距離をｘＲ１、ｙ方向に近い側のエッジまでの距離をｙＵ１、遠い側のエッジまでの距離をｙＤ１としたとき、指標Ｂｒを
【数１】
2009289796.tif 000003
という計算式から算出するようにしてもよい。
【００２０】
この計算式を図３に示すような配置のコアに適用した場合、各コアの指標Ｂｒの値は図６に示すようになる。各コアの指標Ｂｒの値を記憶部５に格納しておき、演算処理の際は指標Ｂｒの値が小さいコアから順に活性化していく。
【００２１】
メッシュ電源配線３はレイヤー、線幅、メッシュピッチ等によりｘ方向とｙ方向とで抵抗（シート抵抗）が異なる場合がある。従って、ｘ、ｙ方向の抵抗を考慮した（重み付けした）指標Ｂｒの計算式を用いるようにしてもよい。
【００２２】
例えば、コアの重心からｘ方向に近い側のチップのエッジ（電源パッド）までの距離をｘ１、ｙ方向に近い側のエッジ（電源パッド）までの距離をｙ１、ｘ、ｙ方向の抵抗をそれぞれＲｈ、Ｒｖ（単位はΩ／□）とすると、指標Ｂｒの計算式はＢｒ＝Ｒｈ・Ｒｖ・ｘ１・ｙ１／（Ｒｈ・ｘ１＋Ｒｖ・ｙ１）と表すことができる。
【００２３】
上記実施形態ではコアの電源オン／オフだけでなく、さらにＦＶ制御（周波数電圧制御）を行うようにしてもよい。例えば各コアの指標Ｂｒが図４に示すような値であり、演算命令により指定されたコア数が４個以下の場合は、コアＣ１、Ｃ６、Ｃ３１、Ｃ３６のうち指定された数のコアを最も高いＦＶ設定、すなわち消費電力が高く処理能力が高い状態、でオンする。
【００２４】
その後、演算量が増加し、５個以上のコアが必要となった場合、コアＣ２、Ｃ５、Ｃ７、Ｃ１２、Ｃ２５、Ｃ３０、Ｃ３２、Ｃ３５のいずれかをオンすると共に、これらのコアをオンすることの影響を考慮して、コアＣ１、Ｃ６、Ｃ３１、Ｃ３６のＦＶ設定を低下させる。
【００２５】
このように、チップに要求される計算負荷に応じて、オンするコア数を調整すると共に、オンするコアの電圧及び周波数を調整することで、効率的にＦＶ制御を行うことができる。
【００２６】
上記実施形態ではチップ１のエッジ部分に電源パッド２が設けられた、いわゆるボンディングデザインであったが、これに限定されるものでなく、例えばバンプデザインでもよい。バンプデザインではコアから最も近い電源供給バンプまでのｘ方向の距離とｙ方向の距離とを用いて、上記実施形態と同様に指標Ｂｒを計算する。そして、指標Ｂｒの値が小さいコアから順に演算処理に使用していく。
【００２７】
上記実施形態による電源制御方法は、電源供給領域（電源パッド２）からの離れ具合（間隔）を示す指標Ｂｒを用いて、電源品質が良い指標Ｂｒの小さいコアから順に演算に使用するものである。従って、複数のコア４はチップ１上に格子状に配置されている必要はなく、レイアウトの自由度を増すことができる。
【００２８】
上記実施形態では、活性化するコア数が制御部６に与えられる演算命令に含まれる場合を例に説明したが、活性化するコア数は演算命令の負荷に応じて制御部６が算出するようにしてもよい。
【００２９】
上記実施形態では、指標Ｂｒを計算する際のコアの位置となるコアの重心として、コアの図形上の中心を用いていたが、コアに含まれるモジュールの電流消費量に応じて重み付けして重心を決定してもよい。例えば、コアにおいては一般的に、演算領域の電流消費量が多く、記憶領域の電流消費量が少ない。従って、コアの図形上の中心からみて、演算領域側に寄った位置に重心を定めるようにしてもよい。
【００３０】
上記実施形態では、記憶部５に各コアの指標Ｂｒの値を格納するようにしていたが、指標Ｂｒに基づいてコアをグループ化し、そのグループ番号を記憶部５に格納するようにしてもよい。例えば、図６に示す例では、コアＣ１、Ｃ６、Ｃ３１、Ｃ３６の指標Ｂｒが０．２２９で最も小さく、このグループを“１”とする。
【００３１】
コアＣ２、Ｃ５、Ｃ７、Ｃ１２、Ｃ２５、Ｃ３０、Ｃ３２、Ｃ３５の指標Ｂｒが０．３２６で２番目に小さく、このグループを“２”とする。以下、同様にグループ化を行うことで、各コアには図７に示すようなグループ番号が付される。
【００３２】
このグループ番号を記憶部５に格納しておき、制御部６はグループ番号の小さい方のコアから活性化していく。また、チップ１における演算量が減少した時はグループ番号の大きい方のコアから非活性化していく。
【００３３】
上記実施形態による電源制御装置及び方法は、複数のプロセッサコアを有するいわゆるマルチコアプロセッサやメニイコアプロセッサに適用することができる。
【００３４】
上述した実施の形態は一例であって限定的なものではないと考えられるべきである。本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態による半導体集積回路の概略構成図である。
【図２】同実施形態による指標の説明図である。
【図３】チップに搭載されたコアの一例を示す図である。
【図４】指標の値の一例を示す図である。
【図５】指標の一例の説明図である。
【図６】指標の値の一例を示す図である。
【図７】指標に基づくグループ化の一例を示す図である。
【符号の説明】
【００３６】
１  チップ
２  電源パッド
３  メッシュ電源配線
４  コア
５  記憶部
６  制御部
【図１】
2009289796.tif 000004
【図２】
2009289796.tif 000005
【図３】
2009289796.tif 000006
【図４】
2009289796.tif 000007
【図５】
2009289796.tif 000008
【図６】
2009289796.tif 000009
【図７】
2009289796.tif 000010