請求の範囲
1 1つの入力ポートと2つの出力ポートとを備
え、前記入力ポートはN個の入力データラインを
有し、前記出力ポートの各々はN個の出力データ
ラインを有し、
前記入力ポートに与えられた所定のキヤラクタ
に基づいて一度に前記2つの出力ポートのうちの
1つだけを選択する手段と、
前記入力ポートから前記選択された出力ポート
へとキヤラクタを送る手段とをさらに備え、
前記キヤラクタの各々は前記入力ポート上のN
個のうちのM個のデータライン上のアクテイブ論
理信号によつて表わされ、前記Mは少なくとも2
であり、かつ前記Nは前記Mよりも大きくかつ3
よりも大きく、
前記送る手段は、M個の前記アクテイブ論理信
号が前記入力ポートの前記N個のデータライン上
に存在するときを検出し、それらのM個のアクテ
イブ論理信号を前記出力ポートに送ることを開始
する手段を含む選択器。
2 前記選択する手段は、いずれの出力ポートも
まだ選択されていないとき、いずれの出力ポート
が選択されるべきであるかを示す前記入力ポート
上の2つの予め定められたキヤラクタのうちのい
ずれか一方の存在に応答して出力ポートを選択す
る、請求の範囲第1項記載の選択器。
3 前記出力ポートを選択する前記キヤラクタが
前記選択された出力ポートへ送られることを禁止
する手段をさらに含む、請求の範囲第2項記載の
選択器。
4 前記送る手段は、前記入力ポートから前記キ
ヤラクタのアクテイブ論理信号を非同期に受けか
つ各々受けたキヤラクタの前記論理信号のすべて
を並列にかつ互いに同期して前記選択された出力
ポートへ伝達するNビツト幅の待ち行列手段を含
む、請求の範囲第1項記載の選択器。
5 前記入力ポートは1つの入力制御ラインをさ
らに含み、前記送る手段は前記N個の入力データ
ライン上のキヤラクタが受入れられかつ変化する
ことができるときを示す前記1つの入力制御ライ
ン上の制御信号を発生する手段を含む、請求の範
囲第1項記載の選択器。
6 前記出力ポートの各々は1つの出力制御ライ
ンをさらに含み、前記送る手段は前記選択された
出力ポートの前記N個の出力データラインから1
つのキヤラクタを取除きかつその上に前記選択さ
れた出力ポートの前記出力制御ライン上の外部的
に発生された信号に応答して別のキヤラクタを発
生する手段を含む、請求の範囲第1項記載の選択
器。
7 前記入力ポートの前記N個の入力データライ
ン上の予め定められたキヤラクタを検出しかつそ
れに応答して前記選択された入力ポートから選択
解除する手段をさらに含む、請求の範囲第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度に1ビツトずつである。したがつ
てそのようなアービタおよび選択器が動作する最
大ボー速度は比較的低い。
このボー速度を上げるために、多数の上述のア
ービタおよび選択器を並列に接続することも考え
られる。しかしながらそのような並列接続の問題
点は、複数のビツトが互いに同期してその並列経
路を通過しないということである。その理由は、
リクエストが同時に両入力ポートに到着すると、
アービタは無秩序にその入力経路のうちの一方ま
たは他方を選択するからである。したがつて上述
のアービタおよび選択器の並列接続を通じて或る
ソースから送られた複数ビツトは、予測できない
かつ非常にスクランブルされた態様でその行先に
到達する。
したがつてこの発明の主たる目的は、改良され
た選択器を提供することである。
この発明の他の目的は、その入力ポートからそ
の出力ポートへと並列に多数ビツトを伝達する選
択器を提供することである。
発明の概要
これらの目的および他の目的は、1つの入力ポ
ート、2つの出力ポート、選択する手段、および
送る手段を備える選択器によつて、達成される。
入力ポートはN個の入力データラインを有し、出
力ポートの各々はN個の出力データラインを有す
る。選択する手段は、入力ポートに与えられた所
定のキヤラクタに基づいて、一度に2つの出力ポ
ートのうちの1つだけを選択する。送る手段は、
入力ポートから、前記選択された出力ポートへと
キヤラクタを送る。キヤラクタの各々は入力ポー
ト上のN個のうちのM個のデータライン上のアク
テイブ論理信号によつて表わされ、Mは少なくと
も2であり、かつNはMよりも大きくかつ3より
も大きい。送る手段は、M個のアクテイブ論理信
号が入力ポートのN個のデータライン上に存在す
るときを検出し、それらのM個のアクテイブ論理
信号を出力ポートに送ることを開始する手段を含
む。Claim 1: comprising one input port and two output ports, said input port having N input data lines, and each of said output ports having N output data lines, said input port further comprising: means for selecting only one of said two output ports at a time based on a predetermined character provided to said output port; and means for sending a character from said input port to said selected output port; Each of the characters is N on the input port.
represented by active logic signals on M data lines of M data lines, where M is at least 2
and the N is larger than the M and 3
, the sending means detects when M active logic signals are present on the N data lines of the input port and sends those M active logic signals to the output port. a selector including means for initiating an action; 2. The means for selecting selects one of two predetermined characters on the input port indicating which output port should be selected when no output port has been selected yet. 2. The selector of claim 1, wherein the selector selects an output port in response to the presence of one of the output ports. 3. The selector according to claim 2, further comprising means for prohibiting said character that selects said output port from being sent to said selected output port. 4. The sending means asynchronously receives active logic signals of the characters from the input ports, and transmits all of the logic signals of the respective received characters to the selected output port in parallel and in synchronization with each other. 2. A selector as claimed in claim 1, including width queuing means. 5 said input port further includes one input control line, said means for sending a control signal on said one input control line indicating when a character on said N input data lines can be accepted and changed; A selector according to claim 1, comprising means for generating. 6. Each of the output ports further includes one output control line, and the means for sending one out of the N output data lines of the selected output port.
Claim 1, further comprising means for removing one character and generating another character in response to an externally generated signal on the output control line of the selected output port. selector. 7. The method of claim 1 further comprising means for detecting and responsively deselecting a predetermined character on the N input data lines of the input port from the selected input port. Selector. 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 transmitted from either input port to an output port. One prior art arbiter is also the inventor of the present application, e.g.
No. 4,251,879, issued February 17, 1981 to Becky J. Clark. Generally, a selector is a logic circuit having one input port and two output ports, and in its operation, a message is transmitted from the one input port to a selected one of the two output ports. be done. One prior art selector is, for example, 1980 12 for Becky J.Clark similar to above.
No. 4,237,447, issued May 2nd. A limitation of the arbiters and selectors mentioned above is that they only operate on bit-serial messages. That is, messages are sent from its input port to its output port one bit at a time. Therefore, the maximum baud rate at which such 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 pass through the parallel paths in sync with each other. The reason is,
If a request arrives at both input ports at the same time,
This is because the arbiter randomly selects one or the other of its input paths. Thus, multiple bits sent from a source through the parallel connection of arbiters and selectors described above will reach their destination in an unpredictable and highly scrambled manner. It is therefore a primary object of this invention to provide an improved selector. Another object of the invention is to provide a selector that conveys multiple bits in parallel from its input port to its output port. SUMMARY OF THE INVENTION These and other objects are achieved by a selector having one input port, two output ports, means for selecting, and means for sending.
The input ports have N input data lines and each of the output ports has N output data lines. The means for selecting selects only one of the two output ports at a time based on a predetermined character provided to the input port. The means of sending
Send a character from the input port to the selected output port. Each of the characters is represented by an active logic signal on M of N data lines on the input port, where M is at least two and N is greater than M and greater than three. The means for sending includes means for detecting when M active logic signals are present on the N data lines of the input port and initiating sending the M active logic signals to the output port.
【図面の簡単な説明】[Brief explanation of drawings]
この発明の種々の特徴および効果は、以下の詳
細な説明および添付の図面を参照することによつ
てよりよく理解されるであろう。
第1図は、この発明に従つて構成された選択器
の回路網を示す。第2図は、第1図の回路網にお
ける選択器のうちの1つのブロツク図を示す。第
3図ないし第7図は、第2図の選択器の好ましい
一実施例の詳細な論理回路図である。
The various features and advantages of the invention will be better understood by reference to the following detailed description and accompanying drawings. FIG. 1 shows a selector network constructed in accordance with the present invention. FIG. 2 shows a block diagram of one of the selectors in the network of FIG. 3-7 are detailed logic diagrams of one preferred embodiment of the selector of FIG. 2.
【発明の詳細な説明】[Detailed description of the invention]
ここで第1図ないし第7図を参照して、この発
明の好ましい一実施例を詳細に説明する。第1図
は、この発明に従つて構成された3つの選択器1
0A,10B,および10Cがシステムとしてい
かに相互接続され得るかということの一例を示
す。もちろん、他のシステムを形成するために任
意の異なつた数の選択器およびアービタが用いら
れて入力ポート−出力ポート形式に相互接続され
てもよい。
選択器10A,10B,および10Cは互いに
同一のものであり、文字A,B,およびCは単に
そのシステムにおける選択器の位置を識別するた
めにだけ付加されているものである。各選択器
は、1つの入力ポートと2つの出力ポートとを含
む。第1図において、参照数字11は入力ポート
を示し、参照数字12および13は各出力ポート
を示す。
第1図のシステムにおいて、選択器10Bおよ
び10Cの入力ポートは、選択器10Aの各出力
ポートと接続されている。動作において、メツセ
ージは選択器10Aの入力ポートから選択器10
Bおよび10Cの任意の出力ポートへと送られ
る。各メツセージはそれが選択器システムへと導
入されるときAS…ASM…MCEMAA…AACEAのフオ
ーマツトを有し、またそれが選択器10Bおよび
10Cの出力ポートに対し送られた後はAS…AS
M…MCEMAA…AACEAのフオーマツトを有する。
上述のメツセージフオーマツトにおいて、各記
号AS,M,CEM,CEA,およびAAはそれぞれ1つ
のキヤラクタを表わす。またそのキヤラクタは、
N個のうちのM個コードによつて表わされる。す
なわち、選択器における入力ポート11および出
力ポート12および13の各々はN個のデータラ
インを含み、これらのデータラインのキヤラクタ
はアクテイブ状態にあるN個のうちのM個のライ
ン上の信号によつて表わされる。
また上述のメツセージフオーマツトにおいて、
記号Mはメツセージの本体におけるキヤラクタを
表わすが、記号AS,CEM,CEA,およびAAは制御
キヤラクタを表わす。制御キヤラクタAS…ASは
選択器回路網によつて用いられて、回路網を通る
経路を選択する。特に第1のASキヤラクタは選
択器10Aの出力ポートのうちの1つを選択し、
第2のASキヤラクタは次の選択器の1つの出力
ポートを選択する。ASキヤラクタは、Mに対し
可能なキヤラクタの組のうちの2つの特定のキヤ
ラクタである。
制御キヤラクタCEMはアービタ回路網(図示せ
ず)によつて用いられて、メツセージ本体の終り
を示す。1つの制御キヤラクタAAが各アービタ
によつて発生されて、その入力ポートのいずれを
メツセージが通過するかということを示す。この
AA制御キヤラクタは、AS制御キヤラクタと同様
の2つのキヤラクタである。制御キヤラクタCEA
は選択器によつて用いられて、AAキヤラクタス
トリングおよびメツセージの終りを示す。
ここで第2図に移ると、選択器のうちの1つの
ブロツク図が示されている。このブロツク図にお
いて、信号D1…Doは入力ポート11の入力デー
タラインのデータ信号を表わし、信号D01…D0o
は出力ポート12の各出力データラインの信号を
表わし、また信号D11…D1oは出力ポート13の
各出力データラインのデータ信号を表わす。
入力ポート11はまた1つの入力制御ラインを
含み、各出力ポートは1つの出力制御ラインを含
む。信号Aは入力ポート11に対する入力制御ラ
イン上の選択器によつて発生され、信号A0は出
力ポート12に対する出力制御ライン上の選択器
によつて受取られ、また信号A1は出力ポート1
3に対する出力制御ライン上の選択器によつて受
取られる。一般的に、これらの信号は、出力ポー
トのデータラインから入力ポートのデータライン
へのキヤラクタの転送を調整するために利用され
る。
第2図の選択器の好ましい一実施例の詳細なブ
ロツク図は第3図ないし第7図に示されており、
ここでこれらの論理回路の動作を説明する。一般
的に、第3図および第5図は出力ポートのうちの
1つを選択する選択器の部分を示しており、第4
図、第6図および第7図は、入力ポートから選択
された出力ポートへとキヤラクタを移動させる選
択器の部分を示している。
まず最初に、第3図の論理回路の詳細な構成お
よび動作を考察する。この回路は論理ゲート20
ないし29および論理ゲート30ないし38から
なつており、それらはすべて図示されたように相
互接続されている。一般的に、論理ゲート20な
いし28は出力ポート12を選択するように動作
し、論理ゲート30ないし38は出力ポート13
を選択するように動作する。
選択動作の前に、電源投入のときに、第3図の
回路はRESET'がローであることに応答して初期
状態におかれる。この初期状態において、信号
(S0+S1)’はハイであり、NANDゲート22の
出力はローであり、またNANDゲート27の出
力はハイである。その後信号RESET'はハイに移
行し、それによつてNANDゲート20および3
0を能動化して入力ポート11上の2つの制御キ
ヤラクタASのうちの1つの存在を検出する。
すなわち第3図において、信号DS…DTは、入
力ポート11上の入力データ信号D1…DNのうち
のM個を表わす。そしてこれらの特定の入力デー
タ信号は、出力ポート12を選択するキヤラクタ
ASを形成する。同様に、信号DV…DUは、入力ポ
ート11上のM個の他の入力データ信号D1…DN
である。そしてこれらのM個の信号は、出力ポー
ト13を選択するキヤラクタASを形成する。
ここでたとえば、すべての入力データ信号DS
…DTがそのアクテイブ状態、すなわちハイに移
行したとする。この場合においては、NANDゲ
ート20の出力はローに移行し、NANDゲート
22の出力をハイに強制する。NANDゲート2
2の出力はNANDゲート21−1ないし21−
Mの入力にフイードバツクされ、そしてこのよう
にしてNANDゲート22のハイ出力はラツチさ
れる。
NANDゲート22からのハイはNANDゲート
23の出力をローに強制し、次にそのローは
NANDゲート25の出力をハイに強制する。
NANDゲート24および26の出力はハイであ
る信号(S0+S1)’のために既にハイであり、し
たがつてNANDゲート27の出力はローに強制
される。ゲート27からのこのローは次に
NANDゲート25および26によつてラツチさ
れ、NANDゲート28の出力をハイに強制する。
ローであるNANDゲート27の出力に応答し
て、選択器10は入力ポート11に対する入力制
御ライン上にハイを発生する。すなわち、入力ポ
ート11上の信号Aはハイに強制される。このこ
とがいかにして起こるかを説明するために、ここ
で第4図の論理回路を参照する。
第4図の論理回路は、NANDゲート40−1
ないし40−N,41−1ないし41−X,およ
び42からなつているということが理解されよ
う。この表示について、Nは入力データラインの
数であり、Xは1度にN個をとるM個のものの組
合せの数である。これらのNANDゲートは、図
示されたように相互接続されている。
NANDゲート40−1ないし40−Nおよび
41−1ないし41−Xは、その入力に信号DJ1
ないしDJNを受ける。これらの信号は、第6図の
待ち行列における入力バツフアによつて発生され
る。しかしながらこの待ち行列は、簡単に説明す
るように、入力ポート11に与えられる第1の制
御キヤラクタASを受けないようにされている。
したがつて信号DJ1ないしDJNはすべてローであ
り、したがつて信号ASET0'はNANDゲート42
に直接送られて入力制御信号Aをハイに強制す
る。
制御キヤラクタASがいかにして入力バツフア
に入らないようにされているかを理解するため
に、ここで第5図の制御回路を考察する。この制
御回路は、論理ゲート50〜53,55〜58,
および60〜69からなつており、それらの論理
ゲートは図示されたように相互接続されている。
この回路は、ロー信号RESET'によつてその初期
状態に強制される。その初期状態において、
NANDゲート53および58の出力は共にロー
であり、NANDゲート67および69の出力は
共にハイである。
上述したように、制御キヤラクタASが第3図
の回路によつて検出されると、信号G0はローに
移行し、また3ゲート遅延後信号ASET0はハイ
に移行する。そして信号G0は信号ASET0がハイ
に移行する前にローに移行するので、NANDゲ
ート50の出力はハイに留まる。したがつて、
NANDゲート53からの信号S0はローに留まり、
したがつてNANDゲート62からの信号S0+S1
はローに留まる。次に第6図を調べればわかるよ
うに、入力ポート上の信号D1ないしDNが待ち行
列に入るために信号S0+S1はハイでなければなら
ないので、入力バツフアはクリアのままである。
次にハイである入力制御信号Aに応答して、入
力ポート上のすべてのデータ入力信号D1ないし
DNはローに移行する。したがつて第3図の回路
において、すべてのNANDゲート20および2
1−1ないし21−Mの出力はハイに強制され
る。したがつて、NANDゲート22の出力はロ
ーに移行し、またNANDゲート23の出力はハ
イに移行する。
次にゲート23からのこのハイは、信号G0と
して第5図のゲート50の入力に送られる。した
がつてNANDゲート50の出力はローに移行し、
またNANDゲート53の出力はハイに移行する。
NANDゲート53からのこのハイは、信号S0と
して第6図の待ち行列に送られて、出力ポート1
2を能動化する。またさらに、このハイ信号S0は
NANDゲート62の出力をハイに強制し、その
ハイは次に第6図の待ち行列に送られて入力バツ
フアを能動化する。
NANDゲート62からのハイ信号S0+S1はま
た、入力ポート制御信号Aをローに移行させる。
このことが起こる理由は、NANDゲート62か
らのハイはNANDゲート63の出力をローに強
制し、次にこのローは信号(S0+S1)’として第
3図のNANDゲート29に送られ、そこで
NANDゲート29の出力はハイに移行し、それ
によつてNANDゲート24の出力がローに強制
されて、そのローによつてNANDゲート27の
出力がハイに強制されるからである。ゲート27
からのハイは、次に信号ASET0'として第4図の
NANDゲート42の入力に送られ、それによつ
て入力ポート制御信号Aはローに移行される。
第3図のNANDゲート27からのハイはまた、
NANDゲート28の出力をローに移行させると
いうことに注意されたい。このローは信号
ASET0として第5図のNANDゲート50および
51に送られる。しかし第5図の回路からの信号
S0は、その回路がNANDゲート52によつてラ
ツチされているので、ハイに留まる。したがつて
第6図の出力ポート12は選択されたまま留ま
り、データは能動化され続けて、待ち行列の入力
バツフアへと移動する。
第1のキヤラクタに続いて入力ポート11で受
けられる各キヤラクタは、第6図の待ち行列を介
して以下のように選択された出力ポートへと送ら
れる。最初に、第6図のN個の入力データ信号
D1ないしDNのうちのM個がハイに移行し、それ
によつて入力データライン上の新たなキヤラクタ
の存在を示す。これらの入力データ信号がハイに
移行するので、それらは入力バツフアの各ラツチ
においてラツチされる。第6図において、参照数
字70−1ないし73−1は入力データ信号D1
をストアする入力バツフアラツチを示し、また参
照数字70−Nないし73−Nはデータ入力信号
DNをストアする入力バツフアラツチを示す。
M個の入力データ信号が入力データバツフアに
ストアされてしまつた後、第4図の回路は入力制
御信号Aをハイに強制するように動作する。この
ハイは、キヤラクタが入力バツフアにストアされ
てしまいかつ入力ポート11から除去され得ると
いうことを示す。このハイ信号Aは、入力バツフ
ア内のキヤラクタの存在を検出するゲート41−
1ないし41−Xのうちの1つによつて発生され
る。
すなわち、ゲート41−1ないし41−Xの
各々は入力バツフアからのM個の入力を有し、こ
れらのM個の入力は可能であるすべてのキヤラク
タを検出するように配列される。ゲート41−1
はあるキヤラクタを検出し、ゲート41−2は別
のキヤラクタを検出する。これらのゲートのいず
れかが入力バツフア内のキヤラクタを検出すれ
ば、そのゲートの出力はローに移行し、それによ
つてNANDゲート42の出力をハイに強制し、
そのハイは次にNANDゲート40−1ないし4
0−Nによつて与えられるフイードバツクによつ
てラツチされる。
入力バツフア内のデータはその後、次のように
して選択された出力ポートに転送される。最初
に、データは入力バツフアから出力バツフアへと
移動される。出力バツフアはN個のラツチからな
り、その第1のものは第6図において参照数字8
0−1ないし83−1によつて示されており、ま
たその最後のものは参照数字80−Nないし83
−Nによつて示されている。この出力バツフア
は、出力ポート制御信号A0およびA1がともにロ
ーでかつ信号RESET'がハイであるときはいつで
も、NANDゲート84ないし87からなる制御
回路の指示の下でロードされている。
出力バツフアから、データは信号S0およびS1に
応答して、選択された出力ポートへと送られる。
信号S0はNANDゲートの対90−1ないし90
−Nを能動化し、信号S1はNANDゲートの対9
1−1ないし91−Nを能動化する。出力バツフ
アからの信号はまた第7図の制御回路に送られ、
その制御回路は一般的に出力バツフアから入力バ
ツフアへのフイードバツクを与えるように動作す
る。
このフイードバツクは信号AK′の形態であり、
その信号はそれがローであるときに入力バツフア
がクリアされるようにし、またそれがハイである
ときに入力バツフアがセツトされるようにする。
第7図を参照すると、この回路はNANDゲート
100−1ないし100−N,101−1ないし
101−X,102および103からなつている
ということがわかる。この表示において、Xは1
度にN個をとるM個のものの組合せの数を表わ
す。同様に、NANDゲート101−1ないし1
01−Xの各々は出力バツフアからのM個の入力
を有し、またそれらの入力は出力バツフア内の任
意のキヤラクタを検出するように配列される。
したがつて、キヤラクタが出力バツフア内に存
在すれば、NANDゲート101−1ないし10
1−Xのうちの1つの出力がローに移行し、した
がつてNANDゲート102の出力がハイに移行
する。このハイは、NANDゲート100−1な
いし100−Nによつて与えられるフイードバツ
クによつてラツチされる。また、このハイは信号
AK′をローに強制し、このローは次に入力バツフ
アがクリアされることを可能にする。
しかしながら、入力バツフアは、ハイである入
力ポート制御信号Aに応答して入力ポート上の信
号D1ないしDNがローに移行するまでクリアされ
ないということに注意されたい。入力バツフアが
クリアされると、入力バツフア内の信号DJ1ない
しDJNはローに移行する。これらの信号は第4図
の制御回路によつてモニタされ、そしてそれらが
すべてローに移行すると、NANDゲート40−
1ないし40−Nおよび41−1ないし41−X
のすべての出力はハイである。このことは次に入
力ポート制御信号Aをローに強制し、そのローは
新たなキヤラクタが入力ポートに対し存在し得る
ということを示す。
しかしながら入力ポート上の新たなキヤラクタ
は、出力バツフア内のデータが選択された出力ポ
ートからとられてしまうまで、第6図の入力バツ
フアによつて受入れられないであろう。そのこと
が起こつたということは、出力ポート制御信号
A0がハイに移行することによつて表わされる。
そのことが起こると、第6図のNANDゲート8
7の出力はローに移行し、そのローは次に入力バ
ツフアがクリアされたときに出力バツフアをクリ
アする。次に第7図のフイードバツク回路におけ
るすべてのNANDゲート100−1ないし10
0−Nおよび101−1ないし101−Xの出力
はハイに移行し、そのハイは次に信号AK′をハイ
に強制する。そして信号AK′がハイであるとき、
新たなキヤラクタが入力バツフアによつて受取ら
れることができて、その後上述のすべての信号シ
ーケンスが繰返される。
ここで、制御キヤラクタCEAが入力ポート11
に受取られるときの選択器の動作について考察す
る。その制御キヤラクタはその入力ポート上のメ
ツセージが完全でありしたがつて前に選択された
出力ポートは選択解除されるべきであるというこ
とを選択器に対して示す。詳細には、その選択解
除は以下のようにして起こる。
最初に、第6図の入力バツフア上のM個の信号
D1ないしDNがハイに移行し、そしてそれらの信
号は入力バツフアにラツチされる。そこからそれ
らは第4図の制御回路に送られて、そこで
NANDゲート41−JはキヤラクタCEAの存在を
検出する。この検出は、NANDゲート41−J
の出力がローに移行することによつて示される。
このローは、信号EAA′として第5図の制御回
路に転送される。そこで、ローである信号EAA′
は、NANDゲート65の出力をハイに強制し、
そのハイは次にNANDゲート67の出力をロー
に強制する。このローは次にNANDゲート66
および65によつてラツチされ、そしてそれはま
た信号EAB′として第4図のNANDゲート42の
入力に送り返される。そこで、ローである信号
EAB′は入力ポート制御信号Aをハイに強制し、
それによつて制御キヤラクタCEAが入力ポートか
ら除去され得るということを示す。
ロー信号EAB′はまた、第5図においてNAND
ゲート68の出力をハイに強制する。しかしなが
らこのハイは、ローである信号EAA′によつてブ
ロツクされているので、このハイによつて
NANDゲート69の出力がローに移行すること
はない。したがつてゲート69の出力はハイに留
まり、第5図の回路においてさらに信号の伝達が
行なわれることはない。特に、信号S0はハイに留
まり、またそれによつて出力ポート12は選択さ
れたまま留まる。
その後、第6図の入力バツフア内の制御キヤラ
クタCEAは出力バツフアに転送される。そしてそ
こから、それは選択された出力ポート12に転送
される。次に第7図の回路におけるゲート101
−1ないし101−Xのうちの1つは出力バツフ
ア内の制御キヤラクタCEAの存在を検出し、そし
てそれによつて次にフイードバツク信号AK′がロ
ーに移行される。ロー信号AK′により第6図の入
力バツフアはリセツトされ、しかしその信号はま
た第5図のNANDゲート69に送られて入力バ
ツフアがリセツトされてしまつた後であつてもそ
のゲートの出力をハイに保持する。
ハイである入力ポート制御信号Aに応答して制
御キヤラクタCEAが入力ポート11から除去され
ると、入力バツフアはリセツトされる。すなわ
ち、すべての信号DJ1ないしDJNはローに移行す
る。それに応答して、第4図のすべてのNAND
ゲート40−1ないし40−Nおよび41−Jの
出力はハイに移行する。
また、上述の入力バツフアのクリアは、第5図
の信号EAA′をハイに強制する。しかしながら、
NANDゲート69の出力はロー信号AK′によつ
てハイに保持される。信号AK′は、データが選択
された出力ポート12からとられるまでローに留
まる。出力ポート制御信号A0がハイに移行する
と、第6図のNANDゲート87の出力はローに
移行し、出力バツフアはクリアされ、それによつ
て次に第7図の回路からの信号AK′はハイに移行
する。そして次に第5図のNANDゲート69の
出力はローに移行し、そのローは次にNANDゲ
ート53からのS0をローに強制し、それによつて
前に選択された出力ポート12を選択解除する。
ローに移行する信号S0は、NANDゲート62
がローに移行するように強制し、信号S0+S1によ
つて入力バツフアに対する入力をブロツクする。
NANDゲート62上のローは、NANDゲート6
3をハイに強制する。NANDゲート64はロー
に変化し、それによつてNANDゲート67はハ
イに変化し、信号EAB′はNANDゲート65およ
び66にラツチされる。EAB′がハイに変化する
ことによつて、第4図のNANDゲート42はロ
ーに変化する。入力ポート11は次に、その初期
状態に戻る。
この発明の好ましい一実施例の詳細が説明され
た。しかしながら、多くの変更および修正がこの
発明の特徴および精神から逸脱することなくなさ
れることができる。したがつて、この発明は上述
の実施例に限定されるものではなく、添付の請求
の範囲によつて規定されるべきものであるという
ことを理解されたい。
A preferred embodiment of the invention will now be described in detail with reference to FIGS. 1-7. FIG. 1 shows three selectors 1 constructed in accordance with the present invention.
An example of how 0A, 10B, and 10C can be interconnected as a system is shown. Of course, any different number of selectors and arbiters may be used and interconnected in an input port-output port format to form other systems. Selectors 10A, 10B, and 10C are identical to each other, and the letters A, B, and C are added solely to identify the selector's position in the system. Each selector includes one input port and two output ports. In FIG. 1, reference numeral 11 indicates the input port, and reference numerals 12 and 13 indicate the respective output ports. In the system of FIG. 1, the input ports of selectors 10B and 10C are connected to each output port of selector 10A. In operation, a message is transferred from the input port of selector 10A to selector 10
B and 10C to any output port. Each message has the format A S ... A S M ... MC EM A A ... A A C EA when it is introduced into the selector system and is sent to the output ports of selectors 10B and 10C. A S …A S
It has the format M...MC EM A A ...A A C EA . In the message format described above, each symbol A S , M, C EM , C EA and A A each represents one character. Also, the character is
It is represented by M codes out of N codes. That is, each of input port 11 and output ports 12 and 13 in the selector includes N data lines, and the characters of these data lines are determined by the signals on M of the N lines that are active. It is expressed as Also, in the message format mentioned above,
The symbol M represents a character in the body of the message, while the symbols A S , C EM , C EA and A A represent control characters. The control characters A S . . . A S are used by the selector network to select a path through the network. In particular, the first A S character selects one of the output ports of the selector 10A,
The second A S character selects one output port of the next selector. The A S characters are two particular characters of the set of possible characters for M. The control character CEM is used by the arbiter circuitry (not shown) 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 a message will pass through. this
The A A control character is two characters similar to the A S control character. Control character C EA
is used by the selector to indicate the end of the A A character string and message. Turning now to FIG. 2, a block diagram of one of the selectors is shown. In this block diagram, signals D 1 ...D o represent the data signals on the input data lines of input port 11, and signals D 01 ...D 0o
represents the signal on each output data line of output port 12, and the signal D 11 . . . D 1o represents the data signal on each output data line of output port 13. Input port 11 also includes one input control line, and each output port includes one output control line. Signal A is generated by a selector on the input control line for input port 11, signal A 0 is received by a selector on the output control line for output port 12, and signal A 1 is received by a selector on the output control line for output port 1.
3 is received by a selector on the output control line. 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. A detailed block diagram of a preferred embodiment of the selector of FIG. 2 is shown in FIGS. 3-7;
The operation of these logic circuits will now be explained. In general, Figures 3 and 5 show the portion of the selector that selects one of the output ports;
Figures 6 and 7 show the portion of the selector that moves a character from an input port to a selected output port. First, the detailed configuration and operation of the logic circuit shown in FIG. 3 will be considered. This circuit consists of logic gate 20
29 and logic gates 30 to 38, all interconnected as shown. Generally, logic gates 20-28 operate to select output port 12 and logic gates 30-38 operate to select output port 13.
works to select. Prior to the selection operation, at power-up, the circuit of FIG. 3 is placed into an initial state in response to RESET' being low. In this initial state, the signal (S 0 +S 1 )' is high, the output of NAND gate 22 is low, and the output of NAND gate 27 is high. Signal RESET' then goes high, thereby causing NAND gates 20 and 3
0 to detect the presence of one of the two control characters A S on the input port 11. That is, in FIG. 3, signals D S . . . DT represent M of the input data signals D 1 . These particular input data signals are then assigned to the characters that select the output port 12.
Form A S. Similarly, the signals D V ...D U are connected to the M other input data signals D 1 ...D N on the input port 11.
It is. These M signals then form a character A S that selects the output port 13. For example, here all input data signals D S
...Assume that D T transitions to its active state, i.e., high. In this case, the output of NAND gate 20 goes low, forcing the output of NAND gate 22 to go high. NAND gate 2
The output of 2 is the NAND gate 21-1 or 21-
is fed back to the input of M, and thus the high output of NAND gate 22 is latched. The high from NAND gate 22 forces the output of NAND gate 23 low, which in turn
Forces the output of NAND gate 25 high.
The outputs of NAND gates 24 and 26 are already high due to the signal (S 0 +S 1 )' being high, so the output of NAND gate 27 is forced low. This low from gate 27 is next
Latched by NAND gates 25 and 26, forcing the output of NAND gate 28 high. In response to the output of NAND gate 27 being low, selector 10 generates a high on the input control line to input port 11. That is, signal A on input port 11 is forced high. To explain how this occurs, reference is now made to the logic circuit of FIG. The logic circuit in FIG. 4 consists of a NAND gate 40-1
40-N, 41-1 to 41-X, and 42. For this representation, N is the number of input data lines and X is the number of M-item combinations taking N at a time. These NAND gates are interconnected as shown. NAND gates 40-1 to 40-N and 41-1 to 41-X have a signal D J1 at their inputs.
Or receive D JN . These signals are generated by the input buffers in the queue of FIG. However, this queue is prevented from receiving the first control character A S applied to the input port 11, as will be briefly explained.
Therefore, signals D J1 to D JN are all low, and therefore signal ASET 0 ' is at NAND gate 42.
to force input control signal A high. To understand how the control character A S is kept out of the input buffer, consider now the control circuit of FIG. This control circuit includes logic gates 50-53, 55-58,
and 60-69, the logic gates of which are interconnected as shown.
This circuit is forced to its initial state by a low signal RESET'. In its initial state,
The outputs of NAND gates 53 and 58 are both low, and the outputs of NAND gates 67 and 69 are both high. As mentioned above, when the control character A S is detected by the circuit of FIG. 3, the signal G 0 goes low and, after a three gate delay, the signal ASET 0 goes high. And since signal G 0 goes low before signal ASET 0 goes high, the output of NAND gate 50 remains high. Therefore,
The signal S 0 from NAND gate 53 remains low;
Therefore, the signal S 0 +S 1 from the NAND gate 62
remains low. Next, if we examine Figure 6, we can see that the input buffer remains clear because the signals S 0 + S 1 must be high in order for the signals D 1 to D N on the input ports to be queued. . Then, in response to input control signal A being high, all data input signals D 1 to 1 on the input ports
D N goes low. Therefore, in the circuit of FIG.
The outputs of 1-1 through 21-M are forced high. Therefore, the output of NAND gate 22 goes low and the output of NAND gate 23 goes high. This high from gate 23 is then sent to the input of gate 50 in FIG. 5 as signal G0 . Therefore, the output of NAND gate 50 goes low,
Also, the output of the NAND gate 53 shifts to high.
This high from NAND gate 53 is sent to the queue of FIG. 6 as signal S 0 to output port 1.
Activate 2. Furthermore, this high signal S 0 is
The output of NAND gate 62 is forced high, which is then sent to the queue of FIG. 6 to enable the input buffer. The high signal S 0 +S 1 from NAND gate 62 also causes input port control signal A to go low.
The reason this happens is that the high from NAND gate 62 forces the output of NAND gate 63 low, and this low is then sent as a signal (S 0 +S 1 )' to NAND gate 29 in FIG. Therefore
The output of NAND gate 29 goes high, which forces the output of NAND gate 24 low, which in turn forces the output of NAND gate 27 high. gate 27
The high from
to the input of NAND gate 42, thereby causing input port control signal A to go low. The high from NAND gate 27 in FIG.
Note that the output of NAND gate 28 goes low. This low is a signal
It is sent as ASET 0 to NAND gates 50 and 51 in FIG. However, the signal from the circuit in Figure 5
S 0 remains high because the circuit is latched by NAND gate 52. Therefore, output port 12 of FIG. 6 remains selected and data continues to be enabled and moved to the input buffer of the queue. Each character received at input port 11 subsequent to the first character is sent via the queue of FIG. 6 to a selected output port as follows. First, the N input data signals in FIG.
M of D 1 through D N go high, thereby indicating the presence of a new character on the input data line. As these input data signals go high, they are latched in each latch of the input buffer. In FIG. 6, reference numerals 70-1 to 73-1 indicate input data signals D 1
70-N to 73-N are data input signals.
Indicates an input buffer error that stores D N. After M input data signals have been stored in the input data buffer, the circuit of FIG. 4 operates to force input control signal A high. This high indicates that the character has been stored in the input buffer and can be removed from input port 11. This high signal A is connected to a gate 41- which detects the presence of a character in the input buffer.
1 to 41-X. That is, each of gates 41-1 through 41-X has M inputs from the input buffer, and these M inputs are arranged to detect all possible characters. Gate 41-1
detects a certain character, and gate 41-2 detects another character. If any of these gates detects a character in the input buffer, the output of that gate will go low, thereby forcing the output of NAND gate 42 high;
That high then goes to NAND gate 40-1 or 4.
Latched by the feedback provided by 0-N. The data in the input buffer is then transferred to the selected output port as follows. First, data is moved from the input buffer to the output buffer. The output buffer consists of N latches, the first of which is designated by the reference numeral 8 in FIG.
0-1 to 83-1, the last of which is designated by the reference numerals 80-N to 83.
-N. This output buffer is loaded under the direction of a control circuit consisting of NAND gates 84-87 whenever output port control signals A 0 and A 1 are both low and signal RESET' is high. From the output buffer, data is routed to the selected output port in response to signals S 0 and S 1 .
The signal S 0 is a pair of NAND gates 90-1 to 90
−N is enabled, and the signal S 1 is the pair 9 of the NAND gates.
1-1 to 91-N are activated. The signal from the output buffer is also sent to the control circuit of FIG.
The control circuit generally operates to provide feedback from the output buffer to the input buffer. This feedback is in the form of a signal A K ′,
That signal causes the input buffer to be cleared when it is low, and causes the input buffer to be set when it is high.
Referring to FIG. 7, it can be seen that this circuit consists of NAND gates 100-1 to 100-N, 101-1 to 101-X, 102 and 103. In this display, X is 1
It represents the number of combinations of M items that take N items at a time. Similarly, NAND gates 101-1 to 1
01-X each have M inputs from the output buffer, and the inputs are arranged to detect any character in the output buffer. Therefore, if a character is present in the output buffer, NAND gates 101-1 to 10
The output of one of 1-X goes low and therefore the output of NAND gate 102 goes high. This high is latched by the feedback provided by NAND gates 100-1 through 100-N. Also, this high is a signal
A K ′ is forced low, which in turn allows the input buffer to be cleared. Note, however, that the input buffers are not cleared until the signals D 1 -D N on the input ports go low in response to input port control signal A being high. When the input buffer is cleared, signals D J1 through D JN in the input buffer go low. These signals are monitored by the control circuit of FIG. 4, and when they all go low, the NAND gates 40-
1 to 40-N and 41-1 to 41-X
All outputs of are high. This in turn forces input port control signal A low, which indicates that a new character may be present for the input port. However, new characters on the input port will not be accepted by the input buffer of FIG. 6 until the data in the output buffer has been taken from the selected output port. The fact that that happened means that the output port control signal
Represented by A 0 going high.
When that happens, NAND gate 8 in Figure 6
The output of 7 goes low, which clears the output buffer the next time the input buffer is cleared. Next, all NAND gates 100-1 to 10 in the feedback circuit of FIG.
The outputs of 0-N and 101-1 through 101-X go high, which in turn forces signal A K ' high. And when signal A K ′ is high,
A new character can be received by the input buffer, after which all the signal sequences described above are repeated. Here, the control character C EA is connected to input port 11.
Consider the operation of the selector when the signal is received. The control character indicates to the selector that the message on its input port is complete and that the previously selected output port should be deselected. In detail, the deselection occurs as follows. First, M signals on the input buffer in FIG.
D1 through DN go high and their signals are latched into the input buffers. From there they are sent to the control circuit in Figure 4 where they
NAND gate 41-J detects the presence of character CEA . This detection is performed by NAND gate 41-J
is indicated by the output of going low. This low is transferred to the control circuit of FIG. 5 as signal EA A '. Therefore, the signal EA A ′ which is low
forces the output of NAND gate 65 high,
That high then forces the output of NAND gate 67 low. This row is then NAND gate 66
and 65, and it is also sent back to the input of NAND gate 42 in FIG. 4 as signal EA B '. So the signal that is low
EA B ′ forces input port control signal A high;
It is thereby shown that the control character CEA can be removed from the input port. The low signal EA B ' is also connected to NAND in FIG.
Forces the output of gate 68 high. However, this high is blocked by the signal EA A ', which is low, so this high
The output of NAND gate 69 never goes low. Therefore, the output of gate 69 remains high and no further signal transmission occurs in the circuit of FIG. In particular, signal S 0 remains high, and thereby output port 12 remains selected. The control character CEA in the input buffer of FIG. 6 is then transferred to the output buffer. From there, it is forwarded to the selected output port 12. Next, the gate 101 in the circuit of FIG.
-1 through 101-X detects the presence of control character CEA in the output buffer, which in turn causes feedback signal A K ' to go low. The low signal A K ' resets the input buffer of FIG. 6, but the signal is also sent to NAND gate 69 of FIG. 5 to reset the output of that gate even after the input buffer has been reset. Hold high. When control character CEA is removed from input port 11 in response to input port control signal A being high, the input buffer is reset. That is, all signals D J1 to D JN go low. In response, all NANDs in Figure 4
The outputs of gates 40-1 through 40-N and 41-J go high. Clearing the input buffer described above also forces signal EA A ' of FIG. 5 high. however,
The output of NAND gate 69 is held high by low signal A K '. Signal A K ' remains low until data is taken from the selected output port 12. When the output port control signal A 0 goes high, the output of NAND gate 87 of FIG. 6 goes low, clearing the output buffer, so that the signal A K ′ from the circuit of FIG. Go high. The output of NAND gate 69 in FIG. 5 then goes low, which in turn forces S0 from NAND gate 53 to go low, thereby deselecting the previously selected output port 12. do. The signal S 0 going low is the NAND gate 62
signals S 0 +S 1 block the input to the input buffer.
The low on NAND gate 62 is NAND gate 6
Force 3 to be high. NAND gate 64 goes low, which causes NAND gate 67 to go high, and signal EA B ' is latched into NAND gates 65 and 66. With EA B ' going high, NAND gate 42 in FIG. 4 goes low. Input port 11 then returns to its initial state. The details of one preferred embodiment of the invention have been described. However, many changes and modifications can 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.