JPH0695345B2 - 連想記憶装置及びデ−タ駆動形計算機 - Google Patents
連想記憶装置及びデ−タ駆動形計算機Info
- Publication number
- JPH0695345B2 JPH0695345B2 JP5440687A JP5440687A JPH0695345B2 JP H0695345 B2 JPH0695345 B2 JP H0695345B2 JP 5440687 A JP5440687 A JP 5440687A JP 5440687 A JP5440687 A JP 5440687A JP H0695345 B2 JPH0695345 B2 JP H0695345B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- output
- tag
- register
- comparison
- 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
Landscapes
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、データの照合フィールドが指定されたパタ
ーンと同一であるものをデータの集合から読み出す連想
記憶装置、及び該連想記憶装置を用いて読み出されたデ
ータの演算を実行するデータ駆動形計算機に関するもの
である。
ーンと同一であるものをデータの集合から読み出す連想
記憶装置、及び該連想記憶装置を用いて読み出されたデ
ータの演算を実行するデータ駆動形計算機に関するもの
である。
第7図は、例えば岩波講座マイクロエレクトロニクス8V
LSIコンピュータI(PP82−87 元岡 達 1984年12月10
日 岩波書店)に示された従来の連想記憶装置及びデー
タ駆動形計算機を示す構成図である。図において、1は
コードメモリ4から出力された命令,命令のタイプ,及
び行先ノード番号と、オペランドメモリ7から出力され
た2つのオペランドとを受け、命令パケットを生成する
命令パケット生成部、2はこの命令パケットを受け、命
令に従って演算処理を行う演算装置、3はこの演算装置
2から出力された結果パケットを一時蓄える結果キュ
ー、4は実行するプログラムを記憶し、結果パケットの
行先ノード番号に従って次に実行する命令と命令のタイ
プ及び行先ノード番号を読み出すコードメモリ、5はこ
のコードメモリ4から読み出された命令のタイプを判定
し、前記命令パケット生成部1への経路を切り換えるス
イッチ、6は前記結果パケットの活動番号(命令の反復
や手続き呼び出しの際のコンテキスト)と行先ノード番
号から連想記憶装置のオペペランドメモリ7のアドレス
を生成する連想記憶装置の連想記憶部、7は2つのオペ
ランドが揃い演算可能となったことを検出する連想記憶
装置のオペランドメモリである。
LSIコンピュータI(PP82−87 元岡 達 1984年12月10
日 岩波書店)に示された従来の連想記憶装置及びデー
タ駆動形計算機を示す構成図である。図において、1は
コードメモリ4から出力された命令,命令のタイプ,及
び行先ノード番号と、オペランドメモリ7から出力され
た2つのオペランドとを受け、命令パケットを生成する
命令パケット生成部、2はこの命令パケットを受け、命
令に従って演算処理を行う演算装置、3はこの演算装置
2から出力された結果パケットを一時蓄える結果キュ
ー、4は実行するプログラムを記憶し、結果パケットの
行先ノード番号に従って次に実行する命令と命令のタイ
プ及び行先ノード番号を読み出すコードメモリ、5はこ
のコードメモリ4から読み出された命令のタイプを判定
し、前記命令パケット生成部1への経路を切り換えるス
イッチ、6は前記結果パケットの活動番号(命令の反復
や手続き呼び出しの際のコンテキスト)と行先ノード番
号から連想記憶装置のオペペランドメモリ7のアドレス
を生成する連想記憶装置の連想記憶部、7は2つのオペ
ランドが揃い演算可能となったことを検出する連想記憶
装置のオペランドメモリである。
次に動作について説明する。
命令Aが演算可能となったことにより、命令パケット生
成部1はコードメモリ4から出力された命令と命令のタ
イプ及び行先ノード番号を受けるとともに、連想記憶装
置のオペランドメモリ7あるいは結果キュー3から出力
された活動番号と1つあるいは2つのオペランドを受
け、命令パケットAを生成して演算装置2へ出力する。
命令パケットAを受けた演算装置2はこのパケットの命
令に従ってオペランドに対して演算処理を行い、結果パ
ケットを出力する。結果パケットは命令パケットAの活
動番号と行先ノード番号をそのまま保存して生成され
る。演算装置2から出力された結果パケットは結果キュ
ー3に入力され、該結果キュー3は結果パケットを一時
蓄え、結果パケットの行先ノード番号をコードメモリ4
へ出力する。この行先ノード番号を受けたコードメモリ
4は、該行先ノード番号から記憶している命令と命令の
タイプ及び行先ノード番号(命令B)が読み出され、こ
れはスイッチ5及び命令パケット生成部1へ出力され
る。前記命令Bを受けたスイッチ5は、その命令が1入
力命令か2入力命令かを示す命令のタイプを調べ、これ
を結果キュー3に出力する。そしてスイッチ5は、前記
命令のタイプが1入力命令の場合は結果キュー3と命令
パケット生成部1と接続し、2入力命令の場合は連想記
憶装置のオペランドメモリ7と命令パケット生成部1と
を接続する。
成部1はコードメモリ4から出力された命令と命令のタ
イプ及び行先ノード番号を受けるとともに、連想記憶装
置のオペランドメモリ7あるいは結果キュー3から出力
された活動番号と1つあるいは2つのオペランドを受
け、命令パケットAを生成して演算装置2へ出力する。
命令パケットAを受けた演算装置2はこのパケットの命
令に従ってオペランドに対して演算処理を行い、結果パ
ケットを出力する。結果パケットは命令パケットAの活
動番号と行先ノード番号をそのまま保存して生成され
る。演算装置2から出力された結果パケットは結果キュ
ー3に入力され、該結果キュー3は結果パケットを一時
蓄え、結果パケットの行先ノード番号をコードメモリ4
へ出力する。この行先ノード番号を受けたコードメモリ
4は、該行先ノード番号から記憶している命令と命令の
タイプ及び行先ノード番号(命令B)が読み出され、こ
れはスイッチ5及び命令パケット生成部1へ出力され
る。前記命令Bを受けたスイッチ5は、その命令が1入
力命令か2入力命令かを示す命令のタイプを調べ、これ
を結果キュー3に出力する。そしてスイッチ5は、前記
命令のタイプが1入力命令の場合は結果キュー3と命令
パケット生成部1と接続し、2入力命令の場合は連想記
憶装置のオペランドメモリ7と命令パケット生成部1と
を接続する。
また、スイッチ5からの命令のタイプを受けた結果キュ
ー3は、命令のタイプが1入力命令であれば結果パケッ
トをスイッチ5へ出力する。このときスイッチ5の切り
換えにより、既に結果キュー3から命令パケット生成部
1への経路が設定されているので、結果キュー3から出
力された結果パケットは発火されたパケットとして命令
パケット生成部1へ送られ、既にコードメモリ4から出
力された命令と命令のタイプ及び行先ノード番号とから
命令パケットとなる。
ー3は、命令のタイプが1入力命令であれば結果パケッ
トをスイッチ5へ出力する。このときスイッチ5の切り
換えにより、既に結果キュー3から命令パケット生成部
1への経路が設定されているので、結果キュー3から出
力された結果パケットは発火されたパケットとして命令
パケット生成部1へ送られ、既にコードメモリ4から出
力された命令と命令のタイプ及び行先ノード番号とから
命令パケットとなる。
結果キュー3において、スイッチ5からの命令のタイプ
が2入力命令であった場合、結果パケットを連想記憶装
置の連想記憶部6へ出力する。この連想記憶部6は、結
果キュー3からの結果パケットの活動番号及び行先ノー
ド番号をハッシュし、発火を行うための待ち合わせ領域
のアドレスを連想し、これを連想記憶装置のオペランド
メモリ7のアドレスとして結果パケットとともに出力す
る。
が2入力命令であった場合、結果パケットを連想記憶装
置の連想記憶部6へ出力する。この連想記憶部6は、結
果キュー3からの結果パケットの活動番号及び行先ノー
ド番号をハッシュし、発火を行うための待ち合わせ領域
のアドレスを連想し、これを連想記憶装置のオペランド
メモリ7のアドレスとして結果パケットとともに出力す
る。
連想記憶装置のオペランドメモリ7は、前記連想記憶部
6から出力されたアドレスと結果パケットとを受け、ア
ドレスに対応したオペランドメモリ7の内容を読み出
し、他方のオペランドが到着していなければ、結果パケ
ットをオペランドメモリ7の前記連想記憶部6から出力
されたアドレスへ格納し、オペランドの待ち状態とす
る。また、既に他方のオペランドが格納されていれば、
連想記憶部6から出力された結果パケットは発火可能と
なり、結果パケットに既に格納されているオペランドを
付してスイッチ5へ出力する。このとき、2入力命令で
あることから、スイッチ5の切り換えにより既にオペラ
ンドメモリ7から命令パケット生成部1への経路が設定
されており、このためオペランドメモリ7から出力され
たパケットは命令パケット生成部1へ送られて命令パケ
ットとなる。
6から出力されたアドレスと結果パケットとを受け、ア
ドレスに対応したオペランドメモリ7の内容を読み出
し、他方のオペランドが到着していなければ、結果パケ
ットをオペランドメモリ7の前記連想記憶部6から出力
されたアドレスへ格納し、オペランドの待ち状態とす
る。また、既に他方のオペランドが格納されていれば、
連想記憶部6から出力された結果パケットは発火可能と
なり、結果パケットに既に格納されているオペランドを
付してスイッチ5へ出力する。このとき、2入力命令で
あることから、スイッチ5の切り換えにより既にオペラ
ンドメモリ7から命令パケット生成部1への経路が設定
されており、このためオペランドメモリ7から出力され
たパケットは命令パケット生成部1へ送られて命令パケ
ットとなる。
ここで、連想記憶部6とオペランドメモリ7とから構成
される連想記憶装置及びこの連想記憶装置を発火処理部
に用いたデータ駆動形計算機において、第6図(a)の
データフローグラフを実行する場合を考える。なお、オ
ペランドメモリ7は4つのオペランドを蓄えるだけの容
量を持つこととして以下の説明を行う。
される連想記憶装置及びこの連想記憶装置を発火処理部
に用いたデータ駆動形計算機において、第6図(a)の
データフローグラフを実行する場合を考える。なお、オ
ペランドメモリ7は4つのオペランドを蓄えるだけの容
量を持つこととして以下の説明を行う。
連想記憶部6から出力されるオペランドメモリ7のメモ
リアドレスは4メモリアドレスとなり、第6図(a)の
データフローグラフのノード番号は同図(b)に示すメ
モリアドレスとして連想記憶部6から出力される。この
とき第6図(a)において、ノード番号3の左入力とな
る第1パケットとノード番号7の左入力となる第2パケ
ットは、オペランドメモリ7の同一メモリアドレスを指
すこととなる(メモリアドレス“3")。第2パケットが
第1パケットよりも先にオペランドメモリ7に蓄えられ
た場合、第2パケットはノード番号7の右入力となる第
3パケットを待つことになるが、第3パケットはノード
番号3,5,及び6が実行されないと生成されない。ところ
が、第1パケットと第2パケットとが衝突したことか
ら、第1パケットはオペランドメモリ7へ蓄えられず、
従ってノード番号3は実行されないこととなり、結局デ
ータフローグラフの実行が停止してしまうことになる。
リアドレスは4メモリアドレスとなり、第6図(a)の
データフローグラフのノード番号は同図(b)に示すメ
モリアドレスとして連想記憶部6から出力される。この
とき第6図(a)において、ノード番号3の左入力とな
る第1パケットとノード番号7の左入力となる第2パケ
ットは、オペランドメモリ7の同一メモリアドレスを指
すこととなる(メモリアドレス“3")。第2パケットが
第1パケットよりも先にオペランドメモリ7に蓄えられ
た場合、第2パケットはノード番号7の右入力となる第
3パケットを待つことになるが、第3パケットはノード
番号3,5,及び6が実行されないと生成されない。ところ
が、第1パケットと第2パケットとが衝突したことか
ら、第1パケットはオペランドメモリ7へ蓄えられず、
従ってノード番号3は実行されないこととなり、結局デ
ータフローグラフの実行が停止してしまうことになる。
このように、実行するデータフローグラフのノード数よ
り小さい容量を持つ連想記憶装置及びこの連想記憶装置
を用いたデータ駆動形計算機では、オペランドメモリの
容量より大きなデータフローグラフを実行する際、同一
メモリアドレスを複数のノードが発火のために使用する
ので、パケットの到着順によっては衝突を起こし、デー
タフローグラフの実行を途中で停止させてしまうという
問題点があった。
り小さい容量を持つ連想記憶装置及びこの連想記憶装置
を用いたデータ駆動形計算機では、オペランドメモリの
容量より大きなデータフローグラフを実行する際、同一
メモリアドレスを複数のノードが発火のために使用する
ので、パケットの到着順によっては衝突を起こし、デー
タフローグラフの実行を途中で停止させてしまうという
問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、オペランドメモリ内のパケットとオペランド
メモリへ入力されるパケットが衝突を起こした場合、行
先ノード番号の小さいパケットを優先して蓄えることが
でき、オペランドメモリの容量より大きなノード数を持
つデータフローグラフの実行において、実行を停止させ
ることなく継続して実行できる連想記憶装置及びこの連
想記憶装置を用いたデータ駆動形計算機を得ることを目
的とする。
たもので、オペランドメモリ内のパケットとオペランド
メモリへ入力されるパケットが衝突を起こした場合、行
先ノード番号の小さいパケットを優先して蓄えることが
でき、オペランドメモリの容量より大きなノード数を持
つデータフローグラフの実行において、実行を停止させ
ることなく継続して実行できる連想記憶装置及びこの連
想記憶装置を用いたデータ駆動形計算機を得ることを目
的とする。
本願の第1の発明に係る連想記憶装置は、 入力された第1パケットのタグ(データの識別子)をハ
ッシュし、パケット入力信号及びメモリアドレスを出力
するアドレス変換部と、 前記メモリアドレスを保持するアドレスレジスタと、 前記入力された第1パケットを保持するとともに、パケ
ットが有効であるか無効であるかを示す第1プレゼンス
ビット(以下、PB1と記す)を持つ書き込みレジスタ
と、 パケットさらにはPBを保持し、前記アドレスレジスタか
ら出力されたメモリアドレスに記憶されたパケットの読
み出し,あるいは前記書き込みレジスタの内容の記憶を
行う待ち合わせメモリと、 この待ち合わせメモリから読み出した第2パケットを保
持する読み出しレジスタと、 この読み出しレジスタから出力された第2パケットが有
効か否かを判定し、該判定結果を判定信号として出力す
る空き判定部と、 前記読み出しレジスタから出力された第2パケットと前
記書き込みレジスタから出力された第1パケットのタグ
の比較を行って一致あるいは大小を検出し、「一致」の
場合は第1及び第2パケットの両方を、「不一致」の場
合は両パケットのうちのタグの大きい方を出力するとと
もに、比較結果を第1の比較信号として出力するタグ比
較部と、 このタグ比較部から出力された第2パケットのデータを
第1パケットに付して出力するデータ対生成部と、 前記パケット入力信号,判定信号あるいは第1の比較信
号を受け、前記待ち合わせメモリの読み出し及び書き込
みの制御,前記読み出しレジスタに保持されたPB2を前
記空き判定部に出力するあるいは第2パケットをタグ比
較部へ出力する制御,前記書き込みレジスタに保持され
た第1パケットをタグ比較部へ出力する制御,及び第1
の比較信号が「一致」を示す場合、前記書き込みレジス
タのPB1を無効にする制御を行う制御部とを設けたもの
である。
ッシュし、パケット入力信号及びメモリアドレスを出力
するアドレス変換部と、 前記メモリアドレスを保持するアドレスレジスタと、 前記入力された第1パケットを保持するとともに、パケ
ットが有効であるか無効であるかを示す第1プレゼンス
ビット(以下、PB1と記す)を持つ書き込みレジスタ
と、 パケットさらにはPBを保持し、前記アドレスレジスタか
ら出力されたメモリアドレスに記憶されたパケットの読
み出し,あるいは前記書き込みレジスタの内容の記憶を
行う待ち合わせメモリと、 この待ち合わせメモリから読み出した第2パケットを保
持する読み出しレジスタと、 この読み出しレジスタから出力された第2パケットが有
効か否かを判定し、該判定結果を判定信号として出力す
る空き判定部と、 前記読み出しレジスタから出力された第2パケットと前
記書き込みレジスタから出力された第1パケットのタグ
の比較を行って一致あるいは大小を検出し、「一致」の
場合は第1及び第2パケットの両方を、「不一致」の場
合は両パケットのうちのタグの大きい方を出力するとと
もに、比較結果を第1の比較信号として出力するタグ比
較部と、 このタグ比較部から出力された第2パケットのデータを
第1パケットに付して出力するデータ対生成部と、 前記パケット入力信号,判定信号あるいは第1の比較信
号を受け、前記待ち合わせメモリの読み出し及び書き込
みの制御,前記読み出しレジスタに保持されたPB2を前
記空き判定部に出力するあるいは第2パケットをタグ比
較部へ出力する制御,前記書き込みレジスタに保持され
た第1パケットをタグ比較部へ出力する制御,及び第1
の比較信号が「一致」を示す場合、前記書き込みレジス
タのPB1を無効にする制御を行う制御部とを設けたもの
である。
本願の第2の発明に係るデータ駆動形計算機は、 外部からのパケットを内部へ取り込む入力部と、 このパケットのタグに従ってプログラムを読み出してパ
ケットデータとともに命令パケットとして出力するプロ
グラム記憶部と、 この命令パケットを受けて発火処理し、演算パケットを
出力する発火処理部と、 この演算パケットに対して演算処理を行い、結果パケッ
トを出力する演算処理部と、 前記結果パケットを受けて該結果パケットを外部又は前
記入力部へ出力する出力部とを備え、 前記発火処理部として前記本願の第1の発明に係る連想
記憶装置を用いたものである。
ケットデータとともに命令パケットとして出力するプロ
グラム記憶部と、 この命令パケットを受けて発火処理し、演算パケットを
出力する発火処理部と、 この演算パケットに対して演算処理を行い、結果パケッ
トを出力する演算処理部と、 前記結果パケットを受けて該結果パケットを外部又は前
記入力部へ出力する出力部とを備え、 前記発火処理部として前記本願の第1の発明に係る連想
記憶装置を用いたものである。
本願の第1,第2の発明においては、タグ比較部は書き込
みレジスタから出力された第1パケット及び読み出しレ
ジスタから出力された第2パケットを受け、それらのタ
グの比較を行って一致あるいは大小を検出し、比較結果
を第1の比較信号として制御部及びデータ対生成部へ出
力する。さらに前記第1及び第2パケットのうち、前記
比較結果が「一致」の場合は第1及び第2パケットの両
方を、「不一致」の場合はタグの大きい方のパケットを
データ対生成部へ出力する。前記第1の比較信号を受け
た制御部は、該第1の比較信号が「一致」を示す場合は
書き込みレジスタのPB1を無効として該書き込みレジス
タに保持されている第1パケット及びPB1を待ち合わせ
メモリに書き込む。また、第1の比較信号が第1パケッ
トのタグの方が第2パケットのタグより小さいことを示
している場合には、書き込みレジスタのPB1を有効とし
て書き込みレジスタに保持されている第1パケット及び
PB1を待ち合わせメモリへ書き込む。従ってパケットが
衝突した際、タグの小さい方のパケットが待ち合わせメ
モリに記憶されることとなり、パケットの衝突によって
プログラムが停止することはない。
みレジスタから出力された第1パケット及び読み出しレ
ジスタから出力された第2パケットを受け、それらのタ
グの比較を行って一致あるいは大小を検出し、比較結果
を第1の比較信号として制御部及びデータ対生成部へ出
力する。さらに前記第1及び第2パケットのうち、前記
比較結果が「一致」の場合は第1及び第2パケットの両
方を、「不一致」の場合はタグの大きい方のパケットを
データ対生成部へ出力する。前記第1の比較信号を受け
た制御部は、該第1の比較信号が「一致」を示す場合は
書き込みレジスタのPB1を無効として該書き込みレジス
タに保持されている第1パケット及びPB1を待ち合わせ
メモリに書き込む。また、第1の比較信号が第1パケッ
トのタグの方が第2パケットのタグより小さいことを示
している場合には、書き込みレジスタのPB1を有効とし
て書き込みレジスタに保持されている第1パケット及び
PB1を待ち合わせメモリへ書き込む。従ってパケットが
衝突した際、タグの小さい方のパケットが待ち合わせメ
モリに記憶されることとなり、パケットの衝突によって
プログラムが停止することはない。
以下、本発明の実施例を図について説明する。第1図は
データ駆動形計算機の第1の実施例によるブロック構成
図を示したもので、図において、1は外部よりパケット
を入力する入力部、2はデータフローグラフを記憶し、
前記入力部1から出力されたパケットのタグ(データの
識別子)により命令を読み出し、これを命令パケットと
して出力するプログラム記憶部である。3は発火処理部
であり、前記プログラム記憶部2から出力された命令パ
ケットを受け、該命令パケットが持つタグと同一のタグ
を持つ命令パケットを検出して演算パケットとして出力
するか、あるいは前記プログラム記憶部2から出力され
た命令パケットを記憶するものである。4はこの発火処
理部3から出力された演算パケットを受けて該演算パケ
ットのタグの一部である命令で指定される演算を行い、
結果パケットを出力する演算処理部、5は出力部であ
り、前記演算処理部4からの結果パケットを受けて、そ
のタグの一部である外部フラグが「外部出力」を示す場
合、結果パケットを外部に出力し、前記外部フラグが
「内部出力」を示す場合、前記結果パケットを前記入力
部1へ出力するものである。
データ駆動形計算機の第1の実施例によるブロック構成
図を示したもので、図において、1は外部よりパケット
を入力する入力部、2はデータフローグラフを記憶し、
前記入力部1から出力されたパケットのタグ(データの
識別子)により命令を読み出し、これを命令パケットと
して出力するプログラム記憶部である。3は発火処理部
であり、前記プログラム記憶部2から出力された命令パ
ケットを受け、該命令パケットが持つタグと同一のタグ
を持つ命令パケットを検出して演算パケットとして出力
するか、あるいは前記プログラム記憶部2から出力され
た命令パケットを記憶するものである。4はこの発火処
理部3から出力された演算パケットを受けて該演算パケ
ットのタグの一部である命令で指定される演算を行い、
結果パケットを出力する演算処理部、5は出力部であ
り、前記演算処理部4からの結果パケットを受けて、そ
のタグの一部である外部フラグが「外部出力」を示す場
合、結果パケットを外部に出力し、前記外部フラグが
「内部出力」を示す場合、前記結果パケットを前記入力
部1へ出力するものである。
第2図は前記データ駆動形計算機の発火処理部3として
用いた連想記憶装置のブロック図であり、31は第1命令
パケットのタグをハッシュし、メモリアドレスを決定し
てパケット入力信号及びメモリアドレスを出力するアド
レス変換部、32はこのアドレス変換部31からのメモリア
ドレスを保持するアドレスレジスタである。33は前記第
1命令パケットを保持し、パケットの有効,無効を示す
PBIを持つ書き込みレジスタ、34はパケット及びPBを記
憶する待ち合わせメモリであり、前記アドレスレジスタ
32から出力されたメモリアドレスに記憶されているパケ
ット及びPBの読み出し、あるいは前記アドレスレジスタ
32からのメモリアドレスへの前記書き込みレジスタ33か
らの第1命令パケットの書き込みが行われるものであ
る。35はこの待ち合わせメモリ34から読み出された第2
命令パケット及びPB2を保持する読み出しレジスタであ
る。
用いた連想記憶装置のブロック図であり、31は第1命令
パケットのタグをハッシュし、メモリアドレスを決定し
てパケット入力信号及びメモリアドレスを出力するアド
レス変換部、32はこのアドレス変換部31からのメモリア
ドレスを保持するアドレスレジスタである。33は前記第
1命令パケットを保持し、パケットの有効,無効を示す
PBIを持つ書き込みレジスタ、34はパケット及びPBを記
憶する待ち合わせメモリであり、前記アドレスレジスタ
32から出力されたメモリアドレスに記憶されているパケ
ット及びPBの読み出し、あるいは前記アドレスレジスタ
32からのメモリアドレスへの前記書き込みレジスタ33か
らの第1命令パケットの書き込みが行われるものであ
る。35はこの待ち合わせメモリ34から読み出された第2
命令パケット及びPB2を保持する読み出しレジスタであ
る。
また、36は前記読み出しレジスタ35から出力されたPB2
を調べ、前記第2命令パケットが有効であるか否かを判
定信号として出力する空き判定部、37は前記読み出しレ
ジスタ35から出力された第2命令パケット及び書き込み
レジスタ33から出力された第1命令パケットのタグ比較
を行って一致あるいは大小を検出するタグ比較部であ
り、その比較結果を第1の比較信号として出力するとと
もに、「一致」の場合は第1及び第2命令パケットの両
方を出力し、「不一致」の場合はタグの大きい方を出力
するものである。38はこのタグ比較部37から出力された
第1の比較信号及び第1,第2命令パケットのうちの両方
あるいは一方を受けて演算パケット又はスルーパケット
を出力するデータ対生成部であり、第1の比較信号が
「一致」を示す場合は前記第2命令パケットのデータを
第1命令パケットに付けて演算パケットとして出力し、
「不一致」を示す場合は前記第1,第2命令パケットのう
ちタグの大きい方に対して、タグの一部であるスルーパ
ケットフラグをスルーとし、スルーパケットとして出力
するものである。
を調べ、前記第2命令パケットが有効であるか否かを判
定信号として出力する空き判定部、37は前記読み出しレ
ジスタ35から出力された第2命令パケット及び書き込み
レジスタ33から出力された第1命令パケットのタグ比較
を行って一致あるいは大小を検出するタグ比較部であ
り、その比較結果を第1の比較信号として出力するとと
もに、「一致」の場合は第1及び第2命令パケットの両
方を出力し、「不一致」の場合はタグの大きい方を出力
するものである。38はこのタグ比較部37から出力された
第1の比較信号及び第1,第2命令パケットのうちの両方
あるいは一方を受けて演算パケット又はスルーパケット
を出力するデータ対生成部であり、第1の比較信号が
「一致」を示す場合は前記第2命令パケットのデータを
第1命令パケットに付けて演算パケットとして出力し、
「不一致」を示す場合は前記第1,第2命令パケットのう
ちタグの大きい方に対して、タグの一部であるスルーパ
ケットフラグをスルーとし、スルーパケットとして出力
するものである。
また、39は前記パケット入力信号,判定信号及び第1の
比較信号を受けて以下の制御を行う制御部である。即
ち、 待ち合わせメモリ34の読み出しあるいは書き込みの
制御 読み出しレジスタ35のPB2を空き判定部36へ、ある
いは第2命令パケットをタグ比較部37へ出力する制御 書き込みレジスタ33の第1命令パケットをタグ比較
部37へ出力する制御、及び 第1の比較信号が「一致」を示す場合、書き込みレ
ジスタ33のPB1を無効とし、「不一致」を示す場合、該P
B1を有効として待ち合わせメモリ34へ命令パケット及び
PB1を書き込む制御 を行うものである。
比較信号を受けて以下の制御を行う制御部である。即
ち、 待ち合わせメモリ34の読み出しあるいは書き込みの
制御 読み出しレジスタ35のPB2を空き判定部36へ、ある
いは第2命令パケットをタグ比較部37へ出力する制御 書き込みレジスタ33の第1命令パケットをタグ比較
部37へ出力する制御、及び 第1の比較信号が「一致」を示す場合、書き込みレ
ジスタ33のPB1を無効とし、「不一致」を示す場合、該P
B1を有効として待ち合わせメモリ34へ命令パケット及び
PB1を書き込む制御 を行うものである。
第3図は前記タグ比較部37のブロック図であり、371,37
2はそれぞれ第1,第2の比較回路であり、第1の比較回
路371は、前記読み出しレジスタ35及び書き込みレジス
タ33から出力された第2及び第1命令パケットのタグの
一部である世代番号あるいはカラー番号をそれぞれ入力
してそれらの比較を行い、一致あるいは大小を検出して
その検出結果を第2の比較信号として出力するものであ
る。また第2の比較回路372は、前記両レジスタ35,33か
ら出力された第2及び第1命令パケットのタグの一部で
ある行先ノード番号をそれぞれ入力してそれらの比較を
行い、一致あるいは大小を検出してその検出結果を第3
の比較番号として出力するものである。373は前記読み
出しレジスタ35から出力された第2命令パケットを保持
する第2のレジスタ、374は前記書き込みレジスタ33か
ら出力された第1命令パケットを保持する第1のレジス
タである。また、375は前記第2,第3の比較信号を受け
てそのいずれか一方を前記第1の比較信号として出力す
るとともに、第1,第2のレジスタ374,373を制御する比
較判定回路であり、より詳しくは、第2の比較信号が
「不一致」を示す場合、該第2の比較信号を第1の比較
信号とし、第2の比較信号が「一致」を示す場合、第3
の比較信号を第1の比較信号として出力し、また第1の
比較信号で第1,第2のレジスタ374,373に保持されてい
る第1及び第2命令パケットの出力を制御するものであ
る。
2はそれぞれ第1,第2の比較回路であり、第1の比較回
路371は、前記読み出しレジスタ35及び書き込みレジス
タ33から出力された第2及び第1命令パケットのタグの
一部である世代番号あるいはカラー番号をそれぞれ入力
してそれらの比較を行い、一致あるいは大小を検出して
その検出結果を第2の比較信号として出力するものであ
る。また第2の比較回路372は、前記両レジスタ35,33か
ら出力された第2及び第1命令パケットのタグの一部で
ある行先ノード番号をそれぞれ入力してそれらの比較を
行い、一致あるいは大小を検出してその検出結果を第3
の比較番号として出力するものである。373は前記読み
出しレジスタ35から出力された第2命令パケットを保持
する第2のレジスタ、374は前記書き込みレジスタ33か
ら出力された第1命令パケットを保持する第1のレジス
タである。また、375は前記第2,第3の比較信号を受け
てそのいずれか一方を前記第1の比較信号として出力す
るとともに、第1,第2のレジスタ374,373を制御する比
較判定回路であり、より詳しくは、第2の比較信号が
「不一致」を示す場合、該第2の比較信号を第1の比較
信号とし、第2の比較信号が「一致」を示す場合、第3
の比較信号を第1の比較信号として出力し、また第1の
比較信号で第1,第2のレジスタ374,373に保持されてい
る第1及び第2命令パケットの出力を制御するものであ
る。
次に動作について説明する。
本データ駆動形計算機で使用するパケットフォーマット
を第4図に示す。パケットはタグ(データの識別子)と
第1データ及び第2データで構成され、タグはスルーパ
ケットフラグ,外部フラグ,世代番号あるいはカラー番
号,行先ノード番号,命令,及びL/Rフラグで構成され
る。
を第4図に示す。パケットはタグ(データの識別子)と
第1データ及び第2データで構成され、タグはスルーパ
ケットフラグ,外部フラグ,世代番号あるいはカラー番
号,行先ノード番号,命令,及びL/Rフラグで構成され
る。
入力部1は外部から入力されるタグと第1データを持つ
パケット及び出力部5から出力されるタグと第1データ
を持つパケットを入力し、プログラム記憶部2へこれら
を出力する。プログラム記憶部2はデータフローグラフ
をそのメモリに記憶しており、パケットを入力すると、
入力パケットのタグの一部である行先ノード番号をアド
レスとしてメモリから行先ノード番号,命令,及び入力
パケットの持つデータが命令の左入力となるか右入力と
なるかを示すL/Rフラグを読み出し、入力パケットのタ
グの一部である行先ノード番号,命令,及びL/Rフラグ
を更新して第1データとともに第1命令パケットとして
出力する。
パケット及び出力部5から出力されるタグと第1データ
を持つパケットを入力し、プログラム記憶部2へこれら
を出力する。プログラム記憶部2はデータフローグラフ
をそのメモリに記憶しており、パケットを入力すると、
入力パケットのタグの一部である行先ノード番号をアド
レスとしてメモリから行先ノード番号,命令,及び入力
パケットの持つデータが命令の左入力となるか右入力と
なるかを示すL/Rフラグを読み出し、入力パケットのタ
グの一部である行先ノード番号,命令,及びL/Rフラグ
を更新して第1データとともに第1命令パケットとして
出力する。
この第1命令パケットは発火処理部3へ入力され、該発
火処理部3は演算パケットを出力する。この発火処理部
3は第2図に示した連想記憶装置を用いており、この動
作を第2図を用いて説明する。プログラム記憶部2から
出力された第1命令パケットはアドレス変換部31及び書
き込みレジスタ33へ入力される。アドレス変換部31は第
1命令パケットが入力されたことを示すパケット入力信
号を制御部39に出力するとともに、第1命令パケットの
タグの一部である世代番号あるいはカラー番号及び行先
ノード番号をハッシュし、待ち合わせメモリ34のメモリ
アドレスを決定して出力する。パケット入力信号が入力
された制御部39は、アドレスレジスタ32へアドレス変換
部31から出力されたメモリアドレスを保持する制御を行
い、これによりアドレスレジスタ32はメモリアドレスを
保持する。次に制御部39は、待ち合わせメモリ34へメモ
リの読み出しあるいは書き込みのモードを示すモード信
号を、「読み出し」として出力し、アドレスレジスタ32
に対して該アドレスレジスタ32が保持しているメモリア
ドレスを待ち合わせメモリ34へ出力する制御をかける。
モード信号及びメモリアドレスが入力される待ち合わせ
メモリ34は、第5図に示すように、タグ,データを持つ
命令パケット,及びPBを1つの情報として持っている。
この情報のうちPBはタグ及びデータが有効であるか否か
を示すビットである。
火処理部3は演算パケットを出力する。この発火処理部
3は第2図に示した連想記憶装置を用いており、この動
作を第2図を用いて説明する。プログラム記憶部2から
出力された第1命令パケットはアドレス変換部31及び書
き込みレジスタ33へ入力される。アドレス変換部31は第
1命令パケットが入力されたことを示すパケット入力信
号を制御部39に出力するとともに、第1命令パケットの
タグの一部である世代番号あるいはカラー番号及び行先
ノード番号をハッシュし、待ち合わせメモリ34のメモリ
アドレスを決定して出力する。パケット入力信号が入力
された制御部39は、アドレスレジスタ32へアドレス変換
部31から出力されたメモリアドレスを保持する制御を行
い、これによりアドレスレジスタ32はメモリアドレスを
保持する。次に制御部39は、待ち合わせメモリ34へメモ
リの読み出しあるいは書き込みのモードを示すモード信
号を、「読み出し」として出力し、アドレスレジスタ32
に対して該アドレスレジスタ32が保持しているメモリア
ドレスを待ち合わせメモリ34へ出力する制御をかける。
モード信号及びメモリアドレスが入力される待ち合わせ
メモリ34は、第5図に示すように、タグ,データを持つ
命令パケット,及びPBを1つの情報として持っている。
この情報のうちPBはタグ及びデータが有効であるか否か
を示すビットである。
待ち合わせメモリ34はモード信号及びアドレスレジスタ
32から出力されたメモリアドレスを入力し、メモリアド
レスが指定する待ち合わせメモリ34に記憶されているPB
及び命令パケットを読み出し、これを読み出しレジスタ
35に出力する。読み出しレジスタ35に保持されたPB2
は、制御部39からの制御によって読み出しレジスタ35か
ら空き判定部36へ出力される。空き判定部36は、読み出
しレジスタ35から出力されたPB2を判定信号として制御
部39へ出力する。判定信号を入力した制御部39は、判定
信号が無効を示す場合、書き込みレジスタ33のPB1に有
効を書き込み、モード信号を「書き込み」として待ち合
わせメモリ34へ出力し、アドレスレジスタ32に対して該
アドレスレジスタ32が保持しているメモリアドレスを待
ち合わせメモリ34へ出力する制御を行うとともに、書き
込みレジスタ33に対して、書き込みレジスタ33が保持し
ている第1命令パケット及びPB1を待ち合わせメモリ34
へ出力する制御を行う。「書き込み」のモードを示した
モード信号が入力された待ち合わせメモリ34は、アドレ
スレジスタ32から出力されたメモリアドレスへ書き込み
レジスタ33から出力された第1命令パケットとPB1とを
記憶する。従って判定信号が無効を示す場合は、アドレ
スレジスタ32に保持されたメモリアドレスが指定する待
ち合わせメモリ34の領域は空きであることから、書き込
みレジスタ33に保持された第1命令パケット及びPB1は
待ち合わせメモリ34へ記憶され、同一タグを持つ命令パ
ケットを持つこととなる。
32から出力されたメモリアドレスを入力し、メモリアド
レスが指定する待ち合わせメモリ34に記憶されているPB
及び命令パケットを読み出し、これを読み出しレジスタ
35に出力する。読み出しレジスタ35に保持されたPB2
は、制御部39からの制御によって読み出しレジスタ35か
ら空き判定部36へ出力される。空き判定部36は、読み出
しレジスタ35から出力されたPB2を判定信号として制御
部39へ出力する。判定信号を入力した制御部39は、判定
信号が無効を示す場合、書き込みレジスタ33のPB1に有
効を書き込み、モード信号を「書き込み」として待ち合
わせメモリ34へ出力し、アドレスレジスタ32に対して該
アドレスレジスタ32が保持しているメモリアドレスを待
ち合わせメモリ34へ出力する制御を行うとともに、書き
込みレジスタ33に対して、書き込みレジスタ33が保持し
ている第1命令パケット及びPB1を待ち合わせメモリ34
へ出力する制御を行う。「書き込み」のモードを示した
モード信号が入力された待ち合わせメモリ34は、アドレ
スレジスタ32から出力されたメモリアドレスへ書き込み
レジスタ33から出力された第1命令パケットとPB1とを
記憶する。従って判定信号が無効を示す場合は、アドレ
スレジスタ32に保持されたメモリアドレスが指定する待
ち合わせメモリ34の領域は空きであることから、書き込
みレジスタ33に保持された第1命令パケット及びPB1は
待ち合わせメモリ34へ記憶され、同一タグを持つ命令パ
ケットを持つこととなる。
判定信号が有効を示す場合、制御部39は、書き込みレジ
スタ33及び読み出しレジスタ35に保持されている第1及
び第2命令パケット2をタグ比較部37へ出力する制御を
書き込みレジスタ33及び読み出しレジスタ35に対して行
う。
スタ33及び読み出しレジスタ35に保持されている第1及
び第2命令パケット2をタグ比較部37へ出力する制御を
書き込みレジスタ33及び読み出しレジスタ35に対して行
う。
次にタグ比較部37の動作を第3図に示したブロック図に
従って説明する。書き込みレジスタ33から出力された第
1命令パケットは第1のレジスタ374に保持される。ま
た、読み出しレジスタ35から出力された第2命令パケッ
トは第2のレジスタ373に保持される。書き込みレジス
タ33及び読み出しレジスタ35から出力された第1及び第
2命令パケットのタグの一部である世代番号あるいはカ
ラー番号は第1の比較回路371へ、行先ノード番号は第
2の比較回路372へ送られる。第1の比較回路371は両命
令パケットの世代番号あるいはカラー番号を比較し、一
致あるいは大小を検出してその比較結果を第2の比較信
号として比較出力判定回路375へ出力する。また第2の
比較回路372は、両命令パケットの行先ノード番号を比
較し、一致あるいは大小を検出してその比較結果を第3
の比較信号として比較出力判定回路375へ出力する。比
較出力判定回路375は、第2の比較信号が「不一致(パ
ケットが衝突)」を示せば第2の比較信号を第1の比較
信号として出力し、両命令パケットのうち世代番号ある
いはカラー番号の大きい方を出力する制御を第1,第2の
レジスタ374,373に対して行う。また、第2の比較信号
が「一致」を示せば第3の比較信号を第1の比較信号と
して出力し、第3の比較信号が「一致」を示せば両命令
パケットを、「不一致(パケットが衝突)」を示せば両
命令パケットのうちの行先ノード番号の大きい方を出力
する制御を第1,第2のレジスタ374,373に対して行う。
従って説明する。書き込みレジスタ33から出力された第
1命令パケットは第1のレジスタ374に保持される。ま
た、読み出しレジスタ35から出力された第2命令パケッ
トは第2のレジスタ373に保持される。書き込みレジス
タ33及び読み出しレジスタ35から出力された第1及び第
2命令パケットのタグの一部である世代番号あるいはカ
ラー番号は第1の比較回路371へ、行先ノード番号は第
2の比較回路372へ送られる。第1の比較回路371は両命
令パケットの世代番号あるいはカラー番号を比較し、一
致あるいは大小を検出してその比較結果を第2の比較信
号として比較出力判定回路375へ出力する。また第2の
比較回路372は、両命令パケットの行先ノード番号を比
較し、一致あるいは大小を検出してその比較結果を第3
の比較信号として比較出力判定回路375へ出力する。比
較出力判定回路375は、第2の比較信号が「不一致(パ
ケットが衝突)」を示せば第2の比較信号を第1の比較
信号として出力し、両命令パケットのうち世代番号ある
いはカラー番号の大きい方を出力する制御を第1,第2の
レジスタ374,373に対して行う。また、第2の比較信号
が「一致」を示せば第3の比較信号を第1の比較信号と
して出力し、第3の比較信号が「一致」を示せば両命令
パケットを、「不一致(パケットが衝突)」を示せば両
命令パケットのうちの行先ノード番号の大きい方を出力
する制御を第1,第2のレジスタ374,373に対して行う。
データ対生成部38は、タグ比較部37から出力された第1
の比較信号,第1,第2命令パケットの両方あるいは一方
を入力し、第1の比較信号が「一致」を示せば、第2命
令パケットのL/Rフラグが示す第1命令パケットのデー
タ部へ、第2命令パケットのデータを付け(発火)、演
算パケットとして出力する。また、第1の比較信号が
「不一致」を示せば、第1あるいは第2命令パケットの
スルーパケットフラグをスルーとし、この命令パケット
をスルーパケットとして出力する。
の比較信号,第1,第2命令パケットの両方あるいは一方
を入力し、第1の比較信号が「一致」を示せば、第2命
令パケットのL/Rフラグが示す第1命令パケットのデー
タ部へ、第2命令パケットのデータを付け(発火)、演
算パケットとして出力する。また、第1の比較信号が
「不一致」を示せば、第1あるいは第2命令パケットの
スルーパケットフラグをスルーとし、この命令パケット
をスルーパケットとして出力する。
また、制御部39は第1の比較信号を入力し、この第1の
比較信号が「一致」を示せば書き込みレジスタ33のPB1
を無効とし、第1命令パケットのタグが第2命令パケッ
トのタグより小さいことを示せば書き込みレジスタ33の
PB1を有効とする。また、これとともに待ち合わせメモ
リ34へ「書き込み」を示すモード信号を出力し、アドレ
スレジスタ32に該アドレスレジスタ32が保持しているメ
モリアドレスを出力する制御、書き込みレジスタ33に該
書き込みレジスタ33が保持している第1命令パケット及
びPB1を出力する制御を行い、これにより待ち合わせメ
モリ34へ第1命令パケット及びPB1を記憶させる。
比較信号が「一致」を示せば書き込みレジスタ33のPB1
を無効とし、第1命令パケットのタグが第2命令パケッ
トのタグより小さいことを示せば書き込みレジスタ33の
PB1を有効とする。また、これとともに待ち合わせメモ
リ34へ「書き込み」を示すモード信号を出力し、アドレ
スレジスタ32に該アドレスレジスタ32が保持しているメ
モリアドレスを出力する制御、書き込みレジスタ33に該
書き込みレジスタ33が保持している第1命令パケット及
びPB1を出力する制御を行い、これにより待ち合わせメ
モリ34へ第1命令パケット及びPB1を記憶させる。
上記動作によって、第1及び第2命令パケットのタグが
一致すれば、第1命令パケットと第2命令パケットとは
発火し、演算パケットとして出力され、メモリ34の第2
命令パケットが記憶されていた領域を無効とするため、
書き込みレジスタ33のPB1は無効とされてメモリ34へ書
き込まれる。
一致すれば、第1命令パケットと第2命令パケットとは
発火し、演算パケットとして出力され、メモリ34の第2
命令パケットが記憶されていた領域を無効とするため、
書き込みレジスタ33のPB1は無効とされてメモリ34へ書
き込まれる。
また、第1,第2命令パケットのタグが一致せず(パケッ
トが衝突)、第1命令パケットのタグの方が第2命令パ
ケットのタグより小さい場合、待ち合わせメモリ34へ記
憶されていた第2命令パケットと連想記憶装置に入力さ
れた命令パケットが入れ換えられることになる。第1命
令パケットのタグの方が第2命令パケットのタグより大
きい場合は、待ち合わせメモリ34へ記憶されていた第2
命令パケットはそのまま記憶され、第1命令パケットが
出力されることになる。
トが衝突)、第1命令パケットのタグの方が第2命令パ
ケットのタグより小さい場合、待ち合わせメモリ34へ記
憶されていた第2命令パケットと連想記憶装置に入力さ
れた命令パケットが入れ換えられることになる。第1命
令パケットのタグの方が第2命令パケットのタグより大
きい場合は、待ち合わせメモリ34へ記憶されていた第2
命令パケットはそのまま記憶され、第1命令パケットが
出力されることになる。
ここで、第6図(a)及び(b)を用いて連想記憶装置
の動作を説明する。ここでは、説明を簡単にするため、
パケットの世代番号あるいはカラー番号は全て同一と
し、待ち合わせ領域として使用するメモリは4パケット
を記憶できるものである。行先ノード番号として“3"を
持つ第1及び第4パケットと行先ノード番号として“7"
を持つ第2及び第3パケットは同一メモリアドレス“3"
を待ち合わせ領域として使用する。そこで、第1パケッ
トが入力されて次に第4パケットが入力されると、第1
及び第4パケットは行先ノード番号がどちらも“3"であ
ることから発火し、演算パケットとして出力される。
の動作を説明する。ここでは、説明を簡単にするため、
パケットの世代番号あるいはカラー番号は全て同一と
し、待ち合わせ領域として使用するメモリは4パケット
を記憶できるものである。行先ノード番号として“3"を
持つ第1及び第4パケットと行先ノード番号として“7"
を持つ第2及び第3パケットは同一メモリアドレス“3"
を待ち合わせ領域として使用する。そこで、第1パケッ
トが入力されて次に第4パケットが入力されると、第1
及び第4パケットは行先ノード番号がどちらも“3"であ
ることから発火し、演算パケットとして出力される。
ここで、第1パケットが入力され、次に第2パケットが
入力された場合について考える。第1パケットが入力さ
れると、第1パケットが行先ノード番号として“3"を持
っているのでメモリアドレス“3"に記憶される。第2パ
ケットは行先ノード番号として“7"を持っているので、
やはりメモリアドレス“3"を示すことになる。そこで、
第1パケットと第2パケットの行先ノード番号の比較が
行われ、第2パケットの行先ノード番号の方が大きい
(パケットが衝突した)ことから、第2パケットはその
スルーパケットフラグがスルーとなってスルーパケット
として出力され、第1パケットはそのままメモリアドレ
ス“3"に記憶され、第4パケットを待つことになる。
入力された場合について考える。第1パケットが入力さ
れると、第1パケットが行先ノード番号として“3"を持
っているのでメモリアドレス“3"に記憶される。第2パ
ケットは行先ノード番号として“7"を持っているので、
やはりメモリアドレス“3"を示すことになる。そこで、
第1パケットと第2パケットの行先ノード番号の比較が
行われ、第2パケットの行先ノード番号の方が大きい
(パケットが衝突した)ことから、第2パケットはその
スルーパケットフラグがスルーとなってスルーパケット
として出力され、第1パケットはそのままメモリアドレ
ス“3"に記憶され、第4パケットを待つことになる。
次に第2パケットが入力され、続いて第1パケットが入
力される場合について考える。第2パケットは行先ノー
ド番号として“7"を持ち、メモリアドレス“3"に記憶さ
れる。この状態で第1パケットが入力されると、第1パ
ケットが持つ行先ノード番号は“3"であることから、や
はりメモリアドレス“3"を示す。そこで、第1パケット
と第2パケットの行先ノード番号の比較が行われ、第1
パケットの行先ノード番号の方が小さい(パケットが衝
突した)ことから、メモリアドレス“3"に記憶されてい
た第2パケットはそのスルーパケットフラグがスルーと
なってスルーパケットとして出力され、その代わりに第
1パケットがメモリアドレス“3"に記憶されることにな
る。
力される場合について考える。第2パケットは行先ノー
ド番号として“7"を持ち、メモリアドレス“3"に記憶さ
れる。この状態で第1パケットが入力されると、第1パ
ケットが持つ行先ノード番号は“3"であることから、や
はりメモリアドレス“3"を示す。そこで、第1パケット
と第2パケットの行先ノード番号の比較が行われ、第1
パケットの行先ノード番号の方が小さい(パケットが衝
突した)ことから、メモリアドレス“3"に記憶されてい
た第2パケットはそのスルーパケットフラグがスルーと
なってスルーパケットとして出力され、その代わりに第
1パケットがメモリアドレス“3"に記憶されることにな
る。
連想記憶装置を用いた発火処理部3から出力された演算
パケットは、演算処理部4へ入力され、演算パケットの
タグの一部である命令に従ってデータに対して演算処理
が行われ、結果パケットが出力される。出力部5は演算
処理部4から結果パケットを入力し、結果パケットのタ
グの一部である外部フラグを判定し、外部フラグが外部
出力を示せば結果パケットを外部に出力し、外部フラグ
が内部出力を示せば結果パケットを入力部1に出力す
る。発火処理部3から出力されるスルーパケットは、演
算処理部4及びプログラム記憶部2では処理を受けず
に、再び発火処理部3へ戻って命令パケットとして再び
発火処理を受けることになる。
パケットは、演算処理部4へ入力され、演算パケットの
タグの一部である命令に従ってデータに対して演算処理
が行われ、結果パケットが出力される。出力部5は演算
処理部4から結果パケットを入力し、結果パケットのタ
グの一部である外部フラグを判定し、外部フラグが外部
出力を示せば結果パケットを外部に出力し、外部フラグ
が内部出力を示せば結果パケットを入力部1に出力す
る。発火処理部3から出力されるスルーパケットは、演
算処理部4及びプログラム記憶部2では処理を受けず
に、再び発火処理部3へ戻って命令パケットとして再び
発火処理を受けることになる。
次にデータ駆動形計算機の第2の実施例を第8図を用い
て説明する。前記第1の実施例では、発火処理部3から
出力されたスルーパケットは結果パケットと同様の経路
を通ることとしたが、この第2の実施例では、発火処理
部3と演算処理部4との間にスルーパケットを分岐させ
る分岐機構6を設け、プログラム記憶部2と発火処理部
3との間にスルーパケットを合流させる合流機構7を設
け、さらに分岐機構6と合流機構7との間に、スルーパ
ケットが流れるローカルパスを設けたものである。
て説明する。前記第1の実施例では、発火処理部3から
出力されたスルーパケットは結果パケットと同様の経路
を通ることとしたが、この第2の実施例では、発火処理
部3と演算処理部4との間にスルーパケットを分岐させ
る分岐機構6を設け、プログラム記憶部2と発火処理部
3との間にスルーパケットを合流させる合流機構7を設
け、さらに分岐機構6と合流機構7との間に、スルーパ
ケットが流れるローカルパスを設けたものである。
このような実施例では、演算処理部4及びプログラム記
憶部2に、そのパケットがスルーパケットであるか否か
を判定する手段が不要となり、処理が固定される。ま
た、スルーパケットを最短経路で発火処理部3に入力す
ることができる。
憶部2に、そのパケットがスルーパケットであるか否か
を判定する手段が不要となり、処理が固定される。ま
た、スルーパケットを最短経路で発火処理部3に入力す
ることができる。
なお、この第2の実施例ではスルーパケットが流れるロ
ーカルパスを設けたが、第9図に示すように分岐機構6
と合流機構7との間にバッファ8を設けてもよく、この
第9図に示した実施例によれば、スルーパケットが流れ
る経路上に、複数個のスルーパケットを流すことができ
る。
ーカルパスを設けたが、第9図に示すように分岐機構6
と合流機構7との間にバッファ8を設けてもよく、この
第9図に示した実施例によれば、スルーパケットが流れ
る経路上に、複数個のスルーパケットを流すことができ
る。
以上のように、この発明によれば、パケットが衝突した
際、衝突したパケットのタグを比較し、タグの小さい方
のパケットをメモリ内に残すようにしたので、パケット
の衝突によってプログラムが停止することなく継続して
実行でき、小容量のメモリを持つ連想記憶装置及び小容
量のメモリを持つ連想記憶装置を発火処理部に用いたデ
ータ駆動形計算機が得られる効果がある。
際、衝突したパケットのタグを比較し、タグの小さい方
のパケットをメモリ内に残すようにしたので、パケット
の衝突によってプログラムが停止することなく継続して
実行でき、小容量のメモリを持つ連想記憶装置及び小容
量のメモリを持つ連想記憶装置を発火処理部に用いたデ
ータ駆動形計算機が得られる効果がある。
第1図はこの発明の第1の実施例によるデータ駆動形計
算機のブロック図、第2図は該計算機を構成する発火処
理部として用いた連想記憶装置の一実施例のブロック
図、第3図は該連想記憶装置を構成するタグ比較部のブ
ロック図、第4図は該連想記憶装置のパケットを示す
図、第5図は該連想記憶装置を構成するメモリの内容を
示す図、第6図(a)はデータフローグラフを示す図、
第6図(b)はメモリアドレスとノード番号の関係を示
す図、第7図は従来の連想記憶装置及び連想記憶装置を
用いたデータ駆動形計算機のブロック図、第8図はこの
発明に係るデータ駆動形計算機の第2の実施例のブロッ
ク図、第9図はこの発明に係るデータ駆動形計算機の第
3の実施例のブロック図である。 1……入力部、2……プログラム記憶部、3……発火処
理部、31……アドレス変換部、32……アドレスレジス
タ、33……書き込みレジスタ、34……待ち合わせメモ
リ、35……読み出しレジスタ、36……空き判定部、37…
…タグ比較部、371……第1の比較回路、372……第2の
比較回路、373……第2のレジスタ、374……第1のレジ
スタ、375……比較出力判定回路、38……データ対生成
部、39……制御部、4……演算処理部、5……出力部、
6……分岐機構、7……合流機構、8……バッファ。 なお図中同一符号は同一又は相当部分を示す。
算機のブロック図、第2図は該計算機を構成する発火処
理部として用いた連想記憶装置の一実施例のブロック
図、第3図は該連想記憶装置を構成するタグ比較部のブ
ロック図、第4図は該連想記憶装置のパケットを示す
図、第5図は該連想記憶装置を構成するメモリの内容を
示す図、第6図(a)はデータフローグラフを示す図、
第6図(b)はメモリアドレスとノード番号の関係を示
す図、第7図は従来の連想記憶装置及び連想記憶装置を
用いたデータ駆動形計算機のブロック図、第8図はこの
発明に係るデータ駆動形計算機の第2の実施例のブロッ
ク図、第9図はこの発明に係るデータ駆動形計算機の第
3の実施例のブロック図である。 1……入力部、2……プログラム記憶部、3……発火処
理部、31……アドレス変換部、32……アドレスレジス
タ、33……書き込みレジスタ、34……待ち合わせメモ
リ、35……読み出しレジスタ、36……空き判定部、37…
…タグ比較部、371……第1の比較回路、372……第2の
比較回路、373……第2のレジスタ、374……第1のレジ
スタ、375……比較出力判定回路、38……データ対生成
部、39……制御部、4……演算処理部、5……出力部、
6……分岐機構、7……合流機構、8……バッファ。 なお図中同一符号は同一又は相当部分を示す。
Claims (7)
- 【請求項1】入力されたタグ及びデータを有する第1の
入力パケットのタグをハッシュし、メモリアドレスを決
定してパケット入力信号及びメモリアドレスを出力する
アドレス変換部と、 このアドレス変換部から出力されたメモリアドレスを保
持するアドレスレジスタと、 前記第1パケットを保持するとともに、該パケットの有
効,無効を示す第1プレゼンスビットを有する書き込み
レジスタと、 前記アドレスレジスタから出力されたメモリアドレスへ
前記書き込みレジスタに保持された前記第1パケット及
び第1プレゼンスビットを記憶する待ち合わせメモリ
と、 この待ち合わせメモリから読み出された第2パケット及
び第2プレゼンスビットを保持する読み出しレジスタ
と、 この読み出しレジスタから出力された第2プレゼンスビ
ットにより前記第2パケットが有効であるか否かを検出
し、該検出結果を判定信号として出力する空き判定部
と、 前記書き込みレジスタ,読み出しレジスタの第1,第2パ
ケットのタグの比較を行って第1の比較信号を出力する
とともに、両者が一致する場合は前記両パケットを、不
一致の場合は両者のタグの比較結果に応じて両パケット
のうちのいずれか一方を出力するタグ比較部と、 このタグ比較部から出力された前記第2パケットのデー
タを前記第1パケットに付して出力するデータ対生成部
と、 前記パケット入力信号,判定信号,及び第1の比較信号
を受け、前記待ち合わせメモリの読み出しあるいは書き
込みの制御、前記読み出しレジスタが保持している第2
プレゼンスビットを前記空き判定部へ、第2パケットを
前記タグ比較部へそれぞれ出力する制御、前記書き込み
レジスタが保持している第1パケットを前記タグ比較部
へ出力する制御、及び前記第1の比較信号が一致を示す
場合前記書き込みレジスタの第1プレゼンスビットを無
効にする制御を行う制御部とを備えたことを特徴とする
連想記憶装置。 - 【請求項2】前記タグ比較部は、タグ比較の結果として
タグの大小を示す第1の比較信号と、第1及び第2パケ
ットのうちタグの大きい方のパケットとを出力するもの
であり、 前記データ対生成部は、前記第1の比較信号を受けて前
記第1及び第2パケットの両方又はそのいずれか一方を
出力するものであり、 前記制御部は、前記第1の比較信号が前記第2パケット
のタグの方が第1パケットのそれより大きいことを示す
場合、前記書き込みレジスタの第1プレゼンスビットを
有効として前記待ち合わせメモリのアドレスレジスタの
内容が指すメモリアドレスへ前記書き込みレジスタが保
持している第1パケット及び第1プレゼンスビットを出
力せしめ、当該アドレスの第2パケットを読み出すとと
もに前記第1パケットを書き込んで前記待ち合わせメモ
リの内容を入れ換える機能を有するものであることを特
徴とする特許請求の範囲第1項記載の連想記憶装置。 - 【請求項3】前記第1パケットのタグは、前記第1の比
較信号が不一致の場合に付されるスルーパケットフラ
グ,世代番号あるいはカラー番号,行先ノード番号,命
令,及びL/Rフラグを有するものであり、 前記タグ比較部は、 第1,第2パケットのタグの世代番号あるいはカラー番号
の比較を行ってその一致あるいは大小を示す第2の比較
信号を出力する第1の比較回路と、 前記タグの行先ノードの比較を行ってその一致及び大小
を示す第3の比較信号を出力する第2の比較回路と、 前記読み出しレジスタから出力された第2パケットを保
持する第2のレジスタと、 前記書き込みレジスタから出力された第1パケットを保
持する第1のレジスタと、 前記第2の比較信号及び第3の比較信号を受け、 前記第2の比較信号が一致を示さない場合、前記第2の
比較信号を第1の比較信号として出力するとともに、前
記第1あるいは第2パケットのうち世代番号あるいはカ
ラー番号の大きい方のパケットを、そのスルーパケット
フラグをスルーとして前記データ対生成部へ出力し、 前記第2の比較信号が一致を示す場合、前記第3の比較
信号を前記第1の比較信号として出力し、 前記第3の比較信号が一致を示す場合、前記第1及び第
2のレジスタに保持されている第1及び第2パケットの
両方を、前記第3の比較信号が一致を示さない場合、前
記第1あるいは第2パケットのうち行先ノード番号の大
きい方のパケットを、そのスルーパケットフラグをスル
ーとして前記データ対生成部へ出力せしめる比較出力判
定回路とを備えたものであることを特徴とする特許請求
の範囲第1項又は第2項記載の連想記憶装置。 - 【請求項4】外部から入力された第1データを持つパケ
ットを内部へ取り込む入力部と、 この入力部から出力されたパケットを受け、該パケット
のタグに従って既に記憶されているプログラムを読み出
し、読み出した内容を新たなタグとして前記第1データ
とともに命令パケットとして出力するプログラム記憶部
と、 この命令パケットを受け、前記第1データが持つタグと
同一のタグを持つ第2データを検出し、演算パケットと
して前記第1データ及び第2データを対として出力する
発火処理部と、 この演算パケットを受け、タグの一部である命令に従っ
て演算処理を行い、結果パケットとして出力する演算処
理部と、 この結果パケットを受けて該結果パケットが持つタグを
判定し、外部へ出力するか前記入力部へ出力するかを制
御する出力部とを備え、 前記発火処理部は、 入力されたタグ及びデータを有する第1の入力パケット
のタグをハッシュし、メモリアドレスを決定してパケッ
ト入力信号及びメモリアドレスを出力するアドレス変換
部と、 このアドレス変換部から出力されたメモリアドレスを保
持するアドレスレジスタと、 前記第1パケットを保持するとともに、該パケットの有
効,無効を示す第1プレゼンスビットを有する書き込み
レジスタと、 前記アドレスレジスタから出力されたメモリアドレスへ
前記書き込みレジスタに保持された前記第1パケット及
び第1プレゼンスビットを記憶する待ち合わせメモリ
と、 この待ち合わせメモリから読み出された第2パケット及
び第2プレゼンスビットを保持する読み出しレジスタ
と、 この読み出しレジスタから出力された第2プレゼンスビ
ットにより前記第2パケットが有効であるか否かを検出
し、該検出結果を判定信号として出力する空き判定部
と、 前記書き込みレジスタ,読み出しレジスタの第1,第2パ
ケットのタグの比較を行って第1の比較信号を出力する
とともに、両者が一致する場合は前記両パケットを、不
一致の場合は前記書き込みレジスタから出力された第1
パケットを出力するタグ比較部と、 このタグ比較部から出力された前記第2パケットのデー
タを前記第1パケットに付して出力するデータ対生成部
と、 前記パケット入力信号,判定信号,及び第1の比較信号
を受け、前記待ち合わせメモリの読み出しあるいは書き
込みの制御、前記読み出しレジスタが保持している第2
プレゼンスビットを前記空き判定部へ、第2パケットを
前記タグ比較部へそれぞれ出力する制御、前記書き込み
レジスタが保持している第1パケットを前記タグ比較部
へ出力する制御、及び前記第1の比較信号が一致を示す
場合前記書き込みレジスタの第1プレゼンスビットを無
効にする制御を行う制御部とからなるものであることを
特徴とするデータ駆動形計算機。 - 【請求項5】前記タグ比較部は、前記書き込みレジス
タ,読み出しレジスタの第1,第2パケットのタグの比較
結果としてタグの大小を示す第1の比較信号を出力する
とともに、両者が一致する場合は前記両パケットを、不
一致の場合は第1及び第2パケットのうちタグの大きい
方のパケットを出力するものであり、 前記データ対生成部は、前記第1の比較信号を受けて前
記第1及び第2パケットの両方又はそのいずれか一方を
出力するものであり、 前記制御部は、前記第1の比較信号が前記第2パケット
のタグの方が第1パケットのそれより大きいことを示す
場合、前記書き込みレジスタの第1プレゼンスビットを
有効として前記待ち合わせメモリのアドレスレジスタの
内容が指すメモリアドレスへ前記書き込みレジスタが保
持している第1パケット及び第1プレゼンスビットを出
力せしめ、当該アドレスの第2パケットを読み出すとと
もに前記第1パケットを書き込んで前記待ち合わせメモ
リの内容を入れ換える機能を有するものであることを特
徴とする特許請求の範囲第4項記載のデータ駆動形計算
機。 - 【請求項6】前記発火処理部から出力されたパケットを
受け、該パケットのタグのスルーパケットフラグを判定
し、スルーパケットフラグがスルーの場合にパケットを
分岐させる分岐機構と、 この分岐機構から出力されたパケットを合流させる合流
機構と、 前記分岐機構から合流機構間にスルーパケットフラグが
スルーのパケットが流れるローカルパスとを備えたこと
を特徴とする特許請求の範囲第4項又は第5項記載のデ
ータ駆動形計算機。 - 【請求項7】前記分岐機能と合流機構との間のローカル
パスに、パケットを一時蓄えるバッファを備えたことを
特徴とする特許請求の範囲第6項記載のデータ駆動形計
算機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5440687A JPH0695345B2 (ja) | 1987-03-10 | 1987-03-10 | 連想記憶装置及びデ−タ駆動形計算機 |
US07/166,524 US4972315A (en) | 1987-03-10 | 1988-03-10 | Data flow machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5440687A JPH0695345B2 (ja) | 1987-03-10 | 1987-03-10 | 連想記憶装置及びデ−タ駆動形計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63220328A JPS63220328A (ja) | 1988-09-13 |
JPH0695345B2 true JPH0695345B2 (ja) | 1994-11-24 |
Family
ID=12969819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5440687A Expired - Fee Related JPH0695345B2 (ja) | 1987-03-10 | 1987-03-10 | 連想記憶装置及びデ−タ駆動形計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0695345B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07114076B2 (ja) * | 1987-10-20 | 1995-12-06 | シャープ株式会社 | 半導体記憶装置 |
JP3312039B2 (ja) * | 1992-01-08 | 2002-08-05 | シャープ株式会社 | データ駆動型情報処理装置 |
-
1987
- 1987-03-10 JP JP5440687A patent/JPH0695345B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPS63220328A (ja) | 1988-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4951193A (en) | Parallel computer with distributed shared memories and distributed task activating circuits | |
US5043868A (en) | System for by-pass control in pipeline operation of computer | |
WO1997030395A1 (fr) | Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire | |
US5125097A (en) | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path | |
JPH08272771A (ja) | データ駆動型情報処理装置 | |
US5117499A (en) | Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs | |
JP2632074B2 (ja) | データフロー型情報処理装置 | |
US5257392A (en) | System for loading and dumping data in a data flow processor based on paired program data and data to be processed | |
JPH0695345B2 (ja) | 連想記憶装置及びデ−タ駆動形計算機 | |
JPH0628499A (ja) | データ駆動型情報処理装置 | |
JP3145545B2 (ja) | メモリアクセス装置 | |
JPH06168263A (ja) | ベクトル処理装置 | |
JPH04220722A (ja) | パイプライン処理装置 | |
JPH0383185A (ja) | データ駆動形プロセッサ | |
JPH0383186A (ja) | データ駆動形プロセッサ | |
JP3982077B2 (ja) | マルチプロセッサシステム | |
JPH01282642A (ja) | データ駆動形計算機 | |
JP2867148B2 (ja) | メモリ・アクセス終了条件判定方式 | |
JPH046983B2 (ja) | ||
JP2920968B2 (ja) | 命令処理順序制御方式 | |
US5644745A (en) | Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure | |
JPS63261430A (ja) | 情報処理方式および装置 | |
JP3239042B2 (ja) | マイクロコンピュータ | |
JPH1031618A (ja) | データ変換方式 | |
JPH04245333A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |