JPH0695346B2 - データ駆動型計算機 - Google Patents

データ駆動型計算機

Info

Publication number
JPH0695346B2
JPH0695346B2 JP26485687A JP26485687A JPH0695346B2 JP H0695346 B2 JPH0695346 B2 JP H0695346B2 JP 26485687 A JP26485687 A JP 26485687A JP 26485687 A JP26485687 A JP 26485687A JP H0695346 B2 JPH0695346 B2 JP H0695346B2
Authority
JP
Japan
Prior art keywords
packet
hash
output
flag
processing unit
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 - Lifetime
Application number
JP26485687A
Other languages
English (en)
Other versions
JPH01106228A (ja
Inventor
哲男 山崎
憲司 嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP26485687A priority Critical patent/JPH0695346B2/ja
Priority to US07/166,524 priority patent/US4972315A/en
Publication of JPH01106228A publication Critical patent/JPH01106228A/ja
Publication of JPH0695346B2 publication Critical patent/JPH0695346B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、データ駆動型計算機に関するものである。
〔従来の技術〕
第5図は従来のデータ駆動型計算機を示し、図におい
て、1は入力制御部、2はプログラム記憶用メモリ2aを
有し、入力パケットにプログラム記憶情報を付加するリ
ンクテーブル、3は処理記憶用メモリ3aを有し、パケッ
トに処理情報を付加するファンクションテーブル、4は
データメモリ5のアクセスアドレスの生成とフロー制御
のための演算を行なうアドレス生成及びフロー制御部、
5は2項のデータの待ち合わせを行なうデータメモリ、
6はパケットをバッファするキュー、8は出力パケット
をバッファする出力キュー、9は出力制御部、7はデー
タ演算を行なう処理ユニットである。
第6図は前記データ駆動型計算機の各処理部に入出力す
るパケットの構成を示す。P1はリンクテーブル2の入力
パケット、P2はファンクションテーブル3の入力パケッ
ト、P3はデータメモリ5の入力パケット、P4は処理ユニ
ット7の入力パケットであり、第9図中のIDは行先アド
レス、FTAはファンクションテーブルアドレス、FUNCは
データ演算処理指定、DMAはデータメモリアドレス、DAT
Aはデータである。
次に動作について説明する。
入力制御部1において、外部装置より出力されたタグと
データからなるパケットP1の入力を行ない、リンクテー
ブル2へ出力する。リンクテーブル2で入力したパケッ
トP1の行先アドレスによりプログラム記憶用メモリ2aか
らプログラム情報を読み出し、パケットのタグを更新
し、ファンクションテーブル3へ出力する。ファンクシ
ョンテーブル3で入力したパケットP2のファンクション
テーブルアドレスにより、処理記憶用メモリ3aから処理
情報を読み出し、その一部をP3のFUNCとしてタグを更新
するとともに、前記処理情報の残りの部分をアドレス生
成及びフロー制御部4で演算処理し、この結果をP3のDM
Aとしてタグを更新し、データメモリ5へ出力する。デ
ータメモリ5でP3のDMAをアドレスとして2項データの
待ち合わせがなされ、2項データがそろったパケットP4
がキュー6を介して処理ユニット7に入力し、P4のFUNC
に従ってデータ演算がなされ、その結果のパケットは再
びリンクテーブル2で処理される。また、出力パケット
は、キュー6から出力キュー8を介して出力制御部9へ
送られ、タグとデータを持ったパケットの形で外部装置
へ出力される。
〔発明が解決しようとする問題点〕 従来のデータ駆動型計算機は以上のように構成されてい
るので、プログラムサイズに見合う大きさのマッチング
メモリ(データメモリ5)を持つ必要があるが、チップ
の大きさの制約からマッチングモリも制限され、従って
プログラムサイズを大きくできないという問題点があっ
た。また、マッチングメモリをリスト構造にしてハッシ
ュ衝突に対策を施した場合でもハッシュ衝突が多発すれ
ばチップ内メモリが不足して実行停止に陥る危険がある
という問題点があった。
この発明は上記のような問題点を解決するためになされ
たもので、チップのハードウェア量の制約によるプログ
ラムサイズの制限がなく、またハッシュ衝突の多発によ
る実行停止が生じないデータ駆動型計算機を得ることを
目的とする。
〔問題点を解決するための手段〕
この発明に係るデータ駆動型計算機は、発火処理部のマ
ッチングメモリがハッシュ衝突生起フラグを持つものと
し、チップ外にハッシュ衝突処理部として外部メモリを
設け、衝突フラグ,ポップフラグ,プログラム記憶部ス
ルーフラグ,キュー残りフラグを持つパケットを用いる
ようにして、発火処理部においてパケットがハッシュ衝
突した場合には上記外部メモリをもちいてハッシュ衝突
処理を行なうようにしたものである。
〔作用〕
この発明においては、ハッシュ衝突パケットをチップ外
部メモリへプッシュし、ハッシュ衝突解消時にポップパ
ケットによって、このプッシュされていたパケットをポ
ップしてハッシュ衝突パケットを処理する構成としたか
ら、ハードウェア量の制約によるプログラムサイズの制
限,ハッシュ衝突の多発による実行停止を防止できる。
〔実施例〕
以下、この発明の一実施例を図について説明する。
第1図は本発明の一実施例によるデータ駆動型計算機の
構成を示すブロック図であり、図において、10はプログ
ラム記憶用メモリ10aを有し入力パケットのプログラム
情報を更新するプログラム記憶部、20は2項データの待
ち合わせを行なう発火処理部、30は演算処理部、40はハ
ッシュ衝突処理部、50はパケットの分岐,合流,入出力
を行なう入出力部である。
第2図は発火処理部20の構成を示すブロック図であり、
21は入力パケットのタグ情報をハッシュ処理するアドレ
ス変換部、22は前記ハッシュ結果を保持するアドレスレ
ジスタ、23は入力パケットを保持する書込みレジスタ、
24はパケット,パケット格納情報,ハッシュ生起情報を
保持しアドレスレジスタ23のハッシュ結果によりアドレ
スされるマッチングメモリ、25は読出しレジスタ、26は
読出されたパケット格納情報からマッチングメモリが空
いているか否かを判定する空き判定部、27は読出されて
読出しレジスタ25にあるパケットを入力して外パケット
のタグ情報と書込みレジスタ23にあるパケットのタグ情
報とを比較するタグ比較部、28は出力パケット構成部、
29は発火処理部全体の処理の制御を行なう制御部であ
る。
第3図はハッシュ衝突処理部40の構成を示すブロック図
である。
次に動作について説明する。
本実施例ではプロセッサ外部にハッシュ毎のキュー(ハ
ッシュ衝突処理部)を構成して、ハッシュ衝突パケット
をプッシュし、ハッシュ衝突解消でポップパケットを発
火処理部より出力してポップするようにしている。
本実施例に用いるパケットには第5図に示すように4つ
のフラグ(衝突フラグ,ポップフラグ,プログラム記憶
部スルーフラグ,キュー残りフラグ)が設けられてい
る。また発火処理部20には第2図に示すようにマッチン
グメモリ24に衝突生起フラグを設けるとともに、これら
のフラグ制御機能とポップパケット出力機能を設ける。
さらに、ハッシュ衝突処理部40は第3図に示すようにフ
ラグ判定部、キュー管理部、フラグ設定部、およびメモ
リインタフェースからなっている。
発火処理部20においてハッシュ衝突が生じた場合、発火
処理部20では該衝突したパケットの一方に衝突フラグを
立てて出力するとともに、他方のパケットをマッチング
メモリ24に格納してマッチングメモリの衝突生起フラグ
を立ててハッシュ衝突を記憶する。
ここで本実施例の発火処理部20はデータ入れ換え方式を
採用しており、ハッシュ衝突時に出力されるパケットは
世代番号gen#がより大きいもの、世代番号が同一のも
のはノード番号node#がより大きいものである。即ちマ
ッチングメモリに格納されるパケットは世代番号gen#
がより小さいもの、世代番号が同一のものはノード番号
node#がより小さいものであり、これにより相互のデー
タの依存関係に基づいた発火が可能となる。このデータ
入れ換え方式については本件出願人による先の出願(特
願昭62-54406「連想記憶装置及びデータ駆動形計算
機」)に記載されているのでここでは詳説を避ける。
出力されたパケットは衝突フラグが立っていることによ
り演算処理部30では処理を受けることなく入出力部50へ
出力され、入出力部50から衝突フラグが立っていること
によりハッシュ衝突処理部40へ出力される。
ハッシュ衝突処理部40では、ハッシュ毎のキューに発火
処理の優先順(データ入換え方式においては、世代番号
順かつノード番号順)にパケットをソートしながらプッ
シュする。ポップ時には処理速度が要求されるので本実
施例ではパケットのソートはプッシュ時に行なう。
発火処理部20では、発火時に衝突生起フラグが立ってい
ればハッシュ衝突解消を意味するので、発火した出力パ
ケットとともに発火したパケットのタグ情報のハッシュ
結果をデータ部に持ったポップパケットを出力する。
該ポッツパケットは演算処理部30では処理を受けること
なくハッシュ衝突処理部40へと出力され、ハッシュ衝突
処理部40では該ポップパケットの持つハッシュ結果に対
応するキューからパケットをポップし、該パケットのハ
ッシュ衝突フラグをリセットするとともにプログラム記
憶部スルーフラグを立てて出力する。
ここでハッシュ衝突処理部40では、発火すべき2パケッ
トが共にプッシュされている可能性があるのでハッシュ
情報に対応するキューから、キューに2パケット以上あ
れば、一度に2パケットずつポップする。この時、キュ
ーにまだ残りパケットがあればキュー残りフラグをポッ
プされたパケットに立てておく。
ポップされたパケットはプログラム記憶部スルーフラグ
が立っているのでプログラム記憶部を通過して、発火処
理部で発火処理される。この時、キュー残りフラグによ
って衝突生起フラグを立てなおし、ハッシュ衝突処理部
のキューにパケットが最後までポップされずに残ってし
まうことのないよう制御している。
このような本実施例のデータ駆動型計算機における制御
方式では発火処理部に採用したデータ入れ換え方式との
組合わせで、必要最少限のパケットを発火処理部へ戻す
だけで、発火すべきパケットが巡り合えなくて処理実行
停止状態に陥ることはない。
なお、上記実施例ではハッシュ衝突処理部よりパケット
をポップするためにポップフラグを立てたポップパケッ
トを出力するものを示したが、ポップフラグを立てるか
わりにタグの一部であるオペコードとしてポップ命令を
セットするようにしてもよい。
また、キュー残りフラグを立てるかわりにハッシュ衝突
フラグとプログラム記憶部スルーフラグの組み合わせで
ハッシュ衝突処理部のキューにパケットが残っているこ
とを示すようにしてもよい。
〔発明の効果〕
以上のように、この発明によればデータ駆動型計算機に
おいて、発火処理部のマッチングメモリがハッシュ衝突
生起フラグを持つものとし、チップ外にハッシュ衝突処
理部として外部メモリを設け、衝突フラグ,ポップフラ
グ,プログラム記憶部スルーフラグ,キュー残りフラグ
を持つパケットを用いるようにして、発火処理部におい
てパケットがハッシュ衝突した場合に、ハッシュ衝突パ
ケットをチップ外部メモリへプッシュし、ハッシュ衝突
解消時にポップパケットによって、このプッシュされて
いたパケットをポップしてハッシュ衝突パケットを処理
する構成としたから、プログラムサイズの制限がなく、
かつハッシュ衝突により内部メモリが溢れることがな
く、これに起因する計算機の実行停止が生じることのな
いデータ駆動型計算機を得ることができる効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例によるデータ駆動型計算機
の構成を示すブロック図、第2図は本発明の一実施例に
用いる発火処理部の構成を示すブロック図、第3図は本
発明の一実施例に用いるハッシュ衝突処理部の構成を示
すブロック図、第4図は本発明の一実施例に用いるパケ
ットの構成を示す図、第5図は従来のデータ駆動型計算
機の構成を示すブロック図、第6図は従来のデータ駆動
型計算機で用いられるパケットを示す図である。 10はプログラム記憶部、20は発火処理部、30は演算処理
部、40はハッシュ衝突処理部、50は入出力部、24はマッ
チングメモリ。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】外部より入力されたタグ及びデータからな
    るパケットを内部へ取り込む入出力部と、 該入出力部からパケットを受取り、パケットのタグの一
    部であるノード番号に従って、既に記憶されているプロ
    グラムを読み出し、読み出した内容を新たなタグとして
    前記パケットのデータとともに出力するプログラム記憶
    部と、 該プログラム記憶部から出力されたパケットと対となる
    べきパケットを検出し、これらの両パケットのデータを
    有するパケットを出力する発火処理部と、 該発火処理部から出力されたパケットを受け取り、タグ
    の一部であるオペコードに従って演算処理を行なう演算
    処理部と、 該演算処理部から出力されたパケットを受け取り、前記
    パケットのタグの一部であるフラグを判定し、外部へ出
    力するか前記プログラム記憶部へ出力するかを制御する
    入出力部とを備えたデータ駆動型計算機において、 前記発火処理部はパケットのタグ情報のハッシュ処理結
    果でアクセスされる、パケットの対検出手段としてのマ
    ッチングメモリを有し、 かつ上記発火処理部はハッシュ衝突が発生した場合には
    ハッシュ衝突したパケットの一方をこれにハッシュ衝突
    したことを示す情報を付して出力し、かつ他方のパケッ
    トを上記マッチングメモリに格納しておくとともにハッ
    シュ衝突生起を記憶するものであり、 前記ハッシュ衝突して出力されたパケットをキューイン
    グし、また該キューイングしたパケットを再び発火処理
    が行なえるようポップして出力するハッシュ衝突処理部
    を備えたことを特徴とするデータ駆動型計算機。
  2. 【請求項2】上記発火処理部はハッシュ衝突が発生した
    場合には、ハッシュ衝突したパケットの一方のタグにハ
    ッシュ衝突フラグを立てて出力し、他方はマッチングメ
    モリに格納するとともに、ハッシュ毎に設けたハッシュ
    衝突生起フラグで衝突発生を記憶するものであり、 前記ハッシュ衝突により出力されたパケットは前記演算
    処理部では前記ハッシュ衝突フラグが立っているため処
    理を受けずに前記入出力部で前記ハッシュ衝突フラグが
    立っていることによって前記ハッシュ衝突処理部へ出力
    されるものであり、 前記ハッシュ衝突処理部は前記出力パケットの前記ハッ
    シュ衝突フラグが立っていることによって、タグの情報
    のハッシュ結果に対応するキューへ該パケットをプッシ
    ュするものであり、 前記発火処理部はパケットの発火時に該パケットのタグ
    情報のハッシュ結果に対応するハッシュ衝突生起フラグ
    が立っているときは該フラグをリセットするとともに、
    該ハッシュ結果をデータ部に持ちタグにポップフラグを
    立てたポップパケットを発火時の出力パケットとともに
    出力するものであり、 前記ポップパケットは前記演算処理部では処理を受けず
    に前記入出力部で前記ハッシュ衝突処理部へ出力される
    ものであり、 前記ハッシュ衝突処理部は前記ポップパケットの前記ポ
    ップフラグが立っていることによってデータに持つ前記
    ハッシュ結果に対応するキューからパケットをポップ
    し、該パケットのタグのハッシュ衝突フラグをリセット
    するとともにプログラム記憶部スルーフラグを立てて出
    力するものであり、 前記ポップされたパケットは前記プログラム記憶部スル
    ーフラグが立っていることによって、プログラム記憶で
    は処理を受けずに前記発火処理部で再び処理されるもの
    であることを特徴とする特許請求の範囲第1項記載のデ
    ータ駆動型計算機。
  3. 【請求項3】前記発火処理部は、ハッシュ衝突が発生し
    た場合の出力パケットの選択に、ハッシュ衝突したパケ
    ットのタグ情報の優先順位判定を行なう方法を用いて、
    優先順位の低い方のパケットを出力し、高い方のパケッ
    トをマッチングメモリに格納するものであることを特徴
    とする特許請求の範囲第1項または第2項記載のデータ
    駆動型計算機。
  4. 【請求項4】前記ハッシュ衝突処理部は、入力パケット
    の前記ハッシュ衝突フラグが立っている場合のキューへ
    の該パケットのプッシュに際し、タグ情報の優先順位の
    高い順にキュー内パケットのソートを行ない、前記ポッ
    プパケット入力に伴うキューからのパケットのポップに
    際し、1つのポップパケットに対して2つのパケットを
    ポップするとともにキューに残りのパケットが生じる場
    合にはポップされたパケットのタグにキュー残りフラグ
    を立てて出力するものであり、 前記発火処理部は、入力パケットのタグにキュー残りフ
    ラグが立っているときは、該パケットのタグ情報のハッ
    シュ処理結果に対応するハッシュ衝突生起フラグを立て
    ることもあわせて行なうものであることを特徴とする特
    許請求の範囲第3項記載のデータ駆動型計算機。
JP26485687A 1987-03-10 1987-10-20 データ駆動型計算機 Expired - Lifetime JPH0695346B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26485687A JPH0695346B2 (ja) 1987-10-20 1987-10-20 データ駆動型計算機
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
JP26485687A JPH0695346B2 (ja) 1987-10-20 1987-10-20 データ駆動型計算機

Publications (2)

Publication Number Publication Date
JPH01106228A JPH01106228A (ja) 1989-04-24
JPH0695346B2 true JPH0695346B2 (ja) 1994-11-24

Family

ID=17409168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26485687A Expired - Lifetime JPH0695346B2 (ja) 1987-03-10 1987-10-20 データ駆動型計算機

Country Status (1)

Country Link
JP (1) JPH0695346B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007309508A (ja) * 2006-04-20 2007-11-29 Kinyosha Co Ltd 揺動ローラー、転がり軸受、ローラーの揺動方法

Also Published As

Publication number Publication date
JPH01106228A (ja) 1989-04-24

Similar Documents

Publication Publication Date Title
TWI524203B (zh) 用於保存及/或復原圖型辨識處理器之狀態之方法及裝置
TWI489300B (zh) 用於傳達平行型樣搜尋引擎之型樣匹配結果之裝置、系統及方法
US9110714B2 (en) Systems and methods for multi-tasking, resource sharing, and execution of computer instructions
US6330584B1 (en) Systems and methods for multi-tasking, resource sharing and execution of computer instructions
TWI465945B (zh) 用於型樣辨識處理器中降低電力消耗之方法及裝置
US4972315A (en) Data flow machine
EP0366585A2 (en) Method for comparing and swapping data in a multi-programming data processing system
US5440717A (en) Computer pipeline including dual-ported, content-addressable writebuffer
US5404539A (en) Data driven information processor with ring comparing comparator
JPS63129425A (ja) デ−タ処理装置
TW449720B (en) Routing dependent instructions to clustered execution units
US6460121B1 (en) Method for providing an atomic memory read using a compare-exchange instruction primitive
US5542079A (en) Data driven processor for reading data from storage to apply prescribed operation in response to operation updating instruction and updating the contents of the storage
JPH0695346B2 (ja) データ駆動型計算機
WO1992003791A1 (en) Memory access system
US5542080A (en) Method for controlling execution of data driven type information processor
US7257670B2 (en) Multipurpose CAM circuit
US20070220074A1 (en) Sharing of a logic operator having a work register
JP2512074B2 (ja) デ―タ駆動形計算機
JP3145545B2 (ja) メモリアクセス装置
JP2594140B2 (ja) データ駆動型データ処理装置
JP2001184259A (ja) 演算処理装置及び該装置におけるデータ転送方法
JP3522150B2 (ja) データ処理装置およびそのデータ処理方法
JP3082384B2 (ja) 先入れ先出し記憶装置
JP2895892B2 (ja) データ処理装置