(57)【要約】【課題】  パーソナル情報デバイスのデータ集中、視覚集中および音声集中要求に対処する回路を用いる集積プロセッサを単一のモノリシック回路上に製造する。【解決手段】  集積プロセッサ１０はＣＰＵコア１４、メモリコントローラ１６および種々の周辺装置を含んで万能かつ高性能となる。周波数の異なるクロック信号を発生するための複数のフェイズロックドループを含むクロック制御装置２６を設けて種々のサブシステムを適切にクロックするためのプロセッサの電力消費は小さい。クロック制御装置が種々のサブシステムに与えるクロック信号は１つの水晶発振器入力信号から引出される。電力管理装置２４がプロセッサ内に組入れられ、種々のサブシステムへのクロック周波数および／または適用を制御しかつその他の電力管理機能を制御する。プロセッサのピン数はプロセッサの所望の機能性に応じてある外部ピンを選択的に多重化するので最小となる。【選択図】図１
2006351032.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵコアと、ＤＭＡコントローラと、ビデオコントローラと、クロック制御装置と、電力管理装置とを含む集積プロセッサであって、前記ＣＰＵコアと、前記ＤＭＡコントローラと、前記ビデオコントローラと、前記クロック制御装置と、前記電力管理装置とはすべてバス構造を介して相互接続され、
前記クロック制御装置は、異なる周波数で、ＣＰＵクロックと、バスインタフェース装置クロックと、ＤＭＡコントローラクロックとを供給するように構成され、
前記クロック制御装置はさらに、ビデオコントローラクロックを供給するように構成され、
前記バス構造は、ＣＰＵローカルバスと、周辺相互接続バスと、前記ＣＰＵローカルバスと前記周辺相互接続バスとの間に接続されたバスインタフェース装置とを含み、
前記電力管理装置は、前記電力管理装置を全速状態から低速状態に遷移させる第１のカウンタを含み、
前記第１のカウンタは、前記全速状態への他の状態からの遷移に応じてカウントを開始するように構成され、
前記電力管理装置は、前記第１のカウンタによって第１の予め定められた期間がカウントされたことに応じて前記全速状態から前記低速状態に遷移するように構成され、
前記クロック制御装置は、前記低速状態への前記遷移に応答して、前記ＣＰＵクロック、前記ＤＭＡコントローラクロックおよび前記バスインタフェース装置クロックの周波数を減じるように構成される、集積プロセッサ。
【請求項２】
前記電力管理装置はさらに、予め定められた複数のシステムイベントのうちの１つが検出されたことに応じて前記第１のカウンタをリセットするように構成される、請求項１に記載の集積プロセッサ。
【請求項３】
前記電力管理装置はさらに、前記予め定められた複数のシステムイベントのうち選択されたシステムイベントをプログラム可能にマスクするためのマスクレジスタを含む、請求項２に記載の集積プロセッサ。
【請求項４】
前記電力管理装置はさらに、予め定められた複数のシステムイベントのうち１つが検出されたことに応じて前記低速状態から前記全速状態に遷移するように構成される、請求項１に記載の集積プロセッサ。
【請求項５】
前記低速状態の間に前記クロック制御装置が減じる前記ＣＰＵクロック、前記ＤＭＡコントローラクロックおよび前記バスインタフェース装置クロックの周波数はプログラム可能である、請求項１に記載の集積プロセッサ。
【請求項６】
前記第１の予め定められた期間はプログラム可能である、請求項１に記載の集積プロセッサ。
【請求項７】
前記電力管理装置はさらに、前記電力管理装置を前記低速状態からドーズ状態に遷移させる第２のカウンタを含み、
前記第２のカウンタは、前記低速状態への他の状態からの遷移に応じてカウントを開始するように構成され、
前記電力管理装置は、前記第２のカウンタによって第２の予め定められた期間がカウントされたことに応じて前記低速状態から前記ドーズ状態に遷移するように構成され、
前記クロック制御装置は、前記ドーズ状態への前記遷移に応答して、前記ＣＰＵクロック、前記ＤＭＡコントローラクロックおよび前記バスインタフェース装置クロックを遮断するように構成された、請求項１に記載の集積プロセッサ。
【請求項８】
前記電力管理装置は、予め定められた複数のシステムイベントのうち１つが検出されたことに応じて前記第１および第２のカウンタをリセットするように構成される、請求項７に記載の集積プロセッサ。
【請求項９】
前記電力管理装置は、予め定められた複数のシステムイベントのうち１つが検出されたことに応じて前記全速状態に遷移するように構成される、請求項７に記載の集積プロセッサ。
【請求項１０】
前記第１および第２の予め定められた期間はプログラム可能であり、前記第２の予め定められた期間は前記第１の予め定められた期間より長い、請求項７に記載の集積プロセッサ。
【請求項１１】
前記電力管理装置はさらに、前記電力管理装置をソフトウェア制御により前記全速状態、前記低速状態および前記ドーズ状態間で変化させる電力管理状態レジスタを含む、請求項７に記載の集積プロセッサ。
【請求項１２】
前記電力管理装置はさらに、前記電力管理装置を前記ドーズ状態からスリープ状態に遷移させる第３のカウンタを含み、
前記第３のカウンタは、前記ドーズ状態への他の状態からの遷移に応じてカウントを開始するように構成され、
前記電力管理装置は、前記第３のカウンタによって第３の予め定められた期間がカウントされたことに応じて前記ドーズ状態から前記スリープ状態に遷移するように構成され、
前記クロック制御装置は、前記スリープ状態への前記遷移に応答して、前記ＣＰＵクロック、前記ＤＭＡコントローラクロック、および前記バスインタフェース装置クロックをオフ状態に保持し、前記ビデオコントローラクロックを遮断するように構成される、請求項７に記載の集積プロセッサ。
【請求項１３】
外部電力制御ピンをさらに備え、前記全速、低速、ドーズおよびスリープ状態への前記遷移に応答して、前記外部電力制御ピンは、前記集積プロセッサに接続された外部装置に対し電力の供給または除去を行なうように構成される、請求項１２に記載の集積プロセッサ。
【請求項１４】
集積回路装置の電力管理方法であって、
第１の予め定められた期間をカウントするステップと、
前記第１の予め定められた期間をカウントしたことに応じて、前記集積回路装置のＣＰＵクロック、ＤＭＡコントローラクロックおよびバスインタフェース装置クロックの周波数を全速周波数から低速周波数まで減じるステップとを含み、前記ＣＰＵクロックと、前記バスインタフェース装置クロックと、前記ＤＭＡコントローラクロックとは異なる全速周波数を有しており、かつ前記低速周波数はプログラム可能であり、
第２の予め定められた期間をカウントするステップと、
前記第２の予め定められた期間をカウントしたことに応じて、前記ＣＰＵクロックと、前記ＤＭＡコントローラクロックと、前記バスインタフェース装置クロックとを遮断するステップとをさらに備える、方法。
【請求項１５】
予め定められた複数のシステムイベントのうちの１つを検出するステップと、
前記検出に応じて、前記ＣＰＵクロック、前記ＤＭＡコントローラクロックおよび前記バスインタフェース装置クロックの周波数を、前記低速周波数から前記全速周波数に増大させるステップとをさらに備える、請求項１４に記載の方法。
【請求項１６】
第３の予め定められた期間をカウントするステップと、
前記第３の予め定められた期間をカウントしたことに応じて、前記集積回路装置のビデオコントローラクロックを遮断するステップとをさらに備える、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムに関し、より特定的には、集積プロセッサシステムのさまざまな回路をプログラム可能な別々の周波数で適切にクロックするクロック制御装置を有する、単一のモノリシック回路上に実現される集積プロセッサシステムに関する。
【背景技術】
【０００２】
製造業者たちは、ますます多くの回路を単一のモノリシック半導体基板または「チップ」の上に設けることができることを立証している。本明細書中ではパーソナル情報デバイス（「ＰＩＤ」）と称されるポータブルデータ処理システムの出現により、単一のチップ上にさらに多くの回路を設ける必要に迫られている。本明細書中で規定するものとしては、ＰＩＤは、ポケットパーソナルコンピュータ（ＰＣ）、ディジタル補助装置（テストユニット、メータなど）、「スマート」電話、および電子カレンダー、オーガナイザ、ブックレット等のＣＰＵを基本としたいかなるポータブルシステムも含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現代のＰＩＤは典型的に、機能的にはデータ集中、視覚集中および／または音声集中を必要とする。たとえば、ポケットパーソナルコンピュータは、データ集中機能を含む拡張データ計算を行なうことが要求されるかもしれない。さらに、ポケットパーソナルコンピュータはまた、たとえば、視覚集中機能が必要である詳細かつオブジェクト配向であるディスプレイが要求されるかもしれない。他方スマート電話には音声集中機能が必要であり、必ずしも視覚および／またはデータ集中機能は要求されないだろう。したがって、ＰＩＤアプリケーションという広範囲にわたる使用が意図される集積プロセッサシステムは、これら３つのタイプの機能性すべてを提供するために必要なサブシステムを含まねばならない。
【０００４】
上記の技術的特徴に加え、ＰＩＤのための集積プロセッサはまた、外形の小さなパッケージ内で低電力で動作せねばならず、低コストで利用できることが好ましい。不運にも、たとえば集積プロセッサのピンカウントを減ずることによりコストを削減しようとすると、集積プロセッサの何らかの望ましいサブシステムを排除する必要があるかもしれず、したがって機能性および／または性能を制限することになる。何らかのサブシステムを組入れたり、またはさまざまな異なる水晶発振器回路を用いてさまざまなサブシステムをクロックする必要が生じると、電力消費に関しても同様に逆効果がもたらされるかもしれない。万能性、小型、低電力消費、かつ低コストを維持する一方で適切な性能を獲得する、ＰＩＤのための集積プロセッサは概して入手不能である。
【０００５】
したがって、データ集中、視覚集中および／または音声集中ＰＩＤアプリケーションに適用可能な、高性能かつ万能性のある集積プロセッサが望ましい。このような集積プロセッサはさらに、小型、低電力消費、および低コストという特徴を有するべきものである。
【課題を解決するための手段】
【０００６】
上記の問題は概ね、本発明に従う高度に集積された低電力の集積プロセッサにより解決される。この集積プロセッサは単一のモノリシック回路上に製造され、今日のＰＩＤのデータ集中、視覚集中、および音声集中要求を受け入れる回路を用いる。重要なことは、この集積プロセッサはＣＰＵコア、メモリコントローラ、およびさまざまな周辺装置を含んで万能性および高性能という機能を達成することである。周波数の異なるクロック信号を発生して集積プロセッサのさまざまなサブシステムを適切にクロックするための複数のフ
ェイズロックドループを含むクロック制御装置を設けることにより、集積プロセッサの電力消費は低減する。クロック制御装置によりさまざまなサブシステムに与えられるクロック信号は、単一の水晶発振器入力信号から引出される。必要な外部水晶発振器回路は１つだけであるため、電力消費は実質的に減じられる。電力管理装置がさらに集積プロセッサ内に組込まれ、さまざまなサブシステムへのクロック信号の周波数および／または適用を制御し、また電力管理に関連するその他の機能を制御する。集積プロセッサのピンカウントは最終的に、集積プロセッサの望ましい機能性次第で選択的にいくつかの外部ピンの多重化を行なうことにより、最小になる。あるユーザ定義モードでは、外部ピンはＣＧＡ  ＬＣＤコントローラといった内部ビデオコントローラに割り当てられる。別のモードでは、外部ピンは集積プロセッサのＣＰＵローカルバスの選択されたラインへの外部インタフェースを設けるように割り当てられる。さらに別のモードでは、外部ピンは集積プロセッサのＩＳＡ型バスといった周辺バスの選択されたラインへの外部インタフェースを設けるように割り当てられる。集積プロセッサの全ピンカウントを最小にする一方で、集積プロセッサの万能性がこのようにして有利にも達成される。
【０００７】
１つの実施例において、集積プロセッサシステムはＣＰＵローカルバスに接続されるＣＰＵコアとメモリコントローラとを含む。集積プロセッサはさらに、バスインタフェース装置、プログラマブルタイマ、ダイレクトメモリアクセス（ＤＭＡ）コントローラ、割込コントローラ、リアルタイムクロック、ビデオコントローラ、並列／直列ポートおよびＰＣＭＣＩＡコントローラを含む、周辺相互接続バスに結合される選択された周辺装置の組を含む。ＣＰＵコア、バスインタフェース装置、ＤＭＡコントローラ、プログラマブルタイマ、直列ポートおよびビデオコントローラは各々、集積プロセッサ内で実現されるクロック制御装置が発生する異なるクロック信号によりクロックされる。クロック制御装置は上記のサブシステムを駆動する、周波数の異なるクロック信号を発生する。クロック制御装置は単一の水晶発振器の入力から動作する。クロック制御装置内で単一の水晶発振器入力を受取るように結合されるのは、１つまたはそれ以上の周波数逓倍器および分周器を含む周波数シンセサイザである。好ましい実施例に従えば、各周波数逓倍器はフェイズロックドループ回路を含む。クロック制御装置は、単一の入力周波数から、ＣＰＵローカルバスおよび周辺相互接続バスに接続されるさまざまなな回路を動作するのに必要な、複数の異なるクロック周波数を合成する。
【０００８】
複数のフェイズロックドループ回路は、電力管理装置（ＰＭＵ）で述べる予め定められた電力管理アルゴリズムに従って制御される。電力管理装置はシステムの活性状態を示す信号を受取るように結合される。非活性状態の間またはソフトウェアにより選択可能なユーザの定義によるときには、ＰＭＵはある電力管理状態から別の状態へと変化する。一般的に電力管理状態が変化すると、結果として電力管理装置からクロック制御装置に与えられるさまざまなイネーブル信号のアサーションに変化が生じる。イネーブル信号は選択的に、クロック制御装置内のフェイズロックドループ回路の能動化および電力節約のための選択されたクロック信号のゲーティングを制御する。
【０００９】
本発明のその他の目的および利点は、添付の図面を参照し以下の詳細な説明を読むことにより明らかになるであろう。
【００１０】
本発明はさまざまな修正形および代替形が適用される可能性があるが、その特定的な実施例が例示として図面に示され、以下に詳細に説明される。しかしながら、図面および詳細な説明は本発明を開示された特定的な形式に制限することを意図するものではなく、反対に前掲の特許請求の範囲に規定される本発明の精神および範囲内での修正形、等価物および代替形を包含することを意図するものである。
【発明を実施するための最良の形態】
【００１１】
図面を参照して、図１は単一のモノリシック半導体基板上に製造されるさまざまなサブシステムを含む集積プロセッサ１０のブロック図である。この実施例では、集積プロセッサ１０はＣＰＵローカルバス１２を介してメモリコントローラ１６に結合されるＣＰＵコア１４を含む。ＣＰＵコア１４は、予め定められた命令セットを実現し、本明細書中で規定するものとしては、とりわけＡＬＵ、制御／タイミング装置およびさまざまなレジスタという基本的な特徴を有するいかなる中央処理装置コアも含むデータ処理装置である。例示のＣＰＵコアは、アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド（Advanced Micro Devices Inc. ）により製造されるＡｍ３８６ＳＸＬＶマイクロプロセッサのコアを含む。ＣＰＵコア１４は、集積プロセッサ１０のその他のサブシステムと同様、好ましくは、相補形金属酸化物半導体（ＣＭＯＳ）技術に従って処理される。
【００１２】
メモリコントローラ１６は、システムメモリ１８とＣＰＵローカルバス１２との間のデータの転送を調整し、相対アドレス、指標アドレスおよび／またはページアドレス技術を利用し得る。１つの実施例では、メモリコントローラ１６はランダムアクセスメモリ（ＤＲＡＭまたはＳＲＡＭ）または読出専用メモリ（ＲＯＭ）のいずれかをサポートするように構成される。メモリコントローラ１６は好ましくはＣＰＵコア１４と同期的に動作してＣＰＵローカルバス１２を介したシステムメモリへのおよびシステムメモリからの最大転送帯域幅を確保し、ページレジスタを備えたＥＭＳ互換メモリマッピングシステムを採用し得る。
【００１３】
集積プロセッサ１０はまた、ＣＰＵローカルバス１２と周辺相互接続バス２０との間に結合されたバスインタフェース装置２２を含む。バスインタフェース装置２２はＣＰＵローカルバス１２と周辺相互接続バス２０との間のデータおよびアドレス信号の転送を制御するためのインタフェースとして設けられる。バスインタフェース装置２２の適切なさまざまな構成は周知のとおりである。
【００１４】
好ましい実施例では、周辺相互接続バス２０は、ＩＳＡ（産業標準アーキテクチャ）型のバスとして製造される。しかしながら、周辺相互接続バス２０は、その代わりとして、たとえばＥＩＳＡ（拡張産業標準アーキテクチャ）バス構成またはＰＣＩ（周辺コンポーネントインタフェース）バス構成を含むさまざまなその他のバス構成に従って実現可能であることが理解される。
【００１５】
いくつかのＡＴ互換周辺装置がさらに集積プロセッサ１０内に組入れられる。特定的には、ＤＭＡコントローラ２８、タイマ３０、並列／直列ポート３２、ビデオコントローラ３４、割込コントローラ４０、リアルタイムクロック（ＲＴＣ）４１、およびＰＣＭＣＩＡコントローラ４２が例示として周辺相互接続バス２０に結合される。これら周辺装置の各々は、別個の形式として周知であり、したがって、簡潔化かつ明確化のため、各々の説明はこの明細書中では以下のとおり簡単に行なう。
【００１６】
ＤＭＡコントローラ２８が設けられて、集積プロセッサ１０の外部に結合され得るたとえば大量記憶装置（すなわちディスクドライブ、ＣＤ−ＲＯＭ装置等）といったさまざまなＩ／Ｏ周辺装置とシステムメモリ１８との間のデータ転送を独立して制御する。１つの実現化例においては、ＤＭＡコントローラ２８は、アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド製造の１対のカスケード結合タイプＡｍ８２３７Ａ  ＤＭＡコントローラと機能的に互換性がある。
【００１７】
タイマ３０が提供されて、ワンショット機能およびプログラマブルレート機能といった汎用タイミング機能を制御する。１実施例では、タイマ３０は機能的に、アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドにより製造される８２５３タイプのプログラマブルインタバルタイマと互換性がある。
【００１８】
並列／直列ポート３２は、並列ポートおよび直列ポート両方を含む。１実施例では、並列ポートは機能的にＰＳ／２並列ポートと互換性があり、直列ポートは機能的にタイプ１６４５０のＵＡＲＴと互換性がある。
【００１９】
ビデオコントローラ３４が与えられて、液晶ディスプレイ（ＬＣＤ）といった外部接続されるディスプレイ装置を制御する。好ましい実施例では、ビデオコントローラ３４はＣＧＡ互換ＬＣＤコントローラとして構成される。
【００２０】
割込コントローラ４０が提供されて、さまざまな割込ソースが発生する割込信号を中心部でソートし、優先順位をつけ、制御する。１実施例では、割込コントローラ４０は、アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドにより製造される１対のカスケード結合タイプ８２５９割込コントローラと機能的に互換性がある。
【００２１】
リアルタイムクロック４１が設けられて時刻といった計時機能を維持し、１４６８１８Ａタイプ互換ＲＴＣを用いて実現され得る。最後に、ＰＣＭＣＩＡコントローラ４２が設けられて外部接続されるＰＣＭＣＩＡ互換拡張カードに対処する。
【００２２】
上記のＡＴ互換周辺装置に加え、図１は最後に、集積プロセッサ１０内の電力管理装置（ＰＭＵ）２４およびクロック制御装置２６を示す。図２との関連で以下に詳細に説明するように、クロック制御装置２６は、集積プロセッサ１０に関連するさまざまなサブシステムをクロックするための複数の異なるクロック信号を発生するように構成される。より特定的には、動作の間、クロック制御装置２６は、ＣＰＵコア１４をクロックするためのＣＰＵクロック、バスインタフェース装置２２をクロックするための周辺バスクロック信号、並列／直列ポート３２の直列ポートをクロックするためのＵＡＲＴクロック信号、ビデオコントローラ３４をクロックするためのＣＧＡクロック信号、タイマ３０をクロックするためのタイマクロック信号、外部接続されるキーボード（図示せず）をクロックするためのキーボードクロック信号、およびＤＭＡコントローラ２８をクロックするためのＤＭＡクロック信号を発生する。クロック制御装置２６は、外部水晶発振器回路（図示せず）から集積プロセッサ１０に与えられ得る、「ＣＬＯＣＫ  ＩＮ」と明示される単一のクロック基準信号からこれらのクロック信号を引出す。すべてのサブシステムに必要なクロック信号を発生するためには外部水晶発振器ソースが１つだけ要求されるため、（複数の水晶発振器回路が用いられる場合と比較して）全体としての電力消費は実質的に低減されるだろう。
【００２３】
包括的には、電力管理装置２４は、集積プロセッサ１０を採用するシステムが消費する全体の電力を管理するために与えられる。１実施例では、電力管理装置２４はさまざまなシステムの活性状態をモニタし、それに応答して、クロック制御装置２６によるさまざまなクロック信号の発生および適用を制御する１組のイネーブル信号および「ＣＹＣＬＥ  ＴＹＰＥ」と示された制御信号を発生する。クロック制御装置２６に関する詳細および電力管理装置２４の実施例は、以下図２−４との関連で説明する。
【００２４】
図２を参照すれば、クロック制御装置２６のブロック図が示される。クロック制御装置２６は、所与の周波数のクロック基準信号（すなわちＣＬＯＣＫ  ＩＮ）を受取り、その信号に応答して周波数の異なる複数のクロック信号を発生し集積プロセッサ１０のさまざまなサブシステムをクロックするようにされた周波数シンセサイザを含む。周波数シンセサイザは、１つまたはそれ以上の周波数逓倍器、１つまたはそれ以上の分周器または周波数逓倍器と分周器との組合せを含む。好ましい実施例では、各周波数逓倍器はフェイズロックドループを含む。
【００２５】
したがって、図２では第１、第２および第３のフェイズロックドループ回路９２、９４および９６を示す。第１のフェイズロックドループ９２に関連する周波数乗算ファクタは、第２のフェイズロックドループ９４および第３のフェイズロックドループ９６に関連する乗算ファクタと異なる可能性がある。たとえば、１つの実施例では、第１のフェイズロックドループ９２の乗算ファクタは４５であり、たとえばおよそ３２ＫＨｚの入力クロック周波数は乗算されて１．４７４ＭＨｚの出力が第１のフェイズロックドループ９２から発生される。第２のフェイズロックドループ９４は、たとえば２５の乗算ファクタで構成されて１．４７４ＭＨｚの入力周波数を３６．８６４ＭＨｚに増大する。
【００２６】
図２に示され以下で説明されるその他の分周器と同様、第１の分周器９８は１つまたはそれ以上の計数装置を採用するディジタル回路である。分周器は、たとえば直列接続されるフリップフロップといった双安定マルチバイブレータを用いて実現可能である。１つの実施例では、第１の分周器９８は１４という除数と関連付けられ、したがって３６．８６４ＭＨｚという周波数を有する第１の分周器９８への入力信号は結果としておよそ２．６３ＭＨｚという出力信号として発生されることになる。
【００２７】
第１の分周器９８からの２．６３ＭＨｚの出力信号の周波数は、プログラム可能な乗算ファクタの組に従い第３のフェイズロックドループ９６により乗算可能である。したがって、プログラマブルスピードクロック（ＰＳ  ＣＬＫ）と表記される第３のフェイズロックドループ９６の出力は、さまざまなプログラム可能なクロック周波数でセットできる。第３のフェイズロックドループ９６のソフトウェアのプログラムの可能性は、周辺相互接続バス２０に結合された構成レジスタ１００を通して得ることができる。１つの実現化の例では、第３のフェイズロックドループ９６はプログラムされて４０ＭＨｚ、５０ＭＨｚ、６６ＭＨｚ、または８０ＭＨｚのいずれかの周波数のプログラマブルスピードクロック（ＰＳＣＬＫ）を発生し得る。
【００２８】
第３のフェイズロックドループ回路９６の出力に結合されるのは、ダイナミッククロックスイッチング回路１０２である。スイッチング回路１０２はまた、第２のフェイズロックドループ回路９４からの出力信号（ＬＳ  ＣＬＫ）を受取るように結合される。電力管理装置２４から受取るＣＹＣＬＥ  ＴＹＰＥ信号次第で（図１参照）、スイッチング回路１０２はＰＳ  ＣＬＫ信号またはＬＳ  ＣＬＫ信号のいずれかをＣＰＵクロックスイッチ１０４におよび第２の分周器１０６に結合する。以下さらに詳細に説明するように、ＣＰＵ  ＴＹＰＥ信号は、ＣＰＵローカルバス１２の現在のバスサイクルが、ローカルバス１２上に存在する装置にまたは周辺相互接続バス２０上に存在する装置に導かれているのかどうかを示す。
【００２９】
ＣＰＵクロックスイッチ１０４は、電力管理装置２４からのイネーブル信号ＣＰＵ  ＣＬＫ  ＥＮＡＢＬＥに応答して、スイッチング回路１０２からの出力信号ＰＳ／ＬＳ  ＣＬＫを選択的にゲーティングすることができる電子スイッチである。ＣＰＵクロックスイッチ１０４が能動化されると、ＰＳ／ＣＬＫ信号はＣＰＵクロック信号ＣＰＵ  ＣＬＫとして与えられる。もし（ＣＰＵ  ＣＬＫ）ＥＮＡＢＬＥ信号がデアサートされると、ＣＰＵクロック信号はゲートオフされる。以下でさらに説明するように、ＣＰＵクロック信号は電力を節約するためにある電力管理状態の間はゲートオフされてもよい。
【００３０】
第２の分周器１０６が設けられて、バスインタフェース装置２２（図１）をクロックする周辺バスクロック信号Ｐ．ＢＵＳ  ＣＬＫを発生する。周辺バスクロック信号は、バスインタフェース装置２２により周辺相互接続バス２０で実行されるサイクルのタイミングを制御する。１つの実施例では、第２の分周器１０６は除数２と関連する。なお、周辺バスクロック信号によりクロックされ、周辺相互接続バス２０を駆動する、バスインタフェース装置２２内の制御回路は、周辺相互接続バス２０上に存在するスレーブを含むサイク
ルの間のみ活性状態である。したがって、ＣＰＵ  ＴＹＰＥ信号により制御されるスイッチング回路１０２にしたがって、周辺相互接続バス２０でバスインタフェース装置２２が実行するマスタサイクルは、ＬＳ  ＣＬＫ信号の周波数の２分の１である信号でクロックされる。さらに、そのような電力節約のためのサイクルの間は、ＣＰＵ  ＣＬＫ信号の周波数は同様にスケールダウンされる（すなわち、ＬＳ  ＣＬＫ信号の周波数に下げられる）。
【００３１】
図２はさらに、電力管理装置２４からの対応するイネーブル信号に応答して、第１、第２および第３のフェイズロックドループ９２−９６を選択的に能動化するためのフェイズロックループイネーブルラインの組を図示する。特定的には、ライン１４０が提供されてイネーブル信号を受取り第１のフェイズロックドループ９２および第２のフェイズロックドループ９４を能動化し、第２のライン１４１が提供されてイネーブル信号を受取り第３のフェイズロックドループ９６を能動化する。ＣＬＯＣＫ  ＩＮ信号を受取るライン１４３と第２のフェイズロックドループ９４との間に結合されているのは、第１のフェイズロックドループ９２の能動化の後、第２のフェイズロックドループ９４の能動化において遅延をもたらすための第１の遅延回路１０８である。フェイズロックドループ回路９２および９４のタイミングを適切に行なって動作させるために、遅延１０８は低速イネーブル信号ＬＳ  ＰＬＬ  ＥＮＡＢＬＥにより第１のフェイズロックドループ９２と同時に活性化される。低速イネーブル信号はまたゲート１１０の１つの入力に送られて第２のフェイズロックドループ回路９４を遅延し活性化する。第３のフェイズロックドループ回路９６の活性化は、第２のフェイズロックドループ回路９４が能動化された後ある期間第２の遅延回路１１２により同じ態様で遅延される（すなわちライン１４１での対応するイネーブル信号がまたアサートされた場合）。このようにして、ＰＭＵ２４から送られる２つのイネーブル信号が用いられて、ＬＳ  ＰＬＬおよびＨＳ  ＰＬＬ  ＥＮＡＢＬＥ信号に従って、第１、第２および第３のフェイズロックドループ回路９２−９６を能動化する。
【００３２】
フェイズロックドループ９４が能動化されると、たとえば３６．８６４ＭＨｚの低速クロックＬＳ  ＣＬＫが、第３の分周器１１４、第４の分周器１１６、第５の分周器１１８、第６の分周器１２０および第７の分周器１２２と表記されるさまざまな並列接続された分周器に与えられる。各分周器はその他の分周器と異なる除算ファクタを有することが可能であり、たとえば第３の分周器１１４は、たとえば低速クロックを３６．８６４ＭＨｚからおよそ９．２ＭＨｚに低減してキーボードクロック信号を発生するために４で除算される。第４の分周器１１６がまた４で除算されて９．２ＭＨｚのＤＭＡコントローラクロック信号を発生する分周器であることが可能であり、一方第５の分周器１１８がたとえば３１という除数と関連して１．１８９ＭＨｚのタイマクロック信号を発生することが可能である。第６の分周器１２０は、たとえば２０で除算する除算ファクタを有してたとえば１．８４ＭＨｚのＵＡＲＴクロック信号を発生することができる。第４の分周器１１６からのＤＭＡクロック出力および第３の分周器１１４からのキーボードクロック出力は、それぞれＤＭＡクロックスイッチ１２４およびキーボードクロックスイッチ１２６により選択的に能動化また不能化が可能である。キーボードクロックイネーブル（ＫＥＹＢＤ  ＣＬＫ  ＥＮＡＢＬＥ）およびＤＭＡクロックイネーブル（ＤＭＡ  ＣＬＫ  ＥＮＡＢＬＥ）がまた電力管理装置２４から与えられて、さまざまな電力管理状態の間それぞれのクロックを選択的にゲーティングする。
【００３３】
ライン１４１でイネーブル信号をデアサートすることにより、第３のフェイズロックドループ９６をターンオフして、ＣＰＵクロックおよび周辺バスクロックを完全に非活性化することができる。第１および第２のフェイズロックドループ９２、９４がライン１４０でのイネーブル信号のデアサートの際に非活性化されて、結果としてＣＰＵおよび周辺バスクロックのターンオフのみならず、クロック制御装置２６が発生するその他すべてのクロックのターンオフをもたらすことができる。したがって、ライン１４０でのイネーブル
信号のデアサートは、１つの実施例に従えば、キーボードクロック（ＫＥＹＢＤ  ＣＬＫ）、ＤＭＡクロック（ＤＭＡ  ＣＬＫ）、タイマクロック（ＴＩＭＥＲ  ＣＬＫ）、ＵＡＲＴクロック（ＵＡＲＴ  ＣＬＫ）、およびビデオクロック（ＶＩＤＥＯ  ＣＬＫ）をターンオフすることができる。
【００３４】
第３のイネーブルライン１４２はＡＮＤゲート１３０に結合された形で示される。ゲート１３０からの出力は、ビデオイネーブル信号（ＶＩＤ  ＰＬＬ  ＥＮＡＢＬＥ）を介して第４のフェイズロックドループ回路１２８を能動化する。第４のフェイズロックドループ回路１２８は、ビデオイネーブル信号のアサーションの際に、第７の分周器１２２の出力から結果として発生するクロック周波数を増大する。低速クロック周波数を例示として３６．８６４と仮定すれば、第７の分周器１２２からの周波数は２．０４８ＭＨｚである。１つの実現化例では、第４のフェイズロックドループ回路１２８は、例示の２．０４８ＭＨｚをたとえば１４という乗算ファクタで乗算して２８．６７ＭＨｚの信号を発生する。例示の２８．６７ＭＨｚという出力周波数は次に、たとえば２で除算する除算ファクタを有する第８の分周器１３２により除算されて、１４．７４６ＭＨｚのビデオクロック信号を発生することができる。なお、第４のフェイズロックドループ１２８の能動化は第２のフェイズロックドループ９４の能動化と同じ態様で第１の回路１０８により遅延される。
【００３５】
次に図３を参照すれば、電力管理装置２４の１つの実現化例のブロック図がさらに詳細に示される。電力管理装置２４が周辺相互接続バス２０およびクロック制御装置２６に接続されて示される。前述のとおり、電力管理装置２４はさまざまなシステムの活性状態をモニタし、それに応答して、クロック制御装置２６が合成するさまざまなクロック信号の発生および適用を制御するイネーブル信号およびＣＹＣＬＥ  ＴＹＰＥ制御信号を発生する。以下の説明および添付の図面は、電力管理装置２４の１つの特定的な構成に関する詳細な説明を含むが、その代わりとして、集積プロセッサ１０がさまざまなその他の特定的な電力管理アルゴリズムに従い動作する電力管理装置を採用することが可能であることが理解される。
【００３６】
電力管理装置２４は、さまざまな予め定められたシステムのイベントが発生するかしないか次第で、複数の電力管理状態の間で遷移するように構成される電力管理状態マシン３５６を含む。図４は、電力管理状態マシン３５６に関連する状態を示す状態推移図である。クロック制御装置２６に与えられるさまざまなイネーブル信号のアサーションは、電力管理装置３５６の特定的な状態次第である。特定的な詳細な説明を以下に続ける。
【００３７】
電力管理装置２４は、予め定められたシステムのイベントを示す選択された信号（「ＳＹＳ．  ＭＯＮＩＴＯＲ  ＳＩＧＳ．」と示される）をモニタするためのシステムモニタ３７４を含む。そういったイベントの例は、何らかのアドレスへのＩ／Ｏデコード、ＤＭＡ要求、割込、および状態信号における変化である。図３および４は、１つの実施例に従って、５つの状態遷移カウンタ３６２−３７０および６つの電力管理状態４８０−４９０を含む。５つのカウンタは、全速カウンタ３６２、低速カウンタ３６４、ドーズカウンタ３６６、スリープカウンタ３６８およびサスペンドカウンタ３７０として示され、６つの電力管理状態は、全速４８０、低速４８２、ドーズ４８４、スリープ４８６、サスペンド４８８およびオフ４９０として示される。以下さらに詳細に説明するように、各電力管理状態は、予め定められた態様で（ユーザまたはシステムの設計者によりプログラム可能である）、クロック制御装置２６に与えられるイネーブル信号を駆動する。各カウンタは、対応する電力管理状態に関連するタイムアウト期間を制御する。所与のタイムアウト期間が終了すると電力管理状態マシンは低電力管理状態に遷移する。たとえば、全速カウンタ３６２のタイムアウトが終了すると、全速状態４８０から低速状態４８２への遷移が生じ、低速カウンタ３６４のタイムアウトが終了すると低速状態４８２からドーズ状態４８４
へと遷移し、以降同様である。なお、システムモニタ３７４により検出される何らかの予め定められたシステムのイベントが発生すると、各カウンタはリセットされ、そのような検出が電力管理状態マシン３５６を全速状態４８０に遷移させる。さらに、全速カウンタ３６２に関連するタイムアウト期間は、低速カウンタ３６４のタイムアウト期間よりも短く、低速カウンタ３６４に関連するタイムアウト期間はドーズカウンタ３６６のタイムアウト期間よりも短く、以降も同様である。好ましい実施例では、各カウンタに関連するタイムアウト期間は、デコーダ３６０を介してプログラムされ得る。さらにマスクレジスタ３７２をセットしてシステムモニタ３７４による選択されたシステムの活性状態の検出をマスクできる。付け加えて、電力管理状態マシン３５６の状態は、電力管理状態レジスタ３５８のソフトウェア制御を介して直接変化させることができる。
【００３８】
したがって、システムが非活性状態である間（システムモニタ３７４が検出するシステムイベントが発生しないことにより決定する）、電力管理状態マシン３５６は低電力管理状態へとシーケンシャルに遷移する。システムイベントの発生がモニタされると、状態マシン３５６は全速モード４８０に戻る。所望される電力管理状態の数次第で、５つよりも多くのまたは５つよりも少ないカウンタを電力管理装置２４内に採用することができる。図３および４は単に例として５つのカウンタおよび６つの電力管理状態を示すものである。
【００３９】
システムモニタ３７４はさらに、バスの「詮索」またはモニタ技術を利用して現在のサイクルが周辺相互接続バス２０上にある周辺装置へのアクセスに対応するかどうかを判断するように構成される。システムモニタ３７４がそのようなサイクルを検出すると、ＣＹＣＬＥ  ＴＹＰＥ信号が駆動され、スイッチング回路（図２）がＬＳ  ＣＬＫ信号を選択する。ＣＰＵローカルバス１２に限定されるサイクルの間、スイッチング回路１０２はＰＳ  ＣＬＫ信号を選択する。
【００４０】
電力管理装置２４のシステムモニタは最終的に、ＤＭＡコントローラ２８（図１）に関連するＤＭＡ  ＲＥＱおよびＡＥＮをモニタし、もしＤＭＡ  ＲＥＱ（ＤＭＡ要求）信号またはＡＥＮ（アドレスイネーブル）信号のいずれかがアサートされた場合に、選択的にＤＭＡクロックイネーブル信号（ＤＭＡ  ＣＬＫ  ＥＮＡＢＬＥ）をアサートするように構成される。当業者は、これらの信号は係属中のまたは現在のＤＭＡ動作を示すものであることを理解するであろう。図１−３に示すように、ＤＭＡ  ＣＬＫ  ＥＮＡＢＬＥ信号はＤＭＡコントローラ２８へのＤＭＡ  ＣＬＫ信号の適用を制御して、もしＤＭＡ動作が係属中でなくまたは発生しているのでなければ、ＤＭＡ  ＣＬＫ信号が電力管理状態マシン３５６の現在の状態にかかわらずＤＭＡコントローラ２８からゲーティングされるだろう。電力はこのようにして節約される。
【００４１】
以下の表Ｉは、１つの実施例に従う、各動作状態の間の電力管理状態マシン３５６によるさまざまなクロック信号の制御を示す。表Ｉは、上記のさまざまな電力管理状態で規定されるイネーブル信号の、さまざまなクロック信号に対する効果を示す。したがって、以下のように、さまざまな電力管理状態の間、あるクロック信号の発生はプログラム可能であることが注目される。
【００４２】
【表１】
2006351032.tif 000003
【００４３】
上の表に示すように、図４の全速状態４８０の間、すべてのフェイズロックドループが能動化される。スイッチング回路１０２による高速クロック（ＰＳ  ＣＬＫ）へのダイナミックスイッチングは、メモリ、ローカルバスおよびＣＰＵコアのアイドルサイクルの間可能である。このことによりＣＰＵコア１４は最適性能のための最大周波数で実行できる。その他すべてのバスサイクルはスイッチング回路１０２により低速クロックにスイッチされる。このことにより低速のＩＳＡサイクル（すなわち周辺バスサイクル）の実行およびそれに対応してＣＰＵクロックを減速して電力を低減することがもたらされる。
【００４４】
低速状態では、ＣＰＵクロック、ＤＭＡクロックおよび内部システムクロック（周辺バスクロック）は、プログラム可能な低減された速度で動作する。なお、ＣＰＵクロック信号、周辺バスクロック信号、およびＤＭＡクロック信号の周波数は、スイッチ１０４、１２４および第２の分周器１０６内の選択的に制御可能な分周器回路により低減され得る。低速状態の間の可能な最高のＣＰＵクロック速度は、例示として９．２ＭＨｚである。高速クロック（ＰＳ  ＣＬＫ）へのダイナミックスイッチングは許可されない。任意的に、第３のフェイズロックドループ回路９６をさらなる電力節約のためにこのモードで閉じることができる。
【００４５】
ドーズ状態の間、ＣＰＵクロック（低速および高速）は、ＤＭＡクロックおよび周辺バスクロックとともに停止される。ビデオ、キーボード、およびタイマクロックはデフォルトにより能動化されるが、ターンオフがプログラム可能であるだろう。これらのクロックの動作を可能とすることにより、ビデオコントローラ３４に結合されたＬＣＤディスプレイは、リフレッシュを続けることが可能であり、タイマおよびキーボード割込を発生することが可能である。
【００４６】
スリープ、サスペンドおよびオフ状態は、ＣＰＵクロック、周辺バスクロック、ＤＭＡクロック、およびキーボードクロックが各々オフとされるという点において同様である。ビデオクロックおよびＵＡＲＴクロックのオンまたはオフはプログラムされ得る。
【００４７】
なお、電力管理装置２４のさまざまな状態の間、集積プロセッサ１０の外部の電力−制御ピンは適切に駆動され、そのため集積プロセッサ１０に接続される外部装置への電力は除去されるだろう。この制御はまたプログラム可能であろう。
【００４８】
さらに、クロック制御装置２６が発生するさまざまなクロック信号の制御は、さまざま
な代替の電力管理アルゴリズムに従って達成し得る。たとえば、集積プロセッサ１０は、同時係属中の、同一人に譲渡される、１９９５年１月３０日に出願された、オブライエン（ 0′Brien ）らによる、特願平７−１２２６２の、「コンピュータシステムのための電力管理ユニットおよびコンピュータシステム内の電力を管理するための方法（Power Management System for an Integrated Processor ）」と題される特許出願において述べられた電力管理アルゴリズムに従って動作する電力管理装置を採用し得る。この出願の全体をこの明細書中に引用により援用する。
【００４９】
次に図５を参照すれば、ユーザ定義外部バス構成オプションに対応する、集積プロセッサ１０内の内部回路の一部が示される。特定的には、集積プロセッサ１０が用いられる特定的なＰＩＤ環境次第で、ユーザは任意的にビデオコントローラモード（または「ＣＧＡモード」）、ローカルバスモード、またはＩＳＡ（周辺バス）バスモードを選択できる。図５の回路は、３つの入力ポートおよび１つの出力ポートを有するマルチプレクサ５５０を含む。１つの入力ポートはビデオコントローラ３４からの選択されたラインの組５５２に接続され、別の入力ポートは選択された周辺相互接続バスライン５５４の組に接続され、さらに別の入力ポートは選択されたＣＰＵローカルバス出力ライン５５６の組に接続される。マルチプレクサ５５０は、集積プロセッサ１０の外部ピンに結合される、ライン５５２、５５４または５５６のいずれかのうち１つの組を選択する。このようにしてマルチプレクサ５５０は外部バス構成オプションをサポートし、ビデオコントローラ３４、周辺相互接続バス２０、またはローカルバス１２に関連する選択された信号は集積プロセッサ１０の外部ピンに結合され得る。外部ローカルバス周辺装置、外部ＩＳＡバス周辺装置、または外部ＣＧＡ  ＬＣＤディスプレイ（ビデオＲＡＭを備える）をこのようにして、特定的なアプリケーションの要求次第で、任意的にサポートすることができる。
【００５０】
マルチプレクサ５５０はライン５６０でラッチ５６６から与えられる制御信号により制御される。ラッチ５６６は、システムリセット信号の立上がりエッジで、ラインの組５６２および５６４での論理レベルをラッチする。入力ライン５６２および５６４の論理レベルは、それぞれの電源および接地電位に結合される外部受動プルアップまたはプルダウン抵抗器により決定される。ここに示す１つの例では、プルアップ抵抗器５６８およびプルダウン抵抗器５７０は、入力ライン５６２および５６４に結合される。このようにしてプルアップ抵抗器５６８を用いてライン５６２を受動的に引上げ、一方プルダウン抵抗器を用いてライン５６２を受動的に引き下げる。プルアップ抵抗器５６８を入力ライン５６２に接続する代わりに、異なる外部ピンモードを選択するために、ユーザが入力ライン５６２でプルダウン抵抗器（点線で示される）を接続しおよび／またはプルアップ抵抗器（点線で示される）を入力ライン５６４で接続することができる。各入力ラインで選択的にプルアップまたはプルダウン抵抗器を接続することにより、システムの設計者は、マルチプレクサ５５０が選択する特定的なラインの組５５２、５５４または５５６を任意的に制御して集積プロセッサ１０の対応する外部ピンの機能性を制御することができる。なお、システムリセットに続いて、ラッチ５６６のライン５６２および５６４に接続するピンを採用して、直列ポート信号ＲＴＳおよびＤＴＲといったその他の信号に対処し得る。このような状況では、ライン５６２および５６４はビデオコントローラ３４のＲＴＳおよびＤＴＲ入力に並列に結合される。このようにして集積プロセッサ１０の外部ピンを二重の目的で採用することにより、コストおよびサイズの低減がさらにもたらされる。
【００５１】
以下の表は、マルチプレクサ５５０を介して集積プロセッサ１０の外部ピンに選択的に与えることができる例示の信号の組を表わす。
【００５２】
【表２】
2006351032.tif 000004
【００５３】
なお、１つの実現化例では、内部ＩＳＡバス（周辺バス２０）のさらなる予め定められたラインのグループは、永久的に集積プロセッサ１０の専用外部ピンに結合され、マルチプレクサ５５０を介して選択される特定的なモードにかかわらず１６ビットの外部ＩＳＡ転送をサポートする。このような実現においては、ＩＳＡバスのラインの組５５４（上記
の表で規定される）は、任意的にマルチプレクサ５５０を介して外部に結合されてさらに広範囲のＩＳＡの機能性をサポートすることができる。
【００５４】
上記の開示を十分に理解すれば数多くの変形および修正形が当業者には明らかになるであろう。たとえば、ＤＭＡコントローラ２８、タイマ３０、ビデオコントローラ３４、並列／直列ポート３２、リアルタイムクロック４１およびＰＣＭＣＩＡコントローラ４２を代替的にＣＰＵローカルバス１２に接続することができることが理解される。前掲の特許請求の範囲は、このような変形および修正形すべてを包含するものとして解釈されるべきものである。
【図面の簡単な説明】
【００５５】
【図１】本発明の１つの実施例に従って単一のモノリシックチップの上で実現される、ＣＰＵコア、メモリコントローラ、さまざまな周辺装置、クロック制御装置および関連する電力管理装置を含む集積プロセッサシステムのブロック図である。
【図２】本発明の１つの実施例に従う、クロック制御装置およびそれに関連する入力／出力信号のブロック図である。
【図３】本発明の１つの実施例に従う、電力管理装置（ＰＭＵ）およびそれに関連する入力／出力信号のブロック図である。
【図４】電力管理装置のさまざまな電力管理状態を示す状態図である。
【図５】ユーザ定義ピンオプションにより、集積プロセッサのいくつかの外部ピンの機能性を選択的に制御する、集積プロセッサシステム内に採用されるマルチプレクサ回路の図である。
【符号の説明】
【００５６】
１２  ＣＰＵローカルバス
１４  ＣＰＵコア
２０  周辺相互接続バス
２４  電力管理装置
２６  クロック制御装置
【図１】
2006351032.tif 000005
【図２】
2006351032.tif 000006
【図３】
2006351032.tif 000007
【図４】
2006351032.tif 000008
【図５】
2006351032.tif 000009