(57)【要約】【課題】機能ブロック毎にアクセスがない期間を精度よく予測し、アクセスがない期間にその機能ブロックの電源を制御する半導体装置及び半導体装置の電源制御方法を提供する。【解決手段】基幹バスと、基幹バスに接続された複数の機能ブロックと、基幹バスをモニタし、基幹バス上のデータから機能ブロック毎に当該機能ブロックに対するアクセスの終了アドレスと、次に当該機能ブロックに対してアクセスがあるまでのアクセス間隔を抽出し、当該終了アドレスにアクセスがあったときに、当該機能ブロックの電源を遮断し、アクセス間隔の経過する時に当該機能ブロックへのアクセスが可能となるように当該機能ブロックの電源をアクセス間隔の経過前に立ち上げ開始する。【選択図】図２
2010262362.tif 000002
【特許請求の範囲】
【請求項１】
基幹バスと、
前記基幹バスに接続された複数の機能ブロックと、
前記基幹バスをモニタし、前記基幹バス上のデータから前記機能ブロック毎に当該機能ブロックに対するアクセスの終了アドレスと、次に当該機能ブロックに対してアクセスがあるまでのアクセス間隔を抽出し、当該終了アドレスにアクセスがあったときに、当該機能ブロックの電源を遮断し、前記アクセス間隔の経過する時に当該機能ブロックへのアクセスが可能となるように当該機能ブロックの電源を前記アクセス間隔の経過前に立ち上げ開始するように制御するバスモニタと、
を備えることを特徴とする半導体装置。
【請求項２】
前記アクセス間隔は、当該機能ブロックの終了アドレスにアクセスした後、次に当該機能ブロックにアクセスがあるまでの最短期間であることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記バスモニタは、
前記基幹バス上のデータから前記機能ブロック毎に当該機能ブロックに対するアクセスの終了アドレスと、次に当該機能ブロックに対してアクセスがあるまでのアクセス間隔を抽出するアクセス入力間隔計測部と、
前記抽出したアクセスの終了アドレスとアクセス間隔とを記憶する記憶テーブルと、
前記記憶テーブルに記憶されたデータに基づいて、各機能ブロックの電源制御を行うモード切替実行部と、
を備えることを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
前記バスモニタは、機能ブロック毎のアドレス範囲と機能ブロック毎の電源立ち上がりに必要な時間とを含む情報が格納されたコントロールレジスタを備え、
前記コントロールレジスタの機能ブロック毎のアドレス範囲から前記基幹バス上のデータがどの機能ブロックに対するアクセスか識別し、
前記コントロールレジスタの機能ブロック毎の電源立ち上がりに必要な時間情報を用いて前記機能ブロックの電源を立ち上げ開始するタイミングを決定することを特徴とする請求項３記載の半導体装置。
【請求項５】
前記記憶テーブルはテンポラリ記憶テーブルと、アドレス情報記憶テーブルと、を備え、
前記アクセス入力間隔計測部は、前記テンポラリ記憶テーブルに記憶した前記終了アドレス及び前記アクセス間隔に再現性があるか否かを確認し、再現性があるデータについて前記アドレス情報記憶テーブルに登録を移し、
前記モード切替実行部は、前記アドレス情報記憶テーブルに登録されたアクセスの終了アドレスとアクセス間隔に基づいて、各機能ブロックの電源制御を行うことを特徴とする請求項３又は４記載の半導体装置。
【請求項６】
前記アクセス入力間隔計測部は、機能ブロック毎に最後にアクセスしたアドレスとその機能ブロックに対して次にアクセスがあるまでの時間を計測し、前記最後にアクセスしたアドレスが前記テンポラリ記憶テーブルに記憶した終了アドレスと一致した場合は、当該終了アドレスに対応してテンポラリ記憶テーブルに記憶された前記アクセス間隔と、前記アクセス入力間隔計測部が計測した次にアクセスがあるまでの時間を比較し、短い方の時間により前記アクセス間隔を更新することを特徴とする請求項５記載の半導体装置。
【請求項７】
前記モード切替実行部は、前記アドレス情報記憶テーブルに記憶するアドレスへのアクセスを検出した場合に、当該アドレスへのアクセス回数が所定の回数を満たない場合、又は、前記アクセス間隔が前記コントロールレジスタに記憶する当該機能ブロックの電源立ち上がりに必要な時間を下回る場合は、当該機能ブロックの電源の遮断を行わずに、当該機能ブロックのクロックを停止することを特徴とする請求項５又は６記載の半導体装置。
【請求項８】
前記各機能ブロックには、電源スイッチが設けられ、
前記モード切替実行部は、前記各機能ブロックに設けられた電源スイッチの導通／遮断を制御することにより前記電源の遮断と立ち上げを制御することを特徴とする請求項３乃至７いずれか１項記載の半導体装置。
【請求項９】
それぞれ独立して電源をオンオフすることが可能な複数の機能ブロックが共通のバスに接続された半導体装置において、
前記バス上のデータをモニタし、前記機能ブロック毎に当該機能ブロックに対するアクセスの終了アドレスと、次に当該機能ブロックに対してアクセスがあるまでのアクセス間隔を抽出するステップと、
前記終了アドレスにアクセスがあったときに、当該機能ブロックの電源を遮断するステップと、
前記アクセス間隔の経過する時に当該機能ブロックへのアクセスが可能となるように当該機能ブロックの電源を前記アクセス間隔の経過前に立ち上げ始めるステップと、
を含むことを特徴とする半導体装置の電源制御方法。
【請求項１０】
前記半導体装置は、前記電源制御を行う終了アドレスとアクセス間隔を記憶するアドレス情報記憶テーブルと、その候補となる終了アドレスとアクセス間隔を記憶するテンポラリ記憶テーブルと、を備え、
前記テンポラリ記憶テーブルに記憶されたアクセス間隔と前記アドレス情報記憶テーブルに記憶されたアクセス間隔とを比較し、テンポラリ記憶テーブルに記憶したアクセス間隔の方が大きい場合は、前記アドレス情報記憶テーブルに記憶された終了アドレスとアクセス間隔を前記テンポラリ記憶テーブルに記憶された終了アドレスとアクセス間隔に入れ替えるステップをさらに含むことを特徴とする請求項９記載の半導体装置の電源制御方法。
【請求項１１】
機能ブロック毎に最後にアクセスしたアドレスとその機能ブロックに対して次にアクセスがあるまでの時間を計測し、前記最後にアクセスしたアドレスが前記アドレス情報記憶テーブル及び前記テンポラリ記憶テーブルのいずれに記憶された終了アドレスとも一致せず、前記テンポラリ記憶テーブルに記録されているアクセス間隔より前記次にアクセスがあるまでの時間が大きい場合は前記テンポラリ記憶テーブルに記憶された前記終了アドレスと前記アクセス間隔を前記計測されたアドレスと時間により入れ替えるステップをさらに含むことを特徴とする請求項１０記載の半導体装置の電源制御方法。
【請求項１２】
機能ブロック毎に最後にアクセスしたアドレスとその機能ブロックに対して次にアクセスがあるまでの時間を計測し、前記最後にアクセスしたアドレスが前記テンポラリ記憶テーブルに記憶された終了アドレスに一致し、前記次にアクセスがあるまでの時間が当該終了アドレスに対応するアクセス間隔より小さければ、当該アクセス間隔を前記計測した次にアクセスがあるまでの時間により更新するステップをさらに含むことを特徴とする請求項１０又は１１記載の半導体装置の電源制御方法。
【請求項１３】
機能ブロック毎に最後にアクセスしたアドレスとその機能ブロックに対して次にアクセスがあるまでの時間を計測し、前記最後にアクセスしたアドレスが前記アドレス情報記憶テーブルに記憶された終了アドレスに一致し、前記次にアクセスがあるまでの時間が当該終了アドレスに対応するアクセス間隔より小さければ、当該アクセス間隔を前記計測した次にアクセスがあるまでの時間により更新するステップをさらに含むことを特徴とする請求項１０乃至１２いずれか１項記載の半導体装置の電源制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及び半導体装置の電源制御方法に関する。特に、複数の機能ブロックが共通のバスに接続された半導体装置において、機能ブロック毎に電源を制御する方法に関する。
【背景技術】
【０００２】
近年、携帯電話等のバッテリ駆動製品が増加し、省電力化の要求が高まっている。その流れの中で半導体装置もプロセスの微細化を行うことにより低電圧の要求に対応してきた。しかしながら、さらに製品の省電力化が進み、半導体装置の動作時における消費電流のみならず動作停止時のリーク電流を抑えた製品が望まれてきたためより効果的な電力制御を行う必要がでてきた。
【０００３】
図９は、特許文献１の図１１に記載されている機能ブロック毎に電源のオンオフを制御し、電力の削減を図った半導体装置のブロック図である。図９の回路は最後にその機能ブロックへのアクセス（データ）があってからその機能ブロックへの電源供給を遮断するまでの期間の長さを学習機能によって自動更新することが記載されている。図９において、最後にアクセスがあってから電源スイッチＤ１を遮断するまでの期間はシャットダウンサイクル数バッファＢＦによって決まり、このＢＦの値を判定回路ＤＣＳが制御している。
【０００４】
図１０は特許文献１の図１２に記載されているこの判定回路ＤＣＳの制御方法を示す動作フロー図である。図１０に示すとおり、シャットダウンしてから次のデータが来るまでのサイクルｋがシャットダウンサイクルｎより大きければ、ｎを大きくする方向に制御し、逆の場合は、ｎを小さくする方向に制御する。
【０００５】
図１１は特許文献１の図１３に記載されている上記図９、図１０の通りに制御を行った場合のデータがある期間とない期間に対する電源スイッチをオンする期間とオフする期間を示す動作フロー図である。特許文献１では、アクセスがある期間とない期間を学習して、アクセスがなくなってから電源スイッチをオフするまでのクロック数を切り換えている。図１１では当初２だった電源スイッチをオフするまでのクロック数が途中で学習によって３に変わった後、再度学習によって２に戻っている。また、電源スイッチのオンは、データが来てから電源スイッチをオンしているので、電源スイッチのオンはデータが来てから常に１クロック遅れている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３１８５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は本発明により与えられる。特許文献１では、アクセスがなくなっても、すぐに電源スイッチをオフせずに一定の期間経過してから電源スイッチをオフしている。したがって、電源スイッチオフまで無駄な電力を消費する。また、特許文献１では、データが来てから電源スイッチをオンしているので、データが来るより電源スイッチのオンが遅れ、電源スイッチオフによる処理時間の遅れが生じる。特許文献１では、アクセスの終了時期及び次のアクセスの開始時期が把握できていないからである。
【課題を解決するための手段】
【０００８】
本発明の１つの側面による半導体装置は、基幹バスと、前記基幹バスに接続された複数の機能ブロックと、前記基幹バスをモニタし、前記基幹バス上のデータから前記機能ブロック毎に当該機能ブロックに対するアクセスの終了アドレスと、次に当該機能ブロックに対してアクセスがあるまでのアクセス間隔を抽出し、当該終了アドレスにアクセスがあったときに、当該機能ブロックの電源を遮断し、前記アクセス間隔の経過する時に当該機能ブロックへのアクセスが可能となるように当該機能ブロックの電源を前記アクセス間隔の経過前に立ち上げ開始するように制御するバスモニタと、を備える。
【０００９】
また、本発明の他の側面による半導体装置の電源制御方法は、それぞれ独立して電源をオンオフすることが可能な複数の機能ブロックが共通のバスに接続された半導体装置において、前記バス上のデータをモニタし、前記機能ブロック毎に当該機能ブロックに対するアクセスの終了アドレスと、次に当該機能ブロックに対してアクセスがあるまでのアクセス間隔を抽出するステップと、前記終了アドレスにアクセスがあったときに、当該機能ブロックの電源を遮断するステップと、前記アクセス間隔の経過する時に当該機能ブロックへのアクセスが可能となるように当該機能ブロックの電源を前記アクセス間隔の経過前に立ち上げ始めるステップと、を含む。
【発明の効果】
【００１０】
本発明によれば、基幹バスをモニタし、基幹バス上のデータから各機能ブロックに対するアクセスのない期間とアクセスのない期間に入る直前のアクセス終了アドレスを検出しているので当該終了アドレスにアクセスがあったときに当該機能ブロックの電源を遮断し、アクセスのない期間が終わるときにあわせて電源を立ち上げることができる。従って、無駄な消費電力を抑制し、かつ、電源遮断による処理遅れを防止できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例による半導体装置のブロック図である。
【図２】一実施例の半導体装置におけるバスモニタのブロック図である。
【図３】一実施例の半導体装置におけるコントロールレジスタＣＲの構成図である。
【図４】一実施例の半導体装置におけるテンポラリ記憶テーブルＴＴの構成図である。
【図５】一実施例の半導体装置におけるアドレス情報記憶テーブルＭＴの構成図である。
【図６】一実施例の半導体装置における電源制御フロー図である。
【図７】一実施例の半導体装置において電源遮断を行った場合の電力遷移図である。
【図８】一実施例の半導体装置におけるテンポラリ記憶テーブルＴＴ及びアドレス情報記憶テーブルＭＴのデータ入れ替えフロー図である。
【図９】特許文献１に記載の従来の半導体装置のブロック図である。
【図１０】特許文献１に記載の従来の半導体装置における判定回路ＤＣＳの動作フロー図である。
【図１１】特許文献１に記載の従来の半導体装置による電源スイッチオンオフの動作フロー図である。
【図１２】本発明の別な実施例の半導体装置における電力制御フロー図である。
【図１３】別な実施例の半導体装置においてクロック停止を行った場合の電力遷移図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態の概要について、必要に応じて図面を参照して説明する。なお、概要の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
【００１３】
一実施形態の半導体装置５０は、例えば、図１、図６に示すように、基幹バスＢと、基幹バスＢに接続された複数の機能ブロック（２２、２３、２４、２５）と、基幹バスＢをモニタし、基幹バスＢ上のデータから機能ブロック（２２、２３、２４、２５）毎に機能ブロックに対するアクセスの終了アドレス（図５のＭＡ）と、次に機能ブロックに対してアクセスがあるまでのアクセス間隔（図５のＭＳ）を抽出し、終了アドレス（ＭＡ）にアクセスがあったときに、機能ブロックの電源を遮断し、アクセス間隔の経過する時に当該機能ブロックへのアクセスが可能となるように当該機能ブロックの電源を前記アクセス間隔の経過前に立ち上げ開始するように制御するバスモニタ１０と、を備える。すなわち、基幹バスのデータをモニタして各機能ブロックに対するアクセスのない期間とアクセスのない期間に入る直前のアクセス期間の終了アドレスを抽出している。従って、終了アドレスへのアクセスがあった後はその機能ブロックへのアクセスがアクセス間隔の間存在しないので、機能ブロックの電源を遮断できる。また、アクセス間隔により次にアクセスがある時期がわかるので、そのタイミングに合わせて電源を立ち上げることができる。機能ブロックの動作としては周期性があるものと周期性がないものとが考えられるが、バスモニタ１０はその中から周期性のあるものを抽出する。従って、特許文献１のように動作終了後電源遮断までに無駄な電力を消費したり、次の動作開始が遅れたりすることもない。なお、終了アドレスの検出により電源の遮断ルーチンに入った後は、他の動作中の機能ブロックに電源のノイズ等を与えないようにゆっくり段階的に電源を落としてもよい。
【００１４】
なお、本明細書において、基幹バスとは複数の機能ブロックとバスモニタが接続されるバスのことを基幹バスと呼んでいる。基幹バスには、少なくとも機能ブロックと機能ブロック内のアドレスを指定してアクセスするためのアドレスバスが含まれる。このアドレスバスは、データバスとマルチプレクスしていてもよい。
【００１５】
また、一実施形態の半導体装置５０は、各機能ブロック（２２、２３、２４、２５）には、電源スイッチが設けられ、バスモニタ１０は、各機能ブロック（２２、２３、２４、２５）に設けられた電源スイッチの導通／遮断を制御することにより電源の遮断と、再投入を制御するモード切替実行部ＭＪを備えている。各機能ブロック（２２、２３、２４、２５）には、特許文献１と同様に電源スイッチ（図９のＤ１）が設けられている。バスモニタ１０は、電力制御信号Ｄ２〜Ｄ５により電源スイッチの導通遮断を制御し、機能ブロック毎の電力制御を行うことができる。
【００１６】
さらに、図３も参照すると、一実施形態の半導体装置５０において、バスモニタ１０は、機能ブロック（２２、２３、２４、２５）毎のアドレス範囲（ＳＡ２２〜ＳＡ２５）と機能ブロック毎の電源立ち上がりに必要な時間（ＳＥ２２〜ＳＥ２５）とを含む情報が格納されたコントロールレジスタＣＲをさらに備え、コントロールレジスタＣＲの機能ブロック毎のアドレス範囲（ＳＡ２２〜ＳＡ２５）から前記基幹バスＢ上のデータがどの機能ブロック（２２、２３、２４、２５）に対するアクセスか認識して前記各機能ブロックに対するアクセスの周期性を抽出し、コントロールレジスタＣＲの機能ブロック毎の電源立ち上がりに必要な時間情報（ＳＥ２２〜ＳＥ２５）を用いて機能ブロックの電源再投入タイミングを決定する。コントロールレジスタＣＲに機能ブロック毎のアドレス範囲（ＳＡ２２〜ＳＡ２５）をあらかじめ設定しておけば、バスモニタ１０は、基幹バスＢ上のアドレスとそのコントロールレジスタＣＲに記憶された機能ブロック毎のアドレス範囲から基幹バス上のアクセスがどの機能ブロックに対するものであるか把握できる。したがって、バスモニタ１０は、機能ブロック毎のアクセスの終了アドレスとアクセス間隔を抽出することができる。さらに、コントロールレジスタＣＲには、機能ブロック毎の電源立ち上がりに必要な時間情報が格納されているので、その情報と抽出した機能ブロック毎のアクセス間隔から、次のアクセス周期に合わせて電源の立ち上げを行うことができる。
【００１７】
また、一実施形態の半導体装置５０において、例えば、図２、図５に示すように、バスモニタ１０は、アドレス情報記憶テーブルＭＴと、アドレス比較部ＡＣと、をさらに備え、機能ブロック毎のアクセスがない期間とその前に最後にその機能ブロックにアクセスしたアドレスを抽出してアドレス情報記憶テーブルＭＴに、そのアドレスとアクセス間隔としてアクセス回数のデータとともに格納し、前記アドレス比較部ＡＣがアドレス情報記憶テーブルＭＴに格納したアドレスへのアクセスを検出した場合には、当該機能ブロックへの電源を遮断する。
【００１８】
また、一実施形態の半導体装置５０において、例えば、図２、図４、図８に示すように、バスモニタ１０は、機能ブロック毎に最後にアクセスしたアドレスとその機能ブロックに対してアクセスがない期間であるアクセス間隔を計測するアクセス入力間隔計測部ＡＭと、アクセス入力間隔計測部ＡＭが計測したアドレスとアクセス間隔とを一時的に保存するテンポラリ記憶テーブルＴＴと、さらに備え、テンポラリ記憶テーブルＴＴにエントリされたアドレスのアクセス間隔が、アドレス情報記憶テーブルＭＴにエントリされたアドレスのアクセス間隔より長い場合には、前記アドレス情報記憶テーブルＭＴのエントリを当該テンポラリ記憶レジスタＴＴのエントリと入れ替える（図８の２０７）。上記構成により、アドレス情報記憶テーブルＭＴのエントリを最適化することができる。
【００１９】
また、一実施形態の半導体装置５０において、例えば図２、図１２に示すように、モード切替実行部ＭＪは、アドレス比較部ＡＣがアドレス情報記憶テーブルＭＴに記憶するアドレスへのアクセスを検出した場合に、アドレス情報記憶テーブルＭＴに記憶する当該アドレスへのアクセス回数が所定の回数を満たない場合、又は、次のアクセスまでの予想時間がコントロールレジスタＣＲに記憶する当該機能ブロックの電源立ち上がりに必要な時間を下回る場合は、当該機能ブロックの電源の遮断を行わずに、当該機能ブロックのクロックを停止する（図１２の３０８参照）。すなわち、アドレス情報記憶テーブルＭＴの当該エントリに対するアクセス回数が少なく当該エントリの確度が低いと考えられる場合、又は、アクセス周期が短く、電源の遮断と再投入を行うと次のアクセス周期に遅れてしまう場合は、電源の遮断を行わずに対象とする機能ブロックのクロックを停止することにより、当該機能ブロックの消費電力を低減することができる。以下、実施例について、図面を参照してさらに詳しく説明する。
【実施例１】
【００２０】
図１は、実施例１による半導体装置５０のブロック図である。図１に示すように半導体装置５０上の基幹バスＢはＣＰＵ２１とバスＡ１、ＲＯＭ／ＲＡＭ２２とバスＡ２、ＣＤＲＯＭ制御部２３とバスＡ３、ＨＤＤ制御部２４とバスＡ４、表示装置制御部２５とバスＡ５、バスモニタ１０に接続される。また、バスモニタ１０はＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の電力制御信号Ｄ２、Ｄ３、Ｄ４，Ｄ５を出力する。なお、ＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の各機能ブロックには、図示しない電源スイッチが設けられ、電源スイッチを介して電源が供給されている。なお、電源スイッチは、図９に示す電源スイッチＤ１を図１にも適用することができる。各機能ブロック（２２、２３、２４、２５）の電源スイッチは、それぞれ電力制御信号Ｄ２、Ｄ３、Ｄ４、Ｄ５によりオン、オフ（導通、遮断）が制御される。
【００２１】
図２にバスモニタ１０の構成を示す。バスモニタ１０は基幹バスＢのアドレス信号Ａを計測するアクセス入力間隔計測部ＡＭ、電力制御の情報テーブルであるテンポラリ記憶テーブルＴＴとアドレス情報記憶テーブルＭＴ、基幹バスＢのアドレス信号Ａとテンポラリ記憶テーブルＴＴ及びアドレス情報記憶テーブルＭＴのアドレス情報の値を比較するアドレス比較部ＡＣ、各機能ブロックの電源制御のために必要な閾値となる情報を保持するコントロールレジスタＣＲ、アドレス比較部ＡＣのアドレス比較結果及びコントロールレジスタＣＲのデータに基づいて電力制御信号Ｄ２〜Ｄ５を出力し各機能ブロックの電力を直接制御するモード切替実行部ＭＪを有する。
【００２２】
バスモニタ１０のアクセス入力間隔計測部ＡＭはバスＢ上に発行されたアクセスとコントロールレジスタＣＲに格納する機能ブロック毎アドレス範囲のデータから機能ブロック毎に最後にアクセスしたアドレスと最後にアクセスしてから経過した時間を計測する。その機能ブロックへのアクセスがないアイドル期間に入った場合は、最後にアクセスしたアドレスは更新されずにそのまま残り、次にその機能ブロックへのアクセスがあったときに、アクセス終了アドレスとアクセス間隔が計測されることになる。ここでアクセス終了アドレスとは、その機能ブロックに対するアクセスが終了し、その機能ブロックに対してアクセスがない期間に入る直前のアドレスであり、アクセス間隔は、アクセスがない期間の長さである。アクセス入力間隔計測部ＡＭが計測したアクセス終了アドレスとアクセス間隔をテンポラリ記憶テーブルＴＴやアドレス情報記憶テーブルＭＴに格納することにより電力を制御するための情報テーブルを構築する。
【００２３】
アドレス比較部ＡＣは基幹バスＢ上に発行されたアドレスＡとテンポラリ記憶テーブルＴＴ及びアドレス情報記憶テーブルＭＴに登録されたアドレス情報と一致比較を行い、比較結果によりモード切替実行部ＭＪにより基幹バスＢ上の該当するアドレスの機能ブロックの電源を制御する。また、アドレス比較部ＡＣは、アクセス入力間隔計測部ＡＭが計測したアドレスとテンポラリ記憶テーブルＴＴ及びアドレス情報記憶テーブルＭＴに登録されたアドレス情報の一致比較を行って、テンポラリ記憶テーブルＴＴ及びアドレス情報記憶テーブルＭＴの更新を行うときに使用してもよい。
【００２４】
コントロールレジスタＣＲの内部の構成を図３に示す。コントロールレジスタＣＲは、ＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロック電源を遮断、再投入の制御を行うために必要な情報として、アクセス発生回数ＲＯ、アクセス間隔ＲＳ、機能ブロック毎の電源立ち上がり時間ＳＥ２２〜ＳＥ２５、機能ブロックのアドレス範囲ＳＡ２２〜ＳＡ２５の情報を有する。
【００２５】
テンポラリ記憶テーブルＴＴの内部の構成を図４に示す。テンポラリ記憶テーブルＴＴは、アクセス入力間隔計測部ＡＭで計測された基幹バスＢ上のアドレスＡのアドレス情報ＴＡ（機能ブロックへのアクセス終了アドレス）と次のアクセスとの間隔ＴＳ（その機能ブロックへのアクセスがない期間）の情報を有する。テンポラリ記憶テーブルＴＴには、次に述べるアドレス情報記憶テーブルＭＴに格納する電源遮断処理エントリアドレスの候補となるアドレスを格納する。
【００２６】
アドレス情報記憶テーブルＭＴの内部の構成を図５に示す。アドレス情報記憶テーブルＭＴは、アドレスＭＡ、アクセス間隔ＭＳ、アドレスＭＡへのアクセス発生回数ＭＣの情報を有する。このアドレスＭＡは、各機能ブロックに対する電源遮断処理のトリガとなるアドレスが格納される。アクセス間隔ＭＳの情報に基づいて、次にアクセスが必要になるタイミングを決め、この情報に基づいて、電源立ち上げのタイミングを決める。また、アクセス発生回数ＭＣは、当該エントリの確度の基準となる。アクセス発生回数が大きいほど、当該エントリの情報確度は高くなる。
【００２７】
図６は、各機能ブロックの電源制御の動作フロー図である。バスモニタ１０は基幹バスＢ上のＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックへのアクセスを検出すると、アドレスＡがアドレス情報記憶テーブルＭＴのアドレス情報ＭＡと一致しているかをアドレス比較部ＡＣにて検索する（ステップ１０１）。不一致の場合は電源制御を行わず処理を終了させる。
【００２８】
一方、アドレスが一致すると、アドレス比較部ＡＣはモード切替実行部ＭＪに電源のシャットダウン要求信号（図２の４）を発行し、モード切替実行部ＭＪはコントロールレジスタＣＲに登録されているアドレス範囲ＳＡ２２〜ＳＡ２５からＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５のどの機能ブロックのアドレスに一致するか検索を行う（ステップ１０２）。検索の結果アドレスが一致するＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックのクロックを停止し、電源を遮断する（ステップ１０３）。
【００２９】
電源の立ち上がりはモード切替実行部ＭＪがアドレス情報記憶テーブルＭＴに登録されているアクセス間隔ＭＳからコントロールレジスタＣＲに設定された該当する機能ブロックの立ち上がり時間ＳＥ２２〜ＳＥ２５を差し引いた時刻になる（ステップ１０４）と電源を投入する（ステップ１０５）。電源が安定するとクロックを活性化し再びアクセスが可能になる（ステップ１０６）。アクセス間隔ＭＳと該当する機能ブロックの電源立ち上がり時間ＳＥ２２〜ＳＥ２５を考慮して電源を立ち上げているので、その機能ブロックへのアクセスが必要な時期に遅れることなく、かつ、電源立ち上げが早すぎ余計な電力を消費することなく電源を立ち上げることができる。
【００３０】
図７に電源遮断から再度電源を立ち上げるまでの電力の遷移の様子を示す。この実施例ではＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックへのアクセスが必要になる時刻ｔ３を予測し、ＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックへの電源が再投入されて電源が立ち上がり安定する時間ｔ３−ｔ２を考慮するためシステムのパフォーマンスを下げることなく低電力化を実現できる。
【００３１】
次にアドレス情報記憶テーブルＭＴ及びテンポラリ記憶テーブルＴＴを更新する処理フローについて、図８を用いて説明する。まず、アクセス入力間隔計測部ＡＭは、基幹バスＢ上のアドレスＡとアクセス間隔ＴＳを取得する（ステップ２０１）。この処理は、機能ブロックへのアクセスが発生するたびに行う。アクセス入力間隔計測部ＡＭは、データとしてその機能ブロックに対して前回アクセスしたアドレス（前回のアクセス終了アドレス）と前回アクセスしてからのアクセス間隔を持っている。そのアドレスをアドレス情報テーブルＭＴに保存されているアドレスと一致比較を行う（ステップ２０２）。アドレスが一致した場合はアドレス情報記憶テーブルＭＴの一致したアドレスＭＡの回数ＭＣをインクリメントする（ステップ２０３）。
【００３２】
次に、ステップ２０９に移る。ステップ２０９では、最初に、アクセス入力間隔計測部ＡＭが計測した最新のアクセス間隔とアドレス情報記憶テーブルＭＴに記録されているアクセス間隔ＭＳとを比較する。アドレス情報記憶テーブルＭＴに記録されているアクセス間隔のほうが小さいか値が同一であれば、何もしない。通常はこの処理である。しかし、アクセス入力間隔計測部ＡＭが計測した最新のアクセス間隔の方が、アドレス情報記憶テーブルＭＴに記録されているアクセス間隔ＭＳより小さい場合は、そのアドレスへアクセスした後、アドレス情報記憶テーブルＭＴに登録されているアクセス間隔より短い間隔でアクセスする場合があり得るということなので、アドレス情報記憶テーブルＭＴに記録されているアクセス間隔ＭＳをアクセス入力間隔計測部ＡＭが計測した最新のアクセス間隔に入れ替える。その後、処理を終了させる。なお、ステップ２０９において、アドレス情報記憶テーブルＭＴに登録されているアクセス間隔ＭＳは、テンポラリ記憶テーブルのアクセス間隔ＴＳの段階でこれ以上短いアクセス間隔がないことが検証済みの値である（ステップ２１０参照）。従って、このステップ２０９は不要ならば、省略してもよい。
【００３３】
一方、ステップ２０２において不一致であった場合はテンポラリ記憶テーブルＴＴに登録されているアドレスと一致比較を行う（ステップ２０４）。テンポラリ記憶テーブルＴＴに登録されているアドレスと一致した場合は、ステップ２１０に移る。ステップ２１０では、まず、テンポラリ記憶テーブルＴＴに登録されているアクセス間隔ＴＳとアクセス入力間隔計測部ＡＭが計測した最新のアクセス間隔とを比較する。テンポラリ記憶テーブルＴＴに記録されているアクセス間隔のほうが小さいか値が同一であれば、何もしない。しかし、アクセス入力間隔計測部ＡＭが計測した最新のアクセス間隔の方が、テンポラリ記憶テーブルＴＴに記録されているアクセス間隔ＴＳより小さい場合は、そのアドレスへアクセスした後、テンポラリ記憶テーブルＴＴに登録されているアクセス間隔より短い間隔でその機能ブロックへアクセスする場合があり得るということなので、テンポラリ記憶テーブルＴＴに記録されているアクセス間隔ＴＳをアクセス入力間隔計測部ＡＭが計測した最新のアクセス間隔に入れ替える。以上で、ステップ２１０を終了する。
【００３４】
次に、テンポラリ記憶テーブルＴＴに記録されているそのアドレスのアクセス間隔ＴＳとアドレス情報記憶テーブルＭＴに登録されているアクセス間隔ＭＳのうち、最小のアクセス間隔ＭＳとを比較する（ステップ２０６）。テンポラリ記憶テーブルＴＴに記録されているアクセス間隔ＴＳの方が小さい場合には、何も行わない。テンポラリ記憶テーブルＴＴに記録されているアクセス間隔ＴＳの方が大きい場合には、アドレス情報記憶テーブルＭＴに登録されているアドレスＭＡ、アクセス間隔ＭＳを入れ替え、回数ＭＣを最小値に設定する（ステップ２０７）。その後、処理を終了させる。
【００３５】
ステップ２０４においてテンポラリ記憶テーブルＴＴに登録されているアドレスと一致比較が不一致の場合（テンポラリ記憶テーブルＴＴに未登録の場合）はテンポラリ記憶テーブルＴＴに登録されているアクセス間隔ＴＳと比較を行い（ステップ２０５）、アクセス間隔が大きい場合はアクセス間隔が大きい方のアドレス情報がテーブルに残るように入れ替えを行い（ステップ２０８）処理を終了する。テンポラリ記憶テーブルＴＴに登録されているデータのアクセス間隔ＴＳよりアクセス間隔が小さい場合は入れ替えを行わずに処理を終了する。
【００３６】
上記手順によれば、まず基幹バスＢ上のアドレスＡ及び次のアクセス間隔ＴＳはテンポラリ記憶テーブルＴＴに保存される。アドレスＡがテンポラリ記憶テーブルＴＴに保存された時点では再現性があるアクセスかどうかが判断できない。テンポラリ記憶テーブルＴＴに記憶されている終了アドレスに対するアクセス間隔が最短のものであるか否かは、ステップ２１０で検証され、アクセス間隔で最短であるものに置き換えられる。従って、ステップ２１０によって、終了アドレスに対するアクセス間隔は精度の高いデータに更新される。また、多数の終了アドレスとアクセス間隔の組が存在するが、ステップ２０５とステップ２０８により、テンポラリ記憶テーブルＴＴには、アクセス間隔の最も大きなデータが残る。
【００３７】
さらに、ステップ２０６と２０７では、アドレス情報記憶テーブルＭＴに記憶されているデータとテンポラリ記憶テーブルＴＴに記憶されているテータが比較され、アクセス間隔の大きいデータがアドレス記憶テーブルＭＴに登録されることになる。以上の処理により、アドレス記憶テーブルＭＴには、アクセス間隔の精度が高く、かつ、アクセス間隔の大きいデータが残ることになる。また、仮にアドレス記憶テーブルＭＴに精度の低いアクセス間隔のデータが登録されてしまったとしても、ステップ２０９により正しくアクセス間隔に訂正される。訂正されたアクセス間隔が小さい場合は、その後、ステップ２０７を経てアクセス間隔が大きいデータに置き代えられるので問題は生じない。
【００３８】
従って、アドレスＡが再現性のあるアクセスかわからない場合は、アドレスＡの情報は予測精度が低いとして、低電力化には使用しない。再度同じアドレスへのアクセスが発生するとアドレスＡへのアクセスは再現性があり電源制御の予測に使用しても精度が期待できると判断しアドレス情報記憶テーブルＭＴへ情報の転送を行う。本手順によりアドレス情報記憶テーブルＭＴには再現性のある情報のみがテーブルに登録される。
【００３９】
すなわち、アクセス入力間隔計測部ＡＭにより計測された基幹バスＢ上のアドレスがテンポラリ記憶テーブルＴＴに登録されている情報と一致した場合は、計測されたアドレスへのアクセスがＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックをアイドル状態にするトリガとして再現性があると判断し、アクセス間隔ＴＳがコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯ以上であれば、アドレス情報ＴＡとアクセス間隔ＴＳをアクセス記憶情報テーブルＭＴにアドレス情報とアクセス間隔を渡す。
【００４０】
また、テンポラリ記憶テーブルＴＴは再現性のあるアクセスの抽出を行うために、アクセスが発行される毎にテーブルに保存されているアドレスＴＡの情報との比較を図２のアドレス比較部ＡＣによって行い、アクセスの間隔が広い情報がテーブルに残るようにアドレスＴＡおよび次のアクセス間隔ＴＳの情報の入れ替えを行う。
【００４１】
以上のように、アドレス情報記憶テーブルＭＴはテンポラリ記憶テーブルＴＴから再現性のあると判断されたアドレスへのアクセス情報を登録し、電力制御を行う。また、アドレス情報記憶テーブルＭＴに登録されているアドレスＭＡは低電力化を行う対象の特定に、アクセス間隔ＭＳは低電力化の指標に、アクセス回数ＭＣは低電力化を行う際の予測の確度として使用している。
【００４２】
実施例１によれば、ＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックがアイドル期間に入るトリガとして、ＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックのレジスタアクセスなど固定アドレスへのアクセスに着目する。ＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックへのアクセスで発行されるアドレスとアクセス入力間隔をアドレス情報記憶テーブルＭＴに保存する。さらに、アドレス情報記憶テーブルＭＴに保存するデータを、低電力化に有効な次のアクセスまでのアイドル期間が長いアクセスとなるように更新することにより学習していく。アイドル状態となるきっかけをアドレス情報記憶テーブルＭＴの内容から判断することでアクセスを正確に予測し、電力の削減を行う。
【実施例２】
【００４３】
実施例２では、図１の半導体装置５０全体の構成、及び図２に示すバスモニタ１０の構成、図３のコントロールレジスタＣＲ、図４のテンポラリ記憶テーブルＴＴ、図５のアドレス情報記憶テーブルＭＴのおおよその構成は実施例１とほぼ同一である。ただし、モード切替実行部ＭＪによる機能ブロック毎の電力制御が異なる。
【００４４】
図１２は、実施例２の半導体装置５０における電力制御フロー図である。実施例２では、バスモニタ１０は基幹バスＢ上のＲＯＭ／ＲＡＭ２２、ＣＤＲＯＭ制御部２３、ＨＤＤ制御部２４、表示装置制御部２５の機能ブロックへのアクセスを検出すると、アドレスＡがアドレス情報記憶テーブルＭＴのアドレス情報ＭＡと一致検索をアドレス比較部ＡＣにて行い（ステップ１０１）、不一致の場合は処理を終了する。
【００４５】
アドレスが一致すると機能ブロックアドレスの該当するユニットをコントロールレジスタＣＲから検索し（ステップ１０２）、機能ブロックのアクセス回数ＭＣがコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯを越えているか比較する（ステップ３０２）。機能ブロックのアクセス回数ＭＣがコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯを超えていない場合は、次に短い間隔でアクセスが発生する可能性があり、予測が外れた場合に電源立ち上がり時間が発生するので電源は遮断せず、クロックの停止のみ行なう（ステップ３０７）。機能ブロックへのアクセス要求発生を監視し（ステップ３０８）、機能ブロックへのアクセス要求発生があった場合は、機能ブロックのクロックを活性化し（ステップ３０９）、処理を終了する。
【００４６】
ステップ３０２において機能ブロックのアクセス回数がコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯを超えている場合は、コントロールレジスタＣＲに設定された電源立ち上がりに必要な時間ＳＥ２２〜ＳＥ２５とアドレス情報記憶テーブルＭＴに保存されている次のアクセスまでの時間を比較（ステップ３０３）し、コントロールレジスタＣＲに設定された電源立ち上がり時間よりもアドレス情報記憶テーブルＭＴに保存されている予測された次のアクセスまでの残り時間が小さい場合は、ステップ３０７、ステップ３０８の処理を実行する。
【００４７】
ステップ３０３においてコントロールレジスタＣＲに設定された電源立ち上がり時間よりもアドレス情報記憶テーブルＭＴに保存されている予測された次のアクセスまでの残り時間が大きい場合は、機能ブロック電源の遮断とクロックを停止する（ステップ３０４）。次のアクセスまでの残り時間が電源立ち上がり時間以上の場合（ステップ３０５）、電源遮断の状態を保持する。次のアクセスまでの残り時間が電源立ち上がり時間未満となった場合は、機能ブロックの電源をＯＮ（３０６）し、機能ブロックのクロックを活性化（３０９）して処理を終了する。
【００４８】
図１３に機能ブロックのアクセス回数がコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯを越えているか比較し、機能ブロックのアクセス回数がコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯを超えていない場合の動作および電力遷移図を示す。図１３において、次に短い間隔でアクセスが発生する可能性があり、予測が外れた場合に不必要な電源立ち上がり時間が発生する可能性があるため電源は遮断せず、クロックの停止を行なう（ｔ１）。機能ブロックへのアクセス要求発生を監視し（ｔ１〜ｔ２）、機能ブロックへのアクセス要求発生があった場合は、機能ブロックのクロックを活性化し（ｔ２〜ｔ３）、処理を終了する。
【００４９】
機能ブロックのアクセス回数がコントロールレジスタＣＲに設定されたアクセス発生回数ＲＯを超えている場合は、実施例１と同様に電源の遮断を行うので、この場合は、図７の電力遷移図になる。
【００５０】
実施例２においては、機能ブロックのアクセス回数および予測された次のアクセスまでの残り時間から判断して電力モードを２段階で実行する。機能ブロックのアクセス発生回数ＲＯを越え、かつ電源立ち上がり時間よりもアドレス情報記憶テーブルＭＴに保存されている予測された次のアクセスまでの残り時間が大きい場合は電源遮断から復帰時の電源立ち上がり時間によるアクセス遅延が発生しないと判断し、実施例１と同様に電源を遮断する。
【００５１】
一方、機能ブロックのアクセス発生回数ＲＯ以下、または電源立ち上がり時間よりもアドレス情報記憶テーブルＭＴに保存されている予測された次のアクセスまでの残り時間が小さい場合は電源遮断からの復帰時の電源立ち上がり時間によるアクセス遅延が発生すると判断し図１３のように電源を遮断せずに機能ブロックへのクロック停止を行なう。
【００５２】
従って、特許文献１のように、アクセスがなくなってから電源を遮断するまでに時間を要せず、電源を遮断した後、電源遮断からの復帰時の電源立ち上がり遅れによるアクセス遅延が発生しシステムのパフォーマンスが低下する恐れが少ない。
【００５３】
実施例２によれば、アクセス間隔の大小、アドレス情報記憶テーブルＭＴの学習回数によって電力動作状態を通常動作・クロック停止・電源遮断の３状態いずれの状態をとるか選択し電力モードを実現できる。
【００５４】
以上説明したように、上記各実施例によれば、特許文献１等の従来技術で必要としていたシャットダウンまでのサイクル数ｎを待つ必要がないため、１回のシャットダウンに対して”サイクル数ｎ×電力”の低電力化を実現できる。また、実施例２により電源遮断からの復帰時の立ち上がり時間によるアクセス遅延（１０ｍｓ〜１００ｍｓ）を隠蔽しシステムのパフォーマンス低下を低減する。
【００５５】
以上、実施例について説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【産業上の利用可能性】
【００５６】
本発明は、半導体装置の動作速度を劣化させることなく、消費電力を削減できるので、広い用途の半導体装置に用いることができる。
【符号の説明】
【００５７】
１０：バスモニタ
２１：ＣＰＵ
２２：ＲＯＭ／ＲＡＭ（機能ブロック）
２３：ＣＤＲＯＭ制御部（機能ブロック）
２４：ＨＤＤ制御部（機能ブロック）
２５：表示装置制御部（機能ブロック）
５０：半導体装置
ＡＣ：アドレス比較部
ＡＭ：アクセス入力間隔計測部
ＣＲ：コントロールレジスタ
Ｄ１：電源スイッチ
ＭＪ：モード切替実行部
ＭＴ：アドレス情報記憶テーブル
ＴＴ：テンポラリ記憶テーブル
１〜６：入出力信号
Ａ：アドレス信号
Ａ１〜Ａ５：バス
Ｂ：基幹バス
Ｄ２〜Ｄ５：電力制御信号
ＭＡ：アドレス（アドレス情報記憶テーブル）
ＭＣ：アクセス回数（アドレス情報記憶テーブル）
ＭＳ：アクセス間隔（アドレス情報記憶テーブル）
Ｒ０：アクセス発生回数（コントロールレジスタ）
ＴＡ：アドレス（テンポラリ記憶テーブル）
ＴＳ：次のアクセスとの間隔（テンポラリ記憶テーブル）
【図１】
2010262362.tif 000003
【図２】
2010262362.tif 000004
【図３】
2010262362.tif 000005
【図４】
2010262362.tif 000006
【図５】
2010262362.tif 000007
【図６】
2010262362.tif 000008
【図７】
2010262362.tif 000009
【図８】
2010262362.tif 000010
【図９】
2010262362.tif 000011
【図１０】
2010262362.tif 000012
【図１１】
2010262362.tif 000013
【図１２】
2010262362.tif 000014
【図１３】
2010262362.tif 000015