JPH03229381A - データ駆動形計算機 - Google Patents
データ駆動形計算機Info
- Publication number
- JPH03229381A JPH03229381A JP2462090A JP2462090A JPH03229381A JP H03229381 A JPH03229381 A JP H03229381A JP 2462090 A JP2462090 A JP 2462090A JP 2462090 A JP2462090 A JP 2462090A JP H03229381 A JPH03229381 A JP H03229381A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- memory
- bit
- packets
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データの依存関係に基づいて処理を駆動する
方式を採用しているデータ駆動形計算機に関し、特に巡
回パイプライン構成において待合わせメモリに起因する
実行停止を回避する技術に関する。
方式を採用しているデータ駆動形計算機に関し、特に巡
回パイプライン構成において待合わせメモリに起因する
実行停止を回避する技術に関する。
(従来の技術〕
第7図はデータ駆動形計算機におけるデータ処理の概念
図であり、2つのデータの加算が行われる様子を示して
いる。図において“A” という値を持ち“a”という
識別子を付加されたパケット81が発火処理部87に与
えられると、識別子フィールド比較部84は待合わせメ
モリ85にパケット81の識別子“a”と一致する識別
子を持つパケ−/ )が格納されているか否かを検索す
る。第7図では“B”という値を持ち“a”という識別
子を持つパケット82が格納されているので、このパケ
ット82が待合わせメモリ85から読出され、入力され
たパケット81と共にデータ対形成部86へ送られる。
図であり、2つのデータの加算が行われる様子を示して
いる。図において“A” という値を持ち“a”という
識別子を付加されたパケット81が発火処理部87に与
えられると、識別子フィールド比較部84は待合わせメ
モリ85にパケット81の識別子“a”と一致する識別
子を持つパケ−/ )が格納されているか否かを検索す
る。第7図では“B”という値を持ち“a”という識別
子を持つパケット82が格納されているので、このパケ
ット82が待合わせメモリ85から読出され、入力され
たパケット81と共にデータ対形成部86へ送られる。
データ対形成部86はパケット81とパケット82とを
合体し、“A”という値と“B″という値とにa”とい
う識別子を付加したデータ83を形成しくこれを発火と
呼ぶ)、データ処理部88でA+Bの演算が実行される
。演算結果は図示しないプログラムメモリに識別子をア
ドレスとして与えられ、そこで更新処理を行った後、外
部に出力されるか、又は再度発火処理部87に与えられ
る。これらの発火処理部87、データ処理部88及びプ
ログラムメモリから巡回パイプラインが構成される。
合体し、“A”という値と“B″という値とにa”とい
う識別子を付加したデータ83を形成しくこれを発火と
呼ぶ)、データ処理部88でA+Bの演算が実行される
。演算結果は図示しないプログラムメモリに識別子をア
ドレスとして与えられ、そこで更新処理を行った後、外
部に出力されるか、又は再度発火処理部87に与えられ
る。これらの発火処理部87、データ処理部88及びプ
ログラムメモリから巡回パイプラインが構成される。
第7図の例では入力されたパケット81と同じ識別子“
a”を有するパケット82が待合わせメモリ85に格納
されていたが、入力されたバケツ)81と同じ識別子を
有するパケットが待合わせメモリ85に格納されていな
い場合は、入力されたパケット81は待合わせメモリ8
5に格納され、これと一致する識別子を有するパケット
が入力されるまで待合される。
a”を有するパケット82が待合わせメモリ85に格納
されていたが、入力されたバケツ)81と同じ識別子を
有するパケットが待合わせメモリ85に格納されていな
い場合は、入力されたパケット81は待合わせメモリ8
5に格納され、これと一致する識別子を有するパケット
が入力されるまで待合される。
このように発火処理部87はデータ駆動形計算機におい
て演算すべきパケットを検索する役割を持っている。
て演算すべきパケットを検索する役割を持っている。
通常データ駆動形計算機においては、識別子のビット幅
は数十ビットとなるため、識別子毎にメモリのアドレス
を割当てるとメモリ容量が膨大なものとなるため、従来
より待合わせメモリ85に用いるメモリとしてビット幅
を圧縮(以下ハツシュという)し、これをメモリアドレ
スとして用いたメモリ (以下ハツシュメモリという)
を用いている。
は数十ビットとなるため、識別子毎にメモリのアドレス
を割当てるとメモリ容量が膨大なものとなるため、従来
より待合わせメモリ85に用いるメモリとしてビット幅
を圧縮(以下ハツシュという)し、これをメモリアドレ
スとして用いたメモリ (以下ハツシュメモリという)
を用いている。
第8図は入力パケットの一例の構成を示すビットマツプ
図、第9図はハツシュメモリの一例の構成を示すブロッ
ク図である。
図、第9図はハツシュメモリの一例の構成を示すブロッ
ク図である。
入力パケットは演算対象となる18ビツトのオペランド
データOD、演算内容を示すコードである7ビソトのオ
ペレーションコードQC,1ビツトのプロセッサ選択ビ
ットPS、入力パケットが2入力命令か1入力命令かを
示すIビットのFC処理選択ビット及び演算順に応して
演算場所(ノード)の左又は右に配置することを示す左
右データ選択ビットを含み、各種の選択を行うセレクシ
ョンコートSC1入力データの入力順等の属性を示す9
ビツトのカラー/世代番号DN並びに演算の行われるべ
き場所を示す21ビツトのノード番号NNの60ピント
にて構成されている。そしてプロセッサ選択ビットps
とカラー/世代番号DNとノード番号NNとから31ビ
ツトの識別子が構成される。
データOD、演算内容を示すコードである7ビソトのオ
ペレーションコードQC,1ビツトのプロセッサ選択ビ
ットPS、入力パケットが2入力命令か1入力命令かを
示すIビットのFC処理選択ビット及び演算順に応して
演算場所(ノード)の左又は右に配置することを示す左
右データ選択ビットを含み、各種の選択を行うセレクシ
ョンコートSC1入力データの入力順等の属性を示す9
ビツトのカラー/世代番号DN並びに演算の行われるべ
き場所を示す21ビツトのノード番号NNの60ピント
にて構成されている。そしてプロセッサ選択ビットps
とカラー/世代番号DNとノード番号NNとから31ビ
ツトの識別子が構成される。
ハツシュメモリ601はノード番号NNの下位9ビツト
をハフシュアドレスとしてアクセスされるものであり、
リードライトサイクルを定めるリードライト信号W/R
−H,書込みデータ及び各アドレスの有効・無効の別を
示すプレゼンスビットPBの更新を行うセントリセット
信号S/πが与えられる。格納される書込みデータは1
8ピントのオペランドデータODと、9ビツトのカラー
/世代番号DN及びノード番号NNの残り12ビツトの
21ビツトの識別子と、1ビツトのプロセッサ選択ビッ
トPSの合計40ビツトからなっている。またハツシュ
メモリ601には別に1ビツトのプレゼンスビットPB
が格納されており、合計lワード41ビツトとなってい
る。またアドレス空間は29=512となっており、ハ
ツシュメモリ601 は41ビツト/ワード×512の
大きさを有している。
をハフシュアドレスとしてアクセスされるものであり、
リードライトサイクルを定めるリードライト信号W/R
−H,書込みデータ及び各アドレスの有効・無効の別を
示すプレゼンスビットPBの更新を行うセントリセット
信号S/πが与えられる。格納される書込みデータは1
8ピントのオペランドデータODと、9ビツトのカラー
/世代番号DN及びノード番号NNの残り12ビツトの
21ビツトの識別子と、1ビツトのプロセッサ選択ビッ
トPSの合計40ビツトからなっている。またハツシュ
メモリ601には別に1ビツトのプレゼンスビットPB
が格納されており、合計lワード41ビツトとなってい
る。またアドレス空間は29=512となっており、ハ
ツシュメモリ601 は41ビツト/ワード×512の
大きさを有している。
ハツシュメモリを用いた場合、ハ・ンシュしたアドレス
(以下ハツシュアドレスという)をアクセスしたときに
同一アドレスでの衝突、所謂ハツシュ衝突が起こる虞が
ある。
(以下ハツシュアドレスという)をアクセスしたときに
同一アドレスでの衝突、所謂ハツシュ衝突が起こる虞が
ある。
即ちハツシュ衝突とは識別子の一部をハツシュアドレス
とした場合にハツシュアドレスが既にハツシュメモリ内
に格納されたデータと一致しても、残りの識別子が一致
しないデータがアクセスされたとき、そのデータを記憶
するアドレスが既に占有されているために起こるもので
ある。
とした場合にハツシュアドレスが既にハツシュメモリ内
に格納されたデータと一致しても、残りの識別子が一致
しないデータがアクセスされたとき、そのデータを記憶
するアドレスが既に占有されているために起こるもので
ある。
ここでハツシュメモリ601を待合わせメモリ85に用
いたデータ駆動形計算機において、第10図!a)に示
すデータフローグラフを実行する場合を考える。
いたデータ駆動形計算機において、第10図!a)に示
すデータフローグラフを実行する場合を考える。
なお、説明を平易にするためハツシュメモリ601はノ
ード番号の下位2ビツトをハツシュアトレスとしてアク
セスされ、4つのパケットを蓄えるだけの容量(アドレ
ス空間=22=4)を持つこととして以下の説明を行う
。
ード番号の下位2ビツトをハツシュアトレスとしてアク
セスされ、4つのパケットを蓄えるだけの容量(アドレ
ス空間=22=4)を持つこととして以下の説明を行う
。
第10図(alに示す如くこのデータフローではノート
数8で構成され、6つの入力パケットを演算処理してい
く。ここで特に番号0のノードの左入力となる第2パケ
ツトが番号7のノードの左入力にもなっている。ハツシ
ュメモリ601をアクセスするメモリアドレスは4メモ
リアドレスとなり、第10図(a)のデータフローグラ
フのノード番号は同図(b)に示すメモリアドレスとな
る。このとき第10図(alにおいて、番号3 (01
1)のノードの左入力となる第1パケツトと番号7 (
111)のノートの左入力となる第2パケツトとは、ノ
ード番号の下位2ビツトが同じ値(=11)なのでハツ
シュメモリ601の同一メモリアドレス“3″(=11
)を指すこととなる。第2パケツトが第1パケツトより
も先にハツシュメモリ601に蓄えられた場合、第2パ
ケツトは番号7のノードの右入力となる第3バケツトを
待つことになるが、第3バケツトは番号3,5及び6の
ノードが実行されないと生成されない。
数8で構成され、6つの入力パケットを演算処理してい
く。ここで特に番号0のノードの左入力となる第2パケ
ツトが番号7のノードの左入力にもなっている。ハツシ
ュメモリ601をアクセスするメモリアドレスは4メモ
リアドレスとなり、第10図(a)のデータフローグラ
フのノード番号は同図(b)に示すメモリアドレスとな
る。このとき第10図(alにおいて、番号3 (01
1)のノードの左入力となる第1パケツトと番号7 (
111)のノートの左入力となる第2パケツトとは、ノ
ード番号の下位2ビツトが同じ値(=11)なのでハツ
シュメモリ601の同一メモリアドレス“3″(=11
)を指すこととなる。第2パケツトが第1パケツトより
も先にハツシュメモリ601に蓄えられた場合、第2パ
ケツトは番号7のノードの右入力となる第3バケツトを
待つことになるが、第3バケツトは番号3,5及び6の
ノードが実行されないと生成されない。
ところが、第2パケツトが第1パケツトより先に格納さ
れ、第2パケツトは待合わせの相手(第3バケツト)が
生成されないので、ハツシュメモリ601内に格納され
たままとなり、第1パケツトと第2パケツトとがハツシ
ュ衝突してしまうので、第1パケツトはハツシュメモリ
601へ蓄えられず、従って番号3のノードの演算は実
行されないこととなり、結局演算処理の実行が停止して
しまうことになる。
れ、第2パケツトは待合わせの相手(第3バケツト)が
生成されないので、ハツシュメモリ601内に格納され
たままとなり、第1パケツトと第2パケツトとがハツシ
ュ衝突してしまうので、第1パケツトはハツシュメモリ
601へ蓄えられず、従って番号3のノードの演算は実
行されないこととなり、結局演算処理の実行が停止して
しまうことになる。
このようにハツシュメモリ601の容量より大きなデー
タフローグラフを実行する際、同一メモリアドレスを複
数のノードが発火のために使用するので、パケットの到
着順によってはハツシュ衝突を起こし、データフローグ
ラフの実行を途中で停止させてしまうという問題点があ
った。
タフローグラフを実行する際、同一メモリアドレスを複
数のノードが発火のために使用するので、パケットの到
着順によってはハツシュ衝突を起こし、データフローグ
ラフの実行を途中で停止させてしまうという問題点があ
った。
本発明は上記のような問題点を解決するためになされた
ものであり、待合わせメモリであるハツシュメモリ内に
既に格納されているパケットのために、先に演算を実行
すべきパケットがハツシュメモリに格納することができ
ず、プログラムの実行が事実上停止状態となったことを
巡回パイプライン中にある全パケットの発火の有無によ
り検出し、停止状態が検出された場合、待合わせメモリ
内の全パケットを入れ換えることにより先に実行すべき
パケットを待合わせメモリ内に格納し、演算の実行を停
止させることなく継続して実行できるデータ駆動形計算
機を得ることを目的とする。
ものであり、待合わせメモリであるハツシュメモリ内に
既に格納されているパケットのために、先に演算を実行
すべきパケットがハツシュメモリに格納することができ
ず、プログラムの実行が事実上停止状態となったことを
巡回パイプライン中にある全パケットの発火の有無によ
り検出し、停止状態が検出された場合、待合わせメモリ
内の全パケットを入れ換えることにより先に実行すべき
パケットを待合わせメモリ内に格納し、演算の実行を停
止させることなく継続して実行できるデータ駆動形計算
機を得ることを目的とする。
本発明に係るデータ駆動形計算機は、入力されたパケッ
トが少なくとも1つの待合わせメモリに格納できず、巡
回パイプラインを介して再度待合わされるまでに発火処
理されたか否かを検出する手段を設け、この間に発火処
理されなかった場合、データ処理が進んでおらず、待合
わせメモリから処理を実行するために出力されたパケッ
トがなく、データ処理が停止状態となる虞があると判定
し、この場合に待合わせメモリ内の全パケットを入換手
段により入換えるようにしたものである。
トが少なくとも1つの待合わせメモリに格納できず、巡
回パイプラインを介して再度待合わされるまでに発火処
理されたか否かを検出する手段を設け、この間に発火処
理されなかった場合、データ処理が進んでおらず、待合
わせメモリから処理を実行するために出力されたパケッ
トがなく、データ処理が停止状態となる虞があると判定
し、この場合に待合わせメモリ内の全パケットを入換手
段により入換えるようにしたものである。
本発明においては待合わせメモリに格納できないパケッ
トが発生すると、そのパケットは巡回パイプライン上の
各処理部を通過し、再度待合わせメモリに入力される。
トが発生すると、そのパケットは巡回パイプライン上の
各処理部を通過し、再度待合わせメモリに入力される。
この間に発火処理部で発火処理されたか否か、即ち待合
わせメモリからデータ処理を進めるためにパケットが出
力されたか否かを検出し、この間に発火処理されず、パ
ケットが出力されなかったときは、待合わせメモリ内の
全パケットを入換え、入力されたパケットが必ず待合わ
せメモリに格納されるようになり、処理の実行が停止さ
れることはなくなる。
わせメモリからデータ処理を進めるためにパケットが出
力されたか否かを検出し、この間に発火処理されず、パ
ケットが出力されなかったときは、待合わせメモリ内の
全パケットを入換え、入力されたパケットが必ず待合わ
せメモリに格納されるようになり、処理の実行が停止さ
れることはなくなる。
以下、本発明の実施例を図に基づいて詳細に説明する。
第1図はこの発明に係るデータ駆動形計算機の構成図で
ある。図において101は発火処理部である。該発火処
理部101 はパケットが入力されると、パケットに付
属している識別子の内、行き先ノードを示すノード番号
及びカラー/世代番号が一致するパケットが待合わせメ
モリである連想メモリ112に、あるかどうかを検索し
、ノード番号及びカラー/世代番号が一致するパケット
が存在した場合、2つのパケットをマージし、発火パケ
ットを生成し、ノード番号及びカラー/世代番号が一致
するパケットが存在しなかった場合、入力パケットを連
想メモリ112に格納する機能を有する。
ある。図において101は発火処理部である。該発火処
理部101 はパケットが入力されると、パケットに付
属している識別子の内、行き先ノードを示すノード番号
及びカラー/世代番号が一致するパケットが待合わせメ
モリである連想メモリ112に、あるかどうかを検索し
、ノード番号及びカラー/世代番号が一致するパケット
が存在した場合、2つのパケットをマージし、発火パケ
ットを生成し、ノード番号及びカラー/世代番号が一致
するパケットが存在しなかった場合、入力パケットを連
想メモリ112に格納する機能を有する。
発火処理部101で発火した発火パケットは演算処理部
102に与えられ、発火パケットに付属している命令コ
ードに従って演算処理を施す。演算結果のパケットはプ
ログラムメモリ103に与えられ、パケットに付属して
いるノード番号を入力アドレスとしてプログラムメモリ
103の内容を読出し、読出した内容に基づき識別子の
ノード番号と命令コードとの更新を行う。
102に与えられ、発火パケットに付属している命令コ
ードに従って演算処理を施す。演算結果のパケットはプ
ログラムメモリ103に与えられ、パケットに付属して
いるノード番号を入力アドレスとしてプログラムメモリ
103の内容を読出し、読出した内容に基づき識別子の
ノード番号と命令コードとの更新を行う。
以上、発火処理部101、演算処理部102、プログラ
ムメモリ103は、発火処理部101は1段の、その他
は複数段のパイプライン構成となっており、全体として
巡回パイプライン構成となっている。
ムメモリ103は、発火処理部101は1段の、その他
は複数段のパイプライン構成となっており、全体として
巡回パイプライン構成となっている。
第2図はパケットのデータ構造を示す図であり、パケッ
トは全部で81ビツトあり、上位から順に18ビツトの
オペランドデータ20D2、オペランドデータ1001
.7ビツトのオペレーションコード0C11ビツトの印
ビットMB、各1ビツトのスルービットTH1左/右デ
ータ選択ビットSL及びFC処理選択ビットを含む7ビ
ソトのセレクションビット5C119ヒツトのカラー/
世代番号DN並びに21ビツトのノード番号NNから構
成される。ここでビットMBは、これが発火処理部10
1から出力されてから次に入力されるまでに、発火処理
がされたか否かを検出するための対象となるパケットを
示すためのものである。この巡回パイプライン上を第2
図に示すデータ構造のパケットが移動している。但し、
演算処理部102の出力から発火処理部101の入力ま
ではパケットはオペランドデータ20D2を持たず、6
3ビツト構成となっているが、発火処理部101での処
理後は、発火前のパケットの2つのオペランドデータ0
01.002を夫々の左/右データ選択ビットSLに従
ってオペランドデータ10D1及びオペランドデータ2
0D2として格納した状態で演算処理部102に送られ
る。演算処理部102では、2つのオペランドデータ0
01 、 OD2の演算結果がオペランドデータ10D
1 として格納されてまた元の63ビツト構成となる。
トは全部で81ビツトあり、上位から順に18ビツトの
オペランドデータ20D2、オペランドデータ1001
.7ビツトのオペレーションコード0C11ビツトの印
ビットMB、各1ビツトのスルービットTH1左/右デ
ータ選択ビットSL及びFC処理選択ビットを含む7ビ
ソトのセレクションビット5C119ヒツトのカラー/
世代番号DN並びに21ビツトのノード番号NNから構
成される。ここでビットMBは、これが発火処理部10
1から出力されてから次に入力されるまでに、発火処理
がされたか否かを検出するための対象となるパケットを
示すためのものである。この巡回パイプライン上を第2
図に示すデータ構造のパケットが移動している。但し、
演算処理部102の出力から発火処理部101の入力ま
ではパケットはオペランドデータ20D2を持たず、6
3ビツト構成となっているが、発火処理部101での処
理後は、発火前のパケットの2つのオペランドデータ0
01.002を夫々の左/右データ選択ビットSLに従
ってオペランドデータ10D1及びオペランドデータ2
0D2として格納した状態で演算処理部102に送られ
る。演算処理部102では、2つのオペランドデータ0
01 、 OD2の演算結果がオペランドデータ10D
1 として格納されてまた元の63ビツト構成となる。
但し、発火処理部101から演算処理部102の間のパ
ケットでも1オペランド演算のパケット又は連想メモリ
112が満杯のために巡回パイプラインを通過するスル
ーパケットの場合は、オペランドデータ20D2にはな
にも保持されない。
ケットでも1オペランド演算のパケット又は連想メモリ
112が満杯のために巡回パイプラインを通過するスル
ーパケットの場合は、オペランドデータ20D2にはな
にも保持されない。
また、発火処理部101から出力されたスルーパケット
は演算処理部102及びプログラムメモリ103では、
処理されずそのままの情報を保持して再び発火処理部1
01に戻ってくる。
は演算処理部102及びプログラムメモリ103では、
処理されずそのままの情報を保持して再び発火処理部1
01に戻ってくる。
次に発火処理部101内部の構成について説明する。
111は、発火処理部101に入力されたパケットをラ
ッチするデータラッチである。入力パケットは、波ライ
ンの前段からの信号COが“H″のタイミングでラッチ
される。ラッチされたパケットのうち印ビア)MB、F
C処理選択ビット、左/右データ選択ピッ)SLが制御
部118に出力される。また、印ピッ)MBとスルービ
ットTFIを除く入力パケットの各データは、識別子3
0ビツトとその他の32ビツトに分けて連想メモリ11
2に入力される。同じく印ビット問とスルーピッ1−T
Hを除く入力パケットの各データは、データ対形成器1
16にも入力される。
ッチするデータラッチである。入力パケットは、波ライ
ンの前段からの信号COが“H″のタイミングでラッチ
される。ラッチされたパケットのうち印ビア)MB、F
C処理選択ビット、左/右データ選択ピッ)SLが制御
部118に出力される。また、印ピッ)MBとスルービ
ットTFIを除く入力パケットの各データは、識別子3
0ビツトとその他の32ビツトに分けて連想メモリ11
2に入力される。同じく印ビット問とスルーピッ1−T
Hを除く入力パケットの各データは、データ対形成器1
16にも入力される。
第3図は、連想メモ1月12の構成を示すブロック図で
ある。図において201はデータラッチ111を介して
入力されるパケ・ノドに含まれる30ビツトの識別子と
一致するデータを検索する連想メモリ(以下CAMとい
う)であり、31ビツト×32アドレスの容量となって
いる。CAM 201のうち1ビツトは格納されている
データの有効性を判別するためのプレゼンスビットPB
の格納に用いられる。CAM201には各アドレスに対
して一致/不一致信号線(以下マツチラインという)が
設けられており、与えられた30ビツトの識別子と、C
AM 201に格納された識別子とが一致したアドレス
のマツチラインのみ“H”が出力される。またCAM
201にはセレクタ205を介してプレゼンスビットP
Bの更新を行うセット信号S/πが与えられると共にリ
ードライトのサイクルを定めるリードライト信号W/π
が与えられる。セレクタ205は一端に基準電圧“H″
が、他端にセント信号S/πが与えられており、また切
替端子にリードライト信号W/πが与えられており、リ
ードサイクルのときは基準電圧“H”が、ライトサイク
ルのときはセント信号S/πが選択される。即ちリード
サイクルW/π=4L″のときは、プレゼンスピッ)P
B=1のアドレスだけを検索する必要があるので、検索
データのプレゼンスビットPBに相当するビットを常に
1とし、ライトサイクルW/π=“H”のときのみプレ
ゼンスピントPBを更新する必要があるためにこのセレ
クタ205が用いられる。
ある。図において201はデータラッチ111を介して
入力されるパケ・ノドに含まれる30ビツトの識別子と
一致するデータを検索する連想メモリ(以下CAMとい
う)であり、31ビツト×32アドレスの容量となって
いる。CAM 201のうち1ビツトは格納されている
データの有効性を判別するためのプレゼンスビットPB
の格納に用いられる。CAM201には各アドレスに対
して一致/不一致信号線(以下マツチラインという)が
設けられており、与えられた30ビツトの識別子と、C
AM 201に格納された識別子とが一致したアドレス
のマツチラインのみ“H”が出力される。またCAM
201にはセレクタ205を介してプレゼンスビットP
Bの更新を行うセット信号S/πが与えられると共にリ
ードライトのサイクルを定めるリードライト信号W/π
が与えられる。セレクタ205は一端に基準電圧“H″
が、他端にセント信号S/πが与えられており、また切
替端子にリードライト信号W/πが与えられており、リ
ードサイクルのときは基準電圧“H”が、ライトサイク
ルのときはセント信号S/πが選択される。即ちリード
サイクルW/π=4L″のときは、プレゼンスピッ)P
B=1のアドレスだけを検索する必要があるので、検索
データのプレゼンスビットPBに相当するビットを常に
1とし、ライトサイクルW/π=“H”のときのみプレ
ゼンスピントPBを更新する必要があるためにこのセレ
クタ205が用いられる。
またCAM 201からは32ビツトのマツチラインに
識別子の一致、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPBが出力され、そこでプレゼンスビットP
Bより有効なデータが格納されていないアドレスが検出
される。
識別子の一致、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPBが出力され、そこでプレゼンスビットP
Bより有効なデータが格納されていないアドレスが検出
される。
空アドレス検出器203は、空アドレスを示す32ビツ
トの検出信号をアドレスセレクタ206 及ヒ207の
一端に出力すると共に、空アドレスがなく CAM20
1全アドレスにパケットが格納されたとき、そのことを
示す満杯信号FLを制御部118に出力する。
トの検出信号をアドレスセレクタ206 及ヒ207の
一端に出力すると共に、空アドレスがなく CAM20
1全アドレスにパケットが格納されたとき、そのことを
示す満杯信号FLを制御部118に出力する。
なお、空アドレスを示す検出信号はCAM 201の3
2個のアドレスに対応する32ビツトの出力であり、そ
の空アドレスのビットだけが“H”となっている。アド
レスセレクタ206及び同207には、マツチラインか
らの判定信号も与えられる。
2個のアドレスに対応する32ビツトの出力であり、そ
の空アドレスのビットだけが“H”となっている。アド
レスセレクタ206及び同207には、マツチラインか
らの判定信号も与えられる。
追出アドレス発生器204は、連想メモリ112内に格
納されている全パケットを出力するための追出アドレス
を発生する。追出アドレス発生器204は、制御部11
8から出力される信号Tdのタイミングで、32アドレ
スの各々を示す追出アドレスを順に生成し、アドレスセ
レクタ206及び207に与える。
納されている全パケットを出力するための追出アドレス
を発生する。追出アドレス発生器204は、制御部11
8から出力される信号Tdのタイミングで、32アドレ
スの各々を示す追出アドレスを順に生成し、アドレスセ
レクタ206及び207に与える。
アドレスセレクタ206では、切換端子に与えられたリ
ードライト信号W/π及び連想メモ1月12内の全パケ
ットを出力するために制御部118から出力される追出
信号りに応じて、追出信号りが“H”のときには追出ア
ドレスを、追出信号りが“L”でありリードサイクルW
/π=“L”のときは固定信号“0”を、また追出信号
りが“L”でありライトサイクルW/R= “H”のと
き、空アドレス検出器203の検出信号を各々選択する
。
ードライト信号W/π及び連想メモ1月12内の全パケ
ットを出力するために制御部118から出力される追出
信号りに応じて、追出信号りが“H”のときには追出ア
ドレスを、追出信号りが“L”でありリードサイクルW
/π=“L”のときは固定信号“0”を、また追出信号
りが“L”でありライトサイクルW/R= “H”のと
き、空アドレス検出器203の検出信号を各々選択する
。
また追出信号りは後述する出力セレクタ117にも出力
される。
される。
アドレスセレクタ207では、切換端子に与えられたリ
ードライト信号W/R及び制御部118により入力され
る連想メモリ112内の全パケットを出力するための追
出信号りに応じて、追出信号りが“H”のときには追出
アドレスを、追出信号りがL″でありリードサイクルW
/π=″L”のときは判定信号を、また追出信号りが“
L”でありライトサイクルW/π=“H”のとき空アド
レス検出器203の検出信号を各々選択する。
ードライト信号W/R及び制御部118により入力され
る連想メモリ112内の全パケットを出力するための追
出信号りに応じて、追出信号りが“H”のときには追出
アドレスを、追出信号りがL″でありリードサイクルW
/π=″L”のときは判定信号を、また追出信号りが“
L”でありライトサイクルW/π=“H”のとき空アド
レス検出器203の検出信号を各々選択する。
RA門202は、オペランドデータ00118ビツト、
オペレーションコードOC7ビノト及びセレクションコ
ードSC7ビノトの合計32ビツトを格納するものであ
り、32ビツト×32アドレスの容量となっている。リ
ードサイクルでは、アドレスセレクタ207から入力さ
れるアドレスのデータ32ビツトがCAM201 のデ
ータ30ビツトと共にデータラッチ113に出力される
。即ち、CAM 201から出力される判定信号32ビ
ツトと合計94ビツトのデータがデータラッチ113に
出力される。一方、ライトサイクルではアドレスセレク
タ207の入力されるアドレスに従ってデータラッチ1
11から与えられた入力パケットの内容が格納される。
オペレーションコードOC7ビノト及びセレクションコ
ードSC7ビノトの合計32ビツトを格納するものであ
り、32ビツト×32アドレスの容量となっている。リ
ードサイクルでは、アドレスセレクタ207から入力さ
れるアドレスのデータ32ビツトがCAM201 のデ
ータ30ビツトと共にデータラッチ113に出力される
。即ち、CAM 201から出力される判定信号32ビ
ツトと合計94ビツトのデータがデータラッチ113に
出力される。一方、ライトサイクルではアドレスセレク
タ207の入力されるアドレスに従ってデータラッチ1
11から与えられた入力パケットの内容が格納される。
またライトサイクルでは、CAM 201がヒツトした
場合及び追出信号りの制御によってパケットが追い出さ
れた場合は、出力されたアドレスのプレゼンスビ・ント
PBがクリアされる。
場合及び追出信号りの制御によってパケットが追い出さ
れた場合は、出力されたアドレスのプレゼンスビ・ント
PBがクリアされる。
第1図において113はデータラッチであり、連想メモ
リ112より出力された92ビツトのデータが信号TI
= “H”でラッチされる。94ビツトのうち・判定信
号32ビツトはヒツト検出に、それ以外の62ビツトは
出力セレクタ117に出力される。オペランドデータ1
0D1の18ビツトは同時にデータラッチ115にも出
力される。
リ112より出力された92ビツトのデータが信号TI
= “H”でラッチされる。94ビツトのうち・判定信
号32ビツトはヒツト検出に、それ以外の62ビツトは
出力セレクタ117に出力される。オペランドデータ1
0D1の18ビツトは同時にデータラッチ115にも出
力される。
ヒツト検出器114はCAM 201からの32本のマ
ンチラインの反転信号をモニタし、その中の1ビツトで
も“H”に立ち上がったものがあった場合は(=CAM
201がヒツトすれば)、ヒツト信号旧Tを制御部1
18に与える。
ンチラインの反転信号をモニタし、その中の1ビツトで
も“H”に立ち上がったものがあった場合は(=CAM
201がヒツトすれば)、ヒツト信号旧Tを制御部1
18に与える。
データ対形成器116は、データラッチ113を介して
連想メモマ月12から出力されたオペランドデータ10
01が一端に入力されると共に、他端にはデータラッチ
111からの63ビツトの入力されたパケットのデータ
が与えられる。そして2つのデータがマージされ、2つ
のオペランドデータ001 、002を含む81ビツト
のパケットが形成される。このとき2項演算の減算命令
の如くオペランドの順序関係が重要なものがあるので、
選択されたオペランドデータと入力されたオペランドデ
ータとは正しく左または右のオペランドとして配置され
る必要がある。
連想メモマ月12から出力されたオペランドデータ10
01が一端に入力されると共に、他端にはデータラッチ
111からの63ビツトの入力されたパケットのデータ
が与えられる。そして2つのデータがマージされ、2つ
のオペランドデータ001 、002を含む81ビツト
のパケットが形成される。このとき2項演算の減算命令
の如くオペランドの順序関係が重要なものがあるので、
選択されたオペランドデータと入力されたオペランドデ
ータとは正しく左または右のオペランドとして配置され
る必要がある。
第4図はデータ対形成器116の構成を示すブロック図
である。データ対形成器116は2つのデータセレクタ
501,502からなり、各々の切換端子には入力され
たパケットの左/右データ選択ビットSLでその状態を
示すセレクタ制′4B信号L/πが与えられる。データ
セレクタ501のA端子及びデータセレクタ502のB
端子にはデータラッチ111からの入力されたパケット
のオペランドデータが各々与えられ、データセレクタ5
01のB端子及びデータセレクタ502のA端子にはデ
ータラッチ115より格納されたオペランドデータが与
えられる。
である。データ対形成器116は2つのデータセレクタ
501,502からなり、各々の切換端子には入力され
たパケットの左/右データ選択ビットSLでその状態を
示すセレクタ制′4B信号L/πが与えられる。データ
セレクタ501のA端子及びデータセレクタ502のB
端子にはデータラッチ111からの入力されたパケット
のオペランドデータが各々与えられ、データセレクタ5
01のB端子及びデータセレクタ502のA端子にはデ
ータラッチ115より格納されたオペランドデータが与
えられる。
そして入力されたパケットの左/右データ選択ビットS
Lがセレクタ制御信号L/πとして入力され、L/πが
“1″のときは夫々のデータセレクタ501゜502の
A端子に与えられたオペランドデータが、またL/πが
“0”のときは夫々のデータセレクタ501 、502
のB端子に与えられたオペランドデータが選択され、デ
ータセレクタ501からの選択出力が左オペランド(オ
ペランドデータ1)となり、データセレクタ502から
の選択出力が右オペランド(オペランドデータ2)とな
り、それらと入力されたパケットのオペランドデータを
除く他のデータとがマージされ出力セレクタ117に入
力される。セレクタ制御信号L/πは、入力パケットが
1オペランド命令の場合又は連想メモリ112が満杯で
あり、入力パケットがそのまま出力される場合は入力パ
ケットの左/右データ選択ピッ)SLに拘らず制御部1
18により強制的にセレクタ制御信号L/πは“1”と
されるため入力パケットがそのまま出力される。
Lがセレクタ制御信号L/πとして入力され、L/πが
“1″のときは夫々のデータセレクタ501゜502の
A端子に与えられたオペランドデータが、またL/πが
“0”のときは夫々のデータセレクタ501 、502
のB端子に与えられたオペランドデータが選択され、デ
ータセレクタ501からの選択出力が左オペランド(オ
ペランドデータ1)となり、データセレクタ502から
の選択出力が右オペランド(オペランドデータ2)とな
り、それらと入力されたパケットのオペランドデータを
除く他のデータとがマージされ出力セレクタ117に入
力される。セレクタ制御信号L/πは、入力パケットが
1オペランド命令の場合又は連想メモリ112が満杯で
あり、入力パケットがそのまま出力される場合は入力パ
ケットの左/右データ選択ピッ)SLに拘らず制御部1
18により強制的にセレクタ制御信号L/πは“1”と
されるため入力パケットがそのまま出力される。
出力セレクタ117は、連想メモ1月12から追い出さ
れたパケットを出力するか、発火したパケット、1オペ
ランド命令を含む入力パケット又は、スルーパケットを
出力するかを選択するものである。この選択は制御部1
18から与えられた追出信号りによって選択される。こ
の追出信号りは、制御部118によって巡回パイプライ
ン中の全パケットが発火しなかったことを検出した場合
に“H”となる。
れたパケットを出力するか、発火したパケット、1オペ
ランド命令を含む入力パケット又は、スルーパケットを
出力するかを選択するものである。この選択は制御部1
18から与えられた追出信号りによって選択される。こ
の追出信号りは、制御部118によって巡回パイプライ
ン中の全パケットが発火しなかったことを検出した場合
に“H”となる。
制御部118には、2つのレジスタ、即ち印カウンタ1
19と発火フラグレジスタ120とが設けられている。
19と発火フラグレジスタ120とが設けられている。
印カウンタ119は、印ビットMBが”1”のパケット
(以下印付きパケットという)が巡回パイプライン上
にいくつあるかをカウントするレジスタであり、発火フ
ラグレジスタ120は直近に出力された印付きパケット
を出力してから発火が起こった場合には“1”が、起こ
っていない場合には“O”が保持されている。また、制
御部118は印ビットMB、入力パケットの左/右選択
ビ・ノドSL、入力パケットが2オペランド命令か1オ
ペランド命令かの別を示すFC処理選択ビットの状態で
定まる入力選択信号FC(2入力命令FC=1.1入力
命令FC=0)、ヒツト信号旧T及び満杯信号PLが与
えられる。また、パイプライン前段の処理が終了し、前
段の出力データをデータラッチ111にラッチしたこと
を示す信号CO、パイプライン次段の処理が終了し、次
段に発火処理部101の結果パケットを出力してもよい
という許可信号■が与えられる。これらの入力信号を判
断して追出信号D、リードライト信号W/R、セット信
号S/π、データ対形成器116に出力するセレクタ制
御信号し/R,出力パケットのスルービットT)l及ヒ
印ビットMB、データ出力信号CI及びデータ入力許可
信号■を出力する。
(以下印付きパケットという)が巡回パイプライン上
にいくつあるかをカウントするレジスタであり、発火フ
ラグレジスタ120は直近に出力された印付きパケット
を出力してから発火が起こった場合には“1”が、起こ
っていない場合には“O”が保持されている。また、制
御部118は印ビットMB、入力パケットの左/右選択
ビ・ノドSL、入力パケットが2オペランド命令か1オ
ペランド命令かの別を示すFC処理選択ビットの状態で
定まる入力選択信号FC(2入力命令FC=1.1入力
命令FC=0)、ヒツト信号旧T及び満杯信号PLが与
えられる。また、パイプライン前段の処理が終了し、前
段の出力データをデータラッチ111にラッチしたこと
を示す信号CO、パイプライン次段の処理が終了し、次
段に発火処理部101の結果パケットを出力してもよい
という許可信号■が与えられる。これらの入力信号を判
断して追出信号D、リードライト信号W/R、セット信
号S/π、データ対形成器116に出力するセレクタ制
御信号し/R,出力パケットのスルービットT)l及ヒ
印ビットMB、データ出力信号CI及びデータ入力許可
信号■を出力する。
また処理のタイミングを決定するタイミング信号Tl、
T2.Tdの出力も行う。
T2.Tdの出力も行う。
次に上記の如く構成されたこの発明のデータ駆動形計算
機の発火処理部101の動作について説明する。なお連
想メモリ112にはデータ対を待つ複数のパケットが格
納されているとする。第5図は発火処理部101の概略
動作を説明するフローチャートである。
機の発火処理部101の動作について説明する。なお連
想メモリ112にはデータ対を待つ複数のパケットが格
納されているとする。第5図は発火処理部101の概略
動作を説明するフローチャートである。
パケットが入力されると入力パケットの印ビットMBが
制御部118に入力され、印ビットMBが“1″かどう
かが判断され(Sl)、印ピッ)MBが”ビの場合、こ
のパケットは前回発火処理部101で処理が行われたと
き、連想メモリ112中に行き先ノード番号NNとカラ
ー/世代番号DNが一致するパケットは存在しなかった
が、連想メモリ112が満杯であったため入力されたパ
ケットがそのままスルーパケットとして出力されたこと
を示す。このため、制御部118では、前回このパケッ
トが発火処理部101から出力されてから巡回パイプラ
イン中の全パケットが発火しなかったかどうかを印カウ
ンタ119及び発火フラグレジスタ120により検出す
る必要がある。そこでまず、印付きパケットが発火処理
部101に入力され、巡回パイプライン上から印付きパ
ケットがひとつ減ったので印カウンタ119をデクリメ
ントする(S2)。次に印カウンタ119の内容をチエ
ツクする(S3)。この印カウンタ119が“0”以外
の場合は、この入力された印付きパケットが前回出力さ
れてから発火が起こり1度は連想メモ1月12に空がで
きたが、また連想メモ1月12への新たな格納により連
想メモ1月12が再度満杯状態となり、新たなスルーパ
ケットが生成され印付きパケットとされたことを示して
いる。即ちこの印付きパケット出力以降に発火したパケ
ットが存在したことを示しているので、巡回パイプライ
ン上の全パケットが発火しなかったとは判断できず、通
常の処理S6へと処理は移る。印カウンタ119が“0
”の場合は、さらに発火フラグの内容をチエツクする(
S4)。発火フラグが“0”の場合、即ち最終に出力さ
れた印付きパケット以降発火が行われなかった場合、入
力された印付きパケットが前回発火処理部101から出
力されてから発火が起こらなかったことを示している。
制御部118に入力され、印ビットMBが“1″かどう
かが判断され(Sl)、印ピッ)MBが”ビの場合、こ
のパケットは前回発火処理部101で処理が行われたと
き、連想メモリ112中に行き先ノード番号NNとカラ
ー/世代番号DNが一致するパケットは存在しなかった
が、連想メモリ112が満杯であったため入力されたパ
ケットがそのままスルーパケットとして出力されたこと
を示す。このため、制御部118では、前回このパケッ
トが発火処理部101から出力されてから巡回パイプラ
イン中の全パケットが発火しなかったかどうかを印カウ
ンタ119及び発火フラグレジスタ120により検出す
る必要がある。そこでまず、印付きパケットが発火処理
部101に入力され、巡回パイプライン上から印付きパ
ケットがひとつ減ったので印カウンタ119をデクリメ
ントする(S2)。次に印カウンタ119の内容をチエ
ツクする(S3)。この印カウンタ119が“0”以外
の場合は、この入力された印付きパケットが前回出力さ
れてから発火が起こり1度は連想メモ1月12に空がで
きたが、また連想メモ1月12への新たな格納により連
想メモ1月12が再度満杯状態となり、新たなスルーパ
ケットが生成され印付きパケットとされたことを示して
いる。即ちこの印付きパケット出力以降に発火したパケ
ットが存在したことを示しているので、巡回パイプライ
ン上の全パケットが発火しなかったとは判断できず、通
常の処理S6へと処理は移る。印カウンタ119が“0
”の場合は、さらに発火フラグの内容をチエツクする(
S4)。発火フラグが“0”の場合、即ち最終に出力さ
れた印付きパケット以降発火が行われなかった場合、入
力された印付きパケットが前回発火処理部101から出
力されてから発火が起こらなかったことを示している。
即ち、前回この入力パケットが発火処理部101から出
力されたとき、巡回パイプライン上に存在した全パケッ
トが発火せず発火処理部101を通過したことがこのこ
とにより検出され、そこで連想メモ1月12内に格納さ
れている全パケットを巡回パイプライン上に出力する(
S5)。連想メモリ112内に格納されたパケットの出
力は、まず追出信号りを“H”として、連想メモリ11
2からの出力が出力セレクタ117で出力されるように
する。その後タイミング信号Tdにより連想メモリ11
2内の全アドレスを次々にアドレスセレクタ206 、
207に入力し、全アドレスのパケットをデータラッチ
113に出力する。その後パイプラインの次段の入力許
可信号■に従って出力セレクタ117を介して全アドレ
スのパケットを順に出力していく。連想メモ1月12内
の全パテ・ノドが出力された後、ステップS6以降の通
常の入力パケットに対する処理を行う。
力されたとき、巡回パイプライン上に存在した全パケッ
トが発火せず発火処理部101を通過したことがこのこ
とにより検出され、そこで連想メモ1月12内に格納さ
れている全パケットを巡回パイプライン上に出力する(
S5)。連想メモリ112内に格納されたパケットの出
力は、まず追出信号りを“H”として、連想メモリ11
2からの出力が出力セレクタ117で出力されるように
する。その後タイミング信号Tdにより連想メモリ11
2内の全アドレスを次々にアドレスセレクタ206 、
207に入力し、全アドレスのパケットをデータラッチ
113に出力する。その後パイプラインの次段の入力許
可信号■に従って出力セレクタ117を介して全アドレ
スのパケットを順に出力していく。連想メモ1月12内
の全パテ・ノドが出力された後、ステップS6以降の通
常の入力パケットに対する処理を行う。
ヒツト検出器からの旧T信号により連想メモリ112内
に入力パケットの識別子と同一の識別子をもつパケット
があるかどうかを判断する(S6)。旧T信号が“1”
、即ち連想メモ1月12内に大カパケ・ノドの識別子と
同一の識別子をもつパケットが存在した場合、制御部1
18内の発火フラグを“l”にセットしく5IO) 、
入力パケットと連想メモ1月12内のデータとをマージ
し、発火パケットを出力セレクタ117を介して出力す
る(Sll)。一方ヒントしなかった場合、連想メモ1
月12からの満杯信号FLによって連想メモリ112が
満杯かどうかが判断される(S7)。連想メモリ112
が満杯でない場合は1、入力パケットが連想メモリ11
2に格納される(S14)連想メモ1月12が満杯であ
った場合は、スルーパケットとして出力するが、このと
き印付きパケットとするかどうかの判断が行われる(S
8 、S9)。
に入力パケットの識別子と同一の識別子をもつパケット
があるかどうかを判断する(S6)。旧T信号が“1”
、即ち連想メモ1月12内に大カパケ・ノドの識別子と
同一の識別子をもつパケットが存在した場合、制御部1
18内の発火フラグを“l”にセットしく5IO) 、
入力パケットと連想メモ1月12内のデータとをマージ
し、発火パケットを出力セレクタ117を介して出力す
る(Sll)。一方ヒントしなかった場合、連想メモ1
月12からの満杯信号FLによって連想メモリ112が
満杯かどうかが判断される(S7)。連想メモリ112
が満杯でない場合は1、入力パケットが連想メモリ11
2に格納される(S14)連想メモ1月12が満杯であ
った場合は、スルーパケットとして出力するが、このと
き印付きパケットとするかどうかの判断が行われる(S
8 、S9)。
まず、現在印付きパケットが巡回パイプライン上にはな
く、初めてのスルーパケットの場合、即ち印カウンタ1
19が“O”の場合はステップS12に進み、発火フラ
グレジスタ120をリセットし、印カウンタ119をイ
ンクリメントし、スルービットTH及び印ビットMBを
セットして、印付きパケットとして出力される。印カウ
ンタ119が0”以外、即ちすでに印付きパケットが巡
回パイプライン上に出力されている場合には、最後に印
付きパケット出力されてから発火が起こったか否かがス
テップS9で発火フラグをチエツクすることで判断され
、発火が起こっていない場合は、そのままスルーピット
T)Iをセットして出力する。発火が起こっている場合
は、最後に印付きパケットが出力されてから発火が起こ
りさらに再度、連想メモ1月12が満杯となり、スルー
パケットが生成されたと考えられるので、印カウンタ1
19をインクリメントし、発火フラグをリセットし、ス
ルーピットTO及び印ビットMBをセットして印付きパ
ケットとして出力する。
く、初めてのスルーパケットの場合、即ち印カウンタ1
19が“O”の場合はステップS12に進み、発火フラ
グレジスタ120をリセットし、印カウンタ119をイ
ンクリメントし、スルービットTH及び印ビットMBを
セットして、印付きパケットとして出力される。印カウ
ンタ119が0”以外、即ちすでに印付きパケットが巡
回パイプライン上に出力されている場合には、最後に印
付きパケット出力されてから発火が起こったか否かがス
テップS9で発火フラグをチエツクすることで判断され
、発火が起こっていない場合は、そのままスルーピット
T)Iをセットして出力する。発火が起こっている場合
は、最後に印付きパケットが出力されてから発火が起こ
りさらに再度、連想メモ1月12が満杯となり、スルー
パケットが生成されたと考えられるので、印カウンタ1
19をインクリメントし、発火フラグをリセットし、ス
ルーピットTO及び印ビットMBをセットして印付きパ
ケットとして出力する。
第6図は本発明装置の動作サイクルを説明するタイミン
グチャートであり、特に巡回パイプライン上の全パケッ
トが発火せずに発火処理部101を通過したことを検出
し、連想メモ1月12内の全パケットを出力する場合の
タイミングチャートである。信号COが“H”のタイミ
ングで入力パケットがデータラッチ111にランチされ
る。制御部118によってこの入力パケットのデータ及
び制御部118内の印カウンタ119、発火フラグレジ
スタ120の情報から巡回パイプライン上の全パケット
が発火せずに発火処理部101を通過したことを検出す
ると、まず追出信号りが“H”となる。これにより、出
力セレクタ117からの出力は連想メモリ112内部か
らの出力が選択される。最初、信号W/πは“L″であ
り、リードサイクルである。そののち制御部118から
信号Tdが連想メモリ112の追出アドレス発生器20
4に与えられ、信号Tdが“H”のタイミングで追出ア
ドレスがひとつ生成され、アドレスセレクタ206.2
07に与えられる。アドレスセレクタにも追出信号りが
入力されており、これにより追出アドレスが選択される
。追出アドレスの発生からアドレス選択及び連想メモリ
112からの出力が決定するまでの遅延ののち信号Tl
が“H”とされ、連想メモリ112からの出力はデータ
ラッチ113にラッチされる。データがランチされたの
ち信号W/πは“H” となり、出力されたアドレスの
プレゼンスビットPBがリセットされる。またタイミン
グ信号T1の“H”及びパイプライン次段からのデータ
入力許可信号■の入力が共に確認されると、データ出力
信号C1が出力され、データラッチ113にラッチされ
ていたパケットは出力セレクタ117を介して出力され
る。この動作を32回繰り返すことで連想メモリ112
内の全パケットが巡回パイプライン上に出力される。そ
の後、リードサイクル、処理サイクル、ライトサイクル
を経て処理を終了する。処理が終了するとパイプライン
前段に入力許可信号■が出力され次のパケットの入力が
促される。
グチャートであり、特に巡回パイプライン上の全パケッ
トが発火せずに発火処理部101を通過したことを検出
し、連想メモ1月12内の全パケットを出力する場合の
タイミングチャートである。信号COが“H”のタイミ
ングで入力パケットがデータラッチ111にランチされ
る。制御部118によってこの入力パケットのデータ及
び制御部118内の印カウンタ119、発火フラグレジ
スタ120の情報から巡回パイプライン上の全パケット
が発火せずに発火処理部101を通過したことを検出す
ると、まず追出信号りが“H”となる。これにより、出
力セレクタ117からの出力は連想メモリ112内部か
らの出力が選択される。最初、信号W/πは“L″であ
り、リードサイクルである。そののち制御部118から
信号Tdが連想メモリ112の追出アドレス発生器20
4に与えられ、信号Tdが“H”のタイミングで追出ア
ドレスがひとつ生成され、アドレスセレクタ206.2
07に与えられる。アドレスセレクタにも追出信号りが
入力されており、これにより追出アドレスが選択される
。追出アドレスの発生からアドレス選択及び連想メモリ
112からの出力が決定するまでの遅延ののち信号Tl
が“H”とされ、連想メモリ112からの出力はデータ
ラッチ113にラッチされる。データがランチされたの
ち信号W/πは“H” となり、出力されたアドレスの
プレゼンスビットPBがリセットされる。またタイミン
グ信号T1の“H”及びパイプライン次段からのデータ
入力許可信号■の入力が共に確認されると、データ出力
信号C1が出力され、データラッチ113にラッチされ
ていたパケットは出力セレクタ117を介して出力され
る。この動作を32回繰り返すことで連想メモリ112
内の全パケットが巡回パイプライン上に出力される。そ
の後、リードサイクル、処理サイクル、ライトサイクル
を経て処理を終了する。処理が終了するとパイプライン
前段に入力許可信号■が出力され次のパケットの入力が
促される。
なお、上述の実施例ではオペランドの待合わせメモリと
してパケットの識別子全体をキーとじて待合わせを行う
連想メモ1月12を用いたが、本発明はこれに限るもの
ではなく、識別子の一部、又は識別子からなんらかの演
算によって生成された数をアドレスとしてパケットを待
合わせメモリに格納しておき、同じアドレスとなるパケ
ットに対してだけ発火すべきパケットであるかを全識別
子を比較することで発火させるかどうかを決定するハツ
シュメモリを待合わせメモリとする構成でもよい。
してパケットの識別子全体をキーとじて待合わせを行う
連想メモ1月12を用いたが、本発明はこれに限るもの
ではなく、識別子の一部、又は識別子からなんらかの演
算によって生成された数をアドレスとしてパケットを待
合わせメモリに格納しておき、同じアドレスとなるパケ
ットに対してだけ発火すべきパケットであるかを全識別
子を比較することで発火させるかどうかを決定するハツ
シュメモリを待合わせメモリとする構成でもよい。
また、待合わせメモリを通過したパケットが再び待合わ
せメモリに戻ってきたことの検出をパケットに印を付け
ることで実現したが、巡回パイプラインの段数以上のパ
ケットが待合わせメモリを通過したことを検出すること
で実行の停止状態を検出してもよい。
せメモリに戻ってきたことの検出をパケットに印を付け
ることで実現したが、巡回パイプラインの段数以上のパ
ケットが待合わせメモリを通過したことを検出すること
で実行の停止状態を検出してもよい。
さらに、待合わせメモリの全パケット入れ換えとして、
全パケットを出力した後にパケットの入力を許す例を示
したが、パケットを一つ出力しては一つ入力するという
方法で入れ換えを実現することもできる。
全パケットを出力した後にパケットの入力を許す例を示
したが、パケットを一つ出力しては一つ入力するという
方法で入れ換えを実現することもできる。
以上説明したように、この発明によれば、待合わせメモ
リに先に実行すべきパケットが格納できない場合が生じ
、データ処理が停止状態となるのを検出するため、待合
わせメモリを通過したパケ・7トが再度待合わせメモリ
に戻ってくるまでに発火処理がなされたか否かを検出し
、発火処理がなされなかったときは、何ら状況が変化し
ておらず、停止状態となる虞があるので、待合わせメモ
リの全パケットを入れ換えるようにし、停止状態の検出
及び待合わせメモリの全パケットの入れ換えを繰り返す
ことで先に実行すべきパケットがいつか必ず待合わせメ
モリに格納されて実行が進み実行の停止が回避できる等
価れた効果を奏する。
リに先に実行すべきパケットが格納できない場合が生じ
、データ処理が停止状態となるのを検出するため、待合
わせメモリを通過したパケ・7トが再度待合わせメモリ
に戻ってくるまでに発火処理がなされたか否かを検出し
、発火処理がなされなかったときは、何ら状況が変化し
ておらず、停止状態となる虞があるので、待合わせメモ
リの全パケットを入れ換えるようにし、停止状態の検出
及び待合わせメモリの全パケットの入れ換えを繰り返す
ことで先に実行すべきパケットがいつか必ず待合わせメ
モリに格納されて実行が進み実行の停止が回避できる等
価れた効果を奏する。
第1図は本発明のデータ駆動形計算機の構成図、第2図
は本発明のデータ駆動形計算機上を動作するパケット構
成を示す図、第3図は本発明のデータ駆動形計算機の待
合わせメモリの構成を示すブロック図、第4図は本発明
のデータ駆動形計算機のデータ対形成器の構成を示すブ
ロック図、第5図は本発明の処理の流れを示したフロー
チャート、第6図は本発明のデータ駆動形計算機の発火
処理部のタイミングチャート、第7図は従来例のデータ
駆動形計算機における処理の概念図、第8図はパケット
の一例の構成を示すビットマツプ図、第9図はハツシュ
メモリの一例の構成を示すブロック図、第10図(a)
はデータフローグラフの一例を示す図、第10図(b)
は従来例のメモリアドレスとノード番号との関係を示す
図である。 101・・・発火処理部 102・・・ALU 10
3・・・プログラムメモリ 112・・・連想メモリ
117・・・出力セレクタ 118・・・制御部 20
4・・・追出アドレス発生器なお、図中、同一符号は同
一、又は相当部分を示す。
は本発明のデータ駆動形計算機上を動作するパケット構
成を示す図、第3図は本発明のデータ駆動形計算機の待
合わせメモリの構成を示すブロック図、第4図は本発明
のデータ駆動形計算機のデータ対形成器の構成を示すブ
ロック図、第5図は本発明の処理の流れを示したフロー
チャート、第6図は本発明のデータ駆動形計算機の発火
処理部のタイミングチャート、第7図は従来例のデータ
駆動形計算機における処理の概念図、第8図はパケット
の一例の構成を示すビットマツプ図、第9図はハツシュ
メモリの一例の構成を示すブロック図、第10図(a)
はデータフローグラフの一例を示す図、第10図(b)
は従来例のメモリアドレスとノード番号との関係を示す
図である。 101・・・発火処理部 102・・・ALU 10
3・・・プログラムメモリ 112・・・連想メモリ
117・・・出力セレクタ 118・・・制御部 20
4・・・追出アドレス発生器なお、図中、同一符号は同
一、又は相当部分を示す。
Claims (1)
- (1)少なくとも実行すべき演算内容を示す命令コード
と、次に実行すべき命令の場所を示す行先ノード番号と
を含む識別情報及びデータを有するパケットを格納し、
格納されたパケットと入力されたパケットとの少なくと
も行先ノード番号が一致する2つのパケットを検出する
1又は複数の待合わせメモリを有し、一致した2つのパ
ケットを合体する発火処理を行う発火処理部を含む複数
の処理部を巡回パイプライン構造になしてあるデータ駆
動形計算機において、 入力されたパケットがいずれかの待合わせ メモリに格納されずに前記発火処理部から出力されてか
ら巡回パイプラインを介して再度格納されなかった待合
わせメモリに入力されるまでに、前記巡回パイプライン
中の全パケットが前記発火処理部で発火処理されたか否
かを検出する手段と、 発火処理が検出されなかったとき、前記待 合わせメモリの内容を全て入換える手段と を備えることを特徴とするデータ駆動形計 算機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2462090A JPH03229381A (ja) | 1990-02-02 | 1990-02-02 | データ駆動形計算機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2462090A JPH03229381A (ja) | 1990-02-02 | 1990-02-02 | データ駆動形計算機 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03229381A true JPH03229381A (ja) | 1991-10-11 |
Family
ID=12143194
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2462090A Pending JPH03229381A (ja) | 1990-02-02 | 1990-02-02 | データ駆動形計算機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03229381A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5404558A (en) * | 1992-02-17 | 1995-04-04 | Sharp Kabushiki Kaisha | Data driven type information processor having a plurality of memory banks |
| JP2012515387A (ja) * | 2009-01-16 | 2012-07-05 | リーチ、スティーブン、フレデリック、ナイト | プロセッサ |
-
1990
- 1990-02-02 JP JP2462090A patent/JPH03229381A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5404558A (en) * | 1992-02-17 | 1995-04-04 | Sharp Kabushiki Kaisha | Data driven type information processor having a plurality of memory banks |
| JP2012515387A (ja) * | 2009-01-16 | 2012-07-05 | リーチ、スティーブン、フレデリック、ナイト | プロセッサ |
| US10049079B2 (en) | 2009-01-16 | 2018-08-14 | Stephen Leach | System and method for determining whether to modify a message for rerouting upon receipt at a current target processor |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2668438B2 (ja) | データ検索装置 | |
| US5274790A (en) | Cache memory apparatus having a plurality of accessibility ports | |
| KR880002660B1 (ko) | 중앙 처리장치 | |
| US5148538A (en) | Translation look ahead based cache access | |
| JP3602542B2 (ja) | スーパースカラマイクロプロセッサにおける分岐予測正確度向上のための装置および方法 | |
| US4942520A (en) | Method and apparatus for indexing, accessing and updating a memory | |
| US6963964B2 (en) | Method and apparatus for detecting pipeline address conflict using parallel compares of multiple real addresses | |
| US4551799A (en) | Verification of real page numbers of stack stored prefetched instructions from instruction cache | |
| KR100555997B1 (ko) | 메모리 엔진과, 데이터 조사 및 정정 방법 | |
| KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
| JPH0231419B2 (ja) | ||
| JP2006509306A (ja) | 関係アプリケーションへのデータ処理システム相互参照用セルエンジン | |
| US7836253B2 (en) | Cache memory having pipeline structure and method for controlling the same | |
| WO1997030395A1 (fr) | Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire | |
| EP0394624A2 (en) | Multiple sequence processor system | |
| JPH0668736B2 (ja) | 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法 | |
| US4761731A (en) | Look-ahead instruction fetch control for a cache memory | |
| TWI244037B (en) | Processing unit for a computer system and operating method thereof | |
| JP2001195304A (ja) | キャッシュ記憶装置 | |
| JP3727244B2 (ja) | キャッシュシステムの制御回路 | |
| JP3725547B2 (ja) | 限定ラン分岐予測 | |
| JPH03229381A (ja) | データ駆動形計算機 | |
| US7036003B1 (en) | Instruction processing device and method for controlling branch instruction accompanied by mode change | |
| JP2022011449A (ja) | 演算処理プログラム、演算処理方法および演算処理装置 | |
| US7069386B2 (en) | Associative memory device |