JPH0954745A - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JPH0954745A
JPH0954745A JP7205682A JP20568295A JPH0954745A JP H0954745 A JPH0954745 A JP H0954745A JP 7205682 A JP7205682 A JP 7205682A JP 20568295 A JP20568295 A JP 20568295A JP H0954745 A JPH0954745 A JP H0954745A
Authority
JP
Japan
Prior art keywords
bus
dma
pci
serial
isa
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.)
Granted
Application number
JP7205682A
Other languages
English (en)
Other versions
JP3576647B2 (ja
Inventor
Nobutaka Nakamura
伸隆 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP20568295A priority Critical patent/JP3576647B2/ja
Priority to US08/694,749 priority patent/US5937206A/en
Priority to US08/702,430 priority patent/US5850529A/en
Publication of JPH0954745A publication Critical patent/JPH0954745A/ja
Application granted granted Critical
Publication of JP3576647B2 publication Critical patent/JP3576647B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】DMAシリアルチャネルプロトコルを改良して
DMA転送の信頼性の向上を図る。 【解決手段】外部PCIバス4上のデバイスおよび外部
ISAバス5上のデバイスを制御するDS−PCI/I
SAブリッジ20は、プロシードとフリーズの2つの動
作状態を有している。DMACコア152からDACK
#を受信したとき、その動作状態はプロシードからフリ
ーズに切り替えられる。フリーズ状態では、DACK#
が通知されたI/OのDMA要求の状態に変化が生じた
時のみシリアルREQ#サイクルが実行される。よっ
て、他のI/Oに関するDMA要求の状態変化を通知す
るためのシリアルREQ#サイクルの実行は凍結され、
シリアルREQがDMAサイクル実行中にインアクティ
ブにされるといった不具合がなくなり、DMA転送を正
常に行うことが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータシス
テムに関し、特にDMAコントローラを必要とするデバ
イスと必要としないデバイスとが混在するコンピュータ
システムに関する。
【0002】
【従来の技術】従来、パーソナルコンピュータに使用さ
れるシステムバスとしては、ISA(Industry
Standard Architecture)バス
やEISA(Extended ISA)バスが主流で
あったが、最近では、データ転送速度の高速化や、プロ
セッサに依存しないシステムアーキテクチャの構築のた
めに、デスクトップ型のパーソナルコンピュータを中心
に、PCI(Peripheral Componen
t Interconnect)バスが採用され始めて
いる。
【0003】PCIバスにおいては、ほとんど全てのデ
ータ転送はブロック転送を基本としており、これら各ブ
ロック転送はバースト転送を用いて実現されている。こ
れにより、例えばPCIバスでは最大133Mバイト/
秒(データバスが32ビット幅の時)のデータ転送速度
を実現できる。
【0004】したがって、PCIバスを採用すると、I
/Oデバイス間、およびシステムメモリとI/Oデバイ
スとの間のデータ転送などを高速に行うことが可能とな
り、システム性能を高めることができる。
【0005】
【発明が解決しようとする課題】最近では、デスクトッ
プ型のパーソナルコンピュータだけでく、ノートブック
タイプまたはデスクトップタイプなどのポータブルパー
ソナルコンピュータにおいても、PCIバスの採用が検
討され始めている。
【0006】デスクトップ型のパーソナルコンピュータ
においては、PCI拡張カードやISA拡張カードとい
った機能拡張のためのオプションカードはシステムボー
ド上の拡張スロットに直接装着して使用される。この場
合、ISA拡張カードが接続される各ISA拡張スロッ
トについては、複数種のDMAチャネルに対応するDM
A要求信号(DREQ)線およびDMAアクノリッジ
(DACK#)線の複数のペアが定義されている。この
ため、各ISA拡張カードは、そのカードに対応する特
定のDMAチャネル(1組のDREQ,DACK#)を
利用することにより、システムボード上のDMAC(直
接メモリアクセスコントローラ)コアのDMA転送機能
を使用することができる。したがって、デスクトップ型
のパーソナルコンピュータにおいては、PCIバスマス
タなどのDMACを必要としないデバイスと、ISAデ
バイスなどのDMACを必要とするデバイスとを比較的
容易に混在させることができる。
【0007】しかし、ポータブルパーソナルコンピュー
タにおいては、PCI拡張カードやISA拡張カードな
どのオプションカードは、ドッキングステーションと称
される拡張ユニットを介して装着する必要がある。この
場合、ポータブルパーソナルコンピュータからドッキン
グステーションに導出される信号線数はできるだけ少な
くすることが要求されている。なぜなら、ドッキングス
テーションに導出される信号線数が増えると、システム
ボード上に搭載されたドッキングステーションとのイン
タフェースのためのLSIのピン数の増加や、ポータブ
ルパーソナルコンピュータとドッキングステーションと
を接続するコネクタのピン数の増加などが引き起こさ
れ、ポータブルパーソナルコンピュータのコストアッ
プ、システム実装効率の低下といった不具合が生じるか
らである。
【0008】このため、DMA要求信号(DREQ)線
およびDMAアクノリッジ(DACK#)線の複数のペ
アをドッキングステーションに導出することは望ましく
ない。しかし、これらDMA転送のための制御線をドッ
キングステーションに導出しないと、ISA拡張カード
などのオプションカードがDMA転送を利用することは
できない。
【0009】そこで、最近では、DMA要求信号(DR
EQ)線およびDMAアクノリッジ(DACK#)線の
複数のペアを利用せずに、ドッキングステーションに装
着されるISA拡張カードとシステムボード上のDMA
Cコアとの間でDMA要求信号(DREQ)およびDM
Aアクノリッジ(DACK#)を送受信するためのプロ
トコルが検討されている。
【0010】このプロトコルは、PCIバス上の1対の
バスアクセス要求信号(REQ#)およびバスアクセス
許可信号(GNT#)を利用して、複数チャネル分のD
REQおよびDACK#の転送を実現する方式である。
このプロトコル下においては、複数チャネル分のDMA
要求(DREQ)はバスアクセス要求信号(REQ#)
を利用したシリアル転送によって、PCIバスに接続さ
れているDMACコアに送信される。また、DACK#
についても、バスアクセス許可信号(GNT#)を利用
したシリアル転送によって、DMACコアからドッキン
グステーションのISA拡張カードに送信される。以下
では、これらDREQおよびDACK#のシリアル転送
の目的で使用されるREQ#およびGNT#について
は、シリアルREQ#およびシリアルGNT#と称する
ことにする。
【0011】このように複数のDMAチャネルをシリア
ル化して転送するというDMAシリアルチャネルプロト
コルを利用した場合には、ドッキングステーションには
PCIバスに相当する信号線だけを導出し、そのドッキ
ングステーション内にPCI−ISAブリッジを設ける
だけで、PCI拡張カードとISA拡張カードの双方を
使用することが可能となる。
【0012】しかし、このような構成を採用すると、D
MA要求信号(DREQ)の通知については、ドッキン
グステーション内のPCI−ISAブリッジ側では複数
チャネル分のDMA要求信号(DREQ)をシリアル化
するための処理、DMACコア側ではシリアル転送で通
知されたDREQのチャネル情報をパラレルに分解して
DMACコア内のDMACに与える処理が必要となる。
このため、ISA拡張カードからDMA要求信号(DR
EQ)が発生されてからそのDMA要求信号がDMAC
で受け付けられるまでには、比較的多くの時間を要す
る。
【0013】同様に、DACK#についても、DMAC
コア側では複数チャネル分のDACK#をシリアル化す
るための処理、PCI−ISAブリッジ側ではシリアル
転送で通知されたDACK#のチャネル情報をパラレル
に分解して元のDACK#に戻す処理が必要となるの
で、その通知には時間が掛かる。
【0014】このようなタイムラグなどが原因で前述の
DMAシリアルチャネルプロトコルを利用してDREQ
とDACK#の送受信に矛盾が生じると、次のような誤
動作が引き起こされる危険がある。以下、この誤動作発
生のメカニズムを図9および図10を参照して説明す
る。
【0015】図9はDMAシリアルチャネルプロトコル
を採用する場合に必要となると想定されるポータプルコ
ンピュータのシステム構成を示し、図10はそのポータ
ブルコンピュータにおけるDMAシリアルチャネルプロ
トコルの手順を示している。
【0016】図9に示されているように、CPU101
と内部PCIバス104との間にはホスト−PCIブリ
ッジ装置102が設けられており、これによってCPU
101のプロセッサバスと内部PCIバス104が繋が
れる。システムメモリ103はホスト−PCIブリッジ
装置102によって制御される。また、内部PCIバス
104には、DMACコア105が接続されている。内
部PCIバス104とドッキングステーションDSとの
間はPCI−DSブリッジ装置106によって繋がれ
る。ドッキングステーションDS内部には、DS−PC
I/ISAブリッジ装置107が設けられており、この
DS−PCI/ISAブリッジ装置107には外部PC
Iバスおよび外部ISAバスが接続されている。
【0017】このシステムでは、外部ISAバス上のI
SA拡張カードA,Bと内部PCIバス104上のDM
ACコア105との間のDREQ,DACK#の送受信
は、DMAシリアルチャネルプロトコルに従って図10
の様に行われる。 (1)ISA拡張カードAがDREQ Aをアクティブ
にする。 (2)DS−PCI/ISAブリッジ107がREQ#
を利用したシルアル転送を行い、DREQ AをDMA
Cコア105に送信する。この場合、シリアルREQ#
のスタートビットSに後続するいくつかのシリアルビッ
ト列は、DMAチャネルAがアクティブにされているこ
とを示す。 (3)DMACコア105がシリアルREQ#を受信
し、前述のシリアルビット列によって指定されたDMA
チャネル(チャネルA)に対応する内部DREQA(I
nt.DREQ A)を発生する。このInt.DRE
Q Aは、DMACコア内部のDMACが有する複数チ
ャネル分のDREQ入力ポートの1つに供給される。 (4)DMACコア105がGNT#を利用したシルア
ル転送を行い、DREQAに対応するDACK A#を
送信する。この場合、シリアルGNT#のスタートビッ
トSに後続するビット列によって、DMA転送が実行さ
れるDMAチャネル(チャネルA)が選択される。 (5)DS−PCI/ISAブリッジ107がシリアル
GNT#を受信し、前述のビット列によって指定された
DMAチャネルに対応するDACK A#を発生する。
このDACK A#によって、DMAチャネルAを利用
したDMA転送の開始がISA拡張カードAに通知され
る。
【0018】このような手順のうち、例えば(2)から
(4)の間の期間においては、DS−PCI/ISAブ
リッジ107は、シリアルREQ#の再送信を行う可能
性がある。再送信のトリガとなるのは、例えば、ISA
拡張カードBからのDREQBがアクティブ状態に変化
した場合である。
【0019】この場合、2つのISA拡張カードA,B
それぞれからDREQ A,DREQ Bが発生してい
ることを通知するためのシリアルREQ#の再送信のた
めに、発生中のREQ#は一旦インアクティブにされ
る。この時、DMACコア105は、それをISA拡張
カードAがDREQ Aをインアクティブにしたものと
誤って判断してしまい、DMACへの内部DREQ A
をインアクティブにする危険がある。この結果、DMA
CはISA拡張カードAに対応するDMA転送が終了さ
れたと判断し、これによって図示のようにDACK A
#が出かかって消えるというタイミングが発生してしま
う。この場合、ISA拡張カードAのDMA転送はイリ
ーガルな状態で終了されてしまう。
【0020】また、図10には示されてないが、手順
(5)の期間中においても、もしISA拡張カードBか
らのDREQ Bの発生に起因してシリアルREQ#の
再送信が行われると、同様にして、ISA拡張カードA
に対するDMA転送が途中で終了されてしまうという不
具合が生じる。
【0021】このようにDMAシリアルチャネルプロト
コルを採用すると、1つのREQ#線によって複数のI
/Oデバイスそれぞれの最新のDREQの状態を通知す
る必要があるため、前述のDREQおよびDACK#の
転送プロトコルに矛盾が発生する危険があり、これによ
ってDMA転送の誤動作が引き起こされるという欠点が
あった。
【0022】また、DS−PCI/ISAブリッジ10
7は、実行されるDMA転送に対応したバスマスタが存
在している場所に応じてバス方向(アドレス、および制
御系バスの方向)を切り換えることが必要であるが、シ
リアルチャネルプロトコルを採用したシステムにおいて
は、そのバス方向を切り替えるタイミングが遅れ、結果
としてDMA転送が実行されるまでに時間が掛かるとい
う問題がある。
【0023】すなわち、上述したDACK#のシリアル
転送によってDMA転送の実行が指示されるI/Oデバ
イスが、ISAバスマスタの場合とバスマスタで無い場
合とでは、以降、発生されるバスサイクルが大きく異な
る。すなわち、外部ISAバスに接続されているISA
バスマスタにDACK#が返送された場合にはそのバス
マスタ自体によって以降のバスサイクルが実行される
が、ISAバスマスタで無い場合には、バスサイクルは
全てDMACコア105によって実行される。このた
め、ISAバスマスタの場合とバスマスタで無い場合と
では、必要なバス方向は基本的に逆方向となる。
【0024】しかし、DS−PCI/ISAブリッジ1
07は、外部ISAバス上のマスター信号MASTER
#が変化される時点まではDMA転送の実行が指示され
るI/OデバイスがISAバスマスタか否かを決定でき
ないため、バス方向の切り替えタイミングが遅れ、結果
としてDMA転送が実行されるまでに多くの時間が掛か
かってしまう。
【0025】この発明はこのような点に鑑みてなされた
もので、DMAシリアルチャネルプロトコルを改良する
ことによって前述の矛盾による誤動作やバス方向制御の
遅れを解消できるようにし、DMA転送処理の信頼性の
向上および効率化を図ることができるコンピュータシス
テムを提供することを目的とする。
【0026】
【課題を解決するための手段】この発明によるコンピュ
ータシステムは、PCIバスと、このPCIバス上に定
義され、バスマスタ毎に1組ずつ割り当てられているバ
スアクセス要求信号(REQ#)線およびバスアクセス
許可信号(GNT#)線を利用してバスアクセスを調停
するバスアービタ(PBA)と、前記PCIバスに接続
され、直接メモリアクセス(DMA)を実行するDMA
コントローラと、前記DMAコントローラのDMA機能
を必要とする複数のI/Oデバイスと、これら複数のI
/Oデバイスと前記PCIバス間に接続された第1のバ
スマスタであって、前記複数のI/Oデバイスそれぞれ
から出力される複数のDMA要求信号(DREQ)の状
態をシリアル情報に変換し、そのシリアル情報を、前記
第1のバスマスタに割り当てられたバスアクセス要求信
号(REQ#)線を利用したシリアル転送サイクルによ
って前記DMAコントローラに送信する第1のバスマス
タと、前記PCIバスおよび前記DMAコントローラに
接続され、前記第1のバスマスタに割り当てられたバス
アクセス要求信号(REQ#)線およびバスアクセス許
可信号(GNT#)線を管理する管理手段であって、前
記第1のバスアクセス要求信号(REQ#)線を利用し
たシリアル転送サイクルによって送信されたシリアル情
報を、前記DMAコントローラに入力するための複数の
DMA要求信号(DREQ)に変換する手段、および前
記DMAコントローラから出力される複数のDMAアク
ノリッジ信号(DACK#)それぞの状態をシリアル情
報に変換し、そのシリアル情報を前記第1のバスマスタ
に割り当てられたバスアクセス許可信号(GNT#)線
を利用したシリアル転送サイクルによって前記第1のバ
スマスタに送信する手段、を含む管理手段とを具備し、
前記第1のバスマスタは、前記複数のI/Oデバイスそ
れぞれからのDMA要求信号(DREQ#)の状態変化
が発生する度に前記バスアクセス要求信号(REQ#)
線を利用したシリアル転送サイクルを実行して最新のD
MA要求信号(DREQ#)の状態を前記DMAコント
ローラに通知するプロシードモードと、DMAサイクル
実行中のI/Oデバイスから出力されるDMA要求信号
(DREQ#)の状態変化だけを前記シリアル転送サイ
クルによって前記DMAコントローラに通知するフリー
ズモードを有し、前記プロシードモードおよびフリーズ
モードのいずれか一方のモードで動作するDMA要求通
知手段と、前記バスアクセス許可信号(GNT#)を利
用したシリアル転送サイクルによって所定のI/Oデバ
イスに対するDMAアクノリッジ(DACK#)を前記
管理手段から受信したとき、前記DMA要求通知手段の
動作モードを前記プロシードモードから前記フリーズモ
ードに切り替える手段とを具備することを特徴とする。
【0027】このコンピュータシステムにおいては、I
/Oデバイスを制御する第1のバスマスタは、プロシー
ドモードとフリーズモードの2つの動作モードを有して
おり、バスアクセス許可信号(GNT#)を利用したシ
リアル転送によって所定のI/Oデバイスに対するDM
Aアクノリッジ(DACK#)を受信したとき、その動
作モードはプロシードモードからフリーズモードに切り
替えられる。
【0028】フリーズモードでは、DMAアクノリッジ
(DACK#)が通知されたI/Oデバイス、すなわち
DMAサイクル実行中のI/OデバイスのDREQの状
態に変化が生じた時のみ上述のバスアクセス要求信号
(REQ#)を利用したシリアル転送サイクルが実行さ
れ、他のI/Oデバイスに関するDREQの状態変化を
通知するためのシリアル転送サイクルの実行は凍結され
る。
【0029】このため、バスアクセス許可信号(GNT
#)を利用したシリアル転送によってDMAアクノリッ
ジ(DACK#)が通知された後は、DMAサイクル実
行中のI/OデバイスのDREQがインアクティブにな
らない限り、たとえ他のI/Oデバイスに関するDRE
Qの状態に変化が生じてもバスアクセス要求信号(RE
Q#)を利用した再送信は行われない。したがって、そ
の再送信のためにバスアクセス要求信号(REQ#)が
DMAサイクル実行中にインアクティブにされるといっ
た不具合がなくなり、DMA転送を正常に行うことが可
能となる。
【0030】また、この発明は、同一のI/Oデバイス
についてそのI/OデバイスからのDMA要求信号(D
REQ#)がアクティブにされていることを示すシリア
ル情報を再送する場合と、前記バスアクセス許可信号
(GNT#)を利用したシリアル転送サイクルによって
送信されたDMAアクノリッジ(DACK#)によって
選択されたI/OデバイスからのDMA要求信号(DR
EQ#)がインアクティブにされたことを示すシリアル
情報を送信する場合とで、前記バスアクセス要求信号
(REQ#)を利用したシリアル転送サイクルにおける
前記バスアクセス要求信号(REQ#)のインアクティ
ブ期間を異ならせ、これによって開始されたシリアル転
送サイクルが、選択された、つまりDMAサイクルの実
行が指示されたI/OデバイスからのDMA要求が終了
したことを通知するためのサイクルであるか否かをDM
Aコントローラに通知するDMA要求通知手段を第1の
バスマスタに具備したことを特徴とする。
【0031】この構成によれば、バスアクセス要求信号
のインアクティブ期間の長さによって、開始されるシリ
アル転送サイクルが、DMAサイクルの実行が通知され
たI/OデバイスからのDMA要求がインアクティブに
されたことを通知するためのサイクルであるか否かがD
MAコントローラに通知される。このため、DMA要求
を再送する目的でバスアクセス要求信号がインアクティ
ブされても、それが、DMAサイクル実行中のI/Oデ
バイスがDMA要求をインアクティブした、またはバス
が解放されたと誤判断されることは無くなる。よって、
DMA要求を発行したI/Oデバイスに対するDMAア
クノリッジが出かかって消えるという不具合を防止でき
る。
【0032】また、この発明によるコンピュータシステ
ムは、PCIバスと、このPCIバス上に定義され、バ
スマスタ毎に1組ずつ割り当てられているバスアクセス
要求信号(REQ#)線およびバスアクセス許可信号
(GNT#)線を利用してバスアクセスを調停するバス
アービタ(PBA)と、前記PCIバスに接続され、直
接メモリアクセス(DMA)を実行するDMAコントロ
ーラと、前記PCIバスとISAバスとを接続するPC
I−ISA/ブリッジ装置であって、前記ISAバスに
接続された複数のI/Oデバイスそれぞれから出力され
る複数のDMA要求信号(DREQ)の状態をシリアル
情報に変換し、そのシリアル情報を、前記PCI−IS
A/ブリッジ装置に割り当てられたバスアクセス要求信
号(REQ#)線を利用したシリアル転送サイクルによ
って前記DMAコントローラに送信するPCI−ISA
/ブリッジ装置と、前記PCIバスおよび前記DMAコ
ントローラに接続され、前記第1のバスマスタに割り当
てられたバスアクセス要求信号(REQ#)線およびバ
スアクセス許可信号(GNT#)線を管理する管理手段
であって、前記第1のバスアクセス要求信号(REQ
#)線を利用したシリアル転送サイクルによって送信さ
れたシリアル情報を、前記DMAコントローラに入力す
るための複数のDMA要求信号(DREQ)に変換する
手段、および前記DMAコントローラから出力される複
数のDMAアクノリッジ信号(DACK#)それぞの状
態をシリアル情報に変換し、そのシリアル情報と、その
シリアル情報によってDMA転送の実行が指定されるD
MAチャネルがカスケードモードにセットアップされて
いるか否かを示すモード情報とを、前記PCI−ISA
ブリッジ装置に割り当てられたバスアクセス許可信号
(GNT#)線を利用したシリアル転送サイクルによっ
て前記PCI−ISAブリッジ装置に送信する手段、を
含む管理手段とを具備し、前記PCI−ISAブリッジ
装置は、前記モード情報に従って前記DMA転送の実行
が指定されるDMAチャネルがカスケードモードか否か
を検出し、その検出結果に従って、前記DMAコントロ
ーラによるDMAサイクル、またはISAバスマスタと
して機能するI/Oデバイスによるバスサイクルにそれ
ぞれ対応したバス方向制御を実行することを特徴とす
る。
【0033】この構成によれば、バスアクセス許可信号
を利用したシリアル転送サイクルによって、DMAサイ
クルが実行されるDMAチャネルを特定するためのシリ
アル情報だけでなく、そのDMAチャネルがカスケード
モードにセットアップされているか否かを示すモード情
報も送信される。DMAサイクルが実行されるDMAチ
ャネルがカスケードモードであれば、以降のバスサイク
ルはバスマスタによって実行される。よって、そのモー
ド情報を利用することにより、ブリッジは即座にバス方
向を決定できるようになる。
【0034】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係わるコンピュータシステムの構成が示されている。
このコンピュータシステムは、ノートブックタイプまた
はラップトップタイプのポータブルパーソナルコンピュ
ータであり、そのシステムボード上には3種類のバス、
つまりプロセッサバス1、内部PCIバス2、および内
部ISAバス3が配設されており、またこのポータブル
パーソナルコンピュータ本体のDSコネクタに接続可能
なドッキングステーション内には、外部PCIバス4と
外部ISAバス5が配設されている。
【0035】システムボード上には、CPU11、ホス
ト/PCIブリッジ装置12、システムメモリ13、各
種PCIマスターデバイス14、内部PCI−ISAブ
リッジ装置15、PCI−DS(DS:ドッキングステ
ーション)ブリッジ装置16、PCカードコントローラ
17、PCI DMAデバイス18などが設けられてい
る。また、ドッキングステーション内には、DS−PC
I/ISAブリッジ装置20が設けられている。
【0036】CPU11は、例えば、米インテル社によ
って製造販売されているマイクロプロセッサ“Pent
ium”などによって実現されている。このCPU11
の入出力ピンに直結されているプロセッサバス1は、6
4ビット幅のデータバスを有している。
【0037】システムメモリ13は、オペレーティング
システム、デバイスドライバ、実行対象のアプリケーシ
ョンプログラム、および処理データなどを格納するメモ
リデバイスであり、複数のDRAMによって構成されて
いる。このシステムメモリ13は、32ビット幅または
64ビット幅のデータバスを有する専用のメモリバスを
介してホスト−PCIブリッジ装置12に接続されてい
る。メモリバスのデータバスとしてはプロセッサバス1
のデータバスを利用することもできる。この場合、メモ
リバスは、アドレスバスと各種メモリ制御信号線とから
構成される。
【0038】ホスト/PCIブリッジ装置12は、プロ
セッサバス1と内部PCIバス2との間を繋ぐブリッジ
LSIであり、PCIバス2のバスマスタの1つとして
機能する。このホスト/PCIブリッジ装置12は、プ
ロセッサバス1と内部PCIバス2との間で、データお
よびアドレスを含むバスサイクルを双方向で変換する機
能、およびメモリバスを介してシステムメモリ13のア
クセス制御する機能などを有している。
【0039】内部PCIバス2はクロック同期型の入出
力バスであり、内部PCIバス2上の全てのサイクルは
PCIバスクロックに同期して行なわれる。PCIバス
クロックの周波数は最大33MHzである。PCIバス
2は、時分割的に使用されるアドレス/データバスを有
している。このアドレス/データバスは、32ビット幅
である。
【0040】PCIバス2上のデータ転送サイクルは、
アドレスフェーズとそれに後続する1以上のデータフェ
ーズとから構成される。アドレスフェーズにおいてはア
ドレスおよび転送タイプが出力され、データフェーズで
は8ビット、16ビット、24ビットまたは32ビット
のデータが出力される。
【0041】PCIマスターデバイス14は、ホスト/
PCIブリッジ装置12と同様にPCIバス2のバスマ
スタの1つであり、イニシエータまたはターゲットとし
て動作する。
【0042】内部PCI−ISAブリッジ装置15は、
内部PCIバス2と内部ISAバス3との間を繋ぐブリ
ッジLSIである。内部ISAバス3には、メモリ、複
数のISA I/Oデバイス31,32,…が接続され
ている。これらI/Oデバイス31,32は、内部PC
I−ISAブリッジ装置15内蔵のDMACにDMA転
送を要求するデバイス、つまりDMAスレーブである。
【0043】この内部PCI−ISAブリッジ装置15
には、PCIバスアービタ(PBA)151、DMAC
コア(MPPDMA)152、および内部ISAバスブ
リッジ(IIBB)153が内蔵されている。
【0044】PCIバスアービタ(PBA)151は、
内部PCIバス2に結合される全てのバスマスタデバイ
ス間でバス使用権の調停を行う。この調停には、バスマ
スタデバイス毎に1ペアずつ割り当てられる内部PCI
バス2上の信号線(バスリクエスト信号REQ#線、グ
ラント信号GNT#線)が用いられる。
【0045】バスリクエスト信号REQ#は、それに対
応するデバイスが内部PCIバス2の使用を要求してい
ることをPCIバスアービタ(PBA)151に通知す
るための信号である。グラント信号GNT#は、バスリ
クエスト信号REQ#を発行したデバイスに、バス使用
を許可することを通知する信号である。
【0046】また、このシステムでは、内部PCIバス
2上に定義された複数組のREQ#,GNT#線のう
ち、DS−PCI/ISAブリッジ107に割り当てら
れた1組のREQ#,GNT#線は、外部ISAバス5
に接続されたDMAスレーブ等との間でDREQ,DA
CK#を授受するというDMAシリアルチャネルプロト
コルの実現のために使用される。
【0047】PCIバスアービタ(PBA)151に
は、内部PCIバス2上のほとんど全てのバスリクエス
ト信号REQ#線およびグラント信号GNT#線が接続
されており、バス使用権の調停はそのPCIバスアービ
タ(PBA)151によって集中的に制御される。
【0048】DMACコア(MPPDMA)152は、
ISA DMAC1521、バスリクエストおよびグラ
ントマネージャ(RGM;REQ#,GNT# Man
ager)1522、および内部ISA DMAルータ
(IIDR;Internal ISA DMA Ro
uter)1523の3つのブロックから構成されてい
る。このDMACコア(MPPDMA)152は内部P
CI−ISAブリッジ装置15内の独立した機能ブロッ
クであり、DMA以外の機能については、DMACコア
(MPPDMA)152は使用されず、他のブロックだ
けが動作する。
【0049】ISA DMAC1521、バスリクエス
トおよびグラントマネージャ(RGM)1522、およ
び内部ISA DMAルータ(IIDR)1523の具
体的な接続関係を図2に示す。
【0050】ISA DMAC1521は、内部PCI
バス2に接続されたバスマスタの1であり、DMA転送
を必要とするデバイス(DMAスレーブなど)からの要
求に応じてDMA転送を実行する。
【0051】DMAスレーブは、論理的には内部PCI
バス2に接続されている(実際には、ブリッジ15また
は20経由で内部ISAバス3または外部ISAバス5
に接続されている場合がほとんどである)。
【0052】ISA DMAC1521は、内部DRE
Q0〜7が入力されるDREQ入力ポートと、内部DA
CK#0〜7を出力するDACK#出力ポートを有して
おり、それらDREQ入力ポートおよびDACK#出力
ポートの双方はRGM1522およびIIDR1523
にそれぞれ接続されている。内部ISAバス3上のDM
Aスレーブ31,32…とISA DMAC1521と
の間のDREQおよびDACK#の授受は、IIDR1
523を介して実行される。また、外部ISAバス5上
のISAマスタ51、DMAスレーブ52,53…とI
SA DMAC1521との間のDREQおよびDAC
K#の授受は、RGM1522を介してDMAシリアル
チャネルプロトコルによって行われる。
【0053】ISA DMAC1521は内部PCIバ
ス2に接続され、またDMA転送を要求するデバイスは
内部ISAバス3または外部ISAバス5に接続されて
いるため、ISA DMAC1521によるDMA転送
では、リードサイクル(I/Oリードまたはメモリリー
ド)とライトサイクル(メモリライトまたはI/Oライ
ト)とは、時間的に同時には発生しない。すなわち、ま
ずリードサイクルが行われ、そのときのリードデータが
ISA DMAC1521内のバッファにラッチされ
る。つぎに、ライトサイクルが実行され、さきほどラッ
チしておいたデータがライトデータとして出力される。
【0054】リードサイクル、ライトサイクルとも、メ
モリ、I/Oを問わず、内部PCIバス2上で発生さ
れ、必要な場合はその内部PCIバス2上のバスサイク
ルがブリッジ装置15、または20によってISAバス
サイクルに変換される。すなわち、ISA DMAC1
521は、メモリサイクルとDMA専用I/Oサイクル
のどちらもPCIバス2上に発生し、ISAバスサイク
ルについては関知しない。
【0055】ISA DMAC1521は、ISAバス
システムアーキテクチャで標準となっている82C37
互換の機能を有しており、内部DREQ0〜7と内部D
ACK#0〜7とによってDMAチャンネルCH0〜C
H7をサポートしている。このうち、DMAチャンネル
CH4は2つのDMACコントローラをカスケード接続
するために使用されるため、DMA転送には使用されな
い。このため、内部DREQ0〜7および内部DACK
#0〜7のうち、DREQ4およびDACK#4は、実
際には、RGM1522とIIDR1523のどちらに
も接続されない。
【0056】ISA DMAC1521は、DMAチャ
ンネル毎に1ペアずつ用意された内部DREQ0〜7お
よびDACK#0〜7を用いて、DMAチャネルの調停
を行う。内部DREQは、DMAスレーブが、ISA
DMAC1521にDMA転送の実行を要求しているこ
とを通知するために使用されるDMAリクエスト信号で
ある。DACK#は、ISA DMAC1521がDM
A転送を要求したDMAスレーブに対してDMAサイク
ルの実行開始を通知するためのDMAアクノリッジ信号
であり、このDACK#によってDMA転送対象のDM
Aスレーブが選択される。
【0057】DMAチャネルの割り当ては、内部ISA
バス3上のデバイスと外部ISAバス5上のデバイスと
の間で排他的に行われる。各デバイスは、それに割り当
てられたDMAチャネルに対応するDREQ、DACK
#を用いてISA DMAC1521と送受信する。
【0058】この場合、外部ISAバス5上のデバイス
とISA DMAC1521との間のDREQおよびD
ACK#の送受信は、前述したように、1組のシリアル
REQ#,シリアルGNT#信号線を使用したDMAシ
リアルチャネルプロトコルに従って実行される。
【0059】このDMAシリアルチャネルプロトコルで
は、シリアルREQ#によってDS−PCI/ISAブ
リッジ装置20から最新のDREQの状態が送信され、
それがRGM1522に送られる。RGM1522で
は、シリアルREQ#が分解されてISA DMAC1
521への内部DREQ0〜7に変換される。
【0060】また、ISA DMAC1521から出力
される内部DACK#0〜7によって指定されるDMA
転送対象のチャネル情報は、RGM1522が実行する
シリアルGNT#信号線を利用したシリアル転送によっ
て、DS−PCI/ISAブリッジ装置20に送られ
る。
【0061】ISA DMAC1521は、RGM15
22およびIIDR1523から提供される最新のDR
EQチャンネル情報に基づき、DREQチャンネルマス
クの設定および調停方式の設定に従って、82C37互
換の、DREQチャンネル間調停を行う。有効なDMA
要求(DREQ)があれば、ISA DMAC1521
は、まず、自身に割り当てられているREQ#をアクテ
ィブにしてPCIバスアービタ(PBA)151に対し
てバス使用権を要求し、PBA151からGNT#が与
えられるのを待つ。
【0062】PBA151からGNT#が与えられる
と、ISA DMAC1521は、調停の結果選択した
DMAチャンネル番号に対応する内部DACK#をアク
ティブにして、DMA転送を実行するDMAチャンネル
番号をRGM1522とIIDR1523へ返す。そし
て、ISA DMAC1521は、選択されたDMAチ
ャンネルのセットアップ情報によって規定されるDMA
転送モード(シングル転送モード、ブロック転送モー
ド、デマンド転送モード、カスケードモード)に対応す
るDMAサイクルを実行する。この場合、ISA DM
AC1521は、前述したようにメモリ、I/Oサイク
ルとも、PCIバスのバスサイクルのみをサポートし、
ISAバスのバスサイクルについてはブリッジ装置15
または20によってエミュレートされる。
【0063】RGM1522は、複数のDMAチャネル
をシリアル化して転送するというDMAシリアルチャネ
ルプロトコルに関する処理を行うためにシリアルREQ
#およびシリアルGNT#の状態を管理する。このRG
M1522は、DMAシリアルチャネルプロトコルと、
ISA DMAC1521に対するISAスタイルのD
REQ/DACK#プロトコルとの間の変換を行う。
【0064】RGM1522には、複数のREQ#信号
を入力することができる。また、各REQ#信号毎に、
そのREQ#信号のプロトコルをプログラムすることが
できる。したがって、シリアルREQ#およびシリアル
GNT#として使用されるREQ#およびGNT#信号
線のペアを複数用意すれば、DS−PCI/ISAブリ
ッジ装置20経由で行われる外部ISAバス5上のデバ
イスとの間のDREQ,DACK#の授受だけでなく、
例えばPCカードコントローラ17のPCカード61,
62とISA DMAC1521との間のDREQ,D
ACK#の授受についてもDMAシリアルチャネルプロ
トコルによって行うことができる。
【0065】また、RGM1522は、DMAシリアル
チャネルプロトコルと、PBA151がサポートする標
準PCIスタイルのアービトレーションのためのREG
#/GNT#プロトコル(これは、文献“PCI LO
CAL BUS”,Revision2.01、199
4年10月20日、PCI Special inte
rest Group P47〜P52に記載されてい
る)。
【0066】すなわち、外部ISAバス5上のデバイス
との間のDREQ,DACK#の授受だけでなく、外部
PCIバス4上のPCIマスタ41との間のREQ#,
GNT#の授受もDMAシリアルチャネルプロトコルを
使用して行われる。この場合のREQ#,GNT#の処
理は、RGM1522によって次のように行われる。
【0067】外部PCIバス4上のPCIマスタ41
(LANボード、SCSIボードなど)は、REQ#を
アクティブにすることによって、バス使用要求をDS−
PCI/ISAブリッジ装置20に知らせる。DS−P
CI/ISAブリッジ装置20は、シリアルREQ#を
利用したシルアルデータ転送によって、バス使用要求を
RGM1522へ知らせる。この場合、そのバス使用要
求の通知には、ISAデバイスによって使用されていな
いDMAチャネルであるDREQ4が用いられる。
【0068】RGM1522は、シリアルREQ#信号
を分解し、シリアルREQ#によってDREQ4が通知
されたことを検出すると、REQ#をアクティブにして
PBA151に対してバス使用を要求する。PBA15
1は、標準PCIのルールによって調停を行い、GNT
#によってRGM1522に対してバス使用を許可す
る。
【0069】RGM1522は、PBA151からのG
NT#を受け取ると、シリアルGNT#を使用したシリ
アルデータ転送によって、バス使用が許可されたことを
DS−PCI/ISAブリッジ装置20に通知する。こ
の通知には、DACK4が使用される。DS−PCI/
ISAブリッジ装置20は、RGM1522が送信した
シリアルGNT#信号を分解し、PCIマスタ41にG
NT#を与える。PCIマスタ41は、GNT#を受け
取るとバスサイクルを開始する。
【0070】次に、内部ISA DMAルータ(IID
R)1523について説明する。内部ISA DMAル
ータ(IIDR)1523は、プログラムされたマッピ
ング情報にしたがって、内部ISAバス3上のDMAス
レーブ31,32,…にマッピングされるDMAチャネ
ルを変更する。IIDR1523は、DMAスレーブ3
1,32,…からのDREQ信号の状態を、マッピング
情報に従って、それらデバイスのDMAチャネル番号に
対応する内部DREQに変換して、ISADMAC15
21に伝える。また、IIDR1523は、ISA D
MAC1521からの内部DACK#を、マッピング情
報に従って、DMAスレーブ31,32が実際に使用し
ているDACK#に変換して、内部ISAバス3上に出
力する。
【0071】内部ISAバスブリッジ(IIBB)15
3は、内部PCIバス2と内部ISAバス3とを繋ぐブ
リッジであり、メモリおよびI/Oなどの内部ISAバ
ス3上の全てのデバイスを制御する。このIIBB15
3は、ISA DMAC1521がDMA転送のために
PCIバス2上に発生するメモリまたはI/Oサイクル
をプロトコル変換して、内部ISAバス3上へ伝える。
【0072】PCI−DSブリッジ装置16は、内部P
CIバス2と、ドッキングステーションに導出されるP
CIバス相当のドッキングバスとを繋ぐブリッジLSI
であり、PCIバス2上のエージェントとして機能す
る。このPCI−DSブリッジ装置16には、DMAシ
リアルチャンネルプロトコルによるシリアルREQ#/
GNT#の転送の同期化のためのバッファが設けられて
いる。
【0073】PCカードコントローラ17は、PCIバ
スマスタの1つであり、DMAシリアルチャネルプロト
コルをサポートしている。このPCカードコントローラ
17によって制御されるPCカード61,62がDMA
転送を要求した時、そのDMA要求すなわちDREQ
は、PCカードコントローラ17に割り当てられたRE
Q#信号線を利用したシリアル転送によってRGM15
22に送信される。また、RGM1522からのDAC
K#については、PCカードコントローラ17に割り当
てられたGNT#信号線を利用したシリアル転送によっ
てPCカードコントローラ17に送られる。このシリア
ルGNT#は、PCカードコントローラ17によってD
ACK#に分解されて、PCカード61または62に渡
される。
【0074】PCIDMA18は、PCカードコントロ
ーラ17と同様、内部PCIバス2上のエージェントで
あり、且つDMAシリアルチャネルプロトコルをサポー
トしている。このPCIDMA18によって制御される
DMAスレーブ19がDMA転送を要求した時、そのD
MA要求、すなわちDREQはシリアルREQ#よって
RGM1522に送信される。また、RGM1522か
らのシリアルGNT#はPCIDMA18によってDA
CK#に分解されてDMAスレーブ19に通知される。
【0075】DS−PCI/ISAブリッジ装置20
は、DSコネクタを介してコンピュータ本体からドッキ
ングステーションに導出されるドッキングバス(PCI
バス相当)と外部PCIバス4および外部ISAバス5
とを繋ぐブリッジLSIである。このDS−PCI/I
SAブリッジ装置20は、PCカードコントローラ17
と同じくPCIバスマスタの1つであり、且つDMAシ
リアルチャネルプロトコルをサポートしている。
【0076】DS−PCI/ISAブリッジ装置20に
は、外部PCIバスブリッジ(EPBB;Extern
al PCI Bus Bridge)201、外部I
SAバスブリッジ(EIBB;External IS
A Bus Bridge)202、ローカルバスアー
ビタ(LBA;Local Bus Arbiter)
203、および外部ISA DMAルータ(EIDR;
External ISA DMA Router)2
04が設けられている。
【0077】EPBB201は、内部PCIバス2上に
ISA DMAC1521が発生するメモリサイクルお
よびI/OサイクルをPCI−DSブリッジ16を経由
して受け取り、それを外部PCIバス4上へ伝える。ま
た、外部PCIバス4上のPCIマスタデバイス41に
バス使用権が与えられた場合は、EPBB201は、外
部PCIバス4上のバストランザクションをドッキング
バス上に発生させる。
【0078】EIBB202は、内部PCIバス2上に
ISA DMAC1521が発生するメモリサイクルお
よびI/OサイクルをPCI−DSブリッジ16を経由
して受け取り、それをプロトコル変換して外部ISAバ
ス5上へ伝える。また、外部ISAバス5上のISAマ
スタデバイス41にバス使用権が与えられた場合は、E
IBB202は、外部ISAバス5上のバストランザク
ションをドッキングバス上に発生させる。
【0079】LBA203およびEIDR204は、D
MAシリアルチャネルプロトコルをサポートするために
設けられたものであり、それらの接続関係を図3に示
す。LBA203は、外部PCIバス4上のPCIバス
マスタ41からのバス使用要求REQ#と、外部ISA
バス5上のISAマスタ51およびDMAスレーブ5
2,53からのDREQ信号(基本的にISAのDMA
チャンネル分ある)の状態の変化を監視しており、最新
の状態をシリアルREQ#を利用したビット列のシリア
ル転送によって、PCI−DSブリッジ16経由でRG
M1522へ伝える。
【0080】シリアルREQ#で送信されるビット列の
フォーマットは次の通りである。 LBA203は、アクティブにされたREQ#の前縁を
スタートbit(S)とし、以後、DMAチャンネルの
0から7までを1クロックフレームづつ使用して、シリ
アルに伝える。チャンネル4のフレームは、PCIマス
タ41のバス要求状態の変化を伝えるために使用され、
それ以外は、ISAマスタ51,DMAスレーブ52,
53のDMA要求の状態変化を伝えるために使用され
る。
【0081】各フレームは、“L”で要求なしを意味
し、“H”で要求ありを意味する。上述の例では、DR
EQ0、2、7がアクティブであり、且つPCIマスタ
41がバス使用を要求している状態(DREQ4がアク
ティブ)に対応している。
【0082】LBA203は、2つの動作状態(プロシ
ード、フリーズ)を有する。RGM1522からのシリ
アルGNT#を受け取るまでは、LBA203は、プロ
シード状態であり、常に最新の状態をRGM1522へ
伝えるように努力する。すなわち、プロシード状態で
は、PCIバスマスタ41のREQ#、またはISAマ
スタ51、およびDMAスレーブ52,53のDREQ
状態の変化が発生する度に、それをDMAシリアルチャ
ンネルプロトコルによってRGM1522に通知する。
【0083】RGM1522からのシルアルGNT#を
受け取ると、LBA203は、そのシルアルGNT#に
含まれるビット列をデコードし、DACK#をEIDR
204へ返すか、あるいは外部PCIバス4にGNT#
を返す。
【0084】シリアルGNT#でRGM1522から送
信されるビット列のフォーマットは次の通りである。 RGM1522は、アクティブにされたGNT#の前縁
をスタートbit(S)とし、以後、DMAチャンネル
のDACK#0から7までのどれかひとつを3bitで
コード化した情報を、LSBから順番に、各bitに1
クロックフレームづつ割り当てて、シリアルに伝える。
チャンネル4のコードは、PCIマスタ41のバス要求
状態に応答するGNT#を伝えるために使用され、それ
以外は、ISAマスタ51,DMAスレーブ52,53
のDMA要求に対するDACK#を伝えるために使用さ
れる。
【0085】上述の例では、チャンネルコード=1であ
り、DMAチャンネル1が選択された(DACK1#が
与えられた)ことを意味する。一旦、GNT#を受け取
ると、LBA203の動作状態はプロシード状態からフ
リーズ状態に切り換えられる。フリーズ状態は、そのG
NT#に対応するデバイス(PCIマスター、ISAマ
スター、DMAスレーブ)がバスの使用要求を取り下げ
るまで維持され、その期間では、たとえ他のデバイスに
状態変化が生じても、それを通知するためのシリアルR
EQ#サイクルの実行は凍結され、REQ#はアクティ
ブ状態に維持され続ける。
【0086】フリーズ状態は、シリアルREQ#がDM
Aサイクル実行中にインアクティブにされるといった不
具合を防止するために用意されたこの発明の特徴とする
動作ステートであり、その詳細は、図4および図5を参
照して後述する。
【0087】このシステムのDMAシリアルチャンネル
プロトコルでは、PCIマスタ用に割り当てられたフレ
ームはチャネル4だけである。このため、外部PCIバ
ス4上に複数のPCIマスタが存在する場合には、それ
ら複数のPCIマスタからのREQ#間の調停もLBA
203によって行われる。
【0088】EIDR204は、プログラムされたマッ
ピング情報にしたがって、外部ISAバス5上のISA
マスタ51およびDMAスレーブ52,53それぞれに
マッピングされるDMAチャネルを変更する。このEI
DR204と前述のIIDR1523との共同作用によ
り、内部ISAバス3上のデバイスと外部ISAバス5
上のデバイスとにDMAチャネルを排他的に割り当てる
ことができる。
【0089】EIDR204は、ISAマスタ51およ
びDMAスレーブ52,53それぞれからのDREQ信
号の状態を、マッピング情報に従って、それらデバイス
のDMAチャネル番号に対応するDREQ信号に変換し
てLBA203に伝える。また、EIDR204は、L
BA203からのDACK#を、マッピング情報に従っ
て、ISAマスタ51およびDMAスレーブ52,53
が実際に使用しているDACK#に変換して、外部IS
Aバス5上に出力する。
【0090】次に、ISA DMAC1521によって
実行されるDMA転送処理の全体の流れを説明する。 (1)ISA互換のDRQ調停 ISA DMAC1521は、ISA互換のDREQ信
号を、IIDR1523とRGM1522とから受け取
る。これをもとに、調停を行い、有効な(マスクされて
いない)DMA要求があるか、どのDMAチャンネルへ
DACK#を返すか、を決定する。 (2)内部PCIバスの使用要求の発生 有効なDMA要求があると、ISA DMAC1521
は、REQ#をPBA151に対して発生する。ただ
し、この時点では、DACK#を与えるDMAチャンネ
ルは決定しない。また、内部PCIバス2がロック状態
のときは、REQ#の発生は抑制される。 (3)内部PCIバス使用権の獲得 ISA DMAC1521は、PBA151からのGN
T#を獲得すると、必要なDMA転送(一般的に、複数
回のPCIバスサイクルが発生)がすべて終了するまで
は、バス使用要求REQ#を出し続ける。途中で、ター
ゲットリトライによるバスサイクル終了があっても、バ
スを解放しない。
【0091】この時点で、再度、内部PCIバス2のロ
ック状態をチェックし、ロックされていれば、REQ#
をインアクティブにし、GNT#を無効化する。 (4)DACK#アサート ISA DMACは、GNT#を獲得した時点で、DA
CK#を与えるDMAチャンネルを決定する。DACK
#を、RGM1522とIIDR1523へ送る。DA
CK#をアクティブにした時点で、DMAチャンネルが
固定される。 (5)バスサイクルの発生とその繰り返し ISA DMAC1521は、DACK#をアサートし
てから、内部PCIバス2にバスサイクルを発生する。
ただし、選択されたDMAチャンネルが、カスケードモ
ードにプログラムされている場合は、バスサイクルは発
生しない。
【0092】バスサイクルの種類は、選択されたDMA
チャンネルのモードレジスタの内容(転送タイプ)によ
り、ライト転送、リード転送、ベリファイ転送の3種類
に分類される。
【0093】ここでは、ライト転送(I/Oリード→メ
モリライト)について具体的に説明する。ライト転送
は、次の2つのバスサイクルを1組とし、それを必要回
数繰り返すことによって実行される。
【0094】・DMA専用I/Oサイクル(リード) ・メモリライトサイクル DMA専用I/Oサイクル(リード)は、標準のPCI
バスのI/Oリードサイクルと全く同じである。ただ
し、I/Oアドレスが特別の意味を持つ。
【0095】I/Oアドレスは、 00000000h…TCなし 00000004h…TCあり のいづれかである。このアドレスは、82C37(DM
AC)に割り当てられており、ISA DMAC152
1以外のターゲットが応答することはない。TCは転送
カウント値が尽きた事、つまり転送終了を示す信号であ
る。
【0096】I/Oターゲットとなるエージェントは、
DACK#をもらっている経路にあるすべてのブリッジ
である。例えば、シリアルGNT#によって外部ISA
バス5上のDMAスレーブにDACK#が与えられた場
合には、PCI−DSブリッジ16、およびDS−PC
I/ISAブリッジ20のEIBB202が応答する。
【0097】ブリッジ20は、ISAバス5上にコマン
ド(IOR#)を出力する。アドレスがTCを指定して
いるとき(00000004h)は、ISAバス5上へ
TCを出力する。このとき、DACK#は、EIDR2
04によりすでに出力されている。従って、ISAバス
5上には、DACK#で選択されたDMAスレーブから
リードデータが出力される。ブリッジ20は、このデー
タをISAバス5から内部PCIバス2へ伝える。
【0098】リードされたデータは、ISA DMAC
1521にラッチされる。このデータは、ISA DM
AC1521が直後に発生するメモリライトサイクル
で、ライトデータとして使用される。
【0099】メモリライトサイクルは、標準のPCIバ
スのメモリライトサイクルと全く同じである。メモリア
ドレスは、ISA DMAC1521に内蔵されたカレ
ントアドレスレジスタとページレジスタとから作られ
る。ライトデータは、ISA DMAC1521が直前
に発生したDMA専用I/Oサイクル(リード)でラッ
チされたものが使用される。1回の転送で、1バイト
(8bitDMA)または2バイト(16bitDM
A)を発生する。
【0100】ターゲットとなるホスト−PCIブリッジ
12は、通常のPCIマスターからのメモリライトと全
く同じように応答し、システムメモリ13をライトアク
セスする。リトライで終了した場合でも、ISA DM
AC1521は多少の待ち時間をおいてから、再度同じ
メモリサイクルを発生してくる。この間、ISA DM
AC1521はバス2を解放しない。
【0101】(プロシードおよびフリーズ)次に、前述
したプロシードおよびフリーズについて具体的に説明す
る。図4には、DS−PCI/ISAブリッジ20とR
GM1522の動作状態の関係が示されている。
【0102】前述したように、外部ISAバス5上のI
SAマスタ51およびDMAスレーブ52,53が出力
するDREQの状態は、DS−PCI/ISAブリッジ
20内部のLBA203によって実行されるパラレル→
シリアル変換のディレー、RGM1522によって実行
されるシリアル→パラレル変換のディレー、および多少
の同期化のディレーを経て、ISA DMAC1521
へ内部DREQ入力として伝えられる。その途中で、シ
リアル転送のために、一時的に、REQ#という信号名
に置き換わる。
【0103】同様に、ISA DMACが出力するDA
CK#の状態は、RGM1522によって実行されるパ
ラレル→シリアル変換のディレー、DS−PCI/IS
Aブリッジ20内部のLBA203によって実行される
シリアル→パラレル変換のディレー、および多少の同期
化のディレーを経て、ISAマスタ51およびDMAス
レーブ52,53にDACK#として伝えられる。その
途中で、シリアル転送のために、一時的に、GNT#と
いう信号名に置き換わる。
【0104】要求もとが、PCIバスマスタ41である
場合も同様であり、上記の説明の、DMAスレーブ・I
SAマスターをPCIマスタに置き換え、ISA DM
AC1521をPBA151に置き換えて考えればよ
い。
【0105】DS−PCI/ISAブリッジ20内部の
LBA203は、RGM1522からのシリアルGNT
#により、DMAスレーブ・ISAマスターのDACK
#またはPCIマスタのGNT#が与えられる以前は、
自分の分担する全てのDREQ信号とREQ#信号の最
新状態をRGM1522へ伝えるように努力する。この
状態を、プロシード状態(QP)と呼ぶ。プロシード状
態にあるとき、LBA203は、アクティブにされてい
るシリアルREQ#信号を一旦インアクティブにし、再
度、シリアルREQ#をスタートビットから送信し直す
ことができる。
【0106】LBA203は、RGM1522からのシ
リアルGNT#により、DMAスレーブおよびISAマ
スタのDACK#またはPCIマスタのGNT#が与え
られると、それ以降は、シリアルGNT#で指定された
チャンネルに対応するDREQ信号あるいはREQ#信
号がインアクティブにされるまでは、シリアルREQ#
信号をアクティブにし続ける。この状態を、フリーズ状
態(QF)と呼ぶ。
【0107】フリーズ状態にあるとき、LBA203が
アクティブ状態のシリアルREQ#信号をインアクティ
ブにできるのは、シリアルGNT#で指定されたDRE
Q信号あるいはREQ#信号がインアクティブにされた
ときだけである(厳密に言えばリセット時もある)。フ
リーズ状態においては、DREQ信号とREQ#信号の
状態を更新する目的で、REQ#デアサートし、再度、
シリアルREQ#をスタートビットから送信し直す、と
いうことはできない。
【0108】従って、図5のタイミングチャートに示さ
れているように、シリアルGNT#によってDACK#
を受信したとき、LBA203の動作状態はプロシード
からフリーズに切り替えられる。フリーズ状態では、D
ACK#が通知されたI/Oデバイス、すなわちDMA
サイクル実行中のI/OデバイスのDMA要求の状態に
変化が生じた時のみシリアルREQ#サイクルの実行が
許可され、他の目的でのシリアルREQ#サイクルの実
行は全て凍結される。
【0109】よって、シリアルGNT#によってDAC
K#が通知された後は、DMAサイクル実行中のI/O
デバイスのDMA要求がインアクティブにならない限
り、たとえ他のI/Oデバイスに関するDMA要求の状
態に変化が生じてもシリアルREQ#を利用した再送信
は行われない。したがって、その再送信のためにシリア
ルREQ#がDMAサイクル実行中にインアクティブに
されるといった不具合がなくなり、DMA転送を正常に
行うことが可能となる。
【0110】このようなDS−PCI/ISAブリッジ
20側のプロシードとフリーズの2つの状態に対応し、
RGM1522側にも、アンロック(SU)とロック
(SL)という2つの状態を用意することが好ましい。
【0111】RGM1522は、シリアルGNT#によ
ってDMAスレーブ・ISAマスタにDACK#、また
はPCIマスタにGNT#を伝える以前は、ISA D
MAC1521へ伝えるDREQ、あるいはPBA15
1へ伝えるREQ#を、保持する。この場合、シリアル
REQ#がインアクティブされても、ISA DMAC
1521へ伝えるDREQ、あるいはPBA151へ伝
えるREQ#がインアクティブにされることはない。L
BA203からのシリアルREQ#によって、DREQ
とREQ#の最新状態が更新されたときは、シリアル→
パラレル変換後に、その結果を反映する。このようにシ
リアルREQ#のインアクティブが特定のDREQのイ
ンアクティブあるいはREQ#のインアクティブを意味
しない、という意味で、この状態を、アンロック状態
(SU)と呼ぶ。
【0112】RGM1522は、シリアルGNT#によ
ってDMAスレーブ・ISAマスタにDACK#、また
はPCIマスタにGNT#を伝えると、それ以降は、シ
リアルGNT#によって指定したチャンネルに対応する
DREQあるいはREQ#に対して“ロック”される。
ロックというのは、従って、チャンネルロック、という
意味である。LBA203から出力されるシリアルRE
Q#がインアクティブにされた時、ISA DMAC1
521へ伝えるDREQあるいはPBA151へ伝える
REQ#のうち、ロックされているもののみがインアク
ティブにされる。シリアルREQ#のインアクティブが
特定のDREQのインアクティブあるいはREQ#のイ
ンアクティブを意味する、という意味で、この状態を、
ロック状態(SL)と呼ぶ。
【0113】通常は、LBA203側のプロシード状態
とRGM1522側のアンロック状態が対応し、LBA
203側のフリーズ状態とRGM1522側のロック状
態が対応する(QPとSU、QFとSL)。
【0114】(1Tルール)次に、図6を参照して、D
MAシリアルチャネルを利用することによって生じる不
具合を解消するために、LBA203とRGM1522
との間で規定したシリアルREQ#送信ルール(1Tル
ール)について説明する。
【0115】このシリアルREQ#の送信ルール(1T
ルール)はこの発明の第2の特徴とする部分であり、そ
の送信ルールの原理は次の通りである。 (1)再送信の目的でシリアルREQ#をインアクティ
ブするときは、シリアルREQ#のインアクティブ期間
(シリアルREQ#=“H”)を1T幅にする。
【0116】(2)フリーズされたチャンネルのDRE
QインアクティブまたはREQ#インアクティブを伝え
るとき(つまり、DACK#を受け取ったISAマスタ
またはDMAスレーブによるDREQインアクティブ、
あるいはGNT#を受け取ったPCIマスタによるRE
Q#インアクティブを伝えるとき)は、シリアルREQ
#のインアクティブ期間(シリアルREQ#=“H”)
を2T以上にする。
【0117】このような1Tルールを採用することによ
り、シリアルREQ#を受け取るRGM1522側で、
(1)のケースか、(2)のケースかを判定することが
可能となる。すなわち、REQ#=LからHへの変化の
直後(1TのみH)に、再度REQ#=Lとなれば、こ
れは再送信のためのスタートと判断できる。
【0118】このため、DMAサイクル実行中のI/O
デバイスからのDREQまたはPCIマスタからのRE
Q#を再送する目的でシルアルREQ#がインアクティ
ブにされても、それが、DMAサイクル実行中のI/O
デバイスがDREQをインアクティブした、またはバス
が解放されたと誤判断されることは無くなる。よって、
図9で説明した問題、つまりDREQを発行したI/O
デバイスに対するDACK#が出かかって消えるという
不具合を防止することができる。
【0119】また、この1Tルールの採用により、DS
−PCI/ISAブリッジ20側のQP,QFとRGM
1522側のSU,SLとの対応関係がくずれても、そ
れによる不具合を防止できるようになる。具体的には、
QPなのにSLという状態が発生した時、誤動作が生じ
る。QPなのにSLという状態は、次のようなケースで
発生する。
【0120】RGM1522側がシリアルGNT#をア
クティブにした場合、これがDS−PCI/ISAブリ
ッジ20側でシリアル/パラレル変換されてDACK#
またはGNT#になるまでには時間がかかる。この時間
内に、DS−PCI/ISAブリッジ20が、再送信目
的でシリアルREQ#をインアクティブする可能性があ
る。これは、DS−PCI/ISAブリッジ20のLB
A203がまだフリーズ状態になっておらず、プロシー
ド状態だからである。
【0121】このとき、RGM1522はすでにアンロ
ック状態からロック状態へと遷移しており、上記のシリ
アルREQ#のインアクティブは、ロックされたチャン
ネルのDREQインアクティブまたはREQ#インアク
ティブとして処理されてしまう。つまり、ISA DM
AC1521に対する内部DREQ、またはPBA15
1に対するREQ#のどちらかがインアクティブにされ
る。
【0122】この現象は、“QPなのにSL”という一
種のイリーガルな状態の組み合わせが発生したためにお
きたものである。この組み合わせが発生したのは、シリ
アルGNT#をRGM1522からDS−PCI/IS
Aブリッジ20へ伝えるのに時間遅れがあったからであ
る。この時間遅れは、RGM1522とLBA203と
が別チップ上に存在している限り、宿命的に発生する。
【0123】さらに、この直後に、RGM1522から
送信されたシリアルGNT#はLBA203へ到着し、
LBA203の動作状態はQFとなる。LBA203
は、シリアルGNT#を、DACK#あるいはGNT#
として、要求もとのDMAスレーブ・ISAマスターあ
るいはPCIマスターへ伝える。
【0124】結果として、DMAスレーブ・ISAマス
ターあるいはPCIマスターは、いま、まさに動作を開
始しようとしている状態になっている。一方、RGM1
522は、既にISA DMAC1521に対するDR
EQをインアクティブあるいはPBA151に対するる
REQ#をインアクティブにしてしまっているので、シ
ステム全体としては動作できない状態に陥る。
【0125】このような問題は、1Tルールによって解
消できる。以下、図6のタイミングチャートを参照し
て、上述の1Tルールを採用した場合のDS−PCI/
ISAブリッジ20側の動作(図6(A))とRGM1
522側の動作(図6(B))について具体的に説明す
る。
【0126】図6(A),(B)のタイミングチャート
は、それぞれDS−PCI/ISAブリッジ20側の動
作とRGM1522側の動作をタイムディレイを考慮し
た状態で示している。
【0127】まず、外部ISAバス5上のDMAスレー
ブ52がDREQをアクティブにする。このDREQの
状態は、図6(A)に示されているようにDREQ A
のアクティブとして、EIDR204経由でLBA20
3に通知される。LBA203は、シリアルREQ#を
利用したビット列のシルアル転送を行い、DREQAを
RGM1522に送信する。この場合、シリアルREQ
#のスタートビットSに後続するビット列は、DMAチ
ャネルA(DMAチャネル0〜7の内で、チャネル4を
除く所定の1チャネル)がアクティブにされていること
を示す。
【0128】シリアルREQ#を受信すると、図6
(B)に示されているように、RGM1522はそのシ
リアルREQ#を分解し、ISA DMAC1521に
対して内部DREQ A信号(Int,DREQ A)
を発生する。
【0129】ISA DMAC1521は、内部DRE
Q A信号が有効なDMAリクエストであれば、PBA
151に対してREQ#をアクティブにして、バス使用
を要求する。PBA151は、標準PCIのアービトレ
ーションプロトコルに従って調停を行い、GNT#をア
クティブにすることによって、ISA DMAC152
1に対してバス使用権を許可する。以後は、REQ#が
インアクティブにされるまでは、GNT#はアクティブ
にされ続ける。
【0130】ISA DMAC1521は、PBA15
1からのGNT#を受け取ると、内部DACK A#を
アクティブにする。RGM1522は、ISA DMA
C1521からのDACK A#が、自分が出したDR
EQ Aに該当するかどうかチェックする。該当してい
た場合、図6(B)に示されているようにシリアルGN
T#信号を利用したビット列の転送を実行し、DACK
A#をLBA203へ伝える。また、この時、RGM
1522はロック(SL)状態に入る。
【0131】シリアルGNT#が届く前に、外部ISA
バス5上のDMAスレーブ53がDREQをアクティブ
にすると、このDREQの状態は、図6(A)に示され
ているように、DREQ BのアクティブとしてEID
R204経由でLBA203に通知される。この場合、
LBA203はまだプロシード(QP)の状態であるの
で、図6(A)に示されているように、シリアルREQ
#を利用したビット列のシルアル転送を行い、DREQ
AおよびDREQ BをRGM1522に際送信す
る。この場合、ここで実行されるシルアル転送はDRE
Q Aの再送信を目的としたシリアルREQ#であるの
で、そのシリアルREQ#のインアクティブ期間は図6
(A)のように1Tに設定される。また、シリアルRE
Q#のスタートビットSに後続するビット列は、DMA
チャネルAおよびBの双方がアクティブにされているこ
とを示す。
【0132】このシリアルREQ#は、図6(B)に示
されているように、ロック中のRGM1522に届く。
RGM1522は、受信したシリアルREQ#のインア
クティブ期間が1Tであることから、そのシリアルRE
Q#が再送信目的で送られてきたものであることを認識
できる。したがって、アクティブ状態の内部DREQA
が誤ってインアクティブに設定されることは無く、図6
(B)のように内部DREQ Bだけがアクティブ状態
に変化される。
【0133】LBA203は、RGM1522が送信し
たシリアルGNT#を受け取ると、それを分解して、E
IDR204経由でDMAスレーブ52にDACK A
#を返す。そして、LBA203は、図6(A)のよう
にフリーズ状態に入る。
【0134】LBA203がフリーズ状態である期間中
にDMAスレーブ52からのDREQ Aが図6(A)
のようにインアクティブに変化すると、LBA203
は、シリアルREQ#を利用したビット列のシルアル転
送を行う。この場合、ここで実行されるシルアル転送は
DREQ Aがインアクティブに変化したことを通知す
ることを目的としたシリアルREQ#であるので、その
シリアルREQ#のインアクティブ期間は2T以上に設
定される。また、シリアルREQ#のスタートビットS
に後続するビット列は、現在アクティブにされているの
はDMAチャネルBだけであることを示す。
【0135】このシリアルREQ#は、ロック中のRG
M1522に届く。RGM1522は、受信したシリア
ルREQ#のインアクティブ期間が2T以上であること
から、ロック中のDREQ Aがインアクティブにされ
たと認識し、内部DREQAを図6(B)のようにイン
アクティブにする。
【0136】(シリアルGNT#の4ビット化)次に、
バス方向の切り替えを高速実行するために、このシステ
ムで採用したシリアルGNT#の4ビット化技術につい
て説明する。
【0137】ブリッジ16,20を経由して、RGM1
522からLBA203へシリアルGNT#を返す場
合、DACK#の最終到着点にあるものが、DMAスレ
ーブ52,53である場合とISAマスタ51である場
合とで、以後、発生するバスサイクルが大きく異なる。
【0138】DMAスレーブ52または53にDACK
#が与えられるケースでは、ISADMAC1521
が、内部PCIバス2上にバスサイクルを発生し、これ
が、システム全体のバスへ伝わってゆく。その末端に、
DMAスレーブ52,53がいる。
【0139】一方、ISAマスタ51にDACK#が与
えられるケースでは、ISAマスタ51が外部ISAバ
ス5上でバスサイクルを発生し、これが内部PCIバス
2へ伝えられ、以後、必要なバスへも伝えられる。IS
Aマスタ51が動作するときのバス方向は、PCIマス
タ41が動作するときのバ方向と似ている。
【0140】シリアルGNT#をもらう経路にあるブリ
ッジ16,20は、シリアルGNT#でコード化された
チャンネル番号を知ることができる。このチャンネル番
号が4であれば、PCIマスタ41が動きだす、という
ことを知ることができるので、それに合わせたバス方向
制御が可能である。
【0141】番号が4以外の場合、DMAスレーブ5
2,53か、またはISAマスタ51へのDACK#と
いうことになる。このとき、シリアルGNT#のコード
情報だけでは、DACK#が与えられるデバイスが、D
MAスレーブなのかISAマスターなのかを判定できな
い。従って、バス方向制御ができない。
【0142】実際には、いづれ、ISA DMAC15
21が内部PCIバス2上でバスサイクルを発生する
か、またはISAマスタ51が外部ISAバス5上のM
ASTER#信号をアクティブにするので、その時点で
判定はできる。
【0143】問題は、それまでの時間、バス方向が決め
られず、フローティング状態が続く、ということであ
る。このフローティング状態を回避するために、このシ
ステムでは、シリアルGNT#を3bitから4bit
へ増やす方式を採用している。
【0144】この方式は、図7に示されているように、
シリアルGNT#の4bit目に、そのときのDACK
#で指定されたDMAチャンネルが、カスケードモード
にプログラムされているかどうか、という情報を載せる
というものである。シリアルGNT#で送信されるビッ
ト列の4ビット目、つまりbit C=“H”のときは
カスケードモード、bit C=“L”のときその他の
モード(シングル、ブロック、デマンドモード)とす
る。
【0145】RGM1522は、ISA DMAC15
21からの内部DACK#をシリアルGNT#によって
LBA203に送るとき、ISA DMAC1521か
らそのチャンネルがカスケードモードにプログラムされ
ているかどうかの情報も、あわせてもらう。この情報に
もとづいて、RGM1521は、シリアルGNT#の4
bit目を制御する。
【0146】シリアルGNT#をもらう経路にあるブリ
ッジ16、20は、4bit目の情報にもとづいて、バ
ス方向をすばやく決定することができる。bit C=
“H”の場合と“L”の場合のバス方向を図8に示す。
ここで、バス方向とは、アドレスバスおよび制御信号系
のバスのことを意味している。
【0147】なお、カスケードモード以外のDACK#
(すなわち、DMAスレーブのDACK#)、あるい
は、PCIマスタに対するGNT#については、4bi
t目は常に“L”である。従って、シリアルGNT#が
3bitだった場合と、互換性がある。
【0148】以上説明したように、この実施形態のシス
テムでは、RGM1522とLBA203の構成によっ
て、DMAシリアルチャネルプロトコルに(1)プロシ
ードとフリーズの2つの動作状態の設定、(2)1Tル
ールの採用、(3)シリアルGNT#の4ビット化、と
いう3つの対策が施されている。なお、(1)のプロシ
ードとフリーズの2つの動作状態の設定、(2)の1T
ルールの採用については、PCカードコントローラ17
とRGM1522との間のDMAシリアルチャネルプロ
トコルにおいても、同様にして適用することができる。
【0149】
【発明の効果】以上の説明したように、この発明によれ
ば、プロシードとフリーズの2つの動作状態を設定した
ことにより、バスアクセス許可信号を利用したシリアル
データ転送によってDMAアクノリッジが通知された後
は、DMAサイクル実行中のI/OデバイスのDMA要
求がインアクティブにならない限り、たとえ他のI/O
デバイスに関するDMA要求の状態に変化が生じてもバ
スアクセス要求信号を利用した再送信は行われない。し
たがって、その再送信のためにバスアクセス要求信号が
DMAサイクル実行中にインアクティブにされるといっ
た不具合がなくなり、DMA転送を正常に行うことが可
能となる。
【0150】また、1Tルールの採用により、バスアク
セス要求信号のインアクティブ期間の長さによって、開
始されるシリアルデータ転送サイクルが、DMA要求を
再送するためのサイクルであるか否かがDMAコントロ
ーラに通知される。このため、DMA要求を再送する目
的でバスアクセス要求信号がインアクティブされても、
それが、DMAサイクル実行中のI/OデバイスがDM
A要求をインアクティブした、またはバスが解放された
と誤判断されることは無くなる。よって、DMA要求を
発行したI/Oデバイスに対するDMAアクノリッジが
出かかって消えるなどの不具合を防止できる。
【0151】さらに、シリアルGNT#の4ビット化に
より、バスアクセス許可信号を利用したシリアルデータ
転送サイクルによってDMAサイクルが実行されるDM
Aチャネルを特定するための第1のシリアルビット情報
だけでなく、そのDMAチャネルがカスケードモードに
セットアップされているか否かを示す第2のシリアルビ
ット情報も送信される。DMAサイクルが実行されるD
MAチャネルがカスケードモードであれば、以降のバス
サイクルはバスマスタによって実行される。よって、そ
の第2のシリアルビット情報を利用することにより、ブ
リッジは即座にバス方向を決定できるようになる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係る改良されたDMA
シリアルチャネルプロトコルを採用したポータブルコン
ピュータのシステム構成を示すブロック図。
【図2】同実施形態のシステムに設けられたDMACコ
アの構成を示すブロック図。
【図3】同実施形態のシステムに設けられたDS−PC
I/ISAブリッジ装置の構成を示すブロック図。
【図4】図2のDMACコアと図3のDS−PCI/I
SAブリッジ装置と動作状態の関係を示す図。
【図5】図3のDS−PCI/ISAブリッジ装置に設
けられた2つの動作状態を説明するためのタイミングチ
ャート。
【図6】図2のDMACコアと図3のDS−PCI/I
SAブリッジ装置との間に規定された1Tルールを説明
するためのタイミングチャート。
【図7】図2のDMACコアから図3のDS−PCI/
ISAブリッジ装置に送られるシリアルGNT#を4ビ
ット化した様子を示す図。
【図8】図7のシリアルGNT#の4ビット目の情報を
利用して行われるバス方向切り替え動作を説明するため
の図。
【図9】DMAシリアルチャネルプロトコルを採用する
ために必要となると予想されるポータブルコンピュータ
のシステム構成例を示すブロック図。
【図10】DMAシリアルチャネルプロトコルを採用し
た場合に発生すると予想される問題点を説明するための
タイミングチャート。
【符号の説明】
1…プロセッサバス、2…内部PCIバス、3…内部I
SAバス、4…外部PCIバス、5…外部ISAバス、
11…CPU、12…ホスト/PCIブリッジ装置、1
3…システムメモリ、14…内部PCIバス上のPCI
マスタデバイス、15…内部PCI−ISAブリッジ装
置、16…PCI−DSブリッジ装置、17…PCカー
ドコントローラ、20…DS−PCI/ISAブリッジ
装置、31,32…内部ISAバス上のI/O(DMA
スレーブ)、41…外部PCIバス上のI/O(PCI
マスタ)、51,52,53…外部ISAバス上のI/
O(ISAマスタ、DMAスレーブ)、151…PCI
バスアービタ(PBA)、152…DMACコア(MP
PDMA)、153…内部ISAバスブリッジ(IIB
B)、201…外部PCIバスブリッジ(EPBB)、
202…外部ISAバスブリッジ(EIBB)、203
…ローカルバスアービタ(LBA)、204…外部IS
A DMAルータ(EIDR)、1521…ISA D
MAC、1522…バスリクエストおよびグラントマネ
ージャ(RGM)、1523…内部ISA DMAルー
タ(IIDR)、DREQ…DMA要求信号、DACK
#…DMAアクノリッジ信号、REQ#…バスリクエス
ト信号、GNT#…バス使用許可信号。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 PCIバスと、 このPCIバス上に定義され、バスマスタ毎に1組ずつ
    割り当てられているバスアクセス要求信号(REQ#)
    線およびバスアクセス許可信号(GNT#)線を利用し
    てバスアクセスを調停するバスアービタ(PBA)と、 前記PCIバスに接続され、直接メモリアクセス(DM
    A)を実行するDMAコントローラと、 前記DMAコントローラのDMA機能を必要とする複数
    のI/Oデバイスと、 これら複数のI/Oデバイスと前記PCIバス間に接続
    された第1のバスマスタであって、前記複数のI/Oデ
    バイスそれぞれから出力される複数のDMA要求信号
    (DREQ)の状態をシリアル情報に変換し、そのシリ
    アル情報を、前記第1のバスマスタに割り当てられたバ
    スアクセス要求信号(REQ#)線を利用したシリアル
    転送サイクルによって前記DMAコントローラに送信す
    る第1のバスマスタと、 前記PCIバスおよび前記DMAコントローラに接続さ
    れ、前記第1のバスマスタに割り当てられたバスアクセ
    ス要求信号(REQ#)線およびバスアクセス許可信号
    (GNT#)線を管理する管理手段であって、前記第1
    のバスアクセス要求信号(REQ#)線を利用したシリ
    アル転送サイクルによって送信されたシリアル情報を、
    前記DMAコントローラに入力するための複数のDMA
    要求信号(DREQ)に変換する手段、および前記DM
    Aコントローラから出力される複数のDMAアクノリッ
    ジ信号(DACK#)それぞの状態をシリアル情報に変
    換し、そのシリアル情報を前記第1のバスマスタに割り
    当てられたバスアクセス許可信号(GNT#)線を利用
    したシリアル転送サイクルによって前記第1のバスマス
    タに送信する手段、を含む管理手段とを具備し、 前記第1のバスマスタは、 前記複数のI/OデバイスそれぞれからのDMA要求信
    号(DREQ#)の状態変化が発生する度に前記バスア
    クセス要求信号(REQ#)線を利用したシリアル転送
    サイクルを実行して最新のDMA要求信号(DREQ
    #)の状態を前記DMAコントローラに通知するプロシ
    ードモードと、DMAサイクル実行中のI/Oデバイス
    から出力されるDMA要求信号(DREQ#)の状態変
    化だけを前記シリアル転送サイクルによって前記DMA
    コントローラに通知するフリーズモードを有し、前記プ
    ロシードモードおよびフリーズモードのいずれか一方の
    モードで動作するDMA要求通知手段と、 前記バスアクセス許可信号(GNT#)を利用したシリ
    アル転送サイクルによって所定のI/Oデバイスに対す
    るDMAアクノリッジ(DACK#)を前記管理手段か
    ら受信したとき、前記DMA要求通知手段の動作モード
    を前記プロシードモードから前記フリーズモードに切り
    替える手段とを具備することを特徴とするコンピュータ
    システム。
  2. 【請求項2】 前記第1のバスマスタは、前記PCIバ
    スと、前記複数のI/Oデバイスが接続されたISAバ
    スとを繋ぐPCI/ISAブリッジであることを特徴と
    する請求項1記載のコンピュータシステム。
  3. 【請求項3】 前記複数のI/OデバイスそれぞれはP
    Cカードであり、前記第1のバスマスタは、それらPC
    カードを制御するカードコントローラであることを特徴
    とする請求項1記載のコンピュータシステム。
  4. 【請求項4】 前記PCI/ISAブリッジは、 前記PCIバス上のバスサイクルをプロトコル変換し
    て、前記PCIバス上のバスサイクルに対応する前記I
    SAバス上のバスサイクルを発生する手段を含むことを
    特徴とする請求項2記載のコンピュータシステム。
  5. 【請求項5】 前記PCI/ISAブリッジは、 前記複数のI/Oデバイスそれぞれに割り当てるべきD
    MAチャネル番号を示すマッピング情報に従って、前記
    複数のI/Oデバイスそれぞれに割り当てるDMA要求
    信号(DREQ#)およびDMAアクノリッジ信号(D
    ACK#)の設定/変更を行う手段を含むことを特徴と
    する請求項2記載のコンピュータシステム。
  6. 【請求項6】 PCIバスと、 このPCIバス上に定義され、バスマスタ毎に1組ずつ
    割り当てられているバスアクセス要求信号(REQ#)
    線およびバスアクセス許可信号(GNT#)線を利用し
    てバスアクセスを調停するバスアービタ(PBA)と、 前記PCIバスに接続され、直接メモリアクセス(DM
    A)を実行するDMAコントローラと、 前記DMAコントローラのDMA機能を必要とする複数
    のI/Oデバイスと、 これら複数のI/Oデバイスと前記PCIバス間に接続
    された第1のバスマスタであって、前記複数のI/Oデ
    バイスそれぞれから出力される複数のDMA要求信号
    (DREQ)の状態をシリアル情報に変換し、そのシリ
    アル情報を、前記第1のバスマスタに割り当てられたバ
    スアクセス要求信号(REQ#)線を利用したシリアル
    転送サイクルによって前記DMAコントローラに送信す
    る第1のバスマスタと、 前記PCIバスおよび前記DMAコントローラに接続さ
    れ、前記第1のバスマスタに割り当てられたバスアクセ
    ス要求信号(REQ#)線およびバスアクセス許可信号
    (GNT#)線を管理する管理手段であって、前記第1
    のバスアクセス要求信号(REQ#)線を利用したシリ
    アル転送サイクルによって送信されたシリアル情報を、
    前記DMAコントローラに入力するための複数のDMA
    要求信号(DREQ)に変換する手段、および前記DM
    Aコントローラから出力される複数のDMAアクノリッ
    ジ信号(DACK#)それぞの状態をシリアル情報に変
    換し、そのシリアル情報を前記第1のバスマスタに割り
    当てられたバスアクセス許可信号(GNT#)線を利用
    したシリアル転送サイクルによって前記第1のバスマス
    タに送信する手段、を含む管理手段とを具備し、 前記第1のバスマスタは、 前記I/OデバイスそれぞれからのDMA要求信号(D
    REQ#)の状態変化を監視し、DMA要求信号(DR
    EQ#)の状態変化が発生する度に前記バスアクセス要
    求信号(REQ#)を利用したシリアル転送サイクルを
    実行して、最新のDMA要求信号(DREQ#)の状態
    を前記DMAコントローラに通知するDMA要求通知手
    段であって、 同一のI/OデバイスについてそのI/Oデバイスから
    のDMA要求信号(DREQ#)がアクティブにされて
    いることを示すシリアル情報を再送する場合と、前記バ
    スアクセス許可信号(GNT#)を利用したシリアル転
    送サイクルによって送信されたDMAアクノリッジ(D
    ACK#)によって選択されたI/OデバイスからのD
    MA要求信号(DREQ#)がインアクティブにされた
    ことを示すシリアル情報を送信する場合とで、前記バス
    アクセス要求信号(REQ#)を利用したシリアル転送
    サイクルにおける前記バスアクセス要求信号(REQ
    #)のインアクティブ期間を異ならせる手段を含むDM
    A要求通知手段を具備したことを特徴とするコンピュー
    タシステム。
  7. 【請求項7】 前記DMA要求通知手段は、 既にDMA要求信号(DREQ#)がアクティブにされ
    たことを示すシリアル情報を送信した第1のI/Oデバ
    イスのDMA要求信号(DREQ#)の状態が変化しな
    い状態で第2のI/OデバイスからのDMA要求信号
    (DREQ#)がアクティブに変化されたとき、前記バ
    スアクセス要求信号(REQ#)を第1の期間だけイン
    アクティブに変化させた後に、それら第1および第2の
    I/OデバイスそれぞれのDMA要求信号(DREQ
    #)がアクティブ状態であることを示すシリアル情報
    を、前記バスアクセス要求信号(REQ#)を利用した
    シリアル転送サイクルによって送信し、 前記バスアクセス許可信号(GNT#)を利用したシリ
    アル転送サイクルによって送信されたDMAアクノリッ
    ジ(DACK#)によって選択されたI/Oデバイスか
    らのDMA要求信号(DREQ#)がインアクティブに
    変化されたとき、前記バスアクセス要求信号(REQ
    #)を前記第1の期間よりも長い第2の期間だけインア
    クティブに変化させた後に、前記DMA要求信号(DR
    EQ#)がインアクティブにされたことを示すシリアル
    情報を、前記バスアクセス要求信号(REQ#)を利用
    したシリアル転送サイクルによって送信することを特徴
    とする請求項6記載のコンピュータシステム。
  8. 【請求項8】 前記第1のバスマスタは、前記PCIバ
    スと、前記複数のI/Oデバイスが接続されたISAバ
    スとを繋ぐPCI−ISAブリッジであることを特徴と
    する請求項6記載のコンピュータシステム。
  9. 【請求項9】 前記複数のI/OデバイスそれぞれはP
    Cカードであり、前記第1のバスマスタは、それらPC
    カードを制御するカードコントローラであることを特徴
    とする請求項6記載のコンピュータシステム。
  10. 【請求項10】 前記PCI−ISAブリッジは、 前記PCIバス上のバスサイクルをプロトコル変換し
    て、前記PCIバス上のバスサイクルに対応する前記I
    SAバス上のバスサイクルを発生する手段を含むことを
    特徴とする請求項6記載のコンピュータシステム。
  11. 【請求項11】 PCIバスと、 このPCIバス上に定義され、バスマスタ毎に1組ずつ
    割り当てられているバスアクセス要求信号(REQ#)
    線およびバスアクセス許可信号(GNT#)線を利用し
    てバスアクセスを調停するバスアービタ(PBA)と、 前記PCIバスに接続され、直接メモリアクセス(DM
    A)を実行するDMAコントローラと、 前記PCIバスとISAバスとを接続するPCI−IS
    A/ブリッジ装置であって、前記ISAバスに接続され
    た複数のI/Oデバイスそれぞれから出力される複数の
    DMA要求信号(DREQ)の状態をシリアル情報に変
    換し、そのシリアル情報を、前記PCI−ISA/ブリ
    ッジ装置に割り当てられたバスアクセス要求信号(RE
    Q#)線を利用したシリアル転送サイクルによって前記
    DMAコントローラに送信するPCI−ISA/ブリッ
    ジ装置と、 前記PCIバスおよび前記DMAコントローラに接続さ
    れ、前記第1のバスマスタに割り当てられたバスアクセ
    ス要求信号(REQ#)線およびバスアクセス許可信号
    (GNT#)線を管理する管理手段であって、前記第1
    のバスアクセス要求信号(REQ#)線を利用したシリ
    アル転送サイクルによって送信されたシリアル情報を、
    前記DMAコントローラに入力するための複数のDMA
    要求信号(DREQ)に変換する手段、および前記DM
    Aコントローラから出力される複数のDMAアクノリッ
    ジ信号(DACK#)それぞの状態をシリアル情報に変
    換し、そのシリアル情報と、そのシリアル情報によって
    DMA転送の実行が指定されるDMAチャネルがカスケ
    ードモードにセットアップされているか否かを示すモー
    ド情報とを、前記PCI−ISAブリッジ装置に割り当
    てられたバスアクセス許可信号(GNT#)線を利用し
    たシリアル転送サイクルによって前記PCI−ISAブ
    リッジ装置に送信する手段、を含む管理手段とを具備
    し、 前記PCI−ISAブリッジ装置は、 前記モード情報に従って前記DMA転送の実行が指定さ
    れるDMAチャネルがカスケードモードか否かを検出
    し、その検出結果に従って、前記DMAコントローラに
    よるDMAサイクル、またはISAバスマスタとして機
    能するI/Oデバイスによるバスサイクルにそれぞれ対
    応したバス方向制御を実行することを特徴とするコンピ
    ュータシステム。
  12. 【請求項12】 前記PCI−ISAブリッジ装置は、 前記モード情報がカスケードモードを示すとき、アドレ
    スおよび各種各制御信号の伝送方向を前記ISAバス側
    から前記PCIバス側に設定し、前記モード情報がカス
    ケードモード以外の他のモードを示すとき、前記アドレ
    スおよび各種各制御信号の伝送方向を前記PCIバス側
    から前記ISAバス側に設定することを特徴とする請求
    項11記載のコンピュータシステム。
JP20568295A 1995-08-11 1995-08-11 コンピュータシステム Expired - Fee Related JP3576647B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP20568295A JP3576647B2 (ja) 1995-08-11 1995-08-11 コンピュータシステム
US08/694,749 US5937206A (en) 1995-08-11 1996-08-09 System for converting states of DMA requests into first serial information and transmitting information to first bus whenever a state change of a request
US08/702,430 US5850529A (en) 1995-08-11 1996-08-09 Method and apparatus for detecting a resource lock on a PCI bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20568295A JP3576647B2 (ja) 1995-08-11 1995-08-11 コンピュータシステム

Publications (2)

Publication Number Publication Date
JPH0954745A true JPH0954745A (ja) 1997-02-25
JP3576647B2 JP3576647B2 (ja) 2004-10-13

Family

ID=16510956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20568295A Expired - Fee Related JP3576647B2 (ja) 1995-08-11 1995-08-11 コンピュータシステム

Country Status (2)

Country Link
US (1) US5937206A (ja)
JP (1) JP3576647B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153301A (ja) * 1997-08-06 1999-02-26 Kobe Nippon Denki Software Kk バス・アービトレーション・インタフェース
US6163818A (en) * 1998-08-27 2000-12-19 Xerox Corporation Streaming memory controller for a PCI bus
US6757762B1 (en) * 1999-10-29 2004-06-29 Unisys Corporation Multi-mode processor bus bridge
US6735620B1 (en) * 2000-07-18 2004-05-11 International Business Machines Corporation Efficient protocol for retransmit logic in reliable zero copy message transport
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US7957173B2 (en) * 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US20100115172A1 (en) * 2008-11-04 2010-05-06 Mosaid Technologies Incorporated Bridge device having a virtual page buffer
US8549209B2 (en) * 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
JP5790043B2 (ja) * 2011-03-14 2015-10-07 株式会社リコー データ転送システム及びデータ転送方法
TW201344445A (zh) * 2012-04-27 2013-11-01 Sunix Co Ltd 可分配低階輸入輸出埠其介面位址的pci介面裝置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897786A (en) * 1987-09-04 1990-01-30 Digital Equipment Corporation Bus window interlock
US5123092A (en) * 1988-10-21 1992-06-16 Zenith Data Systems Corporation External expansion bus interface
JPH0581173A (ja) * 1991-03-01 1993-04-02 Yokogawa Electric Corp システムバス間ステータス情報転送装置
US5546587A (en) * 1991-05-30 1996-08-13 Tandem Computers Incorporated Decentralized bus arbitration system which continues to assert bus request signal to preclude other from asserting bus request signal until information transfer on the bus has been completed
FR2677473B1 (fr) * 1991-06-05 1995-04-07 Telemecanique Procede et bus d'arbitrage pour transmission de donnees serie.
JP3466212B2 (ja) * 1991-09-17 2003-11-10 インテル・コーポレーション コンピュータシステム
US5574869A (en) * 1992-03-30 1996-11-12 Intel Corporation Bus bridge circuit having configuration space enable register for controlling transition between various modes by writing the bridge identifier into CSE register
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
TW400483B (en) * 1994-03-01 2000-08-01 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
US5729762A (en) * 1995-04-21 1998-03-17 Intel Corporation Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent
US5640520A (en) * 1995-05-01 1997-06-17 Intel Corporation Mechanism for supporting out-of-order service of bus requests with in-order only requesters devices
US5619661A (en) * 1995-06-05 1997-04-08 Vlsi Technology, Inc. Dynamic arbitration system and method

Also Published As

Publication number Publication date
JP3576647B2 (ja) 2004-10-13
US5937206A (en) 1999-08-10

Similar Documents

Publication Publication Date Title
US4807109A (en) High speed synchronous/asynchronous local bus and data transfer method
JP2886173B2 (ja) アダプタ
JPH0954746A (ja) コンピュータシステム
US5396602A (en) Arbitration logic for multiple bus computer system
CN1069426C (zh) 信息处理系统
KR100417839B1 (ko) 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치
JP3385091B2 (ja) 計算機間の排他制御装置
JPH01205366A (ja) データを転送するための方法およびそのためのデータ転送制御器
JPH01231159A (ja) データを転送するための方法およびそのための直接メモリアクセス手段
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
JPH02289017A (ja) コンピユータシステム内でデータ転送方法
JPH10293744A (ja) Pciバス・システム
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
JP3576647B2 (ja) コンピュータシステム
JP3609051B2 (ja) Usb−hubデバイスおよびその制御方法
US6829670B1 (en) Using consecutive block IDs to keep track of data transferred across a serially linked bridge
US6425071B1 (en) Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
CN117194309A (zh) 用于芯片间互连的控制器、芯片、处理系统及电子设备
US6622191B1 (en) Computer system
JPH0981507A (ja) コンピュータシステム
US5850529A (en) Method and apparatus for detecting a resource lock on a PCI bus
US5857081A (en) Method and apparatus for controlling a master abort in a computer system
US5539666A (en) Data communications method and system coupling device
US5838930A (en) Method and apparatus for controlling a command cycle on a bus
JP2001209610A (ja) 制御チップセット間におけるデータトランザクション方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040708

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees