JP3887063B2 - データ経路を制御する装置 - Google Patents
データ経路を制御する装置 Download PDFInfo
- Publication number
- JP3887063B2 JP3887063B2 JP11866397A JP11866397A JP3887063B2 JP 3887063 B2 JP3887063 B2 JP 3887063B2 JP 11866397 A JP11866397 A JP 11866397A JP 11866397 A JP11866397 A JP 11866397A JP 3887063 B2 JP3887063 B2 JP 3887063B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- queue
- chain
- control chain
- data path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 101150012648 Odam gene Proteins 0.000 description 1
- 102100027069 Odontogenic ameloblast-associated protein Human genes 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/08—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
- Logic Circuits (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本出願は、「Counterflow Pipeline Processor」と題する1993年10月21日に出願された米国特許出願第08/140655号の継続出願である、1995年6月7日に出願された米国特許出願第08/477533号の一部継続出願である。
【0002】
【発明の属する技術分野】
本発明は、先入れ先出し(FIFO)ディジタル要素に関し、詳細には、インタロック構成を有するFIFO用の制御システムと、そのような制御システムどうしを相互接続する方法に関する。
【0003】
【従来の技術】
FIFO処理セルまたはFIFO処理要素は、周知のデータ処理ディジタル要素であり、多数の機能に使用することができる。たとえば、米国特許第5187800号に記載された従来技術では、非同期パイプライン式データ・プロセッサが開示されている。このプロセッサは、一連のFIFO制御要素に応答して動作する非同期FIFOデータ経路処理装置を使用するものであった。
【0004】
FIFO型データ経路を使用するシステムの設計で生じる1つの問題は、様々なパイプラインどうしの制御である。たとえば、2つ以上のFIFOデータ経路を使用するいくつかのディジタル・システムでは、2つのデータ経路内の情報が互いに所望の関係に維持されることが必須である。複数のFIFOデータ経路を通じて命令を処理する場合、命令が、入力時と同じ順序でデータ経路から現れることが重要である。
【0005】
【発明が解決しようとする課題】
ある種のディジタル・プロセッサまたはその他のシステムでは、先入れ先出しデータ経路を使用することができる。複数のFIFOデータ経路を使用するこのようなプロセッサまたはその他のシステムでは、様々なFIFOデータ経路の動作が互いに調和またはインタロックすることが重要であることが多い。本発明は、ある経路内の命令またはデータが他の経路内の命令またはデータと所望の関係になるように複数のデータ経路を制御する技法を提供する。
【0006】
【課題を解決するための手段】
好ましい実施態様では、第1のデータ経路および第2のデータ経路を制御する装置は、それぞれ、直列接続された一連のステージを含む、第1の制御チェーンと第2の制御チェーンとを含む。制御チェーン内の各ステージは、少なくとも3つの入力端子と出力端子とを有する論理要素を含む。1つの入力端子は、前のステージの出力端子に接続される。第2の入力端子は、次のステージの出力端子に接続され、第3の入力端子は、所望の長さの待ち行列を通じて、他の制御チェーン内の対応するステージの出力端子に接続される。このような相互接続によって、各ステージは、前のステージおよび次のステージだけでなく、他の制御チェーン内の対応するステージとも調和する。このように、制御チェーン同士が互いに調和する。制御チェーン間の待ち行列は零を含む所望の長さのものでよい。
【0007】
【発明の実施の形態】
本発明では、相互接続された2つ(またはそれ以上)のFIFOデータ経路、すなわち互いに交叉接続された2つのFIFOデータ経路として形成された一連の処理セルを通じた単一方向の情報フローを考える。そのような2つのディジタル要素用の制御回路の好ましい実施形態を図2に示す。このような複数データ経路FIFOを本明細書では複合FIFOと呼ぶ。あるFIFOデータ経路内の情報が他のインタロックFIFOデータ経路内の内の指定された情報を「追い越す」のを防止するインタロック機構が設けられ、一方または他方または両方のFIFOデータ経路内を流れる情報が制限される。このインターロックによって、2つの並列FIFOデータ経路内のデータ要素間の関係が制限される。
【0008】
たとえば、Sproull,R、Sutherland,I、Molnar,C著「Couterflow Pipeline Processor Architecture」(Sun Microsystems Laboratories,Inc.、Publication SMLITR−94−25、1994年4月)と題する論文に記載されたように2つ以上のカウンターフロー・パイプラインを使用するシステムでは、どちらかまたは両方のカウンターフローFIFOパイプラインが、本明細書で説明する複合形を使用することができる。カウンターフロー複合FIFOパイプラインを有するシステムでは、4つの異なるFIFOデータ経路を使用することができる。上向きに流れる2つのFIFO用の制御システムは、下向きに流れる2つのFIFO用の制御システムと同様にインターロックを使用する。インターロックと、関連する追加回路について下記で説明する。
【0009】
前述のパイプライン・プロセッサには、複合FIFO用の制御システムに対する少なくとも2種類の用途がある。第1に、このような制御システムは、調停とデータ転送を並行して行うことができる。第2に、複数の命令パイプを有するパイプライン・プロセッサでは、インタロック制御システムは、命令ストリームを妥当な順序に維持するうえで助けとなり、すなわちあるプロセッサ内の命令が他のプロセッサ内の命令を追い越すのが妨げられる。
【0010】
先入れ先出し(FIFO)ディジタル・パイプラインまたはデータ経路は良く知られている。図1は、処理装置のFIFOディジタル・データ経路とその制御回路を示す。データおよび命令は、処理セル(P.C.)の入力端子に導入され、FIFOプロセッサに沿って伝搬し、最終的に、導入時と同じ順序で出力端子に現れる。各セルで、命令による所望の動作またはデータに対する所望の動作を実行することができる。制御装置は、相互接続された一連のMuller C要素10、20などを使用して、プロセッサが情報を順次FIFOを通過させ、準備が完了したときにしか先へ進まないようにする。Muller C要素は、処理セルを順次活動化し、データ経路を通じて情報を処理する。
【0011】
図1は、単一のFIFOデータ経路と単一のFIFO制御経路を示す。図のような回路は、前述の「Counterflow Pipeline Processor Architecture」に記載されたような事象駆動システムで使用することができる。図1に示したように、FIFO制御回路は例示のために、順次接続された4つのMuller C要素10、20、25、28を含む。もちろん、P.C.セルの数などに応じて、これよりも多くの制御要素を使用することも、あるいはこれよりも少ない数の制御要素を使用することもできる。Muller C要素は、たとえば入力端子11、12がそれぞれ事象を受け取った後にノード13上に出力事象を生成する。1つの入力端子上のバブルは、最初、マスタ・クリア後に、要素が、事象がすでに受け取られている場合と同様に動作することを示す。もちろん、4つのMuller C要素が示されているが、必要に応じた数の要素を使用することができる。要求入力信号Rおよび肯定応答出力信号AはチェーンAの左端部に現れる。要求事象によって、情報は処理セルのチェーンに沿って伝搬し、右端部に現れる。各連続Muller C要素からの肯定応答信号によって、前のMuller C要素は次の要求入力信号を受け取り、その要求をチェーン内を伝搬させる。
【0012】
図2は、2つのインタロックFIFO制御チェーンを示す概略図を示す。図2の各Muller C要素は、「データ経路へ」として指定された矢印で指定された2つのFIFOのうちの一方内の対応する処理セル(図示せず)に接続される。図2の上部を横切って水平に第1のFIFO制御チェーンが延び、第2のFIFO制御チェーンは下部を横切って水平に延びる。図2のチェーン間の接続によって、各FIFO制御チェーンは他方のチェーンに影響を与えることができる。上部チェーン、すなわちFIFO制御Pは、要求入力端子RPINと肯定応答端子APINとを有し、下部チェーンのFIFO制御Qは、要求入力端子RQINと肯定応答端子AQINとを有する。FIFO制御Pは、Muller C要素30、35、40、45を含み、FIFO制御QはMuller C要素50、55、60、65を含む。FIFO制御チェーンPは、情報がチェーンに沿ってさらに伝搬した後にのみ要素30をイネーブルするために要素35の出力端子39から要素30の入力端子33への接続を含む。同様に、FIFO制御Pのすべての要素間で「ジグザグ」接続が延び、FIFO制御Qの各要素間で別の「ジグザグ」接続が延びる。
【0013】
図2のインタロックFIFO制御回路は、2つのFIFO制御チェーンPおよびQをリンクするための追加接続も含む。このような追加接続は、2つのFIFO制御チェーン間で延びるように示されている。たとえば、要素30の出力ノード34は要素50の入力端子52に結合される。同様に、要素50の出力ノード54は要素30の入力端子32に結合される。この相互接続を用いた場合、上部FIFO制御回路は、下部FIFOのみと調和して、対応する被制御構成要素(図示せず)に沿ってデータを送ることができ、逆もまた同様である。図の接続を用いた場合、上部制御回路からの信号がないかぎり、下部制御回路は動作できない。下部FIFO制御回路からの信号がないかぎり、上部制御回路を再びトリガすることはできない。
【0014】
たとえば、入力端子31に存在する要求は、入力端子32および33上の信号によってイネーブルされたときに出力端子34に渡される。出力信号34は、要素35に結合されるだけでなく、下部FIFO制御チェーン内の要素50の入力端子52にも結合される。したがって、下部FIFO制御チェーン内の要素50は、入力端子51上でイネーブル信号を受け取り、入力端子52上で要素30からの出力信号を受け取り、入力端子53上で下流側要素からの肯定信号を受け取らないかぎり動作できない。これらの条件がすべて満たされた後、出力信号は線54上に置かれる。この出力信号によって、要素30は次の入力信号を受け取ることができる。このように、2つのFIFO制御回路の動作の調和が図られる。
【0015】
図2で、2つのFIFO制御回路間の交叉接続のために、2つのFIFO制御回路の動作に対して制約が課される。制御チェーン間の接続によって、下部FIFO制御回路が、上部制御回路を追い越す出力信号を供給することが防止される。したがって、上部チェーンによって制御されるFIFOデータ経路のあるステージにデータ要素Nが到着した場合、下部FIFO制御回路によって制御されるFIFOデータ経路の同じステージには最大でデータ要素Nまで到着している。FIFO制御回路間の他の接続によって、上部FIFO制御回路に同様であるがわずかに異なる制約が課される。下部FIFO制御回路でデータ要素Nに達した場合、上部FIFO制御回路では最大でデータ要素N+1に達している。図の回路は、FIFO制御回路によって制御されるどちらかの経路内の命令が他方の経路内の命令を追い越すことを防止するので有利である。したがって、命令が2つの経路に交互に挿入される場合、命令は交互に現れ、前の命令を追い越すことはできない。しかし、重要なこととして、どちらの経路内の命令も、他方の経路内の直前の命令に追いつくことができる。したがって、一方の被制御データ経路での「ストール」は、回復不能に失われるサイクルではない。条件が満たされれば、ストールは、他方のデータ経路に「追いつく」ことができる。
【0016】
図3は、2つの同じインタロックFIFO制御チェーンを示すが、2つの制御チェーンに沿って通過する信号のシーケンスに余裕をもたせるように追加Muller C要素が設けられている。2つのFIFO回路を図2に示したように直接接続させるのではなく、図3に示したように、各制御チェーン間の回路に他のMuller C要素が追加される。たとえば、要素30の端子と要素50の端子との間にMuller C要素70が接続される。図のように、追加された要素70の入力端子71は、要素30から出力信号34を受け取るように結合され、要素70の入力端子72は要素50から出力信号54を受け取る。要素74の出力は、要素70の入力端子52と要素30の入力端子32の両方に結合される。図3に示した回路の利点は、2つのFIFOに沿って通過する制御信号のタイミングにより大きな余裕がもたらされることである。図3の場合、上部FIFO制御回路は、その被制御データ経路に、下部FIFO制御回路の被制御データ経路を最大で1要素だけ追い越させることができ、逆もまた同様である。
【0017】
図2と図3を比較すると、2つのFIFO間に任意の長さの待ち行列を置くことができることが分かる。図2で、待ち行列の長さは零であり、すなわち直接接続である。図3で、この接続方式では長さ1の待ち行列が与えられる。図4は、長さ零、長さ1の待ち行列と、長さ2の待ち行列を示す。長さ2の待ち行列では、図2の零要素または図3の単一要素の代わりに2つのMuller C要素が使用される。
【0018】
図4でFIFO間に示したように待ち行列を導入すると、FIFO制御チェーン間でより粗な結合が可能になる。この待ち行列によって、上部FIFO制御回路はそれ自体のペースで進むことができるが、上部FIFO制御回路が動作するたびに待ち行列内に事象が置かれる。待ち行列が満杯になった場合、上部FIFO制御回路は動作することができなくなる。同様に、下部FIFO制御回路はそれ自体のペースで進むことができるが、そうできるのは、待ち行列から事象を得たときだけである。さらに、下部FIFO制御回路の各サイクルでは、待ち行列から要素が取り出され、待ち行列が空になると、下部FIFO制御回路はそれ以上先へ進むことができなくなる。
【0019】
図3で、上部FIFO制御チェーンが何らかの理由でストールした場合、下部FIFO制御チェーンは上部FIFO制御チェーンに追いつくことができ(追い越すことはできない)、その時点で待ち行列が空になる。下部FIFO制御チェーンがストールした場合、上部FIFO制御チェーンは待ち行列の容量よりも1ステップだけ多く進むことができ、その後待ち行列が満杯になり、下部FIFO制御チェーンの次の動作が防止される。したがって、上部FIFO制御チェーンで要素Nに達した場合、下部FIFO制御チェーンでは最大で要素Nに達している。同様に、下部FIFO制御チェーンで要素Nに達した場合、上部FIFO制御チェーンでは最大で要素N+Q+1に達している。ここで、Qは待ち行列の容量である。
【0020】
図5は、二次元FIFO制御方式を示す。図5に示したFIFO制御回路は、それぞれ4ステージの3つの水平FIFO制御チェーンと、それぞれ3ステージの4つの垂直FIFO制御チェーンを示す。第1の水平制御チェーンEは、要素30、35、40、45と、介在する待ち行列Q1、Q2、Q3とを含む。同様に、FIFO制御チェーンFは、要素50、55、60、65で形成され、それに対して制御チェーンGの要素は要素100、105、110、115で形成される。図5には、回路によって制御されるFIFOデータ経路の二次元アレイは示されていない。もちろん、任意の数の水平FIFO制御チェーンを使用することができ、各チェーンは所望の長さのものでよい。図の各ステージ間にはQ1、Q2、Q3、...Q9として指定された待ち行列があり、各待ち行列は(零を含め)任意の長さのものでよい。各待ち行列は、図4に示した技法を使用することができる。水平FIFO E、F、Gは、H、J、K、Lとして指定された4つの経路によって垂直に接続される。これらの経路は、前述の要素を使用し、待ち行列Q10、Q11、Q12、...Q17も使用する。水平待ち行列の場合と同様に、各垂直待ち行列は、所望の技法を使用して任意の長さにすることによって形成することができる。図2の構成を、水平経路と垂直経路の両方で長さ零の待ち行列を使用した結果得られるものとみなし、図3の構成を、水平経路で長さ零の待ち行列を使用し垂直経路では長さ1の待ち行列を使用した構成とみなすことができる。
【0021】
図5に示した構成は、制御信号を水平方向と垂直方向の両方に通過させる。アレイ内の任意の点の信号は、その信号の右側または下方の信号に対して、その方向の待ち行列の長さよりも長い距離だけ先行することはできない。このような信号によって制御されるデータ経路は、経路EまたはFまたはG上では左から右へ流れ、経路H、J、K、L上では上から下へ流れる。
【0022】
図6はさらに、図1ないし5に関連して説明した待ち行列の概念を一般化したものである。図6は、図5に示した特性と同様な特性を有するFIFO制御回路の三次元アレイの一部を示す。図6は実際上、任意の数の直交方向へ流れるFIFOデータ経路をリンクしたものである。そのような構造を視覚化するために、図5に示した回路であるが、互いに積み重ねられると共に、図の回路の隣および前方に並べられた複数の回路を考える。図6に示したように、3つの方向へ延びるFIFO用にFIFO制御回路が設けられる。待ち行列Q20およびQ21は水平次元で動作し、待ち行列Q30およびQ31は垂直方向で動作し、待ち行列Q40およびQ41は、図で斜めに示したように第3の次元(水平待ち行列および垂直待ち行列の平面の上下)で動作する。
【0023】
前述の発明は、明確に理解していただくために一例としてある程度詳しく説明したが、添付の特許請求の範囲の範囲内である種の変更および修正を実施できることは明白である。
【図面の簡単な説明】
【図1】 単一のFIFOパイプラインおよび関連する制御回路を示すブロック図である。
【図2】 2つのインタロックFIFOパイプライン用の制御回路を示す図である。
【図3】 2つのパイプライン間に単一ステージ待ち行列を含む2つのインタロックFIFOパイプライン用の制御回路を示す図である。
【図4】 それぞれの異なる長さの待ち行列を構成するのに必要な回路を示す図である。
【図5】 二次元の複数のFIFOパイプライン用の制御回路を示す図である。
【図6】 三次元FIFOデータ経路アレイ用の制御回路を示す図である。
【符号の説明】
10、20、25、28、30、35、40、45、50、55、60、65、70、74、100、105、110、115 Muller C要素
11、12、32、33、52、53、71、72 入力端子
13 ノード
34、52、54 出力ノード
39 出力端子
54 線
APIN 肯定応答端子
P FIFO制御回路
Q 下部制御チェーンFIFO制御回路
RPIN 要求入力端子
Claims (14)
- 第1のデータ経路および第2のデータ経路を制御する装置であって、
各制御チェーンが、それぞれ、少なくとも3つの入力端子と1つの出力端子とを含む、直列接続された論理要素からなる一連のステージを含む、第1のデータ経路に結合された第1の制御チェーンと第2のデータ経路に結合された第2の制御チェーンとを備え、
3つの入力端子のうちの第1の入力端子が、前のステージの出力端子に接続され、3つの入力端子のうちの第2の入力端子が、次のステージの出力端子に接続され、3つの入力端子のうちの第3の入力端子が、待ち行列を通じて、第1の制御チェーンと第2の制御チェーンのうちの他方の制御チェーン内の対応するステージの出力端子に接続されることを特徴とする装置。 - 待ち行列の長さが零であることを特徴とする請求項1に記載の装置。
- 待ち行列が、3つの入力端子のうちの第3の入力端子を直接、第1の制御チェーンと第2の制御チェーンのうちの他方の制御チェーン内の対応するステージの出力端子に接続する配線接続を備えることを特徴とする請求項2に記載の装置。
- 待ち行列の長さが1であることを特徴とする請求項1に記載の装置。
- 待ち行列が、第1の制御チェーン内の論理要素の出力端子に接続された第1の入力ノードと、他方の制御チェーン内の論理要素の出力端子に接続された第2の入力ノードと、第2の制御チェーン内の論理要素の入力端子のうちの第3の入力端子に接続された出力ノードとを有する追加論理要素を備えることを特徴とする請求項4に記載の装置。
- 待ち行列の長さが2であることを特徴とする請求項1に記載の装置。
- 待ち行列が、第1の制御チェーンおよび第2の制御チェーン内の対応する論理要素間に直列接続された2つの追加論理要素を備えることを特徴とする請求項6に記載の装置。
- 待ち行列が、長さnを有し、第1の制御チェーンおよび第2の制御チェーン内の対応する論理要素間に直列接続されたn個の追加論理要素を備えることを特徴とする請求項1に記載の装置。
- 論理要素がそれぞれ、Muller C要素を備えることを特徴とする請求項1に記載の装置。
- データ経路アレイ、すなわち第1の方向へ延びる第1のデータ経路セットと、第2の方向へ延びる第2のデータ経路セットを制御する装置であって、
各制御チェーンが、第1のセット内の各データ経路に結合され、制御要素と制御要素と交互する待ち行列とを備え、各制御要素が4つの入力端子を有し、第1の入力端子が、その論理要素をチェーン内の前の論理要素から分離する待ち行列に接続され、第2の入力端子が、その論理要素をチェーン内の次の論理要素から分離する待ち行列に接続された、第1の制御チェーン・セットと、
第1のセットの制御要素を追加待ち行列セットと共に使用し、第1のセットの各制御チェーン内のn番目の要素が順次接続され、追加待ち行列セットの待ち行列が、第2の制御チェーン・セット内の各制御要素を隣接する各制御要素から分離するように構成され、n番目の要素の第3の入力端子が、そのn番目の論理要素を第1の制御チェーン・セットの前の制御チェーン内のn番目の論理要素から分離する待ち行列に接続され、n番目の要素の第4の入力端子が、そのn番目の論理要素を第1の制御チェーン・セットの次の制御チェーン内のn番目の論理要素から分離する待ち行列に接続され、それによって各論理要素が待ち行列によって、隣接する各論理要素から分離される第2の制御チェーン・セットと
を備えることを特徴とする装置。 - アレイが、第3の方向へ延びる第3のデータ経路セットを含み、装置がさらに、
第3のデータ経路セット内のデータ経路に接続され、それぞれ、制御要素と制御要素と交互する待ち行列とを含み、第1の制御チェーン・セットおよび第2の制御チェーン・セットのうちの少なくとも一方に接続された、第3の制御チェーン・セットを備えることを特徴とする請求項10に記載の装置。 - 少なくとも3つの制御チェーンの各制御チェーン間で共用される少なくとも1つの論理要素を有する少なくとも3つのデータ経路からなる群を制御する装置であって、
第1のデータ経路に接続され、交互する一連の第1の論理要素と第1の待ち行列とを含む第1の制御チェーンと、
第2のデータ経路に接続され、交互する一連の第2の論理要素と第2の待ち行列とを含む第2の制御チェーンと、
第3のデータ経路に接続され、交互する一連の第3の論理要素と第3の待ち行列とを含む第3の制御チェーンと
を備え、第1、第2、第3の論理要素のうちの少なくとも1つの論理要素が、少なくとも3つの制御チェーンの各制御チェーンに接続された単一の論理要素で形成され、単一の論理要素が、それぞれ、少なくとも3つの制御チェーンの各制御チェーンにおけるすぐ前の待ち行列およびすぐ後の待ち行列に接続された、複数の入力端子を有し、かつ論理要素の入力端子に接続されたすべての待ち行列に共通に接続された出力端子を有することを特徴とする装置。 - 第1、第2、第3の論理要素の各論理要素が、Muller C要素を備えることを特徴とする請求項12に記載の装置。
- 少なくとも3つのデータ経路が、それぞれの異なる方向へ延びることを特徴とする請求項12に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/636,260 US5758139A (en) | 1993-10-21 | 1996-04-23 | Control chains for controlling data flow in interlocked data path circuits |
US08/636260 | 1996-04-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH113206A JPH113206A (ja) | 1999-01-06 |
JP3887063B2 true JP3887063B2 (ja) | 2007-02-28 |
Family
ID=24551138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11866397A Expired - Lifetime JP3887063B2 (ja) | 1996-04-23 | 1997-04-23 | データ経路を制御する装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5758139A (ja) |
JP (1) | JP3887063B2 (ja) |
KR (1) | KR100311192B1 (ja) |
DE (1) | DE19716910C2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838939A (en) * | 1997-05-09 | 1998-11-17 | Sun Microsystems, Inc. | Multi-issue/plural counterflow pipeline processor |
US6360288B1 (en) * | 1997-10-17 | 2002-03-19 | Sun Microsystems, Inc. | Method and modules for control of pipelines carrying data using pipelines carrying control signals |
US6243770B1 (en) * | 1998-07-21 | 2001-06-05 | Micron Technology, Inc. | Method for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple FIFO buffers |
US6085316A (en) * | 1998-07-28 | 2000-07-04 | Sun Microsystems, Inc. | Layered counterflow pipeline processor with anticipatory control |
US6163839A (en) * | 1998-09-30 | 2000-12-19 | Intel Corporation | Non-stalling circular counterflow pipeline processor with reorder buffer |
US6477637B1 (en) * | 1999-09-30 | 2002-11-05 | International Business Machines Corporation | Method and apparatus for transporting store requests between functional units within a processor |
US6700825B1 (en) | 2000-09-29 | 2004-03-02 | Sun Microsystems, Inc. | Implementation of a multi-dimensional, low latency, first-in first-out (FIFO) buffer |
JP3425947B2 (ja) * | 2001-10-19 | 2003-07-14 | 沖電気工業株式会社 | 遷移信号制御回路及びそれを用いた調停装置 |
JP3488224B2 (ja) * | 2001-11-16 | 2004-01-19 | 沖電気工業株式会社 | 遷移信号制御装置とそれを用いたdmaコントローラ及び遷移信号制御プロセッサ |
GB2419437B (en) * | 2002-02-15 | 2006-08-16 | Multigig Ltd | Rotary clock logic |
GB2413869B (en) * | 2002-02-15 | 2006-09-27 | Multigig Ltd | Blip mode driver |
WO2004066142A2 (en) * | 2003-01-24 | 2004-08-05 | Koninklijke Philips Electronics N.V. | Pipeline synchronisation device and method |
US7383459B1 (en) * | 2005-05-16 | 2008-06-03 | Sun Microsystems, Inc. | Apparatus and method for phase-buffering on a bit-by-bit basis using control queues |
KR102460281B1 (ko) * | 2017-11-24 | 2022-10-31 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 다중 입력 파이프 라인을 가진 데이터 버스 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4167789A (en) * | 1969-04-16 | 1979-09-11 | The Aiken Fund, Inc. | Asynchronous circuit and system |
US4837740A (en) * | 1985-01-04 | 1989-06-06 | Sutherland Ivan F | Asynchronous first-in-first-out register structure |
US5187800A (en) * | 1985-01-04 | 1993-02-16 | Sun Microsystems, Inc. | Asynchronous pipelined data processing system |
US5084837A (en) * | 1988-01-22 | 1992-01-28 | Sharp Kabushiki Kaisha | Fifo buffer with folded data transmission path permitting selective bypass of storage |
US5386585A (en) * | 1993-02-03 | 1995-01-31 | Intel Corporation | Self-timed data pipeline apparatus using asynchronous stages having toggle flip-flops |
-
1996
- 1996-04-23 US US08/636,260 patent/US5758139A/en not_active Expired - Lifetime
-
1997
- 1997-04-22 DE DE19716910A patent/DE19716910C2/de not_active Expired - Lifetime
- 1997-04-23 KR KR1019970015057A patent/KR100311192B1/ko not_active IP Right Cessation
- 1997-04-23 JP JP11866397A patent/JP3887063B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5758139A (en) | 1998-05-26 |
KR100311192B1 (ko) | 2001-11-15 |
DE19716910C2 (de) | 2001-08-30 |
DE19716910A1 (de) | 1997-10-30 |
KR970071255A (ko) | 1997-11-07 |
JPH113206A (ja) | 1999-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3887063B2 (ja) | データ経路を制御する装置 | |
US4837676A (en) | MIMD instruction flow computer architecture | |
JP3588487B2 (ja) | パイプラインで相互に逆方向に流れるデータ要素を管理するシステム及び方法 | |
US5386585A (en) | Self-timed data pipeline apparatus using asynchronous stages having toggle flip-flops | |
US20230195686A1 (en) | Logic unit for a reconfigurable processor | |
JP2002538562A (ja) | 桁上げ選択加算付プログラマブルロジックデバイス | |
EP1468372B1 (en) | Asynchronous crossbar with deterministic or arbitrated control | |
McMillen et al. | Performance and fault tolerance improvements in the inverse augmented data manipulator network | |
JPH0877128A (ja) | スケーラブル並行処理ネットワーク及びノードの相互接続方法 | |
US6823443B2 (en) | Data driven type apparatus and method with router operating at a different transfer rate than system to attain higher throughput | |
US4714922A (en) | Interconnection networks | |
EP0199757B1 (en) | Instruction flow computer | |
US6085316A (en) | Layered counterflow pipeline processor with anticipatory control | |
Arango et al. | Staged circuit switching | |
Thompson et al. | The STC104 packet routing chip | |
Gaughan et al. | A Performance Model of Pipelined k-ary n-cubes | |
JP3718715B2 (ja) | 演算子群を用いた非同期回路の設計方法 | |
Brej | Counterflow Networks | |
JP2516611B2 (ja) | 並列デ−タ処理装置 | |
Ott et al. | Timing in systolic systems with variable minimum connection delays | |
JPS59161763A (ja) | 並列処理システムのネツトワ−ク方式 | |
Dickey et al. | Design of Components for a Low Cost Combining Switch | |
Khan | Design of an interface control unit for rapid prototyping | |
JPH1091589A (ja) | プロセッサ間同期制御装置 | |
Østby | Full custom implementation of a high performance input buffered switch architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040408 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061019 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121201 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121201 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131201 Year of fee payment: 7 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |