(57)【要約】  マイクロ制御デバイスは、少なくとも一つのプロセッサ８と、一つ以上の周辺装置６と、リソース供給モジュール２、とを備える。プロセッサ８と周辺装置６は、各々が、電力および／またはクロック信号を必要とするときに、信号を生成するように構成されている。これらの信号は、リソース供給モジュール２を促して要求されたリソースを供給する。【選択図】図１
2015527638.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサと、
一つ以上の周辺装置と、
リソース供給モジュールと、を備えたマイクロ制御デバイスであって、
前記プロセッサと前記周辺装置は、各々、電力および／またはクロック信号を必要とするときに信号を生成するように構成され、前記信号は前記リソース供給モジュールを促して要求されたリソースを提供させる
ことを特徴とするマイクロ制御デバイス。
【請求項２】
前記周辺装置は、前記要求信号を受信すると前記リソース供給モジュールに適切な要求を送信する、中間マスタモジュールと通信するように構成される
ことを特徴とする、請求項１に記載のデバイス。
【請求項３】
前記マスタモジュールは、複数のスレーブモジュールに接続される
ことを特徴とする、請求項２に記載のデバイス。
【請求項４】
前記マスタモジュールは、各スレーブモジュールに対して、前記スレーブモジュールに接続されて、クロック信号がそれぞれの前記スレーブモジュールへ選択的に通過することができるようにするクロックゲートを備える
ことを特徴とする、請求項２または請求項３に記載のデバイス。
【請求項５】
前記マスタモジュールは、クロック信号に対する要求を受信すると、前記要求を行った前記スレーブモジュールへの前記クロックゲートを開く前に、適切なクロック源が安定して作動中であることを確認するように構成される
ことを特徴とする、請求項４に記載のデバイス。
【請求項６】
前記マスタモジュールは、要求されたクロック、または、別の、より正確なクロックがすでに提供されていたとしても、前記リソース供給モジュールに要求を発行するように構成される
ことを特徴とする、請求項５に記載のデバイス。
【請求項７】
少なくとも二つのマスタモジュールを備える
ことを特徴とする、請求項２乃至請求項６のいずれか一項に記載のデバイス。
【請求項８】
単一のマスタモジュールだけが前記リソース供給モジュールに接続され、それ以外の一つ以上のマスタモジュールは前記単一のマスタモジュールに接続される
ことを特徴とする、請求項７に記載のデバイス。
【請求項９】
前記単一のマスタモジュールは、複数の電力レギュレータのうちどれを使用するのかを自動的に決定するように構成される
ことを特徴とする、請求項８に記載のデバイス。
【請求項１０】
第一マスタモジュールは、第二マスタモジュールの上流向き出力に対しては直結接続となるように、前記第二マスタモジュール接続される
ことを特徴とする、請求項７、請求項８、または請求項９に記載のデバイス。
【請求項１１】
前記リソース要求信号は、電力の要求および特定のクロック信号の要求を含む
ことを特徴とする、請求項１乃至請求項１０のいずれか一項に記載のデバイス。
【請求項１２】
前記リソース要求信号は、必要な電力の大きさを含めた、電力の要求を含む
ことを特徴とする、請求項１乃至請求項１１のいずれか一項に記載のデバイス。
【請求項１３】
前記リソース要求信号は、必要となるクロックの品質、または最低品質を示すクロック信号の要求を含む
ことを特徴とする、請求項１乃至請求項１２のいずれか一項に記載のデバイス。
【請求項１４】
前記リソース要求信号は、特定のクロック源が始動されるという要求を含む
ことを特徴とする、請求項１乃至請求項１３のいずれか一項に記載のデバイス。
【請求項１５】
前記リソース要求信号は、クロックバッファが始動されるという要求を含む
ことを特徴とする、請求項１乃至請求項１４のいずれか一項に記載のデバイス。
【請求項１６】
どの程度までリソースが前記スレーブモジュールに利用できるようにするのかを決定するために前記スレーブモジュールが選択することができる、所定の選択肢を複数備える
ことを特徴とする、請求項１乃至請求項１５のいずれか一項に記載のデバイス。
【請求項１７】
前記所定の選択肢は、異なる待ち時間と異なる電力消費量を含む
ことを特徴とする、請求項１６に記載のデバイス。
【請求項１８】
該リソース制御システムの構成要素は、電力を節約するために自らをシャットダウンさせることができる
ことを特徴とする、請求項１乃至請求項１７のいずれか一項に記載のデバイス。
【請求項１９】
少なくとも一つのマスタモジュールは、前記マスタモジュールが小電力状態にあるときに、リソースを周辺装置に提供するように構成される
ことを特徴とする、請求項１乃至請求項１８のいずれか一項に記載のデバイス。
【請求項２０】
少なくとも一つの第一周辺装置は、第二周辺装置を促してリソース要求を発行させるように構成される
ことを特徴とする、請求項１乃至請求項１９のいずれか一項に記載のデバイス。
【請求項２１】
複数の周辺モジュールと、
リソース供給モジュールと、を備えたマイクロ制御デバイスであって、
前記周辺モジュールのうちの少なくとも第一周辺モジュールは、前記周辺モジュールのうちの第二周辺モジュールを関与させるタスクを実行するようにプログラムされ、前記第一周辺モジュールは、前記第二周辺モジュールを促して前記リソース供給モジュールから電力および／またはクロック信号を要求する信号を生成させる信号を、生成するように構成される
ことを特徴とするマイクロ制御デバイス。
【請求項２２】
前記周辺モジュールは、プロセッサを含む
ことを特徴とする、請求項２０または請求項２１に記載のデバイス。
【請求項２３】
前記第一周辺モジュールは、前記第二周辺モジュールが前記リソース供給モジュールから電力および／またはクロック信号を要求することができるように、前記第二周辺モジュールに前記要求信号を送信する
ことを特徴とする、請求項２０、請求項２１、または請求項２２に記載のデバイス。
【請求項２４】
一つ以上の周辺装置と、
リソース要求信号に応じて前記周辺装置に対するリソース供給を制御するための一つ以上のリソース制御モジュールと、を備えるマイクロ制御デバイスであって、
前記リソース制御モジュールまたは前記リソース制御モジュールのうちの少なくとも一つは、リソース要求信号に応えないが少なくとも一つの周辺装置にリソースを供給する小電力状態を有する
ことを特徴とするマイクロ制御デバイス。
【請求項２５】
前記リソースは、電力および／またはクロック信号である
ことを特徴とする、請求項２４に記載のデバイス。
【請求項２６】
単一の集積回路によって提供される
ことを特徴とする、請求項１乃至請求項２５のいずれか一項に記載のデバイス。
【請求項２７】
無線送信機および／または無線受信機を備えるか、または制御するように構成される
ことを特徴とする、請求項１乃至請求項２６のいずれか一項に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイス、特に、デバイス全体にわたって電力を効率的に使用するために、システムリソースのサブシステムによる使用を制御することに関するものである。
【発明の概要】
【０００２】
マイクロコントローラのような半導体デバイスが、周辺装置の増加と共により複雑になるにつれて（ここで、「周辺」という用語は、主プロセッサに対して周辺であることを意味するが、通常は、依然として同じシリコン片の一部である）、モバイルデバイスのバッテリ寿命を延ばすために、電力消費の効果的な制御を維持することの重要性も増してくる。しかし、複雑さも、このような制御をより困難にしている。
【０００３】
既存のデバイスでは、周辺装置に供給される、電力およびクロック信号のようなリソースの制御は、「トップダウン」方式で集中的に制御されている。しかし、出願人は、この手法は、中枢となるリソースコントローラが周辺装置の要求の全体を知り得る必要があるので、最大効率を提供するものではないと理解するに至った。電力および／または適切なクロック信号を特定の周辺装置に与えずに誤動作を発生させるのを回避するために、リソースは、理論的に必要である以上に供給される傾向がある。出願人は、また、この構成では、周辺装置が追加／起動や取り外し／停止されるたびにリソースを制御するプログラムを書き換える必要があることも理解するに至った。
【０００４】
第一の態様から見ると、本発明は、少なくとも一つのプロセッサと、一つ以上の周辺装置と、リソース供給モジュールと、を備えたマイクロ制御デバイスを提供するものであって、前記プロセッサと前記周辺装置は、各々、電力および／またはクロック信号を必要とするときに信号を生成するように構成され、前記信号は前記リソース供給モジュールを促して要求されたリソースを提供させる。
【０００５】
したがって、本発明によれば、リソースは「トップダウン」方式によって管理されるのではなく、リソースは必要に応じて周辺装置に割り当てられることが、当業者には理解されるであろう。リソース割り当ての制御は、結果として完全に一元管理されるのではなく、周辺装置に分散される。この方式変更は、周辺装置自身だけが、いつ異なるリソースを必要とし、どのようにすればこれらに対する要求が電力消費量を最小化しようとするように管理できるか、について詳細に知っていることを認めるものである。さらに、リソース割り当ての制御を周辺装置に分散することにより、少なくとも本発明の好ましい実施形態では、周辺装置が追加されたり取り外されたりしても、電力管理用プログラムを書き換える必要がない。 
【０００６】
前記周辺装置は、リソース要求信号を前記リソース供給モジュールに直接送信するように構成されてもよいが、一連の実施形態では、前記周辺装置は、前記要求信号を受信すると前記リソース供給モジュールに適切な要求を送信する、中間マスタモジュールと通信するように構成される。このような構成では、周辺装置は、リソース要求を処理するためのスレーブモジュールと関連付けられることになる。周辺装置ごとに一つのスレーブモジュールがあってもよいし、例えば、周辺装置の異なる部分が異なる電力および／またはクロックを必要とする場合、一つの周辺装置が複数のスレーブモジュールを有していてもよい。また、複数の周辺装置が共通の電力／クロックを必要とする場合、スレーブモジュールを共有することも想定されるが、一般的に、これでは本発明のいくつかの実施形態で達成することができる、最適化された電力節約を十分に利用することができない。
【０００７】
一連の実施態様において、各マスタモジュールは、複数のスレーブモジュールに接続される。こうすれば、マスタモジュールは、関連付けられたスレーブからの要求をまとめることができる。例えば、一つ以上のスレーブが特定のクロック信号を要求した場合、マスタモジュールは、リソース供給モジュールに適切な要求を発行してクロック信号を供給してもよい。電力について言えば、個々のモジュールからの要求は、大電力レギュレータが有効になる閾値を各々下回っていても、特定のマスタモジュールに接続されているすべてのスレーブからの要求を累積すると、そのような閾値よりも大きいことがある、つまり、マスタモジュールは、リソース供給モジュールに要求を発行して大電力モジュールを有効にすることができる。個々の周辺装置は大電力レギュレータを要求しない場合でも（その機能が提供されていれば）このようになる。リソース供給モジュールに直接接続された単一マスタモジュール（「トップマスタ」）が存在する一連の実施形態では、前記マスタモジュールは、複数の電力レギュレータのうちどれを使用するのかを自動的に決定するように構成される。こうすれば、「トップマスタ」が（必要に応じてリソース供給モジュール自体を含む）すべてのモジュールからの電力要求を集約し、これを用いて全体的な必要電力レベルを決定することができる。トップマスタは、個々のモジュールが必要とする電力量をそのモジュールからの電力要求に含まれるデータから決定し、および／または、例えばルックアップテーブルに予め格納された情報を使用することができる。
【０００８】
一連の実施形態において、マスタモジュールは、各スレーブモジュールに対して、スレーブモジュールに接続されて、クロック信号がそれぞれのスレーブモジュールへ選択的に通過することができるようにするゲート（以下、「クロックゲート」）を備える。このような実施形態の一部では、マスタモジュールは、クロック信号に対する要求を受信すると、要求を行ったスレーブモジュールへのクロックゲートを開く前に、適切なクロック源が安定して作働中であることを確認するように構成される。これは、クロック信号が、不要なアーチファクトなしに、制御された状態で供給されていることを確認するのに役立つ。要求されたクロック、または、別の、より正確な（もしくは、提供する電力の面では一般的により高価になる）クロックがすでに別のスレーブモジュールに提供されている場合、マスタモジュールは待つ必要がなく、直ちに適切なクロックゲートを開いてもよい。この状況では、マスタモジュールは、一連の実施形態において、要求されたクロック信号が、（第二スレーブがクロックを要求したときに該クロックが作動し続けていた原因である）元のスレーブからの要求が終了した後に第二スレーブで必要とされる場合に、さらにリソース供給モジュールに要求を発行するように構成される。
【０００９】
単一のマスタモジュールがすべてのスレーブにサービスを提供するようになっていてもよい。しかし、これは必須ではなく、一連の実施形態においては、少なくとも二つのマスタモジュールが提供される。複数のマスタモジュールが提供される場合、単一のマスタモジュールだけがリソース供給モジュールに接続され、それ以外の一つ以上のマスタモジュールは該単一のマスタモジュールに接続されるのが好ましい。一般的に、マスタモジュールが他のマスタモジュールに接続されていると、柔軟なシステムトポグラフィとなる。あるマスタモジュールが別のマスタモジュールに接続される場合、マスタモジュールの上流向き出力に対しては直結接続となる、すなわち該接続はクロックゲートを通過しないことが好ましい。こうすれば、周辺装置とリソース供給モジュールとの間のいずれの接続も、ひとつだけクロックゲートを通過することになり、それによって追加の待ち時間を回避することができるという有利な状況となる。
【００１０】
リソース要求信号は、電力の要求だけ、または特定のクロック信号の要求だけを含んでいてもよいが、一連の実施形態では、両方を含む。一連の実施形態では、電力の要求には必要な電力の大きさが含まれる。これは、特定の周辺装置の要求を満たすために大電力レギュレータが必要となるかどうかを示すことになる。
【００１１】
一連の実施形態において、クロック信号の要求は、必要となるクロックの品質、または最低品質を示している。クロックの品質は、精度、始動時間、または電力消費量のうちの一つ以上の関数であるものとする。クロック信号を要求することができることに加えて、周辺装置は、クロックリソースに関してより高度な要求を行なうことができてもよい。例えば、一連の実施形態において、周辺装置は、特定のクロック源が始動されることを要求することができる。これは、実際には、関係付けられた始動遅延（その長さはクロック源の種類に依存する）を有する、それぞれの発振器の電源を投入することになる。周辺装置がクロックの中核部を始動する要求を行なえるようにすることで、周辺装置は、いくつかの状況において、クロック信号が必要になるほんの少し前に要求を行なうことができたり、いつクロック信号を再び必要とするかを予測することができたりするので、始動遅延を補償することができる。
【００１２】
追加としてまたは代替として、周辺装置は、クロックバッファが始動されることを要求してもよい。これは、クロック信号がいくつかの種類のクロックによって実際に提供されるようにするために必要なステップである。周辺装置が、クロックの中核部とは別にクロックバッファを始動または停止できるようにするという柔軟性があることは、クロックバッファは典型的に動作中に最も電力を消費するが中核部は典型的に始動により長い時間を要するので、始動待ち時間を最小限に抑えながら消費電力を低減することができるという優位性がある。したがって、上記に示した実施形態に従って与えられる柔軟性によって、周辺装置は、それなりに短時間で再びクロック信号を必要とする場合、クロックバッファを停止しても中核部は作動状態のままにすることができる。
【００１３】
一連の実施形態において、周辺装置は、どの程度までリソースがスレーブモジュールに利用できるようにするのかを決定するためにスレーブモジュールが選択することができる、所定の選択肢を複数備える。本出願人は、周辺装置に対して待ち時間と電力消費量の間の異なるトレードオフを提供する一定数の事前定義された選択肢（以下、「ペナルティレベル」と称する）を提示することによって、周辺装置は、電力消費量を具体的な必要量に対してはるかに密接に合わせることができ、例えば、待ち時間の要求を満たすために厳密に必要であるよりも多くの電力を使用することが避けられない、全体的に設定された管理体制よりも電力をより効率的に使用することができるようになる、ということを理解するに至った。このような実施形態の部分集合において、所定の選択肢は、異なる待ち時間と異なる電力消費量を含む。
【００１４】
したがって、周辺装置が、電力消費量と待ち時間との間の異なるトレードオフを呈する様々な状態を持ち得ることが理解できよう。これらは、周辺装置が（もちろん、動作仕様を満たすという点では常に一致しつつ）消費電力を低減するという利益のために受け入れる用意がある、待ち時間の面での不利益を示すので、「ペナルティレベル」と称される。上記の、クロック源とクロックバッファに関する選択肢に基づいて例を挙げると、最大のペナルティレベルは、周辺装置が電力とクロックのいずれについても何の要求も行なわないというものである。こうすると、一般的に、周辺装置が完全に動作できる状態になる前の待ち時間が最も長くなるが、もちろん大幅な電力消費量と関係付けられることはない。
【００１５】
次のペナルティレベルは、周辺装置が電力は要求するがクロックは要求しないという状態によって表される。これは、完全に動作できる状態になる前の待ち時間は短くなるが、明らかに電力消費量がいくらか増加するという代償を払うことになる。
【００１６】
第三のペナルティレベルは、周辺装置が、電力とクロック源が作動中であることを要求することに対応している。これによって、前述のようにクロック源の中核部を始動するのは比較的長い時間がかかる傾向があるので、待ち時間の大幅な削減ができる。しかし、クロック源を作動し続けることは、全体の電力消費量に影響を与える。
【００１７】
第四のペナルティレベルは、周辺装置が、電力とクロック源とクロックバッファとが作動中であることを要求する、「ゼロ」ペナルティレベルである。これによって、対応するクロックゲートが閉じるとすぐに、つまり大幅な遅延がなく、クロック信号を受信することができる。
【００１８】
したがって、上記したペナルティレベルは、クロック信号は要求されていないが、電力消費量と待ち時間の間のトレードオフをより改善させる、異なる待機状態として見ることができる。
【００１９】
このことは、リソースの制御を周辺装置に委譲することによって、要求に関してより改善された意思決定を行なうことができるので、動作や待ち時間を受け入れがたく構成しなくても、全体的な電力消費量を削減することができるという、本発明で可能となった原理をさらに説明するものである。従来技術の中央制御の構成では、個々の周辺装置のペナルティレベルを管理することは、コントローラ機能に組み込まれる必要があり、周辺装置が追加されたり動作が変更されたりしても拡張性がないので、非常に困難であろう。
【００２０】
特定の時点における特定の周辺装置に対するペナルティレベルは、その時点で許容できる最大待ち時間で決まることになる。もちろん、クロック源またはクロックバッファが他の周辺装置のために既に作動中である場合、実際に経験する待ち時間は、この最大値よりも短くなるであろう。
【００２１】
上記のペナルティレベルは、記載されたクロック状態から導き出された説明用事例にすぎないということが理解されよう。より多くのまたは異なるクロックおよび／または電力の状態が利用可能な場合は、より多くのまたは異なるペナルティレベルが利用可能となる。しかし、考えられるすべての状態組合せに対応するペナルティレベルが周辺装置にとって利用可能になることが必須ではなく、例えば、意味のないもの（例として、待ち時間を減らさずに電力消費量を増加させるもの、またはその逆）があるかもしれない。
【００２２】
上述したように、本発明は、周辺装置が正確に何のリソースを必要とするのかを知る最善の立場にあるので、リソースをできるだけ効率的に要求することができるという原理の下に、周辺装置はリソースを必要とするときに要求することができるようにする。しかし、出願人は、さらに、第一周辺装置は、自分の要求に応じて第二周辺装置が操作を実行するためにはリソースが必要となることがあらかじめわかる状況がいくつかあることを理解するに至った。したがって、本発明の一連の実施形態では、少なくとも一つの第一周辺装置は、第二周辺装置を促してリソース要求を発行させるように構成される。このような実施形態では、第二周辺装置は第一周辺装置からある操作を実行する要求を受信しても、その操作を実行する前に必要なリソースを要求しなければならないという状況と比較すると、待ち時間は減少すると思われる。
【００２３】
そのような構成は、それ自体で新規であり進歩性があると考えられるので、さらなる態様から見たときに、本発明は、複数の周辺モジュールと、リソース供給モジュールと、を備えたマイクロ制御デバイスを提供するものであって、前記周辺モジュールのうちの少なくとも第一周辺モジュールは、前記周辺モジュールのうちの第二周辺モジュールを関与させるタスクを実行するようにプログラムされ、前記第一周辺モジュールは、前記第二モジュールを促して前記リソース供給モジュールから電力および／またはクロック信号を要求する信号を生成させる信号を、生成するように構成されることを特徴とする。
【００２４】
該周辺モジュールは、プロセッサを含むものとする。第一周辺モジュールは、第二周辺モジュールの代わりに直接リソース供給モジュールに要求信号を送信するものとする。しかし、別の一連の実施形態においては、第一周辺モジュールは、第二周辺モジュールがリソース供給モジュールから電力および／またはクロック信号を要求することができるように、第二周辺モジュールに要求信号を送信する。
【００２５】
本発明の第一態様の一連の実施形態では、該リソース制御システムの構成要素は、電力を節約するために自らをシャットダウンさせることができる。例えば、マスタモジュールおよび／またはリソース供給モジュールが提供されている場合、これらは、いくつかの状況では電源が切られることがある。一連の実施形態において、少なくとも一つのマスタモジュールは、マスタモジュールが小電力状態にあるときに、例えば電力というリソースを周辺装置に提供するように構成される。こうすれば、例えば、デバイス全体がスリープ状態に入っても、所定の時間にデバイスを覚醒させるためにタイマーを電源が入った状態に維持することができる。しかし、マスタモジュールは小電力状態にあるので、リソース要求信号に応えることができず、リソースが供給されるという状態を変えることはできない。
【００２６】
そのような構成は、それ自体で新規であり進歩性があるので、さらなる態様から見たときに、本発明は、マイクロ制御デバイスと、一つ以上の周辺装置と、リソース要求信号に応じて前記周辺装置に対するリソース供給を制御するための一つ以上のリソース制御モジュールと、を提供するものであって、前記リソース制御モジュールまたは少なくともその一つは、リソース要求信号に応えないが、少なくとも一つの周辺装置にリソースを供給する小電力状態を有することを特徴とする。前記リソースは、電力および／またはクロック信号であることが好ましい。
【００２７】
本発明の全ての態様によれば、マイクロ制御デバイスは、単一の集積回路によって提供されるものとする。
【００２８】
本発明の全ての態様によれば、マイクロ制御デバイスは、無線送信機および／または無線受信機を備えるか、または制御するように構成される。
【図面の簡単な説明】
【００２９】
本発明の特定の実施形態について、付随する図面を参照しながら、ほんの一例として説明する。
【図１】は、本発明に係るシステムのアーキテクチャの概略図である。
【図２】は、図1のシステムで使用するマスタモジュールの概略図である。
【図３】は、制御される電力リソースをより詳細に示す図である。
【図４】は、制御されるクロックリソースをより詳細に示す図である。
【図５】は、図１のシステムで使用するスレーブモジュールの概略図である。
【図６】と
【図７】は、マスタモジュールとスレーブモジュール間の制御として考えられる別の構成を示している。
【図８】は、モジュール間の主なインタフェースの構成例である。
【発明を実施するための形態】
【００３０】
図１は、本発明に係るマイクロコントローラ用リソース制御システムの全体アーキテクチャを示している。アーキテクチャの上部にあるのは、トップ支援モジュール２である。これには、後に詳細に説明するように、該システムが制御する、電力およびクロックリソースが含まれる。
【００３１】
トップ支援２の下にあるのは、マスタモジュール４ａである。これもまた、後により詳細に説明する。最上位のマスタモジュール４ａの下にあるのは、別のマスタモジュール４ｂと三つのスレーブモジュール６である。スレーブモジュール６は、様々な周辺モジュールと関係付けられているが、それらの周辺モジュールの正確な性質は必ずしも必要ではない。一方、中間レベルのマスタモジュール４ｂは、五つの別のスレーブモジュール６、８（スレーブモジュールのうちの一つは、主プロセッサモジュール８である）と、さらに別のマスタモジュール４ｃに接続されている。最下位のマスタモジュール４ｃには、二つの別のスレーブモジュール６が関係付けられている。
【００３２】
この概略図は、特定の用途に適合するように実施することができる想定階層構造にかなりの柔軟性があることを示している。スレーブモジュール６とマスタモジュール４との間のクロックライン接続は、クロックゲート制御１０を介してなされるが、あるマスタモジュール４と別のマスタモジュールの間の接続は、直接になされる、つまり、クロックゲート制御１０を含んでいない。したがって、階層に関係なく、任意のスレーブモジュール６について、トップ支援モジュール２との間のクロックラインには、単一のクロックゲート制御１０しかない。
【００３３】
図２は、マスタモジュール４の概略図を示している。マスタモジュール４は、自分に接続された、スレーブモジュールまたは任意の他のマスタモジュールに、異なるクロック、主たるリセットとステータス情報を配布するために使われる。上述したように、スレーブモジュールは、各々に関係付けられた状態マシン１２を用いることによってマスタモジュールの制御下にあるクロックゲート制御１０をそれぞれ介して接続されている。マスタモジュールは、電力の供給と停止に必要な信号を制御し、リセット信号、アイソレーション信号、および保存・復元信号を生成し、スレーブモジュールからの異なる要求信号を処理することも行なう。これらの要求信号の一部はマスタモジュール４で内部的に処理され、一部は、図３と図４を参照して以下に詳細に説明するように、異なる発振器と、電力レギュレータと、クロックバッファと、を電源投入・切断するために、上位のマスタモジュールまで、最終的にはトップ支援モジュール２まで送られるものとする。
【００３４】
マスタモジュール４は、いくつかの入力と出力を有している。上流インタフェース１４は、マスタモジュール４をより高位にある他のマスタモジュールに接続するために、またはトップ支援モジュール２と直接に接続するために使用される（図１参照）。マスタモジュール４は、このインタフェースを通じて、異なる電力レギュレータとクロック源、および異なる電力／クロックバッファに対する要求を送出すると、返されるデータは、要求に対応する、異なるシステムクロック、異なるシステムリセット信号、および電力とクロックに関するステータス信号である。
【００３５】
下流インタフェース１６（一つだけ図示）は、マスタモジュール４に接続されているスレーブモジュール６ごとに一つあるインタフェースをいくつか束ねるバスを備えている。このマスタモジュールに別のマスタモジュールがスレーブとして接続されている場合、その別マスタモジュールからの要求は、他のスレーブモジュールからの要求とまとめられて、上流インタフェース１４に直接渡され、上流インタフェース１４からの対応するクロックとリセット信号が、クロックゲート制御１０またはその他の論理回路を経由せずに、下流マスタモジュールのための下流インタフェースに直接渡される。
【００３６】
インタフェース２２は、マスタモジュールの構成のためとステータス情報を読み出すためのプロセッサ通信インタフェースである。
【００３７】
マスタモジュールには、マスタとスレーブ間１６、６４およびマスタ同士間１４、１６の主要インタフェースに統合された状態で、「バディ」接続として知られている入出力のペアも含まれている。これは、一方の周辺装置が他方を促してリソースを要求することができるようにするために、二つの周辺装置の接続を可能にする通信回線となる。この要求は、要求を出した周辺装置のスレーブモジュールが接続されているマスタモジュールのバディ要求出力を介して行われ、リソースが要求された周辺装置のスレーブモジュールに接続されているマスタモジュールのバディ要求入力に渡される。バディ要求信号は、次いで、対応するスレーブモジュール６を介して、第二周辺装置に渡され、該周辺装置は要求を適切に処理するように指示される。このように構成すれば、ある周辺装置が、クロックリソースおよび／または電力リソースを必要とするアクションを他の周辺装置が実行する必要が生じることが判っているタスクを開始するとき、待ち時間を低減することができる。
【００３８】
図３は、トップ支援モジュール２が、スレーブモジュールの代わりにマスタモジュールから来る電力要求をどのように処理するのかを概略的に示している。電源は、超小電力（ＵＬＰ）レギュレータ２８と主電圧レギュレータ３０とを備える。また、特定の周辺装置への電力を接続したり切断したりするために用いられるスイッチ３２もある。
【００３９】
本実施形態における電力要求は、コアとスイッチという二つの信号を含んでいる。コア信号は、主電圧レギュレータ３０が始動されることを要求するために使用される。例えば、あるマスタモジュールが、結果的に主レギュレータを始動する必要がある、あるスレーブモジュールからの要求、または一つ以上のスレーブモジュールから集約した要求を受信した場合、そのマスタモジュールはコア信号を発行することになる。主レギュレータ３０が始動していない場合、電力は、ＵＬＰ２８によってのみ供給されることになる。これでも、一般的に、デバイスの小電力スリープモード時にデバイスを作動させるのに十分であろう。最上位または「トップ」マスタモジュール４ａは、例えば、周辺装置６、マイクロプロセッサ８、さらにはトップ支援モジュール２の全モジュールからの要求を集約し、これらを用いて、特定のレギュレータのスイッチを入れるかどうかを自動的に決定する。
【００４０】
スイッチ信号は、特定の周辺装置に対し、該周辺装置と関係付けられた電力スイッチ３２を開いたり閉じたりすることによって、実際に電力を供給するために使用される。
【００４１】
図４は、トップ支援モジュール２が、スレーブモジュールの代わりにマスタモジュールから来るクロック要求をどのように処理するのかを概略的に示している。この例のクロックリソースは、大電力で、始動が非常に速く、低精度のＲＣ（抵抗 - コンデンサ）発振器３４と、小電力で、始動が遅く、高精度の水晶発振器３６と、を備えている。ＲＣ発振器３４は、共通のクロック源部３８に直接接続されているが、水晶発振器は、生成する信号を増幅するためにバッファ４０を有している。図示したスイッチ１０は、マスタモジュール４に設けられ、図２を参照して上述した、クロックゲート制御である。
【００４２】
クロック要求信号は、三つの異なる構成信号を含む。最も単純なものは、要求が来たスレーブモジュール６に対応するクロックゲート１０を閉じるためにマスタモジュール４が使用する、スイッチ信号である。コア信号は、発振器３４、３６の一方または両方が始動することを要求するために使用される。コア信号には、どの発振器を対象とするのかを決定するパラメータが含まれる。第三の構成信号は、バッファ４０を始動することができるバフである。
【００４３】
上記のように、ＲＣ発振器３４は、非常に速い始動時間となっている。これによって待ち時間が短くなるので、必要としないときには、より手軽に電源を切ることができることになる。水晶発振器３６は始動時間が比較的長いが、バッファ４０は始動時間がより短い。これによって、消費電力を削減するが長い待ち時間とはならないためには、バッファだけ電源を切って水晶発振器は作動し続けるようにすることが考えられる。水晶発振器のクロックを必要とする場合、単に再びバッファの電源投入をすればよく、水晶発振器自体を電源投入しなければならない場合よりもはるかに迅速に行なうことができる。
【００４４】
上述の構成は、どのようにクロックリソースを供給するかに関して高い柔軟性を持たせ、特に、一方では精度と電力消費量とのトレードオフに対して、また、他方では待ち時間と電力消費量とのトレードオフに対しても幅広いオプションを持たせる。同様に、主電圧レギュレータの電源を投入・切断できることは、待ち時間と電力消費とのトレードオフに柔軟性を持たせる。
【００４５】
この特定の例では、周辺装置が、スレーブモジュールを介し、（特に最大許容待ち時間に関する）自らの仕様と運用状況に依存して選択することができる、四つの異なるペナルティレベル、つまり、四つの異なる待機状態がある。第一の、または最も高い、ペナルティレベルでは、主レギュレータ３０が停止し、クロック源３４、３６が停止した状態である。これは、もちろん、電力消費量が最も少ない。次のペナルティレベルでは、主レギュレータ３０は作動しているが、クロック源３４、３６は停止したままである。結果的に、関連するクロック源３４、３６の電源を投入する必要があるだけで、レギュレータ３０はその必要が無いので、待ち時間は少し短い。もちろん、レギュレータ３０は、他の周辺装置からの要求に応えて既に電源が入っていることもあり得るわけで、したがって、このペナルティレベルは、周辺装置が許容できる最大待ち時間を表すが、実際にはより短いこともある。
【００４６】
第三のペナルティレベルは、レギュレータ３０とクロック源３４、３６が作動しているが、バッファ４０が停止している状態である。こうすれば、水晶発振器によって提供されるクロックを必要であれば比較的迅速に提供することができるが、バッファによって消費される電力を節約する。第四のペナルティレベルは、バッファ４０のスイッチが入り、クロックゲート１０だけが開放状態である。こうすれば、クロック源３４、３６のどちらかをすぐに提供することができるが、クロックが周辺装置に実際に提供されている状況と比べて節減できる消費電力は非常に少ない。
【００４７】
図５は、スレーブモジュール６の概略図である。少なくとも一つのこのようなスレーブモジュールが周辺装置ごとに設けられている。図５の右側には、周辺装置からスレーブモジュールへの多くの入力がある。これらの入力には、周辺装置が（要求パラメータとして渡される）特定のペアの電力とクロック周波数を要求するために使用するリソース要求ライン５０と、クロック・電力のペアを要求するように覚醒ピンを促すような非同期イベントを可能にする非同期リソース要求ライン５２と、周辺装置がリセットを要求することを可能にするリセット要求ライン５４と、周辺装置がペナルティレベル、したがって、上述のように許容可能な最大待ち時間を決定することを可能にするペナルティレベル設定５６と、スレーブモジュールが（クロック／電力のペア要求の一部として必要となる周波数だけを指定することではなく）どのクロック源から受信したいかを指定することを可能にするクロック源入力５８と、が含まれる。
【００４８】
さらに図５の右側にあるのは、バディ要求入力６０とバディ要求出力６２である。これらは、先に説明したように、スレーブモジュールに関係付けられた周辺装置が、バディ要求入力に適切な信号を送信することによって、リソースを要求する必要が生じることになるという早期警告を他の周辺装置に与えることを可能にする。この信号は、スレーブモジュール６が接続されているマスタモジュールを通過し、対象スレーブモジュールが接続されているマスタモジュールを介して、対象スレーブモジュールまで下り、そしてその対象スレーブモジュールにおける、対象周辺装置へのバディ要求出力６２に渡される。このようにすれば、周辺装置がリソース要求を行なうようバディ要求で促すことができる。このプロセスは、任意の二つの周辺装置間で発生する可能性があり、したがって、別の周辺装置が、スレーブモジュール６によって受信されてバディ要求出力６２を介して渡されるバディ要求を行なうことで、該周辺装置に適切なリソース要求をするよう促すことができる。
【００４９】
図５の描写の下部にあるのは、マスタモジュールとのインタフェース接続６４である。この接続は、図２で示した、マスタモジュールの接続１６に対応する。マスタモジュールの場合と同様に、スレーブモジュール６も、左側に示した構成インタフェース６５を有している。
【００５０】
ブロックの上部には、要求されたクロックを周辺装置に提供するクロック出力６６と、スレーブモジュールがクロックに関係付けられた周辺装置にリセット信号を渡すことを可能にするリセット出力６８と、周辺装置によって要求される電力とクロックに関するステータス情報を提供するステータス出力６９という三つの出力がある。
【００５１】
図８は、マスタモジュール４ａ、４ｂ、４ｃとスレーブモジュール６との間、二つのマスタモジュール４ａ、４ｂ、４ｃの間、または上部マスタモジュール４ａとトップ支援２との間のいずれかのインタフェース１６、６４の例示的な構成を示している。階層の上位にある構成要素は左側にあり、階層の下位にある構成要素は右側にある。図８で最も上に示される四つの接続７０〜７６は、電力に関連する。最初にあるのは、前述のように、周辺装置６に対して電力を要求するために使用される上流向き電力要求７０である。これは、例えば、中核の電力レギュレータ、および、例えば、周辺モジュール６の電源スイッチに接続されているものとする。他の上流向き接続は、周辺装置の実際の電力消費を示すために使用される電力消費７２である。 電力可能７４は、要求された電源が供給される準備ができたときを示すために使用される下流向き接続であり、電力ドメイン可能７６は、電力ドメインが要求された場合に準備ができたことを示すために使用される下流向き接続である。
【００５２】
次の五つの接続７８〜８６は、クロックに関連する。クロック要求という上流向き接続７８は、コア発振器、バッファ発振器、クロックスイッチ（またはクロックゲート）、そして周辺モジュール６の非同期要求機能に接続するものとする。上流向きクロック要求７８とクロック源要求８０は、以前に記載されている。下流向き接続８２は実際のクロック信号であり、他の二つの下流向き接続８４、８６は、クロックおよびクロック源がそれぞれ作動中であることを示している。
【００５３】
リセット要求接続８８は、前述したように、周辺装置がリセット信号を要求することを可能にする。リセット下流向き接続９０は、適切な場合にリセット信号が提供されることを可能にする。
【００５４】
最後に、上記のように、バディ要求９２は、一方が、他方に必要になるのを見越してリソースを要求することを可能にする、モジュール間の双方向接続である。
【００５５】
次に、上述の実施形態のいくつかの例示的な動作を、すべての図を参照して説明する。
【００５６】
最初は、周辺装置がスリープモードから覚醒するために、電力とクロック源を必要とするものとする。これは、例えば、中間層のマスタモジュール４ｂに接続されたスレーブモジュール６に関係付けられた周辺装置であってもよい（図１参照）。周辺装置は、適切な電力（例えば、主レギュレータ３０）と適切なクロック源（例えば、水晶発振器３６）に対する要求を、非同期リソース要求入力５２とクロック源入力５８を介して、その周辺装置に関連付けられたスレーブモジュール６へ渡す。スレーブモジュール６は、この要求を、スレーブ・マスタインタフェース６４、１６を介して、マスタモジュール４ｂに渡す。要求元のスレーブモジュール６と関係付けられた状態マシン１２は、このリソース要求を処理する。例えば、要求されたクロック源が既に周辺装置に提供されている場合、状態マシンは単にスレーブ６と関係付けられたクロックゲート１０を開くだけで、マスタ・スレーブインタフェース１６、６４を介して新たな周辺装置へそのクロックを供給することになる。同様に、電力も、既に利用可能である場合、直ちに提供されることになる。
【００５７】
必要なクロック／電力のペアが既に提供されているかどうかにかかわらず、リソース要求は、受信したマスタモジュール４ｂから次層のマスタモジュール４ａまでマスタ‐マスタインタフェース１４、１６を介して渡される。受信したマスタモジュール４ａは、出力１４を介して、トップ支援モジュール２に至るまで直接に渡す。トップ支援モジュール２は、次いで、水晶発振器３６と関係付けられた主電圧レギュレータ３０とバッファ４０を起動する。発振器自体は、この例では周辺装置のうちの一つ（クロックを要求している周辺装置である場合もそうでない場合もある）が対応するスレーブモジュール６にペナルティレベル入力５６を介してペナルティレベル三を設定していたので、既に作動している。これは、電源を投入しなくても水晶クロック源３６を短い待ち時間で届けることができ、バッファ４０だけを停止することによって水晶自体は安定化させることが目的であった。
【００５８】
水晶発振器クロックは、共通クロック源部３８へ、そしてそこから下に戻って、トップ支援モジュール２と上層マスターモジュール４ａとの間のインタフェース１４を介して、および上層・中間層のマスタモジュール間のインタフェース１６、１４を介して、要求元のマスタモジュール４ｂに提供される。要求元の周辺装置と関係付けられた、要求元のマスタモジュール４ｂの状態マシン１２は、クロック源と電力源が安定したときを決定し、次に電源スイッチ３２とクロックゲート１０を開いて、クロックと電力を要求元の周辺装置へそのスレーブモジュール６を介して提供する。
【００５９】
電力および／またはクロックがすでに作動していて、マスタモジュール４ｂによってすぐに提供することができる場合、要求を上のトップ支援２まで渡すことは、もともとリソースを要求していた周辺装置がそれを要求することを止めるかどうかにかかわらず、要求元の周辺装置が必要とする間はリソースを提供し続けることを確実にする。
【００６０】
別の動作例では、ある周辺装置が、別の周辺装置を必要とするタスクを実行している。例えば、主プロセッサは、フラッシュメモリに書き込む必要があることがあり、そのためフラッシュの周辺装置が始動されてクロック源を持つ必要が生じることになる。おそらく、自身のリソース要求に加えて、または、例えば、既に作動中である場合は個別に、主プロセッサは、自身と関係付けられたスレーブモジュール８のバディ要求入力６０を介して、フラッシュメモリ周辺装置宛のバディ要求を送信する。バディ要求信号は、通常のスレーブ‐マスタインタフェース６４、１６を介して、スレーブ８に接続されたマスタモジュール４ｂまで渡され、次に、マスタモジュール４ｂが、フラッシュメモリ周辺装置に接続されたマスタモジュール４ｃにそれぞれのマスタモジュール間のインタフェース１４、１６を介してそのバディ要求信号を渡す。次に、受信したマスタモジュール４ｃは、その要求をフラッシュメモリ周辺装置と関係付けられたスレーブ６までマスタ‐スレーブインタフェース１６、６４を介して渡し、該周辺装置は、次に、前述のようにリソース要求を行なうことによって、要求に応える。
【００６１】
バディ要求方式を用いることによって、フラッシュメモリ周辺装置が必要とするリソースは、大幅な追加待ち時間なしに供給することができる。例えば、フラッシュメモリ周辺装置は、主プロセッサから接触があったときに、フラッシュメモリ周辺装置がまず覚醒するのを待たずに、応答する準備ができていることになる。そのような方式は、任意の二つの周辺装置の間で使用することができ、上記のものが単なる例であることは、もちろん理解されるであろう。
【００６２】
別の動作例では、一部またはすべてのマスタモジュール４自体の電源が落とされるが、それらに接続されたスレーブモジュール６の一部は、マスタモジュールがスリープ状態でいても電力とクロックのリソースを受信し続けるものとする。周辺装置は、例えば、ＵＬＰレギュレータ２８から電力を受け取り、低電力水晶発振器３６が低電力モードで動作できるようにしてもよい。マスタモジュール４の電源が落とされている間は、明らかにスレーブモジュール６からの新しい要求を処理することはできないが、マスタモジュール４の電源が落とされているとき、スレーブからのこれらの要求は「保持」されるものとする。マスタモジュール４の電源を落とすことができることは、特定の操作中に電力を節約する、さらに大きな余地を明らかに提供してくれるものである。
【００６３】
図６は、本発明の別の実施形態による三つのマスタモジュール７０、７２、７４の構成を模式的に示している。特に、二つの下位層のマスタモジュール７２、７４が接続された、より高い層のマスタ７０が存在する。状態マシン１２が各クロックゲート１０（および、その結果として各周辺装置６）と関連する上述の実施形態とは対照的に、本実施形態において、周辺装置の一部は、電力ドメインにグループ化されて、各マスタモジュール内で、その電力ドメインに対するすべての信号を制御する共有の状態マシン１２からサービス提供を受ける。電力ドメインは、同じ電力スイッチを介して同じ電力レギュレータに接続されている周辺装置のグループに対応する。異なる周辺装置を単独に始動したり切断したりすることはできないが、各周辺装置はまだ各々と関係付けられたクロックゲート１０を有しているので、クロックの供給は依然として個別の周辺装置ごとに制御することができる。
【００６４】
したがって、最上位層のマスタモジュール７０においては、三つの周辺装置はすべて同じ電力ドメインに属しているので、マスタモジュール７０は、一つの状態マシン１２だけを有している。低い層の一つのマスタモジュール７２には、二つの電力ドメインがあって、各々二つの周辺装置６を有している。これらの電力ドメインのうちの一つは、より上層のマスタモジュールと関係付けられたものと同じであっても、または両方が異なっていてもよい。他の下位層のマスタモジュール７４にも、二つの電力ドメイン、したがって二つの状態マシン１２が存在するが、この場合、各電力ドメインは、単一の周辺装置６が関係付けられているだけである。
【００６５】
周辺装置を電力ドメインとして構成することは、各々が自身の電力を制御することができるよりもすこし柔軟性に欠けるが、こうすることで集積回路上の必要なゲートの数、したがって全体の電力消費量と必要面積が削減されるので、状態マシン１２の数を削減できるという重要な利点がある。
【００６６】
図７は、この原理をさらに取り入れた別の実施形態を模式的に示している。この構成では、三つの電力ドメインと各々に関係付けられた一つだけの状態マシン１２ａ、１２ｂ、１２ｃが存在する。状態マシン１２ａ、１２ｂ、１２ｃは、すべて上位層のマスタモジュール７６内に配置されており、つまり、それに接続された二つの下位層のマスタモジュール７８、８０は、状態マシンを何ら有していない。状態マシン１２ａ、１２ｂ、１２ｃは、それぞれの電力ドメインにある周辺装置６ａ、６ｂ、６ｃからのすべての要求を、通常のマスタ‐マスタインタフェースを介して処理する。この例では、最上位のマスタモジュール７６に接続された三つの周辺装置６ａのすべてと、下位層のマスタモジュールの一つ８０に接続された周辺装置の一つ６ａは、第一状態マシン１２ａによって制御される第一電力ドメインを形成する。第二状態マシン１２ｂによって制御される第二電力ドメインは、下位層のマスタモジュールの一つ７８に接続された二つの周辺装置６ｂと、他の下位層のマスタモジュール８０に接続された一つの周辺装置６ｂを含んでいる。第三状態マシン１２ｃによって制御される第三電力ドメインは、下位層のマスタモジュールの一つ７８に接続される二つの周辺装置６ｃだけを含んでいる。
【００６７】
マスタ・モジュール７６、７８、８０のプログラムは、そのうちの一つ７６が単に構成設定によって最上位のマスタモジュールとして指定されただけであって、同じものであり、状態マシンの制御をすることができる。最上位のマスタモジュール７６は、トップ支援モジュールと接触するものともなる。
【００６８】
上述した、本発明の実施形態は、周辺装置へクロックと電力のリソースを提供するに際してより優れた制御と柔軟性を与えるため、電力の大幅な節約を可能にすることが分かるであろう。さらに、この構成は、リソース制御方式を混乱させたりプログラムを大幅に書き換えたりせずに、周辺装置を簡単に追加、変更または削除することができることを意味するモジュール式アプローチを可能にする。しかし、記載された実施形態は単なる例にすぎず、本明細書で詳述された原理は多種多様な構成で使用することができるので、本発明の範囲は与えられた実施例に限定されないことが、当業者には理解されるであろう。
【図１】
2015527638.tif 000003
【図２】
2015527638.tif 000004
【図３】
2015527638.tif 000005
【図４】
2015527638.tif 000006
【図５】
2015527638.tif 000007
【図６】
2015527638.tif 000008
【図７】
2015527638.tif 000009
【図８】
2015527638.tif 000010
【国際調査報告】
2015527638.tif 000011
2015527638.tif 000012