JPH06337840A - マルチプル・バス情報処理システムにおける直接メモリアクセス機構 - Google Patents

マルチプル・バス情報処理システムにおける直接メモリアクセス機構

Info

Publication number
JPH06337840A
JPH06337840A JP6108859A JP10885994A JPH06337840A JP H06337840 A JPH06337840 A JP H06337840A JP 6108859 A JP6108859 A JP 6108859A JP 10885994 A JP10885994 A JP 10885994A JP H06337840 A JPH06337840 A JP H06337840A
Authority
JP
Japan
Prior art keywords
bus
standard
dma
peripheral
cpu
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
JP6108859A
Other languages
English (en)
Other versions
JP2505114B2 (ja
Inventor
Amini Nader
ナダー・アミニ
Patrick M Bland
パトリック・モーリス・ブランド
Bechara F Boury
ベチャラ・フアウド・ボウリ−
Richard G Hofmann
リチャード・ジェラルド・フォフマン
Terence J Lohman
テレンス・ジョセフ・ローマン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06337840A publication Critical patent/JPH06337840A/ja
Application granted granted Critical
Publication of JP2505114B2 publication Critical patent/JP2505114B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 コンピュータ・システムにおいて直接メモリ
アクセス(DMA)サポート機構を提供する。 【構成】 (i)第1のシステム・バスによりシステム
メモリへ接続された中央演算処理装置(CPU)と、
(ii)前記CPUに接続された第2のシステム・バス
と、(iii)前記第2のシステム・バスを周辺バスへ接
続するホスト・ブリッジと、(iv)複数の標準入出力
(I/O)装置を接続した標準I/Oバスへ前記周辺バ
スを接続するI/Oブリッジと、(v)前記標準I/O
バスへのアクセスを競う前記複数の標準I/O装置同士
の間を調停する調停モードと、選択された標準I/O装
置が前記標準I/Oバスへのアクセスを許可された許可
モードにて機能する調停論理とを有するコンピュータ・
システムにおいて用いられる直接メモリアクセス(DM
A)サポート機構である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、広くはコンピュータ・
システムにおいて生じるメモリ動作に関し、特に、バス
・ブリッジ(bus bridge)により互いに接続される複数
のバスからなるコンピュータ・システムにおける直接メ
モリ・アクセス(DMA)をサポートするロジックに関
する。
【0002】コンピュータ・システムは、通常、複数の
バスを含み、システム内の各バスは装置を接続してお
り、それらの装置はバスを介して互いにローカルに通信
する。しかしながら、あるバスに接続された装置が別の
バスに接続された装置に対して情報の読取りや書込みを
行う必要がある場合には、異なるバスにまたがるシステ
ムワイドな通信が要求される。異なるバス上の装置間に
おけるシステムワイドな通信を可能にするために、ある
バスの通信プロトコルと別のバスの通信プロトコルとを
適合させるバス・ツー・バス(bus-to-bus)・ブリッジ
(インターフェース)が設けられる。
【0003】周知のバス・ツー・バス・ブリッジは、例
えば以下の特許出願に記載されている。すなわち、米国
特許出願第815992号「BUS CONTROL LOGIC FOR CO
MPUTER SYSTEM HAVING DUAL BUS ARCHITECTURE」、米国
特許出願第816184号「PARITY ERROR DETECTION A
ND RECOVERY」、米国特許出願第816204号「CHACH
E SNOOPING AND DATA INVALIDATION TECHNIQUE」、米国
特許出願第816203号「BUS INTERFACE LOGIC FOR
COMPUTER SYSTEM HAVING DUAL BUS ARCHITECTURE」、米
国特許出願第816691号「BIDIRECTIONAL DATA STO
RAGE FACILITY FOR BUS INTERFACE UNIT」、米国特許出
願第816693号「BUS INTERFACEFOR CONTROLLING S
PEED OF BUS OPERATION」、米国特許出願第81611
6号「ARBITRATION CONTROL LOGIC FOR COMPUTER SYSTE
M HAVING DUAL BUS ARCHITECTURE」、及び米国特許出願
第816698号「METHOD AND APPARATUS FOR DETERMI
NING ADDRESS LOCATION AT BUS TO BUS INTERFACE」等
である。これらの出願には、システム内の異なるバスに
接続された装置のシステムワイドな通信を可能にする機
構が記載されている。
【0004】マルチプル・バスのコンピュータシステム
内の各バス・ツー・バス・ブリッジは、そのシステム内
の2つのバスを接続するために用いられる。様々な形式
のバスが、所与のコンピュータ・システムを構築するた
めに利用可能である。標準的なI/Oバスとしては、例
えばISAバスやマイクロチャネル(MICRO CHANNEL:MC
-A)バスがあり、設置された周辺I/O装置をより集中
的で高性能なバスの周りに構築されたシステムへ接続す
るためによく利用される。
【0005】広く認められつつあるこのような高性能バ
スの1つにPCI(Peripheral Component Interconnec
t)バスがある。このバスは、比較的短時間の間に大量
のデータ転送を行うことができる。PCIバスは、32
ビットのデータラインにより33MHzにおいて利用可
能なデータで120メガバイト/秒のスループット、最
高132メガバイト/秒までの能力がある。PCIバス
がこの高レベルの性能を得ている要因としては、1つに
はCPUを接続できるシステムバス等の他の高速バスへ
直接連結可能である点が挙げられ、それによってPCI
バスに接続された装置とそのシステム・バスに接続され
た装置との間の速やかなデータ転送が可能になる。実際
に、あるグラフィクス制御装置などのいくつかの高集積
度の装置は、PCIバス等の高性能バスを介してシステ
ム・バスに直接連結される必要がある。さらに、PCI
バスのアーキテクチャは、これに接続される周辺装置を
動作させるためのいずれの付加的な「グルー・ロジック
(glue logic)」も必要としない。他のバスについての
グルー・ロジックは、通常、デコーダ、バッファ又はラ
ッチ等の付加的ハードウェア要素からなり、それらは周
辺装置とバスとの中間に設置されている。
【0006】従来のPCIバスは、33MHzの同期ク
ロック信号で動作し、PCIバス上を伝送されるデータ
のストリングは32ビット長である。32ビットのデー
タ・ストリングはダブル・ワード(DWORD)と呼ばれ、
それぞれ8ビットのデータからなる4バイトに分割され
ている。PCIバスにより運ばれるアドレス情報及びデ
ータ情報は、同じ32ビット・バス上で多重化されてい
る。多重化することによりアドレス・ラインとデータ・
ラインとを別にする必要性がなくなる。すなわちこのこ
とは、他のバス・アーキテクチャに比べた場合、PCI
バス環境で必要な信号の数を低減させることになる。P
CIバスのアーキテクチャで必要な信号の数は45乃至
47であるが、非多重化バスでは通常この倍の数を必要
とする。従って、信号数が低減されるので、PCIバス
に接続される装置をサポートするために必要な接続ピン
の数もまた相当する数だけ低減される。このようにPC
Iアーキテクチャは、特に高い集積度のデスクトップ型
コンピュータ・システムに適している。
【0007】PCIバスの構造及び動作についてのさら
に詳細な記述については、例えば、「Peripheral Compo
nent Interconnect (PCI) Revision 2.0 Specificatio
n」,published April 30,1993、「Preliminary PCI Sys
tem Design Guide」, revision 0.6, published Novemb
er 1, 1992及び「Peripheral Component Interconnect
(PCI) Add-inn Board/Connector Addendum」, (Draft)
published 6 November, 1992、並びにPCI Special Inte
rest Groupによるものがある。
【0008】しかしながら、PCIバスと標準I/Oバ
スとの間の通信プロトコルが異なる場合、コンピュータ
・システム内でのPCIバスの標準I/Oバスへのイン
ターフェースには問題が多い。例えば、直接メモリ・ア
クセス(DMA)のサイクルは、PCIバスに接続され
た装置と標準I/Oバスに接続された装置とを比較する
と異なる処理をされることがある。DMAサイクルは、
CPUの介入無しにDMA制御装置によりシステム・メ
モリと入出力ユニット(装置)との間でデータが転送さ
れる動作である。直接PCIバスに接続される装置のほ
とんどは、一般的に高性能の32ビットバスのマスタ装
置であり、それらは自分自身の組込みDMA制御論理を
有する。このようなバス・マスタ装置は、システムが提
供するDMA制御装置に依存する必要がなく、従ってそ
の装置は、データ転送を開始するためにシステムDMA
制御装置に依ることなく自分自身でDMA転送を開始す
ることができる。DMAスレーブ装置は、通常、性能が
低く安価であり、DMA転送を行うためにシステムDM
A制御装置の支援が必要である。
【0009】典型的なDMAスレーブ装置の例として
は、シリアル・ポート、パラレル・ポート、及びフロッ
ピー・ディスク装置がある。ISAバス又はMC−Aバ
ス等の標準I/Oバスを含むいずれのシステムともハー
ドウェア及びソフトウェアの双方において互換性を保持
するためには、これらの標準I/O装置が、標準システ
ムDMA制御装置と同様にそのシステム内に存在しなけ
ればならない。DMA制御装置には、ISA又はPS2
のアーキテクチャによるものがある。ISAとPS2の
DMA制御装置には僅かな違いがあるけれども、双方と
も、調停及びデータ転送を制御するために特定の信号の
セットを必要とする。DMA制御装置は、既存のハード
ウェア(I/O装置)との互換性を保持することを要求
されるものであり、そしてISA又はPS2のアーキテ
クチャは、既存のソフトウェアとの互換性を保持するこ
とを要求される。
【0010】DMA制御装置は、調停、バス・サイジン
グ、DMAサイクル(例えば、転送タイミングやターミ
ナルカウント)、及び種々の動作モード(例えば、シン
グル、バースト、命令、カスケード)を要求する特定の
機能を有する。DMA制御装置は、通常、標準I/Oバ
ス上に配置されるため、標準I/Oバス無しでシステム
を構築することができない。PCIバスは、PCIバス
上に配置されたDMA制御装置を有するシステムに対し
て信号を与えたりサポートすることができない。
【0011】標準I/Oバス上のI/O装置は、PCI
バスに接続される装置に比べて性能を重視されない傾向
があり、さらに、DMAサイクルを実行するためにDM
A制御装置の支援をより必要とすることが多い(例え
ば、DMA制御装置を組込まれていない8、16、又は
32ビットのI/O装置等)。DMA制御装置は、異な
る形式のスレーブ装置についてのDMAサイクルを管理
する際、動的なバス・サイジングを必要とする。すなわ
ち、DMA制御装置がDMAサイクルと管理しようとし
ている特定のスレーブ装置のサイズ(8ビット、16ビ
ット等)を知ることが必要である。このような動的なバ
ス・サイジングは、通常、ATバス、ISAバス又はマ
イクロチャネル・バス等の標準I/Oバス上でサポート
される。
【0012】
【発明が解決しようとする課題】PCIバスは、以上の
ような動的バス・サイジング機能とともに構築されなか
ったために、DMAスレーブ装置を含むDMAサイクル
動作をサポートすることができない。この場合、PCI
バスに接続される標準I/Oブリッジに取付けられたD
MAスレーブ装置は、DMA制御装置によって実行され
るDMA動作をPCIバスを介しては享受することがで
きない。しかしながら、マルチプル・バス・システムの
アーキテクチャにおいて、標準I/Oバス上のDMAス
レーブ装置がPCIバスをまたいでシステムメモリへア
クセスすることが要求される場合には、このようなDM
A動作が必要となる。
【0013】本発明の目的は、標準バス・ブリッジによ
り高性能バス(PCIバス等)に接続されたDMAスレ
ーブ装置のためにDMA制御装置が、その高性能バスを
介してシステムメモリへのDMAサイクルを実行するた
めに、そのようなDMAサイクルをサポートする機構を
提供することである。この機構は、標準I/Oブリッジ
に対するサイドバンド(sideband:付加的)インターフ
ェースを定義することにより、システムDMA制御装置
が常にPCIバス上に存在できるようにすることによっ
て実現される。サイドバンド・インターフェースを用い
ることにより、任意に拡張されたバス上のDMAスレー
ブ装置もまたサポートすることができる。さらに、DM
A専用のサイドバンド信号を、既存のサイドバンド信号
と多重化することも可能である。
【0014】
【課題を解決するための手段】本発明は、PCIバスを
介してスレーブI/O装置のためのDMAサイクルをサ
ポートする課題を解決する。本発明は、DMA制御装置
と標準DMA互換拡張バスとの間の必要なリンクを提供
するための、サイドバンド信号からなるPCIバスにお
ける拡張部分を定義する。サイドバンド信号のいくつか
を、調停信号と多重化することによりPCIバス上での
DMAサポートを実現するために必要なピン数を減らす
ことができる。PCIバスを介してI/O装置のI/O
サイクルを管理するために、DMA制御装置は、I/O
サイクルを管理している当該I/O装置のバス・サイズ
(すなわち、その装置が8ビット、16ビット、又は3
2ビットのいずれの装置であるか)を判別しなければな
らない。この情報は多重化されたサイドバンド信号によ
り与えられる。サイドバンド信号は、DMA制御装置と
DMA互換拡張バスをサポートするI/Oブリッジとの
間を直接接続する。
【0015】
【実施例】図1乃至図3は、マルチバス情報処理システ
ム10であり、(i)システム・バス(S−バス)16
を介してシステム・バス装置14へ接続されるプロセッ
サ、キャッシュ及びメモリの複合体12、及び(ii)主
PCIバス22を介してシステム・バス装置の1つであ
る主PCIホスト・ブリッジ20に接続される主PCI
装置18から構成されている。図1乃至図3に示された
プロセッサ、キャッシュ及びメモリの複合体12、シス
テム・バス装置14、主PCI装置18、及び他の構成
要素については、以下により詳細に記述する。
【0016】プロセッサ、キャッシュ及びメモリの複合
体12は、中央演算処理装置(CPU)24、自己検査
回路26、デュアルバスメモリ制御装置28、CPUキ
ャッシュ30、及びベースシステムメモリ32からな
る。好適例におけるCPU24は、Intel,In
c.からi486TMの製品名で市販されている32ビッ
トマイクロプロセッサであるが、システム10は他の形
のCPU、特に他のx86形のマイクロプロセッサを用
いても実施可能である。自己検査回路26は、CPU2
4の起動時の組込み検査(built-in-self-test:BIS
T)機能を与える。自己検査回路はまた、各システム・
バス装置14内に組込み可能ないずれの自己検査機能を
も制御する。
【0017】CPU24は、CPUローカル・バス34
により自己検査回路26及びメモリ制御装置28へ接続
される。メモリ制御装置28は、ベースシステムメモリ
・バス36によりベースシステムメモリ32へ接続され
る。メモリ制御装置28は、ベースシステムメモリ・バ
スを介してベースシステムメモリ32に対する読取り及
び書込み動作を制御する。これらの動作は、CPUロー
カル・バス34を介してCPU24により開始される
か、又はシステム・バス16を介してシステム・バス装
置14により開始される。メモリ制御装置は2つのバス
上の動作を管理することができるので、ベースシステム
メモリ・バス36及びCPUローカル・バス34を介す
る動作は同時に管理可能である。CPUローカル・バス
34、ベースシステムメモリ・バス36及びシステム・
バスは32ビット・バスであり、それぞれのバスは、こ
のようなバスにおいて通常そうであるように、データ情
報パス、アドレス情報パス及び制御情報パス(図1乃至
図3中の「D」、「A」及び「C」)からなる。
【0018】ベースシステムメモリ32はシステムワイ
ドな記憶能力を提供し、非インターリーブなメモリ・カ
ード又はインターリーブなメモリ・カードのいずれによ
っても構成することができる。CPUキャッシュ30
は、ベースシステムメモリ32又はシステム10の外に
設置された拡張メモリのいずれかに入っている情報を短
期間記憶することができる。このような拡張メモリは、
例えば、システムの周辺に接続されたI/O装置に設置
することができる。CPUキャッシュ30は、ランダム
アクセスメモリ(RAM、図示せず)を有しており、C
PU24により頻繁にアクセスされるベースシステムメ
モリ32のアドレス場所を一時的に記憶するために用い
られる。CPU24は、CPUキャッシュ30内に記憶
された情報に直接アクセスする。一方ベースシステムメ
モリ32内に記憶された情報へのアクセスはメモリ制御
装置28により処理されなければならない。
【0019】ベースシステムメモリ32への全てのアク
セスは、ベースシステムメモリ・バス36を介してメモ
リ制御装置28により制御される。メモリ制御装置はベ
ースシステムメモリ32へのシステムメモリ・サイクル
を開始する。このサイクルの間、CPU24又はシステ
ム・バス装置14の中の1つのいずれかが、メモリ制御
装置28を介してベースシステムメモリへのアクセスを
行う。CPU又はローカル・バスにより開始されたメモ
リ・サイクルの間、メモリ制御装置はシステム・バス上
に情報を送らない。しかしながら、メモリ制御装置が、
現在管理しているCPU(ローカル・バス)動作がI/
Oサイクルであると判断した場合、メモリ制御装置は、
システム・バス装置14によるアクセスのためにシステ
ム・バス16上へ情報を伝送する。もしそのI/Oサイ
クルがシステム・バス装置を目的とする場合、適切なシ
ステム・バス装置がデコード命令によりメモリ制御装置
に対して応答する。もしそのI/O動作が主PCI装置
18を目的とする場合、PCIホスト・ブリッジ20が
デコード命令によりメモリ制御装置に対して応答し、適
切な主PCI装置に対してI/Oサイクルを送る。
【0020】システム・クロック・モジュール38は、
システム・バス装置14のために1つのクロックを与
え、CPU24に対して一対のクロック信号を与える。
好適例では、システム・バスに与えられるクロック信号
は33MHzで動作する。CPU24に与えられる2つ
の信号は、それぞれ33MHz及び66MHzで動作す
る。CPU24は、内部では66MHzで動作するがC
PUローカル・バス34を介しては33MHzで通信す
るために、2つのクロック信号を必要とする。
【0021】プロセッサ、キャッシュ及びメモリの複合
体12とシステム・バス装置との間の通信は、メモリ制
御装置28により32ビットのシステム・バス16を介
して管理される。図1乃至図3の好適例に示すように、
システム・バスには、直接メモリアクセス(DMA)制
御装置40、システム調停制御ポイント(SACP)4
2、入出力(I/O)制御装置44、PCMCIA制御
装置46、及びパワー管理制御装置48もまた接続され
ている。さらに細かいパワー管理制御が望ましい場合
は、パワー管理制御装置48にパワー管理マイクロ制御
装置50を任意に接続してもよい。システム・バス16
上のDMA制御装置40とI/O制御装置44との中間
にバッファ52が設けられている。しかしながら、図1
乃至図3のように、図示のもの以外の他のシステム・バ
ス装置14をシステム・バス16に接続できるように考
慮されている。
【0022】PCMCIA制御装置46は、PCMCI
Aカード・スロット54に直接接続される。周辺I/O
装置56は、バッファ58によりPCMCIAカード・
スロット54へ接続される。アドレス・ラッチ57は、
バッファ58と周辺I/O装置56との中間に設けられ
る。周辺I/O装置56はI/O制御装置44により制
御される。I/O制御装置には、日時クロック60及び
RAMモジュール62が取付けられる。I/O制御装置
44は、マウス・ポート64、シリアル・ポート66、
パラレル・ポート68及びキーボード・ポート70を含
む様々なポートをサポートする。
【0023】システム・バス16上のシステム・バス装
置14をサポートする以外に、システム10はまた、第
2の高速高バンド幅のバスをもサポートする。それは好
適例では主PCIバス22である。システム10内の主
PCI装置18は、主PCIバス22を介して互いに通
信する。主PCI装置は、CPU、キャッシュ及びメモ
リの複合体12並びにシステム・バス16上に常駐する
他のシステム・バス装置14とPCIホスト・ブリッジ
20により通信する。PCIホスト・ブリッジ20自身
は、システム・バス上に常駐するシステム・バス装置で
ある。そしてPCIホスト・ブリッジ20は、システム
・バス16と主PCIバス22との間のインターフェー
スの役割をし、これら2つのバス間及びこれら2つのバ
スに接続される周辺装置間の通信に対して効果的手段を
提供する。
【0024】PCIホスト・ブリッジ20は、待ち時間
の短い相互接続機構を可能にし、これを介してCPU2
4又は他のシステム・バス装置14が主PCI装置18
又はこれに接続された装置に直接アクセスすることがで
きる。ブリッジ20はまた、主PCI装置又はこれに接
続された装置がベースシステムメモリ32に対して速や
かにかつ直接アクセスできる高性能パスを提供する。さ
らに、ホスト・ブリッジ20は、システム・バス16と
主PCIバス22との間のインターフェースを可能にす
るために必要な全てのハードウェアを設けており、それ
によってこれらのバス間でデータを転送することができ
る。
【0025】主PCIバス22は、PCI互換の様々な
装置をサポートすることができる。図1乃至図3のよう
に、これらの装置には、グラフィクス制御装置72、シ
リアルSCSI(small computer systems interface)
制御装置74、PCMCIA制御装置76、標準I/O
バス(例えば、ISA又はマイクロチャネル(MC−
A))ブリッジ78(ここでは拡張ブリッジとも称す
る)、及びPCI2次ブリッジ80が含まれる。しかし
ながらPCIバスに接続される図1乃至図3に示された
装置は、PCIバスを実現するシステムの一例にすぎ
ず、従って開示された構成の例であり、いずれにせよ本
発明を限定しようとするものではない。
【0026】グラフィクス制御装置72は、通常、VR
AM82の形でメモリ機能を備えることによりこの中に
ビデオ・フレームをバッファすることができ、そしてP
CIバス・アーキテクチャによりサポート可能な周知の
グラフィクス制御チップのいずれをも制御することがで
きる。SCSI制御装置74は、SCSIバスに接続さ
れたSCSI装置84と主PCIバス22との間のイン
ターフェースとして働き、そしてPCIバス・アーキテ
クチャによりサポート可能ないずれのSCSI装置をも
制御することができる。PCMCIA制御装置76は、
カード・スロット88に接続されかつこれを制御する。
【0027】標準バス・ブリッジ78は、標準バス(例
えば、MC−AバスやISAバス)92に接続されたI
/O装置と主PCIバス22との間のインターフェース
として働く。2次PCI装置94は、2次PCIバス9
6を介してPCI2次ブリッジ80へ接続されている。
そして、オプションの2次PCI装置94を何台でも2
次PCIバス96に接続することが可能である。PCI
2次ブリッジ80は、2次PCIバス96に接続された
2次PCI装置94と主PCIバス22との間のインタ
ーフェースとして働く。
【0028】DMA制御装置40、PCIホスト・ブリ
ッジ20、及びI/O制御装置44は、ベースシステム
メモリ32と周辺I/O装置56上や標準I/O装置9
0上の拡張メモリとの間の情報の交換を制御する。DM
A制御装置40はまた、CPU、キャッシュ及びメモリ
複合体12のために3つの機能を設けている。第1に、
DMA制御装置は、DMAチャネルを構成するために小
型コンピュータ用のSCB(subsystem control bloc
k)を用いることにより、プログラムI/Oモードを不
要にする。第2に、DMA制御装置は、遅いI/O拡張
装置と通常それより速いベースシステムメモリ32との
間の転送を最適化するバッファ機能を備えている。第3
に、DMA制御装置は、8チャネル、32ビットのベー
スシステムメモリへの直接アクセス機能を備えている。
ベースシステムメモリへの直接アクセス機能が稼働して
いる場合、DMA制御装置40は2つのモードのいずれ
かで機能することが可能である。第1の動作モードにお
いては、DMA制御装置が、CPU24に対して機能的
にスレーブとなるプログラムI/Oモードで機能する。
第2の動作モードにおいては、DMA制御装置自身が、
システム・バス上でマスタとして機能する。
【0029】DMA制御装置40は、常に第三者のバス
・マスタとして機能する。つまり、データのソースにも
宛先にもならないが、ソース・エンティティ(装置)と
宛先エンティティ(装置)との間でデータを転送するた
めの手段を提供する。図ではシステム・バス上に常駐し
ているように示されているが、DMA制御装置がシステ
ム・バス上に常駐する必要はない。DMA制御装置は、
通常、メモリからI/O装置への、またI/O装置から
メモリへの、さらにメモリからメモリへのデータ・トラ
ンザクションを管理する。このメモリは、ベースシステ
ムメモリ32でも、周辺I/O装置56上や標準I/O
装置90上の周辺メモリでもよい。
【0030】標準バス(例えば、ISAバスやMC−A
バス)92上に常駐する標準I/O装置90は、8ビッ
ト形の装置でも、16ビット形の装置でも、32ビット
形の装置でもよい。本発明によるPCIホスト・ブリッ
ジ20及びシステム調停制御ポイント(SACP)42
の設計は、(i)CPU24、(ii)主PCIバス22
上に常駐する主PCI装置18、(iii)標準I/Oバ
ス92上に常駐する標準I/O装置90、及び(iv)I
/O制御装置44により制御される周辺I/O装置56
をシステムワイドに、同時に調停することを可能にす
る。SACP42は、標準I/O装置90、CPU2
4、主PCI装置18、及び周辺I/O装置56のため
の主アービタ(調停装置)として機能する。
【0031】図4乃至図6及び図7乃至図10は、SA
CP42の実施態様のブロック図である。図4乃至図6
は、図1乃至図3に示されたシステムが主PCIバス2
2に接続された標準バス・ブリッジ78を含まない場合
に用いられるシステム調停制御ポイントの実施例のブロ
ック図である。図7乃至図10は、図1乃至図3に示さ
れたシステムが主PCIバス22に接続された標準バス
・ブリッジ78を含む場合に用いられるシステム調停制
御ポイントの第2の実施例のブロック図である。
【0032】まず、図4乃至図6を参照すると、標準バ
ス・ブリッジ78がない場合に用いられるSACP42
の実施態様は、バンク調停制御ポイント(BACP)1
00、PCI調停制御ポイント(PACP)102、及
び直接接続調停制御ポイント(DACP)104からな
る。BACP100は、PACP102とDACP10
4とによる主PCIバス22の制御のための要求の間の
調停を行う。PACP102は、CPU24と主PCI
装置18とから出された主PCIバスへのアクセス要求
(まとめて、「BANK0要求」と称する)を管理す
る。DACP104は、I/O制御装置44が制御する
周辺I/O装置56のために出した主PCIバス要求を
制御する。後に図7乃至図10を参照して説明するが、
主PCIバス22に接続された標準バス・ブリッジ78
を含むシステムにおいては、DACP104は、標準バ
ス・ブリッジ78が接続している標準I/O装置90の
ために出した主PCIバスへのアクセス要求もまた管理
する。
【0033】標準バス・ブリッジ78及びI/O制御装
置44及びDMA制御装置40により出された主PCI
バス要求は、以降まとめて「BANK1要求」と称す
る。PACP102及びDACP104により出された
主PCIバスへのアクセス要求を管理することに加え
て、BACP100は、PCI2次ブリッジ80が接続
している2次PCI装置のために出す主PCIバス要求
(まとめて、「BANK2要求」と称する)を処理する
ようにもなっている。本発明では、図4乃至図6及び図
7乃至図10に示したもの(PACP102、DACP
104及びPCI2次ブリッジ80)以外のバンク・ア
ービタを含めるためのさらなる拡張が考慮されている。
もしシステム内に他の2次PCIブリッジが、PCIバ
ス22に接続された多層構造で含まれる場合、これらの
他の2次PCIブリッジ自身は、接続された装置の間で
調停を実行してからBACP100に対して「BANK
N要求」を出すことになる。
【0034】上記の階層的アーキテクチャは、システム
10において、(i)CPUと主PCI装置との間の調
停が、(ii)I/O制御装置により制御される周辺I/
O装置と標準バス・ブリッジ78(存在する場合)に接
続される標準I/O装置との間の調停とは独立に管理さ
れる調停方法を可能にする。PACP102は、PAC
P102上の5本のピンを介して5台までのPCI装置
18及びCPU24からPCIバス22へのアクセス要
求を直接受信する。5台のPCI装置は、PACP上の
5本の要求/許可ピンを用いてそれらの要求を出す。す
なわち、REQ0#からREQ4#である(ここでは、
記号「#」は負のアクティブ信号を示すために用い
る)。PCI装置は、許可ラインGNT0#からGNT
4#を介して主PCIバス22へのアクセスを許可され
る。要求ライン及び許可ラインは、主PCI装置18と
PACP102との間の直接接続である。
【0035】CPU24はメモリ制御装置28を介して
ベースシステムメモリへアクセスするが、もしCPU2
4が主PCIバス22へのアクセスを要求するならば、
CPU24は、主PCI装置18により出された同様の
要求と競合しなければならない。一旦CPU24がシス
テム・バス16の制御を獲得すると、PCIホスト・ブ
リッジは、PCIバスとシステム・バスとの間のバス・
マスタ・インターフェースを提供し、そしてCPU24
に対してPCIマスタとなる。PCIホスト・ブリッジ
は、調停は行わないけれども、プロトコル変換、バッフ
ァ、システム・バスとPCIバストの間の速度調整を行
う。
【0036】CPU24についての主PCIバスへのア
クセス要求は、要求ラインBREQ上のPACP102
へ直接出され、これはPACPへの割込み信号として
(通常、i486形のプロセッサにおいて)用いられ
る。CPU24は、CPU24とPACP102との間
で専用ラインHOLD及びHLDAを介してホールド/
ホールド肯定応答(hold/hold acknowledge)プロトコ
ルを用いる。CPUがi486アーキテクチャではない
システムの例では、PACPとCPUとのインターフェ
ースが未知であるので、PACPは、i486用のBR
EQ、HOLD、HLDAに加えてPCI要求/許可ハ
ンドシェイク(CPUREQ#及びCPUGNT#)を
もサポートしなければならない。従って、CPU24と
各PCI装置の双方が、PACP102との調停要求信
号及びその許可信号のやりとりのための直接接続を有す
る。
【0037】主PCI装置18とCPU24との間の保
留要求は、2つの異なる方法でPACP102により処
理される。第1の方法は、ラウンド・ロビン方式により
PACPが、順次、保留要求を与えるものである。第2
の方法は、固定された優先順序で要求を管理するもので
ある。この第2の方法は、調停優先順序が各主PCI装
置18及びCPU24に対して割当てられている場合に
可能である。特に、CPUの要求ラインBREQ/CP
UREQ#及び主PCI装置の要求ラインREQ0#乃
至REQ4#は、プログラム可能な優先レベルを有して
いる。この優先レベルは、保有するPCI装置のバンド
幅に基づいて決めてもよい。例えば、バンド幅が高くバ
ッファ能力の低いPCI装置は、バンド幅が低くバッフ
ァ能力の高い装置よりも早い調停優先順位を割当てられ
るべきである。
【0038】いずれの方法と採るかに拘らずPACP1
02は、BANK0要求の間で調停を行い、PCI装置
またはCPUのいずれが優先権を有しているかを判断
し、選択された装置の要求をBANK0_REQ#ライ
ン上のBACPへ送る。他のバンク・アービタ(BAN
K1_REQ#、BANK2_REQ#等)により出さ
れる要求についても同様である。BACP104は、各
バンク・アービタに対して選択された時間間隔を与える
ように設定されており、その間にバンク・アービタによ
り選択された装置が主PCIバス22へのアクセスを許
可される。主PCIバス22へのアクセスは、BACP
(BANK0_GNT#、BANK1_GNT#、BA
NK2_GNT#等)により許可ライン出力を介して選
択された装置に許可される。
【0039】前述のように、BACP100はSACP
42の中の最高レベルのアービタである。BACP10
0は、システムワイドに主PCIバスへのアクセス要求
を管理する個々のバンク・アービタにより、自分に対し
て出された調停要求を処理する。第1のバンク・アービ
タであるPACP102(BANK0)の動作は、上述
のとおりである。第2のバンク・アービタであるDAC
P104(BANK1)の動作については以下に記述す
る。
【0040】DACP104は、(標準バス・ブリッジ
78を用いないシステム例において)I/O制御装置4
4により制御される周辺I/O装置56同士の間、又は
標準バス・ブリッジ78がシステムに含まれる場合に周
辺装置I/O装置56と標準バス・ブリッジ78に接続
される標準I/O装置90との間を調停することを請負
う。周辺I/O装置56及び標準I/O装置90は、マ
イクロチャネル(MC−A)・アーキテクチャ又はIS
Aアーキテクチャのいずれと互換であってもよい。図4
乃至図6及び図7乃至図10に示すように、DACP1
04が応答する制御信号は、MC−Aアーキテクチャに
対応するが、DACPを、ISA形の制御信号に応答す
る態様とすることも可能である。
【0041】続いて図4乃至図6(標準バス・ブリッジ
78がない場合)を参照すると、DACP104は、直
接接続MC−A装置サポート106と示された部分にお
いて周辺I/O装置56のためにI/O制御装置44か
ら主PCIバスへのアクセス要求を受信する。これらの
要求は、ラインDPREEMPTIN#を介して行われ
る。DACP104の直接接続MC−A装置サポート部
分106は、主PCIバス22へのアクセスが競合して
いる周辺I/O装置56間の調停を行いながら、調停サ
イクルと許容サイクルとの間を交代する。ラインDAR
BGNT#の状態は、直接接続MC−A装置サポート部
分106が調停サイクル又は許可サイクルのいずれにあ
るかを示す。バス・アクセス要求は、ラインDPREE
MPTOUT#を介して管理される。出力DPREEM
PTOUT#及び入力DPREEMPTIN#が、MC
−Aプロトコルを構成する。しかしながら、最短でも2
00ナノ秒を必要とするMC−Aプロトコルではなく、
DACPは、直接接続装置調停サイクルをちょうど2周
期のクロックで完了することが可能な高速シリアル・ア
ービタを利用する。直接接続MC−A装置サポート部分
106の他の入出力信号ラインについては、図7乃至図
10の説明において記述する。図4乃至図6のDACP
104に入出する信号ラインBRIDGE_REQ#、
BRIDGE_GNT#、及びBRIDGE_SIDE
BANDは、標準バス・ブリッジ78がないのでディス
エーブル状態(disabled)である。
【0042】これに対して図7乃至図10では、システ
ム10が、主PCIバス22に接続される標準バス(拡
張)ブリッジ78を有している。この実施例ではDAC
P104が、I/O制御装置44により制御される周辺
I/O装置56と標準バス・ブリッジ78によりサポー
トされる標準I/Oバス92に接続される標準I/O装
置90との間の調停を行う。これらの装置の各々は主P
CIバス22へのアクセスを求めて競合している。前述
のように、周辺I/O装置56及び標準I/O装置90
は、MC−A互換かISA互換のいずれかである。
【0043】5組の要求/許可の対、REQ0#/GN
T0#乃至REQ4#/GNT4#は、ここでも主PC
I装置18によりPCIバス22へのアクセス要求及び
許可のために用いられる。しかしながらこれらの要求/
許可ラインは、PACP102へではなく2次PCI調
停制御ポイントPACP2 108へ向けられる。PA
CP2 108は物理的に標準バス・ブリッジ78内に
設置され、PACP102とカスケード接続されてい
る。PACP2 108は、接続された主PCI装置間
の調停を行い、主PACP102に対して1つのバス・
アクセス要求PACP2_REQ#を対応するARBI
Dとともに送る。調停優先順序は、PACP102内で
処理されるのと類似の方法により処理される。その後P
ACPは、CPU24(そのバス・アクセス要求はライ
ンBREQ/CPUREQ#上に出される)と最も優先
度の高いPCI装置(そのバス・アクセス要求はライン
PACP_REQ#上に出される)との間の調停を行
う。主PCI装置は、そのPCIバス・アクセス要求に
対してラインPACP2_GNT#を介して許可され
る。
【0044】図7乃至図10の実施例では、PCI装置
の間での調停はSACP42の外で処理されるので、S
ACPに入出する要求/許可ラインの機能を、図7乃至
図10のシステムについては再定義する。図11及び図
12は、図4乃至図6及び図7乃至図10に示された実
施例に対応するSACP42へのピン接続の別の定義を
示した表である。5組の要求/許可の対、REQ0#/
GNT0#乃至REQ4#/GNT4#は、主PCIバ
スに接続される標準バス・ブリッジ78を持たないシス
テム(図4乃至図6)内においてPCIバス22へのア
クセス要求及び許可のために主PCI装置により用いら
れるが、システムが標準バス・ブリッジ78を有する場
合(図7乃至図10)には再定義される。PACP2
108は、主PCI装置のバス・アクセス要求をSAC
P42の外で処理して1つの要求をPACP102に送
るので、REQ4#は、1つの要求PACP2_REQ
#として再定義される。同様に、GNT4#は、1つの
要求ラインPACP2_GNT#として再定義される。
PACP102へ入出するラインREQ0#/GNT0
#乃至REQ3#/GNT3#はディスエーブル状態に
なる。
【0045】図7乃至図10のシステムにおいて8本の
入出力ライン(REQ0#/GNT0#乃至REQ3#
/GNT3#)がディスエーブル状態になるとともに、
PACP2を追加したことにより空いた8本の新しいピ
ン接続が、SACP42への入力として利用可能にな
る。これらの入出力ラインは、図7乃至図10のシステ
ムが周辺I/O装置56と同時に標準I/O装置90を
調停するために必要である。図7乃至図10に示すよう
に、中央調停制御ポイント、CACP110は物理的に
MC−Aブリッジ78上に設置されており、MC−A装
置90の調停を管理する。(ISA装置の場合、これら
の装置の調停は、ラインISA_DREQ#及びISA
_DACK#を介してISA互換の調停装置により処理
されることになる。なぜなら、ISAプロトコルは、I
SA互換の調停装置に接続された装置に対する直接要求
及び肯定応答のやりとりをサポートするからである。)
【0046】MC−A装置は、CACP110へのPR
EEMPT#信号をアクティブにすることにより調停を
要求する。CACPは、調停サイクルと許可サイクルの
間を交代し、それがラインARBGNT#の状態により
標示される。PREEMPT#信号がアクティブになる
とCACPは調停状態に入り、その間、MC−A装置は
それらの調停識別出力(ARBID(0乃至3))を駆
動する。300ナノ秒後に、最も優先度の高いMC−A
の調停識別出力がラインARBID(0乃至3)上に残
る。この1つの要求が、信号ラインBRIDGE_RE
Q#によりDACP104へ送られる。DACPは、C
ACPから送られた要求が周辺I/O装置56のために
I/O制御装置44から送られた要求よりも優先度が高
いと判断した場合、BRIDGE_GNT#信号ライン
をアクティブにする。(図11及び図12に示すよう
に、ラインREQ3#・GNT3#は、BRIDGE_
REQ#及びBRIDGE_GNT#として再定義され
ている。図4乃至図6に対応するシステムではディスエ
ーブル状態であり、DACP104の入出力である)。
拡張ブリッジ78がシステムに含まれる場合、BRID
GE_REQ#信号は、調停サイクル中には拡張バス・
マスタ又はDMAスレーブのための要求として、DMA
許可サイクル中にはBURST#信号として、そしてカ
スケード/バス・マスタ動作中には転送終りの標識とし
て用いられる。BRIDGE_GNT#信号は、DAC
P104がいつPCIバス22へのアクセスを許可する
かをMC−A装置90に対して示す。ラインARBGN
T#が許可状態になり、そして最も優先度の高いMC−
A装置は、自らが選択されてそのバス・アクセス要求が
許可されたことを判断する。CACP110の動作につ
いては、例えば、米国特許出願第777777号「Cont
rolling Bus Allocation Using Arbitration Hold」、
及び米国特許出願第816116号「Arbitration Cont
rol Logic for Computer System having Dual Bus Arch
itecture」等により詳細に記載されている。
【0047】SACP42への残りの6個の入力、RE
Q0#/GNT0#乃至REQ2#/GNT2#は、6
個のBRIDGE_SIDEBAND信号として再定義
される(図4乃至図6の対応するシステムではディスエ
ーブル状態である)。BRIDGE_SIDEBAND
信号はPCIアーキテクチャの仕様では定義されていな
いが、例えば標準バス・ブリッジ78に接続された標準
I/O装置90等のPCIバス上のDMA周辺装置につ
いても同様に調停をサポートするために必要である。そ
れにより効果的なPCIとISA、あるいはPCIとM
C−Aのインターフェースを可能にする。ラインBRI
DGE_SIDEBANDは、SACP42とともに標
準バス・ブリッジ78に直接接続される。図11及び図
12を参照すると、これらのBRIDGE_SIDEB
AND信号は、標準バス・ブリッジ78がMC−A互換
であるかISA互換であるかによって異なる定義を有し
ている。ブリッジが許可されない場合、6個のサイドバ
ンド信号は識別情報(MC−AにおけるARBID
(0)乃至ARBID(3)、ISAにおけるISA_
DACK(0)乃至ISA_DACK(2))を含み、
これらはPCIバスへのアクセス要求を出しているI/
O装置を識別する。
【0048】本発明におけるMC−Aの態様を参照する
と、ARBID(0)乃至ARBID(3)によりBR
IDGE_SIDEBAND信号ラインは、PCIバス
22へのアクセスを要求している主PCI装置18及び
MC−A装置90に関する識別情報をSACP42へ送
るために用いられる。これら4本のラインの状態は、い
ずれの主PCI装置18がPACP2 108により管
理される初期調停プロセスに勝ったかをPACP102
に対して示し、さらに、いずれのMC−A装置90がC
ACP110により管理される初期調停プロセスに勝っ
たかをDACP104に対して示す。PACP2に対し
てバス・アクセス要求を出している主PCI装置を識別
する情報及びCACP110に対してバス・アクセス要
求を出しているMC−A装置を識別する情報を与えるこ
とにより、PACP及びDACPは、より公平に次のそ
れぞれの調停を可能にする。すなわち(i)主PCI装
置とCPUとの間、及び(ii)拡張ブリッジによりサポ
ートされるI/O装置と直接接続周辺I/O装置との間
である。
【0049】I/O制御装置44を介してPCIバスへ
のアクセス要求を出している周辺I/O装置56に関す
る識別情報は、直接接続MC−A装置サポート部分10
6の入力DARBIN(0−3)及び出力DARBOU
T(0−3)により伝送される。ここで、別々のDAR
BINライン及びDARBOUTラインが必要である。
なぜなら、CACP110と異なり、直接接続MC−A
装置サポート部分106は、オープンコレクタの双方向
調停識別ラインを備えていないからである。そうでない
場合、直接接続MC−A装置サポート部分106は、C
ACP110と同様に管理される。この方法では、DA
CP104は、CACP110から出された要求が、I
/O制御装置44から出された要求よりも優先権を有す
るか否かを判断し、そしてBANK1_REQ#をBA
CPへ送る。
【0050】周辺I/O装置56及び標準I/O装置9
0の全ては、調停優先順位を割当てられている。DAC
P104は、いずれの装置がPCIバス22へのアクセ
スを許可されるべきかを決定する際にこれらの優先順位
を比較する比較器を備えている。同様にPACP102
は、PACP2 108により出される要求がCPU2
4の要求よりも優先されるか否かを判断してBACP1
00に対してBANK0_REQ#を出す。BACP
は、各バンク・アービタに対して予め設定された時間を
与え、その間に、調停を行う装置のために適切なバンク
・アービタがPCIバス22の制御を得るように設定さ
れている。個々のバンク・アービタは、各々に割当てら
れた時間をさらに分割して関係するバンク装置に割当て
る。いずれのバンク要求もアクティブでない場合、BA
CPは、PACP上に一時的に置かれる。なぜならここ
にはCPU24が常駐しているからである。調停情報
は、CACP110及びPACP2 108の双方から
必要とされる。この情報は、調停サイドバンド信号を介
して主アービタへ与えられる。図13は、これらの信号
が多重化される1つの方法を示した表である。
【0051】各バンク・アービタは、関連するアイドル
信号及びタイムアウト信号を有し、これらはBACP1
00へ出力される。アイドル信号(PACP102につ
いてのPACP_IDLE、DACP104についての
DACP_IDLE、及びPCI2次ブリッジ80につ
いてのPSB_IDLE)に関しては、各バンク・アー
ビタが、設定可能な許可タイマ及びアイドル・タイマを
有する。許可タイマは、他のバンクがPCIバスへのア
クセスを要求しているときにバンクに与えられる最長の
時間長さを定義し、さらに、どのくらいの間BANK0
_GNT#が、BANK0_GNT#信号をとおしてア
クティブに駆動されるかを定義する。アイドル・タイマ
は、PCIバスへのアクセスを失う前にPCIバス上に
おいて装置が非アクティブでいられる最長の時間長さを
定義する。例えば、主PCIバスへのアクセスを許可さ
れた装置がそのバスにおける許可時間が切れる前にその
バス上でのデータ転送を完了するような場合、アイドル
・タイマはPCIバスのアクティブ状態をモニタしてお
り、そしてもし予め設定されたクロック・サイクルの間
にバスのアクティブ状態が検知されなければ、PCIバ
スへのアクセスは取消され、そして要求を行っている別
の装置へ与えられる。タイムアウト信号(PACP10
2についてはPACP_TOUT、DACP104につ
いてはDACP_TOUT、及びPCI2次ブリッジ8
0についてはPSB_TOUT)は、主PCIバスへの
アクセスを取消された装置が予め設定された時間内にそ
のバスを放棄できないときにアクティブになる。
【0052】CACP110へのBURST#入力は、
既に標準I/Oバスの制御を得ておりかつそのバスを介
して情報のバースト伝送が可能なMC−A装置に対し
て、バースト動作(標準I/Oバスを介する1以上のデ
ータ転送)を実行する準備ができたことを示す手段を提
供する。この要求に対してCACP110は応答し、標
準バスを介した全ての多重データ転送が完了するまで、
バースト転送を行っているI/O装置のために標準I/
Oバスの制御を許可モードに維持する。標準I/Oバス
を介したバースト転送が完了すると、I/O装置はBU
RST#要求ラインを非アクティブにし、そしてCAC
Pは、I/O装置がバスから離れて次の調停サイクルを
開始することを決定する。非バースト転送の状況では、
CACP110は、CACPへのS0/S1#、BUR
ST#及びCMD#入力上に転送終了が示されたとき、
I/O装置がバスから離れることを決定する。(直接接
続MC−A装置サポート部分106は、周辺I/O装置
がデータ転送を完了したことをDCHNLACT入力を
介して判断する。)
【0053】BRIDGE_SIDEBAND信号は、
上記の階層的調停システムを可能にすること以外に、D
MA制御装置によってモニタされることによりPCIバ
ス22を介した標準I/O装置90及びシステムメモリ
32によるDMAサイクルをサポートするために用いら
れる。PCIバス22を介したDMAサイクルをサポー
トするためには、3つの種類の信号が必要である。すな
わち、バス・サイクル制御信号、調停制御信号、及びD
MA制御信号である。バス・サイクル制御信号は、「PC
I Revision 2.0 Specification」に定義されている。調
停制御信号は、上記の図11に要約されている。DMA
制御信号は図12に要約されており、以下に詳述する。
このDMAサイクルのサポートを可能にするためにBR
IDGE_SIDEBAND信号のいくつかを多重化
し、SACP調停及び許可モードの動作中に異なる機能
をもたせるようにする。DMA制御信号と調停制御信号
との多重化により、PCIバス22上でDMAサイクル
のサポートを実行するために必要なピン数が減らされ
る。
【0054】I/O装置90がPCIバスへのアクセス
を許可されたことを、DACP104がBRIDGE_
GNT#ラインを介して示すと、I/Oブリッジ78上
のCACP110はこの許可状態の識別を(そのARB
GNT#ラインの状態を変更することにより)I/O装
置90へ渡す。その後、このI/O装置は、I/O読取
り又は書込みサイクルを開始することができる。もしこ
のI/O装置が標準I/Oバス92上でバス・マスタと
して動作することができるならば、読取り又は書込み動
作を容易にするためにDMA制御装置40は必要ない。
しかしながら、もしこのI/O装置がI/Oバス92上
でスレーブとして動作するならば、DMA制御装置40
がこのI/O装置のためにI/Oサイクルを管理する。
【0055】このI/O装置のためにI/Oサイクルを
管理するには、DMA制御装置40は、I/Oサイクル
を管理しようとしているI/O装置のバス・サイズ(す
なわち、その装置が8ビット、16ビット又は32ビッ
ト装置のいずれであるか)を判別しなければならない。
この動的バス・サイジングは、DMA制御装置40とI
/O装置90との間でデータが失われることを防ぐため
にI/Oブリッジ78において必要である。例えば、も
しDMA制御装置が32ビットの書込み動作を8ビット
のDMAスレーブに対して開始したならば、その32ビ
ットの書込み動作は4個の8ビット書込みサイクルに変
換されなければならない。もし、I/Oブリッジ78が
32ビットの情報をバッファし、引続いて変換サイクル
を実行し、そしてI/O装置がそれ以上データを受入れ
られないことを示したならば、それ以上I/O装置への
書込みを続行する手段はなく、あるいはデータをDMA
制御装置又はシステムメモリへ戻す手段もない。この状
況においてDMA制御装置は、I/O装置へデータが書
込まれていないことを知るすべがない。従って、I/O
ブリッジ78におけるデータの損失を防ぐために、DM
A制御装置40は、I/O装置へのデータ書込みが行わ
れていないことを認知できかつI/Oブリッジ78が変
換サイクルを実行しないように、動的にバス・サイズを
検知する必要がある。DMA制御装置40は、I/Oサ
イクルを実行しようとしているI/O装置のバス・サイ
ズを検知することにより、そのI/O装置が受入れられ
ないデータをバッファすることができ、そして必要であ
れば引続いてその装置への別の書込みサイクルを実行す
ることができる。
【0056】しかしながらこのバス・サイジング情報
は、PCIバス22がI/Oブリッジ78とDMA制御
装置40との間に直接与えるのではない。その代りに、
この情報は、多重化されたBRIDGE_SIDEBA
ND信号により与えられる。図12に示すように、BR
IDGE_SIDEBAND信号の全てではないがいく
つかは多重化されている。(MC−Aコンテキストにお
いては、調停モードのGNT#及びGNT1#が、許可
モードにおいてそれぞれTC#及びDMAACT#とし
て再定義されている。)TC#は、DMA制御装置によ
りアクティブにされる信号であり、特定のI/Oサイク
ルのデータの最後のバイトがブリッジへ又はブリッジか
ら転送された後にI/Oブリッジ78により読取られ
る。DMAACT#は、DMA制御装置がアクティブで
あるか否かを示し、そしてDMAスレーブ又はバス・マ
スタが許可されたか否かを判断するためにブリッジによ
り利用される。
【0057】DMAACT#がアクティブでない場合
は、I/Oバス92上のバス・マスタ装置に許可が与え
られたはずであり、従って前述のように、CACP11
0は、S0/S1#、BURST#及びCMD#入力に
より転送終りが示されたときバス・マスタ装置がバスか
ら離れることを決定する。しかしながら、DMAACT
#がアクティブである場合は、DMA制御装置40がI
/O装置90のためにメモリとの間の転送(I/Oサイ
クルであってメモリ・サイクルではない)を支援するべ
く稼働していることを示しており、従ってブリッジは、
いずれの変換サイクルも実行することを要しない。この
ときDMA制御装置は、変換サイクルを実行しようとし
ているI/O装置のために、多重化されたBRIDGE
_SIDEBAND信号からそのI/O装置の形式(す
なわち、8ビット、16ビット又は32ビット)を判断
した後に変換サイクルを実行する。これについて以下に
説明する。
【0058】DMAACT#は、全ての読取り及び書込
みが完了するまでロー(low)に維持される。I/O装
置は、BRIDGE_REQ信号を用いてDMAへ戻さ
れるBURST#を駆動することにより転送の長さを示
す。(I/Oブリッジは、最後のI/O読出し又は書込
みが生じるとき再び調停状態に入ることもあるが、SA
CP42は、DMAACT#ラインが非アクティブにな
りDMAがPCIバスを介するデータ転送を完了したこ
とを示すまでは許可状態のままでいなければならな
い。)
【0059】調停モードにおけるARBID(1)及び
ARBID(2)は、許可モードにおいてそれぞれBS
16#及びBS8#として再定義される。これらの信号
はそれぞれDMA制御装置40により読取られる。BS
8#をアクティブにすることによりCACP110は、
PCIバスのオーナシップを許可されたI/O装置が8
ビット装置であることをDMA制御装置に対して示す。
同様にBS16#をアクティブにすることによりCAC
P110は、PCIバスのオーナシップを許可されたI
/O装置が16ビット装置であることを示す。BS16
#及びBS8#のいずれも非アクティブである場合は、
32ビット装置であることを示す。調停モードにおける
ARBID(3)は、許可モードにおいてBSV#とし
て再定義される。BSV#は、I/Oブリッジ78によ
りアクティブにされ、BS16#信号及びBS8#信号
が有効である回数をDMA制御装置に対して示す。これ
ら3つの信号、BS16#、BS8#及びBSV#は、
DMA制御装置がI/Oサイクルを実行しようとしてい
るI/O装置を8ビット、16ビット又は32ビット装
置であると識別するために必要であり、そして、TC#
がブリッジ・サイクルに関連して正しいタイミングでア
クティブにされることを保証するために用いられる。
【0060】標準I/Oブリッジ78及びI/Oバス9
2のISAの実施例についても、調停モードにおけるG
NT0#及びGNT1#が、許可モードにおいてそれぞ
れTC#及びDMAACT#として再定義される。しか
しながらISAバスは、これに接続されているI/O装
置に対して専用のバンド幅を設けているので、バス・サ
イジング信号BSV#、BS8#及びBS16#は不要
である。ISAバスがサポートする8チャネルのうち、
4つが8ビット装置専用であり、3つが16ビット装置
専用である。よってDMA制御装置40は、それぞれの
チャネル上の装置の形式を認知しているので、ISAコ
ンテキストにおいてはこれらのラインに対応するBRI
DGE_SIDEBAND信号は用いられない。
【0061】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0062】(1)中央演算処理装置(CPU)と、前
記CPUがシステムメモリに対してデータの読取り及び
書込みを行うために該CPUを該システムメモリへ接続
する第1のシステム・バスと、前記CPUに接続される
第2のシステム・バスと、前記第2のシステム・バスを
周辺バスへ接続するホスト・ブリッジと、複数の標準入
出力(I/O)装置を接続している標準I/Oバスへ前
記周辺バスを接続するI/Oブリッジと、前記標準I/
Oバスへのアクセスを競う前記複数の標準I/O装置同
士の間を調停するための調停モードと、選択された標準
I/O装置に対して該I/Oバスへのアクセスが許可さ
れる許可モードにて機能する調停論理と、前記システム
メモリと前記選択された標準I/O装置との間で前記C
PUの介入無しにデータを転送すべく、該選択された標
準I/O装置のために直接メモリアクセス(DMA)サ
イクルを実行するDMA制御装置と、前記周辺バスを介
して実行される前記DMAサイクルをイネーブルにする
ためのDMAサポート論理とを有する、情報処理システ
ム。 (2)前記DMAサポート論理が、前記DMA制御装置
と前記I/Oブリッジとを直接接続するサイドバンド
(付加的)信号を有し、該サイドバンド信号は、該DM
A制御装置が前記DMAサイクルを実行しようとしてい
る前記選択された標準I/O装置のバス・サイズを識別
する情報を含む上記(1)に記載の情報処理システム。 (3)前記周辺バスが、PCI(Peripheral Component
Interconnect)アーキテクチャを構成する上記(2)に
記載の情報処理システム。 (4)前記DMA制御装置が、前記周辺バス上に常駐す
る上記(3)に記載の情報処理システム。 (5)前記DMA制御装置が、前記第2のシステム・バ
ス上に常駐する上記(3)に記載の情報処理システム。 (6)前記周辺バス及び前記第2のシステム・バスが、
少なくとも32ビットのデータ幅を有する上記(3)に
記載の情報処理システム。 (7)前記標準I/Oバスが、マイクロチャネル(MICRO
CHANNEL)・アーキテクチャを構成する上記(3)に記載
の情報処理システム。 (8)前記標準I/Oバスが、ISAアーキテクチャを
構成する上記(3)に記載の情報処理システム。 (9)前記第2のシステム・バス上に常駐しかつ該第2
のシステム・バスを周辺I/Oバスへ接続するI/O制
御装置と、前記周辺I/Oバスへ接続された複数の周辺
I/O装置とをさらに含み、前記DMA制御装置がさら
に、前記システムメモリと前記周辺I/O装置との間の
データ転送を前記CPUの介入無しに該周辺I/O装置
のために実行する、上記(3)に記載の情報処理システ
ム。 (10)前記調停論理が前記調停モードにあるときは第
1の機能を定義し、そして該調停論理が前記許可モード
にあるときは第2の機能を実行するために、前記サイド
バンド信号が多重化される上記(3)に記載の情報処理
システム。 (11)(i)第1のシステム・バスによりシステムメ
モリへ接続された中央演算処理装置(CPU)と、(i
i)前記CPUに接続された第2のシステム・バスと、
(iii)前記第2のシステム・バスを周辺バスへ接続す
るホスト・ブリッジと、(iv)複数の標準入出力(I/
O)装置を接続した標準I/Oバスへ前記周辺バスを接
続するI/Oブリッジと、(v)前記標準I/Oバスへ
のアクセスを競う前記複数の標準I/O装置同士の間を
調停する調停モードと、選択された標準I/O装置が前
記標準I/Oバスへのアクセスを許可された許可モード
にて機能する調停論理とを有するコンピュータ・システ
ムにおいて用いられる直接メモリアクセス(DMA)サ
ポート機構であって、前記システムメモリと前記選択さ
れた標準I/O装置との間で前記CPUの介入無しにデ
ータを転送するDMAサイクルを、該選択された標準I
/O装置のために実行するDMA制御装置と、前記DM
A制御装置と前記I/Oブリッジとを直接接続するサイ
ドバンド信号を備え、該サイドバンド信号は、該DMA
制御装置が前記DMAサイクルを実行しようとしている
前記選択された標準I/O装置のバス・サイズを識別す
る情報を含む、前記周辺バスを介して実行される該DM
AサイクルをイネーブルにするためのDMAサポート論
理とを有する、DMAサポート機構。 (12)前記周辺バスが、PCI(Peripheral Componen
t Interconnect)アーキテクチャを構成する上記(1
1)に記載のDMAサポート機構。 (13)前記DMA制御装置が、前記周辺バス上に常駐
する上記(12)に記載のDMAサポート機構。 (14)前記DMA制御装置が、前記第2のシステム・
バス上に常駐する上記(12)に記載のDMAサポート
機構。 (15)前記周辺バス及び前記第2のシステム・バス
が、少なくとも32ビットのデータ幅を有する上記(1
2)に記載のDMAサポート機構。 (16)前記標準I/Oバスが、マイクロチャネル(MIC
ROCHANNEL)・アーキテクチャを構成する上記(12)に
記載のDMAサポート機構。 (17)前記標準I/Oバスが、ISAアーキテクチャ
を構成する上記(12)に記載のDMAサポート機構。 (18)前記コンピュータ・システムがさらに、(i)前
記第2のシステム・バス上に常駐しかつ該第2のシステ
ム・バスを周辺I/Oバスへ接続するI/O制御装置
と、(ii)前記周辺I/Oバスに接続される複数の周辺
I/O装置を有し、前記DMA制御装置がさらに、前記
システムメモリと前記周辺I/O装置との間のデータ転
送を前記CPUの介入無しに該周辺I/O装置のために
実行する、上記(12)に記載のDMAサポート機構。 (19)前記調停論理が前記調停モードにあるときは第
1の機能を定義し、そして該調停論理が前記許可モード
にあるときは第2の機能を実行するために、前記サイド
バンド信号が多重化される上記(12)に記載のDMA
サポート機構。
【0063】以上のように、本発明によって、PCIバ
ス等の高性能バスを含むマルチプル・バス・コンピュー
タ・システムのためのDMAサイクルが提供される。
【図面の簡単な説明】
【図1】図2及び図3とともに、本発明により構築され
た情報処理システムを示すブロック図である。
【図2】図1及び図3とともに、本発明により構築され
た情報処理システムを示すブロック図である。
【図3】図1及び図2とともに、本発明により構築され
た情報処理システムを示すブロック図である。
【図4】図5及び図6とともに、図1のシステム内のシ
ステム調停制御ポイントの一実施例を示すブロック図で
ある。
【図5】図4及び図6とともに、図1のシステム内のシ
ステム調停制御ポイントの一実施例を示すブロック図で
ある。
【図6】図4及び図5とともに、図1のシステム内のシ
ステム調停制御ポイントの一実施例を示すブロック図で
ある。
【図7】図8乃至図10とともに、図1のシステム内の
システム調停制御ポイントの別の実施例を示すブロック
図である。
【図8】図7、図9及び図10とともに、図1のシステ
ム内のシステム調停制御ポイントの別の実施例を示すブ
ロック図である。
【図9】図7、図8及び図10とともに、図1のシステ
ム内のシステム調停制御ポイントの別の実施例を示すブ
ロック図である。
【図10】図7乃至図9とともに、図1のシステム内の
システム調停制御ポイントの別の実施例を示すブロック
図である。
【図11】図4乃至6及び図7乃至10に示した実施例
に対応する、調停モードにおけるシステム調停制御ポイ
ントへの入力の異なる定義を示す表である。
【図12】図4乃至6及び図7乃至10に示した実施例
に対応する、許可モードにおけるシステム調停制御ポイ
ントへの入力の異なる定義を示す表である。
【図13】多重化された調停サイドバンド信号を示す表
である。
【符号の説明】
14 システム・バス装置 16 システム・バス 18 主PCI装置 20 PCIホスト・ブリッジ 22 主PCIバス 24 CPU 28 デュアルバス・メモリ制御装置 32 ベースシステムメモリ 40 DMA制御装置 42 システム調停制御ポイント(SACP) 44 I/O制御装置 46 PCMCIA制御装置 48 パワー管理制御装置 56 周辺I/O装置 78 標準バス・ブリッジ 80 PCI2次ブリッジ 90 標準I/O装置 94 2次PCI装置 100 バンク調停制御装置(BACP) 102 PCI調停制御ポイント(PACP) 104 直接接続調停制御ポイント(DACP) 106 直接接続MC−A装置サポート 108 PACP2 110 中央調停制御ポイント(CACP)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パトリック・モーリス・ブランド アメリカ合衆国33445 フロリダ州、デル レイ・ビーチ、パーム・リッジ・ブールバ ード 4535 (72)発明者 ベチャラ・フアウド・ボウリ− アメリカ合衆国33434 フロリダ州、ボ カ・ラトン、ノースウェスト・トゥエンテ ィエイス・アベニュー 3008 (72)発明者 リチャード・ジェラルド・フォフマン アメリカ合衆国33437 フロリダ州、ボイ ントン・ビーチ、シダー・レイク・ロー ド、アパートメント・ナンバー・テン−ト ゥエンティエイト 5325 (72)発明者 テレンス・ジョセフ・ローマン アメリカ合衆国33486 フロリダ州、ボ カ・ラトン、サウスウェスト・フィフス・ ストリート 1069

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】中央演算処理装置(CPU)と、 前記CPUがシステムメモリに対してデータの読取り及
    び書込みを行うために該CPUを該システムメモリへ接
    続する第1のシステム・バスと、 前記CPUに接続される第2のシステム・バスと、 前記第2のシステム・バスを周辺バスへ接続するホスト
    ・ブリッジと、 複数の標準入出力(I/O)装置を接続している標準I
    /Oバスへ前記周辺バスを接続するI/Oブリッジと、 前記標準I/Oバスへのアクセスを競う前記複数の標準
    I/O装置同士の間を調停するための調停モードと、選
    択された標準I/O装置に対して該I/Oバスへのアク
    セスが許可される許可モードにて機能する調停論理と、 前記システムメモリと前記選択された標準I/O装置と
    の間で前記CPUの介入無しにデータを転送すべく、該
    選択された標準I/O装置のために直接メモリアクセス
    (DMA)サイクルを実行するDMA制御装置と、 前記周辺バスを介して実行される前記DMAサイクルを
    イネーブルにするためのDMAサポート論理とを有す
    る、 情報処理システム。
  2. 【請求項2】前記DMAサポート論理が、前記DMA制
    御装置と前記I/Oブリッジとを直接接続するサイドバ
    ンド(付加的)信号を有し、該サイドバンド信号は、該
    DMA制御装置が前記DMAサイクルを実行しようとし
    ている前記選択された標準I/O装置のバス・サイズを
    識別する情報を含む請求項1に記載の情報処理システ
    ム。
  3. 【請求項3】前記周辺バスが、PCI(Peripheral Comp
    onent Interconnect)アーキテクチャを構成する請求項
    2に記載の情報処理システム。
  4. 【請求項4】前記DMA制御装置が、前記周辺バス上に
    常駐する請求項3に記載の情報処理システム。
  5. 【請求項5】前記DMA制御装置が、前記第2のシステ
    ム・バス上に常駐する請求項3に記載の情報処理システ
    ム。
  6. 【請求項6】前記周辺バス及び前記第2のシステム・バ
    スが、少なくとも32ビットのデータ幅を有する請求項
    3に記載の情報処理システム。
  7. 【請求項7】前記標準I/Oバスが、マイクロチャネル
    (MICROCHANNEL)・アーキテクチャを構成する請求項3に
    記載の情報処理システム。
  8. 【請求項8】前記標準I/Oバスが、ISAアーキテク
    チャを構成する請求項3に記載の情報処理システム。
  9. 【請求項9】前記第2のシステム・バス上に常駐しかつ
    該第2のシステム・バスを周辺I/Oバスへ接続するI
    /O制御装置と、 前記周辺I/Oバスへ接続された複数の周辺I/O装置
    とをさらに含み、 前記DMA制御装置がさらに、前記システムメモリと前
    記周辺I/O装置との間のデータ転送を前記CPUの介
    入無しに該周辺I/O装置のために実行する、 請求項3に記載の情報処理システム。
  10. 【請求項10】前記調停論理が前記調停モードにあると
    きは第1の機能を定義し、そして該調停論理が前記許可
    モードにあるときは第2の機能を実行するために、前記
    サイドバンド信号が多重化される請求項3に記載の情報
    処理システム。
  11. 【請求項11】(i)第1のシステム・バスによりシス
    テムメモリへ接続された中央演算処理装置(CPU)
    と、(ii)前記CPUに接続された第2のシステム・バ
    スと、(iii)前記第2のシステム・バスを周辺バスへ
    接続するホスト・ブリッジと、(iv)複数の標準入出力
    (I/O)装置を接続した標準I/Oバスへ前記周辺バ
    スを接続するI/Oブリッジと、(v)前記標準I/O
    バスへのアクセスを競う前記複数の標準I/O装置同士
    の間を調停する調停モードと、選択された標準I/O装
    置が前記標準I/Oバスへのアクセスを許可された許可
    モードにて機能する調停論理とを有するコンピュータ・
    システムにおいて用いられる直接メモリアクセス(DM
    A)サポート機構であって、 前記システムメモリと前記選択された標準I/O装置と
    の間で前記CPUの介入無しにデータを転送するDMA
    サイクルを、該選択された標準I/O装置のために実行
    するDMA制御装置と、 前記DMA制御装置と前記I/Oブリッジとを直接接続
    するサイドバンド信号を備え、該サイドバンド信号は、
    該DMA制御装置が前記DMAサイクルを実行しようと
    している前記選択された標準I/O装置のバス・サイズ
    を識別する情報を含む、前記周辺バスを介して実行され
    る該DMAサイクルをイネーブルにするためのDMAサ
    ポート論理とを有する、DMAサポート機構。
  12. 【請求項12】前記周辺バスが、PCI(Peripheral Co
    mponent Interconnect)アーキテクチャを構成する請求
    項11に記載のDMAサポート機構。
  13. 【請求項13】前記DMA制御装置が、前記周辺バス上
    に常駐する請求項12に記載のDMAサポート機構。
  14. 【請求項14】前記DMA制御装置が、前記第2のシス
    テム・バス上に常駐する請求項12に記載のDMAサポ
    ート機構。
  15. 【請求項15】前記周辺バス及び前記第2のシステム・
    バスが、少なくとも32ビットのデータ幅を有する請求
    項12に記載のDMAサポート機構。
  16. 【請求項16】前記標準I/Oバスが、マイクロチャネ
    ル(MICROCHANNEL)・アーキテクチャを構成する請求項1
    2に記載のDMAサポート機構。
  17. 【請求項17】前記標準I/Oバスが、ISAアーキテ
    クチャを構成する請求項12に記載のDMAサポート機
    構。
  18. 【請求項18】前記コンピュータ・システムがさらに、
    (i)前記第2のシステム・バス上に常駐しかつ該第2の
    システム・バスを周辺I/Oバスへ接続するI/O制御
    装置と、(ii)前記周辺I/Oバスに接続される複数の
    周辺I/O装置を有し、前記DMA制御装置がさらに、
    前記システムメモリと前記周辺I/O装置との間のデー
    タ転送を前記CPUの介入無しに該周辺I/O装置のた
    めに実行する、請求項12に記載のDMAサポート機
    構。
  19. 【請求項19】前記調停論理が前記調停モードにあると
    きは第1の機能を定義し、そして該調停論理が前記許可
    モードにあるときは第2の機能を実行するために、前記
    サイドバンド信号が多重化される請求項12に記載のD
    MAサポート機構。
JP6108859A 1993-05-28 1994-05-24 マルチプル・バス情報処理システムにおける直接メモリアクセス機構 Expired - Lifetime JP2505114B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/068,477 US5450551A (en) 1993-05-28 1993-05-28 System direct memory access (DMA) support logic for PCI based computer system
US068477 1993-05-28

Publications (2)

Publication Number Publication Date
JPH06337840A true JPH06337840A (ja) 1994-12-06
JP2505114B2 JP2505114B2 (ja) 1996-06-05

Family

ID=22082827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6108859A Expired - Lifetime JP2505114B2 (ja) 1993-05-28 1994-05-24 マルチプル・バス情報処理システムにおける直接メモリアクセス機構

Country Status (10)

Country Link
US (1) US5450551A (ja)
EP (1) EP0628914B1 (ja)
JP (1) JP2505114B2 (ja)
KR (1) KR970000842B1 (ja)
CN (1) CN1069426C (ja)
AT (1) ATE186412T1 (ja)
BR (1) BR9402105A (ja)
CA (1) CA2124031C (ja)
DE (1) DE69421453T2 (ja)
TW (1) TW260769B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7198191B2 (en) 2003-08-28 2007-04-03 Canon Kabushiki Kaisha Signal processing apparatus for recording or playing back data

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5655151A (en) * 1994-01-28 1997-08-05 Apple Computer, Inc. DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
US5761450A (en) * 1994-02-24 1998-06-02 Intel Corporation Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
US5805834A (en) * 1994-03-30 1998-09-08 Zilog, Inc. Hot reconfigurable parallel bus bridging circuit
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
KR100366859B1 (ko) * 1994-06-08 2003-04-07 인텔 코오퍼레이션 Pci버스상에서이용되는디스크드라이브커넥터인터페이스
WO1996008773A2 (en) * 1994-09-16 1996-03-21 Cirrus Logic, Inc. Pcmcia dma data bus mastering
US5546590A (en) * 1994-09-19 1996-08-13 Intel Corporation Power down state machine for PCMCIA PC card applications
US5619726A (en) * 1994-10-11 1997-04-08 Intel Corporation Apparatus and method for performing arbitration and data transfer over multiple buses
US5619728A (en) * 1994-10-20 1997-04-08 Dell Usa, L.P. Decoupled DMA transfer list storage technique for a peripheral resource controller
US5555383A (en) * 1994-11-07 1996-09-10 International Business Machines Corporation Peripheral component interconnect bus system having latency and shadow timers
US5623697A (en) * 1994-11-30 1997-04-22 International Business Machines Corporation Bridge between two buses of a computer system with a direct memory access controller having a high address extension and a high count extension
US5621902A (en) * 1994-11-30 1997-04-15 International Business Machines Corporation Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller
US5561820A (en) * 1994-11-30 1996-10-01 International Business Machines Corporation Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels
US5678064A (en) * 1994-12-01 1997-10-14 International Business Machines Corporation Local bus-ISA bridge for supporting PIO and third party DMA data transfers to IDE drives
US5642489A (en) * 1994-12-19 1997-06-24 International Business Machines Corporation Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US5867717A (en) * 1994-12-22 1999-02-02 Texas Instruments Incorporated Dynamic system clocking and address decode circuits, methods and systems
US5835733A (en) * 1994-12-22 1998-11-10 Texas Instruments Incorporated Method and apparatus for implementing a single DMA controller to perform DMA operations for devices on multiple buses in docking stations, notebook and desktop computer system
US5568619A (en) * 1995-01-05 1996-10-22 International Business Machines Corporation Method and apparatus for configuring a bus-to-bus bridge
US6212589B1 (en) * 1995-01-27 2001-04-03 Intel Corporation System resource arbitration mechanism for a host bridge
US5596729A (en) * 1995-03-03 1997-01-21 Compaq Computer Corporation First arbiter coupled to a first bus receiving requests from devices coupled to a second bus and controlled by a second arbiter on said second bus
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
US5664197A (en) * 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5590377A (en) * 1995-06-07 1996-12-31 Ast Research, Inc. Automatic control of distributed DMAs in a PCI bus system supporting dual ISA buses
US5761443A (en) * 1995-06-07 1998-06-02 Advanced Micro Systems, Inc. Computer system employing a bus conversion bridge for interfacing a master device residing on a multiplexed peripheral bus to a slave device residing on a split-address, split-data multiplexed peripheral bus
US5692219A (en) * 1995-06-07 1997-11-25 Dell Usa, Lp System and method for disabling or re-enabling PCI-compliant devices in a computer system by masking the idsel signal with a disable or re-enable signal
US6219754B1 (en) 1995-06-07 2001-04-17 Advanced Micro Devices Inc. Processor with decompressed video bus
US5978860A (en) * 1995-06-07 1999-11-02 Dell Usa, L.P. System and method for disabling and re-enabling at least one peripheral device in a computer system by masking a device-configuration-space-access-signal with a disable or re-enable signal
US5752081A (en) * 1995-06-08 1998-05-12 Vlsi Technology, Inc. Signalling system and method for allowing a direct memory access (DMA) input/output (I/O) device on the peripheral component interconnect (PCI) bus to perform DMA transfers
JP3576647B2 (ja) * 1995-08-11 2004-10-13 株式会社東芝 コンピュータシステム
US5790897A (en) * 1995-08-21 1998-08-04 New Media Corp. Plug-in computer card with internal audio speaker element
US5644734A (en) * 1995-08-24 1997-07-01 Ncr Corporation Method and apparatus for multiplexing bus connector signals with sideband signals
US5752076A (en) * 1995-08-31 1998-05-12 Intel Corporation Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US5784650A (en) * 1995-09-11 1998-07-21 Avanced Micro Devices, Inc. System for increasing multimedia performance and other real time applications by including a local expansion bus and a multimedia bus on the computer system motherboard
US5784592A (en) * 1995-09-11 1998-07-21 Advanced Micro Devices, Inc. Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance
US5812800A (en) * 1995-09-11 1998-09-22 Advanced Micro Devices, Inc. Computer system which includes a local expansion bus and a dedicated real-time bus and including a multimedia memory for increased multi-media performance
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5805842A (en) * 1995-09-26 1998-09-08 Intel Corporation Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US5754807A (en) * 1995-11-20 1998-05-19 Advanced Micro Devices, Inc. Computer system including a multimedia bus which utilizes a separate local expansion bus for addressing and control cycles
US5754801A (en) * 1995-11-20 1998-05-19 Advanced Micro Devices, Inc. Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers
US5905879A (en) * 1995-11-20 1999-05-18 Advanced Micro Devices, Inc. System and method for transferring periodic data streams on a multimedia bus
US5682484A (en) * 1995-11-20 1997-10-28 Advanced Micro Devices, Inc. System and method for transferring data streams simultaneously on multiple buses in a computer system
US5797018A (en) * 1995-12-07 1998-08-18 Compaq Computer Corporation Apparatus and method of preventing a deadlock condition in a computer system
US5748921A (en) * 1995-12-11 1998-05-05 Advanced Micro Devices, Inc. Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory
JP3403284B2 (ja) * 1995-12-14 2003-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム及びその制御方法
US5764929A (en) * 1995-12-18 1998-06-09 International Business Machines Corporation Method and apparatus for improving bus bandwidth by reducing redundant access attempts
US6134622A (en) * 1995-12-27 2000-10-17 Intel Corporation Dual mode bus bridge for computer system
US6148356A (en) * 1995-12-27 2000-11-14 Intel Corporation Scalable computer system
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US5963721A (en) * 1995-12-29 1999-10-05 Texas Instruments Incorporated Microprocessor system with capability for asynchronous bus transactions
US5859990A (en) * 1995-12-29 1999-01-12 Intel Corporation System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices
US5790814A (en) * 1996-01-23 1998-08-04 Dell U.S.A., L.P. Technique for supporting semi-compliant PCI devices behind a PCI-to-PCI bridge
KR0167726B1 (ko) * 1996-01-30 1999-01-15 김광호 버스의 우선권 선택장치
US5911051A (en) * 1996-03-29 1999-06-08 Intel Corporation High-throughput interconnect allowing bus transactions based on partial access requests
US6317803B1 (en) 1996-03-29 2001-11-13 Intel Corporation High-throughput interconnect having pipelined and non-pipelined bus transaction modes
US5778194A (en) * 1996-04-08 1998-07-07 Symbios, Inc. Method and apparatus for measuring performance of a computer bus
US5845151A (en) * 1996-04-08 1998-12-01 Vlsi Technology, Inc. System using descriptor and having hardware state machine coupled to DMA for implementing peripheral device bus mastering via USB controller or IrDA controller
US5774744A (en) * 1996-04-08 1998-06-30 Vlsi Technology, Inc. System using DMA and descriptor for implementing peripheral device bus mastering via a universal serial bus controller or an infrared data association controller
SG77135A1 (en) * 1996-04-26 2000-12-19 Texas Instruments Inc Method and system for assigning a channel number to a received data packet
US5898892A (en) * 1996-05-17 1999-04-27 Advanced Micro Devices, Inc. Computer system with a data cache for providing real-time multimedia data to a multimedia engine
US5754884A (en) * 1996-05-20 1998-05-19 Advanced Micro Devices Method for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller
US5748944A (en) * 1996-05-31 1998-05-05 International Business Machines Corporation Apparatus for slave DMA emulation on a computer system bus
US5748945A (en) * 1996-05-31 1998-05-05 International Business Machiens Corporation Method for slave DMA emulation on a computer system bus
US6000043A (en) * 1996-06-28 1999-12-07 Intel Corporation Method and apparatus for management of peripheral devices coupled to a bus
US5802269A (en) * 1996-06-28 1998-09-01 Intel Corporation Method and apparatus for power management of distributed direct memory access (DDMA) devices
US5748640A (en) * 1996-09-12 1998-05-05 Advanced Micro Devices Technique for incorporating a built-in self-test (BIST) of a DRAM block with existing functional test vectors for a microprocessor
US5867645A (en) * 1996-09-30 1999-02-02 Compaq Computer Corp. Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system
US5805836A (en) * 1996-12-10 1998-09-08 International Business Machines Corporation Method and apparatus for equalizing grants of a data bus to primary and secondary devices
US5907689A (en) * 1996-12-31 1999-05-25 Compaq Computer Corporation Master-target based arbitration priority
US5974496A (en) * 1997-01-02 1999-10-26 Ncr Corporation System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card
US5978866A (en) * 1997-03-10 1999-11-02 Integrated Technology Express, Inc. Distributed pre-fetch buffer for multiple DMA channel device
US6016525A (en) * 1997-03-17 2000-01-18 Lsi Logic Corporation Inter-bus bridge circuit with integrated loopback capability and method for use of same
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US6195593B1 (en) 1997-09-03 2001-02-27 Seiko Epson Corporation Reusable modules for complex integrated circuit devices
US6442632B1 (en) 1997-09-05 2002-08-27 Intel Corporation System resource arbitration mechanism for a host bridge
US6393508B2 (en) 1997-09-30 2002-05-21 Texas Instruments Incorporated Method and apparatus for multiple tier intelligent bus arbitration on a PCI to PCI bridge
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6230219B1 (en) 1997-11-10 2001-05-08 International Business Machines Corporation High performance multichannel DMA controller for a PCI host bridge with a built-in cache
US6098133A (en) * 1997-11-28 2000-08-01 Motorola, Inc. Secure bus arbiter interconnect arrangement
US6233639B1 (en) 1999-01-04 2001-05-15 International Business Machines Corporation Memory card utilizing two wire bus
US6615291B1 (en) * 1999-03-08 2003-09-02 Minolta Co., Ltd. DMA controller with dynamically variable access priority
US6560740B1 (en) 1999-08-03 2003-05-06 Advanced Micro Devices, Inc. Apparatus and method for programmable built-in self-test and self-repair of embedded memory
US6463483B1 (en) * 2000-01-19 2002-10-08 Bae Systems Controls, Inc. Low latency input-output interface
US6636929B1 (en) 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US6732234B1 (en) 2000-08-07 2004-05-04 Broadcom Corporation Direct access mode for a cache
US6748492B1 (en) * 2000-08-07 2004-06-08 Broadcom Corporation Deterministic setting of replacement policy in a cache through way selection
US6848024B1 (en) 2000-08-07 2005-01-25 Broadcom Corporation Programmably disabling one or more cache entries
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US6748495B2 (en) 2001-05-15 2004-06-08 Broadcom Corporation Random generator
US6715042B1 (en) * 2001-10-04 2004-03-30 Cirrus Logic, Inc. Systems and methods for multiport memory access in a multimaster environment
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
TW576977B (en) * 2002-09-11 2004-02-21 Sunplus Technology Co Ltd Structure and method for planning control commands and data access
US20040059862A1 (en) * 2002-09-24 2004-03-25 I-Bus Corporation Method and apparatus for providing redundant bus control
US7493429B2 (en) * 2003-07-08 2009-02-17 Microsoft Corporation Communication of information via a side-band channel, and use of same to verify positional relationship
EP1899825B1 (en) * 2005-06-30 2009-07-22 Freescale Semiconductor, Inc. Device and method for controlling multiple dma tasks
WO2007003986A1 (en) 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for controlling an execution of a dma task
EP1899828B1 (en) 2005-06-30 2009-11-25 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
US20090125647A1 (en) * 2005-06-30 2009-05-14 Citibank, N.A. Device And Method For Executing A DMA Task
US7525957B2 (en) * 2005-09-01 2009-04-28 Emulex Design & Manufacturing Corporation Input/output router for storage networks
US8239587B2 (en) 2006-01-18 2012-08-07 Freescale Semiconductor, Inc. Device having data sharing capabilities and a method for sharing data
US7949815B2 (en) * 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing
KR100868766B1 (ko) * 2007-01-31 2008-11-17 삼성전자주식회사 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치
US7689758B2 (en) * 2007-07-12 2010-03-30 Atmel Corporation Dual bus matrix architecture for micro-controllers
US8255593B2 (en) * 2009-09-29 2012-08-28 Oracle America, Inc. Direct memory access with striding across memory
US9542251B2 (en) * 2013-10-30 2017-01-10 Oracle International Corporation Error detection on a low pin count bus
CN104731744B (zh) * 2015-03-13 2017-07-04 中国航天科技集团公司第九研究院第七七一研究所 一种基于SiP的可重构嵌入式计算机模块

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101478A (en) * 1985-06-28 1992-03-31 Wang Laboratories, Inc. I/O structure for information processing system
US5003465A (en) * 1988-06-27 1991-03-26 International Business Machines Corp. Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
US5276845A (en) * 1988-08-25 1994-01-04 Yamaha Corporation Apparatus with multiple buses for permitting concurrent access to a first memory by a processor while a DMA transfer is occurring between a second memory and a communications buffer
US5083259A (en) * 1988-12-07 1992-01-21 Xycom, Inc. Computer bus interconnection device
JP2986176B2 (ja) * 1990-05-11 1999-12-06 株式会社日立製作所 バス権制御方式およびバスシステム
EP0472274A1 (en) * 1990-08-24 1992-02-26 International Business Machines Corporation Data processing apparatus having connectors to receive system components
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5280623A (en) * 1992-03-04 1994-01-18 Sun Microsystems, Inc. Versatile peripheral bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7198191B2 (en) 2003-08-28 2007-04-03 Canon Kabushiki Kaisha Signal processing apparatus for recording or playing back data

Also Published As

Publication number Publication date
EP0628914A1 (en) 1994-12-14
ATE186412T1 (de) 1999-11-15
TW260769B (ja) 1995-10-21
CA2124031A1 (en) 1994-11-29
JP2505114B2 (ja) 1996-06-05
CA2124031C (en) 1999-08-24
BR9402105A (pt) 1994-12-27
CN1069426C (zh) 2001-08-08
US5450551A (en) 1995-09-12
DE69421453D1 (de) 1999-12-09
EP0628914B1 (en) 1999-11-03
DE69421453T2 (de) 2000-05-18
CN1098527A (zh) 1995-02-08
KR970000842B1 (ko) 1997-01-20

Similar Documents

Publication Publication Date Title
JP2505114B2 (ja) マルチプル・バス情報処理システムにおける直接メモリアクセス機構
JP2552085B2 (ja) マルチプル・バスの調停論理のためのシステム及び方法
AU651747B2 (en) Arbitration control logic for computer system having dual bus architecture
US5805842A (en) Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
EP1163593B1 (en) Apparatus for communicating between multiple functional units in a computer environment
JP2001075918A (ja) 可変優先順位およびフェアネスを使用する、機能強化されたバス・アービタ
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
JPH0218657A (ja) 複数バス・マイクロコンピユータ・システム
US5796968A (en) Bus arbiter used in a computer system
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
KR100347076B1 (ko) 2차 버스로부터의 메시징 유닛 액세스
US6606677B1 (en) High speed interrupt controller
US6959354B2 (en) Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
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
EP1811393B1 (en) Method and system for data transfer
US5983025A (en) Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses
JPH0981507A (ja) コンピュータシステム
US5857081A (en) Method and apparatus for controlling a master abort in a computer system
US5850529A (en) Method and apparatus for detecting a resource lock on a PCI bus
US6327636B1 (en) Ordering for pipelined read transfers
US6370593B1 (en) Apparatus for multiplexing bus interfaces on a computer expansion
US5838930A (en) Method and apparatus for controlling a command cycle on a bus
US6823421B2 (en) Method, apparatus, and system for maintaining conflict-free memory address space for input/output memory subsystems

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 17

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 17

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 17

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 18

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term