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

コンピュータシステム

Info

Publication number
JPH0954747A
JPH0954747A JP7205685A JP20568595A JPH0954747A JP H0954747 A JPH0954747 A JP H0954747A JP 7205685 A JP7205685 A JP 7205685A JP 20568595 A JP20568595 A JP 20568595A JP H0954747 A JPH0954747 A JP H0954747A
Authority
JP
Japan
Prior art keywords
bus
dma
pci
signal
lock
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
Application number
JP7205685A
Other languages
English (en)
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 JP7205685A priority Critical patent/JPH0954747A/ja
Priority to US08/702,430 priority patent/US5850529A/en
Publication of JPH0954747A publication Critical patent/JPH0954747A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】ターゲットリトライの発生によるDMA転送の
誤動作を防止できるようにし、DMA転送処理の信頼性
の向上を図る。 【解決手段】ISA DMAC1521は、内部PCI
バス2がリソースロック状態か否かを検出し、リソース
ロック状態でないときにのみDACK#を発行して、D
MA転送サイクルを開始する。このため、DMA転送の
ためのバスサイクル中にターゲットリトライが発生して
も、それはリソースロック以外の原因となる。よって、
ターゲットリトライによってISA DMAC1521
がバス使用権を解放しなくても、それによってメモリデ
バイスが永久にロックされてしまうなどの不具合は発生
しないので、ターゲットリトライの発生によるDMA転
送の誤動作を防止することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータシス
テムに関し、特にトランザクションを開始したバスマス
タに対してそのトランザクションのリトライおよびバス
解放を指示する機能を持つコンピュータシステムに関す
る。
【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バスの仕様はDMA転送
をサポートしてないため、従来のISAデバイスをその
PCIバスシステムで使用できるようにするためには、
DMAC(直接メモリアクセスコントローラ)を設ける
ことが必要となる。
【0007】
【発明が解決しようとする課題】しかし、PCIバスシ
ステムにDMACを設けた場合には、PCIバスシステ
ムアーキテクチャの特徴の1つであるターゲットリトラ
イによって、正常なDMA転送が損なわれる危険があ
る。
【0008】すなわち、PCIバスシステムにおいて
は、ターゲットが現在のトランザクションに応答できな
い場合、そのトランザクションを開始したイニシエータ
に対してリトライおよびトランザクションの終結が通知
される。このようなターゲットリトライは、ターゲット
に指定されたメモリなどのデバイスが他のバスマスタに
よる排他的アクセスのためにロックされている時や、O
S管理下で排他的に使用されているとき、あるいはDR
AMリフレッシュ時などに発生する。リトライが通知さ
れたイニシエータ、つまりバスマスタは、PCIバスを
解放しなければならない。リトライが通知された時の通
常のバスマスタの動作は図8の通りである。
【0009】すなわち、バスマスタは、バスアクセス要
求信号REQ#を出力してPCIバスアービタにバス使
用権を要求し、PCIバスアービタからバス使用許可を
示す信号GNT#が与えられるのを待つ。GNT#を受
け取ると、バスマスタはフレーム信号FRAM#をアク
ティブにしてトランザクションを開始する。
【0010】この時、バスマスタから出力されたアドレ
スによって指定されたターゲットがそのトランザクショ
ンに応答できない場合には、そのターゲットによってP
CIバス上のターゲットレディー信号TRDY#、スト
ップ信号STOP#、およびデバイスセレクト信号DE
VSEL#は図示のように“H”、“L”、“L”に設
定され、これによってバスマスタにリトライが通知され
る。
【0011】バスマスタは、REQ#をインアクティブ
にしてGNT#を無効化し、PCIバスを一旦解放す
る。これにより、他のバスマスタによるPCIバスの使
用が可能となる。リトライが通知されてから一定期間経
過した時、バスマスタは終結されたトランザクションを
リトライする。このトランザクションにおいてターゲッ
トリトライが発生しなければ、バスマスタとターゲット
間のデータ転送が正常に実行される。必要な全てのデー
タ転送(図においては、2回のデータ転送)が完了する
と、バスマスタはREQ#をインアクティブにしてPC
Iバスを解放する。
【0012】しかし、DMACがバスマスタとして動作
しているときは、ターゲットリトライによってPCIバ
スを一旦解放してしまうと、DMA転送を要求したIS
Aデバイスに対するDMAアクノリッジが予期しないタ
イミングで落ちてしまい、これによって正常なDMA転
送が損なわれてしまう。
【0013】この問題は、ターゲットリトライが発生し
てもDMACがPCIバスを解放しないようにすれば、
解決することができる。ところが、ターゲットリトライ
の原因が他のバスマスタによるロックであった場合、も
しDMACがPCIバスを解放しないと、DMA転送が
永久に実行不可能となってしまう。なぜなら、DMAC
がPCIバスを獲得している限り、他のバスマスタがロ
ックを解放するためのアクセスを実行できないからであ
る。
【0014】この発明はこのような点に鑑みてなされた
もので、ターゲットリトライの発生によるDMA転送の
誤動作を防止できるようにし、DMA転送処理の信頼性
の向上を図ることができるコンピュータシステムを提供
することを目的とする。
【0015】
【課題を解決するための手段】この発明によるコンピュ
ータシステムは、リソースに対するアクセスが排他的に
実行されているか否かを示すロック信号(LOCK#)
線が定義されたPCIバスと、前記PCIバス上に定義
され、バスマスタ毎に1組ずつ割り当てられているバス
アクセス要求信号(REQ#)およびバスアクセス許可
信号(GNT#)を利用してバスアクセスを調停するバ
スアービタ(PBA)と、前記PCIバスに結合され、
直接メモリアクセス(DMA)のためのトランザクショ
ンを実行するDMAコントローラであって、DMA転送
要求に応答して前記バスアクセス要求信号(REQ#)
を発生することによって前記バスアービタにバス使用権
を要求し、前記バスアービタからのバスアクセス許可信
号(GNT#)の受信に応答して前記DMA転送のため
のトランザクションを開始するDMAコントローラとを
具備し、前記DMAコントローラには、前記ロック信号
(LOCK#)を利用して前記PCIバスがリソースロ
ック状態か否かを検出し、リソースロック状態のときに
前記DMA転送のためのトランザクションの開始を禁止
するリソースロック検出手段と、前記DMA転送のため
のトランザクション実行期間中にそのトランザクション
によってアドレス指定された前記PCIバス上のターゲ
ットからリトライが通知されたとき、前記PCIバスが
解放されないように前記バスアクセス要求信号(REQ
#)を出力し続けた状態で、前記トランザクションを所
定時間経過後にリトライするリトライ手段とを具備する
ことを特徴とする。
【0016】このコンピュータシステムにおいては、D
MAコントローラは、PCIバスがリソースロック状態
か否か、つまりPCIバス上に他のバスマスタによって
ロック状態にされているリソースが存在するか否かを検
出し、リソースロック状態のときはDMA転送のための
トランザクションは実行されず、PCIバスがリソース
ロック状態でないときのみDMA転送のためのトランザ
クションが実行される。このため、DMA転送のための
トランザクション中に発生するリトライは、リソースロ
ック以外の原因によるターゲットリトライのみである。
よって、ターゲットリトライによってDMAコントロー
ラがバス使用権を解放しなくても、それによってメモリ
デバイスが永久にロックされてしまうなどの不具合は発
生しない。したがって、ターゲットリトライの発生によ
るDMA転送の誤動作を防止することができる。
【0017】また、リソースロック状態のときに、DM
Aコントローラからのバスアクセス要求信号(REQ
#)の発生そのものを禁止するように構成しても良い。
この場合でも、DMA転送のためのトランザクションは
実行されないので、ターゲットリトライの発生によるD
MA転送の誤動作を防止することができる。
【0018】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係わるコンピュータシステムの構成が示されている。
このコンピュータシステムは、PCIバスシステムを採
用したノートブックタイプまたはラップトップタイプの
ポータブルパーソナルコンピュータであり、そのシステ
ムボード上には3種類のバス、つまりプロセッサバス
1、内部PCIバス2、および内部ISAバス3が配設
されており、またこのポータブルパーソナルコンピュー
タ本体のDSコネクタに接続可能なドッキングステーシ
ョン内には、外部PCIバス4と外部ISAバス5が配
設されている。
【0019】システムボード上には、CPU11、ホス
ト/PCIブリッジ装置12、システムメモリ13、各
種PCIマスターデバイス14、内部PCI−ISAブ
リッジ装置15、PCI−DS(DS:ドッキングステ
ーション)ブリッジ装置16、PCカードコントローラ
17、PCI DMAデバイス18などが設けられてい
る。また、ドッキングステーション内には、DS−PC
I/ISAブリッジ装置20が設けられている。
【0020】CPU11は、例えば、米インテル社によ
って製造販売されているマイクロプロセッサ“Pent
ium”などによって実現されている。このCPU11
の入出力ピンに直結されているプロセッサバス1は、6
4ビット幅のデータバスを有している。
【0021】システムメモリ13は、オペレーティング
システム、デバイスドライバ、実行対象のアプリケーシ
ョンプログラム、および処理データなどを格納するメモ
リデバイスであり、複数のDRAMによって構成されて
いる。このシステムメモリ13は、32ビット幅または
64ビット幅のデータバスを有する専用のメモリバスを
介してホスト−PCIブリッジ装置12に接続されてい
る。メモリバスのデータバスとしてはプロセッサバス1
のデータバスを利用することもできる。この場合、メモ
リバスは、アドレスバスと各種メモリ制御信号線とから
構成される。
【0022】ホスト/PCIブリッジ装置12は、プロ
セッサバス1と内部PCIバス2との間を繋ぐブリッジ
LSIであり、PCIバス2のバスマスタの1つとして
機能する。このホスト/PCIブリッジ装置12は、プ
ロセッサバス1と内部PCIバス2との間で、データお
よびアドレスを含むバスサイクルを双方向で変換する機
能、メモリバスを介してシステムメモリ13のアクセス
制御する機能、およびシステムメモリ13を排他的に使
用するためのロッキング機能などを有している。このロ
ッキング機能は、PCIバス2上のバスマスタや、CP
U11などによって使用される。
【0023】内部PCIバス2はクロック同期型の入出
力バスであり、内部PCIバス2上の全てのサイクルは
PCIバスクロックに同期して行なわれる。PCIバス
クロックの周波数は最大33MHzである。PCIバス
2は、時分割的に使用されるアドレス/データバスを有
している。このアドレス/データバスは、32ビット幅
である。
【0024】PCIバス2上のデータ転送サイクルは、
アドレスフェーズとそれに後続する1以上のデータフェ
ーズとから構成される。アドレスフェーズにおいてはア
ドレスおよび転送タイプが出力され、データフェーズで
は8ビット、16ビット、または32ビットのデータが
出力される。
【0025】PCIバス2上には、データ転送のターゲ
ットに指定されたデバイスに対するアクセスが排他的に
実行されている(リソースロック)か否かを示すロック
信号LOCK#が定義されている。排他的に使用されて
いるロック中のターゲット以外のターゲットに対するア
クセスは、他のバスマスタに許可される。
【0026】また、現在のトランザクション(アドレ
ス、およびデータフェーズ)にターゲットが応答できな
いときは、ターゲットリトライが発生され、そのトラン
ザクションを開始したバスマスタに対してそのトランザ
クションのリトライおよびバスの解放が指示される。
【0027】PCIマスターデバイス14は、ホスト/
PCIブリッジ装置12と同様にPCIバス2のバスマ
スタの1つであり、イニシエータまたはターゲットとし
て動作する。PCIバス2上の全てのデバイスは、たと
えバスマスタとしての機能を持たなくても、ターゲット
としては動作する。ターゲットとは、バスマスタ、つま
りトランザクションを開始したイニシエータによってア
ドレス指定されたリソースを意味している。
【0028】内部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スレーブである。
【0029】この内部PCI−ISAブリッジ装置15
には、PCIバスアービタ(PBA)151、DMAC
コア(MPPDMA)152、および内部ISAバスブ
リッジ(IIBB)153が内蔵されている。
【0030】PCIバスアービタ(PBA)151は、
内部PCIバス2に結合される全てのバスマスタデバイ
ス間でバス使用権の調停を行う。この調停には、バスマ
スタデバイス毎に1ペアずつ割り当てられる内部PCI
バス2上の信号線(バスリクエスト信号REQ#線、グ
ラント信号GNT#線)が用いられる。
【0031】バスリクエスト信号REQ#は、それに対
応するデバイスが内部PCIバス2の使用を要求してい
ることをPCIバスアービタ(PBA)151に通知す
るための信号である。グラント信号GNT#は、バスリ
クエスト信号REQ#を発行したデバイスに、バス使用
を許可することを通知する信号である。
【0032】また、このシステムでは、内部PCIバス
2上に定義された複数組のREQ#,GNT#線のう
ち、所定の1組のREQ#,GNT#線は、DMAスレ
ーブ等との間でDREQ,DACK#を授受するDMA
シリアルチャネルプロトコルの実現のために使用され
る。
【0033】PCIバスアービタ(PBA)151に
は、内部PCIバス2上のほとんど全てのバスリクエス
ト信号REQ#線およびグラント信号GNT#線が接続
されており、バス使用権の調停はそのPCIバスアービ
タ(PBA)151によって集中的に制御される。
【0034】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は使用されず、他のブロックだ
けが動作する。
【0035】ISA DMAC1521、バスリクエス
トおよびグラントマネージャ(RGM)1522、およ
び内部ISA DMAルータ(IIDR)1523の具
体的な接続関係を図2に示す。
【0036】ISA DMAC1521は、内部PCI
バス2に接続されたバスマスタの1であり、DMA転送
を必要とするデバイス(DMAスレーブなど)からの要
求に応じてDMA転送を実行する。
【0037】DMAスレーブは、論理的には内部PCI
バス2に接続されている(実際には、ブリッジ15また
は20経由で内部ISAバス3または外部ISAバス5
に接続されている場合がほとんどである)。
【0038】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シリアル
チャネルプロトコルによって行われる。
【0039】ISA DMAC1521は内部PCIバ
ス2に接続され、またDMA転送を要求するデバイスは
内部ISAバス3または外部ISAバス5に接続されて
いるため、ISA DMAC1521によるDMA転送
では、リードサイクル(I/Oリードまたはメモリリー
ド)とライトサイクル(メモリライトまたはI/Oライ
ト)とは、時間的に同時には発生しない。すなわち、ま
ずリードサイクルが行われ、そのときのリードデータが
ISA DMAC1521内のバッファにラッチされ
る。つぎに、ライトサイクルが実行され、さきほどラッ
チしておいたデータがライトデータとして出力される。
【0040】リードサイクル、ライトサイクルとも、メ
モリ、I/Oを問わず、内部PCIバス2上で発生さ
れ、必要な場合はその内部PCIバス2上のバスサイク
ルがブリッジ装置15、または20によってISAバス
サイクルに変換される。すなわち、ISA DMAC1
521は、メモリサイクルとDMA専用I/Oサイクル
のどちらもPCIバス2上に発生し、ISAバスサイク
ルについては関知しない。
【0041】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のどちらに
も接続されない。
【0042】ISA DMAC1521は、DMAチャ
ンネル毎に1ペアずつ用意された内部DREQ0〜7お
よびDACK#0〜7を用いて、DMAチャネルの調停
を行う。内部DREQは、DMAスレーブが、ISA
DMAC1521にDMA転送の実行を要求しているこ
とを通知するために使用されるDMAリクエスト信号で
ある。DACK#は、ISA DMAC1521がDM
A転送を要求したDMAスレーブに対してDMAサイク
ルが実行されることを通知するためのDMAアクノリッ
ジ信号である。
【0043】DMAチャネルの割り当ては、内部ISA
バス3上のデバイスと外部ISAバス5上のデバイスと
の間で排他的に行われる。各デバイスは、それに割り当
てられたDMAチャネルに対応するDREQ、DACK
#を用いてISA DMAC1521と送受信する。
【0044】この場合、外部ISAバス5上のデバイス
とISA DMAC1521との間のDREQおよびD
ACK#の送受信は、1組のシリアルREQ#,シリア
ルGNT#信号線(以下、シリアルREQ#,シリアル
GNT#と称する)を使用したDMAシリアルチャネル
プロトコルに従って実行される。
【0045】DMAシリアルチャネルプロトコルは、ド
ッキングステーションに導出すべき信号線数を抑制し、
且つPCI拡張カードとISA拡張カードの双方を利用
できるようにするためのものである。
【0046】このDMAシリアルチャネルプロトコルで
は、シリアルREQ#によってDS−PCI/ISAブ
リッジ装置20から最新のDREQの状態が送信され、
それがRGM1522に送られる。RGM1522で
は、シリアルREQ#が分解されてISA DMAC1
521への内部DREQ0〜7に変換される。
【0047】また、ISA DMAC1521から出力
される内部DACK#0〜7によって指定されるDMA
転送対象のチャネル情報は、RGM1522が実行する
シリアルGNT#信号線を利用したシリアルデータ転送
によって、DS−PCI/ISAブリッジ装置20に送
られる。
【0048】ISA DMAC1521は、RGM15
22およびIIDR1523から提供される最新のDR
EQチャンネル情報に基づき、DREQチャンネルマス
クの設定および調停方式の設定に従って、82C37互
換の、DREQチャンネル間調停を行う。有効なDMA
要求(DREQ)があれば、自身に割り当てられている
REQ#をアクティブにしてPCIバスアービタ(PB
A)151に対してバス使用権を要求し、PBA151
からGNT#が与えられるのを待つ。
【0049】PBA151からGNT#が与えられる
と、ISA DMAC1521は、まず、内部PCIバ
ス2が現在リソースロック状態であるか否かを検出す
る。この検出は、ISA DMAC1521内に設けら
れているリソースロック検出ロジックによって行われ
る。
【0050】すなわち、リソースロック検出ロジック
は、内部PCIバス2上に定義されたLOCK#、およ
びFRAME#信号を常時モニタしており、それら信号
の状態に応じてリソースロック状態であるか否かを決定
する。LOCK#は、内部PCIバス2上のリソースに
対して排他的なアクセスが実行されているか否かを示す
インタフェース制御信号である。LOCK#は、例えば
システムメモリ13の排他的アクセスを必要とするイニ
シエータなどによって利用される。FRAME#は、ト
ランザクションの開始および期間を示す信号であり、そ
の発生はイニシエータによって制御される。
【0051】ここで、図3を参照して、リソースロック
の検出方法について説明する。図3の状態遷移図から分
かるように、PCIバス2はリソースロック状態と非ロ
ック状態の2つの状態を有しており、イニシエータによ
ってLOCK#が“0”に設定されると、非ロック状態
からリソースロック状態に遷移する。リソースロック状
態は、LOCK#が“0”、またはFRAME#が
“0”である限り維持される。LOCK#とFRAME
#が共に“1”に設定された時、PCIバス2はリソー
スロック状態から非ロック状態に遷移する。非ロック状
態は、LOCK#が“1”で有る限り維持される。な
お、PCIバスシステムにおけるリソースロックの詳細
については、文献(“PCI Local Bus S
pecification”1994 10月21 P
P68〜69 PCI Special intere
st Group著)に記載されている。
【0052】リソースロック検出ロジックは、LOCK
#、およびFRAME#が共にインアクティブ“1”で
あれば、内部PCIバス2はリソースロック状態でない
(リソースロックされたターゲットが存在しない)と判
断し、それ以外の場合はリソースロック状態であると判
断する。
【0053】リソースロックが検出された場合のISA
DMAC1521の動作タイミングを図4に示す。図
4に示されているように、PBA151からGNT#が
与えられると、ISA DMAC1521は、リソース
ロック検出ロジックに対してPCIバス2が現在リソー
スロック状態か否かを問い合わせる。リソースロック検
出ロジックは、LOCK#およびFRAME#を利用し
て図3で説明したようなステータスの遷移状態を管理し
ており、問い合わせがあった時に、PCIバス2がリソ
ースロック状態であれば、それを通知して、ISA D
MAC1521がDMA転送のためのトランザクション
を実行するのを禁止する。具体的には、リソースロック
検出ロジックは、ISA DMAC1521からのDA
CK#出力、およびFRAME#出力を禁止すると共
に、REQ#をインアクティブにしてGNT#を無効化
する。
【0054】リソースロックで無い場合のISA DM
AC1521の動作タイミングは図5の通りである。す
なわち、リソースロック検出ロジックは、PCIバス2
が現在リソースロック状態でないことを検出した時(L
OCK#=“1”、FRAME#=“1”)は、ISA
DMAC1521によるDMAトランザクションの実
行が許可される。すなわち、ISA DMAC1521
は、調停の結果選択したDMAチャンネル番号に対応す
る内部DACK#をアクティブにして、DMA転送対象
のDMAチャンネル番号をRGM1522とIIDR1
523へ返す。そして、ISADMAC1521は、F
RAME#をアクティブにして、選択されたDMAチャ
ンネルのセットアップ情報によって規定されるDMA転
送モード(シングル転送モード、ブロック転送モード、
デマンド転送モード、カスケードモード)に対応するD
MAバスサイクルを実行する。この場合、ISA DM
AC1521は、前述したようにメモリ、I/Oサイク
ルとも、PCIバス2のバスサイクルのみをサポート
し、ISAバスのバスサイクルについてはブリッジ装置
15または20によってエミュレートされる。
【0055】PCIバス2上に発生したメモリサイクル
はホスト−PCIブリッジ12によってDRAMアクセ
スサイクルに変換されて、システムメモリ13のリード
/ライトアクセスが実行される。
【0056】このように、ISA DMAC1521
は、PCIバス2のロック状態を管理しており、PCI
バス2がリソースロック状態でない、つまりリソースロ
ックされたターゲットが存在しないときにのみ、DAC
K#をアクティブにしてDMA転送を開始するように構
成されている。
【0057】また、ISA DMAC1521は、DM
A転送のためのトランザクション実行中は内部PCIバ
ス2上の信号TRDY#,STOP#,DEVSEL#
をモニタし、それら信号の組み合わせによって(TRD
Y#=インアクティブ、STOP#=アクティブ,DE
VSEL#=アクティブ)、ターゲットからリトライが
通知されたことを検出する。たとえば、ホスト−PCI
ブリッジ12がOSなどのソフトウェアによってロック
された場合などには、ホスト−PCIブリッジ12がI
SA DMAC1521のトランザクションに応答でき
ないため、ホスト−PCIブリッジ12からISA D
MAC1521にリトライが通知される。
【0058】ここで、TRDY#は、ターゲットが現在
のデータフェーズを完了してレディー状態になったこと
を通知するための信号である。STOP#は、ターゲッ
トがイニシエータに対して現在のドランザクションの停
止を要求するために使用される信号である。DEVSE
L#は、アドレス指定されたターゲットから出力される
信号であり、ターゲットが選択されたことを示す。
【0059】ターゲットリトライを検出した時、ISA
DMAC1521は、適当な時間待ってから、ターゲ
ットリトライによって終結されたバスサイクルと同じバ
スサイクルをリトライする。ただし、ISA DMAC
1521は、内部PCIバス2を解放しない。つまり、
ISA DMAC1521は、ターゲットリトライによ
って実行中のバスサイクルが終了されてもREQ#をア
クティブ状態にしたままリトライを行う。これは、DM
Aスレーブとシステムメモリ13との間のDMA転送を
正常に完了するためである。OSによるメモリデバイス
の排他アクセスが終了していれば、リトライは成功す
る。
【0060】図6には、ターゲットリトライが発生した
時のISA DMAC1521の動作タイミングが示さ
れている。ISA DMAC1521は、REQ#を出
力してPBA151にバス使用権を要求し、PBA15
1からGNT#が与えられるのを待つ。GNT#を受け
取ると、ISA DMAC1521は、FRAM#をア
クティブにしてトランザクションを開始する。
【0061】この時、ISA DMAC1521から出
力されたアドレスによって指定されたターゲット(例え
ば、ブリッジ12)がそのトランザクションに応答でき
ない場合には、そのターゲットによってPCIバス2上
のTRDY#、STOP#、およびDEVSEL#は図
示のように“H”、“L”、“L”に設定され、これに
よってISA DMAC1521にリトライが通知され
る。
【0062】ISA DMAC1521は、REQ#を
アクティブ状態にしたままバスサイクルを一旦終結し、
そしてリトライが通知されてから一定期間経過した時、
終結されたバスサイクルと同じバスサイクルをリトライ
する。このバスサイクルにおいてターゲットリトライが
発生しなければ、ISA DMAC1521とターゲッ
ト間のデータ転送が正常に実行される。必要な全てのデ
ータ転送(図においては、2回のデータ転送)が完了す
ると、ISA DMAC1421はREQ#をインアク
ティブにしてPCIバス2を解放する。
【0063】次に、図1のRGM1522について説明
する。RGM1522は、複数のDMAチャネルをシリ
アル化して転送するというDMAシリアルチャネルプロ
トコルに関する処理を行うために設けられたものであ
り、DMAシリアルチャネルプロトコルと、ISA D
MAC1521に対するISAスタイルのDREQ/D
ACK#プロトコルとの間の変換を行う。
【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#プロトコルとの
間の変換も行う。
【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は、内部PC
Iバス2上のエージェントであり、DMAシリアルチャ
ネルプロトコルをサポートしている。このPCカードコ
ントローラ17によって制御されるPCカード61,6
2がDMA転送を要求した時、そのDMA要求すなわち
DREQは、シリアルREQ#よってRGM1522に
送信される。また、RGM1522からのシリアルGN
T#はPCカードコントローラ17によってDACK#
に分解されて、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
およびPCIDMA18等と同じく、PCIバス2上の
エージェントであり、且つ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が設けられている。これらの接続関係を図7に示
す。
【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】このシステムのDMAシリアルチャンネル
プロトコルでは、PCIマスタ用に割り当てられたフレ
ームはチャネル4だけである。このため、外部PCIバ
ス4上に複数のPCIマスタが存在する場合には、それ
ら複数のPCIマスタからのREQ#間の調停もLBA
203によって行われる。
【0087】EIDR204は、プログラムされたマッ
ピング情報にしたがって、外部ISAバス5上のISA
マスタ51およびDMAスレーブ52,53それぞれに
マッピングされるDMAチャネルを変更する。このEI
DR204と前述のIIDR1523との共同作用によ
り、内部ISAバス3上のデバイスと外部ISAバス5
上のデバイスとにDMAチャネルを排他的に割り当てる
ことができる。
【0088】EIDR204は、ISAマスタ51およ
びDMAスレーブ52,53それぞれからのDREQ信
号の状態を、マッピング情報に従って、それらデバイス
のDMAチャネル番号に対応するDREQ信号に変換し
てLBA203に伝える。また、EIDR204は、L
BA203からのDACK#を、マッピング情報に従っ
て、ISAマスタ51およびDMAスレーブ52,53
が実際に使用しているDACK#に変換して、外部IS
Aバス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チャンネ
ルは決定しない。 (3)内部PCIバス使用権の獲得 ISA DMAC1521は、PBA151からのGN
T#を獲得すると、内部PCIバス2がリソースロック
状態か否かを調べる、リソースロック状態のときは、D
ACK#は出力されず、またREQ#がインアクティブ
にされてGNT#が無効化される。 (4)DACK#アサート リソースロック状態でなければ、ISA DMAC15
21は、DACK#を与えるDMAチャンネルを決定す
る。DACK#を、RGM1522とIIDR1523
へ送る。DACK#をアクティブにした時点で、DMA
チャンネルが固定される。そして、ISA DMAC1
521は、必要なDMA転送(一般的に、複数回のPC
Iバスサイクルが発生)がすべて終了するまで、バス使
用要求REQ#を出し続ける。途中で、ターゲットリト
ライによるバスサイクル終了があっても、バスを解放し
ない。
【0090】リトライする時は、再度PCIバス2のロ
ック状態を調べ、ロック状態であれば、DACK#は出
力されず、またREQ#がインアクティブにされてGN
T#が無効化される。 (5)バスサイクルの発生とその繰り返し ISA DMAC1521は、DACK#をアサートし
てから、内部PCIバス2にバスサイクルを発生する。
ただし、選択されたDMAチャンネルが、カスケードモ
ードにプログラムされている場合は、バスサイクルは発
生しない。
【0091】バスサイクルの種類は、選択されたDMA
チャンネルのモードレジスタの内容(転送タイプ)によ
り、ライト転送、リード転送、ベリファイ転送の3種類
に分類される。
【0092】ここでは、ライト転送(I/Oリード→メ
モリライト)について具体的に説明する。ライト転送
は、次の2つのバスサイクルを1組とし、それを必要回
数繰り返すことによって実行される。
【0093】・DMA専用I/Oサイクル(リード) ・メモリライトサイクル DMA専用I/Oサイクル(リード)は、標準のPCI
バスのI/Oリードサイクルと全く同じである。ただ
し、I/Oアドレスが特別の意味を持つ。
【0094】I/Oアドレスは、 00000000h…TCなし 00000004h…TCあり のいづれかである。このアドレスは、82C37(DM
AC)に割り当てられており、ISA DMAC152
1以外のターゲットが応答することはない。TCは転送
カウント値が尽きた事、つまり転送終了を示す信号であ
る。
【0095】I/Oターゲットとなるエージェントは、
DACK#をもらっている経路にあるすべてのブリッジ
である。例えば、シリアルGNT#によって外部ISA
バス5上のDMAスレーブにDACK#が与えられた場
合には、PCI−DSブリッジ16、およびDS−PC
I/ISAブリッジ20のEIBB202が応答する。
【0096】ブリッジ20は、ISAバス5上にコマン
ド(IOR#)を出力する。アドレスがTCを指定して
いるとき(00000004h)は、ISAバス5上へ
TCを出力する。このとき、DACK#は、EIDR2
04によりすでに出力されている。従って、ISAバス
5上には、DACK#で選択されたDMAスレーブから
リードデータが出力される。ブリッジ20は、このデー
タをISAバス5から内部PCIバス2へ伝える。
【0097】リードされたデータは、ISA DMAC
1521にラッチされる。このデータは、ISA DM
AC1521が直後に発生するメモリライトサイクル
で、ライトデータとして使用される。
【0098】メモリライトサイクルは、標準のPCIバ
スのメモリライトサイクルと全く同じである。メモリア
ドレスは、ISA DMAC1521に内蔵されたカレ
ントアドレスレジスタとページレジスタとから作られ
る。ライトデータは、ISA DMAC1521が直前
に発生したDMA専用I/Oサイクル(リード)でラッ
チされたものが使用される。1回の転送で、1バイト
(8bitDMA)または2バイト(16bitDM
A)を発生する。
【0099】ターゲットとなるホスト−PCIブリッジ
12は、通常のPCIマスターからのメモリライトと全
く同じように応答し、システムメモリ13をライトアク
セスする。リトライで終了した場合でも、ISA DM
AC1521は多少の待ち時間をおいてから、再度同じ
メモリサイクルを発生してくる。この間、ISA DM
AC1521はバス2を解放しない。
【0100】以上説明したように、この実施例では、I
SA DMAC1521は、内部PCIバス2上に他の
バスマスタによってロック状態にされているリソースが
存在するか否かを検出し、ロック状態のリソースが存在
しないときにのみDACK#をDMAスレーブ等に返却
して、DMA転送を開始する。このため、DMA転送の
ためのトランザクション中にターゲットリトライが発生
しても、それはバスロック以外の原因となる。よって、
ターゲットリトライによってISA DMAC1521
がバス使用権を解放しなくても、それによってメモリデ
バイスが永久にロックされてしまうなどの不具合は発生
しないので、ターゲットリトライの発生によるDMA転
送の誤動作を防止することができる。
【0101】なお、この実施形態では、PBA151か
らGNT#を受け取った時にPCIバス2がリソースロ
ックか否かをリソースロック検出ロジックに問い合わせ
たが、PBA151にREQ#を発行する前に、PCI
バス2がリソースロックか否かをリソースロック検出ロ
ジックに問い合わせ、リソースロックであればREQ#
の発生を禁止するようにしてもよい。この場合でも、D
MA転送のためのトランザクションは実行されないの
で、ターゲットリトライの発生によるDMA転送の誤動
作を防止することができる。
【0102】
【発明の効果】以上の説明したように、この発明によれ
ば、DMAコントローラにバスロック状態の監視機能を
持たせ、且つリトライが発生してもバス使用権を解放し
ないように構成したので、ターゲットリトライの発生に
よるDMA転送の誤動作を防止できるようになり、DM
A転送処理の信頼性の向上を図ることができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るポータブルコンピ
ュータのシステム構成を示すブロック図。
【図2】同実施形態のシステムに設けられたDMACコ
アの構成を示すブロック図。
【図3】同実施形態のシステムで使用されるリソースロ
ック検出原理を説明するための図。
【図4】同実施形態のシステムにおいてリソースロック
が検出された場合のISA DMACの動作を説明する
タイミングチャート。
【図5】同実施形態のシステムにおいてリソースロック
が検出されなかった場合のISA DMACの動作を説
明するタイミングチャート。
【図6】同実施形態のシステムにおいてターゲットリト
ライが発生した場合のISADMACの動作を説明する
タイミングチャート。
【図7】同実施形態のシステムに設けられたDS−PC
I/ISAブリッジ装置の構成を示すブロック図。
【図8】通常のPCIバスマスタによって実行されるタ
ーゲットリトライ時の動作を説明するタイミングチャー
ト。
【符号の説明】
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#…バス使用許可信号、LOCK#…ロ
ック信号、FRAME#…フレーム信号。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 リソースに対するアクセスが排他的に実
    行されているか否かを示すロック信号(LOCK#)線
    が定義されたPCIバスと、 前記PCIバス上に定義され、バスマスタ毎に1組ずつ
    割り当てられているバスアクセス要求信号(REQ#)
    およびバスアクセス許可信号(GNT#)を利用してバ
    スアクセスを調停するバスアービタ(PBA)と、 前記PCIバスに結合され、直接メモリアクセス(DM
    A)のためのトランザクションを実行するDMAコント
    ローラであって、DMA転送要求に応答して前記バスア
    クセス要求信号(REQ#)を発生することによって前
    記バスアービタにバス使用権を要求し、前記バスアービ
    タからのバスアクセス許可信号(GNT#)の受信に応
    答して前記DMA転送のためのトランザクションを開始
    するDMAコントローラとを具備し、 前記DMAコントローラは、 前記ロック信号(LOCK#)を利用して前記PCIバ
    スがリソースロック状態か否かを検出し、リソースロッ
    ク状態のときに前記DMA転送のためのトランザクショ
    ンの開始を禁止するリソースロック検出手段と、 前記DMA転送のためのトランザクション実行期間中に
    そのトランザクションによってアドレス指定された前記
    PCIバス上のターゲットからリトライが通知されたと
    き、前記PCIバスが解放されないように前記バスアク
    セス要求信号(REQ#)を出力し続けた状態で、前記
    トランザクションを所定時間経過後にリトライするリト
    ライ手段とを具備することを特徴とするコンピュータシ
    ステム。
  2. 【請求項2】 前記リソースロック検出手段は、 前記PCIバスに定義されたフレーム信号(FRAME
    #)および前記ロック信号(LOCK#)の状態を監視
    し、それらが共にインアクティブのときは前記PCIバ
    スがリソースロック状態でないと判断し、それ以外の場
    合はリソースロック状態であると判断することを特徴と
    する請求項1記載のコンピュータシステム。
  3. 【請求項3】 前記DMA転送のためのトランザクショ
    ンでは、DMA転送を要求したI/Oデバイスに対する
    DMAアクノリッジ(DACK#)の発生、および前記
    PCIバスのバスサイクルが実行され、 前記リソースロック検出手段は、 リソースロック状態を検出したとき、前記DMAアクノ
    リッジ(DACK#)の発生を禁止し、且つ前記バスサ
    イクルが実行されないように前記バスアクセス要求信号
    (REQ#)をインアクティブにして、前記バスアービ
    タ(PBA)から前記DMAコントローラに与えられる
    バスアクセス許可信号(GNT#)を無効化する手段を
    含むことを特徴とする請求項1記載のコンピュータシス
    テム。
  4. 【請求項4】 前記リトライ手段は、 前記PCIバス上に定義され現在のターゲットによって
    駆動されるターゲットレディー信号(TRDY#)、ス
    トップ信号(STOP#)、およびデバイスセレクト信
    号(DEVSEL#)を利用して、ターゲットからリト
    ライが通知されたか否かを検出することを特徴とする請
    求項1記載のコンピュータシステム。
  5. 【請求項5】 前記リトライ手段は、 前記リトライが通知されてから所定時間経過したとき、
    前記ロック信号(LOCK#)を利用して前記PCIバ
    スがリソースロック状態か否かを再度検出し、リソース
    ロック状態でないときに前記トランザクションのリトラ
    イを開始することを特徴とする請求項1記載のコンピュ
    ータシステム。
  6. 【請求項6】 リソースに対するアクセスが排他的に実
    行されているか否かを示すロック信号(LOCK#)線
    が定義されたPCIバスと、 前記PCIバス上に定義され、バスマスタ毎に1組ずつ
    割り当てられているバスアクセス要求信号(REQ#)
    およびバスアクセス許可信号(GNT#)を利用してバ
    スアクセスを調停するバスアービタ(PBA)と、 前記PCIバスに結合され、直接メモリアクセス(DM
    A)のためのトランザクションを実行するDMAコント
    ローラであって、DMA転送要求に応答して前記バスア
    クセス要求信号(REQ#)を発生することによって前
    記バスアービタにバス使用権を要求し、バスアクセス許
    可信号(GNT#)を受け取った後に前記DMA転送を
    要求したI/Oデバイスに対するDMAアクノリッジ
    (DACK#)を出力すると共に、前記DMA転送のた
    めのトランザクションを開始するDMA転送のためのト
    ランザクションを開始するDMAコントローラとを具備
    し、 前記DMAコントローラは、 前記ロック信号(LOCK#)を利用して前記PCIバ
    スがリソースロック状態か否かを検出し、リソースロッ
    ク状態のときは、前記DMAアクノリッジ(DACK
    #)の発生を禁止し、且つ前記バスアクセス要求信号
    (REQ#)をインアクティブにして、前記バスアービ
    タ(PBA)から前記DMAコントローラに与えられる
    バスアクセス許可信号(GNT#)を無効化するリソー
    スロック検出手段を具備することを特徴とするコンピュ
    ータシステム。
  7. 【請求項7】 前記DMAコントローラは、 前記DMA転送のためのトランザクション実行期間中に
    そのトランザクションによってアドレス指定された前記
    PCIバス上のターゲットからリトライが通知されたと
    き、前記PCIバスが解放されないように前記バスアク
    セス要求信号(REQ#)を出力し続けた状態で、前記
    トランザクションを所定時間経過後にリトライするリト
    ライ手段をさらに具備することを特徴とする請求項6記
    載のコンピュータシステム。
  8. 【請求項8】 リソースに対するアクセスが排他的に実
    行されているか否かを示すロック信号(LOCK#)線
    が定義されたPCIバスと、 前記PCIバス上に定義され、バスマスタ毎に1組ずつ
    割り当てられているバスアクセス要求信号(REQ#)
    およびバスアクセス許可信号(GNT#)を利用してバ
    スアクセスを調停するバスアービタ(PBA)と、 前記PCIバスに結合され、直接メモリアクセス(DM
    A)のためのトランザクションを実行するDMAコント
    ローラであって、DMA転送要求に応答して前記バスア
    クセス要求信号(REQ#)を発生することによって前
    記バスアービタにバス使用権を要求し、前記バスアービ
    タからのバスアクセス許可信号(GNT#)の受信に応
    答して前記DMA転送のためのトランザクションを開始
    するDMAコントローラとを具備し、 前記DMAコントローラは、 前記ロック信号(LOCK#)を利用して前記PCIバ
    スがリソースロック状態か否かを検出し、リソースロッ
    ク状態のときに前記バスアクセス要求信号(REQ#)
    の発生を禁止するリソースロック検出手段を具備するこ
    とを特徴とするコンピュータシステム。
  9. 【請求項9】 前記DMAコントローラは、 前記DMA転送のためのトランザクション実行期間中に
    そのトランザクションによってアドレス指定された前記
    PCIバス上のターゲットからリトライが通知されたと
    き、前記PCIバスが解放されないように前記バスアク
    セス要求信号(REQ#)を出力し続けた状態で、前記
    トランザクションを所定時間経過後にリトライするリト
    ライ手段をさらに具備することを特徴とする請求項8記
    載のコンピュータシステム。
JP7205685A 1995-08-11 1995-08-11 コンピュータシステム Pending JPH0954747A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7205685A JPH0954747A (ja) 1995-08-11 1995-08-11 コンピュータシステム
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
JP7205685A JPH0954747A (ja) 1995-08-11 1995-08-11 コンピュータシステム

Publications (1)

Publication Number Publication Date
JPH0954747A true JPH0954747A (ja) 1997-02-25

Family

ID=16511013

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH0954747A (ja)

Similar Documents

Publication Publication Date Title
US5805842A (en) Apparatus, system and method for supporting DMA transfers on a multiplexed bus
JP3231596B2 (ja) 待ち時間及びシャドー・タイマを有するバス・システム
KR100417839B1 (ko) 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5369748A (en) Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US6681283B1 (en) Coherent data apparatus for an on-chip split transaction system bus
US7752374B2 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
JP3385091B2 (ja) 計算機間の排他制御装置
US5774681A (en) Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge
US6070215A (en) Computer system with improved transition to low power operation
JP2003518693A (ja) クアド・ポンプ・バス・アーキテクチャおよびプロトコル
US6598104B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US7089339B2 (en) Sharing of functions between an embedded controller and a host processor
JPH0661075B2 (ja) コンピユータシステム内でデータ転送方法
JPH10293744A (ja) Pciバス・システム
JPH08339346A (ja) バスアービタ
JP2002278921A (ja) 異なるバス獲得プロトコルを有するバス・マスタ間を調停するための方法及びシステム
US5951667A (en) Method and apparatus for connecting expansion buses to a peripheral component interconnect bus
US6549964B1 (en) Delayed transaction method and device used in a PCI system
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
JP3576647B2 (ja) コンピュータシステム
US5850529A (en) Method and apparatus for detecting a resource lock on a PCI bus
JP2001216254A (ja) バストランザクションにおける制御チップセットのアービトレーション
US5857081A (en) Method and apparatus for controlling a master abort in a computer system
EP1190331B1 (en) Minimizing use of bus command code points to request the start and end of a lock