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

2経路データ転送装置

Info

Publication number
JPH03175848A
JPH03175848A JP2317596A JP31759690A JPH03175848A JP H03175848 A JPH03175848 A JP H03175848A JP 2317596 A JP2317596 A JP 2317596A JP 31759690 A JP31759690 A JP 31759690A JP H03175848 A JPH03175848 A JP H03175848A
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.)
Granted
Application number
JP2317596A
Other languages
English (en)
Other versions
JP2821552B2 (ja
Inventor
Knut Caesar
クヌト・カエサル
Ulrich Schmidt
ウルリヒ・シュミット
Thomas Himmel
トーマス・ヒンメル
Arnold Uhlenhoff
アルノルト・ウーレンホフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TDK Micronas GmbH
Original Assignee
Deutsche ITT Industries GmbH
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 Deutsche ITT Industries GmbH filed Critical Deutsche ITT Industries GmbH
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
    • 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
    • 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
    • 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 2経路データ転送装置(=ハンドシェイクポート)は、
一方向又は二方向データ転送が、共通システムクロック
に同期して実行されない場合、及び/又は継続しない場
合に、相互通信データ・処理装置のデータインターフェ
ースに用いられる。
(従来の技術、及び発明が解決しようとする課題)前述
のようなポートの重要な機能はハンドシェキングプロト
コル(h a nd s h a k i n gpr
otoco1)の取扱いであり、ノ\ンドシェーキング
プロトコルは、送信器においてブタが実際に使用可能な
ときにのみ、及び受信器においては実際に受信準備が完
了したときにのみ送信されることが保証される。更に複
雑なシステムでは、これらの条件が常に達成されるとは
限らない。例えば、システムクロックは遅延差のために
比較的位相ずれを生じることがあり、このため正確なデ
ータ転送が保証されない。システムクロックの周波数が
高いほど、遅延差は決定的なものとなる。
より複雑なシステムにおける他の問題は、データワード
がいつ実際に利用可能なのか、即座に判断(概算)する
のが既に不可能であることである。
例えばこれは、内部遅延、及びデータ処理回路の処理時
間に依存しており、パイプラインを用いて並列処理が実
行される場合、このデータ処理時間を判断するのは更に
困難である。
“ワーブコンピュータ:その構造、導入、及び性能″ 
(The  Warp  Computer:Arch
irecture、Implement0 ation、  a  n d   Performa
ncepublished   in    IEEE
   Transactions   on   Co
mputersVo  1.  C−36,No、  
12.De c ember   1987.  pa
ge   152B   to   1538)におい
て、大規模コンピュータが説明され、ボードを挿入する
ことによって導入できるそのプロセッサモジュールはハ
ンドシェーキングプロトコルによってデータを交換する
。各プロセッモジュール間の通信は待ち行列を介して行
われる。待ち行列(−ファストインファストアウト=F
IFOメそり)が満杯又は空のとき、送信及び受信モジ
ュールは各々、待ち行列を介して再びデータ転送が可能
となるまでストップ信号によってブロックされる。なぜ
ならば、スロットは新しいデータについて、又は新しい
データが利用できるように設計されるからである。この
ようなデータ・駆動データ転送装置は、そのような複数
のインターフェースがデータ処理に関与している場合、
非常に有効である。従ってプログラマに対しては、1 全てのデータ処理が“透明”になる。
従って、この発明の目的は特許請求の範囲にあるように
、データソース(datasource)とそのデータ
ソースと非同期に動作するデータシンク(data  
5ink)の間のデータインターフェースに用いる2経
路データ転送装置を提供することである。
(課題を解決するための手段と作用) この発明の2経路データ転送装置において、ブタソース
はデータ転送に1クロック周期のみを必要とし、データ
転送は任意のクロック数に延長することができ、特にプ
ログラムの変更によって2クロックに延長することがで
き、又、データソスは不均一なデータの発生及びデータ
受信レト(rates)で送信されたデータをバッファ
する(buffering)手段を含み、データソース
の動作はバッファが満杯のときインタラブドされ(in
terrupted)、バッファが空のときデータシン
クの動作はインタラブドされる。
 2 (実施例及び効果) 本発明及び本発明の他の利点が図面を参照してこれより
詳細に説明される。第1図に示される2経路データ転送
装置(=ハンドシェークポート)は、2つのデータ交換
セルを含む。第1セルz1はデータ転送を実行し、第2
セルz2はデータの受信を実行する。第1及び第2セル
z1、z2の実際の信号処理回路は、データソースdq
として、及びデータシンクdsとして各々結合される。
データソースdqによって転送されたデータは送信器バ
ッファ(buffer)flにバッファされ、送信器バ
ッファf1は少なくとも第1バツフアレジスタr1及び
第2バツフアレジスタr2を有し、又必要であれば所定
数の追加バッファレジスタriを有する。従って、送信
器バッファはFIFOメモリ(ファストインファストア
ウトメモリ)である。FIFOメモリにはゲート/バッ
ファ回路tpが続き、ゲート/バッファ回路tpは送信
されるデータ、即ちデータdatのドライバ回路として
機能する。
3 受信器側で送信器バッファf1に対応する装置は受信器
バッファf2であり、受信器バッファf2は又FIFO
メモリとして構成される。送信側の単一バッファf1、
又は受信側の単一バッファf2によって、データシンク
ds又はデータソスdqは異なるデータ受信レート(r
 a t e)、又はデータ発生レートを短時間の間、
各々有することができる。補償期間が長いほど、送信側
又は受信側の利用できるバッファレジスタの数は大きく
なければならない。後に示されるように、ハンドシェー
キングプロトコルの実行フェーズ(execution
  phases)はデータソースdqを十分短時間に
不活性にすることができず、従って発生したデータはバ
ッファされなければならないので、送信側は少なくとも
2つのバッファレジスタを必要とする。
データ転送は送信器及び受信器のシーケンシャル回路s
u1,su2によって制御され、シーケンシャル回路s
u1,su2はハンドシェーキングプロトコルを用いて
データ転送を実行する。
4 データソースdqがライト信号wrを送信器シケンシャ
ル回路sulに送信し、それがデータワードを送信ポー
トに書き込む必要があることを示すとき、送信器シーケ
ンシャル回路sulは送信器バッファf〕が入力可能か
どうかチエ・ツクする。
即ち、空のバッファレジスタがあるかどうか、又は全て
のバッファレジスタが満杯かどうかチエ・ツクする。こ
の情報に関して送信器ノ<・ソファflu;!3つのス
テータス信号を供給する。即ち、1、全てのバッファレ
ジスタが満杯のとき、第1ステータスフル(statu
s  fu、11)信号■1.; 2.1つを除き全てのバ・ソファレジスタ力く満杯のと
き、第2ステータスフル信号 ■2 3、全てのバッファレジスタが空のとき、ステータスエ
ンプティ (emp t y)信号 el5 これらのステータス信号によって、次に示す送信器バッ
ファf1の占有レベルが提供される。
同様に、受信器バッファf2は次に示す3つの信号を供
給する。
1、全てのバッファレジスタが空のとき、第1ステータ
スエンプティ信号 el; 2.1つを除き全てのバッファレジスタが空のとき、第
2ステータスエンプティ信号 e2、及び、3゜ 全テのバッファレジスタが満杯のとき、ス  6 データスフル信号 データシンクdsからのリード信号は、データワードd
atがポートから読まれることを、受信器シーケンシャ
ル回路su2に示す。受信器バッファf2内のデータワ
ードの利用可能性又は不可能性は、前述の3つのステー
タス信号e1、e2、■によって信号送信される。
2つのシーケンシャル回路su1,su2の/Xランド
エーキングプロトコルに関するタイミング図が第2図に
示される。ノ1ンドシエーキングプロトコルは時刻1に
リクエスト信号reqによって開始し、この信号は受信
器シーケンシャル回路7 su2に、データフードdatが送信されたことを示す
。このデータワードの受信は時刻2にアクノリッジ信号
ackを設定することによって、送信器シーケンシャル
回路sulに示される。
送信器シーケンシャル回路sulにおいては、アクノリ
ッジ信号ackによって、リクエスト信号reqが時刻
3においてリセットされる。受信器シーケンシャル回路
では、このリクエストによってアクノリッジ信号は時刻
4においてキャンセルされる。第2図において、送信さ
れるデータdatは即座には受信されず、1クロックだ
け遅れて受信されることが、時刻5において想定される
。従ってアクノリッジ信号は1クロック周期だけ遅れて
、時刻6に設定される。ハンドシェーキングプロトコル
の残りの部分は、時刻7及び8において遅延なしに実行
される。そのときにのみ新しいデータ転送サイクルが開
始する。
この動作シーケンスを実行することによって、ハンドシ
ェーキングプロトコルの実行時間に関係なく、正確なデ
ータ転送が保証される。各回路を8 適切に設計することによって、ハンドシェーキングプロ
トコルは極めて高いクロックレート(clock  r
ate)であっても、1クロック周期以内に容易に実行
することができる。しかし、それらは例えば初期化フェ
ーズ及び実行フェーズを含んでいるために、制御シーケ
ンスが1クロック以上の周期を必要とする場合、セル制
御に関する問題が生じる。それらは後方及び前方ストッ
プ信号st1,st2を含み、それら信号はステータス
信号に依存する。なぜならば、ステータス信号の設定は
、それら信号の値を判断するクロック周期とは異なるク
ロック周期に行われるからである。それは例えば次のよ
うな場合である。即ち、アクノリッジ信号ackが受信
器シーケンシャル回路su2によってリセットされない
ため、及びアクノリッジ信号のリセットとデータソース
dqの不活性化の間に、回路による潜伏期間があるため
に、データソースdqが不活性化されなければならない
とき、データソースdqは更に1又は2クロック周期の
間、動作を続ける。その場合、9− データソースdqによって依然発生しているブタは、送
信側のバッファレジスタにバッファされなければならず
、アクノリッジ信号ackがリセットされてたときにの
み、放出されなければならない。それらバッファレジス
タの占有レベルを示すステータス信号は、データソース
の活性化が同数のクロック周期を必要とする場合、デー
タソスdqを不活性化する必要はない。
2つのリードステートメントreが直接に連続する一方
、1つのデータワードのみが受信器バッファf2で利用
できる場合も同様である。ここで第2リードステートメ
ントは設定されないステタスエンプティ信号を発見し、
受信器バッファf2が1個のデータワードを含むと仮定
することがあるが、それはすでに前述の場合ではない。
同様な動作は2つのライトステートメントwrが互いに
直接連続するとき、送信器シーケンシャル回路sulに
おいても行われ、シーケンシャル回路sulは4第1ラ
イトステートメントで1つのレジスタのみが送信器バッ
ファfl内で利用で0 きるとき、送信器バッファf1が満杯であることを非常
に遅れて認識する。送信器シーケンシャル回路sulか
らの後方セルストップ信号によるデータソースdqの不
活性化は、従って1クロック遅れるようになり、それに
よってデータソースdqの1データワードは、メモリが
満杯であるために失われる。
受信器シーケンシャル回路su2からの前方セルストッ
プ信号st2によるデータシンクdsの不活性化も又、
1クロック遅れるようになり、それによってデータシン
クdsは空のバッファf2を読む。
この発明はこれらの対策として、送信器及び受信器バッ
ファf1,f2は追加ステータス信号、′即ち第2ステ
ータスフル信号v2及び第2ステータスエンプティ信号
e2によって各々堅実にモニタされる。このようにして
、例外的に長い制御シーケンスの初期化が予め設定され
る。衝突の原因となるクリティカルな制御ステートメン
トの代わりに、短い制御ステートメントが実行される場
合、1 この初期化の中止は勿論いかなる遅延も生じてはならな
い。
これを説明するために、第3図はリードステートメント
reの実行サイクルを示すフローチャトである。長方形
はステートメントが実行されていることを示し、これは
クロックc12のCoフェーズに実行される。六角形は
ciフェーズに間に関連する条件と伴に読まれるステー
トメントを示す。実行は次のcoフェーズの間に行われ
る。
これらの条件はフローチャートのy e s / n 
o判断によって示される。これら条件信号の設定はクロ
ックc12のciフェーズに間に行われる。
フローチャートは、ここで“スタート”と呼ばれる任意
のステートメントの実行によって、c。
フェーズの時刻1に開始される。時刻2、即ちciフェ
ーズに間、次のプログラムステートメント及び条件とし
ての第1ステータスエンプティ信号e1がロード(lo
ad)される。このステートメントがリードステートメ
ントreではないとき、通常のステートメントの中の一
つが実行され2 る。これはスタートステートメントの入力に向かう矢印
によって示される。ステートメントがリートステートメ
ントreのとき、動作シーケンスは第1ステータスエン
プティ信号e1のステートに依存する。この信号がO”
即ち設定されていないとき、リードステートメントre
は次のCoフェーズの間に実行される。これはフローチ
ャートのリードブロックfreによって示され、時刻3
に実行される。
第1ステータスエンプティ信号e]が“1”に設定され
ることによって示されるように、受信器バッファf2が
空であれば、データシンクds内の信号処理は停止され
る。これはフロオーチャートのブロック“ストップ”に
よって示され、前方セルストップ信号st2を伴う。こ
のステートが開始されたとき、Coフェーズ中のデータ
シンクds内のデータ処理のステートは“凍結”のまま
である。この凍結は受信器バッファf2からの第1ステ
ータスエンプティ信号e1がリセ・ントされるまで、即
ちステート“O“を仮定するまで維持3 される。第1ステータスエンプティ信号e1に依存して
、新しい待ちループ又はリードステートメントの実行は
ciフェーズに間に開始される。第1ステータスエンプ
ティ信号e1が設定されていないとき、矢印は従って時
刻3に、リードプロ・ツクfreを指す。
このリードステートメントreの実行freは次のステ
ートメントに関して、次に示す準備を開始する。第2ス
テータスエンプティ信号e2は受信器バッファf2から
受信器シーケンシャル回路su2に転送され、シーケン
シャル回路su2内では次に示す条件機能が導入される
1、次のステー トメントがリードステートメントre
ではない場合、このステートメントは実行され、これは
フローチャートのスタートブロックに戻る部分によって
示される。
2、次のステートメントがリードステートメントreの
場合、第2ステータスエンプティ信号e24 が設定されていないとき、即ち信号e2が0″のときに
のみ、それは実行される。他の場合、即ち第2ステータ
スエンプティ信号e2が設定されたとき、前方セルスト
ップ信号st2か、次のリドステートメントの代わりに
実行される。これはストップブロックの入力に向かう矢
印によって示される。Coフェーズの時刻2において第
2リードステートメントreを実行する代わりに、現在
のデータステートは凍結する。
次のciフェーズに即ち時刻6において、更に次のプロ
グラムの実行が第1ステータスエンプティ信号e1によ
ってのみ決定される。ステータスエンプティ信号e1が
設定されているとき、他の待ちループが実行される。信
号e]が設定されてないとき、リードステータスが実行
される。
第2リードステートメントには直接能のリードステート
メントが続くので、設定されていない第2ステータスエ
ンプティ信号によって、スタートブロックではなくリー
ドブロックfreに帰還する。リードステートメントが
1つ以上続く限り、5 及び受信器バッファf2が少なくとも2つのデータワー
ドを含む限り、このループは終わらない。
送信側の連続するライト指示のモニタリング(moni
toring)は受信側の連続するリード指示のモニタ
リングに一致する。ライトステトメントの実行サイクル
を示すフローチャートが第4図に示される。第3図のフ
ローチャートに対応するので詳細は示されない。次の部
分が互いに対応する。即ち、リードステートメントre
とライトステートメントw r 、第1ステータスエン
プティ信号e1と第1ステータスフル信号v2、リード
ステートメントreの実行freとライトステートメン
トwrの実行fwr、及び前方セルストップ信号st2
と後方セルストップ信号stl。
第4図のフローチャートの基本的特徴は次の事実によっ
て構成される。即ち、ライトステートメントwrが直接
互いに続く場合、第2ステータスフル信号v2が、第1
ライトステートメントwrの実行f w r中であるこ
とを示すとき、少なくと6 も1つの待ちループが挿入され、送信器バッファf1内
でただ1つのレジスタがデータを受信できる。送信器バ
ッファfl内で更に他のエンプティロケーションが利用
できるとき、連続するライトステートメントwrによっ
て、ライトブロックfwrに帰還し、ライトブロックf
wrはc。
フェーズの間にライトステートメントwrを実行する。
第2図において、データ転送が単一クロック周期の間に
実行される通常の場合が、時刻1と時刻4の間に示され
る。時刻5から時刻8への次のデータ転送は長い時間を
要する。なぜならば、ブタは後の時刻6において受信さ
れ、受信器バッファf2は満杯だからである。このデー
タ転送の延長は意図されたものではない。
チップ領域を越えるデータ交換に役立つデータインター
フェースの場合、高いクロックレートでデータ転送を単
一クロック内に実行するのは極めて難しい。このような
インターフェースを介したデータ転送レートを前記デー
タ転送の半分又はそ 7 れ以下に慎重に減少することが、プログラムの設計に考
慮されなければならない。これを達成するには2つの方
法がある。
1、ポートをアクセスする2つの連続リードレートメン
トreの間に少なくとも1つのノツプ命令(=ノーオペ
レーション)を挿入する。又は、2、送信側でハンドシ
ェークポートが、ライトステートメントW「を介して、
クロックレートの高々1/2のレートで駆動される。
送信側及び受信側で半分のクロックレートが平均データ
転送レートに参照されることによって更に改善すること
ができる。その場合、ライト及びリードステートメント
の直接的連続がある時間内に許容される。しかし、バッ
ファリング(buffering)は送信器又は受信器
バッファf1,f2内の他のバッファレジスタreによ
って影響される。送信器バッファf1内の他の8 バッファレジスタriの所定数は、ポートに対する連続
ライトステートメントwrの数に少なくとも一致する。
このような2経路データ転送装置の動作は、従9て2つ
のクロックc’l1,c12の位相又は周波数には関係
なく保証される。単一クロック周期では十分ではない場
合、特にデータ転送がチップ領域を越えて行われるとき
、データ転送の一時的範囲は、前述のステップによって
任意に延長される。データの十分なバッファリング及び
各ポートに対する減少した平均ライトレート及びリード
レートのみが必要となる。
このような2経路データ転送装置は、複数のセルを含む
データ駆動アレイプロセッサ(data−driven
  arrayproce・5SOr)に特に有効であ
る。このデータ駆動アレイプロセッサはそれらに隣接す
るセルと、又はチップ領域を越えて、データを交換する
。リアルタイム処理、特にビデオ信号処理を実行するこ
のようなアレイプロセッサは、例えば19 25 M Hzまでの非常に高いクロックレートを必要
とする。この発明による2経路データ転送装置によって
大きな処理深さ(processingdepth)の
データ転送を実行できる。例えば12ビツトバイナリ数
による3アドレス命令を単一クロック周期内で実行でき
る。同時に行われたヨーロッパ特許出願(ITT  c
ase:U。
Schmidt  et  ml  1−2)参照。こ
のモノリシック(monol i thic)集積アレ
イプロセッサはMIMD原則(M I MD−多重命令
、多重データストリーム:multiple−Lnst
ructLon、multiple−data−str
eam)に従って動作するので、様々のタスク(tas
ks)に広く用いることができる。従って各セルがどれ
程長く待ちステートにいなければならないかは予想でき
ない。それらのデータソースdQ及びデータシンクds
は従って静的又は見掛は上静的な副回路として設計され
、任意な持続時間のセルストップのとき、それら回路は
各データステートを維持する。ここで使用さ 0 れる“見掛は上の静的回路”はダイナミック副回路を含
み、ダイナミック副回路はリフレッシュザイクルを介し
て任意の持続時間の間、各ステートを維持する。
従ってデータ交換セルz1,z2にこのような静的又は
見掛」二の静的回路を使用することは、どのくらい待ち
ステートが持続するか予想できないとき、回路が複雑に
なるのを防ぎ常に有効である。
第5図はこの発明によるバッファを使用したFIFOメ
モリの一実施例を示すブロック図である。図において、
通常のステータスエンプティ信号e、el又はステータ
スフル信号v、v1を供給する他に、第2ステータスエ
ンプティ信号e2又は第2ステータスフル信号v2が考
慮される。
これら全てのステータス信号は適切なデータメモリft
の占有レベルに関係しており、データメモリfiは、例
えば前述したように8個の12ビツトデータワードを保
持することができる。書き込まれるデータdiは、入力
アンプivを介して供給され、読み出されるデータdo
は出力アンプ1 ovを介して読み出される。
データメモリfiの動作は次の通りである。
ライト信号wsによって制御されるライトポインタpw
はライトアドレスを示し、このライトアドレスにデータ
ワードdiが書き込まれる。次のライト信号WSはライ
トアドレスを1つインクリメントする。これはライトポ
インタpwが最初のアドレスに戻るまで続く。
同様に、リード信号rsはリードポインタprを介して
リードアドレスを決定する。2個のポインタの出力は8
個の中の1コードであり、8個のANDゲートによって
ライト、リード、及びクロック信号に結合される。ライ
トポインタpwに関連する8個のANDゲートの中で、
及びリードポインタprに関連する8個のANDゲート
の中で、第8ANDゲートu w 8、及び第1AND
ライトゲートurlのみが第5図に示される。
リード信号WSは又、4ビツトバイナリカウンタcbの
カウントアツプ入力aufを制御し、バイナリカウンタ
cbのカウントダウン人力abは、2 リード信号rsによってクロック入力される。ここで、
第5図の左に示される表によればカウンタcbは、リー
ド信号rs又はライト信号wsが供給されたときにのみ
、インクリメント又はデクリメントされる。他の全ての
場合、カウント値は保持される。初期状態のとき、カウ
ンタcb及び2つのポインタpw、prの全てのビット
は0に設定される。
カウンタcbの4つのビットは第5図の右に示される表
に従って、デコーダ(decoder)dec内でデコ
ードされる。データメモリfiが空のとき、カウンタc
bの4つのビット全ては“0“に設定される。その場合
、デコーダは第1及び第2ステータスエンプティ信号e
1、e2を設定する。データメモリfiが単一データワ
ードを含む場合、カウンタ出力信号のLSB(leas
u  signigicant  bit)が設定され
る。その場合、デコーダdecは第2エンプテイ信号e
2のみを設定する。
データメモリfi内で1つのレジスタを除き全3 てのレジスタが占有されているとき、即ち7個のレジス
タが満杯のとき、カウンタcdからのバイナリコード出
力信号の値は7である。その場合、デコーダは第2ステ
ータスフル信号v2のみを設定する。データメモリfi
の8個のセル全てが満杯でカウント値が8であれば、そ
れによってデコーダdecは第1及び第2ステータスフ
ル信号v1、■2を設定する。
他の全ての場合、即ちカウント2からカウント6まで、
デコーダdecはどのステータス信号も設定しない。第
1ステータスエンプティ信号e1は第1図においてステ
ータスエンプティ信号eに対応し、第1ステータスフル
信号v1はステータスフル信号Vに対応する。
同一のメモリアドレスが書き込まれ、同時に読み出され
るときに、2つのポインタpw、pr間の衝突を防ぐた
めに、リードポインタprのクロック信号は、ラッチ(
latch)la内でクロック周期の]/2の時間だけ
遅延される。ライト及びリード信号WS、rsはクロッ
クのCO4 フェーズの間に初期化され、一方、ラッチはc。
フェーズの後の1/2クロックだけリード信号rsを放
出する。同様に16個のANDN−ゲート間突は、8個
のANDライトゲートをciフェズにリンクさせ、8個
のANDリードゲートをCOフェーズにリンクさせるこ
とによって防止す冬。
【図面の簡単な説明】
第1図はこの発明の2経路データ転送装置の一実施例を
示し、バッファ、及び後方と前方のセルストップ信号が
含まれ、第2図はハンドシェーキングプロトコルのタイ
ミング図、第3図はリードステートメントの実行サイク
ルを示すフローチャート、第4図はライトステートメン
トの実行サイクルを示すフローチャート、第5図はこの
発明によるFIFOメモリの一実施例を示すブロック図
。 dq・・・データソース、ds・・・データシンク、s
ul・・・送信器シーケンシャル回路、SL+2・・・
受 5 信器シーケンシャル回路、fl・・・送信器バッファ、
f2−・・・受信器バッファ、tp・・・ゲート/バッ
ファ回路、dec・・・デコーダ、Cb・・4ビツトカ
ウンタ、pw・・ライトポインタ、pr・・・リードポ
インタ、fv・・・入力アンプ、fi・・・データメモ
リ、ov・・・出力アンプ。

Claims (10)

    【特許請求の範囲】
  1. (1)2個のデータ交換セル(z1,z2)のデータイ
    ンターフェースに用いられる2経路データ転送装置(=
    ハンドシェークポート)であって、前記セルは各々デー
    タソース(dq)及びデータシンク(ds)を有し、 データ転送を実施するのに適用されるハンドシェーキン
    グプロトコルを実行し、及び後方セルストップ信号(s
    t1)及び前方セルストップ信号(st2)を供給する
    送信器シーケンシャル回路(su1)及び受信器シーケ
    ンシャル回路(su2)と、 前記第1セル(z1)及び前記第2セル (z2)内のデータ処理を各々同期させる第1クロック
    (c11)及び第2クロック(c12)と、を具備し、 前記ハンドシェーキングプロトコルは前記第1及び第2
    クロック(c11,c12)の1クロック周期以内に実
    行可能であり、 前記受信側のバッファは受信器バッファ (f2)であり、前記受信器バッファ(f2)は少なく
    とも2個のバッファレジスタ(r1,r2)を有し、第
    1ステータスエンプティ信号(e1)及び第2ステータ
    スエンプティ信号(e2)を設定し、これら信号は受信
    器シーケンシャル回路(su2)に、全てのバッファレ
    ジスタ及び1つを除き全てのバッファレジスタが各々空
    であることを示し、 前記受信器バッファ(f2)は更にステータスフル信号
    (v;v1)を設定し、前記ステータスフル信号(v;
    v1)は前記受信器シーケンシャル回路(su2)に、
    全ての前記バッファレジスタが満杯であることを示し、 前記送信側のバッファは送信器バッファ (f1)であり、前記送信器バッファ(f1)は少なく
    とも2個のバッファレジスタ(r1,r2)を有し、第
    1ステータスフル信号(v1)及び第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ステータスフル信号(v
    2)が設定されている場合、データソース(dq)は前
    記後方セルストップ信号(st1)によってその動作が
    停止し、それによって前記第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
EP89121507.1 1989-11-21
EP89121507A EP0428771B1 (de) 1989-11-21 1989-11-21 Zweiwege-Datenübergabe-Einrichtung

Publications (2)

Publication Number Publication Date
JPH03175848A true JPH03175848A (ja) 1991-07-30
JP2821552B2 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
US5898876A (en) * 1997-03-21 1999-04-27 Apple Computer, Inc. Efficient arbitration within point-to-point ringlet-based computer systems
US6477584B1 (en) * 1997-03-21 2002-11-05 Lsi Logic Corporation Message FIFO empty early warning method
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
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 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
JP2821552B2 (ja) 1998-11-05
CN1060377A (zh) 1992-04-15
EP0428771A1 (de) 1991-05-29
EP0428771B1 (de) 1995-02-01
CN1022723C (zh) 1993-11-10
KR910010315A (ko) 1991-06-29
DE58908975D1 (de) 1995-03-16
US5280584A (en) 1994-01-18
KR0145321B1 (ko) 1998-08-17

Similar Documents

Publication Publication Date Title
JPH03175848A (ja) 2経路データ転送装置
EP0476990B1 (en) Dynamic bus arbitration
US6209072B1 (en) Source synchronous interface between master and slave using a deskew latch
US7096296B2 (en) Supercharge message exchanger
EP0380856A2 (en) Method and apparatus for interfacing a system control unit for a multi-processor
JP4891405B2 (ja) バリア操作の条件付き伝搬のための方法および装置
JPH036534B2 (ja)
US20060259669A1 (en) Latency insensitive FIFO signaling protocol
JP2008532169A (ja) 共有されたリソースを調停するための電子装置及び方法
JP3709040B2 (ja) 非同期データ処理装置
US5313620A (en) Selective receiver for each processor in a multiple processor system
US20160371200A1 (en) Configurable Mailbox Data Buffer Apparatus
JP2004506975A (ja) クロックフォワードシステムi/oのための効率的なクロック開始および停止装置
JP4404637B2 (ja) 局所同期回路間の情報交換
US5692137A (en) Master oriented bus bridge
US10374981B1 (en) Data transfer circuitry given multiple source elements
KR100337059B1 (ko) 탄성 버스 인터페이스 데이터 버퍼
US6510477B2 (en) Bus system
KR100593787B1 (ko) 통신 버스에서의 차동 스트로빙 방법 및 장치
JP3444933B2 (ja) バスウェイト機構を備えるデジタルコンピュータ装置
JPS63184859A (ja) 共有メモリ転送装置
KR0162768B1 (ko) 하이파이 플러스 버스에서 인터럽트 처리기의 대기열 동기 제어회로
JP2004062311A (ja) 情報処理装置及びそのメモリ制御方法
JP2001060182A (ja) 情報処理装置、ならびに、そのデータ転送方法およびインタフェイス
JP2000187641A (ja) 情報伝達回路

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (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