JPH11238030A - Pci−pciブリッジおよびそのための先入れ先出しメモリ - Google Patents
Pci−pciブリッジおよびそのための先入れ先出しメモリInfo
- Publication number
- JPH11238030A JPH11238030A JP10038841A JP3884198A JPH11238030A JP H11238030 A JPH11238030 A JP H11238030A JP 10038841 A JP10038841 A JP 10038841A JP 3884198 A JP3884198 A JP 3884198A JP H11238030 A JPH11238030 A JP H11238030A
- Authority
- JP
- Japan
- Prior art keywords
- pci
- bridge
- bus
- pci bus
- primary
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】 既存のBIOSにより確実にサポートされ、
DMAコントローラとLSIコアとを同一チップ上に設
けたカスタム化PCI−PCIブリッジを提供する。 【解決手段】 カスタム化されたPCI−PCIブリッ
ジ40はタイプ「00」ヘッダを用い、ファンクション
番号を用いて2次PCIデバイスを識別しコンフィギュ
レーションを可能にする。演算コア、PCIエージェン
トとともにVGAデバイス54をサポートするために、
起動時と起動後とでメモリマップを切換える。また2つ
のPCIバス20、22が同時に駆動されないようにバ
ス駆動を調停する。
DMAコントローラとLSIコアとを同一チップ上に設
けたカスタム化PCI−PCIブリッジを提供する。 【解決手段】 カスタム化されたPCI−PCIブリッ
ジ40はタイプ「00」ヘッダを用い、ファンクション
番号を用いて2次PCIデバイスを識別しコンフィギュ
レーションを可能にする。演算コア、PCIエージェン
トとともにVGAデバイス54をサポートするために、
起動時と起動後とでメモリマップを切換える。また2つ
のPCIバス20、22が同時に駆動されないようにバ
ス駆動を調停する。
Description
【0001】
【発明の属する技術分野】この発明はプライマリPCI
バスと2次PCIバスとの間のPCI−PCIブリッジ
に関し、特に、既存のBIOSによってサポートされ、
かつVGAデバイスを含む複数のPCIエージェントを
プライマリPCIを介して制御することを可能にするP
CI−PCIブリッジに関する。
バスと2次PCIバスとの間のPCI−PCIブリッジ
に関し、特に、既存のBIOSによってサポートされ、
かつVGAデバイスを含む複数のPCIエージェントを
プライマリPCIを介して制御することを可能にするP
CI−PCIブリッジに関する。
【0002】
【従来の技術】近年、特にパーソナルコンピュータでは
PCI(Peripheral Component Interconnect )バスの
採用が一般的である。PCIは米Intel 社が提唱したバ
ス規格であって、米国の業界団体であるPCI Special In
terest Group(PCI SIG)が仕様を策定し公開し
ている。
PCI(Peripheral Component Interconnect )バスの
採用が一般的である。PCIは米Intel 社が提唱したバ
ス規格であって、米国の業界団体であるPCI Special In
terest Group(PCI SIG)が仕様を策定し公開し
ている。
【0003】PCIバス規格では、PCIのデータ転送
に参加するデバイスのことを「エージェント」と呼ぶ。
PCI規格では、CPUにより実行されるBIOSや、
デバイスドライバ等によりこれらエージェントが制御さ
れる。PCIバス規格では、電源投入時にバスに接続さ
れたデバイスを自動的に感知し、各システムへのメモリ
マップなどシステム環境を整える自動コンフィギュレー
ション機能が提供されている。
に参加するデバイスのことを「エージェント」と呼ぶ。
PCI規格では、CPUにより実行されるBIOSや、
デバイスドライバ等によりこれらエージェントが制御さ
れる。PCIバス規格では、電源投入時にバスに接続さ
れたデバイスを自動的に感知し、各システムへのメモリ
マップなどシステム環境を整える自動コンフィギュレー
ション機能が提供されている。
【0004】一方、近年のパーソナルコンピュータの高
性能化に伴い、従来はワークステーションで行なわれて
いた画像処理のプログラムなどをパーソナルコンピュー
タにより実行させることが多くなってきた。そのため
に、パーソナルコンピュータ内のPCIバスを介してそ
のような特定の演算処理を行なうLSI(半導体集積回
路)をホストCPUに接続することが多くなる。そうし
た場合に、それら集積回路の中に複数個のPCIデバイ
スを実装することが望ましいことがある。そのときに
は、ホストのPCIバスと、付加される装置内のPCI
バスとの間をインターフェイスする必要が生ずる。この
ようにホストCPU内のPCIバスをプライマリPCI
バス、そのPCIバスに接続される回路(アドインボー
ドと呼ばれる)内のPCIバスを2次PCIバスと呼
ぶ。
性能化に伴い、従来はワークステーションで行なわれて
いた画像処理のプログラムなどをパーソナルコンピュー
タにより実行させることが多くなってきた。そのため
に、パーソナルコンピュータ内のPCIバスを介してそ
のような特定の演算処理を行なうLSI(半導体集積回
路)をホストCPUに接続することが多くなる。そうし
た場合に、それら集積回路の中に複数個のPCIデバイ
スを実装することが望ましいことがある。そのときに
は、ホストのPCIバスと、付加される装置内のPCI
バスとの間をインターフェイスする必要が生ずる。この
ようにホストCPU内のPCIバスをプライマリPCI
バス、そのPCIバスに接続される回路(アドインボー
ドと呼ばれる)内のPCIバスを2次PCIバスと呼
ぶ。
【0005】プライマリPCIバスに、2次PCIバス
を接続し、2次PCIバスに複数のPCIエージェント
を接続する場合、ホスト側から各PCIを個別に制御す
る必要が生ずる。そのために、PCI規格ではPCIコ
ンフィギュレーションヘッダと呼ばれるデータを使用す
る。このヘッダにはタイプ「00」と「01」との2種
類がある。タイプ「00」はホストCPUから見て1つ
のPCIエージェントとして認識されるものであり、P
CI−PCIブリッジについてはタイプ「01」ヘッダ
が準備されている。
を接続し、2次PCIバスに複数のPCIエージェント
を接続する場合、ホスト側から各PCIを個別に制御す
る必要が生ずる。そのために、PCI規格ではPCIコ
ンフィギュレーションヘッダと呼ばれるデータを使用す
る。このヘッダにはタイプ「00」と「01」との2種
類がある。タイプ「00」はホストCPUから見て1つ
のPCIエージェントとして認識されるものであり、P
CI−PCIブリッジについてはタイプ「01」ヘッダ
が準備されている。
【0006】
【発明が解決しようとする課題】しかしながら、このタ
イプ「01」によるPCI−PCIブリッジでは、サポ
ートするBIOSが限られていること、DMA(直接メ
モリアクセス)機能を付加することができないこと、2
次PCIバスを持つ装置内にLSIコアを含ませること
ができないこと、など数々の問題がある。そのためたと
えば、1つの半導体集積回路装置内に画像処理のための
種々の回路を組込み、そのうちの1つがPCIエージェ
ントであるような場合には、タイプ「01」ヘッダを使
用する不利益が大きかった。また、プライマリPCIバ
スと2次PCIバスとを介したデータ転送は安定して行
なわれなければならず、しかも高速である必要がある。
この時、一般にプライマリバスと2次バスとでは2次バ
スの方が高速である。そのためこの間のデータ転送には
FIFO(先入れ先出しメモリ)を用いるが、仕様変更
等があるとFIFOの設計変更を行なう必要が生じ、全
体の設計に要する時間が長期化するという問題がある。
イプ「01」によるPCI−PCIブリッジでは、サポ
ートするBIOSが限られていること、DMA(直接メ
モリアクセス)機能を付加することができないこと、2
次PCIバスを持つ装置内にLSIコアを含ませること
ができないこと、など数々の問題がある。そのためたと
えば、1つの半導体集積回路装置内に画像処理のための
種々の回路を組込み、そのうちの1つがPCIエージェ
ントであるような場合には、タイプ「01」ヘッダを使
用する不利益が大きかった。また、プライマリPCIバ
スと2次PCIバスとを介したデータ転送は安定して行
なわれなければならず、しかも高速である必要がある。
この時、一般にプライマリバスと2次バスとでは2次バ
スの方が高速である。そのためこの間のデータ転送には
FIFO(先入れ先出しメモリ)を用いるが、仕様変更
等があるとFIFOの設計変更を行なう必要が生じ、全
体の設計に要する時間が長期化するという問題がある。
【0007】さらにまた、たとえば起動時のトラブルの
表示の際には、VGAデバイスを用いた表示が必要とさ
れるなど、既存のVGAデバイスとの互換性を確保する
ことが有利である。一方で、前述したグラフィック処理
を行なうためのアドインボードを用いて、たとえば起動
時のエラーメッセージの表示などを行なうことも不可能
ではないが、そのための処理は既存のVGAデバイスを
用いた場合と比較して複雑である。したがってVGAデ
バイスも含めて2次PCIバスに接続しておき、必要に
応じてこれらを切換えることができれば好ましい。この
ようなことはタイプ「01」ヘッダのPCI−PCIブ
リッジで行なうことは困難なことであった。
表示の際には、VGAデバイスを用いた表示が必要とさ
れるなど、既存のVGAデバイスとの互換性を確保する
ことが有利である。一方で、前述したグラフィック処理
を行なうためのアドインボードを用いて、たとえば起動
時のエラーメッセージの表示などを行なうことも不可能
ではないが、そのための処理は既存のVGAデバイスを
用いた場合と比較して複雑である。したがってVGAデ
バイスも含めて2次PCIバスに接続しておき、必要に
応じてこれらを切換えることができれば好ましい。この
ようなことはタイプ「01」ヘッダのPCI−PCIブ
リッジで行なうことは困難なことであった。
【0008】それゆえにこの発明の目的は、タイプ「0
1」ヘッダを用いずに、2次PCIバスを持つ半導体集
積回路装置をプライマリPCIバスに接続し、かつ個別
のPCIエージェントを独立に制御できるPCI−PC
Iブリッジを提供することである。
1」ヘッダを用いずに、2次PCIバスを持つ半導体集
積回路装置をプライマリPCIバスに接続し、かつ個別
のPCIエージェントを独立に制御できるPCI−PC
Iブリッジを提供することである。
【0009】この発明の他の目的は、VGAデバイスを
PCIエージェントとともに含んだ、2次PCIバスと
プライマリPCIバスとの間を接続可能なPCI−PC
Iブリッジを提供することである。
PCIエージェントとともに含んだ、2次PCIバスと
プライマリPCIバスとの間を接続可能なPCI−PC
Iブリッジを提供することである。
【0010】この発明の他の目的は、起動時のエラーメ
ッセージの表示を、既存のVGAデバイスを用いて容易
に行なうことができるPCI−PCIブリッジを提供す
ることである。
ッセージの表示を、既存のVGAデバイスを用いて容易
に行なうことができるPCI−PCIブリッジを提供す
ることである。
【0011】この発明のさらに他の目的は、DMA転送
を可能とするPCI−PCIブリッジを提供することで
ある。
を可能とするPCI−PCIブリッジを提供することで
ある。
【0012】この発明のさらに追加の目的は、主記憶
と、2次PCIバス上のPCIエージェントまたは特定
の演算を行なう演算回路との間でのデータ転送を高速で
行なうことができるPCI−PCIブリッジを提供する
ことである。
と、2次PCIバス上のPCIエージェントまたは特定
の演算を行なう演算回路との間でのデータ転送を高速で
行なうことができるPCI−PCIブリッジを提供する
ことである。
【0013】この発明のさらに追加の目的は、PCIブ
リッジで用いられ、PCI−PCIブリッジの設計を容
易にすることができるFIFOを提供することである。
リッジで用いられ、PCI−PCIブリッジの設計を容
易にすることができるFIFOを提供することである。
【0014】
【課題を解決するための手段】請求項1に記載の発明に
かかるPCI−PCIブリッジは、プライマリPCIバ
スと、2次PCIバスとに接続されるPCI−PCIブ
リッジであって、2次PCIバスとプライマリPCIバ
スとを接続し、その間のデータ転送を制御するための接
続手段を含む。接続手段は、タイプ「00」のコンフィ
ギュレーションヘッダを有し、かつコンフィギュレーシ
ョン時に、デバイスドライバからのコンフィギュレーシ
ョンコマンドのファンクション番号フィールドの値に基
づいて、2次PCIバス上の複数個のPCIエージェン
トを識別してコンフィギュレーションを実行させるため
の手段を含む。
かかるPCI−PCIブリッジは、プライマリPCIバ
スと、2次PCIバスとに接続されるPCI−PCIブ
リッジであって、2次PCIバスとプライマリPCIバ
スとを接続し、その間のデータ転送を制御するための接
続手段を含む。接続手段は、タイプ「00」のコンフィ
ギュレーションヘッダを有し、かつコンフィギュレーシ
ョン時に、デバイスドライバからのコンフィギュレーシ
ョンコマンドのファンクション番号フィールドの値に基
づいて、2次PCIバス上の複数個のPCIエージェン
トを識別してコンフィギュレーションを実行させるため
の手段を含む。
【0015】タイプ「00」のヘッダを使用するので、
このPCI−PCIブリッジはBIOSにより確実にサ
ポートされる。また、BIOSからPCI−PCIブリ
ッジとは認識されないが、コンフィギュレーションヘッ
ダのファンクション番号フィールドを用いて、2次PC
Iバス上の複数個のPCIエージェントを識別して個々
にコンフィギュレーションでき、デバイスドライバによ
り2次PCIバス上のエージェントを柔軟に制御するこ
とができる。
このPCI−PCIブリッジはBIOSにより確実にサ
ポートされる。また、BIOSからPCI−PCIブリ
ッジとは認識されないが、コンフィギュレーションヘッ
ダのファンクション番号フィールドを用いて、2次PC
Iバス上の複数個のPCIエージェントを識別して個々
にコンフィギュレーションでき、デバイスドライバによ
り2次PCIバス上のエージェントを柔軟に制御するこ
とができる。
【0016】請求項2に記載の発明にかかるPCI−P
CIブリッジは、請求項1に記載の発明の構成に加え
て、複数個のPCIエージェントは、VGAデバイス
と、他のPCIエージェントとを含む。接続手段は、V
GAデバイスのためのメモリマップのみがアクティブな
第1のモードと、VGA以外のPCIエージェントがア
クティブな第2のモードとの2つのうちの1つを選択し
て動作することが可能である。
CIブリッジは、請求項1に記載の発明の構成に加え
て、複数個のPCIエージェントは、VGAデバイス
と、他のPCIエージェントとを含む。接続手段は、V
GAデバイスのためのメモリマップのみがアクティブな
第1のモードと、VGA以外のPCIエージェントがア
クティブな第2のモードとの2つのうちの1つを選択し
て動作することが可能である。
【0017】VGAデバイスのみが動作可能な第1のモ
ードと、VGA以外のPCIエージェントが動作可能な
第2のモードとを切り換えて使用することができるの
で、VGAを用いる、従来のDOS上で動作するプログ
ラムと、PCIエージェントによる新規な作業とを共に
実行することができる。
ードと、VGA以外のPCIエージェントが動作可能な
第2のモードとを切り換えて使用することができるの
で、VGAを用いる、従来のDOS上で動作するプログ
ラムと、PCIエージェントによる新規な作業とを共に
実行することができる。
【0018】請求項3に記載の発明にかかるPCI−P
CIブリッジは、請求項2に記載の発明の構成に加え
て、接続手段は、起動時には第1のモードで起動し、プ
ライマリPCIバスに接続された処理手段上で動作する
デバイスドライバによって第2のモードに切換えられ
る。
CIブリッジは、請求項2に記載の発明の構成に加え
て、接続手段は、起動時には第1のモードで起動し、プ
ライマリPCIバスに接続された処理手段上で動作する
デバイスドライバによって第2のモードに切換えられ
る。
【0019】起動時にVGAのためのメモリマップのみ
がアクティブな第1のモードで立ち上がるので、たとえ
ばエラーメッセージの表示などをVGAを用いて容易に
行なうことができる。また一旦デバイスドライバが動作
し始めると第2のモードに切換られるので、PCIデバ
イスを用いた処理を円滑に実行開始できる。
がアクティブな第1のモードで立ち上がるので、たとえ
ばエラーメッセージの表示などをVGAを用いて容易に
行なうことができる。また一旦デバイスドライバが動作
し始めると第2のモードに切換られるので、PCIデバ
イスを用いた処理を円滑に実行開始できる。
【0020】請求項4に記載の発明にかかるPCI−P
CIブリッジは、請求項1に記載の発明の構成に加え
て、プライマリPCIバスおよび2次PCIバスとデー
タ転送が可能で、特定の演算処理を行なうための演算手
段をさらに含む。接続手段は、プライマリPCIバスお
よび2次バスと演算手段との間のデータの送受を管理す
る。
CIブリッジは、請求項1に記載の発明の構成に加え
て、プライマリPCIバスおよび2次PCIバスとデー
タ転送が可能で、特定の演算処理を行なうための演算手
段をさらに含む。接続手段は、プライマリPCIバスお
よび2次バスと演算手段との間のデータの送受を管理す
る。
【0021】演算手段をPCI−PCIブリッジ上に含
むことにより、ホストCPUに対して強力なサービスを
提供できる。特に、グラフィック処理のように計算量が
多い場合、そのための専用の演算手段を設けることでホ
ストCPUの負荷を減じることができる。
むことにより、ホストCPUに対して強力なサービスを
提供できる。特に、グラフィック処理のように計算量が
多い場合、そのための専用の演算手段を設けることでホ
ストCPUの負荷を減じることができる。
【0022】請求項5に記載の発明にかかるPCI−P
CIブリッジは、請求項1〜4のいずれかに記載の発明
の構成に加えて、デバイスドライバによって主記憶から
の直接データ転送がトリガされたことに応答して、以後
の指定されたデータ転送をデバイスドライバの介在なく
行ない、かつ転送されるべきデータブロックの末尾に付
されたリンクリストに応答して、リンクリストにより新
たに定められるデータ転送をデバイスドライバの介在な
く行なうためのオンザフライ直接データ転送手段をさら
に含む。
CIブリッジは、請求項1〜4のいずれかに記載の発明
の構成に加えて、デバイスドライバによって主記憶から
の直接データ転送がトリガされたことに応答して、以後
の指定されたデータ転送をデバイスドライバの介在なく
行ない、かつ転送されるべきデータブロックの末尾に付
されたリンクリストに応答して、リンクリストにより新
たに定められるデータ転送をデバイスドライバの介在な
く行なうためのオンザフライ直接データ転送手段をさら
に含む。
【0023】最初のDMA転送のセットアップさえ終わ
れば、以後はオンザフライでDMA転送のコンフィギュ
レーションが行なわれ、次のDMA転送が自動的に行な
われるので、主記憶から他へのデータ転送において、ホ
スト(デバイスドライバ)のオーバヘッドが少なく、効
率的なデータ転送を行なうことができる。
れば、以後はオンザフライでDMA転送のコンフィギュ
レーションが行なわれ、次のDMA転送が自動的に行な
われるので、主記憶から他へのデータ転送において、ホ
スト(デバイスドライバ)のオーバヘッドが少なく、効
率的なデータ転送を行なうことができる。
【0024】請求項6に記載の発明にかかるPCI−P
CIブリッジは、請求項5に記載の発明の構成に加え
て、接続手段は、プライマリPCIバス上のPCIエー
ジェントおよび2次PCIバス上のエージェントからの
バス要求に応答し、プライマリPCIバスと2次PCI
バスとの双方が同時に駆動されないよう、プライマリP
CIバスと2次PCIバスとの駆動許可を調停制御する
ための状態機械を含む。
CIブリッジは、請求項5に記載の発明の構成に加え
て、接続手段は、プライマリPCIバス上のPCIエー
ジェントおよび2次PCIバス上のエージェントからの
バス要求に応答し、プライマリPCIバスと2次PCI
バスとの双方が同時に駆動されないよう、プライマリP
CIバスと2次PCIバスとの駆動許可を調停制御する
ための状態機械を含む。
【0025】プライマリPCIバスと2次PCIバスと
が同時にスイッチすると、それらによるPCI−PCI
ブリッジの動作電圧の変動によって、PCI−PCIブ
リッッジが誤動作をする危険がある。しかし、状態機械
によってこれら二つのバスが同時には駆動されないよう
にバスの駆動許可を調停するので、こうしたおそれは少
なくなる。
が同時にスイッチすると、それらによるPCI−PCI
ブリッジの動作電圧の変動によって、PCI−PCIブ
リッッジが誤動作をする危険がある。しかし、状態機械
によってこれら二つのバスが同時には駆動されないよう
にバスの駆動許可を調停するので、こうしたおそれは少
なくなる。
【0026】請求項7に記載の発明にかかるPCI−P
CIブリッジは、請求項6に記載の発明の構成に加え
て、状態機械が、2次PCIバスと同じクロックドメイ
ンで動作する。
CIブリッジは、請求項6に記載の発明の構成に加え
て、状態機械が、2次PCIバスと同じクロックドメイ
ンで動作する。
【0027】2次PCIバスに対するデータ転送が主に
行なわれる場合、SSOが2次PCIバスと同じクロッ
クドメインで動作すると、そうでない場合と比較して効
率的なデータ転送が可能になる。
行なわれる場合、SSOが2次PCIバスと同じクロッ
クドメインで動作すると、そうでない場合と比較して効
率的なデータ転送が可能になる。
【0028】請求項8に記載の発明にかかるPCI−P
CIブリッジは、請求項6または7に記載の発明の構成
に加えて、状態機械は、所定量のデータ転送が終了する
ごとに状態を遷移すべきか否かを判定し、判定結果に従
って状態を遷移させる。
CIブリッジは、請求項6または7に記載の発明の構成
に加えて、状態機械は、所定量のデータ転送が終了する
ごとに状態を遷移すべきか否かを判定し、判定結果に従
って状態を遷移させる。
【0029】全てのデータソースからのデータ転送が公
平に行なわれるために、状態機械による状態遷移を、一
定の期間ごとに行なわせるようにすることが望ましい。
一定期間ごとに状態機械の状態が遷移することにより、
全てのデータソースからのデータ転送が同様の効率で行
なわれる。
平に行なわれるために、状態機械による状態遷移を、一
定の期間ごとに行なわせるようにすることが望ましい。
一定期間ごとに状態機械の状態が遷移することにより、
全てのデータソースからのデータ転送が同様の効率で行
なわれる。
【0030】請求項9に記載の発明にかかるPCI−P
CIブリッジは、請求項8に記載の発明の構成に加え
て、状態機械は、特定の状態にあるときは、状態を遷移
すべきか否かの判定までに転送されるデータ量を、他の
状態にあるときよりも多く設定することが可能である。
CIブリッジは、請求項8に記載の発明の構成に加え
て、状態機械は、特定の状態にあるときは、状態を遷移
すべきか否かの判定までに転送されるデータ量を、他の
状態にあるときよりも多く設定することが可能である。
【0031】ある種のデータ転送では、何回かに分けて
データ転送を行なうと、たとえば同期ペナルティにより
データ転送の効率が低下する。これは、装置全体のパフ
ォーマンスの低下をもたらす。そのため、このようなデ
ータ転送では、状態機械の状態が遷移するまでに行なえ
るデータ転送の量を、他の場合と比較して多くする。こ
うすることでデータ転送を分けるときのパフォーマンス
の低下を避けることができ、装置全体のパフォーマンス
が向上する。
データ転送を行なうと、たとえば同期ペナルティにより
データ転送の効率が低下する。これは、装置全体のパフ
ォーマンスの低下をもたらす。そのため、このようなデ
ータ転送では、状態機械の状態が遷移するまでに行なえ
るデータ転送の量を、他の場合と比較して多くする。こ
うすることでデータ転送を分けるときのパフォーマンス
の低下を避けることができ、装置全体のパフォーマンス
が向上する。
【0032】請求項10に記載の発明にかかるPCI−
PCIブリッジは、請求項5〜9のいずれかに記載の発
明の構成に加えて、オンザフライ直接データ転送手段
が、自己によるデータ転送の持続期間を制御するように
状態機械を設定可能である。
PCIブリッジは、請求項5〜9のいずれかに記載の発
明の構成に加えて、オンザフライ直接データ転送手段
が、自己によるデータ転送の持続期間を制御するように
状態機械を設定可能である。
【0033】オンザフライ直接データ転送手段によるデ
ータ転送も、分割することにより効率が低下することが
ある。そこで、たとえば転送データ量が多い場合にはデ
ータ転送の持続期間を長く、そうでない場合には比較的
短く設定できるように状態の遷移を柔軟に制御できるよ
うにすることで、装置全体としてのパフォーマンスが向
上する。
ータ転送も、分割することにより効率が低下することが
ある。そこで、たとえば転送データ量が多い場合にはデ
ータ転送の持続期間を長く、そうでない場合には比較的
短く設定できるように状態の遷移を柔軟に制御できるよ
うにすることで、装置全体としてのパフォーマンスが向
上する。
【0034】請求項11に記載の発明にかかる先入れ先
出しメモリは、異なるクロック周波数で動作する要素間
でのデータの転送をインターフェイスする先入れ先出し
メモリであって、書込ポートのための書込状態機械と、
読出ポートのための読出状態機械と、書込状態機械と読
出状態機械との間に並列に配置された複数個のメモリバ
ンクとを含む。
出しメモリは、異なるクロック周波数で動作する要素間
でのデータの転送をインターフェイスする先入れ先出し
メモリであって、書込ポートのための書込状態機械と、
読出ポートのための読出状態機械と、書込状態機械と読
出状態機械との間に並列に配置された複数個のメモリバ
ンクとを含む。
【0035】書込状態機械と、読出状態機械との間に並
列に配置するメモリバンクの数によって、先入れ先出し
メモリの大きさを容易に変更できる。先入れ先出しメモ
リをこのように構成することで、たとえばハードウェア
記述言語などによる設計では、先入れ先出しメモリの大
きさを、配置されるメモリバンクの数という一つのパラ
メータに還元することができる。そのため仕様変更や、
突然の設計変更があっても容易に先入れ先出しメモリの
設計を修正することができ、装置の開発期間を短くする
ことができる。
列に配置するメモリバンクの数によって、先入れ先出し
メモリの大きさを容易に変更できる。先入れ先出しメモ
リをこのように構成することで、たとえばハードウェア
記述言語などによる設計では、先入れ先出しメモリの大
きさを、配置されるメモリバンクの数という一つのパラ
メータに還元することができる。そのため仕様変更や、
突然の設計変更があっても容易に先入れ先出しメモリの
設計を修正することができ、装置の開発期間を短くする
ことができる。
【0036】請求項12に記載の発明にかかるPCI−
PCIブリッジは、請求項11に記載のFIFOを用い
た、請求項5〜9のいずれかに記載のPCI−PCIブ
リッジである。
PCIブリッジは、請求項11に記載のFIFOを用い
た、請求項5〜9のいずれかに記載のPCI−PCIブ
リッジである。
【0037】このPCI−PCIブリッジでは、データ
転送を高速に、効率よく行なえる上、データの転送の際
に用いられる先入れ先出しメモリの大きさを容易に変更
できるため、仕様変更や、突然の設計変更があってもP
CI−PCIブリッジの設計を簡単に修正することがで
き、装置の開発期間を短くすることができる。
転送を高速に、効率よく行なえる上、データの転送の際
に用いられる先入れ先出しメモリの大きさを容易に変更
できるため、仕様変更や、突然の設計変更があってもP
CI−PCIブリッジの設計を簡単に修正することがで
き、装置の開発期間を短くすることができる。
【0038】
【発明の実施の形態】以下、グラフィックプロセッサに
組み込まれたPCI−PCIブリッジを使いアドインボ
ードとして実現した実施の形態について説明する。
組み込まれたPCI−PCIブリッジを使いアドインボ
ードとして実現した実施の形態について説明する。
【0039】[全体構成]図1を参照して、この発明に
係るPCI−PCIブリッジの一実施の形態に係るPC
I−PCIブリッジ40は、アドインボード24上に実
装され、プライマリPCIバス20に接続されている。
プライマリPCIバス20にはマザーボード22が接続
されている。このマザーボード22上のプロセッサ32
で実行されるBIOSやデバイスドライバなどによって
アドインボード24上の各回路が制御される。
係るPCI−PCIブリッジの一実施の形態に係るPC
I−PCIブリッジ40は、アドインボード24上に実
装され、プライマリPCIバス20に接続されている。
プライマリPCIバス20にはマザーボード22が接続
されている。このマザーボード22上のプロセッサ32
で実行されるBIOSやデバイスドライバなどによって
アドインボード24上の各回路が制御される。
【0040】マザーボード22は、プロセッサ32、キ
ャッシュ34、メモリ38、ならびにプロセッサ32、
メモリ38およびプライマリPCIバス20の間のデー
タ転送を制御するチップセット36を含む。
ャッシュ34、メモリ38、ならびにプロセッサ32、
メモリ38およびプライマリPCIバス20の間のデー
タ転送を制御するチップセット36を含む。
【0041】アドインボード24は、PCI−PCTブ
リッジ40によってプライマリPCIバス20と接続さ
れる2次PCIバス46と、2次PCIバス46にそれ
ぞれ接続されたグラフィックレンダリングのためのRC
(レンダリングコントローラ)48、2種類のデバイス
50および52、およびVGAデバイス54とを含んで
いる。PCI−PCIブリッジ40は、画像処理のうち
幾何学的演算を行なうためのGE(Geometric Engine)
コア44と、プライマリPCIバス20、2次PCIバ
ス46およびGEコア44の間のデータ転送をインター
フェイスするためのブリッジ部42とを含む。なお、P
CIデバイスの構成例がこの実施の形態の装置で示した
ものに限定されないのはもちろんである。
リッジ40によってプライマリPCIバス20と接続さ
れる2次PCIバス46と、2次PCIバス46にそれ
ぞれ接続されたグラフィックレンダリングのためのRC
(レンダリングコントローラ)48、2種類のデバイス
50および52、およびVGAデバイス54とを含んで
いる。PCI−PCIブリッジ40は、画像処理のうち
幾何学的演算を行なうためのGE(Geometric Engine)
コア44と、プライマリPCIバス20、2次PCIバ
ス46およびGEコア44の間のデータ転送をインター
フェイスするためのブリッジ部42とを含む。なお、P
CIデバイスの構成例がこの実施の形態の装置で示した
ものに限定されないのはもちろんである。
【0042】図2を参照して、PCI−PCIブリッジ
40をさらに詳細に説明すると、PCI−PCIブリッ
ジ40はブリッジ部42とGEコア44との間のコアI
/O66と、ブリッジ部42とプライマリPCIバス2
0との間のプライマリI/O62と、ブリッジ部42と
2次PCIバス46との間の2次I/O64とを含んで
いる。GEコア44により、画像処理の強力なサポート
が得られ、プロセッサ32の負荷が軽減される。
40をさらに詳細に説明すると、PCI−PCIブリッ
ジ40はブリッジ部42とGEコア44との間のコアI
/O66と、ブリッジ部42とプライマリPCIバス2
0との間のプライマリI/O62と、ブリッジ部42と
2次PCIバス46との間の2次I/O64とを含んで
いる。GEコア44により、画像処理の強力なサポート
が得られ、プロセッサ32の負荷が軽減される。
【0043】プライマリI/O62は、ターゲットFS
M(有限状態機械)72およびマスタFSM74を含
む。また2次I/O64は2次PCIバス46との間の
入出力を制御するマスタFSM76を含む。2次I/O
64は、後述するようにプライマリPCIバス20と2
次PCIバス46との動作を制御する状態機械である図
示しないSSO(Simultaneous Switching Outputs)を
含んでいる。
M(有限状態機械)72およびマスタFSM74を含
む。また2次I/O64は2次PCIバス46との間の
入出力を制御するマスタFSM76を含む。2次I/O
64は、後述するようにプライマリPCIバス20と2
次PCIバス46との動作を制御する状態機械である図
示しないSSO(Simultaneous Switching Outputs)を
含んでいる。
【0044】ブリッジ部42は、プライマリI/O62
と2次I/O64の間のFIFO80と、それぞれプラ
イマリI/O62とGEコア44との間、2次I/O6
4とGEコア44との間に設けられたFIFO84およ
び86とを含んでいる。
と2次I/O64の間のFIFO80と、それぞれプラ
イマリI/O62とGEコア44との間、2次I/O6
4とGEコア44との間に設けられたFIFO84およ
び86とを含んでいる。
【0045】この実施の形態のアドインボード24で
は、PCIバス規格のコンフィギュレーション領域ヘッ
ダのうち、タイプ「00」ヘッダを用いており、全ての
BIOSで確実にサポートされる。この場合タイプ「0
1」コンフィギュレーション領域による時のようなPC
I−PCIブリッジのためのBIOSによるサポートが
ないため、以下に述べるように本実施の形態では特別な
方法を用いている。
は、PCIバス規格のコンフィギュレーション領域ヘッ
ダのうち、タイプ「00」ヘッダを用いており、全ての
BIOSで確実にサポートされる。この場合タイプ「0
1」コンフィギュレーション領域による時のようなPC
I−PCIブリッジのためのBIOSによるサポートが
ないため、以下に述べるように本実施の形態では特別な
方法を用いている。
【0046】タイプ「00」ヘッダを用いているので、
アドインボード24内のコンフィギュレーション領域
は、このブリッジのチップを表わしているだけである。
その中に含まれる各PCIエージェントなどはプロセッ
サ32で実行されるBIOSから見ることはできない。
したがって起動時にBIOSの一部でありコンフィギュ
レーションのための情報を取得するPOSTルーチン実
行時に、アドインボード24内の各PCIエージェント
やVGAなどはメモリ空間をBIOSに対して要求する
ことができない。したがってこの実施の形態のアドイン
ボード24では、PCI−PCIブリッジ40がそれら
PCIエージェントなどに代わってメモリ領域を要求す
る。ここでこの実施の形態のアドインボード24ではV
GAデバイス54が備えられているため、起動時にはこ
れ以外にメモリ領域の管理について問題があるが、それ
については後述する。
アドインボード24内のコンフィギュレーション領域
は、このブリッジのチップを表わしているだけである。
その中に含まれる各PCIエージェントなどはプロセッ
サ32で実行されるBIOSから見ることはできない。
したがって起動時にBIOSの一部でありコンフィギュ
レーションのための情報を取得するPOSTルーチン実
行時に、アドインボード24内の各PCIエージェント
やVGAなどはメモリ空間をBIOSに対して要求する
ことができない。したがってこの実施の形態のアドイン
ボード24では、PCI−PCIブリッジ40がそれら
PCIエージェントなどに代わってメモリ領域を要求す
る。ここでこの実施の形態のアドインボード24ではV
GAデバイス54が備えられているため、起動時にはこ
れ以外にメモリ領域の管理について問題があるが、それ
については後述する。
【0047】一意のIDを与えるIDレジスタ(ベンダ
/デバイスおよびリビジョンIDなど)以外のすべての
レジスタは、プライマリPCIバスを介してアドインボ
ード24がどのように見えるかを表わしている。たとえ
ばレジスタ04hのステータス/コマンドビットはプラ
イマリPCIバス上でのアドインボードの動作を決定す
る。ブリッジ内のコンフィギュレーション領域のレジス
タ04hのビット[1]によってメモリサイクルがディ
スエーブルされている場合、コンフィギュレーションの
設定によればメモリサイクルを得ることができるような
場合であっても、2次PCIバス上のデバイスにはデー
タは転送されない。
/デバイスおよびリビジョンIDなど)以外のすべての
レジスタは、プライマリPCIバスを介してアドインボ
ード24がどのように見えるかを表わしている。たとえ
ばレジスタ04hのステータス/コマンドビットはプラ
イマリPCIバス上でのアドインボードの動作を決定す
る。ブリッジ内のコンフィギュレーション領域のレジス
タ04hのビット[1]によってメモリサイクルがディ
スエーブルされている場合、コンフィギュレーションの
設定によればメモリサイクルを得ることができるような
場合であっても、2次PCIバス上のデバイスにはデー
タは転送されない。
【0048】初期化/リセット直後にはアドインボード
はディスエーブル状態である。POSTルーチンの間
に、BIOSによってブリッジ自体に対しメモリ空間が
割当てられる。このときの割当てはブリッジのコンフィ
ギュレーション領域のレジスタ10hの値を参照して行
なわれる。このメモリ空間の割当て要求はアドインボー
ドを代表してPCI−PCIブリッジ40が行なうもの
である。BIOSはこの空間をPCI−PCIブリッジ
40に対して割当てるが、この領域内をどのように区分
するかについては関与しない。領域をどのように分割す
るかは、PCI−PCIブリッジ40とプロセッサ32
上で動作する、デバイスドライバとによってのみ決定さ
れる。
はディスエーブル状態である。POSTルーチンの間
に、BIOSによってブリッジ自体に対しメモリ空間が
割当てられる。このときの割当てはブリッジのコンフィ
ギュレーション領域のレジスタ10hの値を参照して行
なわれる。このメモリ空間の割当て要求はアドインボー
ドを代表してPCI−PCIブリッジ40が行なうもの
である。BIOSはこの空間をPCI−PCIブリッジ
40に対して割当てるが、この領域内をどのように区分
するかについては関与しない。領域をどのように分割す
るかは、PCI−PCIブリッジ40とプロセッサ32
上で動作する、デバイスドライバとによってのみ決定さ
れる。
【0049】この実施の形態のPCI−PCIブリッジ
ではタイプ「01」ヘッダを使用していないので、BI
OSは2次PCIバスの存在を関知しない。したがって
この場合、BIOSに代わってデバイスドライバが2次
PCIバス上のデバイスを初期化し、コンフィギュアし
なければならない。その作業として第1に挙げられるの
は、ベースアドレスレジスタ(BAR)の設定である。
これは、各デバイスに割当てられるメモリ空間のオフセ
ットを表わす。各デバイスへのメモリ空間がそれらに対
して割当てられているわけではないので、「メモリ読出
/書込」コマンドを用いてはこれらにアクセスすること
ができない。しかしデバイスドライバは、特別な「コン
フィギュレーション読出/書込」コマンド(以下に説明
する)を用いてこれらデバイスのコンフィギュレーショ
ン領域にアクセスすることができる。
ではタイプ「01」ヘッダを使用していないので、BI
OSは2次PCIバスの存在を関知しない。したがって
この場合、BIOSに代わってデバイスドライバが2次
PCIバス上のデバイスを初期化し、コンフィギュアし
なければならない。その作業として第1に挙げられるの
は、ベースアドレスレジスタ(BAR)の設定である。
これは、各デバイスに割当てられるメモリ空間のオフセ
ットを表わす。各デバイスへのメモリ空間がそれらに対
して割当てられているわけではないので、「メモリ読出
/書込」コマンドを用いてはこれらにアクセスすること
ができない。しかしデバイスドライバは、特別な「コン
フィギュレーション読出/書込」コマンド(以下に説明
する)を用いてこれらデバイスのコンフィギュレーショ
ン領域にアクセスすることができる。
【0050】ブリッジのコンフィギュレーション領域の
レジスタ10h内にBIOSが書込んだこの値に基づい
て、デバイスドライバがメモリマップに従い2次PCI
バスに接続されているデバイスのベースアドレスを割当
てる。したがってデバイスドライバは、2次PCIバス
上の各デバイスのコンフィギュレーション領域のレジス
タ10hにそれぞれ対応の値を書込まなければならな
い。
レジスタ10h内にBIOSが書込んだこの値に基づい
て、デバイスドライバがメモリマップに従い2次PCI
バスに接続されているデバイスのベースアドレスを割当
てる。したがってデバイスドライバは、2次PCIバス
上の各デバイスのコンフィギュレーション領域のレジス
タ10hにそれぞれ対応の値を書込まなければならな
い。
【0051】PCI仕様書(リビジョン2.1)に記載
されているコンフィギュレーション機構♯1は、ホスト
ブリッジを介してコンフィギュレーションサイクルを生
成するために2つのDWord(DWordとは2つの
16ビットワードを指す)I/Oロケーションを用い
る。1番目のDWordロケーション(CF8h)は
「CONFIG_ADDRESS」と呼ばれるR/Wレ
ジスタを指す。このレジスタ90のフォーマットを図3
に示す。
されているコンフィギュレーション機構♯1は、ホスト
ブリッジを介してコンフィギュレーションサイクルを生
成するために2つのDWord(DWordとは2つの
16ビットワードを指す)I/Oロケーションを用い
る。1番目のDWordロケーション(CF8h)は
「CONFIG_ADDRESS」と呼ばれるR/Wレ
ジスタを指す。このレジスタ90のフォーマットを図3
に示す。
【0052】図3を参照してこのレジスタ90は、ター
ゲットのコンフィギュレーション領域のレジスタ番号
(ビット[7:2])およびファンクション番号(ビッ
ト[10:8])を含んでいる。タイプ「00」ヘッダ
を用いているため、このブリッジはマルチファンクショ
ンのデバイスとはみなされておらず、ファンクション番
号の3ビットはBIOSによっては使用されない。その
ためデバイスドライバはこの3ビットを自由に使用する
ことができる。この3ビットを用いてターゲットのコン
フィギュレーション領域を決定するが、その態様を図4
に表形式で示す。
ゲットのコンフィギュレーション領域のレジスタ番号
(ビット[7:2])およびファンクション番号(ビッ
ト[10:8])を含んでいる。タイプ「00」ヘッダ
を用いているため、このブリッジはマルチファンクショ
ンのデバイスとはみなされておらず、ファンクション番
号の3ビットはBIOSによっては使用されない。その
ためデバイスドライバはこの3ビットを自由に使用する
ことができる。この3ビットを用いてターゲットのコン
フィギュレーション領域を決定するが、その態様を図4
に表形式で示す。
【0053】図4において「AD」はアドレス・デバイ
スバス上のデータを指す。「Destination 」は宛先を指
す。また図4の最も右側の欄は、この宛先に対応するタ
ーゲットとなるデバイス例を示す。図4に示す例のう
ち、VGAデバイスが存在する場合には必ずこのファン
クション番号が割当てられる。しかしそれ以外のデバイ
スに対する経路制御はシステム設計により任意に定めら
れる。
スバス上のデータを指す。「Destination 」は宛先を指
す。また図4の最も右側の欄は、この宛先に対応するタ
ーゲットとなるデバイス例を示す。図4に示す例のう
ち、VGAデバイスが存在する場合には必ずこのファン
クション番号が割当てられる。しかしそれ以外のデバイ
スに対する経路制御はシステム設計により任意に定めら
れる。
【0054】ブリッジのコンフィギュレーション領域は
ファンクション番号を000b(または暗黙値である1
01b、110b、111b)に設定することにより直
接にかつレイテンシなくアクセスすることができる。た
とえばデバイス1(Dev_1)をアクセスする場合に
はファンクション番号は001bに設定しなければなら
ない。プライマリPCIバス上においてブリッジにより
コンフィギュレーションサイクルが生成され取得され
る。なぜならばこのとき′IDSEL′が活性化される
ためである。
ファンクション番号を000b(または暗黙値である1
01b、110b、111b)に設定することにより直
接にかつレイテンシなくアクセスすることができる。た
とえばデバイス1(Dev_1)をアクセスする場合に
はファンクション番号は001bに設定しなければなら
ない。プライマリPCIバス上においてブリッジにより
コンフィギュレーションサイクルが生成され取得され
る。なぜならばこのとき′IDSEL′が活性化される
ためである。
【0055】この信号はいわゆるチップセレクト信号に
相当するものであって、コンフィギュレーションを行な
うデバイスを選択するためのものである。このアドレス
は、ブリッジ部42内のプライマリFSM(Finite Sta
te Machine: 有限状態マシン)により分析される。ファ
ンクション番号ビットに「100b」があった場合ブリ
ッジ内の′Bridge Data Path′(図2においてプライマ
リI/O62と2次I/O64とを結んでいる)を使用
してこのサイクルがPCI−PCIブリッジ内の2次F
SMに伝搬される。図4の表に従って、対応する′S_
A_D′(2次アドレス・データ)ラインが活性化さ
れ、2次PCIバス上にこの伝搬されたコンフィギュレ
ーションサイクルが生成される。この場合ファンクショ
ン番号は000bにリセットされる。
相当するものであって、コンフィギュレーションを行な
うデバイスを選択するためのものである。このアドレス
は、ブリッジ部42内のプライマリFSM(Finite Sta
te Machine: 有限状態マシン)により分析される。ファ
ンクション番号ビットに「100b」があった場合ブリ
ッジ内の′Bridge Data Path′(図2においてプライマ
リI/O62と2次I/O64とを結んでいる)を使用
してこのサイクルがPCI−PCIブリッジ内の2次F
SMに伝搬される。図4の表に従って、対応する′S_
A_D′(2次アドレス・データ)ラインが活性化さ
れ、2次PCIバス上にこの伝搬されたコンフィギュレ
ーションサイクルが生成される。この場合ファンクショ
ン番号は000bにリセットされる。
【0056】[VGA]VGAはDOS互換の、固定さ
れたメモリ領域(A0000−BFFFFh)と、固定
されたI/Oポート群(3B0−3BB、3C0−3D
Fh)とを有している。しかしPCIバス上のVGAデ
バイスはまた、メモリおよびI/O領域に関しリロケー
ト可能となっている。
れたメモリ領域(A0000−BFFFFh)と、固定
されたI/Oポート群(3B0−3BB、3C0−3D
Fh)とを有している。しかしPCIバス上のVGAデ
バイスはまた、メモリおよびI/O領域に関しリロケー
ト可能となっている。
【0057】システム内に複数のVGAデバイスが存在
する場合、それらVGAデバイスは同一のメモリおよび
I/O領域を共有することができない。そのためBIO
SはこれらVGAデバイスをイネーブルする前に必要に
応じて各メモリ領域をリロケートする。すべてのPCI
デバイスはコンフリクトを避けるために、POSTルー
チンが終了するまでは、起動時にはメモリおよびI/O
領域をディスエーブルさせておく必要がある。
する場合、それらVGAデバイスは同一のメモリおよび
I/O領域を共有することができない。そのためBIO
SはこれらVGAデバイスをイネーブルする前に必要に
応じて各メモリ領域をリロケートする。すべてのPCI
デバイスはコンフリクトを避けるために、POSTルー
チンが終了するまでは、起動時にはメモリおよびI/O
領域をディスエーブルさせておく必要がある。
【0058】本実施の形態のPCI−PCIブリッジは
DOS互換のメモリ領域とリロケートされたメモリ領域
との双方をサポートしている。しかしここでサポートさ
れているのは、下位64KBおよび特定のアドレス内で
のDOS互換のデフォルトのI/O領域とそのリロケー
トされたものだけである。
DOS互換のメモリ領域とリロケートされたメモリ領域
との双方をサポートしている。しかしここでサポートさ
れているのは、下位64KBおよび特定のアドレス内で
のDOS互換のデフォルトのI/O領域とそのリロケー
トされたものだけである。
【0059】このPCI−PCIブリッジではタイプ
「00」ヘッダを用いている。そのため2次PCIバス
上のデバイスはBIOSから見ることができない。2次
PCIバス上にVGAデバイスが存在している場合、し
たがってPOSTルーチン実行時にBIOSに対してV
GAデバイスが存在していることを示さなければならな
い。
「00」ヘッダを用いている。そのため2次PCIバス
上のデバイスはBIOSから見ることができない。2次
PCIバス上にVGAデバイスが存在している場合、し
たがってPOSTルーチン実行時にBIOSに対してV
GAデバイスが存在していることを示さなければならな
い。
【0060】ここでこの実施の形態のPCI−PCIブ
リッジは、2次PCIバス上にVGAデバイスが存在し
ているかどうかを予め知っておく必要がある。この情報
は、たとえば図5に示されるように或る特定のピンに対
して与えられるストラップ信号により設定される。この
信号はたとえばディップスイッチのようなもので与えら
れるものであって、2次PCIブリッジに接続されるデ
バイスがVGAデバイスを含むか否かに従って1回だけ
設定されるものである。図5に示す例では、このピンに
与えられる信号が0bである場合にはVGAデバイスが
存在していないことを、1bである場合にはVGAデバ
イスが存在していることを、それぞれ示す。
リッジは、2次PCIバス上にVGAデバイスが存在し
ているかどうかを予め知っておく必要がある。この情報
は、たとえば図5に示されるように或る特定のピンに対
して与えられるストラップ信号により設定される。この
信号はたとえばディップスイッチのようなもので与えら
れるものであって、2次PCIブリッジに接続されるデ
バイスがVGAデバイスを含むか否かに従って1回だけ
設定されるものである。図5に示す例では、このピンに
与えられる信号が0bである場合にはVGAデバイスが
存在していないことを、1bである場合にはVGAデバ
イスが存在していることを、それぞれ示す。
【0061】このストラップ信号の値が「オン」である
場合、すなわちピン上の値が1bである場合には、コン
フィギュレーション領域内のVGAに関するレジスタに
ついては、PCI−PCIブリッジによってシャドーさ
れなければならない。この場合の「シャドー」とは、簡
単に言えば複製を保持しておくということである。すな
わちこの場合、デフォルトのレジスタに加えてVGAに
関するアクセス専用のレジスタもPCI−PCIブリッ
ジ内に用意されることになる。ストラップ信号の値に応
じて、PCI−PCIブリッジのコンフィギュレーショ
ン領域に対する読出/書込アクセスに対し、デフォルト
のレジスタとVGA専用レジスタとのいずれかが選択さ
れる。
場合、すなわちピン上の値が1bである場合には、コン
フィギュレーション領域内のVGAに関するレジスタに
ついては、PCI−PCIブリッジによってシャドーさ
れなければならない。この場合の「シャドー」とは、簡
単に言えば複製を保持しておくということである。すな
わちこの場合、デフォルトのレジスタに加えてVGAに
関するアクセス専用のレジスタもPCI−PCIブリッ
ジ内に用意されることになる。ストラップ信号の値に応
じて、PCI−PCIブリッジのコンフィギュレーショ
ン領域に対する読出/書込アクセスに対し、デフォルト
のレジスタとVGA専用レジスタとのいずれかが選択さ
れる。
【0062】シャドーされるレジスタとしてはコマンド
レジスタ[04h]、アドインボードメモリベースアド
レスレジスタ[10h]、および拡張ROMベースアド
レスレジスタ[30h]がある。
レジスタ[04h]、アドインボードメモリベースアド
レスレジスタ[10h]、および拡張ROMベースアド
レスレジスタ[30h]がある。
【0063】図6を参照して、PCI−PCIブリッジ
40内には、VGAデバイス54のレジスタ04hのコ
ピーが保持されている。ストラップ信号がオンのとき、
コンフィギュレーション読出アクセスのときには図6に
示されるようにVGAデバイス54のレジスタ04hか
らでなく、PCI−PCIブリッジ40のレジスタ04
hに対応する複製からその値が読出される。また書込の
ときには、図7に示されるようにPCI−PCIブリッ
ジ40の複製レジスタに書込が行なわれるとともに、P
CI−PCIブリッジ40内でこのサイクルに対するマ
スクが行なわれ、2次PCIバス46を介してVGAデ
バイス54のコンフィギュレーション領域内のレジスタ
04hに対して書込が行なわれる。
40内には、VGAデバイス54のレジスタ04hのコ
ピーが保持されている。ストラップ信号がオンのとき、
コンフィギュレーション読出アクセスのときには図6に
示されるようにVGAデバイス54のレジスタ04hか
らでなく、PCI−PCIブリッジ40のレジスタ04
hに対応する複製からその値が読出される。また書込の
ときには、図7に示されるようにPCI−PCIブリッ
ジ40の複製レジスタに書込が行なわれるとともに、P
CI−PCIブリッジ40内でこのサイクルに対するマ
スクが行なわれ、2次PCIバス46を介してVGAデ
バイス54のコンフィギュレーション領域内のレジスタ
04hに対して書込が行なわれる。
【0064】したがって、VGAデバイスのコンフィギ
ュレーション領域のうちの主要なレジスタについては、
POSTの間に必要に応じて初期化が行なわれることに
なる。BIOSはコマンドレジスタ内の対応ビットをセ
ットすることによってメモリおよびI/O領域をイネー
ブルし、この情報はVGAデバイスにも与えられ、した
がってVGAデバイスの初期化/コンフィギュレーショ
ンが実行されることになる。
ュレーション領域のうちの主要なレジスタについては、
POSTの間に必要に応じて初期化が行なわれることに
なる。BIOSはコマンドレジスタ内の対応ビットをセ
ットすることによってメモリおよびI/O領域をイネー
ブルし、この情報はVGAデバイスにも与えられ、した
がってVGAデバイスの初期化/コンフィギュレーショ
ンが実行されることになる。
【0065】ここで、注意しなければならないのは、V
GAデバイスに関するコンフィギュレーションサイクル
を2次PCIバス上のVGAデバイスに与える場合種々
の制約があるということである。たとえばこのPCI−
PCIブリッジはVGAデバイスについてのDAC(デ
ィジタル/アナログ変換)パレットのスヌープをサポー
トしていない。したがってPCI−PCIブリッジのコ
ンフィギュレーション領域のビット[5]は「0」に結
線され書込可能ではない。仮にコンフィギュレーション
サイクルを完全な形で2次PCIバスに伝搬した場合、
VGAデバイスのコンフィギュレーション領域のレジス
タ04hに誤って書込されることがあり、2次PCIバ
ス上でのスヌーピングが可能化されてしまうという不都
合がある。
GAデバイスに関するコンフィギュレーションサイクル
を2次PCIバス上のVGAデバイスに与える場合種々
の制約があるということである。たとえばこのPCI−
PCIブリッジはVGAデバイスについてのDAC(デ
ィジタル/アナログ変換)パレットのスヌープをサポー
トしていない。したがってPCI−PCIブリッジのコ
ンフィギュレーション領域のビット[5]は「0」に結
線され書込可能ではない。仮にコンフィギュレーション
サイクルを完全な形で2次PCIバスに伝搬した場合、
VGAデバイスのコンフィギュレーション領域のレジス
タ04hに誤って書込されることがあり、2次PCIバ
ス上でのスヌーピングが可能化されてしまうという不都
合がある。
【0066】そこで、このように誤ってレジスタへの書
込を行なわないように特定のビット領域についてはマス
クすることが行なわれる。たとえばレジスタ04hの場
合には図8に示されるようにビット[15:2]が強制
的に「0」とされる。
込を行なわないように特定のビット領域についてはマス
クすることが行なわれる。たとえばレジスタ04hの場
合には図8に示されるようにビット[15:2]が強制
的に「0」とされる。
【0067】このように選択的にマスクすることにより
ステータスビットがクリアされVGAデバイスのメモリ
およびI/O領域が可能化される。ステータスビットを
クリアするのは、リセット後のステータスビットがクリ
アされていない場合にはVGAデバイスが誤動作する恐
れがあるため、その予防である。BIOSは通常は、V
GAデバイスに対する他のアクセスが発生する前に初期
化段階でこれらビットをクリアする。
ステータスビットがクリアされVGAデバイスのメモリ
およびI/O領域が可能化される。ステータスビットを
クリアするのは、リセット後のステータスビットがクリ
アされていない場合にはVGAデバイスが誤動作する恐
れがあるため、その予防である。BIOSは通常は、V
GAデバイスに対する他のアクセスが発生する前に初期
化段階でこれらビットをクリアする。
【0068】レジスタ10hは読出/書込許可に関する
限りはストラップには関係しない。しかしこのレジスタ
に対するコンフィギュレーション書込アクセスが発生し
た場合にはこのアクセスは2次側に伝搬される。その伝
搬時のマスキングを図9に示す。
限りはストラップには関係しない。しかしこのレジスタ
に対するコンフィギュレーション書込アクセスが発生し
た場合にはこのアクセスは2次側に伝搬される。その伝
搬時のマスキングを図9に示す。
【0069】図9に示されるように下位27ビットをマ
スクすることにより、VGAデバイスのメモリ領域が1
28Mバイトに整列される。すなわち、VGAデバイス
のメモリ領域の下部境界が、PCI−PCIブリッジが
要求したメモリ領域の最下部と一致する。
スクすることにより、VGAデバイスのメモリ領域が1
28Mバイトに整列される。すなわち、VGAデバイス
のメモリ領域の下部境界が、PCI−PCIブリッジが
要求したメモリ領域の最下部と一致する。
【0070】レジスタ30hは完全にストラップに従属
するものであり、ストラップ信号がオフの場合には書込
することができない。ストラップがオンの場合には図1
0に示されるようなマスキングが行なわれる。下位24
ビット(LSBが「0」であるものとする)をマスキン
グすることによって、VGAデバイスのROM領域が1
6Mバイトに整列されることになり、かつLSBを操作
することによりBIOSが拡張ROMをイネーブル/デ
ィスエーブルすることができる。
するものであり、ストラップ信号がオフの場合には書込
することができない。ストラップがオンの場合には図1
0に示されるようなマスキングが行なわれる。下位24
ビット(LSBが「0」であるものとする)をマスキン
グすることによって、VGAデバイスのROM領域が1
6Mバイトに整列されることになり、かつLSBを操作
することによりBIOSが拡張ROMをイネーブル/デ
ィスエーブルすることができる。
【0071】VGAデバイスのコンフィギュレーション
領域内のレジスタ10hによって要求されるメモリ領域
のサイズは各VGAデバイスによって異なる。そのサイ
ズは数Mビットから、大きい場合には64Mバイトまた
はそれ以上ともなり得る。可能な限り多くの種類のVG
Aデバイスをサポートするために、次のように特別な手
段を採用する。
領域内のレジスタ10hによって要求されるメモリ領域
のサイズは各VGAデバイスによって異なる。そのサイ
ズは数Mビットから、大きい場合には64Mバイトまた
はそれ以上ともなり得る。可能な限り多くの種類のVG
Aデバイスをサポートするために、次のように特別な手
段を採用する。
【0072】すなわち、デバイスドライバが、図11に
示されるような一般的メモリマップと、図12に示され
るようなVGAメモリマップとの間で切換をすることが
できるようにする。この切換は、PCI−PCIブリッ
ジのコンフィギュレーション領域のレジスタ40h内の
ビット[0]を操作することにより切換えることができ
る。図11を参照して、一般的メモリマップでは、メモ
リ領域120は、下部4Mバイトのブリッジ(制御)の
ための領域132と、その上の4Mバイトのブリッジ
(コア)のための領域134と、各デバイスのための領
域136とに分けられる。一方、VGAメモリマップで
は、メモリ領域120は124MバイトのVGA領域1
38と、その上のブリッジ(制御)のための領域140
(4Mバイト)とに分けられる。
示されるような一般的メモリマップと、図12に示され
るようなVGAメモリマップとの間で切換をすることが
できるようにする。この切換は、PCI−PCIブリッ
ジのコンフィギュレーション領域のレジスタ40h内の
ビット[0]を操作することにより切換えることができ
る。図11を参照して、一般的メモリマップでは、メモ
リ領域120は、下部4Mバイトのブリッジ(制御)の
ための領域132と、その上の4Mバイトのブリッジ
(コア)のための領域134と、各デバイスのための領
域136とに分けられる。一方、VGAメモリマップで
は、メモリ領域120は124MバイトのVGA領域1
38と、その上のブリッジ(制御)のための領域140
(4Mバイト)とに分けられる。
【0073】起動時にはPCI−PCIブリッジは、V
GAメモリマップをアクティブにして立上がる。BIO
Sが5ビットオフセットを割当て、すなわち128Mバ
イトのメモリ領域を割当てた後、PCI−PCIブリッ
ジは下位124Mバイトを2次PCIバスに伝搬する。
VGAデバイス以外の他のデバイスはすべてメモリおよ
びI/O領域をディスエーブルとして立上がるので、B
IOSによりイネーブルされたVGAのみがサイクルを
取得する。ブートアップが完了するとデバイスドライバ
が機能を開始する。デバイスドライバはVGAをディス
エーブルし他のデバイスをイネーブルして一般的メモリ
マップに切換える。なお、このように起動時にVGAメ
モリマップで立上げを行なうのは、何らかのエラーが発
生した場合、エラーメッセージをVGAデバイスを用い
て表示することが簡便であるためである。またPCI−
PCIブリッジのコンフィギュレーション領域のレジス
タ40hのビット[0]を操作することにより図11の
メモリマップと図12のメモリマップとを切換えること
ができる。そのためたとえば従来のDOS互換のプログ
ラムを使用する場合には図12に示されるメモリマップ
に切換えてそれらのプログラムを実行することができ
る。
GAメモリマップをアクティブにして立上がる。BIO
Sが5ビットオフセットを割当て、すなわち128Mバ
イトのメモリ領域を割当てた後、PCI−PCIブリッ
ジは下位124Mバイトを2次PCIバスに伝搬する。
VGAデバイス以外の他のデバイスはすべてメモリおよ
びI/O領域をディスエーブルとして立上がるので、B
IOSによりイネーブルされたVGAのみがサイクルを
取得する。ブートアップが完了するとデバイスドライバ
が機能を開始する。デバイスドライバはVGAをディス
エーブルし他のデバイスをイネーブルして一般的メモリ
マップに切換える。なお、このように起動時にVGAメ
モリマップで立上げを行なうのは、何らかのエラーが発
生した場合、エラーメッセージをVGAデバイスを用い
て表示することが簡便であるためである。またPCI−
PCIブリッジのコンフィギュレーション領域のレジス
タ40hのビット[0]を操作することにより図11の
メモリマップと図12のメモリマップとを切換えること
ができる。そのためたとえば従来のDOS互換のプログ
ラムを使用する場合には図12に示されるメモリマップ
に切換えてそれらのプログラムを実行することができ
る。
【0074】エラー処理をサポートするためには、その
要求を処理するドライバをイネーブルするために、適切
な応答を選択し、リソースをイネーブルし、ステータス
フラグがアクセス可能とならなければならない。仮にP
CI−PCIブリッジメモリ領域がイネーブルされてい
なければ、すなわちメモリマップされたコンフィギュレ
ーション領域レジスタがアクセスできなければこのよう
なことはできない。したがって一般的メモリマップの下
部4Mバイトに存在していたPCI−PCIブリッジメ
モリ領域を、VGAメモリマップの上部4Mバイトにリ
ロケートすることができるようにした。
要求を処理するドライバをイネーブルするために、適切
な応答を選択し、リソースをイネーブルし、ステータス
フラグがアクセス可能とならなければならない。仮にP
CI−PCIブリッジメモリ領域がイネーブルされてい
なければ、すなわちメモリマップされたコンフィギュレ
ーション領域レジスタがアクセスできなければこのよう
なことはできない。したがって一般的メモリマップの下
部4Mバイトに存在していたPCI−PCIブリッジメ
モリ領域を、VGAメモリマップの上部4Mバイトにリ
ロケートすることができるようにした。
【0075】VGA関連のコンフィギュレーションサイ
クルをVGAデバイスに伝搬するために、図13に示さ
れるようにVGAデバイス54の′IDSEL′ライン
を一定のラインに接続しておかなければならない。この
接続関係は図4の表に示すとおりである。
クルをVGAデバイスに伝搬するために、図13に示さ
れるようにVGAデバイス54の′IDSEL′ライン
を一定のラインに接続しておかなければならない。この
接続関係は図4の表に示すとおりである。
【0076】[DMAアクセス]DMA(直接メモリア
クセス)を実行する場合には、PCI−PCIブリッジ
はプライマリPCIバスに関して主メモリ、すなわち
「ホストブリッジ」(チップセット内に存在する)をタ
ーゲットとするマスタとして動作する。データはGEコ
ア44へ、または2次PCIバス46へ転送される。
クセス)を実行する場合には、PCI−PCIブリッジ
はプライマリPCIバスに関して主メモリ、すなわち
「ホストブリッジ」(チップセット内に存在する)をタ
ーゲットとするマスタとして動作する。データはGEコ
ア44へ、または2次PCIバス46へ転送される。
【0077】DMAアクセスを開始させるためには、デ
バイスドライバはPCI−PCIブリッジ内のDMA関
連のレジスタに値をロードし、DMAアクセスをトリガ
するフラグをセットしなければならない。転送されるブ
ロックの開始アドレスはレジスタ′DMA_Sourc
e′に格納される。このアドレスは主記憶のメモリ領域
内の有効なアドレスでなければならない。すなわちプラ
イマリPCIバスにおいて、PCI−PCIブリッジと
は異なるターゲットが応答しなければならない。DMA
アクセスの実際のターゲットはレジスタ′DMA_De
stination′にロードされるアドレスによって
決定される。このアドレスは図11に示すようなメモリ
マップに従って検査され、その結果に従ってPCI−P
CIブリッジに、すなわち2次PCIバスにデータが転
送される。
バイスドライバはPCI−PCIブリッジ内のDMA関
連のレジスタに値をロードし、DMAアクセスをトリガ
するフラグをセットしなければならない。転送されるブ
ロックの開始アドレスはレジスタ′DMA_Sourc
e′に格納される。このアドレスは主記憶のメモリ領域
内の有効なアドレスでなければならない。すなわちプラ
イマリPCIバスにおいて、PCI−PCIブリッジと
は異なるターゲットが応答しなければならない。DMA
アクセスの実際のターゲットはレジスタ′DMA_De
stination′にロードされるアドレスによって
決定される。このアドレスは図11に示すようなメモリ
マップに従って検査され、その結果に従ってPCI−P
CIブリッジに、すなわち2次PCIバスにデータが転
送される。
【0078】転送されるデータの量はレジスタ′DMA
_DWords′に、ブロックを構成するDWordの
数をロードすることにより決定される。
_DWords′に、ブロックを構成するDWordの
数をロードすることにより決定される。
【0079】さらに、前述したとおりDMAアクセスを
開始するためには、フラグ′DMA_Trigger′
をセットする必要がある。
開始するためには、フラグ′DMA_Trigger′
をセットする必要がある。
【0080】上述したDMA関連のレジスタのうちレジ
スタ′DMA_Source′および′DMA_Des
tination′は順次インクリメントされ、現在の
ソースおよびターゲットアドレスに対するポインタとし
ての役目を果たす。レジスタ′DMA_DWords′
はインクリメントされず、DMA転送のために用意され
た専用のカウンタの値と比較が行なわれる。仮にターゲ
ットアドレスがメモリマップ内に存在していない場合に
は、PCI−PCIブリッジはアイドルとなり、DMA
転送は発生しない。
スタ′DMA_Source′および′DMA_Des
tination′は順次インクリメントされ、現在の
ソースおよびターゲットアドレスに対するポインタとし
ての役目を果たす。レジスタ′DMA_DWords′
はインクリメントされず、DMA転送のために用意され
た専用のカウンタの値と比較が行なわれる。仮にターゲ
ットアドレスがメモリマップ内に存在していない場合に
は、PCI−PCIブリッジはアイドルとなり、DMA
転送は発生しない。
【0081】プライマリPCIバス上でのDMA転送が
終了した場合、デバイスドライバに対してその終了が伝
えられなければならない。この場合2つの方法を選択す
ることができる。
終了した場合、デバイスドライバに対してその終了が伝
えられなければならない。この場合2つの方法を選択す
ることができる。
【0082】プライマリPCIバス上での転送が終了す
ると、メインメモリ(MM)PCIレジスタのうちの1
つの或るビットが必ずセットされ、それによって割込要
求が設定される。しかしこの割込要求は他のコントロー
ルレジスタによってマスクすることができる。
ると、メインメモリ(MM)PCIレジスタのうちの1
つの或るビットが必ずセットされ、それによって割込要
求が設定される。しかしこの割込要求は他のコントロー
ルレジスタによってマスクすることができる。
【0083】割込による方法はそれほど効率的ではない
ので、他のMM PCIレジスタ′DMA_Semap
hore′を使ってデバイスドライバに通知する方法を
とることができる。デバイスドライバは、初期化後1回
だけ、DMA転送の前にこのレジスタに主メモリ内のア
ドレスを書込む。主メモリ内のこのロケーションはデバ
イスドライバによってアクセスすることができDMA転
送の終了を示すセマフォとして使用される。デバイスド
ライバはセマフォを初期化するためにオールゼロをこの
ロケーションに書込む。プライマリPCIバスでの転送
が終了すると、DMA FSMは、主メモリ内に存在す
るセマフォをターゲットとするメモリ書込サイクルを発
行し、MM PCIレジスタ′Global_Stat
us′を転送する。これによりセマフォのLSBは
「1」にセットされ、ドライバに対してDMA転送が完
了したことを通知する。
ので、他のMM PCIレジスタ′DMA_Semap
hore′を使ってデバイスドライバに通知する方法を
とることができる。デバイスドライバは、初期化後1回
だけ、DMA転送の前にこのレジスタに主メモリ内のア
ドレスを書込む。主メモリ内のこのロケーションはデバ
イスドライバによってアクセスすることができDMA転
送の終了を示すセマフォとして使用される。デバイスド
ライバはセマフォを初期化するためにオールゼロをこの
ロケーションに書込む。プライマリPCIバスでの転送
が終了すると、DMA FSMは、主メモリ内に存在す
るセマフォをターゲットとするメモリ書込サイクルを発
行し、MM PCIレジスタ′Global_Stat
us′を転送する。これによりセマフォのLSBは
「1」にセットされ、ドライバに対してDMA転送が完
了したことを通知する。
【0084】DMA転送の終了を通知するのにこのよう
に1ビットを使用するのに加えて、セマフォの残りの3
1ビットによってPCI−PCIブリッジの完全な「ス
ナップショット」が提供される。これによってデバイス
ドライバはPCI−PCIブリッジの状態をオンザフラ
イで、かつオーバーヘッドなく分析することが可能にな
る。
に1ビットを使用するのに加えて、セマフォの残りの3
1ビットによってPCI−PCIブリッジの完全な「ス
ナップショット」が提供される。これによってデバイス
ドライバはPCI−PCIブリッジの状態をオンザフラ
イで、かつオーバーヘッドなく分析することが可能にな
る。
【0085】DMAバーストの長さは以下によって決定
される。 (1) 転送されるべきDWordの数。すなわちレジ
スタ′DMA_DWords′に書込まれた値。
される。 (1) 転送されるべきDWordの数。すなわちレジ
スタ′DMA_DWords′に書込まれた値。
【0086】(2) ターゲットからの応答。すなわち
切断する旨の応答。 (3) レイテンシタイマの値。すなわちPCI−PC
Iブリッジのコンフィギュレーション領域のレジスタ0
Chの値。
切断する旨の応答。 (3) レイテンシタイマの値。すなわちPCI−PC
Iブリッジのコンフィギュレーション領域のレジスタ0
Chの値。
【0087】(4) ポスティングバッファのステータ
ス。 ポスティングバッファが一杯である場合、マスタはトラ
ンザクションを停止してバッファがデータを受取り可能
となるまで待ち、バッファがデータ受取り可能となると
新たなサイクルを開始する。PCI−PCIブリッジの
レイテンシタイマが満了し、プライマリPCIバスのハ
ンドシェイキングのための信号′P_GNT′がデアサ
ートされた場合も同様である。デバイスドライバは起動
時にレイテンシタイマの値をチェックし、必要であれば
異なる値を書込むこともできる。
ス。 ポスティングバッファが一杯である場合、マスタはトラ
ンザクションを停止してバッファがデータを受取り可能
となるまで待ち、バッファがデータ受取り可能となると
新たなサイクルを開始する。PCI−PCIブリッジの
レイテンシタイマが満了し、プライマリPCIバスのハ
ンドシェイキングのための信号′P_GNT′がデアサ
ートされた場合も同様である。デバイスドライバは起動
時にレイテンシタイマの値をチェックし、必要であれば
異なる値を書込むこともできる。
【0088】レイテンシカウンタは各サイクルごとに、
データ転送がなくともインクリメントされる。すなわ
ち、ターゲットからの応答とは独立にレイテンシカウン
タはカウントアップされる。レイテンシカウンタの値が
レジスタ′Latency Timer′に等しくなる
と信号′P_FRAME′はデアサートされマスタが終
了する。
データ転送がなくともインクリメントされる。すなわ
ち、ターゲットからの応答とは独立にレイテンシカウン
タはカウントアップされる。レイテンシカウンタの値が
レジスタ′Latency Timer′に等しくなる
と信号′P_FRAME′はデアサートされマスタが終
了する。
【0089】プライマリPCIバス上でマスタアボート
エラーが発生するとフラグ′DMA_Trigger′
はリセットされ、DMA転送は終了され、対応のエラー
処理が実行される。これは実際のDMA転送の場合もセ
マフォ書込の場合も同様である。
エラーが発生するとフラグ′DMA_Trigger′
はリセットされ、DMA転送は終了され、対応のエラー
処理が実行される。これは実際のDMA転送の場合もセ
マフォ書込の場合も同様である。
【0090】DMAは常にポスティングバッファを介し
て実行される。DMA FSMはMM PCIレジス
タ′FIFO_Control′を、ポスティングバッ
ファをアクセスする前にチェックすることはしない。
て実行される。DMA FSMはMM PCIレジス
タ′FIFO_Control′を、ポスティングバッ
ファをアクセスする前にチェックすることはしない。
【0091】本実施の形態のPCI−PCIブリッジ
は、DMA性能を向上させるために、DMAマスタに対
して「リンク」オプションを追加している。このオプシ
ョンによって、複数のDMA転送の要求を発するという
オーバーヘッドなしに、デバイスドライバが複数のDM
A転送を行なうことができる。
は、DMA性能を向上させるために、DMAマスタに対
して「リンク」オプションを追加している。このオプシ
ョンによって、複数のDMA転送の要求を発するという
オーバーヘッドなしに、デバイスドライバが複数のDM
A転送を行なうことができる。
【0092】このためにデバイスドライバは、DMAト
ランザクションをトリガする前に、主メモリ内のデータ
ブロックの間にリンクデータを挿入する必要がある。リ
ンクデータはアドレスおよび制御情報を含んだ3つのD
Wordからなっており、対応のMM PCIレジスタ
に書込まれる。これらDWordとMM PCIレジス
タとの関係を図14に示す。
ランザクションをトリガする前に、主メモリ内のデータ
ブロックの間にリンクデータを挿入する必要がある。リ
ンクデータはアドレスおよび制御情報を含んだ3つのD
Wordからなっており、対応のMM PCIレジスタ
に書込まれる。これらDWordとMM PCIレジス
タとの関係を図14に示す。
【0093】図15を参照して、デバイスドライバがD
MAデータをセットアップした後の主メモリでは、たと
えばデータブロックnの直後に3つのDWordからな
るリンクデータブロックが挿入されている。このリンク
データの後に次のブロックが続くことになる。このデー
タブロックnの最後に付加されたリンクデータ内の′D
MA_Destination′により、データブロッ
クn+1のデータの転送先が定められる。
MAデータをセットアップした後の主メモリでは、たと
えばデータブロックnの直後に3つのDWordからな
るリンクデータブロックが挿入されている。このリンク
データの後に次のブロックが続くことになる。このデー
タブロックnの最後に付加されたリンクデータ内の′D
MA_Destination′により、データブロッ
クn+1のデータの転送先が定められる。
【0094】このようにリンクデータを使って複数のデ
ータ転送を自動的に実行させるか否かは、MM PCI
レジスタ′DMA_Control′のビット[29]
(′DMA_Continue′)によりイネーブルま
たはディスエーブルすることができる。このビットは、
転送されるデータブロックの最後にリンクデータが付加
されているか否かを示す。このビットが「1」にセット
されていればDMAFSMはこの後にリンクデータが続
くものと想定し、その結果次の3つのDWordがMM
PCIレジスタに書込まれる。こうして最新のリンク
データ(′DMA_Control′)によってオンザ
フライで再コンフィギュアした後、DMAマスタはサイ
クルを終了することなく次のデータブロックを読もうと
する。仮に′DMA_Continue′が0にリセッ
トされている場合、データブロックの最後のDWord
が転送された後にトランザクションは終了されることに
なる。
ータ転送を自動的に実行させるか否かは、MM PCI
レジスタ′DMA_Control′のビット[29]
(′DMA_Continue′)によりイネーブルま
たはディスエーブルすることができる。このビットは、
転送されるデータブロックの最後にリンクデータが付加
されているか否かを示す。このビットが「1」にセット
されていればDMAFSMはこの後にリンクデータが続
くものと想定し、その結果次の3つのDWordがMM
PCIレジスタに書込まれる。こうして最新のリンク
データ(′DMA_Control′)によってオンザ
フライで再コンフィギュアした後、DMAマスタはサイ
クルを終了することなく次のデータブロックを読もうと
する。仮に′DMA_Continue′が0にリセッ
トされている場合、データブロックの最後のDWord
が転送された後にトランザクションは終了されることに
なる。
【0095】このようにして、DMA転送の完了ごと
に、自動的に新たなDMAトランザクションが開始され
る。このためにはデバイスドライバは主メモリにリンク
リストを一度だけ書込めばよく、それによって以後はP
CI−PCIブリッジにより複数個のDMA転送がデバ
イスドライバからの指示なく実行可能である。
に、自動的に新たなDMAトランザクションが開始され
る。このためにはデバイスドライバは主メモリにリンク
リストを一度だけ書込めばよく、それによって以後はP
CI−PCIブリッジにより複数個のDMA転送がデバ
イスドライバからの指示なく実行可能である。
【0096】仮にリンクリストのDMAトランスファの
間に、たとえば長時間にわたる転送を検証するために、
セマフォを更新する必要がある場合にはそのためのビッ
トをセットすればよい。
間に、たとえば長時間にわたる転送を検証するために、
セマフォを更新する必要がある場合にはそのためのビッ
トをセットすればよい。
【0097】図16にこの方式の原理を示す。デバイス
ドライバは最初に、DMAマスタに対し4つのデータD
Wordを転送するように設定を行ない、さらにその後
リンクデータを読むようにさせる(a1)。それに続い
てDMA FSMがリンクデータによってコンフィギュ
アされ、次の4つのDWordを受け、さらに処理を続
ける(a2)。2番目のリンクデータによってDMAマ
スタは8つのDWordを受けるように設定され、しか
る後にDMAトランザクションを終了しセマフォを書く
(a3)。8つのDWordが転送されセマフォが書込
まれた後でDMA FSMはIDLE(アイドル)状態
に戻る。
ドライバは最初に、DMAマスタに対し4つのデータD
Wordを転送するように設定を行ない、さらにその後
リンクデータを読むようにさせる(a1)。それに続い
てDMA FSMがリンクデータによってコンフィギュ
アされ、次の4つのDWordを受け、さらに処理を続
ける(a2)。2番目のリンクデータによってDMAマ
スタは8つのDWordを受けるように設定され、しか
る後にDMAトランザクションを終了しセマフォを書く
(a3)。8つのDWordが転送されセマフォが書込
まれた後でDMA FSMはIDLE(アイドル)状態
に戻る。
【0098】図17に、ネストされたセマフォ書込を含
んだDMAリンクの方式について示す。図16に示した
のと同様にデバイスドライバはまず、DMAマスタがデ
ータの4つのDWordを転送しさらにその後引き続い
てDMA転送を実行させるようにする。ただしこの場合
デバイスドライバはセマフォオプションをイネーブルす
るものとする。その結果4つのDWordが読まれセマ
フォが書かれた後DMAマスタは処理を続行する(b
2)。これによってDMAマスタはリンクデータに従っ
てさらに4つのDWordを読込み、さらに処理を続行
することになる(b2)。この場合にはセマフォオプシ
ョンがイネーブルされていないためPCI−PCIブリ
ッジはセマフォの書込を行なわない。そしてさらに8つ
のDWordを受けてDMAトランザクションを終了し
セマフォを書込む(b3)。
んだDMAリンクの方式について示す。図16に示した
のと同様にデバイスドライバはまず、DMAマスタがデ
ータの4つのDWordを転送しさらにその後引き続い
てDMA転送を実行させるようにする。ただしこの場合
デバイスドライバはセマフォオプションをイネーブルす
るものとする。その結果4つのDWordが読まれセマ
フォが書かれた後DMAマスタは処理を続行する(b
2)。これによってDMAマスタはリンクデータに従っ
てさらに4つのDWordを読込み、さらに処理を続行
することになる(b2)。この場合にはセマフォオプシ
ョンがイネーブルされていないためPCI−PCIブリ
ッジはセマフォの書込を行なわない。そしてさらに8つ
のDWordを受けてDMAトランザクションを終了し
セマフォを書込む(b3)。
【0099】DMAトランザクションの効率を左右する
要因として3つが考えられる。 (1) PCI−PCIブリッジにおいて、後述するS
SOアービタの制約により、プライマリPCIバス上に
おいて新たなアドレスフェイズが開始されると、2次側
ではデータを取出すことができない。しかしアドレスフ
ェイズが終了しデータフェイズとなれば2次側からデー
タを取出すことができる。したがって仮にDMAトラン
ザクションが非常に長い場合、アドレスフェイズとして
は最初の1回しかないのでDMAトランザクションの効
率は非常に良い。なぜなら2次側は、プライマリ側がシ
ステムメモリからデータを読出すのと並行にデータを取
出すことができるためである。この場合転送に対して影
響するのは最初のレイテンシのみである(SSOペナル
ティと呼ぶ)。
要因として3つが考えられる。 (1) PCI−PCIブリッジにおいて、後述するS
SOアービタの制約により、プライマリPCIバス上に
おいて新たなアドレスフェイズが開始されると、2次側
ではデータを取出すことができない。しかしアドレスフ
ェイズが終了しデータフェイズとなれば2次側からデー
タを取出すことができる。したがって仮にDMAトラン
ザクションが非常に長い場合、アドレスフェイズとして
は最初の1回しかないのでDMAトランザクションの効
率は非常に良い。なぜなら2次側は、プライマリ側がシ
ステムメモリからデータを読出すのと並行にデータを取
出すことができるためである。この場合転送に対して影
響するのは最初のレイテンシのみである(SSOペナル
ティと呼ぶ)。
【0100】(2) さらに、プライマリPCIバスア
ービタがトランザクション後またはトランザクション中
にバス使用の許可を奪った場合には、PCI−PCIブ
リッジは再度プライマリバスの使用許可を要求しなけれ
ばならない(再調停ペナルティ)。
ービタがトランザクション後またはトランザクション中
にバス使用の許可を奪った場合には、PCI−PCIブ
リッジは再度プライマリバスの使用許可を要求しなけれ
ばならない(再調停ペナルティ)。
【0101】(3) 多くのホストブリッジでは最初の
レイテンシが非常に長い(16サイクルに達することも
ある)。したがって仮にDMAトランザクションが早く
終了した場合、PCI−PCIブリッジはSSOアービ
タとプライマリバスアービタ遅延に対処するだけでな
く、さらに加えてホストブリッジによる最初のアクセス
遅延にも対処しなければならない。
レイテンシが非常に長い(16サイクルに達することも
ある)。したがって仮にDMAトランザクションが早く
終了した場合、PCI−PCIブリッジはSSOアービ
タとプライマリバスアービタ遅延に対処するだけでな
く、さらに加えてホストブリッジによる最初のアクセス
遅延にも対処しなければならない。
【0102】そのために、次に説明するような「ドミ
ノ」と呼ばれる機能を追加した。この機能では、システ
ムメモリからの連続したメモリ読出バーストを、ホスト
ブリッジがトランザクションを終了させるまで行なうこ
とが可能になる。現在のDMA設定環境を維持するため
に、′DMA_Source′のLSBを使用する。
ノ」と呼ばれる機能を追加した。この機能では、システ
ムメモリからの連続したメモリ読出バーストを、ホスト
ブリッジがトランザクションを終了させるまで行なうこ
とが可能になる。現在のDMA設定環境を維持するため
に、′DMA_Source′のLSBを使用する。
【0103】図18を参照して、′DMA_Sourc
e′の最後の2ビット150は、DWord単位でのア
ドレッシングが行なわれているために使用されていな
い。この2つのビット152および154のうちLSB
154を使用する。このLSBがセットされていた場
合、PCI−PCIブリッジは、その後に続く′DMA
_Source′アドレスが連続したものであると想定
し、内部のソースカウンタを単にインクリメントし続け
る。このように連続したアドレスにアクセスするため新
たなアドレスフェイズは必要でなく、したがってPCI
−PCIブリッジは′DMA_Control′フェイ
ズの後にはサイクルを終了させることなくデータを要求
し続けることになる。
e′の最後の2ビット150は、DWord単位でのア
ドレッシングが行なわれているために使用されていな
い。この2つのビット152および154のうちLSB
154を使用する。このLSBがセットされていた場
合、PCI−PCIブリッジは、その後に続く′DMA
_Source′アドレスが連続したものであると想定
し、内部のソースカウンタを単にインクリメントし続け
る。このように連続したアドレスにアクセスするため新
たなアドレスフェイズは必要でなく、したがってPCI
−PCIブリッジは′DMA_Control′フェイ
ズの後にはサイクルを終了させることなくデータを要求
し続けることになる。
【0104】[SSO(Simultaneous Swithcing Outpu
ts)およびデータフロー制御]ところで、プライマリI
/O(32ビット)と2次I/O(32ビット)の双方
が同時にA_Dラインをスイッチさせた場合、次のよう
な問題が生ずる。仮にこれら64ビットが同時に活性化
された場合には、その結果として生ずる電源の電圧変動
のためにPCI−PCIブリッジが誤動作する危険性が
高い。仮にA_Dバスが浮遊状態であるか、またはトグ
ルしない場合、すなわち同じ値を保持する場合には消費
電力はほとんどないので、PCI−PCIブリッジがこ
れら2つのバスの駆動をこのように効率的に制御するこ
とが重要である。
ts)およびデータフロー制御]ところで、プライマリI
/O(32ビット)と2次I/O(32ビット)の双方
が同時にA_Dラインをスイッチさせた場合、次のよう
な問題が生ずる。仮にこれら64ビットが同時に活性化
された場合には、その結果として生ずる電源の電圧変動
のためにPCI−PCIブリッジが誤動作する危険性が
高い。仮にA_Dバスが浮遊状態であるか、またはトグ
ルしない場合、すなわち同じ値を保持する場合には消費
電力はほとんどないので、PCI−PCIブリッジがこ
れら2つのバスの駆動をこのように効率的に制御するこ
とが重要である。
【0105】したがって特別の機能を有するSSOアー
ビタをPCI−PCIブリッジ内に設ける。SSOアー
ビタはプライマリADラインまたは2次ADラインのい
ずれか一方のみに駆動の許可を与える。これによりPC
I−PCIブリッジが電源の電圧変動により誤動作する
おそれは少なくなる。
ビタをPCI−PCIブリッジ内に設ける。SSOアー
ビタはプライマリADラインまたは2次ADラインのい
ずれか一方のみに駆動の許可を与える。これによりPC
I−PCIブリッジが電源の電圧変動により誤動作する
おそれは少なくなる。
【0106】PCI−PCIブリッジがプライマリPC
IバスのADラインを駆動するのは次の場合である。
IバスのADラインを駆動するのは次の場合である。
【0107】
【表1】
【0108】PCI−PCIブリッジが2次PCIバス
のADラインを駆動するのは次の場合である。
のADラインを駆動するのは次の場合である。
【0109】
【表2】
【0110】2次PCIバスでは、ボード上の「プルア
ップ」によりADラインが浮遊状態となることは避けら
れる。したがって2次側では、ADラインが′IDL
E′状態にある場合には、2次側のFSMはAD線を駆
動する必要はない。
ップ」によりADラインが浮遊状態となることは避けら
れる。したがって2次側では、ADラインが′IDL
E′状態にある場合には、2次側のFSMはAD線を駆
動する必要はない。
【0111】2次側のADラインを駆動するソースは3
つある。その1番目はブリッジデータパスと呼ばれるも
のであって、コンフィギュレーションとI/Oサイクル
に用いられる。またFIFOがディスエーブルされてい
るときにはこれらをバイパスする。2番目はホストから
のポスティングに用いられるP2S(Primary-to-Secon
dary)データパスである。3番目はGEコアからのポス
ティングに用いられるC2S(Core-to-Secondary )デ
ータパスである。
つある。その1番目はブリッジデータパスと呼ばれるも
のであって、コンフィギュレーションとI/Oサイクル
に用いられる。またFIFOがディスエーブルされてい
るときにはこれらをバイパスする。2番目はホストから
のポスティングに用いられるP2S(Primary-to-Secon
dary)データパスである。3番目はGEコアからのポス
ティングに用いられるC2S(Core-to-Secondary )デ
ータパスである。
【0112】これらに加えてプライマリADラインを駆
動するソースとして独立のものが2つある。その1つは
ホスト、他の1つはDMAである。ホストは図20に示
されるように、プライマリI/O62内のターゲットF
SM72のことをいう。DMAに対応するのはプライマ
リI/O62内のマスタFSM74である。プライマリ
FSMと2次FSMすなわちコアとは異なるクロック領
域に属するので、2次I/O64に設けられるSSOア
ービタ(SSO FSM)78は、非同期ハンドシェイ
キングを行なわなければならない。なおこのようにプラ
イマリPCIバスと2次PCIバスとで異なる周波数を
用いるのは、同期式に比べる非同期の場合が速度的に有
利なためである。また一般的に2次PCIバスの動作す
るクロック周波数の方がプライマリPCIバスよりも高
いからである。
動するソースとして独立のものが2つある。その1つは
ホスト、他の1つはDMAである。ホストは図20に示
されるように、プライマリI/O62内のターゲットF
SM72のことをいう。DMAに対応するのはプライマ
リI/O62内のマスタFSM74である。プライマリ
FSMと2次FSMすなわちコアとは異なるクロック領
域に属するので、2次I/O64に設けられるSSOア
ービタ(SSO FSM)78は、非同期ハンドシェイ
キングを行なわなければならない。なおこのようにプラ
イマリPCIバスと2次PCIバスとで異なる周波数を
用いるのは、同期式に比べる非同期の場合が速度的に有
利なためである。また一般的に2次PCIバスの動作す
るクロック周波数の方がプライマリPCIバスよりも高
いからである。
【0113】PCI−PCIブリッジ内での円滑なかつ
バランスのとれたデータフローを実現するために、次の
ような方式を採用した。
バランスのとれたデータフローを実現するために、次の
ような方式を採用した。
【0114】すなわち図20に示されるように、SSO
アービタとホストおよびDMAとの間には2つの独立し
た非同期ハンドシェイクが行なわれる。図20において
各非同期ハンドシェイクには同期ポイント162および
166ならびに164および168が設定される。なお
図20にも示されるように、プライマリI/O62はプ
ライマリ側のクロック@P_CLKで、2次I/O64
のSSOアービタは2次側のクロック@S_CLKでそ
れぞれ駆動される。
アービタとホストおよびDMAとの間には2つの独立し
た非同期ハンドシェイクが行なわれる。図20において
各非同期ハンドシェイクには同期ポイント162および
166ならびに164および168が設定される。なお
図20にも示されるように、プライマリI/O62はプ
ライマリ側のクロック@P_CLKで、2次I/O64
のSSOアービタは2次側のクロック@S_CLKでそ
れぞれ駆動される。
【0115】ハンドシェイクは、各プライマリ状態マシ
ンからのリクエスト信号と、それに対応するSSOアー
ビタからの許可信号とからなっている。ここで生ずるの
は主としてプライマリターゲットへの書込アクセスであ
って、読出アクセスは多くの場合タイミングに厳しくな
いため、2次PCIバスへのデータソース、主として2
つのポスティングバッファの間で円滑かつ高速にローテ
ーションができるよう最適化設計されている。
ンからのリクエスト信号と、それに対応するSSOアー
ビタからの許可信号とからなっている。ここで生ずるの
は主としてプライマリターゲットへの書込アクセスであ
って、読出アクセスは多くの場合タイミングに厳しくな
いため、2次PCIバスへのデータソース、主として2
つのポスティングバッファの間で円滑かつ高速にローテ
ーションができるよう最適化設計されている。
【0116】したがって、SSOアービタは同期のリク
エストと許可とによるペナルティなしにこれらソースの
間をローテートする必要がある。たとえばコアとホスト
とが互いに競合する場合であっても、2次PCIバスか
らデータを非常に効率的に取出すことができる。
エストと許可とによるペナルティなしにこれらソースの
間をローテートする必要がある。たとえばコアとホスト
とが互いに競合する場合であっても、2次PCIバスか
らデータを非常に効率的に取出すことができる。
【0117】図21を参照して、SSOアービタ(SS
O FSM)78は3つのリクエスト入力と3つのリク
エスト出力とを有する。SSO FSMは、自己がどの
状態にいるのかに従って、リクエストのうちの1つを2
次FSM76に伝えるか、またはプライマリFSMの1
つに対してADラインを駆動する許可が与えられている
場合には、アービタはADラインがともに同時に駆動さ
れるのを防ぐために3つのリクエスト入力をすべてマス
クするか、のいずれかを行なう。このために2次FSM
76からSSO FSM78に対して信号′ROTAT
E′を与える。この信号′ROTATE′と各リクエス
ト信号とのアンド(182、183、184)をとるこ
とにより上述したように2つのADラインが同時に駆動
されるのを防ぐ。
O FSM)78は3つのリクエスト入力と3つのリク
エスト出力とを有する。SSO FSMは、自己がどの
状態にいるのかに従って、リクエストのうちの1つを2
次FSM76に伝えるか、またはプライマリFSMの1
つに対してADラインを駆動する許可が与えられている
場合には、アービタはADラインがともに同時に駆動さ
れるのを防ぐために3つのリクエスト入力をすべてマス
クするか、のいずれかを行なう。このために2次FSM
76からSSO FSM78に対して信号′ROTAT
E′を与える。この信号′ROTATE′と各リクエス
ト信号とのアンド(182、183、184)をとるこ
とにより上述したように2つのADラインが同時に駆動
されるのを防ぐ。
【0118】図21に示される信号′ROTATE′は
2次FSMが生成するものであるが、この信号によって
SSO FSMは、次の状態への遷移をすべきか否かを
チェックすることができる。このローテーションは、2
次PCIバス上でのデータ転送の実行サイクルごとにリ
クエストされる。したがってリトライの場合にはローテ
ーションが強制的に行なわれることはない。
2次FSMが生成するものであるが、この信号によって
SSO FSMは、次の状態への遷移をすべきか否かを
チェックすることができる。このローテーションは、2
次PCIバス上でのデータ転送の実行サイクルごとにリ
クエストされる。したがってリトライの場合にはローテ
ーションが強制的に行なわれることはない。
【0119】図22にSSO FSMの状態遷移図を示
す。この図において各円(HOST,DMA,P2S,
C2S,BRIDGE,IDLE)は各状態を示し、状
態間の矢印は或るイベントが生じたときの状態遷移を示
す。矢印に括弧付きで付された符号(b1、p2など)
は、遷移の発生点と、その遷移の優先順位とを示す。遷
移の発生点は図22に示すとおりの符号を用いて示され
る。また優先順位とは、同時に複数のリクエストが発生
した場合に、ADラインを駆動するための許可が「公平
に」行なわれるように定められたものである。優先順位
を示す数字は、小さいほど優先順位が高いことを示す。
このように適切な優先順位を各遷移に割当てることによ
りどのソースに対してもADラインの許可が公平に割当
てられ、データ転送が円滑に行なわれる。
す。この図において各円(HOST,DMA,P2S,
C2S,BRIDGE,IDLE)は各状態を示し、状
態間の矢印は或るイベントが生じたときの状態遷移を示
す。矢印に括弧付きで付された符号(b1、p2など)
は、遷移の発生点と、その遷移の優先順位とを示す。遷
移の発生点は図22に示すとおりの符号を用いて示され
る。また優先順位とは、同時に複数のリクエストが発生
した場合に、ADラインを駆動するための許可が「公平
に」行なわれるように定められたものである。優先順位
を示す数字は、小さいほど優先順位が高いことを示す。
このように適切な優先順位を各遷移に割当てることによ
りどのソースに対してもADラインの許可が公平に割当
てられ、データ転送が円滑に行なわれる。
【0120】図22に示されるSSO FSMによる状
態遷移の例を以下に示す。 (1) SSO FSMが′IDLE′にあり、ソー
ス′P2S′および′C2S′が同時に検知された場合
には、状態′P2S′への遷移′i1′と状態′C2
S′への遷移′i2′とが候補となる。これらのうち前
者の方が優先順位が高いのでこの結果状態′P2S′へ
の遷移′i1′が生ずることになる。
態遷移の例を以下に示す。 (1) SSO FSMが′IDLE′にあり、ソー
ス′P2S′および′C2S′が同時に検知された場合
には、状態′P2S′への遷移′i1′と状態′C2
S′への遷移′i2′とが候補となる。これらのうち前
者の方が優先順位が高いのでこの結果状態′P2S′へ
の遷移′i1′が生ずることになる。
【0121】(2) SSO FSMが状態′BRID
GE′にあり、かつSSO FSMがローテートされ、
かつソース′P2S′および′HOST′からのリクエ
ストがちょうどこのときに同時に発生したものとする。
この場合には状態′HOST′への遷移′b1′と状
態′P2S′への遷移′b3′とが発生し得るが、前者
の方が優先順位が高いので状態′HOST′への遷移′
b1′が生ずることになる。
GE′にあり、かつSSO FSMがローテートされ、
かつソース′P2S′および′HOST′からのリクエ
ストがちょうどこのときに同時に発生したものとする。
この場合には状態′HOST′への遷移′b1′と状
態′P2S′への遷移′b3′とが発生し得るが、前者
の方が優先順位が高いので状態′HOST′への遷移′
b1′が生ずることになる。
【0122】図22において、優先順位の最も高い遷移
が外周を時計回りに回っている点に注意されたい。この
ようにすることで、ローテーションが「公平に」行なわ
れる。もちろん、図22に示される例は単なる一例であ
って、これ以外の状態遷移であっても同様の効果を奏す
るものであればよい。
が外周を時計回りに回っている点に注意されたい。この
ようにすることで、ローテーションが「公平に」行なわ
れる。もちろん、図22に示される例は単なる一例であ
って、これ以外の状態遷移であっても同様の効果を奏す
るものであればよい。
【0123】[フロー制御]トランザクションが完了す
るごとにローテーションをした場合には効率が落ちる場
合もあるので、ポスティングバッファ′P2S′およ
び′C2S′については、他のソースからのリクエスト
が発生している場合であってもいくつかのトランザクシ
ョンにわたってADライン使用の許可を保持することが
できるようにする。この様子を図23に示す。
るごとにローテーションをした場合には効率が落ちる場
合もあるので、ポスティングバッファ′P2S′およ
び′C2S′については、他のソースからのリクエスト
が発生している場合であってもいくつかのトランザクシ
ョンにわたってADライン使用の許可を保持することが
できるようにする。この様子を図23に示す。
【0124】このために、図23に示されるように信
号′ROTATE′を活性化するタイミングを適切に制
御する。この信号はデータ伝送の正常な終了を示すもの
であり、リトライの場合には活性化されない。図23に
示される例では、リトライが生じた時点ではこの信号は
活性化されず、サイクル終了時に活性化されている。
号′ROTATE′を活性化するタイミングを適切に制
御する。この信号はデータ伝送の正常な終了を示すもの
であり、リトライの場合には活性化されない。図23に
示される例では、リトライが生じた時点ではこの信号は
活性化されず、サイクル終了時に活性化されている。
【0125】たとえばメモリ書込について長いバースト
をサポートするシステムでは、2次PCIバスに対して
データを転送する際にはポスティングが効率的であろ
う。
をサポートするシステムでは、2次PCIバスに対して
データを転送する際にはポスティングが効率的であろ
う。
【0126】[P2Sバースト制御]ポスティングバッ
ファによってトリガされたサイクルは、メモリバンクの
サイズに従って2次PCIバス上では分割される。すな
わち仮に16DWordバーストがポストされた場合に
は、2次PCIバスではそれは2つの8DWordサイ
クルに分割される。デフォルトではSSO FSMは最
初の8DWordの書込が行なわれかつ他のリクエスト
が生じている場合にローテートすることになる。また、
小さなブロックのデータしかポストされなかったときに
は、読出されたDWordの数にかかわらずSSO F
SMはローテートするであろう。たとえば2つの1DW
ordサイクルがポストされた場合には、デフォルトで
はSSOFSMは最初のDWordが書込まれかつ他の
リクエストが生じた場合にローテートすることになる。
ファによってトリガされたサイクルは、メモリバンクの
サイズに従って2次PCIバス上では分割される。すな
わち仮に16DWordバーストがポストされた場合に
は、2次PCIバスではそれは2つの8DWordサイ
クルに分割される。デフォルトではSSO FSMは最
初の8DWordの書込が行なわれかつ他のリクエスト
が生じている場合にローテートすることになる。また、
小さなブロックのデータしかポストされなかったときに
は、読出されたDWordの数にかかわらずSSO F
SMはローテートするであろう。たとえば2つの1DW
ordサイクルがポストされた場合には、デフォルトで
はSSOFSMは最初のDWordが書込まれかつ他の
リクエストが生じた場合にローテートすることになる。
【0127】しかし′P2S′バッファが、他の状態に
ローテートするまでにいくつかのサイクルを実行できる
ようにした方がよい場合もある。そこでこの実施の形態
のPCI−PCIバスではMM PCIレジスタ′P2
S_Burst′を設け、このレジスタによってこれを
制御するようにしている。このレジスタの値は、′P2
S′バッファがSSOアービタのローテートするまでに
実行可能なサイクル数を決定する。
ローテートするまでにいくつかのサイクルを実行できる
ようにした方がよい場合もある。そこでこの実施の形態
のPCI−PCIバスではMM PCIレジスタ′P2
S_Burst′を設け、このレジスタによってこれを
制御するようにしている。このレジスタの値は、′P2
S′バッファがSSOアービタのローテートするまでに
実行可能なサイクル数を決定する。
【0128】たとえば図24(A)を参照して、′P2
S′のポスティングデータ、たとえば16DWord
は、デフォルトでは2つの8DWordとして分割され
る。そのためこの2つの8DWordの間には時間的な
ギャップが生ずる。もし′P2S′のポストするデータ
に対しレイテンシを低くしたい場合には、レジスタ′P
2S_Burst′を用いてこのポスティングバッファ
に対し高い優先順位を割当てることができる。すなわち
図24(B)に示すようにレジスタ′P2S_Burs
t′を「2」に設定すれば、′P2S′のポスティング
バッファは、ADラインを駆動するための許可を戻すこ
となく、2次PCIバス上に最後のデータまで(2個)
一度に書込むことができる。これにより′P2S′のポ
ストするデータに対するレイテンシが低くなる。
S′のポスティングデータ、たとえば16DWord
は、デフォルトでは2つの8DWordとして分割され
る。そのためこの2つの8DWordの間には時間的な
ギャップが生ずる。もし′P2S′のポストするデータ
に対しレイテンシを低くしたい場合には、レジスタ′P
2S_Burst′を用いてこのポスティングバッファ
に対し高い優先順位を割当てることができる。すなわち
図24(B)に示すようにレジスタ′P2S_Burs
t′を「2」に設定すれば、′P2S′のポスティング
バッファは、ADラインを駆動するための許可を戻すこ
となく、2次PCIバス上に最後のデータまで(2個)
一度に書込むことができる。これにより′P2S′のポ
ストするデータに対するレイテンシが低くなる。
【0129】[C2Sバースト制御]同様の制御を′C
2S′ポスティングバッファに対しても適用することが
できる。′P2S′の場合にはメモリバンクとして2つ
ある場合を想定したが、本実施の形態のPCI−PCI
ブリッジでは′C2S′ポスティングバッファとして4
つのメモリバンクを有するものを想定している。その点
で′C2S′ポスティングバッファは′P2S′と異な
るが、さらに「GEコア」というソースを持つ点でも′
P2S′ポスティングバッファと相違している。′C2
S′ポスティングバッファは2次PCIデバイスの専用
データを含んでおり、データブロックがメモリバンクの
いくつかに分散している場合でもまとめて転送できるよ
うにした方が好ましい。こうした制御はこの実施の形態
のPCI−PCIブリッジではMM PCIレジスタ′
C2S_Burst′を用いて行なうことができる。す
なわちこのレジスタ′C2S_Burst′は、SSO
アービタがローテートするまでに′C2S′バッファが
実行することができるサイクル数を決定する。
2S′ポスティングバッファに対しても適用することが
できる。′P2S′の場合にはメモリバンクとして2つ
ある場合を想定したが、本実施の形態のPCI−PCI
ブリッジでは′C2S′ポスティングバッファとして4
つのメモリバンクを有するものを想定している。その点
で′C2S′ポスティングバッファは′P2S′と異な
るが、さらに「GEコア」というソースを持つ点でも′
P2S′ポスティングバッファと相違している。′C2
S′ポスティングバッファは2次PCIデバイスの専用
データを含んでおり、データブロックがメモリバンクの
いくつかに分散している場合でもまとめて転送できるよ
うにした方が好ましい。こうした制御はこの実施の形態
のPCI−PCIブリッジではMM PCIレジスタ′
C2S_Burst′を用いて行なうことができる。す
なわちこのレジスタ′C2S_Burst′は、SSO
アービタがローテートするまでに′C2S′バッファが
実行することができるサイクル数を決定する。
【0130】たとえば図25(A)を参照して、レジス
タ′C2S_Burst′が1に設定されていれば′C
2S′ポスティングバッファは1サイクルごとにADラ
インの使用許可を戻さなければならない。レジスタ′C
2S_Burst′が3に設定されている場合には、図
25(B)に示されるように3サイクルまで連続して実
行することができる。このように′C2S′ポスティン
グバッファが連続して実行することができるサイクル数
を制御できるようにしたことにより、いくつかのメモリ
ブロックからなるデータをGEコアから2次PCIデバ
イスに一括して転送することができる。
タ′C2S_Burst′が1に設定されていれば′C
2S′ポスティングバッファは1サイクルごとにADラ
インの使用許可を戻さなければならない。レジスタ′C
2S_Burst′が3に設定されている場合には、図
25(B)に示されるように3サイクルまで連続して実
行することができる。このように′C2S′ポスティン
グバッファが連続して実行することができるサイクル数
を制御できるようにしたことにより、いくつかのメモリ
ブロックからなるデータをGEコアから2次PCIデバ
イスに一括して転送することができる。
【0131】[DMAバースト制御]既に述べたように
SSOアービタは2次PCIバス側のクロック領域に設
けられている。つまり2次PCIバス側のクロック信号
で動作している。そのためSSOアービタはDMA F
SMとの間で完全な非同期ハンドシェイクをする必要が
ある。その結果SSO FSMにおいて状態が′DM
A′状態に変化したり、′DMA′状態から変化したり
する場合にはいつも、同期ペナルティを考慮しておく必
要がある。
SSOアービタは2次PCIバス側のクロック領域に設
けられている。つまり2次PCIバス側のクロック信号
で動作している。そのためSSOアービタはDMA F
SMとの間で完全な非同期ハンドシェイクをする必要が
ある。その結果SSO FSMにおいて状態が′DM
A′状態に変化したり、′DMA′状態から変化したり
する場合にはいつも、同期ペナルティを考慮しておく必
要がある。
【0132】DMAバーストが非常に短い場合、すなわ
ちホストブリッジが小さなバッファしか持たない場合に
は、同期ペナルティにより全体的なスループットの遅延
が増加する。そのため′P2S′状態にローテートする
前に、DMA FSMがいくつかのバーストを行なうよ
うにした方が効率的な場合がある。これをこの実施の形
態のPCI−PCIバスではMM PCIレジスタ′D
MA_Burst′により制御することにした。レジス
タ′DMA_Burst′は、DMA FSMが、リク
エストをSSOアービタに譲るまでに実行できるサイク
ル数を決定する。
ちホストブリッジが小さなバッファしか持たない場合に
は、同期ペナルティにより全体的なスループットの遅延
が増加する。そのため′P2S′状態にローテートする
前に、DMA FSMがいくつかのバーストを行なうよ
うにした方が効率的な場合がある。これをこの実施の形
態のPCI−PCIバスではMM PCIレジスタ′D
MA_Burst′により制御することにした。レジス
タ′DMA_Burst′は、DMA FSMが、リク
エストをSSOアービタに譲るまでに実行できるサイク
ル数を決定する。
【0133】図26(A)に、DMAトランザクション
が′HOST′によって分断されている状態を示す。こ
の場合にはDMA FSMは、もう一度サイクルを発行
しなければならない。これによりDMAトランザクショ
ンの全体的なレイテンシは同期ペナルティ(図26にお
いて斜線で示される)により2倍となる(′DMA_B
urst′が1に設定されている場合)。しかし図26
(B)に示されるように、′DMA_Burst′が2
に設定されている場合には同期ペナルティは最小化され
全体として処理時間は図26にtdiffで示される時間だ
け短縮できる。
が′HOST′によって分断されている状態を示す。こ
の場合にはDMA FSMは、もう一度サイクルを発行
しなければならない。これによりDMAトランザクショ
ンの全体的なレイテンシは同期ペナルティ(図26にお
いて斜線で示される)により2倍となる(′DMA_B
urst′が1に設定されている場合)。しかし図26
(B)に示されるように、′DMA_Burst′が2
に設定されている場合には同期ペナルティは最小化され
全体として処理時間は図26にtdiffで示される時間だ
け短縮できる。
【0134】[ポスティングFIFOのパラメータ化]
今まで述べてきた′P2S′ポスティングバッファ、′
C2S′ポスティングバッファなどはFIFOにより構
成される。ポスティングFIFOの設計は、結局のとこ
ろ利用可能な面積と、必要とされるスループットおよび
許される最大のレイテンシの間の妥協の産物である。こ
うした条件によってポスティングトランザクションのた
めのFIFOの粒度が決定される。環境により課される
制約が種々にわたるため、FIFOを実装する際に多く
のアーキテクチャが可能である方が有用である。そこで
本実施の形態のPCI−PCIブリッジでは、FIFO
の設計をパラメータ化する手法を採用する。
今まで述べてきた′P2S′ポスティングバッファ、′
C2S′ポスティングバッファなどはFIFOにより構
成される。ポスティングFIFOの設計は、結局のとこ
ろ利用可能な面積と、必要とされるスループットおよび
許される最大のレイテンシの間の妥協の産物である。こ
うした条件によってポスティングトランザクションのた
めのFIFOの粒度が決定される。環境により課される
制約が種々にわたるため、FIFOを実装する際に多く
のアーキテクチャが可能である方が有用である。そこで
本実施の形態のPCI−PCIブリッジでは、FIFO
の設計をパラメータ化する手法を採用する。
【0135】図27に、パラメータ化されたポスティン
グFIFOのブロック図を示す。図27を参照してこの
ポスティングFIFOは、いずれもFIFOの動作を制
御するための、小規模な読出ポートFSMおよび書込ポ
ートFSMと、これら2つのFSMの間に挟まれたいく
つかの「スライス」からなる。このようにいくつか並べ
ることによりポスティングバッファを形成する。
グFIFOのブロック図を示す。図27を参照してこの
ポスティングFIFOは、いずれもFIFOの動作を制
御するための、小規模な読出ポートFSMおよび書込ポ
ートFSMと、これら2つのFSMの間に挟まれたいく
つかの「スライス」からなる。このようにいくつか並べ
ることによりポスティングバッファを形成する。
【0136】図28を参照して、各「スライス」はデー
タを格納するためのnDWordのサイズを持つメモリ
バンクと、対応する(開始)アドレスを格納するための
32ビットレジスタと、「フル」フラグおよび「エンプ
ティ」フラグと、これら2つのフラグについての完全非
同期ハンドシェイクとを含んでいる。
タを格納するためのnDWordのサイズを持つメモリ
バンクと、対応する(開始)アドレスを格納するための
32ビットレジスタと、「フル」フラグおよび「エンプ
ティ」フラグと、これら2つのフラグについての完全非
同期ハンドシェイクとを含んでいる。
【0137】このように2つのFSMの間にメモリバン
クのスライスを挟む構造でFIFOを形成したことによ
り、スライスの数というパラメータを所望のものに合わ
せて選択することにより容易にポスティングFIFOの
設計を行なうことができる。たとえばハードウェア記述
言語を用いて設計を行なう場合、スライス数に相当する
パラメータを単に仕様に応じて変更するだけで足りる。
そのため仕様の変更や仕様の改訂に柔軟に対応すること
ができるとともに、複数のポスティングバッファの検証
も非常に簡略に行なえるという特徴がある。
クのスライスを挟む構造でFIFOを形成したことによ
り、スライスの数というパラメータを所望のものに合わ
せて選択することにより容易にポスティングFIFOの
設計を行なうことができる。たとえばハードウェア記述
言語を用いて設計を行なう場合、スライス数に相当する
パラメータを単に仕様に応じて変更するだけで足りる。
そのため仕様の変更や仕様の改訂に柔軟に対応すること
ができるとともに、複数のポスティングバッファの検証
も非常に簡略に行なえるという特徴がある。
【0138】なお、本願発明を一実施の形態に基づいて
説明してきたが、これは一つの例に過ぎず、本願発明が
この実施の形態の装置に限定されるわけではないことは
もちろんである。
説明してきたが、これは一つの例に過ぎず、本願発明が
この実施の形態の装置に限定されるわけではないことは
もちろんである。
【0139】
【発明の効果】以上のようにこの発明によれば、タイプ
「01」ヘッダを用いないPCI−PCIブリッジによ
り、2次PCIバスを持つ半導体集積回路装置をプライ
マリPCIバスに接続し、かつ個別のPCIエージェン
トを独立に制御できる。。
「01」ヘッダを用いないPCI−PCIブリッジによ
り、2次PCIバスを持つ半導体集積回路装置をプライ
マリPCIバスに接続し、かつ個別のPCIエージェン
トを独立に制御できる。。
【0140】また、VGAデバイスとPCIエージェン
トととが接続された2次PCIバスと、プライマリPC
Iバスとの間を接続可能なPCI−PCIブリッジを提
供することができる。
トととが接続された2次PCIバスと、プライマリPC
Iバスとの間を接続可能なPCI−PCIブリッジを提
供することができる。
【0141】さらにこの発明によれば、起動時のエラー
メッセージの表示を、既存のVGAデバイスを用いて容
易に行なうことができ、また一旦デバイスドライバが起
動すれば、PCIデバイスを用いた処理を行なうことが
できる。
メッセージの表示を、既存のVGAデバイスを用いて容
易に行なうことができ、また一旦デバイスドライバが起
動すれば、PCIデバイスを用いた処理を行なうことが
できる。
【0142】さらにこの発明によると、PCI−PCI
ブリッジにより効率的なDMA転送が可能になる。また
主記憶と、2次PCIバス上のPCIエージェントまた
は特定の演算を行なう演算回路との間でのデータ転送を
高速で行なうことができる。
ブリッジにより効率的なDMA転送が可能になる。また
主記憶と、2次PCIバス上のPCIエージェントまた
は特定の演算を行なう演算回路との間でのデータ転送を
高速で行なうことができる。
【0143】さらにこの発明によると、FIFOの大き
さをパラメータに還元し、したがって容易に設計変更を
行なうことが可能なので、FIFOを有するPCI−P
CIブリッジの設計を容易にすることができる。
さをパラメータに還元し、したがって容易に設計変更を
行なうことが可能なので、FIFOを有するPCI−P
CIブリッジの設計を容易にすることができる。
【0144】請求項12に記載の発明にかかるPCI−
PCIブリッジは、請求項11に記載のFIFOを用い
た、請求項5〜9のいずれかに記載のPCI−PCIブ
リッジである。
PCIブリッジは、請求項11に記載のFIFOを用い
た、請求項5〜9のいずれかに記載のPCI−PCIブ
リッジである。
【0145】さらにこの発明によるPCI−PCIブリ
ッジでは、データ転送を高速に、効率よく行なえる上、
データの転送の際に用いられる先入れ先出しメモリの大
きさを容易に変更できるため、仕様変更や、突然の設計
変更があってもPCI−PCIブリッジの設計を簡単に
修正することができ、装置の開発期間を短くすることが
できる。
ッジでは、データ転送を高速に、効率よく行なえる上、
データの転送の際に用いられる先入れ先出しメモリの大
きさを容易に変更できるため、仕様変更や、突然の設計
変更があってもPCI−PCIブリッジの設計を簡単に
修正することができ、装置の開発期間を短くすることが
できる。
【図1】 本発明の一実施の形態に係るPCI−PCI
ブリッジを含んだシステムの全体構成を示すブロック図
である。
ブリッジを含んだシステムの全体構成を示すブロック図
である。
【図2】 本願発明の一実施の形態に係るPCI−PC
Iブリッジのブロック図である。
Iブリッジのブロック図である。
【図3】 タイプ「00」ヘッダのビット構成を示す図
である。
である。
【図4】 ファンクション番号と、対応するデバイスと
の関係を表形式で示す図である。
の関係を表形式で示す図である。
【図5】 VGAデバイスが含まれるか否かを示すスト
ラップ信号の値の意味を表形式で示す図である。
ラップ信号の値の意味を表形式で示す図である。
【図6】 シャドーされたレジスタの読出を示す図であ
る。
る。
【図7】 シャドーされたレジスタに対する書込を示す
図である。
図である。
【図8】 レジスタへの書込の際のマスキングを示す図
である。
である。
【図9】 レジスタへの書込の際のマスキングを示す図
である。
である。
【図10】 レジスタへの書込の際のマスキングを示す
図である。
図である。
【図11】 一般的なメモリマップを模式的に示す図で
ある。
ある。
【図12】 VGAメモリマップを模式的に示す図であ
る。
る。
【図13】 ブリッジとVGAデバイスとの間のIDS
ELの接続関係を示す図である。
ELの接続関係を示す図である。
【図14】 DMA転送をセットアップする際のレジス
タを表形式で示す図である。
タを表形式で示す図である。
【図15】 本発明に係るDMA転送のオンザフライコ
ンフィギュレーション方式を示す図である。
ンフィギュレーション方式を示す図である。
【図16】 本発明に係るDMA転送のオンザフライコ
ンフィギュレーション方式を示す図である。
ンフィギュレーション方式を示す図である。
【図17】 本発明に係るDMA転送のオンザフライコ
ンフィギュレーション方式を示す図である。
ンフィギュレーション方式を示す図である。
【図18】 本発明に係るDMA転送のオンザフライコ
ンフィギュレーション方式を示す図である。
ンフィギュレーション方式を示す図である。
【図19】 リンクデータの′DMA_Source′
の下位2ビットを示す図である。
の下位2ビットを示す図である。
【図20】 プライマリI/O内のFSMとSSO F
SMとの非同期ハンドシェイキングを示す図である。
SMとの非同期ハンドシェイキングを示す図である。
【図21】 SSO FSMと2次側FSMとの間の信
号の入出力関係を示す図である。
号の入出力関係を示す図である。
【図22】 SSO FSMの状態遷移図である。
【図23】 ′P2S′ポスティングを複数サイクル連
続して許可するようにした場合の波形図である。
続して許可するようにした場合の波形図である。
【図24】 ′P2S_Burst′レジスタの値とデ
ータ転送のタイミングとの関係を示す図である。
ータ転送のタイミングとの関係を示す図である。
【図25】 ′C2S_Burst′レジスタの値とデ
ータ転送のタイミングとの関係を示す図である。
ータ転送のタイミングとの関係を示す図である。
【図26】 ′DMA_Burst′レジスタの値とデ
ータ転送のタイミングとの関係を示す図である。
ータ転送のタイミングとの関係を示す図である。
【図27】 本発明に係るポスティングFIFOバッフ
ァの構成を模式的に示す図である。
ァの構成を模式的に示す図である。
【図28】 ポスティングFIFO内の位置スライスの
構成を示す図である。
構成を示す図である。
20 プライマリPCIバス、24 アドインボード、
40 PCI−PCIブリッジ、42 ブリッジ部、4
4 GEコア、46 2次PCIバス、54VGAデバ
イス、62 プライマリI/O、64 2次I/O、7
2 プライマリターゲットFSM、74 プライマリマ
スタFSM、76 2次マスタFSM。
40 PCI−PCIブリッジ、42 ブリッジ部、4
4 GEコア、46 2次PCIバス、54VGAデバ
イス、62 プライマリI/O、64 2次I/O、7
2 プライマリターゲットFSM、74 プライマリマ
スタFSM、76 2次マスタFSM。
Claims (12)
- 【請求項1】 プライマリPCIバスと、2次PCIバ
スとに接続されるPCI−PCIブリッジであって、 前記2次PCIバスと前記プライマリPCIバスとを接
続し、その間のデータ転送を制御するための接続手段を
含み、 前記接続手段は、タイプ「00」のコンフィギュレーシ
ョンヘッダを有し、かつコンフィギュレーション時に、
デバイスドライバからのコンフィギュレーションコマン
ドのファンクション番号フィールドの値に基づいて、前
記2次PCIバス上の複数個のPCIエージェントを識
別してコンフィギュレーションを実行させるための手段
を含む、PCI−PCIブリッジ。 - 【請求項2】 前記複数個のPCIエージェントは、V
GAデバイスと、他のPCIエージェントとを含み、 前記接続手段は、VGAデバイスのためのメモリマップ
のみがアクティブな第1のモードと、前記VGA以外の
PCIエージェントがアクティブな第2のモードとの2
つのうちの1つを選択して動作することが可能な、請求
項1に記載のPCI−PCIブリッジ。 - 【請求項3】 前記接続手段は、起動時には前記第1の
モードで起動し、前記プライマリPCIバスに接続され
た処理手段上で動作するデバイスドライバによって前記
第2のモードに切換えられる、請求項2に記載のPCI
−PCIブリッジ。 - 【請求項4】 前記プライマリPCIバスおよび前記2
次PCIバスとデータ転送が可能で、特定の演算処理を
行なうための演算手段をさらに含み、 前記接続手段は、前記プライマリPCIバスおよび前記
2次バスと前記演算手段との間のデータの送受を管理す
る、請求項1に記載のPCI−PCIブリッジ。 - 【請求項5】 デバイスドライバによって主記憶からの
直接データ転送がトリガされたことに応答して、以後の
指定されたデータ転送をデバイスドライバの介在なく行
ない、かつ転送されるべきデータブロックの末尾に付さ
れたリンクリストに応答して、前記リンクリストにより
新たに定められるデータ転送をデバイスドライバの介在
なく行なうためのオンザフライ直接データ転送手段をさ
らに含む、請求項1〜4のいずれかに記載のPCI−P
CIブリッジ。 - 【請求項6】 前記接続手段は、前記プライマリPCI
バス上のPCIエージェントおよび前記2次PCIバス
上のエージェントからのバス要求に応答し、前記プライ
マリPCIバスと前記2次PCIバスとの双方が同時に
駆動されないよう、前記プライマリPCIバスと前記2
次PCIバスとの駆動許可を調停制御するための状態機
械を含む、請求項5に記載のPCI−PCIブリッジ。 - 【請求項7】 前記状態機械が、前記2次PCIバスと
同じクロックドメインで動作する、請求項6に記載のP
CI−PCIブリッジ。 - 【請求項8】 前記状態機械は、所定量のデータ転送が
終了するごとに状態を遷移すべきか否かを判定し、判定
結果に従って状態を遷移させる、請求項6または7に記
載のPCI−PCIブリッジ。 - 【請求項9】 前記状態機械は、特定の状態にあるとき
は、状態を遷移すべきか否かの判定までに転送されるデ
ータ量を、他の状態にあるときよりも多く設定すること
が可能である、請求項8に記載のPCI−PCIブリッ
ジ。 - 【請求項10】 前記オンザフライ直接データ転送手段
が、自己によるデータ転送の持続期間を制御するように
前記状態機械を設定可能である、請求項5〜9のいずれ
かに記載のPCI−PCIブリッジ。 - 【請求項11】 異なるクロック周波数で動作する要素
間でのデータの転送をインターフェイスする先入れ先出
しメモリであって、 書込ポートのための書込状態機械と、 読出ポートのための読出状態機械と、 前記書込状態機械と前記読出状態機械との間に並列に配
置された複数個のメモリバンクとを含む、先入れ先出し
メモリ。 - 【請求項12】 請求項11に記載のFIFOを用い
た、請求項5〜9のいずれかに記載のPCI−PCIブ
リッジ。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10038841A JPH11238030A (ja) | 1998-02-20 | 1998-02-20 | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
| US09/140,317 US6272582B1 (en) | 1998-02-20 | 1998-08-26 | PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device |
| DE19847642A DE19847642C2 (de) | 1998-02-20 | 1998-10-15 | PCI-PCI-Brücke |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10038841A JPH11238030A (ja) | 1998-02-20 | 1998-02-20 | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11238030A true JPH11238030A (ja) | 1999-08-31 |
Family
ID=12536440
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10038841A Withdrawn JPH11238030A (ja) | 1998-02-20 | 1998-02-20 | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6272582B1 (ja) |
| JP (1) | JPH11238030A (ja) |
| DE (1) | DE19847642C2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001256176A (ja) * | 2000-03-13 | 2001-09-21 | Mitsubishi Electric Corp | ブリッジ装置 |
| JP2002049576A (ja) * | 2000-06-12 | 2002-02-15 | Altera Corp | チップ搭載システムのためのバス・アーキテクチャ |
| US7124232B2 (en) | 2003-05-08 | 2006-10-17 | Fujitsu Limited | Bus connection circuit and bus connection system having plural request queues, a bus interface portion outputting request signals, an arbiter performing arbitration of plural requests and a bus interface portion outputting a request signal indicating allocation of pre-fetch buffers corresponding to arbitrated requests |
| JP2007226653A (ja) * | 2006-02-24 | 2007-09-06 | Nec Corp | Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム |
| JP2011517497A (ja) * | 2008-03-25 | 2011-06-09 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | Pcieのsr−iov機能をレガシー機能として現出するように変換するシステム及び方法 |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3206570B2 (ja) * | 1998-11-12 | 2001-09-10 | 日本電気株式会社 | Pci機能拡張制御装置、及びpci機能拡張制御方法 |
| JP3791742B2 (ja) * | 1999-05-28 | 2006-06-28 | 株式会社沖データ | Pciバス制御システム |
| US6668299B1 (en) | 1999-09-08 | 2003-12-23 | Mellanox Technologies Ltd. | Software interface between a parallel bus and a packet network |
| US6484222B1 (en) * | 1999-12-06 | 2002-11-19 | Compaq Information Technologies Group, L.P. | System for incorporating multiple expansion slots in a variable speed peripheral bus |
| US7107383B1 (en) * | 2000-05-03 | 2006-09-12 | Broadcom Corporation | Method and system for multi-channel transfer of data and control information |
| US6691200B1 (en) * | 2001-05-01 | 2004-02-10 | Pericom Semiconductor Corp. | Multi-port PCI-to-PCI bridge with combined address FIFOs but separate data FIFOs for concurrent transactions |
| US7072996B2 (en) * | 2001-06-13 | 2006-07-04 | Corrent Corporation | System and method of transferring data between a processing engine and a plurality of bus types using an arbiter |
| US6826628B2 (en) * | 2001-10-26 | 2004-11-30 | O2Micro International Limited | PCI-PCMCIA smart card reader |
| US20030097503A1 (en) * | 2001-11-19 | 2003-05-22 | Huckins Jeffrey L. | PCI compatible bus model for non-PCI compatible bus architectures |
| US8219736B2 (en) * | 2002-02-12 | 2012-07-10 | Ati Technologies Ulc | Method and apparatus for a data bridge in a computer system |
| US6973525B2 (en) | 2002-03-19 | 2005-12-06 | Dell Products L.P. | System and method for managing bus numbering |
| ATE443291T1 (de) * | 2002-06-19 | 2009-10-15 | Ericsson Telefon Ab L M | Netzwerkeinrichtungs-treiberarchitektur |
| US7370072B2 (en) * | 2002-07-08 | 2008-05-06 | Electronic Evidence Discovery, Inc. | System and method for collecting electronic evidence data |
| US7475107B2 (en) * | 2002-07-08 | 2009-01-06 | Electronic Evidence Discovery, Inc. | System and method for managing distributed computer processes |
| TW200410140A (en) * | 2002-12-03 | 2004-06-16 | Via Tech Inc | An initialization process in a device driver |
| US7345689B2 (en) * | 2003-12-19 | 2008-03-18 | Intel Corporation | Interfacing a digital display card through PCI express connector |
| DE102004023329B4 (de) * | 2004-05-12 | 2013-01-17 | Robert Bosch Gmbh | Verfahren zum Durchführen von Resets bei zwei Rechnern |
| US7356628B2 (en) * | 2005-05-13 | 2008-04-08 | Freescale Semiconductor, Inc. | Packet switch with multiple addressable components |
| US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
| JPWO2012124431A1 (ja) * | 2011-03-17 | 2014-07-17 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| US8943257B2 (en) * | 2011-09-30 | 2015-01-27 | Intel Corporation | Protocol neutral fabric |
| US9495723B2 (en) * | 2013-08-09 | 2016-11-15 | Nvidia Corporation | Scale-up techniques for multi-GPU passthrough |
| JP6294732B2 (ja) * | 2014-03-31 | 2018-03-14 | 株式会社メガチップス | データ転送制御装置及びメモリ内蔵装置 |
| US10162775B2 (en) * | 2015-12-22 | 2018-12-25 | Futurewei Technologies, Inc. | System and method for efficient cross-controller request handling in active/active storage systems |
| CN114389947B (zh) * | 2022-03-24 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 数据传输方法、系统及计算机可读存储介质 |
| CN115562801B (zh) * | 2022-09-14 | 2025-07-29 | 中电云计算技术有限公司 | 一种多cpu架构虚拟机pci总线地址管理方法及设备 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5542055A (en) * | 1993-05-28 | 1996-07-30 | International Business Machines Corp. | System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices |
| JPH09237246A (ja) | 1995-12-25 | 1997-09-09 | Hitachi Ltd | Pciエージェント制御カードおよびpciエージェント制御方法 |
| DE19603850A1 (de) * | 1996-02-05 | 1997-08-07 | Miro Computer Prod Ag | Grafikkarte zum Ansteuern zweier Bildschirme |
| US5878237A (en) * | 1997-07-11 | 1999-03-02 | Compaq Computer Corp. | Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses |
| US5996034A (en) * | 1997-10-14 | 1999-11-30 | Advanced Micro Devices, Inc. | Bus bridge verification system including device independent bus monitors |
-
1998
- 1998-02-20 JP JP10038841A patent/JPH11238030A/ja not_active Withdrawn
- 1998-08-26 US US09/140,317 patent/US6272582B1/en not_active Expired - Fee Related
- 1998-10-15 DE DE19847642A patent/DE19847642C2/de not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001256176A (ja) * | 2000-03-13 | 2001-09-21 | Mitsubishi Electric Corp | ブリッジ装置 |
| JP2002049576A (ja) * | 2000-06-12 | 2002-02-15 | Altera Corp | チップ搭載システムのためのバス・アーキテクチャ |
| US7124232B2 (en) | 2003-05-08 | 2006-10-17 | Fujitsu Limited | Bus connection circuit and bus connection system having plural request queues, a bus interface portion outputting request signals, an arbiter performing arbitration of plural requests and a bus interface portion outputting a request signal indicating allocation of pre-fetch buffers corresponding to arbitrated requests |
| JP2007226653A (ja) * | 2006-02-24 | 2007-09-06 | Nec Corp | Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム |
| JP2011517497A (ja) * | 2008-03-25 | 2011-06-09 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | Pcieのsr−iov機能をレガシー機能として現出するように変換するシステム及び方法 |
| US8386654B2 (en) | 2008-03-25 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | System and method for transforming PCIe SR-IOV functions to appear as legacy functions |
Also Published As
| Publication number | Publication date |
|---|---|
| US6272582B1 (en) | 2001-08-07 |
| DE19847642C2 (de) | 2003-07-31 |
| DE19847642A1 (de) | 1999-08-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6272582B1 (en) | PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device | |
| KR100306636B1 (ko) | Pci-isa인터럽트프로토콜컨버터및선택메카니즘 | |
| EP0426329B1 (en) | Combined synchronous and asynchronous memory controller | |
| US5642489A (en) | Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management | |
| US6601126B1 (en) | Chip-core framework for systems-on-a-chip | |
| US5859988A (en) | Triple-port bus bridge | |
| US5621902A (en) | Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller | |
| JP3403284B2 (ja) | 情報処理システム及びその制御方法 | |
| US5701417A (en) | Method and apparatus for providing initial instructions through a communications interface in a multiple computer system | |
| US6167476A (en) | Apparatus, method and system for accelerated graphics port bus bridges | |
| US20050091432A1 (en) | Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs | |
| US6070215A (en) | Computer system with improved transition to low power operation | |
| US5309568A (en) | Local bus design | |
| US20040117743A1 (en) | Heterogeneous multi-processor reference design | |
| WO2000019292A2 (en) | Upgrade card for a computer system | |
| US5838995A (en) | System and method for high frequency operation of I/O bus | |
| US7007126B2 (en) | Accessing a primary bus messaging unit from a secondary bus through a PCI bridge | |
| US6266723B1 (en) | Method and system for optimizing of peripheral component interconnect PCI bus transfers | |
| JPH1055331A (ja) | プログラム可能な読み出し/書き込みアクセス信号とその方法 | |
| US6026455A (en) | Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system | |
| US7310717B2 (en) | Data transfer control unit with selectable transfer unit size | |
| US5960180A (en) | Host adapter integrated circuit having autoaccess pause | |
| EP0426156B1 (en) | Floppy disk controller with DMA verify operations | |
| JPH0954748A (ja) | コンピュータシステムおよびこのシステムに設けられるdmaコントローラ | |
| KR101118558B1 (ko) | Usb otg 제어기 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050510 |