JPH06261052A - 共用バスのフロー制御装置 - Google Patents

共用バスのフロー制御装置

Info

Publication number
JPH06261052A
JPH06261052A JP5302093A JP30209393A JPH06261052A JP H06261052 A JPH06261052 A JP H06261052A JP 5302093 A JP5302093 A JP 5302093A JP 30209393 A JP30209393 A JP 30209393A JP H06261052 A JPH06261052 A JP H06261052A
Authority
JP
Japan
Prior art keywords
bus
adapter
data
storage means
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5302093A
Other languages
English (en)
Inventor
Jr Walter C Metz
ウォルター・ケード・メッツ、ジュニア
Iii Andrew J Rindos
アンドリュー・ジョン・リンドス、サード
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 JPH06261052A publication Critical patent/JPH06261052A/ja
Pending 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

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

Abstract

(57)【要約】 【目的】 複数の資源によって使用される共用バスのフ
ロー制御装置を提供すること。 【構成】 複数の資源をバス及び中央アービタに接続す
るために、フロー制御装置が知的アダプタを使用する。
中央アービタは次のバス・サイクルにおいてバスへのア
クセスを所有するアダプタを決定する。各アダプタは、
バス上へデータを送信するための入力バッファ、バスか
らデータを受信するための出力バッファ、及び入力バッ
ファ内のデータの宛先を識別するターゲット・レジスタ
を有する。各アダプタはバスとは別の制御ラインを介し
て、次の情報を伝達する。すなわち、その入力バッファ
がニアリ・フルであるか、その出力バッファがニアリ・
エンプティかニアリ・フルであるか、及びそのターゲッ
ト・レジスタの内容である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共用バスを介しデータ
を送受信する複数の資源を有するデータ処理システムに
関する。
【0002】
【従来の技術】データ処理システムにおいて、複数の資
源を相互接続するために、共用バスが使用される。例え
ば、データ・バスが様々なローカル・エリア・ネットワ
ーク(LAN)により共用される。LANは共用データ
・バスを介し、相互間でデータを転送する。
【0003】単一のバスを使用する多くの資源において
生ずる潜在的渋滞のため、バス上におけるデータのトラ
フィックを制御する機構が提供されなければならない。
制御装置は資源により生成されるトラフィックをバス上
にパスしたり、トラフィックを遅延させたり、トラフィ
ックをバスからブロックすることにより、バス上のトラ
フィックを形成する。従来の制御装置は、単にバスへパ
スまたはブロックするゲート機構を使用する。
【0004】制御装置の他に、従来技術ではバス上にお
けるデータのトラフィックを制御するアービタを使用す
る。アービタは典型的には、どの特定の資源がバスへの
アクセスを獲得するかを決定する優先順位機構を使用す
る。
【0005】従来のアービタはバスから動作する。資源
がバス上にデータを送信する必要が生じると、これは要
求をバス上に送出してアービタに送信する。アービタは
要求をキューに入れ、どの資源がバス上に送信可能かを
判断する。バスはデータだけでなく要求を送信するため
にも使用され、更にアービタと資源との間で情報を伝送
するために数サイクルが使用されるために、バスのデー
タ伝送容量が低減される。
【0006】更に従来のアービタは、任意のバス・アク
セス要求のソース(すなわち送信側資源)だけを考慮す
る。アービタは受信側資源の状態を考慮しない。従っ
て、ある時間間隔データが送られて来ない特定の受信側
資源が、処理データを欠いてしまう可能性がある。この
状況は資源の効率的使用を提供しない。
【0007】
【発明が解決しようとする課題】本発明の目的は、共用
バスをアクセス可能な特定の資源を選択するフロー制御
装置を提供することである。この制御装置は、バス上に
おけるデータのスループットを最大化するために、バス
の使用中においてもバスのバックグランドで動作する。
【0008】本発明の更に目的は、受信側資源が処理す
るバス・データを有さない時間量を最小化するように、
送信側資源同様、受信側資源にももとづいてバスをアク
セス可能なバス資源を選択する、共用バスのためのフロ
ー制御装置を提供することである。
【0009】
【課題を解決するための手段】本発明は、資源間で共用
されるバスへの複数の資源によるアクセスを制御する方
法及びシステムを提供する。各資源はバス上に送信され
るデータを記憶する第1の記憶手段、及びバスからのデ
ータを受信する第2の記憶手段を有する。第1及び第2
の記憶手段の各々はデータ記憶容量を有する。本発明の
方法は、第1の記憶手段及び第2の記憶手段の各々に含
まれるデータ量に関する充満度情報を獲得する。次に本
発明は、この充満度情報から、どの資源がその第1の記
憶手段からデータを送信するためにバスへのアクセスを
所有するか、またどの資源がその第2の記憶手段にデー
タを受信するためにバスへのアクセスを所有するかを判
断する。
【0010】本発明の1態様によれば、各第1の記憶手
段内のデータによりターゲット指定される第2の記憶手
段の識別に関するターゲット情報が獲得され、この情報
が充満度情報と一緒に使用されて、どの資源がバスへの
アクセスを所有するかが決定される。
【0011】本発明の別の態様によれば、バスへのアク
セスを所有する資源の決定が、充満度情報及びターゲッ
ト情報から、非フル(non-full)の第2の記憶手段に対
応するデータでフルに近づいている第1の記憶手段を含
む、第1及び第2の記憶手段の第1のセットが存在する
か否かの判断を含む。第1のセットが存在しない場合、
本発明はエンプティ状態に近い第2の記憶手段、及びそ
のエンプティ状態に近い第2の記憶手段にターゲット指
定されるデータを有する第1の記憶手段を含む、第1及
び第2の記憶手段の第2のセットが存在するか否かを判
断する。第2のセットが存在する場合、そのセットがバ
スへのアクセスを提供される。
【0012】本発明はいくつかの方法により、バス上に
おけるデータのスループットを最大化する。第1に、本
発明はバスのバックグランドにおいて動作する。バスと
は別の制御ラインが中央アービタに対し、各資源内の記
憶手段の充満度情報、及びバス上にデータが送信される
のを待機中のターゲット資源に関する情報を提供する。
これにより中央アービタは、バスへのアクセスを獲得す
る資源を決定するために必要な情報を、バスから獲得す
る必要がなくなる。更に中央アービタは、資源間のデー
タ伝送にバスが使用されている間にアクセスを決定でき
る。このようにアービタがアクセスを決定することによ
って、バス時間が奪われることがなくなる。
【0013】第2に、本発明はいずれかの送信側記憶手
段がニアリ・フル(nearly full )状態であるかを判断
するために、送信側記憶手段の相対充満度を参照する。
更にニアリ・フル状態の送信側記憶手段によりデータが
ターゲット指定される任意の受信側記憶手段が、非フル
(non-full)であり、データの受信が可能であるかが判
断される。こうした記憶手段のセットが見い出される
と、ニアリ・フル状態の送信側記憶手段を超過充填する
のを回避するために、それらの資源にバスへのアクセス
が提供される。こうしたセットが見い出されない場合、
本発明は受信側記憶手段の相対エンプティネス (empti
ness)を参照し、いずれかの受信側記憶手段がニアリ・
エンプティ(nearly empty)であるかを判断する。こう
した受信側記憶手段が見い出され、それに対応するデー
タがある送信側記憶手段内に存在すると、そのセットの
記憶手段がバスへのアクセスを提供される。これにより
受信側記憶手段がエンプティ状態になることが阻止さ
れ、それぞれの資源がデータの欠如により無駄に使用さ
れることがなくなる。
【0014】
【実施例】図1は本発明の制御システムのブロック図を
示す。この制御システムは高帯域幅バス11上におい
て、データのフローを制御する。バス11はローカル・
エリア・ネットワーク(LAN)などの複数の資源13
が、互いに通信するために使用される。資源13はアダ
プタ15を介してバスに接続される。n個の資源に対応
してn個のアダプタが存在する。
【0015】アダプタ15は、典型的には、特定の資源
のインタフェース・モジュールである。例えば、第1の
LANはアダプタ#1によりバスに接続され、第2のL
ANはアダプタ#2によりバスに接続され、このように
してn番目のLANはアダプタ#nによりバスに接続さ
れる。アダプタはLANがバスを介して互いに通信する
ことを可能とする。クロック16は全てのLAN及び制
御装置システムを互いに同期させるために提供される。
【0016】本発明の制御装置システムは、アダプタ1
5及びこのアダプタに接続される中央アービタ17を含
む。
【0017】図2を参照すると、各アダプタ15は入力
バッファ19及び出力バッファ21を含み、これらはバ
ス11に接続される。入力バッファはそのアダプタのL
ANからデータを受信する。アダプタ15はその入力バ
ッファ19からバス11上にデータを送出し、別のアダ
プタ及びLANに送信する。またアダプタはデータをバ
ス11からその出力バッファ21に受信する。アダプタ
は次にデータを出力バッファからそれぞれのLANに出
力する。入力バッファ及び出力バッファは、図示されて
いないラインにより、それぞれの資源に接続される。
【0018】中央アービタ17は、どのアダプタがその
入力バッファ19からバス11上にデータを送信可能
で、どのアダプタがバスからの送信データをその出力バ
ッファ21に受信可能かを判断することにより、アダプ
タ15を制御する。このようにして、中央アービタはバ
スに沿うデータ・フローの制御を維持する。
【0019】バスに沿うデータ・フローを制御するため
に、制御装置システムは入力バッファがほとんどフルで
あるか否か、及びほとんどフルの入力バッファからデー
タを受取る出力バッファが存在するか否かを判断する。
こうした入出力バッファのセットが存在すると、これら
のバッファを含むアダプタがバッファ・アービタによ
り、バスへのアクセス権を許可される。これは入力バッ
ファがその容量以上にデータを充填されてオーバフロー
を生じ、データの損失を招く状況の確率を最小化する。
ほとんどフル状態の入力バッファが存在しない場合、制
御装置システムは、出力バッファがニアリ・エンプティ
であるかどうか、及びニアリ・エンプティの出力バッフ
ァに対応するデータを有する入力バッファが存在するか
を判断する。こうしたバッファのセットが存在する場
合、これらのバッファを含むアダプタが、バスをアクセ
スする優先権を提供される。これにより、出力バッファ
内にデータが維持され、それぞれの資源は常時作業状態
となる(従って、その容量内で作業する)。ニアリ・エ
ンプティの出力バッファが存在しない場合には、制御装
置システムは次に、単にデータを受入れることのできる
非フルの出力バッファが存在するかを判断する。非フル
の出力バッファは、その出力バッファにターゲット指定
されるデータを有する入力バッファと対比される。
【0020】ある優先レベルの競合 (tie)が発生する
時(例えば非フルの出力バッファに対応するデータでニ
アリ・フル状態の入力バッファが2セット存在する
時)、バッファ・アービタはアダプタの所定の優先入力
を使用し、その競合をブレークする。優先入力は静的で
あったり、回転式優先順位などに従い動的であったりす
る。優先入力を生成するために優先順位発生器が使用さ
れる。回転式優先順位は、出力バッファがエンプティに
なる能力、及び入力バッファが充填される能力にもとづ
く。最高速のバッファは最低速のバッファに比較して、
バスをアクセスする機会を余計に提供される。
【0021】ここで述べられるアダプタ15は"知的ア
ダプタ"と呼ばれる。各アダプタは1個または複数のマ
イクロプロセッサ、十分なメモリ、及び後述される機能
を達成するための適切なマイクロコードを含む。メモリ
は入力及び出力バッファ空間に物理的または論理的に区
分化される。
【0022】各バッファは入力及び出力バッファに受信
されるデータを、物理的または論理的に待機する。更に
各アダプタは、待機データをバス上に送出するか(入力
バッファの場合)、アダプタのLANに受渡すために
(出力バッファの場合)、それぞれのバッファから検索
することができる。更に各アダプタは、その入力バッフ
ァに受信したブロック・データのターゲットまたは宛先
LANを決定するために、ヘッダ・データを操作するこ
とができる。例えばアダプタ#1が、LAN2にバスを
介してデータを伝送するために、自身のLANからデー
タを受信すると、アダプタ#1は、アダプタ#2の出力
バッファがこの特定のブロック・データのターゲットで
あると判断する。各アダプタ#iは、この情報を保持す
るためのターゲット・レジスタRiを有する。各ターゲ
ット・レジスタRiはnビットを有し、1ビットが各ア
ダプタに対応する。各レジスタRi はn個のフリップ・
フロップのレジスタである。(アダプタ#1に対応する
ビットR1(1) 、アダプタ#2に対応するR2(2)
などは、同一アダプタ#1、#2などの出力バッファを
指定することになるが、単純化のため、ターゲット・レ
ジスタはnビットを有するように示される。実際には、
あるアダプタが自身の入力バッファから自身の出力バッ
ファにバスを介してデータを送信することはない。)
【0023】各アダプタ15はまた、中央アービタ17
と通信するための1本または複数の制御ラインを保持す
る。制御ラインは中央アービタ17に対し、アダプタの
入力バッファ19及び出力バッファ21の容量、及び特
定のアダプタの入力バッファ内のデータがターゲット指
定される出力バッファをアドバイスする。特に、各アダ
プタ#iは次に示す制御ラインを有する。すなわち、T
I(i)、TO(i)、Fi、及びUiである。制御ライン
I(i) が活動状態であると、これはアダプタ#iの
入力バッファが予め定義された閾値を超過しており、オ
ーバフローの危険が生じていることを示す。従って、T
I(1) がハイであると、これはアダプタ#1の入力バ
ッファがニアリ・フルの状態であることを示す。入力バ
ッファがそのデータのいくらかをバス上に送出すること
が許可されない場合、LAN1からアダプタ1の入力バ
ッファに転送される追加データのいくらかが失われる可
能性がある。なぜなら、入力バッファがその容量を越え
て充填されるからである。制御ラインTO(i) が活動
状態であると、アダプタ#1の出力バッファが予め定義
された閾値を超過しており、エンプティになる危険性を
示す。従って、TO(1)がハイの場合、アダプタ#1
の出力バッファはほとんどエンプティ状態である。制御
ラインFi が活動状態であると、これはアダプタ#iの
出力バッファがフル状態であり、データの受信が不能で
あることを示す。従って、データがこれに対し送信され
てはならない。
【0024】ラインUiは、アダプタのターゲット・レ
ジスタRiの内容をシリアルに中央アービタ17に送信
する。中央アービタは各アダプタに対応するレジスタR
を有する。各中央アービタ・レジスタRは、n個のフリ
ップ・フロップから構成される。従って、ラインUi
アダプタのレジスタ内の変化により中央アービタを更新
する。
【0025】中央アービタ17は、レジスタRi に加
え、中央アービタ・レジスタを更新する回路(図3)、
様々な制御ラインを生成する回路(図4乃至図8)、送
信アダプタを選択する回路(図9及び図13)、受信ア
ダプタを選択する回路(図10及び図12)、図9、図
10、図12及び図13の各選択回路に対応するバッフ
ァ・アービタ(図11)、及び各LANに対応する優先
順位発生器(図示しない)を含む。
【0026】図3において、中央アービタ内のレジスタ
i を更新する中央アービタ論理を示すブロック図が示
される。制御ラインUiは2進シリアル・ラインであ
り、 mビット・シフト・レジスタ31の入力に接続さ
れる。ここでm=log2(n)の値を切り上げた整数
値である。シフト・レジスタのmビット出力は、m×n
デコーダ33のmビット入力に接続される。デコーダ3
3はまたイネーブル入力35を有する。デコーダ33の
n出力はnビットのシフト・レジスタRi に接続され
る。
【0027】図3の論理回路の動作を説明するために、
最初にアダプタ#iがアダプタ#3からパケット・デー
タを受信したと仮定する(すなわち、中央アービタ・レ
ジスタRi(3) はその時点まで0である。アダプタ#
iは2進数3(011)をラインUi に沿って中央アー
ビタにシリアルに送信し、これがシフト・レジスタ31
に記憶される。この情報はmとしてデコーダ33に渡さ
れ、デコーダの出力ライン#3がRi(3) を0から1
にフリップする。アダプタ#iがアダプタ#3に対応し
て有する最後のパケット・データを送信すると、同一シ
ーケンスの事象がRi(3)を1から0にフリップす
る。
【0028】各アダプタは更にラインMi及びSiを介
し、中央アービタに接続される。ラインMi は中央アー
ビタがアダプタ#iに対し、#iが次のバス・トランザ
クションにおけるバスへのデータの送信者であることを
通知するために使用する。ラインSi は、中央アービタ
がアダプタ#iに対し、#iが次のバス・トランザクシ
ョンにおけるバスからのデータの受信者であることを通
知するために使用する。
【0029】制御ラインTI(i)、TO(i)、Fi
i、Mi及びSiは個別のラインとして示されている
が、それぞれのアダプタと中央アービタとの間のシリア
ル・バスを使用することにより、ライン数を減らすこと
が可能である。シリアル・バスはアダプタと中央アービ
タとの間で制御情報を伝送する。例えば、TI(i)、
O(i)及びFi により伝達される情報に等価な情報
が、全て2進コードを使用して、単一のラインに沿って
シリアルに伝送されても良い。この場合、符号化及び復
号化論理が両端で必要となる。同様にMi及びSiに等価
な情報が、全てのアダプタに接続されるシリアル・バス
に沿って伝送されても良い。伝送の開始及び終了を示す
適切なコード、及び他の必要情報が提供される場合、第
1のバースト・データが次の送信者として機能するアダ
プタの番号を示し、第2のバーストが次の受信者として
機能するアダプタの番号を示したりする。
【0030】個別な制御ラインまたはシリアル・バスの
どちらの構成が使用されようと、通信経路はバス11と
独立である。制御ライン上におけるシリアル伝送が、共
用バス上の活動と同時且つ非同期に発生するため、バス
性能への影響を最小化する。
【0031】中央アービタ17は、ラインUiを介しア
ダプタにより更新されるレジスタRi 以外に、どのアダ
プタがバスへのアクセスを所有するかを制御するための
論理回路を含む。図4乃至図8に、アダプタにより提供
される制御ラインから、追加の制御ラインを生成する論
理回路を示す。図4において、制御ラインAi は、アダ
プタ#iに対応する中央アービタ・レジスタRi、及び
アダプタ・ラインF1からFnによって生成される。ライ
ンAiが活動状態の時、これはアダプタ#iがその入力
バッファ(Ri で示される)内に、少なくとも1個の非
フルの出力バッファ(ラインF1からFnで示される)に
対応するデータを有することを示す。図4に示されるよ
うに、n個のANDゲート41が提供され、1ゲートが
レジスタRiの各ビットに対応する。各ANDゲート4
1は2入力を有し、それぞれレジスタRiのそれぞれj
番目のビット、及び対応するラインFjの反転に対応す
る。ANDゲート41の全ての出力は、各々ORゲート
43のそれぞれの入力に接続される。ORゲート43の
出力は制御ラインAiで示される。
【0032】図5は制御ラインDiを生成する論理回路
を示す。ラインDiが活動状態の時、これはあるアダプ
タの入力バッファ内に、アダプタ#iの出力バッファに
対応するデータが存在することを示す。中央アービタ内
のn個の各レジスタのi番目のビットが、ORゲート4
5のそれぞれの入力に接続される。ORゲート45の出
力は制御ラインDiで示される。
【0033】図6は制御ラインEiを生成する論理回路
を示す。Eiが活動状態の時、これはアダプタ#iがそ
の入力バッファ(Ri) 内に、少なくとも1個のニアリ
・エンプティの出力バッファ(ラインTO で示される)
に対応するデータを有することを示す。n個のANDゲ
ート47が提供され、各ANDゲート47は2入力を有
し、それぞれの入力にはレジスタRiのそれぞれj番目
のビット及びラインTO(j)が接続される。ANDゲ
ート47からの出力は、ORゲート49のそれぞれの入
力に接続される。ORゲート49の出力はラインEi
示される。
【0034】制御ラインAi及びDiは更に2つの制御ラ
イン、すなわちI及びOを生成するために使用される。
制御ラインI生成用の論理回路が図7に示される。ライ
ンIが活動状態(すなわちI=1)の時、これは少なく
とも1個の非フルの出力バッファに送信される(あるi
に対応してAi が1である)データを有する、少なくと
も1個のニアリ・フルの入力バッファが存在することを
示す。n個のANDゲート51が存在し、各ANDゲー
ト51は2入力を有し、一方は制御ラインTi(i)に
接続され、他方は制御ラインAi に接続される。AND
ゲート51の出力はORゲート53のそれぞれの入力に
接続される。ORゲートの出力は制御ラインIで示され
る。
【0035】図8は制御ラインOを生成する論理回路を
示す。ラインOが活動状態の時、これは少なくとも1個
のニアリ・エンプティ出力バッファが存在し、このバッ
ファに対応して、少なくとも他の1個のアダプタの入力
バッファ内にデータが存在する(あるiに対応してDi
が1である)ことを示す。n個のANDゲート55が存
在し、各ANDゲート55の一方の入力は制御ラインT
O(i) に接続され、他の入力は制御ラインDi に接続
される。ANDゲート51の出力はORゲート57のそ
れぞれの入力に接続される。ORゲートの出力は制御ラ
インOで示される。
【0036】制御ラインは中央アービタ17の種々の論
理回路に経路指定され、これらの回路は送信側及び受信
側のアダプタを定義する。制御ラインIが1(少なくと
も1個の非フルの出力バッファに送信可能なデータを有
する、少なくとも1個のニアリ・フルの入力バッファが
存在することを示す)の場合、図9及び図10の論理回
路が使用される。制御ラインIが0(少なくとも1個の
非フルの出力バッファに送信可能なデータを有する、ニ
アリ・フルの入力バッファが存在しないことを示す)の
場合、図12及び図13の論理回路が使用される。
【0037】最初に、図9及び図10の論理回路につい
て説明する。これらの回路はニアリ・フル状態で、デー
タを失う危険性のある入力バッファが存在する時に使用
される。図9に示される論理回路は、出力Mi を1にセ
ットすることにより、送信アダプタ(入力バッファ)を
定義する。2個以上のニアリ・フルの入力バッファが存
在する場合、第1のバッファ・アービタ61は、最初に
バスへのアクセスを獲得するニアリ・フルの入力バッフ
ァ(及びそのアダプタ)を決定する。送信アダプタが定
義された後、受信アダプタ(その出力バッファ)が、図
10の論理回路に示されるSi を1にセットすることに
より定義される。受信アダプタは、ニアリ・エンプティ
の出力バッファが存在するか否かを判断することによ
り、選択される。存在しない場合、論理回路は非フルの
出力バッファが存在するかを判断する。2個以上のニア
リ・エンプティの出力バッファが存在するか、2個以上
の非フルの出力バッファが存在する場合、第2のバッフ
ァ・アービタ89が最初にバスへのアクセスを獲得する
出力バッファを決定する。
【0038】図9の回路は第1のバッファ・アービタ6
1に2つの入力セットを提供する。Z1乃至Znで示され
る第1の入力セットは、n個のANDゲート63により
提供される。i番目のANDゲート63は制御ラインT
I(i) に接続される入力と、制御ラインAi に接続さ
れる別の入力を有する。第1のバッファ・アービタ61
への第2の入力セットはPI(1)乃至PI(n)で示さ
れ、第1のバッファ・アービタを送信アダプタに対応し
て所望の優先順位にプログラムする。入力PI(i)は
ベクトルであり、各々はラインPijで構成され、jはア
ダプタ#iに対応する優先順位のj番目のビット(2進
コード)を意味する。例えば8個のアダプタが存在する
場合、各ベクトルPI(i) は3本のラインを有する。
そして、アダプタ#1はラインP11、P12、及びP13
有し、アダプタ#2はラインP21、P22、及びP23を有
する。
【0039】入力PI(i) はアダプタの優先順位を選
択するようにプログラムされる。例えばアダプタ#1が
バッファ・アービタを所有する場合、その入力P
I(1) は111(2進数)であり、アダプタ#2が2
番目にバッファ・アービタを所有する場合、その入力P
I(2)は110である。入力PI(n)が静的である場
合、各ラインを所望の電圧に接続することによりプログ
ラムされ、入力が動的な場合、アダプタに対応する優先
順位が時間と共に変化する。
【0040】図11を参照すると、第1のバッファ・ア
ービタ61が示される。j個のステージ65...65
Jが提供される。各ステージ65はANDゲート67を
有し、それらの出力は全てORゲート69の入力に接続
される。第1のステージ65は入力PI(i) の最上位
ビット間の優先順位を決定する。このようにして、j番
目のステージ65Jは入力PI (i)の最下位ビット間
の優先順位を決定する。各ステージにおいて、n個のA
NDゲート67が提供され、各々が各アダプタに対応す
る。i番目のANDゲートは一方の入力がそれぞれの入
力Zi に接続され、他方の入力がラインPijに接続され
る。ここでjはステージ65に相当し、iはアダプタ#
iに対応する。例えば第1ステージの第1のANDゲー
トは、その入力がZi及びP11 に接続される。ANDゲ
ート67の出力は、ORゲート69のそれぞれの入力に
接続される。各ステージはまたn個の排他的論理和ゲー
ト71を有する。ORゲート69の出力は、各排他的論
理和ゲート71の一方の入力に接続される。i番目の排
他的論理和ゲート71の他方の入力は、ラインPijに接
続される。従って、第1のステージ内の第1の排他的論
理和ゲートは、P11の入力を有する。各排他的論理和ゲ
ート71の出力はインバータ72により反転され、AN
Dゲート73の入力に接続される。n個のANDゲート
73が存在する。第1のステージでは、i番目のAND
ゲート73の他方の入力は、入力Ziに接続される。第
2、第3ステージ以降では、i番目のANDゲート73
Aの他方の入力は、全段のステージのi番目のANDゲ
ートの出力に接続される。バッファ・アービタの最終ス
テージ65JのANDゲートの出力は、M1乃至Mnで示
される。
【0041】これらのラインM1乃至Mnは図10の論理
回路に入力される。この回路は受信アダプタを定義す
る。各アダプタに対し、破線で囲まれる回路75が提供
される。回路75はn個存在する。各回路は、n個の第
1のステージANDゲート77、2n個の第2ステージ
ANDゲート79、81、及びn個のORゲート83を
有する。出力バッファはサブ回路85により選択され
る。サブ回路85はANDゲート77、ANDゲート7
9、ANDゲート81、及びORゲート83を含む。従
って、各回路75内にはn個のこうしたサブ回路85が
存在する。n個のアダプタの中から、i番目のアダプタ
が受信アダプタとして選択される。各回路75はi番目
のサブ回路85を有する。アダプタ#hと示される選択
送信アダプタに対応して、h番目の回路75の全ての第
1ステージANDゲート77の一方の入力が、図9のラ
インMh に接続される。h番目の回路75のi番目のサ
ブ回路85内において、第1ステージANDゲート77
の他方の入力は、レジスタRhのそれぞれのi番目のビ
ットに接続される。2個の第2ステージANDゲート7
9、81が存在する。"ニアリ・エンプティ"対応のAN
Dゲート79は次の入力を有する。すなわち、ラインT
O(i)、Eh、及び第1ステージANDゲート77の出
力である。"非フル"対応のANDゲート81は次の入力
を有する。すなわち、第1ステージANDゲート77の
出力、ラインEh からの反転入力、及びラインFh から
の反転入力である。第2のANDゲート79、81から
の出力は、それぞれのORゲート83の入力に接続され
る。i番目のサブ回路85の全てのORゲート83出力
(アダプタ#iの出力バッファに対応)は、出力Zi
生成するORゲート87の入力に接続される。
【0042】ラインZi乃至Znは第2のバッファ・アー
ビタ89に入力され、これは上述の第1のバッファ・ア
ービタ61と同一である。ベクトル入力PO(1)乃至
O(n)が、第2のバッファ・アービタ89に提供さ
れる。これらのベクトル入力は、図9のベクトル入力P
I(1)乃至PI(n)と同様に構成され、どの出力バッ
ファが他の出力バッファに勝る優先順位を受信するかが
提供される。第2のバッファ・アービタ89の出力は、
制御ラインS1乃至Snを有する。これらの制御ライン
は、バス11上の次のブロック・データに対応する受信
アダプタを決定する。
【0043】図12及び図13を参照すると、I=0に
対応して使用される論理回路が示される。図12の回路
は受信アダプタを見い出すために使用される。この回路
は、ニアリ・エンプティの出力バッファを有するアダプ
タに優先権を提供し、次に非フルの出力バッファを有す
るアダプタが優先される。出力は図13の回路内で使用
されて、送信アダプタを定義する。送信アダプタとして
は、選択された受信アダプタに対応するデータを有する
ものが選択される。
【0044】図12の回路は第3のバッファ・アービタ
91を使用し、これは第1のバッファ・アービタ発生器
61と同一である。入力PO(1)乃至PO(n)はベク
トルであり、図10の入力PO(1)乃至PO(n)と同
じである。入力Z1乃至Znがそれぞれn個の論理回路9
3により提供され、各々は第1ステージANDゲート9
5、2個の第2ステージANDゲート97、99、及び
第3ステージORゲート101から構成される。各第1
ステージANDゲート95は、h番目の出力バッファに
対応して次の入力を有する。すなわち、反転I、Dh
及び反転Fhである。"フル"対応の第2ステージAND
ゲート97は、その入力として、反転O及び第1ステー
ジANDゲート95の出力を有する。"ニアリ・エンプ
ティ"対応のANDゲート99はその入力として、第1
ステージANDゲート95の出力、ラインO及びライン
O(h) を有する。第2ステージANDゲート97、
99の出力は、ORゲート101の入力に接続される。
ORゲートの出力はラインZhである。
【0045】第3のバッファ・アービタ91の出力はS
1乃至Snであり、これらは図13のANDゲート103
に入力される。図13の回路は、図12で選択される出
力バッファにもとづき、送信アダプタを定義する。図1
3は各送信アダプタに対応する論理回路107を示し、
各々は破線により囲まれて示される。図示のように、n
個の回路107が存在する。各回路107はレジスタに
接続される。従って、h番目の送信アダプタの回路10
7はレジスタRh に接続される。各回路はn個のAND
ゲート103を有する。i番目のANDゲート103
は、h番目のアダプタの入力バッファに対応して、Si
及びRh(i)に接続される入力を有する。全てのAN
Dゲート103の出力は、ORゲート105の入力に接
続される。ORゲート105の出力は、ラインZhであ
る。ラインZ1乃至Zn は第4のバッファ・アービタ1
09に接続され、これは第1のバッファ・アービタ61
と同一である。第4のバッファ・アービタ109はベク
トル入力PI(1)乃至PI(n)を有し、これらは図9
で述べられた入力と同じである。
【0046】本発明のオペレーションについて次に示
す。データ処理システムのオペレーションの間、各アダ
プタ15はその入力バッファ内に、接続される資源から
データを受信する。データはバス上の1個または複数の
資源に向けられる。アダプタはその入力バッファ内の全
てのデータから、特定の資源に向けられるデータを検索
することができる。同様にアダプタは、その入力バッフ
ァ上のデータに対応するターゲットとなる資源を判断で
きる。各アダプタはこのデータの1部を送信するため
に、中央アービタ17によりバスへのアクセスを許可さ
れる。各アダプタはバスから自身にターゲット指定され
るデータを受信し、その出力バッファに記憶する。バス
へのアクセスは中央アービタ17により許可される。出
力バッファからのデータはそれぞれの資源に出力され
る。
【0047】単純化のため、均一なブロック・サイズの
データが、バスを横断して伝送されるものと仮定する。
これは各アクセスにより、最適なデータ・ブロック・サ
イズがバス上を伝送されるだけでなく、TI(i)及び
O(i)を決定する閾値計算を単純化する。
【0048】どのアダプタがバス上に送信し、どのアダ
プタがバスから受信するかを判断するために、中央アー
ビタはニアリ・フルの入力バッファを有するアダプタが
存在するか否かを判断し、存在する場合、そのニアリ・
フルの入力バッファが、エンプティまたは非フルの出力
バッファに向けてターゲット指定されるか否かを判断す
る。この情報は制御ラインTI(i)、TO(i)、及び
i を介して獲得される。1個以上の非フルの出力バッ
ファにターゲット指定されるデータでニアリ・フル状態
の入力バッファを有するアダプタが、入力バッファのオ
ーバフロー及びそれに伴うデータ損失を阻止するため
に、バッファ・アービタを提供され、バスをアクセスす
る。例えば、アダプタ#1がニアリ・フルの入力バッフ
ァを有する場合、それは自身のラインTI(1) をハイ
にセットする。アダプタ#1がアダプタ#2に対応する
データを有する場合、そのレジスタはそのことをR
1(2)を1にセットすることにより示す。アダプタ#
2が非フルの出力バッファを有すると、これはラインF
2 をロウにセットする。R1(2)=1且つ反転F2=1
なので、図4の回路はA1=1を生成する。これは図7
の回路で使用され、TI(1)=1且つA1=1なので、
I=1を生成する。
【0049】アダプタ#1がフルの出力バッファだけに
対応するデータをその入力バッファに有する場合、Fi
=1のためにAi=0となり、アダプタ#1はバスへの
アクセスを獲得できない。これはアダプタ#1がそのデ
ータを送信する場所がないことによる。アダプタ#1は
ターゲットの出力バッファがフルでなくなるまで待機し
なければならない。
【0050】I=1の時、図9の回路は許可され(TI
(1)及びA1が両方とも1なので)、図12の第1の
回路は禁止される。なぜなら、図12の第1ステージA
NDゲート95が(反転I入力により)禁止されるから
である。次に示すアルゴリズムが、最初に入力バッファ
(送信アダプタ)を選択し、次に出力バッファ(受信バ
ッファ)を選択するために使用される。最初に、T
I(k)及びAkが1である入力バッファの優先順位を活
動化する(図9参照)。これはアダプタ#kの入力バッ
ファがニアリ・フルで、非フルの出力バッファがそのデ
ータに対応して存在することを示す。次に、バッファ・
アービタを所有する入力バッファが選択される。この入
力バッファを有するアダプタが#hとなる。次に、Eh
=1の場合(すなわちアダプタ#hの入力バッファが、
ニアリ・エンプティの出力バッファに対応するデータを
有する)、Rh(i)及びTO(i)が共に1である出力
バッファの優先順位を活動化する。Rh(i) =1はア
ダプタ#hの入力バッファが、アダプタ#iの出力バッ
ファに対応するデータを有することを意味する。Eh
0の場合、Rh(i)及び反転Fiが共に1である出力バ
ッファ優先順位を活動化する。反転Fi =1は、アダプ
タ#iの出力バッファがフルでないことを意味する。最
後に、バッファ・アービタにより出力バッファが選択さ
れる。
【0051】例えば、アダプタ#2の非フルの出力バッ
ファがアダプタ#1の入力バッファによりターゲット指
定される場合、I=1であるので、図9及び図10の回
路が使用される。TI(1)=1且つA1=1なので、図
9において、ラインZ1 はハイまたは1である。他のア
ダプタがニアリ・フルの入力バッファを有さない場合、
第1のバッファ・アービタ発生器61の出力がM1= 1
となり、それによりアダプタ#1が送信アダプタとして
定義される。これは図10のアダプタ#1に対応する回
路75(レジスタR1 を制御する)を許可する。なぜな
ら、第1ステージANDゲート77が許可されるからで
ある。
【0052】しかしながら、別のアダプタが、非フルの
出力バッファにターゲット指定されるデータでニアリ・
フルの入力バッファを有する場合、第1のバッファ・ア
ービタ61は、どのアダプタが送信アダプタであるかを
判断する。例えば、アダプタ#1の他に、アダプタ#3
がニアリ・フルの入力バッファを有する場合、両方のラ
インZ1及びZ3がハイとなり、第1のバッファ・アービ
タ61に入力される。第1のバッファ・アービタはベク
トル入力PI(1)及びPI(3)により、アダプタ#1
またはアダプタ#3のどちらが高い優先順位を有するか
を判断する。ここでアダプタ#1が優先順位PI(1)
=111を有し、アダプタ#3がより低い優先順位PI
(3) =101を有するものと仮定する。図11を参
照すると、第1ステージ排他的論理和ゲート71は、入
力PI(1)及びPI(3)の最上位ビットのにおける0
をフィルタ出力する。最上位ビットは両者とも1のた
め、第1ステージは競合する。第1及び第3の排他的論
理和ゲート73の出力は、第2ステージに受渡され、こ
れは中間ビットを比較する。ここではPI(1) が1を
有するのに対し、PI(3) が0を有するため、P
I(1)がPI(3)に勝ることになる。従って、第1の
排他的論理和ゲートの出力が1となり、第3のステージ
に受渡され、第3の排他的論理和ゲートの出力は0とな
り、第3のステージからブロックされる。アービタ61
の出力はM1=1 となり、他の全ての出力は0となる。
【0053】図10において、アダプタ#1に対応する
回路107が許可される。第1ステージANDゲート7
7は、アダプタ#1によりターゲット指定される出力バ
ッファを判断する。R1(2)=1 であるため、アダプ
タ#2に対応するサブ回路85が許可される。第2ステ
ージANDゲート79、81は、ターゲット指定される
いずれかの出力バッファがニアリ・エンプティかを判断
する。そうである場合、E1=1なので、単に非フルの
出力バッファのゲート回路が禁止される。E1=1は、
図6の回路において、R1(2)=1且つTO(2)=1
による。従って、ニアリ・エンプティANDゲート79
がハイ出力を生成し、第2のバッファ・アービタ89へ
入力されるラインZ1 がハイとなる。他のアダプタがニ
アリ・エンプティの出力バッファを有さない場合、第2
のバッファ・アービタはS2=1 を生成し、アダプタ#
2を受信アダプタとして定義する。
【0054】しかしながら、例えばアダプタ#3が新た
なエンプティ出力バッファを有し、アダプタ#1の入力
バッファによりターゲット指定される場合、第2のバッ
ファ・アービタ89へ入力されるラインZ3 がハイとな
る。第2のバッファ・アービタは、ベクトル入力P
O(2)及びPO(3)を使用し、アダプタ#2またはア
ダプタ#3のどちらが高い優先順位を有するかを判断す
る。アダプタ#2がより高い優先順位を有する場合、S
2=1 となり、発生器89からの他の全てのS出力は0
となる。
【0055】ニアリ・エンプティに対し、アダプタ#1
の入力バッファによりターゲット指定される出力バッフ
ァのいずれかがフルでない場合、"非フル"対応のAND
ゲート81が許可される。これはすなわち、Eiの反転
が1で且つFiの反転が1であることによる。こうし
て、非フルの出力バッファの選択が許可される。
【0056】以上述べたように、図9及び図10の回路
を使用することにより、中央アービタは、バス上におい
て次にデータ転送するためにバスへのアクセスを所有す
るアダプタを制御する。非フルの出力バッファを有する
アダプタに向けてターゲット指定されるニアリ・フルの
入力バッファを有するアダプタが、バッファ・アービタ
を提供される。最初に、バッファ・アービタを所有する
送信アダプタが定義される。送信アダプタが定義される
と、次に送信アダプタによりターゲット指定される出力
バッファから、受信アダプタが定義される。ニアリ・エ
ンプティの出力バッファは、非フルの出力バッファより
も高い優先順位が提供される。
【0057】ニアリ・フルの入力バッファを有するアダ
プタが存在しない場合、I=0となり、図12及び図1
3の回路が使用される。最初に出力バッファを選択し、
次に入力バッファを選択するために、次に示すアルゴリ
ズムが使用される。最初に、O=1の場合(すなわち、
あるアダプタの入力バッファによりターゲット指定され
る、ニアリ・エンプティの出力バッファが存在する)、
O(k)及びDkの両者が1である出力バッファの優先
順位を活動化する。Dk=1 は、他の少なくとも1個の
アダプタ内に、アダプタ#kの出力バッファに対応する
データが存在することを意味する。それ以外の場合に
は、Dk及び反転Fkの両者が1である出力バッファ(す
なわち、非フルの出力バッファの全て)の優先順位を活
動化する。次に、バッファ・アービタを所有する出力バ
ッファを選択する。仮にこれをアダプタ#hと仮定す
る。次に、Ri(h)=1 である入力バッファの優先順
位を活動化する。各ターゲット・レジスタのh番目のビ
ットが調査される。最後に、最も高い優先順位により活
動化される入力バッファを選択する。
【0058】例えば、アダプタ#2がニアリ・エンプテ
ィの出力バッファを有するものとする。中央アービタ1
7は、アダプタ#2の出力バッファにターゲット指定さ
れるデータを有する別のアダプタが存在するか否かを判
断する。ここでアダプタ#1の入力バッファが、アダプ
タ#2にターゲット指定されるデータを有すると仮定す
ると、O=1となる。これは図5の回路において、R1
(2)=1がD2=2を生成し、図8の回路において、
O(2)=1 (アダプタ#2の出力バッファがニアリ
・エンプティ)及びD2=1 が、O=1を生成すること
による。O=1の場合、図12の回路の"ニアリ・エン
プティ"対応のANDゲート99は全て許可され、"非フ
ル"対応のANDゲート97は全て禁止される。アダプ
タ#2の出力バッファに対応するANDゲート99に入
力される他の入力は、TO(2)=1なので全て1とな
り、第1ステージANDゲート95の出力は1となる
(反転I及びD2及び反転F2が全て1のため)。これは
ラインZ2 上に、第3のバッファ・アービタ91への入
力を生成する。
【0059】第3のバッファ・アービタ91へのライン
Zが活動状態であるアダプタが複数存在する場合、バッ
ファ・アービタを所有するアダプタが第3のバッファ・
アービタ91により選択される。例えば、アダプタ#3
がニアリ・エンプティの出力バッファを有し、それに対
するデータが存在する場合、入力ベクトル PO(2)及
び PO(3)が第3のバッファ・アービタ91により比
較される。第3のバッファ・アービタ91は出力Sh
生成する。アダプタ#2がバッファ・アービタを所有す
る場合、S2=1となる。
【0060】第3のバッファ・アービタ91のこの出力
は、図13の回路においてアダプタ#2に関連するAN
Dゲート103の全てを許可する。アダプタ#2の出力
バッファに対応するデータを有するアダプタ#iは、そ
のレジスタが Ri(2)=1にセットされる。アダプタ
#1がアダプタ#2に対応するデータを有する場合に
は、R1(2)=1である。これによりラインZ1がハイ
となる。それ以外のアダプタがアダプタ#2に対応する
データを有さない場合、第4のバッファ・アービタ10
9の出力はM1=1となり、他の全てのMi出力は0とな
る。他のアダプタ、例えばアダプタ#3がアダプタ#2
に対応するデータを有する場合、第4のバッファ・アー
ビタ109は、入力ベクトルPI(1)及びPI(3)を
比較する。これらは図9と同じである。アダプタ#1が
より高い優先順位を有する場合、第4のバッファ・アー
ビタ109はM1=1を生成する。
【0061】中央アービタ17は、物理的にも一時的に
もバス11のバックグランドで機能する。中央アービタ
はバス11とは別の制御ラインを介して、アダプタとの
間で情報を送受信する。更に、中央アービタはデータが
バス上を伝送されている時間と同時に、バスをアクセス
するアダプタを決定する。
【0062】データはブロック・サイズにより、バス上
へ伝送される。単純化のため、ブロック・サイズが均一
なものとする。クロック16は全てのアダプタ及び中央
アービタを同期させる。例えば、第1のバス・サイクル
の間、アダプタ#1がブロック・データをバスを介して
アダプタ#2に送信する。更に第1のバス・サイクルの
間、中央アービタは、第2のバス・サイクルの間にバス
へのアクセスを所有する次のアダプタのセットを決定す
る。例えば、第2のバス・サイクルに対応して、中央ア
ービタは、アダプタ#1がアダプタ#3からブロック・
データを受信すると決定する。
【0063】従来のアービタに対する本発明の利点は、
アダプタからの最も最近の情報を収容することが可能な
点である。本発明によれば、状態の変化が中央アービタ
を途絶させない。例えば、アダプタ#1がアダプタ#2
に対応するデータを有し、アダプタ#1の入力バッファ
が1バス・サイクルの間にまだフルになっていないもの
と仮定する。他の入力バッファについてもフルでない場
合、アダプタ#1はその優先順位が低いために、バスへ
のアクセスを獲得できない。しかしながら、突然、バス
・サイクルの終わり近くで、アダプタ#1の入力バッフ
ァがニアリ・フルになり、ラインTi(1) を活動化す
るものとする。次のバス・サイクルの開始の直前に中央
アービタ17をターン・オンするために、従来のラッチ
回路が使用される。中央アービタは最も最近の情報によ
りバス・アクセスを決定するので、アダプタ#1のニア
リ・フルの入力バッファを解放するために、アダプタ#
1及びアダプタ#2に対し、バスへのアクセスを提供す
る。
【0064】本発明はLANに関して述べられてきた
が、本発明は複数の資源間でデータ転送を要求する他の
アプリケーションにおいても使用可能である。例えば、
本発明は自動窓口機(ATM)及び他のスイッチング装
置に関連しても使用される。更に、本発明は、高速デー
タ伝送及び高帯域幅を要求するマルチメディア・アプリ
ケーションにおいても使用される。
【0065】
【発明の効果】以上説明したように、本発明は、共用バ
スをアクセス可能な特定の資源を選択するフロー制御装
置を提供し、このフロー制御装置はバスのバックグラン
ドで動作するために、バス上におけるデータのスループ
ットを最大化する。
【図面の簡単な説明】
【図1】ローカル・エリア・ネットワークなどの複数資
源をサービスする共用バス、及び本発明の制御装置シス
テムのブロック図である。
【図2】制御装置システムの詳細ブロック図である。
【図3】中央アービタ内のレジスタRiを更新する論理
回路を示すブロック図である。
【図4】中央アービタ内において制御ラインを生成する
論理回路を示す図である。
【図5】中央アービタ内において制御ラインを生成する
論理回路を示す図である。
【図6】中央アービタ内において制御ラインを生成する
論理回路を示す図である。
【図7】中央アービタ内において制御ラインを生成する
論理回路を示す図である。
【図8】中央アービタ内において制御ラインを生成する
論理回路を示す図である。
【図9】I=1(非フルの出力バッファに対応するデー
タでニアリ・フル状態の少なくとも1個の入力バッファ
が存在することを示す)における送信アダプタを定義す
る論理回路の図である。
【図10】I=1(非フルの出力バッファに対応するデ
ータでニアリ・フル状態の少なくとも1個の入力バッフ
ァが存在することを示す)における受信アダプタを定義
する論理回路の図である。
【図11】バッファ・アービタの論理回路の図である。
【図12】I=0(非フルの出力バッファに対応するデ
ータでニアリ・フル状態の入力バッファが存在しないこ
とを示す)における受信アダプタを定義する論理回路の
図である。
【図13】I=0(非フルの出力バッファに対応するデ
ータでニアリ・フル状態の入力バッファが存在しないこ
とを示す)における送信アダプタを定義する論理回路の
図である。
【符号の説明】
13 資源 15 アダプタ 16 クロック 17 中央アダプタ 31 シフト・レジスタ 33 デコーダ 35 イネーブル入力 71、73 排他的論理和ゲート 85 サブ回路 93、107 論理回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンドリュー・ジョン・リンドス、サード アメリカ合衆国27707、ノースカロライナ 州ダラム、ジェームズ・ストリート 1421

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】各資源がバス上に送信されるデータを記憶
    する第1の記憶手段、及び上記バスからデータを受信す
    る第2の記憶手段を有し、各上記第1及び第2の記憶手
    段がデータ記憶容量を有する、複数の上記資源により共
    用される上記バスへの上記複数の資源によるアクセスを
    制御する方法であって、 a)各上記第1の記憶手段及び上記第2の記憶手段に含
    まれるデータ量のそれぞれの上記容量に対する充満度情
    報を獲得するステップと、 b)上記充満度情報から、自身の第1の記憶手段からデ
    ータを送信するためにバスへのアクセスを所有する資
    源、及び自身の第2の記憶手段にデータを受信するため
    にバスへのアクセスを所有する資源を決定するステップ
    と、 を含む方法。
  2. 【請求項2】各上記第1の記憶手段内の上記データが1
    個または複数の上記第2の記憶手段に送信されるように
    ターゲット指定され、 a)各第1の記憶手段に対応して、上記それぞれの第1
    の記憶手段内のデータによりターゲット指定される第2
    の記憶手段の識別に関するターゲット情報を獲得するス
    テップと、 b)バスへのアクセスを所有する資源を決定する上記ス
    テップが、上記充満度情報と一緒に上記ターゲット情報
    を使用し、自身の第1の記憶手段からデータを送信する
    ためにバスへのアクセスを所有する資源、及び自身の第
    2の記憶手段にデータを受信するためにバスへのアクセ
    スを所有する資源を決定する、 請求項1記載の方法。
  3. 【請求項3】各資源がバス上に送信されるデータを記憶
    する第1の記憶手段、及び上記バスからデータを受信す
    る第2の記憶手段を有し、各上記第1及び第2の記憶手
    段がデータ記憶容量を有する、複数の上記資源を相互接
    続するバスを共用する上記複数の資源を含むデータ処理
    システムであって、 a)各上記第1の記憶手段及び上記第2の記憶手段に含
    まれるデータ量のそれぞれの上記容量に対する充満度情
    報を獲得する手段と、 b)上記充満度情報から、自身の第1の記憶手段からデ
    ータを送信するためにバスへのアクセスを所有する資
    源、及び自身の第2の記憶手段にデータを受信するため
    にバスへのアクセスを所有する資源を選択する手段と、 c)上記選択された資源に上記バスへのアクセスを許可
    する手段と、 を含むシステム。
  4. 【請求項4】各上記第1の記憶手段内の上記データが1
    個または複数の上記第2の記憶手段に送信されるように
    ターゲット指定され、 a)各第1の記憶手段に対応して、上記それぞれの第1
    の記憶手段内のデータによりターゲット指定される第2
    の記憶手段の識別に関するターゲット情報を獲得する手
    段と、 b)上記選択手段が上記充満度情報と一緒に上記ターゲ
    ット情報を使用し、自身の第1の記憶手段からデータを
    送信するためにバスへのアクセスを所有する資源、及び
    自身の第2の記憶手段にデータを受信するためにバスへ
    のアクセスを所有する資源を決定する手段と、 を含む、請求項3記載のシステム。
  5. 【請求項5】共用バスを介して通信する複数の資源を有
    するデータ処理システムで使用されるフロー制御装置で
    あって、 a)上記バスに接続される複数のアダプタを含み、少な
    くとも1個のアダプタが各資源に対応して存在し、各ア
    ダプタは送信バッファ、受信バッファ、及びターゲット
    ・レジスタを含み、各アダプタの上記ターゲット・レジ
    スタがそれぞれの送信バッファ内のデータによりターゲ
    ット指定される受信バッファに関する情報を含み、 b)制御ライン手段により各アダプタに接続されるアー
    ビタを含み、上記制御ライン手段が各アダプタから上記
    アービタに、それぞれの送信バッファの充満度、それぞ
    れの受信バッファのエンプティネス及び充満度、及び上
    記アービタ内に配置されるそれぞれのアービタ・ターゲ
    ット・レジスタにロードされるアダプタ・ターゲット・
    レジスタの内容に関する情報を送信し、上記制御ライン
    手段が上記アービタから各上記アダプタに、該アダプタ
    が送信バッファまたは受信バッファのいずれかによりバ
    スをアクセスするか否かに関する情報を送信する、 フロー制御装置。
  6. 【請求項6】上記アービタが、 a)上記制御ラインを介し上記アダプタから受信される
    上記情報から、非フルの受信バッファに対応するデータ
    でフルに近づいている送信バッファを含む、送受信バッ
    ファの第1のセットが存在するか否かを判断する手段
    と、 b)上記第1の送受信バッファのセットを有する上記ア
    ダプタに上記バスへのアクセスを許可する手段と、 を含む、請求項5記載のフロー制御装置。
