(57)【特許請求の範囲】
【請求項１】
コンピュータシステムのバスに結合される複数のデバイスであって、デバイスドライバプログラムによって動作制御される第１のデバイスを含む複数のデバイスと、
プログラム可能に構成され、前記デバイス毎にクロック供給の許可／禁止を指示するクロックドライブ制御情報がセットされるレジスタと、
前記レジスタにセットされている前記クロックドライブ制御情報に従って前記複数のデバイスそれぞれのクロック信号線のドライブ動作が許可／禁止されるように構成されているクロックドライブ装置と、
前記コンピュータシステムの電源投入に応答して、前記第１のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートに設定するクロックドライブ制御情報設定手段と、
前記デバイスドライバプログラムが前記コンピュータシステムのメモリに読み込まれることに応答して、前記第１のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートからクロック供給許可を示すステートに書き替えるクロックドライブ制御情報書き替え手段とを具備することを特徴とするコンピュータシステム。
【請求項２】
前記コンピュータシステムは、コンピュータ本体と、このコンピュータ本体の拡張コネクタに取り外し自在に接続され、各種拡張デバイスが装着可能な拡張ユニットとから構成され、
前記コンピュータ本体は、
前記バスと前記拡張コネクタ間に接続され、前記バスと前記拡張ユニットとの間のインターフェースを行う第２のデバイスであって、前記クロックドライブ装置によってドライブされるクロック信号線に接続されている第２のデバイスと、
前記コンピュータ本体の拡張コネクタに前記拡張ユニットが接続されたことを検出する検出手段とをさらに具備し、
前記クロックドライブ制御情報設定手段は、前記コンピュータシステムの電源投入に応答して、前記第２のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートに設定する手段を含み、
前記クロックドライブ制御情報書き替え手段は、前記検出手段による前記拡張ユニットの接続検出に応答して前記第２のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートからクロック供給許可を示すステートに書き替える手段を含むことを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記拡張ユニットは、
前記拡張コネクタを介して前記クロックドライブ装置によってドライブされるクロック信号線に接続される第３のデバイスを具備し、
前記クロックドライブ制御情報設定手段は、前記コンピュータシステムの電源投入に応答して、前記第３のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートに設定する手段を含み、
前記クロックドライブ制御情報書き替え手段は、前記検出手段による前記拡張ユニットの接続検出に応答して前記第３のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートからクロック供給許可を示すステートに書き替える手段を含むことを特徴とする請求項２記載のコンピュータシステム。
【請求項４】
前記クロックドライブ装置は前記複数のデバイスそれぞれのクロック信号線をドライブする複数のバッファ回路を含み、
前記バッファ回路は、前記レジスタに設定されたクロックドライブ制御情報に応じて、前記クロック信号線をドライブするための電流駆動能力を段階的に切り替え可能であることを特徴とする請求項１記載のコンピュータシステム。
【請求項５】
コンピュータシステムのバスに結合される複数のデバイスであって、デバイスドライバプログラムによって動作制御される第１のデバイスと、第２のデバイスとを含む複数のデバイスと、
プログラム可能に構成され、前記デバイス毎にクロック供給の許可／禁止を指示するクロックドライブ制御情報がセットされるレジスタと、
前記レジスタにセットされているクロックドライブ制御情報に従って前記複数のデバイスそれぞれのクロック信号線のドライブ動作が許可／禁止されるように構成されているクロックドライブ装置と、
前記コンピュータシステムの電源投入に応答して、前記第１のデバイスに対応する前記レジスタのクロックドライブ制御情報をクロック供給禁止を示すステートに設定するとともに、前記第２のデバイスに対応する前記レジスタのクロックドライブ制御情報をクロック供給許可を示すステートに設定するクロックドライブ制御情報設定手段と、
前記デバイスドライバプログラムが前記コンピュータシステムのメモリに読み込まれることに応答して、前記第１のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートからクロック供給許可を示すステートに書き替えるクロックドライブ制御情報書き替え手段とを具備することを特徴とするコンピュータシステム。
【請求項６】
前記クロックドライブ装置は前記複数のデバイスそれぞれのクロック信号線をドライブする複数のバッファ回路を含み、
前記バッファ回路は、前記レジスタに設定されたクロックドライブ制御情報に応じて、前記クロック信号線をドライブするための電流駆動能力を段階的に切り替え可能であることを特徴とする請求項５記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンピュータシステムに関し、特にシステムのコンポーネントであるデバイスそれぞれに別個のクロック信号線を介してクロック信号が供給されるコンピュータシステムに関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータに使用されるシステムバスとしては、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスやＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）バスが主流であったが、最近では、データ転送速度の高速化や、プロセッサに依存しないシステムアーキテクチャの構築のために、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが採用され始めている。
【０００３】
ＰＣＩバスにおいては、ほとんど全てのデータ転送はブロック転送を基本としており、これら各ブロック転送はバースト転送を用いて実現されている。これにより、例えばＰＣＩバスでは最大１３３Ｍバイト／秒（データバスが３２ビット幅の時）のデータ転送速度を実現できる。
【０００４】
したがって、ＰＣＩバスを採用すると、Ｉ／Ｏデバイス間、およびシステムメモリとＩ／Ｏデバイスとの間のデータ転送などを高速に行うことが可能となり、システム性能を高めることができる。
【０００５】
このようなＰＣＩバスアーキテクチャでは、高速動作の実現のためにクロックスキューを最小限に抑える必要があり、そのためにシステムコンポーネント毎にクロック（ＰＣＩクロック）が別個に供給されている。
【０００６】
すなわち、システムボード上の複数のデバイスは、それぞれ対応するクロック信号線を介してクロックドライバ内の異なるバッファに接続されており、それらデバイスにはＰＣＩクロックがポイント・ツー・ポイント形式でクロックドライバの複数のバッファから供給される。これにより、１本のクロック信号線を複数のシステムコンポーネントそれぞれに分岐して供給する場合に比べ、信号反射などの影響が大幅に低減され、クロック信号の安定性を確保できる。
【０００７】
【発明が解決しようとする課題】
しかし、この構成では、高速クロックを多数のクロック信号線に供給することになるためクロックドライバの消費電流が大きくなり、システムの電力消費量が増大されるという問題がある。また、従来のクロックドライバは、クロック信号を常に全てのクロック信号線に供給する構成であるため、実際に動作してないコンポーネントにも高速クロックが入力されてしまい、電力が無駄に消費されてしまうという問題があった。
【０００８】
この発明はこのような点に鑑みてなされたもので、システムコンポーネントとして存在する複数のデバイスそれぞれのクロック信号線を選択的にドライブできるようにし、電力消費の低減を図ることができるコンピュータシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
この発明によるコンピュータシステムは、コンピュータシステムのバスに結合される複数のデバイスであって、デバイスドライバプログラムによって動作制御される第１のデバイスを含む複数のデバイスと、プログラム可能に構成され、前記デバイス毎にクロック供給の許可／禁止を指示するクロックドライブ制御情報がセットされるレジスタと、前記レジスタにセットされている前記クロックドライブ制御情報に従って前記複数のデバイスそれぞれのクロック信号線のドライブ動作が許可／禁止されるように構成されているクロックドライブ装置と、前記コンピュータシステムの電源投入に応答して、前記第１のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートに設定するクロックドライブ制御情報設定手段と、前記デバイスドライバプログラムが前記コンピュータシステムのメモリに読み込まれることに応答して、前記第１のデバイスに対応する前記レジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートからクロック供給許可を示すステートに書き替えるクロックドライブ制御情報書き替え手段とを具備することを特徴とする。
【００１０】
このコンピュータシステムにおいては、クロックドライブ装置内の各バッファ回路は、レジスタにセットされているクロックドライブ制御情報に従ってイネーブル／ディスエーブル制御される。レジスタにセットされるクロックドライブ制御情報はプログラマブルであるので、複数のデバイスそれぞれのクロック信号線を選択的にドライブできる。したがって、利用されてないデバイスに対してクロックの供給を停止することが可能になり、無駄な電力消費を低減することができる。この場合、デバイスドライバプログラムによって動作制御される第１のデバイス、例えばモデムやサウンド処理機能を提供するデバイスについては、そのデバイスドライバがシステムに組み込まれるまでは使用されないので、コンピュータシステムの電源投入に応答して、第１のデバイスに対応するクロックドライブ制御情報をクロック供給禁止を示すステートに設定し、そしてデバイスドライバプログラムがメモリに読み込まれたことに応答して、第１のデバイスに対応するクロックドライブ制御情報をクロック供給禁止を示すステートからクロック供給許可を示すステートに書き替えるという制御を行うことにより、システムの電源投入からデバイスドライバが読み込まれるまでの間はクロックの供給が停止される。
【００１１】
また、クロックドライブ装置内の各バッファ回路の電流駆動能力を段階的に切り替えられるように構成することによって、クロック信号線をドライブする電流値についてもクロックドライブ制御情報によってプログラマブルに設定できるようにすることがの望ましい。
【００１２】
また、ポータブルコンピュータにおいては、そのコンピュータ本体に必要に応じて拡張ユニットを接続する事が可能であるが、その拡張ユニットとのインターフェースを行うためのデバイスは、拡張ユニットが接続されるまでは使用されない。このため、そのデバイスについても、拡張ユニットが接続されるまでの間はクロック供給を停止しておくことが好ましい。これは、拡張ユニットの接続を検出する手段を設け、その接続が検出された時に、そのデバイスに対応するレジスタのクロックドライブ制御情報を、クロック供給禁止を示すステートからクロック供給許可を示すステートに書き替えることによって実現できる。
【００１４】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係わるコンピュータシステムの構成が示されている。このコンピュータシステムは、バッテリ駆動可能なノートブックタイプまたはラップトップタイプのポータブルコンピュータであり、そのシステムボード上には、プロセッサバス１、内部ＰＣＩバス２、内部ＩＳＡバス３、およびＩ２Ｃバス４が配設されている。また、このポータブルコンピュータ本体に設けられたドッキングコネクタ１０には、機能拡張のための拡張ユニットとして、図２のドッキングステーション３０、または図３のカードドック４０がユーザによって必要に応じて接続される。ドッキングコネクタ１０は、図示のように、３つのコネクタ要素１０１，１０２，１０３から構成されている。
【００１５】
コンピュータ本体内には、ＣＰＵ１１、ホスト／ＰＣＩブリッジ装置１２、メモリ１３、ディスプレイコントローラ１４、ＤＳＰインタフェースゲートアレイ（ＤＳＰ  ＩＦ  ＧＡ）１５、内部ＰＣＩ−ＩＳＡブリッジ装置１６、カードコントローラ１７、ＰＣＩ−ＤＳ（ＤＳ：ドッキングステーション）ブリッジ装置１８、ＢＩＯＳ  ＲＯＭ１９、ＨＤＤ２０、キーボードコントローラ２１、リアルタイムクロック（ＲＴＣ）２２、Ｉ／Ｏコントロールゲートアレイ２３、電源コントローラ（ＰＳＣ）２４などが設けられている。
【００１６】
これらコンポーネントの内、内部ＰＣＩバス２に接続されたＰＣＩデバイスとして機能するもの、すなわちディスプレイコントローラ１４、ＤＳＰインタフェースゲートアレイ（ＤＳＰ  ＩＦ  ＧＡ）１５、内部ＰＣＩ−ＩＳＡブリッジ装置１６、カードコントローラ１７、ＰＣＩ−ＤＳ（ＤＳ：ドッキングステーション）ブリッジ装置１８などには、ホスト／ＰＣＩブリッジ装置１２のクロックドライバ１２１からそれぞれ独立にＰＣＩバスクロック（ＣＬＫ１〜ＣＬＫｎ）が供給される。
【００１７】
ドッキングステーション３０は、ＰＣＩ拡張カード、ＩＳＡ拡張カード、ＰＣカードなどの拡張デバイスの増設のために使用されるものであり、このドッキングステーション３０内には、図２に示されているように、外部ＰＣＩバス５および外部ＩＳＡバス６が拡張バスとして配設されており、そこにはＰＣＩ拡張スロットおよびＩＳＡ拡張スロットが接続されている。また、このドッキングステーション３０内には、ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置３１、ジョイスティック３２、ＤＳコントローラ３３、ＥＥＰＲＯＭ３４なども設けられている。ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置３１には、ドッキングコネクタ１０のコネクタ要素１０１を介してホスト／ＰＣＩブリッジ装置１２のクロックドライバ１２１からのＰＣＩバスクロック（ＣＬＫ３）が供給される。
【００１８】
カードドック４０は、ＰＣカードの拡張などのために使用されるものであり、ここには、図３に示されているように、カードコントローラ４１、ジョイスティック３２、ＤＳコントローラ３３、ＥＥＰＲＯＭ３４などが設けられている。カードコントローラ４１には、ドッキングコネクタ１０のコネクタ要素１０１を介してホスト／ＰＣＩブリッジ装置１２のクロックドライバ１２１からのＰＣＩバスクロック（ＣＬＫ３）が供給される。
【００１９】
次に、図１のコンピュータ本体に設けられた各コンポーネントの機能および構成について説明する。
ＣＰＵ１１は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”などによって実現されている。このＣＰＵ１１の入出力ピンに直結されているプロセッサバス１は、６４ビット幅のデータバスを有している。
【００２０】
メモリ１３は、オペレーティングシステム、デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、複数のＤＲＡＭモジュールによって構成されている。このメモリ１３は、システムボード上に予め実装されるシステムメモリ１３１と、ユーザによって必要に応じて装着される拡張メモリ１３２とから構成される。これらシステムメモリ１３１および拡張メモリ１３２を構成するＤＲＡＭモジュールとしては、シンクロナスＤＲＡＭやＲａｍｂｕｓなど、バンク毎にメモリクロックの供給が必要な高速メモリが利用される。
【００２１】
このメモリ１３は、３２ビット幅または６４ビット幅のデータバスを有する専用のメモリバスを介してホスト−ＰＣＩブリッジ装置１２に接続されている。メモリバスのデータバスとしてはプロセッサバス１のデータバスを利用することもできる。この場合、メモリバスは、アドレスバスと各種メモリ制御信号線とから構成される。
【００２２】
ホスト／ＰＣＩブリッジ装置１２は、プロセッサバス１と内部ＰＣＩバス２との間を繋ぐブリッジＬＳＩであり、ＰＣＩバス２のバスマスタの１つとして機能する。このホスト／ＰＣＩブリッジ装置１２は、プロセッサバス１と内部ＰＣＩバス２との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能、およびメモリバスを介してメモリ１３をアクセス制御する機能などを有している。
【００２３】
さらに、ホスト／ＰＣＩブリッジ装置１２には、クロックドライバ１２１、およびクロックドライブ制御レジスタ１２２が設けられている。クロックドライバ１２１は、複数のクロック信号線を介してＰＣＩデバイスそれぞれにポイント・ツー・ポイント形式で接続された複数のバッファ回路を有しており、ＰＣＩデバイス毎にＰＣＩバスクロック（ＣＬＫ１〜ＣＬＫｎ）を独立して供給する。各ＰＣＩバスクロックは、例えば３３ＭＨｚである。
【００２４】
バッファ回路の各々は、イネーブル／ディスエーブル制御可能に構成されており、イネーブル状態の期間はＰＣＩクロックを出力するが、ディスエーブル状態の期間はＰＣＩクロックは出力しない。各バッファ回路のイネーブル／ディスエーブルは、クロックドライブ制御レジスタ１２２にプログラムされるクロックドライブ制御情報によって決定される。このクロックドライブ制御レジスタ１２２は例えばコンフィグレーションアドレス空間にマッピングされたレジスタであり、ＣＰＵ１１によってリード／ライト可能に構成されている。したがって、クロックドライブ制御レジスタ１２２にプログラムする情報によって、ＰＣＩデバイス毎にクロック供給を許可／禁止できる。
【００２５】
内部ＰＣＩバス２はクロック同期型の入出力バスであり、内部ＰＣＩバス２上の全てのサイクルはＰＣＩバスクロックに同期して行なわれる。ＰＣＩバスクロックの周波数は最大３３ＭＨｚである。ＰＣＩバス２は、時分割的に使用されるアドレス／データバスを有している。このアドレス／データバスは、３２ビット幅である。
【００２６】
ＰＣＩバス２上のデータ転送サイクルは、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレスおよび転送タイプが出力され、データフェーズでは８ビット、１６ビット、２４ビットまたは３２ビットのデータが出力される。
【００２７】
ディスプレイコントローラ１４は、ホスト／ＰＣＩブリッジ装置１２と同様にＰＣＩバス２のバスマスタの１つであり、ビデオメモリ（ＶＲＡＭ）１４３の画像データをＬＣＤ１４１や外部のＣＲＴディプレイ１４２に表示する。
【００２８】
ＤＳＰインタフェースゲートアレイ１５は、ＰＣＩデバイスの１つであり、ＤＳＰ１５１、ＭＯＤＥＭ（ＣＯＤＥＣ）１５２、およびサウンドＣＯＤＥＣ１５３と共同して各種サウンド処理や電話／データの通信処理を行うためのＤＳＰシステムを構成する。
【００２９】
このＤＳＰインタフェースゲートアレイ１５は、メモリ１３に読み込まれて実行される専用のデバイスドライバプログラムの制御の下で、ＤＳＰ１５１、ＭＯＤＥＭ（ＣＯＤＥＣ）１５２、およびサウンドＣＯＤＥＣ１５３と通信して、ＤＳＰ１５１のデジタル信号処理機能を利用したサウンド処理や通信処理を制御する。
【００３０】
これらＤＳＰインタフェースゲートアレイ１５、ＤＳＰ１５１、ＭＯＤＥＭ（ＣＯＤＥＣ）１５２、およびサウンドＣＯＤＥＣ１５３から構成されるＤＳＰシステムは、コンピュータ本体の電源投入時は機能せず、デバイスドライバプログラムがオペレーティングシステムに組み込まれて初めて機能を開始できる。
【００３１】
このため、この実施形態のシステムでは、デバイスドライバプログラムが組み込まれるまでの期間の無駄な電力消費を低減するために、ＤＳＰインタフェースゲートアレイ１５に対するＰＣＩバスクロック（ＣＬＫ１）の供給は、デバイスドライバプログラムがメモリ１３に読み込まれた時点で初めて開始され、それまでの期間中はＰＣＩバスクロック（ＣＬＫ１）の供給は停止される。
【００３２】
内部ＰＣＩ−ＩＳＡブリッジ装置１６は、内部ＰＣＩバス２と内部ＩＳＡバス３との間を繋ぐブリッジＬＳＩであり、ＰＣＩデバイスの１つとして機能する。この内部ＰＣＩ−ＩＳＡブリッジ装置１６には、ＰＣＩバスアービタ、およびＤＭＡコントローラなどが内蔵されている。内部ＩＳＡバス３には、ＢＩＯＳ  ＲＯＭ１９、ＨＤＤ２０、キーボードコントローラ２１、ＲＴＣ２２、Ｉ／Ｏコントロールゲートアレイ２３が接続されている。
【００３３】
カードコントローラ１７は、ＰＣＩデバイスの１つであり、ＰＣＭＣＩＡまたはカードバス仕様のＰＣカードを制御する。
ＰＣＩ−ＤＳブリッジ装置１８は、内部ＰＣＩバス２とＰＣＩバス相当のドッキングバス７とを繋ぐブリッジＬＳＩであり、ＰＣＩデバイスの１つとして機能する。ドッキングバス７は、ドッキングコネクタ１０のコネクタ要素１０１を介して外部に導出され、ドッキングステーション３０やカードドック４０に接続される。
【００３４】
ＰＣＩ−ＤＳブリッジ装置１８は、内部ＰＣＩバス２とドッキングステーション３０やカードドック４０とのインタフェースを行うためのものであるため、ドッキングコネクタ１０にドッキングステーション３０やカードドック４０が接続されるまでは使用されない。
【００３５】
したがって、この実施形態のシステムでは、ドッキングコネクタ１０にドッキングステーション３０やカードドック４０が接続されてない期間中は、ＰＣＩ−ＤＳブリッジ装置１８に対するＰＣＩバスクロック（ＣＬＫ２）の供給は停止される。
【００３６】
また、ドッキングコネクタ１０を介して外部に出力されるＰＣＩバスクロック（ＣＬＫ３）についても、ドッキングコネクタ１０にドッキングステーション３０やカードドック４０が接続されてない期間中はその供給が停止される。
【００３７】
Ｉ／Ｏコントロールゲートアレイ２３は、内部ＩＳＡバス３とＩ２Ｃバス４とを繋ぐブリッジＬＳＩであり、ＣＰＵ１１によってリード／ライト可能な複数のレジスタ群を内蔵している。これらレジスタ群を使用することにより、ＣＰＵ１１とＩ２Ｃバス４上の電源コントローラ２４との通信が可能となる。
【００３８】
Ｉ２Ｃバス４は、１本のクロック信号線と１本のデータ線（ＳＤＡ）から構成される双方向バスであり、これはドックキングコネクタ１０のコネクタ要素１０３を介して外部に導出されている。
【００３９】
また、Ｉ／Ｏコントロールゲートアレイ２３は、ドックキングコネクタ１０のコネクタ要素１０２の所定ピン（ＤＥＴＥＣＴピン）の電圧を監視する事により、コンピュータ本体とドッキングステーション３０またはカードドック４０とのドッキング／アンドッキングを検出する。すなわち、図２および図３に示されているように、ドッキングステーション３０およびカードドック４０においては、コネクタ要素１０２のＤＥＴＥＣＴピンが接地されており、またコンピュータ本体のシステムボード上ではそのＤＥＴＥＣＴピンはプルアップされている。したがって、コンピュータ本体にドッキングステーション３０またはカードドック４０が接続されると、ＤＥＴＥＣＴピンの電圧は“Ｌ”レベルとなり、分離されると“Ｈ“レベルとなる。Ｉ／Ｏコントロールゲートアレイ２３は、このようなＤＥＴＥＣＴピンの電圧変化に従ってコンピュータ本体とドッキングステーション３０またはカードドック４０とのドッキング／アンドッキングを検出する。この検出結果は、割り込み信号などよってＣＰＵ１１に通知される。
【００４０】
次に、図２のドッキングステーション３０のコンポーネントについて説明する。
前述したように、ドッキングステーション３０は、ポータブルコンピュータ本体に取り外し可能に装着できる拡張ユニットである。このドッキングステーション３０の筐体には、ポータブルコンピュータ本体を収容するための載置面と、この載置面上にポータブルコンピュータ本体がセットされた時に、ＤＳコントローラ３３の制御の下でドッキングステーション３０とコンピュータ本体１００とをドッキングさせるオートローディング機構などが設けられている。また、ドッキングステーション３０には、ポータブルコンピュータ本体がセットされたことを検出してＤＳコントローラ３３に通知するための検出スイッチの他、イジェクトスイッチ、電源スイッチなども設けられている。イジェクトスイッチは、オートローディング機構によってドッキングステーション３０とドッキングされているコンピュータ本体を、そのドッキングステーション３０から取り外すための操作スイッチである。イジェクトスイッチが押されると、オートローディング機構のモータが逆回転され、ポータブルコンピュータ本体がドッキングステーション３０から電気的に分離され取り外される。
【００４１】
ドッキングステーション３０のＤＳ−ＰＣＩ／ＩＳＡブリッジ装置３１は、コンピュータ本体からドッキングステーション３０に導出されるドッキングバス７と外部ＰＣＩバス６および外部ＩＳＡバス７とを繋ぐブリッジＬＳＩである。このＤＳ−ＰＣＩ／ＩＳＡブリッジ装置４１は、ＰＣＩデバイスの１つであり、ＰＣＩバスクロック（ＣＬＫ３）に同期して動作する。このＰＣＩバスクロック（ＣＬＫ３）は、前述したように、ドッキングステーション３０がコンピュータ本体に接続された事が検出された時に初めて供給される。
【００４２】
ＤＳコントローラ３３は、ドッキングステーション３０の電源のオン／オフ、およびポータブルコンピュータ本体とドッキングステーション３０とのドッキング／アンドッキングを制御するためのマイコンであり、Ｉ２Ｃバス４を使用してコンピュータ本体の電源コントローラ２４およびＩ／Ｏコントロールゲートアレイ２３と通信する。
【００４３】
ＥＥＰＲＯＭ３４は、ドッキングステーション３０の拡張スロットに装着されている拡張カードの属性（アドレス、ＤＭＡチャネル、ＩＲＱ番号、その他）など、プラグ・アンド・プレイに必要な情報がＰｎＰ格納される。このＰｎＰ情報は、コンピュータ本体とドッキングステーション３０とがドッキングされた時や、コンピュータ本体またはドッキングステーション３０のパワーオン時などに、ＢＩＯＳ  ＲＯＭ１９のシステムＢＩＯＳの制御の下、Ｉ２Ｃバス４を介してコントロールゲートアレイ２３によってＥＥＰＲＯＭ３４からリードされる。
【００４４】
カードコントローラ３５は、コンピュータ本体内のカードコントローラ１７と同様に、ＰＣＭＣＩＡ／カードバス準拠のＰＣカードを制御する。
図３のカードドック４０も、ポータブルコンピュータ本体に取り外し可能に装着できる拡張ユニットである。
【００４５】
このカードドック４０内に設けられたカードコントローラ４１は、ＰＣＭＣＩＡ／カードバス準拠のＰＣカードを制御するものであり、ＰＣＩバスクロック（ＣＬＫ３）に同期して動作する。このＰＣＩバスクロック（ＣＬＫ３）は、前述したように、カードドック４０がコンピュータ本体に接続された事が検出された時に初めて供給される。
【００４６】
ＥＥＰＲＯＭ４３は、カードドック４０のＰＣカードスロットに装着されているＰＣカードの属性など、プラグ・アンド・プレイに必要な情報がＰｎＰ格納される。このＰｎＰ情報は、コンピュータ本体とカードドック４０とがドッキングされた時や、コンピュータ本体またはカードドック４０のパワーオン時などに、ＢＩＯＳ  ＲＯＭ１９のシステムＢＩＯＳの制御の下、Ｉ２Ｃバス４を介してコントロールゲートアレイ２３によってＥＥＰＲＯＭ４３からリードされる。
【００４７】
次に、この実施形態のシステムにおけるＰＣＩバスクロックの供給動作を説明する。
図１のコンピュータ本体がパワーオンされたとき、システムＢＩＯＳは、クロックドライブ制御レジスタ１２２にクロックドライブ制御情報をセットする。クロックドライブ制御情報は、前述したようにＰＣＩデバイス毎にクロック供給を許可／禁止するためのものであり、クロックドライブ制御情報＝“０”であれば、クロックドライバ１２１の対応するバッファ回路はイネーブル状態に設定され、そのバッファ回路によって対応するクロック信号線がドライブされる。一方、クロックドライブ制御情報＝“１”であれば、クロックドライバ１２１の対応するバッファ回路はディスエーブル状態に設定され、そのバッファ回路によるクロック信号線のドライブは行われない。
【００４８】
図４に示されているように、システムＢＩＯＳは、まず、ＤＳＰインタフェースゲートアレイ１５に供給すべきＰＣＩバスクロック（ＣＬＫ１）、ＰＣＩ−ＤＳブリッジ１８に供給すべきＰＣＩバスクロック（ＣＬＫ２）、およびドッキングステーション３０のＤＳ−ＰＣＩ／ＩＳＡブリッジ３１またはカードドック４０のカードコントローラ４１に供給すべきＰＣＩバスクロック（ＣＬＫ３）の発生を停止させるために、それらＰＣＩデバイス、つまりＣＬＫ１〜ＣＬＫ３に対応するクロックドライブ制御情報をそれぞれ“１”にセットする（ステップＳ１１）。次いで、システムＢＩＯＳは、他のＰＣＩデバイス全てに対するクロック供給が許可されるように、それらＰＣＩデバイスに対応するクロックドライブ制御情報をそれぞれ“０”にセットする（ステップＳ１２）。これにより、システムがパワーオンされても、ＣＬＫ１〜ＣＬＫ３についてはその供給が停止される。
【００４９】
次に、図５および図６を参照して、ＣＬＫ１〜ＣＬＫ３の供給開始動作について説明する。
（１）図５に示されているように、モデム／サウンド機能を持つＤＳＰシステムを使用するためのデバイスドライバがメモリ１３に読み込まれてＯＳに組み込まれると、まず、そのデバイスドライバからシステムＢＩＯＳにクロックイネーブルコマンドが発行される（ステップＳ２１）。このクロックイネーブルコマンドに応答して、システムＢＩＯＳは、ＤＳＰインタフェースゲートアレイ１５、つまりＰＣＩバスクロック（ＣＬＫ１）に対応するクロックドライブ制御情報を“０”にセットする（ステップＳ２２）。これにより、ＤＳＰインタフェースゲートアレイ１５に対するＰＣＩバスクロック（ＣＬＫ１）の供給が開始される。
【００５０】
このように、ＤＳＰインタフェースゲートアレイ１５については、デバイスドライバがシステムに組み込まれるまではクロック供給が停止されており、デバイスドライバがシステムに組み込まれた時点で初めてクロックが供給される。従って、デバイスドライバが組み込まれるまでの期間の無駄な電力消費を低減できる。
【００５１】
（２）コンピュータ本体のドッキングコネクタ１０にドッキングステーション３０またはカードドック４０が接続されると、図６に示されているように、その接続がＩ／Ｏコントロールゲートアレイ２３によって検知され、その事が割り込み信号によってＣＰＵ１１に通知される（ステップＳ３１）。これにより、システムＢＩＯＳが実行されて、ＰＣＩ−ＤＳブリッジ１８、つまりＰＣＩバスクロック（ＣＬＫ２）に対応するクロックドライブ制御情報が“０”にセットされると共に、ドッキングステーション３０またはカードドック４０に出力するためのＰＣＩバスクロック（ＣＬＫ３）に対応するクロックドライブ制御情報が“０”にセットされる（ステップＳ３２）。
【００５２】
このように、ドッキングステーション３０またはカードドック４０のＰＣＩデバイス、またはそれらドッキングステーション３０またはカードドック４０とコンピュータ本体とのインターフェースを行うためのＰＣＩ−ＤＳブリッジ１８についても、ドッキングステーション３０またはカードドック４０が接続されて初めてクロックが供給され、それまでは供給されない。
【００５３】
図７には、図１に示したクロックドライバ１２１の他の構成例が示されている。
図７においては、クロックドライバ１２１の各バッファ回路は、電流駆動能力が段階的に切り替え可能に構成されており、クロックドライブ制御情報は１つのバッファ回路当たり２ビットから構成されている。この場合、クロックドライブ制御情報の２ビットとクロック信号線のドライブ状態との関係は図８のようになる。
【００５４】
例えば、クロックＣＬＫ１を発生するためのバッファ回路に着目すると、クロックドライブ制御情報の２ビット“ｂ１，ｂ０”が“１，１”であれば、バッファ回路はディスエーブルされ、クロックＣＬＫ１の発生は停止される。また、“ｂ１，ｂ０”が“１，０”、“０，１”、“０，０”であれば、バッファ回路はイネーブル状態に設定され、それぞれ４ｍＡ、８ｍＡ、１２ｍＡでクロックＣＬＫ１用のクロック信号線をドライブする。
【００５５】
このような電流駆動能力の切り替えは、バッファ回路毎に４ｍＡ用と８ｍＡ用の２つのバッファを設け、それらバッファをそれぞれイネーブル／ディスエーブル制御する事などによって実現できる。
【００５６】
このようなクロックドライバ１２１を利用すれば、クロック供給を停止する代わりに４ｍＡでクロック信号線をドライブするといった省電力モードを実現する事もできる。
【００５７】
図９には、図１のホスト−ＰＣＩブリッジ１２に内蔵されているメモリ制御サブシステム１３３とメモリ１３との接続関係が示されている。
メモリ１３として用いられるシステムメモリ１３１および拡張メモリ１３２は、それぞれ１バンク以上の複数のＤＲＡＭモジュールから構成されている。各バンクは、例えば複数個のシンクロナスＤＲＡＭまたはＲａｍｂｕｓ準拠のＤＲＡＭチップによって構成されている。各バンクは、メモリアドレスバスおよびメモリデータバスにパラレルに接続されている。また、ＲＡＳ線およびメモリクロック（ＭＣＬＫ）線はそれらバンクに別個に供給されており、ＣＡＳ線はそれらバンクに共通に供給されている。
【００５８】
メモリクロック線のドライブは、メモリ制御サブシステム１３３に内蔵されたクロックドライバ１３４およびクロックドライブ制御レジスタ１３４によって制御される。これらクロックドライバ１３４およびクロックドライブ制御レジスタ１３４は、それぞれ図１のクロックドライバ１２１およびクロックドライブ制御レジスタ１２２に相当している。
【００５９】
すなわち、クロックドライバ１３４は、複数のメモリクロック信号線を介してバンクそれぞれにポイント・ツー・ポイント形式で接続された複数のバッファ回路を有しており、バンク毎にメモリクロック（ＭＣＬＫ１〜ＭＣＬＫｎ）を独立して供給する。各メモリクロックは、例えば６０ＭＨｚである。
【００６０】
バッファ回路の各々は、イネーブル／ディスエーブル制御可能に構成されており、イネーブル状態の期間はメモリクロックを出力するが、ディスエーブル状態の期間はメモリクロックは出力しない。各バッファ回路のイネーブル／ディスエーブルは、クロックドライブ制御レジスタ１３５にプログラムされるクロックドライブ制御情報によって決定される。このクロックドライブ制御レジスタ１３５は例えばコンフィグレーションアドレス空間にマッビングされたレジスタであり、ＣＰＵ１１によってリード／ライト可能に構成されている。したがって、クロックドライブ制御レジスタ１３５にプログラムする情報によって、バンク毎にクロック供給を制御できる。
【００６１】
このシステムでは、未使用バンクに対するメモリクロックの供給、つまり予め用意されている複数のＲＡＳ線の中で未使用のＲＡＳ線に対応するメモリクロックの供給が停止される。どのＲＡＳ線が未使用となるかは、システムメモリ１３１および拡張メモリ１３２それぞれのために予め用意されたＲＡＳ線の数と実際に装着されるメモリモジュールのバンク構成とによって決定される。
【００６２】
例えば、システムメモリ１３１用のメモリスロットにＲＡＳ１，ＲＡＳ２の２つのＲＡＳ線が接続されている場合に、例えば拡張メモリとして４ＭＢ×１バンク構成のメモリモジュールがそのスロットに接続されると、ＲＡＳ１だけが使用され、ＲＡＳ２は未使用となる。同様に、拡張メモリ１３２用のメモリスロットにＲＡＳ３〜ＲＡＳ５の３つのＲＡＳ線が接続されている場合に、例えば拡張メモリとして４ＭＢ×２バンク構成のメモリモジュールがそのスロットに接続されると、ＲＡＳ３，ＲＡＳ４だけが使用され、ＲＡＳ５は未使用となる。
【００６３】
これら未使用のＲＡＳ線にはバンクは接続されないので、そのＲＡＳ線に対応するメモリクロック線も使用されることない。したがって、未使用のＲＡＳ線、つまり未使用バンクに対応するメモリクロック線のドライブをクロック制御情報によって禁止する事により、無駄な電気力消費を削減することが可能となる。
【００６４】
図１０には、クロック制御レジスタ１３５に対するクロック制御情報の設定動作が示されている。
システムＢＩＯＳは、システムパワーオンに応答してメモリ構成をチェックする。この場合、まず、クロック制御レジスタ１３５にオール“０”のクロック制御情報がセットされ、全てのメモリクロックＭＣＬＫがイネーブルされる（ステップＳ４１）。
【００６５】
次いで、システムＢＩＯＳは、ＲＡＳ線毎にそれに接続されるバンクサイズをライト・リードコンペアなどによってチェックし、未使用バンク（バンクサイズ＝０）を検出する（ステップＳ４２）。そして、バンクサイズ＝０のＲＡＳ線に対応するメモリクロックのクロック制御情報を“１”にセットして、そのメモリクロックのドライブを禁止する（ステップＳ４３）。
【００６６】
これにより、未使用ＰＣＩデバイスだけでなく、未使用のメモリバンクに対する無駄なクロック供給もなくなり、より消費電力を低減することが可能となる。また、メモリ制御サブシステム１３３に内蔵されたクロックドライバ１３４およびクロックドライブ制御レジスタ１３５についても図７および図８の構成を適用することができる。
【００６７】
【発明の効果】
以上説明したように、この発明によれば、クロックドライブ装置内の各バッファ回路は、レジスタにセットされているクロックドライブ制御情報に従ってイネーブル／ディスエーブル制御されるので、複数のデバイスそれぞれのクロック信号線を選択的にドライブできる。したがって、利用されてないＰＣＩデバイスやメモリバンクに対してクロックの供給を停止することが可能になり、無駄な電力消費を低減することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係るポータブルコンピュータのシステム構成を示すブロック図。
【図２】同実施形態のポータブルコンピュータに装着可能なドッキングステーションの構成を示すブロック図。
【図３】同実施形態のポータブルコンピュータに装着可能なカードドックの構成を示すブロック図。
【図４】同実施形態のポータブルコンピュータにおけるパーワーオン時のＰＣＩクロック設定制御の手順を示すフローチャート。
【図５】同実施形態のポータブルコンピュータにおけるＤＳＰシステムに対するＰＣＩクロック制御動作の手順を示すフローチャート。
【図６】同実施形態のポータブルコンピュータにおけるドッキングステーション関連のデバイスに対するＰＣＩクロック制御動作の手順を示すフローチャート。
【図７】同実施形態のポータブルコンピュータに設けられたクロックドライバの他の構成の一例を示す図。
【図８】図７のクロックドライバの電流駆動能力とクロック制御情報との関係を示す図。
【図９】同実施形態のポータブルコンピュータに設けられたメモリ制御サブシステムの構成を示すブロック図。
【図１０】同実施形態のポータブルコンピュータにおけるメモリバンクに対するメモリクロック制御動作の手順を示すフローチャート。
【符号の説明】
２…内部ＰＣＩバス、３…内部ＩＳＡバス、１１…ＣＰＵ、１２…ホスト−ＰＣＩブリッジ、１３…メモリ、１５…ＤＳＰインタフェースゲートアレイ、１８…ＰＣＩ−ＤＳブリッジ、２３…Ｉ／Ｏコントロールゲートアレイ、３０…ドッキングステーション、３１…ＤＳ−ＰＣＩ／ＩＳＡブリッジ、４０…カードドック、４１…カードコントローラ、１２１…ＰＣＩクロックドライバ、１２２…ＰＣＩクロックドライブ制御レジスタ、１３３…メモリ制御サブシステム、１３４…メモリクロックトライバ、１３５…メモリクロックドライブ制御レジスタ。
【図１】
0003556340.tif 000002
【図２】
0003556340.tif 000003
【図３】
0003556340.tif 000004
【図４】
0003556340.tif 000005
【図５】
0003556340.tif 000006
【図６】
0003556340.tif 000007
【図７】
0003556340.tif 000008
【図８】
0003556340.tif 000009
【図９】
0003556340.tif 000010
【図１０】
0003556340.tif 000011