JP2571673B2 - 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 - Google Patents

多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置

Info

Publication number
JP2571673B2
JP2571673B2 JP6109394A JP10939494A JP2571673B2 JP 2571673 B2 JP2571673 B2 JP 2571673B2 JP 6109394 A JP6109394 A JP 6109394A JP 10939494 A JP10939494 A JP 10939494A JP 2571673 B2 JP2571673 B2 JP 2571673B2
Authority
JP
Japan
Prior art keywords
address
bus
range
information processing
processing system
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.)
Expired - Lifetime
Application number
JP6109394A
Other languages
English (en)
Other versions
JPH0713908A (ja
Inventor
ナダー・アミニ
アシュ・コーリ
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 JPH0713908A publication Critical patent/JPH0713908A/ja
Application granted granted Critical
Publication of JP2571673B2 publication Critical patent/JP2571673B2/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的には情報処理シ
ステムに関し、具体的には、データがその上で多重化さ
れる、情報処理システム中のバス上でのバック・ツー・
バック・データ転送を提供する方法および装置に関す
る。
【0002】
【従来の技術】情報処理システムは通常、主要構成要素
として中央演算処理装置(CPU)を有する。中央演算
処理装置は、システム中のすべての通信を方向付けし、
情報処理システムによって実行されるすべてのコマンド
の調和をはかる。情報処理システムは通常、バスと呼ば
れる物理接続装置のネットワークも有する。このネット
ワークは、CPUを任意の数の周辺装置に接続して、C
PUが該周辺装置と通信できるようにする。
【0003】情報処理システムで使用される1つのバス
・タイプは多重化バスである。多重化バスは、それぞれ
異なる情報を含み、同じ通信線上で動作する、異なる信
号を有する。たとえば、多重化バスでは、特定のレジス
タ・アドレスを示す情報と、そのレジスタ・アドレスか
ら読み取るべきあるいは該アドレスに書き込むべきデー
タ情報とを、同じ通信線上で多重化することができる。
これに対し、非多重化バスまたは並列バスは、アドレス
情報用とデータ用の別々の2種類の通信線を有する。
【0004】多重化バスは、必要とする面積が並列バス
よりもはるかに少ないという点で、並列バスよりも有利
である。各通信線が複数の信号を送ることができるの
で、多重化バスが必要とする通信線の量は並列バスの約
半分である。さらに、多重化バスと互換性のある周辺装
置が必要とするバスとの接続点またはピンは、並列バス
と互換性のある装置の約半分である。したがって、多重
化バスの全体的な寸法は、並列バスより小さく、多重化
バスと共に使用される周辺装置も、並列バスと共に使用
される装置より小さい。したがって、このような小型の
ハードウェア装置が情報処理システム全体で必要とする
空間は、並列バスを使用するシステムより少ない。その
ようなシステムでは常に空間が貴重なので、多重化バス
は並列バスよりも有利である。
【0005】しかし、情報処理システムで多重化バスを
使用すると、システムの構成要素がバスの使用を求めて
競合するという別の問題が発生する。情報処理システム
の構成要素とは、CPU、周辺装置、およびシステム中
のバス上に情報を送信し、あるいは該バスから情報を受
信できる他のハードウェア装置である。任意のある時点
で特定のバスの1本の通信線上で情報を送信できるシス
テム中の構成要素は1つだけである。実際には、ある構
成要素が、他の構成要素が通信線を使用している間に該
線上での情報の送信を試みる場合、情報処理システムに
電気的損傷が発生する。したがって、多重化バス上では
線が少なく、これらの線のそれぞれが複数の信号を送る
ので、情報処理システムの構成要素は常にバスの通信線
の制御を得るために相互に競合する。この競合によって
様々な通信線の使用を待つ構成要素の待ち行列が作成さ
れ、それによって情報処理システムでデータが転送され
る速度が低下する。
【0006】さらに、ある構成要素が通信線上での情報
の送信を停止すると、通信線がターンアラウンド(送受
反転)サイクルと呼ばれる停止期間を完了しないかぎ
り、その通信線を他の構成要素が使用することはできな
い。ターンアラウンド・サイクル中には、通信線は停止
し、どの構成要素からの新しい情報の受入れも拒否す
る。バスは、ターンアラウンド・サイクル中、基本的に
動作不能である。多重化バス上でターンアラウンド・サ
イクルが必要なのは、2つの装置がバス上で同時に情報
を送信して上述の電気的損傷を発生させることのないよ
うにするためである。ターンアラウンド・サイクルによ
って、多重化バスの速度はさらに低下する。
【0007】速度の低下は、多重化バスの欠点である。
多重化バス上でのデータ転送速度を高めるための様々な
技術を実施することが望ましい。
【0008】
【発明が解決しようとする課題】多重化バスの速度を高
めるために使用できる1つの技術は、ある種のデータ転
送でターンアラウンド・サイクルをなくして、データ転
送を「バック・ツー・バック(back-to-back)」で実行
できるようにすることである。したがって、ある種のタ
ーンアラウンド・サイクルをなくしたバック・ツー・バ
ック・データ転送を提供する方法および装置が必要であ
る。
【0009】
【課題を解決するための手段】したがって、本発明は情
報処理システム中のバス上でバック・ツー・バック転送
を行うための装置を提供する。本発明の装置は、第1の
アドレス値および第2のアドレスがある範囲内にあるか
どうかを判定するための検出器と、検出器に接続され
た、装置が第2のアドレスを生成するまで第1のアドレ
スを記憶するための第1のレジスタと、検出器に接続さ
れた、範囲の値を記憶するための第2のレジスタと、第
1のアドレスと第2のアドレスがその範囲内にあると検
出器が判定した場合にターンアラウンド・サイクルなし
で周辺バス上で第2のアドレスをドライブするための、
転送状態論理機構とを含む。これによって、バック・ツ
ー・バック転送が実行される。
【0010】
【実施例】図1乃至図3は、マルチバス情報処理システ
ム10であり、(i)システム・バス(S−バス)16
を介してシステム・バス装置14へ接続されるプロセッ
サ、キャッシュ及びメモリの複合体12、及び(ii)主
PCIバス22を介してシステム・バス装置の1つであ
る主PCIホスト・ブリッジ20に接続される主PCI
装置18から構成されている。図1乃至図3に示された
プロセッサ、キャッシュ及びメモリの複合体12、シス
テム・バス装置14、主PCI装置18、及び他の構成
要素については、以下により詳細に記述する。
【0011】プロセッサ、キャッシュ及びメモリの複合
体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内に組込み可能ないずれの自己検査機能を
も制御する。
【0012】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」)からなる。
【0013】ベースシステムメモリ32はシステムワイ
ドな記憶能力を提供し、非インターリーブなメモリ・カ
ード又はインターリーブなメモリ・カードのいずれによ
っても構成することができる。CPUキャッシュ30
は、ベースシステムメモリ32又はシステム10の外に
設置された拡張メモリのいずれかに入っている情報を短
期間記憶することができる。このような拡張メモリは、
例えば、システムの周辺に接続されたI/O装置に設置
することができる。CPUキャッシュ30は、ランダム
アクセスメモリ(RAM、図示せず)を有しており、C
PU24により頻繁にアクセスされるベースシステムメ
モリ32のアドレス場所を一時的に記憶するために用い
られる。CPU24は、CPUキャッシュ30内に記憶
された情報に直接アクセスする。一方ベースシステムメ
モリ32内に記憶された情報へのアクセスはメモリ制御
装置28により処理されなければならない。
【0014】ベースシステムメモリ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サイクルを送る。
【0015】システム・クロック・モジュール38は、
システム・バス装置14のために1つのクロックを与
え、CPU24に対して一対のクロック信号を与える。
好適例では、システム・バスに与えられるクロック信号
は33MHzで動作する。CPU24に与えられる2つ
の信号は、それぞれ33MHz及び66MHzで動作す
る。CPU24は、内部では66MHzで動作するがC
PUローカル・バス34を介しては33MHzで通信す
るために、2つのクロック信号を必要とする。
【0016】プロセッサ、キャッシュ及びメモリの複合
体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に接続できるように考
慮されている。
【0017】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を含
む様々なポートをサポートする。
【0018】システム・バス16上のシステム・バス装
置14をサポートする以外に、システム10はまた、第
2の高速高バンド幅のバスをもサポートする。それは好
適例では主PCIバス22である。システム10内の主
PCI装置18は、主PCIバス22を介して互いに通
信する。PCIバス22は、PCIと呼ばれる新しいバ
ス・アーキテクチャを備えている。主PCIバス22
は、高性能バスである。すなわち、主PCIバス22
は、比較的短時間に大量のデータ転送、すなわち毎秒最
大120メガバイトのデータ転送を行う。PCIバスが
このように高レベルの性能を達成するのは、1つには、
これをSバス14などの他の高速バスに直接リンクする
ことができ、したがってCPU24または他のSバス装
置14と主PCI装置18の間で高速データ転送が提供
できるからである。実際に、ある種のグラフィクス・パ
ッケージなどいくつかの高集積度装置を操作するには、
PCIバス22などの高性能バスを介してSバスなどの
システム・バスに直接リンクする必要がある。
【0019】また、PCIバス・アーキテクチャは、接
続された周辺装置を操作するのに「グルー・ロジック
(付加的な論理回路)」を必要としない。他のバス用の
グルー・ロジックは通常、周辺装置とバスの中間に設置
されたデコーダ、バッファ、ラッチなどの様々なハード
ウェア構成要素から構成される。
【0020】主PCIバス22は33MHzの同期クロ
ック信号に基づいて動作し、PCIバスを介して送信さ
れるデータの文字列は長さ32ビットである。PCIバ
ス上の32ビット・データ文字列をダブル・ワード(D
WORD)と呼ぶ。ダブルワードはそれぞれ8ビットの
データから成る4バイトずつに分割される。
【0021】PCIバスによって搬送されるアドレス情
報およびデータ情報は1つの信号に多重化される。多重
化によってアドレス線とデータ線を別々にする必要がな
くなり、そのためPCI環境で必要とされる信号数は、
他のバス・アーキテクチャよりも少なくなる。PCIバ
ス・アーキテクチャで必要とされる信号の数は45ない
し47であるが、標準の非多重化バスでは通常この2倍
必要である。したがって、信号の数が減るので、PCI
バスにリンクされた装置をサポートするのに必要なピン
の数もそれに対応する量だけ少なくなる。したがって、
PCIアーキテクチャは、集積度の高いデスクトップ・
コンピュータ・システムに特に適合している。
【0022】PCIバス・アーキテクチャの構造および
動作の詳細な説明は、例えば1922年6月22日発行
の"Peripheral Component Interconnect (PCI) Revisio
n 1.0 Specification"と、1992年11月1日発行
の"Preliminary PCI System Design Guide"revision 0.
6と、1992年11月6日発行の"Peripheral Compone
nt Interconnect (PCI) Add-in Board/Connector Adden
dum"(草案)等に記載されている。これらの文献はすべ
て、PCI Special Interest Groupから発行されたもので
ある。
【0023】システム10中の主PCI装置18は主P
CIバス22を介して相互に通信する。主PCI装置は
それ自体がSバス上に常駐するSバス装置であるPCI
ホスト・ブリッジ20によって、CPU、キャッシュお
よびメモリ複合体12、ならびにSバス16上に常駐す
る他のSバス装置14と通信する。PCIホスト・ブリ
ッジ20はこのとき、S(システム)バス16と主PC
Iバス22の間のインタフェースとして働き、これら2
本のバスとこれらのバス上に常駐する周辺装置の間の有
効な通信手段を提供する。
【0024】PCIホスト・ブリッジ20は、CPU
(プロセッサ)24または他のSバス装置14が、主P
CI装置18またはそれに接続された装置に直接アクセ
スできるようにするための低待ち時間相互接続機構であ
る。PCIホスト・ブリッジ20は、主PCI装置また
はそれに接続された装置がベースシステム・メモリ32
に迅速かつ直接にアクセスできるようにする高性能経路
も提供する。さらに、PCIホスト・ブリッジ20は、
Sバス16と主PCIバス22の間でデータを転送でき
るように、これらのバスの間のインタフェースを提供す
るのに必要なすべてのハードウェアを提供する。
【0025】主PCIバス22は、PCI互換性のある
様々な装置をサポートすることができる。図3に示すよ
うに、これらの装置にはグラフィクス制御装置72、シ
リアルSCSI(小型コンピュータ・システム・インタ
フェース)制御装置74、PCMCIA制御装置76、
標準バス(たとえば、ISAまたはMICRO CHA
NNEL("MC−A"))ブリッジ78、およびPCI
2次ブリッジ80が含まれる。ただし、図3に示す主P
CIバスに接続された装置は、PCIバス・アーキテク
チャを、したがってここに開示する構成を実施するシス
テムの一例にすぎず、いかなる点でも本発明を制限する
ものではない。
【0026】グラフィクス制御装置72は通常、該制御
装置72がビデオ・フレームをバッファできるようにす
るVRAM82の形のメモリ機能を備えており、PCI
バス・アーキテクチャによってサポートされた既知のど
んなグラフィクス・パッケージをも制御することができ
る。SCSI74は、SCSIバス86に接続されたS
CSI装置84と主PCIバス22との間のインタフェ
ースとして働き、PCIバス・アーキテクチャによって
サポートされるどんなSCSI装置をも制御することが
できる。PCMCIA制御装置76は、カード・スロッ
ト88に接続され、該スロット88を制御する。
【0027】標準バス・ブリッジ78は、標準(たとえ
ばMC−AまたはISA)バス92に接続された入出力
装置90と主PCIバス22の間のインタフェースとし
て働く。MC−Aバージョンの標準バス・ブリッジ78
のアーキテクチャは、IBMに譲渡された以下の関連諸
出願の主題となっている。
【0028】2次PCI装置94は、2次PCIバス9
6を介してPCI2次ブリッジ80に接続されている。
任意の数の識別されない2次PCI装置94を2次PC
Iバス96に接続することができる。PCI2次ブリッ
ジ80は、2次PCIバス96に接続された任意の数の
PCI装置94と主PCIバス22の間のインタフェー
スとして働く。
【0029】コンピュータ・システム10全体に他のP
CIバスが存在しなくても、PCIバス・アーキテクチ
ャと互換性のある任意の数の周辺装置を主PCIバス2
2上に配置することができる。すなわち、PCIバス9
6の他に、同数の別々のPCI2次ブリッジ80を介し
て主PCIバス22に接続された任意の数の2次PCI
バスによって、任意の数のPCI周辺装置を主PCIバ
ス22に接続することができる。各2次PCIバスに
は、PCI2次ブリッジを介して任意の数の追加PCI
バスを接続することもでき、これらの「3次」PCIバ
スには、さらに別のPCIバスを様々な組合せで接続す
ることができる。同様に、各PCIバスには、任意の数
のPCI装置を接続することができる。2つのPCIバ
スの間の各接続は、ブリッジ80と同じPCI2次ブリ
ッジを介して行わなければならない。
【0030】さらに、PCIホスト・ブリッジ20と同
じ複数のブリッジをSバス16によって駆動することが
できる。次いで、これらのホスト・ブリッジそれぞれ
に、任意の数のPCIバス、ブリッジおよび装置をシス
テム10の設計者が希望する配列で接続することができ
る。したがって、システム10のPCIバス・アーキテ
クチャから成る部分を、様々な対等組合せおよび階層組
合せで配列された複数のバスとPCI周辺装置(以下で
は、一般的にPCIネットワークと呼ぶ)から構成する
ことができる。
【0031】図4を参照すると、主PCIバス22に接
続された周辺装置への2つの連続する書込みサイクル中
の様々なPCIバス信号のタイミング図が示されてい
る。この周辺装置は、グラフィクス制御装置72でも、
標準バス・ブリッジ78でも、PCIバスから駆動でき
る他の周辺装置でもよい。同様に、図4に示した書込み
サイクルは典型的なPCIバス書込みサイクルであり、
主PCIバス22に特有のものではない。これらの書込
みサイクルは、2次PCIバス96上の書込みサイクル
でも、PCIネットワーク中の他のPCIバス上での書
込みサイクルでもよい。
【0032】クロック信号(CLOCK)は、PCIネ
ットワーク上でのすべての通信用のタイミングを提供す
る。CLOCKはあらゆるPCI装置およびすべてのP
CI2次ブリッジへの入力である。CLOCKは同期式
である。すなわち、PCIアーキテクチャ中のすべての
通信信号が、少なくとも1クロック信号の持続時間を有
し、どのコマンドまたはデータ転送も少なくとも1クロ
ック信号の期間にわたって実行される。図4中の信号
は、縦の破線によって個々の「クロック」に分けられて
いる。各破線は、1クロック持続時間の始めとその直前
のクロック持続時間の終りを表す。各線上の信号は、特
定のクロックの立上りエッジ上でサンプルされ、あるい
は特定のクロックの立上りエッジ上でそのクロックに関
して有効な意味を有する。
【0033】フレーム信号(FRAME)は、PCIバ
スに接続されたPCI2次ブリッジまたは周辺装置によ
って使用され、該ブリッジまたは周辺装置が、そのバス
に接続された他のPCI2次ブリッジまたは周辺装置に
対する通信サイクルまたはアクセスを開始することを示
す。アクセスを開始する周辺装置またはPCI2次ブリ
ッジをマスタと呼ぶ。アクセス先の装置、構成要素、ま
たはPCI2次ブリッジをスレーブと呼ぶ。PCIバス
・アーキテクチャでは、多数の信号は、ローにドライブ
されたとき、イネーブルされあるいは活動化される。F
RAMEはそれらの信号の1つである。したがって、第
2のクロックに示したようにマスタがFRAMEをロー
にドライブするとき、マスタは、アクセスを開始してい
ることをスレーブに示す。
【0034】イニシエータ準備完了信号(IRDY)
も、ローになると活動化され、マスタがデータ転送の開
始の準備ができていることを示す。したがって、マスタ
は、読取りサイクル中にデータを受け入れ、あるいは書
込みサイクル中にスレーブにデータを転送する準備がで
きたとき、IRDYをローにドライブする。
【0035】ターゲット準備完了信号(TRDY)は、
ローに活動化され、スレーブがデータ転送の開始の準備
ができたことを示す。したがって、スレーブは、読取り
サイクル中にマスタからデータを受け入れ、あるいは書
込みサイクル中にマスタにデータを転送する準備ができ
たとき、TRDYをローにドライブする。
【0036】アドレス/データ信号(AD)は、データ
転送のターゲットのレジスタのアドレスと、転送すべき
データとを1本の線上で多重化して送る。アドレス情報
は、アドレス・フェーズ中に、マスタがFRAMEをア
サートする際に、マスタによってAD上でドライブされ
る。アクセスが書込みサイクルかそれとも読取りサイク
ルかに応じてマスタまたはスレーブがデータを提供し、
該データは次いで、アドレス・フェーズの後にAD上で
ドライブされる。アドレス・フェーズは1クロックの持
続時間を有し、データ・フェーズは少なくとも1クロッ
クであるが、データ転送がバースト転送の場合は、1ク
ロックより多くなることがある。
【0037】バースト転送とは、アドレス・フェーズ中
に1つのアドレスが提供され、その後にいくつかのデー
タ・フェーズが発生する、データ転送である。第1のデ
ータ・フェーズ中には、アドレス・フェーズで提供され
たアドレスにデータが転送され、あるいは該アドレスか
らデータが転送される。その後のデータ・フェーズ中に
は、アドレス・フェーズで提供されたアドレスに順次続
くそれぞれのアドレスでデータ転送が行われる。本明細
書に記載の発明は、バースト転送には適用できず、アド
レス・フェーズとデータ・フェーズが1対1の対応を有
する単一データ転送だけに適用できる。
【0038】コマンド/バイト・イネーブル信号(C/
BE)は、1本の線上で多重化されたPCIバス・コマ
ンドとバイト・イネーブル信号を提供する。バス・コマ
ンドは、マスタがAD上でFRAMEおよびアドレス情
報をアサートする際にマスタによってアサートされる。
バス・コマンドは、マスタがどちらのタイプのアクセス
を開始しているかに応じて、読取り(read)コマンドで
も書込み(write)コマンドでもよい。
【0039】バイト・イネーブル信号は、AD上でのデ
ータ転送時にC/BE上に存在する。バイト・イネーブ
ル信号は長さが4ビットであり、これら4つのビットは
ビット番号0〜3として識別される。これら4つのビッ
トがすべてローに活動化されるとき、AD上で転送中の
データの4つのバイトがすべて(すべて32ビット)イ
ネーブルされ、データ転送時にそれらのバイトが書き込
まれるあるいは読み取られることを示す。4つのビット
のうちの1つがハイ(2進値1)であるとき、PCIバ
ス上で転送中の対応する4バイト・データのうちの1つ
のバイトがディスエーブルされ、データ転送時に無視さ
れる。
【0040】図4では、様々な信号のターンアラウンド
・サイクルを円形の矢印で示してある。たとえば、第1
のクロック中は、FRAME信号上でターンアラウンド
・サイクルが実行される。これは、FRAME信号をド
ライブしているマスタがないことを意味する。
【0041】第2のクロック中に、マスタはFRAME
をローにドライブする。これは、マスタがスレーブへの
アクセスを開始することを意味する。IRDYおよびT
RDYは、第2のクロック中にターンアラウンド・サイ
クルにある。
【0042】この時点で、マスタは、AD線上でのアク
セスのターゲットであるスレーブ中のレジスタのアドレ
スを提供する。同時に、マスタによってC/BE線上で
書込みコマンドが生成される。
【0043】第3のクロックに移ると、FRAMEが非
アサートされる。これは、アクセスを完了する準備がで
きたことを意味する。マスタはこのとき、IRDY線の
制御を得ており、該線をローにドライブして、データを
スレーブに転送する準備ができていることを示す。スレ
ーブもTRDY線の制御を得ており、該線をローに活動
化して、アドレス情報をスレーブ自体内のレジスタのア
ドレスとして既に復号し、そのレジスタでデータを受け
入れる準備ができたことを示す。したがって、第3のク
ロックで、データはAD線上でマスタから、スレーブの
復号されたレジスタへ転送される。C/BE線はこのと
き、データが有効かどうかを示す信号をアサートする。
【0044】第4のクロックで、データ転送が完了した
ので、IRDYおよびTRDYがディアサートされる。
また、FRAMEは、次のデータ転送時に他のマスタに
よってドライブされる可能性があるので、ターンアラウ
ンド・サイクルを通過する。第4のクロックでは、AD
線およびC/BE線も、次のデータ転送時に他のマスタ
によってドライブされる可能性があるので、ターンアラ
ウンド・サイクルに入る。
【0045】第5のクロック中は、別の書込みクロック
が開始されているので、タイミング図が繰り返される。
この第2の書込みサイクルは同じマスタでも異なるマス
タでも開始することができる。同様に、書込みサイクル
のターゲットは、同じスレーブでもまったく異なるスレ
ーブでもよい。TRDYは、2つの異なるスレーブがそ
れを求めて競合する危険をなくすために、第5のクロッ
クでターンアラウンド・サイクルを通過する。
【0046】したがって、書込み動作を完了して別のデ
ータ転送を開始できるようになるまでの最短時間はクロ
ック信号3つ分である。これは、様々なPCI信号線上
でターンアラウンド・サイクル用に1つのクロック信号
を含めなければならないからである。このターンアラウ
ンド・サイクルをなくすことができれば、書込みサイク
ルを完了して他のデータ転送を開始できるようになるま
での最短時間はクロック信号2つ分になる。したがっ
て、書込みサイクルを完了するのに必要なクロック信号
の数が3から2に減り、書込みサイクルの速度が実際上
33%増すことになる。この速度増加を図5に示す。
【0047】ここで図5を参照すると、ターンアラウン
ド・サイクルが中間にない2つの書込みサイクル、すな
わち「バック・ツー・バック」書込みサイクル中の様々
なPCIバス信号のタイミング図が示されている。マス
タは、第2のクロックでFRAMEをアサートして、第
1の書込みサイクルを開始する。第2のクロックで、ア
ドレス情報および書込みコマンドも、それぞれAD線お
よびC/BE線上でアサートされる。第3のクロック
で、IRDYおよびTRDYがアサートされるので、A
D線上のアドレス情報に対応するスレーブの特定のレジ
スタにデータが転送される。
【0048】第4のクロックで、マスタがFRAME信
号をローにアサートしたとき、別の書込み動作が開始す
る。したがって、第4および第5のクロックで書込み動
作が繰り返され、AD線は、データをそこに書き込むべ
き異なるアドレスと、書き込むべきおそらく異なるデー
タを供給する。
【0049】図5に示すように、2つの書込みサイクル
の間のターンアラウンド・サイクルをなくすと、第1の
書込みサイクルはクロック信号2つ分で完了し、その直
後に第2の書込みサイクルを開始することができる。し
たがって、上述の速度上の利点が実現される。
【0050】バック・ツー・バック・サイクルは、両方
のサイクルで同じマスタが同じスレーブにデータを書き
込むときしか使用できない。両方のサイクルでマスタと
スレーブが共に同じである場合、PCIバスの通信線の
使用を求めて競合する危険はなくなる。したがって、タ
ーンアラウンド・サイクルの必要はなくなる。
【0051】さらに、いくつかの連続する書込みサイク
ルで同じマスタが同じスレーブにデータを書き込む場
合、各書込みサイクル対の間でのターンアラウンド・サ
イクルの必要もなくなる。これらの不要なターンアラウ
ンド・サイクルをなくすことができるなら、この一連の
書込みサイクル全体をバック・ツー・バック構成にし
て、データ転送の速度をさらに高めることができる。
【0052】したがって、マスタは、連続する書込みサ
イクルを同じスレーブに宛てているかどうか判定できる
場合、不要なターンアラウンド・サイクルをなくしてP
CIバスの速度を高めることができる。したがって、本
明細書に記載の発明は、連続するサイクルが同じスレー
ブに宛てられることを検出して不要なターンアラウンド
・サイクルをなくす方法および装置を提供する。
【0053】しかし、読取りサイクルは常に、その間に
ターンアラウンド・サイクルが必要であり、完了するの
に少なくとも3つのクロック信号を必要とする。これ
は、読取りサイクル中にマスタとスレーブが共にAD線
を使用しなければならないからである。
【0054】ここで、特に図6を参照すると、ある読取
りサイクルと別の読取りサイクルの始めのタイミング図
が示されている。第2のクロックで、マスタはFRAM
EとIRDYを共にアサートする。マスタによってAD
上にアドレス情報も供給され、C/BE線上で読取りコ
マンドが与えられる。
【0055】第3のクロック・シーケンスで、AD線は
ターンアラウンド・サイクルに入らなければならない。
なぜなら、スレーブが、マスタが読取りを要求したデー
タを提供するために、第4のクロック信号中にAD線の
制御を握る必要があるからである。このターンアラウン
ド・サイクルは、AD線上でのマスタとスレーブの間の
競合をなくすために必要である。データがスレーブから
マスタへ転送される準備ができていないので、第3のク
ロックでFRAME信号およびIRDY信号はローのま
まである。
【0056】第4のクロック信号で、スレーブはAD線
上でデータを提供し、TRDYをアサートする。バイト
・イネーブル信号もC/BE線上でアサートされる。第
4のクロックでIRDY信号は依然としてローなので、
読み取るべきデータがスレーブからマスタに転送され
る。第4のクロックで、データ転送が完了するので、F
RAMEがディアサートされる。
【0057】マスタが第1の読取りサイクルの後に第2
の読取りサイクルを実行しようとする場合、AD線は、
クロック5に示すように別のターンアラウンド・サイク
ルを通過しなければならない。これによって、AD線の
制御がマスタからスレーブに戻るので、マスタとスレー
ブの間の競合がなくなる。マスタは次いで、第6のクロ
ックで、FRAMEをローにアサートしAD線上でアド
レス値をアサートするときに第2の読取りサイクルを開
始することができる。
【0058】マスタとスレーブの間のAD線を求める競
合をなくすには、読取りサイクル中のアドレス・フェー
ズとデータ・フェーズの間と、2つの連続する読取りサ
イクルの間にターンアラウンド・サイクルが必要であ
る。したがって、本発明は読取りサイクルにも連続読取
りサイクルにも適用されない。
【0059】ここで図7を参照すると、PCIマスタ1
02中の範囲検出ハードウェア100のブロック図が示
されている。範囲検出ハードウェア100は任意選択で
あり、システムまたはPCIマスタの設計者が特定のP
CIマスタ装置にバック・ツー・バック書込みサイクル
を実行させたい場合だけ、PCIマスタ装置で必要にな
る。しかし、バック・ツー・バック書込みサイクルを実
行する予定の各PCIマスタは、その内部に範囲検出ハ
ードウェア100をもたなければならない。
【0060】範囲検出ハードウェア100は、ラッチ・
レジスタ104、範囲検出器106、転送状態ブロック
108、および範囲レジスタ110からなる。PCIマ
スタ102のアドレス生成ブロック112も示されてい
る。ただし、アドレス生成ブロック112は範囲検出ハ
ードウェア100の一部ではない。
【0061】PCIマスタ102のアドレス生成ブロッ
ク112は、出力線114を介してラッチ・レジスタ1
04、範囲検出器106、および転送状態ブロック10
8に接続されている。ラッチ・レジスタ104は、出力
線116によって範囲検出器106に接続されている。
【0062】範囲検出器106は、出力線118を介し
て転送状態ブロック108に接続されている。範囲検出
器106から出力線118上に出力される信号をIN_RAN
GEと呼ぶ。
【0063】転送状態ブロック108は、2次PCIバ
ス96に接続された出力線120を有する。出力線12
0はPCIバス96のAD線に接続されている。PCI
バス96が例として使用されているが、好ましい実施例
ではPCIバス96の代りにどんなPCIバスを使用し
てもよい。
【0064】アドレス生成ブロック112は、特定の書
込みサイクル用のアドレス情報を生成する、マスタ10
2内の論理機構である。このアドレス情報は、PCIバ
ス96に接続されたスレーブ装置内のレジスタの位置を
示す。アドレス生成ブロック112から成るこの論理機
構は、各PCIマスタに特有のものであり、本発明の範
囲外である。さらに、この論理機構が既知かどうかは、
特定のPCIマスタが既知かどうかに依存する。
【0065】アドレス生成ブロック112によって生成
されるアドレス信号は長さ32ビットである。これらの
ビットのロー値とハイ値の各2進組合せが、異なるレジ
スタ・アドレスを示す。32ビットでは、4ギガバイト
の異なるビット値の組合せがある。したがって、単一の
PCIバスに接続された周辺装置およびPCI2次ブリ
ッジ内のレジスタに割り当てることができるアドレスは
4ギガバイト可能である。
【0066】各アドレス信号のビットは0から31まで
の番号が付いている。アドレス値は、それぞれ16進数
の値を提供する4ビット・ブロックに分割される。した
がって、各アドレス値は8つの16進数の組合せであ
る。
【0067】アドレスの最下位16進数は、ビット番号
0〜3に含まれ、最上位16進数はビット番号28〜3
1に含まれる。したがって、ビット番号0〜3の各2進
組合せは1つのアドレスを示し、ビット番号28〜31
の各2進組合せは少なくとも数百万個のアドレスを示
す。したがって、ビット番号0〜3に2つのアドレス値
の2進組合せで違いが発生する場合、2つのアドレスは
相互に16個のアドレスの範囲内にある。これに対し、
ビット番号28〜31で違いが発生する場合、2つのア
ドレスの間のアドレス値の範囲は100万より多くな
る。
【0068】ラッチ・レジスタ104は、範囲検出レジ
スタ100内の既知の32ビット・レジスタである。3
2ビット値をラッチ・レジスタ104に入力すると、該
32ビット値は、他の32ビット値が該レジスタ104
に入力されるまでラッチ・レジスタ104内に残り、す
なわち「ラッチされ」、入力された時点でラッチ・レジ
スタ104が、ラッチされた値を出力する。ラッチ・レ
ジスタ104に入力される32ビット値は、アドレス生
成ブロック112によって生成されたアドレスである。
【0069】範囲レジスタ110は、PCIマスタ10
2の構成空間内のレジスタである。構成空間とは、PC
Iマスタを構成するためにPCIマスタ中に予約される
空間である。PCIアーキテクチャの構成の詳細な説明
は、"METHOD AND APPARATUSFOR INITIALIZING MULTIPLE
BUS NETWORKS IN AN INFORMATION HANDLING SYSTEM"と
題する、IBMに譲渡された関連米国特許出願に記載さ
れている。以下で詳細に述べるように、範囲レジスタ1
10の目的は、連続する読取りサイクルが同じスレーブ
に出力されるようにするために、範囲検出器106に入
力すべき範囲を提供することである。
【0070】範囲レジスタ110は、情報処理システム
の設計上の制約に応じて任意の数のビットの長さでよ
い。範囲レジスタ110のビット長を規定する設計上の
制約は、内部に最小量のメモリ、したがって最小数のア
ドレスを有する、PCIバス96に接続されたスレーブ
である。このスレーブ中のアドレスの数が、2つの連続
する書込みサイクルのターゲットが同じスレーブになる
ようにするための最大範囲を提供する。たとえば、最小
量のメモリを有するPCIバス96に接続されたスレー
ブが、64Kのメモリ・アドレスのうちのどのメモリ・
アドレスもメモリ内に入るだけのメモリ量を有する場
合、64Kが、2つの連続する書込みサイクルのターゲ
ットが同じスレーブになるようにするための最大範囲で
ある。後述のように、この範囲のサイズによって、範囲
レジスタ110で必要とされるビットの数が決まる。
【0071】範囲レジスタ110中のビットは、ラッチ
・レジスタ104の最上位ビット、したがってアドレス
生成ブロック112によって生成された最上位ビットに
対応する。たとえば、範囲レジスタ110の長さが16
ビットの場合、該レジスタの第1のビットはラッチ・レ
ジスタ104の最上位ビット、すなわちビット31に対
応する。これは、ラッチ・レジスタ104のビット番号
が0から31までの範囲だからである。上例を参照する
と、範囲レジスタ110の16番目で最後のビットは、
ラッチ・レジスタ104のビット番号16に対応する。
【0072】範囲レジスタ110の最後のビットが対応
する、ラッチ・レジスタ104のビット番号の値はnで
ある。なぜなら、上述のように、範囲レジスタ110中
のビットの数は可変だからである。したがって、上例で
はn=16である。
【0073】上述のように、2つのアドレスが同じスレ
ーブに含まれるようにするための最大範囲によって、範
囲レジスタ110中のビットの数が決まる。これは、あ
る番号のビットよりも低い番号のビットで発生する2つ
のアドレスの2進組合せの違いが、ある範囲内になるか
らである。したがって、あるアドレスが事前に設定され
た範囲内かどうかを判定するために、これらの下位ビッ
ト内の2つのアドレスの2進組合せ間の変化を検査する
必要はない。たとえば、範囲が64Kの場合、ビット番
号0〜15の2進組合せの変化は必ずその範囲内にな
る。したがって、範囲レジスタ110では、アドレス生
成ブロック112によって生成されたアドレスのビット
番号16〜31に対応する16個のビットだけが必要に
なる。これらのビットだけを範囲検出器106に入力す
る必要がある。範囲レジスタ110のビットはすべて、
永久的に2進値0にセットされる。
【0074】ここで図8を参照すると、範囲検出器10
6の論理図が示されている。範囲検出器106は、それ
ぞれ複数の入力ANDゲート122に接続された出力を
有する複数の論理ネットワークからなる。各論理ネット
ワークは、排他的ORゲート(XOR)とANDゲート
からなる。そのような3つの論理ネットワークを図8に
示し、それぞれA、B、Cと呼ぶ。ただし、範囲検出器
106中の論理ネットワークの数は、範囲レジスタ11
0中のビットの数に等しい。したがって、範囲レジスタ
110が16ビットを有する場合、範囲検出器106は
16個の論理ネットワークを有する。
【0075】各論理ネットワークは、アドレス生成ブロ
ック112によって生成される32ビット・アドレス信
号のビット番号に対応する。範囲検出器106中の第1
の論理ネットワークは、アドレス信号の最上位ビット、
すなわちビット31に対応する。範囲レジスタ106中
の最後の論理ネットワークは、アドレス信号のビット番
号nに対応する。範囲検出器106の最初の論理ネット
ワークと最後の論理ネットワークの間の論理ネットワー
クは、31とnの間のアドレス信号のビット番号に降順
で対応する。すなわち、範囲検出器106中の第2の論
理ネットワークは、アドレス信号のビット番号30に対
応する。図8中の論理ネットワークCは、値nを有する
アドレス信号のビット番号に対応する。
【0076】各論理ネットワークのXORゲートは、ラ
ッチ・レジスタ104の単一のビットからの入力と、ア
ドレス生成ブロック112によって生成されたアドレス
信号の単一のビットからの入力という2つの入力を有す
る。これらのどちらのビットのビット番号も、XORゲ
ートが位置する特定の論理ネットワークに対応するアド
レス信号のビット番号である。したがって、ラッチ・レ
ジスタ104のビット番号31と、アドレス生成ブロッ
ク112からのアドレス信号のビット番号31が、範囲
検出器106中の第1の論理ネットワークのXORゲー
トに入力される。アドレス生成ブロック112およびラ
ッチ・レジスタ104からXORゲートに入力されるビ
ットをそれぞれAxおよびLAxと呼ぶ。xはビットのビ
ット番号に等しい。
【0077】範囲レジスタ106の各論理ネットワーク
のANDゲートへの入力は、特定の論理ネットワークの
対応するXORゲートからの出力と、範囲レジスタ11
0からのビットの反転値とである。範囲レジスタ110
からのビットは、その特定の論理ネットワークのビット
番号xに対応する。各論理ネットワークの各ANDゲー
トの出力は、反転された後にANDゲート122に入力
される。
【0078】ANDゲート122は出力IN_RANGEを生成
する。IN_RANGEは、ハイのとき、書込みサイクルのター
ゲットであるアドレスが範囲レジスタ110によって選
択された範囲内であり、したがって前の書込みサイクル
と同じスレーブをターゲットとすることを示す。IN_RAN
GEがローのとき、そのときの書込みサイクルは、前の書
込みサイクルのターゲットであったスレーブ以外のスレ
ーブをターゲットとする。
【0079】IN_RANGEは転送状態ブロック108に入力
される。転送状態ブロックは、PCIバスのAD線を3
つの状態のうちの1つにドライブする既知の内部論理機
構を有する。IN_RANGEがハイのとき、転送状態ブロック
108は単に、アドレス生成ブロック112から受信し
たアドレス値をPCIバス96のAD線上に送る。IN_R
ANGEがローのとき、転送状態ブロック108は、PCI
バス96のAD線にターンアラウンド・サイクルのター
ンアラウンド状態に入らせる。アドレス生成ブロック1
12によってアサートされているアドレスがないとき、
転送状態ブロック108はAD線をロー信号とハイ信号
の間の一定した中間レベル状態にドライブする。この状
態は、バスがまだAD線をドライブしているが、現在、
AD線にデータを転送していないことを意味する。
【0080】動作に際して、PCIマスタのアドレス生
成ブロック112は、第1のクロック信号で、線114
上に第1の書込みサイクルのターゲットであるアドレス
を生成する。この32ビット値は、ラッチ・レジスタ1
04でラッチされ、線116上と線114上で範囲検出
器106に送信される。したがって、LA2進値とA2
進値はすべてのビット番号に関して同じである。したが
って、範囲検出器106中のすべてのXORゲートの出
力はローになり、それによって範囲検出器106中のす
べてのANDゲートの反転出力はハイになる。その結
果、IN_RANGEがハイになり、それによって転送状態ブロ
ック108は第1の書込みサイクル用のアドレスをPC
Iバス96のAD線を介してターゲットのスレーブに転
送する。マスタは、第1のクロック信号でFRAMEお
よび書込みコマンドのアサートも行う。
【0081】第2のクロック信号で、マスタからスレー
ブにデータが送信される。もちろん、TRDYとIRD
Yが共にアサートされた場合だけそうなる。
【0082】第3のクロック信号で、アドレス生成ブロ
ック112は、線114上に書込みサイクルのターゲッ
トである第2のアドレスを生成する。第2のアドレス信
号は、第1の32ビット・アドレスを線116上で範囲
検出器106に出力するようラッチ104をトリガす
る。
【0083】対応するLAビットの2進値と異なる2進
値を有するAビットがある場合、これらのビットに対応
するXORゲートは2進ハイ出力を有する。これによっ
て、対応するANDゲートの反転出力がローになり、そ
れによってANDゲート122のIN_RANGE出力がローに
なる。
【0084】IN_RANGEがローのとき、転送状態ブロック
によってPCIバス96のAD線上でターンアラウンド
・サイクルが生成される。これは、第2のアドレスが範
囲レジスタ110中に設定された範囲外であり、そのこ
とが、第2の書込みサイクルのターゲットが、第1のア
ドレスを含んでいたスレーブと異なるスレーブになり得
ることを意味するからである。
【0085】第3のクロックでLAとAの2進値に違い
がない場合、範囲検出器106は第1の書込みサイクル
の場合と同様に動作し、IN_RANGEはハイになる。したが
って、転送状態ブロックは第2のアドレスをPCIバス
96のAD線上に送り、マスタがFRAMEおよび書込
みコマンドをアサートする。したがって、バック・ツー
・バック書込みサイクルが実行され、書込みサイクルの
間に不要なターンアラウンド・サイクルがなくなる。書
込みサイクルをさらにいくつか連続して実行しようとす
る場合、1つのAビットが対応するLAビットと異なる
ものになるまで、それらのサイクルはバック・ツー・バ
ックで実行される。
【0086】代替実施例では、範囲レジスタの長さは3
2ビットでも他の任意のビット数でもよく、調整するこ
ともできる。すなわち、必要に応じて範囲を変更するこ
とができる。
【0087】所望の範囲を越えることなくあるアドレス
間で変化できる下位ビットに2進値1を挿入するだけで
調整が施される。範囲レジスタ110中のビットに2進
1を挿入すると、常にハイであるビットに対応する、範
囲検出器106中の論理ネットワークの出力が生成され
る。したがって、論理ネットワークへのLA入力とA入
力の間の変化はANDゲート122の出力に何の影響も
及ぼさない。
【0088】好ましい実施例をPCIバスに関して説明
したが、本発明の応用分野はPCIバス・アーキテクチ
ャに限定されるものではない。本発明は、信号が多重化
され、かつ競合をなくすためにターンアラウンド・サイ
クルを必要とするどんなバス・アーキテクチャにも適用
できる。
【0089】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0090】(1)中央演算処理装置と、前記中央演算
処理装置に接続されたシステム・バスと、前記システム
に接続された、それ自体にスレーブ装置およびマスタ装
置を接続するための周辺バスと、それぞれメモリ記憶位
置を示すアドレスを有する、前記周辺バスに接続された
複数のスレーブ装置と、前記周辺バスに接続された、前
記アドレスのうちの第1のアドレスおよび第2のアドレ
スを所定の範囲と比較して、前記マスタ装置がバック・
ツー・バック書込みサイクルを実行できるかどうかを判
定する検出器を有するマスタ装置とを備えることを特徴
とする情報処理システム。 (2)前記第1のアドレスと第2のアドレスが共に前記
範囲内である場合にだけ、前記検出器が、前記マスタ装
置がバック・ツー・バック書込みサイクルを実行できる
と判定することを特徴とする、上記(1)に記載の情報
処理システム。 (3)前記マスタが、それ自体が前記第2のアドレスを
生成するまで前記第1のアドレスを記憶するための第1
のレジスタと、前記範囲を記憶するための第2のレジス
タとを有し、前記範囲がある数のビットから成ることを
特徴とする、上記(1)に記載の情報処理システム。 (4)前記周辺バスがPCIバスであることを特徴とす
る、上記(1)に記載の情報処理システム。 (5)前記周辺バスが多重化バスであることを特徴とす
る、上記(1)に記載の情報処理システム。 (6)前記検出器が、前記範囲から成るビットの数に対
応する複数の論理ネットワークを有することを特徴とす
る、上記(3)に記載の情報処理システム。 (7)前記複数の論理ネットワークがそれぞれ、前記第
1のアドレスのビットを前記第2のアドレスのビットと
比較して、前記ビットの2進値が異なる場合に、ハイ信
号を生成するための排他的ORゲートを含むことを特徴
とする、上記(6)に記載の情報処理システム。 (8)前記複数の論理ネットワークがそれぞれ、前記範
囲のビットからのものである第1の入力と、前記論理ネ
ットワークの前記排他的ORゲートの出力からの第2の
入力と、出力とを有するANDゲートを含むことを特徴
とする、上記(7)に記載の情報処理システム。 (9)前記ANDゲートの前記第1の入力および前記出
力が反転されることを特徴とする、上記(8)に記載の
情報処理システム。 (10)前記ANDゲートそれぞれの前記出力がすべ
て、前記検出器中の、1つの出力を有する複数入力AN
Dゲートに入力されることを特徴とする、上記(8)に
記載の情報処理システム。 (11)前記複数入力ANDゲートの前記出力がハイの
場合、前記第1のアドレスおよび第2のアドレスが前記
範囲内であることを特徴とする、上記(10)に記載の
情報処理システム。 (12)前記ビットがそれぞれ2進ロー値を有すること
を特徴とする、上記(3)に記載の情報処理システム。 (13)前記ビットの少なくとも1つを2進ハイ値に設
定することによって、前記範囲が調整できることを特徴
とする、上記(3)に記載の情報処理システム。 (14)情報処理システム中の周辺バス上でバック・ツ
ー・バック・データ転送を生成する方法であって、中央
演算処理装置を提供するステップと、前記中央演算処理
装置に接続されたシステム・バスを提供するステップ
と、前記システムに接続された、それ自体にスレーブ装
置およびマスタ装置を接続するための周辺バスを提供す
るステップと、それぞれメモリ・レジスタを示すアドレ
スを有する、前記周辺バスに接続された複数のスレーブ
装置を提供するステップと、前記周辺バスに接続され
た、データ転送を実行するためのマスタ装置を提供する
ステップと、前記アドレスのうちの第1のアドレスおよ
び第2のアドレスをある範囲と比較するステップと、前
記第1のアドレスと第2のアドレスが共に前記範囲内で
ある場合に、バック・ツー・バック・データ転送を実行
するステップとを含むことを特徴とする方法。 (15)前記周辺バスがPCIバスであることを特徴と
する、上記(14)に記載の方法。 (16)前記周辺バスが多重化バスであることを特徴と
する、上記(14)に記載の方法。 (17)周辺バス上でバック・ツー・バック・データを
生成するためのマスタ装置であって、第1のアドレスお
よび第2のアドレスが所定の範囲内であるかどうかを判
定するための検出器と、前記検出器に接続された、前記
マスタ装置が前記第2のアドレスを生成するまで前記第
1のアドレスを記憶するための第1のレジスタと、前記
検出器に接続された、前記範囲値を記憶するための第2
のレジスタと、前記第1のアドレスおよび第2のアドレ
スが前記範囲内であると前記検出器が判定した場合に、
ターンアラウンド・サイクルなしで前記周辺バス上で前
記第2のアドレスをドライブするための手段とを備える
ことを特徴とするマスタ装置。 (18)前記周辺バスがPCIバスであることを特徴と
する、上記(17)に記載のマスタ装置。 (19)前記周辺バスが多重化バスであることを特徴と
する、上記(17)に記載のマスタ装置。
【0091】
【発明の効果】したがって、多重化バスを有する情報処
理システムで上述のバック・ツー・バック・データ転送
を提供する方法および装置を利用することによりデータ
転送の効率が著しい向上が可能となった。
【図面の簡単な説明】
【図1】多重化バスを含む情報処理システムの概略図で
ある。
【図2】多重化バスを含む情報処理システムの概略図で
ある。
【図3】多重化バスを含む情報処理システムの概略図で
ある。
【図4】ターンアラウンド・サイクルがその間に存在す
る連続する書込みサイクルのタイミング図である。
【図5】バック・ツー・バックである連続する書込みサ
イクルのタイミング図である。
【図6】ターンアラウンド・サイクルを含む2つの読取
りサイクルのタイミング図である。
【図7】バック・ツー・バック・データ転送を生成する
のに必要なマスタ装置内のハードウェアのブロック図で
ある。
【図8】図7に示したハードウェア内の範囲検出器の論
理図である。
【符号の説明】 14 Sバス装置 16 Sバス 20 PCIホスト・ブリッジ 22 主PCIバス 24 CPU 30 CPUキャッシュ 32 ベースシステム・メモリ 36 ベースシステム・メモリ・バス 40 DMA制御装置 42 SACP 44 入出力制御装置 46 PCMCIA制御装置 72 グラフィクス制御装置 74 シリアルSCSI制御装置 76 PCMCIA制御装置 78 標準バス・ブリッジ 80 PCI2次ブリッジ 84 標準SCSI装置 90 標準入出力装置 94 2次PCI装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アシュ・コーリ アメリカ合衆国33445 フロリダ州デル レイ・ビーチ スプリング・ハーバー・ ドライブ 1510 アパートメント オー

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】中央演算処理装置と、 前記中央演算処理装置に接続されたシステム・バスと、 前記システムに接続された、それ自体にスレーブ装置お
    よびマスタ装置を接続するための周辺バスと、 それぞれメモリ記憶位置を示すアドレスを有する、前記
    周辺バスに接続された複数のスレーブ装置と、 前記周辺バスに接続された、前記アドレスのうちの第1
    のアドレスおよび第2のアドレスを所定の範囲と比較し
    て、前記マスタ装置がバック・ツー・バック書込みサイ
    クルを実行できるかどうかを判定する検出器を有するマ
    スタ装置とを備えることを特徴とする情報処理システ
    ム。
  2. 【請求項2】前記第1のアドレスと第2のアドレスが共
    に前記範囲内である場合にだけ、前記検出器が、前記マ
    スタ装置がバック・ツー・バック書込みサイクルを実行
    できると判定することを特徴とする、請求項1に記載の
    情報処理システム。
  3. 【請求項3】前記マスタが、それ自体が前記第2のアド
    レスを生成するまで前記第1のアドレスを記憶するため
    の第1のレジスタと、前記範囲を記憶するための第2の
    レジスタとを有し、前記範囲がある数のビットから成る
    ことを特徴とする、請求項1に記載の情報処理システ
    ム。
  4. 【請求項4】前記周辺バスがPCIバスであることを特
    徴とする、請求項1に記載の情報処理システム。
  5. 【請求項5】前記周辺バスが多重化バスであることを特
    徴とする、請求項1に記載の情報処理システム。
  6. 【請求項6】前記検出器が、前記範囲から成るビットの
    数に対応する複数の論理ネットワークを有することを特
    徴とする、請求項3に記載の情報処理システム。
  7. 【請求項7】前記複数の論理ネットワークがそれぞれ、
    前記第1のアドレスのビットを前記第2のアドレスのビ
    ットと比較して、前記ビットの2進値が異なる場合に、
    ハイ信号を生成するための排他的ORゲートを含むこと
    を特徴とする、請求項6に記載の情報処理システム。
  8. 【請求項8】前記複数の論理ネットワークがそれぞれ、
    前記範囲のビットからのものである第1の入力と、前記
    論理ネットワークの前記排他的ORゲートの出力からの
    第2の入力と、出力とを有するANDゲートを含むこと
    を特徴とする、請求項7に記載の情報処理システム。
  9. 【請求項9】前記ANDゲートの前記第1の入力および
    前記出力が反転されることを特徴とする、請求項8に記
    載の情報処理システム。
  10. 【請求項10】前記ANDゲートそれぞれの前記出力が
    すべて、前記検出器中の、1つの出力を有する複数入力
    ANDゲートに入力されることを特徴とする、請求項8
    に記載の情報処理システム。
  11. 【請求項11】前記複数入力ANDゲートの前記出力が
    ハイの場合、前記第1のアドレスおよび第2のアドレス
    が前記範囲内であることを特徴とする、請求項10に記
    載の情報処理システム。
  12. 【請求項12】前記ビットがそれぞれ2進ロー値を有す
    ることを特徴とする、請求項3に記載の情報処理システ
    ム。
  13. 【請求項13】前記ビットの少なくとも1つを2進ハイ
    値に設定することによって、前記範囲が調整できること
    を特徴とする、請求項3に記載の情報処理システム。
  14. 【請求項14】情報処理システム中の周辺バス上でバッ
    ク・ツー・バック・データ転送を生成する方法であっ
    て、 中央演算処理装置を提供するステップと、 前記中央演算処理装置に接続されたシステム・バスを提
    供するステップと、 前記システムに接続された、それ自体にスレーブ装置お
    よびマスタ装置を接続するための周辺バスを提供するス
    テップと、 それぞれメモリ・レジスタを示すアドレスを有する、前
    記周辺バスに接続された複数のスレーブ装置を提供する
    ステップと、 前記周辺バスに接続された、データ転送を実行するため
    のマスタ装置を提供するステップと、 前記アドレスのうちの第1のアドレスおよび第2のアド
    レスをある範囲と比較するステップと、 前記第1のアドレスと第2のアドレスが共に前記範囲内
    である場合に、バック・ツー・バック・データ転送を実
    行するステップとを含むことを特徴とする方法。
  15. 【請求項15】前記周辺バスがPCIバスであることを
    特徴とする、請求項14に記載の方法。
  16. 【請求項16】前記周辺バスが多重化バスであることを
    特徴とする、請求項14に記載の方法。
  17. 【請求項17】周辺バス上でバック・ツー・バック・デ
    ータを生成するためのマスタ装置であって、 第1のアドレスおよび第2のアドレスが所定の範囲内で
    あるかどうかを判定するための検出器と、 前記検出器に接続された、前記マスタ装置が前記第2の
    アドレスを生成するまで前記第1のアドレスを記憶する
    ための第1のレジスタと、 前記検出器に接続された、前記範囲値を記憶するための
    第2のレジスタと、 前記第1のアドレスおよび第2のアドレスが前記範囲内
    であると前記検出器が判定した場合に、ターンアラウン
    ド・サイクルなしで前記周辺バス上で前記第2のアドレ
    スをドライブするための手段とを備えることを特徴とす
    るマスタ装置。
  18. 【請求項18】前記周辺バスがPCIバスであることを
    特徴とする、請求項17に記載のマスタ装置。
  19. 【請求項19】前記周辺バスが多重化バスであることを
    特徴とする、請求項17に記載のマスタ装置。