JP5302093A 1992-12-22 1993-12-01 共用バスのフロー制御装置 Pending JPH06261052A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US994849 1992-12-22
US07/994,849 US5448701A (en) 1992-12-22 1992-12-22 Flow controller for shared bus used by plural resources

Publications (1)

Publication Number Publication Date
JPH06261052A true JPH06261052A (ja) 1994-09-16

Family

ID=25541140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5302093A Pending JPH06261052A (ja) 1992-12-22 1993-12-01 共用バスのフロー制御装置

Country Status (2)

Country Link
US (1) US5448701A (ja)
JP (1) JPH06261052A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480605B1 (ko) * 2002-07-25 2005-04-06 삼성전자주식회사 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
JP2006172239A (ja) * 2004-12-17 2006-06-29 Alaxala Networks Corp 回線集約装置及びバッファ管理装置

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067408A (en) * 1993-05-27 2000-05-23 Advanced Micro Devices, Inc. Full duplex buffer management and apparatus
DE69300523T2 (de) * 1993-11-26 1996-03-14 Sgs Thomson Microelectronics Prozessorschnittstellenschaltung zum Austausch von seriellen digitalen Daten mit einem Peripheriegerät.
DE69529250T2 (de) * 1994-07-01 2003-10-30 Sun Microsystems, Inc. Rechnersystem mit einem multiplexierten Adressenbus und Pipeline-Schreiboperationen
US6029217A (en) * 1994-10-03 2000-02-22 International Business Machines Corporation Queued arbitration mechanism for data processing system
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
US5983025A (en) * 1995-06-07 1999-11-09 International Business Machines Corporation Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses
US6115748A (en) 1995-07-19 2000-09-05 Fujitsu Network Communications, Inc. Prioritized access to shared buffers
JP3519182B2 (ja) 1995-09-05 2004-04-12 株式会社日立製作所 情報処理システムおよびバスアービタならびにバス制御方法
US5793992A (en) * 1996-06-13 1998-08-11 Vlsi Technology, Inc. Method and apparatus for arbitrating access to main memory of a computer system
US5768257A (en) * 1996-07-11 1998-06-16 Xylan Corporation Input buffering/output control for a digital traffic switch
US6442172B1 (en) 1996-07-11 2002-08-27 Alcatel Internetworking, Inc. Input buffering and queue status-based output control for a digital traffic switch
US5881316A (en) * 1996-11-12 1999-03-09 Hewlett-Packard Company Dynamic allocation of queue space using counters
US6157970A (en) * 1997-09-24 2000-12-05 Intel Corporation Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
GB9724030D0 (en) * 1997-11-13 1998-01-14 Advanced Telecommunications Mo Peripheral servicing
US6192428B1 (en) * 1998-02-13 2001-02-20 Intel Corporation Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
US6092140A (en) * 1998-05-15 2000-07-18 Hewlett-Packard Company Low latency bridging between high speed bus networks
US6732209B1 (en) * 2000-03-28 2004-05-04 Juniper Networks, Inc. Data rate division among a plurality of input queues
US6697904B1 (en) * 2000-03-28 2004-02-24 Intel Corporation Preventing starvation of agents on a bus bridge
US6842813B1 (en) 2000-06-12 2005-01-11 Intel Corporation Method and apparatus for single wire signaling of request types in a computer system having a point to point half duplex interconnect
US6877052B1 (en) * 2000-09-29 2005-04-05 Intel Corporation System and method for improved half-duplex bus performance
US6804736B2 (en) * 2000-11-30 2004-10-12 Hewlett-Packard Development Company, L.P. Bus access arbitration based on workload
US20020184381A1 (en) * 2001-05-30 2002-12-05 Celox Networks, Inc. Method and apparatus for dynamically controlling data flow on a bi-directional data bus
CA2358681C (en) * 2001-10-12 2008-01-15 Ibm Canada Limited-Ibm Canada Limitee Resource adapter and integrated development environment
US7065596B2 (en) * 2002-09-19 2006-06-20 Intel Corporation Method and apparatus to resolve instruction starvation
US7099983B2 (en) * 2002-11-25 2006-08-29 Lsi Logic Corporation Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
US7246181B2 (en) * 2004-09-14 2007-07-17 Hewlett-Packard Development Company, L.P. Device and method for identifying a communication interface that performs an operating parameter closer to a desired performance level than another communication interface performs the operating parameter
US7287111B2 (en) * 2004-09-23 2007-10-23 International Business Machines Corporation Method and system for creating and dynamically selecting an arbiter design in a data processing system
US7657286B2 (en) 2006-05-11 2010-02-02 Nokia Corporation Multiradio control interface element in modem
US7711373B2 (en) * 2006-05-11 2010-05-04 Nokia Corporation Multiradio control interface
US7949364B2 (en) * 2006-10-03 2011-05-24 Nokia Corporation System for managing radio modems
US7668565B2 (en) * 2006-11-07 2010-02-23 Nokia Corporation Multiradio priority control based on modem buffer load
US20080291830A1 (en) * 2007-05-25 2008-11-27 Nokia Corporation Multiradio control incorporating quality of service
US20140333779A1 (en) * 2013-05-13 2014-11-13 Electronics And Telecommunications Research Institute Apparatus for distributing bus traffic of multiple camera inputs of automotive system on chip and automotive system on chip using the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60229547A (ja) * 1984-04-27 1985-11-14 Nec Corp バス型通信システムにおけるフロ−制御方式
JPS61200733A (ja) * 1985-03-04 1986-09-05 Hitachi Ltd フロ−制御方式
JPS62298246A (ja) * 1986-06-17 1987-12-25 Nec Corp ネツトワ−クノ−ド
JPS63306742A (ja) * 1987-05-26 1988-12-14 フランス共和国 パケットフロー制御方法および装置
JPS6481426A (en) * 1987-09-22 1989-03-27 Nec Corp Star lan
JPH0294846A (ja) * 1988-09-30 1990-04-05 Toshiba Corp バスアクセス制御方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
US4720784A (en) * 1983-10-18 1988-01-19 Thiruvengadam Radhakrishnan Multicomputer network
US4675865A (en) * 1985-10-04 1987-06-23 Northern Telecom Limited Bus interface
US5247626A (en) * 1990-05-29 1993-09-21 Advanced Micro Devices, Inc. Fddi controller having flexible buffer management
US5276681A (en) * 1992-06-25 1994-01-04 Starlight Networks Process for fair and prioritized access to limited output buffers in a multi-port switch
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
US5365552A (en) * 1992-11-16 1994-11-15 Intel Corporation Buffer fullness indicator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60229547A (ja) * 1984-04-27 1985-11-14 Nec Corp バス型通信システムにおけるフロ−制御方式
JPS61200733A (ja) * 1985-03-04 1986-09-05 Hitachi Ltd フロ−制御方式
JPS62298246A (ja) * 1986-06-17 1987-12-25 Nec Corp ネツトワ−クノ−ド
JPS63306742A (ja) * 1987-05-26 1988-12-14 フランス共和国 パケットフロー制御方法および装置
JPS6481426A (en) * 1987-09-22 1989-03-27 Nec Corp Star lan
JPH0294846A (ja) * 1988-09-30 1990-04-05 Toshiba Corp バスアクセス制御方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480605B1 (ko) * 2002-07-25 2005-04-06 삼성전자주식회사 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
US7251702B2 (en) 2002-07-25 2007-07-31 Samsung Electronics Co., Ltd. Network controller and method of controlling transmitting and receiving buffers of the same
JP2006172239A (ja) * 2004-12-17 2006-06-29 Alaxala Networks Corp 回線集約装置及びバッファ管理装置
JP4654017B2 (ja) * 2004-12-17 2011-03-16 アラクサラネットワークス株式会社 回線集約装置及びバッファ管理装置

Also Published As

Publication number Publication date
US5448701A (en) 1995-09-05

Similar Documents

Publication Publication Date Title
JPH06261052A (ja) 共用バスのフロー制御装置
US5392033A (en) Priority generator for providing controllable guaranteed fairness in accessing a shared bus
EP0617368B1 (en) Arbitration process for controlling data flow through an I/O controller
JP7457654B2 (ja) システムオンチップ上の相互接続ファブリック内でソースベースルーティングを実施するための手順
US5020020A (en) Computer interconnect system with transmit-abort function
US6314487B1 (en) Adaptive routing controller of a crossbar core module used in a crossbar routing switch
US5530902A (en) Data packet switching system having DMA controller, service arbiter, buffer type managers, and buffer managers for managing data transfer to provide less processor intervention
US7924708B2 (en) Method and apparatus for flow control initialization
US5193149A (en) Dual-path computer interconnect system with four-ported packet memory control
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
US5367636A (en) Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit
US7493426B2 (en) Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
EP0451938A2 (en) Multiple cluster signal processor
EP0744851A1 (en) Distributed data processing system
AU3867999A (en) System and method for regulating message flow in a digital data network
JP4255833B2 (ja) コンピュータ・システムの入出力ノードにおけるタグ付けおよび調停メカニズム
US6263393B1 (en) Bus switch for realizing bus transactions across two or more buses
JPH05241947A (ja) 分散クロスバー・スイッチ・アーキテクチャにおける交換接続の配列。
JPH09116570A (ja) ネットワークメッセージルート指定装置のための待ち時間短縮及びルート裁定方法
US8031730B2 (en) System and method for transmitting a sequence of messages in an interconnection network
US7688815B2 (en) Method and system for a multi-stage interconnect switch
JP4391819B2 (ja) コンピュータ・システムの入出力ノード
JP3057591B2 (ja) マルチプロセッサシステム
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080205

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090205

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees