(57)【要約】低電力装置の復帰可能な状態を特定するシステムおよび方法について説明する。複数のバスマスタへのシステムバスアクセスを許可するアービタ（１１０、３１０、または４１０）を有する低電力装置（１００、３００、または４００）が、低電力動作モードを起動するように設定される。低電力装置内の低電力コントローラ（１５０、３５０、または４５０）は、低電力モードを起動する要求をバスアービタに与える。バスアービタは、バスマスタへのバス要求の許可を停止し、システムバスが現在のバスアクセスをすべて処理する時期を特定する。システムバスがアイドル状態になると、バスアービタは、低電力コントローラにバス許可信号を返す。バスマスタに関連するクロックは、ディスエーブルされてバスアービタを一時停止するとともに、低電力装置の低電力化を可能にする。
2006508409.tif 000002
【特許請求の範囲】
【請求項１】
低電力モードへの移行を判定するステップと、
前記低電力モードへの移行の判定に応答して、アービタ（１１０、３１０、または４１０）にバス要求を与えるステップと、
前記バス要求に応答して、前記アービタに関連する第１のバスマスタ（１２０または１３０）の少なくとも一部に与えられた第１のクロックをディスエーブルするステップと、から成る方法。
【請求項２】
前記バス要求に応答して、前記アービタに関連する第２のバスマスタの少なくとも一部に与えられた第２のクロックをディスエーブルするステップをさらに含む、請求項１記載の方法。
【請求項３】
前記バス要求に関連するバス許可信号を受け取るステップをさらに含む、請求項１記載の方法。
【請求項４】
前記第１のクロックをディスエーブルするステップは、前記バス許可信号を受け取るステップに応答して行なわれる、請求項３記載の方法。
【請求項５】
前記バス許可信号を受け取るステップに応答して、前記第１のバスマスタに加え、システムの第１の部分への電力を低減するステップをさらに含む、請求項３記載の方法。
【請求項６】
電力モードを示すレジスタ（１５２、３５２、または４５２）と、
前記レジスタに接続され、電力モードをモニタすると共に、定格電力モードとは異なる低電力モードが示された場合に、第１のバスマスタおよび第２のバスマスタの少なくとも一方に関連するバス要求の処理を防止する、アービタ（１１０、３１０、または４１０）と、
から成るシステム。
【請求項７】
前記アービタは、前記低消費電力モードが特定された場合に低電力バス要求を処理するとともに、低電力バス要求が発生された後に、前記バスマスタのバス要求のうちの少なくとも１つの処理を防止する請求項６記載のシステム。
【請求項８】
前記アービタは、前記第１のバスマスタおよび第２のバスマスタの少なくとも一方の少なくとも一部に与えられたクロック信号をディスエーブルする、請求項６記載のシステム。
【請求項９】
複数の切り替えられるシステムバス（１７９）と、
第１のバスマスタ（１２０または１３０）と、
第２のバスマスタ（１２０または１３０）と、
１つが複数の切り替えられるシステムバスの各１つに関連付けられている、複数のアービタ（１１０、３１０、または４１０）と、
制御モジュール（１５０、３５０、または４５０）と、から成るシステムであって、制御モジュール（１５０、３５０、または４５０）が、
電力モードを特定し、
前記電力モードが定格電力モードよりも低い場合に、前記複数のアービタのサブセットにバス要求を提供し、
前記複数のアービタの前記サブセットから、前記バス要求に関連するバス許可を受け取り、
前記第１のバスマスタまたは第２のバスマスタの少なくとも一方に関連するクロック
をディスエーブルするものである、システム。
【請求項１０】
前記制御モジュールは、前記バス許可の受け取りに基づいて、低電力モードを示す信号を与えるのにさらに使用される、請求項９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に半導体装置に関し、特に半導体装置の低電力モードを実現するシステムおよび方法に関する。
【背景技術】
【０００２】
低電力の携帯機器の使用が次第に一般的になっている。例えば、セル式電話機、携帯情報端末（ＰＤＡ）等の携帯端末は、ますます普及している。多くのマイクロプロセッサ装置が、電力節約に対処すべく、１つまたは２つ以上の低電力状態を備えるように設計されている。電力の節約により、バッテリ寿命を延ばすことができるので、携帯端末をさらに長時間動作させることができる。
【０００３】
最新のマイクロコントローラおよびマイクロプロセッサにおける、低電力状態を実現する１つの方法は、低電力命令を与えることである。低電力命令の実行により、装置は、シャットダウンシーケンスを初期化でき、それによって、装置は、装置が低電力状態からその後復帰できるような方法によって、シャットダウンに対する準備をする。例えば、低電力マイクロプロセッサがメモリアクセスサイクル中にシャットダウンされる場合、プロセッサをメモリのような外部装置よりも前にディスエーブル（ｄｉｓａｂｌｅ）して、要求されたデータを戻すことができるであろう。プロセッサが、起動後すぐにこれらの終了サイクルの発生を予期している場合、プロセッサは、発生しないメモリアクセスを事前に察しているので、それは装置を異常停止させてしまう。しかし、低電力命令を実行することによって、公知の方法で低電力モードに移行した後に動作を終了するような方法で、プロセッサに関連するマシンをシャットダウン状態にすることができる。
【０００４】
多くのマイクロプロセッサコアが、既知条件の低電力状態に移行する低電力命令の使用をサポートしているが、そのような命令の使用および他の方法は、すべてのマイクロプロセッサコアで普遍的に利用可能というわけではない。そのようなマイクロプロセッサコアを低電力装置で使用することが望ましい場合、低電力動作モードに移行する代替方法が定義される必要がある。また、ＤＭＡ装置および他のシステム機能ブロックのようなバスマスタ装置は、低電力モード命令を直接実行しなくてもよく、同様の明白な方法によってそのような装置を低電力状態に移行させることが、低電力システムの要件でもある。したがって、効率的な方法で低電力動作モードに移行できることが有用である。
【発明を実施するための最良の形態】
【０００５】
本開示の特定の実施形態を本明細書で提示した図面に示し、説明する。本開示の種々の目的、利点、特徴、および特性のみならず、他の方法、関連する構成要素の動作および機能、ならびに製造上の部品の組み合わせおよび経済性が、そのすべてがこの明細書の一部を構成する、添付の図面に関する以下の説明および請求項を考慮することによって、明らかにされるであろう。
【０００６】
本発明の少なくとも１つの実施形態は、装置を低電力動作モードに移行させる方法を提供する。低電力コントローラが、バスアービタ（ｂｕｓ  ａｒｂｉｔｅｒ）に、低電力モードを起動するバス要求を行う。その要求は、バスアービタによって受け取られた他の要求よりも高い優先順位で処理される。バスアービタは、インタフェース接続されたバスマスタからの新しい要求の承認を停止し、システムバスが現在のバスアクセスを処理し終えるまで待つ。いったん、システムバスがアイドル状態になると、バスアービタは、低電力コントローラのバス要求を承認し、これはシステムが低電力動作モードを自由に取れることを示す。一実施形態において、バスアービタに関連するバスマスタが一時停止され、低
電力消費を可能にする。本発明の特定の実施形態において、バスアービタは、低電力コントローラにバス許可信号を返し、低電力コントローラが低電力動作モードを自由に取れることを示す。この方法によって、バスマスタとしても作動する装置を復帰可能な状態に移行させることができ、そのような装置は、バスアービタのサポートによって安全な低電力モードに容易にシャットダウンされる。
【０００７】
図１に低電力装置１００の一部を示す。このような低電力装置の特定の例としては、携帯型ＰＤＡ、電話機を始めとする携帯型通信装置、ラジオ、および他の装置を挙げることができる。低電力装置１００は、バスアービタ１１０、バスマスタ１２０、バスマスタ１３０、バスマルチプレクサ１４０、低電力制御モジュール１５０、周辺サブシステム１６０、およびメモリ１７０を備えている。
【０００８】
バスアービタ１１０は、次の信号を与える：バスマスタ１２０へのバス許可１（ｂｕｓ＿ｇｒａｎｔ１）およびクロックイネーブル１（ｃｌｋ＿ｅｎ１）信号、バスマスタ１３０へのクロックイネーブル２（ｃｌｋ＿ｅｎ２）およびバス許可２（ｂｕｓ＿ｇｒａｎｔ２）信号、バスマルチプレクサ１４０へのバス選択信号、低電力制御モジュール１５０への低電力バス許可（ｄｂｕｓ＿ｇｒａｎｔ）信号。バスマスタ１２０は、次の信号を与える：バスマルチプレクサ１４０に接続された双方向バス１７６へのアドレス１（ａｄｄｒ１）、データ１（ｄａｔａ１）、およびコントロール１信号、バスアービタ１１０へのバス要求１（ｂｕｓ＿ｒｅｑ１）信号。バスマスタ１３０は、次の信号を与える：バスマルチプレクサ１４０との間にあるバス１７８へのアドレス２、データ２、およびコントロール２信号、バスアービタ１１０へのバス要求２（ｂｕｓ＿ｒｅｑ２）信号。ハンドシェイクコントロール１７１は、バスマスタ１２０に関連し、バスアービタ１１０の第１のポート１１２にインタフェース接続されているが、バス要求１と、バス要求１に応答してバスアービタ１１０によって与えられるバス許可１（ｂｕｓ＿ｇｒａｎｔ１）と、バスマスタ１２０のクロックをイネーブルまたはディスエーブルするのに使用されるクロックイネーブル１（ｃｌｋ＿ｅｎ１）とを含む。同様に、ハンドシェイクコントロール１７２は、バスマスタ１３０に関連し、バスアービタ１１０の第２のポート１１３にインタフェース接続されているが、バス要求２と、バス要求２に応答してバスアービタ１１０によって提供されるバス許可２（ｂｕｓ＿ｇｒａｎｔ２）と、バスマスタ１３０のクロックをイネーブルまたはディスエーブルするのに使用されるクロックイネーブル２（ｃｌｋ＿ｅｎ２）とを含む。バスマルチプレクサ１４０は、バスマスタ１２０およびバスマスタ１３０にそれぞれ関連する各ローカルシステムバス１７６および１７８との間で情報の送受信を行う。さらに、バスマルチプレクサ１４０は、システムバス１７９との間で情報の送受信を行う。低電力制御モジュール１５０は、バスアービタ１１０への低電力バス要求（ｄｂｕｓ＿ｒｅｑ）と、周辺サブシステム１６０、および低電力装置１００の残りの部分への電力モードインジケータ（ｐｏｗｅｒ＿ｍｏｄｅ）とを与える。周辺サブシステム１６０は、バスインタフェース１６５を介してメモリ１７０にインタフェース接続するとともに、低電力制御モジュール１５０に低電力リセット（ｌｐ  ｒｅｓｅｔ）を与える。メモリ１７０は、システムバス１７９およびバスインタフェース１６５を介して周辺サブシステム１６０にインタフェース接続している。周辺サブシステム１６０も、システムバス１７９に接続している。
【０００９】
動作の際、低電力制御モジュール１５０が、低電力装置１００の低電力モードを起動する。低電力制御モジュール１５０は、低電力制御レジスタ１５２を含んでいる。一実施形態において、低電力制御モジュール１５０は、低電力制御レジスタ１５２の値に基づいて、低電力装置１００が低電力モードに設定されるべき時期を判定する。低電力装置１００が低電力モードに移行するとき、低電力制御レジスタ１５２は設定される。例えば、ユーザがキーパッド（図示されない）を始めとするユーザインタフェースを作動していない場合に、低電力装置１００のユーザ動作をモニタするアプリケーション（図示されない）ま
たは周辺サブシステム１６０のサブシステムが、低電力制御レジスタ１５２を設定できる。代替的に、低電力装置１００に電力を供給するのに使用されるパワーセル（図示しない）が低電力になり、低電力装置１００が低電力モードに移行できる場合に、低電力制御レジスタ１５２を設定してもよい。したがって、ユーザはパワーセルを交換するのに、または所望のデータをバックアップするのに必要な手段を講じる時間を持つことができる。さらに、いくつかの実施形態において、低電力制御レジスタ１５２は、バス転送によって低電力制御レジスタ１５２へのアクセスを可能にするために、システムバス１７９にインタフェース接続されていてもよい。
【００１０】
いったん、低電力制御レジスタ１５２が設定されたことを低電力制御モジュール１５０が検出すると、低電力制御モジュール１５０は、バスアービタ１１０に低電力バス要求（ｄｂｕｓ＿ｒｅｑ）を与えることができる。低電力バス要求は、バスアービタ１１０に与えられるバス要求信号を表し、該低電力バス要求は、システムバス１７９へのアクセスに使用されるのではなく、バスアービタ１１０へ指示を与えるのに使用される。同様に、バスアービタ１１０によって与えられる低電力バス許可信号（ｄｂｕｓ＿ｇｒａｎｔ）は、低電力バス要求を承認するために使用される。一実施形態において、低電力制御モジュール１５０は、バスアービタ１１０に低電力バス要求ｄｂｕｓ＿ｒｅｑをアサートした後、バスアービタ１１０からの低電力バス許可信号ｄｂｕｓ＿ｇｒａｎｔ信号の受け取りを待つ。
【００１１】
低電力制御モジュール１５０がｄｂｕｓ＿ｇｒａｎｔ信号を受け取ると、低電力制御モジュール１５０は、電力モードインジケータを与えて、周辺サブシステム１６０、および低電力装置１００の他の部分を低電力状態に移行させることができる。一実施形態において、低電力制御モジュール１５０は設定を適用して、周辺サブシステム１６０に与えられる電力を低減する。一実施形態において、低電力制御モジュール１５０は、低電力装置１００が低電力モードから定格電力モードに移行されるべきことを指示する低電力リセット信号（ＬＰ  ＲＥＳＥＴ）を待つ。したがって、低電力制御モジュール１５０は、低電力リセット信号に応答して、周辺サブシステム１６０を通常動作モードに復帰させることができる。定格電力モードは、低電力装置１００の一般的な機能が利用可能な通常動作モードを表わしている。さらに、通常動作モード中、低電力装置１００は、低電力動作モード中に消費される電力量よりも大きな、通常の電力量を消費し得る。本発明の範囲から逸脱することなく、低電力モードを特定する他の方法を利用できることが理解されるべきであろう。さらに、低電力制御モジュール１５０は、ここに説明した以外の手段を講じて、低電力装置１００を低電力モードに移行させることができる。さらに、本発明の範囲または精神から逸脱することなく、低電力リセット（ＬＰ  ＲＥＳＥＴ）ではなく、低電力モードを終了すべきことを示す代替の手段を使用してもよい。
【００１２】
バスアービタ１１０は、バスマスタ１２０、バスマスタ１３０、および低電力制御モジュール１５０のような複数のリクエスタからの要求を受け取り、リクエスタの１つ、すなわちバスマスタ１２０や１３０が、システムバス１７９にアクセスするのを許可するために使用される。一実施形態において、バスアービタ１１０は、アービトレーション方式を利用して、バスマスタ１２０に関連する第１のポート１１２、またはバスマスタ１３０に関連する第２のポート１１３のいずれか一方からのバスアクセス要求を認識する。例えば、バスアービタ１１０は、バスアービタ１１０が第１のポート１１２または第２のポート１１３からの複数の許可要求を交互に認識するラウンドロビンアービトレーション（ｒｏｕｎｄ−ｒｏｂｉｎ  ａｒｂｉｔｒａｔｉｏｎ）を利用できる。いったんポートが選択されると、バスアービタ１１０の第１のポート１１２または第２のポート１１３は、バスマスタ１２０またはバスマスタ１３０のような関連するバスマスタに、バス許可信号、すなわちバス許可１またはバス許可２をそれぞれ与える。一実施形態において、バスマスタ１１０は、バスマルチプレクサ１４０へも制御信号を与え、アドレス、データ、およびコン
トロール信号のような情報を、選択されたポート（すなわち第１のポート１１２または第２のポート１１３）に関連する利用可能なバスマスタの１つ（すなわちバスマスタ１２０またはバスマスタ１３０）からそれぞれ受け取る。バスマスタ１２０およびバスマスタ１３０は、バスマスタ装置を表わす。例えば、バスマスタ１２０および１３０は、中央処理装置（ＣＰＵ）のような低電力装置１００に組み込まれたプロセッサを含むことができる。バスマスタ１２０および１３０は、ダイレクトメモリアクセス（ＤＭＡ）エンジンまたは他のプロセッサを含むこともできる。
【００１３】
一実施形態において、バスアービタ１１０は、低電力制御モジュール１５０から低電力バス要求信号を受け取る低電力ポート１１４を含んでいる。バスアービタ１１０は、追加のリクエスタとしての低電力制御モジュール１５０からの要求を処理できる。例えば、バスアービタ１１０は、第１のポート１１２、第２のポート１１３、および低電力ポート１１４によって受け取られた複数の要求の間の仲裁を行う（ａｒｂｉｔｒａｔｅ）ことができる。一実施形態において、バスアービタ１１０が低電力バス要求信号を受け取ると、バスアービタ１１０は、バスレディ信号を待つ。バスレディ信号は、システムバス１７９によって使用される信号であって、システムバス１７９上の未処理要求が処理された時期を示す信号である。いったんバスレディ信号が受け取られると、バスアービタ１１０は、低電力制御モジュール１５０に、低電力装置１００を低電力モードに設定できることを示す低電力バス許可信号を与えることができる。
【００１４】
図示の実施形態において、バスアービタ１１０が低電力制御モジュール１５０に低電力バス許可信号を与えるとき、バスアービタ１１０は、クロックイネーブル信号、すなわちクロックイネーブル１およびクロックイネーブル２をも利用して、バスマスタ１２０およびバスマスタ１３０に関連するクロックをそれぞれディスエーブルする。一実施形態において、いったんシステムバス１７９が未処理要求を処理してしまうと、バスマスタ１２０および１３０は、システムバス１７９からの応答を待っていない状態になるので、バスマスタ１２０および１３０は、復帰可能な状態にあると考えられる。バスアービタ１１０は、低電力動作のために、バスマスタ１２０および１３０へのクロックをディスエーブルすることによって、バスマスタ１２０および１３０をこの復帰可能な状態に維持できる。さらに、バスアービタ１１０は、第１のポート１１２および第２のポート１１３からのさらなる要求が承認されない運転モードを起動することができる。バスアービタ１１０は、低電力リセット信号がアサートされて通常動作モードに戻るべき時期を決定するまで待機することができる。したがって、低電力リセット信号がアサートされると、バスアービタ１１０は、クロックイネーブル１およびクロックイネーブル２信号を使用して、バスマスタ１２０および１３０へのクロックを再イネーブルでき、第１のポート１１２および第２のポート１１３から受け取った複数の要求の間の仲裁処理に戻ることができる。
【００１５】
代替の実施形態において、バスアービタ１１０は、低電力リセット信号ＬＰ  ＲＥＳＥＴに直接応答しなくてもよく、その代わりに、低電力動作モードがもはや望まれておらず通常モードへの復帰が発生すべきことを示すポート１１４を介した低電力バス要求のネゲーション（ｎｅｇａｔｉｏｎ）を待っているだけでもよい。
【００１６】
一実施形態において、バスアービタ１１０は、さらに、受け取った要求の優先順位を付けることができる。例えば、できるだけ早く低電力モードに入ることが望ましいとする。その場合、バスアービタ１１０は、バスマスタ１２０およびバスマスタ１３０からの新しい要求を無視して、順番を変えて低電力ポート１１４からの低電力バス要求を処理できる。バスマスタ１２０および１３０からのバスアクセス要求よりも高い優先順位を低電力制御モジュール１５０からの低電力バス要求に与えることによって、バスアービタ１１０は確実に、低電力モードを速やかに実行可能にする。優先順位は、低電力装置１００の要望に応じて変更できる。例えば、それほど厳格でない低電力動作が望ましい場合、低電力ポ
ート１１４を通して受け取られた低電力バス要求の優先順位は、バスマスタ１２０からの要求よりも低いけれどもバスマスタ１３０からの要求よりも高いというようにすることできる。代替的に、低電力ポート１１４に関連する優先順位を、固定優先順位に設定することもできる。
【００１７】
バスマルチプレクサ１４０は、バスマスタ１２０および１３０にそれぞれ関連するローカルバス１７６および１７８を、システムバス１７９に接続するために使用される。一実施形態において、バスマルチプレクサ１４０によって選択されるバスマスタは、バスアービタ１１０によって与えられるバス選択信号によって特定される。例えば、バス選択信号が、バスマスタ１２０が選択されるべきことを指示すれば、バスマルチプレクサ１４０は、システムバス１７９のシステムアドレス、システムデータ、およびコントロール線に、ローカルバス１７６からのアドレス１、データ１、およびコントロール１の信号線をそれぞれ接続する。代わりに、バス選択信号が、バスマスタ１３０が選択されるべきことを指示すれば、バスマルチプレクサ１４０は、システムバス１７９のシステムアドレス、システムデータ、およびコントロール線に、ローカルバス１７８のアドレス２、データ２、およびコントロール２の信号線を接続できる。
【００１８】
システムバス１７９は、バスマスタ１２０および１３０を、メモリ１７０、周辺サブシステム１６０、および他のシステム構成要素（図示されない）に接続するために使用できる。したがって、バスマスタ１２０および１３０は、システムバス１７９に接続されたメモリ１７０および周辺装置１６０のような低電力装置１００の構成要素に書き込み（ｗｒｉｔｅ）、または読み出し（ｒｅａｄ）すべきデータを与えることができる。一実施形態において、システムバス１７９に沿って送信されたアドレス情報およびデータはインタリーブされる。システムバス１７９のシステムアドレス線上で送信されるアドレスは、システムバス１７９のシステムデータ線からのデータの次の群に書き込むバスアドレスを示している。データがシステムデータ線上でアクセスされている間、新しいアドレスは、データの新しい群の新しいアドレスを示すシステムアドレス線上に置くことができる。本発明の範囲から逸脱することなく、システムバス１７９のようなシステムバスに沿ったアドレス情報およびデータを通す他の形態を組み込めることは十分に理解されるべきであろう。
【００１９】
周辺サブシステム１６０は、システムバス１７９に接続されるとともに、バスインタフェース１６５を介してメモリ１７０に接続できる。周辺サブシステム１６０は、低電力装置１００のクロスセクションを処理するためのいくつかの構成要素を含んでいる。例えば、第１のサブシステム１６１は、低電力装置１００の映像を処理するために使用できる。第２のサブシステム１６２は、低電力装置１００の音声を処理するために使用できる。さらに、第３のサブシステム１６３は、キーパッドへのユーザ入力のようなユーザインタフェースを処理するために使用できる。サブシステム１６１〜１６３は、低電力制御モジュール１５０によって与えられた低電力モードインジケータに応答して、パワーダウンモードに移行させることができる。パワーダウンされることをすべてのサブシステムが望んでいるとは限らないことは十分に理解されるべきであろう。例えば、サブシステム１６３は、低電力モードの間にユーザ入力をモニタするのに使用できる。その場合、ユーザがキーパッドを軽く叩くような方法で低電力装置１００へのアクセスを試みると、第３のサブシステム１６３は、低電力リセット信号をアサートして、低電力装置１００を低電力モードから復帰させ、通常動作モードに戻すことができる。周辺サブシステム１６０に関して説明したシステムに加えて、またはその代わりに、他のサブシステムが使用できることは十分に理解されるべきであろう。さらに、本発明の範囲から逸脱することなく、低電力モードから復帰する時期を検出する他の手段を使用できる。
【００２０】
ここで図２を参照すると、本発明の一実施形態による、図１のバスアービタの一部の特定の機能を表す状態図が示され、図２全体を状態図２００と称する。バスアービタ１１０
（図１）は、バスマスタ１２０および１３０（図１）のような現在のリクエスタを特定して、バスアクセスを許可する。低電力制御モジュール１５０（図１）のような制御装置は、追加のリクエスタとして処理される。バスアービタ１１０は、低電力装置のシステムバス上の未処理バスアクセスが処理されてしまったときだけ、低電力装置の低電力動作の実行を許可するのに使用できる。一実施形態において、バスアービタは、ラウンドロビンアービトレーションのようなアービトレーション方式によって、第１のバスマスタに関連する第１のポートと、第２のバスマスタに関連する第２のポートとの間で切り替わる。低電力制御装置への要求は、バスマスタからの要求よりも高い優先順位で処理される。したがって、低電力モードに移行する制御装置からの要求は、すぐに実行可能である。
【００２１】
一実施形態において、バスアービタは、システムリセット信号（ＳＹＳＴＥＭ＿ＲＥＳＥＴ）のアサーションによるような起動またはリセットが発生するとすぐに、経路２１１を経由して状態２１０から開始する。状態２１０で、バスアービタは、第１のポートが第１のバスマスタにアクセスするのを許可する。バスアクセスの要求が状態２１０の第１のポート上で未処理の場合、バスアービタは、バスアクセス要求を許可する。上に説明したように、バスアービタは、この要求を第１のバスマスタへ許可するために、第１のバスマスタにバス許可信号をアサートするとともに、バスマルチプレクサにバス選択信号を与えて、ローカルバス線を第１のバスマスタに関連するシステムバスに接続する。一実施形態において、バスレディ（ＢＵＳ  ＲＥＡＤＹ）信号がオフまたは「０」値に設定され、システムバスが現在の要求を処理するのに使用されていることを示している間、バスアービタは、経路２１２を経由して状態２１０にとどまっている。代替的に、バスレディ信号がオン状態に設定され、かつ制御装置からの低電力バス要求（ＤＢＵＳ＿ＲＥＱ）信号がアサートされない場合、バスアービタは、経路２１４を経由して状態２２０に移動する。状態２２０で、バスアービタは、第２のポートが第２のバスマスタにアクセスすることを許可する。状態２１０と同様に、第２のバスマスタからの要求が第２のポート上にある場合、バスアービタは、その要求を許可し、バスが要求を処理してしまうまで、経路２２２を経由して状態２２０にとどまっている。いったんバスレディ信号がアサートされるか、第２のポート上に要求が未処理になっていない場合、バスアービタは、経路２２４によって状態２１０に戻る。したがって、バスアービタは、第１のポートと第２のポート間で切り替わり、制御装置からの低電力バス要求信号がアサートされるまで、ラウンドロビン方法で利用可能な要求を処理できる。
【００２２】
状態２１０および２２０にいる間に、制御装置からの低電力バス要求信号がアサートされ、かつバスレディ信号がアサートされると、バスアービタは、それぞれ経路２１６または経路２２６を経由して状態２４０に切り替わる。状態２４０にいる間、バスアービタは、低電力モードの実行を開始する。一実施形態において、バスアービタは、第１および第２のバスマスタのようなバスマスタに関連したクロックをディスエーブルできる。バスアービタは、制御装置に要求許可信号（ＤＢＵＳ＿ＧＲＡＮＴ）を与えて、バスマスタと低電力装置が復帰可能な状態にあり、かつ制御装置が低電力装置の他の構成要素を低電力モードに移行できることを示すこともできる。バスアービタは、低電力リセット信号が経路２４２によってアサートされるまで状態２４０にとどまることができる。一実施形態において、低電力リセット信号は、低電力装置が低電力の実行状態から復帰されるべきことを示している。状態２４０にいる間に低電力リセット信号がアサートされた場合、バスアービタは、経路２４４を介して状態２１０に戻り、第１のポートおよび第２のポート間のアービトレーションを継続する。本発明の範囲から逸脱することなく、バスマスタと制御装置間の他の仲裁方法が実現できることは十分に理解されるべきであろう。
【００２３】
ここで図３を参照すると、本発明の一実施形態による、図１のバスアービタの一部の特定の機能を表わす他の状態図が示される。バスアービタ１１０のポート１１２（図１）のようなバスアービタに関連する異なったポートが、異なるバスマスタ間の要求を処理する
のに使用される。特定のバスポートは、バス要求が関連するバスマスタから受け取られるか、または低電力モードが起動されるべきことを示す低電力バス要求が受け取られるかのいずれかまで、アイドル状態２６０にとどまることができる。
【００２４】
一実施形態において、バスポートは、処理を開始するか、またはリセット信号（ＳＹＳＴＥＭ＿ＲＥＳＥＴ）のアサーションによって、経路２６４を経由してアイドル状態２６０にリセットされる。バスポートは、アイドル状態２６０の間、低電力バス要求信号または関連するバスマスタからのバス要求信号（ＢＵＳ＿ＲＥＱ）のいずれかのアサーションを待つ。バス要求信号がアサートされない場合、バスポートは、経路２６３を経由して状態２６０にとどまっている。バス要求信号がアサートされ、低電力バス要求信号がアサートされない場合、バスポートは、経路２６２を通って状態２７０に移行する。状態２７０で、バスポートは、バスアービタからの許可信号を待つ。アービタによってバス許可信号がアサートされない場合、バスポートは、経路２７５によって状態２７０にとどまっている。いったん、バス許可信号がアサートされると、バスポートは、関連するバスマスタにバス許可信号をアサートする。次に、バスポートは、経路２７１によって状態２８０に移行する。状態２８０で、バスポートは許可されたバス要求が終了したことを示すバスレディ信号を待つ。バスポートは、バスレディ信号がアサートされない間、経路２８２によって状態２８０にとどまっている。バスレディ信号がアサートされると、バスポートは、経路２８４によって状態に２６０に戻る。
【００２５】
バスポートがアイドル状態２６０の間に低電力バス要求信号がアサートされると、バスポートは、低電力状態２６５に移行する。低電力状態２６５において、バスポートは、関連するバスマスタに与えられるクロックイネーブル信号をアサート停止する（ｄｅ−ａｓｓｅｒｔ）。したがって、バスポートが状態２６５にいる間、バスマスタに関連するクロックは、ディスエーブルされるので、バスマスタが低電力モードにいることが可能になる。低電力リセット信号（ＬＰ＿ＲＥＳＥＴ）が、経路２６６によってアサート停止され、「０」またはオフ状態にある間、バスポートは、低電力状態２６５にとどまっている。低電力リセット信号がアサートされると、バスポートは、経路２６７によってアイドル状態２６０に戻ることができる。したがって、いったん、バスポートがアイドル状態２６０に移行すると、クロックイネーブル信号は、再アサート可能になり、関連するバスマスタのクロックを再イネーブルできる。
【００２６】
ここで図４を参照すると、本発明の一実施形態による、複数のバスマスタと１つのバスアービタを有するシステムを図示するブロック図が示され、図４全体を装置３００と称する。低電力装置３００は、図１の低電力装置１００と類似の動作をする。バスアービタ３１０は、バスマスタ１２０またはバスマスタ１３０の１つを選択して、システムバス１７９のアクセスを許可する。低電力制御モジュール３５０が、低電力装置３００の低電力モードを起動する。バスアービタ３１０は、低電力装置３００が低電力動作モードに復帰可能な状態になる時期を特定するために使用される。
【００２７】
注意すべき低電力装置３００と低電力装置１００の動作上の違いは、低電力制御モジュール１５０（図１）と比較した低電力制御モジュール３５０の動作、およびバスアービタ１１０（図１）と比較したバスアービタ３１０の動作である。特に、バスアービタ１１０によってクロックイネーブル信号が与えられ、低電力装置１００のバスマスタ１２０および１３０に関連するクロックをイネーブルおよびディスエーブルしていたが、低電力装置３００にクロックイネーブル信号を与えるのは、低電力制御モジュール３５０である。
【００２８】
低電力制御モジュール３５０は、低電力制御レジスタ３５２の設定を監視する。低電力制御レジスタ３５２は、低電力制御レジスタ１５２（図１）と類似の動作をする。低電力装置３００が低電力動作モードに移行されることが決定されると、外部構成要素が、低電
力制御レジスタ３５２の少なくとも一部を設定する。低電力制御レジスタ３５２が設定されると、低電力制御モジュール３５０は、低電力ポート３１４を通して、バスアービタ３１０に低電力バス要求信号を与える。低電力制御モジュール３５０は、バスアービタ３１０からの低電力バス許可信号を待つ。低電力制御モジュール３５０は、バスアービタ３１０からの低電力バス許可信号を受け取るとすぐに、次に説明するように、クロックイネーブル信号であるｃｌｋ＿ｅｎ１およびｃｌｋ＿ｅｎ２によって、バスマスタ１２０およびバスマスタ１３０のクロックをディスエーブルする。
【００２９】
一実施形態において、低電力制御モジュール３５０は、バスマスタ１２０と１３０の両方のクロックをディスエーブルする。代替的に、低電力制御モジュール３５０は、バスマスタ１２０またはバスマスタ１３０の一方のみのクロックをディスエーブルしてもよい。例えば、バスマスタ１２０によって行なわれる動作が重要なので、低電力モード中はディスエーブルされるべきでない場合、低電力制御モジュールは、バスマスタ１３０に関連するクロックのみをディスエーブルできる。低電力制御モジュール３５０は、周辺サブシステム１６０、および低電力装置３００の他の構成要素に電力モードインジケータを与えることもできる。したがって、周辺サブシステム１６０、および低電力装置３００の他の構成要素は、低電力動作モードに設定できる。本発明の範囲から逸脱することなく、低電力装置３００を低電力動作モードに移行させる他の対策を講じることができるのは認識されるべきであろう。さらに、本発明の範囲から逸脱することなく、バスマスタ１２０およびバスマスタ１３０をディスエーブルする他の方法を利用することもできる。
【００３０】
上に説明したように、バスアービタ３１０は、システムバス１７９へのアクセスを許可されるバスマスタ１２０またはバスマスタ１３０の１つを選択する。バスアービタ３１０は、アービトレーション方式に従って、バスマスタ１２０に関連する第１のポート３１２、またはバスマスタ１３０に関連する第２のポート３１３のいずれか一方からの要求を認識することができる。さらに、バスアービタ３１０は、低電力制御モジュール３５０からの要求を、低電力ポート３１４を通して処理するように選択できる。一実施形態において、バスアービタ３１０が低電力ポート３１４を通して低電力バス要求信号を認識すると、バスアービタ３１０は、システムバス１７９からバスレディ信号がアサートされるのを待つ。バスアービタ３１０は、未処理要求がすべてシステムバス１７９によって処理されてしまったことと、低電力装置３００が低電力動作モードに移行するための復帰可能な状態にあることを示すバスレディ信号の出力に応答して、低電力制御モジュール３５０に低電力バス許可信号を与えることができる。
【００３１】
ここで図５を参照すると、本発明の一実施形態による、図４のバスアービタの特定の実施形態を実現する状態図が示され、図５全体を状態図２５０と称する。バスアービタは、第１のバスマスタに関連する第１のポートのイネーブルと第２のバスマスタに関連する第２のポートのイネーブルとの間で切り替わる。図示の実施形態において、バスアービタは、ラウンドロビンアービトレーションを利用して、利用可能なポートの中の１つを選択する。
【００３２】
状態図２５０は、図２の状態図２００と類似の動作をする。低電力バス要求信号がアサートされないとき、バスアービタは、第１のポートをイネーブルするのに使用される状態２１０と第２のポートをイネーブルするのに使用される状態２２０との間で切り替わる。一実施形態において、バスレディ信号と低電力バス要求信号とが両方ともアサートされる場合、バスアービタは、状態２１０または状態２２０のいずれかから状態２３０に、経路２３１または経路２３３を経由してそれぞれ切り替わる。状態２３０で、バスアービタは、低電力バス許可信号をアサートして、バスアービタに関連する低電力装置が復帰可能な状態にあり、かつ低電力動作モードに移行できることを示す。状態２３０にいる間、バスアービタは、低電力リセット信号がアサートされるのを待つ。低電力リセット信号は、バ
スアービタに関連する低電力装置が通常動作モードに戻るべきことを示している。低電力リセット信号がオフ状態または「０」値に設定されている間、バスアービタは、経路２３２を経由して状態２３０にとどまっている。代替的に、低電力リセット信号がアサートされた場合、バスアービタは、経路２３４を経由して状態２１０に戻り、バスアービタは、利用可能なバスマスタの１つから受け取った複数の要求の間の仲裁を実行する。
【００３３】
ここで図６を参照すると、本発明の一実施形態による、図４の低電力制御モジュール３５０の特定の部分を図示するブロック図が示され、図６全体をブロック図３６０と称する。ブロック図３６０は、制御レジスタ、すなわち図４の低電力装置３００のような低電力装置内の低電力動作をイネーブルする低電力制御レジスタ３５２を含んでいる。特に、ブロック図３６０は、クロックイネーブル信号、すなわち低電力制御モジュール３５０によって使用されるクロックイネーブル１（ｃｌｋ＿ｅｎ１）、およびクロックイネーブル２（ｃｌｋ＿ｅｎ２）をアサート（ａｓｓｅｒｔ）およびアサート停止（ｄｅ−ａｓｓｅｒｔ）することに使用され、ＮＡＮＤゲート３５４および３５６を使用してバスマスタ１２０およびバスマスタ１３０（図１）をイネーブルおよびディスエーブルできる。
【００３４】
第１のＮＡＮＤゲート３５４は、バスマスタ１２０へのクロックイネーブル１信号を与えるのに使用される。動作の際、制御レジスタの低電力イネーブルマスタ１のビット３６１または低電力バス許可信号のいずれかがオフ状態にあるか、または「０」値に設定されていると、ＮＡＮＤゲート３５４は、アサートされたクロックイネーブル１信号をバスマスタ１２０に与え、バスマスタ１２０に関連するクロックをイネーブルする。また、低電力イネーブルマスタ１のビット３６１と低電力バス許可信号が共にアサートされるか、またはオン状態にあると、ＮＡＮＤゲート３５４は、クロックイネーブル１をオフ状態に設定し、バスマスタ１２０内のクロックをディスエーブルする。同様に、低電力制御レジスタ３５２および低電力バス許可信号の低電力イネーブルマスタ２のビット３６２の値に基づいて、ＮＡＮＤゲート３５６は、クロックイネーブル２信号をアサートまたはアサート停止することにより、バスマスタ１３０のクロックをイネーブルまたはディスエーブルできる。低電力リセットビット３６３は、低電力リセット信号のアサーションによって設定される。低電力リセット信号は、低電力装置３００のサブシステム１６３を始めとするサブシステムによって使用され、低電力装置３００が通常動作モードに復帰すべき時期を示す。本発明の範囲から逸脱することなく、クロックイネーブル１およびクロックイネーブル２のようなクロックイネーブル信号を発生させる他の方法が実現できることは十分に理解されるべきであろう。
【００３５】
ここで図７を参照すると、本発明の一実施形態による、バスアービタによって制御される複数のバスマスタを有するシステムを図示したブロック図が示され、図７全体を低電力装置４００と称する。低電力装置４００は、低電力装置３００と類似の動作をする。バスアービタ４１０は、低電力装置４００が低電力動作モードに移行できる復帰可能な状態を特定する。バスアービタ４１０は、低電力制御モジュール４５０に低電力イネーブル信号を与えて、低電力モードが起動されていることを示す。低電力イネーブル信号（ＬＰ＿ＥＮＡＢＬＥ）に応答して、低電力制御モジュール４５０は、バスマスタ１２０およびバスマスタ１３０へのクロックをディスエーブルできる。
【００３６】
図４では、低電力モードを起動する時期を特定するために、低電力装置３００の低電力制御モジュール３５０（図４）が使用されたが、図７では、低電力装置４００の低電力を起動する時期を特定するのはバスアービタ４１０である。バスアービタ４１０は、ポート４１２および４１３を通して、バスマスタ１２０またはバスマスタ１３０へのバス許可要求の中からいずれかを別々に選択する。バスアービタ４１０は、ラウンドロビンアービトレーションのようなアービトレーション方式を使用して、ポート４１２またはポート４１３からの要求を選択して許可できる。図示の実施形態において、バスアービタ４１０は、
低電力制御レジスタ４５２を備えている。バスアービタ４１０の外部にある、低電力装置４００の構成要素またはサブシステムは、低電力装置が低電力動作モードに設定可能であることを示す特定の値に低電力制御レジスタ４５２を設定できる。一方、バスアービタ４１０は、低電力モードが起動されるべき時期を特定することができる。低電力制御レジスタ４５２の設定が終了すると、バスアービタ４１０は、低電力装置４００が復帰可能な状態になるのを待つ。一実施形態において、バスアービタ４１０は、バスマスタ１２０および１３０に関連するバス要求の許可を停止し、システムバス１７９からのバスレディ信号のアサーションを待つ。上に説明したように、バスレディ信号は、すべての未処理バス要求の処理をシステムバス１７９が終了したことを示す。したがって、低電力装置４００は、システムバス１７９に沿ったデータの損失または不完全な転送を発生させることなく、シャットダウンまたは低電力モードに移行できる。図示の実施形態において、バスアービタ４１０は、低電力制御モジュール４５０に低電力イネーブル信号をさらに与える。
【００３７】
低電力制御モジュール４５０は、バスマスタ１２０および１３０に、クロックイネーブル信号、すなわちクロックイネーブル１およびクロックイネーブル２を与える。クロックイネーブル信号は、バスマスタ１２０および１３０に関連するクロックをイネーブルおよびディスエーブルするのに使用される。低電力制御モジュール４５０がバスアービタ４１０から低電力イネーブル信号（ＬＰ＿ＥＮＡＢＬＥ）を受け取ると、低電力制御モジュール４５０は、クロックイネーブル信号をアサート停止するか、オフ状態に置くことができる。したがって、低電力イネーブル信号がアサートされると、低電力制御モジュール４５０は、バスマスタ１２０および１３０のクロックをディスエーブルすることができる。同様に、低電力イネーブル信号がアサートされると、低電力制御モジュールは、周辺サブシステム１６０に電力モードインジケータをさらに与えて、サブシステム１６１〜１６３をシャットダウンまたは低電力動作モードに移行できることを示すことができる。低電力制御モジュール４５０は、低電力モードがアクティブであることを、低電力装置４００の他の部分に知らせることもできる。
【００３８】
低電力リセット信号は、低電力装置４００を低電力モードから呼び覚ますのに使用できる。低電源リセット信号がアサートされると、低電力制御モジュール４５０は、クロックイネーブル、すなわちクロックイネーブル１およびクロックイネーブル２を再アサートすることによって、バスマスタ１２０および１３０のクロックを再度イネーブルすることができる。さらに、低電力制御モジュール４５０は、電力モードインジケータの値を変更し、周辺サブシステム１６０および低電力装置４００の他の部分に通知して、通常動作モードに復帰させることができる。低電力リセット信号がアサートされると、バスアービタ４１０は、低電力イネーブル信号をアサート停止して、ポート４１２およびポート４１３間の仲裁を継続できる。
【００３９】
ここで図８を参照すると、本発明の一実施形態によるバス要求信号をゲート制御する論理回路を含んだ図７のバスアービタの一部が示される。バスアービタ４１０の図示された部分は、低電力モードが起動される時期を示す低電力制御レジスタ４５２と、要求を通過または阻止するＡＮＤゲート４３２と、バスマスタ１２０のような第１のバスマスタに関連するバス要求１（ｂｕｓ＿ｒｅｑ１）と、要求を通過または阻止するＡＮＤゲート４３１と、バスマスタ１３０のような第２のバスマスタに関連するバス要求２（ｂｕｓ＿ｒｅｑ２）とを含んでいる。一連のアービトレーション論理回路４２０が、ＡＮＤゲート４３２またはＡＮＤゲート４３１によって渡された要求を選択するために使用される。バスアービタ４１０の図示された部分は、低電力装置４００のような装置が低電力動作モードに移行できることを示す低電力イネーブル信号をアサートするＡＮＤゲート４３５を含んでいる。
【００４０】
動作の際、低電力制御レジスタ４５２の低電力ビット４３６がアサートされると、ＡＮ
Ｄゲート４３２および４３１は、両方の要求、すなわちバス要求１とバス要求２を阻止する。低電力ビット４３６がオフ状態の場合には、ＡＮＤゲート４３２および４３１は、要求、すなわちバス要求１およびバス要求２を通過させる。したがって、低電力ビット４３６がアサートされないと、アービトレーション論理回路４２０は、バス要求を単に受け取れるだけである。ＡＮＤゲート４３５は、バスレディ信号と低電力ビット４３６の両方がアサートされる場合にのみ低電力イネーブル信号をアサートする。上に説明したように、システムバス１７９（図７）のようなシステムバスが、未処理バス要求をすべて処理し終えた場合には、バスレディ信号のみがアサートされる。
【００４１】
ここで図９を参照すると、本発明の一実施形態による、複数のバスマスタと複数のバスアービタを有するシステムを表すブロック図が示され、図９全体をシステム５００と称する。システム５００は、クロスバースイッチ５１０に要求を与える第１のバスマスタ５４０および第２のバスマスタ５３０を含んでいる。クロスバースイッチ５１０は、第１の多重システムバス５５１、第２の多重システムバス５５２、およびｎ番目の多重システム５５３を含む複数の多重システムバスの１つへの要求を処理する。一実施形態において、クロスバースイッチ５１０は、バスマスタ５４０のローカルシステムバス５４５に接続された第１のバスルータ５１６と、第２のバスマスタ５３０のローカルシステムバス５３５に接続された第２のバスルータ５１７とを含んでいる。バスルータ５１６および５１７は、第１のアービタ５１２、第２のアービタ５１３、およびｎ番目のアービタ５１４を含む複数のアービタの１つを通して、受け取った要求を処理する。複数のアービタの各アービタは、複数の多重システムバスの１つの多重システムバスに関連付けられている。低電力コントローラ５２０は、低電力モードが起動されるべき時期を特定するのに使用され、バスマスタ５３０および５４０に関連するクロックをディスエーブルして、バスマスタ５３０および５４０を低電力モードに移行させることができる。
【００４２】
クロスバースイッチ５１０は、バスマスタ５４０および５３０から関連するシステムバスへの要求を処理する。第１のバスルータ５１６は、バスマスタ５４０に関連するシステムバスを特定する。一実施形態において、バスルータ５１６は、バスマスタ５４０からの要求に関連付けられたアドレスによって、関連するシステムバスを特定する。例えば、アドレスの第１のブロックは、第１の多重システムバス５５１に関連付けられ、アドレスの第２のブロックは、第２の多重システムバス５５２に関連付けられる。バスルータ５１６は、特定された多重システムバスに関連したアービタに要求を与える。例えば、要求が第１の多重システム５５１に関連付けられている場合、バスルータ５１６は、第１のアービタ５１２に要求を与え、要求が第２の多重システムバス５５２に関連付けられている場合、バスルータ５１６は、第２のアービタ５１３に要求を与える。同様に、第２のバスルータ５１７は、バスマスタ５３０から受け取った要求を、複数のアービタの１つに与える。アービタ５１２〜５１４は各々、バスルータ５１６および／またはバスルータ５１７から受け取った要求の中から選択する。いったん、第１のアービタ５１２のようなアービタが要求を選択すると、クロスバースイッチ５１０は、第１の多重システムバス５５１を始めとする関連の多重システムバスに要求を与える。一実施形態において、アービタ５１２〜５１４は、低電力コントローラ５２０からの要求をさらに受け取ることができる。システム５００は、２つのバスマスタ、すなわちバスマスタ５４０および５３０を有するように説明したが、本発明の精神および範囲から逸脱せずに、他のバスマスタが含まれていてもよく、サポートされるバスマスタの数が変更できることは理解されるべきであろう。
【００４３】
低電力コントローラ５２０は、システム５００内の低電力動作を起動する。一実施形態において、システム５００のサブシステムは、低電力コントローラ５２０に関連する信号またはレジスタ値をアサートして、低電力モードが起動されるべき時期を示すことができる。低電力コントローラ５２０が、低電力モードが起動されるべきことを特定すると、低電力コントローラ５２０は、アービタ５１２〜５１４の個々にバス要求を与える。低電力
コントローラ５２０からのバス要求が受け取られると、バスアービタ５１２〜５１４は、低電力コントローラ５２０に、バス許可信号、ＢＵＳ＿ＧＲＡＮＴ１、ＢＵＳ＿ＧＲＡＮＴ２、およびＢＵＳ＿ＧＲＡＮＴ３を返す。バス許可要求は、アービタ５１２〜５１４に関連するそれぞれの多重システムバス５５１〜５５３が未処理要求をすべて処理し終えたことを示している。一実施形態において、低電力コントローラ５２０は、低電力動作を起動する前に、アービタ５１２〜５１４のすべてからのバス許可が受け取られるまで待機する。いったん、すべてのバス許可が受け取られると、低電力コントローラ５２０は、バスマスタ５３０および５４０に与えるクロックイネーブル信号をアサート停止し、システム５００の一部に低電力状態インジケータＰＯＷＥＲ＿ＭＯＤＥをアサートできる。したがって、低電力コントローラ５２０は、バスマスタ５３０および５４０、および多重システムバス５５１〜５５３に関連するすべてのバスアクセスが処理されてしまったときだけバスマスタ５３０および５４０をディスエーブルし、システム５００を、低電力動作モードを起動する復帰可能な状態にとどめることができる。本発明の代替の実施形態は、バスマスタ５３０または５４０が、アービタ５１２〜５１４からのそれぞれのバス許可が受け取られると、未処理の転送がすべて終了したことを判定した後に、バスマスタ５３０および５４０へのクロックをディスエーブルすることができる。
【００４４】
ここで図１０を参照すると、本発明の一実施形態の特定の動作を図示したタイミング図が示される。図示の実施形態では、２つのバスマスタ、すなわちＣＰＵと第２の代替のバスマスタ（ＡＬＴ）が、低電力装置１００（図１）のようなシステムに存在する。ＣＰＵが、システムバス１７９（図１）のようなバスの所有権を取得したい場合、バス要求（ＣＰＵ＿ＢＵＳＲＥＱ）をアサートする。バスアービタ１１０（図１）のようなバスアービタは、バス許可信号（ＣＰＵ＿ＢＵＳＧＲＡＮＴ）をアサートして、ＣＰＵにバスの所有権を許可する。ＡＬＴバスマスタがバスの所有権を取得したい場合、ＡＬＴバスマスタがバス要求（ＡＬＴ＿ＢＵＳＲＥＱ）をアサートする。バスアービタは、バス許可信号（ＡＬＴ＿ＢＵＳＧＲＡＮＴ）をアサートして、ＡＬＴバスマスタにバスの所有権を許可する。ＣＰＵは、先ずアドレス位置ＡＤＤＲ  Ａに読み出しアクセスを行ない、次にアドレス位置ＡＤＤＲ  Ｂに書き込みアクセスを行う。ＡＬＴは、先ずアドレス位置ＡＤＤＲ  Ｘに書き込みアクセスを行ない、次にアドレス位置ＡＤＤＲ  Ｙに読み出しアクセスを行う。
【００４５】
バスアービタは、バスアービトレーション優先順位決定機構によって、共有のシステムバスに対するＣＰＵのアクセスとＡＬＴのアクセスの相対順位を判定する。複数の優先順位決定方式が利用可能であり、早入れ早出し（ｆｉｒｓｔ−ｃｏｍｅ  ｆｉｒｓｔ−ｓｅｒｖｅ）、ラウンドロビン（ｒｏｕｎｄ−ｒｏｂｉｎ）、および固定優先順位（ｆｉｘｅｄ  ｐｒｉｏｒｉｔｙ）のような方式が当業界でよく知られている。本発明は、ＣＰＵバスマスタとＡＬＴバスマスタ間の優先順位については、特定の方式に依存していないので、この実施例では、ＡＬＴがＣＰＵよりも高い優先順位を有する簡単な固定方式を示している。
【００４６】
本発明の一実施形態によれば、追加の要求入力（ＬＰＷＲ＿ＢＵＳＲＥＱ）が、低電力制御モジュール１５０（図１）のような低電力モード制御装置（ＬＰＭＣ）によってバスアービタに与えられる。バスアービタは、低電力モード制御装置に、追加の出力バス許可信号、ＬＰＷＲ＿ＢＵＳＧＮＴを与える。低電力モード制御装置は、一連の出力信号ＰＯＷＥＲ＿ＭＯＤＥを与え、システムの現在の運転モードを示す。図には、ＣＰＵマスタおよびＡＬＴマスタへのクロック発生を制御するクロックイネーブル信号が示されている。低電力動作は、ＣＰＵへのＣＰＵクロックイネーブル信号、ＣＰＵ＿ＣＬＫＥＮ、およびＡＬＴマスタへの代替クロックイネーブル信号、ＡＬＴ＿ＣＬＫＥＮをネゲートする（ネゲートする）ことによってサポートされている。これらの信号のネゲーションは、これらの装置に対するクロック発生を一時停止するので、消費電力を低減できる。図示の実施例
において、低電力動作モードは、ＣＰＵマスタおよびＡＬＴマスタによって行なわれたアクセスの間に起動される。
【００４７】
クロックサイクル１において、システムは、通常モードを示す電力モード信号ＰＯＷＥＲ＿ＭＯＤＥによって示されるような通常動作モードで動作している。クロックサイクル１が始まると、ＣＰＵは、ＣＰＵ＿ＢＵＳＲＥＱをアサートして、ＣＰＵがシステムバスの所有権を望んでいたことを示し、ＣＰＵが転送を開始していることを示すＣＰＵ＿ＴＲＥＱ信号をアサートし、所望のアクセス位置に対応するＡＤＤＲ  ＡでＣＰＵアドレス線、ＣＰＵ＿ＡＤＤＲを駆動する。ＣＰＵ＿ＷＲＩＴＥ信号はネゲートされ、アクセスが読み出しであることを示す。ＡＬＴマスタは、サイクル１でバス所有権を要求していないので、バスアービタはＣＰＵにバス所有権を許可し、サイクル１でＣＰＵ＿ＢＵＳＧＮＴをアサートする。バスアービタは、制御信号ＡＤＤＲ＿ＳＥＬを使ってシステムバス信号ＨＡＤＤＲおよびＨＷＲＩＴＥ上にそれぞれ駆動されるＣＰＵ＿ＡＤＤＲおよびＣＰＵ＿ＷＲＩＴＥを選択する。システムバス転送要求ＨＴＲＥＱがアサートされ、転送がシステムバス上で要求されていることを示す。他のアクセスが既に処理されているので、転送が始まり、転送のアドレスフェーズは、サイクル１の終わりで終了する。位置ＡＤＤＲ  Ａへの転送のデータフェーズがサイクル２で始まり、ＨＢＵＳＹ信号がアサートされ、システムのデータバスが使用中であることを示す。図示の実施例では、個別の読み出し／書き込みデータバスを示しているが、代替の実施形態では、単一の双方向データバスを使用することもできる。
【００４８】
サイクル２で、システム読み出しデータバスＨＲＤＡＴＡは、アドレス位置ＡＤＤＲ  Ａに対応するシステム、または装置によって、ＡＤＤＲ  Ａに対応するデータで駆動される。バスアービタは、既にＤＡＴＡ＿ＳＥＬ信号を駆動していて、データフェーズがＣＰＵに属することを示している。ＨＲＤＡＴＡからのデータは、ＣＰＵ＿ＲＤＡＴＡ信号としてＣＰＵに与えられる。応答装置は、システムバスレディ信号ＨＲＥＡＤＹのアサーションを発生させ、要求データが既に与えられたことを示す。サイクル２の終わりで、位置ＡＤＤＲ  Ａへのアクセスのデータフェーズは終了し、ＣＰＵは、読み出しデータを内部にラッチしている。サイクル２の間、ＣＰＵはＣＰＵ＿ＢＵＳＲＥＱをアサートし続け、ＣＰＵは、位置ＡＤＤＲ  Ｂへの次のアクセスを要求していて、ＣＰＵ＿ＡＤＤＲ信号上にＡＤＤＲ  Ｂを駆動し、ＣＰＵ＿ＷＲＩＴＥをアサートして、要求されたアクセスが書き込みサイクルであること示している。またサイクル２の間、ＡＬＴマスタは、ＡＬＴ＿ＢＵＳＲＥＱをアサートして、それがシステムバスの所有権を望んでいることを示し、ＡＬＴ＿ＴＲＥＱをアサートして値ＡＤＤＲ  ＸでＡＬＴ＿ＡＤＤＲを駆動し、ＡＬＴマスタが、位置ＡＤＤＲ  Ｘにアクセスが行われるべきことを要求していることを示す。ＡＬＴ＿ＷＲＩＴＥ信号もアサートされ、要求されたアクセスが書き込みであること示す。バスアービタは、ＣＰＵ＿ＢＵＳＲＥＱおよびＡＬＴ＿ＢＵＳＲＥＱを受け取り、ＡＬＴマスタがシステムバスの所有権を許可されるべきことを決定する。バスアービタは、ＣＰＵ＿ＢＵＳＧＮＴをネゲートし、ＡＬＴ＿ＢＵＳＧＮＴをアサートし、ＡＤＤＲ＿ＳＥＬ信号を変更して、システムバス信号ＨＡＤＤＲおよびＨＷＲＩＴＥ上にそれぞれ駆動されるＡＬＴ＿ＡＤＤＲおよびＡＬＴ＿ＷＲＩＴＥ信号を選択することによって、サイクル２で始まるアドレスフェーズの間バス所有権をＡＬＴマスタに与え、ＣＰＵからのアドレスバスの所有権を保留する。ＨＴＲＥＱ信号は、サイクル２の間アサートされ続け、他のシステムバス転送が要求されていることを示す。現在のデータフェーズが、ＣＰＵがバス所有権を許可された前のアドレスフェーズに関連付けられているので、バスマスタは、ＤＡＴＡ＿ＳＥＬ信号を駆動して、現在のデータフェーズの間ＣＰＵを選択する。
【００４９】
サイクル３の間、位置ＡＤＤＲ  Ｘに対応するデータフェーズが発生し、ＡＬＴマスタは、ＤＡＴＡ  ＸでＡＬＴ＿ＷＲＤＡＴＡを駆動する。バスアービタは、ＤＡＴＡ＿ＳＥＬ信号を駆動し、システム書き込みバスＨＷＲＤＡＴＡに接続されるＡＬＴ＿ＷＲＤＡＴ
Ａを選択することで、書き込み用にアクセスされた装置にＤＡＴＡ  Ｘを与えることができる。サイクル３の間、ＨＢＵＳＹはアサートされ続け、システムデータバスが使用中であることを示す。アドレス位置ＡＤＤＲ  Ｘに対応するアクセスされた装置は、システムバスレディ信号ＨＲＥＡＤＹのアサーションを発生させ、書き込みデータが受け取り中であることを示す。サイクル３の終わりで、位置ＡＤＤＲ  Ｘへのアクセスのデータフェーズは終了する。サイクル３の間、ＣＰＵは、ＣＰＵ＿ＡＤＤＲ上にＣＰＵ＿ＢＵＳＲＥＱ、ＣＰＵ＿ＴＲＥＱ、およびＡＤＤＲ  Ｂを駆動し続け、システムバス所有権のみならず、サイクルが依然として要求されていることを示す。ＡＬＴマスタも、ＡＬＴ＿ＢＵＳＲＥＱおよびＡＬＴ＿ＴＲＥＱを駆動し続け、ＡＬＴ＿ＡＤＤＲバス上にＡＤＤＲ  Ｙを駆動して、システムバス所有権のみならず、サイクルが依然として要求されていることを示す。ＡＬＴ＿ＷＲＩＴＥ信号がネゲートされ、ＡＤＤＲ  ＹへのＡＬＴマスタアクセスが読み出しサイクルであることを示す。サイクル３で、低電力コントローラは、バスアービタにＬＰＷＲ＿ＢＵＳＲＥＱをアサートして、低電力モードへの移行に備える。本発明の一実施形態によれば、この要求は、すべての可能性のある要求のなかで最高の優先順位を割り当てられる。ＬＰＷＲ＿ＢＵＳＲＥＱのアサーションは、アービタに、他のすべてのリクエスタへのバス許可をネゲートさせるので、サイクル３で、ＣＰＵ＿ＢＵＳＧＮＴおよびＡＬＴ＿ＢＵＳＧＮＴはネゲートされ、ＣＰＵまたはＡＬＴマスタのいずれもがバス所有権を許可されないことを示す。バスマスタの要求からバス所有権を削除したことにより、アドレスフェーズがサイクル３で起動されないので、システムバス転送要求信号ＨＴＲＥＱは、サイクル３でネゲートされる。転送が要求されていないので、システムアドレスバス、ＨＡＤＤＲは、有効であると見なされないが、バスアービタは、デフォルトによって駆動されるＡＬＴ＿ＡＤＤＲまたはＣＰＵ＿ＡＤＤＲのいずれかを選択し得る。サイクル３で、システムデータバスが、位置ＡＤＤＲ  Ｘへのアクセスのデータフェーズで使用されているので、ＨＢＵＳＹがアサートされ続ける。
【００５０】
サイクル４で、ＨＢＵＳＹはネゲートし、システムデータバスがここでアイドル状態であることを示す。この時点で、バスアービタは、低電力コントローラにＬＰＷＲ＿ＧＮＴ信号をアサートして、システムバス動作が休止状態になったことを示すので、ここで安全に低電力動作モードに移行することができる。次に、クロックイネーブル信号ＣＰＵ＿ＣＬＫＥＮおよびＡＬＴ＿ＣＬＫＥＮが、サイクル４でネゲートされ、ＣＰＵマスタおよびＡＬＴマスタのさらなるクロックを一時停止し、それによって、システムの電力消費を最小限に抑えることができる。サイクル５で、低電力コントローラは、ＰＯＷＥＲ＿ＭＯＤＥ信号を変更して、低電力スリープ状態に移行してしまったことを示す。低電力モード制御装置がＬＰＷＲ＿ＢＵＳＲＥＱをアサートし続けている間、低電力スリープ状態は有効であり、ＣＰＵ＿ＣＬＫＥＮおよびＡＬＴ＿ＣＬＫＥＮはネゲートされ続け、システムの電力消費は最小限に抑えられる。
【００５１】
いったん、システムイベントが通常動作モードへの復帰を指示すると、低電力コントローラは、バスアービタへのＬＰＷＲ＿ＢＵＳＲＥＱをネゲートする。図１０において、このことは、クロックサイクルＮ中に発生する。ＬＰＷＲ＿ＢＵＳＲＥＱがネゲートされると、バスアービタは、ＬＰＷＲ＿ＢＵＳＧＮＴをネゲートし、ＣＰＵマスタとＡＬＴマスタ間のアービトレーションが再開される。アービトレーション優先順位に基づいて、バスアービタは、サイクルＮでＡＬＴマスタへのシステムバス所有権を許可し、ＡＤＤＲ＿ＳＥＬをそれに応じて駆動することによって、システムバスＨＡＤＤＲは、ＡＤＤＲ  Ｙで駆動され、ＨＷＲＩＴＥがネゲートされる。ＨＴＲＥＱがサイクルＮでアサートされ、新しいシステムバス転送が要求されていることを示す。サイクルＮとＮ＋１の間、ＣＰＵは、ＣＰＵ＿ＡＤＤＲ上にＣＰＵ＿ＢＵＳＲＥＱ、ＣＰＵ＿ＴＲＥＱ、およびＡＤＤＲ  Ｂを駆動し続け、システムバス所有権のみならず、サイクルが依然として要求されていることを示す。サイクルＮ＋１において、ＡＬＴマスタは、ＡＬＴ＿ＢＵＳＲＥＱおよびＡＬＴ＿ＴＲＥＱをネゲートして、システムバスの所有権がもはや望まれていないこと、転送
が要求されていないことを示す。バスアービタは、ＣＰＵにシステムバス所有権を移譲するために、ＡＬＴ＿ＢＵＳＧＮＴをネゲートし、ＣＰＵ＿ＢＵＳＧＮＴをアサートする。バスアービタは、ＡＤＤＲ＿ＳＥＬ信号を駆動して、ＣＰＵ＿ＡＤＤＲおよびＣＰＵ＿ＷＲＩＴＥ信号をＨＡＤＤＲおよびＨＷＲＩＴＥのそれぞれに接続する。ＨＡＤＤＲが値ＡＤＤＲ  Ｂで駆動され、ＨＷＲＩＴＥがアサートされ、ＣＰＵが要求したアクセスが書き込みサイクルであることを示す。
【００５２】
サイクルＮ＋１の間、ＨＢＵＳＹがアサートされ、システムデータバスがデータフェーズに使用されていることを示す。サイクルＮ＋１の間、読み出しデータが、システム読み出しデータバスＨＲＤＡＴＡとして、アドレス位置ＡＤＤＲ  Ｙに対応する装置によって返され、システムバスレディ信号ＨＲＥＡＤＹのアサーションを発生させて、読み出しデータが与えられていることを示すとともに、バスアービタがＤＡＴＡ−ＳＥＬを駆動して、このデータフェーズがＡＬＴマスタ用であることを示す。ＡＬＴマスタは、サイクルＮ＋１で、返ってきた読み出しＤＡＴＡ  Ｙをラッチし、サイクルＮ＋１の終わりで、位置ＡＤＤＲ  Ｙへのアクセスのデータフェーズは終了する。
【００５３】
サイクルＮ＋２の間、バスアービタは、ＤＡＴＡ＿ＳＥＬを駆動して、ＣＰＵ＿ＷＲＤＡＴＡ信号上にアサートされた書き込みデータをシステムバス書き込みデータ信号ＨＷＲＤＡＴＡと結合されるようにする。サイクルＮ＋２の間、ＨＢＵＳＹはアサートされ続け、システムデータバスが使用中であること示す。ＡＤＤＲ  Ｂに対応するアクセスされた装置は、システムバスレディ信号ＨＲＥＡＤＹのアサーションを発生させ、書き込みデータが受け取り中であることを示す。サイクルＮ＋２の終わりで、位置ＡＤＤＲ  Ｂへのアクセスのデータフェーズは終了する。ＣＰＵは、ＣＰＵ＿ＴＲＥＱおよびＣＰＵ＿ＢＵＳＲＥＱをネゲートし、転送がそれ以上要求されていないこと、システムバス所有権がもはや望まれていないことを示す。サイクルＮ＋３の間、ＨＢＵＳＹはネゲートされ、システムデータバスがアイドル状態であること示す。
【００５４】
バスアービトレーション動作およびシステムバスハンドオフの他の実施例は、当業界で公知であり、上述の実施例は、本発明の範囲をここに示した厳密なシーケンスまたはプロトコルに限定することを意図しているものではない。バスアービトレーションに関して代替のバスマスタとして作動することによって、低電力コントローラは、低電力モードへの移行を適切な境界で確実に行い、かつ低電力モードをイネーブルする前、かつＣＰＵおよび代替のマスタ論理回路のクロックゲーティングを行なう前に、未処理のシステムバスアクセスを確実に終了させることができる。
【００５５】
図１０に示した低電力アービトレーション動作の実施例は、システム５００（図９）のように複数のシステムバスが存在しているシステムに拡張することができる。このような環境では、低電力コントローラ５２０（図５）のような低電力コントローラは、すべてのシステムバスの所有権を要求する。現在のバス動作が終了すると、低電力コントローラは、すべてのシステムバスの所有権を最終的に許可される。この処理は、逐一発生してもよいし、同時にまたは任意の組み合わせで発生してもよい。いったん、すべてのシステムバスの所有権が全部取得されると、低電力コントローラは、次にシステムを低電力モードに強制的に移行することができる。代替的に、低電力コントローラは、その特定のバスの所有権が低電力コントローラに許可されるとすぐに、所与のシステムバスに関連するブロック、ユニット、または構成要素を低電力モードに移行させることもできる。特定のブロックまたはユニットが複数のシステムバスに関連付けられている場合、ブロックがアイドル状態なのか、または未処理のバスアクセスがそのブロックまたはユニットに存在しないようなバスサイクルの境界に達したのかのいずれかを判定できるまで、そのブロックの低電力モードへの移行は、延期される。
【００５６】
ここで図１１を参照すると、本発明の他の実施形態に関連する信号タイミングを図示したタイミング図が示される。図示の実施形態において、３つのシステムバスが存在し、２つのバスマスタであるＣＰＵマスタおよびＡＬＴマスタに相互接続されている。この実施例において、ＣＰＵは、先ずアドレス位置ＡＤＤＲ  Ａに読み出しアクセスを行ない、次にアドレス位置ＡＤＤＲ  Ｂに書き込みアクセスを行う。ＡＬＴは、先ずアドレス位置ＡＤＤＲ  Ｘに書き込みアクセスを行ない、次にアドレス位置ＡＤＤＲ  Ｙに読み出しアクセスを行う。各システムバスに関連するバスアービタは、バスアービトレーション優先順位機構によって、それぞれのシステムバスに対するＣＰＵのアクセスとＡＬＴのアクセスの相対順位を判定する。複数の優先順位決定方式が利用可能で、早入れ早出し、ラウンドロビン、および固定優先順位のような方式が当業界でよく知られている。本発明は、ＣＰＵバスマスタとＡＬＴバスマスタ間の優先順位については、特定の方式に依存していないので、この実施例については、ＡＬＴがＣＰＵよりも高い優先順位を有する簡単な固定方式を示している。代替の実施形態は、異なる優先順位方式を取り入れてもよく、各特定のシステムバスに対して異なる方式を取り入れることもできる。
【００５７】
図示の実施例において、ＣＰＵマスタおよびＡＬＴマスタは、クロスバースイッチ５１０（図９）のような完全に相互接続されたクロスバースイッチによって、システムバス１、２、および３に相互接続される。スイッチの各システムバス出力で、制御論理回路は、ＣＰＵ信号ＣＰＵ＿ＴＲＥＱおよびＣＰＵ＿ＡＤＤＲならびにＡＬＴマスタ信号ＡＬＴ＿ＴＲＥＱおよびＡＬＴ＿ＡＤＤＲを受け取る。本発明の一実施形態において、各システムバスは、システムアドレス空間の特定の部分に対応している。ＣＰＵ＿ＡＤＤＲおよびＡＬＴ＿ＡＤＤＲの一部を復号することによって、各個々のシステムバス接続は、ＣＰＵまたはＡＬＴマスタによって現在要求されているアクセスが、その特定のシステムバスに目標設定されているかどうかを判定する。各転送要求は、特定のアクセスアドレスに基づいて、複数のシステムバス接続の１つに目標設定しているので、この復号機構は、ＣＰＵマスタおよびＡＬＴマスタによる「黙示の」バス要求に備えている。各バスマスタからのアクセスアドレスの一部を復号することによって、特定のシステムバスに対する要求がなされているという判定は、容易に行われる。両方のバスマスタが、同一のサイクルで、同じシステムバスポートに該当するアクセス要求を示した場合、複数の要求間のアービトレーションは、各システムのバスアービタによって行なわれる。本発明の代替の実施形態は、各バスマスタから複数のシステムバスアービタの各々に、明示のバス要求を与えてもよい。
【００５８】
本発明の一実施形態によれば、追加の明示の要求入力（ＬＰＷＲ＿ＢＵＳＲＥＱ）は、低電力モード制御装置によって、複数のシステムバスアービタの各々に与えられる。各バスアービタは、低電力モード制御装置に追加のバス許可出力信号を与える。図示の実施例において、システムバス１、２、および３にそれぞれ対応するＬＰＷＲ＿ＢＵＳＧＮＴ１、ＬＰＷＲ＿ＢＵＳＧＮＴ２、およびＬＰＷＲ＿ＢＵＳＧＮＴ３の３つの信号が与えられる。低電力モード制御装置は、一連の出力信号ＰＯＷＥＲ＿ＭＯＤＥを与え、システムの現在の運転モードを示す。２つのバスマスタ、すなわちＣＰＵマスタおよびＡＬＴマスタへのクロック発生を制御するクロックイネーブル信号を図示している。低電力動作は、クロックイネーブル信号、すなわちＣＰＵへのＣＰＵ＿ＣＬＫＥＮと、ＡＬＴマスタへのＡＬＴ＿ＣＬＫＥＮをネゲートすることによってサポートされる。これらの信号のネゲーションは、これらのユニットに対するクロック発生を一時停止するので、消費電力を低減できる。図示の実施例において、低電力動作モードは、ＣＰＵマスタおよびＡＬＴマスタによって行なわれるアクセスの間で起動される。
【００５９】
クロックサイクル１において、システムは、標準モードを信号する電力モード信号ＰＯＷＥＲ＿ＭＯＤＥによって示されるような通常動作モードで動作している。クロックサイクル１が始まると、ＣＰＵは、ＣＰＵ＿ＴＲＥＱをアサートして、ＣＰＵが転送を要求し
ていること示し、所望のアクセス位置に対応するＡＤＤＲ  ＡでＣＰＵ＿ＡＤＤＲを駆動する。ＣＰＵ＿ＷＲＩＴＥはネゲートされ、アクセスが読み出しであることを示す。この実施例では、ＡＤＤＲ  Ａは、システムバス１に関連する位置に一致する。またサイクル１で、ＡＬＴマスタは、ＡＬＴ＿ＴＲＥＱをアサートして、ＡＬＴマスタが転送を要求していることを示し、所望のアクセス位置に対応するＡＤＤＲ  ＸでＡＬＴ＿ＡＤＤＲを駆動する。ＡＬＴ＿ＷＲＩＴＥがアサートされ、アクセスが書き込みであることを示す。この実施例では、ＡＤＤＲ  Ｘは、システムバス２に関連する位置に一致する。サイクル１で、ＡＬＴマスタは、システムバス１へのバス転送を要求していないので、システムバスアービタ１は、ＣＰＵにバスの所有権を許可し、システムバス１信号ＨＡＤＤＲ１およびＨＷＲＩＴＥ１上に駆動されるＣＰＵ＿ＡＤＤＲおよびＣＰＵ＿ＷＲＩＴＥを選択する。システムバス１転送要求ＨＴＲＥＱ１がアサートされ、転送がシステムバス１上で要求されていることを示す。他のアクセスは既に処理されているので、転送が始まり、転送のアドレスフェーズは、サイクル１の終わりで終了する。またサイクル１で、システムバスアービタ２は、ＡＬＴマスタにバス所有権を許可し、システムバス２信号ＨＡＤＤＲ２およびＨＷＲＩＴＥ２上に駆動されるＡＬＴ＿ＡＤＤＲおよびＡＬＴ＿ＷＲＩＴＥを選択する。システムバス２転送要求ＨＴＲＥＱ２がアサートされ、転送がシステムバス２上で要求されていることを示す。他のアクセスは既に処理されているので、転送が始まり、転送のアドレスフェーズは、サイクル１の終わりで終了する。ＣＰＵマスタおよびＡＬＴマスタによって要求されたアクセスは、異なったシステムバスに対応するアドレス向けだったので、これらのアクセスは、同時に行なわれることに注意されたい。
【００６０】
システムバス１上の位置ＡＤＤＲ  Ａへの転送のデータフェーズがサイクル２で始まり、ＨＢＵＳＹ１がアサートされ、システムデータバス１が使用中であることを示す。システムバス２上の位置ＡＤＤＲ  Ｘへの転送のデータフェーズがサイクル２で始まり、ＨＢＵＳＹ２がアサートされ、システムデータバス２が使用中であることを示す。図示の実施例では、個別の読み出し／書き込みデータバスを示しているが、代替の実施形態では、単一の双方向データバスを使用することもできる。サイクル２で、システム読み出しデータバス１であるＨＲＤＡＴＡ１は、アドレス位置ＡＤＤＲ  Ａに対応する装置によって、ＡＤＤＲ  Ａに対応するデータで駆動される。ＨＲＤＡＴＡ１からのデータは、ＣＰＵ＿ＲＤＡＴＡとしてＣＰＵに与えられる。応答装置は、システムバス１レディ信号ＨＲＥＡＤＹ１のアサーションを発生させ、要求データが既に与えられたことを示し、その後ＣＰＵ＿ＲＥＡＤＹがアサートされる。
【００６１】
サイクル２の終わりで、位置ＡＤＤＲ  Ａへのアクセスのデータフェーズは終了し、ＣＰＵは、読み出しデータを内部にラッチしている。サイクル２の間、システム書き込みデータバス２であるＨＷＲＤＡＴＡ２は、アドレス位置ＡＤＤＲ  Ｘに対応するＡＬＴマスタのＡＬＴ＿ＷＲＤＡＴＡバスから書き込みデータで駆動される。この転送では、応答装置が使用中であり、サイクル２で書き込み転送を終了できないので、応答装置は、システムバス２レディ信号ＨＲＥＡＤＹ２をネゲートし、書き込みデータがまだ受け取られていないことを示す。サイクル２の終わりで、転送がまだ終了していないので、位置ＡＤＤＲ
Ｘへのアクセスのデータフェーズは延長される。ＡＬＴ＿ＲＥＡＤＹはネゲートされ、データフェーズが延長されなければならないことをＡＬＴマスタに知らせる。サイクル２の間、ＣＰＵは、ＣＰＵ＿ＴＲＥＱをアサートし続けて位置ＡＤＤＲ  Ｂへの次のアクセスを要求し、ＡＤＤＲ  ＢをＣＰＵ＿ＡＤＤＲ信号上に駆動し、ＣＰＵ＿ＷＲＩＴＥをアサートして、要求されたアクセスが書き込みサイクルであることを示す。またサイクル２の間、ＡＬＴマスタはＡＬＴ＿ＴＲＥＱをアサートし、値ＡＤＤＲ  ＹでＡＬＴ＿ＡＤＤＲを既に駆動していて、ＡＬＴマスタが、位置ＡＤＤＲ  Ｙに他のアクセスが行なわれることを要求していることを示す。ＡＬＴ＿ＷＲＩＴＥはネゲートされ、要求されたアクセスが読み出しであることを示す。
【００６２】
サイクル１および２の間、システムバス３に対応する位置へのアクセスが要求されていないので、ネゲートされたＨＢＵＳＹ３によって示されるように、システムバス３はアイドル状態のままである。この実施例では、システムバス３に対するアクセスが要求されないので、すべてのシステムバス３信号が示されているものではないことは注意されるべきであろう。サイクル２で、低電力コントローラは、システムを低電力モードに移行させることを望んでいるので、ＬＰＷＲ＿ＢＵＳＲＥＱをシステムバスアービタ１、２、および３にアサートする。システムバス３が現在アイドル状態にあるので、サイクル２で、システムバスアービタ３は、ＬＰＷＲ＿ＢＵＳＲＥＱを受け取り、ＬＰＷＲ＿ＢＵＳＧＮＴ３をアサートする。低電力バス要求が未処理なので、サイクル２で、システムバスの１および２の転送要求信号ＨＴＲＥＱ１およびＨＴＲＥＱ２は、それぞれのシステムバス制御装置によってネゲートされ、新しい転送の起動が防止される。
【００６３】
サイクル３で、システムバス１信号ＨＢＵＳＹ１がネゲートされ、システムバス１が現在アイドル状態であり、バスサイクルの境界に来たので、システムバス１のバスアービタは、ＬＰＷＲ＿ＢＵＳＧＮＴ１をアサートすることを低電力コントローラに知らせる。またサイクル３で、システムバス２のＨＲＥＡＤＹ２信号が位置ＡＤＤＲ  Ｘに対応する装置によってアサートされ、これはサイクル１で起動された書き込みサイクルが現在終了していることを示す。サイクル４で、システムバス２は、アイドル状態になり、ＨＢＵＳＹ２信号がネゲートされる。バストランザクションが進行中ではないので、システムバス２のバスアービタは、低電力コントローラにＬＰＷＲ＿ＢＵＳＧＮＴ２をアサートする。この時点で、低電力コントローラは、すべてのシステムバスのバス所有権を取得しており、システムバス動作が休止状態に達したことを示すため、ここで安全に低電力動作モードに移行することができる。サイクル４で、次にクロックイネーブル信号、すなわちＣＰＵ＿ＣＬＫＥＮおよびＡＬＴ＿ＣＬＫＥＮがネゲートされ、ＣＰＵマスタおよびＡＬＴマスタのさらなるクロックを一時停止し、それによってシステムの電力消費を最小限に抑えることができる。サイクル５で、低電力コントローラは、ＰＯＷＥＲ＿ＭＯＤＥ信号を変更して、低電力スリープ状態に移行したことを示す。低電力スリープ状態は、低電力モード制御装置がＬＰＷＲ＿ＢＵＳＲＥＱおよびＣＰＵ＿ＣＬＫＥＮをアサートし続けている間、有効状態が続き、ＡＬＴ＿ＣＬＫＥＮはネゲートされ続けて、システムの電力消費が最小限に抑えられる。
【００６４】
いったん、システムイベントが通常動作モードへの復帰を指示すると、低電力コントローラは、すべてのシステムバスアービタへのＬＰＷＲ＿ＢＵＳＲＥＱをネゲートする。図１１において、このことは、クロックサイクルＮ中に発生する。ＬＰＷＲ＿ＢＵＳＲＥＱがネゲートされると、システムバスアービタ１、２、および３は、ＬＰＷＲ＿ＢＵＳＧＮＴ１、ＬＰＷＲ＿ＢＵＳＧＮＴ２、およびＬＰＷＲ＿ＢＵＳＧＮＴ３をそれぞれネゲートし、ＣＰＵマスタとＡＬＴマスタ間のアービトレーションが再開される。ＣＰＵマスタおよびＡＬＴマスタはいずれも、未処理アクセス要求（ＣＰＵ＿ＴＲＥＱおよびＡＬＴ＿ＴＲＥＱが両方ともアサートされる）を有している。ＣＰＵは、システムバス２に対応する位置ＡＤＤＲ  Ｂに書き込みを要求し、ＡＬＴマスタは、システムバス１に対応するＡＤＤＲ  Ｙに読み出しアクセスを要求している。システムバス１および２へのアクセスにはコンフリクトが存在しないので、両方のアクセスがサイクルＮで起動される。転送の残りは、サイクルＮ＋１〜Ｎ＋３に示され、上に説明したプロトコルに従う。
【００６５】
バスアービトレーション動作およびシステムバスハンドオフの他の実施例は、当業界で公知であり、所与の実施例は、この本発明の範囲をここに示した厳密なシーケンスまたはプロトコルに限定することを意図するものではない。バスアービトレーションに関して代替のバスマスタとして作動することによって、低電力コントローラは、低電力モードへの移行を適切な境界で確実に行い、かつ低電力モードをイネーブルする前、かつＣＰＵおよび代替のマスタ論理回路のクロックゲーティングを行なう前に、複数のシステムバス上の
未処理のシステムバスアクセスを確実に終了させることができる。図１１は、すべてのシステムバスがアイドル状態であった後に発生したクロックゲーティングを示しているが、代替の実施形態は、各システムバスが休止状態になったときに、システム要素のサブセットを、クロックゲート制御されたまたは他の低電力状態に移行させてもよい。
【００６６】
ここに説明したシステムは、情報処理システムの一部であってもよい。用語「情報処理システム」は、情報を処理することができる、またはあるソースから他のソースに情報を転送することができる、任意のシステムを意味している。情報処理システムは、コンピュータのような単一の装置、携帯情報端末（ＰＤＡ）のような携帯型計算器、ケーブルセットトップボックス、セルラー電話のようなインターネット対応装置等であってもよい。あるいは情報処理システムは、そのような装置の集合体を指していてもよい。ここに説明したシステムは、低電力装置の低電力動作モードを起動する復帰可能な状態の特定という利点を持つことは理解されるべきであろう。
【００６７】
上記実施形態の詳細な説明において、その実施形態の一部を構成する添付図面について説明し、本開示を実施できる特定の実施形態を図示した。これらの実施形態について、当業者が本開示を実施できる程度に十分詳細に説明したが、他の実施形態を利用できるとともに、本開示の精神または範囲から逸脱することなく、論理的、機械的、および電気的な変更がなされてもよいことは理解されるはずである。当業者を本開示を実施可能にするのに必要でない細部の説明を避けるために、ここでの説明は、当業者に周知の特定の情報を省略している場合がある。さらに、本開示の教示を取り入れた他の多くの様々な実施形態が、当業者によって容易に構成され得るであろう。したがって、本開示は、ここに述べた特定の形態に限定するように意図されているものではなく、これとは逆に、本開示は、本開示の精神および範囲の中に適切に含まれ得るこのような他の変更物、改変物、および等価物を包含するようことを意図する。したがって、上記の詳細な説明は限定的な意味で解釈されるべきでなく、本開示の範囲は、添付の請求項によってのみ定義される。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態による、バスアービタによって制御される複数のバスマスタを有するシステムを示すブロック図。
【図２】本発明の一実施形態による、図１のバスアービタの一部の特定の機能を示す状態図。
【図３】本発明の一実施形態による、図１のバスアービタの一部の機能に対する特定の実施形態を実現する他の状態図。
【図４】本発明の一実施形態による、複数のバスマスタおよび１つのバスアービタを有するシステムを示すブロック図。
【図５】本発明の一実施形態による、図４のバスアービタの他の特定の実施形態を実現する状態図。
【図６】本発明の一実施形態による、レジスタを含む図４の低電力制御モジュールの特定の部分を示すブロック図。
【図７】本発明の一実施形態による、バスアービタによって制御される複数のバスマスタを有するシステムを示すブロック図。
【図８】本発明の一実施形態による、バス要求信号のゲート制御する論理回路を含んだ図７のバスアービタの一部を示すブロック図。
【図９】本発明の一実施形態による、複数のバスマスタおよび複数のバスアービタを有するシステムを示すブロック図。
【図１０Ａ】本発明の特定の実施形態による、システム内の信号を示すタイミング図。
【図１０Ｂ】本発明の特定の実施形態による、システム内の信号を示すタイミング図。
【図１１Ａ】本発明の特定の実施形態による、システム内の信号を示す他のタイミング図。
【図１１Ｂ】本発明の特定の実施形態による、システム内の信号を示す他のタイミング図。
【図１】
2006508409.tif 000003
【図２】
2006508409.tif 000004
【図３】
2006508409.tif 000005
【図４】
2006508409.tif 000006
【図５】
2006508409.tif 000007
【図６】
2006508409.tif 000008
【図７】
2006508409.tif 000009
【図８】
2006508409.tif 000010
【図９】
2006508409.tif 000011
【図１０Ａ】
2006508409.tif 000012
【図１０Ｂ】
2006508409.tif 000013
【図１１Ａ】
2006508409.tif 000014
【図１１Ｂ】
2006508409.tif 000015
【国際調査報告】
2006508409.tif 000016
2006508409.tif 000017
2006508409.tif 000018