JP6109394A 1993-05-28 1994-05-24 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 Expired - Lifetime JP2571673B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/068,882 US5448703A (en) 1993-05-28 1993-05-28 Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US068882 1993-05-28

Publications (2)

Publication Number Publication Date
JPH0713908A JPH0713908A (ja) 1995-01-17
JP2571673B2 true JP2571673B2 (ja) 1997-01-16

Family

ID=22085317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6109394A Expired - Lifetime JP2571673B2 (ja) 1993-05-28 1994-05-24 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置

Country Status (6)

Country Link
US (1) US5448703A (ja)
EP (1) EP0627689A3 (ja)
JP (1) JP2571673B2 (ja)
KR (1) KR970008194B1 (ja)
BR (1) BR9402107A (ja)
CA (1) CA2124614A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581793A (en) * 1993-08-24 1996-12-03 Micron Electronics, Inc. System for bypassing setup states in a bus operation
US5805834A (en) * 1994-03-30 1998-09-08 Zilog, Inc. Hot reconfigurable parallel bus bridging circuit
US5596765A (en) * 1994-10-19 1997-01-21 Advanced Micro Devices, Inc. Integrated processor including a device for multiplexing external pin signals
US5564114A (en) * 1995-01-09 1996-10-08 Cirrus Logic Inc. Method and an arrangement for handshaking on a bus to transfer information between devices in a computer system
US5608884A (en) * 1995-05-17 1997-03-04 Dell Usa, L.P. Commonly housed multiple processor type computing system and method of manufacturing the same
US5758171A (en) * 1995-07-05 1998-05-26 Cirrus Logic, Inc. Apparatus and method for reading back socket power status information
US5872992A (en) * 1995-08-24 1999-02-16 Motorola, Inc. System and method for avoiding bus contention on a multiplexed bus by providing a time period subsequent to a read operation
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
US5873119A (en) * 1996-02-09 1999-02-16 Intel Corporation Method for parallel processing of dram read request in a memory-cache controller system
US5678009A (en) * 1996-02-12 1997-10-14 Intel Corporation Method and apparatus providing fast access to a shared resource on a computer bus
US5924128A (en) * 1996-06-20 1999-07-13 International Business Machines Corporation Pseudo zero cycle address generator and fast memory access
US5784580A (en) * 1996-06-28 1998-07-21 International Business Machines Corporation System and method for communicating between devices
US5857080A (en) 1996-09-10 1999-01-05 Lsi Logic Corporation Apparatus and method for address translation in bus bridge devices
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
KR100224965B1 (ko) * 1997-07-10 1999-10-15 윤종용 다층 구조의 아이2씨 버스를 이용한 진단/제어 시스템
US6018784A (en) * 1997-07-31 2000-01-25 Trimble Navigation Limited PCI card for receiving a GPS signal
US6151654A (en) * 1997-12-24 2000-11-21 Intel Corporation Method and apparatus for encoded DMA acknowledges
US6418529B1 (en) 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US6961801B1 (en) 1998-04-03 2005-11-01 Avid Technology, Inc. Method and apparatus for accessing video data in memory across flow-controlled interconnects
US6266731B1 (en) * 1998-09-03 2001-07-24 Compaq Computer Corporation High speed peripheral interconnect apparatus, method and system
US6816934B2 (en) * 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
US6178478B1 (en) * 1998-12-11 2001-01-23 Vlsi Technology, Inc. Smart target mechanism for eliminating dual address cycles in a peripheral component interconnect environment
GB2362482A (en) * 2000-05-15 2001-11-21 Ridgeway Systems & Software Lt Direct slave addressing to indirect slave addressing
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US6823441B1 (en) 2001-04-20 2004-11-23 Daimlerchrysler Corporation Method of multiplexed address and data bus
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6907503B2 (en) * 2001-09-27 2005-06-14 Daimlerchrysler Corporation Dual port RAM communication protocol
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
US20040059862A1 (en) * 2002-09-24 2004-03-25 I-Bus Corporation Method and apparatus for providing redundant bus control
JP2004334410A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
US7536615B1 (en) 2007-03-26 2009-05-19 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
US7743296B1 (en) 2007-03-26 2010-06-22 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
KR20100078193A (ko) * 2008-12-30 2010-07-08 주식회사 동부하이텍 슬레이브 및 그와 마스터 간의 통신 방법
JP5600517B2 (ja) 2010-08-18 2014-10-01 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4112490A (en) * 1976-11-24 1978-09-05 Intel Corporation Data transfer control apparatus and method
US4463421A (en) * 1980-11-24 1984-07-31 Texas Instruments Incorporated Serial/parallel input/output bus for microprocessor system
US4752763A (en) * 1986-07-11 1988-06-21 Mai Basic Four, Inc. Binary comparison circuit with selectable binary digit override
US4878166A (en) * 1987-12-15 1989-10-31 Advanced Micro Devices, Inc. Direct memory access apparatus and methods for transferring data between buses having different performance characteristics
JPH01239627A (ja) * 1988-03-18 1989-09-25 Nec Corp 一致検出回路
US5191656A (en) * 1991-08-29 1993-03-02 Digital Equipment Corporation Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters
CA2080210C (en) * 1992-01-02 1998-10-27 Nader Amini Bidirectional data storage facility for bus interface unit

