(57)【要約】【課題】  回路の動作モードに応じて適正なパフォーマンスを維持しつつ、回路の省電力化を図ることができる回路制御装置を提供する。【解決手段】  マクロ回路Ｍ１〜ＭＮの間引き率を設定する設定部１０５と、設定された間引き率と周辺回路１０の動作モードに応じて定められた重み係数とを用いて電力消費量の指標となる評価値を算出する評価値算出部１０２と、評価値と重み係数との差分の絶対値が閾値以上であるか否かを判定する判定部１０３とを備え、設定部１０５は、判定部１０３により差分の絶対値が閾値より大きいと判定された場合、当該差分が閾値以下となるように間引き率を再設定する。【選択図】      図１
2005347840.tif 000002
【特許請求の範囲】
【請求項１】
複数のマクロ回路から構成され、マクロ回路単位でクロックの間引き率が設定可能な回路を制御する回路制御装置であって、
マクロ回路に対する間引き率を設定する設定手段と、
設定された間引き率を用いて、前記回路の消費電力の指標となる評価値を算出する算出手段と、
前記評価値が回路の動作モードに応じて予め定められた目標値に対して所定の許容範囲内に入っているか否かを判定する判定手段とを備え、
前記設定手段は、前記判定手段により前記評価値が前記許容範囲内に入っていないと判定された場合、当該評価値が当該許容範囲に入るように、マクロ回路の間引き率を再設定することを特徴とする回路制御装置。
【請求項２】
前記マクロ回路は、入力側のマクロ回路から出力側のマクロに向けて処理対象となるデータを順次処理するように構成され、
前記設定手段は、マクロ回路の間引き率を再設定するにあたり、出力側のマクロ回路ほど間引き率を小さく設定することを特徴とする請求項１記載の回路制御装置。
【請求項３】
前記算出手段は、前記間引き率に加えて、更に各マクロ回路に対して想定される電力消費量に基づいて予め定められた各マクロ回路に対する重み係数を用いて前記評価値を算出し、
前記設定手段は、マクロ回路の間引き率を再設定するにあたり、前記重み係数が高く設定されたマクロ回路ほど間引き率を大きく設定することを特徴とする請求項１又は２記載の回路制御装置。
【請求項４】
前記設定手段は、マクロ回路の間引き率を再設定するにあたり、各マクロ回路の間引き率を等しく設定することを特徴とする請求項１記載の回路制御装置。
【請求項５】
前記設定手段は、出力側のマクロ回路ほど間引き率を小さく設定する第１の方式と、重み係数が高く設定されたマクロ回路ほど間引き率を大きく設定する第２の方式と、各マクロ回路の間引き率を等しく設定する第３の方式とのうち、回路の動作モードに応じていずれか１個の方式を選択し、選択した方式により間引き率を再設定することを特徴とする請求項１記載の回路制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマクロ回路を備え、マクロ回路毎にクロックの間引き率が設定可能な回路を制御する回路制御装置に関するものである。
【背景技術】
【０００２】
近年、ＡＳＩＣ等から構成される集積回路では、動作周波数の増大及び高集積化に伴い消費電力が非常に高くなってきている。そのため、消費電力をいかにして低減させるかが大きな課題となっている。特に、携帯機器に採用される集積回路では、バッテリの持続時間及び発熱等の問題から、省電力化は重要である。集積回路を構成するＣＭＯＳは、スイッチング時の電力消費が支配的であるため、集積回路の電力消費量は周波数に対して比例関係にあると考えられる。そこで、集積回路に供給するクロックを間引いて周波数を低下させ、省電力化を図るゲーテッドクロックという技術が知られている。また、大規模集積回路においては、ゲーテッドクロックにより各マクロ回路に対する周波数を個別に調節し、省電力化を図ることも行なわれている（特許文献１、特許文献２）。
【特許文献１】特開２０００−３４１０９３号公報
【特許文献２】特開平９−２８４１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のものはいずれも省電力化を主目的としており、省電力化によるパフォーマンスの低下の問題が全く考慮されていなかった。そのため、回路の動作モードによっては、間引き率をより低く設定して回路のパフォーマンスを高くしうる余地があるにもかかわらず、省電力化を図るために必要以上に回路のパフォーマンスが低くされているというような状況が発生していた。
【０００４】
本発明の目的は、回路の動作モードに応じて適正なパフォーマンスを維持しつつ、回路の省電力化を図ることができる回路制御装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明にかかる回路制御装置は、複数のマクロ回路から構成され、マクロ回路単位でクロックの間引き率が設定可能な回路を制御する回路制御装置であって、マクロ回路に対する間引き率を設定する設定手段と、設定された間引き率を用いて、前記回路の消費電力の指標となる評価値を算出する算出手段と、前記評価値が回路の動作モードに応じて予め定められた目標値に対して所定の許容範囲内に入っているか否かを判定する判定手段とを備え、前記設定手段は、前記判定手段により前記評価値が前記許容範囲内に入っていないと判定された場合、当該評価値が当該許容範囲に入るように、マクロ回路の間引き率を再設定することが好ましい。
【０００６】
また、前記マクロ回路は、入力側のマクロ回路から出力側のマクロに向けて処理対象となるデータを順次処理するように構成され、前記設定手段は、マクロ回路の間引き率を再設定するにあたり、出力側のマクロ回路ほど間引き率を小さく設定することが好ましい。
【０００７】
また、前記算出手段は、前記間引き率に加えて、更に各マクロ回路に対して想定される電力消費量に基づいて予め定められた各マクロ回路に対する重み係数を用いて前記評価値を算出し、前記設定手段は、マクロ回路の間引き率を再設定するにあたり、前記重み係数が高く設定されたマクロ回路ほど間引き率を大きく設定することが好ましい。
【０００８】
また、前記設定手段は、マクロ回路の間引き率を再設定するにあたり、各マクロ回路の間引き率を等しく設定することが好ましい。
【０００９】
また、前記設定手段は、出力側のマクロ回路ほど間引き率を小さく設定する第１の方式と、重み係数が高く設定されたマクロ回路ほど間引き率を大きく設定する第２の方式と、各マクロ回路の間引き率を等しく設定する第３の方式とのうち、回路の動作モードに応じていずれか１個の方式を選択し、選択した方式により間引き率を再設定することが好ましい。
【発明の効果】
【００１０】
請求項１記載の発明によれば、マクロ回路に対して間引き率が設定され、設定された間引き率を用いて、回路全体の消費電力の指標を示す評価値が算出され、算出された評価値が、動作モードに応じて予め定められた目標値に対して所定の許容範囲内に入っていない場合、評価値が前記許容範囲内に入るようにマクロ回路の間引き率が再設定されるため、回路の動作モードに応じて適正なパフォーマンスを維持しつつ、回路の省電力化を図ることができる。
【００１１】
請求項２記載の発明によれば、データフロー上、下流側のマクロ回路ほどクロックの間引き率が低く設定されるため、データ入力段からデータ出力段に至るまでの途中のマクロ回路において、次段のマクロ回路による処理待ちのデータが発生することを回避することができ、回路のパフォーマンスを高めることができる。
【００１２】
請求項３記載の発明によれば、電力消費量の高いマクロ回路ほど間引き率が大きく設定されるため、例えば、重み係数に顕著な差があるマクロ回路により回路が構成されている場合、間引き率が低く設定されるマクロ回路の数を可能な限り少なくすることができる。
【００１３】
請求項４記載の発明によれば、各マクロ回路に対するクロックの間引き率が等しく設定されるため、例えば回路を構成する各マクロ回路に対する間引き率や重み係数に大差がない場合に、動作モードに応じて適正なパフォーマンスを維持しつつ、省電力化を図ることができる。
【００１４】
請求項５記載の発明によれば、第１〜第３の方式のうち、回路の動作モードに応じて好ましい方式を選択することができ、回路のパフォーマンスを維持しつつ、回路の省電力化をより高めることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しつつ、本発明の一実施形態にかかる回路制御装置をある電気機器に適用した場合を例に挙げて説明する。図１は本回路制御装置が適用された電気機器のブロック図を示している。図１に示す電気機器は、機器制御部２０の制御の下、種々の処理を実行する周辺回路１０と、本電気機器全体を制御する機器制御部２０と、ユーザが本電気機器に対する操作指令を入力する際に用いる操作部３０とを備えている。
【００１６】
機器制御部２０は、ＣＰＵ（中央演算処理装置）を含み、操作部３０を介して入力された操作指令等に基づいて、電気機器の動作モードを設定し、設定した電気機器の動作モードに応じて予め定められた周辺回路１０に対する動作モードを設定し、設定した動作モードに対して予め定められた目標値を目標値記憶部１０４に記憶させる。また、機器制御部２０は、周辺回路１０の動作モードに対して予め定められたマクロ回路毎の重み係数を重み係数記憶部１０７に記憶させ、重み係数を設定する。この重み係数は、動作モードの設定が変更される場合のみならず、同じ動作モードが設定されている場合であっても、マクロ回路の処理状況に応じて経時的に変更される場合がある。また、重み係数は、ある時間においてあるマクロ回路の動作が停止される場合、そのマクロ回路の重み係数は０が設定される。
【００１７】
周辺回路１０は、ＡＳＩＣにより構成され、Ｎ（Ｎは２以上の整数）個のマクロ回路Ｍ１〜ＭＮ、ＡＮＤゲート２１〜２Ｎ、及び回路制御装置１００を備えている。回路制御装置１００は、間引き制御部１０１、評価値算出部１０２、判定部１０３、目標値記憶部１０４、設定部１０５、間引き率記憶部１０６、及び重み係数記憶部１０７を備えている。
【００１８】
マクロ回路Ｍ１〜ＭＮは、周辺回路１０の処理を構成する処理要素を実現するための回路である。マクロ回路Ｍ１〜ＭＮ及び機器制御部２０はデータバスＢにより種々のデータが相互に送受信可能に接続されている。
【００１９】
ＡＮＤゲート２１〜２Ｎは、一方の入力端子に図略のクロック生成部からのクロックｃｌｋが入力され、他方の入力端子に間引き制御部１０１からの制御信号が入力され、間引き制御部１０１による制御の下、クロックｃｌｋを構成するパルスを一定の周期で間引き（マスクし）、マクロ回路Ｍ１〜ＭＮに対しゲーテッドクロックを行う。
【００２０】
間引き制御部１０１は、マクロ回路Ｍ１〜ＭＮのそれぞれに対して設定された間引き率に従って、パルスの間引かれたクロックｃｌｋがマクロ回路Ｍ１〜ＭＮに出力されるようにＡＮＤゲート２１〜２Ｎに制御信号を出力する。ここで、間引き率とは、単位時間あたりに間引かれるクロックｃｌｋのパルス数を、クロックｃｌｋの周波数で除した値をいう。例えば、間引き率が１／Ｌである場合、クロックｃｌｋはＬ個につき１個のパルスが間引かれることとなる。
【００２１】
評価値算出部１０２は、間引き率記憶部１０６に記憶された間引き率と、マクロ回路Ｍ１〜ＭＮに対して予め設定された重み係数とを用いて式（１）の演算を行い、回路の消費電力の指標となる評価値を算出する。
【００２２】
【数１】
2005347840.tif 000003
【００２３】
但し、Ｔは評価値を示し、Ｃ（ｍ）は第ｍマクロ回路に対するクロックの供給率を示し、Ｓ（ｍ）は第ｍマクロ回路に対する重み係数を示し、ｃｏｎｓｔ（ｍ）はパルスを間引くことができないことが定められた第ｍマクロ回路における消費電力の指標となる値を示し、ｍはマクロ回路を特定するための番号を示し、Ｎは回路を構成するマクロ回路の個数を示している。なお、供給率は「１−間引き率」で定義される。また、第ｍマクロ回路に対してクロックが間引かれる場合、ｃｏｎｓｔ（ｍ）＝０とされ、第ｍマクロ回路に対してクロックが間引かれない場合、Ｃ（ｍ）＝０とされる。また、重み係数Ｓ（ｍ）は周辺回路２０の動作モードに応じて想定されるマクロ回路毎の電力消費量を基に予め定められた値であり、具体的にはマクロ回路のゲート数、エリア数等により決定される。すなわち、重み係数Ｓ（ｍ）は電力消費量が大きなマクロ回路ほど大きな値を有する。
【００２４】
判定部１０３は、評価値算出部１０２によって算出された評価値と、目標値記憶部１０４に記憶された目標値との差分の絶対値が閾値以上であるか否かの判定を行う。目標値記憶部１０４は、レジスタ等から構成され、機器制御部２０により設定された周辺回路１０の動作モードに対する目標値を記憶する。ここで、閾値は予め実験等により得られた値であり、周辺回路１０が動作モードに応じて好適なパフォーマンスを得ることが可能な値が採用されている。
【００２５】
設定部１０５は、判定部１０３により算出された差分の絶対値が閾値を超えると判定された場合、前記差分が閾値を以下となるように、マクロ回路Ｍ１〜ＭＮに対する間引き率を設定し、間引き率記憶部１０６に記憶させる。具体的には、設定部１０５は、以下に示す第１〜第３の方式に従って、マクロ回路Ｍ１〜ＭＮの間引き率を設定する。
【００２６】
（１）第１の方式は、データフロー上、下流側に位置するマクロ回路ほどクロックの間引き率を小さく設定する方式、すなわち、下流側に位置するマクロ回路ほど高速で動作するように間引き率を設定する方式である。
【００２７】
例えば、処理対象データがバスラインＢを介して機器制御部２０からマクロ回路Ｍ１に入力され、マクロ回路Ｍ１〜ＭＮの順で処理され、マクロ回路ＭＮから出力されるように周辺回路１０が構成されている場合を考える。この場合、第１の方式を適用すると、マクロ回路ＭＮに向かうにつれて、マクロ回路の動作速度が高速になるように間引き率が設定される。これにより、下流側のマクロ回路に対する処理が優先的に実行されることとなり、データフロー上、途中に位置するマクロ回路において処理されたデータが、次段のマクロ回路によって処理待ち状態にされることを回避することができる。そのため、周辺回路１０全体としてのパフォーマンスの低下を抑制することができる。
【００２８】
（２）第２の方式は、重み係数が大きなマクロ回路ほど間引き率を大きく設定する方式である。例えば、重み係数の高い小数のマクロ回路群と、重み係数の低い多数のマクロ回路群とから構成される周辺回路１０を考える。この周辺回路１０に対し、第２の方式を適用すると、重み係数が大きなマクロ回路群に対する間引き率を大きく設定し、重み係数の小さなマクロ回路群に対する間引き率を０に設定することで式（１）に示す評価値を低くすることが可能となる。そのため、動作速度が低下するマクロ回路の数を必要最小限に抑えつつ省電力化を図ることができる。
【００２９】
（３）第３の方式は、全てのマクロ回路に対するクロックの間引き率を等しくする方式である。この方式は、マクロ回路間において重み係数に顕著な差がない場合や、データフローの段数が深くない場合等に効果的となる。
【００３０】
間引き率記憶部１０６は、レジスタから構成され、設定部１０５によりマクロ回路Ｍ１〜ＭＮのそれぞれに対して設定された間引き率を記憶する。
【００３１】
重み係数記憶部１０７は、レジスタから構成され、機器制御部２０より設定されたマクロ回路Ｍ１〜ＭＮのそれぞれに対して設定された重み係数を記憶する。
【００３２】
次に、本回路制御装置の動作を図２に示すフローチャートを用いて説明する。このフローチャートは、電気機器の電源投入時に実行される。また、目標値記憶部１０４には、周辺回路１０の動作モードに対する目標値が記憶されているものとする。さらに、説明の便宜上、式（１）に示すｃｏｎｓｔ（ｍ）は、ｃｏｎｓｔ（ｍ）＝０、すなわち、マクロ回路Ｍ１〜ＭＮの全てがクロックの間引き対象となるマクロ回路であるものとする。
【００３３】
まず、ステップＳ１において、設定部１０５は、間引き率記憶部１０６に記憶されているマクロ回路Ｍ１〜ＭＮに対する間引き率を０に設定し、間引き率を初期化する。
【００３４】
ステップＳ２において、評価値算出部１０２は、式（１）を用いて評価値を算出する。この場合、マクロ回路Ｍ１〜ＭＮの間引き率には０が設定されているため、Ｃ（ｍ）には１が代入される。
【００３５】
ステップＳ３において、判定部１０３は、評価値算出部１０２により算出された評価値と、目標値記憶部１０４に記憶されている目標値との差分を算出し、当該差分の絶対値が閾値以下であるか否かを判定し、閾値以下の場合（ステップＳ３でＹＥＳ）、処理をステップＳ４に進める。一方、判定部１０３により差分の絶対値が閾値より大きいと判定された場合（ステップＳ３でＮＯ）、設定部１０５は、上記第１〜第３の方式のうちいずれかの方式を用いて、マクロ回路Ｍ１〜ＭＮのそれぞれの間引き率を設定し（ステップＳ５）、処理をステップＳ３に戻す。この場合、設定部１０５は、周辺回路１０の動作モードに応じて第１〜第３の方式のうち最も適正な方式を選択してもよい。
【００３６】
ステップＳ４において、周辺回路１０に対する動作モードの設定が変更され、目標値及び重み係数の少なくともいずれか一方が変更された場合、又は、動作モードの設定は変更されていないが、重み係数が変更された場合（ステップＳ４でＹＥＳ）、処理がステップＳ２に戻され、再度評価値が算出される（ステップＳ２）。一方、ステップＳ４においてＮＯと判定された場合、処理がステップＳ３に戻される。
【００３７】
以上説明したように、本回路制御装置によれば、周辺回路１０の動作モードに応じて予め定められたマクロ回路毎の重み係数と、設定部１０５により設定されたマクロ回路毎の間引き率とを用いて評価値が算出され、この評価値と周辺回路１０の動作モードに応じて予め定められた目標値との差分の絶対値が閾値以下となるように、マクロ回路Ｍ１〜ＭＮの間引き率が設定されるため、周辺回路１０の動作モードに応じて適正なパフォーマンスを維持しつつ、周辺回路１０の省電力化を図ることができる。
【図面の簡単な説明】
【００３８】
【図１】本回路制御装置が適用された電気機器のブロック図を示している。
【図２】本回路制御装置の動作を示すフローチャートである。
【符号の説明】
【００３９】
１０  周辺回路
２０  機器制御部
２１  ２２  ２３  ＡＮＤゲート
３０  操作部
１００  回路制御装置
１０１  間引き制御部
１０２  評価値算出部
１０３  判定部
１０４  目標値記憶部
１０５  設定部
１０６  間引き率記憶部
１０７  重み係数記憶部
Ｍ１〜ＭＮ  マクロ回路
【図１】
2005347840.tif 000004
【図２】
2005347840.tif 000005