JPH01205234A - データフロー処理装置 - Google Patents

データフロー処理装置

Info

Publication number
JPH01205234A
JPH01205234A JP2873388A JP2873388A JPH01205234A JP H01205234 A JPH01205234 A JP H01205234A JP 2873388 A JP2873388 A JP 2873388A JP 2873388 A JP2873388 A JP 2873388A JP H01205234 A JPH01205234 A JP H01205234A
Authority
JP
Japan
Prior art keywords
data
memory
input
address
output
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
Application number
JP2873388A
Other languages
English (en)
Inventor
Masanori Mizoguchi
正典 溝口
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2873388A priority Critical patent/JPH01205234A/ja
Publication of JPH01205234A publication Critical patent/JPH01205234A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータフロー処理装置に関し、特にデータ駆動
方式により演算順序を制御するデータフロー処理装置に
関するものである。
〔従来の技術〕
従来データフロー処理装置として、特開昭58−703
60号公報に記載のものが知られている。このものは、
第5図に示すように、演算回路を多機能化してプロセッ
サユニットに集約し、パイプライン方式のバスでトラン
スファーテーブルメモリ22、パラメータテーブルメモ
リ23、データメモリ24、キューメモリ25およびプ
ロセッサユニット26を結合し、2項演算に対してはデ
ータフロ一方式によるコントロールを初期設定されたパ
ラメータテーブル23およびデータメモリ24を用いて
行うものであり、さらに外部との入出力を行うバスイン
ターフェース21を備えたものを1モジユールとしたと
き、かかる同一のモジュールを複数個直列に接続するだ
けで、接続個数に応じてパフォーマンスが向上するよう
に考案されている。このデータフロー処理装置で扱われ
るデータのうち演算に用いる実行データは、トランスフ
ァーテーブルメモリ22のアドレス、コントロールビッ
ト、符号ビット、データ値から構成されている。このう
ち、コントロールビットはプロセッサユニット26での
演算結果が指定された条件に一致した場合にセントされ
、分流の命令が指定されていると、トランスファーテー
ブルメモリ22のアドレスが変更されてコントロールビ
ットが立っていないデータとは別の処理が実行されるよ
うになでいる。
以下では、まず、データの流れについて詳述する。処理
の実行データは外部回路からバスインターフェース21
を介してリング状バス内部にとりこまれ、トランスファ
ーテーブル22へ送られる。なお、外部回路の入出力バ
スにおいては、複数個接続されたモジュールのうちどれ
が行き先であるかを示すモジュール番号をも含んだデー
タになっているが、バスインターフェース21でモジュ
ール内部に取り込まれた時に前記モジュール番号は除か
れる。トランスファーテーブルメモリ22ではバスイン
ターフェース21からの入力データとプロセッサユニッ
ト26からの入力データとについて後者に優先権を持た
せてとりこみ、トランスファーテーブルメモリ22のア
ドレスでトランスファーテーブルメモリ22をアクセス
し読み出したデータをパラメータテーブルメモリ23に
送る。ここで、トランスファーテーブルメモリ22の内
容は、内容参照後の処理の大分類命令コードと、プロセ
ッサユニット26での処理後の次のトランスファーテー
ブルメモリ22を参照するときのアドレスと、パラメー
タテーブルメモリ23を参照するときのアドレスと、2
項演算等の2つのデータがペアになって動作する場合に
その各々を区別するための情報とからなる。パラメータ
テーブルメモリ23は、上述のようなトランスファーテ
ーブルメモリ22から読み出されたデータの中にあるパ
ラメータテーブルメモリ23のアドレスによって参照さ
れる。このパラメータテーブルメモリ23には、主に小
分類命令コードが貯えてあり、データが2つペアになっ
て動作する場合にそれらのデータ交換をコントロールす
る情報、出力データ数、外部回路へ出て行くデータにつ
ける行き先のモジュール番号、プロセッサユニット26
での処理内容の指示コード、データメモリ24の読み出
し、書き込み、データの2項キュー制御、流量制御等の
状態管理を行うための情報が入っている。データメモリ
24は、2項演算のデータが両方共にそろうまで、先に
到着したデータの方を一時待たせておくためのキュー、
定数演算のための定数、ルックアップテーブル、状態遷
移処理用の遷移テーブル、入出力データの格納に用いら
れる。2項演算のためのキュー動作では、両方のデータ
がそろったら両方を同時にキューメモリ25に出力する
。キューメモリ25は、データキュー、ジェネレータキ
ューにより構成されており、このうち、データキューは
プロセッサユニット26の出力データ数が複数である場
合や、バスインターフェース21からトランスファーテ
ーブル22への入力が行われている場合に、プロセッサ
ユニット26が次のデータを入力できな(なるので、デ
ータを一時保持しておくためのメモリである。一方、ジ
ェネレータキューはプロセッサユニット26で数値発生
を行うデータを一時保持しておくためのメモリであり、
前記データキューの空きが成る一定値(例えば全データ
キュー容量の半分)以上あるか否かの情報をみて出力す
ることで、過度に数値発生命令を実行して実行データが
あふれないようにするためのものである。
プロセッサユニット26は算術演算、論理演算、シフト
、比較、ビット反転、プライオリティエンコーディング
、分流、数値発生、コピーの機能をもつ演算回路である
。プロセッサユニット26への入力は1つもしくは2つ
であり、出力は1から16まで指定できる。入力データ
が1つの場合が単項演算、2つの場合が2項演算であり
、2項演算で2つのデータを揃わせるのをデータメモリ
24の前述したような2項キューで行い、キューメモリ
25を通してプロセッサユニット26に2つ同時に入力
する。前記キューメモリ25に入力したデータのうち外
部回路へ出力するデータは、キューメモリ25からさら
にバスインターフェース21へ送られて外部回路へと出
力される。
〔発明が解決しようとする課題〕
上述のようなデータフロー処理装置は、ストリーム処理
に適しているものであるが、後記のような画像データの
処理のときであっても、処理時間がかかるなどの難点が
あった。
即ち、上述した従来のデータフロー処理装置においては
、同一のトランスファーテーブルメモリのアドレスを持
つデータは全く同じ処理を受ける。
従って複数のデータの各々に同一の処理を行う場合は、
同じトランスファーテーブルメモリのアドレスを割り当
てればよい。例えば2つの配列AH,A2.  A1.
・・・+Aj1B1・ B2・ B3・°°°・ BN
との項毎の加算で、 C+=A ++B I+ Cz=Az+B z、 Cs
□A*+B 3. ” °。
CN:AN+BN を計算する場合には、 C=A+B のA、B、Cに対してトランスファーテーブルのアドレ
スを割り当てて、配列の各要素を順にA。
Bとしてやれば順次計算できる。即ら順序を持ったデー
タの列として扱われるストリーム処理に適している。こ
こで、注意すべきことは、ストリーム処理では各要素の
順序が正しく保存されねばならないという制約があるこ
とである。ところで、かかるストリーム処理の対象とし
得るデータは種々のものがあり、場合によっては、配列
の要素のうちデータ値が零のものが多いようなときもあ
る。
そのように、配列の要素のうちデータ値が零のものが多
いような場合(疎あるいはスパースとも呼ばれる)、そ
れらの演算を省いてしまえば、処理量を小さくしたり、
記憶容量が小さ(できる。例えば、2次元の配列が画像
を表している場合に、背景の零の値が大部分である画像
の処理の場合を考えてみれば、背景の部分を処理しない
ことでデータ量を減らしたり、処理時間を短縮すること
ができる(以下ではこれを単にストリームの圧縮と呼ぶ
こともある)。しかしながら、従来のデータフロー処理
装置では、このようなストリームの圧縮および元のスト
リームに戻すストリームの伸張に関する機能は備わって
いなかったので、たとえ上述の如き画像の処理の場合で
あっても、処理データ量の減少、処理時間の短縮等を図
ることが困難である。
本発明の目的は、従来のデータフロー処理装置における
ストリーム圧縮、伸張処理が困難であるという欠点を改
良したデータフロー処理装置を提供することにある。
〔課題を解決するための手段〕
本発明のデータフロー処理装置は、 データの行き先アドレスを貯えておくトランスファーテ
ーブルメモリと、 前記アドレスでアクセスされ、命令を貯えておくパラメ
ータテーブルメモリと、 2項データ演算の片側の入力データを一時貯えておくこ
とが可能なデータメモリと、 このデータメモリからのデータの待ち合わせを行うキュ
ーメモリと、 このキューメモリ出力に対して2項演算または単項演算
を行い、前記トランスファテーブルメモリへ出力するプ
ロセッサユニットと、 前記各メモリ及びプロセッサユニットを接続するリング
状のパイプラインバスと、 このパイプラインバスと外部バスとの間のデータの入出
力をコントロールするバスインターフェースとを備える
データフロー処理装置であって、前記プロセッサユニッ
トに、命令とデータ値と前記アドレスとデータ番号とか
ら成るデータを入力することを特徴としている。
また、本発明の他のデータフロー処理装置は、データの
行き先アドレスを貯えておくトランスファーテーブルメ
モリと、 このトランスファーテーブルメモリからのデータの待ち
合わせを行う第1のキューメモリと、この第1のキュー
メモリからのデータの前記アドレスでアクセスされ、命
令を貯えておくパラメータテーブルメモリと、 2項データ演算の片側の入力データを一時貯えておき、
もう片方の入力データの到着によりそのデータ番号と貯
えたデータのデータ番号とを参照して、前記入力データ
と零データ、前記入力データと貯えたデータ、貯えたデ
ータと零データのいずれかの組み合わせを2項データ演
算用に出力するデータメモリと、 このデータメモリからのデータの待ち合せを行う第2の
キューメモリと、 この第2のキューメモリ出力に対して2項演算または単
項演算を行い、更に命令とデータ値と前記アドレス値と
データ番号とから成る入力データに対して、前記アドレ
ス毎のデータのカウントと、演算結果が零であるか否か
の判定を行い、その判定結果と前記カウント値に応じて
、演算結果を出力するか否かと、出力する場合にはデー
タ番号の決定を行うプロセッサユニットと、 前記各メモリ及びプロセッサユニットを接続するリング
状のパイプラインバスと、 このパイプラインバスと外部との間のデータの入出力を
コントロールするバスインターフェースとを備えること
を特徴としている。
〔作 用〕
本発明では、データはデータ値に配列の番号を付は加え
たものを処理単位とする。本明細書ではこの配列番号に
相当するものをデータのデータ番号と呼ぶ。
各メモリとパイプラインバスで接続されたプロセッサユ
ニットには、かかるデータ番号を含むデータが入力され
、このデータを処理単位としてストリーム処理が実行さ
れる。
下記は、ストリームの圧縮、伸縮の原理を示す。
例えば以下の長さ10の配列を考える。
A、・100.Aa=200 Ai=O(ただし1≦i≦10.i ≠5.i≠8)こ
れを長さ2のデータに圧縮して次のようにする。
B、=(100,5)    B、=(200,8)ス
トリームの圧縮によって、演算を省けるため、従来に比
し効率のよいストリーム処理が可能であり、データ量の
減少、処理時間の短縮が図れる。
また、単にデータ量を減らすだけでなく圧縮されたスト
リーム間で2項演算しようとする場合は、次のようにす
ればよい。
圧縮されたストリーム間の2項演算は、より広範囲の処
理を可能ならしめる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図のデータフロー処理装置は、外部バス100に接
続されるバスインターフェース31と、このバスインタ
ーフェース31に信号線101を介して接続されるトラ
ンスファーテーブルメモリ32と、このトランスファー
テーブルメモリ32に信号線102を介して接続される
パラメータテーブルメモリ33と、このパラメータテー
ブルメモリ33に信号線103を介して接続されるデー
タメモリ34と、このデータメモリ34に信号線104
を介して接続されかつ信号線107を介してバスインタ
ーフェース31に接続されるキューメモリ35と、この
キューメモ1J35に信号線105で接続されかつ信号
線106でトランスファーテーブルメモリ32に接続さ
れるプロセッサユニット36とを含んでいる。
トランスファーテーブルメモリ32.パラメータテーブ
ルメモリ33.データメモリ34.データメモリ35.
キューメモリ36.およびプロセッサユニット36は、
パイプライン方式のバス(以下ではパイプラインバスと
呼ぶ)101〜106でリング状に接続されている。
バスインターフェース31は、パイプラインバス101
〜106と外部バス100との間のデータの入出力をコ
ントロールする。
各メモリ32〜36は、それぞれ下記のようなメモリで
ある。即ち、トランスファーテーブルメモリ32はデー
タの行き先アドレスを貯えておくメモリ、パラメータテ
ーブルメモリ33は行き先アドレスでアクセスされ、命
令を貯えておくメモリ、データメモリ35は2項データ
演算の片側の入力データを一時貯えておくメモリであり
、また、キューメモリ36はデータメモリ35からのデ
ータの待ち合せを行うメモリである。
プロセッサユニット36は、キューメモリ35の出力に
対して2項演算または単項演算を行い、トランスファー
テーブルメモリ32に出力する。
このように、データの行き先アドレスを貯えておくトラ
ンスファーテーブルメモリ32と、前記行き先アドレス
でアクセスされ、命令を貯えておくパラメータテーブル
メモリ33と、2項データ演算の片側の入力データを一
時貯えておくデータメモリ34と、このデータメモリ3
4からのデータの待ち合せを行うキューメモリ35と、
このキューメモリ35出力に対して2項演算または単項
演算を行い、トランスファーテーブルメモリ32へ出力
するプロセッサユニット36と、これらを接続するリン
グ状のパイプラインバス101〜106と、このパイプ
ラインバス101〜106と外部バス100との間のデ
ータの入出力をコントロールするバスインターフェース
31とを具備するデータフロー処理装置において、プロ
セッサユニット36が、命令とデータ値と前記行き先ア
ドレスとデータ番号とから成るデータを入力し、前記行
き先アドレス毎にデータをカウントし、データ値が零で
あるか否かの判定結果と前記カウント値に応じて、前記
データ番号の前記カウント値への置換、前記入力データ
の消滅、データ値が零であるデータの生成等の動作を行
う。
次に、本発明に従って改良を行った部分である、パイプ
ラインバスのバス構成とプロセッサユニット36の内部
構成とについて以下に詳述する。
従来のパイプラインバスの構成に加えて、データ番号が
追加された。即ち、本発明に従う処理装置では、データ
値に配列の番号を付は加えたものを処理単位とするが、
この配列番号に相当するものがデータのデータ番号とし
て追加されている。
これによりプロセッサユニット36における入力部では
、命令、データ値、トランスファーテーブルメモリ32
のアドレスとかかるデータ番号が入力されることになる
第2図に第1図のプロセッサユニット36の改良部の具
体的構成の一例を示す。なお、第1図、第2図において
プロセッサユニット36への入出力信量線105.10
6は対応している。
パイプラインバスの信号線105から入力したデータ、
即ち第1図のキューメモリ35からのデータは、パイプ
ラインのラッチ40に保持され信号線402に出力され
る。単項・2項演算回路41は従来のプロセッサユニッ
ト26の演算回路部分である。信号線402のうちトラ
ンスファーテーブルメモリ32のアドレスは信号線40
7によりカウントメモリ42をアクセスし、読み出され
たカウント値が信号線408に出力され、加算器43と
マルチプレクサ46に入力される。加算器43はインク
リメントを行って信号線409を介してカウントメモリ
42のカウント値を更新する書込データとなる。信号線
402のうちデータ番号は信号線406によって信号線
408のカウント値と共にマルチプレクサ46に入力さ
れ、制御部45からの信号vA410により一方が選択
されて信号線415に出力され、これが信号線106か
らの出力データ、即ち第1図のトランスファーテーブル
メモリ32への出力データのデータ番号になる。また、
出力データのアドレスは信号線407の入力アドレスが
そのまま出力される。
演算回路41の出力は信号線412を介してマルチプレ
クサ48と零検出部44に入力される。
零検出部44では零データか否かの判定信号を信号線4
11を介して制御部45に出力する。零出力部47は、
定数「零Jを信号線413を介してマルチプレクサ48
に出力している。比較器49は、信号線406からの入
力データのデータ番号と信号線408からのカウント値
を入力して、比較結果を信号線403を介して制御部4
5に出力する。
カウントメモリ42のカウント値をクリアする命令を持
つデータであらかじめ零クリアしてから処理が開始され
るものとする。制御部45の動作については、1次スト
リーム圧縮、2次ストリーム圧縮、ストリーム伸張の3
種の命令に応じたものがある。
(1)1次ストリーム圧縮命令では、演算回路41の出
力が零でないときにだけデータが出力される。
このとき、マルチプレクサ46では信号線408側、マ
ルチプレクサ48では信号線412側が選択されて、そ
れぞれ選択されたものがデータ番号とデータ値として信
号線106へ出力される。
(2)2次ストリーム圧縮は、すでに1次圧縮のされた
データの再圧縮を行うものであり、マルチプレクサ46
で信号線406側を選択する点が一次スドリーム圧縮と
異なる。
(3)ストリーム伸張では、演算回路41の出力が零で
ない時に、比較器49が一致するまで零データを出力す
る。即ちマルチプレクサ46では信号線408側、マル
チプレクサ48では信号線413側を選択させて、零デ
ータを連続的に生成し、比較器49が一致信号を信号線
403を介して出力したらマルチプレクサ48で信号線
412側を選択させて動作を終了する。この零データ生
成の間はプロセッサユニット36はビジー状態となり、
キューメモリ35からの入力は行われない。
以上のように、プロセッサユニット36では、前記行き
先アドレス毎にデータをカウントし、データ値が零であ
るか否かの判定結果と前記カウント値に応じて、前記デ
ータ番号の前記カウント値への置換、前記入力データの
消滅、データ値が零であるデータの生成等の動作が行わ
れる。例えば、ストリーム圧縮時には、既述した如く、
演算回路41の出力が零でないときにだけデータが出力
され、また、マルチプレクサ46の動作により信号線4
06上のデータ番号と信号線408のカウント値とに対
する選択が実行され、信号′fa40B側のものがデー
タ番号として出力されることになる。
従来装置の場合には、たとえデータが、背景の零の値が
大部分である画像処理のときのものであっても、データ
量の減少等を図れないのに対し、上述のように、この装
置では、プロセッサユニット36にはデータ番号を含む
データが入力され、データ値に配列の番号を付は加えた
ものを処理単位としてストリーム処理を行うことができ
、このストリーム処理においては、データが上記のよう
な画像によるものの場合は、その背景の部分(データ値
が零の部分)を処理しないことによってストリーム処理
は効率よく実行され、データ量を減らしたり、処理時間
を短縮することが可能となる。
また、この装置では、ストリームを元のストリームに戻
すストリーム伸長も可能である。
次に、第3図に本発明の他のデータフロー処理装置の実
施例を示す。本実施例装置は、外部バス100に接続さ
れるバスインターフェース11と、このバスインターフ
ェース11に信号線201を介して接続されるトランス
ファーテーブルメモリ12と、このトランスファーテー
ブルメモリ12に信号綿202を介して接続されるキュ
ーメモリ (第1のキューメモリ)13と、キューメモ
リ13と信号線203を介して接続されるパラメータテ
ーブルメモリ14と、パラメータテーブルメモリ14と
信号線204を介して接続されるデータメモリ15と、
データメモリ15に信号線205で接続されかつ信号線
208を介してバスインターフェース11に接続される
キューメモリ(第2のキューメモリ)16と、このキュ
ーメモリ16に信号線206で接続されかつ信号線20
7でトランスファーテーブルメモリ12に接続されるプ
ロセッサユニット47とを含んでいる。
第1図と第3図では、バスインターフェース31と11
、トランスファーテーブルメモリ32と12、パラメー
タテーブルメモリ33と13、データメモリ34と15
、キューメモリ35と第2のキューメモリ16、プロセ
ッサユニット36と17のそれぞれに対応関係があるが
、第3図では、第1のキューメモリ13が更に追加され
ている。このキューメモ1月3では、パラメータテーブ
ルメモリ14とデータメモリ15の動作がビジーとなっ
た時にパイプラインバス202に入力されてくるデータ
を保持させて、パラメータテーブルメモリ14への入力
が可能となるまで待ち合わせを行わせるためのものであ
る。また、第3図の実施例においては、パラメータテー
ブルメモリ14とデータメモリ15が第1図のものから
改良される。
即ち、パラメータテーブルメモリ14は、キューメモリ
13(トランスファーテーブルメモリ12からのデータ
の待ち合せを行う第1のキューメモリ)からのデータの
行き先アドレスでアクセスされ、命令を貯えておくメモ
リであり、また、データメモリ15は、2項データ演算
の片側の入力データを一時貯えておき、もう片方の入力
データの到着によりそのデータ番号と貯えたデータのデ
ータ番号とを参照して、前記入力データと零データ、前
記入力データと貯えたデータ、貯えたデータと零データ
のいずれかの組み合せを2項データ演算用に出力するメ
モリである。
本処理装置は、このように、データの行き先アドレスを
貯えておくトランスファーテーブルメモリ12と、この
トランスファーテーブルメモリ12からのデータの待ち
合せを行う第1のキューメモリ13と、この第1のキュ
ーメモリ13からのデータの前記行き先アドレスでアド
レスされ、命令を貯えておくパラメータテーブルメモリ
14と、2項データ演算の片側の入力データを一時貯え
ておき、もう片方の入力データの到着によりそのデータ
番号と貯えたデータのデータ番号とを参照して、前記入
力データと零データ、前記入力データと貯えたデータ、
貯えたデータと零データのいずれかの組み合せを2項デ
ータ演算用に出力するデータメモリ15と、このデータ
メモリ15からのデータの待ち合せを行う第2のキュー
メモリ16と、この第2のキューメモリ16出力に対し
て2項演算または単項演算を行い、さらに命令とデータ
値と前記行き先アドレス値とデータ番号とから成る入力
データに対して、前記行き先アドレス毎のデータのカウ
ントと、演算結果が零であるか否かの判定を行い、この
判定結果と前記カウント値に応じて、演算結果を出力す
るか否かと、出力する場合にはデータ番号の決定を行う
プロセッサユニット17と、これらを接続するリング状
のパイプラインバス202〜207と、このパイプライ
ンバス202〜207と外部との間のデータの入出力を
コントロールするバスインターフェースとを具備するデ
ータフロー処理装置であり、単にデータ量を圧縮するだ
けでなく、圧縮されたストリーム間の2項演算を可能と
する。
なお、第3図において、符号100は第1図と同様外部
バスを示す。
更に、第4図をも参照して具体的に説明する。
第4図は、パラメータテーブルメモリ14およびデータ
メモリ15の改良を具体的に示す一例である。
第4図において、パイプラインバス203から入力した
データ即ち、第3図の第1のキューメモリ13からのデ
ータは、パイプラインラッチ51に保持され信号950
1へ出力される。パイプラインラッチ51の出力のうち
パラメータテーブルメモリ52へのアドレスは信号&1
502を介してパラメータテーブルメモリ52をアクセ
スし、リードオフセットライトオフセット、ベースアド
レスのそれぞれを信号線508.509.510に読み
出す。加算器56.57は、それぞれ信号線508.5
09を入力してインクリメントを行い、信号線511.
512を介してパラメータメモリ52のリードオフセッ
トとライトオフセットの更新書込データを作り、2項演
算で先に到着した片側のデータに対してはライトオフセ
ットの更新が、もう一方の側のデータの到着でリードオ
フセットの更新が、それぞれ信号線503の指示により
行われる。マルチプレクサ54は信号線508.509
からリードオフセント、ライトオフセットを入力し、ラ
イトオフセット更新では信号線509を、リードオフセ
ットの更新では信号線508を、それぞれ信号線503
の指示に従って選択し信号線513へ出力する。コント
ローラ63は信号線508.509のリードオフセット
とライトオフセットと、そして現在入力したデータが2
項演算のペアのどちら側であるかを示す信号523とか
ら、現在入力したデータを先に到着したデータとして書
込むか、待ち合わせが成立したデータとして先に到着し
たデータを読み出すかを判定し、前記書込ではライトオ
フセットの更新を、読出ではり−ドオフセントの更新を
行う信号を信号線503に出力して、マルチプレクサ5
4の選択とパラメータメモリ52の更新とデータメモリ
53のアクセス制御とを行わせる。
加算器55は、信号線510のベースアドレスに信号線
513のオフセットを加算してアクセスアドレスをつく
り、信号線514を介してデータメモリ53をアクセス
するアドレスとして出力する。データメモリ53は信号
線503のアクセス制御が前記書込であれば、信号線5
04から入力データのデータ値とデータ番号とを書き込
み、前記アクセス制御が読出であれば、信号線517に
読み出しデータ値を、信号線516にデータ番号を、そ
れぞれ出力する。
比較器58は、入力データのデータ番号を信号線505
から、またデータメモリ53から読み出されたデータの
データ番号を信号線516から、それぞれ入力され、そ
の比較を行った結果を信号線520へ出力する。
以下、入力データのデータ番号をj、データメモリ53
から読み出されたデータのデータ番号をkとして説明を
進める。マルチプレクサ60は、零出力部59の定数「
零」を信号線518から、データメモリ53の読出しデ
ータ値を信号線517からそれぞれ入力し、信号線52
0の指示に従って、j<kのときには信号線518側を
、それ以外では信号線517側を選択する。
マルチプレクサ62では、零出力部61の定数「零」を
信号線507から、入力したデータのデータ値を信号線
506からそれぞれ入力し、信号線520の指示に従っ
て、j>kのときは信号線507側を、それ以外では信
号線506側を選択する。
マルチプレクサ60.62の出力データと信号線502
のアドレスとを含み、更に、比較器58から信号線52
1介してmin (j、k)をデータ番号とした和が、
信号線205に出力され、第3図の第2のキューメモリ
16へ供給される。さらに、j>kのときには、比較器
58からの信号線520を介してその比較出力がコント
ローラ63に与えられ、このコントローラ63によって
再度のリードオフセットの更新とデータメモリ53から
の読み出しを行わせる。
このとき、第3図のパラメータテーブルメモリ14はビ
ジー状態となり、第3図の第1のキューメモ1月3から
の入力は行われない。この動作がj<kとなるまで繰り
返される。なお、j>kのままでデータメモリ53に保
持した2項演算の先着した片側のデータがすべて読み出
されてしまった場合は、現在の入力データの方を先着し
た待ち合せデータとしてデータメモリ53に書き込み、
前記ライトオフセットの更新を行う制御をコントローラ
63が行う。
また、最終的に、データメモリ53に待ち合せデータが
残らないようにするためには、最大のデータ番号を持つ
データ同士の2項演算を最後に実行することが必要であ
る。
〔発明の効果〕
以上説明したように、本発明のデータフロー処理装置に
よれば、ストリーム処理を行う場合に従来に比し効率よ
くこれを実行することができ、疎な行列データをメモリ
に格納する際にデータ量を圧縮でき、単項演算処理に関
して処理時間を短縮する効果がある。
さらに、本発明の他のデータフロー処理装置によれば、
圧縮されたストリーム間の2項演算が可能であり、より
広範囲の処理を行うことができる。
【図面の簡単な説明】
第1図はデータフロー処理装置を示すブロック図、 第2図は第1図のプロセッサユニットの一例の詳細を示
すブロック図、 第3図は他のデータフロー処理装置を示すブロック図、 第4図は第3図のパラメータテーブルメモリとデータメ
モリとの一例の詳細を示すブロック図、第5図は従来の
データフロー処理装置の一例のブロック図である。 11、31・・・バスインターフェース12、32・・
・トランスファーテーブルメモリ14、33・・・パラ
メータテーブルメモリ15、34・・・データメモリ 13、16.35・キューメモリ 17、36・・・プロセッサユニット 40、51・・・ラッチ 41・・・・・演算回路 42・・・・・カウントメモリ 43.55,56.57  ・・・加算器44・・・・
・零検出部 45・・・・・制御部 46.4B、54.6帆62・・マルチプレクサ47.
59.61・・定数(零出力部)49、58・・・比較
器 52・・・・・パラメータメモリ 53・・・・・データメモリ 63・・・・・コントローラ 代理人 弁理士  岩 佐  義 幸 第1図 第4図 第5図 手続補正書 1.3.10 平成  年  月  日

Claims (3)

    【特許請求の範囲】
  1. (1)データの行き先アドレスを貯えておくトランスフ
    ァーテーブルメモリと、 前記アドレスでアクセスされ、命令を貯えておくパラメ
    ータテーブルメモリと、 2項データ演算の片側の入力データを一時貯えておくこ
    とが可能なデータメモリと、 このデータメモリからのデータの待ち合わせを行うキュ
    ーメモリと、 このキューメモリ出力に対して2項演算または単項演算
    を行い、前記トランスファテーブルメモリへ出力するプ
    ロセッサユニットと、 前記各メモリ及びプロセッサユニットを接続するリング
    状のパイプラインバスと、 このパイプラインバスと外部バスとの間のデータの入出
    力をコントロールするバスインターフェースとを備える
    データフロー処理装置であって、前記プロセッサユニッ
    トに、命令とデータ値と前記アドレスとデータ番号とか
    ら成るデータを入力することを特徴とするデータフロー
    処理装置。
  2. (2)前記プロセッサユニットは、前記アドレス毎にデ
    ータをカウントし、データ値が零であるか否かの判定結
    果と前記カウント値に応じて、前記データ番号の前記カ
    ウント値への置換、入力データの消滅、データ値が零で
    あるデータの生成等の動作を行う請求項1記載のデータ
    フロー処理装置。
  3. (3)データの行き先アドレスを貯えておくトランスフ
    ァーテーブルメモリと、 このトランスファーテーブルメモリからのデータの待ち
    合わせを行う第1のキューメモリと、この第1のキュー
    メモリからのデータの前記アドレスでアクセスされ、命
    令を貯えておくパラメータテーブルメモリと、 2項データ演算の片側の入力データを一時貯えておき、
    もう片方の入力データの到着によりそのデータ番号と貯
    えたデータのデータ番号とを参照して、前記入力データ
    と零データ、前記入力データと貯えたデータ、貯えたデ
    ータと零データのいずれかの組み合わせを2項データ演
    算用に出力するデータメモリと、 このデータメモリからのデータの待ち合せを行う第2の
    キューメモリと、 この第2のキューメモリ出力に対して2項演算または単
    項演算を行い、更に命令とデータ値と前記アドレス値と
    データ番号とから成る入力データに対して、前記アドレ
    ス毎のデータのカウントと、演算結果が零であるか否か
    の判定を行い、その判定結果と前記カウント値に応じて
    、演算結果を出力するか否かと、出力する場合にはデー
    タ番号の決定を行うプロセッサユニットと、 前記各メモリ及びプロセッサユニットを接続するリング
    状のパイプラインバスと、 このパイプラインバスと外部との間のデータの入出力を
    コントロールするバスインターフェースとを備えること
    を特徴とするデータフロー処理装置。
JP2873388A 1988-02-12 1988-02-12 データフロー処理装置 Pending JPH01205234A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2873388A JPH01205234A (ja) 1988-02-12 1988-02-12 データフロー処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2873388A JPH01205234A (ja) 1988-02-12 1988-02-12 データフロー処理装置

Publications (1)

Publication Number Publication Date
JPH01205234A true JPH01205234A (ja) 1989-08-17

Family

ID=12256633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2873388A Pending JPH01205234A (ja) 1988-02-12 1988-02-12 データフロー処理装置

Country Status (1)

Country Link
JP (1) JPH01205234A (ja)

Similar Documents

Publication Publication Date Title
CN110688157B (zh) 一种计算装置及计算方法
US7467288B2 (en) Vector register file with arbitrary vector addressing
CA1324835C (en) Modular crossbar interconnection network for data transaction between system units in a multi-processor system
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US5896501A (en) Multiprocessor system and parallel processing method for processing data transferred between processors
WO1984001043A1 (en) Method and apparatus for handling interprocessor calls in a multiprocessor system
CN111338695B (zh) 基于流水线技术的数据处理方法及相关产品
US4584642A (en) Logic simulation apparatus
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
JPH0155499B2 (ja)
US5829035A (en) System and method for preventing stale data in multiple processor computer systems
US5903780A (en) Data sorting device having multi-input comparator comparing data input from latch register and key value storage devices
US5659733A (en) Sort processing method and apparatus for sorting data blocks using work buffer merge data records while sequentially transferring data records from work buffers
EP0037264A2 (en) Associative memory system
JPH01205234A (ja) データフロー処理装置
CN114995745A (zh) 藉助于多阶段存储器映射队列以进行存取控制的方法以及相关设备
US3383661A (en) Arrangement for generating permutations
JP2004030224A (ja) プロセッサ、レジスタ退避方法およびレジスタ指定方法
CN113918879A (zh) 矩阵运算的方法和加速器
EP0359192B1 (en) Vector processors and vector register control
US6519692B1 (en) Method for updating a pointer to access a memory address in a DSP
JP2786055B2 (ja) データ転送装置
JPS6327731B2 (ja)
CN117787364A (zh) 神经网络推理系统及方法
JPH0667846A (ja) 半導体記憶装置