Also Published As

Publication number Publication date
CA2124614A1 (en) 1994-11-29
KR970008194B1 (en) 1997-05-21
BR9402107A (pt) 1994-12-13
EP0627689A3 (en) 1996-07-17
JPH0713908A (ja) 1995-01-17
US5448703A (en) 1995-09-05
EP0627689A2 (en) 1994-12-07

Similar Documents

Publication Publication Date Title
JP2571673B2 (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
US5522050A (en) Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5550989A (en) Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths
US5721839A (en) Apparatus and method for synchronously providing a fullness indication of a dual ported buffer situated between two asynchronous buses
US5590287A (en) Configurable interface for routing data between mismatched devices
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
JP3403284B2 (ja) 情報処理システム及びその制御方法
US5919254A (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
JP3302357B2 (ja) Cpuバス制御器
US5771359A (en) Bridge having a data buffer for each bus master
JPH11513150A (ja) Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ
JP3251830B2 (ja) Pciパリティ・エラーに応答する構成を有するpci/isaブリッジ
US5774681A (en) Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge
US5887157A (en) Local bus interface
JPH0771103B2 (ja) データ通信ネットワークおよびトークン・リング調停方法
US6266723B1 (en) Method and system for optimizing of peripheral component interconnect PCI bus transfers
JPH04213144A (ja) 高速データ・アクセス・システム
JPH09160866A (ja) バス・インタフェース論理システム及び同期方法
EP0784278B1 (en) Interface architecture for connection to a peripheral component interconnect bus
US5809260A (en) Burst mode data transmission retry of previously aborted block transfer of data
US5892977A (en) Apparatus and method for read-accessing write-only registers in a DMAC
KR970011888B1 (ko) 컴퓨터 시스템용 정보 처리 시스템 및 컴퓨터 시스템내의 데이타 전송 관리 방법
US5423021A (en) Auxiliary control signal decode using high performance address lines
JPH0973429A (ja) コンピュータシステム及びバス間制御回路
JPH0218640A (ja) マイクロコンピユータ・システム