(57)【要約】【課題】  従来は電源遮断により停止する期間と電源遮断からの復帰に要する時間のトレードオフにより、電源遮断を実施するかを決定していたため、電源遮断の機会が減ってしまうことで、電力を下げることが出来なかった。【解決手段】  電源遮断からの復帰に要するオーバーヘッド時間を計測し、計測結果に応じて電源遮断からの復帰後にオーバーヘッドを挽回するように動作させることで品質と電力の両立を図る。【選択図】  図１
2019179315.tif 000002
【特許請求の範囲】
【請求項１】
個別に電源遮断と電源遮断状態からの復帰が可能な１つ以上の電源遮断ブロックと、
前記電源遮断ブロックの電源遮断状態への移行制御と電源復帰状態への移行制御を行う制御手段と、
前記電源遮断ブロックに対する電源復帰状態への移行制御の開始から終了までの移行期間を計測する計測手段を有し、
前記計測手段の計測結果に応じて、
前記電源遮断ブロックの電源復帰後の処理を制御することを特徴とする半導体の集積回路。
【請求項２】
前記電源復帰後の処理は共有リソースの調停であることを特徴とする請求項１の半導体の集積回路。
【請求項３】
前記電源復帰後の処理は電源遮断ブロックに対するクロック周波数であることを特徴とする請求項１の半導体の集積回路。
【請求項４】
前記共有リソースは前記電源遮断ブロックの外部にある共有バスであることを特徴とする請求項２の半導体の集積回路。
【請求項５】
個別に電源遮断と電源遮断状態からの復帰が可能な１つ以上の電源遮断ブロックと
前記電源遮断ブロックの電源遮断状態への移行制御と電源復帰状態への移行制御を行う制御手段と、
前記電源遮断ブロックに対する電源復帰状態への移行制御の開始から終了までの移行期間を計測する計測手段と、
電源復帰状態への移行の開始タイミングを複数生成する生成手段と、
前記生成手段で生成した開始タイミングから１つを選択する選択手段を有し、
前記計測手段の計測結果に応じて、前記選択手段で選択される開始タイミングを変えることを特徴とする半導体の集積回路。
【請求項６】
前記生成手段で生成される開始タイミングは、それぞれが時間的な間隔を持っていることを特徴とする請求項５の半導体の集積回路。
【請求項７】
個別に電源遮断と電源遮断状態からの復帰が可能な１つ以上の電源遮断ブロックと前記電源遮断ブロックの電源遮断状態への移行制御と電源復帰状態への移行制御を行う工程と、
前記電源遮断ブロックに対する電源復帰状態への移行制御の開始から終了までの移行期間を計測する計測工程を有し、
前記計測工程での計測結果に応じて、
前記電源遮断ブロックの電源復帰後の処理を制御することを特徴とする半導体の集積回路の制御方法。
【請求項８】
個別に電源遮断と電源遮断状態からの復帰が可能な１つ以上の電源遮断ブロックと前記電源遮断ブロックの電源遮断状態への移行制御と電源復帰状態への移行制御を行う工程と、
前記電源遮断ブロックに対する電源復帰状態への移行制御の開始から終了までの移行期間を計測する計測工程と、
電源復帰状態への移行の開始タイミングを複数生成する生成工程と、
前記生成工程で生成された開始タイミングから１つを選択する選択工程と、を有し、
前記計測工程での計測結果に応じて、前記選択工程で選択される開始タイミングを変えることを特徴とする半導体の集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路における電源遮断復帰時と復帰後の制御方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラやスマートフォンなどの携帯端末機器の高性能化、高機能化が進み、ＬＳＩの消費電力が増大しており、電力削減対策が急務である。
【０００３】
消費電力はダイナミック電力とリーク電力に分類され、ダイナミック電力は回路が動作している期間に消費する電力であり、リーク電力は回路が動作しているかどうかに関わらず電源が入っている状態で定常的に消費する電力である。
【０００４】
ダイナミック電力を削減する代表的な手法として、「クロック遮断（クロックゲーティング）」がある。「クロック遮断（クロックゲーティング）」については、クロックの動作状態から遮断状態、またはクロック遮断状態から動作状態へは１〜数クロックサイクルで移行出来、比較的容易に導入できる電力削減対策として知られている。
【０００５】
一方、リーク電力を削減する代表的な手法として、半導体集積回路のシステムの各機能を実現する各機能ブロックを電源遮断ブロックに分割し、各機能ブロックが担当する機能を使用していない期間に当該機能ブロックへの電源を遮断する、「電源遮断」がある。
【０００６】
この「電源遮断」の場合、ダイナミック電力の削減対策のクロック遮断の場合とは異なり、電源遮断状態への移行、電源遮断状態からの復帰時に、電源スイッチ制御、クロック制御、リセット制御、アイソレーション制御等の信号の制御を必要とする。この電源遮断移行シーケンス、電源復帰移行シーケンスは、周辺の電源遮断していないブロックへの影響を抑制し、電源遮断対象の機能ブロックが不安定な状態から処理を再開することを防ぐために必要となる。
【０００７】
一般的に一旦電源遮断状態に入れてから復帰するまでには回路規模にもよるが、数１０ｕｓから数１００ｕｓが必要となることが知られており、その大半の時間が電源スイッチの制御期間である。電源遮断状態に入った後、この電源遮断ブロックが次に何らかの処理を行う必要が生じた場合、そこからこの数１０ｕｓから数１００ｕｓの復帰時間を待ってからでないと処理を開始出来ないというデメリットがある。
【０００８】
従来は、この復帰に要する時間のオーバーヘッドを許容できる場合に限って電源遮断技術を適用していた。この復帰に要する時間のオーバーヘッドに着目した特許文献１では、このオーバーヘッド時間と電源遮断を継続できる時間とのトレードオフを考慮し、電源遮断を実施するかどうかを決定するとしている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−３４５６７１
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１の場合、電源遮断からの復帰時間が相対的に長い場合は効果が薄い（または逆効果）として電源遮断をあきらめていた。結果として、復帰に要する時間のオーバーヘッドを無くせるため、処理性能が低下する（復帰後の通常処理が完了する時間が遅れる）リスクは減らせることとなる。一方で電源遮断の機会が減ってしまうことで、電力削減効果が薄まってしまっていた。
【００１１】
本発明は上述した問題を解決するためになされたものであり、処理性能の低下を引き起こさずに電源遮断の機会を増やすことで電力削減を図ることを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明にかかる半導体集積回路は、個別に電源遮断と電源遮断状態からの復帰が可能な１つ以上の電源遮断ブロックと、前記電源遮断ブロックの電源遮断状態への移行制御と電源復帰状態への移行制御を行う電源制御処理部と、前記電源遮断ブロックに対する電源復帰状態への移行制御の開始から終了までの移行期間を計測する電源復帰移行期間計測手段を有し、前記電源復帰移行期間計測手段の計測結果に応じて、前記電源遮断ブロックの電源復帰後の処理内容を制御することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、性能を落とすことなく電源遮断の機会を増やすことで電力削減が可能となる。
【図面の簡単な説明】
【００１４】
【図１】実施形態１における情報処理装置１の構成例
【図２】実施形態１における電源遮断復帰制御部１０の内部構成
【図３】電源復帰移行シーケンスフローチャート（実施形態１，２共通）
【図４】電源遮断移行シーケンスフローチャート（実施形態１，２共通）
【図５】実施形態１における起動後処理制御部１０２の内部構成
【図６】実施形態１におけるカウンタ動作を中心としたタイミングチャート
【図７】実施形態１における一連の制御タイミングチャート
【図８】実施形態２における情報処理装置２の構成例
【図９】実施形態２における電源遮断復帰制御部１０００の内部構成
【図１０】実施形態２における次遮断時制御部１０２０の内部構成
【図１１】実施形態２におけるブロックＢ部分処理終了通知信号選択ルール
【図１２】実施形態２における一連の制御タイミングチャート
【発明を実施するための形態】
【００１５】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１６】
［実施形態１］
図１のブロック図により情報処理装置１の構成例を示す。情報処理装置１は例えばデジタルカメラシステム用情報処理装置であり、システムオンチップとよばれる半導体装置に代表される構成である。
【００１７】
情報処理装置１は、複数のバスマスタからバススレーブへのデータ転送を司るバスシステム１４を有しており、インターコネクト、ファブリック、オンチップネットワークまたはネットワークオンチップと呼ばれている。バスシステム１４には情報処理装置全般の処理を行うＣＰＵ１８が接続されている。また、情報処理装置１外部のセンサ（不図示）から映像データを受信し、バスシステム１４とメモリ制御部１６を介してＤＲＡＭ１５に受信した映像データを転送する映像入力処理部４１が接続されている。一方で、ＤＲＡＭ１５に格納されている映像データをバスシステム１４、メモリ制御部１６経由で受信し、外部の映像表示手段（不図示）へ映像データを転送する映像出力処理部４２も接続されている。また、一旦ＤＲＡＭ１５に格納された映像データを読み出し、加工処理しＤＲＡＭ１５へ書き戻す処理を機能ブロックＡ１２と機能ブロックＢ１３で担っているものとする。本実施形態では映像入力処理部４１により入力された映像データを機能ブロックＢ１３で加工処理し、さらに機能ブロックＡ１２で再加工したものを映像出力処理部４２で外部へ出力するものとする。
【００１８】
上記で説明したＣＰＵ１８、映像入力処理部４１、映像出力処理部４２、機能ブロックＡ１２、機能ブロックＢ１３は全て共有バスであるバスシステム１４上のバスマスタとして振る舞うこととなる。
【００１９】
一方、バスシステム１４には外部のＤＲＡＭ１５にデータを転送するメモリ制御部１６がバススレーブとして接続されており、各バスマスタからのメモリアクセス要求がバスシステム１４内で調停され、選択されたメモリアクセスをＤＲＡＭに対して発行する。ＣＰＵ１８はＤＲＡＭ１５をワークメモリとしてＲＯＭ（不図示）に格納されたプログラムを実行する。
【００２０】
情報処理装置１は内部の個々のブロックにクロックを供給するクロック制御部１７を有している。機能ブロックＡ１２、機能ブロックＢ１３、ＣＰＵ以外にも、図示はしていないが、映像入力処理部４１、映像出力処理部４２、バスシステム１４、メモリ制御部１６、ＤＲＡＭ１５、電源遮断復帰制御部１０に対してもクロック供給を行っているものとする。また、このクロック制御部１７では、機能ブロックＡ１２を省電力化するための仕組みを２つ有している。１つは機能ブロックＡ１２に供給するクロックＡ２３に対してクロックブースト信号３９で周波数を制御できる機構であり、もう１つはクロック遮断信号２４でクロック遮断を制御できる機構である。詳細については後述する。
【００２１】
一方で、機能ブロックＡ１２の別の省電力化の仕組みとして、電源遮断状態への移行制御と電源復帰状態への移行制御を司る電源遮断復帰制御部１０を有している。本実施形態では機能ブロックＡ１２のみを電源遮断対象とする。
【００２２】
電源遮断処理または電源遮断からの復帰処理を行う場合、電源スイッチオン・オフ要求信号２５、電源スイッチオン・オフ許可信号２６、クロック遮断信号２４、リセット信号２７、アイソレーション制御信号２８の各信号制御を必要とする。実際の制御手順については後述する。
【００２３】
本実施形態では機能ブロックＡ１２の初期状態は電源遮断状態であり、機能ブロックＢ１３が出力するブロックＢ部分処理終了通知信号２２をトリガーにして電源遮断からの復帰を行う。また、機能ブロックＡ１２が出力するブロックＡ終了割り込み信号４０をトリガーにして再度電源遮断状態に移行するために電源遮断を行う。
【００２４】
機能ブロックＡ１２に対する電源遮断からの復帰要求から、実際に電源遮断からの復帰が完了し、通常処理が開始できる状態になると、機能ブロックＡ１２へ通常処理起動通知３１がアサートされる。これを受けて機能ブロックＡ１２は通常処理を開始することとなる。この通常処理が開始されると、電源遮断復帰制御部１０は、機能ブロックＡ１２の通常処理中にクロックブースト信号３９をクロック制御部１７へ出力する。クロック制御部１７はこれを受けてクロック周波数を変更する制御を行う。また、電源遮断復帰制御部１０はバスシステム１４に対してバス調停信号３８を出力し、機能ブロックＡ１２のバス使用権についての制御を行う。
【００２５】
より具体的には、クロックブースト信号３９がアサートされている期間では、アサートされていない期間の周波数に対して、機能ブロックＡ１２のクロック２３の周波数を高周波数になるようにする。これにより電源復帰後の通常処理に要する処理時間を短縮することができる。
【００２６】
一方で、バス調停信号３８がアサートされている期間では、バスマスタである機能ブロックＡ１２のバス使用優先度を上げる。これにより電源復帰後の通常処理に要する処理時間を短縮することができる。
【００２７】
機能ブロックＡ１２の電源遮断移行シーケンスと電源復帰移行シーケンスを制御し、且つ電源復帰後の通常処理の性能に関する制御を行う電源遮断復帰制御部１０の内部構成を図２に示す。
【００２８】
電源遮断復帰全体制御部１０１はブロックＢ部分処理終了通知信号２２を電源復帰要求として受け付け、電源復帰移行シーケンスを実施する。また、ブロックＡ終了割り込み信号４０を電源遮断要求として受け付け、電源遮断移行シーケンスを実施する。これらのシーケンスの中で、クロック遮断信号２４、電源スイッチオン・オフ要求信号２５、リセット信号２７、アイソレーション制御信号２８を出力制御する。
【００２９】
機能ブロックＡ起動制御部１０３は電源遮断復帰全体制御部１０１から出力される電源復帰完了通知１０４を受けて、機能ブロックＡ１２の通常処理を開始するための通常処理起動通知３１を出力する。
【００３０】
また、起動後処理制御部１０２は電源復帰移行シーケンス時に、電源復帰開始通知１０５と電源復帰完了通知１０４を使用し、電源復帰に要した時間を測定する。さらに測定結果に応じて電源復帰後の機能ブロックＡ１２の通常処理の性能を制御するために、バスシステム１４に対してバス調停信号３８を出力し、機能ブロックＡ１２のバスシステム１４におけるバス使用権についての制御を行う。共有リソースである共有バスについての調停を行っている。また、クロック制御部１７に対してクロックブースト信号３９を出力し、機能ブロックＡ１２のクロック周波数の制御を行う。
【００３１】
図３のフローチャートにより電源遮断復帰全体制御部１０１が司る電源遮断ブロックの電源復帰移行シーケンスを説明する。機能ブロックＡは電源復帰シーケンス開始時パワーオフ（電源遮断）状態であり、電源は供給されていない（Ｓ０）。さらにクロックＡ２３は停止しており、アイソレーション制御信号２８は有効な状態である。電源遮断復帰全体制御部１０１は、ブロックＢ部分処理終了通知信号２２を受け付けると、これを電源復帰への移行要求とみなし、電源スイッチオン・オフ要求信号２５を介して機能ブロックＡ１２の電源スイッチを有効にして電源を供給開始する。このとき電源復帰開始通知１０５を出力する（Ｓ１）。電源スイッチについては電源スイッチオン・オフ要求信号２５を制御後、全ての電源スイッチがオンになるまで（電源スイッチオン・オフ許可信号２６が所定の状態に変換するまで）保持し、次のステップへは進まないようにする（Ｓ２）。
【００３２】
機能ブロックＡ１２の全体に電源が供給されると電源遮断復帰全体制御部１０１は、リセット信号２７をリセット解除（無効化）する（Ｓ３）。その後、アイソレーション制御信号２８を無効化する制御を行う（Ｓ４）。
【００３３】
アイソレーション制御信号２８の無効化が完了すると、クロック遮断されているクロックＡ２３を供給開始するためにクロック遮断信号２４を無効化（クロック供給）する（Ｓ５）。その後、電源復帰移行が完了したものとして、電源遮断復帰全体制御部１０１は電源復帰完了通知１０４をアサートする。以上で機能ブロックＡ１２の電源復帰移行シーケンスが完了し、機能ブロックＡ１２は通常処理が動作可能な状態となる（Ｓ７）。
【００３４】
図４のフローチャートにより電源遮断復帰全体制御部１０１が司る電源遮断ブロックの電源遮断シーケンスを説明する。機能ブロックＡ１２は電源遮断移行シーケンス開始時パワーオン状態であり、電源は供給されている。さらにクロックＡ２３は供給されており、アイソレーション制御信号２８は無効な状態である（Ｓ７）。電源遮断復帰全体制御部１０１は、電源遮断要求（ブロックＡ終了割り込み信号４０）を受け付けると、電源遮断移行シーケンスを開始し、まずクロック遮断信号２４を有効化（クロック供給を遮断）する（Ｓ１１）。その後、アイソレーション制御信号２８を有効化する制御を行う（Ｓ１２）。この有効化が完了すると、リセット信号２７を有効にし、リセット状態に入れる（Ｓ１３）。
【００３５】
リセット信号２７の有効化が完了すると、機能ブロックＡ１２に対して電源スイッチオン・オフ要求信号２５を無効（電源遮断）にする（Ｓ１４）。電源スイッチについては電源スイッチオン・オフ要求信号２５を制御後、全ての電源スイッチがオフになるまで（電源スイッチオン・オフ許可信号２６が所定の状態に変換するまで）保持し、次のステップへは進まないようにする（Ｓ１５）。
【００３６】
機能ブロックＡ１２の電源が遮断されると電源遮断移行シーケンス完了を通知する（Ｓ１６）。
【００３７】
以上で機能ブロックＡ１２の電源遮断移行シーケンスが完了し、機能ブロックＡ１２は電源が遮断された状態となる（Ｓ０）。
【００３８】
なお、図３と図４で説明したシーケンスは一例であり、回路の動作を不安定にさせずに電源遮断復帰を実現できる範囲で各ステップの実行順番を入れ替えたり、スキップしたりしてもよい。
【００３９】
図５に電源遮断復帰制御部１０内の起動後処理制御部１０２の内部構成について説明する。
【００４０】
移行期間計測部２００は、電源復帰要求（電源復帰開始通知１０５）から、電源復帰が完了（電源復帰完了通知１０４）し、通常処理へ移行できる状態になるまでの期間を内部のカウンタである移行期間計測カウンタ２０５により計測する。このカウンタの出力値（移行期間計測カウンタ値２０３）を挽回期間計測部２０２に対して出力する。挽回期間計測部２０２は電源復帰完了通知１０４のタイミングに同期して、この移行期間計測カウンタ値２０３を計測結果として内部の挽回期間計測カウンタ２０６にロードする。挽回期間計測カウンタ２０６は、機能ブロックＡ１２が電源遮断からの復帰後、通常動作を始めるとカウントダウンをはじめ、このカウントダウン期間で後段の挽回制御選択回路２０１へ挽回制御選択信号２０４を出力する。挽回制御選択部２０１はこの挽回制御選択信号２０４を受けて、クロックブースト信号３９をアサートするか、バス調停信号３８をアサートするか、もしくは両方をアサートするかを予め決められた設定（不図示）によって決定する。移行期間の計測から挽回制御選択信号のアサートは電源遮断からの復帰が行われる度に実施されるものとする。よって、機能ブロックＡ１２が断続的に電源遮断と電源復帰、通常処理を繰り返し、また移行期間が都度変わってしまう場合でもそれに応じて挽回制御選択信号２４はその期間に応じてアサートされることとなる。
【００４１】
図５の起動後処理制御部１０２をベースに、２つのカウンタと最終的に生成されるクロックブースト信号３９とバス調停信号３８の詳細な動作について図６のタイミングチャートを用いて説明する。波形の０時間（Ｔ１１）においては、機能ブロックＡ１２は電源遮断状態にあるものとする。このとき、２つのカウンタ（移行期間計測カウンタ２０５、挽回期間計測カウンタ２０６）の初期値は０であり、挽回制御選択信号２０４、クロックブースト信号３９、バス調停信号３８は０（非アクティブ状態）である（Ｔ１１）。ブロックＢ部分処理終了通知２２が入力されると、次サイクルで電源復帰開始通知１０５が出力される（Ｔ１２）。
【００４２】
電源復帰開始通知１０５が入ると、移行期間計測カウンタ２０５のカウントアップが開始され、電源復帰移行シーケンスが完了し、電源復帰完了通知１０４がアサートされるまで（Ｔ１２−Ｔ１３）、カウントアップを続ける。また、電源復帰完了通知１０４がアサートされるタイミングで、移行期間計測カウンタ２０５のカウント値を挽回期間計測カウンタにロードすると同時に、移行期間計測カウンタ２０５は０クリアされる（Ｔ１３）。一旦カウント値がロードされた後の挽回期間計測カウンタ２０５は、通常処理起動通知３１が入力されると（Ｔ１４）、カウントダウンを開始し、０になるまでカウントダウンを継続する。このカウントダウンの期間において挽回制御選択信号２０４がアサートされる（Ｔ１４−Ｔ１５）。この挽回制御選択信号は移行期間と同じ期間だけアサートされることとなる。
【００４３】
この移行期間によって生じたオーバーヘッドを挽回するためにＴ１４−Ｔ１５期間でクロックブースト信号３９をアサートし、クロック制御部１７に機能ブロックＡのクロック周波数を２倍にする指示を与える。また、周波数を上げるだけでは挽回が不可能な場合にはバス調停信号３８をアサートし、バスシステム１４内の調停回路で機能ブロックＡ１２のバス使用優先度を上げるように指示する。このタイミングチャートではクロックブースト信号３９とバス調停信号３８は両方アサートされているが、いずれかにするか両方にするかは予め設定されているものとする。
【００４４】
このクロック制御方法については一例であり、クロック周波数を２倍にするのではなく、クロック周波数を４倍にしてクロックブースト期間を半分にするということも可能である。この場合は移行期間計測カウンタ２０５のカウンタ値をそのまま挽回計測カウンタにロードするのではなく、１／２倍してロードする必要がある。
【００４５】
バス調停方法については、バス調停信号３８がアサートされている期間、機能ブロックＡのバス使用優先度を最優先にする、あらかじめ設定している優先度より１ランク上げる、等様々な実装が考えられる。
【００４６】
機能ブロックＡ１２と機能ブロックＢ１３の全体の処理を含めて、電源遮断からの復帰後、期間を限定して周波数を上げることで復帰に要するオーバーヘッドを挽回する例を図７のタイミングチャートを用いて説明する。
【００４７】
機能ブロックＢ１３は外部のＤＲＡＭ１５からメモリ制御部１６経由でデータを受信し、データの加工を行った後に、ＤＲＡＭ１５に対して書き戻すものとする。機能ブロックＢ１３がある程度のデータの格納が終わった後に、機能ブロックＡ１２に対して通知を行うことで、機能ブロックＡ１２はＤＲＡＭ１５からデータのリードを開始し、データの加工を行う。加工後はＤＲＡＭ１５へ格納する。機能ブロックＢ１３はこの期間も引き続きＤＲＡＭ１５へのアクセスとデータ加工を継続する。よって、機能ブロックＡ１２のＤＲＡＭアクセスと機能ブロックＢ１３のＤＲＡＭアクセスはバスシステム１４上で競合することになる。
【００４８】
図７のタイミングチャートに示すように、機能ブロックＢ１３は常に動作し続ける（ブロックＢ動作状態＝通常処理）のに対し、機能ブロックＡ１２は断続的に動作する（ブロックＡ動作状態＝アイドル状態と通常処理の繰り返し）。
【００４９】
Ｔ０−Ｔ１の期間では機能ブロックＢ１３は通常処理を行っており、ＤＲＡＭ１５へのデータアクセスを行っている。この期間ブロックＡ１２はアイドル状態にあり、且つ電源オフ、クロックオフの状態にある。Ｔ１で機能ブロックＢ１３の一定量の処理が完了すると、ブロックＢ部分処理終了通知信号２２がアサートされる。これを受け電源遮断復帰制御部１０内の電源遮断復帰全体制御部１０１は電源復帰開始通知１０５をアサートし、電源復帰移行シーケンス（図３）に則り、電源スイッチオン・オフ制御、クロック制御、リセット制御、アイソレーション制御２４〜２８を行う。
【００５０】
Ｔ２で電源スイッチオン・オフ要求信号２５をアサートした後、Ｔ３で電源スイッチオン・オフ許可信号２６がアサートされると、電源スイッチが全てオン状態になったこととなる。その後Ｔ３−Ｔ４期間でリセット信号２７の解除、アイソレーション制御２８の無効化、クロックＡに関しクロック遮断信号２４の無効化（クロック供給開始）を行う。ここまで終わると電源復帰移行シーケンス（図３）が完了したことになり、いつでも機能ブロックＡ１２は通常処理を開始できる状態になったことになる。このＴ２からＴ４までの期間を電源復帰移行期間とみなし、移行期間計測カウンタ２０５を用いてカウントアップする。Ｔ４まで到達すると電源復帰完了通知１０４がアサートされ、このタイミングで移行期間計測カウンタ２０５の値を挽回期間計測カウンタ２０６にコピーする。その後、通常処理起動通知３１がアサートされたタイミングで挽回期間計測カウンタ２０６がカウントダウンを開始し、０になるまで継続する。このカウントダウンが行われる期間でクロックブースト信号３９がアサートされることになる（Ｔ４−Ｔ５）。クロックブースト信号３９がアサートされると、挽回制御選択回路２０１は機能ブロックＡ１２用のクロックの周波数を通常時の２倍の８００ＭＨｚにする。クロックブースト信号３９がデアサートの期間のクロック周波数は４００ＭＨｚである。
【００５１】
機能ブロックＡ１２が通常動作を終え、ブロックＡ割り込み信号４０をアサートすると、電源遮断移行シーケンス（図４）を開始する（Ｔ６）。本提案は電源復帰時のオーバーヘッド処理に関するものであるので、これ以降の電源遮断以降に関する詳細なタイミングチャートの説明については割愛する。
【００５２】
一旦電源遮断状態に入り、再度電源復帰に戻る処理はＴ１−Ｔ５の処理を繰り返すことになる。ただし、電源遮断からの移行期間を計測し直し、これに応じてクロックブースト信号３９、バス調停信号３８は制御されることになる。よって、電源遮断からの復帰時間が温度条件などで変化する場合にも対応できる。
【００５３】
本実施形態では移行期間計測カウンタ２０５と挽回期間計測カウンタ２０６を個別に設けたが、排他的に動作するものであるので、回路規模削減のために共通化して時分割で制御するようにしてもよい。
【００５４】
電源遮断からの復帰に要した時間だけ通常処理の開始が遅延し、結果として全体の処理が完了する時間が遅れてしまうという課題に対して、本実施形態では復帰後の通常処理の性能を挽回することで対応した。これにより性能を落とすことなく、貴重な電源遮断の機会を確保し省電力化が可能となる。
【００５５】
［実施形態２］
電源遮断からの復帰に要する時間について別の挽回方法を可能にする構成を図８のブロック図を用いて説明する。実施形態１の図１と大半は同じなので、差異に限定して説明する。
【００５６】
機能ブロックＢ１３００から複数のブロックＢ部分処理終了通知候補信号（２２−０，２２−１，２２−２，２２−３，２２−４）が電源遮断復帰制御部１０００に出力される。これらの候補信号は電源遮断状態からの移行に際し、その移行開始タイミングの候補として複数生成される。
【００５７】
電源遮断復帰制御部１０００内部でこの候補信号から１つを選択し電源遮断からの復帰を行うこととなる。
【００５８】
ブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）は、本来の機能ブロックＢ１３００の部分処理の完了タイミングで生成される候補信号（２２−０）を基準にして、時間的に間隔を持って生成されているものである。具体的には一定時間間隔（約１０ｕｓ毎）で前倒し出力されるようになっている。例えば、ブロックＢ部分処理終了通知候補信号２２−１はブロックＢ部分処理終了通知候補信号２２−０に対して１０ｕｓ前倒し、２２−１は２０ｕｓ前倒し、のように出力制御される。電源遮断からの復帰期間に応じて、電源遮断からの復帰タイミングを早めるように、これらの候補信号から適切なタイミングを選択することで、機能ブロックＡの全体の処理を早めることが出来る。
【００５９】
図９に電源遮断復帰制御部１０００の内部構成について示す。次遮断復帰制御部１０２０はブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）から１つの通知信号を選択し、ブロックＢ部分処理終了通知信号２２として、後段の電源遮断復帰全体制御部１０１に出力する。この電源遮断復帰全体制御部１０１と機能ブロックＡ起動制御部１０３は実施形態１と同じなので説明を割愛する。
【００６０】
図１０に電源遮断復帰制御部１０内の次遮断時制御部１０２０の内部構成について説明する。
【００６１】
移行期間計測部２００は、実施形態１と同様で、電源復帰が開始（電源復帰開始通知１０５）されてから、電源復帰が完了（電源復帰完了通知１０４）し通常処理へ移行できる状態になるまでの期間を計測する。この計測は、内部のカウンタである移行期間計測カウンタ２０５により計測する。このカウンタの出力値（移行期間計測カウンタ値２０３）を復帰信号選択部２０１０に対して出力する。復帰信号選択部２０１０は電源復帰完了通知１０４のタイミングに同期して、移行期間計測カウンタ値２０３を内部の移行期間計測値レジスタ（不図示）に取り込む。このレジスタに取り込んだ値に応じて、ブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）から１つを選択し、ブロックＢ部分処理終了通知信号２２を出力することになる。
【００６２】
図１１にこのブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）の選択方法について説明する。移行期間計測カウンタ値２０３の値によって、選択する信号を変更する。この表では、１０ｕｓ刻みでどのブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）を選択するかが決められている。例えば、カウンタ値が１５ｕｓであれば、ブロックＢ部分処理終了通知候補信号２２−１を選択して、ブロックＢ部分処理終了通知信号２２として出力することになる。そのときのブロックＢ部分処理終了通知選択信号（不図示）は１である。
【００６３】
電源遮断からの復帰を前倒しする例について、図８のシステム構成を元に図１２のタイミングチャートを用いて説明する。ここでは機能ブロックＡ１２と機能ブロックＢ１３００の動作に着目し、ＣＰＵや映像入力部４１、映像出力処理部４２の振る舞いについては割愛する。
【００６４】
Ｔ２０−Ｔ２１の期間では機能ブロックＢ１３００は通常処理を行っており、ＤＲＡＭ１５へのデータアクセスを行っている。この期間、機能ブロックＡはアイドル状態にあり、且つ電源オフ、クロックオフの状態にある。Ｔ２２で機能ブロックＢ１３００の一定量の処理が完了したことでブロックＢ部分処理終了通知候補信号２２−０がアサートされる。また、機能ブロックＢ１３００からはこの信号のアサートの約１０ｕｓ前にブロックＢ部分処理終了通知候補信号２２−１、約２０ｕｓ前にブロックＢ部分処理終了通知候補信号２２−２、約３０ｕｓ前にブロックＢ部分処理終了通知候補信号２２−３、約４０ｕｓ前にブロックＢ部分処理終了通候補知信号２２−４もアサートできるような構成になっている（Ｔ２１−Ｔ２２）。機能ブロックＢ１３００はこれらの信号を生成するために、ブロックＢ部分処理終了通知候補信号２２−０を基準にして、処理の途中の状態でもこれらの通知信号を生成できるように作られてなければならない。
【００６５】
初期状態ではブロックＢ部分処理終了通知選択信号は０であり、前倒しでないブロックＢ部分処理終了通知候補信号２２−０をブロックＢ部分処理終了通知信号２２として使用することになる（Ｔ２２）。その後、電源遮断からの復帰が行われている期間で、移行期間計測カウンタ２０５を用いて電源復帰移行シーケンスの最後までカウントアップし（Ｔ２３−Ｔ２４）する。さらに電源復帰完了通知１０４のアサートタイミングで、カウント値は移行期間計測値レジスタに格納される。このレジスタに格納された値が示す期間に応じてブロックＢ部分処理通知選択信号がアサートされる。このタイミングチャートの場合、移行期間計測値レジスタは２５ｕｓを示しているため、図１１で示したルールに則り、ブロックＢ部分処理通知選択信号は２となり、ブロックＢ部分処理終了通知候補信号２２−２が選択される（Ｔ２６）。
【００６６】
最初の電源遮断からの復帰では、前倒しされていないブロックＢ部分処理終了通知候補信号２２−０が電源遮断からの復帰要求として使用された（Ｔ２２）。２回目の電源遮断からの復帰では、ブロックＢ部分処理終了通知候補信号２２−２が使用される（Ｔ２６）。これにより、前倒しがないブロックＢ部分処理終了通知候補信号２２−０を使用した場合に比べて約２０ｕｓ電源復帰移行を前倒しできることになる。最初の電源遮断からの復帰に要した期間を反映した形で、次の電源遮断からの復帰を早めることが出来るようになる。その結果として、機能ブロックＡ１２の全体にかかる処理の終了を早めることができるようになる。
【００６７】
また機能ブロックＡ１２がアイドル状態と通常処理を断続的に繰り返すような処理の場合は、移行期間の計測を毎回行い、それを次の移行期間に反映できるため、電源遮断からの復帰時間が温度条件などで変化する場合にも対応できる。
【００６８】
ブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）についてはさらに細かい時間粒度で出力できるように候補数を増やすことでよりこまめな制御ができるようになる。
【００６９】
また、電源遮断からの移行期間の測定と測定結果に基づくブロックＢ部分処理終了通知候補信号（２２−０〜２２−４）の選択を毎回行うのでなく、複数回測定した結果から統計的に候補信号を選択するという方法を採用してもよい。
【００７０】
電源遮断からの復帰に要した時間だけ通常処理の開始が遅延し、結果として全体の処理が完了する時間が遅れてしまうという課題に対して、本実施形態では移行に要した期間に応じて、電源遮断からの復帰時のトリガーを前倒しすることで対応した。これにより前倒ししない場合に比べて全体処理の完了が早まることになり、性能を落とすことなく、貴重な電源遮断の機会を確保し省電力化が可能となる。
【００７１】
説明した実施形態１、実施形態２は、本発明の原理、実際の適用例を簡単に説明し、他の当業者が本発明を理解できるようにするために説明したものである。様々な変更が施された他の実施形態が、特定の用途に適していることがあり得るが、それらは本発明の範囲内に含まれるものである。
【００７２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７３】
１  情報処理装置
１０  電源遮断復帰制御部
１２  機能ブロックＡ
１３  機能ブロックＢ
１４  バスシステム
１５  ＤＲＡＭ
１６  メモリ制御部
１７  クロック制御部
１８  ＣＰＵ
２２  ブロックＢ部分処理終了通知信号
２３  機能ブロックＡ用クロックＡ
２４  クロック遮断信号
２５  電源スイッチオン・オフ要求信号
２６  電源スイッチオン・オフ許可信号
２７  リセット信号
２８  アイソレーション制御信号
３１  通常処理起動通知
３８  バス調停信号
３９  クロックブースト信号
４０  ブロックＡ終了割り込み信号
４１  映像入力処理部
４２  映像出力処理部
【図１】
2019179315.tif 000003
【図２】
2019179315.tif 000004
【図３】
2019179315.tif 000005
【図４】
2019179315.tif 000006
【図５】
2019179315.tif 000007
【図６】
2019179315.tif 000008
【図７】
2019179315.tif 000009
【図８】
2019179315.tif 000010
【図９】
2019179315.tif 000011
【図１０】
2019179315.tif 000012
【図１１】
2019179315.tif 000013
【図１２】
2019179315.tif 000014