請求の範囲
1 2つの入力ポートと1つの出力ポートとを備
え、前記入力ポートの各々はN個の入力データラ
インを有し、前記1つの出力ポートはN個の出力
データラインを有し、
いずれの入力ポートもまだ選択されていないと
き、前記入力ポートにおける前記N個の入力デー
タラインの任意の1つの上のアクテイブ論理信号
に応答して、一度に前記2つの入力ポートのうち
の1つだけを選択する手段と、
マルチビツトキヤラクタのビツトを、前記選択
された入力ポートから前記出力ポートへ並列にか
つ互いに同期して送る手段とをさらに備え、
前記マルチビツトキヤラクタの各々は、前記選
択された入力ポートのN個のうちのM個のデータ
ライン上のアクテイブ論理信号によつて表わさ
れ、前記Mは少なくとも2であり、前記Nは前記
Mよりも大きくかつ3よりも大きい、アービタ。
2 前記送る手段は、前記選択された入力ポート
からキヤラクタを受けかつ前記受けたキヤラクタ
を前記出力ポートへと伝達するNビツト幅の待ち
行列を含む、請求の範囲第1項記載のアービタ。
3 前記入力ポートの各々は1つの入力制御ライ
ンをさらに含み、前記送る手段は前記選択された
入力ポートの前記1つの入力制御ライン上の制御
信号を発生して前記選択された入力ポートの前記
N個の入力データライン上のキヤラクタが受け入
れられかつ変化し得るときを示す手段を含む、請
求の範囲第1項記載のアービタ。
4、前記出力ポートは1つの出力制御ラインをさ
らに含み、前記送る手段は前記1つの出力制御ラ
イン上の信号に応答して前記出力ポートの前記N
個の出力データライン上のキヤラクタを発生する
手段を含む、請求の範囲第1項記載のアービタ。
5 前記選択された入力ポートの前記N個の入力
データライン上の予め定められたキヤラクタを検
出し、かつそれに応答して前記出力ポートの前記
N個のデータライン上の2つのキヤラクタのうち
の1つを発生していずれの入力ポートが選択され
たかを示す手段をさらに含む、請求の範囲第1項
記載のアービタ。
6 前記選択された入力ポートの前記N個の入力
データライン上の予め定められたキヤラクタを検
出し、かつそれに応答して前記選択された入力ポ
ートから選択解除する手段をさらに含む、請求の
範囲第1項記載のアービタ。
7、前記マルチビツトキヤラクタの各々は、一連
の外部的に発生されたAS…ASM…MCEMAA…AA
CEAの形式のマルチビツトキヤラクタを含み、
前記CEMのキヤラクタが前記出力ポートに送ら
れた後直ちに前記出力ポート上の2つの選択可能
なキヤラクタのうちの1つを発生し前記一連のキ
ヤラクタが送られてきた入力ポートを識別する手
段をさらに含む、請求の範囲第1項記載のアービ
タ。
発明の背景
この発明は、アービタ(arbiter)および選択
器ならびにその回路網に関する。
一般的に、アービタは2つの入力ポートと1つ
の出力ポートとを有する論理回路であり、その動
作において、メツセージはいずれかの入力ポート
から出力ポートへと送られる。たとえば1つの先
行技術のアービタが、本願の発明者でもある
Becky J.Clarkに対して1981年2月17日に与えら
れた米国特許第4251879号に説明されている。
また一般的に、選択器は1つの入力ポートと2
つの出力ポートとを有する論理回路であり、その
動作において、メツセージは1つの入力ポートか
ら2つの出力ポートのうちの選択されたものへと
送られる。たとえば1つの先行技術の選択器が、
上と同様のBecky J.Clarkに対して1980年12月2
日に与えられた米国特許第4237447号に説明され
ている。
上述のアービタおよび選択器が有する制限は、
それらがビツトシリアルメツセージについてのみ
動作するということである。すなわち、その入力
ポートからその出力ポートへと送られるメツセー
ジは、一度に1ビツトずつである。したがつて、
それらのアービタおよび選択器が動作する最大ボ
ー速度は比較的低い。
このボー速度を上げるために、多数の上述のア
ービタおよび選択器を並列に接続することも考え
られる。しかしながらそのような並列接続の問題
点は、複数ビツトが互いに同期して並列経路を通
らないということである。その理由は、リクエス
トが同時に両方の入力ポートに到着したとき、ア
ービタは無秩序にその入力ポートのうちの一方ま
たは他方を選択するからである。したがつて、上
述のアービタおよび選択器の並列接続を通じて或
るソースから送られた複数ビツトは、予期しない
かつ非常にスクランブルされた態様でその行先に
到達する。
したがつてこの発明の主たる目的は、改良され
たアービタを提供することである。
この発明の他の目的は、複数ビツトをその入力
ポートからその出力ポートへと並列に通過させる
アービタを提供することである。
発明の概要
上述の目的および他の目的は、2つの入力ポー
ト、1つの出力ポート、選択する手段、および送
る手段を備えるアービタによつて、達成される。
入力ポートの各々はN個の入力データラインを有
し、出力ポートはN個の出力データラインを有す
る。選択する手段は、いずれの入力ポートもまだ
選択されていないとき、入力ポートにおけるN個
の入力データラインの任意の1つの上のアクテイ
ブ論理信号に応答して、一度に2つの入力ポート
のうちの1つだけを選択する。送る手段は、マル
チビツトキヤラクタのビツトを、選択された入力
ポートから出力ポートへ並列にかつ互いに同期し
て送る。マルチビツトキヤラクタの各々は、選択
された入力ポートのN個のうちのM個のデータラ
イン上のアクテイブ論理信号によつて表わされ、
Mは少なくとも2であり、NはMよりも大きくか
つ3よりも大きい。Claim 1: comprising two input ports and one output port, each of the input ports having N input data lines, and the one output port having N output data lines; only one of said two input ports at a time in response to an active logic signal on any one of said N input data lines at said input port when an input port of and means for transmitting bits of multi-bit characters from the selected input port to the output port in parallel and synchronously with each other, each of the multi-bit characters an arbiter represented by active logic signals on M data lines of N input ports, where M is at least 2, and where N is greater than M and greater than 3; . 2. The arbiter of claim 1, wherein said means for sending includes an N-bit wide queue for receiving characters from said selected input port and communicating said received characters to said output port. 3. Each of the input ports further includes one input control line, and the sending means generates a control signal on the one input control line of the selected input port to control the input control line of the selected input port. 2. The arbiter of claim 1, including means for indicating when characters on the input data lines are acceptable and may change. 4. The output port further includes one output control line, and the sending means responds to a signal on the one output control line to
2. The arbiter of claim 1 including means for generating characters on the output data lines. 5 detecting a predetermined character on the N input data lines of the selected input port, and responsively detecting one of the two characters on the N data lines of the output port; 2. The arbiter of claim 1, further comprising means for generating a signal to indicate which input port has been selected. 6, further comprising means for detecting a predetermined character on the N input data lines of the selected input port and responsively deselecting it from the selected input port. The arbiter described in Section 1. 7. Each of the multi-bit characters is a series of externally generated A S ...A S M...MC EM A A ...A A
a multi-bit character in the form of C EA , generating one of two selectable characters on said output port immediately after said C EM character is sent to said output port; 2. The arbiter of claim 1, further comprising means for identifying the input port from which the arbiter was sent. BACKGROUND OF THE INVENTION This invention relates to arbiters and selectors and their circuitry. Generally, an arbiter is a logic circuit having two input ports and one output port, and in its operation a message is sent from either input port to an output port. For example, one prior art arbiter is also the inventor of the present application.
No. 4,251,879, issued February 17, 1981 to Becky J. Clark. Also, generally speaking, a selector has one input port and two input ports.
In operation, a message is sent from one input port to a selected one of the two output ports. For example, one prior art selector
December 2, 1980 to Becky J. Clark, same as above.
No. 4,237,447, issued in 1999. The limitations that the arbiter and selector described above have are:
The point is that they only work on bit-serial messages. That is, messages are sent one bit at a time from its input port to its output port. Therefore,
The maximum baud rate at which these arbiters and selectors operate is relatively low. In order to increase this baud rate, it is also conceivable to connect a number of the above-mentioned arbiters and selectors in parallel. However, the problem with such parallel connections is that the bits do not follow parallel paths in synchronization with each other. The reason is that when a request arrives at both input ports at the same time, the arbiter randomly selects one or the other of the input ports. Therefore, multiple bits sent from a source through the parallel connection of arbiters and selectors described above will reach their destination in an unexpected and highly scrambled manner. It is therefore a primary object of this invention to provide an improved arbiter. Another object of the invention is to provide an arbiter that passes multiple bits in parallel from its input port to its output port. SUMMARY OF THE INVENTION The above objects and other objects are achieved by an arbiter comprising two input ports, one output port, means for selecting, and means for sending.
Each of the input ports has N input data lines and the output port has N output data lines. The means for selecting selects one of the two input ports at a time in response to an active logic signal on any one of the N input data lines at the input port when neither input port is already selected. Select only one. The sending means sends the bits of the multi-bit character from the selected input port to the output port in parallel and synchronously with each other. Each of the multi-bit characters is represented by an active logic signal on M out of N data lines of the selected input port;
M is at least 2 and N is greater than M and greater than 3.
【図面の簡単な説明】[Brief explanation of the drawing]
この発明の種々の特徴および利点は、以下の詳
細な説明および添付の図面を参照することによつ
てよく理解されるであろう。第1図は、この発明
により構成されたアービタのシステムを示す。第
2図は、第1図のアービタのうちの1つのブロツ
ク図である。第3図ないし第6図は、第2図のア
ービタの好ましい一実施例の詳細な論理回路図で
ある。
Various features and advantages of the invention may be better understood by reference to the following detailed description and accompanying drawings. FIG. 1 shows a system of arbiters constructed in accordance with the present invention. FIG. 2 is a block diagram of one of the arbiters of FIG. 3-6 are detailed logic diagrams of one preferred embodiment of the arbiter of FIG. 2.
【発明の詳細な説明】[Detailed description of the invention]
ここで第1図ないし第6図を参照して、この発
明の好ましい一実施例を詳細に説明する。最初
に、第1図は、この発明により構成された3つの
アービタ10A,10B、および10Cがシステ
ムとしていかに相互接続され得るかということの
一例を示す。勿論、他の任意の数のアービタおよ
び選択器が入力ポート―出力ポート形式に相互接
続されて他のシステムを形成することもできる。
アービタ10A,10B,および10Cは互い
に同一であり、文字A,B、およびCはシステム
内のこれらのアービタの位置を識別するためにだ
け付加されている。各アービタは、2つの入力ポ
ートと1つの出力ポートとを含む。第1図におい
て、参照数字11および12は各入力ポートを示し、
参照数字13は出力ポートを示す。
第1図のシステムにおいて、アービタ10Aお
よび10Bの出力ポートは、アービタ10Cの各
入力ポートと接続されている。動作において、メ
ツセージは、アービタ10Aおよび10Bの任意
の入力ポートからアービタ10Cの出力ポートへ
と送られる。各メツセージは、アービタシステム
と導入されるとき、AS…ASM…MCEMAA…AACEA
のフオーマツトを有し、また各メツセージは、ア
ービタ10Cの出力ポート13へと送られた後
は、AS…ASM…MCEMAA…AACEAのフオーマツト
を有する。
上述のメツセージフオーマツトにおいて、各記
号AS,M,CEM,CEAおよびAAは1つのキヤラク
タを表わす。またこのキヤラクタは、N個のうち
のM個のコードによつて表わされる。すなわち、
アービタの入力ポート11および12の各々なら
びに出力ポート13はN個のデータラインを含
み、そのデータライン上のキヤラクタは、アクテ
イブ状態にあるN個のうちのM個のライン上の信
号によつて表わされる。
また上述のメツセージフオーマツトにおいて、
記号Mはメツセージの本体におけるキヤラクタを
表わし、記号AS,CEM,CEA、およびAAは制御キ
ヤラクタを表わす。制御キヤラクタASは選択器
回路網(図示せず)に関連して用いられ、選択器
回路網は、もし必要ならば、アービタ10Cの出
力ポート13と接続される。制御キヤラクタCEM
はアービタ回路網自身によつて用いられて、メツ
セージ本体の終りを示す。1つの制御キヤラクタ
AAが各アービタによつて発生されて、その入力
ポートのいずれをメツセージが通過するかという
ことを示す。このAAキヤラクタは、Mに対し可
能なキヤラクタの組のうちの2つの特定のキヤラ
クタC0およびC1である。ASキヤラクタもまた、
キヤラクタC0およびC1である。制御キヤラクタ
CEAはアービタによつて送られて、AAキヤラクタ
ストリングの終りを示す。
ここで第2図に移ると、1つのアービタのブロ
ツク図が示されている。このブロツク図におい
て、信号D01…D0Nは入力ポート11の各入力デ
ータライン上のデータ信号を表わし、信号D11…
D1Nは入力ポート12の各入力データラインに対
するデータ信号を表わし、信号D1…DNは出力ポ
ート13の各出力データライン上のデータ信号を
表わす。
各入力ポートはまた1つの入力制御ラインを含
み、出力ポートはまた1つの出力制御ラインを含
む。信号A0は入力ポート11に対する入力制御
ラインン上にアービタによつて発生され、信号
A1は入力ポート12に対する入力制御ライン上
にアービタによつて発生され、また信号Aは出力
ポート13に対する出力制御ライン上にアービタ
によつて受取られる。一般的に、これらの信号
は、出力ポートのデータラインから入力ポートの
データラインへのキヤラクタの転送を調整するた
めに利用される。
第2図のアービタの好ましい一実施例の詳細な
回路図は第3図、第4A図、第4B図、第4C
図、第5図、および第6図に与えられており、こ
れらの論理回路の動作をここで説明する。一般的
に、第3図および第6図は一つの入力ポートを選
択するアービタの部分を示し、第4A図ないし第
4C図および第5図は選択された入力ポートから
出力ポートへとキヤラクタを送るアービタの部分
を示す。
ここで、第3図の論理回路について考察する。
この論理回路は、複数のNANDゲート20―1
…20―N,21,22,23―1…23―N,
および24ないし31ならびに2つのトランジス
タ32Aおよび32Bを含んでおり、これらは図
示されたように相互接続されている。NANDゲ
ート20―1ないし20―Nは、入力ポート11
から各入力データ信号D01ないしD0Nを受ける。
同様に、NANDゲート23―1ないし23―N
は、入力ポート12から各入力データ信号D11な
いしD1Nを受ける。
初期状態において、入力データ信号D01ないし
D0NおよびD11いしD1Nはすべてインアクテイブ状
態にあり、この実施例においてはそれはローを意
味する。同様に初期状態において、信号R0およ
びR1はともにローであり、また信号S0′,
CLEAR0′,S1′,CLEAR1′、およびRESET′はす
べてハイである。この初期状態は、一定期間ロー
でありハイに変化する信号RESET′の結果として
生じる。この初期状態において、いずれの入力ポ
ートも選択されていない。
第3図の回路が上述の初期状態にあるとき、入
力ポートは、アクテイブとなるべき入力ポートに
対する入力データ信号に応答して選択される。す
なわち、入データ信号D01ないしD0Nのいずれか
1つがハイに移行すれば、入力ポート11が選択
され、一方入力ラインD11ないしD1Nがいずれか
1つがハイに移行すれば、入力ポート12が選択
される。
たとえば、入力データ信号D01がハイに移行し
たと仮定する。それに応答して、信号R0はハイ
に移行する。次に、ゲート21の出力はローに移
行し、その出力は信号R0をハイにラツチする。
ハイ信号R0により、NANDゲート26の出力は
ローに移行する。これによりトランジスタ32A
はターンオフし、したがつてその出力はハイに移
行する。次に信号S0はローに移行し、そのローは
すべてのゲート20―1ないし20―Nの出力を
ハイに移行させる。また、NANDゲート29か
らの信号S0はハイに移行し、それによつて入力ポ
ート11が選択されたということを示す。
一旦入力ポートが選択されると、全メツセージ
がそこを通過するまでその入力ポートは選択され
たまま留まる。したがつて、入力ポート11は、
CEAキヤラクタがその入力ポートによつて受取ら
れるまで選択されたまま留まる。CEAキヤラクタ
が受取られると、第6図の回路は、第3図の回路
を上述した初期状態に戻すように動作する。この
初期状態への再帰は、この詳細な説明の最後で述
べることにする。
ここで、第4A図ないし第4C図の論理回路に
ついて考察する。第4A図は、Nビツト幅の待ち
行列の1ビツトを示す。この待ち行列は、選択さ
れた入力ポートから入力データライン上のキヤラ
クタを受け、そのキヤラクタを出力ポートの出力
データラインへと送る。NANDゲート40〜4
7は待ち行列に対する入力バツフアを形成し、一
方NANDゲート50〜54は待ち行列に対する
出力バツフアを形成する。
この待ち行列はNビツト幅である。この待ち行
列を構成するために、第4A図の回路はいくらか
の変化をつけながらN回繰返される。この変化に
よつて、任意の選択可能な制御キヤラクタAAが
上述したようにメツセージ内へ挿入されることが
可能となる。すなわち、キヤラクタAAは、N個
のうちのM個の入力データラインをアクテイブ状
態に置くことによつて可能なすべての組のうちの
任意の2つのコードであり得る。これらのコード
のうちの或るものは入力ポート11が選択された
ということを示すが、他のコードは入力ポート1
2が選択されたということを示す。
もし両方のこれらのコードのk番目のビツトが
1であれば、このk番目のビツトに対する待ち行
列は第4A図に示されるように正確に形成され
る。しかしながら、もし両方のこれらのコードに
対するk番目のビツトが0であれば、このk番目
のビツトに対する待ち行列はNANDゲート44
および45が削除された修正を伴う第4A図に示
されたものと同様である。
また、もし入力ポート11が選択されたことを
示すコードのk番目のビツトが1であり、一方入
力ポート12が選択されたことを示すコードのk
番目のビツトが0であれば、信号S0がNANDゲ
ート44および45の入力に送られる。そしても
し入力ポート11が選択されたことを示すコード
のk番目のビツトが0であり、一方入力ポート1
2が選択されたことを示すコードのk番目のビツ
トが1であれば、信号S1がNANDゲート44お
よび45の入力に送られる。また、ゲート54は
一度現われるだけであり、そしてその出力は
NANDゲート50および52のすべてに対して
与えられる。
待ち行列の出力バツフアから待ち行列の入力バ
ツフアへのフイードバツクは、第4B図の回路に
よつて与えられる。この回路は、複数のNAND
ゲート60―1ないし60―N,61,62、お
よび63―1ないし63―Xを含む。ここで、X
は一度にM個をとるN個のものの組合わせの数で
ある。
したがつて、NANDゲート63―1ないし6
3―Xの各々は、出力待ち行列に存在し得るキヤ
ラクタのうちの1つを検出する。したがつて、ゲ
ート63―1ないし63―Xのうちの任意の1つ
の出力がローであれば、出力バツフアは真である
信号AKによつて示されるように一杯である。ま
た、ゲート60―1ないし60―Nの各々は、待
ち行列の出力バツフアにおける各ビツトを受ける
ように接続される。
選択された入力ポートのN個の入力データライ
ン上のキヤラクタが受入れられかつ変化し得ると
きを示すために制御信号A0およびA1を発生する
1つの好ましい手段が、第4C図に示されてい
る。この回路は、NANDゲート70―1ないし
70―X、71―1ないし70―N、および72
ないし76を含む。前と同様この表現において、
Xは一度にM個をとるN個のものの組合わせの数
を表わす。これらのNANDゲートはすべて図示
のように相互接続されている。
NANDゲート70―1ないし70―Xの各々
は、待ち行列の入力バツフアに存在し得る1つの
キヤラクタを検出する。したがつて、ゲート70
―1ないし70―Xの任意のものの出力でのロー
は、キヤラクタが入力バツフアに存在するという
ことを示す。また、ゲート70―1ないし70―
Nの各々は、入力待ち行列のバツフアにおける1
つの各ビツトを受けるように接続される。
ゲート70―1ないし70―Xのうちの4個は
各制御キヤラクタを検出するということに注意さ
れたい。これらのゲートは、70―A,70―
B,70―C、および70―Dの記号が付されて
いる。ゲート70―Aはメツセージ制御キヤラク
タCEMの終りを検出し、ゲート70―Bはアドレ
ス制御キヤラクタCEAの終りを検出し、またゲー
ト70―Cおよび70―Dは制御キヤラクタC0
およびC1を検出する。それらは、入力ポートの
いずれが選択されたかということを示す。これら
の制御キヤラクタのすべては、第3図および第6
図の回路によつて利用され、これらの回路の動作
を簡単に説明する。
しかしながら、まず最初に第4A図ないし第4
C図の回路がいかに動作するかということをさら
に理解するために、以下のシーケンスを考察す
る。初期状態において、第4A図の待ち行列に対
するすべての入力信号はインアクテイブ状態にあ
る。すなわち、信号D0K,S0,D1K,S1,および
SENDはすべてローであり、信号AK′はハイであ
る。次に、1つの入力ポート上のハイに移行する
任意の入力データラインに応答して、いずれかの
信号S0またはS1はハイに移行して、第3図に関連
して説明したように選択されたポートを示す。
たとえば、信号S0がハイに移行したと仮定す
る。次にもしk番目の入力データ信号D0Kがハイ
に移行すれば、NANDゲート40の出力はロー
に移行し、かつNANDゲート47の出力はハイ
に移行する。NANDゲート47は信号DJKを発生
し、信号DJKはNANDゲート46および41を通
じてフイードバツクされて、それによつて入力バ
ツフアがラツチされる。信号DJKはまた、第4C
図の回路におけるNANDゲート70―1ないし
70―Xに送られる。そして合計Mビツトが待ち
行列の入力バツフアに存在すれば、これらのゲー
ト70―1ないし70―Xのうちの1つの出力は
ローに移行する。
このローによつてNANDゲート72の出力は
ハイに移行し、このハイはNANDゲート71―
1ないし71―Nを通じてフイードバツクされ
て、それによつてNANDゲート72の出力はハ
イにラツチされる。また、ハイ信号S0および
NANDゲート72の出力からのハイの同時発生
により、NANDゲート73の出力はローになり、
またゲート74の出力はハイになる。したがつ
て、入力制御信号A0はハイに移行して、入力デ
ータライン上のキヤラクタが受取られかつ今変化
し得るということを示す。
次に、キヤラクタがいかに入力バツフアから出
力バツフアへと転送されるかということのシーケ
ンスを考察する。最初は、出力バツフア制御信号
Aはハイであると仮定する。この状態では、
NANDゲート54の出力はローであり、このロ
ーはバツフアの内容が出力バツフアへ転送される
ことをブロツクする。しかしながら、信号Aがロ
ーに移行すれば、NANDゲート54の出力はハ
イに移行する。そして次にNANDゲート50の
入力での2つのハイの同時発生により、そのゲー
トはローに移行し、そのローによりNANDゲー
ト53の出力はハイに移行される。このハイは
NANDゲート51および52を通じてフイード
バツクされて、それにより出力バツフアはラツチ
される。
次にすべての出力バツフアデータ信号DKは、
第4B図のNANDゲート63―1ないし63―
Xに送られる。そしてこれらの信号のM個がハイ
であれば、NANDゲート63―1ないし63―
Xのうちの1つの出力がローに移行する。このロ
ーは、NANDゲート61の出力をハイに強制す
る。そしてのハイは、NANDゲート60―1な
いし60―Nによつて与えられるフイードバツク
を通じてラツチされる。
NANDゲート61の出力のハイは、ゲート6
2の出力をローに強制し、このローにより次に
NANDゲート46および40の出力がハイに移
行される。ハイに変化したA0に応答してD0Kがロ
ーに変化すれば、NANDゲート41の出力はハ
イに変化して、それによつてNANDゲート47
はローに移行する。すべての入力バツフアデータ
ビツトDJKは、NANDゲート70―1ないし70
―Nに送られる。そしてすべての信号DJKがロー
であれば、すべてのNANDゲート70―1ない
し70―Nの出力はハイに移行し、それによつて
NANDゲート72の出力をローに強制する。こ
のことは次に入力制御信号A0をローに強制し、
このローは入力バツフアがクリアされて新たなキ
ヤラクタが入力データラインに存在し得るという
ことを示す。また、NANDゲート72の出力の
ローはNANDゲート70―1ないし70―Nに
よつて与えられるフイードバツクをその初期状態
に戻し、それによつて第4C図の回路はその初期
状態に戻される。
ここで、キヤラクタがいかにして待ち行列の出
力バツフアから除去されるかということを考察す
る。最初に、出力制御信号Aはハイに移行する。
このことは次にNANDゲート54の出力をロー
に強制し、これはNANDゲート50および52
によつて与えられるフイードバツクを遮断し、そ
れによつてそれらはハイに変化する。入力バツフ
アのクリアの結果としてDJKがローに変化すると、
NANDゲート50および51はハイに変化する。
NANDゲート50,51、および52がすべて
ハイであると、出力信号DKはローに移行する。
NANDゲート60―1ないし60―Nおよび6
3―1ないし63―Xは、待ち行列の出力バツフ
アのすべてのビツトにおけるローを検出する。そ
してこのローが検出されると、NANDゲート6
1の出力はローに移行する。このことは次に
NANDゲート60―1ないし60―Nによつて
与えられるフイードバツクをその初期状態に戻
し、かつ第4B図の回路をその初期状態に戻す。
また、NANDゲート62の出力はハイに移行し、
それによつて新たなキヤラクタが待ち行列の入力
バツフアによつて受けられることを可能にする。
キヤラクタは、制御キヤラクタCEMが入力バツ
フアに受けられるまで、待ち行列の入力バツフア
から待ち行列の出力バツフアへと上述の態様で送
られ続ける。制御キヤラクタCEMが受けられる
と、このCEMキヤラクタは出力バツフアへと送ら
れ、1つの制御キヤラクタAAが第5図の回路に
よつて待ち行列の入力バツフアにおいて発生され
る。このキヤラクタAAは内部的に発生されるの
で、入力制御信号A0はそれに対し全く送られな
い。次に内部的に発生された制御キヤラクタAA
が入力バツフアから出力バツフアへと送られた
後、入力制御信号A0はローに強制されて、それ
によつてシステム内の任意の先行するアービタに
よつて発生された他の制御キヤラクタAAが待ち
行列を通じて移動することを可能にする。
詳細には、上述のシーケンスは以下のようにし
て起こる。最初に、信号D0Kがハイに移行し、そ
れによつて待ち行列の入力バツフアからの信号
DJKがハイに移行される。すべて信号DJKは、第4
C図のNANDゲート70―1ないし70―Xに
送られる。そしてそこでNANDゲート70―A
は、制御キヤラクタCEMを検出する。NANDゲー
ト70―Aの出力はNANDゲート72の入力に
直接には行かず、第5図の回路内のNANDゲー
ト80の入力に送られるということに注意された
い。全体的な第5図の回路はNANDゲート80
ないし91からなり、それらは図示のように相互
接続されている。
NANDゲート81の出力は、NANDゲート7
0―Aによる制御信号CEMの検出に応答して、ハ
イに強制される。そしてこのハイは、NANDゲ
ート83の出力をローに強制する。NANDゲー
ト83の出力は、NANDゲート81および82
を通じてその入力にフイードバツクされる。した
がつて、NANDゲート83の出力のローはラツ
チされる。また、NANDゲート83の出力のロ
ーは、第4C図のNANDゲート72に対し信号
EMB′として送られる。これによりNANDゲート
72の出力はハイに強制され、このハイにより次
に入力制御信号A0はハイに移行される。
ハイに移行する信号A0に応答して、すべての
入力データビツトD0Kはローに移行する。そして
信号AK′が、入力バツフアの内容が出力バツフア
に転送されてしまつたということを示すローに移
行すると、待ち行列の入力バツフア内のすべての
信号DJKはローに移行する。通常はこのことが起
こると、第4C図におけるNANDゲート72は
ローに変化し、したがつて入力制御信号A0はロ
ーに移行する。しかしこの場合においては、
NANDゲート83からの信号EMB′はローにラツ
チされており、またこの信号はNANDゲート7
2へと送られるので、入力制御信号A0はハイに
留まる。
しかしながら、待ち行列の入力バツフアからの
信号DJKがローに移行すると、NANDゲート70
―Aの出力はハイに移行する。この出力は第5図
の回路のNANDゲート85に送られ、したがつ
てNANDゲート85の出力はローに移行する。
このことは次にNANDゲート86からのSEND
信号をハイに強制し、かつNANDゲート89の
出力をハイに強制する。
待ち行列の入力バツフアのNANDゲート44
は、SEND信号およびAK′信号を受けるように接
続される。したがつて、信号AK′がハイに移行す
ると、このことは出力バツフアが空であることを
示し、NANDゲート44の出力はローに移行す
る。これにより入力バツフアの信号DJKはハイに
セツトされる。ここで、待ち行列の入力バツフア
に対し4つのバリエーシヨンが存在するというこ
とを思い起こされたい。そしてこれらのバリエー
シヨンは、上に説明したように、任意の2つのコ
ードC0およびC1がSEND信号に応答して入力バ
ツフアにおいて制御キヤラクタAAとして発生さ
れることを可能にする。これらの2つのコード
は、いずれの入力ポートが選択されたかというこ
とを示す。
第4C図のNANDゲート70―Cおよび70
―Dは、入力バツフアにおけるコードC0および
C1の存在を検出する。そしてこれらのNANDゲ
ートの出力は、第5図の回路におけるNANDゲ
ート87および88に送られる。したがつて、こ
れらの制御キヤラクタのいずれかが入力バツフア
に存在すれば、NANDゲート87および88の
出力はハイに移行し、このハイは次にNANDゲ
ート90の出力をローに強制する。
NANDゲート90の出力のローは、NANDゲ
ート88および89によつてラツチされる。そし
てこのローはまた、NANDゲート91の出力か
らハイを強制する。次にNANDゲート91から
のこのハイは、NANDゲート83からの出力を
ハイに強制する。次にNANDゲート83の出力
からのこのハイは、NANDゲート86からの
SEND信号ローに強制する。
入力バツフアにおいて発生された制御キヤラク
タが出力バツフアに転送された後、信号AK′はロ
ーに移行する。これによつて入力バツフアはクリ
アされ、そしてすべての信号DJKはローに移行す
る。次に、第4C図のNANDゲート70―Cお
よび70―Dの出力はハイに移行する。また、
NANDゲート71―1ないし71―Nのすべて
の出力はハイに移行する。信号C0′およびC1′は、
第5図の回路のNANDゲート87の入力でハイ
に移行する。そしてこのことは次に、NANDゲ
ート90の出力をハイに強制する。信号CLEAR
D′のハイによりNANDゲート72はローに移行
され、また入力制御信号A0はローに移行し、そ
れによつて他のキヤラクタが今入力データライン
に受けられ得るということを示す。CLEAR
D′のハイによりNANDゲート91はローに変化
し、それによつて第5図の回路をその初期状態に
戻す。
その後制御キヤラクタCEAは、最終的には入力
待ち行列に受けられる。この制御キヤラクタは、
選択された入力ポートからの伝送が完了したとい
うことを示す。したがつて、制御キヤラクタCEA
を出力ポートへ送ることに加えて、アービタは入
力ポートから選択解除されなければならない。こ
のことは以下のようにして行なわれる。
最初に、制御キヤラクタCEAは第4C図の
NANDゲート70―Bによつて入力待ち行列に
おいて検出され、このNANDゲートの出力は第
6図の回路におけるNANDゲート100に送ら
れる。この全体的な回路はNANDゲート100
ないし116からなつており、それらは図示のご
とく相互接続されている。
NANDゲート100の入力のローはこのゲー
トの出力をハイに強制し、このハイは次に
NANDゲート102の出力をローに強制する。
このローは、ゲート100によつて与えられるフ
イードバツクによつてラツチされる。またこのロ
ーは、第4C図の回路のNANDゲート72に送
り返され、そして次に入力制御信号A0をハイに
強制する。これにより、入力データライン上の制
御キヤラクタCEAが除去されることが可能となる。
キヤラクタCEAが入力バツフアから出力バツフ
アへと転送されてしまつた後、信号AK′はローに
移行する。このことは、入力データラインからの
キヤラクタCEAの除去と組合わされて、待ち行列
の入力バツフアからの信号DJKをローに強制する。
したがつて、制御キヤラクタCEAを検出する第4
C図のNANDゲート70―Bの出力はハイに移
行する。このハイは第6図の回路のNANDゲー
ト104によつて受けられ、それによつてその出
力はローに移行する。次にこのローによつて
NANDゲート108の出力はハイに移行し、ま
たこのハイはNANDゲート105,106,お
よび107によつて与えられるフイードバツクに
よつてラツチされる。
NANDゲート108の出力のハイにより、
NANDゲート109の出力はローに移行される。
このローは、信号CLEAR0′として、第3図の回
路に送られる。そこで、信号CLEAR0′は、
NANDゲート20―1ないし20―Nおよび
NANDゲート21の出力がハイに移行するよう
に強制し、したがつて信号R0はローに移行する。
このローは次にNANDゲート26の出力をハイ
に強制し、このハイにより他の入力ポートが
NANDゲート27を通じて選択されることが可
能となる。しかしながら、この他の入力ポートの
選択は、NANDゲート30上の信号CLEAR0′の
ローにより一時的にブロツクされる。
信号CLEAR0′はまた、第6図の回路のNAND
ゲート116に送られる。そしてローであるこの
信号は、NANDゲート116の出力をハイに強
制する。これによりNANDゲート101の出力
はローになり、このローによりNANDゲート1
02の出力はハイとなる。NANDゲート102
はNANDゲート103をローに変化させ、かつ
第4C図のNANDゲート72に信号EAB′に送
る。したがつてNANDゲート72はハイに移行
し、このハイは次に入力制御信号A0をローに強
制し、かつ信号AQのローが第6図の回路に送ら
れるようにする。したがつて、前に選択された入
力ポートは、その初期状態に戻される。
また、第3図の回路におけるNANDゲート2
6の出力のハイに応答して、トランジスタ32は
ターンオンする。したがつて、NANDゲート2
9の出力はローに移行する。NANDゲート29
の出力は、第6図のNANDゲート104および
105に送られる。したがつて、これらの
NANDゲートの出力はハイに移行し、このハイ
は次にNANDゲート109からのCLEAR0′信号
をハイに強制する。NANDゲート116はロー
に変化し、またNANDゲート101はハイに変
化する。このことは第6図の回路をその初期状態
に戻し、そしてそれはまた第3図のNANDゲー
ト30からブロツキング信号を除去し、対応する
入力ポートが選択されることを可能にするる。
この発明の好ましい一実施例が詳細に説明され
てきた。しかしながら、多くの変更や修正がこの
発明の特徴および精神から逸脱することなくなさ
れ得る。したがつて、この発明は上述の実施例に
限定されるものではなく、添付の請求の範囲によ
つて規定されるべきものであるということを理解
されたい。
A preferred embodiment of the invention will now be described in detail with reference to FIGS. 1-6. First, FIG. 1 shows an example of how three arbiters 10A, 10B, and 10C constructed according to the present invention can be interconnected as a system. Of course, any other number of arbiters and selectors may be interconnected in an input port-output port format to form other systems. Arbiters 10A, 10B, and 10C are identical to each other; the letters A, B, and C are added only to identify their location within the system. Each arbiter includes two input ports and one output port. In Figure 1, reference numerals 11 and 12 indicate respective input ports;
Reference number 13 indicates the output port. In the system of FIG. 1, the output ports of arbiters 10A and 10B are connected to each input port of arbiter 10C. In operation, messages are sent from any input port of arbiters 10A and 10B to the output port of arbiter 10C. When each message is introduced with the arbiter system, A S …A S M…MC EM A A …A A C EA
and each message, after being sent to the output port 13 of the arbiter 10C, has the format A S ... A S M ... MC EM A A ... A A C EA . In the message formats described above, each symbol A S , M, C EM , C EA and AA represents one character. Also, this character is represented by M out of N codes. That is,
Each of the input ports 11 and 12 and the output port 13 of the arbiter includes N data lines, and the characters on the data lines are represented by the signals on the M lines of the N that are active. It will be done. Also, in the message format mentioned above,
The symbol M represents a character in the body of the message, and the symbols A S , C EM , C EA and A A represent control characters. The control character A S is used in conjunction with a selector circuitry (not shown), which, if required, is connected to the output port 13 of the arbiter 10C. Control character C EM
is used by the arbiter circuitry itself to indicate the end of the message body. one control character
A A is generated by each arbiter to indicate which of its input ports the message will pass through. The A A characters are two particular characters C 0 and C 1 of the set of possible characters for M. A S character is also
Characters C 0 and C 1 . control character
C EA is sent by the arbiter to indicate the end of the A A character string. Turning now to FIG. 2, a block diagram of one arbiter is shown. In this block diagram, signals D 01 . . . D 0N represent the data signals on each input data line of input port 11, and signals D 11 .
D 1N represents the data signal on each input data line of input port 12, and signals D 1 . . . D N represent the data signal on each output data line of output port 13. Each input port also includes one input control line and the output port also includes one output control line. Signal A 0 is generated by the arbiter on the input control line to input port 11, and the signal
A 1 is generated by the arbiter on the input control line to input port 12, and signal A is received by the arbiter on the output control line to output port 13. Generally, these signals are utilized to regulate the transfer of characters from the output port's data line to the input port's data line. Detailed circuit diagrams of a preferred embodiment of the arbiter of FIG. 2 are shown in FIGS. 3, 4A, 4B, and 4C.
The operation of these logic circuits will now be described. In general, Figures 3 and 6 show the portion of the arbiter that selects one input port, and Figures 4A-4C and 5 route a character from the selected input port to the output port. The arbiter part is shown. Now, consider the logic circuit shown in FIG.
This logic circuit includes multiple NAND gates 20-1
...20-N, 21, 22, 23-1...23-N,
and 24-31 and two transistors 32A and 32B, which are interconnected as shown. NAND gates 20-1 to 20-N have input port 11
Each input data signal D 01 to D 0N is received from the input data signal D 01 to D 0N .
Similarly, NAND gates 23-1 to 23-N
receives each input data signal D 11 through D 1N from input port 12 . In the initial state, the input data signal D 01 to
D 0N and D 11 through D 1N are all inactive, which means low in this example. Similarly, in the initial state, signals R 0 and R 1 are both low, and signals S 0 ′,
CLEAR 0 ′, S 1 ′, CLEAR 1 ′, and RESET′ are all high. This initial state results from the signal RESET' being low for a period of time and changing to high. In this initial state, no input port is selected. When the circuit of FIG. 3 is in the initial state described above, an input port is selected in response to an input data signal for that input port to become active. That is, if any one of the input data signals D 01 to D 0N goes high, input port 11 is selected, while if any one of the input lines D 11 to D 1N goes high, input port 12 is selected. is selected. For example, assume that input data signal D 01 goes high. In response, signal R0 goes high. The output of gate 21 then goes low and its output latches signal R0 high.
A high signal R 0 causes the output of NAND gate 26 to go low. As a result, the transistor 32A
turns off, so its output goes high. Signal S 0 then goes low, which causes the outputs of all gates 20-1 through 20-N to go high. Also, signal S 0 from NAND gate 29 goes high, thereby indicating that input port 11 has been selected. Once an input port is selected, it remains selected until all messages have passed through it. Therefore, the input port 11 is
Remains selected until a C EA character is received by its input port. When the C EA character is received, the circuit of FIG. 6 operates to return the circuit of FIG. 3 to the initial state described above. This recursion to the initial state will be discussed at the end of this detailed description. Consider now the logic circuits of FIGS. 4A to 4C. FIG. 4A shows one bit of an N bit wide queue. This queue receives the character on the input data line from the selected input port and sends the character to the output data line of the output port. NAND gate 40-4
7 forms the input buffer to the queue, while NAND gates 50-54 form the output buffer to the queue. This queue is N bits wide. To construct this queue, the circuit of Figure 4A is repeated N times with some variation. This change allows any selectable control character A A to be inserted into the message as described above. That is, character A A can be any two codes of all possible sets by placing M out of N input data lines active. Some of these codes indicate that input port 11 is selected, while other codes indicate that input port 1 is selected.
2 is selected. If the kth bit of both these codes is 1, the queue for this kth bit is formed exactly as shown in Figure 4A. However, if the kth bit for both these codes is 0, then the queue for this kth bit is NAND gate 44.
and 45 are deleted. Also, if the kth bit of the code indicating that input port 11 is selected is 1, and on the other hand the kth bit of the code indicating that input port 12 is selected.
If the th bit is 0, the signal S 0 is sent to the inputs of NAND gates 44 and 45. And if the kth bit of the code indicating that input port 11 is selected is 0, while input port 1
If the kth bit of the code is 1, indicating that 2 is selected, the signal S 1 is sent to the inputs of NAND gates 44 and 45. Also, gate 54 only appears once, and its output is
Provided for all NAND gates 50 and 52. Feedback from the queue output buffer to the queue input buffer is provided by the circuit of FIG. 4B. This circuit uses multiple NAND
It includes gates 60-1 to 60-N, 61, 62, and 63-1 to 63-X. Here, X
is the number of combinations of N things taken M at a time. Therefore, NAND gates 63-1 to 6
3-X each detects one of the characters that may be present in the output queue. Therefore, if the output of any one of gates 63-1 through 63-X is low, the output buffer is full as indicated by signal AK being true. Each of gates 60-1 through 60-N is also connected to receive a respective bit in the output buffer of the queue. One preferred means of generating control signals A 0 and A 1 to indicate when the characters on the N input data lines of a selected input port may be accepted and changed is shown in FIG. 4C. There is. This circuit includes NAND gates 70-1 to 70-X, 71-1 to 70-N, and 72
76 inclusive. As before, in this expression,
X represents the number of combinations of N items that take M items at a time. All these NAND gates are interconnected as shown. Each of NAND gates 70-1 through 70-X detects one character that may be present in the input buffer of the queue. Therefore, gate 70
A low at the output of any of -1 to 70-X indicates that the character is present in the input buffer. Also, gates 70-1 to 70-
Each of N is 1 in the buffer of the input queue.
connected to receive each bit. Note that four of gates 70-1 through 70-X detect each control character. These gates are 70-A, 70-
They are labeled B, 70-C, and 70-D. Gate 70-A detects the end of message control character CEM , gate 70-B detects the end of address control character CEA , and gates 70-C and 70-D detect the end of control character C0 .
and detect C 1 . They indicate which of the input ports is selected. All of these control characters are shown in Figures 3 and 6.
The operation of these circuits will now be briefly described. However, first of all,
To further understand how the circuit in Figure C operates, consider the following sequence. In the initial state, all input signals to the queue of FIG. 4A are inactive. That is, the signals D 0K , S 0 , D 1K , S 1 , and
SEND are all low and signal A K ' is high. Then, in response to any input data line going high on one input port, either signal S0 or S1 goes high, as described in connection with FIG. Indicates the selected port. For example, suppose signal S 0 goes high. Then, if the kth input data signal D 0K goes high, the output of NAND gate 40 goes low and the output of NAND gate 47 goes high. NAND gate 47 generates signal D JK , which is fed back through NAND gates 46 and 41, thereby latching the input buffer. Signal D JK is also the 4th C
The signal is sent to NAND gates 70-1 to 70-X in the circuit shown. Then, if a total of M bits are present in the input buffer of the queue, the output of one of these gates 70-1 through 70-X goes low. This low causes the output of NAND gate 72 to go high;
1 through 71-N, thereby causing the output of NAND gate 72 to be latched high. Also, high signal S 0 and
The simultaneous occurrence of a high from the output of NAND gate 72 causes the output of NAND gate 73 to go low;
Also, the output of gate 74 goes high. Therefore, input control signal A 0 goes high to indicate that the character on the input data line has been received and may now change. Next, consider the sequence of how characters are transferred from the input buffer to the output buffer. Initially, it is assumed that output buffer control signal A is high. In this state,
The output of NAND gate 54 is low, which blocks the contents of the buffer from being transferred to the output buffer. However, if signal A goes low, the output of NAND gate 54 goes high. The simultaneous occurrence of two highs at the input of NAND gate 50 then causes that gate to go low, which causes the output of NAND gate 53 to go high. This high is
Feedback is provided through NAND gates 51 and 52, thereby latching the output buffer. Then all output buffer data signals D K are
NAND gates 63-1 to 63- in Figure 4B
Sent to X. If M of these signals are high, the NAND gates 63-1 to 63-
One output of X goes low. This low forces the output of NAND gate 61 high. The high is then latched through the feedback provided by NAND gates 60-1 through 60-N. The high output of NAND gate 61 is
2's output low, and this low causes the next
The outputs of NAND gates 46 and 40 are driven high. If D 0K changes to low in response to A 0 changing to high, the output of NAND gate 41 changes to high, thereby causing NAND gate 47
goes low. All input buffer data bits D JK are NAND gates 70-1 to 70
- Sent to N. And if all signals D JK are low, the outputs of all NAND gates 70-1 to 70-N go high, thereby
Forces the output of NAND gate 72 low. This in turn forces the input control signal A 0 low,
This low indicates that the input buffer has been cleared and a new character can be present on the input data line. The low output of NAND gate 72 also returns the feedback provided by NAND gates 70-1 through 70-N to its initial state, thereby returning the circuit of FIG. 4C to its initial state. Now consider how characters are removed from the queue's output buffer. Initially, output control signal A goes high.
This in turn forces the output of NAND gate 54 low, which in turn forces the output of NAND gate 50 and 52
, thereby causing them to change high. When D JK goes low as a result of clearing the input buffer,
NAND gates 50 and 51 turn high.
When NAND gates 50, 51, and 52 are all high, output signal DK goes low.
NAND gates 60-1 to 60-N and 6
3-1 through 63-X detect lows on all bits of the queue's output buffer. And when this low is detected, NAND gate 6
The output of 1 goes low. This is next
The feedback provided by NAND gates 60-1 through 60-N is returned to its initial state and the circuit of FIG. 4B is returned to its initial state.
Also, the output of the NAND gate 62 shifts to high,
This allows new characters to be received by the input buffer of the queue. Characters continue to be sent from the queue's input buffer to the queue's output buffer in the manner described above until the control character CEM is received by the input buffer. When the control character CEM is received, it is sent to the output buffer and one control character A A is generated at the input buffer of the queue by the circuit of FIG. Since this character A A is generated internally, no input control signal A 0 is sent to it. Then the internally generated control character A A
is passed from the input buffer to the output buffer, the input control signal A 0 is forced low so that other control characters A A generated by any preceding arbiter in the system wait. Allows you to move through the queue. In detail, the above sequence occurs as follows. First, signal D 0K goes high, thereby causing the signal from the input buffer of the queue to
D JK is moved to high. All signal D JK 4th
It is sent to NAND gates 70-1 to 70-X in Figure C. And there NAND gate 70-A
detects the control character C EM . Note that the output of NAND gate 70-A does not go directly to the input of NAND gate 72, but rather to the input of NAND gate 80 in the circuit of FIG. The overall circuit in Figure 5 is a NAND gate 80
91, which are interconnected as shown. The output of NAND gate 81 is the output of NAND gate 7
Forced high in response to detection of control signal CEM by 0-A. This high then forces the output of NAND gate 83 low. The output of NAND gate 83 is the output of NAND gates 81 and 82.
Feedback is provided to that input through Therefore, the low output of NAND gate 83 is latched. Also, the low output of the NAND gate 83 is a signal to the NAND gate 72 in FIG. 4C.
Sent as EM B ′. This forces the output of NAND gate 72 high, which in turn causes input control signal A0 to go high. In response to signal A0 going high, all input data bits D0K go low. Then, when signal A K ' goes low indicating that the contents of the input buffer have been transferred to the output buffer, all signals D JK in the input buffer of the queue go low. Normally when this occurs, NAND gate 72 in FIG. 4C will go low, thus causing input control signal A0 to go low. However, in this case,
The signal EM B ' from NAND gate 83 is latched low, and this signal is also connected to NAND gate 7.
2, so the input control signal A 0 remains high. However, when the signal D JK from the input buffer of the queue goes low, the NAND gate 70
-A's output goes high. This output is sent to NAND gate 85 of the circuit of FIG. 5, so that the output of NAND gate 85 goes low.
This then leads to the SEND from NAND gate 86.
Forces the signal high and forces the output of NAND gate 89 high. Queue input buffer NAND gate 44
is connected to receive the SEND signal and the A K ' signal. Therefore, when signal A K ' goes high, indicating that the output buffer is empty, the output of NAND gate 44 goes low. This causes the input buffer signal D JK to be set high. Recall that there are four variations to the input buffer of the queue. These variations then allow any two codes C 0 and C 1 to be generated as control characters A A at the input buffer in response to the SEND signal, as explained above. These two codes indicate which input port is selected. NAND gates 70-C and 70 in Figure 4C
-D is the code C 0 and
Detect the presence of C1 . The outputs of these NAND gates are then sent to NAND gates 87 and 88 in the circuit of FIG. Therefore, if any of these control characters are present in the input buffer, the outputs of NAND gates 87 and 88 will go high, which in turn forces the output of NAND gate 90 low. The low output of NAND gate 90 is latched by NAND gates 88 and 89. This low also forces a high from the output of NAND gate 91. This high from NAND gate 91 then forces the output from NAND gate 83 high. This high from the output of NAND gate 83 is then output from NAND gate 86.
Force SEND signal low. After the control character generated in the input buffer is transferred to the output buffer, signal A K ' goes low. This clears the input buffer and all signals D JK go low. The outputs of NAND gates 70-C and 70-D of FIG. 4C then go high. Also,
All outputs of NAND gates 71-1 through 71-N go high. The signals C 0 ′ and C 1 ′ are
It goes high at the input of NAND gate 87 in the circuit of FIG. This in turn forces the output of NAND gate 90 high. signal CLEAR
A high on D' causes NAND gate 72 to go low and input control signal A0 to go low, thereby indicating that another character can now be received on the input data line. CLEAR
A high on D' causes NAND gate 91 to go low, thereby returning the circuit of FIG. 5 to its initial state. The control character CEA is then finally received in the input queue. This control character is
Indicates that transmission from the selected input port is complete. Therefore, the control character C EA
In addition to sending the arbiter to the output port, the arbiter must be deselected from the input port. This is done as follows. First, the control character CEA is shown in Fig. 4C.
It is detected in the input queue by NAND gate 70-B, the output of which is sent to NAND gate 100 in the circuit of FIG. This overall circuit consists of 100 NAND gates
116, which are interconnected as shown. A low on the input of NAND gate 100 forces the output of this gate high, which in turn
Forces the output of NAND gate 102 low.
This row is latched by the feedback provided by gate 100. This low is also sent back to the NAND gate 72 of the circuit of Figure 4C, which in turn forces input control signal A0 high. This allows the control character CEA on the input data line to be removed. After the character CEA has been transferred from the input buffer to the output buffer, the signal AK ' goes low. This, combined with the removal of the character C EA from the input data line, forces the signal D JK from the queue's input buffer low.
Therefore, the fourth step to detect the control character C EA is
The output of NAND gate 70-B in Figure C goes high. This high is received by NAND gate 104 of the circuit of FIG. 6, thereby causing its output to go low. Then by this row
The output of NAND gate 108 goes high and this high is latched by the feedback provided by NAND gates 105, 106, and 107. Due to the high output of NAND gate 108,
The output of NAND gate 109 is driven low.
This low is sent to the circuit of FIG. 3 as the signal CLEAR 0 '. So the signal CLEAR 0 ′ is
NAND gates 20-1 to 20-N and
Forces the output of NAND gate 21 to go high and thus signal R 0 goes low.
This low then forces the output of NAND gate 26 high, and this high causes the other input ports to
It can be selected through the NAND gate 27. However, selection of this other input port is temporarily blocked by the low signal CLEAR 0 ' on NAND gate 30. The signal CLEAR 0 ' is also the NAND signal in the circuit of Figure 6.
sent to gate 116. This signal, which is low, then forces the output of NAND gate 116 high. This causes the output of NAND gate 101 to go low, which causes NAND gate 1
The output of 02 becomes high. NAND gate 102
causes NAND gate 103 to go low and sends signal EA B ' to NAND gate 72 in FIG. 4C. NAND gate 72 therefore goes high, which in turn forces input control signal A0 low and causes signal AQ low to be sent to the circuit of FIG. Therefore, the previously selected input port is returned to its initial state. Also, the NAND gate 2 in the circuit shown in Figure 3
In response to the high output of 6, transistor 32 turns on. Therefore, NAND gate 2
The output of 9 goes low. NAND gate 29
The output of is sent to NAND gates 104 and 105 in FIG. Therefore, these
The output of the NAND gate goes high, which in turn forces the CLEAR 0 ' signal from NAND gate 109 high. NAND gate 116 goes low and NAND gate 101 goes high. This returns the circuit of FIG. 6 to its initial state, which also removes the blocking signal from NAND gate 30 of FIG. 3, allowing the corresponding input port to be selected. A preferred embodiment of this invention has been described in detail. However, many changes and modifications may be made without departing from the character and spirit of the invention. It is therefore to be understood that the invention is not limited to the embodiments described above, but is to be defined by the scope of the appended claims.