JPH0954746A - コンピュータシステム - Google Patents
コンピュータシステムInfo
- Publication number
- JPH0954746A JPH0954746A JP7205683A JP20568395A JPH0954746A JP H0954746 A JPH0954746 A JP H0954746A JP 7205683 A JP7205683 A JP 7205683A JP 20568395 A JP20568395 A JP 20568395A JP H0954746 A JPH0954746 A JP H0954746A
- Authority
- JP
- Japan
- Prior art keywords
- pci
- bus
- dma
- isa
- serial
- 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.)
- Pending
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
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4054—Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
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)【要約】
【課題】DMACステータスレジスタリードに関する誤
動作を防止し、DMAシリアルチャネルプロトコルを採
用したシステムの信頼性の向上を図る。 【解決手段】PCIバス2上のリードサイクルによって
PCI/ISAブリッジ装置15がカレントなターゲッ
トとしてアドレス指定された時、PCIインタフェース
152はターゲットレディTRDY#信号線をドライブ
することによってそのリードサイクルに応答する。この
場合、その応答タイミングは常に一定では無く、DMA
Cステータスレジスタに対するリードサイクルの場合
は、DMAシリアルチャネルプロトコルによるディレイ
を考慮してターゲットレディTRDY#信号線のドライ
ブタイミングが、他のリードサイクルよりも遅らされ
る。これにより、CPU11がDMA転送の状態を誤認
識するといった事態の発生を防止でき、信頼性の高いD
MAシリアルチャネルプロトコルを実現できる。
動作を防止し、DMAシリアルチャネルプロトコルを採
用したシステムの信頼性の向上を図る。 【解決手段】PCIバス2上のリードサイクルによって
PCI/ISAブリッジ装置15がカレントなターゲッ
トとしてアドレス指定された時、PCIインタフェース
152はターゲットレディTRDY#信号線をドライブ
することによってそのリードサイクルに応答する。この
場合、その応答タイミングは常に一定では無く、DMA
Cステータスレジスタに対するリードサイクルの場合
は、DMAシリアルチャネルプロトコルによるディレイ
を考慮してターゲットレディTRDY#信号線のドライ
ブタイミングが、他のリードサイクルよりも遅らされ
る。これにより、CPU11がDMA転送の状態を誤認
識するといった事態の発生を防止でき、信頼性の高いD
MAシリアルチャネルプロトコルを実現できる。
Description
【0001】
【発明の属する技術分野】この発明はコンピュータシス
テムに関し、特にDMAコントローラを内蔵したPCI
/ISAブリッジを有するコンピュータシステムに関す
る。
テムに関し、特にDMAコントローラを内蔵したPCI
/ISAブリッジを有するコンピュータシステムに関す
る。
【0002】
【従来の技術】従来、パーソナルコンピュータに使用さ
れるシステムバスとしては、ISA(Industry
Standard Architecture)バス
やEISA(Extended ISA)バスが主流で
あったが、最近では、データ転送速度の高速化や、プロ
セッサに依存しないシステムアーキテクチャの構築のた
めに、デスクトップ型のパーソナルコンピュータを中心
に、PCI(Peripheral Componen
t Interconnect)バスが採用され始めて
いる。
れるシステムバスとしては、ISA(Industry
Standard Architecture)バス
やEISA(Extended ISA)バスが主流で
あったが、最近では、データ転送速度の高速化や、プロ
セッサに依存しないシステムアーキテクチャの構築のた
めに、デスクトップ型のパーソナルコンピュータを中心
に、PCI(Peripheral Componen
t Interconnect)バスが採用され始めて
いる。
【0003】PCIバスにおいては、ほとんど全てのデ
ータ転送はブロック転送を基本としており、これら各ブ
ロック転送はバースト転送を用いて実現されている。こ
れにより、例えばPCIバスでは最大133Mバイト/
秒(データバスが32ビット幅の時)のデータ転送速度
を実現できる。
ータ転送はブロック転送を基本としており、これら各ブ
ロック転送はバースト転送を用いて実現されている。こ
れにより、例えばPCIバスでは最大133Mバイト/
秒(データバスが32ビット幅の時)のデータ転送速度
を実現できる。
【0004】したがって、PCIバスを採用すると、I
/Oデバイス間、およびシステムメモリとI/Oデバイ
スとの間のデータ転送などを高速に行うことが可能とな
り、システム性能を高めることができる。
/Oデバイス間、およびシステムメモリとI/Oデバイ
スとの間のデータ転送などを高速に行うことが可能とな
り、システム性能を高めることができる。
【0005】
【発明が解決しようとする課題】最近では、デスクトッ
プ型のパーソナルコンピュータだけでく、ノートブック
タイプまたはデスクトップタイプなどのポータブルパー
ソナルコンピュータにおいても、PCIバスの採用が検
討され始めている。
プ型のパーソナルコンピュータだけでく、ノートブック
タイプまたはデスクトップタイプなどのポータブルパー
ソナルコンピュータにおいても、PCIバスの採用が検
討され始めている。
【0006】デスクトップ型のパーソナルコンピュータ
においては、PCI拡張カードやISA拡張カードとい
った機能拡張のためのオプションカードはシステムボー
ド上の拡張スロットに直接装着して使用される。この場
合、ISA拡張カードが接続される各ISA拡張スロッ
トについては、複数種のDMAチャネルに対応する複数
ペアのDMA制御信号線が定義されている。各DMA制
御信号線ペアは、DMA要求信号(DREQ)線および
DMAアクノリッジ(DACK#)線から構成されてい
る。このため、各ISA拡張カードは、そのカードに対
応する特定のDMAチャネル(1組のDREQ,DAC
K#)を利用することにより、システムボード上のDM
AC(直接メモリアクセスコントローラ)コアのDMA
転送機能を使用することができる。したがって、デスク
トップ型のパーソナルコンピュータにおいては、PCI
バスマスタなどのDMACを必要としないデバイスと、
ISAデバイスなどのDMACを必要とするデバイスと
を比較的容易に混在させることができる。
においては、PCI拡張カードやISA拡張カードとい
った機能拡張のためのオプションカードはシステムボー
ド上の拡張スロットに直接装着して使用される。この場
合、ISA拡張カードが接続される各ISA拡張スロッ
トについては、複数種のDMAチャネルに対応する複数
ペアのDMA制御信号線が定義されている。各DMA制
御信号線ペアは、DMA要求信号(DREQ)線および
DMAアクノリッジ(DACK#)線から構成されてい
る。このため、各ISA拡張カードは、そのカードに対
応する特定のDMAチャネル(1組のDREQ,DAC
K#)を利用することにより、システムボード上のDM
AC(直接メモリアクセスコントローラ)コアのDMA
転送機能を使用することができる。したがって、デスク
トップ型のパーソナルコンピュータにおいては、PCI
バスマスタなどのDMACを必要としないデバイスと、
ISAデバイスなどのDMACを必要とするデバイスと
を比較的容易に混在させることができる。
【0007】しかし、ポータブルパーソナルコンピュー
タにおいては、PCI拡張カードやISA拡張カードな
どのオプションカードは、ドッキングステーションと称
される拡張ユニットを介して装着する必要がある。この
場合、ポータブルパーソナルコンピュータからドッキン
グステーションに導出される信号線数はできるだけ少な
くすることが要求されている。なぜなら、ドッキングス
テーションに導出される信号線数が増えると、システム
ボード上に搭載されたドッキングステーションとのイン
タフェースのためのLSIのピン数の増加や、ポータブ
ルパーソナルコンピュータとドッキングステーションと
を接続するコネクタのピン数の増加などが引き起こさ
れ、ポータブルパーソナルコンピュータのコストアッ
プ、システム実装効率の低下といった不具合が生じるか
らである。
タにおいては、PCI拡張カードやISA拡張カードな
どのオプションカードは、ドッキングステーションと称
される拡張ユニットを介して装着する必要がある。この
場合、ポータブルパーソナルコンピュータからドッキン
グステーションに導出される信号線数はできるだけ少な
くすることが要求されている。なぜなら、ドッキングス
テーションに導出される信号線数が増えると、システム
ボード上に搭載されたドッキングステーションとのイン
タフェースのためのLSIのピン数の増加や、ポータブ
ルパーソナルコンピュータとドッキングステーションと
を接続するコネクタのピン数の増加などが引き起こさ
れ、ポータブルパーソナルコンピュータのコストアッ
プ、システム実装効率の低下といった不具合が生じるか
らである。
【0008】このため、DMA要求信号(DREQ)線
およびDMAアクノリッジ(DACK#)線の複数のペ
アをドッキングステーションに導出することは望ましく
ない。しかし、これらDMA転送のための制御線をドッ
キングステーションに導出しないと、ISA拡張カード
などのオプションカードがDMA転送を利用することは
できない。
およびDMAアクノリッジ(DACK#)線の複数のペ
アをドッキングステーションに導出することは望ましく
ない。しかし、これらDMA転送のための制御線をドッ
キングステーションに導出しないと、ISA拡張カード
などのオプションカードがDMA転送を利用することは
できない。
【0009】そこで、最近では、DMA要求信号(DR
EQ)線およびDMAアクノリッジ(DACK#)線の
複数のペアを利用せずに、ドッキングステーションに装
着されるISA拡張カードとシステムボード上のDMA
Cコアとの間でDMA要求信号(DREQ)およびDM
Aアクノリッジ(DACK#)を送受信するためのプロ
トコルが検討されている。
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#と称することにす
る。
バスアクセス要求信号(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拡張カードの双方を
使用することが可能となる。
ル化して転送するというDMAシリアルチャネルプロト
コルを利用した場合には、ドッキングステーションには
PCIバスに相当する信号線だけを導出し、そのドッキ
ングステーション内にPCI−ISAブリッジを設ける
だけで、PCI拡張カードとISA拡張カードの双方を
使用することが可能となる。
【0012】しかし、このような構成を採用すると、D
MA要求信号(DREQ)の通知については、ドッキン
グステーション内のPCI−ISAブリッジ側では複数
チャネル分のDMA要求信号(DREQ)をシリアル化
するための処理、DMACコア側ではシリアル転送で通
知されたDREQのチャネル情報をパラレルに分解して
DMACコア内のDMACに与える処理が必要となる。
このため、ISA拡張カードからDMA要求信号(DR
EQ)が発生されてからそのDMA要求信号がDMAC
で受け付けられるまでには、比較的多くの時間を要す
る。
MA要求信号(DREQ)の通知については、ドッキン
グステーション内のPCI−ISAブリッジ側では複数
チャネル分のDMA要求信号(DREQ)をシリアル化
するための処理、DMACコア側ではシリアル転送で通
知されたDREQのチャネル情報をパラレルに分解して
DMACコア内のDMACに与える処理が必要となる。
このため、ISA拡張カードからDMA要求信号(DR
EQ)が発生されてからそのDMA要求信号がDMAC
で受け付けられるまでには、比較的多くの時間を要す
る。
【0013】このようなDMA要求信号(DREQ)の
タイムラグは、次のような誤動作を引き起こす原因とな
る。以下、この誤動作発生のメカニズムを図8および図
9を参照して説明する。
タイムラグは、次のような誤動作を引き起こす原因とな
る。以下、この誤動作発生のメカニズムを図8および図
9を参照して説明する。
【0014】図8はDMAシリアルチャネルプロトコル
を採用する場合に必要となると想定されるポータブルコ
ンピュータのシステム構成を示し、図9はそのポータブ
ルコンピュータにおけるDMAシリアルチャネルプロト
コルの手順を示している。
を採用する場合に必要となると想定されるポータブルコ
ンピュータのシステム構成を示し、図9はそのポータブ
ルコンピュータにおけるDMAシリアルチャネルプロト
コルの手順を示している。
【0015】図8に示されているように、CPU101
と内部PCIバス104との間にはホスト−PCIブリ
ッジ装置102が設けられており、これによってCPU
101のプロセッサバスと内部PCIバス104が繋が
れる。システムメモリ103はホスト−PCIブリッジ
装置102によって制御される。また、内部PCIバス
104には、DMACコア105aを内蔵したPCI−
ISAブリッジ105が接続されている。さらに、内部
PCIバス104は、PCI−DSブリッジ装置106
によって、コンピュータ本体とドッキングステーション
DSとを接続するためのDSコネクタに接続されてい
る。ドッキングステーションDS内部には、DS−PC
I/ISAブリッジ装置107が設けられており、この
DS−PCI/ISAブリッジ装置107には外部PC
Iバスおよび外部ISAバスが接続されている。
と内部PCIバス104との間にはホスト−PCIブリ
ッジ装置102が設けられており、これによってCPU
101のプロセッサバスと内部PCIバス104が繋が
れる。システムメモリ103はホスト−PCIブリッジ
装置102によって制御される。また、内部PCIバス
104には、DMACコア105aを内蔵したPCI−
ISAブリッジ105が接続されている。さらに、内部
PCIバス104は、PCI−DSブリッジ装置106
によって、コンピュータ本体とドッキングステーション
DSとを接続するためのDSコネクタに接続されてい
る。ドッキングステーションDS内部には、DS−PC
I/ISAブリッジ装置107が設けられており、この
DS−PCI/ISAブリッジ装置107には外部PC
Iバスおよび外部ISAバスが接続されている。
【0016】このシステムでは、外部ISAバス上のI
SA拡張カードA,Bと内部PCIバス104上のDM
ACコア105との間のDREQ,DACK#の送受信
は、DMAシリアルチャネルプロトコルに従って図9の
様に行われる。
SA拡張カードA,Bと内部PCIバス104上のDM
ACコア105との間のDREQ,DACK#の送受信
は、DMAシリアルチャネルプロトコルに従って図9の
様に行われる。
【0017】(1)CPU101はISA拡張カードA
に対してI/Oライトサイクルを実行して、I/Oコマ
ンドをISA拡張カードAに発行する。ISA拡張カー
ドAは、DREQ Aをアクティブにする。
に対してI/Oライトサイクルを実行して、I/Oコマ
ンドをISA拡張カードAに発行する。ISA拡張カー
ドAは、DREQ Aをアクティブにする。
【0018】(2)DS−PCI/ISAブリッジ10
7がREQ#を利用したシルアル転送を行い、ISA拡
張カードAからのDREQ AをDMACコア105a
に送信する。この場合、シリアルREQ#のスタートビ
ットSに後続するいくつかのシリアルビット列は、DM
AチャネルAがアクティブにされていることを示す。
7がREQ#を利用したシルアル転送を行い、ISA拡
張カードAからのDREQ AをDMACコア105a
に送信する。この場合、シリアルREQ#のスタートビ
ットSに後続するいくつかのシリアルビット列は、DM
AチャネルAがアクティブにされていることを示す。
【0019】(3)DMACコア105aがシリアルR
EQ#を受信し、前述のシリアルビット列によって指定
されたDMAチャネル(チャネルA)に対応する内部D
REQ A(Int.DREQ A)を発生する。この
Int.DREQ Aは、DMACコア105a内部の
DMACが有する複数チャネル分のDREQ入力ポート
の1つに供給される。これにより、そのDMAチャネル
(チャネルA)に対応するDREQが発生したことを示
すDREQステータスデータが、チャネルAに対応する
DMACステータスレジスタにセットされる。
EQ#を受信し、前述のシリアルビット列によって指定
されたDMAチャネル(チャネルA)に対応する内部D
REQ A(Int.DREQ A)を発生する。この
Int.DREQ Aは、DMACコア105a内部の
DMACが有する複数チャネル分のDREQ入力ポート
の1つに供給される。これにより、そのDMAチャネル
(チャネルA)に対応するDREQが発生したことを示
すDREQステータスデータが、チャネルAに対応する
DMACステータスレジスタにセットされる。
【0020】(4)DMACコア105がGNT#を利
用したシルアル転送を行い、DREQ Aに対応するD
ACK A#を送信する。この場合、シリアルGNT#
のスタートビットSに後続するビット列によって、DM
A転送が実行されるDMAチャネル(チャネルA)が選
択される。
用したシルアル転送を行い、DREQ Aに対応するD
ACK A#を送信する。この場合、シリアルGNT#
のスタートビットSに後続するビット列によって、DM
A転送が実行されるDMAチャネル(チャネルA)が選
択される。
【0021】(5)DS−PCI/ISAブリッジ10
7がシリアルGNT#を受信し、前述のビット列によっ
て指定されたDMAチャネルに対応するDACK A#
を発生する。このDACK A#によって、DMAチャ
ネルAを利用したDMA転送の開始がISA拡張カード
Aに通知される。
7がシリアルGNT#を受信し、前述のビット列によっ
て指定されたDMAチャネルに対応するDACK A#
を発生する。このDACK A#によって、DMAチャ
ネルAを利用したDMA転送の開始がISA拡張カード
Aに通知される。
【0022】このように、CPU101によるI/Oラ
イトサイルによってDREQ Aが発生されるタイミン
グT1と、そのDREQ Aの発生によって実際にDM
ACステータスレジスタのDREQステータスデータが
変化されるタイミングT2との間にはDMAシリアルチ
ャネルプロトコルが原因でディレイが生ずる。
イトサイルによってDREQ Aが発生されるタイミン
グT1と、そのDREQ Aの発生によって実際にDM
ACステータスレジスタのDREQステータスデータが
変化されるタイミングT2との間にはDMAシリアルチ
ャネルプロトコルが原因でディレイが生ずる。
【0023】CPU101は、ISA拡張カードAにセ
ットしたI/OライトコマンドがDMACコアに正しく
反映されたか否かをチェックする目的で、ISA拡張カ
ードAに対するI/Oライトサイクルを実行した後、D
MACステータスレジスタをリードするというシーケン
スを実行する。
ットしたI/OライトコマンドがDMACコアに正しく
反映されたか否かをチェックする目的で、ISA拡張カ
ードAに対するI/Oライトサイクルを実行した後、D
MACステータスレジスタをリードするというシーケン
スを実行する。
【0024】もし、そのDMACステータスレジスタに
対するリードサイクルがDREQステータスデータが変
化される前、つまりタイミングT1とT2の間の期間に
実行されると、CPU101はDMA転送が終了したと
誤認識していまい、DMA転送処理後の命令を実行して
しまう危険がある。
対するリードサイクルがDREQステータスデータが変
化される前、つまりタイミングT1とT2の間の期間に
実行されると、CPU101はDMA転送が終了したと
誤認識していまい、DMA転送処理後の命令を実行して
しまう危険がある。
【0025】この発明はこのような点に鑑みてなされた
もので、拡張デバイスからのDREQがステータスレジ
スタに反映される前にそのステータスレジスタに対する
リードサイクルが開始されても、それによってCPUが
DMA転送の状態を誤認識するといった事態の発生を防
止できるようにし、信頼性の高いDMA転送処理を実現
し得るコンピュータシステムを提供することを目的とす
る。
もので、拡張デバイスからのDREQがステータスレジ
スタに反映される前にそのステータスレジスタに対する
リードサイクルが開始されても、それによってCPUが
DMA転送の状態を誤認識するといった事態の発生を防
止できるようにし、信頼性の高いDMA転送処理を実現
し得るコンピュータシステムを提供することを目的とす
る。
【0026】
【課題を解決するための手段】この発明によるコンピュ
ータシステムは、PCIバスとISAバスとを繋ぐPC
I/ISAブリッジ装置と、このPCI/ISAブリッ
ジ装置内に設けられ、各種I/Oデバイスからの要求に
応じて直接メモリアクセス(DMA)を実行するDMA
コントローラと、前記PCIバスに接続されたPCIバ
スマスタであって、拡張I/Oデバイスそれぞれから出
力される複数のDMA要求信号(DREQ)の状態をシ
リアル情報に変換し、そのシリアル情報を、そのPCI
バスマスタに割り当てられているバスアクセス要求信号
(REQ#)線を利用したシリアル転送サイクルによっ
て前記DMAコントローラに送信するPCIバスマスタ
と、前記PCI/ISAブリッジ装置内に設けられ、前
記バスアクセス要求信号(REQ#)線を利用したシリ
アル転送サイクルによって送信されたシリアル情報を、
前記DMAコントローラに入力するための複数のDMA
要求信号(DREQ)に変換するシリアル/パラレル変
換手段と、前記DMAコントローラに入力される複数の
DMA要求信号(DREQ)それぞれの状態を示すステ
ータス情報がセットされるステータスレジスタとを具備
し、前記PCI/ISAブリッジ装置は、前記PCIバ
ス上で実行されるリードサイクルが前記ステータスレジ
スタの内容をリードするためのリードサイクルか否かを
検出するデコード手段と、前記PCIバス上で実行され
るリードサイクルによって前記PCI/ISAブリッジ
装置がアドレス指定された時、前記PCIバス上に定義
されたターゲットレディー信号線(TRDY#)をドラ
イブして前記リードサイクルに応答するPCIインタフ
ェース手段であって、前記PCIバス上の現在のリード
サイクルが前記ステータスレジスタの内容をリードする
ためのリードサイクルであることが前記デコード手段に
よって検出された時、そのリードサイクルに対する応答
タイミングが前記ステータスレジスタ以外の他のデバイ
スに対する応答タイミングよりも遅延されるように、前
記ターゲットレディー信号線(TRDY#)をドライブ
するタイミングに所定のウエイト期間を挿入するPCI
インタフェース手段とを具備することを特徴とする。
ータシステムは、PCIバスとISAバスとを繋ぐPC
I/ISAブリッジ装置と、このPCI/ISAブリッ
ジ装置内に設けられ、各種I/Oデバイスからの要求に
応じて直接メモリアクセス(DMA)を実行するDMA
コントローラと、前記PCIバスに接続されたPCIバ
スマスタであって、拡張I/Oデバイスそれぞれから出
力される複数のDMA要求信号(DREQ)の状態をシ
リアル情報に変換し、そのシリアル情報を、そのPCI
バスマスタに割り当てられているバスアクセス要求信号
(REQ#)線を利用したシリアル転送サイクルによっ
て前記DMAコントローラに送信するPCIバスマスタ
と、前記PCI/ISAブリッジ装置内に設けられ、前
記バスアクセス要求信号(REQ#)線を利用したシリ
アル転送サイクルによって送信されたシリアル情報を、
前記DMAコントローラに入力するための複数のDMA
要求信号(DREQ)に変換するシリアル/パラレル変
換手段と、前記DMAコントローラに入力される複数の
DMA要求信号(DREQ)それぞれの状態を示すステ
ータス情報がセットされるステータスレジスタとを具備
し、前記PCI/ISAブリッジ装置は、前記PCIバ
ス上で実行されるリードサイクルが前記ステータスレジ
スタの内容をリードするためのリードサイクルか否かを
検出するデコード手段と、前記PCIバス上で実行され
るリードサイクルによって前記PCI/ISAブリッジ
装置がアドレス指定された時、前記PCIバス上に定義
されたターゲットレディー信号線(TRDY#)をドラ
イブして前記リードサイクルに応答するPCIインタフ
ェース手段であって、前記PCIバス上の現在のリード
サイクルが前記ステータスレジスタの内容をリードする
ためのリードサイクルであることが前記デコード手段に
よって検出された時、そのリードサイクルに対する応答
タイミングが前記ステータスレジスタ以外の他のデバイ
スに対する応答タイミングよりも遅延されるように、前
記ターゲットレディー信号線(TRDY#)をドライブ
するタイミングに所定のウエイト期間を挿入するPCI
インタフェース手段とを具備することを特徴とする。
【0027】このコンピュータシステムにおいては、P
CIバス上のリードサイクルによってPCI/ISAブ
リッジ装置がカレントなターゲットとしてアドレス指定
された時、PCIインタフェース手段はターゲットレデ
ィ信号線をドライブすることによってそのリードサイク
ルに応答する。この場合、その応答タイミングは常に一
定では無く、ステータスレジスタに対するリードサイク
ルの場合とそれ以外の場合とでタイミングが異なってい
る。すなわち、ステータスレジスタに対するリードサイ
クルの場合は、DMAシリアルチャネルプロトコルによ
るディレイを考慮してターゲットレディ信号線のドライ
ブタイミングが、他のリードサイクルよりも遅らされ
る。ターゲットレディ信号線がドライブされるまでは、
リードサイクルを開始したイニシエータとPCI/IS
Aブリッジ装置間のデータ転送は実行されない。このた
め、たとえ拡張デバイスからのDREQがステータスレ
ジスタに反映される前にそのステータスレジスタに対す
るリードサイクルが開始されたとしても、それによって
CPUがDMA転送の状態を誤認識するといった事態の
発生を防止できる。したがって、信頼性の高いDMAシ
リアルチャネルプロトコルを実現できる。
CIバス上のリードサイクルによってPCI/ISAブ
リッジ装置がカレントなターゲットとしてアドレス指定
された時、PCIインタフェース手段はターゲットレデ
ィ信号線をドライブすることによってそのリードサイク
ルに応答する。この場合、その応答タイミングは常に一
定では無く、ステータスレジスタに対するリードサイク
ルの場合とそれ以外の場合とでタイミングが異なってい
る。すなわち、ステータスレジスタに対するリードサイ
クルの場合は、DMAシリアルチャネルプロトコルによ
るディレイを考慮してターゲットレディ信号線のドライ
ブタイミングが、他のリードサイクルよりも遅らされ
る。ターゲットレディ信号線がドライブされるまでは、
リードサイクルを開始したイニシエータとPCI/IS
Aブリッジ装置間のデータ転送は実行されない。このた
め、たとえ拡張デバイスからのDREQがステータスレ
ジスタに反映される前にそのステータスレジスタに対す
るリードサイクルが開始されたとしても、それによって
CPUがDMA転送の状態を誤認識するといった事態の
発生を防止できる。したがって、信頼性の高いDMAシ
リアルチャネルプロトコルを実現できる。
【0028】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係わるコンピュータシステムの構成が示されている。
このコンピュータシステムは、ノートブックタイプまた
はラップトップタイプのポータブルパーソナルコンピュ
ータであり、そのシステムボード上には3種類のバス、
つまりプロセッサバス1、内部PCIバス2、および内
部ISAバス3が配設されており、またこのポータブル
パーソナルコンピュータ本体のDSコネクタに接続可能
なドッキングステーション(拡張ユニット)内には、外
部PCIバス4と外部ISAバス5が配設されている。
実施形態を説明する。図1には、この発明の一実施形態
に係わるコンピュータシステムの構成が示されている。
このコンピュータシステムは、ノートブックタイプまた
はラップトップタイプのポータブルパーソナルコンピュ
ータであり、そのシステムボード上には3種類のバス、
つまりプロセッサバス1、内部PCIバス2、および内
部ISAバス3が配設されており、またこのポータブル
パーソナルコンピュータ本体のDSコネクタに接続可能
なドッキングステーション(拡張ユニット)内には、外
部PCIバス4と外部ISAバス5が配設されている。
【0029】システムボード上には、CPU11、ホス
ト−PCIブリッジ装置12、システムメモリ13、各
種PCIマスターデバイス14、内部PCI−ISAブ
リッジ装置15、PCI−DS(DS:ドッキングステ
ーション)ブリッジ装置16、PCカードコントローラ
17などが設けられている。また、ドッキングステーシ
ョン内には、DS−PCI/ISAブリッジ装置20、
PCI拡張カードが装着可能なPCI拡張スロット4
1,42、ISA拡張カードが装着可能なISA拡張ス
ロット51,52が設けられている。
ト−PCIブリッジ装置12、システムメモリ13、各
種PCIマスターデバイス14、内部PCI−ISAブ
リッジ装置15、PCI−DS(DS:ドッキングステ
ーション)ブリッジ装置16、PCカードコントローラ
17などが設けられている。また、ドッキングステーシ
ョン内には、DS−PCI/ISAブリッジ装置20、
PCI拡張カードが装着可能なPCI拡張スロット4
1,42、ISA拡張カードが装着可能なISA拡張ス
ロット51,52が設けられている。
【0030】CPU11は、例えば、米インテル社によ
って製造販売されているマイクロプロセッサ“Pent
ium”などによって実現されている。このCPU11
の入出力ピンに直結されているプロセッサバス1は、6
4ビット幅のデータバスを有している。
って製造販売されているマイクロプロセッサ“Pent
ium”などによって実現されている。このCPU11
の入出力ピンに直結されているプロセッサバス1は、6
4ビット幅のデータバスを有している。
【0031】システムメモリ13は、オペレーティング
システム、デバイスドライバ、実行対象のアプリケーシ
ョンプログラム、および処理データなどを格納するメモ
リデバイスであり、複数のDRAMによって構成されて
いる。このシステムメモリ13は、32ビット幅または
64ビット幅のデータバスを有する専用のメモリバスを
介してホスト−PCIブリッジ装置12に接続されてい
る。メモリバスのデータバスとしてはプロセッサバス1
のデータバスを利用することもできる。この場合、メモ
リバスは、アドレスバスと各種メモリ制御信号線とから
構成される。
システム、デバイスドライバ、実行対象のアプリケーシ
ョンプログラム、および処理データなどを格納するメモ
リデバイスであり、複数のDRAMによって構成されて
いる。このシステムメモリ13は、32ビット幅または
64ビット幅のデータバスを有する専用のメモリバスを
介してホスト−PCIブリッジ装置12に接続されてい
る。メモリバスのデータバスとしてはプロセッサバス1
のデータバスを利用することもできる。この場合、メモ
リバスは、アドレスバスと各種メモリ制御信号線とから
構成される。
【0032】ホスト/PCIブリッジ装置12は、プロ
セッサバス1と内部PCIバス2との間を繋ぐブリッジ
LSIであり、内部PCIバス2のバスマスタの1つと
して機能する。このホスト/PCIブリッジ装置12
は、プロセッサバス1と内部PCIバス2との間で、デ
ータおよびアドレスを含むバスサイクルを双方向で変換
する機能、およびメモリバスを介してシステムメモリ1
3のアクセスを制御する機能などを有している。
セッサバス1と内部PCIバス2との間を繋ぐブリッジ
LSIであり、内部PCIバス2のバスマスタの1つと
して機能する。このホスト/PCIブリッジ装置12
は、プロセッサバス1と内部PCIバス2との間で、デ
ータおよびアドレスを含むバスサイクルを双方向で変換
する機能、およびメモリバスを介してシステムメモリ1
3のアクセスを制御する機能などを有している。
【0033】内部PCIバス2はクロック同期型の入出
力バスであり、内部PCIバス2上の全てのサイクルは
PCIバスクロックに同期して行なわれる。PCIバス
クロックの周波数は最大33MHzである。内部PCI
バス2は、時分割的に使用されるアドレス/データバス
を有している。このアドレス/データバスは、32ビッ
ト幅である。
力バスであり、内部PCIバス2上の全てのサイクルは
PCIバスクロックに同期して行なわれる。PCIバス
クロックの周波数は最大33MHzである。内部PCI
バス2は、時分割的に使用されるアドレス/データバス
を有している。このアドレス/データバスは、32ビッ
ト幅である。
【0034】PCIバス2上のデータ転送サイクルは、
アドレスフェーズとそれに後続する1以上のデータフェ
ーズとから構成される。アドレスフェーズにおいてはア
ドレスおよび転送タイプが指定され、データフェーズで
は8ビット、16ビット、24ビットまたは32ビット
のデータが出力される。
アドレスフェーズとそれに後続する1以上のデータフェ
ーズとから構成される。アドレスフェーズにおいてはア
ドレスおよび転送タイプが指定され、データフェーズで
は8ビット、16ビット、24ビットまたは32ビット
のデータが出力される。
【0035】PCIマスターデバイス14は、ホスト/
PCIブリッジ装置12と同様にPCIバス2のバスマ
スタの1つであり、イニシエータまたはターゲットとし
て動作する。このPCIマスターデバイス14として実
現されるデバイスは、例えばグラフィクスコントローラ
などである。
PCIブリッジ装置12と同様にPCIバス2のバスマ
スタの1つであり、イニシエータまたはターゲットとし
て動作する。このPCIマスターデバイス14として実
現されるデバイスは、例えばグラフィクスコントローラ
などである。
【0036】内部PCI−ISAブリッジ装置15は、
内部PCIバス2と内部ISAバス3との間を繋ぐブリ
ッジLSIである。内部ISAバス3には、BIOS
ROM31、リアルタイムクロック(RTC)32、キ
ーボードコントローラ(KBC)33、HDD34、I
/Oポートコントローラ35などが接続されている。
内部PCIバス2と内部ISAバス3との間を繋ぐブリ
ッジLSIである。内部ISAバス3には、BIOS
ROM31、リアルタイムクロック(RTC)32、キ
ーボードコントローラ(KBC)33、HDD34、I
/Oポートコントローラ35などが接続されている。
【0037】内部PCI−ISAブリッジ装置15に
は、PCIバスアービタ(PBA)151、PCIイン
タフェース(PCI I/F)152、内部デコーダ1
53、ISAコントローラ(ISAC)154、割り込
みコントローラ(PIC)155、DMACコア15
6、システムタイマ(PIT)157、SMI発生ロジ
ック158、コンフィグレーションレジスタ群(CON
FIG.REG)159などが内蔵されている。
は、PCIバスアービタ(PBA)151、PCIイン
タフェース(PCI I/F)152、内部デコーダ1
53、ISAコントローラ(ISAC)154、割り込
みコントローラ(PIC)155、DMACコア15
6、システムタイマ(PIT)157、SMI発生ロジ
ック158、コンフィグレーションレジスタ群(CON
FIG.REG)159などが内蔵されている。
【0038】PCIバスアービタ(PBA)151は、
内部PCIバス2に結合される全てのバスマスタ間でP
CIバス2の使用権の調停を行う。この調停には、バス
マスタデバイス毎に1ペアずつ割り当てられる内部PC
Iバス2上の信号線(バスリクエスト信号REQ#線、
グラント信号GNT#線)が用いられる。
内部PCIバス2に結合される全てのバスマスタ間でP
CIバス2の使用権の調停を行う。この調停には、バス
マスタデバイス毎に1ペアずつ割り当てられる内部PC
Iバス2上の信号線(バスリクエスト信号REQ#線、
グラント信号GNT#線)が用いられる。
【0039】バスリクエスト信号REQ#は、それに対
応するデバイスが内部PCIバス2の使用を要求してい
ることをPCIバスアービタ(PBA)151に通知す
るための信号である。グラント信号GNT#は、バスリ
クエスト信号REQ#を発行したデバイスに、バス使用
を許可することを通知する信号である。
応するデバイスが内部PCIバス2の使用を要求してい
ることをPCIバスアービタ(PBA)151に通知す
るための信号である。グラント信号GNT#は、バスリ
クエスト信号REQ#を発行したデバイスに、バス使用
を許可することを通知する信号である。
【0040】また、このシステムでは、内部PCIバス
2上に定義された複数組のREQ#,GNT#線のう
ち、DS−PCI/ISAブリッジ20に割り当てられ
た1組のREQ#,GNT#線は、外部ISAバス5に
接続されたDMAスレーブ(ISA拡張カード)等との
間でDREQ,DACK#を授受するというDMAシリ
アルチャネルプロトコルの実現のために使用される。
2上に定義された複数組のREQ#,GNT#線のう
ち、DS−PCI/ISAブリッジ20に割り当てられ
た1組のREQ#,GNT#線は、外部ISAバス5に
接続されたDMAスレーブ(ISA拡張カード)等との
間でDREQ,DACK#を授受するというDMAシリ
アルチャネルプロトコルの実現のために使用される。
【0041】PCIバスアービタ(PBA)151に
は、内部PCIバス2上の全てのバスリクエスト信号R
EQ#線およびグラント信号GNT#線が接続されてお
り、バス使用権の調停はそのPCIバスアービタ(PB
A)151によって集中的に制御される。
は、内部PCIバス2上の全てのバスリクエスト信号R
EQ#線およびグラント信号GNT#線が接続されてお
り、バス使用権の調停はそのPCIバスアービタ(PB
A)151によって集中的に制御される。
【0042】PCIインタフェース152は、内部PC
Iバス152との間でアドレス、データ、コマンド、お
よび各種インターフェース制御信号の授受を行なう。イ
ンターフェース制御信号には、デバイスセレクト信号
(DEVSEL#)、およびターゲットレディ信号(T
RDY#)も含まれている。
Iバス152との間でアドレス、データ、コマンド、お
よび各種インターフェース制御信号の授受を行なう。イ
ンターフェース制御信号には、デバイスセレクト信号
(DEVSEL#)、およびターゲットレディ信号(T
RDY#)も含まれている。
【0043】デバイスセレクト信号(DEVSEL#)
は、PCI−ISAブリッジLSI15がPCIバス2
上で実行されたトランザクションのターゲットとして選
択されたことを、そのトランザクションを開始したイニ
シエータに通知するための信号である。ターゲットレデ
ィ信号(TRDY#)は、トランザクションがリードサ
イクルであれば、PCI−ISAブリッジLSI15が
データを読み出す準備が完了したことを示し、ライトサ
イクルであれば、PCI−ISAブリッジLSI15が
データを取れ込む準備が完了したことを示す。
は、PCI−ISAブリッジLSI15がPCIバス2
上で実行されたトランザクションのターゲットとして選
択されたことを、そのトランザクションを開始したイニ
シエータに通知するための信号である。ターゲットレデ
ィ信号(TRDY#)は、トランザクションがリードサ
イクルであれば、PCI−ISAブリッジLSI15が
データを読み出す準備が完了したことを示し、ライトサ
イクルであれば、PCI−ISAブリッジLSI15が
データを取れ込む準備が完了したことを示す。
【0044】通常、PCIインタフェース152がター
ゲットレディ信号(TRDY#)線をドライブすること
によってバスサイクルに応答するタイミングは一定であ
るが、この実施例では、DMAシリアルチャネルプロト
コルによるディレイを考慮して、DMACコア156の
DMACステータスレジスタに対するリードサイクルの
場合には、ターゲットレディ信号(TRDY#)線のド
ライブタイミングが他の場合よりも遅れるように構成さ
れている。
ゲットレディ信号(TRDY#)線をドライブすること
によってバスサイクルに応答するタイミングは一定であ
るが、この実施例では、DMAシリアルチャネルプロト
コルによるディレイを考慮して、DMACコア156の
DMACステータスレジスタに対するリードサイクルの
場合には、ターゲットレディ信号(TRDY#)線のド
ライブタイミングが他の場合よりも遅れるように構成さ
れている。
【0045】内部デコーダ153は、PCI−ISAブ
リッジ15内蔵のデバイス(割り込みコントローラ15
5、DMACコア156、システムタイマ157、SM
I発生ロジック158、コンフィグレーションレジスタ
群159)、および内部ISAバス3上のテバイス(B
IOS ROM31、リアルタイムクロック32、キー
ボードコントローラ33、HDD34、I/Oポートコ
ントローラ35など)それぞれを選択するためのアドレ
スデコードを行なう。内部デコーダ153によってデコ
ードされるのは、PCIバス2上に出力されるI/Oア
ドレス、メモリアドレス、コンフィグレーションアドレ
スである。
リッジ15内蔵のデバイス(割り込みコントローラ15
5、DMACコア156、システムタイマ157、SM
I発生ロジック158、コンフィグレーションレジスタ
群159)、および内部ISAバス3上のテバイス(B
IOS ROM31、リアルタイムクロック32、キー
ボードコントローラ33、HDD34、I/Oポートコ
ントローラ35など)それぞれを選択するためのアドレ
スデコードを行なう。内部デコーダ153によってデコ
ードされるのは、PCIバス2上に出力されるI/Oア
ドレス、メモリアドレス、コンフィグレーションアドレ
スである。
【0046】また、内部デコーダ153は、PCIバス
2上に定義されたコマンド/バイトイルーブルC/BE
(3:0)によって指定されるコマンドタイプがI/O
リードサイクルであり、且つその時のPCIバス2上の
アドレスA(31:0)がDMACコア156のステー
タスレジスタを指定する時、PCIバス2上の現在のバ
スサイクルがステータスレジスタに対するリードサイク
ルであることを認識する。この場合、内部デコーダ15
3は、ターゲットレディ信号(TRDY#)線のドライ
ブタイミングを遅らさせるために、現在のバスサイクル
がステータスレジスタに対するリードサイクルであるこ
とをPCIインタフェース152に通知する。
2上に定義されたコマンド/バイトイルーブルC/BE
(3:0)によって指定されるコマンドタイプがI/O
リードサイクルであり、且つその時のPCIバス2上の
アドレスA(31:0)がDMACコア156のステー
タスレジスタを指定する時、PCIバス2上の現在のバ
スサイクルがステータスレジスタに対するリードサイク
ルであることを認識する。この場合、内部デコーダ15
3は、ターゲットレディ信号(TRDY#)線のドライ
ブタイミングを遅らさせるために、現在のバスサイクル
がステータスレジスタに対するリードサイクルであるこ
とをPCIインタフェース152に通知する。
【0047】ISAコントローラ154は、内部ISA
バス3上のメモリおよびI/OをアクセスするためのI
SAバスサイクルを実行する。コンフィグレーションレ
ジスタ群159は、コンフィグレーションサイクルでリ
ード/ライト可能なレジスタ群であり、ここにはターゲ
ットレディ信号(TRDY#)線のドライブタイミング
を遅らせるために挿入されるウエイト期間を示す値が例
えばシステムパワーオン時にセットされる。
バス3上のメモリおよびI/OをアクセスするためのI
SAバスサイクルを実行する。コンフィグレーションレ
ジスタ群159は、コンフィグレーションサイクルでリ
ード/ライト可能なレジスタ群であり、ここにはターゲ
ットレディ信号(TRDY#)線のドライブタイミング
を遅らせるために挿入されるウエイト期間を示す値が例
えばシステムパワーオン時にセットされる。
【0048】DMACコア156は、例えば内部ISA
バス3上のISAデバイスや外部ISAバス5上のIS
A拡張デバイスなどからの要求に応じてDMA転送を実
行するためのものであり、図2に示されているように、
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以外の機能については、DMAC15
6は使用されず、他のブロックだけが動作する。
バス3上のISAデバイスや外部ISAバス5上のIS
A拡張デバイスなどからの要求に応じてDMA転送を実
行するためのものであり、図2に示されているように、
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以外の機能については、DMAC15
6は使用されず、他のブロックだけが動作する。
【0049】これらISA DMAC1521、バスリ
クエストおよびグラントマネージャ(RGM)152
2、および内部ISA DMAルータ(IIDR)15
23の具体的な接続関係を図3に示す。
クエストおよびグラントマネージャ(RGM)152
2、および内部ISA DMAルータ(IIDR)15
23の具体的な接続関係を図3に示す。
【0050】ISA DMAC1521は、内部PCI
バス2に接続されたバスマスタの1であり、DMA転送
を必要とするデバイス(DMAスレーブなど)からの要
求に応じてDMA転送を実行する。
バス2に接続されたバスマスタの1であり、DMA転送
を必要とするデバイス(DMAスレーブなど)からの要
求に応じてDMA転送を実行する。
【0051】DMAスレーブは、論理的には内部PCI
バス2に接続されている(実際には、ブリッジ15また
は20経由で内部ISAバス3または外部ISAバス5
に接続されている場合がほとんどである)。
バス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スレーブとISA DMAC1521との間のDRE
QおよびDACK#の授受は、ISAコントローラ15
およびIIDR1523を介して実行される。また、外
部ISAバス5上のISAマスタデバイス、DMAスレ
ーブとISADMAC1521との間のDREQおよび
DACK#の授受は、RGM1522を介してDMAシ
リアルチャネルプロトコルによって行われる。
Q0〜7が入力されるDREQ入力ポートと、内部DA
CK#0〜7を出力するDACK#出力ポートを有して
おり、それらDREQ入力ポートおよびDACK#出力
ポートの双方はRGM1522およびIIDR1523
にそれぞれ接続されている。内部ISAバス3上のDM
AスレーブとISA DMAC1521との間のDRE
QおよびDACK#の授受は、ISAコントローラ15
およびIIDR1523を介して実行される。また、外
部ISAバス5上のISAマスタデバイス、DMAスレ
ーブとISADMAC1521との間のDREQおよび
DACK#の授受は、RGM1522を介してDMAシ
リアルチャネルプロトコルによって行われる。
【0053】ISA DMAC1521はPCIインタ
フェース152を介して内部PCIバス2に接続され、
またDMA転送を要求するデバイスは内部ISAバス3
または外部ISAバス5に接続されているため、ISA
DMAC1521によるDMA転送では、リードサイ
クル(I/Oリードまたはメモリリード)とライトサイ
クル(メモリライトまたはI/Oライト)とは、時間的
に同時には発生しない。すなわち、まずリードサイクル
が行われ、そのときのリードデータがISADMAC1
521内のバッファにラッチされる。つぎに、ライトサ
イクルが実行され、さきほどラッチしておいたデータが
ライトデータとして出力される。
フェース152を介して内部PCIバス2に接続され、
またDMA転送を要求するデバイスは内部ISAバス3
または外部ISAバス5に接続されているため、ISA
DMAC1521によるDMA転送では、リードサイ
クル(I/Oリードまたはメモリリード)とライトサイ
クル(メモリライトまたはI/Oライト)とは、時間的
に同時には発生しない。すなわち、まずリードサイクル
が行われ、そのときのリードデータがISADMAC1
521内のバッファにラッチされる。つぎに、ライトサ
イクルが実行され、さきほどラッチしておいたデータが
ライトデータとして出力される。
【0054】リードサイクル、ライトサイクルとも、メ
モリ、I/Oを問わず、内部PCIバス2上で発生さ
れ、必要な場合はその内部PCIバス2上のバスサイク
ルがブリッジ装置15、または20によってISAバス
サイクルに変換される。すなわち、ISA DMAC1
521は、メモリサイクルとDMA専用I/Oサイクル
のどちらもPCIバス2上に発生し、ISAバスサイク
ルについては関知しない。
モリ、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のどちらに
も接続されない。
システムアーキテクチャで標準となっている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スレーブが選択される。
ンネル毎に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と送受信する。
バス3上のデバイスと外部ISAバス5上のデバイスと
の間で排他的に行われる。各デバイスは、それに割り当
てられたDMAチャネルに対応するDREQ、DACK
#を用いてISA DMAC1521と送受信する。
【0058】この場合、外部ISAバス5上のデバイス
とISA DMAC1521との間のDREQおよびD
ACK#の送受信は、前述したように、1組のシリアル
REQ#,シリアルGNT#信号線を使用したDMAシ
リアルチャネルプロトコルに従って実行される。
と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に変換される。
は、シリアル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に送られ
る。
される内部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#が与
えられるのを待つ。
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によってエミュレートされる。
と、ISA DMAC1521は、調停の結果選択した
DMAチャンネル番号に対応する内部DACK#をアク
ティブにして、DMA転送を実行するDMAチャンネル
番号をRGM1522とIIDR1523へ返す。そし
て、ISA DMAC1521は、選択されたDMAチ
ャンネルのセットアップ情報によって規定されるDMA
転送モード(シングル転送モード、ブロック転送モー
ド、デマンド転送モード、カスケードモード)に対応す
るDMAサイクルを実行する。この場合、ISA DM
AC1521は、前述したようにメモリ、I/Oサイク
ルとも、PCIバスのバスサイクルのみをサポートし、
ISAバスのバスサイクルについてはブリッジ装置15
または20によってエミュレートされる。
【0063】ISA DMAC1521には、DMAチ
ャネル毎にステータスレジスタが設けられている。各ス
テータスレジスタは、対応するDMAチャネルのDRE
QステータスおよびTC(転送完了)ステータスを保持
する。DRQステータスは、各種のマスク要因を通過す
る前の、生のDREQ信号の状態である。TCステータ
スは、TC通知でセットされ、ステータスレジスタから
読み出される事で、クリアされる。
ャネル毎にステータスレジスタが設けられている。各ス
テータスレジスタは、対応するDMAチャネルのDRE
QステータスおよびTC(転送完了)ステータスを保持
する。DRQステータスは、各種のマスク要因を通過す
る前の、生のDREQ信号の状態である。TCステータ
スは、TC通知でセットされ、ステータスレジスタから
読み出される事で、クリアされる。
【0064】RGM1522は、複数のDMAチャネル
をシリアル化して転送するというDMAシリアルチャネ
ルプロトコルに関する処理を行うためにシリアルREQ
#およびシリアルGNT#の状態を管理する。このRG
M1522は、DMAシリアルチャネルプロトコルと、
ISA DMAC1521に対するISAスタイルのD
REQ/DACK#プロトコルとの間の変換を行う。
をシリアル化して転送するというDMAシリアルチャネ
ルプロトコルに関する処理を行うためにシリアルREQ
#およびシリアルGNT#の状態を管理する。このRG
M1522は、DMAシリアルチャネルプロトコルと、
ISA DMAC1521に対するISAスタイルのD
REQ/DACK#プロトコルとの間の変換を行う。
【0065】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シリアルチャネルプロ
トコルによって行うことができる。
を入力することができる。また、各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シリアルチャネルプロ
トコルによって行うことができる。
【0066】また、RGM1522は、DMAシリアル
チャネルプロトコルと、PBA151がサポートする標
準PCIスタイルのアービトレーションのためのREG
#/GNT#プロトコル(これは、文献“PCI Lo
cal Bus Specification”199
4 10月21 P47〜P52 PCI Speci
al interest Group著 に記載されて
いる)。
チャネルプロトコルと、PBA151がサポートする標
準PCIスタイルのアービトレーションのためのREG
#/GNT#プロトコル(これは、文献“PCI Lo
cal Bus Specification”199
4 10月21 P47〜P52 PCI Speci
al interest Group著 に記載されて
いる)。
【0067】すなわち、外部ISAバス5上のデバイス
との間のDREQ,DACK#の授受だけでなく、外部
PCIバス4上のPCIマスタ41との間のREQ#,
GNT#の授受もDMAシリアルチャネルプロトコルを
使用して行われる。この場合のREQ#,GNT#の処
理は、RGM1522によって次のように行われる。
との間のDREQ,DACK#の授受だけでなく、外部
PCIバス4上のPCIマスタ41との間のREQ#,
GNT#の授受もDMAシリアルチャネルプロトコルを
使用して行われる。この場合のREQ#,GNT#の処
理は、RGM1522によって次のように行われる。
【0068】外部PCIバス4上のPCIマスタ41
(LANボード、SCSIボードなど)は、REQ#を
アクティブにすることによって、バス使用要求をDS−
PCI/ISAブリッジ装置20に知らせる。DS−P
CI/ISAブリッジ装置20は、シリアルREQ#を
利用したシルアルデータ転送によって、バス使用要求を
RGM1522へ知らせる。この場合、そのバス使用要
求の通知には、ISAデバイスによって使用されていな
いDMAチャネルであるDREQ4が用いられる。
(LANボード、SCSIボードなど)は、REQ#を
アクティブにすることによって、バス使用要求をDS−
PCI/ISAブリッジ装置20に知らせる。DS−P
CI/ISAブリッジ装置20は、シリアルREQ#を
利用したシルアルデータ転送によって、バス使用要求を
RGM1522へ知らせる。この場合、そのバス使用要
求の通知には、ISAデバイスによって使用されていな
いDMAチャネルであるDREQ4が用いられる。
【0069】RGM1522は、シリアルREQ#信号
を分解し、シリアルREQ#によってDREQ4が通知
されたことを検出すると、REQ#をアクティブにして
PBA151に対してバス使用を要求する。PBA15
1は、標準PCIのルールによって調停を行い、GNT
#によってRGM1522に対してバス使用を許可す
る。
を分解し、シリアルREQ#によってDREQ4が通知
されたことを検出すると、REQ#をアクティブにして
PBA151に対してバス使用を要求する。PBA15
1は、標準PCIのルールによって調停を行い、GNT
#によってRGM1522に対してバス使用を許可す
る。
【0070】RGM1522は、PBA151からのG
NT#を受け取ると、シリアルGNT#を使用したシリ
アルデータ転送によって、バス使用が許可されたことを
DS−PCI/ISAブリッジ装置20に通知する。こ
の通知には、DACK4が使用される。DS−PCI/
ISAブリッジ装置20は、RGM1522が送信した
シリアルGNT#信号を分解し、PCIマスタ41にG
NT#を与える。PCIマスタ41は、GNT#を受け
取るとバスサイクルを開始する。
NT#を受け取ると、シリアルGNT#を使用したシリ
アルデータ転送によって、バス使用が許可されたことを
DS−PCI/ISAブリッジ装置20に通知する。こ
の通知には、DACK4が使用される。DS−PCI/
ISAブリッジ装置20は、RGM1522が送信した
シリアルGNT#信号を分解し、PCIマスタ41にG
NT#を与える。PCIマスタ41は、GNT#を受け
取るとバスサイクルを開始する。
【0071】次に、内部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上に出
力する。
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上に出
力する。
【0072】内部ISAバスブリッジ(IIBB)15
3は、内部PCIバス2と内部ISAバス3とを繋ぐブ
リッジであり、メモリおよびI/Oなどの内部ISAバ
ス3上の全てのデバイスを制御する。このIIBB15
3は、ISA DMAC1521がDMA転送のために
PCIバス2上に発生するメモリまたはI/Oサイクル
をプロトコル変換して、内部ISAバス3上へ伝える。
3は、内部PCIバス2と内部ISAバス3とを繋ぐブ
リッジであり、メモリおよびI/Oなどの内部ISAバ
ス3上の全てのデバイスを制御する。このIIBB15
3は、ISA DMAC1521がDMA転送のために
PCIバス2上に発生するメモリまたはI/Oサイクル
をプロトコル変換して、内部ISAバス3上へ伝える。
【0073】PCI−DSブリッジ装置16は、内部P
CIバス2と、ドッキングステーションに導出されるP
CIバス相当のドッキングバスとを繋ぐブリッジLSI
であり、PCIバス2上のエージェントとして機能す
る。このPCI−DSブリッジ装置16には、DMAシ
リアルチャンネルプロトコルによるシリアルREQ#/
GNT#の転送の同期化のためのバッファが設けられて
いる。
CIバス2と、ドッキングステーションに導出されるP
CIバス相当のドッキングバスとを繋ぐブリッジLSI
であり、PCIバス2上のエージェントとして機能す
る。このPCI−DSブリッジ装置16には、DMAシ
リアルチャンネルプロトコルによるシリアルREQ#/
GNT#の転送の同期化のためのバッファが設けられて
いる。
【0074】PCカードコントローラ17は、PCIバ
スマスタの1つであり、PCMCIA/Cardバス仕
様のカードスロット61,62に装着されるPCカード
を制御する。このPCカードコントローラ17は、DM
Aシリアルチャネルプロトコルをサポートしており、P
CカードがDMA転送を要求した時、そのDMA要求す
なわちDREQは、PCカードコントローラ17に割り
当てられたREQ#信号線を利用したシリアル転送によ
ってRGM1522に送信される。また、RGM152
2からのDACK#については、PCカードコントロー
ラ17に割り当てられたGNT#信号線を利用したシリ
アル転送によってPCカードコントローラ17に送られ
る。このシリアルGNT#は、PCカードコントローラ
17によってDACK#に分解されて、PCカードに渡
される。
スマスタの1つであり、PCMCIA/Cardバス仕
様のカードスロット61,62に装着されるPCカード
を制御する。このPCカードコントローラ17は、DM
Aシリアルチャネルプロトコルをサポートしており、P
CカードがDMA転送を要求した時、そのDMA要求す
なわちDREQは、PCカードコントローラ17に割り
当てられたREQ#信号線を利用したシリアル転送によ
ってRGM1522に送信される。また、RGM152
2からのDACK#については、PCカードコントロー
ラ17に割り当てられたGNT#信号線を利用したシリ
アル転送によってPCカードコントローラ17に送られ
る。このシリアルGNT#は、PCカードコントローラ
17によってDACK#に分解されて、PCカードに渡
される。
【0075】DS−PCI/ISAブリッジ装置20
は、DSコネクタを介してコンピュータ本体からドッキ
ングステーションに導出されるドッキングバス(PCI
バス相当)と外部PCIバス4および外部ISAバス5
とを繋ぐブリッジLSIである。このDS−PCI/I
SAブリッジ装置20は、PCカードコントローラ17
と同じくPCIバスマスタの1つであり、且つDMAシ
リアルチャネルプロトコルをサポートしている。
は、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が設けられている。
は、外部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マスタデバイスにバス
使用権が与えられた場合は、EPBB201は、外部P
CIバス4上のバストランザクションをドッキングバス
上に発生させる。
ISA DMAC1521が発生するメモリサイクルお
よびI/OサイクルをPCI−DSブリッジ16を経由
して受け取り、それを外部PCIバス4上へ伝える。ま
た、外部PCIバス4上のPCIマスタデバイスにバス
使用権が与えられた場合は、EPBB201は、外部P
CIバス4上のバストランザクションをドッキングバス
上に発生させる。
【0078】EIBB202は、内部PCIバス2上に
ISA DMAC1521が発生するメモリサイクルお
よびI/OサイクルをPCI−DSブリッジ16を経由
して受け取り、それをプロトコル変換して外部ISAバ
ス5上へ伝える。また、外部ISAバス5上のISAマ
スタデバイスにバス使用権が与えられた場合は、EIB
B202は、外部ISAバス5上のバストランザクショ
ンをドッキングバス上に発生させる。
ISA DMAC1521が発生するメモリサイクルお
よびI/OサイクルをPCI−DSブリッジ16を経由
して受け取り、それをプロトコル変換して外部ISAバ
ス5上へ伝える。また、外部ISAバス5上のISAマ
スタデバイスにバス使用権が与えられた場合は、EIB
B202は、外部ISAバス5上のバストランザクショ
ンをドッキングバス上に発生させる。
【0079】LBA203およびEIDR204は、D
MAシリアルチャネルプロトコルをサポートするために
設けられたものであり、それらの接続関係を図4に示
す。LBA203は、外部PCIバス4上のPCIバス
マスタ(PCI拡張カード)からのバス使用要求REQ
#と、外部ISAバス5上のISAマスタおよびDMA
スレーブ(ISA拡張カード)からのDREQ信号(基
本的にISAのDMAチャンネル分ある)の状態の変化
を監視しており、最新の状態をシリアルREQ#を利用
したビット列のシリアル転送によって、PCI−DSブ
リッジ16経由でRGM1522へ伝える。
MAシリアルチャネルプロトコルをサポートするために
設けられたものであり、それらの接続関係を図4に示
す。LBA203は、外部PCIバス4上のPCIバス
マスタ(PCI拡張カード)からのバス使用要求REQ
#と、外部ISAバス5上のISAマスタおよびDMA
スレーブ(ISA拡張カード)からのDREQ信号(基
本的にISAのDMAチャンネル分ある)の状態の変化
を監視しており、最新の状態をシリアルREQ#を利用
したビット列のシリアル転送によって、PCI−DSブ
リッジ16経由でRGM1522へ伝える。
【0080】シリアルREQ#で送信されるビット列の
フォーマットは次の通りである。 LBA203は、アクティブにされたREQ#の前縁を
スタートbit(S)とし、以後、DMAチャンネルの
0から7までを1クロックフレームづつ使用して、シリ
アルに伝える。チャンネル4のフレームは、PCIマス
タ41のバス要求状態の変化を伝えるために使用され、
それ以外は、ISAマスタ,DMAスレーブのDMA要
求の状態変化を伝えるために使用される。
フォーマットは次の通りである。 LBA203は、アクティブにされたREQ#の前縁を
スタートbit(S)とし、以後、DMAチャンネルの
0から7までを1クロックフレームづつ使用して、シリ
アルに伝える。チャンネル4のフレームは、PCIマス
タ41のバス要求状態の変化を伝えるために使用され、
それ以外は、ISAマスタ,DMAスレーブのDMA要
求の状態変化を伝えるために使用される。
【0081】各フレームは、“L”で要求なしを意味
し、“H”で要求ありを意味する。上述の例では、DR
EQ0、2、7がアクティブであり、且つPCIマスタ
がバス使用を要求している状態(DREQ4がアクティ
ブ)に対応している。
し、“H”で要求ありを意味する。上述の例では、DR
EQ0、2、7がアクティブであり、且つPCIマスタ
がバス使用を要求している状態(DREQ4がアクティ
ブ)に対応している。
【0082】LBA203は、2つの動作状態(プロシ
ード、フリーズ)を有する。RGM1522からのシリ
アルGNT#を受け取るまでは、LBA203は、プロ
シード状態であり、常に最新の状態をRGM1522へ
伝えるように努力する。すなわち、プロシード状態で
は、PCIバスマスタ41のREQ#、またはISAマ
スタ51、およびDMAスレーブ52,53のDREQ
状態の変化が発生する度に、それをDMAシリアルチャ
ンネルプロトコルによってRGM1522に通知する。
ード、フリーズ)を有する。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#
を返す。
受け取ると、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#を伝えるために使用さ
れる。
信されるビット列のフォーマットは次の通りである。 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#はアクティ
ブ状態に維持され続ける。
り、DMAチャンネル1が選択された(DACK1#が
与えられた)ことを意味する。一旦、GNT#を受け取
ると、LBA203の動作状態はプロシード状態からフ
リーズ状態に切り換えられる。フリーズ状態は、そのG
NT#に対応するデバイス(PCIマスター、ISAマ
スター、DMAスレーブ)がバスの使用要求を取り下げ
るまで維持され、その期間では、たとえ他のデバイスに
状態変化が生じても、それを通知するためのシリアルR
EQ#サイクルの実行は凍結され、REQ#はアクティ
ブ状態に維持され続ける。
【0086】このシステムのDMAシリアルチャンネル
プロトコルでは、PCIマスタ用に割り当てられたフレ
ームはチャネル4だけである。このため、外部PCIバ
ス4上に複数のPCIマスタが存在する場合には、それ
ら複数のPCIマスタからのREQ#間の調停もLBA
203によって行われる。
プロトコルでは、PCIマスタ用に割り当てられたフレ
ームはチャネル4だけである。このため、外部PCIバ
ス4上に複数のPCIマスタが存在する場合には、それ
ら複数のPCIマスタからのREQ#間の調停もLBA
203によって行われる。
【0087】EIDR204は、プログラムされたマッ
ピング情報にしたがって、外部ISAバス5上のISA
マスタおよびDMAスレーブそれぞれにマッピングされ
るDMAチャネルを変更する。このEIDR204と前
述のIIDR1523との共同作用により、内部ISA
バス3上のデバイスと外部ISAバス5上のデバイスと
にDMAチャネルを排他的に割り当てることができる。
ピング情報にしたがって、外部ISAバス5上のISA
マスタおよびDMAスレーブそれぞれにマッピングされ
るDMAチャネルを変更する。このEIDR204と前
述のIIDR1523との共同作用により、内部ISA
バス3上のデバイスと外部ISAバス5上のデバイスと
にDMAチャネルを排他的に割り当てることができる。
【0088】EIDR204は、ISAマスタおよびD
MAスレーブそれぞれからのDREQ信号の状態を、マ
ッピング情報に従って、それらデバイスのDMAチャネ
ル番号に対応するDREQ信号に変換してLBA203
に伝える。また、EIDR204は、LBA203から
のDACK#を、マッピング情報に従って、ISAマス
タおよびDMAスレーブが実際に使用しているDACK
#に変換して、外部ISAバス5上に出力する。
MAスレーブそれぞれからのDREQ信号の状態を、マ
ッピング情報に従って、それらデバイスのDMAチャネ
ル番号に対応するDREQ信号に変換してLBA203
に伝える。また、EIDR204は、LBA203から
のDACK#を、マッピング情報に従って、ISAマス
タおよびDMAスレーブが実際に使用しているDACK
#に変換して、外部ISAバス5上に出力する。
【0089】次に、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#を出し続ける。途中で、ター
ゲットリトライによるバスサイクル終了があっても、バ
スを解放しない。この時点で、再度、内部PCIバス2
のロック状態をチェックし、ロックされていれば、RE
Q#をインアクティブにし、GNT#を無効化する。 (4)DACK#アサート ISA DMAC1521は、GNT#を獲得した時点
で、DACK#を与えるDMAチャンネルを決定する。
DACK#を、RGM1522とIIDR1523へ送
る。DACK#をアクティブにした時点で、DMAチャ
ンネルが固定される。 (5)バスサイクルの発生とその繰り返し ISA DMAC1521は、DACK#をアサートし
てから、内部PCIバス2にバスサイクルを発生する。
ただし、選択されたDMAチャンネルが、カスケードモ
ードにプログラムされている場合は、バスサイクルは発
生しない。
実行される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#を出し続ける。途中で、ター
ゲットリトライによるバスサイクル終了があっても、バ
スを解放しない。この時点で、再度、内部PCIバス2
のロック状態をチェックし、ロックされていれば、RE
Q#をインアクティブにし、GNT#を無効化する。 (4)DACK#アサート ISA DMAC1521は、GNT#を獲得した時点
で、DACK#を与えるDMAチャンネルを決定する。
DACK#を、RGM1522とIIDR1523へ送
る。DACK#をアクティブにした時点で、DMAチャ
ンネルが固定される。 (5)バスサイクルの発生とその繰り返し ISA DMAC1521は、DACK#をアサートし
てから、内部PCIバス2にバスサイクルを発生する。
ただし、選択されたDMAチャンネルが、カスケードモ
ードにプログラムされている場合は、バスサイクルは発
生しない。
【0090】バスサイクルの種類は、選択されたDMA
チャンネルのモードレジスタの内容(転送タイプ)によ
り、ライト転送、リード転送、ベリファイ転送の3種類
に分類される。
チャンネルのモードレジスタの内容(転送タイプ)によ
り、ライト転送、リード転送、ベリファイ転送の3種類
に分類される。
【0091】ここでは、ライト転送(I/Oリード→メ
モリライト)について具体的に説明する。ライト転送
は、次の2つのバスサイクルを1組とし、それを必要回
数繰り返すことによって実行される。
モリライト)について具体的に説明する。ライト転送
は、次の2つのバスサイクルを1組とし、それを必要回
数繰り返すことによって実行される。
【0092】・DMA専用I/Oサイクル(リード) ・メモリライトサイクル DMA専用I/Oサイクル(リード)は、標準のPCI
バスのI/Oリードサイクルと全く同じである。ただ
し、I/Oアドレスが特別の意味を持つ。
バスのI/Oリードサイクルと全く同じである。ただ
し、I/Oアドレスが特別の意味を持つ。
【0093】I/Oアドレスは、 00000000h…TCなし 00000004h…TCあり のいづれかである。このアドレスは、82C37(DM
AC)に割り当てられており、ISA DMAC152
1以外のターゲットが応答することはない。TCは転送
カウント値が尽きた事、つまり転送終了を示す信号であ
る。
AC)に割り当てられており、ISA DMAC152
1以外のターゲットが応答することはない。TCは転送
カウント値が尽きた事、つまり転送終了を示す信号であ
る。
【0094】I/Oターゲットとなるエージェントは、
DACK#をもらっている経路にあるすべてのブリッジ
である。例えば、シリアルGNT#によって外部ISA
バス5上のDMAスレーブにDACK#が与えられた場
合には、PCI−DSブリッジ16、およびDS−PC
I/ISAブリッジ20のEIBB202が応答する。
DACK#をもらっている経路にあるすべてのブリッジ
である。例えば、シリアルGNT#によって外部ISA
バス5上のDMAスレーブにDACK#が与えられた場
合には、PCI−DSブリッジ16、およびDS−PC
I/ISAブリッジ20のEIBB202が応答する。
【0095】ブリッジ20は、ISAバス5上にコマン
ド(IOR#)を出力する。アドレスがTCを指定して
いるとき(00000004h)は、ISAバス5上へ
TCを出力する。このとき、DACK#は、EIDR2
04によりすでに出力されている。従って、ISAバス
5上には、DACK#で選択されたDMAスレーブから
リードデータが出力される。ブリッジ20は、このデー
タをISAバス5から内部PCIバス2へ伝える。
ド(IOR#)を出力する。アドレスがTCを指定して
いるとき(00000004h)は、ISAバス5上へ
TCを出力する。このとき、DACK#は、EIDR2
04によりすでに出力されている。従って、ISAバス
5上には、DACK#で選択されたDMAスレーブから
リードデータが出力される。ブリッジ20は、このデー
タをISAバス5から内部PCIバス2へ伝える。
【0096】リードされたデータは、ISA DMAC
1521にラッチされる。このデータは、ISA DM
AC1521が直後に発生するメモリライトサイクル
で、ライトデータとして使用される。
1521にラッチされる。このデータは、ISA DM
AC1521が直後に発生するメモリライトサイクル
で、ライトデータとして使用される。
【0097】メモリライトサイクルは、標準のPCIバ
スのメモリライトサイクルと全く同じである。メモリア
ドレスは、ISA DMAC1521に内蔵されたカレ
ントアドレスレジスタとページレジスタとから作られ
る。ライトデータは、ISA DMAC1521が直前
に発生したDMA専用I/Oサイクル(リード)でラッ
チされたものが使用される。1回の転送で、1バイト
(8bitDMA)または2バイト(16bitDM
A)を発生する。
スのメモリライトサイクルと全く同じである。メモリア
ドレスは、ISA DMAC1521に内蔵されたカレ
ントアドレスレジスタとページレジスタとから作られ
る。ライトデータは、ISA DMAC1521が直前
に発生したDMA専用I/Oサイクル(リード)でラッ
チされたものが使用される。1回の転送で、1バイト
(8bitDMA)または2バイト(16bitDM
A)を発生する。
【0098】ターゲットとなるホスト−PCIブリッジ
12は、通常のPCIマスターからのメモリライトと全
く同じように応答し、システムメモリ13をライトアク
セスする。リトライで終了した場合でも、ISA DM
AC1521は多少の待ち時間をおいてから、再度同じ
メモリサイクルを発生してくる。この間、ISA DM
AC1521はバス2を解放しない。
12は、通常のPCIマスターからのメモリライトと全
く同じように応答し、システムメモリ13をライトアク
セスする。リトライで終了した場合でも、ISA DM
AC1521は多少の待ち時間をおいてから、再度同じ
メモリサイクルを発生してくる。この間、ISA DM
AC1521はバス2を解放しない。
【0099】次に、図5乃至図7を参照して、DMAC
ステータスレジスタの内容を読み出すためのI/Oリー
ドサイクルに対するブリッジ15の応答動作について説
明する。
ステータスレジスタの内容を読み出すためのI/Oリー
ドサイクルに対するブリッジ15の応答動作について説
明する。
【0100】図5には、PCIインタフェース152お
よび内部デコーダ153の接続関係が概念的に示されて
いる。内部デコーダ153は、アドレスフェーズの期間
にPCIバス2に出力されるコマンド/バイトイネーブ
ルC/BE(3:0)をデコードして、現在のトランザ
クション(バスサイクル)のコマンドタイプ(I/Oア
クセス、メモリアクセス、コンフィグアクセスなど)を
調べる。
よび内部デコーダ153の接続関係が概念的に示されて
いる。内部デコーダ153は、アドレスフェーズの期間
にPCIバス2に出力されるコマンド/バイトイネーブ
ルC/BE(3:0)をデコードして、現在のトランザ
クション(バスサイクル)のコマンドタイプ(I/Oア
クセス、メモリアクセス、コンフィグアクセスなど)を
調べる。
【0101】コマンド/バイトイネーブルC/BE
(3:0)とコマンドタイプとの関係は、次の通りであ
る。 C/BE(3:0) コマンドタイプ 0010 I/Oリード 0011 I/Oライト 0110 メモリリード 0111 メモリリード 1010 コンフィグレーションリード 1011 コンフィグレーションライト 内部デコーダ153は、検出したコマンドタイプに対応
するマッピング情報をコンフィグレーションレジスタ群
159からリードし、それに従ってアクセス対象のデバ
イスを選択する。例えば、現在のバスサイクルがI/O
リードまたはI/Oライトサイクルであれば、内部デコ
ーダ153は、アドレスAD(31:0)をデコード
し、そのデコードとI/Oマッピング情報に従って、ア
ドレスADの値が属するI/Oアドレス範囲にマッピン
グされたI/Oを指定するためのヒット信号(HIT0
〜HITn)のいずれか1つを発生する。内部デコーダ
153から出力される各バンクヒット信号は、それに対
応するバンクに配置されたI/Oデバイスを選択するた
めのチップセレクト信号等として利用される。
(3:0)とコマンドタイプとの関係は、次の通りであ
る。 C/BE(3:0) コマンドタイプ 0010 I/Oリード 0011 I/Oライト 0110 メモリリード 0111 メモリリード 1010 コンフィグレーションリード 1011 コンフィグレーションライト 内部デコーダ153は、検出したコマンドタイプに対応
するマッピング情報をコンフィグレーションレジスタ群
159からリードし、それに従ってアクセス対象のデバ
イスを選択する。例えば、現在のバスサイクルがI/O
リードまたはI/Oライトサイクルであれば、内部デコ
ーダ153は、アドレスAD(31:0)をデコード
し、そのデコードとI/Oマッピング情報に従って、ア
ドレスADの値が属するI/Oアドレス範囲にマッピン
グされたI/Oを指定するためのヒット信号(HIT0
〜HITn)のいずれか1つを発生する。内部デコーダ
153から出力される各バンクヒット信号は、それに対
応するバンクに配置されたI/Oデバイスを選択するた
めのチップセレクト信号等として利用される。
【0102】また、内部デコーダ153は、デコード動
作によって現在のバスサイクルがDMACステータスレ
ジスタに対するI/Oリードサイクルであることを検出
すると、その事をPCIインタフェース152に通知す
る。
作によって現在のバスサイクルがDMACステータスレ
ジスタに対するI/Oリードサイクルであることを検出
すると、その事をPCIインタフェース152に通知す
る。
【0103】PCIインタフェース152は、内部デコ
ーダ153からヒット信号が発生された場合、DEVS
EL#およびTRDY#によってバスサイクルに応答す
る。現在のバスサイクルがDMACステータスレジスタ
に対するI/Oリードサイクルであることが内部デコー
ダ153から通知された場合には、コンフィグレーショ
ンレジスタ群159の1つにセットされたTRDYウエ
イト情報によって指定されるウエイト期間だけTRDY
#のドライブタイミングを遅らせる。コンフィグレーシ
ョンレジスタ群159はCPU11によってプログラム
可能であるので、ウエイト期間の値はプログラマブルに
設定できる。
ーダ153からヒット信号が発生された場合、DEVS
EL#およびTRDY#によってバスサイクルに応答す
る。現在のバスサイクルがDMACステータスレジスタ
に対するI/Oリードサイクルであることが内部デコー
ダ153から通知された場合には、コンフィグレーショ
ンレジスタ群159の1つにセットされたTRDYウエ
イト情報によって指定されるウエイト期間だけTRDY
#のドライブタイミングを遅らせる。コンフィグレーシ
ョンレジスタ群159はCPU11によってプログラム
可能であるので、ウエイト期間の値はプログラマブルに
設定できる。
【0104】図6には、PCIバス2上でI/Oリード
サイクルが実行された場合のPCI−ISAブリッジ1
5の状態遷移の様子が示されている。PCIバス2上で
I/Oリードサイクルが実行されると、PCI−ISA
ブリッジ15は、アイドル状態(IDLEステート)か
らI/Oリードを実行するための状態(I/Oリードス
テート)に移行する。I/Oリードステートでは、アク
セス対象のデバイスがDMACステータスレジスタか否
かが調べられる。DMACステータスレジスタ以外であ
れば、PCI−ISAブリッジ15は、TRDY#をド
ライブするための状態(TRDYステート)に直ぐに移
行するが、DMACステータスレジスタがリード対象で
あればウエイトステートに移行し、そこで、TRDYウ
エイト情報によって指定されるウエイト期間だけウエイ
トする。
サイクルが実行された場合のPCI−ISAブリッジ1
5の状態遷移の様子が示されている。PCIバス2上で
I/Oリードサイクルが実行されると、PCI−ISA
ブリッジ15は、アイドル状態(IDLEステート)か
らI/Oリードを実行するための状態(I/Oリードス
テート)に移行する。I/Oリードステートでは、アク
セス対象のデバイスがDMACステータスレジスタか否
かが調べられる。DMACステータスレジスタ以外であ
れば、PCI−ISAブリッジ15は、TRDY#をド
ライブするための状態(TRDYステート)に直ぐに移
行するが、DMACステータスレジスタがリード対象で
あればウエイトステートに移行し、そこで、TRDYウ
エイト情報によって指定されるウエイト期間だけウエイ
トする。
【0105】このウエイト時間の管理は、例えばPCI
インタフェース152に設けられたダウンカウンタなど
を利用して行うことができる。ダウンカウンタの値がゼ
ロになると、PCI−ISAブリッジ15は、TRDY
#をドライブするための状態(TRDYステート)に移
行する。TRDYステートでは、PCIインタフェース
152によってTRDY#がアクティブにされ、リード
データが用意できたことがイニシエータに通知される。
インタフェース152に設けられたダウンカウンタなど
を利用して行うことができる。ダウンカウンタの値がゼ
ロになると、PCI−ISAブリッジ15は、TRDY
#をドライブするための状態(TRDYステート)に移
行する。TRDYステートでは、PCIインタフェース
152によってTRDY#がアクティブにされ、リード
データが用意できたことがイニシエータに通知される。
【0106】次に、図7のタイミングチャートを参照し
て、CPU11によって実行されるのDMACステータ
スレジスタの内容をリードするためのI/Oリードサイ
クルに対するブリッジ15の応答動作を説明する。 (1)CPU11はISA拡張カードAに対してI/O
ライトサイクルを実行して、I/OコマンドをISA拡
張カードAに発行する。ISA拡張カードAは、DRE
Q Aをアクティブにする(タイミングT1)。 (2)DS−PCI/ISAブリッジ20がREQ#を
利用したシルアル転送を行い、ISA拡張カードAから
のDREQ AをDMACコア156に送信する。この
場合、シリアルREQ#のスタートビットSに後続する
いくつかのシリアルビット列は、DMAチャネルAがア
クティブにされていることを示す。 (3)DMACコア156がシリアルREQ#を受信
し、前述のシリアルビット列によって指定されたDMA
チャネル(チャネルA)に対応する内部DREQA(I
nt.DREQ A)を発生する。このInt.DRE
Q Aは、DMACコア156内部のISA DMAC
1521が有する複数チャネル分のDREQ入力ポート
の1つに供給される。これにより、そのDMAチャネル
(チャネルA)に対応するDREQが発生したことを示
すDREQステータスデータが、チャネルAに対応する
DMACステータスレジスタにセットされる(タイミン
グT2)。 (4)DMACコア156がGNT#を利用したシルア
ル転送を行い、DREQAに対応するDACK A#を
送信する。この場合、シリアルGNT#のスタートビッ
トSに後続するビット列によって、DMA転送が実行さ
れるDMAチャネル(チャネルA)が選択される。 (5)DS−PCI/ISAブリッジ20がシリアルG
NT#を受信し、前述のビット列によって指定されたD
MAチャネルに対応するDACK A#を発生する。こ
のDACK A#によって、DMAチャネルAを利用し
たDMA転送の開始がISA拡張カードAに通知され
る。
て、CPU11によって実行されるのDMACステータ
スレジスタの内容をリードするためのI/Oリードサイ
クルに対するブリッジ15の応答動作を説明する。 (1)CPU11はISA拡張カードAに対してI/O
ライトサイクルを実行して、I/OコマンドをISA拡
張カードAに発行する。ISA拡張カードAは、DRE
Q Aをアクティブにする(タイミングT1)。 (2)DS−PCI/ISAブリッジ20がREQ#を
利用したシルアル転送を行い、ISA拡張カードAから
のDREQ AをDMACコア156に送信する。この
場合、シリアルREQ#のスタートビットSに後続する
いくつかのシリアルビット列は、DMAチャネルAがア
クティブにされていることを示す。 (3)DMACコア156がシリアルREQ#を受信
し、前述のシリアルビット列によって指定されたDMA
チャネル(チャネルA)に対応する内部DREQA(I
nt.DREQ A)を発生する。このInt.DRE
Q Aは、DMACコア156内部のISA DMAC
1521が有する複数チャネル分のDREQ入力ポート
の1つに供給される。これにより、そのDMAチャネル
(チャネルA)に対応するDREQが発生したことを示
すDREQステータスデータが、チャネルAに対応する
DMACステータスレジスタにセットされる(タイミン
グT2)。 (4)DMACコア156がGNT#を利用したシルア
ル転送を行い、DREQAに対応するDACK A#を
送信する。この場合、シリアルGNT#のスタートビッ
トSに後続するビット列によって、DMA転送が実行さ
れるDMAチャネル(チャネルA)が選択される。 (5)DS−PCI/ISAブリッジ20がシリアルG
NT#を受信し、前述のビット列によって指定されたD
MAチャネルに対応するDACK A#を発生する。こ
のDACK A#によって、DMAチャネルAを利用し
たDMA転送の開始がISA拡張カードAに通知され
る。
【0107】ここで、CPU11がタイミングT1のI
/Oライトサイクルに引続き、ISA拡張カードAにセ
ットしたI/OライトコマンドがDMACコアに正しく
反映されたか否かをチェックする目的で、DMACステ
ータスレジスタをリードするためのI/Oリードサイク
ルを開始した場合を想定する。
/Oライトサイクルに引続き、ISA拡張カードAにセ
ットしたI/OライトコマンドがDMACコアに正しく
反映されたか否かをチェックする目的で、DMACステ
ータスレジスタをリードするためのI/Oリードサイク
ルを開始した場合を想定する。
【0108】この場合、CPU11によってフレーム信
号FRAM#がアクティブにされて、I/Oリードサイ
クルが開始される。このリードサイクルのアドレスフェ
ーズでは、アドレスおよびC/BEがPCIバス2上に
出力される。ブリッジ15は、それらアドレスおよびC
/BEによって自身がターゲットとしてアドレス指定さ
れたことを検出すると、まず、DEVSEL#をアクテ
ィブにする。そして、現在のバスサイクルがDMACス
テータスレジスタの内容をリードするためのバスサイク
ルか否かに応じて、TREDY#のアクティブタイミン
グが決定される。
号FRAM#がアクティブにされて、I/Oリードサイ
クルが開始される。このリードサイクルのアドレスフェ
ーズでは、アドレスおよびC/BEがPCIバス2上に
出力される。ブリッジ15は、それらアドレスおよびC
/BEによって自身がターゲットとしてアドレス指定さ
れたことを検出すると、まず、DEVSEL#をアクテ
ィブにする。そして、現在のバスサイクルがDMACス
テータスレジスタの内容をリードするためのバスサイク
ルか否かに応じて、TREDY#のアクティブタイミン
グが決定される。
【0109】すなわち、現在のバスサイクルがDMAC
ステータスレジスタの内容をリードするためのバスサイ
クル以外であれば、破線で示されているように、DEV
SEL#のアクティブに引き続いてTREDY#が直ぐ
にアクティブにされるが、DMACステータスレジスタ
の内容をリードするためのバスサイクルであれば、所定
のウエイト期間(例えば、4クロック以上)が挿入さ
れ、その後にTREDY#がアクティブにされる。
ステータスレジスタの内容をリードするためのバスサイ
クル以外であれば、破線で示されているように、DEV
SEL#のアクティブに引き続いてTREDY#が直ぐ
にアクティブにされるが、DMACステータスレジスタ
の内容をリードするためのバスサイクルであれば、所定
のウエイト期間(例えば、4クロック以上)が挿入さ
れ、その後にTREDY#がアクティブにされる。
【0110】このため、DREQ AがDMACステー
タスレジスタに反映される時点(タイミングT2)の前
にそのステータスレジスタに対するリードサイクルが開
始されても、実際にステータスデータのリード転送が実
行されるのはタイミングT2以降となり、CPU11は
正しいステータスデータを取得する事ができる。
タスレジスタに反映される時点(タイミングT2)の前
にそのステータスレジスタに対するリードサイクルが開
始されても、実際にステータスデータのリード転送が実
行されるのはタイミングT2以降となり、CPU11は
正しいステータスデータを取得する事ができる。
【0111】ウエイト期間の値は、I/Oライトサイク
ルによってDREQ Aが発生されてからそのDREQ
AがDMACステータスレジスタに反映されるまでに
要する時間と、CPU11がI/Oライトサイクルを実
行してからステータスデータのリードサイクルを開始す
るまでの最短時間との関係に従って決定される。このた
め、常にCPU11は正しいステータスデータを取得す
る事ができる。
ルによってDREQ Aが発生されてからそのDREQ
AがDMACステータスレジスタに反映されるまでに
要する時間と、CPU11がI/Oライトサイクルを実
行してからステータスデータのリードサイクルを開始す
るまでの最短時間との関係に従って決定される。このた
め、常にCPU11は正しいステータスデータを取得す
る事ができる。
【0112】以上の説明したように、この実施形態のシ
ステムによれば、PCIバス2上のリードサイクルによ
ってPCI/ISAブリッジ装置15がカレントなター
ゲットとしてアドレス指定された時、PCIインタフェ
ース152はターゲットレディTRDY#信号線をドラ
イブすることによってそのリードサイクルに応答する。
この場合、その応答タイミングは常に一定では無く、D
MACステータスレジスタに対するリードサイクルの場
合とそれ以外の場合とでタイミングが異なっている。
ステムによれば、PCIバス2上のリードサイクルによ
ってPCI/ISAブリッジ装置15がカレントなター
ゲットとしてアドレス指定された時、PCIインタフェ
ース152はターゲットレディTRDY#信号線をドラ
イブすることによってそのリードサイクルに応答する。
この場合、その応答タイミングは常に一定では無く、D
MACステータスレジスタに対するリードサイクルの場
合とそれ以外の場合とでタイミングが異なっている。
【0113】すなわち、DMACステータスレジスタに
対するリードサイクルの場合は、DMAシリアルチャネ
ルプロトコルによるディレイを考慮してターゲットレデ
ィTRDY#信号線のドライブタイミングが、他のリー
ドサイクルよりも遅らされる。ターゲットレディTRD
Y#信号線がドライブされるまでは、リードサイクルを
開始したイニシエータとPCI/ISAブリッジ装置1
5間のデータ転送は実行されない。このため、たとえ拡
張デバイスからのDREQがステータスレジスタに反映
される前にそのステータスレジスタに対するリードサイ
クルが開始されたとしても、それによってCPU11が
DMA転送の状態を誤認識するといった事態の発生を防
止できる。したがって、信頼性の高いDMAシリアルチ
ャネルプロトコルを実現できる。
対するリードサイクルの場合は、DMAシリアルチャネ
ルプロトコルによるディレイを考慮してターゲットレデ
ィTRDY#信号線のドライブタイミングが、他のリー
ドサイクルよりも遅らされる。ターゲットレディTRD
Y#信号線がドライブされるまでは、リードサイクルを
開始したイニシエータとPCI/ISAブリッジ装置1
5間のデータ転送は実行されない。このため、たとえ拡
張デバイスからのDREQがステータスレジスタに反映
される前にそのステータスレジスタに対するリードサイ
クルが開始されたとしても、それによってCPU11が
DMA転送の状態を誤認識するといった事態の発生を防
止できる。したがって、信頼性の高いDMAシリアルチ
ャネルプロトコルを実現できる。
【0114】
【発明の効果】以上説明したように、この発明によれ
ば、拡張デバイスからのDREQがステータスレジスタ
に反映される前にそのステータスレジスタに対するリー
ドサイクルが開始されても、それによってCPUがDM
A転送の状態を誤認識するといった事態の発生を防止で
きるようになり、信頼性の高いDMA転送処理を実現す
ることが可能となる。
ば、拡張デバイスからのDREQがステータスレジスタ
に反映される前にそのステータスレジスタに対するリー
ドサイクルが開始されても、それによってCPUがDM
A転送の状態を誤認識するといった事態の発生を防止で
きるようになり、信頼性の高いDMA転送処理を実現す
ることが可能となる。
【図1】この発明の一実施形態に係るポータブルコンピ
ュータのシステム構成を示すブロック図。
ュータのシステム構成を示すブロック図。
【図2】同実施形態のシステムに設けられたDMACコ
アの構成を示すブロック図。
アの構成を示すブロック図。
【図3】図2のDMACコアを構成するユニット間の接
続関係を示すブロック図。
続関係を示すブロック図。
【図4】同実施形態のシステムに設けられたDS−PC
I/ISAブリッジ装置の構成を示すブロック図。
I/ISAブリッジ装置の構成を示すブロック図。
【図5】同実施形態のシステムに設けられたPCI−I
SAブリッジ装置内のデコーダとPCIインタフェース
との接続関係を示すブロック図。
SAブリッジ装置内のデコーダとPCIインタフェース
との接続関係を示すブロック図。
【図6】同実施形態のシステムに設けられたPCI−I
SAブリッジ装置の状態遷移の様子を示す図。
SAブリッジ装置の状態遷移の様子を示す図。
【図7】同実施形態のシステムに設けられたPCI−I
SAブリッジ装置によって実行されるステータスレジス
タリードサイクルに対する応答動作を説明するタイミン
グチャート。
SAブリッジ装置によって実行されるステータスレジス
タリードサイクルに対する応答動作を説明するタイミン
グチャート。
【図8】DMAシリアルチャネルプロトコルを採用する
ために必要となると予想されるポータブルコンピュータ
のシステム構成例を示すブロック図。
ために必要となると予想されるポータブルコンピュータ
のシステム構成例を示すブロック図。
【図9】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ブリッジ
装置、152…PCIインタフェース、153…内部デ
コーダ、156…DMACコア、1521…ISA D
MAC、1522…バスリクエストおよびグラントマネ
ージャ(RGM)、1523…内部ISA DMAルー
タ(IIDR)。
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ブリッジ
装置、152…PCIインタフェース、153…内部デ
コーダ、156…DMACコア、1521…ISA D
MAC、1522…バスリクエストおよびグラントマネ
ージャ(RGM)、1523…内部ISA DMAルー
タ(IIDR)。
Claims (3)
- 【請求項1】 PCIバスとISAバスとを繋ぐPCI
/ISAブリッジ装置と、 このPCI/ISAブリッジ装置内に設けられ、各種I
/Oデバイスからの要求に応じて直接メモリアクセス
(DMA)を実行するDMAコントローラと、 前記PCIバスに接続されたPCIバスマスタであっ
て、拡張I/Oデバイスそれぞれから出力される複数の
DMA要求信号(DREQ)の状態をシリアル情報に変
換し、そのシリアル情報を、そのPCIバスマスタに割
り当てられているバスアクセス要求信号(REQ#)線
を利用したシリアル転送サイクルによって前記DMAコ
ントローラに送信するPCIバスマスタと、 前記PCI/ISAブリッジ装置内に設けられ、前記バ
スアクセス要求信号(REQ#)線を利用したシリアル
転送サイクルによって送信されたシリアル情報を、前記
DMAコントローラに入力するための複数のDMA要求
信号(DREQ)に変換するシリアル/パラレル変換手
段と、 前記DMAコントローラに入力される複数のDMA要求
信号(DREQ)それぞれの状態を示すステータス情報
がセットされるステータスレジスタとを具備し、 前記PCI/ISAブリッジ装置は、 前記PCIバス上で実行されるリードサイクルが前記ス
テータスレジスタの内容をリードするためのリードサイ
クルか否かを検出するデコード手段と、 前記PCIバス上で実行されるリードサイクルによって
前記PCI/ISAブリッジ装置がアドレス指定された
時、前記PCIバス上に定義されたターゲットレディー
信号線(TRDY#)をドライブして前記リードサイク
ルに応答するPCIインタフェース手段であって、前記
PCIバス上の現在のリードサイクルが前記ステータス
レジスタの内容をリードするためのリードサイクルであ
ることが前記デコード手段によって検出された時、その
リードサイクルに対する応答タイミングが前記ステータ
スレジスタ以外の他のデバイスがアクセスされる場合の
応答タイミングよりも遅延されるように、前記ターゲッ
トレディー信号線(TRDY#)をドライブするタイミ
ングに所定のウエイト期間を挿入するPCIインタフェ
ース手段とを具備することを特徴とするコンピュータシ
ステム。 - 【請求項2】 前記ステータスレジスタは前記DMAコ
ントローラのDMAチャネル毎に設けられ、各ステータ
スレジスタには、DMA要求信号(DREQ)の状態と
転送終了(TC)の有無を示すステータス情報が含まれ
ていることを特徴とする請求項1記載のコンピュータシ
ステム。 - 【請求項3】 プログラム可能に構成され、前記ターゲ
ットレディー信号線(TRDY#)をドライブするタイ
ミングを遅延させるためのウエイト期間を規定するウエ
イト情報がセットされるレジスタをさらに具備し、 前記PCIインタフェース手段は、前記ウエイト情報に
よって規定される時間だけ、前記ターゲットレディー信
号線(TRDY#)のドライブタイミングを遅延させる
ことを特徴とする請求項1記載のコンピュータシステ
ム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7205683A JPH0954746A (ja) | 1995-08-11 | 1995-08-11 | コンピュータシステム |
| US08/694,676 US5774681A (en) | 1995-08-11 | 1996-08-09 | Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7205683A JPH0954746A (ja) | 1995-08-11 | 1995-08-11 | コンピュータシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0954746A true JPH0954746A (ja) | 1997-02-25 |
Family
ID=16510975
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7205683A Pending JPH0954746A (ja) | 1995-08-11 | 1995-08-11 | コンピュータシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5774681A (ja) |
| JP (1) | JPH0954746A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002222161A (ja) * | 2001-01-26 | 2002-08-09 | Fujitsu Ltd | 半導体装置、及びデータ転送方法 |
| AU751695B2 (en) * | 2000-02-14 | 2002-08-22 | Mobility Electronics, Inc. | Docking system and method |
| CN113778934A (zh) * | 2021-11-15 | 2021-12-10 | 伟恩测试技术(武汉)有限公司 | 基于PCIe的高速实时传输系统 |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5898895A (en) * | 1996-10-10 | 1999-04-27 | Unisys Corporation | System and method for controlling data transmission rates between circuits in different clock domains via selectable acknowledge signal timing |
| US5913043A (en) * | 1997-07-31 | 1999-06-15 | Advanced Micro Devices, Inc. | State machine based bus bridge performance and resource usage monitoring in a bus bridge verification system |
| US6154801A (en) * | 1997-07-31 | 2000-11-28 | Advanced Micro Devices, Inc. | Verification strategy using external behavior modeling |
| US5930482A (en) * | 1997-07-31 | 1999-07-27 | Advanced Micro Devices, Inc. | Transaction checking system for verifying bus bridges in multi-master bus systems |
| US6256689B1 (en) * | 1998-06-11 | 2001-07-03 | Adaptec, Inc. | Bus system expandable by connection of a bus bridge circuit |
| US6167477A (en) * | 1998-06-15 | 2000-12-26 | Sun Microsystems, Inc. | Computer system bridge employing a resource control mechanism with programmable registers to control resource allocation |
| US7734852B1 (en) | 1998-08-06 | 2010-06-08 | Ahern Frank W | Modular computer system |
| US6088752A (en) * | 1998-08-06 | 2000-07-11 | Mobility Electronics, Inc. | Method and apparatus for exchanging information between buses in a portable computer and docking station through a bridge employing a serial link |
| US6070214A (en) * | 1998-08-06 | 2000-05-30 | Mobility Electronics, Inc. | Serially linked bus bridge for expanding access over a first bus to a second bus |
| US6567881B1 (en) | 1998-09-11 | 2003-05-20 | Tundra Semiconductor Corporation | Method and apparatus for bridging a digital signal processor to a PCI bus |
| US20030110317A1 (en) * | 1998-11-03 | 2003-06-12 | Jasmin Ajanovic | Method and apparatus for an improved interface between a memory control hub and an input/output control hub |
| US6219737B1 (en) | 1998-12-10 | 2001-04-17 | International Business Machines Corporation | Read request performance of a multiple set buffer pool bus bridge |
| US6532511B1 (en) | 1999-09-30 | 2003-03-11 | Conexant Systems, Inc. | Asochronous centralized multi-channel DMA controller |
| US7039047B1 (en) | 1999-11-03 | 2006-05-02 | Intel Corporation | Virtual wire signaling |
| DE10019239B4 (de) * | 2000-04-18 | 2008-09-04 | Fujitsu Siemens Computers Gmbh | Datenverarbeitungseinrichtung mit einer Schaltungsanordnung zur Verbindung eines ersten Kommunikationsbusses mit einem zweiten Kommunikationsbus |
| US6594719B1 (en) | 2000-04-19 | 2003-07-15 | Mobility Electronics Inc. | Extended cardbus/pc card controller with split-bridge ™technology |
| US20020144037A1 (en) * | 2001-03-29 | 2002-10-03 | Bennett Joseph A. | Data fetching mechanism and method for fetching data |
| US20040003145A1 (en) * | 2002-06-27 | 2004-01-01 | Eyal Schneiderman | Method and apparatus to transfer information |
| US7525957B2 (en) * | 2005-09-01 | 2009-04-28 | Emulex Design & Manufacturing Corporation | Input/output router for storage networks |
| TW201344445A (zh) * | 2012-04-27 | 2013-11-01 | Sunix Co Ltd | 可分配低階輸入輸出埠其介面位址的pci介面裝置 |
| US20260037460A1 (en) * | 2024-07-31 | 2026-02-05 | Nxp Usa, Inc. | Dedicated direct memory access router system and method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5673400A (en) * | 1995-06-06 | 1997-09-30 | National Semiconductor Corporation | Method and apparatus for identifying and controlling a target peripheral device in a multiple bus system |
-
1995
- 1995-08-11 JP JP7205683A patent/JPH0954746A/ja active Pending
-
1996
- 1996-08-09 US US08/694,676 patent/US5774681A/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU751695B2 (en) * | 2000-02-14 | 2002-08-22 | Mobility Electronics, Inc. | Docking system and method |
| JP2002222161A (ja) * | 2001-01-26 | 2002-08-09 | Fujitsu Ltd | 半導体装置、及びデータ転送方法 |
| CN113778934A (zh) * | 2021-11-15 | 2021-12-10 | 伟恩测试技术(武汉)有限公司 | 基于PCIe的高速实时传输系统 |
| CN113778934B (zh) * | 2021-11-15 | 2022-02-08 | 伟恩测试技术(武汉)有限公司 | 基于PCIe的高速实时传输系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5774681A (en) | 1998-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0954746A (ja) | コンピュータシステム | |
| US6226700B1 (en) | Computer system with bridge logic that includes an internal modular expansion bus and a common master interface for internal master devices | |
| US5664197A (en) | Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller | |
| US5805842A (en) | Apparatus, system and method for supporting DMA transfers on a multiplexed bus | |
| US4851990A (en) | High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure | |
| US5450551A (en) | System direct memory access (DMA) support logic for PCI based computer system | |
| US5729762A (en) | Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent | |
| JPH11513150A (ja) | Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ | |
| JPH01205366A (ja) | データを転送するための方法およびそのためのデータ転送制御器 | |
| WO1996000940A1 (en) | Pci to isa interrupt protocol converter and selection mechanism | |
| US5796968A (en) | Bus arbiter used in a computer system | |
| US7089339B2 (en) | Sharing of functions between an embedded controller and a host processor | |
| US6101566A (en) | Computer system with bridge logic that includes an internal modular expansion bus and a common target interface for internal target devices | |
| JPH10293744A (ja) | Pciバス・システム | |
| US6567881B1 (en) | Method and apparatus for bridging a digital signal processor to a PCI bus | |
| JPH0198048A (ja) | 周辺装置制御装置およびアダプタ・インターフェース | |
| US5559968A (en) | Non-conforming PCI bus master timing compensation circuit | |
| JPH0916406A (ja) | コンピュータシステム | |
| US5968144A (en) | System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information | |
| US5937206A (en) | System for converting states of DMA requests into first serial information and transmitting information to first bus whenever a state change of a request | |
| US6490638B1 (en) | General purpose bus with programmable timing | |
| US5878239A (en) | Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge | |
| US6721833B2 (en) | Arbitration of control chipsets in bus transaction | |
| 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 |