JP3568592B2 - 周辺バスクロック信号を制御するためのコンピュータシステムおよびその方法 - Google Patents
周辺バスクロック信号を制御するためのコンピュータシステムおよびその方法 Download PDFInfo
- Publication number
- JP3568592B2 JP3568592B2 JP22433694A JP22433694A JP3568592B2 JP 3568592 B2 JP3568592 B2 JP 3568592B2 JP 22433694 A JP22433694 A JP 22433694A JP 22433694 A JP22433694 A JP 22433694A JP 3568592 B2 JP3568592 B2 JP 3568592B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- clock
- peripheral bus
- signal
- peripheral
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 title claims description 204
- 238000000034 method Methods 0.000 title claims description 21
- 230000001360 synchronised effect Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 14
- 230000007704 transition Effects 0.000 description 5
- 101000747588 Homo sapiens UDP-glucuronosyltransferase 1-6 Proteins 0.000 description 4
- 101000841498 Homo sapiens UDP-glucuronosyltransferase 1A1 Proteins 0.000 description 4
- 102100029151 UDP-glucuronosyltransferase 1A10 Human genes 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 101100345335 Arabidopsis thaliana GNT2 gene Proteins 0.000 description 2
- 101150093077 Mgat2 gene Proteins 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 1
- 101100524347 Xenopus laevis req-b gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Power Sources (AREA)
Description
【発明の背景】
本発明は、コンピュータシステム内の電力管理に関し、より特定的には、周辺バスクロック信号を制御するためのシステムおよびその方法に関する。
【0002】
【関連技術の説明】
製造業者の現在の開発の目標は、コンピュータシステムの電力消費量を低減することである。電力消費量を低減すれば典型的にはシステムの熱の発生も低減され、それによって信頼性が高まりかつコストが削減される。さらに、電池で電力供給される携帯用コンピュータシステムの動作寿命を最大にするという点で、電力の低減は特に重要である。
【0003】
コンピュータシステムの電力消費量を低減するための種々の方法が考案されてきた。これらの方法には、回路の集積度を向上させることや、改良された回路および電力管理ユニット(PMU)を組込むことがある。1つの特定の電力低減法には、非活性な回路部分を駆動するクロック信号を停止させる能力が必要である。そのような方法を用いるシステムは、典型的には、非活性な回路部分を検出または予測し、それに従ってその非活性な回路部分に関連するクロック信号を停止させる電力管理ユニットを含む。非活性な回路部分を駆動する「使用されていない」クロック信号をOFFにすることによって、システムの総電力消費量が低減される。同様の方法には、時間が決定的でない動作モードの間回路部分を駆動するクロック信号の周波数を低減させる能力が必要である。
【0004】
「使用されていない」クロック信号を停止させる能力は電力消費量を低減することにおいては一般に成功したが、代替バスマスタがそこに接続される周辺バスを駆動するクロック信号にはこの方法は一般に適用されていない。このように制限される理由は、以下の例から最良に理解される。
【0005】
図1は、マイクロプロセッサ(CPU)12と、システムメモリ14と、ブリッジ/メモリコントローラ16と、バスインタフェースおよびアービタユニット18とを含むコンピュータシステム10を示すブロック図である。CPUローカルバス20は、マイクロプロセッサ12をブリッジ/メモリコントローラ16とバスインタフェースおよびアービタユニット18とに結合する。システムメモリバス22は、システムメモリ14をブリッジ/メモリコントローラ16に結合する。「マスタ1」として示される代替バスマスタ26および「マスタ2」として示される第2の代替バスマスタ28は、周辺バス30を介してバスインタフェースおよびアービタユニット18に結合される。同様に、スレーブ装置31も、周辺バス30を介してバスインタフェースおよびアービタユニット18に結合される。
【0006】
代替バスマスタ26が周辺バス30の統御を必要とするとき、REQ1として示されるリクエスト信号が代替バスマスタ26によってアサートされ、バスインタフェースおよびアービタユニット18によって検出される。内部アービトレーション論理に従ってバスの統御が許可されれば、バスインタフェースおよびアービタユニット18はGNT1として示される許可信号をアサートし、それに応じて、代替バスマスタ26は周辺バス30を統御することができかつ所望のサイクルを実行し得る。
【0007】
図1のシステムでは、リクエスト信号REQx(すなわち、REQ1またはREQ2)は、関連する代替バスマスタによって周辺バスクロック信号CLKと同期的にアサートされなければならない。この要求は、PCIバス規格等のいくつかの広く用いられている周辺バス規格によって指定される。この要求の結果、そのような周辺バス規格を用いるシステムは、周辺バスクロック信号CLKが常にONにされるように設計され、それによって代替バスマスタが同期リクエスト信号を生成できるようになる。しかしながら、そのようなシステムでは、周辺バスが使用されていないときに電力が浪費される。
【0008】
スレーブ装置が周辺バスサイクルが終わった後にクロック信号を必要とし得るため、周辺バスのためにクロック停止(またはクロック減速)電力低減法を用いることに対して付加的な障害が生じる。たとえば、スレーブ装置31が内部FIFOを空にするために、周辺バスサイクルの完了時に付加的なクロックサイクルが必要とされるかもしれない。もしそのような状況の間にクロック信号が停止されれば、システムの性能およびデータの保全性に悪影響が及ぼされるかもしれない。
【0009】
電力管理の目的のために周辺バスクロック信号を停止または減速することに関するさらに別の問題点は、もし周辺装置が周辺バスクロック信号を再始動させることができないかまたは所与の時間内にクロックエッジを受取らなければ、外部バスマスタは立ち往生するかまたはデータを失う可能性があるということである。その結果、システムの性能が劣化するかまたはデータの保全性が悪影響を受ける可能性がある。いかなるコンピュータシステムにおいてもデータの保全性は非常に重要であるため、および従来の周辺バスマスタは典型的には関連する周辺バスクロック信号を制御することができないため、そのような従来のバスマスタ装置は、電力管理のために周辺クロック信号が停止または減速されるコンピュータシステムと互換性がない場合がある。したがって、そのようなコンピュータシステムと従来の周辺装置との逆方向の互換性は制限され得る。
【0010】
【発明の概要】
上述の問題点は、本発明に従った周辺バスクロック信号を制御するためのシステムおよび方法によってその大部分が解決される。このシステムは、たとえば電力管理ユニットに応答して周辺バスクロック信号が停止(または減速)され得る電力節約法を適応させる。周辺バスクロック信号を停止させる前に、クロック制御回路によってクロックリクエストラインにインジケータ信号が生成される。スレーブ装置が周辺バスクロック信号を必要とし続ければ、スレーブ装置はそれに応答してクロックリクエスト信号を発生する。クロック制御回路はクロックリクエスト信号を受取り、それに応じて周辺バスクロック信号が停止しないようにする。周辺バスクロック信号が停止されるときに代替バスマスタが周辺バスの統御を必要とすれば、代替バスマスタは周辺バスクロックを再始動させるためにクロックリクエスト信号をアサートするように構成され得る。クロックリクエスト信号は周辺バス上に送られ、その結果クロック制御回路によって受取られる。クロック制御回路はそれに応答して周辺バスクロック信号を再始動させる。その後、代替バスマスタは周辺バスクロック信号と同期のバスリクエスト信号を発生し、それによってバスアービタユニットから許可信号を得ることができる。
【0011】
このシステムはさらに、内部でバスリクエスト信号を生成できない従来の代替バスマスタとの逆方向の互換性が得られるように構成され得る。そのような実施例に関しては、システムのリセットの際に、BIOSブートコードは各々の代替バスマスタ内の構成レジスタを読取る。PCIベースのシステムに関しては、この構成レジスタはいわゆるMAXLATレジスタ(またはフィールド)であってもよい。構成レジスタの内容は、特定のマスタが周辺バスへのアクセスを必要とし得る頻度を示している。各々のマスタのMAXLATフィールドを読取る際に、システムは、周辺バスへのアクセスを最も頻繁に必要とするマスタに対応するMAXLAT値に従ってクロック制御タイマを設定する。周辺バスを最も頻繁に必要とするマスタがたとえば2マイクロ秒という最大待ち時間を指定すれば、システムは、1マイクロ秒(すなわち、指定された最大待ち時間の半分)ごとにサイクル動作を行なう(またはトリガする)ようにクロック制御タイマを設定する。その後、もし電力管理ユニットによって周辺バスクロックを停止させる決定がなされれば、クロック制御タイマはサイクル動作を始める。1マイクロ秒が経過するたびに、クロック制御タイマは、クロックジェネレータに少なくとも1つのクロックエッジ(すなわち、ワンショットまたはマルチショット)を与えるようにさせる。これにより、周辺バスに結合されるいかなるバスマスタも、たとえそのバスマスタがクロックリクエスト信号を生成できなくても、周辺バスを統御するために確実に同期バスリクエスト信号を生成することができる。このシステムはさらに、周期的なクロックエッジの各々を与える間にできるだけ長くクロック信号を停止させることによって、電力管理を最適化させる。もし代替的に電力管理ユニットが電力節約モードの間に周辺バスクロック信号を減速させれば、各々のマスタのMAXLATフィールドから読取られる値は、クロック信号が減速され得る最小の周波数を決定するために用いられ得る。すなわち、クロックジェネレータは、周辺バスを最も頻繁に必要とするマスタのMAXLATフィールド内で指定された最大待ち時間の値の半分以下の周期で周辺バスクロック信号を生成するように設定されるであろう。本発明に従ったシステムを用いれば、周辺バスクロック信号を電力管理のために停止させるかまたは低減させ、なおかつ周辺バスの統御を得るために同期バスリクエスト信号をアサートしなければならない代替バスマスタを適応させることができる。
【0012】
本発明の他の目的および利点は、添付の図面を参照して以下の詳細な説明から明らかになるであろう。
【0013】
本発明は種々の変更例および代替例が可能であるが、特定の実施例を例示的に図面に示しかつ詳細に説明する。しかしながら、これらの図面および詳細な説明は本発明を開示される特定の形に限定するものではなく、本発明は、前掲の特許請求の範囲によって規定されるような本発明の意図および範囲内でいかなる変形例、均等物および代替例も含むものとする。
【0014】
【好ましい実施例の詳細な説明】
次に図2を参照すると、周辺バス102がバスインタフェースおよびアービタユニット106を介してCPUローカルバス104に結合されるコンピュータシステム100の一部分がブロック図で示されている。「マスタ1」として示される代替バスマスタ108および「マスタ2」として示される第2の代替バスマスタ110は周辺バス102に結合され、マイクロプロセッサ(CPU)119はCPUローカルバス104に結合される。さらに、電力管理ユニット111、フリップフロップ112、114、および信号ドライバ116、118はバスインタフェースおよびアービタユニット106に結合される。
【0015】
代替バスマスタ108および110は、種々の特定の周辺バス装置によって実現することができる。たとえば、代替バスマスタ108は、他のコンピュータシステムを周辺バス102に接続するローカルエリアネットワーク(LAN)装置によって実現することができる。同様に、代替バスマスタ110は、周辺バス102を他の周辺バスに接続する拡張バスインタフェースによって実現することができる。
【0016】
周辺バス102は予め定められたビット幅を有し、CD−ROM装置等の種々の他の周辺装置に接続され得る。ある実施例では、周辺バス102はPCI規格バス構成を用いて実現されるが、代替的には他の周辺バス規格構成を用いることができる。このPCI規格バス構成は、PCIスペシャル・インタレスト・グループ(PCI Special Interest Group)による1993年4月30日発行の出版物PCIローカルバス仕様(PCI Local Bus Specification )改訂版2に記載されている。この文献の全体を引用によりここに援用する。
【0017】
マイクロプロセッサ119は、予め定められた命令セットを実現するデータ処理ユニットである。例示的な処理ユニットには、モデル80386およびモデル80486のマイクロプロセッサがある。なお、CPUローカルバス104はマイクロプロセッサ119をキャッシュメモリおよびメモリコントローラ等の種々の他の構成要素に結合し得る。
【0018】
バスインタフェースおよびアービタユニット106は、マイクロプロセッサ119と周辺バス102に結合される装置との間で制御信号、データ信号およびアドレス信号を調整しかつ送るような周知のインタフェース機能を制御する従来の回路を含む。バスインタフェースおよびアービタユニット106はさらに、周辺バス102の統御を争う装置を調停しかつそれらに優先順位を付ける。図1に関して以前に説明した例と同様に、バスインタフェースおよびアービタユニット106内のアービトレーション論理は、代替バスマスタによってアサートされた同期リクエスト信号を検出し、かつ周辺バス102の統御を達成することができるときに関連する許可信号を生成するように構成される。バスインタフェースおよびアービタユニット106は、ライン123および124でそれぞれ同期リクエスト信号SREQ1およびSREQ2を受取り、かつライン125および126でそれぞれ許可信号GNT1およびGNT2を生成する。バスインタフェースおよびアービタユニット106のこれらの部分が種々の特定の回路構成を用いて実現できること、および例示的な回路構成は既知の先行技術の多数の出版物において記載されていることが当業者によって認識されるであろう。
【0019】
バスインタフェースおよびアービタユニット106は、クロック制御回路120およびクロックジェネレータ122をさらに含む。クロックジェネレータ122は、代替バスマスタ108および代替バスマスタ110等の周辺装置を駆動するために「CLK」として示される周辺バスクロック信号を生成する。以下に詳細に説明するように、クロック制御回路120は、電力管理ユニット111が周辺バスクロック信号CLKを停止させた後、代替バスマスタを適応させるためにクロックジェネレータ122の再始動を制御する。
【0020】
次にコンピュータシステム100の動作を説明する。この議論に関しては、まず、電力管理ユニット111がクロックジェネレータ122をOFFにし、これにより周辺バスクロック信号CLKが停止されると仮定する。電力管理ユニット111は、たとえば、現在バスインタフェースおよびアービタユニット106内にバスリクエスト信号が保留されていないとき、マイクロプロセッサ119によって実行される周辺バスサイクルの完了後、クロックジェネレータ122をOFFにするように構成され得る。
【0021】
もし代替バスマスタ108または110の一方が周辺バス102の統御を要求すれば、そのマスタ装置によって対応する非同期バスリクエスト信号がアサートされる。たとえば、代替バスマスタ108が周辺バス102の統御を要求すれば、ライン128において非同期リクエスト信号AREQ1がローにアサートされる。図1の例と同様に、ライン123でバスインタフェースおよびアービタユニット106によって受取られるリクエスト信号は、周辺バスクロック信号CLKと同期でなければならない。しかしながら、この時点で、クロックジェネレータ122はOFFにされる。したがって、同期リクエスト信号を与えるために、非同期リクエスト信号AREQ1は信号ドライバ116を介してバッファされ、これによりライン127上の非同期クロックリクエスト信号CLKREQがローにアサートされる。クロック制御回路120がクロックリクエスト信号CLKREQのローへのアサートを検出すると、信号IDLEがクロック制御回路120によってハイにデアサートされ、これにより電力管理ユニット111がクロックジェネレータ122をONにし、したがって、(すなわち、信号ON/OFFをハイに駆動することによって)周辺バスクロック信号CLKを再始動させる。
【0022】
第1の周辺クロック信号CLKの立上がり端縁で、ライン128における論理ロー信号(すなわち、信号AREQ1)はフリップフロップ112にラッチされ、かつフリップフロップ112の出力で駆動される。したがって、フリップフロップ112の出力状態によって左右される同期リクエスト信号SREQ1はローになる。なお、信号SREQ1のローへの遷移はクロック信号CLKと同期的に起こる。
【0023】
バスインタフェースおよびアービタユニット106が同期リクエスト信号SREQ1のローへのアサートを検出すると、バスインタフェースおよびアービタユニット106は、その内部アービトレーション論理に従って許可信号GNT1を生成し、その結果、代替バスマスタ108に周辺バス102の統御を許可する。
【0024】
好ましい実施例では、代替バスマスタ108は、周辺バス102の統御が所望であるとき合計2クロックサイクルの間非同期リクエスト信号AREQ1をアサートする。クロック制御回路120がライン127において結果として得られたローの信号を検出すると、2クロックサイクル後に代替バスマスタ108によって非同期リクエスト信号AREQ1がデアサートされていても、クロック制御回路120は駆動を引継ぎ、ライン127において論理ロー信号を維持する。IDLE信号がハイにデアサートされかつクロックジェネレータ122が電力管理ユニット111によってONにされると、システムマイクロプロセッサ119が周辺バス102の統御を回復し、この時点で電力管理ユニット111がクロックジェネレータ122を停止させることができると決定し得るまで周辺バスクロック信号CLKを停止させることができない。たとえば、上述のように、電力管理ユニット111は、現在バスインタフェースおよびアービタユニット106内でバスリクエスト信号が保留されていなければ、マイクロプロセッサ119によって実行される周辺バスサイクルが完了すると周辺バスクロック信号CLKを停止させるように構成され得る。電力管理ユニット111がそのような予め定められた状態にしたがって周辺バスクロック信号CLKを停止させることができると決定すると、クロック制御回路120は1クロックサイクルの間クロックリクエスト信号CLKREQをハイに駆動する。その後、クロック制御回路120はクロックリクエスト信号CLKREQおよびトライステートライン126の駆動を解放する。その後、電力管理ユニット111は信号ON/OFFをローに駆動することによってクロックジェネレータ122をOFFにし、それによって周辺バスクロック信号CLKを停止させる。
【0025】
なお、好ましい実施例では、最後の周辺バスクロック信号CLKの立上がり端縁の間ライン127がハイとしてサンプリングされたときにのみ信号ドライバ116および118が可能化される。これにより、クロック制御回路120がライン127をハイに駆動すると同時に非同期リクエスト信号AREQx(すなわち、AREQ1またはAREQ2)がローにアサートされても、ライン127において起こり得る信号の競合が防がれる。この特徴の実現例は図3に示されており、ここでは、周辺クロック信号CLKの各々のサイクルの間ライン127をサンプリングするため、およびライン127がハイとしてサンプリングされたときにのみ信号ドライバ116および118を可能化するためにフリップフロップ129が用いられる。
【0026】
再び図2を参照すると、もし非同期リクエスト信号AREQ1およびAREQ2が同時にまたはともにアサートされ、代替バスマスタ108および110がともに周辺バス102の統御を要求していることを示せば、クロックリクエスト信号CLKREQは再びローに駆動され、それによって周辺バスクロック信号CLKを再始動させる。したがって、同期リクエスト信号SREQ1およびSREQ2はそれぞれフリップフロップ112および114の出力において与えられ、かつバスインタフェースおよびアービタユニット106において受取られる。その後、内部アービトレーション論理によって確立された予め定められた優先順位に従って許可信号GNT1またはGNT2の一方がアサートされ、他方の許可信号は「優先順位がより高い」代替バスマスタがその対応するバスサイクルを完了するまで遅延される。その後、バスインタフェースおよびアービタユニット106は、「優先順位がより低い」代替バスマスタがその対応するバスサイクルを実行できるようにするために他方の許可信号をアサートする。
【0027】
次にクロック制御回路120の内部論理について考える。図4は、クロック制御回路120内で実現されるアルゴリズムステートマシン300を示している。ステートマシン300は、4つの状態310、320、330および340を含む。周辺バスクロック信号CLKが停止されると、ステートマシン300はアイドル状態310に入る。クロックリクエスト信号CLKREQがハイである限り、ステートマシン300は状態310のままである。
【0028】
クロックリクエスト信号CLKREQがローになると、ステートマシン300は状態320に入る。この遷移は、非同期リクエスト信号AREQxのうちの1つが代替バスマスタのうちの1つによってアサートされると生じる。状態320の間に、クロック制御回路120はライン127をローに駆動し、かつ信号IDLEをハイにデアサートする。電力管理ユニット111は信号IDLEのデアサートを検出し、その結果クロックジェネレータ122をONにして周辺バスクロック信号CLKを再始動させる。
次にステートマシン300は状態330に入り、この状態330の間信号IDLEはハイにデアサートされ続ける。ステートマシン300は、同期リクエスト信号SREQxがローである間はずっと状態330のままである。すべての同期リクエスト信号がハイであれば、ステートマシン300は、内部タイマによって確立された遅延時間に従って予め定められた時間の間状態330のままである。この遅延時間は、クロック信号CLKの再始動の後に、対応する同期リクエスト信号SREQxが(フリップフロップ112または114によって)ローに駆動されるのに十分な時間が確実に与えられるように設けられる。一実施例では、状態330の内部タイマは、ステートマシン300が状態330から出て行く前に少なくとも4クロックサイクルが確実に生じるように規定される。
【0029】
同期リクエスト信号SREQxがハイでありかつタイマが終了すると、ステートマシン300は状態340に入る。状態340の間、クロックリクエスト信号CLKREQはクロック制御回路120によって1クロックサイクルの間ハイに駆動される。IDLE信号はさらにローにアサートされる。
【0030】
次にステートマシン300は再びアイドル状態310に戻り、クロック制御回路120はクロックリクエストライン127をトライステートにする。その後、システムマイクロプロセッサ119が周辺バス102の統御を回復すると、または他のいかなる所望の電力管理機構にも従って、電力管理ユニット111はクロックジェネレータ122をOFFにし得る。その後、クロックリクエスト信号をローにアサートすることによって、周辺バスクロック信号CLKは、上述の態様で別の代替バスマスタによって再び再始動され得る。
【0031】
なお、再び図2を参照して、フリップフロップ112および114、ならびに信号ドライバ116および118はそれぞれ代替バスマスタ108および110の一体の部分として組込まれ得る。さらに、信号ライン123〜127は簡略化のために周辺バス102と別個のものとして示されているが、信号ライン123〜127は周辺バス102の予め規定された制御ラインであってもよい。
【0032】
図5に示されるような別の実施例では、クロックリクエスト信号CLKREQおよび同期リクエスト信号SREQxを生成するために、ステートマシンが各々の代替バスマスタ内に組込まれる。図2の回路部分に対応する回路部分には、同じ参照番号が付されている。図6は、そのような実施例の各々の代替バスマスタ内に組込まれるアルゴリズムステートマシン500を示している。ステートマシン500は、状態510、520および530を含む。
【0033】
図4および図5とともに図6を参照すると、リセットの後、クロックリクエスト信号がハイになると、ステートマシン500は状態510に遷移する。この時点で電力管理ユニット111はクロックを停止させるためにクロックジェネレータ122に信号を送り得る。マスタ周辺装置がクロックを必要としていなければ、ステートマシン500は状態510のままである。システムの事象によってクロックリクエスト信号がローになれば、ステートマシン500は状態530に戻る。もし状態510の間にマスタがクロックを必要とすれば、ステートマシン500は状態520に遷移し、クロックリクエスト信号CLKREQはローに駆動される。その後、クロック制御回路120は、もしクロックが停止されていればそれを再始動させるためにクロックジェネレータ122に信号を送る。マスタは今、バスを獲得しかつそのトランザクションを行なうために、その同期バスリクエスト信号SREQxをアサートし得る。マスタがそのバスリクエストを維持している限り、ステートマシンは状態520のままである。マスタがそのバスリクエストをデアサートすると、ステートマシンは状態530に遷移し、クロックリクエスト信号CLKREQをトライステートにさせる。
【0034】
図2および図5のシステムを用いると、電力管理のために周辺バスクロック信号を停止させ、なおかつ周辺バスの統御を得るために同期バス信号をアサートしなければならない代替バスマスタを適応させることができる。これにより、コンピュータシステムの電力消費量を低減しながら、幅広い互換性を維持することができる。
【0035】
次に図7を参照すると、スレーブ装置600が周辺バス102に結合される、同様のコンピュータシステムの一部分が示されている。図5に対応する回路ブロックには、同じ参照番号が付されている。
【0036】
スレーブ装置600は、周辺クロック信号CLKを受取るように結合され、かつライン127に結合される。以下により詳細に説明するように、図7の実施例によって、もし周辺バスサイクルの後にスレーブ装置600が周辺バスクロック信号を必要とすれば、スレーブ装置600が周辺バスクロック信号を停止させないようにすることができる。たとえば、スレーブ装置600は、内部FIFOバッファを空にするために周辺バス転送サイクルの完了後周辺バスクロック信号を必要とし得る。
【0037】
図7の実施例の動作の間、スレーブ装置600はライン127におけるクロックリクエスト信号CLKREQをモニタする。もしスレーブ装置600がクロックリクエスト信号CLKREQのハイへのアサートを検出し、かつスレーブ装置がまだ周辺バスクロック信号CLKを必要としていれば、スレーブ装置600は、周辺バスクロック信号CLKが停止されないようにするために次のクロックサイクルでライン127を再びローに駆動する。
【0038】
図8は、スレーブ装置600内に実現されるアルゴリズムステートマシン700を示している。システムをリセットすると、ステートマシン700は状態710に入り、この状態710の間ライン127はスレーブ600によってトライステートにされる。ライン127のクロックリクエスト信号CLKREQがローである限り、ステートマシン700は、状態710のままである。
【0039】
ライン127のクロックリクエスト信号CLKREQがハイになると、ステートマシン700は状態720に入る。状態720の間、ライン127はスレーブ装置600によってトライステートにされ続ける。クロックリクエスト信号CLKREQがハイのままである限り、および周辺バスクロック信号CLKが必要とされていない間、ステートマシン700は状態720のままである。
【0040】
ライン127のクロックリクエスト信号CLKREQがローに戻ると、ステートマシン700は状態710に戻る。他方、スレーブ600が周辺バスクロック信号CLKを必要としかつライン127のクロックリクエスト信号がハイであれば、ステートマシン700は状態730に入る。状態730の間、ライン127のクロックリクエスト信号はスレーブ装置600によって2クロックサイクルの間ローに引き下げられる。その後、ステートマシン700は再び状態710に入り、ライン127はスレーブ装置600によってトライステートにされる。
【0041】
図9は、図2、図5および図7のクロック制御回路120内に実現されるステートマシン800の代替実施例を示している。ステートマシン800は、マスタおよびスレーブ装置によってアサートされるクロックリクエスト信号(すなわち、CLKREQ)に応答する。この実施例では、周辺バスクロック信号の再始動および停止は、クロック制御回路120によって直接制御される。なお、電力管理ユニット111は、コンピュータシステムの動作の間、普段はクロックジェネレータ122を制御するように構成され得る。
【0042】
リセットすると、ステートマシン800は状態810に入り、この状態810の間ライン127のクロックリクエスト信号CLKREQはトライステートにされかつクロック制御回路120によって受動的にハイに引き上げられ、この間周辺バスクロック信号CLKはONである。ライン127のクロックリクエスト信号が予め定められたクロック数(すなわち、Mクロックサイクル)の間ハイとして検出されれば、ステートマシン800は状態820に入る。
【0043】
状態820の間、ライン127はトライステートにされ続け、かつクロック制御回路120によってハイに引き上げられ、周辺バスクロック信号CLKは停止される。なお、クロックジェネレータ122は、周辺バスクロック信号CLKを停止させるように、電力管理ユニット111を介してクロック制御回路120によって直接制御される。ライン127のクロックリクエスト信号CLKREQがたとえば代替バスマスタ108によってローに引き下げられるまで、ステートマシン800は状態820のままである。クロックリクエスト信号CLKREQがローにアサートされると、ステートマシン800は状態810に戻り、周辺バスクロック信号CLKが再始動される。
【0044】
その次のクロックサイクルで、もしクロックリクエスト信号CLKREQがローにアサートされ続ければ、ステートマシン800は状態830に入る。状態830の間、クロック制御回路120はライン127においてローへの駆動を維持し、そのためマスタまたはスレーブ装置は駆動を解放することができる。同期バスリクエスト信号(すなわち、SREQx)がアサートされれば、バスリクエスト信号がハイにデアサートされるまで、ステートマシン800は状態830のままである。もしバスリクエスト信号SREQxがローにアサートされずかつ予め定められたクロックサイクル数(すなわち、Nクロック)が生じれば、ステートマシン800は状態840に入る。状態840の間、ライン127のクロックリクエスト信号CLKREQは、クロック制御回路120によって1クロックサイクルの間ハイにアサートされる。ステートマシン800はその後再び状態810に戻る。
【0045】
ライン127のクロックリクエスト信号が再びローに引き下げられそれによってステートマシン800が状態830に入るまで、またはMクロックサイクルが生じ、そのときにステートマシン800が状態820に入りかつ周辺バスクロック信号が停止されるまで、ステートマシン800は状態810のままである。
【0046】
上述の説明から、もしスレーブ装置600が周辺クロック信号CLKがONのままであることを必要とすれば、スレーブ装置600はクロック制御回路120によるライン127のクロックリクエスト信号(一般に「インジケータ」信号と呼ばれる)のローへのアサートを検出し(すなわち、図4の状態340の間、または図9の状態840の間)、かつクロックリクエスト信号をローに駆動してステートマシン300の状態330(図4)またはステートマシン800の状態830(図9)による決定に応じた付加的な定められた時間の間クロックを動かし続ける。
【0047】
次に図10を参照すると、バスインタフェースおよびアービタユニット106の代替的な構成のブロック図が示されている。簡略化しかつわかりやすくするために、図5に対応する回路部分には同じ参照番号が付されている。
【0048】
図10のシステムは、クロックリクエスト信号CLKREQを生成できるバスマスタ(すなわち、マスタ108等)に関しては、上述の図5の説明に従って動作する。このシステムはまた、クロックリクエスト信号を生成するように設計されていない従来のバスマスタも適応させる。マスタ902はそのような従来のバスマスタの1つを表している。
【0049】
内部でクロックリクエスト信号を生成できない従来の代替バスマスタとの逆方向の互換性を得るために、バスマスタ(すなわち、マスタ902)が確実に同期バスリクエスト信号SREQxを生成できるようにするように、電力節約モードの間クロック信号エッジの周期的な発生を制御するプログラマブルクロック制御回路906が設けられる。以下の説明からよりよく理解されるように、電力節約モードの間にクロックエッジが発生される周期速度は、従来のバスマスタの内部構成レジスタから読取られる値に依存する。
【0050】
コンピュータシステム900をリセットすると、マイクロプロセッサ119はBIOSブートコードの実行を開始する。ブート手順の間に、マスタ902の構成レジスタ904の内容を読取るために読取動作が実行される。この構成レジスタ904の特定の内容を以下にさらに詳細に議論する。
【0051】
BIOSコードはまた、マスタ902がクロックリクエスト信号CLKREQを生成できるかどうかを示す状態ビットを含む(マスタ902内の)予め定められたレジスタ位置への別の読取リクエストを呼出し得る。(なお、クロックリクエスト信号は同様に「クロックラン」信号CLKRUNと呼ばれることもある)。マスタ902の場合、状態ビットは、マスタ902がクロックリクエスト信号CLKREQを生成できないことをシステムBIOSに示す。その後システムBIOSは、周辺バス102に接続され得るマスタ108等の他のいかなるバスマスタ内においても同様の状態および構成レジスタを読取るために付加的な読取リクエストを開始し得る。
【0052】
マスタ902の構成レジスタ904の内容は、マスタが周辺バス102へのアクセスを要求し得る頻度を表している。周辺バス102がPCI規格構成バスである好ましい実施例では、構成レジスタ904は、いわゆるMAXLAT(最大待ち時間)レジスタまたはフィールドを実現し得る。当業者によって容易に認識されるように、MAXLATフィールドは、特定の装置に関して必要とされるバンド幅、およびしたがってバスの調停のための優先順位レベルを決定するために、他のフィールドとともに用いられる。MAXLAT値はまた、特定のマスタの待ち時間の値の所望の設定を特定するために用いられる。以前に引用したPCI仕様(PCI Specification )の中に示されるように、MAXLATフィールドは、特定の装置がPCIバスへのアクセスを得ることを必要とする頻度を特定するために用いられる。この値は、ユニットにおける1/4マイクロ秒の時間を特定する。値0は、装置が(特定のマスタ内の)待ち時間タイマの設定をあまり必要としていないことを表わす。
【0053】
システムをリセットすると、BIOSブートコードは、周辺バス102に接続される各々の代替バスマスタ内の指定されたMAXLAT構成レジスタを読取り、かつどのバスマスタがクロックリクエスト信号の生成を支持できるかを決定する。各々のマスタのMAXLATを読取る際に、システムは、(クロックリクエスト信号CLKREQを生成できないマスタのうちで)最も頻繁に周辺バス102へのアクセスを要求するマスタに対応するMAXLAT値に従ってクロック制御タイマ908を設定する。最も頻繁に周辺バス102を要求するマスタがたとえば2マイクロ秒という最大待ち時間を特定すれば、システムは、1マイクロ秒(すなわち、特定された最大待ち時間の半分)ごとにサイクル動作を行なう(またはトリガする)ようにクロック制御タイマ908を設定する。その後、電力管理ユニット111によって周辺バスクロックを停止させるという決定がなされれば、クロック制御タイマ908はサイクル動作を始める。1マイクロ秒が経過するたびに、クロック制御回路906は、クロックジェネレータ122に少なくとも1クロックエッジ(すなわち、ワンショットまたはマルチショット)を与えるようにさせる。これにより、周辺バス102に結合されるマスタ902等のいかなるバスマスタも、たとえそのマスタがクロックリクエスト信号CLKREQを生成できなくても、周辺バス102の統御を得るために同期バスリクエスト信号(すなわち、SREQ2)を確実に生成することができる。同期バスリクエスト信号SREQxをリセットすると、プログラマブルクロック制御回路906は、電力管理ユニット112に、周辺バスクロック信号がその最大の(または通常の)周波数で駆動される通常動作モードに再び入るようにさせる。それにより、リクエストを出しているマスタがサービスされる。
【0054】
なお、好ましい実施例ではクロック制御タイマ908は特定された最大待ち時間の半分の時間で設定されるが、クロック制御タイマ908は特定された最大待ち時間に比例する(またはそれに依存する)他の値で設定されてもよい。たとえば、システムに応じて、クロック制御タイマ908は最大待ち時間の1/3の時間で設定される場合もある。しかしながら、最大待ち時間の1/2の時間に設定し、なおかつ各々のマスタがデータを損失せずに確実に周辺バスの統御を得ることができるようにすることによって、最適な電力の最適化が行なわれると考えられる。
【0055】
したがって、図10のシステムは、周期的なクロックエッジの各々を与える間の時間にできるだけ長くクロック信号を停止させることによって電力管理の最適化を適応する。図11は、図10のシステムの動作を示すフロー図である。ステップ950の間、システムBIOSは、スレーブ装置だけが周辺バス102に結合されるかどうかを決定する。もしそうであれば、ステップ952の間に、プログラマブルクロック制御回路は、クロックリクエスト信号CLKREQを生成できないバスマスタを適応させずに図5および図7のシステムに従って動作するように設定される。もし周辺バス102に接続されるマスタの各々がクロックリクエスト信号CLKREQを生成できれば、ステップ954による決定に応じて、同様の動作が設定される。もし周辺バス102に接続されるマスタの1つ以上がクロックリクエスト信号の生成を支持できなれば、ステップ956の間に、マスタのMAXLATフィールドが読取られ、かつステップ958の間に、クロック制御タイマ908は、最も頻繁にアクセスを必要とするマスタ装置によって必要とされる時間の半分の値で設定される。
【0056】
もし電力節約モードの間電力管理ユニット111が(クロックジェネレータ122を介して)代替的に周辺バスクロック信号を(完全に停止させるのではなく)減速させるのであれば、各々のマスタのMAXLATフィールドから読取られる値は、クロック信号が減速され得る最小の周波数を決定するために用いられ得る。そのような実施例は、図12に示されている。図12の実施例では、クロックジェネレータ122は、プログラマブルクロック制御回路906によって、最も頻繁に周辺バスを必要とするマスタのMAXLATフィールド内で特定される最大待ち時間の値の半分以下の周期で周辺バスクロック信号を生成するように設定される。たとえば、マスタ902がレジスタ904の値に従って2マイクロ秒ごとに周辺バス102へのアクセスを必要とし得ることを示し、かつ(クロックリクエスト信号の生成を支持できないマスタのうちで)最も頻繁に周辺バス102へのアクセスを必要とするのがそのマスタであれば、プログラマブルクロック制御回路906はライン907において周波数制御信号を生成し、この周波数制御信号は電力節約モードの間周辺バスクロック信号を1マイクロ秒(または1マイクロ秒以下)の周期で駆動させる。これにより、マスタ902は、少なくとも必要とし得る回数だけ同期バスリクエストを生成することができる。なお、一旦バスリクエスト信号SREQxが特定のマスタによって生成されると、電力管理ユニット111はクロックジェネレータ122に周辺バスクロック信号を十分な周波数で駆動させる。
【0057】
本発明に従ったシステムを用いると、電力管理のために周辺バスクロック信号を停止または減速させ、なおかつ周辺バスの統御を得るために同期バスリクエスト信号をアサートしなけばならない代替バスマスタを適応させることができる。
【0058】
上述のアルゴリズムステートマシン300、500、700および800は、種々の周知の回路縮小法を用いることによって順序論理回路に縮小され得る。たとえば、ステートマシン300、500、700および800を順序論理回路に縮小するために、計算機援用設計ツールを用いてもよい。例示的な計算機援用設計ツールには、VHSICハードウエア記述言語およびVERILOG記述言語がある。
【0059】
図2および図5の電力管理ユニット111は、上述の機能の他に種々の付加的な電力管理機能を実現するように構成され得る。たとえば、電力管理ユニット111は、1992年11月24日発行のスミス(Smith )らへの米国特許番号第5,167,024号に記載される機能と同様の機能を実現するように設計され得る。この特許の全体を引用によりここに援用する。
【0060】
なお、スレーブ装置600を、種々の特定の周辺装置によって実現することができる。たとえば、スレーブ装置600は、ディスクコントローラ装置またはオーディオコントローラ装置であることが可能である。
【0061】
さらに、上述の実施例ではクロックジェネレータ122はバスインタフェースおよびアービタユニット106内にあるように示されているが、クロックジェネレータ122はコンピュータシステム100の種々の代替回路ブロック内に組込まれてもよい。
【0062】
上述の開示を十分に認識すれば、多くの変形例および変更例が当業者に明らかとなるであろう。たとえば、電力節約モードの間周辺バスクロック信号は完全に停止される(0Hz)のではなくいかなる周波数レベルにも低減されることができる。前掲の特許請求の範囲は、そのような変形例および変更例のすべてを含むものとして解釈されるものである。
【図面の簡単な説明】
【図1】周辺バスとその周辺バスに結合される複数の代替バスマスタとを含むコンピュータシステムのブロック図である。
【図2】周辺バスクロック信号を再始動させるためのクロック制御回路を含むコンピュータシステムの一部分のブロック図である。
【図3】一対の信号ドライバを可能化するためのフリップフロップを含むコンピュータシステムの一部分のブロック図である。
【図4】図2のクロック制御回路内に実現されるアルゴリズムステートマシンの図である。
【図5】周辺バスクロック信号を要求しかつ同期バスリクエスト信号を生成するための内部ステートマシンを有する代替バスマスタを含むコンピュータシステムの一部分のブロック図である。
【図6】代替バスマスタ内に実現されるアルゴリズムステートマシンの図である。
【図7】クロックリクエスト信号をアサートすることができるスレーブ装置を含むコンピュータシステムのブロック図である。
【図8】スレーブ装置内に実現されるアルゴリズムステートマシンの図である。
【図9】クロック制御回路内に実現されるアルゴリズムステートマシンの図である。
【図10】従来のマスタ装置を含むコンピュータシステムのブロック図である。
【図11】図10のコンピュータシステム内のプログラマブルクロック制御回路の動作のフロー図である。
【図12】従来のマスタ装置を含むコンピュータシステムのブロック図である。
【符号の説明】
102 周辺バス
104 ローカルバス
106 バスインタフェースおよびアービタユニット
108 代替バスマスタ
110 代替バスマスタ
111 電力管理ユニット
119 マイクロプロセッサ
120 クロック制御回路
122 クロックジェネレータ
Claims (20)
- マイクロプロセッサと、
前記マイクロプロセッサに結合されるローカルバスと、
周辺バスと、
前記ローカルバスと前記周辺バスとに結合され、前記ローカルバスと前記周辺バスとの間のデータおよびアドレス信号の転送を調整し、かつ前記周辺バスの統御を調停するためのバスインタフェースおよびアービタユニットと、
前記周辺バスにおいて周辺バスクロック信号を与えるためのクロックジェネレータ回路とを備え、前記クロックジェネレータ回路は前記周辺バスクロック信号を選択的に停止および再始動させるように構成され、
前記周辺バスに結合される代替バスマスタをさらに備え、前記代替バスマスタは、予め定められた状態が生じたことに応じて前記周辺バスクロック信号が停止されている間に、クロックリクエスト信号をアサートするように構成され、かつ前記周辺バスクロック信号が再始動されると前記周辺バスクロック信号と同期的にバスリクエスト信号をアサートするように構成され、前記バスリクエスト信号は、前記周辺バスの統御を要求するために前記バスインタフェースおよびアービタユニットに与えられ、
前記代替バスマスタに結合され、前記クロックリクエスト信号のアサートに応答して前記周辺バスクロック信号を再始動させるように構成されるクロック制御回路をさらに備える、コンピュータシステム。 - 前記クロックリクエスト信号を受取るように結合されるラッチング回路をさらに備え、前記ラッチング回路は、周辺バスクロック信号に応答して前記バスインタフェースおよびアービタユニットに前記バスリクエスト信号を与える、請求項1に記載のコンピュータシステム。
- 前記代替バスマスタは、前記周辺バスクロック信号が停止されている間に、前記クロックリクエスト信号をアサートし、かつ前記周辺バスクロック信号が再始動された後に前記バスリクエストをアサートするステートマシンを含む、請求項1に記載のコンピュータシステム。
- 前記周辺バスは多重アドレス/データバスである、請求項1に記載のコンピュータシステム。
- 前記クロック制御回路と前記クロックジェネレータ回路とに結合される電力管理ユニットをさらに備え、前記電力管理ユニットは、前記周辺バスクロック信号を選択的に停止および再始動させるために、制御信号を前記クロックジェネレータに与えるよう構成され、前記クロック制御回路は、前記クロックリクエスト信号に応答して前記電力管理ユニットにコマンド信号を与えるよう構成される、請求項3に記載のコンピュータシステム。
- 前記電力管理ユニットは、前記マイクロプロセッサが前記周辺バスの統御を達成した後に予め定められた状態が発生すると前記周辺バスクロック信号を停止させるよう構成される、請求項5に記載のコンピュータシステム。
- 前記バスインタフェースおよびアービタユニットは、前記バスリクエスト信号に応答してバス許可信号をアサートするよう構成される、請求項3に記載のコンピュータシステム。
- 前記周辺バスは、前記クロックリクエスト信号を前記代替バスマスタから前記クロック制御回路に結合するための制御ラインを含む、請求項3に記載のコンピュータシステム。
- 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するためのシステムであって、
前記周辺バスクロック信号を生成するためのクロックジェネレータと、
前記クロックジェネレータに結合され、予め定められた状態が生じると前記周辺バスクロック信号を停止させるための電力管理ユニットと、
前記周辺バスクロック信号が停止されている間に、代替バスマスタによって生成される非同期クロックリクエスト信号を受取るように結合されるクロック制御回路とを備え、前記クロック制御回路は、前記非同期クロックリクエスト信号に応答して、前記電力管理ユニットに前記周辺バスクロック信号を再始動させるコマンド信号を生成するように構成され、
前記代替バスマスタによって生成されるバスリクエスト信号に応答するバスアービタユニットをさらに備え、前記バスリクエスト信号は前記周辺バスクロック信号と同期であり、前記バスアービタユニットは、前記代替バスマスタに対して前記周辺バスの統御を示すために、前記バスリクエスト信号に応答して許可信号を生成するように構成される、システム。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するためのシステムであって、
前記代替バスマスタは、前記周辺バスクロック信号が停止されると前記非同期クロックリクエスト信号をアサートし、かつ前記周辺バスクロック信号が再始動された後に前記バスリクエスト信号をアサートするよう構成されるステートマシンを備える、請求項9に記載のシステム。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するためのシステムであって、
前記クロック制御回路は、前記非同期クロック信号に応答して前記コマンド信号をアサートするよう構成されるステートマシンを含む、請求項9に記載のシステム。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するためのシステムであって、
前記周辺バスは多重アドレス/データバスである、請求項9に記載のシステム。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するためのシステムであって、
前記周辺バスに組込まれ、前記非同期クロックリクエスト信号を前記代替バスマスタから前記クロック制御回路に結合するために制御ラインをさらに備える、請求項9に記載のシステム。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するための方法であって、
予め定められた状態が生じると前記周辺バスクロック信号を停止させるステップと、
前記周辺バスクロック信号が停止されている間に、代替バスマスタ内で非同期クロックリクエスト信号を生成するステップと、
前記非同期クロックリクエスト信号に応答して前記周辺バスクロック信号を再始動させるステップと、
前記周辺バスクロック信号が再始動された後に、前記周辺バスの統御を要求するために前記代替バスマスタ内で同期バスリクエスト信号を生成するステップとを含み、前記同期バスリクエスト信号は前記周辺バスクロック信号と同期である、方法。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するための方法であって、
前記同期バスリクエスト信号に応答してバス許可信号を生成するステップをさらに含む、請求項14に記載の方法。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するための方法であって、
前記周辺バスクロック信号を再始動させるための前記ステップは、前記周辺バスに組込まれる制御ラインを介して非同期クロックリクエスト信号を前記代替バスマスタからクロック制御回路に結合するステップを含む、請求項14に記載の方法。 - 周辺バスクロック信号を再始動させかつ周辺バスの統御を要求するための方法であって、バス許可信号を生成する前記ステップは、バスアービタユニットによって行なわれる、請求項15に記載の方法。
- 周辺バスと、
前記周辺バスの統御を調停するためのアービタユニットと、
前記周辺バスにおいて周辺バスクロック信号を与えるためのクロックジェネレータ回路とを備え、前記クロックジェネレータ回路は前記周辺バスクロック信号を選択的に停止および再始動させるように構成され、
前記周辺バスおよび前記バスアービタに結合される代替バスマスタをさらに備え、前記代替バスマスタは、予め定められた状態が生じたことに応じて前記周辺バスクロック信号が停止されている間に、クロックリクエスト信号をアサートするように構成され、かつ前記周辺バスクロック信号が再始動されると前記周辺バスクロック信号と同期的にバスリクエスト信号をアサートするように構成され、前記バスリクエスト信号は、前記周辺バスの統御を要求するために前記アービタユニットに与えられ、
前記代替バスマスタに結合され、前記クロックリクエスト信号のアサートに応答して前記周辺バスクロック信号を再始動させるように構成されるクロック制御回路をさらに備える、コンピュータシステム。 - 前記クロック制御回路と前記クロックジェネレータ回路とに結合される電力管理ユニットをさらに備え、前記電力管理ユニットは、前記周辺バスクロック信号を選択的に停止および再始動させるために、制御信号を前記クロックジェネレータに与えるよう構成され、前記クロック制御回路は、前記クロックリクエスト信号に応答して前記周辺バスクロック信号を再始動させるために前記電力管理ユニットにコマンド信号を与えるよう構成される、請求項18に記載のコンピュータシステム。
- 前記アービタユニットは、前記バスリクエスト信号に応答してバス許可信号をアサートするよう構成される、請求項19に記載のコンピュータシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/125,406 US6163848A (en) | 1993-09-22 | 1993-09-22 | System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus |
US125406 | 1993-09-22 | ||
US131092 | 1993-10-01 | ||
US08/131,092 US5600839A (en) | 1993-10-01 | 1993-10-01 | System and method for controlling assertion of a peripheral bus clock signal through a slave device |
US23481994A | 1994-04-28 | 1994-04-28 | |
US234819 | 1994-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07152449A JPH07152449A (ja) | 1995-06-16 |
JP3568592B2 true JP3568592B2 (ja) | 2004-09-22 |
Family
ID=27383240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22433694A Expired - Fee Related JP3568592B2 (ja) | 1993-09-22 | 1994-09-20 | 周辺バスクロック信号を制御するためのコンピュータシステムおよびその方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0644475B1 (ja) |
JP (1) | JP3568592B2 (ja) |
DE (1) | DE69433906T2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740454A (en) * | 1995-12-20 | 1998-04-14 | Compaq Computer Corporation | Circuit for setting computer system bus signals to predetermined states in low power mode |
DE69827755T2 (de) * | 1997-07-21 | 2005-11-03 | Koninklijke Philips Electronics N.V. | Verfahren zum betreiben eines kommunikationskanals in einer gemischten master-/slave-teilnehmerumgebung durch eine dynamische schliess- und/oder öffnungsoperation und system zur durchführung des verfahrens |
JP3592547B2 (ja) * | 1998-09-04 | 2004-11-24 | 株式会社ルネサステクノロジ | 情報処理装置および信号転送方法 |
JP4733877B2 (ja) | 2001-08-15 | 2011-07-27 | 富士通セミコンダクター株式会社 | 半導体装置 |
JP3665030B2 (ja) | 2002-02-19 | 2005-06-29 | Necマイクロシステム株式会社 | バス制御方法及び情報処理装置 |
US7155618B2 (en) * | 2002-03-08 | 2006-12-26 | Freescale Semiconductor, Inc. | Low power system and method for a data processing system |
US7861192B2 (en) | 2007-12-13 | 2010-12-28 | Globalfoundries Inc. | Technique to implement clock-gating using a common enable for a plurality of storage cells |
US10311191B2 (en) | 2017-01-26 | 2019-06-04 | Advanced Micro Devices, Inc. | Memory including side-car arrays with irregular sized entries |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4381552A (en) * | 1978-12-08 | 1983-04-26 | Motorola Inc. | Stanby mode controller utilizing microprocessor |
JPS59200327A (ja) * | 1983-04-26 | 1984-11-13 | Nec Corp | 周辺装置の制御方式 |
JPS62150453A (ja) * | 1985-12-23 | 1987-07-04 | Nec Corp | マイクロコントロ−ラのスタンバイ制御方式 |
US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
JP2738229B2 (ja) * | 1992-08-03 | 1998-04-08 | 日本電気株式会社 | シリアル・データ通信制御装置 |
-
1994
- 1994-09-12 EP EP94306661A patent/EP0644475B1/en not_active Expired - Lifetime
- 1994-09-12 DE DE69433906T patent/DE69433906T2/de not_active Expired - Lifetime
- 1994-09-20 JP JP22433694A patent/JP3568592B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0644475A2 (en) | 1995-03-22 |
DE69433906T2 (de) | 2005-07-21 |
DE69433906D1 (de) | 2004-08-26 |
EP0644475A3 (en) | 1995-09-27 |
JPH07152449A (ja) | 1995-06-16 |
EP0644475B1 (en) | 2004-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3633998B2 (ja) | コンピュータシステム | |
JP3526920B2 (ja) | コンピュータシステム、ならびに周辺バスクロック信号を制御するためのシステムおよび方法 | |
JP4685312B2 (ja) | データ処理システムおよび電力節約方法 | |
US5625807A (en) | System and method for enabling and disabling a clock run function to control a peripheral bus clock signal | |
US5590341A (en) | Method and apparatus for reducing power consumption in a computer system using ready delay | |
US6163848A (en) | System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus | |
US7155618B2 (en) | Low power system and method for a data processing system | |
US6085330A (en) | Control circuit for switching a processor between multiple low power states to allow cache snoops | |
USRE46193E1 (en) | Distributed power control for controlling power consumption based on detected activity of logic blocks | |
EP1508081B1 (en) | Method and apparatus for providing a decoupled power management state | |
WO1998044405A1 (en) | Automatic transitioning between acpi c3 and c2 states | |
JP3568592B2 (ja) | 周辺バスクロック信号を制御するためのコンピュータシステムおよびその方法 | |
JP4202754B2 (ja) | バス結合された回路ブロックのための電力管理の方法及び構成 | |
US20080068238A1 (en) | Entry/Exit Control To/From a Low Power State in a CPU with an Unprotected Pipeline | |
EP2109029B1 (en) | Apparatus and method for address bus power control | |
JP2005209230A (ja) | 記憶装置 | |
JP2002049580A (ja) | バス管理装置、バス使用要求送信装置、バス管理方法、及びバス使用要求送信方法 | |
JP3713488B2 (ja) | コンピュータシステム及びその動作制御方法 | |
JPH11328111A (ja) | クロック同期型バス回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040616 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |