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
Links
- 238000012546 transfer Methods 0.000 title claims description 45
- 239000000872 buffer Substances 0.000 claims description 84
- 238000012545 processing Methods 0.000 claims description 14
- 230000003068 static effect Effects 0.000 claims description 7
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002779 inactivation Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011534 incubation Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- 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
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)の取扱いであ
り、ハンドシェーキングプロトコルは、送信器において
でデータが実際に使用可能なときにのみ、及び受信器に
おいては実際に受信準備が完了したときにのみ送信され
ることが保証される。更に複雑なシステムでは、これら
の条件が常に達成されるとは限らない。例えば、システ
ムクロックは遅延差のために比較的位相ずれを生じるこ
とがあり、このため正確なデータ転送が保証されない。
システムクロックの周波数が高いほど、遅延差は決定的
なものとなる。
グプロトコル(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メモリ)が満杯又は空のと
き、送信及び受信モジュールは各々、待ち行列を介して
再びデータ転送が可能となるまでストップ信号によって
ブロックされる。なぜならば、スロットは新しいデータ
について、又は新しいデータが利用できるように設計さ
れるからである。このようなデータ・駆動データ転送装
置は、そのような複数のインターフェースがデータ処理
に関与している場合、非常に有効である。従ってプログ
ラマに対しては、全てのデータ処理が“透明”になる。
能”(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経路データ転送装置
を提供することである。
に、データソース(data source)とそのデータソース
と非同期に動作するデータシンク(data sink)の間の
データインターフェースに用いる2経路データ転送装置
を提供することである。
(課題を解決するための手段と作用) この発明の2経路データ転送装置において、データソ
ースはデータ転送に1クロック周期のみを必要とし、デ
ータ転送は任意のクロック数に延長することができ、特
にプログラムの変更によって2クロックに延長すること
ができ、又、データソースは不均一なデータの発生及び
データ受信レート(rates)で送信されたデータをバッ
ファする(buffering)手段を含み、データソースの動
作はバッファが満杯のときインタラプトされ(interrup
ted)、バッファが空のときはデータシンクの動作はイ
ンタラプトされる。
ースはデータ転送に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のドラ
イバ回路として機能する。
り詳細に説明される。第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つのバッファレジスタを必要とする。
バッファ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の占有レベルが提供される。
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。
エンプティ信号 e1; 2.1つを除き全てのバッファレジスタが空のとき、第2
ステータスエンプティ信号 e2、及び、 3.全てのバッファレジスタが満杯のとき、ステータスフ
ル信号 v。
データシンクdsからのリード信号は、データワードda
tがポートから読まれることを、受信器シーケンシャル
回路su2に示す。受信器バッファf2内のデータワードの
利用可能性又は不可性能は、前述の3つのステータス信
号e1、e2、vによって信号送信される。
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において遅延
なしに実行される。そのときにのみ新しいデータ転送サ
イクルが開始する。
ングプロトコルに関するタイミング図が第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を不活性化す
る必要はない。
シェーキングプロトコルの実行時間に関係なく、正確な
データ転送が保証される。各回路を適切に設計すること
によって、ハンドシェーキングプロトコルは極めて高い
クロックレート(clock rate)であっても、1クロック
周期以内に容易に実行することができる。しかし、それ
らは例えば初期化フェーズ及び実行フェーズを含んでい
るために、制御シーケンスが1クロック以上の周期を必
要とする場合、セル制御に関する問題が生じる。それら
は後方及び前方ストップ信号st1、st2を含み、それら信
号はステータス信号に依存する。なぜならば、ステータ
ス信号の設定は、それら信号の値を判断するクロック周
期とは異なるクロック周期に行われるからである。それ
は例えば次のような場合である。即ち、アクノリッジ信
号ackが受信器シーケンシャル回路su2によってリセット
されないため、及びアクノリッジ信号のリセットとデー
タソースdqの不活性化の間に、回路による潜伏期間があ
るために、データソースdqが不活性されなければならな
いとき、データソースdqは更に1又は2クロックの周期
の間、動作を続ける。その場合、データソースdqによっ
て依然発生しているデータは、送信側のバッファレジス
タにバッファされなければならず、アクノリッジ信号ac
kがリセットされてたときにのみ、放出されなければな
らない。それらバッファレジスタの占有レベルを示すス
テータス信号は、データソースの活性化が同数のクロッ
ク周期を必要とする場合、データソースdqを不活性化す
る必要はない。
2つのリードステートメントreが直接に連続する一
方、1つのデータワードのみが受信器バッファf2で利用
できる場合も同様である。ここで第2リードステートメ
ントは設定されないステータスエンプティ信号を発見
し、受信器バッファf2が1個のデータワードを含むと仮
定することがあるが、それはすでに前述の場合ではな
い。
方、1つのデータワードのみが受信器バッファf2で利用
できる場合も同様である。ここで第2リードステートメ
ントは設定されないステータスエンプティ信号を発見
し、受信器バッファf2が1個のデータワードを含むと仮
定することがあるが、それはすでに前述の場合ではな
い。
同様な動作は2つのライトステートメントwrが互いに
直接連続するとき、送信器シーケンシャル回路su1にお
いても行われ、シーケンシャル回路su1は4第1ライト
ステートメントで1つのレジスタのみが送信器バッファ
f1内で利用できるとき、送信器バッファf1が満杯である
ことを非常に遅れて認識する。送信器シーケンシャル回
路su1からの後方セルストップ信号によるデータソースd
qの不活性化は、従って1クロック遅れるようになり、
それによってデータソースdqの1データワードは、メモ
リが満杯であるために失われる。
直接連続するとき、送信器シーケンシャル回路su1にお
いても行われ、シーケンシャル回路su1は4第1ライト
ステートメントで1つのレジスタのみが送信器バッファ
f1内で利用できるとき、送信器バッファf1が満杯である
ことを非常に遅れて認識する。送信器シーケンシャル回
路su1からの後方セルストップ信号によるデータソースd
qの不活性化は、従って1クロック遅れるようになり、
それによってデータソースdqの1データワードは、メモ
リが満杯であるために失われる。
受信器シーケンシャル回路su2からの前方セルストッ
プ信号st2によるデータシンクdsの不活性化も又、1ク
ロック遅れるようになり、それによってデータシンクds
は空のバッファf2を読む。
プ信号st2によるデータシンクdsの不活性化も又、1ク
ロック遅れるようになり、それによってデータシンクds
は空のバッファf2を読む。
この発明はこれらの対策として、送信器及び受信器バ
ッファf1、f2は追加ステータス信号、即ち第2ステータ
スフル信号v2及び第2ステータスエンプティ信号e2によ
って各々堅実にモニタされる。このようにして、例外的
に長い制御シーケンスの初期化が予め設定される。衝突
の原因となるクリティカルな制御ステートメントの代わ
りに、短い制御ステートメントが実行される場合、この
初期化の中止は勿論いかなる遅延も生じてはならない。
ッファf1、f2は追加ステータス信号、即ち第2ステータ
スフル信号v2及び第2ステータスエンプティ信号e2によ
って各々堅実にモニタされる。このようにして、例外的
に長い制御シーケンスの初期化が予め設定される。衝突
の原因となるクリティカルな制御ステートメントの代わ
りに、短い制御ステートメントが実行される場合、この
初期化の中止は勿論いかなる遅延も生じてはならない。
これを説明するために、第3図はリードステートメン
トreの実行サイクルを示すフローチャートである。長方
形はステートメントが実行されていることを示し、これ
はクロックc12のcoフェーズに実行される。六角形はci
フェーズの間に関連する条件と伴に読まれるステートメ
ントを示す。実行は次のcoフェーズの間に行われる。こ
れらの条件はフローチャートのyes/no判断によって示さ
れる。これら条件信号の設定はクロックc12のciフェー
ズの間に行われる。
ト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に実行される。
意のステートメントの実行によって、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を指す。
ことによって示されるように、受信器バッファf2が空で
あれば、データシンクds内の信号処理は停止される。こ
れはフロオーチャートのブロック“ストップ”によって
示され、前方セルストップ信号st2を伴う。このステー
トが開始されたとき、coフェーズ中のデータシンクds内
のデータ処理のステートは“凍結”のままである。この
凍結は受信器バッファf2からの第1ステータスエンプテ
ィ信号e1がリセットされるまで、即ちステート“0"を仮
定するまで維持される。第1ステータスエンプティ信号
e1に依存して、新しい待ちループ又はリードステートメ
ントの実行はciフェーズの間に開始される。第1ステー
タスエンプティ信号e1が設定されていないとき、矢印は
従って時刻3に、リードブロックfreを指す。
このリードステートメントreの実行freは次のステー
トメントに関して、次に示す準備を開始する。第2ステ
ータスエンプティ信号e2は受信器バッファf2から受信器
シーケンシャル回路2に転送され、シーケンシャル回路
su2内では次に示す条件機能が導入される。
トメントに関して、次に示す準備を開始する。第2ステ
ータスエンプティ信号e2は受信器バッファf2から受信器
シーケンシャル回路2に転送され、シーケンシャル回路
su2内では次に示す条件機能が導入される。
1.次のステートメントがリードステートメントreではな
い場合、このステートメントは実行され、これはフロー
チャートのスタートブロックに戻る部分によって示され
る。
い場合、このステートメントは実行され、これはフロー
チャートのスタートブロックに戻る部分によって示され
る。
2.次のステートメントがリードステートメントreの場
合、第2ステータスエンプティ信号e2が設定されていな
いとき、即ち信号e2が“0"のときのみ、それは実行され
る。他の場合、即ち第2ステータスエンプティ信号e2が
設定されたとき、前方セルストップ信号st2が、次のリ
ードステートメントの代わりに実行される。これはスト
ップブロックの入力に向かう矢印によって示される。co
フェーズの時刻5において第2リードステートメントre
を実行する代わりに、現在のデータステートは凍結す
る。
合、第2ステータスエンプティ信号e2が設定されていな
いとき、即ち信号e2が“0"のときのみ、それは実行され
る。他の場合、即ち第2ステータスエンプティ信号e2が
設定されたとき、前方セルストップ信号st2が、次のリ
ードステートメントの代わりに実行される。これはスト
ップブロックの入力に向かう矢印によって示される。co
フェーズの時刻5において第2リードステートメントre
を実行する代わりに、現在のデータステートは凍結す
る。
次のciフェーズ、即ち時刻6において、更に次のプロ
グラムの実行が第1ステータスエンプティ信号e1によっ
てのみ決定される。ステータスエンプティ信号e1が設定
されているとき、他の待ちループが実行される。信号e1
が設定されてないとき、リードステータスが実行され
る。
グラムの実行が第1ステータスエンプティ信号e1によっ
てのみ決定される。ステータスエンプティ信号e1が設定
されているとき、他の待ちループが実行される。信号e1
が設定されてないとき、リードステータスが実行され
る。
第2のリードステートメントには直接他のリードステ
ートメントが続くので、設定されていない第2ステータ
スエンプティ信号によって、スタートブロックではなく
リードブロックfreに帰還する。リードステートメント
が1つ以上続く限り、及び受信器バッファf2が少なくと
も2つのデータワードを含む限り、このループは終わら
ない。
ートメントが続くので、設定されていない第2ステータ
スエンプティ信号によって、スタートブロックではなく
リードブロックfreに帰還する。リードステートメント
が1つ以上続く限り、及び受信器バッファf2が少なくと
も2つのデータワードを含む限り、このループは終わら
ない。
送信側の連続するライト指示のモニタリング(monito
ring)は受信側の連続するリード指示のモニタリングに
一致する。ライトステートメントの実行サイクルを示す
フローチャートが第4図に示される。第3図のフローチ
ャートに対応するので詳細は示されていない。次の部分
が互いに対応する。即ち、リードステートメントreとラ
イトステートメントwr、第1ステータスエンプティ信号
e1と第1ステータスフル信号v2、リードステートメント
reの実行freとライトステートメントwrの実行fwr、及び
前方セルストップ信号st2と後方セルストップ信号st1。
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を
実行する。
って構成される。即ちライトステートメントwrが直接互
いに続く場合、第2ステータスフル信号v2が、第1ライ
トステートメントwrの実行fwr中であることを示すと
き、少なくとも1つの待ちループが挿入され、送信器バ
ッファf1内でただ1つのレジスタがデータを受信でき
る。送信器バッファf1内で更に他のエンプティロケーシ
ョンが利用できるとき、連続するライトステートメント
wrによって、ライトブロックfwrに帰還し、ライトブロ
ックfwrはcoフェーズの間にライトステートメントwrを
実行する。
第2図において、データ転送が単一クロック周期の間
に実行される通常の場合が時刻1と時刻4の間に示され
る。時刻5から時刻8への次のデータ転送は長い時間を
要する。なぜならば、データは後の時刻6において受信
され、受信器バッファf2は満杯だからである。このデー
タ転送の延長は意図されたものではない。
に実行される通常の場合が時刻1と時刻4の間に示され
る。時刻5から時刻8への次のデータ転送は長い時間を
要する。なぜならば、データは後の時刻6において受信
され、受信器バッファf2は満杯だからである。このデー
タ転送の延長は意図されたものではない。
チップ領域を越えるデータ交換に役立つデータインタ
ーフェースの場合、高いクロックレートでデータ転送を
単一クロック内に実行するのは極めて難しい。このよう
なインターフェースを介したデータ転送レートを前記デ
ータ転送の半分又はそれ以上に慎重に減少することが、
プログラムの設計に考慮されなければならない。これを
達成するには2つの方法がある。
ーフェースの場合、高いクロックレートでデータ転送を
単一クロック内に実行するのは極めて難しい。このよう
なインターフェースを介したデータ転送レートを前記デ
ータ転送の半分又はそれ以上に慎重に減少することが、
プログラムの設計に考慮されなければならない。これを
達成するには2つの方法がある。
1.ポートをアクセスする2つの連続リードステートメン
トreの間に少なくとも1つのノップ命令(=ノーオペレ
ーション)を挿入する。又は、 2.送信側でハンドシェークポートが、ライトステートメ
ントwrを介して、クロックレートの高々1/2のレートで
駆動される。
トreの間に少なくとも1つのノップ命令(=ノーオペレ
ーション)を挿入する。又は、 2.送信側でハンドシェークポートが、ライトステートメ
ントwrを介して、クロックレートの高々1/2のレートで
駆動される。
送信側及び受信側で半分のクロックレートが平均デー
タ転送レートに参照されることによって更に改善するこ
とができる。その場合、ライト及びリードステートメン
トの直接的連続がある時間内に許容される。しかし、バ
ッファリング(buffering)は送信器又は受信器バッフ
ァf1、f2内の他のバッファレジスタreによって影響され
る。送信器バッファf1内の他のバッファレジスタriの所
定数は、ポートに対する連続ライトステートメントwrの
数に少なくとも一致する。
タ転送レートに参照されることによって更に改善するこ
とができる。その場合、ライト及びリードステートメン
トの直接的連続がある時間内に許容される。しかし、バ
ッファリング(buffering)は送信器又は受信器バッフ
ァf1、f2内の他のバッファレジスタreによって影響され
る。送信器バッファf1内の他のバッファレジスタriの所
定数は、ポートに対する連続ライトステートメントwrの
数に少なくとも一致する。
このような2経路データ転送装置の動作は、従って2
つのクロックc11、c12の位相又は周波数には関係なく保
証される。単一クロック周期では十分でない場合、特に
データ転送がチップ領域を越えて行われるとき、データ
転送の一時的範囲は、前述のステップによって任意に延
長される。データの十分なバッファリング及び各ポート
に対する減少した平均ライトレート及びリードレートの
みが必要となる。
つのクロック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は従って静的又
は見掛け上静的な副回路とて設計され、任意な持続時間
のセルストップのとき、それら回路は各データステート
を維持する。ここで使用される“見掛け上の静的回路”
はダイナミック副回路を含み、ダイナミック副回路はリ
フレッシュサイクルを介して任意の持続時間の間、各ス
テートを維持する。
むデータ駆動アレイプロセッサ(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を介して読み出される。
リの一実施例を示すブロック図である。図において、通
常のステータスエンプティ信号e、e1又はステータスフ
ル信号v、v1を供給する他に、第2ステータスエンプテ
ィ信号e2又は第2ステータスフル信号v2が考慮される。
これら全てのステータス信号は適切なデータメモリfiの
占有レベルに関係しており、データメモリfiは、例えば
前述したように8個の12ビットデータワードを保持する
ことができる。書き込まれるデータdiは、入力アンプiv
を介して供給され、読み出されるデータdoは出力アンプ
ovを介して読み出される。
データメモリfiの動作は次の通りである。
ライト信号wsによって制御されるライトポインタpwは
ライトアドレスを示し、このライトアドレスにデータワ
ードdiが書き込まれる。次のライト信号wsはライトアド
レスを1つインクリメントする。これはライトポインタ
pwが最初のアドレスに戻るまで続く。
ライトアドレスを示し、このライトアドレスにデータワ
ードdiが書き込まれる。次のライト信号wsはライトアド
レスを1つインクリメントする。これはライトポインタ
pwが最初のアドレスに戻るまで続く。
同様に、リード信号rsはリードポインタprを介してリ
ードアドレスを決定する。2個のポインタの出力は8個
の中の1コードであり、8個のANDゲートによってライ
ト、リード、及びクロック信号に結合される。ライトポ
インタpwに関連する8個のANDゲートの中で、及びリー
ドポインタprに関連する8個のANDゲートの中で、第8AN
Dゲートuw8、及び第1ANDライトゲートur1のみが第5図
に示される。
ードアドレスを決定する。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に設定される。
ウントアップ入力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
のみを設定する。
に従って、デコーダ(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を設
定する。
スタが占有されているとき、即ち7個のレジスタが満杯
のとき、カウンタcdからのバイナリコード出力信号の値
は7である。その場合、デコーダは第2ステータスフル
信号v2のみを設定する。データメモリfiの8個のセル全
てが満杯でカウント値が8であれば、それによってデコ
ーダdecは第1及び第2ステータスフル信号v1、v2を設
定する。
他の全ての場合、即ちカウント2からカウント6ま
で、デコーダdecはどのステータス信号も設定しない。
第1ステータスエンプティ信号e1は第1図においてステ
ータスエンプティ信号eに対応し、第1ステータスフル
信号v1はステータスフル信号vに対応する。
で、デコーダ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フェーズに
リンクさせることによって防止する。
れるときに、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……出力アンプ。
示し、バッファ、及び後方と前方のセルストップ信号が
含まれ、第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)
- 【請求項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】前記受信器バッファ(f2)及び/又は送信
器バッファ(f1)少なくとも所定数の追加バッファレジ
スタ(ri)を含み、異なる時間及び入力レートでデータ
をバッファし、前記所定数に決定されるクロック周期内
の前記時間及び入力レートは平均した場合に等しいこと
を特徴とする請求項1記載の2経路データ転送装置。 - 【請求項3】チップの領域を越えてデータを交換する機
能を果たすデータインターフェースの場合、前記ポート
をアクセスするための2つの連続するライトステートメ
ントの間に、少なくとも1つのノップ命令(=ノーオペ
レーション)を挿入することによって、前記ハンドシェ
ーキングプロトコルを変えることなく、前記データ転送
は少なくとも2クロック周期だけ延長することができる
ことを特徴とする請求項2記載の2経路データ転送装
置。 - 【請求項4】チップの領域を越えてデータを交換する機
能を果たすデータインターフェースの場合、前記クロッ
クレートの高々1/2のレートのラストステートメントを
介して前記送信側のポートを駆動することによって、前
記ハンドシェーキングプロトコルを変えることなく、前
記データ転送は少なくとも2クロック周期だけ延長する
ことができることを特徴とする請求項2記載の2経路デ
ータ転送装置。 - 【請求項5】前記送信器バッファ(f1)内の前記追加バ
ッファ(ri)の所定数は、ポートへの連続するライトス
テートメント(wr)の数に少なくとも一致し、前記ポー
トは前記ライトステートメントを介して前記クロックレ
ートの高々1/2の平均レートで駆動されることを特徴と
する請求項2記載の2経路データ転送装置。 - 【請求項6】非同期にクロック入力される2つのセル間
のデータ通信に用いられることを特徴とする請求項1記
載の2経路データ転送装置。 - 【請求項7】前記データソース(dq)及び前記データシ
ンク(ds)は静的又は見掛上静的な副回路を有し、前記
副回路は任意持続時間のセルストップが生じたときに、
それらの論理的ステートを維持することを特徴とする請
求項1記載の2経路データ転送装置。 - 【請求項8】前記2経路データ転送装置は、隣接する各
セル又は前記チップ領域を越えてデータを交換する複数
のセルを有するデータ駆動・モノシリックデータアレイ
プロセッサ内のデータインターフェースに用いられるこ
とを特徴とする請求項1乃至7記載の2経路データ転送
装置。 - 【請求項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】前記送信器バッファ(f1)内のバッファ
レジスタの数は、前記データソース(dq)の動作を停
止、又は開始するのに必要な同一時間長のクロック周期
数に少なくとも等しく、 前記バッファレジスタのこの最小値において、送信器バ
ッファ(f1)の占有レベルを示すステータス信号は必要
ではないことを特徴とする請求項1記載の2経路データ
転送装置。
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)
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)
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 |
-
1989
- 1989-11-21 EP EP89121507A patent/EP0428771B1/de not_active Expired - Lifetime
- 1989-11-21 DE DE58908975T patent/DE58908975D1/de not_active Expired - Fee Related
-
1990
- 1990-11-05 US US07/614,777 patent/US5280584A/en not_active Expired - Lifetime
- 1990-11-17 CN CN90109191A patent/CN1022723C/zh not_active Expired - Fee Related
- 1990-11-19 KR KR1019900018704A patent/KR0145321B1/ko not_active IP Right Cessation
- 1990-11-21 JP JP2317596A patent/JP2821552B2/ja not_active Expired - Fee Related
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 |