JP3577134B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP3577134B2 JP3577134B2 JP13038795A JP13038795A JP3577134B2 JP 3577134 B2 JP3577134 B2 JP 3577134B2 JP 13038795 A JP13038795 A JP 13038795A JP 13038795 A JP13038795 A JP 13038795A JP 3577134 B2 JP3577134 B2 JP 3577134B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- field
- output
- instruction
- 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
Links
- 238000000034 method Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 238000009825 accumulation Methods 0.000 abstract description 32
- 238000010586 diagram Methods 0.000 description 16
- 230000001186 cumulative effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【産業上の利用分野】
この発明はデータ処理装置に関し、特に、累算処理のように、3以上のデータパケットにわたって演算を行なうことができるデータ処理装置に関する。
【0002】
【従来の技術】
パケット形式でデータの受渡しを行なうデータ処理装置において、3以上のデータパケットのデータに対する処理を実行する場合がある。たとえば、同一世代内で、入力データのデータを累積するような場合である。
【0003】
従来のデータ処理装置では、そうした累算を行なう場合、装置内の特定の箇所に、保持したい累積値の数だけのデータラッチなどを準備することにより累算値を保持する機能を実現していた。そうした従来技術が特開平5−233853号公報に開示されている。
【0004】
図15は、特開平5−233853号公報に開示されたデータ処理装置のうちの、乗算部120の概略構成を示す。図15を参照して、乗算部120は、デコーダ140と、データラッチ回路132、134、136および138と、データセレクタ144と、加算処理を行なうための加算器142と、データセレクタ148と、乗算処理を行なうための乗算器146と、同期制御部部130と、前世代の入力に対する履歴値を保持するための、データラッチ回路150およびゲート回路G6からなるアキュームレータ部とを含む。
【0005】
乗算部120の動作は、転送制御回路124により制御される。転送制御回路124は、転送制御素子C1〜C4を含む。転送制御素子は、前後の転送制御素子との間で交信される受信要求信号および送信許可信号に従って順次データラッチを制御してデータを転送していく機能を有している。
【0006】
図15に示される従来のデータ処理装置の乗算部120は、累積加算動作を行なう場合には次のように動作する。乗算部120には、nビットの乗算係数と、nビットのデータとが入力データとして与えられる。デコーダ140には、mビットの命令コードが与えられる。デコーダ140は、命令コードをデコードし、所定の累積加算処理命令のときのみ1となる信号LOOPを生成し、データラッチ回路132に与える。
【0007】
データラッチ回路132は、入力されるデータと係数の2つのnビットデータと、信号LOOPとを、転送制御素子C1の受信要求出力の立上がりタイミングでラッチする。これにより、データラッチ回路134への入力が、データラッチ回路132にラッチされたデータとなる。加算器142には、データラッチ回路132にラッチされたデータ(左データ)と、データラッチ回路150に保持されている1世代前の演算結果とが入力されている。加算器142は、この2つの値を加算してデータラッチ回路130に与える。
【0008】
データラッチ回路134は、入力を、転送制御素子C2からの受信要求出力の立上がりによって規定されるタイミングでラッチする。これによりデータラッチ回路136に与えられるデータおよびデータセレクタ144に与えられるデータが、新たにデータラッチ回路134にラッチされた値となる。
【0009】
データセレクタ144は、信号LOOPが1のときにはデータラッチ回路134から端子bに入力される加算器142の加算結果を、0の場合には端子aにデータラッチ回路132、134を介して与えられる入力データをそれぞれ選択し、データラッチ回路136に与える。
【0010】
データラッチ回路136は、転送制御素子C3の受信要求出力のパルスの立上がりによって規定されるタイミングで入力データをラッチする。したがってデータラッチ回路138への入力および乗算器146への入力がともに新たにこのデータラッチ回路136によってラッチされた値となる。
【0011】
乗算器146の入力の一方にnビットの係数(右データ)が入力される。他方には、信号LOOPが1である場合には加算器142の加算結果が、0である場合にはデータ(左データ)がそれぞれ入力される。乗算器146はしたがって、信号LOOPが1のときには係数と加算器142の加算結果とを乗算し、データラッチ回路138に与える。乗算器146は信号LOOPが0のときには右データと左データとを乗算し、結果をデータラッチ回路138に与える。
【0012】
データラッチ回路138は、転送制御素子C4の受信要求出力によって規定されるタイミングでデータをラッチし、ラッチしたデータをデータセレクタ148に出力する。
【0013】
データセレクタ148に入力されるデータは以下のようになる。信号LOOPが0の場合、データセレクタ148の一方の入力cには、データ(左データ)nビットがそのまま入力される。他方の入力dには、乗算器146の乗算結果、すなわち右データと左データとの乗算結果が入力される。データセレクタ148は信号LOOPが0である場合には入力dの値を選択して2nビットデータとして出力する。この出力は、後続するシフタ(図示せず)により必要なシフト処理がされてnビットとされた上、タグが書替えられて環状のパイプラインに出力される。
【0014】
信号LOOPが1の場合、データセレクタ148の一方の入力cには、加算器142の加算結果が入力される。すなわち、入力cには、入力されるnビットのデータとデータラッチ回路150にラッチされていた1世代前の乗算結果とを加算した値が入力される。この値は乗算器146の一方の入力にも与えられる。データセレクタ148の他方の入力端子dには、乗算器146による乗算結果が入力される。すなわち入力dには、係数と、加算器142の加算結果との乗算結果が入力される。しかしこの場合データセレクタ148は、信号LOOPの値が1であることに応答して、入力cからの入力を選択してnビットのデータとして出力する。すなわちデータセレクタ148からは、乗算部120に入力されたnビットのデータと、1世代前の帰還ループの演算結果とを加算した値が出力される。
【0015】
同期制御部130は以下のように動作する。命令コードとして累積加算処理命令が入力された場合、デコーダ140は信号LOOPとして1を出力する。ゲートG5が、パルス信号をゲートG2にクロック信号として与え、このパルスに応答してゲートG2のフリップフロップがセットされ、そのQ出力が1となる。
【0016】
ゲートG3の出力が、ゲートG2の出力が1となったことに応答して0となる。その結果G4は、転送制御素子C2から与えられる送信許可信号の値にかかわらず、転送制御素子C1の送信許可入力に対して0を与える。したがって転送制御素子C1への送信許可入力は送信禁止状態となる。すなわち、デコーダ140に与えられる信号が累積加算処理命令である場合には、データラッチ回路132のラッチは、転送制御素子C1への送信許可入力が1となるまで待機させられる。
【0017】
入力される命令が累積加算処理命令以外の場合には、デコーダ140の出力は0となる。ゲートG3の出力は1となり、ゲートG4は転送制御素子C2の出力する送信許可信号をそのまま転送制御素子C1に与える。したがってこの場合には、乗算部120に入力されるデータの、データラッチ回路132へのラッチは待機させられない。
【0018】
ループ命令の待機命令は次のようにして解除される。ゲートG6は、転送制御素子Cの出力する受信要求出力と、信号LOOPとから、データラッチ回路150のクロック信号を生成する。ゲートG6は、信号LOOPが0の場合、常に1を出力する。そのためデータラッチ回路150は乗算器146の出力をラッチすることはない。信号LOOPが1の場合、ゲートG6は、転送制御素子C4の出力する受信要求信号に応答してクロック信号を生成し、データラッチ回路150に与える。このクロック信号の生成タイミングは、データラッチ回路138のデータラッチのタイミングと同時である。データラッチ回路150は、ゲートG6の出力するクロック信号の立上がりによって規制されるタイミングで、乗算器146の出力をラッチする。ラッチされたデータは再び加算器142の入力の一方に与えられる。
【0019】
ゲートG6からクロック信号が出力されると、ゲートG1を介してゲートG2がリセットされる。ゲートG2のQ出力が再び0に戻る。これに応答してゲート回路G3の出力が1となり、ゲート回路G4は転送制御素子C2の送信許可信号を転送制御素子C1にそのまま与えるようになる。その結果次の命令コードに応答して、データラッチ回路132によるデータのラッチが可能となり、次の命令の実行が開始される。
【0020】
特開平5−233853号公報に開示されたデータ処理装置では、複数の世代間で共通の累積値を参照することになる。
【0021】
なお、本願明細書において「世代」または「世代番号」は、ストリーム状データの処理を行なうデータ駆動型プロセッサなどにおいて、処理すべきデータの組を識別するための概念を言う。この場合ストリーム状データの処理とは、次々にデータを受取って同時に複数組のデータを並列処理する場合を言う。具体的には、入力データのある組に対しては等しい世代番号を与え、それによってデータの組相互を識別している。たとえば、入力データの入力順に世代番号を0、1、2…などと与える場合がある。
【0022】
「世代内処理」とは、同時に入力された値の組に対して、プログラムの進行に伴って他のデータの組とは独立に処理を行なうことを言う。
【0023】
「ノード」とは、プログラム中の処理を指定するための概念を言う。データフローグラフ中では、こうした処理は接点(ノード)として表現されることから、このように呼ばれる。それぞれの接点には固有の識別子が与えられる。
【0024】
【発明が解決しようとする課題】
特開平5−233853号公報に開示された装置を用いて累算回路を実現した場合には、複数の世代間で共通の累積値を参照することになる。このような従来の演算装置を用いたデータ処理装置で同一世代内の累算を行なおうとする場合には、たとえば、ある世代におけるデータラッチの参照または更新が終了したことをトリガとして次の世代の参照または更新を許可するようなプログラム上の工夫か必要であったり、ハードウェアによるデータラッチのアクセス制御を行なうことが必要であったりした。こうした処理は、実行されるべき演算に対するオーバーヘッドとなり、従来の装置を用いた場合には高速の累積処理演算を行なうことができなかった。
【0025】
また、個々の世代での累算処理を独立に行なうために、多数のデータラッチを搭載することも考えられる。しかしその場合には、同時に処理が行なわれる世代の数だけデータラッチが必要となり、これら複数個のデータラッチを制御するための制御機構も必要となる。そのため高速処理を実現しようとすれば、回路規模を大幅に増大する必要があった。さらに、累積演算の場合には、複数個の数値を1つのデータラッチに加算する処理が行なわれるために、通常の演算結果と比較してオーバーフローが生じやすいという問題点があった。
【0026】
また、演算装置を様々なアプリケーションに適用する場合、アプリケーションごとに必要となるデータラッチの数が異なってくるため、データラッチの数を予め決めることができないという問題点がある。すなわちアプリケーションごとに異なる演算装置を用意する必要があり、カスタム対応となるために装置のコストが上昇するという問題点がある。
【0027】
それゆえに請求項1に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速で、同一世代内の3個以上のパケット間での演算を、世代ごとに独立して行なうことができるデータ処理装置を提供することである。
【0028】
請求項2に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速で、同一世代内での3個以上のパケットの間での累積演算を各世代で独立に行なうことができるデータ処理装置を提供することである。
【0029】
請求項3に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速に、同一世代内での3個以上のパケット間での累積演算を高い精度で、各世代で独立に行なうことができるデータ処理装置を提供することである。
【0030】
請求項4に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速に、同一世代内での3個以上のパケットの間での累積演算を高い精度で、各世代で独立に行なうことができ、かつ適当な形式に変換して外部に出力できるデータ処理装置を提供することである。
【0031】
請求項5に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速に、同一世代内での3個以上のパケット間での累積演算等の演算を高い精度で各世代で独立に行なうことができ、かつその制御も容易なデータ処理装置を提供することである。
【0032】
請求項6に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速に、同一世代内での3個以上のパケットの間での累積演算を高い精度で、かつ各世代で独立に行なうことができ、かつその制御も簡単なデータ処理装置を提供することである。
【0033】
請求項7に記載の発明の目的は、ハードウェア費用の増大を抑えつつ、高速に、同一世代内での3個以上のパケットの間の累積演算等の演算を高い精度で各世代で独立に、かつ簡単な制御で行なうことができ、外部との間で適切なデータの入出力を行なうことが可能なデータ処理装置を提供することである。
【0034】
【課題を解決するための手段】
請求項1に記載のデータ処理装置は、行先フィールドと、データフィールドと、命令フィールドとを少なくとも含む通常パケット形式で外部とのデータの受渡しを行なうデータ処理装置であって、外部からパケットを受け、パケットを、演算結果の累積値を格納するための所定のフィールドを追加した形式の拡張パケットに変換して、データ処理装置内部において循環させるための内部経路手段と、内部経路手段内に配置され、命令の実行に必要な拡張パケットの待合せを行なって、命令の実行に必要なデータをすべて含む拡張パケットを内部経路手段上に出力する待合せ制御手段と、内部経路手段内に配置され、待合せ制御手段の出力する拡張パケットのデータフィールド内のデータと所定のフィールド内のデータとに対して、命令フィールドの内容により指定される演算を行なって、データフィールドおよび所定のフィールドの内容を更新して、結果の拡張パケットを内部経路手段上に出力するための演算手段と、内部経路手段内に配置され、予めデータフロープログラムを格納しており、演算手段の出力する拡張パケットを用いて、次に実行すべき命令に関する情報を含んだ拡張パケットを内部経路手段上に出力するプログラム記憶手段と、内部経路手段内に配置され、プログラム記憶手段の出力する拡張パケットを、その行先フィールドの内容に従って内部経路手段と外部とに分岐させるとともに、外部に出力されるパケットを、拡張パケット形式から通常パケット形式に変換するための分岐手段とを含む。
【0035】
請求項2に記載のデータ処理装置は、請求項1の構成に加え、演算手段は、与えられる拡張パケットのデータフィールドの内容に対して、命令フィールドの内容により指定される処理を行なう算術演算回路と、与えられる拡張パケットの所定のフィールドの内容に算術演算回路の出力を加算する加算回路と、加算回路の出力と、与えられる拡張パケットの命令フィールドおよび所定のフィールドの内容とから、拡張パケットを組立て出力するためのパケット組立手段とを含む。
【0036】
請求項3に記載のデータ処理装置は、請求項1または2に記載の構成に加えて、所定のフィールドのビット精度が、通常パケット形式のデータフィールドのビット精度よりも高く選ばれている。
【0037】
請求項4に記載のデータ処理装置は、請求項2に記載の構成に加え、パケット組立手段は、加算回路からの出力を受け、与えられる拡張パケットの命令フィールドの内容に応答して、加算回路の出力を所定ビットシフトするシフト手段と、シフト手段の出力と、与えられる拡張パケットの所定のフィールドの内容とを受け、与えられる拡張パケットの命令フィールドの内容に応答して、シフト手段の出力または与えられる拡張パケットの所定のフィールドの内容を選択的に出力するための第1の選択手段と、シフト手段の出力と加算回路の出力とを受け、与えられる拡張パケットの命令フィールドの内容に応答して、シフト手段の出力または加算回路の出力を選択的に出力するための第2の選択手段とを含む。
【0038】
請求項5に記載のデータ処理装置は、請求項1から4のいずれかの構成に加えて、内部経路手段は、外部から受けたパケットを拡張パケット形式に変換する際に、所定のフィールドに、所定の方法により定められる初期値を設定する機能を有する。
【0039】
請求項6に記載のデータ処理装置は、請求項5に記載のデータ処理装置の構成に加え、内部経路手段は、外部から受けたパケットを拡張パケット形式に変換する際に、所定のフィールドに、固定された初期値を設定する機能を有する。
【0040】
請求項7に記載のデータ処理装置は、請求項5に記載のデータ処理装置の構成に加え、内部経路手段は、外部から受けたパケットを拡張パケット形式に変換する際に、所定のフィールドに、受けたパケットの内容により定まる初期値を設定する機能を有する。
【0041】
【作用】
請求項1に記載のデータ処理装置では、内部経路手段が外部からパケットを受け、パケットの形式を、演算結果の累積値を格納するための所定のフィールドを追加した形式の拡張パケット形式に変換して、データ処理装置内部において循環させる。待合せ制御手段は、命令の実行に必要な拡張パケットの待合せを行なって、命令の実行に必要なデータをすべて含む拡張パケットを内部経路手段上に出力する。演算手段は、待合せ制御手段の出力する拡張パケットのデータフィールド内のデータと所定のフィールド内のデータとに基づき、命令フィールドの内容により指定される処理を行なって、データフィールドおよび所定のフィールドの内容を更新して、結果の拡張パケットを内部経路手段上に出力する。プログラム記憶手段は、演算手段の出力する拡張パケットを用いて、次に実行すべき命令に関する情報を含んだ拡張パケットを内部経路手段上に出力する。分岐手段は、プログラム記憶手段の出力する拡張パケットを、その行先フィールドの内容に従って内部経路手段と外部とに分岐させる。分岐手段はまた、外部に出力されるパケットを、拡張パケット形式から通常パケット形式に変換する。
【0042】
請求項2に記載のデータ処理装置においては、請求項1の作用に加えて、算術演算回路が、拡張パケットのデータフィールドの内容に対して、命令フィールドの内容により指定される処理を行ない、加算回路が、拡張パケットの所定のフィールドの内容に算術演算回路の出力を加算する。パケット組立手段が、加算回路の出力と、与えられる拡張パケットの命令フィールドおよび所定のフィールドの内容とから、拡張パケットを組立て出力する。
【0043】
請求項3に記載のデータ処理装置においては、請求項1または2の作用に加えて、通常パケット形式のデータフィールドのビット精度よりも高い精度のデータを所定のフィールドに格納できる。
【0044】
請求項4に記載のデータ処理装置では、請求項2の作用に加え、シフト手段が、命令フィールドの内容に応答して、加算回路の出力を所定ビットシフトする。第1の選択手段は、シフト手段の出力と、拡張パケットの所定のフィールドの内容とを受け、拡張パケットの命令フィールドの内容に応答して、シフト手段の出力または拡張パケットの所定のフィールドの内容を選択的に出力する。第2の選択手段は、拡張パケットの命令フィールドの内容に応答して、シフト手段の出力または加算回路の出力を選択的に出力する。
【0045】
請求項5に記載のデータ処理装置においては、請求項1から4のいずれかの作用に加え、内部経路手段が、パケットを拡張パケット形式に変換する際に、所定のフィールドに所定の方法により定められる初期値を設定する。
【0046】
請求項6に記載のデータ処理装置においては、請求項5の作用に加えて内部経路手段は、パケットを拡張パケット形式に変換する際に、所定のフィールドに、固定された初期値を設定する。
【0047】
請求項7に記載のデータ処理装置においては、請求項5の作用に加え、内部経路手段は、パケットを拡張パケット形式に変換する際に、所定のフィールドに、受けたパケットの内容により定まる初期値を設定する。
【0048】
【実施例】
図1に、パケット形式で外部とのデータの受渡しを行なうデータ処理装置の一例であるデータ駆動型プロセッサ100の構成を模式的に示す。以下本発明を、データ駆動型プロセッサに適用した場合を例にとって説明する。なお以下に述べる実施例は、あくまでも一例であって、データ駆動型プロセッサ以外のデータ処理装置に対して本願発明を適用することが可能である。
【0049】
データ駆動型プロセッサ100は、その内部においてデータパケットを循環させるための環状の経路116と、環状の経路116内に設けられ、経路112を介して外部から与えられるデータパケットを、環状の経路116内に合流させるための合流部102と、2入力演算を実行するための組となる2つのデータの待合せを行ない、パケット1対から、演算に必要なデータかすべて揃ったパケットを生成して出力するための待合せ制御部104と、待合せ制御部104から与えられるパケットに対して、累積演算を含む算術的・論理的演算処理を行なって結果パケットを出力するための演算部106と、演算部106の出力する結果を用いて次に実行すべき命令に関する情報をパケットに加え、環状の経路116上に出力するためのプログラム記憶108と、環状の経路116内に設けられ、プログラム記憶108から出力されるパケットを、その行先フィールドの内容に従って外部への経路114と、環状の経路116とに分岐させるための分岐部110とを含む。待合せ制御部104はまた、1入力命令については待合せを行なわず、直ちにパケット出力を行なう。
【0050】
この処理系内を何周か周回することにより、パケットに対する所望の処理が完了される。処理が完了したパケットに対しては、プログラム記憶108において次の命令に関する情報を加える代わりに、処理系の外部に出力することを示す命令が加えられ、分岐部110はその命令が外部行命令であることを検出してパケットを経路114上に出力する。
【0051】
従来のデータ処理装置では、待合せ制御部104から出力されるデータパケットは図16(B)に示されるパケット162の形式であり、他の部分におけるパケット形式は図16(A)に示されるようなものであった。ここで従来のデータパケット形式について説明しておくと、図16(A)に示されるパケット160は、命令コードのフィールド52と、世代番号フィールド54と、ノード番号フィールド56と、データフィールド58とを含む。図16(B)を参照して、待合せ制御部104から出力されるパケット162は、命令コードフィールド52と、世代番号フィールド54と、ノード番号フィールド56と、左データフィールド62と、右データフィールド64とを含む。
【0052】
これに対して図1に示す本願発明に係る実施例のデータ駆動型プロセッサ100では、図3に示す形式のパケットが用いられる。図3(B)を参照して、待合せ制御部104から出力されるパケット42は、命令コードフィールド52と、世代番号フィールド54と、ノード番号フィールド56と、左データフィールド62と、右データフィールド64とに加え、累積値(以下「ACC」と呼ぶ)保持フィールド66を含む。同様に図3(A)を参照して、図1に示すデータ駆動型プロセッサ100の、他の部分で使用されるパケット40は、命令コードフィールド52と、世代番号フィールド54と、ノード番号フィールド56と、データフィールド58とに加え、ACCフィールド60を含む。
【0053】
データフィールド58と、左データフィールド62と、右データフィールド64とはnビットであり、ACCフィールドはm(m>n)ビットである。たとえばn=12、m=24である。このようにACCフィールドのビット数を通常のデータフィールドのビット数より多くしたのは、次のような理由である。たとえばn=m=12とした場合に、8ビット精度のデータを累積加算する場合を考える。この場合、16個の値を加算した時点で、加算結果が12ビットのデータフィールドをオーバーフローする危険性がある。本発明ではnより大きな値のmビット幅を有するACCフィールドを設けることにより、オーバーフローによる不正確な演算結果の出力を抑制するようにしている。
【0054】
図2に、演算部106の機能構成を模式的に示した。図2を参照して演算部106は、パイプラインラッチ22、26および36と、算術演算回路24と、加算器28と、シフタ30と、セレクタ32および34とを含む。
【0055】
パイプラインラッチ22は、パケットの右データと、左データと、命令コードと、ACCとを一旦ラッチするためのものである。
【0056】
算術演算回路20は、パイプラインラッチ22から与えられる右データおよび左データに対して、パイプラインラッチ22から与えられる命令コードに対応した処理を行なって結果をパイプラインラッチ26に与えるためのものである。
【0057】
パイプラインラッチ26は、算術演算回路24の出力と、命令コードと、ACCとを一旦ラッチし、加算器28とセレクタ32および34とに与えるためのものである。
【0058】
加算器28は、パイプラインラッチ26を介して与えられる算術演算回路24の出力と、パイプラインラッチ26を介して与えられるACCとを加算してシフタ30およびセレクタ34に与えるためのものである。
【0059】
シフタ30は、加算器28の出力を、パイプラインラッチ26を介して与えられる命令コードに応じて所定ビットシフトしてセレクタ32および34に与えるためのものである。
【0060】
セレクタ32は、シフタ30の出力とACCとのいずれか一方を命令コードに応じて選択し、パイプラインラッチ36を介して、出力されるパケットのデータとして出力するためのものである。
【0061】
セレクタ34は、命令コードによって制御され、シフタ30の出力または加算器28の出力を、パイプラインラッチ36を介して、出力データパケットのACCフィールドの値として出力するためのものである。
【0062】
図2を参照して、パケット内の右データと左データとが算術演算回路24で処理され、その結果が加算器28により累算値(ACC)に加えられる。加算結果はシフタ30によってオフセットをかけられてセレクタ32および34に与えられる。セレクタ32および34がいずれの入力を選択するかに応じて、ACCフィールドの値を更新したり、出力データフィールドに結果を出力したり、データフィールドにはシフタ30の出力を格納させ、ACCフィールドには加算器28の出力を格納させたりすることができる。算術演算の内容とシフト処理の詳細については後述する。
【0063】
再び図1を参照して、上述したような累算処理が、図1に示す処理系(データ駆動型プロセッサ100)内部で閉じたものであるならば、ハードウェアを節約するという観点から言えば、このデータ駆動型プロセッサ100と外部との間で入出力されるパケットには、図3に示されるようなACCフィールドを設けることは不要である。したがって経路112および114上のパケットとしては図16に示した従来形式のパケットを利用することができる。こうすることにより、システム全体で、パケットを伝送するための経路のビット幅が少なくなり、ハードウェアを節約することができる。
【0064】
このように外部との入出力には従来と同様のパケット形式を利用する場合、処理系内で累算処理を実行するためには、外部から処理系に入力された通常形式のパケットを、図3に示されるようなACCフィールドを有する拡張したパケット形式に変換する必要がある。この処理は、たとえば図1に示す合流部102で行なってもよいし、合流部102の前に専用の回路を設けてもよい。
【0065】
このように通常パケット形式から拡張パケット形式にパケット形式を変換する場合、ACCフィールドには適切な初期値を与えることが望ましい。たとえば一般的には「0」という固定したデータを用いてACCフィールドを初期化することが考えられるが、「0」に限らず他の所望な初期値を与えるようにしてもよい。本実施例のデータ駆動型プロセッサでは、以下に示す累積演算の他にも、ACCフィールドの内容を初期化する演算も提供する。たとえば図16(A)に示すフォーマットで入力されたパケットの命令コード52が所定のACC初期化命令である場合には、データフィールド58に格納されているnビットデータをmビットに符号拡張したうえで、図3(A)に示すパケット40のACCフィールド60に格納して、パケット40をデータ駆動型プロセッサ100内部に供給する。なお符号拡張とは、この場合nビットデータの最上位ビットの値で、mビットのMSB(最上位ビット)側のm−nビットを埋めてmビットデータとする操作を言う。
【0066】
また、ACCフィールドの内容を参照する場合、図1に示す経路114上に、図16(A)に示すパケット160の形式で外部にACCフィールドの内容を出力する必要がある。この場合、ACCフィールドはmビット幅であり、パケット160のデータフィールド58はnビット幅であるため、ACCフィールドの内容をデータフィールド58に収めることはそのままでは不可能である。そこで、ACCフィールドの内容をnビットで表現できるように、pビットだけ右シフトしてオフセットさせることが考えられる。この場合のパケット40と、出力されるパケット160とのフィールドの対応関係を図4に示す。あるいは、ACCフィールドの内容を、2つのパケット160のデータフィールド58に分割して出力することが考えられる。この場合の1つの方法を図5に示す。図5に示す例では、ACCフィールド60のmビットデータのうち下位nビットを2段目のパケット160−2のデータフィールド58に格納し、ACCフィールド60の上位(m−n)ビットをnビットに符号拡張したうえで、パケット160−1のデータフィールド58に格納する。
【0067】
ACCフィールドの内容を外部に出力するためのデータの変換方法としては、上述の他にも種々考えられる。そうした処理は、図2に示すシフタ30およびセレクタ32を用いて行なってもよいし、図1に示す分岐部110で行なってもよい。または分岐部110の後方側に専用の回路を設けてもよい。
【0068】
累算処理としては、左データを単純にACCフィールドの内容に加算する処理以外に、入力されるデータに対して従来から行なわれている算術演算の結果をACCフィールドの内容に加算する処理などが考えられる。本実施例のデータ駆動型プロセッサでは、次のような累積演算を実現する命令体系を提供している。
【0069】
入力される左データと右データとの間に次のような演算を行なうことが考えられる。
【0070】
▲1▼ 乗算
▲2▼ 加算
▲3▼ 減算
▲4▼ 2乗
右データと左データとの間に行なわれた結果に対して、さらに次の場合を考えることができる。
【0071】
i) シフト処理を施す。
ii) シフト処理を施さない。
【0072】
上述のようなシフト処理(またはシフトしない処理)の結果とACCフィールドとの内容に対して次の処理が考えられる。
【0073】
A) 結果をACCに加える。
B) 結果でACCフィールドを上書きする。
【0074】
このようにしてACCフィールドを更新したうえで、データの出力としては次のような方法が考えられる。
【0075】
a) ACCの更新結果を出力する。
b) ACCの更新結果をシフトして出力する。
【0076】
c) ACCの更新前の内容を出力する。
d) ACCの更新前の内容をシフトして出力する。
【0077】
e) ▲1▼〜▲4▼の演算結果を出力する。
f) ▲1▼〜▲4▼の演算結果をシフトして出力する。
【0078】
本実施例では、左データと右データとの間の演算、結果に対するシフト処理、その結果を用いたACCの更新、および出力するデータおよびシフトの選択方法の各々を組合せたものをそれぞれ1命令として実現した命令体系を提供している。
【0079】
続いて、本演算装置の具体的な動作を、図6に示すような画素70、72、74、76および78に対する画像処理を例にして説明する。図6(A)は、画像データのある画素78を、周囲の4点の画素70、72、74および76の平均値として求める処理の画像イメージを示し、図6(B)は画素78の値eの計算方法を、画素70、72、74および76の値をそれぞれa、b、c、dとして式で表わしたものである。
【0080】
図7は、上述した処理を示すデータフローグラフである。図7に示すデータフローグラフでは、それぞれの演算に対して、それぞれを区別するための識別子としてノード番号が与えられている。ノード80は第1のノードであり、累算xが行なわれる。ノード82は第2のノードであり、累算yが行なわれる。ノード84は第3のノードであり、累算zが行なわれる。
【0081】
一般的な画像データの特徴として、画面の左上から水平方向に走査して、順に下段の走査線に移りながら画像データが構成されている。そのため処理装置への画素データの到着順序はa、b、c、dの順となる。図7のデータフローグラフは、データa、b、c、dの到着順にデータを順次処理するアルゴリズムを実現している。
【0082】
なお図7において累算xは上記した処理の組合せのうち▲2▼、ii、B、およびaの組合せを、累算yは▲2▼、ii、A、およびaの組合せを、累算zは、▲2▼、i、A、およびaの組合せを、それぞれ示している。
【0083】
図8は、図7に示すデータフローグラフに対応するデータフロープログラム90が、プログラム記憶108に格納されている状態を模式的に示す。このデータフロープログラムは、ノードと、そのノードの処理の次にどのノードのどの命令を実行するか、等を関連づけるために必要な内容を含む。プログラム記憶108に到着したパケットのノード番号を「前ノード番号」としてプログラム記憶108内のメモリを参照して、対応する命令コードと次ノード番号とを読出し、パケット中の命令コードフィールドとノード番号フィールドとの内容を、このようにして読出された「命令コード」と「次ノード番号」に付替える。
【0084】
図9は、図1および図2に示したデータ駆動型プロセッサにおけるプログラム実行に伴って、パケットの内容がどのように変化するかを示す。
【0085】
図9(A)〜(D)は、このプログラムに対する第0世代目の4つの入力パケットである。これらのパケットは、それぞれの入力データ(A)〜(D)とともに、それぞれのデータが入力されるノードを指定するための情報(ノード番号および命令コード)と、これらパケットが同時に処理すべきデータの組に属することを示す同一の世代番号(=0)を持っている。また、ACCフィールドは、データ駆動型プロセッサ100への入力時点で0に初期化されている。
【0086】
図10に、図9(A)および図9(B)に示される2つのパケットが図1に示す待合せ制御部104で対とされて出力された結果のパケットを示す。待合せ制御部104は、入力パケットのうち、命令コードおよび世代番号が同一で、ノード番号が同一な1対のデータパケットを、そのノードへの左右の入力データとして検出し、図10に示すような左右のデータフィールドを持つパケットを生成して演算部106に与える。
図11は、図7に示すノード80において累算xの処理を施した結果、ノード80から出力されるパケットを示す。図11に示すように、この処理の場合には、ACCフィールドとデータフィールドとの双方に、演算結果の「a+b」が書込まれている。
【0087】
図12は、演算部106からプログラム記憶108に与えられた図11に示すパケットに対して、上述したような次命令付替手順によってノード番号と命令コードとが付替えられたものを示す。このパケットは図7に示すノード82に対する左入力パケットである。
【0088】
図13および図14は、図11と同様に、ノード番号82および84の出力パケットを示す。図14に示されるパケットは、この後図8に「外部出力」として示されている、前ノード番号3に対応する命令コードが、命令フィールドに書込まれ、その結果分岐部110および経路114を介して外部に出力される。
【0089】
以上のように上記した実施例のデータ駆動型プロセッサでは、複数の世代の各々について、その内部で複数個のパケットでの演算処理、たとえば累算処理を行なうことができる。しかもそれを実現するためのハードウェアは、たとえば各世代ごとの累算値を格納するための複数個のデータラッチを設ける場合と比較して簡単で済み、制御も容易である。またそうした処理を実現するためのソフトウェアも簡単なもので済む。したがって演算を実行するうえでのオーバーヘッドが少なく済み、処理を高速化することが可能である。また、累積値のビット幅を通常の演算のビット幅よりも大きくしてあるため、データ駆動型プロセッサ内部で行なわれる累積演算の結果にオーバーフローを生じて演算結果が大きく狂うという不都合が生ずる恐れが小さい。また異なるアプリケーションに対しても、同じハードウェアを使用して対処することができ、異なるアプリケーションに対してハードウェアを別々に構成するものと比較してコスト的に有利である。
【0090】
【発明の効果】
以上のように請求項1に記載のデータ処理装置によれば、パケットを、演算結果の累積値を格納するための所定のフィールドを追加した形式の拡張パケットの形式に変換して内部で循環させて処理したうえで、通常パケット形式の結果のパケットを外部に出力する。同一世代に属する3個以上のパケットの間で、ある演算を行なうために途中結果を保持する必要がある演算について、その途中結果を所定のフィールドに格納して、その途中結果を用いてデータ処理装置内部で各世代ごとに独立して繰返して演算することができる。アプリケーションが異なっても、ハードウェアを変更する必要はない。演算同士の処理順序を制御するための特別な機構や、1世代ごとに独立した処理を行なうための特別な機構が不要であり、オーバーヘッドが減少する。そのため処理速度を向上させることができる。回路規模を小さくすることもでき、その制御も簡単である。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代に属する3個以上のパケットの間での演算を、世代ごとに独立して行なうことができるデータ処理装置を提供できる。
【0091】
請求項2に記載のデータ処理装置によれば、請求項1の効果に加えて、拡張パケットのデータフィールドの内容に対して、命令フィールドの内容により指定される処理を行なった結果と、その結果と拡張パケットの所定のフィールドの内容との和とから拡張パケットを組立てることができる。そのため、同一世代に属する3個以上のパケットのデータの累積値を、複雑な制御なく求めることができる。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代の3個以上のパケットの間での累積演算を世代ごとに独立して行なうことができるデータ処理装置を提供できる。
【0092】
請求項3に記載のデータ処理装置によれば、請求項1または2の効果に加えて、所定フィールドのビット精度は、通常のデータフィールドのそれよりも高いので、累積演算におけるオーバーフローを起こしにくい。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代の3個以上のパケットの間での累積演算を各世代ごとに独立して、高い精度で行なうことができるデータ処理装置を提供できる。
【0093】
請求項4に記載のデータ処理装置によれば、請求項2または3の効果に加え、加算回路の出力を所定ビットシフトし、またはシフトせず、パケットのデータフィールドまたは所定のフィールドに格納させることができる。データ処理装置内部での演算結果を、適切な形式に変換したうえで出力することができる。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代の3個以上のパケット間での累積演算を世代ごとに独立して高い精度で行なうことができ、かつ結果を適切な形式に変換して出力できるデータ処理装置が得られる。
【0094】
請求項5に記載のデータ処理装置によれば、請求項1から4のいずれかの効果に加え、パケットを拡張パケット形式に変換する際に、所定のフィールドに、所定の方法により定められる初期値を設定するので、様々な処理に対しても、データ処理装置内部での演算の制御を簡単にすることができる。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代の3個以上のパケット間での累積演算等の演算を世代ごとに独立して高い精度で行なうことができ、かつその制御の容易なデータ処理装置を得ることができる。
【0095】
請求項6に記載のデータ処理装置によれば、請求項5の効果に加え、所定のフィールドに、固定された初期値が設定される。たとえば累積演算などのように初期値が0と定まっている場合などに、複雑な制御なく、初期設定処理を行なうことができる。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代の3個以上のパケット間の累積演算を世代ごとに独立して高い精度で行なうことができ、かつその制御の簡単なデータ処理装置を得ることができる。
【0096】
請求項7に記載のデータ処理装置によれば、パケットを拡張パケット形式に変換する際に、所定のフィールドに、受けたパケットの内容により定まる初期値が設定されるので、たとえば低精度の外部データを、データ処理装置内部での高精度の演算のためのデータに変換して初期値として利用することができる。その結果、ハードウェア費用の増大を抑えつつ、高速に、同一世代の3個以上のパケット間での累積演算等の演算を世代ごとに独立して高い精度で、かつ簡単な制御で行なうことができ、外部との間で適切にデータの入出力を行なうことが可能なデータ処理装置を得ることができる。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の一実施例のデータ駆動型プロセッサの概略ブロック図である。
【図2】演算部のブロック図である。
【図3】図1に示されるデータ駆動型プロセッサ内部で使用される拡張パケット形式を示す図である。
【図4】ACCを外部に出力する際のデータ変換方法を示す図である。
【図5】ACCの値を外部に出力する際の他のデータ変換方法を示す図である。
【図6】実施例のデータ駆動型プロセッサの動作を説明するための、画像処理を模式的に示す図である。
【図7】図6に示した画像処理のデータフローグラフを示す図である。
【図8】図7に示すデータフローグラフに対応するデータフロープログラムを模式的に示す図である。
【図9】図7に示されるデータフローグラフに対応して、データ駆動型プロセッサに与えられる第0世代のパケットを示す図である。
【図10】図7に示される処理の途中で生成されるパケットを示す図である。
【図11】図7に示される処理の途中で生成されるパケットを示す図である。
【図12】図7に示される処理の途中で生成されるパケットを示す図である。
【図13】図7に示される処理の途中で生成されるパケットを示す図である。
【図14】図7に示される処理の途中で生成されるパケットを示す図である。
【図15】従来のデータ処理装置の一例で用いられる乗算部のブロック図である。
【図16】従来のデータ処理装置の一例であるデータ駆動型プロセッサにおいて使用されるパケットを示す図である。
【符号の説明】
24 算術演算回路
28 加算器
30 シフタ
32、34 セレクタ
100 データ駆動型プロセッサ
102 合流部
104 待合せ制御部
106 演算部
108 プログラム記憶
110 分岐部
116 環状の経路
Claims (7)
- 行先フィールドと、データフィールドと、命令フィールドとを少なくとも含む通常パケット形式で外部とのデータの受渡しを行なうデータ処理装置であって、
外部からパケットを受け、パケットを、演算結果の累積値を格納するための所定のフィールドを追加した形式の拡張パケット形式に変換して、上記データ処理装置内部において循環させるための内部経路手段と、
前記内部経路手段内に配置され、命令の実行に必要な拡張パケットの待合せを行なって、命令の実行に必要なデータをすべて含む拡張パケットを前記内部経路手段上に出力する待合せ制御手段と、
前記内部経路手段内に配置され、前記待合せ制御手段の出力する拡張パケットのデータフィールド内のデータと前記所定のフィールド内のデータとに対し、命令フィールドの内容により指定される演算を行なって、データフィールドおよび前記所定のフィールドの内容を更新して、結果の拡張パケットを前記内部経路手段上に出力するための演算手段と、
前記内部経路手段内に配置され、予めデータフロープログラムを格納しており、前記演算手段の出力する拡張パケットを用いて、次に実行すべき命令に関する情報を含んだ拡張パケットを前記内部経路手段上に出力するプログラム記憶手段と、
前記内部経路手段内に配置され、前記プログラム記憶手段の出力する拡張パケットを、その行先フィールドの内容に従って前記内部経路手段と外部とに分岐させるとともに、外部に出力されるパケットを、前記拡張パケット形式から前記通常パケット形式に変換するための分岐手段とを含む、データ処理装置。 - 前記演算手段は、
与えられる拡張パケットのデータフィールドの内容に対して、命令フィールドの内容により指定される処理を行なう算術演算回路と、
与えられる拡張パケットの前記所定のフィールドの内容に前記算術演算回路の出力を加算する加算回路と、
前記加算回路の出力と、与えられる拡張パケットの命令フィールドおよび前記所定のフィールドの内容とから、拡張パケットを組立て出力するためのパケット組立手段とを含む、請求項1記載のデータ処理装置。 - 前記所定のフィールドのビット精度が、通常パケット形式のデータフィールドのビット精度よりも高く選ばれている、請求項1または2記載のデータ処理装置。
- 前記パケット組立手段は、
前記加算回路の出力を受け、与えられる拡張パケットの命令フィールドの内容に応答して、前記加算回路の出力を所定ビットシフトするシフト手段と、
前記シフト手段の出力と、与えられる拡張パケットの前記所定のフィールドの内容とを受け、与えられる拡張パケットの命令フィールドの内容に応答して、前記シフト手段の出力または前記与えられる拡張パケットの前記所定のフィールドの内容を選択的に出力するための第1の選択手段と、
前記シフト手段の出力と前記加算回路の出力とを受け、与えられる拡張パケットの命令フィールドの内容に応答して、前記シフト手段の出力または前記加算回路の出力を選択的に出力するための第2の選択手段とを含む、請求項2に記載のデータ処理装置。 - 前記内部経路手段は、外部から受けたパケットを前記拡張パケット形式に変換する際に、前記所定のフィールドに、所定の方法により定められる初期値を設定する機能を有する、請求項1から4のいずれかに記載のデータ処理装置。
- 前記内部経路手段は、外部から受けたパケットを前記拡張パケット形式に変換する際に、前記所定のフィールドに、固定された初期値を設定する機能を有する、請求項5に記載のデータ処理装置。
- 前記内部経路手段は、外部から受けたパケットを前記拡張パケット形式に変換する際に、前記所定のフィールドに、受けたパケットの内容により定まる初期値を設定する機能を有する、請求項5に記載のデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13038795A JP3577134B2 (ja) | 1995-05-29 | 1995-05-29 | データ処理装置 |
US08/654,520 US5826098A (en) | 1995-05-29 | 1996-05-29 | Data processing system which converts received data packet into extended packet with prescribed field for accumulation process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13038795A JP3577134B2 (ja) | 1995-05-29 | 1995-05-29 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08329038A JPH08329038A (ja) | 1996-12-13 |
JP3577134B2 true JP3577134B2 (ja) | 2004-10-13 |
Family
ID=15033113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13038795A Expired - Lifetime JP3577134B2 (ja) | 1995-05-29 | 1995-05-29 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5826098A (ja) |
JP (1) | JP3577134B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144887A (en) * | 1996-12-09 | 2000-11-07 | Denso Corporation | Electronic control unit with reset blocking during loading |
GB9914418D0 (en) * | 1999-06-22 | 1999-08-18 | Stringer Andrew M | Computer network payment system |
US6914644B2 (en) * | 1999-12-24 | 2005-07-05 | Matsushita Electric Industrial Co., Ltd. | Liquid crystal device |
JP3766779B2 (ja) * | 2000-03-31 | 2006-04-19 | シャープ株式会社 | 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置 |
JP4173654B2 (ja) * | 2001-08-30 | 2008-10-29 | シャープ株式会社 | データ駆動型情報処理装置 |
JP4141673B2 (ja) | 2001-10-18 | 2008-08-27 | シャープ株式会社 | データ処理装置 |
CN104915176B (zh) * | 2015-06-17 | 2017-12-26 | 福州瑞芯微电子股份有限公司 | 基于优先级对数据流中数据进行选择操作的方法以及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341506A (en) * | 1984-12-10 | 1994-08-23 | Nec Corporation | Data flow processor with a full-to-half word convertor |
US5001663A (en) * | 1989-05-03 | 1991-03-19 | Eastman Kodak Company | Programmable digital circuit for performing a matrix multiplication |
US5285271A (en) * | 1991-05-14 | 1994-02-08 | Hewlett-Packard Company | Digital color matrixing circuit |
JP3312039B2 (ja) * | 1992-01-08 | 2002-08-05 | シャープ株式会社 | データ駆動型情報処理装置 |
JPH05233853A (ja) * | 1992-02-24 | 1993-09-10 | Sharp Corp | 演算処理装置 |
JPH06103301A (ja) * | 1992-09-17 | 1994-04-15 | Sony Corp | 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 |
US5402369A (en) * | 1993-07-06 | 1995-03-28 | The 3Do Company | Method and apparatus for digital multiplication based on sums and differences of finite sets of powers of two |
-
1995
- 1995-05-29 JP JP13038795A patent/JP3577134B2/ja not_active Expired - Lifetime
-
1996
- 1996-05-29 US US08/654,520 patent/US5826098A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08329038A (ja) | 1996-12-13 |
US5826098A (en) | 1998-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
US5404562A (en) | Massively parallel processor including queue-based message delivery system | |
CN108959179B (zh) | 向量处理器的序列对齐方法 | |
US5872991A (en) | Data driven information processor for processing data packet including common identification information and plurality of pieces of data | |
JP3577134B2 (ja) | データ処理装置 | |
KR100539112B1 (ko) | 벡터 데이터의 어드레스 참조 방법 및 벡터 프로세서 | |
US6167420A (en) | Multiplication method and multiplication circuit | |
US5812806A (en) | Data driven information processor configuring each data packet with a multi-attribute tag having at least two components | |
WO2000028411A9 (en) | Digital signal processor with bit fifo | |
US7124280B2 (en) | Execution control apparatus of data driven information processor for instruction inputs | |
JP5370352B2 (ja) | Simd型プロセッサアレイシステム及びそのデータ転送方法 | |
US5502834A (en) | Memory interface apparatus for carrying out complex operation processing | |
US5748933A (en) | Data driven type information processor suitable for image processing that utilizes a configuration condition | |
JP2004220377A (ja) | リコンフィギュラブル回路とそれを利用可能な集積回路装置およびデータ変換装置 | |
EP1251425A2 (en) | Very long instruction word information processing device and system | |
JP3982324B2 (ja) | ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム | |
US6470369B1 (en) | Euclid mutual division arithmetic circuit and processing circuit | |
JP2748404B2 (ja) | 2項データメモリ | |
JP2869101B2 (ja) | 並列計算機のデータ通信システム | |
JPH0696035A (ja) | 処理要素とそれを用いる並列処理計算機 | |
JP2002175180A (ja) | 逆数演算方法及び逆数演算装置並びに逆数演算プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH1185506A (ja) | 複数条件コード処理機能を有するデータ処理装置 | |
JPH06259231A (ja) | 整数型除算器 | |
JPH0531170B2 (ja) | ||
GB2137786A (en) | Pipelined Digital Data Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040603 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040709 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070716 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |