(57)【特許請求の範囲】
【請求項１】
ＰＣＩバスシステムアーキテクチャを採用したコンピュータシステムにおいて、
前記システムのＩ／Ｏアドレス空間に割り当てられた所定のＩ／Ｏデバイスを前記システムのメモリアドレス空間に割り当て、前記ＰＣＩバス上で前記Ｉ／Ｏデバイスに割り当てられたメモリアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むメモリバーストサイクルが実行されるように、前記Ｉ／Ｏデバイスに対するＩ／Ｏアクセス要求に対してメモリサイクルを発生する手段と、
前記ＰＣＩバスと前記Ｉ／Ｏデバイスとの間に設けられ、前記メモリバーストサイクルのアドレスフェーズで前記Ｉ／Ｏデバイスに割り当てられたメモリアドレス値が指定されたとき、そのメモリバーストサイクルを前記Ｉ／Ｏデバイスをアクセスするための複数の連続したＩ／Ｏサイクルに変換する手段とを具備することを特徴とするコンピュータシステム。
【請求項２】
ＣＰＵと、
このＣＰＵのプロセッサバスとＰＣＩバス間を繋ぐ第１のブリッジ装置であって、前記ＣＰＵが所定のＩ／Ｏデバイスをアクセスするために前記プロセッサバス上で連続して実行するＩ／Ｏサイクルを、前記Ｉ／Ｏデバイスのアクセスのために用意された所定のメモリアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むメモリバーストサイクルに変換して前記ＰＣＩバス上に伝達する第１のバスサイクル変換手段を含む第１のブリッジ装置と、
前記ＰＣＩバスと前記所定のＩ／Ｏデバイスが接続されたバス間を繋ぐ第２のブリッジ装置であって、前記第１のバスサイクル変換手段によって前記ＰＣＩバス上に伝達されるメモリバーストサイクルを、前記Ｉ／Ｏデバイスが接続されている前記バス上の複数の連続したＩ／Ｏサイクルに変換する第２のバスサイクル変換手段を含む第２のブリッジ装置とを具備することを特徴とするコンピュータシステム。
【請求項３】
ＣＰＵと、
このＣＰＵのプロセッサバスとＰＣＩバス間を繋ぐ第１のブリッジ装置と、
前記ＰＣＩバスと所定のＩ／Ｏデバイスが接続されたバス間を繋ぐ第２のブリッジ装置とを具備し、
前記第１のブリッジ装置は、
前記ＣＰＵが前記Ｉ／Ｏデバイスをアクセスするために前記プロセッサバス上で連続して実行するＩ／Ｏサイクルを、前記Ｉ／ＯデバイスのＩ／Ｏアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むＩ／Ｏバーストサイクルに変換して前記第１および第２のブリッジ装置間に設けられたサイドバンドバス上に伝達する第１のバスサイクル変換手段を含み、
前記第２のブリッジ装置は、
前記第１のバスサイクル変換手段によって前記サイドバンドバス上に伝達されるＩ／Ｏバーストサイクルを、前記Ｉ／Ｏデバイスが接続されているバス上の複数の連続したＩ／Ｏサイクルに変換する第２のバスサイクル変換手段を含むことを特徴とするコンピュータシステム。
【請求項４】
ＣＰＵと、
このＣＰＵのプロセッサバスと第１のバスとを繋ぐ第１のブリッジ装置であって、前記ＣＰＵが所定のＩ／Ｏデバイスをアクセスするために前記プロセッサバス上で連続して実行するＩ／Ｏサイクルを、前記Ｉ／Ｏデバイスのアクセスのために用意された所定のメモリアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むメモリバーストサイクルに変換して前記第１のバス上に伝達する第１のバスサイクル変換手段を含む第１のブリッジ装置と、
前記第１のバスと前記所定のＩ／Ｏデバイスが接続された第２のバスとを繋ぐ第２のブリッジ装置であって、前記第１のバスサイクル変換手段によって前記第１のバス上に伝達されるメモリバーストサイクルを、前記第２のバス上の複数の連続したＩ／Ｏサイクルに変換する第２のバスサイクル変換手段を含む第２のブリッジ装置とを具備することを特徴とするコンピュータシステム。
【請求項５】
ＣＰＵと、
このＣＰＵのプロセッサバスと第１のバスとを繋ぐ第１のブリッジ装置と、
前記第１のバスと所定のＩ／Ｏデバイスが接続された第２のバスとを繋ぐ第２のブリッジ装置とを具備し、
前記第１のブリッジ装置は、
前記ＣＰＵが前記Ｉ／Ｏデバイスをアクセスするために前記プロセッサバス上で連続して実行するＩ／Ｏサイクルを、前記Ｉ／ＯデバイスのＩ／Ｏアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むＩ／Ｏバーストサイクルに変換して前記第１および第２のブリッジ装置間に設けられたサイドバンドバス上に伝達する第１のバスサイクル変換手段を含み、
前記第２のブリッジ装置は、
前記第１のバスサイクル変換手段によって前記サイドバンドバス上に伝達されるＩ／Ｏバーストサイクルを、前記第２のバス上の複数の連続したＩ／Ｏサイクルに変換する第２のバスサイクル変換手段を含むことを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンピュータシステムに関し、特にバースト転送をデータ転送の基本とするＰＣＩバスシステムアーキテクチャを採用したコンピュータシステムに関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータに使用されるシステムバスとしては、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスやＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）バスが主流であった。最近では、データ転送速度の高速化や、プロセッサに依存しないシステムアーキテクチャの構築のために、デスクトップ型のパーソナルコンピュータを中心に、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが採用され始めている。
【０００３】
ＰＣＩバスにおいては、全てのデータ転送はブロック転送を基本としており、これら各ブロック転送はバースト転送を用いて実現されている。これにより、ＰＣＩバスでは、最大１３３Ｍバイト／秒（データバスが３２ビット幅の時）のデータ転送速度を実現できる。また、ＰＣＩバスは、仕様上、メモリおよびＩ／Ｏアドレス空間の両方でバースト転送をサポートしている。
【０００４】
よって、Ｉ／Ｏ空間でバーストを生成するようなプロセッサまたはバス・マスタがあれば、これらのマスタがＩ／Ｏバーストを発生することにより、Ｉ／Ｏデバイス間、およびシステムメモリとＩ／Ｏデバイスとの間のデータ転送などをさらに高速に行うことが可能となり、システム性能を高めることができる。
【０００５】
【発明が解決しようとする課題】
ところが、実際には、Ｉ／Ｏのバーストサイクルは、有効には使われていない。その理由は次の通りである。
（１）まず、第一に、現状では、Ｉ／Ｏバーストを行うようなアプリケーションプログラムが存在していないことである。
（２）また、もう一つの理由は、従来のＩ／Ｏデバイス自身の性能の問題である。
【０００６】
すなわち、従来のＩ／Ｏ装置は低速のものが多く、時間的に近接した２つ以上のアクセスを受け付けられないものがほとんどであった。したがって、Ｉ／Ｏバーストサイクルを実行しても、それによって連続的に転送されるライトデータなどを受け付けられず、これが誤動作の原因となる場合があった。
【０００７】
（３）さらに、もう一つの問題は、Ｉ／Ｏバーストサイクルにおけるアドレスの取り扱いの問題である。
すなわち、メモリバーストサイクルについては、通常、データフェーズ毎に対象となるアドレス値がインクリメントされるが、もし、Ｉ／Ｏバーストサイクルでこの様なデータフェーズ毎のアドレスインクリメントを行うと、そのアドレス値がターゲットＩ／Ｏデバイスの応答アドレス範囲をすぐに外れてしまう。この場合、ターゲットディスコネクトが発生され、その時点で現在のＩ／Ｏバーストサイクルが終了してしまう。
【０００８】
このように、現状では、Ｉ／Ｏサイクルではバースト転送のメリットが生かせない、という問題があった。
また、最近では、時間的に連続的に行われるＩ／Ｏアクセスを受付けることが可能な高性能のハードディスク（ＩＤＥ）など、高速Ｉ／Ｏデバイスも開発されており、バースト転送を利用したＩ／Ｏアクセスの実現が望まれている。
【０００９】
この発明はこの様な点に鑑みてなされたもので、ＣＰＵまたは他のバスマスタからＰＣＩバス経由で行われる既存のＩ／ＯマップされたＩ／Ｏデバイスに対するアクセス処理の高速化を実現することができるコンピュータシステムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
この発明は、ＰＣＩバスシステムアーキテクチャを採用したコンピュータシステムにおいて、前記システムのＩ／Ｏアドレス空間に割り当てられた所定のＩ／Ｏデバイスを前記システムのメモリアドレス空間に割り当て、前記ＰＣＩバス上で前記Ｉ／Ｏデバイスに割り当てられたメモリアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むメモリバーストサイクルが実行されるように、前記Ｉ／Ｏデバイスに対するＩ／Ｏアクセス要求に対してメモリサイクルを発生する手段と、前記ＰＣＩバスと前記Ｉ／Ｏデバイスとの間に設けられ、前記メモリバーストサイクルのアドレスフェーズで前記Ｉ／Ｏデバイスに割り当てられたメモリアドレス値が指定されたとき、そのメモリバーストサイクルを前記Ｉ／Ｏデバイスをアクセスするための複数の連続したＩ／Ｏサイクルに変換する手段とを具備することを特徴とする。
【００１１】
このコンピュータシステムにおいては、Ｉ／Ｏアドレス空間に割り当てられているディスク装置（ＩＤＥ）などのＩ／Ｏデバイスがメモリアドレス空間に割り当てられており、そのＩ／Ｏデバイスをアクセスする場合には、ＰＣＩバス上でメモリバーストサイクルが実行されるように、前記Ｉ／Ｏデバイスに対するＩ／Ｏアクセス要求に対してメモリサイクルが発生される。このメモリバーストサイクルは、Ｉ／Ｏサイクルに変換されてＩ／Ｏデバイスに送られる。従って、ＰＣＩバス経由で行われる既存のＩ／ＯマップされたＩ／Ｏデバイスに対するアクセス処理にバーストサイクルを利用できるようになり、Ｉ／Ｏアクセスの高速化を図ることができる。
【００１２】
すなわち、従来の構成では、ひとつのトランザクション中にひとつのＩ／Ｏデータフェーズしか含むことができない。例えば、ひとつのトランザクションにかかる時間が、最短で６ＰＣＩクロックであったとすると、ＩＤＥの１セクタ分５１２バイト（＝２５６ワード）の転送を行うのにかかる時間は、２５６×６＝１５３６ＰＣＩクロックとなる。一方、この発明の構成によれば、Ｉ／Ｏアクセスを、ＰＣＩバス上でバーストさせることにより、そのシステムの持つＰＣＩバスのバンド幅を、フルに利用することができる。例えば、上記１セクタの転送を行うのにかかる時間は、６＋２５５＝２６１ＰＣＩクロックで済む。バイトマージすれば、さらに少なくてすむ。実際には、ＩＤＥの転送レートはＰＣＩバスのバンド幅より小さいから、ＩＤＥを、ＩＤＥ自身の持つ最大の転送レートまで上げて使うことができる。
【００１４】
また、この発明によるコンピュータシステムは、ＣＰＵと、このＣＰＵのプロセッサバスとＰＣＩバス間を繋ぐ第１のブリッジ装置であって、前記ＣＰＵが所定のＩ／Ｏデバイスをアクセスするために前記プロセッサバス上で連続して実行するＩ／Ｏサイクルを、前記Ｉ／Ｏデバイスのアクセスのために用意された所定のメモリアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むメモリバーストサイクルに変換して前記ＰＣＩバス上に伝達する第１のバスサイクル変換手段を含む第１のブリッジ装置と、前記ＰＣＩバスと前記所定のＩ／Ｏデバイスが接続されたバス間を繋ぐ第２のブリッジ装置であって、前記第１のバスサイクル変換手段によって前記ＰＣＩバス上に伝達されるメモリバーストサイクルを、前記Ｉ／Ｏデバイスが接続されている前記バス上の複数の連続したＩ／Ｏサイクルに変換する第２のバスサイクル変換手段を含む第２のブリッジ装置とを具備することを特徴とする。
【００１５】
このコンピュータシステムにおいては、第１のブリッジ装置が、ＣＰＵによって実行される特定のＩ／ＯサイクルをＰＣＩバス上のメモリサイクルに変換して、バースト転送を行う。よって、システムＢＩＯＳの変更などを行うことなく、Ｉ／Ｏアクセス処理にバースト転送を利用することが可能となる。
【００１６】
また、この発明によるコンピュータシステムは、ＣＰＵと、このＣＰＵのプロセッサバスとＰＣＩバス間を繋ぐ第１のブリッジ装置と、前記ＰＣＩバスと所定のＩ／Ｏデバイスが接続されたバス間を繋ぐ第２のブリッジ装置とを具備し、前記第１のブリッジ装置は、前記ＣＰＵが前記Ｉ／Ｏデバイスをアクセスするために前記プロセッサバス上で連続して実行するＩ／Ｏサイクルを、前記Ｉ／ＯデバイスのＩ／Ｏアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むＩ／Ｏバーストサイクルに変換して前記第１および第２のブリッジ装置間に設けられたサイドバンドバス上に伝達する第１のバスサイクル変換手段を含み、前記第２のブリッジ装置は、前記第１のバスサイクル変換手段によって前記サイドバンドバス上に伝達されるＩ／Ｏバーストサイクルを、前記Ｉ／Ｏデバイスが接続されているバス上の複数の連続したＩ／Ｏサイクルに変換する第２のバスサイクル変換手段を含むことを特徴とする。
【００１７】
２つのブリッジ装置間のローカルルールなどにより、特定のＩ／Ｏアクセスに対して、ＰＣＩバスまたはサイドバンドバス上で、Ｉ／Ｏサイクルのままバースト転送が行われる。この場合にも、システムＢＩＯＳの変更などを行うことなく、Ｉ／Ｏアクセス処理にバースト転送を利用することが可能となる。
【００１８】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係わるコンピュータシステムの構成が示されている。このコンピュータシステムは、ノートブックタイプまたはラップトップタイプのポータブルパーソナルコンピュータであり、その本体内部には、ＣＰＵ１１、システムメモリ１２、ＣＰＵ１１のプロセッサバス（ホストバス）１３、メモリバス１４、ホスト／ＰＣＩブリッジ装置１５、ＰＣＩバス１６、ディスプレイコントローラ１７、ビデオメモリ１８、ハードディスクドライブ装置（バスマスタＩＤＥ）などのＩ／Ｏデバイス１９、ＰＣＩ／ＩＳＡブリッジ装置２２、ＩＳＡバス２３、ハードディスクドライブ装置（ＩＤＥ）などのＩ／Ｏデバイス２４、ＢＩＯＳ  ＲＯＭ２５などが設けられている。
【００１９】
ＣＰＵ１１は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”などによって実現されている。このＣＰＵ１１の入出力ピンに直結されているプロセッサバス１３は、６４ビット幅のデータバスを有している。
【００２０】
システムメモリ１２は、オペレーティングシステム、デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、ＤＲＡＭまたはシンクロナスＤＲＡＭによって構成されている。このシステムメモリ１２は、３２ビット幅または６４ビット幅のデータバスを有する専用のメモリバス１４に接続されている。このメモリバス１４のデータバスとしては、プロセッサバス１３のデータバスを利用することもできる。この場合、メモリバス１４には、アドレスバスと各種メモリ制御信号線とから構成される。
【００２１】
ホスト／ＰＣＩブリッジ装置１５は、プロセッサバス１３とＰＣＩバス１６との間を繋ぐブリッジＬＳＩであり、プロセッサバス１３とＰＣＩバス１６との間で、データおよびアドレスを含むバスサイクルを双方向で変換する。また、ホスト／ＰＣＩブリッジ装置１５は、メモリバス１４を介してシステムメモリ１２にも接続されており、システムメモリ１２のアクセスも制御する。さらに、ホスト／ＰＣＩブリッジ装置１５は、ＰＣＩバス１６上でバースト転送を実行するための機能をサポートしている。
【００２２】
このように、ホスト／ＰＣＩブリッジ装置１５は、ＩＳＡバス２３上のデバイスを除くシステム内の全てのメモリおよびＩ／Ｏデバイスを制御するシステムコントローラとして機能する。
【００２３】
ＰＣＩバス１６はクロック同期型の入出力バスであり、ＰＣＩバス１６上の全てのサイクルはＰＣＩクロックに同期して行われる。ＰＣＩバス１６のクロック信号は最大３３ＭＨｚである。ＰＣＩバス１６は、時分割的に使用されるアドレス／データバスを有している。このアドレス／データバスは、３２ビット幅である。
【００２４】
ＰＣＩバス１６上のデータ転送は、バースト転送を利用したブロックデータ転送を基本としている。このデータ転送サイクルは、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレス／データバス上にアドレスが出力され、データフェーズでは３２ビットのデータが出力される。
【００２５】
ディスプレイコントローラ１７は、ビデオメモリ１８に格納されているイメージデータをビデオデータに変換してこのシステムのディスプレイモニタに表示するグラフィクスコントロールＬＳＩであり、ＰＣＩバス１６に直結されている。このディスプレイコントローラ１７のバスインターフェースには、ＰＣＩバス１６のバースト転送に対応するためのデータバッファが設けられている。
【００２６】
ビデオメモリ１８は、ディスプレイモニタの画面イメージを格納する。このビデオメモリ１８は、シンクロナスＤＲＡＭまたはデュアルポートＶＲＡＭから構成されている。シンクロナスＤＲＡＭは、クロック同期式オペレーション、コマンドによる動作モード制御、２バンクメモリセルアレイ構成という特徴を持つメモリであり、通常のＤＲＡＭよりもシーケンシャルアクセスを高速に行うことができる。
【００２７】
ビデオメモリ１８を構成するシンクロナスＤＲＡＭは、例えば、２５６Ｋ×１６ビット構成のシンクロナスＤＲＡＭチップを２個または４個並列接続することによって実現できる。この場合、３２ビット幅または６４ビット幅単位でイメージデータのリード／ライトが行われる。
【００２８】
ＰＣＩ／ＩＳＡブリッジ装置２２は、ＰＣＩバス１６とＩＳＡバス２３との間を繋ぐブリッジＬＳＩであり、ＰＣＩバス１６とＩＳＡバス２３の間でデータおよびアドレスを含むバスサイクルを双方向で変換する。このＰＣＩ／ＩＳＡブリッジ装置２２には、ＩＳＡバス２３上のＩ／Ｏデバイス２４、ＢＩＯＳ  ＲＯＭ２５を制御するためのロジックや、ＤＭＡコントローラなどが含まれている。ＩＳＡバス拡張スロット２６，２７には、ＩＳＡ対応の各種拡張カードを必要に応じて装着することができる。
【００２９】
さらに、ＰＣＩ／ＩＳＡブリッジ装置２２は、ＰＣＩバス１６上のメモリバーストサイクルをＩＳＡバス２３上のＩ／Ｏサイクルに変換するサイクル・コンバージョン回路２２１を備えている。このサイクル・コンバージョン回路２２１は、Ｉ／Ｏアドレス空間にマッピングされたＩ／Ｏデバイス（ＩＤＥ）２４のＩ／Ｏポート（Ｉ／Ｏアドレス  １Ｆ０Ｈ）に特別に割り当てられたメモリアドレス範囲を示す情報を保持するコンフィグレーションレジスタなどを有しており、ＰＣＩバス１６上で実行されるメモリバーストサイクルのアドレスフェーズでＩ／Ｏデバイス２４に割り当てられたメモリアドレス値が指定されたとき、そのメモリバーストサイクルをＩ／Ｏデバイス２４をアクセスするためのＩ／Ｏサイクルに変換して、ＩＳＡバス２４上に出力する。このサイクル変換処理では、サイクル・コンバージョン回路２２１に設けられたデータバッファにバースト転送されたデータが蓄積され、それが時間的に連続する複数のＩ／ＯサイクルでＩ／Ｏデバイス２４に送られる。
【００３０】
ＢＩＯＳ  ＲＯＭ２５には、システムの電源投入時にハードウェアの初期化やオペレーティングシステムのブートストラップを実行するＩＲＴルーチンと、オペレーティングシステムやアプリケーションプログラムからの要求に応じてハードウェアアクセスを行う各種デバイスドライバ群を含むシステムＢＩＯＳとが格納されている。
【００３１】
システムＢＩＯＳのディスクドライバ（ＩＮＴ１３ｈ）は、Ｉ／Ｏデバイス２４のデータポートである１ＦＯＨを、メモリアドレスＸＸＸＸＨに割り当て、オペレーティングシステムまたはアプリケーションプログラムからのＩ／Ｏデバイス２４に対するＩ／Ｏアクセス要求が発生したときは、ムーブストリング命令などを実行してＣＰＵ１１にメモリサイクルを実行させる。これによって、ＰＣＩバス１６を経由したＩ／Ｏデバイス２４のアクセスに、メモリバースト転送を利用することが可能になる。システムＢＩＯＳ（ＩＮＴ１３ｈ）を利用したバースト転送のためのインターフェースを図２に示す。
【００３２】
すなわち、システムＢＩＯＳ（ＩＮＴ１３ｈ）によるデータ書き込みとデータ引き取りは、通常は１６ｂｉｔのＩ／Ｏストリング命令（ＩＮＳＷ（ｉｎｐｕｔｗｏｒｄ  ｆｒｏｍ  ｐｏｒｔ  ｔｏ  ｓｔｒｉｎｇ）、ＯＵＴＳＷ（ｏｕｔｐｕｔ  ｗｏｒｄ  ｆｒｏｍ  ｓｔｒｉｎｇ  ｔｏ  ｐｏｒｔ））を使用するが、このシステムでは、Ｉ／Ｏデバイス２４がメモリマップされているため、Ｉ／Ｏデバイス２４に対するＩ／Ｏ要求に対しては、３２ｂｉｔのムーブストリング命令（ＭＯＶＳＤ、ｍｏｖｅ  ｄｗｏｒｄ  ｆｒｏｍ  ｓｔｒｉｎｇ  ｔｏ  ｓｔｒｉｎｇ）が使用される。これにより、Ｉ／Ｏアクセスであるにも拘わらず、ＰＣＩバス１６を経由したＩ／Ｏデバイス２４のアクセスにメモリバースト転送を利用することが可能とになる。
【００３３】
このバースト転送では、ブリッジ装置１５によって、Ｉ／Ｏデバイス２４のメモリアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むメモリバーストサイクルがＰＣＩバス１６上に発行される。このメモリバーストサイクルは、サイクル・コンバージョン回路２２１によってＩ／Ｏデバイス２４をアクセスするためのＩ／Ｏサイクルに順次変換されてＩＳＡバス２４上に出力される。このＩ／Ｏサイクルでは、Ｉ／Ｏデバイス２４のデータポートである１ＦＯＨがＩ／Ｏアドレスとして使用される。
【００３４】
この様に、図１のシステムにおいては、Ｉ／Ｏアドレス空間に割り当てられているＩ／Ｏデバイス２４がメモリアドレス空間に割り当てられており、そのＩ／Ｏデバイス２４をアクセスする場合には、ＣＰＵ１１または他のバスマスタ（ブリッジ装置など）によってＩ／Ｏサイクルではなく、ＰＣＩバス１６上では、メモリバーストサイクルが実行される。このメモリバーストサイクルは、Ｉ／Ｏサイクルに変換されてＩ／Ｏデバイス２４に送られる。従って、ＰＣＩバス経由で行われる既存のＩ／ＯマップされたＩ／Ｏデバイスに対するアクセス処理にバーストサイクルを利用できるようになり、Ｉ／Ｏアクセスの高速化を図ることができる。
【００３５】
なお、ブリッジ１５がメモリサイクルをバーストサイクルに変換するのではなく、ＣＰＵ１１がはじめからメモリバーストサイクルを実行し、それをブリッジ１５がＰＣＩバス１６上に伝達することも可能である。また、ここでは、Ｉ／Ｏデバイス２４に対するライトサイクルについて説明したが、リードサイクルについても、同様の手順でバーストサイクルを利用することができる。
【００３６】
次に、図３を参照して、この発明の第２実施形態に係るシステム構成を説明する。
ここでは、ブリッジ１５が特定のＩ／ＯアクセスをＰＣＩバス１６上のメモリサイクルに変換することだけが図１と異なっており、他の点は図１と同様である。
【００３７】
すなわち、ＣＰＵ１１からは、Ｉ／Ｏデバイス２４に対するＩ／Ｏサイクルが、従来と同じように現れる。ＰＣＩバス１６前後のブリッジ１５，２２が、完全にハードウェア的に、Ｉ／Ｏサイクルをメモリサイクルに変換する。ソフトウェアの変更をする必要がなく、従来のシステムとの互換性を保ちながら、高性能が達成できるところが特徴である。
【００３８】
具体的には、ホスト／ＰＣＩブリッジ装置１５は、プロセッサバス１３上のＩ／ＯサイクルをＰＣＩバス１６上のメモリサイクルに変換するサイクル・コンバージョン回路１５１を備えている。このサイクル・コンバージョン回路１５１は、Ｉ／Ｏアドレス空間にマッピングされたＩ／Ｏデバイス（ＩＤＥ）２４のＩ／Ｏポート（Ｉ／Ｏアドレス  １Ｆ０Ｈ）に特別に割り当てられたメモリアドレス範囲を示す情報を保持するコンフィグレーションレジスタなどを有しており、プロセッサバス１３上のＩ／ＯサイクルでＩ／Ｏデバイス２４のＩ／Ｏアドレスが指定されると、そのＩ／ＯサイクルをＰＣＩバス１６上の３２ビットメモリサイクルに変換する。この場合、サイクル・コンバージョン回路１５１内のデータバッファにＩ／Ｏサイクルを蓄積して、可能であればメモリバーストサイクルを実行するようにすればさらに有効である。ライトサイクルについても、同様の処理（バイトマージしてから可能ならバースト化してＰＣＩバスへ出す）を行う。
【００３９】
以上のように、図３においては、ブリッジ装置１５が、ＣＰＵ１１によって実行される特定のＩ／ＯサイクルをＰＣＩバス１６上のメモリサイクルに変換して、バースト転送を行う。よって、システムＢＩＯＳの変更などを行うことなく、Ｉ／Ｏアクセス処理にバースト転送を利用することが可能となる。
【００４０】
次に、図４を参照して、この発明の第３実施形態に係るシステム構成を説明する。
ここでは、ＰＣＩブリッジが、特定のＩ／Ｏアクセスに対して、ＰＣＩバスまたはサイドバンドのバス上で、Ｉ／Ｏサイクルのまま、バースト転送を行う。
【００４１】
具体的には、ホスト／ＰＣＩブリッジ装置１５は、ＣＰＵ１１がＩ／Ｏデバイス２４をアクセスするためにプロセッサバス１３上で連続して実行するＩ／Ｏサイクルをデータバッファ１５２に蓄積し、Ｉ／Ｏデバイス２４のＩ／Ｏアドレス値を指定するアドレスフェーズとそれに後続する複数のデータフェーズとを含むＩ／ＯバーストサイクルをＰＣＩバス１６上に伝達する。また、ＰＣＩ／ＩＳＡブリッジ２２は、ＰＣＩバス１６上に伝達されるＩ／Ｏバーストサイクルをデータバッファ２２２に蓄積し、それをＩ／Ｏデバイス２４が接続されているＩＳＡバス２３上の複数の連続したＩ／Ｏサイクルに変換する。これら２つのブリッジ装置間においては、Ｉ／Ｏバーストサイクルにおけるアドレスの扱い方が予め決められており、アドレスをインクリメントするかしないか等を両者の取り決めにより選択することができる。また、Ｉ／Ｏバースト転送は、ＰＣＩバス１６上ではなく、図５に示されているように、ブリッジ装置間に設けられたサイドバンドバス３０上で行うこともできる。
【００４２】
この様に、第３の実施形態においては、２つのブリッジ装置間のローカルルールなどにより、特定のＩ／Ｏアクセスに対して、ＰＣＩバスまたはサイドバンドバス上で、Ｉ／Ｏサイクルのままバースト転送が行われる。よって、この場合にも、システムＢＩＯＳの変更などを行うことなく、Ｉ／Ｏアクセス処理にバースト転送を利用することが可能となる。
【００４３】
【発明の効果】
以上説明したように、この発明によれば、システムＢＩＯＳによるＩ／Ｏデバイスのメモリマップやブリッジ装置によるサイクル変換処理等により、ＣＰＵまたは他のバスマスタからＰＣＩバス経由で行われる既存のＩ／ＯマップされたＩ／Ｏデバイスに対するアクセス処理の高速化を実現することができる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同第１実施形態のコンピュータシステムに設けられたシステムＢＩＯＳによるインターフェースを説明するための図。
【図３】この発明の第２の実施形態に係るコンピュータシステムの構成を示すブロック図。
【図４】この発明の第３の実施形態に係るコンピュータシステムの構成を示すブロック図。
【図５】同第３実施形態の他のシステム構成を示すブロック図。
【符号の説明】
１１…ＣＰＵ、１２…システムメモリ、１３…プロセッサバス、１４…メモリバス、１５…ホスト／ＰＣＩブリッジ装置、１６…ＰＣＩバス、１７…ディスプレイコントローラ、１８…ビデオメモリ、２２…ＰＣＩ／ＩＳＡブリッジ装置、２３…ＩＳＡバス、２４…Ｉ／Ｏデバイス、２５…ＢＩＯＳ  ＲＯＭ。
【図１】
0003579149.tif 000002
【図２】
0003579149.tif 000003
【図３】
0003579149.tif 000004
【図４】
0003579149.tif 000005
【図５】
0003579149.tif 000006