電源制御回路及び電源制御方法
【課題】細粒度パワーゲーティングにおいて、オーバーヘッドの?ない小さな改良によって,非常に理想的なエネルギー削減効果を達成する。
【解決手段】アイドルサイクルカウンタ0605は、入力を検知した場合にはアイドルサイクルレジスタ0603をリセットし、入力を検知しない場合にはアイドルサイクルカウンタに加算する。比較器0606は、アイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタ0602に保持されたBECとを比較して、比較結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタ0604に書き込む。電源遮断器0607は、電源0610と論理回路ブロックの間に接続され、アイドル期間が始まったときに、予測フラグレジスタに保持されている予測フラグに応じて電源供給を制御する。
【解決手段】アイドルサイクルカウンタ0605は、入力を検知した場合にはアイドルサイクルレジスタ0603をリセットし、入力を検知しない場合にはアイドルサイクルカウンタに加算する。比較器0606は、アイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタ0602に保持されたBECとを比較して、比較結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタ0604に書き込む。電源遮断器0607は、電源0610と論理回路ブロックの間に接続され、アイドル期間が始まったときに、予測フラグレジスタに保持されている予測フラグに応じて電源供給を制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路において演算等の処理に使われていない論理回路ブロックへの電源供給を遮断することにより、リーク電流によるエネルギーの消失を低減させるための技術に関する。
【背景技術】
【0002】
半導体チップは素子の微細化が進むにつれ、リーク電流が増大し、消費エネルギーの増大につながることが指摘されている。リーク電流による消費エネルギー(以下、リークエネルギーという)を削減する手段として、チップ内にパワースイッチ(PS)とよばれるMOSトランジスタを設け、回路がアイドル状態、すなわち回路に信号が入力されることがなく演算等の処理を行わない状態にあるときに、PSをオフすることで電源遮断するパワーゲーティング技術が提案され、使用されている。
【0003】
ところが、パワーゲーティングでは、電源遮断時と電源復帰時にPSのオンオフに伴ってエネルギーを消費する。結果的に、このエネルギー・オーバーヘッドが、電源遮断によってもたらされるリークエネルギーの削減分よりも大きいと、消費エネルギーの低減に結びつかない。アイドル期間が非常に長い場合にのみ電源遮断する方法では、通常、電源遮断によるリークエネルギーの削減分がオーバーヘッドよりも大きいので問題とはならない。これに対し、プログラムの実行中に回路を使用していない期間が少しでもあれば、電源遮断してリークエネルギーの低減を図る新しい技術(細粒度パワーゲーティング技術)では、アイドル状態の開始を認識した後、アイドル期間の長短によって、電源遮断を行うか否かの判断が必要となる。
【0004】
非特許文献1では、電源遮断によるリークエネルギーの削減分がエネルギー・オーバーヘッドと等しくなるクロックサイクル数(Break-Even Cycles、BEC)を予め求めておき、回路がアイドル状態になったことを検知したらアイドル期間のサイクル数のカウントを開始し、BECを超えたら電源遮断を行う方式(Time-Based方式、以下TB方式という)が開示されている。
【0005】
TB方式で必要なハードウェアは、アイドル期間中のクロック数(以下、アイドルサイクルという)を数えるアイドルサイクルカウンタ,アイドルサイクルを保持するレジスタ(以下、アイドルサイクルレジスタという),BECを記録するレジスタ(以下、BECレジスタという),アイドルサイクルとBECを比較する比較器、及び前記比較の結果に従って電源遮断を行う電源遮断器である。
【0006】
図1は、細粒度パワーゲーティング技術の概念を表す図である。演算等の処理を行う論理回路ブロック0101とこれに電源を供給する電源0102の間に電源制御回路0103が配置されている。電源制御回路は論理回路ブロックに対して入力信号を伝達する入力線0104に接続されており、論理回路ブロックに送られる入力信号の状態に応じて電源から論理回路ブロックへの電源供給の遮断及び復帰を制御する。図1は、単一の論理回路ブロックを使用してパワーゲーティング技術の概念を説明しているが、細粒度パワーゲーティング技術においては、論理回路ブロックごとにこのような制御を行う。図2は、集積回路において論理回路ブロックごとに電源制御が行われていることを表した概念図である。
【0007】
図3は、非特許文献1が提案するTB方式の制御の手順を示すフロー図である。
【0008】
なお、本願の明細書におけるフロー図中、「ASR」はアイドルサイクルレジスタを、「BEC」は、BECレジスタを表す。また、「レジスタ名=数値」の形をした式は、左辺のレジスタに右辺の数値を保持させる処理を意味する。また、「レジスタ名++」とあるのは、そのレジスタに保持された数値に一を加算する処理を表し、「レジスタ名−−」とあるのは、そのレジスタに保持された数値から一を減算する処理を表す。なお、「ON」は、電源供給が停止中の場合に電源供給を再開することのほか、電源供給がすでに行われている場合に電源供給を継続することを含むものとする。「OFF」も同様に、電源供給を行っている場合に電源供給を停止することのほか、電源供給を既に停止している場合に電源供給の停止を継続することを含むものとする。
【0009】
本願で説明する細粒度パワーゲーティングの技術は、命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体に関するものである。そして、フロー図のSTARTからENDまでの流れは、制御回路が1クロックの間に行う処理を表したものである。図中、途中で枝分かれして並列的に記された処理は並行して別々に同時処理が行われるものである。これら一連の処理がクロック毎に繰り返される。
【0010】
図3において、まず、アイドルサイクルカウンタが、前記入力線からの信号入力があるかどうかを判断する(ステップ0301)。信号入力があった場合には、アイドルサイクルカウンタがアイドルサイクルレジスタをゼロにリセットし(ステップ0302)、電源遮断器が前記論理回路ブロックへの電源供給を復帰させる(ステップ0303)。ステップ0301で信号入力がなかった場合には、アイドルサイクルカウンタがアイドルサイクルレジスタに一を加算し(ステップ0304)、比較器がアイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタに保持されたBECとを比較して(ステップ0305)、アイドルサイクルがBECよりも大きい場合には電源遮断器が前記論理回路ブロックに対する電源供給を遮断する(ステップ0306)。
【0011】
図4は、TB方式でエネルギーが節約される様子を時系列的に表した表である。表の上から下に向かって時間は進行し、各行がひとつのクロックにおける処理の結果を示している。この例ではBECは2であり、表中の「BEC」はBECレジスタに保持されたBECを意味しており、常に2が保持されている。これは2クロックサイクルにおいて失われるリークエネルギーと電源遮断及び復帰によって失われるエネルギー・オーバーヘッドが等しいことを意味している。表中の「入力」の列の黒丸は論理回路ブロックへ信号の入力がある場合を意味し、白丸は信号の入力がない場合を意味している。表中の「ASR」の数値は、信号の入力がある場合にはゼロとされ、ない場合に一が加算される。表中の「電源」は、信号の入力がある場合にはON、アイドルサイクルがBECを超える場合にはOFF、それ以外の場合にはその時点における電力状態を維持する。例えば、5サイクル目ではアイドルサイクルがBECを超えたので電源が遮断され、7クロック目では信号入力を検知して電源が復帰されている。
【0012】
表中の「消費エネルギー」の欄はリーク電流又はエネルギー・オーバーヘッドにより失われたエネルギーを表しており、数字の単位は1クロックで失われるリークエネルギーの量となっている。エネルギー・オーバーヘッドによる損失は電源遮断時と電源復帰時のそれぞれで発生するが、この例においては、簡単化のため電源復帰時に一時に2単位のエネルギーを失うものとしている。消費エネルギーの欄のうち、左の列は電源遮断を一切行わない場合の累積消失量であり、右の列はTB方式の電源遮断を行った場合の累積消失量を表している。TB方式では5クロック目で電源遮断を行っているので5〜6クロックにおいて2単位のエネルギーを節約しているものの、7クロック目の電源復帰で2単位のエネルギーを失ったため、アイドル期間終了時点において結局電源遮断を行わない場合と消費エネルギーが異ならない結果となっている。このように、TB方式ではアイドル期間がBECの二倍の長さを超えてはじめてエネルギーの節約となり、それより短いと逆にエネルギー損失は大きくなる。表の二番目のアイドル期間はエネルギー節約に成功した例であり、三番目のアイドル期間はエネルギー節約に失敗した例となっている。
【0013】
TB方式はアイドル期間がBECに達するまでは、リーク電流が無駄に失われている。そこで、アイドル期間がBECに達する前に電源を遮断してさらにエネルギーを節約する方法が考えられるが、電源遮断後すぐに入力信号があるとエネルギー・オーバーヘッドによりかえってエネルギーを無駄に失う結果となる。そこで、アイドル期間がBECを超えるかどうかを過去の履歴から予測して、その予測に応じて電源遮断のタイミングを制御する方法が提案されている(特許文献1)。
【0014】
なお、リーク電流の大きさは、半導体の温度により変化することが知られており、半導体の温度に応じたBECを電源遮断に使用する技術を開示したものとして特許文献2がある。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2002−229690
【特許文献2】特開2009−231360
【非特許文献】
【0016】
【非特許文献1】Z. Hu, et al, "Microarchitectural techniques for power gating of execution units," Proceedings of ISLPED'04, pp.32-37, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0017】
前記特許文献1は、過去の履歴から将来のアイドル期間を予測する方法として、例えば過去10回分のアイドル期間を記憶してそれらの平均値を基準値と比較する方法を提案する。しかしながら、10個の数値を保持するために消費されるエネルギーやそれらの数値に対して演算処理を行うために失われるエネルギーは電源遮断により節約されるエネルギーよりも大きく、トータルでみた場合にはエネルギー消費量削減の目的を達成できていないと考えられる。特許文献1はいずれの実施形態についても実証データを提供していないが、特許文献1で開示されている実施形態はいずれもそのような問題を解決できていないと考えられる。
【0018】
また、特許文献1の発明では、過去のアイドル期間におけるアイドルサイクルの履歴に応じてBECを長くしたり、あるいは短くしたりする操作を行うことにより電源遮断のタイミングを制御する構成が示されている。しかし、BECを短くした場合であっても、アイドル期間開始からBECに達するまでの間にリークエネルギーは失われ続けるという問題が全て解消されているわけではない。
【課題を解決するための手段】
【0019】
本願発明の発明者は、以上のような課題に鑑みて鋭意研究を重ねた結果、消費エネルギーを抑えた必要最小限の回路により構成され、しかもアイドル期間についての高い予測能力を備えた電源制御回路を完成させたものである。
【0020】
TB方式の電源制御回路や特許文献1の電源制御回路では、アイドル期間開始時から電源遮断時までのリーク電流が無駄に失われていた。本願発明者は、アイドル期間がBECを超えると予想される場合においては、BECの経過を持つことなくアイドル期間開始時において直ちに電源遮断を行うことが、エネルギー節減に有効であることを見出した。
【0021】
請求項1に記載の第一発明は、本願における発明中、最も基本となる発明である。第一発明の電源制御回路は、BECレジスタ、アイドルサイクルレジスタ、アイドルサイクルカウンタ、比較器及び電源遮断器を有する点において既に説明したTB方式による電源制御回路と同様であるが、さらに、予測フラグレジスタを有する。第一発明の比較器はアイドルサイクルとBECを比較して、その結果に応じて電源遮断処理または電源非遮断処理のトリガーとなる予測フラグを予測フラグレジスタに書き込み、電源遮断器は、予測フラグが電源遮断を指示するものであるときにはアイドル期間開始時において電源遮断を直ちに行う。電源遮断器はさらにアイドル期間終了時において電源供給が行われていない場合には電源を復帰させる。
【0022】
請求項2に記載の第二発明は、比較器はアイドルサイクルがBECを超えている場合には遮断フラグを予測フラグレジスタに書き込み、電源遮断器はアイドル期間が始まったときに遮断フラグが予測フラグレジスタに保持されている場合には電源を遮断することを特徴とする第一発明の電源制御回路である。
【0023】
請求項3に記載の第三発明は、さらに半導体の温度に応じたBECを使用することを特徴とする電源制御回路である。すなわち、第三発明は、温度センサと、前記温度センサから取得した温度を所定の対応表又は関数に基づきBECへ変換して前記BECレジスタに書き込む変換器とをさらに備えた第一発明又は第二発明の電源制御回路である。
【0024】
第一発明乃至第三発明の電源制御回路においては、アイドル期間開始時に電源遮断を行わなかった場合において、その後アイドル期間が長期に継続したときにはリーク電流により多くのエネルギーを失う事態となる。請求項4に記載の第四発明は、そのような場合において、アイドルサイクルがBECを超えたときに電源を遮断することを特徴とするものである。すなわち、第四発明は、比較器はアイドルサイクルとBECの比較をクロック毎に行い、遮断器は、開始時において電源遮断を行わなかったアイドル期間において、アイドルサイクルがBECを超えたと比較器が判定した場合には、電源遮断を直ちに行うことを特徴とする第一発明乃至第三発明の電源制御回路である。
【0025】
請求項5に記載の第五発明は、電源制御方法の発明であって、第二発明の電源制御回路に対応するものである。すなわち、第五発明は、命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御する電源制御方法であって、アイドル期間中にクロック数をカウントするアイドルサイクルカウントステップと、アイドル期間終了時にアイドルサイクルがBECを超過した場合には遮断フラグをレジスタに記録する比較ステップと、アイドル期間開始時に前記レジスタに遮断フラグが保持されている場合には前記論理回路ブロックへの電源供給を遮断する遮断ステップとアイドル期間終了時に前記論理回路ブロックへの電源供給が停止中であればこれを復帰させる電源復帰ステップとからなる電源制御方法に関する。
【0026】
請求項6に記載の第六発明は、電源制御方法の発明であって、第三発明の電源制御回路に対応するものである。すなわち、第六発明は、前記論理回路ブロックの温度を計測する温度計測ステップと、前記温度計測ステップにより計測した温度を所定の対応表又は関数に基づきBECへ変換する変換ステップをさらに有する第五発明の電源制御方法に関する。
【0027】
請求項7に記載の第七発明は、電源制御方法の発明であって、第三発明の電源制御回路に対応するものである。すなわち、第七発明は、アイドル期間開始時に電源供給の遮断を行わなかったアイドル期間中において、その期間中のクロック数がBECを超過したクロックにおいて前記論理回路ブロックへの電源供給を直ちに遮断するリミットステップをさらに有する第五発明又は第六発明の電源制御方法に関する。
【発明の効果】
【0028】
第一発明を含め本願の全ての発明は、アイドル期間開始時からBECに至るまでのリーク電流によるエネルギー消失をさらに節減することが出来る点において、TB方式や特許文献1の電源制御回路又は電源制御方法よりも優れた電源制御回路又は電源制御方法を提供するものである。そして、その回路又は方法は、ハードウェア的にはTB方式の電源制御回路に予測フラグレジスタを追加して比較器及び電源遮断器に必要な変更を加えただけの簡易な構造にて実施可能なものである。このような簡易な構造がゆえに本願発明の電源制御回路又は電源制御方法にて消費されるエネルギーは限定的であり、本願発明によるエネルギー節減効果は特許文献1のそれよりも優れた結果となる。
【0029】
第三発明の電源制御回路及び第六発明の電源制御方法は、論理回路ブロックの温度に応じたBECを使用することによりさらにエネルギー効率を高めたものである。
【0030】
第四発明の電源制御回路及び第七発明の電源制御方法は、アイドル期間開始時において電源遮断を行わなかった場合において、アイドル期間がBECを超過した場合には電源遮断を行うことによりさらにエネルギー効率を高めたものである。
【図面の簡単な説明】
【0031】
【図1】細粒度パワーゲーティング技術の概念を表す図。
【図2】集積回路において論理回路ブロック毎に電源制御が行われていることを表した概念図。
【図3】TB方式の制御の手順を示すフロー図。
【図4】TB方式でエネルギーが節約される様子を時系列的に表した図。
【図5】実施例1の電源制御回路の大まかな処理の流れを表す概念図。
【図6】実施例1の電源制御回路のハードウェア構成図。
【図7】実施例2の電源制御回路の処理の流れを表すフロー図。
【図8】実施例2の電源制御の処理の流れを時系列的にTB方式のそれと比較して表わした図。
【図9】実施例3の電源制御回路のハードウェア構成図。
【図10】実施例4の電源制御回路の処理の流れを表すフロー図。
【図11】実施例8の電源制御回路における予測方式の概念図。
【図12】実施例2の電源制御回路の処理の流れを表すフロー図。
【発明を実施するための形態】
【0032】
実施例1は第一発明に関する。実施例2は第二発明に関する。実施例3は第三発明に関する。実施例4は第四発明に関する。実施例5は第五発明に関する。実施例6は第六発明に関する。実施例7は第七発明に関する。実施例8は第一発明に関する。
【0033】
なお、背景技術中、TB方式の電源制御回路における構成の説明は、本願発明の内容の特定に使用してはならないものとする。
【実施例1】
【0034】
<<実施例1の概要>>
【0035】
実施例1は、第一発明の電源制御回路に関する。
【0036】
図5は、実施例1の電源制御回路の大まかな処理の流れを表す概念図である。図3と同様に、上から下への時系列となっており、左側の丸のそれぞれがワン・クロックを意味している。白丸の部分がアイドル期間であり、黒丸の部分が非アイドル期間を意味する。第3クロックでアイドル期間が始まると、アイドルサイクルカウンタがアイドルサイクルのカウントを始める。アイドルサイクルカウンタはアイドル期間中アイドルサイクルのカウントを継続する。第10クロックでアイドル期間の終了が確認されると、アイドルサイクルのカウントは止まり、アイドルサイクルがBECと比較される。この比較の結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む。第12クロックで次のアイドル期間が始まると、予測フラグレジスタに保持された予測フラグが電源遮断処理に係るものである場合には電源遮断が直ちに行われ、逆に予測フラグが電源非遮断処理に係るものである場合には電源遮断を行わない。第17クロックでは、電源遮断中であれば電源が復帰される。
【0037】
このように、実施例1の電源制御回路は、各アイドル期間においてアイドルサイクルを計測し、アイドルサイクルとBECの比較を行い、その結果に応じて後のアイドル期間においてその開始時に電源遮断又は非遮断の操作を行う。以上では、一番目のアイドル期間の開始時にもそれ以前の履歴に応じて電源が遮断されうることや、二番目のアイドル期間においてもアイドルサイクルがカウントされることの説明は省略した。要するに、図4のような操作が重畳的に繰り返されるということである。そして、図4では過去1回の履歴に基づいて予測フラグを書き込む例を説明したが、過去数回の履歴に基づいて電源遮断処理又は電源非遮断処理を選択して予測フラグを立てる方法を除外する趣旨ではない。ただし、過去の履歴を多く保持しようとするとその数に応じて消費エネルギーが増加することは既に述べたところであり、望ましくは過去2回以内の履歴とするのがよい。
<<実施例1の構成>>
【0038】
第一発明の電源制御回路は、「命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御するための電源制御回路」である。「命令又はデータの入力に対して」行う「一定の処理」とは、加算、減算、乗算、論理演算などの演算を意味し、「論理回路ブロック」とは、そのような演算を行う加算器、減算器、乗算器、論理演算器等のことをいう。そしてそれらの演算は電子回路の同期をとるための「クロックに基づいて」行われる。そして、第一発明の電源制御回路は「複数の論理回路ブロックを有する半導体装置」を対象とする、細粒度パワーゲーティングを行うものであり、「アイドル期間中にその論理回路ブロックへの電源供給を制御する」ものである。
【0039】
図6は、実施例1の電源制御回路のハードウェア構成図である。電源制御回路0601は、BECレジスタ0602と、アイドルサイクルレジスタ0603と、予測フラグレジスタ0604と、アイドルサイクルカウンタ0605と、比較器0606と、電源遮断器0607とを有する。
【0040】
「BECレジスタ」は数値データを保持するためのメモリであり、「BECを保持する。」BECの意味については既に説明した。BECは定数であり、予めBECレジスタに記録される。「アイドルサイクルレジスタ」は数値データを保持するための揮発性メモリであり、「アイドルサイクルを保持する。」アイドルサイクルは変数であり、アイドルサイクルカウンタにより書き換えられる。「予測フラグレジスタ」も数値データを保持するための揮発性メモリであり、「予測フラグを保持する。」予測フラグも変数であり、比較器により書き換えられる。
【0041】
「アイドルサイクルカウンタ」は、「論理回路ブロック0608への命令又はデータの入力をクロック毎に検査」するため、入力信号線0609に接続される。そして、「入力を検知した場合にはアイドルサイクルレジスタをリセットし、入力を検知しない場合にはアイドルサイクルカウンタに加算する。」「比較器」は、「アイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタに保持されたBECとを比較して、比較結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む。」「電源遮断器」は、電源0610と論理回路ブロックの間に接続され、「アイドル期間が始まったときに、予測フラグレジスタに保持されている予測フラグに応じて電源供給を制御し、そのアイドル期間が終了したときに電源供給が予測フラグに基づいた処理により遮断されていた場合にはその論理回路ブロックへ電源を供給する。」
【0042】
実施例1の電源制御回路は、簡易な構造にてアイドル期間開始時からBECに至るまでのリークエネルギーをさらに節減することが出来る電源制御回路である。
【実施例2】
【0043】
<<実施例2の概要>>
【0044】
実施例2は、第二発明の電源制御回路に関する。
【0045】
実施例2の電源制御回路は、あるアイドル期間においてアイドルサイクルがBECを超えていた場合には次回のアイドル期間においてアイドル期間開始時に直ちに電源遮断を行い、そうでない場合には電源遮断を行わないことを特徴とする第一発明の電源制御回路である。
<<実施例2の構成>>
【0046】
第二発明の電源制御回路は、第一発明の電源制御回路であって、比較器はアイドルサイクルがBECを超えている場合には遮断フラグを予測フラグレジスタに書き込み、電源遮断器はアイドル期間が始まったときに遮断フラグが予測フラグレジスタに保持されている場合には電源を遮断することを特徴とする電源制御回路である。
【0047】
実施例2の電源制御回路のハードウェア構成は実施例1のそれと同様である。
【0048】
図7は、実施例2の電源制御回路の処理の流れを表すフロー図である。図2と同様、別個同時に並行処理されるものは並列的に記されている。まず、アイドルサイクルカウンタが、前記入力線からの信号入力があるかどうかを判断する(ステップ0701)。信号入力があった場合には、以下のステップ0702から0707までの処理を行い、入力信号がない場合には、ステップ0708から0710までの処理を行う。
【0049】
入力信号があった場合には、第一に、アイドルサイクルカウンタがアイドルサイクルレジスタをゼロにリセットし(ステップ0702)、第二に、前記論理回路ブロックへの電源供給が停止中であれば、電源遮断器が電源供給を復帰させる(ステップ0703)。第三に、比較器は、アイドルサイクルがゼロでないならば(このステップと前記ステップ0702とは並行処理であるから、この時点ではまだアイドルサイクルはゼロにリセットされていない)、アイドル期間終了直後の最初の非アイドル期間であると判断し(ステップ0704)、アイドルサイクルとBECの比較を行う(ステップ0705)。比較器は、アイドルサイクルがBECを超えている場合には予測フラグレジスタに電源遮断処理のトリガーとなるフラグである遮断フラグとして1を書きこみ(ステップ0706)、アイドルサイクルがBECを超えていない場合には予測フラグレジスタに電源非遮断処理のトリガーとなるフラグである非遮断フラグとして0を書き込む(ステップ0707)。
【0050】
ステップ0701で信号入力がなかった場合には、第一に、アイドルサイクルカウンタがアイドルサイクルレジスタに一を加算し(ステップ0708)、第二に、電源遮断器が、予測フラグレジスタに保持された予測フラグを取得し、これが遮断フラグを意味する1であると判断した場合(ステップ0709)、電源供給中であれば電源の遮断を行う(ステップ0710)。
【0051】
図8は、実施例2の電源制御の処理の流れを時系列的にTB方式のそれと比較して表わした図である。図4と同様に上から下へと時間が経過し、各行がワン・クロックにおける処理を表している。表中「BEC」、「ASR」、「PFR」の列の数値は、それぞれ、BECレジスタ、アイドルサイクルレジスタ、予測フラグレジスタに保持された数値を意味している。図4と同様、黒丸が非アイドル期間、白丸がアイドル期間を表している。ここでは、電源遮断なし、TB方式、HB方式の三つの「消費エネルギー」が比較されている。HB(History-Based)方式とは、実施例2の電源制御方式である。第2〜6クロックの最初のアイドル期間は予測のための期間として消費エネルギーの計算から除いてある。ここでの「BEC」は3と設定している。PFRの初期値は非遮断フラグを意味する0とした。なお、消費エネルギーの単位は図4と同様1クロックにおけるリークエネルギーの量である。
【0052】
HB方式の処理の流れを時系列的に見ると、第2〜6クロックの最初のアイドル期間では信号の入力がないとASRに毎回1が加算される(図7のステップ0701及び0708による)。第7クロックで最初のアイドル期間の終了を検知する(図7のステップ0701及び0704による)と、ASRとBECを比較して(図7のステップ0705による)、ASRがBECを超えているのでPFRを1に書き換える(図7のステップ0706による)。これと並行して、ASRが0にリセットされる(図7のステップ0701及び0702による)。ここで、注意を要するのは、BECとの比較に使われるASRはリセット前の、すなわち、一行前のASRということである。第8クロックで第二のアイドル期間が始まると、PFRの数値が1かどうかを調べ(図7のステップ0701及び0709による)、これが1であるため電源が遮断されている(図7のステップ0710による)。これとは反対に、第16クロックでは第三のアイドル期間においてASRがBECを超えなかったためPFRが0に書き換えられ、その結果第17クロックで第四のアイドル期間が開始されたときには電源遮断が行われていない。
【0053】
次に、TB及びHBの両方式の消費エネルギー節約の効果を見てみることにする。まず、第二のアイドル期間についてみると、TB方式では、第11〜12クロックにおいて電源遮断を行い、電源遮断がない場合と比べて2単位のエネルギーを節約しているが、第13クロックの電源復帰によるエネルギー・オーバーヘッドにより3単位のエネルギーを失い、結局電源遮断がない場合と比べて1単位多く失っている。これに対し、HB方式では第8〜12の全期間に渡って電源遮断を行った結果、失ったのはエネルギー・オーバーヘッドによる3単位のエネルギーのみであり、電源遮断を行わない場合と比べて2単位のエネルギー節約に成功している。
【0054】
次に、第三のアイドル期間についてみてみると、ここではHB方式の予測が外れてしまったために、電源遮断がない場合やTB方式では2単位のエネルギーを失っただけであるのに対し、HB方式ではエネルギー・オーバーヘッドにより3単位のエネルギーを失うという失敗に終わっている。
【0055】
このように、HB方式の電源制御方法が成功するかどうかは予測が的中するかどうかによる。実際の回路においてHB方式がTB方式と比較して有利かどうかの検証は後の<比較データ>で説明する。
【0056】
実施例2の電源制御回路は、簡易な構造にてアイドル期間開始時からBECに至るまでのリークエネルギーをさらに節減することが出来る電源制御回路である。
【実施例3】
【0057】
<<実施例3の概要>>
【0058】
実施例3は、第三発明の電源制御回路に関する。
【0059】
実施例3の電源制御回路は、第一発明又は第二発明の電源制御回路であって、さらに半導体の温度に応じたBECを使用することを特徴とする電源制御回路である。実施例1又は実施例2の電源制御回路では、一つに固定されたBEC(通常は室温でのBEC)に基づいて電源供給を制御していた。しかし、BECは温度変化に対して著しく変化する。これは、室温でのBECまでスリープ期間を数えることによって、高温時には潜在的なエネルギー削減効果を大きく失うことを意味する。第三発明の電源制御回路は、温度センサと温度依存のBECに基づく電源制御を導入することでこの欠点を克服するものである。
<<実施例3の構成>>
【0060】
第三発明の電源制御回路は、温度センサと、前記温度センサから取得した温度を所定の対応表又は関数に基づきBECへ変換して前記BECレジスタに書き込む変換器とをさらに備えた第一発明又は第二発明の電源制御回路である。
【0061】
図9は、実施例3の電源制御回路のハードウェア構成図である。実施例3の電源制御回路0901は、温度センサ0911と変換器0912をさらに有する点、BECレジスタ0902が変換器により書き換えられる点を除けば実施例1及び実施例2の電源制御回路と同様である。図中、「温度センサ」は電源制御回路の枠内にではなく論理回路ブロック0908の枠内に描かれているが、論理回路ブロックの温度を計測するために論理回路ブロックに設置することを表現するものであって、本発明の構成上は電気制御回路に含まれるものである。「温度センサ」は、半導体を利用して電気的に温度を計測する方式のものが集積回路に既に搭載され始めており、当発明においてもこれを使用することが出来る。温度センサにより計測された温度は「変換器」によりBECへ変換される。温度からその温度に相応しいBECへの変換は、「所定の対応表又は関数に基づき」行う。対応表による変換は、温度とBECを関連付けた対応表を変換器内部のメモリ等に保持しておき、これを参照することにより実現することが出来る。なお、対応表は,設計段階での回路シミュレーションによって予め用意しておく必要がある。関数による変換は、例えば、前記特許文献2の記述にあるような関数演算により行う。変換器は、変換により得たBECを「BECレジスタに書き込む。」
【0062】
なお、半導体における温度変化は緩やかに起こることから,温度変化の検出は10000サイクル位に一度の頻度で十分である。
【0063】
論理回路ブロックの温度に基づいて更新されたBECに基づいて行われる実施例3の電源制御回路の電源制御方法は、BECが変動する点を除けば実施例1及び実施例2の電源制御回路のそれと同様であり、BECの変動自体はその手順の変更を必要とするものではないから、説明を省略する。
【0064】
実施例3の電源制御回路は、論理回路ブロックの温度に適したBECを使って電源制御をおこなうことによりさらにエネルギー効率を高めた電源制御回路である。
【実施例4】
【0065】
<<実施例4の概要>>
【0066】
実施例4は、第四発明の電源制御回路に関する。
【0067】
第一発明乃至第三発明の電源制御回路においては、アイドル期間開始時に電源遮断を行わなかった場合において、その後アイドル期間が予想に反して長期に継続したときにはリーク電流によって多くのエネルギーを失う事態となる。請求項4に記載の第四発明は、そのような場合において、アイドルサイクルがBECを超えたときに電源を遮断することを特徴とするものである。
【0068】
再び、図8を用いて説明する。第21クロックに始まる第五のアイドル期間において、HB方式ではアイドル期間がBECを超えないと予想して電源遮断を行わなかった。しかし、その後アイドル期間は予想に反して8クロック継続し、その結果アイドル期間終了時点である第29クロックにおいてTB方式よりも、2単位多くエネルギーを消失している。実施例4の電源制御回路では、このような場合に、アイドルサイクルがBECを超えた時点で電源遮断を行って、エネルギーの消失を削減するものである。図8の例では、第24クロックにおいて電源遮断の操作を行うものとする。
<<実施例4の構成>>
【0069】
第五の発明の電源制御回路は、前記比較器はアイドルサイクルとBECの比較をクロック毎に行い、前記遮断器は、開始時において電源遮断を行わなかったアイドル期間において、アイドルサイクルがBECを超えたと前記比較器が判定した場合には、電源遮断を直ちに行うことを特徴とする第一発明乃至第三発明の電源制御回路である。
【0070】
第五発明の電源制御回路のハードウェア構成は、第一発明又は第二発明に従属する発明の場合においては図6を用いて説明したものと、第三発明に従属する発明の場合においては図9を用いて説明したものと同様である。
【0071】
図10は、実施例4の電源制御回路の処理の流れを表すフロー図である。なお、この図には実施例4の電源制御回路が論理回路ブロックの温度に応じてBECを更新する構成を含む場合における、当該構成に係る処理の流れは省略されている。また、図7と同様、別個同時に並行処理されるものは並列的に記されている。
【0072】
まず、アイドルサイクルカウンタが、前記入力線からの信号入力があるかどうかを判断する(ステップ1001)。信号入力があった場合には、ステップ1002から1007までの処理を行い、入力信号がいない場合には、ステップ1008から1011までの処理を行う。
【0073】
入力信号があった場合に行われるステップ1002から1007までの処理は、図7を用いて説明した実施例2の場合と同様であるので説明を省略する。
【0074】
ステップ1001で信号入力がなかった場合には、第一に、アイドルサイクルカウンタがアイドルサイクルレジスタに一を加算する(ステップ1008)。第二に、電源遮断器が、予測フラグレジスタに保持された予測フラグを取得し、これが遮断フラグを意味する1であると判断した場合(ステップ1009)、電源供給中であれば電源の遮断を行う(ステップ1010)。
ここまでは、図6を用いて説明した実施例2の場合と同様である。
【0075】
ステップ1009で予測フラグが遮断フラグを意味する1でなかった場合には、比較器がアイドルサイクルレジスタに保持されたアイドルサイクルと、BECレジスタに保持されたBECとを比較し(ステップ1011)、アイドルサイクルがBEC以上である場合には、電源供給中であれば電源の遮断を行う(ステップ1010)。この部分の処理が本実施例独自の構成である。
【0076】
なお、ステップ1011で比較に使用されるアイドルサイクルはステップ1008において加算される前の直前のクロックにおけるアイドルサイクルであって、これがBECに等しいときには、そのクロックにおいてはアイドルサイクルが既にBECを「超過したこと」を意味する。本実施例ではステップ1011においてアイドルサイクルがBEC以上であるかどうかの判定を行っている。しかし、アイドルサイクルに対して加算処理をした後にBECとの比較を行ったり、あるいは非アイドル期間においてアイドルサイクルを0にではなく1にリセットしたりするような構成をとれば、ステップ1011での比較はアイドルサイクルがBECを「超えたかどうか」の判定となる。このような相違は単なる設計事項であって、本発明を特定する構成中の「アイドルサイクルがBECを超えたと前記比較器が判定した場合」とは、アイドル期間が始まってから当該クロックまでのクロック数がBECを超えたと比較器が判定した場合というように実質的な意味に解するものとし、当実施例の回路設計に限定して解釈してはならない。
【0077】
実施例4の電源制御回路は、アイドル期間開始時において電源遮断を行わなかった場合において、アイドル期間がBECを超過した場合には電源遮断を行うことによりさらにエネルギー効率を高めたものである。
【実施例5】
【0078】
<<実施例5の概要>>
【0079】
実施例5は、第五発明の電源制御方法に関する。
【0080】
第五発明の電源制御方法は、第二発明の電源制御回路における電源制御方法である。その概要については実施例2で説明した。
<<実施例5の構成>>
【0081】
第五発明の電源制御方法は、アイドルサイクルカウントステップと、比較ステップと、電源遮断ステップと、電源復帰ステップとからなる。図7を再び用いて説明する。「アイドルサイクルカウントステップ」は、「アイドル期間中にクロック数をカウントする」ステップであり、ステップ0701、0702及び0708がこれに含まれる。「比較ステップ」は、「アイドル期間終了時にアイドルサイクルがBECを超過した場合には遮断フラグをレジスタに記録する」ステップであり、ステップ0704〜0707が含まれる。「電源遮断ステップ」は、「アイドル期間開始時に前記レジスタに遮断フラグが保持されている場合には前記論理回路ブロックへの電源供給を遮断する」ステップであり、0709及び0710が含まれる。「電源復帰ステップ」は、「アイドル期間終了時に前記論理回路ブロックへの電源供給が停止中であればこれを復帰させる」ステップであり、ステップ0703がこれに含まれる。
【0082】
実施例1の電源制御方法は、簡易な構造の電源制御回路を使ってアイドル期間開始時からBECに至るまでのリーク電流によるエネルギー消失をさらに節減することが出来る電源制御方法である。
【実施例6】
【0083】
<<実施例6の概要>>
【0084】
実施例6は、第六発明の電源制御方法に関する。
【0085】
第六発明の電源制御方法は、第三発明の電源制御回路における電源制御方法である。その概要については実施例3で説明した。
<<実施例6の構成>>
【0086】
第六発明の電源制御方法は、温度計測ステップと、変換ステップとをさらに有すること以外は、第五発明の電源制御方法と同様である。以下では、温度計測ステップと変換ステップについてのみ説明し、それ以外のステップについては説明を省略する。
【0087】
「温度計測ステップ」は、「前記論理回路ブロックの温度を計測する」ステップである。また、「変換ステップ」は、「前記温度計測ステップにより計測した温度を所定の対応表又は関数に基づきBECへ変換する」ステップである。これらの詳細については実施例3にて説明したので繰り返さない。なお、これらふたつのステップは、それ以外のステップと独立平行して実行することが出来る。
【0088】
実施例6の電源制御方法は、論理回路ブロックの温度に適したBECを使って電源制御をおこなうことによりさらにエネルギー効率を高めた電源制御方法である。
【実施例7】
【0089】
<<実施例7の概要>>
【0090】
実施例7は、第七発明の電源制御方法に関する。
【0091】
第七発明の電源制御方法は、第四発明の電源制御回路における電源制御方法である。その概要については実施例4で説明した。
<<実施例7の構成>>
第七発明の電源制御方法は、リミットステップをさらに有することを除き、第五発明又は第六発明の電源制御方法と同様である。「リミットステップ」は、「アイドル期間開始時に電源供給の遮断を行わなかったアイドル期間中において、その期間中のクロック数がBECを超過したクロックにおいて前記論理回路ブロックへの電源供給を直ちに遮断する」ステップであり、図10におけるステップ1011以下がこれに相当する。
【0092】
実施例7の電源制御方法は、アイドル期間開始時において電源遮断を行わなかった場合において、アイドル期間がBECを超過した場合には電源遮断を行うことによりさらにエネルギー効率を高めた電源制御方法である。
【実施例8】
【0093】
<<実施例8の概要>>
【0094】
実施例8は、第一発明の電源制御方法に関する。第一発明の電源制御回路には、アイドルサイクルとBECの比較の結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む構成が含まれる。実施例2乃至7はいずれも直前のアイドル期間における比較結果をもとに予測フラグを立てるものであった。本実施例では過去の複数回の履歴を用いて予測フラグをたてる例を紹介する。
【0095】
図11は、実施例8の電源制御回路における予測方式の概念図である。予測フラグレジスタには2ビットを使用し、0から3までの四つの値を予測フラグとして保持できるようにする。そして、アイドル期間終了時においてアイドルサイクルがBECを超えていた場合には予測フラグに1を加算し、そうでない場合には1を減算する。但し、予測フラグが既に3である場合には加算せず、あるいは予測フラグが既に0である場合には減算せず、そのままの数値とする。アイドル期間が始まるときには、この予測フラグを参照し、予測フラグが2又は3である場合には、電源を遮断し、0又は1である場合には、遮断を行わない。
【0096】
このように構成することにより、例えば、BECを超えるアイドル期間が複数回連続した後、一度だけBECを超えないアイドル期間が来て、またそのあとすぐBECを超えるアイドル期間が来るような場合、本実施例の電源制御回路では、予測フラグの値は3から2に変化し、また3に戻る。毎回、BECを超えると予測することになるので、予測が外れるのは1回だけである。これに対し、実施例2の電源制御回路では、予測が2回外れる。このように、2ビットの予測フラグレジスタを用意して過去の複数回の履歴を予測に利用することにより、予測が当たる確率を高めることが出来る。
<<実施例8の構成>>
【0097】
実施例8の電源制御回路のハードウェア構成は実施例1のそれと同様である。
【0098】
図12は、実施例8の電源制御回路の処理の流れを表すフロー図である。実施例2の電源制御回路と異なる部分のみを説明し、それ以外を省略する。異なるのは第一に、ステップ1205でアイドルサイクルとBECを比較した後の処理である。アイドルサイクルがBECを超える場合には、予測フラグが3より小さいかどうかを調べ、小さい場合には予測フラグに1を加算する(ステップ1206)。アイドルサイクルがBECを超えない場合には、予測フラグが0より大きいかどうかを調べ、大きい場合には、1を減算する(ステップ1207)。異なるもう一つの点は、ステップ1209において予測フラグが1と等しいかどうかではなく、2以上であるかどうかを調べる。そして2以上である場合には、電源の遮断を行う(ステップ1210)。
【0099】
実施例8の電源制御回路は過去の複数回の履歴をもとに予測を立てることにより、予測が当たる確率を高めた電源制御回路である。
<比較データ>
【0100】
実施例9では、本願発明の電源制御回路を実装したCPUと従来技術の電源制御回路を実装したCPUの消費エネルギーの比較データを提供する。
【0101】
評価を行うための集積回路として、ALU、シフタ、乗算器、除算器に動的な電源遮断を適用したMIPS R3000ベースのCPUチップを設計し、レイアウトから抽出したデータに基づいて実験と評価を行った。そして、アイドル期間のそれぞれの演算器の消費エネルギーを解析するために、市販の回路シミュレーターHsimを用いて回路レベルシミュレーションを行った。また、CPU全体のRTLモデルのVerilogシミュレーションを行った。Verilogシミュレーションは、(1)マルチメディア処理で使用されるDCT(離散コサイン変換)、(2)MiBenchに入っているクイックソートプログラム(QSORT)、(3)JPEGエンコードの3つのアプリケーションプログラムについて実行した。実行の際、現実的な時間内に実行するために入力データサイズを制限した。
【0102】
比較は、ATB(Adaptive Time-Base)方式、AHB(Adaptive History-Based)方式、AHB-LM方式の3方式の間で行った。ATB方式とは、従来技術で説明したTB方式に、温度に応じたBECを使用する構成を付加したものであり、AHB方式は実施例3の方式、すなわち、直前のアイドル期間がBECを超えたかどうかで次回の電源遮断の有無を決し、かつ、温度に応じたBECを使用するものである。AHB-LM方式は、実施例4の方式、すなわち、AHB方式に、アイドル期間開始時において電源遮断を行わなかったときにアイドルサイクルがBECを超えた時点で電源遮断を行う構成を付加した方式である。
【0103】
表1は比較試験の結果を表す表である。表中の数値は、AHB方式とAHB-LM方式それぞれを適用したときの消費エネルギーからATB方式適用時の消費エネルギーを引いた差を、ATB方式適用時の消費エネルギーで除したものである。まず、ATB方式とAHB方式の比較では、DCTでは,AHB方式は65℃と100℃の両方でATB方式よりも多くのエネルギーを削減した。これに対し,QSORTではAHB方式のエネルギー削減効果がATB方式よりも小さかった。QSORTではDCTと比べてアイドルサイクルがBECを超えなかったアイドル期間にアイドルサイクルがBECを超えるアイドル期間が続くケースが多く、電源遮断によるエネルギー削減機会が失われていることが原因であった。AHB-LM方式はこの問題を解決している。その結果QSORTにおいて,AHB-LM方式はATB方式よりも65℃で4%,100℃で3%の消費エネルギーを削減することができた。
<表1>
【0104】
細粒度電源遮断において、エネルギー削減効果がアプリケーションに依存することは知られており、ATB方式、AHB方式及びAHB-LM方式もその例外ではない。以上の比較テストでは、一定のアプリケーションにおいて、AHB方式がATB方式に比べてエネルギー削減効果があることが実証できた。この結果は、実施例2のHB方式を従来技術のTB方式と比べても同様であると考えられる。また、実施例4のAHB-LM方式は3方式の中で最も良いエネルギー削減効果を達成した。
【符号の説明】
【0105】
0601 電源制御回路
0602 BECレジスタ
0603 アイドルサイクルレジスタ
0604 予測フラグレジスタ
0605 アイドルサイクルカウンタ
0606 比較器
0607 電源遮断器
0608 論理回路ブロック
0609 入力線
0610 電源
【技術分野】
【0001】
本発明は、集積回路において演算等の処理に使われていない論理回路ブロックへの電源供給を遮断することにより、リーク電流によるエネルギーの消失を低減させるための技術に関する。
【背景技術】
【0002】
半導体チップは素子の微細化が進むにつれ、リーク電流が増大し、消費エネルギーの増大につながることが指摘されている。リーク電流による消費エネルギー(以下、リークエネルギーという)を削減する手段として、チップ内にパワースイッチ(PS)とよばれるMOSトランジスタを設け、回路がアイドル状態、すなわち回路に信号が入力されることがなく演算等の処理を行わない状態にあるときに、PSをオフすることで電源遮断するパワーゲーティング技術が提案され、使用されている。
【0003】
ところが、パワーゲーティングでは、電源遮断時と電源復帰時にPSのオンオフに伴ってエネルギーを消費する。結果的に、このエネルギー・オーバーヘッドが、電源遮断によってもたらされるリークエネルギーの削減分よりも大きいと、消費エネルギーの低減に結びつかない。アイドル期間が非常に長い場合にのみ電源遮断する方法では、通常、電源遮断によるリークエネルギーの削減分がオーバーヘッドよりも大きいので問題とはならない。これに対し、プログラムの実行中に回路を使用していない期間が少しでもあれば、電源遮断してリークエネルギーの低減を図る新しい技術(細粒度パワーゲーティング技術)では、アイドル状態の開始を認識した後、アイドル期間の長短によって、電源遮断を行うか否かの判断が必要となる。
【0004】
非特許文献1では、電源遮断によるリークエネルギーの削減分がエネルギー・オーバーヘッドと等しくなるクロックサイクル数(Break-Even Cycles、BEC)を予め求めておき、回路がアイドル状態になったことを検知したらアイドル期間のサイクル数のカウントを開始し、BECを超えたら電源遮断を行う方式(Time-Based方式、以下TB方式という)が開示されている。
【0005】
TB方式で必要なハードウェアは、アイドル期間中のクロック数(以下、アイドルサイクルという)を数えるアイドルサイクルカウンタ,アイドルサイクルを保持するレジスタ(以下、アイドルサイクルレジスタという),BECを記録するレジスタ(以下、BECレジスタという),アイドルサイクルとBECを比較する比較器、及び前記比較の結果に従って電源遮断を行う電源遮断器である。
【0006】
図1は、細粒度パワーゲーティング技術の概念を表す図である。演算等の処理を行う論理回路ブロック0101とこれに電源を供給する電源0102の間に電源制御回路0103が配置されている。電源制御回路は論理回路ブロックに対して入力信号を伝達する入力線0104に接続されており、論理回路ブロックに送られる入力信号の状態に応じて電源から論理回路ブロックへの電源供給の遮断及び復帰を制御する。図1は、単一の論理回路ブロックを使用してパワーゲーティング技術の概念を説明しているが、細粒度パワーゲーティング技術においては、論理回路ブロックごとにこのような制御を行う。図2は、集積回路において論理回路ブロックごとに電源制御が行われていることを表した概念図である。
【0007】
図3は、非特許文献1が提案するTB方式の制御の手順を示すフロー図である。
【0008】
なお、本願の明細書におけるフロー図中、「ASR」はアイドルサイクルレジスタを、「BEC」は、BECレジスタを表す。また、「レジスタ名=数値」の形をした式は、左辺のレジスタに右辺の数値を保持させる処理を意味する。また、「レジスタ名++」とあるのは、そのレジスタに保持された数値に一を加算する処理を表し、「レジスタ名−−」とあるのは、そのレジスタに保持された数値から一を減算する処理を表す。なお、「ON」は、電源供給が停止中の場合に電源供給を再開することのほか、電源供給がすでに行われている場合に電源供給を継続することを含むものとする。「OFF」も同様に、電源供給を行っている場合に電源供給を停止することのほか、電源供給を既に停止している場合に電源供給の停止を継続することを含むものとする。
【0009】
本願で説明する細粒度パワーゲーティングの技術は、命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体に関するものである。そして、フロー図のSTARTからENDまでの流れは、制御回路が1クロックの間に行う処理を表したものである。図中、途中で枝分かれして並列的に記された処理は並行して別々に同時処理が行われるものである。これら一連の処理がクロック毎に繰り返される。
【0010】
図3において、まず、アイドルサイクルカウンタが、前記入力線からの信号入力があるかどうかを判断する(ステップ0301)。信号入力があった場合には、アイドルサイクルカウンタがアイドルサイクルレジスタをゼロにリセットし(ステップ0302)、電源遮断器が前記論理回路ブロックへの電源供給を復帰させる(ステップ0303)。ステップ0301で信号入力がなかった場合には、アイドルサイクルカウンタがアイドルサイクルレジスタに一を加算し(ステップ0304)、比較器がアイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタに保持されたBECとを比較して(ステップ0305)、アイドルサイクルがBECよりも大きい場合には電源遮断器が前記論理回路ブロックに対する電源供給を遮断する(ステップ0306)。
【0011】
図4は、TB方式でエネルギーが節約される様子を時系列的に表した表である。表の上から下に向かって時間は進行し、各行がひとつのクロックにおける処理の結果を示している。この例ではBECは2であり、表中の「BEC」はBECレジスタに保持されたBECを意味しており、常に2が保持されている。これは2クロックサイクルにおいて失われるリークエネルギーと電源遮断及び復帰によって失われるエネルギー・オーバーヘッドが等しいことを意味している。表中の「入力」の列の黒丸は論理回路ブロックへ信号の入力がある場合を意味し、白丸は信号の入力がない場合を意味している。表中の「ASR」の数値は、信号の入力がある場合にはゼロとされ、ない場合に一が加算される。表中の「電源」は、信号の入力がある場合にはON、アイドルサイクルがBECを超える場合にはOFF、それ以外の場合にはその時点における電力状態を維持する。例えば、5サイクル目ではアイドルサイクルがBECを超えたので電源が遮断され、7クロック目では信号入力を検知して電源が復帰されている。
【0012】
表中の「消費エネルギー」の欄はリーク電流又はエネルギー・オーバーヘッドにより失われたエネルギーを表しており、数字の単位は1クロックで失われるリークエネルギーの量となっている。エネルギー・オーバーヘッドによる損失は電源遮断時と電源復帰時のそれぞれで発生するが、この例においては、簡単化のため電源復帰時に一時に2単位のエネルギーを失うものとしている。消費エネルギーの欄のうち、左の列は電源遮断を一切行わない場合の累積消失量であり、右の列はTB方式の電源遮断を行った場合の累積消失量を表している。TB方式では5クロック目で電源遮断を行っているので5〜6クロックにおいて2単位のエネルギーを節約しているものの、7クロック目の電源復帰で2単位のエネルギーを失ったため、アイドル期間終了時点において結局電源遮断を行わない場合と消費エネルギーが異ならない結果となっている。このように、TB方式ではアイドル期間がBECの二倍の長さを超えてはじめてエネルギーの節約となり、それより短いと逆にエネルギー損失は大きくなる。表の二番目のアイドル期間はエネルギー節約に成功した例であり、三番目のアイドル期間はエネルギー節約に失敗した例となっている。
【0013】
TB方式はアイドル期間がBECに達するまでは、リーク電流が無駄に失われている。そこで、アイドル期間がBECに達する前に電源を遮断してさらにエネルギーを節約する方法が考えられるが、電源遮断後すぐに入力信号があるとエネルギー・オーバーヘッドによりかえってエネルギーを無駄に失う結果となる。そこで、アイドル期間がBECを超えるかどうかを過去の履歴から予測して、その予測に応じて電源遮断のタイミングを制御する方法が提案されている(特許文献1)。
【0014】
なお、リーク電流の大きさは、半導体の温度により変化することが知られており、半導体の温度に応じたBECを電源遮断に使用する技術を開示したものとして特許文献2がある。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2002−229690
【特許文献2】特開2009−231360
【非特許文献】
【0016】
【非特許文献1】Z. Hu, et al, "Microarchitectural techniques for power gating of execution units," Proceedings of ISLPED'04, pp.32-37, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0017】
前記特許文献1は、過去の履歴から将来のアイドル期間を予測する方法として、例えば過去10回分のアイドル期間を記憶してそれらの平均値を基準値と比較する方法を提案する。しかしながら、10個の数値を保持するために消費されるエネルギーやそれらの数値に対して演算処理を行うために失われるエネルギーは電源遮断により節約されるエネルギーよりも大きく、トータルでみた場合にはエネルギー消費量削減の目的を達成できていないと考えられる。特許文献1はいずれの実施形態についても実証データを提供していないが、特許文献1で開示されている実施形態はいずれもそのような問題を解決できていないと考えられる。
【0018】
また、特許文献1の発明では、過去のアイドル期間におけるアイドルサイクルの履歴に応じてBECを長くしたり、あるいは短くしたりする操作を行うことにより電源遮断のタイミングを制御する構成が示されている。しかし、BECを短くした場合であっても、アイドル期間開始からBECに達するまでの間にリークエネルギーは失われ続けるという問題が全て解消されているわけではない。
【課題を解決するための手段】
【0019】
本願発明の発明者は、以上のような課題に鑑みて鋭意研究を重ねた結果、消費エネルギーを抑えた必要最小限の回路により構成され、しかもアイドル期間についての高い予測能力を備えた電源制御回路を完成させたものである。
【0020】
TB方式の電源制御回路や特許文献1の電源制御回路では、アイドル期間開始時から電源遮断時までのリーク電流が無駄に失われていた。本願発明者は、アイドル期間がBECを超えると予想される場合においては、BECの経過を持つことなくアイドル期間開始時において直ちに電源遮断を行うことが、エネルギー節減に有効であることを見出した。
【0021】
請求項1に記載の第一発明は、本願における発明中、最も基本となる発明である。第一発明の電源制御回路は、BECレジスタ、アイドルサイクルレジスタ、アイドルサイクルカウンタ、比較器及び電源遮断器を有する点において既に説明したTB方式による電源制御回路と同様であるが、さらに、予測フラグレジスタを有する。第一発明の比較器はアイドルサイクルとBECを比較して、その結果に応じて電源遮断処理または電源非遮断処理のトリガーとなる予測フラグを予測フラグレジスタに書き込み、電源遮断器は、予測フラグが電源遮断を指示するものであるときにはアイドル期間開始時において電源遮断を直ちに行う。電源遮断器はさらにアイドル期間終了時において電源供給が行われていない場合には電源を復帰させる。
【0022】
請求項2に記載の第二発明は、比較器はアイドルサイクルがBECを超えている場合には遮断フラグを予測フラグレジスタに書き込み、電源遮断器はアイドル期間が始まったときに遮断フラグが予測フラグレジスタに保持されている場合には電源を遮断することを特徴とする第一発明の電源制御回路である。
【0023】
請求項3に記載の第三発明は、さらに半導体の温度に応じたBECを使用することを特徴とする電源制御回路である。すなわち、第三発明は、温度センサと、前記温度センサから取得した温度を所定の対応表又は関数に基づきBECへ変換して前記BECレジスタに書き込む変換器とをさらに備えた第一発明又は第二発明の電源制御回路である。
【0024】
第一発明乃至第三発明の電源制御回路においては、アイドル期間開始時に電源遮断を行わなかった場合において、その後アイドル期間が長期に継続したときにはリーク電流により多くのエネルギーを失う事態となる。請求項4に記載の第四発明は、そのような場合において、アイドルサイクルがBECを超えたときに電源を遮断することを特徴とするものである。すなわち、第四発明は、比較器はアイドルサイクルとBECの比較をクロック毎に行い、遮断器は、開始時において電源遮断を行わなかったアイドル期間において、アイドルサイクルがBECを超えたと比較器が判定した場合には、電源遮断を直ちに行うことを特徴とする第一発明乃至第三発明の電源制御回路である。
【0025】
請求項5に記載の第五発明は、電源制御方法の発明であって、第二発明の電源制御回路に対応するものである。すなわち、第五発明は、命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御する電源制御方法であって、アイドル期間中にクロック数をカウントするアイドルサイクルカウントステップと、アイドル期間終了時にアイドルサイクルがBECを超過した場合には遮断フラグをレジスタに記録する比較ステップと、アイドル期間開始時に前記レジスタに遮断フラグが保持されている場合には前記論理回路ブロックへの電源供給を遮断する遮断ステップとアイドル期間終了時に前記論理回路ブロックへの電源供給が停止中であればこれを復帰させる電源復帰ステップとからなる電源制御方法に関する。
【0026】
請求項6に記載の第六発明は、電源制御方法の発明であって、第三発明の電源制御回路に対応するものである。すなわち、第六発明は、前記論理回路ブロックの温度を計測する温度計測ステップと、前記温度計測ステップにより計測した温度を所定の対応表又は関数に基づきBECへ変換する変換ステップをさらに有する第五発明の電源制御方法に関する。
【0027】
請求項7に記載の第七発明は、電源制御方法の発明であって、第三発明の電源制御回路に対応するものである。すなわち、第七発明は、アイドル期間開始時に電源供給の遮断を行わなかったアイドル期間中において、その期間中のクロック数がBECを超過したクロックにおいて前記論理回路ブロックへの電源供給を直ちに遮断するリミットステップをさらに有する第五発明又は第六発明の電源制御方法に関する。
【発明の効果】
【0028】
第一発明を含め本願の全ての発明は、アイドル期間開始時からBECに至るまでのリーク電流によるエネルギー消失をさらに節減することが出来る点において、TB方式や特許文献1の電源制御回路又は電源制御方法よりも優れた電源制御回路又は電源制御方法を提供するものである。そして、その回路又は方法は、ハードウェア的にはTB方式の電源制御回路に予測フラグレジスタを追加して比較器及び電源遮断器に必要な変更を加えただけの簡易な構造にて実施可能なものである。このような簡易な構造がゆえに本願発明の電源制御回路又は電源制御方法にて消費されるエネルギーは限定的であり、本願発明によるエネルギー節減効果は特許文献1のそれよりも優れた結果となる。
【0029】
第三発明の電源制御回路及び第六発明の電源制御方法は、論理回路ブロックの温度に応じたBECを使用することによりさらにエネルギー効率を高めたものである。
【0030】
第四発明の電源制御回路及び第七発明の電源制御方法は、アイドル期間開始時において電源遮断を行わなかった場合において、アイドル期間がBECを超過した場合には電源遮断を行うことによりさらにエネルギー効率を高めたものである。
【図面の簡単な説明】
【0031】
【図1】細粒度パワーゲーティング技術の概念を表す図。
【図2】集積回路において論理回路ブロック毎に電源制御が行われていることを表した概念図。
【図3】TB方式の制御の手順を示すフロー図。
【図4】TB方式でエネルギーが節約される様子を時系列的に表した図。
【図5】実施例1の電源制御回路の大まかな処理の流れを表す概念図。
【図6】実施例1の電源制御回路のハードウェア構成図。
【図7】実施例2の電源制御回路の処理の流れを表すフロー図。
【図8】実施例2の電源制御の処理の流れを時系列的にTB方式のそれと比較して表わした図。
【図9】実施例3の電源制御回路のハードウェア構成図。
【図10】実施例4の電源制御回路の処理の流れを表すフロー図。
【図11】実施例8の電源制御回路における予測方式の概念図。
【図12】実施例2の電源制御回路の処理の流れを表すフロー図。
【発明を実施するための形態】
【0032】
実施例1は第一発明に関する。実施例2は第二発明に関する。実施例3は第三発明に関する。実施例4は第四発明に関する。実施例5は第五発明に関する。実施例6は第六発明に関する。実施例7は第七発明に関する。実施例8は第一発明に関する。
【0033】
なお、背景技術中、TB方式の電源制御回路における構成の説明は、本願発明の内容の特定に使用してはならないものとする。
【実施例1】
【0034】
<<実施例1の概要>>
【0035】
実施例1は、第一発明の電源制御回路に関する。
【0036】
図5は、実施例1の電源制御回路の大まかな処理の流れを表す概念図である。図3と同様に、上から下への時系列となっており、左側の丸のそれぞれがワン・クロックを意味している。白丸の部分がアイドル期間であり、黒丸の部分が非アイドル期間を意味する。第3クロックでアイドル期間が始まると、アイドルサイクルカウンタがアイドルサイクルのカウントを始める。アイドルサイクルカウンタはアイドル期間中アイドルサイクルのカウントを継続する。第10クロックでアイドル期間の終了が確認されると、アイドルサイクルのカウントは止まり、アイドルサイクルがBECと比較される。この比較の結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む。第12クロックで次のアイドル期間が始まると、予測フラグレジスタに保持された予測フラグが電源遮断処理に係るものである場合には電源遮断が直ちに行われ、逆に予測フラグが電源非遮断処理に係るものである場合には電源遮断を行わない。第17クロックでは、電源遮断中であれば電源が復帰される。
【0037】
このように、実施例1の電源制御回路は、各アイドル期間においてアイドルサイクルを計測し、アイドルサイクルとBECの比較を行い、その結果に応じて後のアイドル期間においてその開始時に電源遮断又は非遮断の操作を行う。以上では、一番目のアイドル期間の開始時にもそれ以前の履歴に応じて電源が遮断されうることや、二番目のアイドル期間においてもアイドルサイクルがカウントされることの説明は省略した。要するに、図4のような操作が重畳的に繰り返されるということである。そして、図4では過去1回の履歴に基づいて予測フラグを書き込む例を説明したが、過去数回の履歴に基づいて電源遮断処理又は電源非遮断処理を選択して予測フラグを立てる方法を除外する趣旨ではない。ただし、過去の履歴を多く保持しようとするとその数に応じて消費エネルギーが増加することは既に述べたところであり、望ましくは過去2回以内の履歴とするのがよい。
<<実施例1の構成>>
【0038】
第一発明の電源制御回路は、「命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御するための電源制御回路」である。「命令又はデータの入力に対して」行う「一定の処理」とは、加算、減算、乗算、論理演算などの演算を意味し、「論理回路ブロック」とは、そのような演算を行う加算器、減算器、乗算器、論理演算器等のことをいう。そしてそれらの演算は電子回路の同期をとるための「クロックに基づいて」行われる。そして、第一発明の電源制御回路は「複数の論理回路ブロックを有する半導体装置」を対象とする、細粒度パワーゲーティングを行うものであり、「アイドル期間中にその論理回路ブロックへの電源供給を制御する」ものである。
【0039】
図6は、実施例1の電源制御回路のハードウェア構成図である。電源制御回路0601は、BECレジスタ0602と、アイドルサイクルレジスタ0603と、予測フラグレジスタ0604と、アイドルサイクルカウンタ0605と、比較器0606と、電源遮断器0607とを有する。
【0040】
「BECレジスタ」は数値データを保持するためのメモリであり、「BECを保持する。」BECの意味については既に説明した。BECは定数であり、予めBECレジスタに記録される。「アイドルサイクルレジスタ」は数値データを保持するための揮発性メモリであり、「アイドルサイクルを保持する。」アイドルサイクルは変数であり、アイドルサイクルカウンタにより書き換えられる。「予測フラグレジスタ」も数値データを保持するための揮発性メモリであり、「予測フラグを保持する。」予測フラグも変数であり、比較器により書き換えられる。
【0041】
「アイドルサイクルカウンタ」は、「論理回路ブロック0608への命令又はデータの入力をクロック毎に検査」するため、入力信号線0609に接続される。そして、「入力を検知した場合にはアイドルサイクルレジスタをリセットし、入力を検知しない場合にはアイドルサイクルカウンタに加算する。」「比較器」は、「アイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタに保持されたBECとを比較して、比較結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む。」「電源遮断器」は、電源0610と論理回路ブロックの間に接続され、「アイドル期間が始まったときに、予測フラグレジスタに保持されている予測フラグに応じて電源供給を制御し、そのアイドル期間が終了したときに電源供給が予測フラグに基づいた処理により遮断されていた場合にはその論理回路ブロックへ電源を供給する。」
【0042】
実施例1の電源制御回路は、簡易な構造にてアイドル期間開始時からBECに至るまでのリークエネルギーをさらに節減することが出来る電源制御回路である。
【実施例2】
【0043】
<<実施例2の概要>>
【0044】
実施例2は、第二発明の電源制御回路に関する。
【0045】
実施例2の電源制御回路は、あるアイドル期間においてアイドルサイクルがBECを超えていた場合には次回のアイドル期間においてアイドル期間開始時に直ちに電源遮断を行い、そうでない場合には電源遮断を行わないことを特徴とする第一発明の電源制御回路である。
<<実施例2の構成>>
【0046】
第二発明の電源制御回路は、第一発明の電源制御回路であって、比較器はアイドルサイクルがBECを超えている場合には遮断フラグを予測フラグレジスタに書き込み、電源遮断器はアイドル期間が始まったときに遮断フラグが予測フラグレジスタに保持されている場合には電源を遮断することを特徴とする電源制御回路である。
【0047】
実施例2の電源制御回路のハードウェア構成は実施例1のそれと同様である。
【0048】
図7は、実施例2の電源制御回路の処理の流れを表すフロー図である。図2と同様、別個同時に並行処理されるものは並列的に記されている。まず、アイドルサイクルカウンタが、前記入力線からの信号入力があるかどうかを判断する(ステップ0701)。信号入力があった場合には、以下のステップ0702から0707までの処理を行い、入力信号がない場合には、ステップ0708から0710までの処理を行う。
【0049】
入力信号があった場合には、第一に、アイドルサイクルカウンタがアイドルサイクルレジスタをゼロにリセットし(ステップ0702)、第二に、前記論理回路ブロックへの電源供給が停止中であれば、電源遮断器が電源供給を復帰させる(ステップ0703)。第三に、比較器は、アイドルサイクルがゼロでないならば(このステップと前記ステップ0702とは並行処理であるから、この時点ではまだアイドルサイクルはゼロにリセットされていない)、アイドル期間終了直後の最初の非アイドル期間であると判断し(ステップ0704)、アイドルサイクルとBECの比較を行う(ステップ0705)。比較器は、アイドルサイクルがBECを超えている場合には予測フラグレジスタに電源遮断処理のトリガーとなるフラグである遮断フラグとして1を書きこみ(ステップ0706)、アイドルサイクルがBECを超えていない場合には予測フラグレジスタに電源非遮断処理のトリガーとなるフラグである非遮断フラグとして0を書き込む(ステップ0707)。
【0050】
ステップ0701で信号入力がなかった場合には、第一に、アイドルサイクルカウンタがアイドルサイクルレジスタに一を加算し(ステップ0708)、第二に、電源遮断器が、予測フラグレジスタに保持された予測フラグを取得し、これが遮断フラグを意味する1であると判断した場合(ステップ0709)、電源供給中であれば電源の遮断を行う(ステップ0710)。
【0051】
図8は、実施例2の電源制御の処理の流れを時系列的にTB方式のそれと比較して表わした図である。図4と同様に上から下へと時間が経過し、各行がワン・クロックにおける処理を表している。表中「BEC」、「ASR」、「PFR」の列の数値は、それぞれ、BECレジスタ、アイドルサイクルレジスタ、予測フラグレジスタに保持された数値を意味している。図4と同様、黒丸が非アイドル期間、白丸がアイドル期間を表している。ここでは、電源遮断なし、TB方式、HB方式の三つの「消費エネルギー」が比較されている。HB(History-Based)方式とは、実施例2の電源制御方式である。第2〜6クロックの最初のアイドル期間は予測のための期間として消費エネルギーの計算から除いてある。ここでの「BEC」は3と設定している。PFRの初期値は非遮断フラグを意味する0とした。なお、消費エネルギーの単位は図4と同様1クロックにおけるリークエネルギーの量である。
【0052】
HB方式の処理の流れを時系列的に見ると、第2〜6クロックの最初のアイドル期間では信号の入力がないとASRに毎回1が加算される(図7のステップ0701及び0708による)。第7クロックで最初のアイドル期間の終了を検知する(図7のステップ0701及び0704による)と、ASRとBECを比較して(図7のステップ0705による)、ASRがBECを超えているのでPFRを1に書き換える(図7のステップ0706による)。これと並行して、ASRが0にリセットされる(図7のステップ0701及び0702による)。ここで、注意を要するのは、BECとの比較に使われるASRはリセット前の、すなわち、一行前のASRということである。第8クロックで第二のアイドル期間が始まると、PFRの数値が1かどうかを調べ(図7のステップ0701及び0709による)、これが1であるため電源が遮断されている(図7のステップ0710による)。これとは反対に、第16クロックでは第三のアイドル期間においてASRがBECを超えなかったためPFRが0に書き換えられ、その結果第17クロックで第四のアイドル期間が開始されたときには電源遮断が行われていない。
【0053】
次に、TB及びHBの両方式の消費エネルギー節約の効果を見てみることにする。まず、第二のアイドル期間についてみると、TB方式では、第11〜12クロックにおいて電源遮断を行い、電源遮断がない場合と比べて2単位のエネルギーを節約しているが、第13クロックの電源復帰によるエネルギー・オーバーヘッドにより3単位のエネルギーを失い、結局電源遮断がない場合と比べて1単位多く失っている。これに対し、HB方式では第8〜12の全期間に渡って電源遮断を行った結果、失ったのはエネルギー・オーバーヘッドによる3単位のエネルギーのみであり、電源遮断を行わない場合と比べて2単位のエネルギー節約に成功している。
【0054】
次に、第三のアイドル期間についてみてみると、ここではHB方式の予測が外れてしまったために、電源遮断がない場合やTB方式では2単位のエネルギーを失っただけであるのに対し、HB方式ではエネルギー・オーバーヘッドにより3単位のエネルギーを失うという失敗に終わっている。
【0055】
このように、HB方式の電源制御方法が成功するかどうかは予測が的中するかどうかによる。実際の回路においてHB方式がTB方式と比較して有利かどうかの検証は後の<比較データ>で説明する。
【0056】
実施例2の電源制御回路は、簡易な構造にてアイドル期間開始時からBECに至るまでのリークエネルギーをさらに節減することが出来る電源制御回路である。
【実施例3】
【0057】
<<実施例3の概要>>
【0058】
実施例3は、第三発明の電源制御回路に関する。
【0059】
実施例3の電源制御回路は、第一発明又は第二発明の電源制御回路であって、さらに半導体の温度に応じたBECを使用することを特徴とする電源制御回路である。実施例1又は実施例2の電源制御回路では、一つに固定されたBEC(通常は室温でのBEC)に基づいて電源供給を制御していた。しかし、BECは温度変化に対して著しく変化する。これは、室温でのBECまでスリープ期間を数えることによって、高温時には潜在的なエネルギー削減効果を大きく失うことを意味する。第三発明の電源制御回路は、温度センサと温度依存のBECに基づく電源制御を導入することでこの欠点を克服するものである。
<<実施例3の構成>>
【0060】
第三発明の電源制御回路は、温度センサと、前記温度センサから取得した温度を所定の対応表又は関数に基づきBECへ変換して前記BECレジスタに書き込む変換器とをさらに備えた第一発明又は第二発明の電源制御回路である。
【0061】
図9は、実施例3の電源制御回路のハードウェア構成図である。実施例3の電源制御回路0901は、温度センサ0911と変換器0912をさらに有する点、BECレジスタ0902が変換器により書き換えられる点を除けば実施例1及び実施例2の電源制御回路と同様である。図中、「温度センサ」は電源制御回路の枠内にではなく論理回路ブロック0908の枠内に描かれているが、論理回路ブロックの温度を計測するために論理回路ブロックに設置することを表現するものであって、本発明の構成上は電気制御回路に含まれるものである。「温度センサ」は、半導体を利用して電気的に温度を計測する方式のものが集積回路に既に搭載され始めており、当発明においてもこれを使用することが出来る。温度センサにより計測された温度は「変換器」によりBECへ変換される。温度からその温度に相応しいBECへの変換は、「所定の対応表又は関数に基づき」行う。対応表による変換は、温度とBECを関連付けた対応表を変換器内部のメモリ等に保持しておき、これを参照することにより実現することが出来る。なお、対応表は,設計段階での回路シミュレーションによって予め用意しておく必要がある。関数による変換は、例えば、前記特許文献2の記述にあるような関数演算により行う。変換器は、変換により得たBECを「BECレジスタに書き込む。」
【0062】
なお、半導体における温度変化は緩やかに起こることから,温度変化の検出は10000サイクル位に一度の頻度で十分である。
【0063】
論理回路ブロックの温度に基づいて更新されたBECに基づいて行われる実施例3の電源制御回路の電源制御方法は、BECが変動する点を除けば実施例1及び実施例2の電源制御回路のそれと同様であり、BECの変動自体はその手順の変更を必要とするものではないから、説明を省略する。
【0064】
実施例3の電源制御回路は、論理回路ブロックの温度に適したBECを使って電源制御をおこなうことによりさらにエネルギー効率を高めた電源制御回路である。
【実施例4】
【0065】
<<実施例4の概要>>
【0066】
実施例4は、第四発明の電源制御回路に関する。
【0067】
第一発明乃至第三発明の電源制御回路においては、アイドル期間開始時に電源遮断を行わなかった場合において、その後アイドル期間が予想に反して長期に継続したときにはリーク電流によって多くのエネルギーを失う事態となる。請求項4に記載の第四発明は、そのような場合において、アイドルサイクルがBECを超えたときに電源を遮断することを特徴とするものである。
【0068】
再び、図8を用いて説明する。第21クロックに始まる第五のアイドル期間において、HB方式ではアイドル期間がBECを超えないと予想して電源遮断を行わなかった。しかし、その後アイドル期間は予想に反して8クロック継続し、その結果アイドル期間終了時点である第29クロックにおいてTB方式よりも、2単位多くエネルギーを消失している。実施例4の電源制御回路では、このような場合に、アイドルサイクルがBECを超えた時点で電源遮断を行って、エネルギーの消失を削減するものである。図8の例では、第24クロックにおいて電源遮断の操作を行うものとする。
<<実施例4の構成>>
【0069】
第五の発明の電源制御回路は、前記比較器はアイドルサイクルとBECの比較をクロック毎に行い、前記遮断器は、開始時において電源遮断を行わなかったアイドル期間において、アイドルサイクルがBECを超えたと前記比較器が判定した場合には、電源遮断を直ちに行うことを特徴とする第一発明乃至第三発明の電源制御回路である。
【0070】
第五発明の電源制御回路のハードウェア構成は、第一発明又は第二発明に従属する発明の場合においては図6を用いて説明したものと、第三発明に従属する発明の場合においては図9を用いて説明したものと同様である。
【0071】
図10は、実施例4の電源制御回路の処理の流れを表すフロー図である。なお、この図には実施例4の電源制御回路が論理回路ブロックの温度に応じてBECを更新する構成を含む場合における、当該構成に係る処理の流れは省略されている。また、図7と同様、別個同時に並行処理されるものは並列的に記されている。
【0072】
まず、アイドルサイクルカウンタが、前記入力線からの信号入力があるかどうかを判断する(ステップ1001)。信号入力があった場合には、ステップ1002から1007までの処理を行い、入力信号がいない場合には、ステップ1008から1011までの処理を行う。
【0073】
入力信号があった場合に行われるステップ1002から1007までの処理は、図7を用いて説明した実施例2の場合と同様であるので説明を省略する。
【0074】
ステップ1001で信号入力がなかった場合には、第一に、アイドルサイクルカウンタがアイドルサイクルレジスタに一を加算する(ステップ1008)。第二に、電源遮断器が、予測フラグレジスタに保持された予測フラグを取得し、これが遮断フラグを意味する1であると判断した場合(ステップ1009)、電源供給中であれば電源の遮断を行う(ステップ1010)。
ここまでは、図6を用いて説明した実施例2の場合と同様である。
【0075】
ステップ1009で予測フラグが遮断フラグを意味する1でなかった場合には、比較器がアイドルサイクルレジスタに保持されたアイドルサイクルと、BECレジスタに保持されたBECとを比較し(ステップ1011)、アイドルサイクルがBEC以上である場合には、電源供給中であれば電源の遮断を行う(ステップ1010)。この部分の処理が本実施例独自の構成である。
【0076】
なお、ステップ1011で比較に使用されるアイドルサイクルはステップ1008において加算される前の直前のクロックにおけるアイドルサイクルであって、これがBECに等しいときには、そのクロックにおいてはアイドルサイクルが既にBECを「超過したこと」を意味する。本実施例ではステップ1011においてアイドルサイクルがBEC以上であるかどうかの判定を行っている。しかし、アイドルサイクルに対して加算処理をした後にBECとの比較を行ったり、あるいは非アイドル期間においてアイドルサイクルを0にではなく1にリセットしたりするような構成をとれば、ステップ1011での比較はアイドルサイクルがBECを「超えたかどうか」の判定となる。このような相違は単なる設計事項であって、本発明を特定する構成中の「アイドルサイクルがBECを超えたと前記比較器が判定した場合」とは、アイドル期間が始まってから当該クロックまでのクロック数がBECを超えたと比較器が判定した場合というように実質的な意味に解するものとし、当実施例の回路設計に限定して解釈してはならない。
【0077】
実施例4の電源制御回路は、アイドル期間開始時において電源遮断を行わなかった場合において、アイドル期間がBECを超過した場合には電源遮断を行うことによりさらにエネルギー効率を高めたものである。
【実施例5】
【0078】
<<実施例5の概要>>
【0079】
実施例5は、第五発明の電源制御方法に関する。
【0080】
第五発明の電源制御方法は、第二発明の電源制御回路における電源制御方法である。その概要については実施例2で説明した。
<<実施例5の構成>>
【0081】
第五発明の電源制御方法は、アイドルサイクルカウントステップと、比較ステップと、電源遮断ステップと、電源復帰ステップとからなる。図7を再び用いて説明する。「アイドルサイクルカウントステップ」は、「アイドル期間中にクロック数をカウントする」ステップであり、ステップ0701、0702及び0708がこれに含まれる。「比較ステップ」は、「アイドル期間終了時にアイドルサイクルがBECを超過した場合には遮断フラグをレジスタに記録する」ステップであり、ステップ0704〜0707が含まれる。「電源遮断ステップ」は、「アイドル期間開始時に前記レジスタに遮断フラグが保持されている場合には前記論理回路ブロックへの電源供給を遮断する」ステップであり、0709及び0710が含まれる。「電源復帰ステップ」は、「アイドル期間終了時に前記論理回路ブロックへの電源供給が停止中であればこれを復帰させる」ステップであり、ステップ0703がこれに含まれる。
【0082】
実施例1の電源制御方法は、簡易な構造の電源制御回路を使ってアイドル期間開始時からBECに至るまでのリーク電流によるエネルギー消失をさらに節減することが出来る電源制御方法である。
【実施例6】
【0083】
<<実施例6の概要>>
【0084】
実施例6は、第六発明の電源制御方法に関する。
【0085】
第六発明の電源制御方法は、第三発明の電源制御回路における電源制御方法である。その概要については実施例3で説明した。
<<実施例6の構成>>
【0086】
第六発明の電源制御方法は、温度計測ステップと、変換ステップとをさらに有すること以外は、第五発明の電源制御方法と同様である。以下では、温度計測ステップと変換ステップについてのみ説明し、それ以外のステップについては説明を省略する。
【0087】
「温度計測ステップ」は、「前記論理回路ブロックの温度を計測する」ステップである。また、「変換ステップ」は、「前記温度計測ステップにより計測した温度を所定の対応表又は関数に基づきBECへ変換する」ステップである。これらの詳細については実施例3にて説明したので繰り返さない。なお、これらふたつのステップは、それ以外のステップと独立平行して実行することが出来る。
【0088】
実施例6の電源制御方法は、論理回路ブロックの温度に適したBECを使って電源制御をおこなうことによりさらにエネルギー効率を高めた電源制御方法である。
【実施例7】
【0089】
<<実施例7の概要>>
【0090】
実施例7は、第七発明の電源制御方法に関する。
【0091】
第七発明の電源制御方法は、第四発明の電源制御回路における電源制御方法である。その概要については実施例4で説明した。
<<実施例7の構成>>
第七発明の電源制御方法は、リミットステップをさらに有することを除き、第五発明又は第六発明の電源制御方法と同様である。「リミットステップ」は、「アイドル期間開始時に電源供給の遮断を行わなかったアイドル期間中において、その期間中のクロック数がBECを超過したクロックにおいて前記論理回路ブロックへの電源供給を直ちに遮断する」ステップであり、図10におけるステップ1011以下がこれに相当する。
【0092】
実施例7の電源制御方法は、アイドル期間開始時において電源遮断を行わなかった場合において、アイドル期間がBECを超過した場合には電源遮断を行うことによりさらにエネルギー効率を高めた電源制御方法である。
【実施例8】
【0093】
<<実施例8の概要>>
【0094】
実施例8は、第一発明の電源制御方法に関する。第一発明の電源制御回路には、アイドルサイクルとBECの比較の結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む構成が含まれる。実施例2乃至7はいずれも直前のアイドル期間における比較結果をもとに予測フラグを立てるものであった。本実施例では過去の複数回の履歴を用いて予測フラグをたてる例を紹介する。
【0095】
図11は、実施例8の電源制御回路における予測方式の概念図である。予測フラグレジスタには2ビットを使用し、0から3までの四つの値を予測フラグとして保持できるようにする。そして、アイドル期間終了時においてアイドルサイクルがBECを超えていた場合には予測フラグに1を加算し、そうでない場合には1を減算する。但し、予測フラグが既に3である場合には加算せず、あるいは予測フラグが既に0である場合には減算せず、そのままの数値とする。アイドル期間が始まるときには、この予測フラグを参照し、予測フラグが2又は3である場合には、電源を遮断し、0又は1である場合には、遮断を行わない。
【0096】
このように構成することにより、例えば、BECを超えるアイドル期間が複数回連続した後、一度だけBECを超えないアイドル期間が来て、またそのあとすぐBECを超えるアイドル期間が来るような場合、本実施例の電源制御回路では、予測フラグの値は3から2に変化し、また3に戻る。毎回、BECを超えると予測することになるので、予測が外れるのは1回だけである。これに対し、実施例2の電源制御回路では、予測が2回外れる。このように、2ビットの予測フラグレジスタを用意して過去の複数回の履歴を予測に利用することにより、予測が当たる確率を高めることが出来る。
<<実施例8の構成>>
【0097】
実施例8の電源制御回路のハードウェア構成は実施例1のそれと同様である。
【0098】
図12は、実施例8の電源制御回路の処理の流れを表すフロー図である。実施例2の電源制御回路と異なる部分のみを説明し、それ以外を省略する。異なるのは第一に、ステップ1205でアイドルサイクルとBECを比較した後の処理である。アイドルサイクルがBECを超える場合には、予測フラグが3より小さいかどうかを調べ、小さい場合には予測フラグに1を加算する(ステップ1206)。アイドルサイクルがBECを超えない場合には、予測フラグが0より大きいかどうかを調べ、大きい場合には、1を減算する(ステップ1207)。異なるもう一つの点は、ステップ1209において予測フラグが1と等しいかどうかではなく、2以上であるかどうかを調べる。そして2以上である場合には、電源の遮断を行う(ステップ1210)。
【0099】
実施例8の電源制御回路は過去の複数回の履歴をもとに予測を立てることにより、予測が当たる確率を高めた電源制御回路である。
<比較データ>
【0100】
実施例9では、本願発明の電源制御回路を実装したCPUと従来技術の電源制御回路を実装したCPUの消費エネルギーの比較データを提供する。
【0101】
評価を行うための集積回路として、ALU、シフタ、乗算器、除算器に動的な電源遮断を適用したMIPS R3000ベースのCPUチップを設計し、レイアウトから抽出したデータに基づいて実験と評価を行った。そして、アイドル期間のそれぞれの演算器の消費エネルギーを解析するために、市販の回路シミュレーターHsimを用いて回路レベルシミュレーションを行った。また、CPU全体のRTLモデルのVerilogシミュレーションを行った。Verilogシミュレーションは、(1)マルチメディア処理で使用されるDCT(離散コサイン変換)、(2)MiBenchに入っているクイックソートプログラム(QSORT)、(3)JPEGエンコードの3つのアプリケーションプログラムについて実行した。実行の際、現実的な時間内に実行するために入力データサイズを制限した。
【0102】
比較は、ATB(Adaptive Time-Base)方式、AHB(Adaptive History-Based)方式、AHB-LM方式の3方式の間で行った。ATB方式とは、従来技術で説明したTB方式に、温度に応じたBECを使用する構成を付加したものであり、AHB方式は実施例3の方式、すなわち、直前のアイドル期間がBECを超えたかどうかで次回の電源遮断の有無を決し、かつ、温度に応じたBECを使用するものである。AHB-LM方式は、実施例4の方式、すなわち、AHB方式に、アイドル期間開始時において電源遮断を行わなかったときにアイドルサイクルがBECを超えた時点で電源遮断を行う構成を付加した方式である。
【0103】
表1は比較試験の結果を表す表である。表中の数値は、AHB方式とAHB-LM方式それぞれを適用したときの消費エネルギーからATB方式適用時の消費エネルギーを引いた差を、ATB方式適用時の消費エネルギーで除したものである。まず、ATB方式とAHB方式の比較では、DCTでは,AHB方式は65℃と100℃の両方でATB方式よりも多くのエネルギーを削減した。これに対し,QSORTではAHB方式のエネルギー削減効果がATB方式よりも小さかった。QSORTではDCTと比べてアイドルサイクルがBECを超えなかったアイドル期間にアイドルサイクルがBECを超えるアイドル期間が続くケースが多く、電源遮断によるエネルギー削減機会が失われていることが原因であった。AHB-LM方式はこの問題を解決している。その結果QSORTにおいて,AHB-LM方式はATB方式よりも65℃で4%,100℃で3%の消費エネルギーを削減することができた。
<表1>
【0104】
細粒度電源遮断において、エネルギー削減効果がアプリケーションに依存することは知られており、ATB方式、AHB方式及びAHB-LM方式もその例外ではない。以上の比較テストでは、一定のアプリケーションにおいて、AHB方式がATB方式に比べてエネルギー削減効果があることが実証できた。この結果は、実施例2のHB方式を従来技術のTB方式と比べても同様であると考えられる。また、実施例4のAHB-LM方式は3方式の中で最も良いエネルギー削減効果を達成した。
【符号の説明】
【0105】
0601 電源制御回路
0602 BECレジスタ
0603 アイドルサイクルレジスタ
0604 予測フラグレジスタ
0605 アイドルサイクルカウンタ
0606 比較器
0607 電源遮断器
0608 論理回路ブロック
0609 入力線
0610 電源
【特許請求の範囲】
【請求項1】
命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御するための電源制御回路であって、
BECを保持するBECレジスタと、
アイドルサイクルを保持するアイドルサイクルレジスタと、
予測フラグを保持する予測フラグレジスタと、
前記論理回路ブロックへの命令又はデータの入力をクロック毎に検査し、入力を検知した場合には前記アイドルサイクルレジスタをリセットし、入力を検知しない場合には前記アイドルサイクルカウンタに加算するアイドルサイクルカウンタと、
アイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタに保持されたBECとを比較して、比較結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む比較器と、
アイドル期間が始まったときに、予測フラグレジスタに保持されている予測フラグに応じて電源供給を制御し、そのアイドル期間が終了したときに電源供給が予測フラグに基づいた処理により遮断されていた場合にはその論理回路ブロックへ電源を供給する電源遮断器と、
を有する電源制御回路。
【請求項2】
前記比較器は、アイドルサイクルがBECを超えている場合には遮断フラグを予測フラグレジスタに書き込み、
前記電源遮断器は、アイドル期間が始まったときに、遮断フラグが予測フラグレジスタに保持されている場合には電源を遮断する
ことを特徴とする請求項1に記載の電源制御回路。
【請求項3】
温度センサと、
前記温度センサから取得した温度を所定の対応表又は関数に基づきBECへ変換して前記BECレジスタに書き込む変換器と
をさらに備えた請求項1又は請求項2に記載の電源制御回路。
【請求項4】
前記比較器はアイドルサイクルとBECの比較をクロック毎に行い、
前記遮断器は、開始時において電源遮断を行わなかったアイドル期間において、アイドルサイクルがBECを超えたと前記比較器が判定した場合には、電源遮断を直ちに行うことを特徴とする請求項1乃至請求項3に記載の電源制御回路。
【請求項5】
命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御する電源制御方法であって、
アイドル期間中にクロック数をカウントするアイドルサイクルカウントステップと、
アイドル期間終了時にアイドルサイクルがBECを超過した場合には遮断フラグをレジスタに記録する比較ステップと、
アイドル期間開始時に前記レジスタに遮断フラグが保持されている場合には前記論理回路ブロックへの電源供給を遮断する遮断ステップと
アイドル期間終了時に前記論理回路ブロックへの電源供給が停止中であればこれを復帰させる電源復帰ステップと
からなる電源制御方法。
【請求項6】
前記論理回路ブロックの温度を計測する温度計測ステップと、
前記温度計測ステップにより計測した温度を所定の対応表又は関数に基づきBECへ変換する変換ステップ
をさらに有する請求項5に記載の電源制御方法。
【請求項7】
アイドル期間開始時に電源供給の遮断を行わなかったアイドル期間中において、その期間中のクロック数がBECを超過したクロックにおいて前記論理回路ブロックへの電源供給を直ちに遮断するリミットステップをさらに有する請求項5又は請求項6に記載の電源制御方法。
【請求項1】
命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御するための電源制御回路であって、
BECを保持するBECレジスタと、
アイドルサイクルを保持するアイドルサイクルレジスタと、
予測フラグを保持する予測フラグレジスタと、
前記論理回路ブロックへの命令又はデータの入力をクロック毎に検査し、入力を検知した場合には前記アイドルサイクルレジスタをリセットし、入力を検知しない場合には前記アイドルサイクルカウンタに加算するアイドルサイクルカウンタと、
アイドルサイクルレジスタに保持されたアイドルサイクルとBECレジスタに保持されたBECとを比較して、比較結果に応じて電源遮断処理又は電源非遮断処理のトリガーとなるフラグである予測フラグを予測フラグレジスタに書き込む比較器と、
アイドル期間が始まったときに、予測フラグレジスタに保持されている予測フラグに応じて電源供給を制御し、そのアイドル期間が終了したときに電源供給が予測フラグに基づいた処理により遮断されていた場合にはその論理回路ブロックへ電源を供給する電源遮断器と、
を有する電源制御回路。
【請求項2】
前記比較器は、アイドルサイクルがBECを超えている場合には遮断フラグを予測フラグレジスタに書き込み、
前記電源遮断器は、アイドル期間が始まったときに、遮断フラグが予測フラグレジスタに保持されている場合には電源を遮断する
ことを特徴とする請求項1に記載の電源制御回路。
【請求項3】
温度センサと、
前記温度センサから取得した温度を所定の対応表又は関数に基づきBECへ変換して前記BECレジスタに書き込む変換器と
をさらに備えた請求項1又は請求項2に記載の電源制御回路。
【請求項4】
前記比較器はアイドルサイクルとBECの比較をクロック毎に行い、
前記遮断器は、開始時において電源遮断を行わなかったアイドル期間において、アイドルサイクルがBECを超えたと前記比較器が判定した場合には、電源遮断を直ちに行うことを特徴とする請求項1乃至請求項3に記載の電源制御回路。
【請求項5】
命令又はデータの入力に対して一定の処理をクロックに基づいて行う複数の論理回路ブロックを有する半導体装置において、前記論理回路ブロックのいずれかへの命令又はデータの入力が行われない期間であるアイドル期間中にその論理回路ブロックへの電源供給を制御する電源制御方法であって、
アイドル期間中にクロック数をカウントするアイドルサイクルカウントステップと、
アイドル期間終了時にアイドルサイクルがBECを超過した場合には遮断フラグをレジスタに記録する比較ステップと、
アイドル期間開始時に前記レジスタに遮断フラグが保持されている場合には前記論理回路ブロックへの電源供給を遮断する遮断ステップと
アイドル期間終了時に前記論理回路ブロックへの電源供給が停止中であればこれを復帰させる電源復帰ステップと
からなる電源制御方法。
【請求項6】
前記論理回路ブロックの温度を計測する温度計測ステップと、
前記温度計測ステップにより計測した温度を所定の対応表又は関数に基づきBECへ変換する変換ステップ
をさらに有する請求項5に記載の電源制御方法。
【請求項7】
アイドル期間開始時に電源供給の遮断を行わなかったアイドル期間中において、その期間中のクロック数がBECを超過したクロックにおいて前記論理回路ブロックへの電源供給を直ちに遮断するリミットステップをさらに有する請求項5又は請求項6に記載の電源制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−186934(P2011−186934A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−53497(P2010−53497)
【出願日】平成22年3月10日(2010.3.10)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 発行所名 : 社団法人 電子情報通信学会 刊行物名 : 電子情報通信学会技術研究報告 発行日 : 平成22年1月21日
【出願人】(599016431)学校法人 芝浦工業大学 (109)
【Fターム(参考)】
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願日】平成22年3月10日(2010.3.10)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 発行所名 : 社団法人 電子情報通信学会 刊行物名 : 電子情報通信学会技術研究報告 発行日 : 平成22年1月21日
【出願人】(599016431)学校法人 芝浦工業大学 (109)
【Fターム(参考)】
[ Back to top ]