(57)【特許請求の範囲】
【請求項１】
ＰＣＩバスと、
このＰＣＩバス上に定義され、バスマスタ毎に１組ずつ割り当てられているバスアクセス要求信号（ＲＥＱ＃）線およびバスアクセス許可信号（ＧＮＴ＃）線を利用してバスアクセスを調停するバスアービタ（ＰＢＡ）と、
前記ＰＣＩバスに接続され、直接メモリアクセス（ＤＭＡ）を実行するＤＭＡコントローラと、
前記ＤＭＡコントローラのＤＭＡ機能を必要とする複数のＩ／Ｏデバイスと、
これら複数のＩ／Ｏデバイスと前記ＰＣＩバス間に接続された第１のバスマスタであって、前記複数のＩ／Ｏデバイスそれぞれから出力される複数のＤＭＡ要求信号（ＤＲＥＱ）の状態をシリアル情報に変換し、そのシリアル情報を、前記第１のバスマスタに割り当てられたバスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルによって前記ＤＭＡコントローラに送信する第１のバスマスタと、
前記ＰＣＩバスおよび前記ＤＭＡコントローラに接続され、前記第１のバスマスタに割り当てられたバスアクセス要求信号（ＲＥＱ＃）線およびバスアクセス許可信号（ＧＮＴ＃）線を管理する管理手段であって、前記第１のバスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルによって送信されたシリアル情報を、前記ＤＭＡコントローラに入力するための複数のＤＭＡ要求信号（ＤＲＥＱ）に変換する手段、および前記ＤＭＡコントローラから出力される複数のＤＭＡアクノリッジ信号（ＤＡＣＫ＃）それぞれの状態をシリアル情報に変換し、そのシリアル情報を前記第１のバスマスタに割り当てられたバスアクセス許可信号（ＧＮＴ＃）線を利用したシリアル転送サイクルによって前記第１のバスマスタに送信する手段、を含む管理手段とを具備し、
前記第１のバスマスタは、
前記複数のＩ／ＯデバイスそれぞれからのＤＭＡ要求信号（ＤＲＥＱ＃）の状態変化が発生する度に前記バスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルを実行して最新のＤＭＡ要求信号（ＤＲＥＱ＃）の状態を前記ＤＭＡコントローラに通知するプロシードモードと、ＤＭＡサイクル実行中のＩ／Ｏデバイスから出力されるＤＭＡ要求信号（ＤＲＥＱ＃）の状態変化だけを前記シリアル転送サイクルによって前記ＤＭＡコントローラに通知するフリーズモードを有し、前記プロシードモードおよびフリーズモードのいずれか一方のモードで動作するＤＭＡ要求通知手段と、
前記バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送サイクルによって所定のＩ／Ｏデバイスに対するＤＭＡアクノリッジ（ＤＡＣＫ＃）を前記管理手段から受信したとき、前記ＤＭＡ要求通知手段の動作モードを前記プロシードモードから前記フリーズモードに切り替える手段とを具備することを特徴とするコンピュータシステム。
【請求項２】
前記第１のバスマスタは、前記ＰＣＩバスと、前記複数のＩ／Ｏデバイスが接続された第２のバスとを繋ぐブリッジ装置であることを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記複数のＩ／ＯデバイスそれぞれはＰＣカードであり、前記第１のバスマスタは、それらＰＣカードを制御するカードコントローラであることを特徴とする請求項１記載のコンピュータシステム。
【請求項４】
前記ブリッジ装置は、
前記ＰＣＩバス上のバスサイクルをプロトコル変換して、前記ＰＣＩバス上のバスサイクルに対応する前記第２のバス上のバスサイクルを発生する手段を含むことを特徴とする請求項２記載のコンピュータシステム。
【請求項５】
前記ブリッジ装置は、
前記複数のＩ／Ｏデバイスそれぞれに割り当てるべきＤＭＡチャネル番号を示すマッピング情報に従って、前記複数のＩ／Ｏデバイスそれぞれに割り当てるＤＭＡ要求信号（ＤＲＥＱ＃）およびＤＭＡアクノリッジ信号（ＤＡＣＫ＃）の設定／変更を行う手段を含むことを特徴とする請求項２記載のコンピュータシステム。
【請求項６】
ＰＣＩバスと、
このＰＣＩバス上に定義され、バスマスタ毎に１組ずつ割り当てられているバスアクセス要求信号（ＲＥＱ＃）線およびバスアクセス許可信号（ＧＮＴ＃）線を利用してバスアクセスを調停するバスアービタ（ＰＢＡ）と、
前記ＰＣＩバスに接続され、直接メモリアクセス（ＤＭＡ）を実行するＤＭＡコントローラと、
前記ＤＭＡコントローラのＤＭＡ機能を必要とする複数のＩ／Ｏデバイスと、
これら複数のＩ／Ｏデバイスと前記ＰＣＩバス間に接続された第１のバスマスタであって、前記複数のＩ／Ｏデバイスそれぞれから出力される複数のＤＭＡ要求信号（ＤＲＥＱ）の状態をシリアル情報に変換し、そのシリアル情報を、前記第１のバスマスタに割り当てられたバスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルによって前記ＤＭＡコントローラに送信する第１のバスマスタと、
前記ＰＣＩバスおよび前記ＤＭＡコントローラに接続され、前記第１のバスマスタに割り当てられたバスアクセス要求信号（ＲＥＱ＃）線およびバスアクセス許可信号（ＧＮＴ＃）線を管理する管理手段であって、前記第１のバスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルによって送信されたシリアル情報を、前記ＤＭＡコントローラに入力するための複数のＤＭＡ要求信号（ＤＲＥＱ）に変換する手段、および前記ＤＭＡコントローラから出力される複数のＤＭＡアクノリッジ信号（ＤＡＣＫ＃）それぞれの状態をシリアル情報に変換し、そのシリアル情報を前記第１のバスマスタに割り当てられたバスアクセス許可信号（ＧＮＴ＃）線を利用したシリアル転送サイクルによって前記第１のバスマスタに送信する手段、を含む管理手段とを具備し、
前記第１のバスマスタは、
前記Ｉ／ＯデバイスそれぞれからのＤＭＡ要求信号（ＤＲＥＱ＃）の状態変化を監視し、ＤＭＡ要求信号（ＤＲＥＱ＃）の状態変化が発生する度に前記バスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送サイクルを実行して、最新のＤＭＡ要求信号（ＤＲＥＱ＃）の状態を前記ＤＭＡコントローラに通知するＤＭＡ要求通知手段であって、
同一のＩ／ＯデバイスについてそのＩ／ＯデバイスからのＤＭＡ要求信号（ＤＲＥＱ＃）がアクティブにされていることを示すシリアル情報を再送する場合と、前記バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送サイクルによって送信されたＤＭＡアクノリッジ（ＤＡＣＫ＃）によって選択されたＩ／ＯデバイスからのＤＭＡ要求信号（ＤＲＥＱ＃）がインアクティブにされたことを示すシリアル情報を送信する場合とで、前記バスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送サイクルにおける前記バスアクセス要求信号（ＲＥＱ＃）のインアクティブ期間を異ならせる手段を含むＤＭＡ要求通知手段を具備したことを特徴とするコンピュータシステム。
【請求項７】
前記ＤＭＡ要求通知手段は、
既にＤＭＡ要求信号（ＤＲＥＱ＃）がアクティブにされたことを示すシリアル情報を送信した第１のＩ／ＯデバイスのＤＭＡ要求信号（ＤＲＥＱ＃）の状態が変化しない状態で第２のＩ／ＯデバイスからのＤＭＡ要求信号（ＤＲＥＱ＃）がアクティブに変化されたとき、前記バスアクセス要求信号（ＲＥＱ＃）を第１の期間だけインアクティブに変化させた後に、それら第１および第２のＩ／ＯデバイスそれぞれのＤＭＡ要求信号（ＤＲＥＱ＃）がアクティブ状態であることを示すシリアル情報を、前記バスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送サイクルによって送信し、
前記バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送サイクルによって送信されたＤＭＡアクノリッジ（ＤＡＣＫ＃）によって選択されたＩ／ＯデバイスからのＤＭＡ要求信号（ＤＲＥＱ＃）がインアクティブに変化されたとき、前記バスアクセス要求信号（ＲＥＱ＃）を前記第１の期間よりも長い第２の期間だけインアクティブに変化させた後に、前記ＤＭＡ要求信号（ＤＲＥＱ＃）がインアクティブにされたことを示すシリアル情報を、前記バスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送サイクルによって送信することを特徴とする請求項６記載のコンピュータシステム。
【請求項８】
前記第１のバスマスタは、前記ＰＣＩバスと、前記複数のＩ／Ｏデバイスが接続された第２のバスとを繋ぐブリッジ装置であることを特徴とする請求項６記載のコンピュータシステム。
【請求項９】
前記複数のＩ／ＯデバイスそれぞれはＰＣカードであり、前記第１のバスマスタは、それらＰＣカードを制御するカードコントローラであることを特徴とする請求項６記載のコンピュータシステム。
【請求項１０】
前記ブリッジ装置は、
前記ＰＣＩバス上のバスサイクルをプロトコル変換して、前記ＰＣＩバス上のバスサイクルに対応する前記第２のバス上のバスサイクルを発生する手段を含むことを特徴とする請求項８記載のコンピュータシステム。
【請求項１１】
第１のバスと、複数のＩ／Ｏデバイスを接続可能な第２のバスとを接続するブリッジ装置の動作状態を制御する制御装置であって、
前記ブリッジ装置の第１のモードにおいて、前記Ｉ／ＯデバイスからのＤＭＡ要求信号の状態変化が発生したとき、この変化したＤＭＡ要求信号の出力状態を第１のシリアル情報に変換し、この第１のシリアル情報を前記第１のバスに伝送する伝送手段と、
前記ブリッジ装置が前記第１のバスから、前記Ｉ／ＯデバイスからのＤＭＡ要求信号に関する第２のシリアル情報を受信したとき、前記ブリッジ装置の動作モードを前記第１のモードから、第２のモードに切り替える切り替え手段と、
前記ブリッジ装置が前記第２のモードにあるとき、前記伝送手段が前記Ｉ／ＯデバイスからのＤＭＡ要求信号の出力状態の変化を前記第１のバスに対して伝送することを禁止する禁止手段とを具備することを特徴とする制御装置。
【請求項１２】
前記制御装置は更に、前記第２のシリアル情報をＤＭＡアクノリッジ信号に変換し、このＤＭＡアクノリッジ信号に対応するＤＭＡ要求信号を生成したＩ／Ｏデバイスに、このＤＭＡアクノリッジ信号を供給する手段を具備することを特徴とする請求項１１記載の制御装置。
【請求項１３】
前記第１のバスはＰＣＩバスであることを特徴とする請求項１１記載の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンピュータシステムに関し、特にＤＭＡコントローラを必要とするデバイスと必要としないデバイスとが混在するコンピュータシステムに関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータに使用されるシステムバスとしては、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスやＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）バスが主流であったが、最近では、データ転送速度の高速化や、プロセッサに依存しないシステムアーキテクチャの構築のために、デスクトップ型のパーソナルコンピュータを中心に、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが採用され始めている。
【０００３】
ＰＣＩバスにおいては、ほとんど全てのデータ転送はブロック転送を基本としており、これら各ブロック転送はバースト転送を用いて実現されている。これにより、例えばＰＣＩバスでは最大１３３Ｍバイト／秒（データバスが３２ビット幅の時）のデータ転送速度を実現できる。
【０００４】
したがって、ＰＣＩバスを採用すると、Ｉ／Ｏデバイス間、およびシステムメモリとＩ／Ｏデバイスとの間のデータ転送などを高速に行うことが可能となり、システム性能を高めることができる。
【０００５】
【発明が解決しようとする課題】
最近では、デスクトップ型のパーソナルコンピュータだけでく、ノートブックタイプまたはデスクトップタイプなどのポータブルパーソナルコンピュータにおいても、ＰＣＩバスの採用が検討され始めている。
【０００６】
デスクトップ型のパーソナルコンピュータにおいては、ＰＣＩ拡張カードやＩＳＡ拡張カードといった機能拡張のためのオプションカードはシステムボード上の拡張スロットに直接装着して使用される。この場合、ＩＳＡ拡張カードが接続される各ＩＳＡ拡張スロットについては、複数種のＤＭＡチャネルに対応するＤＭＡ要求信号（ＤＲＥＱ）線およびＤＭＡアクノリッジ（ＤＡＣＫ＃）線の複数のペアが定義されている。このため、各ＩＳＡ拡張カードは、そのカードに対応する特定のＤＭＡチャネル（１組のＤＲＥＱ，ＤＡＣＫ＃）を利用することにより、システムボード上のＤＭＡＣ（直接メモリアクセスコントローラ）コアのＤＭＡ転送機能を使用することができる。したがって、デスクトップ型のパーソナルコンピュータにおいては、ＰＣＩバスマスタなどのＤＭＡＣを必要としないデバイスと、ＩＳＡデバイスなどのＤＭＡＣを必要とするデバイスとを比較的容易に混在させることができる。
【０００７】
しかし、ポータブルパーソナルコンピュータにおいては、ＰＣＩ拡張カードやＩＳＡ拡張カードなどのオプションカードは、ドッキングステーションと称される拡張ユニットを介して装着する必要がある。この場合、ポータブルパーソナルコンピュータからドッキングステーションに導出される信号線数はできるだけ少なくすることが要求されている。なぜなら、ドッキングステーションに導出される信号線数が増えると、システムボード上に搭載されたドッキングステーションとのインタフェースのためのＬＳＩのピン数の増加や、ポータブルパーソナルコンピュータとドッキングステーションとを接続するコネクタのピン数の増加などが引き起こされ、ポータブルパーソナルコンピュータのコストアップ、システム実装効率の低下といった不具合が生じるからである。
【０００８】
このため、ＤＭＡ要求信号（ＤＲＥＱ）線およびＤＭＡアクノリッジ（ＤＡＣＫ＃）線の複数のペアをドッキングステーションに導出することは望ましくない。しかし、これらＤＭＡ転送のための制御線をドッキングステーションに導出しないと、ＩＳＡ拡張カードなどのオプションカードがＤＭＡ転送を利用することはできない。
【０００９】
そこで、最近では、ＤＭＡ要求信号（ＤＲＥＱ）線およびＤＭＡアクノリッジ（ＤＡＣＫ＃）線の複数のペアを利用せずに、ドッキングステーションに装着されるＩＳＡ拡張カードとシステムボード上のＤＭＡＣコアとの間でＤＭＡ要求信号（ＤＲＥＱ）およびＤＭＡアクノリッジ（ＤＡＣＫ＃）を送受信するためのプロトコルが検討されている。
【００１０】
このプロトコルは、ＰＣＩバス上の１対のバスアクセス要求信号（ＲＥＱ＃）およびバスアクセス許可信号（ＧＮＴ＃）を利用して、複数チャネル分のＤＲＥＱおよびＤＡＣＫ＃の転送を実現する方式である。このプロトコル下においては、複数チャネル分のＤＭＡ要求（ＤＲＥＱ）はバスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送によって、ＰＣＩバスに接続されているＤＭＡＣコアに送信される。また、ＤＡＣＫ＃についても、バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送によって、ＤＭＡＣコアからドッキングステーションのＩＳＡ拡張カードに送信される。以下では、これらＤＲＥＱおよびＤＡＣＫ＃のシリアル転送の目的で使用されるＲＥＱ＃およびＧＮＴ＃については、シリアルＲＥＱ＃およびシリアルＧＮＴ＃と称することにする。
【００１１】
このように複数のＤＭＡチャネルをシリアル化して転送するというＤＭＡシリアルチャネルプロトコルを利用した場合には、ドッキングステーションにはＰＣＩバスに相当する信号線だけを導出し、そのドッキングステーション内にＰＣＩ−ＩＳＡブリッジを設けるだけで、ＰＣＩ拡張カードとＩＳＡ拡張カードの双方を使用することが可能となる。
【００１２】
しかし、このような構成を採用すると、ＤＭＡ要求信号（ＤＲＥＱ）の通知については、ドッキングステーション内のＰＣＩ−ＩＳＡブリッジ側では複数チャネル分のＤＭＡ要求信号（ＤＲＥＱ）をシリアル化するための処理、ＤＭＡＣコア側ではシリアル転送で通知されたＤＲＥＱのチャネル情報をパラレルに分解してＤＭＡＣコア内のＤＭＡＣに与える処理が必要となる。このため、ＩＳＡ拡張カードからＤＭＡ要求信号（ＤＲＥＱ）が発生されてからそのＤＭＡ要求信号がＤＭＡＣで受け付けられるまでには、比較的多くの時間を要する。
【００１３】
同様に、ＤＡＣＫ＃についても、ＤＭＡＣコア側では複数チャネル分のＤＡＣＫ＃をシリアル化するための処理、ＰＣＩ−ＩＳＡブリッジ側ではシリアル転送で通知されたＤＡＣＫ＃のチャネル情報をパラレルに分解して元のＤＡＣＫ＃に戻す処理が必要となるので、その通知には時間が掛かる。
【００１４】
このようなタイムラグなどが原因で前述のＤＭＡシリアルチャネルプロトコルを利用してＤＲＥＱとＤＡＣＫ＃の送受信に矛盾が生じると、次のような誤動作が引き起こされる危険がある。以下、この誤動作発生のメカニズムを図９および図１０を参照して説明する。
【００１５】
図９はＤＭＡシリアルチャネルプロトコルを採用する場合に必要となると想定されるポータプルコンピュータのシステム構成を示し、図１０はそのポータブルコンピュータにおけるＤＭＡシリアルチャネルプロトコルの手順を示している。
【００１６】
図９に示されているように、ＣＰＵ１０１と内部ＰＣＩバス１０４との間にはホスト−ＰＣＩブリッジ装置１０２が設けられており、これによってＣＰＵ１０１のプロセッサバスと内部ＰＣＩバス１０４が繋がれる。システムメモリ１０３はホスト−ＰＣＩブリッジ装置１０２によって制御される。また、内部ＰＣＩバス１０４には、ＤＭＡＣコア１０５が接続されている。内部ＰＣＩバス１０４とドッキングステーションＤＳとの間はＰＣＩ−ＤＳブリッジ装置１０６によって繋がれる。ドッキングステーションＤＳ内部には、ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置１０７が設けられており、このＤＳ−ＰＣＩ／ＩＳＡブリッジ装置１０７には外部ＰＣＩバスおよび外部ＩＳＡバスが接続されている。
【００１７】
このシステムでは、外部ＩＳＡバス上のＩＳＡ拡張カードＡ，Ｂと内部ＰＣＩバス１０４上のＤＭＡＣコア１０５との間のＤＲＥＱ，ＤＡＣＫ＃の送受信は、ＤＭＡシリアルチャネルプロトコルに従って図１０の様に行われる。
（１）ＩＳＡ拡張カードＡがＤＲＥＱ  Ａをアクティブにする。
（２）ＤＳ−ＰＣＩ／ＩＳＡブリッジ１０７がＲＥＱ＃を利用したシルアル転送を行い、ＤＲＥＱ  ＡをＤＭＡＣコア１０５に送信する。この場合、シリアルＲＥＱ＃のスタートビットＳに後続するいくつかのシリアルビット列は、ＤＭＡチャネルＡがアクティブにされていることを示す。
（３）ＤＭＡＣコア１０５がシリアルＲＥＱ＃を受信し、前述のシリアルビット列によって指定されたＤＭＡチャネル（チャネルＡ）に対応する内部ＤＲＥＱ  Ａ（Ｉｎｔ．ＤＲＥＱ  Ａ）を発生する。このＩｎｔ．ＤＲＥＱ  Ａは、ＤＭＡＣコア内部のＤＭＡＣが有する複数チャネル分のＤＲＥＱ入力ポートの１つに供給される。
（４）ＤＭＡＣコア１０５がＧＮＴ＃を利用したシルアル転送を行い、ＤＲＥＱＡに対応するＤＡＣＫ  Ａ＃を送信する。この場合、シリアルＧＮＴ＃のスタートビットＳに後続するビット列によって、ＤＭＡ転送が実行されるＤＭＡチャネル（チャネルＡ）が選択される。
（５）ＤＳ−ＰＣＩ／ＩＳＡブリッジ１０７がシリアルＧＮＴ＃を受信し、前述のビット列によって指定されたＤＭＡチャネルに対応するＤＡＣＫ  Ａ＃を発生する。このＤＡＣＫ  Ａ＃によって、ＤＭＡチャネルＡを利用したＤＭＡ転送の開始がＩＳＡ拡張カードＡに通知される。
【００１８】
このような手順のうち、例えば（２）から（４）の間の期間においては、ＤＳ−ＰＣＩ／ＩＳＡブリッジ１０７は、シリアルＲＥＱ＃の再送信を行う可能性がある。再送信のトリガとなるのは、例えば、ＩＳＡ拡張カードＢからのＤＲＥＱ
Ｂがアクティブ状態に変化した場合である。
【００１９】
この場合、２つのＩＳＡ拡張カードＡ，ＢそれぞれからＤＲＥＱ  Ａ，ＤＲＥＱ  Ｂが発生していることを通知するためのシリアルＲＥＱ＃の再送信のために、発生中のＲＥＱ＃は一旦インアクティブにされる。この時、ＤＭＡＣコア１０５は、それをＩＳＡ拡張カードＡがＤＲＥＱ  Ａをインアクティブにしたものと誤って判断してしまい、ＤＭＡＣへの内部ＤＲＥＱ  Ａをインアクティブにする危険がある。この結果、ＤＭＡＣはＩＳＡ拡張カードＡに対応するＤＭＡ転送が終了されたと判断し、これによって図示のようにＤＡＣＫ  Ａ＃が出かかって消えるというタイミングが発生してしまう。この場合、ＩＳＡ拡張カードＡのＤＭＡ転送はイリーガルな状態で終了されてしまう。
【００２０】
また、図１０には示されてないが、手順（５）の期間中においても、もしＩＳＡ拡張カードＢからのＤＲＥＱ  Ｂの発生に起因してシリアルＲＥＱ＃の再送信が行われると、同様にして、ＩＳＡ拡張カードＡに対するＤＭＡ転送が途中で終了されてしまうという不具合が生じる。
【００２１】
このようにＤＭＡシリアルチャネルプロトコルを採用すると、１つのＲＥＱ＃線によって複数のＩ／Ｏデバイスそれぞれの最新のＤＲＥＱの状態を通知する必要があるため、前述のＤＲＥＱおよびＤＡＣＫ＃の転送プロトコルに矛盾が発生する危険があり、これによってＤＭＡ転送の誤動作が引き起こされるという欠点があった。
【００２２】
また、ＤＳ−ＰＣＩ／ＩＳＡブリッジ１０７は、実行されるＤＭＡ転送に対応したバスマスタが存在している場所に応じてバス方向（アドレス、および制御系バスの方向）を切り換えることが必要であるが、シリアルチャネルプロトコルを採用したシステムにおいては、そのバス方向を切り替えるタイミングが遅れ、結果としてＤＭＡ転送が実行されるまでに時間が掛かるという問題がある。
【００２３】
すなわち、上述したＤＡＣＫ＃のシリアル転送によってＤＭＡ転送の実行が指示されるＩ／Ｏデバイスが、ＩＳＡバスマスタの場合とバスマスタで無い場合とでは、以降、発生されるバスサイクルが大きく異なる。すなわち、外部ＩＳＡバスに接続されているＩＳＡバスマスタにＤＡＣＫ＃が返送された場合にはそのバスマスタ自体によって以降のバスサイクルが実行されるが、ＩＳＡバスマスタで無い場合には、バスサイクルは全てＤＭＡＣコア１０５によって実行される。このため、ＩＳＡバスマスタの場合とバスマスタで無い場合とでは、必要なバス方向は基本的に逆方向となる。
【００２４】
しかし、ＤＳ−ＰＣＩ／ＩＳＡブリッジ１０７は、外部ＩＳＡバス上のマスター信号ＭＡＳＴＥＲ＃が変化される時点まではＤＭＡ転送の実行が指示されるＩ／ＯデバイスがＩＳＡバスマスタか否かを決定できないため、バス方向の切り替えタイミングが遅れ、結果としてＤＭＡ転送が実行されるまでに多くの時間が掛かかってしまう。
【００２５】
この発明はこのような点に鑑みてなされたもので、ＤＭＡシリアルチャネルプロトコルを改良することによって前述の矛盾による誤動作やバス方向制御の遅れを解消できるようにし、ＤＭＡ転送処理の信頼性の向上および効率化を図ることができるコンピュータシステムを提供することを目的とする。
【００２６】
【課題を解決するための手段】
この発明によるコンピュータシステムは、ＰＣＩバスと、このＰＣＩバス上に定義され、バスマスタ毎に１組ずつ割り当てられているバスアクセス要求信号（ＲＥＱ＃）線およびバスアクセス許可信号（ＧＮＴ＃）線を利用してバスアクセスを調停するバスアービタ（ＰＢＡ）と、前記ＰＣＩバスに接続され、直接メモリアクセス（ＤＭＡ）を実行するＤＭＡコントローラと、前記ＤＭＡコントローラのＤＭＡ機能を必要とする複数のＩ／Ｏデバイスと、これら複数のＩ／Ｏデバイスと前記ＰＣＩバス間に接続された第１のバスマスタであって、前記複数のＩ／Ｏデバイスそれぞれから出力される複数のＤＭＡ要求信号（ＤＲＥＱ）の状態をシリアル情報に変換し、そのシリアル情報を、前記第１のバスマスタに割り当てられたバスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルによって前記ＤＭＡコントローラに送信する第１のバスマスタと、前記ＰＣＩバスおよび前記ＤＭＡコントローラに接続され、前記第１のバスマスタに割り当てられたバスアクセス要求信号（ＲＥＱ＃）線およびバスアクセス許可信号（ＧＮＴ＃）線を管理する管理手段であって、前記第１のバスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルによって送信されたシリアル情報を、前記ＤＭＡコントローラに入力するための複数のＤＭＡ要求信号（ＤＲＥＱ）に変換する手段、および前記ＤＭＡコントローラから出力される複数のＤＭＡアクノリッジ信号（ＤＡＣＫ＃）それぞれの状態をシリアル情報に変換し、そのシリアル情報を前記第１のバスマスタに割り当てられたバスアクセス許可信号（ＧＮＴ＃）線を利用したシリアル転送サイクルによって前記第１のバスマスタに送信する手段、を含む管理手段とを具備し、前記第１のバスマスタは、前記複数のＩ／ＯデバイスそれぞれからのＤＭＡ要求信号（ＤＲＥＱ＃）の状態変化が発生する度に前記バスアクセス要求信号（ＲＥＱ＃）線を利用したシリアル転送サイクルを実行して最新のＤＭＡ要求信号（ＤＲＥＱ＃）の状態を前記ＤＭＡコントローラに通知するプロシードモードと、ＤＭＡサイクル実行中のＩ／Ｏデバイスから出力されるＤＭＡ要求信号（ＤＲＥＱ＃）の状態変化だけを前記シリアル転送サイクルによって前記ＤＭＡコントローラに通知するフリーズモードを有し、前記プロシードモードおよびフリーズモードのいずれか一方のモードで動作するＤＭＡ要求通知手段と、前記バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送サイクルによって所定のＩ／Ｏデバイスに対するＤＭＡアクノリッジ（ＤＡＣＫ＃）を前記管理手段から受信したとき、前記ＤＭＡ要求通知手段の動作モードを前記プロシードモードから前記フリーズモードに切り替える手段とを具備することを特徴とする。
【００２７】
このコンピュータシステムにおいては、Ｉ／Ｏデバイスを制御する第１のバスマスタは、プロシードモードとフリーズモードの２つの動作モードを有しており、バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送によって所定のＩ／Ｏデバイスに対するＤＭＡアクノリッジ（ＤＡＣＫ＃）を受信したとき、その動作モードはプロシードモードからフリーズモードに切り替えられる。
【００２８】
フリーズモードでは、ＤＭＡアクノリッジ（ＤＡＣＫ＃）が通知されたＩ／Ｏデバイス、すなわちＤＭＡサイクル実行中のＩ／ＯデバイスのＤＲＥＱの状態に変化が生じた時のみ上述のバスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送サイクルが実行され、他のＩ／Ｏデバイスに関するＤＲＥＱの状態変化を通知するためのシリアル転送サイクルの実行は凍結される。
【００２９】
このため、バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送によってＤＭＡアクノリッジ（ＤＡＣＫ＃）が通知された後は、ＤＭＡサイクル実行中のＩ／ＯデバイスのＤＲＥＱがインアクティブにならない限り、たとえ他のＩ／Ｏデバイスに関するＤＲＥＱの状態に変化が生じてもバスアクセス要求信号（ＲＥＱ＃）を利用した再送信は行われない。したがって、その再送信のためにバスアクセス要求信号（ＲＥＱ＃）がＤＭＡサイクル実行中にインアクティブにされるといった不具合がなくなり、ＤＭＡ転送を正常に行うことが可能となる。
【００３０】
また、この発明は、同一のＩ／ＯデバイスについてそのＩ／ＯデバイスからのＤＭＡ要求信号（ＤＲＥＱ＃）がアクティブにされていることを示すシリアル情報を再送する場合と、前記バスアクセス許可信号（ＧＮＴ＃）を利用したシリアル転送サイクルによって送信されたＤＭＡアクノリッジ（ＤＡＣＫ＃）によって選択されたＩ／ＯデバイスからのＤＭＡ要求信号（ＤＲＥＱ＃）がインアクティブにされたことを示すシリアル情報を送信する場合とで、前記バスアクセス要求信号（ＲＥＱ＃）を利用したシリアル転送サイクルにおける前記バスアクセス要求信号（ＲＥＱ＃）のインアクティブ期間を異ならせ、これによって開始されたシリアル転送サイクルが、選択された、つまりＤＭＡサイクルの実行が指示されたＩ／ＯデバイスからのＤＭＡ要求が終了したことを通知するためのサイクルであるか否かをＤＭＡコントローラに通知するＤＭＡ要求通知手段を第１のバスマスタに具備したことを特徴とする。
【００３１】
この構成によれば、バスアクセス要求信号のインアクティブ期間の長さによって、開始されるシリアル転送サイクルが、ＤＭＡサイクルの実行が通知されたＩ／ＯデバイスからのＤＭＡ要求がインアクティブにされたことを通知するためのサイクルであるか否かがＤＭＡコントローラに通知される。このため、ＤＭＡ要求を再送する目的でバスアクセス要求信号がインアクティブされても、それが、ＤＭＡサイクル実行中のＩ／ＯデバイスがＤＭＡ要求をインアクティブした、またはバスが解放されたと誤判断されることは無くなる。よって、ＤＭＡ要求を発行したＩ／Ｏデバイスに対するＤＭＡアクノリッジが出かかって消えるという不具合を防止できる。
【００３４】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係わるコンピュータシステムの構成が示されている。このコンピュータシステムは、ノートブックタイプまたはラップトップタイプのポータブルパーソナルコンピュータであり、そのシステムボード上には３種類のバス、つまりプロセッサバス１、内部ＰＣＩバス２、および内部ＩＳＡバス３が配設されており、またこのポータブルパーソナルコンピュータ本体のＤＳコネクタに接続可能なドッキングステーション内には、外部ＰＣＩバス４と外部ＩＳＡバス５が配設されている。
【００３５】
システムボード上には、ＣＰＵ１１、ホスト／ＰＣＩブリッジ装置１２、システムメモリ１３、各種ＰＣＩマスターデバイス１４、内部ＰＣＩ−ＩＳＡブリッジ装置１５、ＰＣＩ−ＤＳ（ＤＳ：ドッキングステーション）ブリッジ装置１６、ＰＣカードコントローラ１７、ＰＣＩ  ＤＭＡデバイス１８などが設けられている。また、ドッキングステーション内には、ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０が設けられている。
【００３６】
ＣＰＵ１１は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”などによって実現されている。このＣＰＵ１１の入出力ピンに直結されているプロセッサバス１は、６４ビット幅のデータバスを有している。
【００３７】
システムメモリ１３は、オペレーティングシステム、デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、複数のＤＲＡＭによって構成されている。このシステムメモリ１３は、３２ビット幅または６４ビット幅のデータバスを有する専用のメモリバスを介してホスト−ＰＣＩブリッジ装置１２に接続されている。メモリバスのデータバスとしてはプロセッサバス１のデータバスを利用することもできる。この場合、メモリバスは、アドレスバスと各種メモリ制御信号線とから構成される。
【００３８】
ホスト／ＰＣＩブリッジ装置１２は、プロセッサバス１と内部ＰＣＩバス２との間を繋ぐブリッジＬＳＩであり、ＰＣＩバス２のバスマスタの１つとして機能する。このホスト／ＰＣＩブリッジ装置１２は、プロセッサバス１と内部ＰＣＩバス２との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能、およびメモリバスを介してシステムメモリ１３のアクセス制御する機能などを有している。
【００３９】
内部ＰＣＩバス２はクロック同期型の入出力バスであり、内部ＰＣＩバス２上の全てのサイクルはＰＣＩバスクロックに同期して行なわれる。ＰＣＩバスクロックの周波数は最大３３ＭＨｚである。ＰＣＩバス２は、時分割的に使用されるアドレス／データバスを有している。このアドレス／データバスは、３２ビット幅である。
【００４０】
ＰＣＩバス２上のデータ転送サイクルは、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレスおよび転送タイプが出力され、データフェーズでは８ビット、１６ビット、２４ビットまたは３２ビットのデータが出力される。
【００４１】
ＰＣＩマスターデバイス１４は、ホスト／ＰＣＩブリッジ装置１２と同様にＰＣＩバス２のバスマスタの１つであり、イニシエータまたはターゲットとして動作する。
【００４２】
内部ＰＣＩ−ＩＳＡブリッジ装置１５は、内部ＰＣＩバス２と内部ＩＳＡバス３との間を繋ぐブリッジＬＳＩである。内部ＩＳＡバス３には、メモリ、複数のＩＳＡ  Ｉ／Ｏデバイス３１，３２，…が接続されている。これらＩ／Ｏデバイス３１，３２は、内部ＰＣＩ−ＩＳＡブリッジ装置１５内蔵のＤＭＡＣにＤＭＡ転送を要求するデバイス、つまりＤＭＡスレーブである。
【００４３】
この内部ＰＣＩ−ＩＳＡブリッジ装置１５には、ＰＣＩバスアービタ（ＰＢＡ）１５１、ＤＭＡＣコア（ＭＰＰＤＭＡ）１５２、および内部ＩＳＡバスブリッジ（ＩＩＢＢ）１５３が内蔵されている。
【００４４】
ＰＣＩバスアービタ（ＰＢＡ）１５１は、内部ＰＣＩバス２に結合される全てのバスマスタデバイス間でバス使用権の調停を行う。この調停には、バスマスタデバイス毎に１ペアずつ割り当てられる内部ＰＣＩバス２上の信号線（バスリクエスト信号ＲＥＱ＃線、グラント信号ＧＮＴ＃線）が用いられる。
【００４５】
バスリクエスト信号ＲＥＱ＃は、それに対応するデバイスが内部ＰＣＩバス２の使用を要求していることをＰＣＩバスアービタ（ＰＢＡ）１５１に通知するための信号である。グラント信号ＧＮＴ＃は、バスリクエスト信号ＲＥＱ＃を発行したデバイスに、バス使用を許可することを通知する信号である。
【００４６】
また、このシステムでは、内部ＰＣＩバス２上に定義された複数組のＲＥＱ＃，ＧＮＴ＃線のうち、ＤＳ−ＰＣＩ／ＩＳＡブリッジ１０７に割り当てられた１組のＲＥＱ＃，ＧＮＴ＃線は、外部ＩＳＡバス５に接続されたＤＭＡスレーブ等との間でＤＲＥＱ，ＤＡＣＫ＃を授受するというＤＭＡシリアルチャネルプロトコルの実現のために使用される。
【００４７】
ＰＣＩバスアービタ（ＰＢＡ）１５１には、内部ＰＣＩバス２上のほとんど全てのバスリクエスト信号ＲＥＱ＃線およびグラント信号ＧＮＴ＃線が接続されており、バス使用権の調停はそのＰＣＩバスアービタ（ＰＢＡ）１５１によって集中的に制御される。
【００４８】
ＤＭＡＣコア（ＭＰＰＤＭＡ）１５２は、ＩＳＡ  ＤＭＡＣ１５２１、バスリクエストおよびグラントマネージャ（ＲＧＭ；ＲＥＱ＃，ＧＮＴ＃  Ｍａｎａｇｅｒ）１５２２、および内部ＩＳＡ  ＤＭＡルータ（ＩＩＤＲ；Ｉｎｔｅｒｎａｌ  ＩＳＡ  ＤＭＡ  Ｒｏｕｔｅｒ）１５２３の３つのブロックから構成されている。このＤＭＡＣコア（ＭＰＰＤＭＡ）１５２は内部ＰＣＩ−ＩＳＡブリッジ装置１５内の独立した機能ブロックであり、ＤＭＡ以外の機能については、ＤＭＡＣコア（ＭＰＰＤＭＡ）１５２は使用されず、他のブロックだけが動作する。
【００４９】
ＩＳＡ  ＤＭＡＣ１５２１、バスリクエストおよびグラントマネージャ（ＲＧＭ）１５２２、および内部ＩＳＡ  ＤＭＡルータ（ＩＩＤＲ）１５２３の具体的な接続関係を図２に示す。
【００５０】
ＩＳＡ  ＤＭＡＣ１５２１は、内部ＰＣＩバス２に接続されたバスマスタの１であり、ＤＭＡ転送を必要とするデバイス（ＤＭＡスレーブなど）からの要求に応じてＤＭＡ転送を実行する。
【００５１】
ＤＭＡスレーブは、論理的には内部ＰＣＩバス２に接続されている（実際には、ブリッジ１５または２０経由で内部ＩＳＡバス３または外部ＩＳＡバス５に接続されている場合がほとんどである）。
【００５２】
ＩＳＡ  ＤＭＡＣ１５２１は、内部ＤＲＥＱ０〜７が入力されるＤＲＥＱ入力ポートと、内部ＤＡＣＫ＃０〜７を出力するＤＡＣＫ＃出力ポートを有しており、それらＤＲＥＱ入力ポートおよびＤＡＣＫ＃出力ポートの双方はＲＧＭ１５２２およびＩＩＤＲ１５２３にそれぞれ接続されている。内部ＩＳＡバス３上のＤＭＡスレーブ３１，３２…とＩＳＡ  ＤＭＡＣ１５２１との間のＤＲＥＱおよびＤＡＣＫ＃の授受は、ＩＩＤＲ１５２３を介して実行される。また、外部ＩＳＡバス５上のＩＳＡマスタ５１、ＤＭＡスレーブ５２，５３…とＩＳＡ  ＤＭＡＣ１５２１との間のＤＲＥＱおよびＤＡＣＫ＃の授受は、ＲＧＭ１５２２を介してＤＭＡシリアルチャネルプロトコルによって行われる。
【００５３】
ＩＳＡ  ＤＭＡＣ１５２１は内部ＰＣＩバス２に接続され、またＤＭＡ転送を要求するデバイスは内部ＩＳＡバス３または外部ＩＳＡバス５に接続されているため、ＩＳＡ  ＤＭＡＣ１５２１によるＤＭＡ転送では、リードサイクル（Ｉ／Ｏリードまたはメモリリード）とライトサイクル（メモリライトまたはＩ／Ｏライト）とは、時間的に同時には発生しない。すなわち、まずリードサイクルが行われ、そのときのリードデータがＩＳＡ  ＤＭＡＣ１５２１内のバッファにラッチされる。つぎに、ライトサイクルが実行され、さきほどラッチしておいたデータがライトデータとして出力される。
【００５４】
リードサイクル、ライトサイクルとも、メモリ、Ｉ／Ｏを問わず、内部ＰＣＩバス２上で発生され、必要な場合はその内部ＰＣＩバス２上のバスサイクルがブリッジ装置１５、または２０によってＩＳＡバスサイクルに変換される。すなわち、ＩＳＡ  ＤＭＡＣ１５２１は、メモリサイクルとＤＭＡ専用Ｉ／ＯサイクルのどちらもＰＣＩバス２上に発生し、ＩＳＡバスサイクルについては関知しない。
【００５５】
ＩＳＡ  ＤＭＡＣ１５２１は、ＩＳＡバスシステムアーキテクチャで標準となっている８２Ｃ３７互換の機能を有しており、内部ＤＲＥＱ０〜７と内部ＤＡＣＫ＃０〜７とによってＤＭＡチャンネルＣＨ０〜ＣＨ７をサポートしている。このうち、ＤＭＡチャンネルＣＨ４は２つのＤＭＡＣコントローラをカスケード接続するために使用されるため、ＤＭＡ転送には使用されない。このため、内部ＤＲＥＱ０〜７および内部ＤＡＣＫ＃０〜７のうち、ＤＲＥＱ４およびＤＡＣＫ＃４は、実際には、ＲＧＭ１５２２とＩＩＤＲ１５２３のどちらにも接続されない。
【００５６】
ＩＳＡ  ＤＭＡＣ１５２１は、ＤＭＡチャンネル毎に１ペアずつ用意された内部ＤＲＥＱ０〜７およびＤＡＣＫ＃０〜７を用いて、ＤＭＡチャネルの調停を行う。内部ＤＲＥＱは、ＤＭＡスレーブが、ＩＳＡ  ＤＭＡＣ１５２１にＤＭＡ転送の実行を要求していることを通知するために使用されるＤＭＡリクエスト信号である。ＤＡＣＫ＃は、ＩＳＡ  ＤＭＡＣ１５２１がＤＭＡ転送を要求したＤＭＡスレーブに対してＤＭＡサイクルの実行開始を通知するためのＤＭＡアクノリッジ信号であり、このＤＡＣＫ＃によってＤＭＡ転送対象のＤＭＡスレーブが選択される。
【００５７】
ＤＭＡチャネルの割り当ては、内部ＩＳＡバス３上のデバイスと外部ＩＳＡバス５上のデバイスとの間で排他的に行われる。各デバイスは、それに割り当てられたＤＭＡチャネルに対応するＤＲＥＱ、ＤＡＣＫ＃を用いてＩＳＡ  ＤＭＡＣ１５２１と送受信する。
【００５８】
この場合、外部ＩＳＡバス５上のデバイスとＩＳＡ  ＤＭＡＣ１５２１との間のＤＲＥＱおよびＤＡＣＫ＃の送受信は、前述したように、１組のシリアルＲＥＱ＃，シリアルＧＮＴ＃信号線を使用したＤＭＡシリアルチャネルプロトコルに従って実行される。
【００５９】
このＤＭＡシリアルチャネルプロトコルでは、シリアルＲＥＱ＃によってＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０から最新のＤＲＥＱの状態が送信され、それがＲＧＭ１５２２に送られる。ＲＧＭ１５２２では、シリアルＲＥＱ＃が分解されてＩＳＡ  ＤＭＡＣ１５２１への内部ＤＲＥＱ０〜７に変換される。
【００６０】
また、ＩＳＡ  ＤＭＡＣ１５２１から出力される内部ＤＡＣＫ＃０〜７によって指定されるＤＭＡ転送対象のチャネル情報は、ＲＧＭ１５２２が実行するシリアルＧＮＴ＃信号線を利用したシリアル転送によって、ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０に送られる。
【００６１】
ＩＳＡ  ＤＭＡＣ１５２１は、ＲＧＭ１５２２およびＩＩＤＲ１５２３から提供される最新のＤＲＥＱチャンネル情報に基づき、ＤＲＥＱチャンネルマスクの設定および調停方式の設定に従って、８２Ｃ３７互換の、ＤＲＥＱチャンネル間調停を行う。有効なＤＭＡ要求（ＤＲＥＱ）があれば、ＩＳＡ  ＤＭＡＣ１５２１は、まず、自身に割り当てられているＲＥＱ＃をアクティブにしてＰＣＩバスアービタ（ＰＢＡ）１５１に対してバス使用権を要求し、ＰＢＡ１５１からＧＮＴ＃が与えられるのを待つ。
【００６２】
ＰＢＡ１５１からＧＮＴ＃が与えられると、ＩＳＡ  ＤＭＡＣ１５２１は、調停の結果選択したＤＭＡチャンネル番号に対応する内部ＤＡＣＫ＃をアクティブにして、ＤＭＡ転送を実行するＤＭＡチャンネル番号をＲＧＭ１５２２とＩＩＤＲ１５２３へ返す。そして、ＩＳＡ  ＤＭＡＣ１５２１は、選択されたＤＭＡチャンネルのセットアップ情報によって規定されるＤＭＡ転送モード（シングル転送モード、ブロック転送モード、デマンド転送モード、カスケードモード）に対応するＤＭＡサイクルを実行する。この場合、ＩＳＡ  ＤＭＡＣ１５２１は、前述したようにメモリ、Ｉ／Ｏサイクルとも、ＰＣＩバスのバスサイクルのみをサポートし、ＩＳＡバスのバスサイクルについてはブリッジ装置１５または２０によってエミュレートされる。
【００６３】
ＲＧＭ１５２２は、複数のＤＭＡチャネルをシリアル化して転送するというＤＭＡシリアルチャネルプロトコルに関する処理を行うためにシリアルＲＥＱ＃およびシリアルＧＮＴ＃の状態を管理する。このＲＧＭ１５２２は、ＤＭＡシリアルチャネルプロトコルと、ＩＳＡ  ＤＭＡＣ１５２１に対するＩＳＡスタイルのＤＲＥＱ／ＤＡＣＫ＃プロトコルとの間の変換を行う。
【００６４】
ＲＧＭ１５２２には、複数のＲＥＱ＃信号を入力することができる。また、各ＲＥＱ＃信号毎に、そのＲＥＱ＃信号のプロトコルをプログラムすることができる。したがって、シリアルＲＥＱ＃およびシリアルＧＮＴ＃として使用されるＲＥＱ＃およびＧＮＴ＃信号線のペアを複数用意すれば、ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０経由で行われる外部ＩＳＡバス５上のデバイスとの間のＤＲＥＱ，ＤＡＣＫ＃の授受だけでなく、例えばＰＣカードコントローラ１７のＰＣカード６１，６２とＩＳＡ  ＤＭＡＣ１５２１との間のＤＲＥＱ，ＤＡＣＫ＃の授受についてもＤＭＡシリアルチャネルプロトコルによって行うことができる。
【００６５】
また、ＲＧＭ１５２２は、ＤＭＡシリアルチャネルプロトコルと、ＰＢＡ１５１がサポートする標準ＰＣＩスタイルのアービトレーションのためのＲＥＧ＃／ＧＮＴ＃プロトコル（これは、文献“ＰＣＩ  ＬＯＣＡＬ  ＢＵＳ”，Ｒｅｖｉｓｉｏｎ２．０１、１９９４年１０月２０日、ＰＣＩ  Ｓｐｅｃｉａｌ  ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ  Ｐ４７〜Ｐ５２に記載されている）。
【００６６】
すなわち、外部ＩＳＡバス５上のデバイスとの間のＤＲＥＱ，ＤＡＣＫ＃の授受だけでなく、外部ＰＣＩバス４上のＰＣＩマスタ４１との間のＲＥＱ＃，ＧＮＴ＃の授受もＤＭＡシリアルチャネルプロトコルを使用して行われる。この場合のＲＥＱ＃，ＧＮＴ＃の処理は、ＲＧＭ１５２２によって次のように行われる。
【００６７】
外部ＰＣＩバス４上のＰＣＩマスタ４１（ＬＡＮボード、ＳＣＳＩボードなど）は、ＲＥＱ＃をアクティブにすることによって、バス使用要求をＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０に知らせる。ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０は、シリアルＲＥＱ＃を利用したシルアルデータ転送によって、バス使用要求をＲＧＭ１５２２へ知らせる。この場合、そのバス使用要求の通知には、ＩＳＡデバイスによって使用されていないＤＭＡチャネルであるＤＲＥＱ４が用いられる。
【００６８】
ＲＧＭ１５２２は、シリアルＲＥＱ＃信号を分解し、シリアルＲＥＱ＃によってＤＲＥＱ４が通知されたことを検出すると、ＲＥＱ＃をアクティブにしてＰＢＡ１５１に対してバス使用を要求する。ＰＢＡ１５１は、標準ＰＣＩのルールによって調停を行い、ＧＮＴ＃によってＲＧＭ１５２２に対してバス使用を許可する。
【００６９】
ＲＧＭ１５２２は、ＰＢＡ１５１からのＧＮＴ＃を受け取ると、シリアルＧＮＴ＃を使用したシリアルデータ転送によって、バス使用が許可されたことをＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０に通知する。この通知には、ＤＡＣＫ４が使用される。ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０は、ＲＧＭ１５２２が送信したシリアルＧＮＴ＃信号を分解し、ＰＣＩマスタ４１にＧＮＴ＃を与える。ＰＣＩマスタ４１は、ＧＮＴ＃を受け取るとバスサイクルを開始する。
【００７０】
次に、内部ＩＳＡ  ＤＭＡルータ（ＩＩＤＲ）１５２３について説明する。
内部ＩＳＡ  ＤＭＡルータ（ＩＩＤＲ）１５２３は、プログラムされたマッピング情報にしたがって、内部ＩＳＡバス３上のＤＭＡスレーブ３１，３２，…にマッピングされるＤＭＡチャネルを変更する。ＩＩＤＲ１５２３は、ＤＭＡスレーブ３１，３２，…からのＤＲＥＱ信号の状態を、マッピング情報に従って、それらデバイスのＤＭＡチャネル番号に対応する内部ＤＲＥＱに変換して、ＩＳＡＤＭＡＣ１５２１に伝える。また、ＩＩＤＲ１５２３は、ＩＳＡ  ＤＭＡＣ１５２１からの内部ＤＡＣＫ＃を、マッピング情報に従って、ＤＭＡスレーブ３１，３２が実際に使用しているＤＡＣＫ＃に変換して、内部ＩＳＡバス３上に出力する。
【００７１】
内部ＩＳＡバスブリッジ（ＩＩＢＢ）１５３は、内部ＰＣＩバス２と内部ＩＳＡバス３とを繋ぐブリッジであり、メモリおよびＩ／Ｏなどの内部ＩＳＡバス３上の全てのデバイスを制御する。このＩＩＢＢ１５３は、ＩＳＡ  ＤＭＡＣ１５２１がＤＭＡ転送のためにＰＣＩバス２上に発生するメモリまたはＩ／Ｏサイクルをプロトコル変換して、内部ＩＳＡバス３上へ伝える。
【００７２】
ＰＣＩ−ＤＳブリッジ装置１６は、内部ＰＣＩバス２と、ドッキングステーションに導出されるＰＣＩバス相当のドッキングバスとを繋ぐブリッジＬＳＩであり、ＰＣＩバス２上のエージェントとして機能する。このＰＣＩ−ＤＳブリッジ装置１６には、ＤＭＡシリアルチャンネルプロトコルによるシリアルＲＥＱ＃／ＧＮＴ＃の転送の同期化のためのバッファが設けられている。
【００７３】
ＰＣカードコントローラ１７は、ＰＣＩバスマスタの１つであり、ＤＭＡシリアルチャネルプロトコルをサポートしている。このＰＣカードコントローラ１７によって制御されるＰＣカード６１，６２がＤＭＡ転送を要求した時、そのＤＭＡ要求すなわちＤＲＥＱは、ＰＣカードコントローラ１７に割り当てられたＲＥＱ＃信号線を利用したシリアル転送によってＲＧＭ１５２２に送信される。また、ＲＧＭ１５２２からのＤＡＣＫ＃については、ＰＣカードコントローラ１７に割り当てられたＧＮＴ＃信号線を利用したシリアル転送によってＰＣカードコントローラ１７に送られる。このシリアルＧＮＴ＃は、ＰＣカードコントローラ１７によってＤＡＣＫ＃に分解されて、ＰＣカード６１または６２に渡される。
【００７４】
ＰＣＩＤＭＡ１８は、ＰＣカードコントローラ１７と同様、内部ＰＣＩバス２上のエージェントであり、且つＤＭＡシリアルチャネルプロトコルをサポートしている。このＰＣＩＤＭＡ１８によって制御されるＤＭＡスレーブ１９がＤＭＡ転送を要求した時、そのＤＭＡ要求、すなわちＤＲＥＱはシリアルＲＥＱ＃よってＲＧＭ１５２２に送信される。また、ＲＧＭ１５２２からのシリアルＧＮＴ＃はＰＣＩＤＭＡ１８によってＤＡＣＫ＃に分解されてＤＭＡスレーブ１９に通知される。
【００７５】
ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０は、ＤＳコネクタを介してコンピュータ本体からドッキングステーションに導出されるドッキングバス（ＰＣＩバス相当）と外部ＰＣＩバス４および外部ＩＳＡバス５とを繋ぐブリッジＬＳＩである。このＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０は、ＰＣカードコントローラ１７と同じくＰＣＩバスマスタの１つであり、且つＤＭＡシリアルチャネルプロトコルをサポートしている。
【００７６】
ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置２０には、外部ＰＣＩバスブリッジ（ＥＰＢＢ；Ｅｘｔｅｒｎａｌ  ＰＣＩ  Ｂｕｓ  Ｂｒｉｄｇｅ）２０１、外部ＩＳＡバスブリッジ（ＥＩＢＢ；Ｅｘｔｅｒｎａｌ  ＩＳＡ  Ｂｕｓ  Ｂｒｉｄｇｅ）２０２、ローカルバスアービタ（ＬＢＡ；Ｌｏｃａｌ  Ｂｕｓ  Ａｒｂｉｔｅｒ）２０３、および外部ＩＳＡ  ＤＭＡルータ（ＥＩＤＲ；Ｅｘｔｅｒｎａｌ  ＩＳＡ  ＤＭＡ  Ｒｏｕｔｅｒ）２０４が設けられている。
【００７７】
ＥＰＢＢ２０１は、内部ＰＣＩバス２上にＩＳＡ  ＤＭＡＣ１５２１が発生するメモリサイクルおよびＩ／ＯサイクルをＰＣＩ−ＤＳブリッジ１６を経由して受け取り、それを外部ＰＣＩバス４上へ伝える。また、外部ＰＣＩバス４上のＰＣＩマスタデバイス４１にバス使用権が与えられた場合は、ＥＰＢＢ２０１は、外部ＰＣＩバス４上のバストランザクションをドッキングバス上に発生させる。
【００７８】
ＥＩＢＢ２０２は、内部ＰＣＩバス２上にＩＳＡ  ＤＭＡＣ１５２１が発生するメモリサイクルおよびＩ／ＯサイクルをＰＣＩ−ＤＳブリッジ１６を経由して受け取り、それをプロトコル変換して外部ＩＳＡバス５上へ伝える。また、外部ＩＳＡバス５上のＩＳＡマスタデバイス４１にバス使用権が与えられた場合は、ＥＩＢＢ２０２は、外部ＩＳＡバス５上のバストランザクションをドッキングバス上に発生させる。
【００７９】
ＬＢＡ２０３およびＥＩＤＲ２０４は、ＤＭＡシリアルチャネルプロトコルをサポートするために設けられたものであり、それらの接続関係を図３に示す。
ＬＢＡ２０３は、外部ＰＣＩバス４上のＰＣＩバスマスタ４１からのバス使用要求ＲＥＱ＃と、外部ＩＳＡバス５上のＩＳＡマスタ５１およびＤＭＡスレーブ５２，５３からのＤＲＥＱ信号（基本的にＩＳＡのＤＭＡチャンネル分ある）の状態の変化を監視しており、最新の状態をシリアルＲＥＱ＃を利用したビット列のシリアル転送によって、ＰＣＩ−ＤＳブリッジ１６経由でＲＧＭ１５２２へ伝える。
【００８０】
シリアルＲＥＱ＃で送信されるビット列のフォーマットは次の通りである。
0003576647.tif 000002
ＬＢＡ２０３は、アクティブにされたＲＥＱ＃の前縁をスタートｂｉｔ（Ｓ）とし、以後、ＤＭＡチャンネルの０から７までを１クロックフレームづつ使用して、シリアルに伝える。チャンネル４のフレームは、ＰＣＩマスタ４１のバス要求状態の変化を伝えるために使用され、それ以外は、ＩＳＡマスタ５１，ＤＭＡスレーブ５２，５３のＤＭＡ要求の状態変化を伝えるために使用される。
【００８１】
各フレームは、“Ｌ”で要求なしを意味し、“Ｈ”で要求ありを意味する。上述の例では、ＤＲＥＱ０、２、７がアクティブであり、且つＰＣＩマスタ４１がバス使用を要求している状態（ＤＲＥＱ４がアクティブ）に対応している。
【００８２】
ＬＢＡ２０３は、２つの動作状態（プロシード、フリーズ）を有する。ＲＧＭ１５２２からのシリアルＧＮＴ＃を受け取るまでは、ＬＢＡ２０３は、プロシード状態であり、常に最新の状態をＲＧＭ１５２２へ伝えるように努力する。すなわち、プロシード状態では、ＰＣＩバスマスタ４１のＲＥＱ＃、またはＩＳＡマスタ５１、およびＤＭＡスレーブ５２，５３のＤＲＥＱ状態の変化が発生する度に、それをＤＭＡシリアルチャンネルプロトコルによってＲＧＭ１５２２に通知する。
【００８３】
ＲＧＭ１５２２からのシルアルＧＮＴ＃を受け取ると、ＬＢＡ２０３は、そのシルアルＧＮＴ＃に含まれるビット列をデコードし、ＤＡＣＫ＃をＥＩＤＲ２０４へ返すか、あるいは外部ＰＣＩバス４にＧＮＴ＃を返す。
【００８４】
シリアルＧＮＴ＃でＲＧＭ１５２２から送信されるビット列のフォーマットは次の通りである。
0003576647.tif 000003
ＲＧＭ１５２２は、アクティブにされたＧＮＴ＃の前縁をスタートｂｉｔ（Ｓ）とし、以後、ＤＭＡチャンネルのＤＡＣＫ＃０から７までのどれかひとつを３ｂｉｔでコード化した情報を、ＬＳＢから順番に、各ｂｉｔに１クロックフレームづつ割り当てて、シリアルに伝える。チャンネル４のコードは、ＰＣＩマスタ４１のバス要求状態に応答するＧＮＴ＃を伝えるために使用され、それ以外は、ＩＳＡマスタ５１，ＤＭＡスレーブ５２，５３のＤＭＡ要求に対するＤＡＣＫ＃を伝えるために使用される。
【００８５】
上述の例では、チャンネルコード＝１であり、ＤＭＡチャンネル１が選択された（ＤＡＣＫ１＃が与えられた）ことを意味する。
一旦、ＧＮＴ＃を受け取ると、ＬＢＡ２０３の動作状態はプロシード状態からフリーズ状態に切り換えられる。フリーズ状態は、そのＧＮＴ＃に対応するデバイス（ＰＣＩマスター、ＩＳＡマスター、ＤＭＡスレーブ）がバスの使用要求を取り下げるまで維持され、その期間では、たとえ他のデバイスに状態変化が生じても、それを通知するためのシリアルＲＥＱ＃サイクルの実行は凍結され、ＲＥＱ＃はアクティブ状態に維持され続ける。
【００８６】
フリーズ状態は、シリアルＲＥＱ＃がＤＭＡサイクル実行中にインアクティブにされるといった不具合を防止するために用意されたこの発明の特徴とする動作ステートであり、その詳細は、図４および図５を参照して後述する。
【００８７】
このシステムのＤＭＡシリアルチャンネルプロトコルでは、ＰＣＩマスタ用に割り当てられたフレームはチャネル４だけである。このため、外部ＰＣＩバス４上に複数のＰＣＩマスタが存在する場合には、それら複数のＰＣＩマスタからのＲＥＱ＃間の調停もＬＢＡ２０３によって行われる。
【００８８】
ＥＩＤＲ２０４は、プログラムされたマッピング情報にしたがって、外部ＩＳＡバス５上のＩＳＡマスタ５１およびＤＭＡスレーブ５２，５３それぞれにマッピングされるＤＭＡチャネルを変更する。このＥＩＤＲ２０４と前述のＩＩＤＲ１５２３との共同作用により、内部ＩＳＡバス３上のデバイスと外部ＩＳＡバス５上のデバイスとにＤＭＡチャネルを排他的に割り当てることができる。
【００８９】
ＥＩＤＲ２０４は、ＩＳＡマスタ５１およびＤＭＡスレーブ５２，５３それぞれからのＤＲＥＱ信号の状態を、マッピング情報に従って、それらデバイスのＤＭＡチャネル番号に対応するＤＲＥＱ信号に変換してＬＢＡ２０３に伝える。また、ＥＩＤＲ２０４は、ＬＢＡ２０３からのＤＡＣＫ＃を、マッピング情報に従って、ＩＳＡマスタ５１およびＤＭＡスレーブ５２，５３が実際に使用しているＤＡＣＫ＃に変換して、外部ＩＳＡバス５上に出力する。
【００９０】
次に、ＩＳＡ  ＤＭＡＣ１５２１によって実行されるＤＭＡ転送処理の全体の流れを説明する。
（１）ＩＳＡ互換のＤＲＱ調停
ＩＳＡ  ＤＭＡＣ１５２１は、ＩＳＡ互換のＤＲＥＱ信号を、ＩＩＤＲ１５２３とＲＧＭ１５２２とから受け取る。これをもとに、調停を行い、有効な（マスクされていない）ＤＭＡ要求があるか、どのＤＭＡチャンネルへＤＡＣＫ＃を返すか、を決定する。
（２）内部ＰＣＩバスの使用要求の発生
有効なＤＭＡ要求があると、ＩＳＡ  ＤＭＡＣ１５２１は、ＲＥＱ＃をＰＢＡ１５１に対して発生する。ただし、この時点では、ＤＡＣＫ＃を与えるＤＭＡチャンネルは決定しない。また、内部ＰＣＩバス２がロック状態のときは、ＲＥＱ＃の発生は抑制される。
（３）内部ＰＣＩバス使用権の獲得
ＩＳＡ  ＤＭＡＣ１５２１は、ＰＢＡ１５１からのＧＮＴ＃を獲得すると、必要なＤＭＡ転送（一般的に、複数回のＰＣＩバスサイクルが発生）がすべて終了するまでは、バス使用要求ＲＥＱ＃を出し続ける。途中で、ターゲットリトライによるバスサイクル終了があっても、バスを解放しない。
【００９１】
この時点で、再度、内部ＰＣＩバス２のロック状態をチェックし、ロックされていれば、ＲＥＱ＃をインアクティブにし、ＧＮＴ＃を無効化する。
（４）ＤＡＣＫ＃アサート
ＩＳＡ  ＤＭＡＣは、ＧＮＴ＃を獲得した時点で、ＤＡＣＫ＃を与えるＤＭＡチャンネルを決定する。ＤＡＣＫ＃を、ＲＧＭ１５２２とＩＩＤＲ１５２３へ送る。ＤＡＣＫ＃をアクティブにした時点で、ＤＭＡチャンネルが固定される。
（５）バスサイクルの発生とその繰り返し
ＩＳＡ  ＤＭＡＣ１５２１は、ＤＡＣＫ＃をアサートしてから、内部ＰＣＩバス２にバスサイクルを発生する。ただし、選択されたＤＭＡチャンネルが、カスケードモードにプログラムされている場合は、バスサイクルは発生しない。
【００９２】
バスサイクルの種類は、選択されたＤＭＡチャンネルのモードレジスタの内容（転送タイプ）により、ライト転送、リード転送、ベリファイ転送の３種類に分類される。
【００９３】
ここでは、ライト転送（Ｉ／Ｏリード→メモリライト）について具体的に説明する。ライト転送は、次の２つのバスサイクルを１組とし、それを必要回数繰り返すことによって実行される。
【００９４】
・ＤＭＡ専用Ｉ／Ｏサイクル（リード）
・メモリライトサイクル
ＤＭＡ専用Ｉ／Ｏサイクル（リード）は、標準のＰＣＩバスのＩ／Ｏリードサイクルと全く同じである。ただし、Ｉ／Ｏアドレスが特別の意味を持つ。
【００９５】
Ｉ／Ｏアドレスは、
００００００００ｈ…ＴＣなし
０００００００４ｈ…ＴＣあり
のいづれかである。このアドレスは、８２Ｃ３７（ＤＭＡＣ）に割り当てられており、ＩＳＡ  ＤＭＡＣ１５２１以外のターゲットが応答することはない。ＴＣは転送カウント値が尽きた事、つまり転送終了を示す信号である。
【００９６】
Ｉ／Ｏターゲットとなるエージェントは、ＤＡＣＫ＃をもらっている経路にあるすべてのブリッジである。例えば、シリアルＧＮＴ＃によって外部ＩＳＡバス５上のＤＭＡスレーブにＤＡＣＫ＃が与えられた場合には、ＰＣＩ−ＤＳブリッジ１６、およびＤＳ−ＰＣＩ／ＩＳＡブリッジ２０のＥＩＢＢ２０２が応答する。
【００９７】
ブリッジ２０は、ＩＳＡバス５上にコマンド（ＩＯＲ＃）を出力する。アドレスがＴＣを指定しているとき（０００００００４ｈ）は、ＩＳＡバス５上へＴＣを出力する。このとき、ＤＡＣＫ＃は、ＥＩＤＲ２０４によりすでに出力されている。従って、ＩＳＡバス５上には、ＤＡＣＫ＃で選択されたＤＭＡスレーブからリードデータが出力される。ブリッジ２０は、このデータをＩＳＡバス５から内部ＰＣＩバス２へ伝える。
【００９８】
リードされたデータは、ＩＳＡ  ＤＭＡＣ１５２１にラッチされる。このデータは、ＩＳＡ  ＤＭＡＣ１５２１が直後に発生するメモリライトサイクルで、ライトデータとして使用される。
【００９９】
メモリライトサイクルは、標準のＰＣＩバスのメモリライトサイクルと全く同じである。
メモリアドレスは、ＩＳＡ  ＤＭＡＣ１５２１に内蔵されたカレントアドレスレジスタとページレジスタとから作られる。ライトデータは、ＩＳＡ  ＤＭＡＣ１５２１が直前に発生したＤＭＡ専用Ｉ／Ｏサイクル（リード）でラッチされたものが使用される。１回の転送で、１バイト（８ｂｉｔＤＭＡ）または２バイト（１６ｂｉｔＤＭＡ）を発生する。
【０１００】
ターゲットとなるホスト−ＰＣＩブリッジ１２は、通常のＰＣＩマスターからのメモリライトと全く同じように応答し、システムメモリ１３をライトアクセスする。リトライで終了した場合でも、ＩＳＡ  ＤＭＡＣ１５２１は多少の待ち時間をおいてから、再度同じメモリサイクルを発生してくる。この間、ＩＳＡ  ＤＭＡＣ１５２１はバス２を解放しない。
【０１０１】
（プロシードおよびフリーズ）
次に、前述したプロシードおよびフリーズについて具体的に説明する。
図４には、ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０とＲＧＭ１５２２の動作状態の関係が示されている。
【０１０２】
前述したように、外部ＩＳＡバス５上のＩＳＡマスタ５１およびＤＭＡスレーブ５２，５３が出力するＤＲＥＱの状態は、ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０内部のＬＢＡ２０３によって実行されるパラレル→シリアル変換のディレー、ＲＧＭ１５２２によって実行されるシリアル→パラレル変換のディレー、および多少の同期化のディレーを経て、ＩＳＡ  ＤＭＡＣ１５２１へ内部ＤＲＥＱ入力として伝えられる。その途中で、シリアル転送のために、一時的に、ＲＥＱ＃という信号名に置き換わる。
【０１０３】
同様に、ＩＳＡ  ＤＭＡＣが出力するＤＡＣＫ＃の状態は、ＲＧＭ１５２２によって実行されるパラレル→シリアル変換のディレー、ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０内部のＬＢＡ２０３によって実行されるシリアル→パラレル変換のディレー、および多少の同期化のディレーを経て、ＩＳＡマスタ５１およびＤＭＡスレーブ５２，５３にＤＡＣＫ＃として伝えられる。その途中で、シリアル転送のために、一時的に、ＧＮＴ＃という信号名に置き換わる。
【０１０４】
要求もとが、ＰＣＩバスマスタ４１である場合も同様であり、上記の説明の、ＤＭＡスレーブ・ＩＳＡマスターをＰＣＩマスタに置き換え、ＩＳＡ  ＤＭＡＣ１５２１をＰＢＡ１５１に置き換えて考えればよい。
【０１０５】
ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０内部のＬＢＡ２０３は、ＲＧＭ１５２２からのシリアルＧＮＴ＃により、ＤＭＡスレーブ・ＩＳＡマスターのＤＡＣＫ＃またはＰＣＩマスタのＧＮＴ＃が与えられる以前は、自分の分担する全てのＤＲＥＱ信号とＲＥＱ＃信号の最新状態をＲＧＭ１５２２へ伝えるように努力する。この状態を、プロシード状態（ＱＰ）と呼ぶ。プロシード状態にあるとき、ＬＢＡ２０３は、アクティブにされているシリアルＲＥＱ＃信号を一旦インアクティブにし、再度、シリアルＲＥＱ＃をスタートビットから送信し直すことができる。
【０１０６】
ＬＢＡ２０３は、ＲＧＭ１５２２からのシリアルＧＮＴ＃により、ＤＭＡスレーブおよびＩＳＡマスタのＤＡＣＫ＃またはＰＣＩマスタのＧＮＴ＃が与えられると、それ以降は、シリアルＧＮＴ＃で指定されたチャンネルに対応するＤＲＥＱ信号あるいはＲＥＱ＃信号がインアクティブにされるまでは、シリアルＲＥＱ＃信号をアクティブにし続ける。この状態を、フリーズ状態（ＱＦ）と呼ぶ。
【０１０７】
フリーズ状態にあるとき、ＬＢＡ２０３がアクティブ状態のシリアルＲＥＱ＃信号をインアクティブにできるのは、シリアルＧＮＴ＃で指定されたＤＲＥＱ信号あるいはＲＥＱ＃信号がインアクティブにされたときだけである（厳密に言えばリセット時もある）。フリーズ状態においては、ＤＲＥＱ信号とＲＥＱ＃信号の状態を更新する目的で、ＲＥＱ＃デアサートし、再度、シリアルＲＥＱ＃をスタートビットから送信し直す、ということはできない。
【０１０８】
従って、図５のタイミングチャートに示されているように、シリアルＧＮＴ＃によってＤＡＣＫ＃を受信したとき、ＬＢＡ２０３の動作状態はプロシードからフリーズに切り替えられる。フリーズ状態では、ＤＡＣＫ＃が通知されたＩ／Ｏデバイス、すなわちＤＭＡサイクル実行中のＩ／ＯデバイスのＤＭＡ要求の状態に変化が生じた時のみシリアルＲＥＱ＃サイクルの実行が許可され、他の目的でのシリアルＲＥＱ＃サイクルの実行は全て凍結される。
【０１０９】
よって、シリアルＧＮＴ＃によってＤＡＣＫ＃が通知された後は、ＤＭＡサイクル実行中のＩ／ＯデバイスのＤＭＡ要求がインアクティブにならない限り、たとえ他のＩ／Ｏデバイスに関するＤＭＡ要求の状態に変化が生じてもシリアルＲＥＱ＃を利用した再送信は行われない。したがって、その再送信のためにシリアルＲＥＱ＃がＤＭＡサイクル実行中にインアクティブにされるといった不具合がなくなり、ＤＭＡ転送を正常に行うことが可能となる。
【０１１０】
このようなＤＳ−ＰＣＩ／ＩＳＡブリッジ２０側のプロシードとフリーズの２つの状態に対応し、ＲＧＭ１５２２側にも、アンロック（ＳＵ）とロック（ＳＬ）という２つの状態を用意することが好ましい。
【０１１１】
ＲＧＭ１５２２は、シリアルＧＮＴ＃によってＤＭＡスレーブ・ＩＳＡマスタにＤＡＣＫ＃、またはＰＣＩマスタにＧＮＴ＃を伝える以前は、ＩＳＡ  ＤＭＡＣ１５２１へ伝えるＤＲＥＱ、あるいはＰＢＡ１５１へ伝えるＲＥＱ＃を、保持する。この場合、シリアルＲＥＱ＃がインアクティブされても、ＩＳＡ  ＤＭＡＣ１５２１へ伝えるＤＲＥＱ、あるいはＰＢＡ１５１へ伝えるＲＥＱ＃がインアクティブにされることはない。ＬＢＡ２０３からのシリアルＲＥＱ＃によって、ＤＲＥＱとＲＥＱ＃の最新状態が更新されたときは、シリアル→パラレル変換後に、その結果を反映する。このようにシリアルＲＥＱ＃のインアクティブが特定のＤＲＥＱのインアクティブあるいはＲＥＱ＃のインアクティブを意味しない、という意味で、この状態を、アンロック状態（ＳＵ）と呼ぶ。
【０１１２】
ＲＧＭ１５２２は、シリアルＧＮＴ＃によってＤＭＡスレーブ・ＩＳＡマスタにＤＡＣＫ＃、またはＰＣＩマスタにＧＮＴ＃を伝えると、それ以降は、シリアルＧＮＴ＃によって指定したチャンネルに対応するＤＲＥＱあるいはＲＥＱ＃に対して“ロック”される。ロックというのは、従って、チャンネルロック、という意味である。ＬＢＡ２０３から出力されるシリアルＲＥＱ＃がインアクティブにされた時、ＩＳＡ  ＤＭＡＣ１５２１へ伝えるＤＲＥＱあるいはＰＢＡ１５１へ伝えるＲＥＱ＃のうち、ロックされているもののみがインアクティブにされる。シリアルＲＥＱ＃のインアクティブが特定のＤＲＥＱのインアクティブあるいはＲＥＱ＃のインアクティブを意味する、という意味で、この状態を、ロック状態（ＳＬ）と呼ぶ。
【０１１３】
通常は、ＬＢＡ２０３側のプロシード状態とＲＧＭ１５２２側のアンロック状態が対応し、ＬＢＡ２０３側のフリーズ状態とＲＧＭ１５２２側のロック状態が対応する（ＱＰとＳＵ、ＱＦとＳＬ）。
【０１１４】
（１Ｔルール）
次に、図６を参照して、ＤＭＡシリアルチャネルを利用することによって生じる不具合を解消するために、ＬＢＡ２０３とＲＧＭ１５２２との間で規定したシリアルＲＥＱ＃送信ルール（１Ｔルール）について説明する。
【０１１５】
このシリアルＲＥＱ＃の送信ルール（１Ｔルール）はこの発明の第２の特徴とする部分であり、その送信ルールの原理は次の通りである。
（１）再送信の目的でシリアルＲＥＱ＃をインアクティブするときは、シリアルＲＥＱ＃のインアクティブ期間（シリアルＲＥＱ＃＝“Ｈ”）を１Ｔ幅にする。
【０１１６】
（２）フリーズされたチャンネルのＤＲＥＱインアクティブまたはＲＥＱ＃インアクティブを伝えるとき（つまり、ＤＡＣＫ＃を受け取ったＩＳＡマスタまたはＤＭＡスレーブによるＤＲＥＱインアクティブ、あるいはＧＮＴ＃を受け取ったＰＣＩマスタによるＲＥＱ＃インアクティブを伝えるとき）は、シリアルＲＥＱ＃のインアクティブ期間（シリアルＲＥＱ＃＝“Ｈ”）を２Ｔ以上にする。
【０１１７】
このような１Ｔルールを採用することにより、シリアルＲＥＱ＃を受け取るＲＧＭ１５２２側で、（１）のケースか、（２）のケースかを判定することが可能となる。すなわち、ＲＥＱ＃＝ＬからＨへの変化の直後（１ＴのみＨ）に、再度ＲＥＱ＃＝Ｌとなれば、これは再送信のためのスタートと判断できる。
【０１１８】
このため、ＤＭＡサイクル実行中のＩ／ＯデバイスからのＤＲＥＱまたはＰＣＩマスタからのＲＥＱ＃を再送する目的でシルアルＲＥＱ＃がインアクティブにされても、それが、ＤＭＡサイクル実行中のＩ／ＯデバイスがＤＲＥＱをインアクティブした、またはバスが解放されたと誤判断されることは無くなる。よって、図９で説明した問題、つまりＤＲＥＱを発行したＩ／Ｏデバイスに対するＤＡＣＫ＃が出かかって消えるという不具合を防止することができる。
【０１１９】
また、この１Ｔルールの採用により、ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０側のＱＰ，ＱＦとＲＧＭ１５２２側のＳＵ，ＳＬとの対応関係がくずれても、それによる不具合を防止できるようになる。具体的には、ＱＰなのにＳＬという状態が発生した時、誤動作が生じる。ＱＰなのにＳＬという状態は、次のようなケースで発生する。
【０１２０】
ＲＧＭ１５２２側がシリアルＧＮＴ＃をアクティブにした場合、これがＤＳ−ＰＣＩ／ＩＳＡブリッジ２０側でシリアル／パラレル変換されてＤＡＣＫ＃またはＧＮＴ＃になるまでには時間がかかる。この時間内に、ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０が、再送信目的でシリアルＲＥＱ＃をインアクティブする可能性がある。これは、ＤＳ−ＰＣＩ／ＩＳＡブリッジ２０のＬＢＡ２０３がまだフリーズ状態になっておらず、プロシード状態だからである。
【０１２１】
このとき、ＲＧＭ１５２２はすでにアンロック状態からロック状態へと遷移しており、上記のシリアルＲＥＱ＃のインアクティブは、ロックされたチャンネルのＤＲＥＱインアクティブまたはＲＥＱ＃インアクティブとして処理されてしまう。つまり、ＩＳＡ  ＤＭＡＣ１５２１に対する内部ＤＲＥＱ、またはＰＢＡ１５１に対するＲＥＱ＃のどちらかがインアクティブにされる。
【０１２２】
この現象は、“ＱＰなのにＳＬ”という一種のイリーガルな状態の組み合わせが発生したためにおきたものである。この組み合わせが発生したのは、シリアルＧＮＴ＃をＲＧＭ１５２２からＤＳ−ＰＣＩ／ＩＳＡブリッジ２０へ伝えるのに時間遅れがあったからである。この時間遅れは、ＲＧＭ１５２２とＬＢＡ２０３とが別チップ上に存在している限り、宿命的に発生する。
【０１２３】
さらに、この直後に、ＲＧＭ１５２２から送信されたシリアルＧＮＴ＃はＬＢＡ２０３へ到着し、ＬＢＡ２０３の動作状態はＱＦとなる。ＬＢＡ２０３は、シリアルＧＮＴ＃を、ＤＡＣＫ＃あるいはＧＮＴ＃として、要求もとのＤＭＡスレーブ・ＩＳＡマスターあるいはＰＣＩマスターへ伝える。
【０１２４】
結果として、ＤＭＡスレーブ・ＩＳＡマスターあるいはＰＣＩマスターは、いま、まさに動作を開始しようとしている状態になっている。一方、ＲＧＭ１５２２は、既にＩＳＡ  ＤＭＡＣ１５２１に対するＤＲＥＱをインアクティブあるいはＰＢＡ１５１に対するるＲＥＱ＃をインアクティブにしてしまっているので、システム全体としては動作できない状態に陥る。
【０１２５】
このような問題は、１Ｔルールによって解消できる。
以下、図６のタイミングチャートを参照して、上述の１Ｔルールを採用した場合のＤＳ−ＰＣＩ／ＩＳＡブリッジ２０側の動作（図６（Ａ））とＲＧＭ１５２２側の動作（図６（Ｂ））について具体的に説明する。
【０１２６】
図６（Ａ），（Ｂ）のタイミングチャートは、それぞれＤＳ−ＰＣＩ／ＩＳＡブリッジ２０側の動作とＲＧＭ１５２２側の動作をタイムディレイを考慮した状態で示している。
【０１２７】
まず、外部ＩＳＡバス５上のＤＭＡスレーブ５２がＤＲＥＱをアクティブにする。このＤＲＥＱの状態は、図６（Ａ）に示されているようにＤＲＥＱ  Ａのアクティブとして、ＥＩＤＲ２０４経由でＬＢＡ２０３に通知される。ＬＢＡ２０３は、シリアルＲＥＱ＃を利用したビット列のシルアル転送を行い、ＤＲＥＱ  ＡをＲＧＭ１５２２に送信する。この場合、シリアルＲＥＱ＃のスタートビットＳに後続するビット列は、ＤＭＡチャネルＡ（ＤＭＡチャネル０〜７の内で、チャネル４を除く所定の１チャネル）がアクティブにされていることを示す。
【０１２８】
シリアルＲＥＱ＃を受信すると、図６（Ｂ）に示されているように、ＲＧＭ１５２２はそのシリアルＲＥＱ＃を分解し、ＩＳＡ  ＤＭＡＣ１５２１に対して内部ＤＲＥＱ  Ａ信号（Ｉｎｔ，ＤＲＥＱ  Ａ）を発生する。
【０１２９】
ＩＳＡ  ＤＭＡＣ１５２１は、内部ＤＲＥＱ  Ａ信号が有効なＤＭＡリクエストであれば、ＰＢＡ１５１に対してＲＥＱ＃をアクティブにして、バス使用を要求する。ＰＢＡ１５１は、標準ＰＣＩのアービトレーションプロトコルに従って調停を行い、ＧＮＴ＃をアクティブにすることによって、ＩＳＡ  ＤＭＡＣ１５２１に対してバス使用権を許可する。以後は、ＲＥＱ＃がインアクティブにされるまでは、ＧＮＴ＃はアクティブにされ続ける。
【０１３０】
ＩＳＡ  ＤＭＡＣ１５２１は、ＰＢＡ１５１からのＧＮＴ＃を受け取ると、内部ＤＡＣＫ  Ａ＃をアクティブにする。ＲＧＭ１５２２は、ＩＳＡ  ＤＭＡＣ１５２１からのＤＡＣＫ  Ａ＃が、自分が出したＤＲＥＱ  Ａに該当するかどうかチェックする。該当していた場合、図６（Ｂ）に示されているようにシリアルＧＮＴ＃信号を利用したビット列の転送を実行し、ＤＡＣＫ  Ａ＃をＬＢＡ２０３へ伝える。また、この時、ＲＧＭ１５２２はロック（ＳＬ）状態に入る。
【０１３１】
シリアルＧＮＴ＃が届く前に、外部ＩＳＡバス５上のＤＭＡスレーブ５３がＤＲＥＱをアクティブにすると、このＤＲＥＱの状態は、図６（Ａ）に示されているように、ＤＲＥＱ  ＢのアクティブとしてＥＩＤＲ２０４経由でＬＢＡ２０３に通知される。この場合、ＬＢＡ２０３はまだプロシード（ＱＰ）の状態であるので、図６（Ａ）に示されているように、シリアルＲＥＱ＃を利用したビット列のシルアル転送を行い、ＤＲＥＱ  ＡおよびＤＲＥＱ  ＢをＲＧＭ１５２２に際送信する。この場合、ここで実行されるシルアル転送はＤＲＥＱ  Ａの再送信を目的としたシリアルＲＥＱ＃であるので、そのシリアルＲＥＱ＃のインアクティブ期間は図６（Ａ）のように１Ｔに設定される。また、シリアルＲＥＱ＃のスタートビットＳに後続するビット列は、ＤＭＡチャネルＡおよびＢの双方がアクティブにされていることを示す。
【０１３２】
このシリアルＲＥＱ＃は、図６（Ｂ）に示されているように、ロック中のＲＧＭ１５２２に届く。ＲＧＭ１５２２は、受信したシリアルＲＥＱ＃のインアクティブ期間が１Ｔであることから、そのシリアルＲＥＱ＃が再送信目的で送られてきたものであることを認識できる。したがって、アクティブ状態の内部ＤＲＥＱＡが誤ってインアクティブに設定されることは無く、図６（Ｂ）のように内部ＤＲＥＱ  Ｂだけがアクティブ状態に変化される。
【０１３３】
ＬＢＡ２０３は、ＲＧＭ１５２２が送信したシリアルＧＮＴ＃を受け取ると、それを分解して、ＥＩＤＲ２０４経由でＤＭＡスレーブ５２にＤＡＣＫ  Ａ＃を返す。そして、ＬＢＡ２０３は、図６（Ａ）のようにフリーズ状態に入る。
【０１３４】
ＬＢＡ２０３がフリーズ状態である期間中にＤＭＡスレーブ５２からのＤＲＥＱ  Ａが図６（Ａ）のようにインアクティブに変化すると、ＬＢＡ２０３は、シリアルＲＥＱ＃を利用したビット列のシルアル転送を行う。この場合、ここで実行されるシルアル転送はＤＲＥＱ  Ａがインアクティブに変化したことを通知することを目的としたシリアルＲＥＱ＃であるので、そのシリアルＲＥＱ＃のインアクティブ期間は２Ｔ以上に設定される。また、シリアルＲＥＱ＃のスタートビットＳに後続するビット列は、現在アクティブにされているのはＤＭＡチャネルＢだけであることを示す。
【０１３５】
このシリアルＲＥＱ＃は、ロック中のＲＧＭ１５２２に届く。ＲＧＭ１５２２は、受信したシリアルＲＥＱ＃のインアクティブ期間が２Ｔ以上であることから、ロック中のＤＲＥＱ  Ａがインアクティブにされたと認識し、内部ＤＲＥＱ  Ａを図６（Ｂ）のようにインアクティブにする。
【０１３６】
（シリアルＧＮＴ＃の４ビット化）
次に、バス方向の切り替えを高速実行するために、このシステムで採用したシリアルＧＮＴ＃の４ビット化技術について説明する。
【０１３７】
ブリッジ１６，２０を経由して、ＲＧＭ１５２２からＬＢＡ２０３へシリアルＧＮＴ＃を返す場合、ＤＡＣＫ＃の最終到着点にあるものが、ＤＭＡスレーブ５２，５３である場合とＩＳＡマスタ５１である場合とで、以後、発生するバスサイクルが大きく異なる。
【０１３８】
ＤＭＡスレーブ５２または５３にＤＡＣＫ＃が与えられるケースでは、ＩＳＡＤＭＡＣ１５２１が、内部ＰＣＩバス２上にバスサイクルを発生し、これが、システム全体のバスへ伝わってゆく。その末端に、ＤＭＡスレーブ５２，５３がいる。
【０１３９】
一方、ＩＳＡマスタ５１にＤＡＣＫ＃が与えられるケースでは、ＩＳＡマスタ５１が外部ＩＳＡバス５上でバスサイクルを発生し、これが内部ＰＣＩバス２へ伝えられ、以後、必要なバスへも伝えられる。ＩＳＡマスタ５１が動作するときのバス方向は、ＰＣＩマスタ４１が動作するときのバ方向と似ている。
【０１４０】
シリアルＧＮＴ＃をもらう経路にあるブリッジ１６，２０は、シリアルＧＮＴ＃でコード化されたチャンネル番号を知ることができる。このチャンネル番号が４であれば、ＰＣＩマスタ４１が動きだす、ということを知ることができるので、それに合わせたバス方向制御が可能である。
【０１４１】
番号が４以外の場合、ＤＭＡスレーブ５２，５３か、またはＩＳＡマスタ５１へのＤＡＣＫ＃ということになる。このとき、シリアルＧＮＴ＃のコード情報だけでは、ＤＡＣＫ＃が与えられるデバイスが、ＤＭＡスレーブなのかＩＳＡマスターなのかを判定できない。従って、バス方向制御ができない。
【０１４２】
実際には、いづれ、ＩＳＡ  ＤＭＡＣ１５２１が内部ＰＣＩバス２上でバスサイクルを発生するか、またはＩＳＡマスタ５１が外部ＩＳＡバス５上のＭＡＳＴＥＲ＃信号をアクティブにするので、その時点で判定はできる。
【０１４３】
問題は、それまでの時間、バス方向が決められず、フローティング状態が続く、ということである。
このフローティング状態を回避するために、このシステムでは、シリアルＧＮＴ＃を３ｂｉｔから４ｂｉｔへ増やす方式を採用している。
【０１４４】
この方式は、図７に示されているように、シリアルＧＮＴ＃の４ｂｉｔ目に、そのときのＤＡＣＫ＃で指定されたＤＭＡチャンネルが、カスケードモードにプログラムされているかどうか、という情報を載せるというものである。シリアルＧＮＴ＃で送信されるビット列の４ビット目、つまりｂｉｔ  Ｃ＝“Ｈ”のときはカスケードモード、ｂｉｔ  Ｃ＝“Ｌ”のときその他のモード（シングル、ブロック、デマンドモード）とする。
【０１４５】
ＲＧＭ１５２２は、ＩＳＡ  ＤＭＡＣ１５２１からの内部ＤＡＣＫ＃をシリアルＧＮＴ＃によってＬＢＡ２０３に送るとき、ＩＳＡ  ＤＭＡＣ１５２１からそのチャンネルがカスケードモードにプログラムされているかどうかの情報も、あわせてもらう。この情報にもとづいて、ＲＧＭ１５２１は、シリアルＧＮＴ＃の４ｂｉｔ目を制御する。
【０１４６】
シリアルＧＮＴ＃をもらう経路にあるブリッジ１６、２０は、４ｂｉｔ目の情報にもとづいて、バス方向をすばやく決定することができる。ｂｉｔ  Ｃ＝“Ｈ”の場合と“Ｌ”の場合のバス方向を図８に示す。ここで、バス方向とは、アドレスバスおよび制御信号系のバスのことを意味している。
【０１４７】
なお、カスケードモード以外のＤＡＣＫ＃（すなわち、ＤＭＡスレーブのＤＡＣＫ＃）、あるいは、ＰＣＩマスタに対するＧＮＴ＃については、４ｂｉｔ目は常に“Ｌ”である。従って、シリアルＧＮＴ＃が３ｂｉｔだった場合と、互換性がある。
【０１４８】
以上説明したように、この実施形態のシステムでは、ＲＧＭ１５２２とＬＢＡ２０３の構成によって、ＤＭＡシリアルチャネルプロトコルに（１）プロシードとフリーズの２つの動作状態の設定、（２）１Ｔルールの採用、（３）シリアルＧＮＴ＃の４ビット化、という３つの対策が施されている。なお、（１）のプロシードとフリーズの２つの動作状態の設定、（２）の１Ｔルールの採用については、ＰＣカードコントローラ１７とＲＧＭ１５２２との間のＤＭＡシリアルチャネルプロトコルにおいても、同様にして適用することができる。
【０１４９】
【発明の効果】
以上の説明したように、この発明によれば、プロシードとフリーズの２つの動作状態を設定したことにより、バスアクセス許可信号を利用したシリアルデータ転送によってＤＭＡアクノリッジが通知された後は、ＤＭＡサイクル実行中のＩ／ＯデバイスのＤＭＡ要求がインアクティブにならない限り、たとえ他のＩ／Ｏデバイスに関するＤＭＡ要求の状態に変化が生じてもバスアクセス要求信号を利用した再送信は行われない。したがって、その再送信のためにバスアクセス要求信号がＤＭＡサイクル実行中にインアクティブにされるといった不具合がなくなり、ＤＭＡ転送を正常に行うことが可能となる。
【０１５０】
また、１Ｔルールの採用により、バスアクセス要求信号のインアクティブ期間の長さによって、開始されるシリアルデータ転送サイクルが、ＤＭＡ要求を再送するためのサイクルであるか否かがＤＭＡコントローラに通知される。このため、ＤＭＡ要求を再送する目的でバスアクセス要求信号がインアクティブされても、それが、ＤＭＡサイクル実行中のＩ／ＯデバイスがＤＭＡ要求をインアクティブした、またはバスが解放されたと誤判断されることは無くなる。よって、ＤＭＡ要求を発行したＩ／Ｏデバイスに対するＤＭＡアクノリッジが出かかって消えるなどの不具合を防止できる。
【０１５１】
さらに、シリアルＧＮＴ＃の４ビット化により、バスアクセス許可信号を利用したシリアルデータ転送サイクルによってＤＭＡサイクルが実行されるＤＭＡチャネルを特定するための第１のシリアルビット情報だけでなく、そのＤＭＡチャネルがカスケードモードにセットアップされているか否かを示す第２のシリアルビット情報も送信される。ＤＭＡサイクルが実行されるＤＭＡチャネルがカスケードモードであれば、以降のバスサイクルはバスマスタによって実行される。よって、その第２のシリアルビット情報を利用することにより、ブリッジは即座にバス方向を決定できるようになる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係る改良されたＤＭＡシリアルチャネルプロトコルを採用したポータブルコンピュータのシステム構成を示すブロック図。
【図２】同実施形態のシステムに設けられたＤＭＡＣコアの構成を示すブロック図。
【図３】同実施形態のシステムに設けられたＤＳ−ＰＣＩ／ＩＳＡブリッジ装置の構成を示すブロック図。
【図４】図２のＤＭＡＣコアと図３のＤＳ−ＰＣＩ／ＩＳＡブリッジ装置と動作状態の関係を示す図。
【図５】図３のＤＳ−ＰＣＩ／ＩＳＡブリッジ装置に設けられた２つの動作状態を説明するためのタイミングチャート。
【図６】図２のＤＭＡＣコアと図３のＤＳ−ＰＣＩ／ＩＳＡブリッジ装置との間に規定された１Ｔルールを説明するためのタイミングチャート。
【図７】図２のＤＭＡＣコアから図３のＤＳ−ＰＣＩ／ＩＳＡブリッジ装置に送られるシリアルＧＮＴ＃を４ビット化した様子を示す図。
【図８】図７のシリアルＧＮＴ＃の４ビット目の情報を利用して行われるバス方向切り替え動作を説明するための図。
【図９】ＤＭＡシリアルチャネルプロトコルを採用するために必要となると予想されるポータブルコンピュータのシステム構成例を示すブロック図。
【図１０】ＤＭＡシリアルチャネルプロトコルを採用した場合に発生すると予想される問題点を説明するためのタイミングチャート。
【符号の説明】
１…プロセッサバス、２…内部ＰＣＩバス、３…内部ＩＳＡバス、４…外部ＰＣＩバス、５…外部ＩＳＡバス、１１…ＣＰＵ、１２…ホスト／ＰＣＩブリッジ装置、１３…システムメモリ、１４…内部ＰＣＩバス上のＰＣＩマスタデバイス、１５…内部ＰＣＩ−ＩＳＡブリッジ装置、１６…ＰＣＩ−ＤＳブリッジ装置、１７…ＰＣカードコントローラ、２０…ＤＳ−ＰＣＩ／ＩＳＡブリッジ装置、３１，３２…内部ＩＳＡバス上のＩ／Ｏ（ＤＭＡスレーブ）、４１…外部ＰＣＩバス上のＩ／Ｏ（ＰＣＩマスタ）、５１，５２，５３…外部ＩＳＡバス上のＩ／Ｏ（ＩＳＡマスタ、ＤＭＡスレーブ）、１５１…ＰＣＩバスアービタ（ＰＢＡ）、１５２…ＤＭＡＣコア（ＭＰＰＤＭＡ）、１５３…内部ＩＳＡバスブリッジ（ＩＩＢＢ）、２０１…外部ＰＣＩバスブリッジ（ＥＰＢＢ）、２０２…外部ＩＳＡバスブリッジ（ＥＩＢＢ）、２０３…ローカルバスアービタ（ＬＢＡ）、２０４…外部ＩＳＡ  ＤＭＡルータ（ＥＩＤＲ）、１５２１…ＩＳＡ  ＤＭＡＣ、１５２２…バスリクエストおよびグラントマネージャ（ＲＧＭ）、１５２３…内部ＩＳＡ  ＤＭＡルータ（ＩＩＤＲ）、ＤＲＥＱ…ＤＭＡ要求信号、ＤＡＣＫ＃…ＤＭＡアクノリッジ信号、ＲＥＱ＃…バスリクエスト信号、ＧＮＴ＃…バス使用許可信号。
【図１】
0003576647.tif 000004
【図２】
0003576647.tif 000005
【図３】
0003576647.tif 000006
【図４】
0003576647.tif 000007
【図５】
0003576647.tif 000008
【図６】
0003576647.tif 000009
【図７】
0003576647.tif 000010
【図８】
0003576647.tif 000011
【図９】
0003576647.tif 000012
【図１０】
0003576647.tif 000013