JP2821552B2 - 2経路データ転送装置 - Google Patents

2経路データ転送装置

Info

Publication number
JP2821552B2
JP2821552B2 JP2317596A JP31759690A JP2821552B2 JP 2821552 B2 JP2821552 B2 JP 2821552B2 JP 2317596 A JP2317596 A JP 2317596A JP 31759690 A JP31759690 A JP 31759690A JP 2821552 B2 JP2821552 B2 JP 2821552B2
Authority
JP
Japan
Prior art keywords
buffer
data
signal
status
data transfer
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 - Fee Related
Application number
JP2317596A
Other languages
English (en)
Other versions
JPH03175848A (ja
Inventor
クヌト・カエサル
ウルリヒ・シュミット
トーマス・ヒンメル
アルノルト・ウーレンホフ
Original Assignee
ミクロナス・インターメタル・ゲーエムベーハー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ミクロナス・インターメタル・ゲーエムベーハー filed Critical ミクロナス・インターメタル・ゲーエムベーハー
Publication of JPH03175848A publication Critical patent/JPH03175848A/ja
Application granted granted Critical
Publication of JP2821552B2 publication Critical patent/JP2821552B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/10Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 2経路データ転送装置(=ハンドシェイクポート)
は、一方向又は二方向データ転送が、共通システムクロ
ックに同期して実行されない場合、及び/又は継続しな
い場合に、相互通信データ・処理装置のデータインター
フェースに用いられる。
(従来の技術、及び発明が解決しようとする課題) 前述のようなポートの重要な機能はハンドシェーキン
グプロトコル(handshaking protocol)の取扱いであ
り、ハンドシェーキングプロトコルは、送信器において
でデータが実際に使用可能なときにのみ、及び受信器に
おいては実際に受信準備が完了したときにのみ送信され
ることが保証される。更に複雑なシステムでは、これら
の条件が常に達成されるとは限らない。例えば、システ
ムクロックは遅延差のために比較的位相ずれを生じるこ
とがあり、このため正確なデータ転送が保証されない。
システムクロックの周波数が高いほど、遅延差は決定的
なものとなる。
より複雑なシステムにおける他の問題は、データワー
ドがいつ実際に利用可能なのか、即座に判断(概算)す
るのが既に不可能であることである。例えばこれは、内
部遅延、及びデータ処理回路の処理時間に依存してお
り、パイプラインを用いて並列処理が実行される場合、
このデータ処理時間を判断するのは更に困難である。
“ワープロコンピュータ:その構造、導入、及び性
能”(The Warp Computer:Archirecture,Implementatio
n,and Performance",published in “IEEE Transaction
s on Computers",Vol.C−36,No.12,December 1987,page
1523 to1538)において、大規模コンピュータが説明さ
れ、ボードを挿入することによって導入できるそのプロ
セッサモジュールはハンドシェーキングプロトコルによ
ってデータを交換する。各プロセッサモジュール間の通
信は待ち行列を介して行われる。待ち行列(=ファスト
インファストアウト=FIFOメモリ)が満杯又は空のと
き、送信及び受信モジュールは各々、待ち行列を介して
再びデータ転送が可能となるまでストップ信号によって
ブロックされる。なぜならば、スロットは新しいデータ
について、又は新しいデータが利用できるように設計さ
れるからである。このようなデータ・駆動データ転送装
置は、そのような複数のインターフェースがデータ処理
に関与している場合、非常に有効である。従ってプログ
ラマに対しては、全てのデータ処理が“透明”になる。
従って、この発明の目的は特許請求の範囲にあるよう
に、データソース(data source)とそのデータソース
と非同期に動作するデータシンク(data sink)の間の
データインターフェースに用いる2経路データ転送装置
を提供することである。
(課題を解決するための手段と作用) この発明の2経路データ転送装置において、データソ
ースはデータ転送に1クロック周期のみを必要とし、デ
ータ転送は任意のクロック数に延長することができ、特
にプログラムの変更によって2クロックに延長すること
ができ、又、データソースは不均一なデータの発生及び
データ受信レート(rates)で送信されたデータをバッ
ファする(buffering)手段を含み、データソースの動
作はバッファが満杯のときインタラプトされ(interrup
ted)、バッファが空のときはデータシンクの動作はイ
ンタラプトされる。
(実施例及び効果) 本発明及び本発明の他の利点が図面を参照してこれよ
り詳細に説明される。第1図に示される2経路データ転
送装置(=ハンドルシェークポート)は、2つのデータ
交換セルを含む、第1セルz1はデータ転送を実行し、第
2セルz2はデータの受信を実行する。第1及び第2セル
z1、z2の実際の信号処理回路は、データソースdqとし
て、及びデータシンクdsとして各々結合される。データ
ソースdqによって転送されたデータは送信器バッファ
(buffer)f1にバッファされ、送信器バッファf1は少な
くとも第1バッファレジスタr1及び第2バッファレジス
タr2を有し、又必要であれば所定数の追加バッファレジ
スタriを有する。従って、送信機バッファはFIFOメモリ
(ファストインファストアウトメモリ)である。FIFOメ
モリにはゲート/バッファ回路tpが続き、ゲート/バッ
ファ回路tpは送信されるデータ、即ちデータdatのドラ
イバ回路として機能する。
受信機側で送信器バッファf1に対応する装置は受信機
バッファf2であり、受信機バッファf2は又はFIFOメモリ
として構成される。送信側の単一バッファf1、又は受信
側の単一バッファf2によって、データシンクds又はデー
タソースdqは異なるデータ受信レート(rate)、又はデ
ータ発生レートを短時間の間、各々有することができ
る。補償期間が長いほど、送信側又は受信側の利用でき
るバッファレジスタの数は大きくなければならない。後
に示されるように、ハンドシェーキプロトコルの実行フ
ェーズ(execution phases)はデータソースdqを十分短
時間に不活性にすることができず、従って発生したデー
タはバッファされなければならないので、送信側は少な
くとも2つのバッファレジスタを必要とする。
データ転送は送信器及び受信器のシーケンシャル回路
su1,su2によって制御され、シーケンシャル回路su1,su2
はハンドシェーキングプロトコルを用いてデータ転送を
実行する。データソースdqがライト信号wrを送信器シー
ケンシャル回路su1に送信し、それがデータワードを送
信ポートに書き込む必要があることを示すとき、送信器
シーケンシャル回路su1は送信器バッファf1が入力可能
かどうかチェックする。即ち、空のバッファレジスタが
あるかどうか、又は全てのバッファレジスタが満杯かど
うかをチェックする。この情報に関して送信機バッファ
f1は3つのステータス信号を供給する。即ち、 1.全てのバッファレジスタが満杯のとき、第1ステータ
スフル(status full)信号 v1; 2.1つを除き全てのバッファレジスタが満杯のとき、第
2ステータスフル信号 v2; 3.全てのバッファレジスタが空のとき、ステータスエン
プティ(empty)信号 e: これらのステータス信号によって、次に示す送信器バッ
ファf1の占有レベルが提供される。
同様に、受信器バッファf2は次に示す3つの信号を供給
する。
1.全てのバッファレジスタが空のとき、第1ステータス
エンプティ信号 e1; 2.1つを除き全てのバッファレジスタが空のとき、第2
ステータスエンプティ信号 e2、及び、 3.全てのバッファレジスタが満杯のとき、ステータスフ
ル信号 v。
データシンクdsからのリード信号は、データワードda
tがポートから読まれることを、受信器シーケンシャル
回路su2に示す。受信器バッファf2内のデータワードの
利用可能性又は不可性能は、前述の3つのステータス信
号e1、e2、vによって信号送信される。
2つのシーケンシャル回路su1、su2のハンドシェーキ
ングプロトコルに関するタイミング図が第2図に示され
る。ハンドシェーキングプロトコルは時刻1にリクエス
ト信号reqによって開始し、この信号は受信器シーケン
シャル回路su2にデータワードdatが送信されたことを示
す。このデータワードの受信は時刻2にアクノリッジ信
号ackを設定することによって、送信器シーケンシャル
回路su1に示される。送信器シーケンシャル回路su1にお
いては、アクノリッジ信号ackによって、リクエスト信
号reqが時刻3においてリセットされる。受信器シーケ
ンシャル回路では、このリクエストによってアクノリッ
ジ信号は時刻4においてキャンセルされる。第2図にお
いて、送信されるデータdatは即座には受信されず、1
クロックだけ遅れて受信されることが、時刻5において
想定される。従ってアクノリッジ信号は1クロック周期
だけ遅れて、時刻6に設定される。ハンドシェーキング
プロトコルの残りの部分は、時刻7及び8において遅延
なしに実行される。そのときにのみ新しいデータ転送サ
イクルが開始する。
この動作シーケンスを実行することによって、ハンド
シェーキングプロトコルの実行時間に関係なく、正確な
データ転送が保証される。各回路を適切に設計すること
によって、ハンドシェーキングプロトコルは極めて高い
クロックレート(clock rate)であっても、1クロック
周期以内に容易に実行することができる。しかし、それ
らは例えば初期化フェーズ及び実行フェーズを含んでい
るために、制御シーケンスが1クロック以上の周期を必
要とする場合、セル制御に関する問題が生じる。それら
は後方及び前方ストップ信号st1、st2を含み、それら信
号はステータス信号に依存する。なぜならば、ステータ
ス信号の設定は、それら信号の値を判断するクロック周
期とは異なるクロック周期に行われるからである。それ
は例えば次のような場合である。即ち、アクノリッジ信
号ackが受信器シーケンシャル回路su2によってリセット
されないため、及びアクノリッジ信号のリセットとデー
タソースdqの不活性化の間に、回路による潜伏期間があ
るために、データソースdqが不活性されなければならな
いとき、データソースdqは更に1又は2クロックの周期
の間、動作を続ける。その場合、データソースdqによっ
て依然発生しているデータは、送信側のバッファレジス
タにバッファされなければならず、アクノリッジ信号ac
kがリセットされてたときにのみ、放出されなければな
らない。それらバッファレジスタの占有レベルを示すス
テータス信号は、データソースの活性化が同数のクロッ
ク周期を必要とする場合、データソースdqを不活性化す
る必要はない。
2つのリードステートメントreが直接に連続する一
方、1つのデータワードのみが受信器バッファf2で利用
できる場合も同様である。ここで第2リードステートメ
ントは設定されないステータスエンプティ信号を発見
し、受信器バッファf2が1個のデータワードを含むと仮
定することがあるが、それはすでに前述の場合ではな
い。
同様な動作は2つのライトステートメントwrが互いに
直接連続するとき、送信器シーケンシャル回路su1にお
いても行われ、シーケンシャル回路su1は4第1ライト
ステートメントで1つのレジスタのみが送信器バッファ
f1内で利用できるとき、送信器バッファf1が満杯である
ことを非常に遅れて認識する。送信器シーケンシャル回
路su1からの後方セルストップ信号によるデータソースd
qの不活性化は、従って1クロック遅れるようになり、
それによってデータソースdqの1データワードは、メモ
リが満杯であるために失われる。
受信器シーケンシャル回路su2からの前方セルストッ
プ信号st2によるデータシンクdsの不活性化も又、1ク
ロック遅れるようになり、それによってデータシンクds
は空のバッファf2を読む。
この発明はこれらの対策として、送信器及び受信器バ
ッファf1、f2は追加ステータス信号、即ち第2ステータ
スフル信号v2及び第2ステータスエンプティ信号e2によ
って各々堅実にモニタされる。このようにして、例外的
に長い制御シーケンスの初期化が予め設定される。衝突
の原因となるクリティカルな制御ステートメントの代わ
りに、短い制御ステートメントが実行される場合、この
初期化の中止は勿論いかなる遅延も生じてはならない。
これを説明するために、第3図はリードステートメン
トreの実行サイクルを示すフローチャートである。長方
形はステートメントが実行されていることを示し、これ
はクロックc12のcoフェーズに実行される。六角形はci
フェーズの間に関連する条件と伴に読まれるステートメ
ントを示す。実行は次のcoフェーズの間に行われる。こ
れらの条件はフローチャートのyes/no判断によって示さ
れる。これら条件信号の設定はクロックc12のciフェー
ズの間に行われる。
フローチャートは、ここで“スタート”と呼ばれる任
意のステートメントの実行によって、coフェーズの時刻
1に開始される。時刻2、即ちciフェーズの間、次のプ
ログラムステートメント及び条件としての第1ステータ
スエンプティ信号e1がロード(load)される。このステ
ートメントがリードステートメントreではないとき、通
常のステートメントの中の一つが実行される。これはス
タートステートメントの入力に向かう矢印によって示さ
れる。ステートメントがリードステートメントreのと
き、動作シーケンスは第1ステータスエンプティ信号e1
のステートに依存する。この信号が“0"即ち設定されて
いないとき、リードステートメントreは次のcoフェーズ
の間に実行される。これはフローチャートのリードブロ
ックfreによって示され、時刻3に実行される。
第1ステータスエンプティ信号e1が“1"に設定される
ことによって示されるように、受信器バッファf2が空で
あれば、データシンクds内の信号処理は停止される。こ
れはフロオーチャートのブロック“ストップ”によって
示され、前方セルストップ信号st2を伴う。このステー
トが開始されたとき、coフェーズ中のデータシンクds内
のデータ処理のステートは“凍結”のままである。この
凍結は受信器バッファf2からの第1ステータスエンプテ
ィ信号e1がリセットされるまで、即ちステート“0"を仮
定するまで維持される。第1ステータスエンプティ信号
e1に依存して、新しい待ちループ又はリードステートメ
ントの実行はciフェーズの間に開始される。第1ステー
タスエンプティ信号e1が設定されていないとき、矢印は
従って時刻3に、リードブロックfreを指す。
このリードステートメントreの実行freは次のステー
トメントに関して、次に示す準備を開始する。第2ステ
ータスエンプティ信号e2は受信器バッファf2から受信器
シーケンシャル回路2に転送され、シーケンシャル回路
su2内では次に示す条件機能が導入される。
1.次のステートメントがリードステートメントreではな
い場合、このステートメントは実行され、これはフロー
チャートのスタートブロックに戻る部分によって示され
る。
2.次のステートメントがリードステートメントreの場
合、第2ステータスエンプティ信号e2が設定されていな
いとき、即ち信号e2が“0"のときのみ、それは実行され
る。他の場合、即ち第2ステータスエンプティ信号e2が
設定されたとき、前方セルストップ信号st2が、次のリ
ードステートメントの代わりに実行される。これはスト
ップブロックの入力に向かう矢印によって示される。co
フェーズの時刻5において第2リードステートメントre
を実行する代わりに、現在のデータステートは凍結す
る。
次のciフェーズ、即ち時刻6において、更に次のプロ
グラムの実行が第1ステータスエンプティ信号e1によっ
てのみ決定される。ステータスエンプティ信号e1が設定
されているとき、他の待ちループが実行される。信号e1
が設定されてないとき、リードステータスが実行され
る。
第2のリードステートメントには直接他のリードステ
ートメントが続くので、設定されていない第2ステータ
スエンプティ信号によって、スタートブロックではなく
リードブロックfreに帰還する。リードステートメント
が1つ以上続く限り、及び受信器バッファf2が少なくと
も2つのデータワードを含む限り、このループは終わら
ない。
送信側の連続するライト指示のモニタリング(monito
ring)は受信側の連続するリード指示のモニタリングに
一致する。ライトステートメントの実行サイクルを示す
フローチャートが第4図に示される。第3図のフローチ
ャートに対応するので詳細は示されていない。次の部分
が互いに対応する。即ち、リードステートメントreとラ
イトステートメントwr、第1ステータスエンプティ信号
e1と第1ステータスフル信号v2、リードステートメント
reの実行freとライトステートメントwrの実行fwr、及び
前方セルストップ信号st2と後方セルストップ信号st1。
第4図のフローチャートの基本的特徴は次の事実によ
って構成される。即ちライトステートメントwrが直接互
いに続く場合、第2ステータスフル信号v2が、第1ライ
トステートメントwrの実行fwr中であることを示すと
き、少なくとも1つの待ちループが挿入され、送信器バ
ッファf1内でただ1つのレジスタがデータを受信でき
る。送信器バッファf1内で更に他のエンプティロケーシ
ョンが利用できるとき、連続するライトステートメント
wrによって、ライトブロックfwrに帰還し、ライトブロ
ックfwrはcoフェーズの間にライトステートメントwrを
実行する。
第2図において、データ転送が単一クロック周期の間
に実行される通常の場合が時刻1と時刻4の間に示され
る。時刻5から時刻8への次のデータ転送は長い時間を
要する。なぜならば、データは後の時刻6において受信
され、受信器バッファf2は満杯だからである。このデー
タ転送の延長は意図されたものではない。
チップ領域を越えるデータ交換に役立つデータインタ
ーフェースの場合、高いクロックレートでデータ転送を
単一クロック内に実行するのは極めて難しい。このよう
なインターフェースを介したデータ転送レートを前記デ
ータ転送の半分又はそれ以上に慎重に減少することが、
プログラムの設計に考慮されなければならない。これを
達成するには2つの方法がある。
1.ポートをアクセスする2つの連続リードステートメン
トreの間に少なくとも1つのノップ命令(=ノーオペレ
ーション)を挿入する。又は、 2.送信側でハンドシェークポートが、ライトステートメ
ントwrを介して、クロックレートの高々1/2のレートで
駆動される。
送信側及び受信側で半分のクロックレートが平均デー
タ転送レートに参照されることによって更に改善するこ
とができる。その場合、ライト及びリードステートメン
トの直接的連続がある時間内に許容される。しかし、バ
ッファリング(buffering)は送信器又は受信器バッフ
ァf1、f2内の他のバッファレジスタreによって影響され
る。送信器バッファf1内の他のバッファレジスタriの所
定数は、ポートに対する連続ライトステートメントwrの
数に少なくとも一致する。
このような2経路データ転送装置の動作は、従って2
つのクロックc11、c12の位相又は周波数には関係なく保
証される。単一クロック周期では十分でない場合、特に
データ転送がチップ領域を越えて行われるとき、データ
転送の一時的範囲は、前述のステップによって任意に延
長される。データの十分なバッファリング及び各ポート
に対する減少した平均ライトレート及びリードレートの
みが必要となる。
このような2経路データ転送装置は、複数のセルを含
むデータ駆動アレイプロセッサ(data−driven array p
rocessor)に特に有効である。このデータ駆動アレイプ
ロセッサはそれらに隣接するセルと、又はチップ領域を
越えて、データを交換する。リアルタイム処理、特にビ
デオ信号処理を実行するようなアレイプロセッサは、例
えば125MHzまでの非常に高いクロックレートを必要とす
る。この発明による2経路データ転送装置によって大き
な処理深さ(processing depth)のデータ転送を実行で
きる。例えば12ビットバイナリ数による3アドレス命令
を単一クロック周期内で実行できる。同時に行われたヨ
ーロッパ特許出願(ITT case:U.Schmidt et al 1−2)
参照。このモノリシック(monolithic)集積アレイプロ
セッサはMIMD原則(MIMD=多重命令、多重データストリ
ーム:multiple−instructins,multipled−data−strea
m)に従って動作するので、様々のタスク(tasks)に広
く用いることができる。従って各セルがどれ程長く待ち
ステートにいなければならないかは予想できない。それ
らのデータソースdq及びデータシンクdsは従って静的又
は見掛け上静的な副回路とて設計され、任意な持続時間
のセルストップのとき、それら回路は各データステート
を維持する。ここで使用される“見掛け上の静的回路”
はダイナミック副回路を含み、ダイナミック副回路はリ
フレッシュサイクルを介して任意の持続時間の間、各ス
テートを維持する。
従ってデータ交換セルz1、z2にこのような静的又は見
掛上の静的回路を使用することは、どのくらい待ちステ
ートが持続するか予想できないとき、回路が複雑になる
のを防ぎ常に有効である。
第5図はこの発明によるバッファを使用したFIFOメモ
リの一実施例を示すブロック図である。図において、通
常のステータスエンプティ信号e、e1又はステータスフ
ル信号v、v1を供給する他に、第2ステータスエンプテ
ィ信号e2又は第2ステータスフル信号v2が考慮される。
これら全てのステータス信号は適切なデータメモリfiの
占有レベルに関係しており、データメモリfiは、例えば
前述したように8個の12ビットデータワードを保持する
ことができる。書き込まれるデータdiは、入力アンプiv
を介して供給され、読み出されるデータdoは出力アンプ
ovを介して読み出される。
データメモリfiの動作は次の通りである。
ライト信号wsによって制御されるライトポインタpwは
ライトアドレスを示し、このライトアドレスにデータワ
ードdiが書き込まれる。次のライト信号wsはライトアド
レスを1つインクリメントする。これはライトポインタ
pwが最初のアドレスに戻るまで続く。
同様に、リード信号rsはリードポインタprを介してリ
ードアドレスを決定する。2個のポインタの出力は8個
の中の1コードであり、8個のANDゲートによってライ
ト、リード、及びクロック信号に結合される。ライトポ
インタpwに関連する8個のANDゲートの中で、及びリー
ドポインタprに関連する8個のANDゲートの中で、第8AN
Dゲートuw8、及び第1ANDライトゲートur1のみが第5図
に示される。
リード信号wsは又、4ビットバイナリカウンタcbのカ
ウントアップ入力aufを制御し、バイナリカウンタcbの
カウントダウン入力abは、リード信号rsによってクロッ
ク入力される。ここで、第5図の左に示される表によれ
ばカウンタcbは、リード信号rs又はライト信号wsが供給
されたときにのみ、インクリメント又はデクリメントさ
れる。他の全ての場合、カウント値は保持される。初期
状態のとき、カウンタcb及び2つのポインタpw、prの全
てのビットは0に設定される。
カウンタcbの4つのビットは第5図の右に示される表
に従って、デコーダ(decoder)dec内でデコードされ
る。データメモリfiが空のとき、カウンタcbの4つのビ
ット全ては“0"に設定される。その場合、デコーダは第
1及び第2ステータスエンプティ信号e1、e2を設定す
る。データメモリfiが単一データワードを含む場合、カ
ウンタ出力信号のLSB(leasu signigicant bit)が設定
される。その場合デコーダdecは第2エンプティ信号e2
のみを設定する。
データメモリfi内で1つのレジスタを除き全てのレジ
スタが占有されているとき、即ち7個のレジスタが満杯
のとき、カウンタcdからのバイナリコード出力信号の値
は7である。その場合、デコーダは第2ステータスフル
信号v2のみを設定する。データメモリfiの8個のセル全
てが満杯でカウント値が8であれば、それによってデコ
ーダdecは第1及び第2ステータスフル信号v1、v2を設
定する。
他の全ての場合、即ちカウント2からカウント6ま
で、デコーダdecはどのステータス信号も設定しない。
第1ステータスエンプティ信号e1は第1図においてステ
ータスエンプティ信号eに対応し、第1ステータスフル
信号v1はステータスフル信号vに対応する。
同一のメモリアドレスが書き込まれ、同時に読み出さ
れるときに、2つのポインタpw、pr間の衝突を防ぐため
に、リードポインタprのクロック信号は、ラッチ(latc
h)la内でクロック周期の1/2の時間だけ遅延される。ラ
イト及びリード信号ws、rsはクロックのcoフェーズの間
に初期化され、一方、ラッチはcoフェーズ後の1/2クロ
ックだけリード信号rsを放出する。同様に16個のANDゲ
ート間の衝突は、8個のANDライトゲートをciフェーズ
にリンクさせ、8個のANDリードゲートをcoフェーズに
リンクさせることによって防止する。
【図面の簡単な説明】
第1図はこの発明の2経路データ転送装置の一実施例を
示し、バッファ、及び後方と前方のセルストップ信号が
含まれ、第2図はハンドシェーキングプロトコルのタイ
ミング図、第3図はリードステートメントの実行サイク
ルを示すフローチャート、第4図はライトステートメン
トの実行サイクルを示すフローチャート、第5図はこの
発明によるFIFOメモリの一実施例を示すブロック図。 dq……データソース、ds……データシンク、su1……送
信器シーケンシャル回路、su2……受信器シーケンシャ
ル回路、f1……送信器バッファ、f2……受信器バッフ
ァ、tp……ゲート/バッファ回路、dec……デコーダ、c
b……4ビットカウンタ、pw……ライトポインタ、pr…
…リードポインタ、iv……入力アンプ、fi……データメ
モリ、ov……出力アンプ。
フロントページの続き (72)発明者 トーマス・ヒンメル ドイツ連邦共和国、デー‐7832 ケンツ インゲン、ザンクト・ペーター・シュト ラーセ 12 (72)発明者 アルノルト・ウーレンホフ ドイツ連邦共和国、デー‐7830 エメン デインゲン、ヘルダーリンシュトラーセ 33 (58)調査した分野(Int.Cl.6,DB名) G06F 5/06

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】2個のデータ交換セル(z1,z2)のデータ
    インターフェースに用いられる2経路データ転送装置
    (=ハンドシェークポート)であって、前記セルは各々
    データソース(dq)及びデータシンク(ds)を有し、 データ転送を実施するのに適用されるハンドシェーキン
    グプロトコルを実行し、及び後方セルストップ信号(st
    1)及び前方セルストップ信号(st2)を供給する送信器
    シーケンシャル回路(su1)及び受信器シーケンシャル
    回路(su2)と、 前記第1セル(z1)及び前記第2セル(z2)内のデータ
    処理を各々同期させる第1クロック(cl1)及び第2ク
    ロック(cl2)と、 送信側の少なくとも1つのバッファ及び受信側の少なく
    とも1つのバッファと、ここで前記バッファは前記バッ
    ファが入力可能かどうか、即ちデータが無いかどうかを
    示すステータス信号を有し、 を具備し、 前記ハンドシェーキングプロトコルは前記第1及び第2
    クロック(cl1,cl2)の1クロック周期以内に実行可能
    であり、 前記受信側のバッファは受信器バッファ(f2)であり、
    前記受信器バッファ(f2)は少なくとも2個のバッファ
    レジスタ(r1,r2)を有し、第1ステータスエンプティ
    信号(e1)及び第2ステータスエンプティ信号(e2)を
    設定し、これら信号は受信器シーケンシャル回路(su
    2)に、全てのバッファレジスタ及び1つを除き全ての
    バッファレジスタが各々空であることを示し、 前記受信器バッファ(f2)は更にステータスフル信号
    (v;v1)を設定し、前記ステータスフル信号(v;v1)は
    前記受信器シーケンシャル回路(su2)に、全ての前記
    バッファレジスタが満杯であることを示し、 前記送信側のバッファは送信器バッファ(f1)であり、
    前記送信器バッファ(f1)は少なくとも2個のバッファ
    レジスタ(r1,r2)を有し、第1ステータスフル信号(v
    1)及び第2ステータスフル信号(v2)を設定し、これ
    ら信号は前記送信器シーケンシャル回路(su1)に、全
    てのバッファレジスタ及び1つを除き全てのバッファレ
    ジスタが各々満杯であることを示し、 前記送信器バッファは更にステータスエンプティ信号
    (e,e1)を設定し、前記ステータスエンプティ信号(e,
    e1)は前記送信器シーケンシャル回路(su1)に、全て
    の前記バッファレジスタが空であることを示し、 前記受信器バッファ(f2)からのデータワードの第1リ
    ードステートメントの後、前記第2ステータスエンプテ
    ィ信号(e2)が設定されていない場合、即座に第2リー
    ドステートメントが実行され、 第2ステータスエンプティ信号(e2)が設定されている
    場合、前記データシンク(ds)は前記前方セルストップ
    信号(st)によってその動作が停止し、それによって前
    記第2リードステートメントの実行な少なくとも1クロ
    ック周期だけ遅延され、 前記送信器バッファ(f1)へのデータワードの第1ライ
    トステートメントの後、前記第2ステータスフル信号
    (v2)が設定されていない場合、即座に第2ライトステ
    ートメントが実行され、 第2ステータスフル信号(v2)が設定されている場合、
    データソース(dq)は前記後方セルストップ信号(st
    1)によってその動作が停止し、それによって前記第2
    ライトステートメントの実行は少なくとも1クロック周
    期だけ遅延され、 前方及び後方セルストップ信号の後、前記第2ステータ
    スエンプティ信号(e2)又は第2ステータスフル信号
    (v2)は前記第2リードステートメント又はライトステ
    ートメントの実行に関して意味を持たないことを特徴と
    する2経路データ転送装置。
  2. 【請求項2】前記受信器バッファ(f2)及び/又は送信
    器バッファ(f1)少なくとも所定数の追加バッファレジ
    スタ(ri)を含み、異なる時間及び入力レートでデータ
    をバッファし、前記所定数に決定されるクロック周期内
    の前記時間及び入力レートは平均した場合に等しいこと
    を特徴とする請求項1記載の2経路データ転送装置。
  3. 【請求項3】チップの領域を越えてデータを交換する機
    能を果たすデータインターフェースの場合、前記ポート
    をアクセスするための2つの連続するライトステートメ
    ントの間に、少なくとも1つのノップ命令(=ノーオペ
    レーション)を挿入することによって、前記ハンドシェ
    ーキングプロトコルを変えることなく、前記データ転送
    は少なくとも2クロック周期だけ延長することができる
    ことを特徴とする請求項2記載の2経路データ転送装
    置。
  4. 【請求項4】チップの領域を越えてデータを交換する機
    能を果たすデータインターフェースの場合、前記クロッ
    クレートの高々1/2のレートのラストステートメントを
    介して前記送信側のポートを駆動することによって、前
    記ハンドシェーキングプロトコルを変えることなく、前
    記データ転送は少なくとも2クロック周期だけ延長する
    ことができることを特徴とする請求項2記載の2経路デ
    ータ転送装置。
  5. 【請求項5】前記送信器バッファ(f1)内の前記追加バ
    ッファ(ri)の所定数は、ポートへの連続するライトス
    テートメント(wr)の数に少なくとも一致し、前記ポー
    トは前記ライトステートメントを介して前記クロックレ
    ートの高々1/2の平均レートで駆動されることを特徴と
    する請求項2記載の2経路データ転送装置。
  6. 【請求項6】非同期にクロック入力される2つのセル間
    のデータ通信に用いられることを特徴とする請求項1記
    載の2経路データ転送装置。
  7. 【請求項7】前記データソース(dq)及び前記データシ
    ンク(ds)は静的又は見掛上静的な副回路を有し、前記
    副回路は任意持続時間のセルストップが生じたときに、
    それらの論理的ステートを維持することを特徴とする請
    求項1記載の2経路データ転送装置。
  8. 【請求項8】前記2経路データ転送装置は、隣接する各
    セル又は前記チップ領域を越えてデータを交換する複数
    のセルを有するデータ駆動・モノシリックデータアレイ
    プロセッサ内のデータインターフェースに用いられるこ
    とを特徴とする請求項1乃至7記載の2経路データ転送
    装置。
  9. 【請求項9】前記送信器バッファ(f1)及び前記受信器
    バッファ(f2)は、 n個の呼び出し可能レジスタを有するデータメモリ(f
    i)と、 ライト信号(ws)によって制御されるライトポインタ
    (pw)及びリード信号(rs)によって制御されるリード
    ポインタ(pr)と、ここで前記ライト及びリードポイン
    タは、co及びciフェーズにクロック入力され、 カウントアップ及びカウントダウン入力(auf,ab)に
    は、前記ライト信号(ws)及びリード信号(rs)が各々
    供給されるアップ/ダウンカウンタ(cb)と、及び 第1及び第2ステータスエンプティ信号(e1,e2)と、
    第1及び第2ステータスフル信号(v1,v2)を前記アッ
    プ/ダウンカウンタの値から発生するデコーダ(dec)
    を具備し、 前記ライト及びリードポインタ(pw,pr)及び前記アッ
    プ/ダウンカウンタ(cb)の計数容量は、前記データメ
    モリ(fi)の呼び出し可能レジスタの前記数nに等しい
    ことを特徴とする請求項2記載の2経路データ転送装
    置。
  10. 【請求項10】前記送信器バッファ(f1)内のバッファ
    レジスタの数は、前記データソース(dq)の動作を停
    止、又は開始するのに必要な同一時間長のクロック周期
    数に少なくとも等しく、 前記バッファレジスタのこの最小値において、送信器バ
    ッファ(f1)の占有レベルを示すステータス信号は必要
    ではないことを特徴とする請求項1記載の2経路データ
    転送装置。
JP2317596A 1989-11-21 1990-11-21 2経路データ転送装置 Expired - Fee Related JP2821552B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP89121507A EP0428771B1 (de) 1989-11-21 1989-11-21 Zweiwege-Datenübergabe-Einrichtung
EP89121507.1 1989-11-21

Publications (2)

Publication Number Publication Date
JPH03175848A JPH03175848A (ja) 1991-07-30
JP2821552B2 true JP2821552B2 (ja) 1998-11-05

Family

ID=8202145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2317596A Expired - Fee Related JP2821552B2 (ja) 1989-11-21 1990-11-21 2経路データ転送装置

Country Status (6)

Country Link
US (1) US5280584A (ja)
EP (1) EP0428771B1 (ja)
JP (1) JP2821552B2 (ja)
KR (1) KR0145321B1 (ja)
CN (1) CN1022723C (ja)
DE (1) DE58908975D1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0428770B1 (de) * 1989-11-21 1995-02-01 Deutsche ITT Industries GmbH Datengesteuerter Arrayprozessor
US5473755A (en) * 1992-06-01 1995-12-05 Intel Corporation System for controlling data stream by changing fall through FIFO last cell state of first component whenever data read out of second component last latch
US5335326A (en) * 1992-10-01 1994-08-02 Xerox Corporation Multichannel FIFO device channel sequencer
JPH06250970A (ja) * 1993-02-26 1994-09-09 Toshiba Corp メモリ制御装置
GB2289146B (en) * 1994-04-12 1998-09-09 Nokia Mobile Phones Ltd Buffering data
US5634043A (en) * 1994-08-25 1997-05-27 Intel Corporation Microprocessor point-to-point communication
US5710939A (en) * 1995-05-26 1998-01-20 National Semiconductor Corporation Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination
US5717954A (en) * 1995-10-13 1998-02-10 Compaq Computer Corporation Locked exchange FIFO
KR0176537B1 (ko) * 1995-10-14 1999-05-01 김광호 가변길이복호화기의 메모리 인터페이스방법 및 회로
US5905766A (en) * 1996-03-29 1999-05-18 Fore Systems, Inc. Synchronizer, method and system for transferring data
US6018465A (en) * 1996-12-31 2000-01-25 Intel Corporation Apparatus for mounting a chip package to a chassis of a computer
US6137688A (en) 1996-12-31 2000-10-24 Intel Corporation Apparatus for retrofit mounting a VLSI chip to a computer chassis for current supply
US6477584B1 (en) * 1997-03-21 2002-11-05 Lsi Logic Corporation Message FIFO empty early warning method
US5898876A (en) * 1997-03-21 1999-04-27 Apple Computer, Inc. Efficient arbitration within point-to-point ringlet-based computer systems
US6425032B1 (en) 1999-04-15 2002-07-23 Lucent Technologies Inc. Bus controller handling a dynamically changing mix of multiple nonpre-emptable periodic and aperiodic devices
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
DE10130797A1 (de) * 2001-06-26 2003-01-02 Infineon Technologies Ag Schnittstelle zur Datenübertragung
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7680834B1 (en) * 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US7904913B2 (en) * 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US7761632B2 (en) * 2007-04-27 2010-07-20 Atmel Corporation Serialization of data for communication with slave in multi-chip bus implementation
GB2450564B (en) 2007-06-29 2011-03-02 Imagination Tech Ltd Clock frequency adjustment for semi-conductor devices
US7594047B2 (en) * 2007-07-09 2009-09-22 Hewlett-Packard Development Company, L.P. Buffer circuit
GB2454865B (en) * 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
US9418110B1 (en) * 2008-06-30 2016-08-16 Emc Corporation Intelligent, scalable, low-overhead mechanism for data retrieval in a distributed network environment
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
CN111651136B (zh) * 2020-07-06 2023-06-30 Oppo广东移动通信有限公司 Fifo存储器、电子芯片及终端

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
NL7901156A (nl) * 1979-02-14 1980-08-18 Philips Nv Systeem voor het asynchroon transporteren van gegevens tussen aktieve deelinrichtingen.
DE3235243C2 (de) * 1982-09-23 1984-07-19 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung für einen universell einsetzbaren Pufferspeicher
US4592019A (en) * 1983-08-31 1986-05-27 At&T Bell Laboratories Bus oriented LIFO/FIFO memory
US4816993A (en) * 1984-12-24 1989-03-28 Hitachi, Ltd. Parallel processing computer including interconnected operation units
CA1257400A (en) * 1985-05-21 1989-07-11 Akihiro Sera Input/output control system
US4823312A (en) * 1986-10-30 1989-04-18 National Semiconductor Corp. Asynchronous communications element
US4935894A (en) * 1987-08-31 1990-06-19 Motorola, Inc. Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information
US4945548A (en) * 1988-04-28 1990-07-31 Digital Equipment Corporation Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US4888739A (en) * 1988-06-15 1989-12-19 Cypress Semiconductor Corporation First-in first-out buffer memory with improved status flags
US4866609A (en) * 1988-06-22 1989-09-12 International Business Machines Corporation Byte count handling in serial channel extender with buffering for data pre-fetch
US5155810A (en) * 1989-01-10 1992-10-13 Bull Hn Information Systems Inc. Dual FIFO peripheral with combinatorial logic circuitry

Also Published As

Publication number Publication date
CN1060377A (zh) 1992-04-15
DE58908975D1 (de) 1995-03-16
KR910010315A (ko) 1991-06-29
EP0428771B1 (de) 1995-02-01
US5280584A (en) 1994-01-18
EP0428771A1 (de) 1991-05-29
KR0145321B1 (ko) 1998-08-17
JPH03175848A (ja) 1991-07-30
CN1022723C (zh) 1993-11-10

Similar Documents

Publication Publication Date Title
JP2821552B2 (ja) 2経路データ転送装置
EP0476990B1 (en) Dynamic bus arbitration
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
JPH02232758A (ja) マルチプロセッサ用システム制御ユニットをインタフェースするための装置
JP4891405B2 (ja) バリア操作の条件付き伝搬のための方法および装置
US5271020A (en) Bus stretching protocol for handling invalid data
JPH036534B2 (ja)
WO1984004185A1 (en) Bus repeater
EP0242879B1 (en) Data processor with wait control allowing high speed access
US10120815B2 (en) Configurable mailbox data buffer apparatus
JP5230887B2 (ja) クロックフォワードシステムi/oのための効率的なクロック開始および停止装置
US5313586A (en) Co-processor de-coupling bus structure
JPH0677248B2 (ja) ピン数の少ない高性能バスインターフェイス
US6055559A (en) Process switch control apparatus and a process control method
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
KR20090016645A (ko) 컴퓨터의 입력을 모니터링하는 방법과 장치
JP2834298B2 (ja) データ処理装置及びデータ処理方法
JP3444933B2 (ja) バスウェイト機構を備えるデジタルコンピュータ装置
EP1242897B1 (en) Method and apparatus for differential strobing in a communications bus
JPS63184859A (ja) 共有メモリ転送装置
EP1416393B1 (en) Processor interface having a stream register and a FIFO
KR950008393B1 (ko) 멀티프로세스 시스템 아비터지연회로
JPH1055341A (ja) バスインタフェース制御方式
JP2004062311A (ja) 情報処理装置及びそのメモリ制御方法
Wirth et al. Interfaces Between Asynchronous Units

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080904

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees