JPH0412503B2 - - Google Patents

Info

Publication number
JPH0412503B2
JPH0412503B2 JP57062566A JP6256682A JPH0412503B2 JP H0412503 B2 JPH0412503 B2 JP H0412503B2 JP 57062566 A JP57062566 A JP 57062566A JP 6256682 A JP6256682 A JP 6256682A JP H0412503 B2 JPH0412503 B2 JP H0412503B2
Authority
JP
Japan
Prior art keywords
pipeline
register
adder
vector
multiplier
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
JP57062566A
Other languages
English (en)
Other versions
JPS58181165A (ja
Inventor
Shigeo Abe
Tadaaki Bando
Kotaro Hirasawa
Toshuki Ide
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP57062566A priority Critical patent/JPS58181165A/ja
Priority to US06/485,396 priority patent/US4853890A/en
Publication of JPS58181165A publication Critical patent/JPS58181165A/ja
Publication of JPH0412503B2 publication Critical patent/JPH0412503B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 本発明はベクトル演算プロセツサに係り、特に
ベクトル演算時のマイクロプログラミングを容易
とするサポート機能を有したベクトル演算プロセ
ツサに関する。
行列やフーリエ変換の諸計算に代表されるよう
なベクトル演算を高速に行うものの1つに、パイ
プライン演算器を用いたベクトル演算プロセツサ
がある。このパイプライン演算器では、演算処理
のための複数ステージが設けられており、ある処
理が順次この各ステージを流れている間に、次の
処理が続けてこの各ステージを流れていく。
第1図はかかるベクトル演算プロセツサの従来
例を示すもので、2個のレジスタ200,40
0、パイプライン乗算及び加算器700及び10
00、これらへの入力を選択するセレクタ10
0,300,500,600,800、及び90
0を有しており、この他にメモリやアドレス演算
ユニツト等の図示しないユニツトがある。各信号
ライン中にカツコ書きで指示している数字はビツ
ト数である。他の図面でも同様に扱つている。
このうち、レジスタ200及び400は、読出
しポインタRPX、RPYと書込みポインタWPX、
WPYによりアクセスされ、1マシンサイクルに
1個のデータ読出し及び書込みが可能なレジスタ
である。
又、乗算器700及び加算器1000は、米国
特許4075704等で例示されるように、フローテイ
ング演算を3及び2ステージに分割して、データ
のオーバラツプ演算を可能にするパイプライン演
算器である。
このようなパイプライン演算器を用いてベクト
ル演算を実行する場合、異つたデータ間の演算を
できるだけオーバラツプさせて演算ループを最も
短かくすることにより、演算の高速化が行われ
る。このような演算を次のフオートラン言語で記
述された簡単なベクトル演算を例として説明す
る。
DO100I=1、N F(I)=X(I)+C Y(I)=A※F(I)+F(I) 100 CONTINUE ……(1) 上記の例は、正弦関数等の関数ベクトル演算を
極めて単純化したものである。プログラム(1)にお
いてN=1のときを第1図の構成のベクトル演算
プロセツサで実行する場合の手順をマイクロプロ
グラム言語としてのRTL(Register Transfer
Language)言語で記述すると第2図となり、又
この手順をデータの流れを中心に記述すると第3
図イ,ロ,ハとなる。
即ち、ステツプS1ではレジスタ400のアド
レス0に格納されている内容REGY(0)=C(こ
の設定は計算開始時に図示しないホストコンピユ
ータから行われる。他のデータも同様)と、入力
信号線10よりINP1(X(1))によつて図示しない
メモリから入力されるデータX(1)が、それぞれセ
レクタ800及び900で選択されて加算器10
00の第1段ステージに於て加算され始める。ス
テツプS2では、加算器1000に於る加算の第
2ステージが実行され、このマシンサイクルでは
加算器1000内で自動的にステージの移動が行
われるので、演算の指定は不要(NOOP:NO
OPERATION)となる。ステツプS3では、レジ
スタ200のアドレス2に、REGX(2)=Aが格
納されているとすると、ステツプS2で得られた
加算器出力FA十F(1)がレジスタ200のアドレ
ス0へREGX(0)←FAによりセレクタ100
を介して入力され、又セレクタ600を介して乗
算器700へ一方の入力として与えられる。更に
REGX(2)=Aもセレクタ500を介して入力さ
れ、乗算器700に於て乗算F(1)×Aの第1ステ
ージが開始される。乗算器700は前述のように
3ステージなので、続くステツプS4、S5では乗
算器内で自動的に処理ステージがすすみ、この間
の演算指定も不要となる。ステツプS6では、ス
テツプS5迄で得られた結果FM=A・F(1)とステ
ツプS3でレジスタ200に格納されたREGX
(0)=F(1)とが、それぞれセレクタ800及び9
00により選択されて加算器1000に入力さ
れ、ステツプS7を経て加算される。この加算結
果のFA=Y(1)はOUTAにより出力線40から図
示しないメモリへ出力される。
以上はプログラム(1)のI=1だけの場合である
が、I=1、2、…、Nに対する演算、即ちベク
トル演算を行わせる時はパイプライン処理、即ち
添字I=1のデータの演算を実行している途中か
ら添字I=2のデータの演算を開始するというよ
うに、添字の異るデータの演算をオーバラツプさ
せ、全体として実行的な演算時間を短縮させう
る。このため、I=1のステツプS2からI=2
のステツプS1を開始し、I=2のステツプS2か
らI=3のステツプS1を開始する、というよう
に1マシンサイクルだけずらしたのでは第1図の
ハードウエアが不足となる。それはこの場合、定
常的にはステツプS1〜S8のすべてを各Iに対し
て同時に実行することになるが、例えば加算器1
000は2ステージしかなく、一方ステツプS1、
S2、S6、S7はいずれも加算のどれかのステージ
を異なるデータに対して実行する必要があるの
で、加算器1個のこの例ではこのような多重処理
は不可能である。
そこで第4図に示すように2ステツプ(2マシ
ンサイクル)のずれで各添字Iに対する演算をオ
ーバラツプさせれば、上記のようなハードウエア
上の衝突はない。そして定常的には、第2図のス
テツプS1、S3、S5、S7を添字I、I+1、I+
2、I+3のデータに対して実行するサイクル
と、ステツプS2、S4、S6、S8を同様に実行する
サイクルのくり返しになる。従つてこれをRTL
言語で記述すると第5図のフローが得られる。
第5図では、ステツプS30が第2図のステツプ
S1、S3を、ステツプS50が第2図のステツプS1、
S3、S5を、ステツプS70及びS90が第2図のステ
ツプS1、S3、S5、S7の動作を(異なる添字デー
タに対して)含んでおり、ステツプS80及びS100
が第2図のステツプS2、S4、S6、S8を含んだも
のであり、これらにはLOOPCHECK命令により
必要なくり返し(I=1〜N)が終了したか否か
を判定する動作も含まれる。
ところで、第4図で示したように2マシンサイ
クルずらしたパイプライン化を行つているにも拘
らず、第5図のくり返しループは4マシンサイク
ル(4ステツプ)となつている。この理由は、第
5図のステツプS70で命令REGX(0)←FAによ
り加算結果F(I)がレジスタ200のアドレス
0に入力され、それが使われるのはステツプ
S100に達した時の命令FM<+>REGX(0)に
於てである。ところが、パイプライン化のため、
この間のステツプ90の命令REX(1)←FAによりレ
ジスタ200のアドレス1にはF(I+1)の値
が格納される。従つてもしF(I)の値を同一ア
ドレス0に入れると、F(I)がレジスタからと
り出される時にはその値が書換えられてしまうの
で、レジスタ200のアドレス0と1を交互に使
うことによつてこれを避けているためである。従
つてステツプS70とS90はレジスタ200のアド
レスを示すREGX(0)とREGX(1)が異なる以外
は同じであり、ステツプ80と100でも同様である。
このため、従来の装置では、くり返しループの
部分のマイクロプログラムのステツプ数が、本来
必要なステツプ数の2倍となり、その内容も複雑
となる。この問題は、プログラム(1)で例としたよ
うな簡単なプログラムではさほど問題にならない
が、一般の関数演算等の場合、くり返しループの
ステツプ数は数十ステツプに及ぶため、それがさ
らに2倍に増加すると、マイクロプログラムのプ
ログラミング及びそれを格納するコントロールメ
モリの容量を考えると大きな欠点となる。
本発明の目的は、上記の従来装置の問題点を解
決して、マイクロプログラミングが容易で、かつ
マイクロプログラムのステツプ数も少なくてすむ
パイプライン形のベクトル演算プロセツサを提供
することにある。
本発明は、マイクロプログラムの制御にて読
み/書きされるレジスタであつて、1マシンサイ
クルで指定される読出アドレスを少なくとも2つ
有し指定された読出アドレスのデータを前記パイ
プライン演算器に出力するレジスタと、マイクロ
プログラムにて読み出しと書き込みが別個に制御
されるFIFOバツフアであつて、繰り返し演算の
中間結果として前記パイプライン演算器から出力
されるデータを一時記憶し時間的に先に入力され
たデータを先に前記パイプライン演算器に出力す
るFIFOバツフアとを備えることを特徴とする。
従来は第1図のレジスタ200,400のどちら
にデータを入れるかを考えてプログラムの作成を
行わなければならなかつたが、本発明では、上記
のレジスタを設けることで、このようなことは考
えずにプログラムを作成することが可能となり、
また、プログラムのステツプ数も減少し演算速度
が速くなる。更に、本発明では、FIFOバツフア
を設けることで、ループ間のアドレスの衝突が回
避でき、ループのステツプ数が減少する。
以下、本発明を実施例により詳細に説明する。
第6図は本発明の一実施例を示すもので、第1図
と基本的には同様な構成である。但し第1図では
省略したアドレス演算ユニツト1100、これに
よりアドレス指定される2つのメモリユニツト1
200,1300も図示されており、第1図のレ
ジスタ200,400に該当するものは1つのレ
ジスタ450として示されている。但しこのレジ
スタ450は2つの読み出し(ポインタRP1、
RP2による)と1つの書込み(ポインタWPによ
る)を同時に行える2ポートレジスタである。
FIFOバツフア250は本発明の特徴とするもの
で、入力及び出力制御信号WE、REにより制御
される。パイプライン型の乗算器700(3ステ
ージ)及び加算器1000(2ステージ)への上
記各メモリユニツト、レジスタ、FIFOバツフア
等からの入力は、本例ではゲート群G1〜G6を通
して所要のデータを入力バスB1〜B4へのせるこ
とにより行われる。
アドレス演算ユニツト1100は、レジスタ1
120の一方の出力データ、メモリーユニツト1
200,1300の出力データのいずれかがセレ
クタ1130で選択されたものと、レジスタ11
20のもう一方の出力データとに演算器(ALU)
1110で演算を行い、その結果をレジスタ11
20、メモリアドレスレジスタ1220,132
0へセツトする。
各メモリーユニツト1200,1300は、ア
ドレスレジスタ1220,1320にセツトされ
たアドレスのデータを、1マシンサイクルかけて
読出して読出しレジスタ1250,1350へセ
ツトするか、あるいはそのアドレスへ、セレクタ
1240,1340を介して乗算器700又は加
算器1000から書込みレジスタ1230,13
30にセツトされていたデータを1マシンサイク
ルかけて書込む。更に、アドレスレジスタ122
0,1320はカウンタより構成されており、1
度ALU1110からセツトされると、±1するこ
とにより連続したアドレスのデータの読み出しあ
るいは書き込みができる構成となつている。
FIFOバツフア250への書込み及び読出しは、
前述したように制御信号RE及びWEにより行わ
れ、書込まれるのは加算器1000あるいは乗算
器700の出力の内、セレクタ100により選択
されたもので、FIFOバツフア250の出力は本
例では加算器1000へ転送される。
同様に、レジスタ450への入力は、加算器1
000、乗算器700の出力のいずれかがセレク
タ300により選択されたものであり、出力は乗
算器700、加算器1000へ転送可能である。
第7図はFIFOバツフア250の構成例で、こ
れは2ワードバツフアの場合である。同図に於
て、書込み点指定用フリツプフロツプ254のオ
フ又はオンに応じて書き込み点コントロール回路
255からレジスタ251又は252に書込み信
号が出力され、同様に読出し点指定用のフリツプ
フロツプ257のオン又はオフに応じて、レジス
タ252又は251の内容が読出されるように、
読出し点コントロール回路258が出力セレクタ
253を制御する。更に各コントロール回路25
5及び258は、1つの書込みあるいは読出しを
行う毎に、フリツプフロツプ254及び257の
状態を反転させるから、第2図の2ワードバツフ
アは2ワード長の待行列、即ちFIFOバツフアと
して動作する。
以上が第6図の実施例の概要であり、これらの
各ユニツト、例えば各セレクタ、ゲートG1〜
G4、レジスタ、FIFOバツフアの読み/書き等は
マイクロプログラムにより制御される。
次に本実施例の動作を、従来装置の例として用
いたプログラム(1)により説明する。まず、プログ
ラム(1)のループで、I=1の時の演算を第6図の
実施例で実行させる時のマイクロプログラムのフ
ローをRTL言語で記述すると第8図のようにな
る。但し同図に於て、REG1(0)、REG2(0)は
読出しポインタRP1、RP2がそれぞれ0の時にレ
ジスタ450の指定されるアドレスの内容を示
し、これらには演算開始前にプログラム(1)の定数
C及びAが格納されており、又読出しレジスタ1
250にはデータX(1)がセツトされているとす
る。
第8図に於て、ステツプP1ではREG1(0)=C
と読出しレジスタ1250の内容X(1)が加算器1
000に入力され、ステツプP2を経ての演算結
果FA=F(1)が得られる。ステツプP3では、命令
FIFO←FAによりその結果FAが、出力信号40、
セレクタ100を介してFAFOバツフア250に
入力される。同時に命令REG2(0)<×>FAに
より、加算器出力FAはゲートG6を介して、又定
数Aがレジスタ450からポインタRP2=0によ
り読み出されて、それぞれ乗算器700へ入力さ
れ、乗算が開始される。乗算は3ステージ(1ス
テツプは1ステージと同じ時間)であるので、乗
算はステツプP4、P5を経て完了する。ステツプ
P6では命令FM<+>FIFOにより、乗算結果
FM=AF(1)がゲートG5を介して、又FIFOバツフ
ア250からF(1)が読出され、それぞれ加算器1
000に入力され、加算が開始される。2ステー
ジの加算がステツプP7を経て終ると、ステツプ
P8の命令MWR2←FAにより加算結果FA=Y(1)
が、セレクタ1340を介して書込みレジスタ1
330へセツトされる。同時に命令MAR2←
ALUにより、ALU1110で算出されたアドレ
スレジスタ1320にセツトされ、メモリ131
0のこのアドレスへの書込みレジスタ1330に
セツトされた結果Y(1)の書込みが起動される。
以上の演算ステツプは添字I=2、3、4、…
に対しても同様であるが、これを従来例と同様に
パイプライン化すると、第9図に示すように各添
字Iに対して2ステツプずつずらせたものとな
る。これに対応するループ構成のマイクロプログ
ラムは、第10図に示すような2ステツプのみの
くり返しループをもつフローとなる。
即ち、第10図に於て、ステツプP10は第8図
のステツプP1に対応するが、パイプライン化の
ために、命令MAR1←MAR1<+>1によりカ
ウンタ構成のアドレスレジスタ1220の内容を
+1して、ステツプP30に於る加算命令REG1
(0)<+>MRR1のために次のデータX(2)のメ
モリ1210からの読出しを起動するものであ
り、これはステツプP30、P50、P70の命令
MAR1←MAR1<+>1についても同様である。
又、ステツプP80の命令MAR2←MAR2<+>1
もアドレスレジスタ1320の内容を+1し、ル
ープを一周して再びステツプP80へ戻つた時の演
算結果Y(I)の格納番地を更新するものである。
従つて初期値としては、(Y(1)のアドレス)−1の
値が、レジスタ1320にセツトされている。
ステツプP30では、ステツプP10と同じ動作を、
命令REG1(0)<+>MAR1、MAR←MAR1<
+>1により添字I=2に対して実行し、かつ命
令FIFO←FA、REG2(0)<×>FAによつて第
8図のステツプP3に対応する動作を、I=1の
データに対して実行する。更にステツプP50で
は、ステツプP30と同じ動作を添字を1ふやした
ものについて実行する。そしてこの時点では
FIFOバツフア250には、ステツプP30、P50の
命令FIFO←FAによりF(1)、F(2)の値が順次格納
されており、従来の第5図のステツプS30、S50
に於るREGX(0)←FA、REGX(1)←FAのよう
に異なる命令を必要としないことが特徴となつて
いる。
ステツプP60では、命令FA<+>FIFOにより
I=1に対する乗算結果FM=A・F(1)とFIFO
バツフア250に最初にステツプP30で入力され
たF(1)が加算開始される。このためにはFIFOバ
ツフア250は第7図で説明したように2ワード
構成であればよい。
続いてループへ入つて、ステツプP70ではステ
ツプP50と同じ動作を更に添字を1大きくしたも
のについて実行し、ステツプP80ではステツプ
P60に開始された加算の結果FA=A・F(1)+F
(1)を、命令MWR2←FAにより書込みレジスタ1
320へセツトし、命令MAR2←MAR2<+>
1により前述のようにメモリ1310の、次の格
納(I=2)のためのアドレス更新を行い、更に
命令FM<+>FIFOによつて、ステツプP60のI
=2とした時の加算AF(2)+F(2)を開始する。又
命令LOOPCHECKは、アドレス演算ユニツト1
100内のレジスタ1120に予めくり返し回数
Nをセツトしておき、ステツプP70でこれをALU
1110により1減じ(この命令は第10図では
省略した)、ステツプP80で0になつたかどうか
をしらべるもので、0になつた時終了として
ENDへ出る。0でない時はステツプP70へもどり
ループをくり返す。
以上のマイクロ命令によりプログラム(1)が実行
されるが、従来の第5図と比べると、ステツプ
P30、P50と同様、ステツプP70に於ても、各添
字Iに対応する中間加算結果FA=X(I)+C=
F(I)は同一形式の命令FIFO←FAによりFIFO
バツフア250へ順次格納され、ステツプP80で
は命令FM<+>FIFOにより、この命令より以
前に入力されたもののうち2つ前の入力データが
F(I)として自動的にとり出され、その時の加
算結果FM=AF(I)と加算される。これは、
FIFOバツフアを有しない従来装置の場合の第5
図と比べると、ステツプS70〜S100に於て、中間
結果F(I)をパイプライン化のためにREGX
(0)、REGX(1)と区別して格納、読出していた
のに比べ、プログラム上、極めて簡単化されるこ
とを示しており、ループは2ステツプで構成可能
となり、プログラミングも中間結果格納レジスタ
のアドレスを意識せずに作れるから容易となる。
特に、フオートランプログラム(1)は、極めて簡
単な例となつているが、実際の関数演算の例で
は、多くのユニツトが同一マシンサイクルで並列
に動作し、第6図のセレクタ、バツフア等も複雑
に制御されることになるから、くり返し部分が10
ステツプ以上となり、本発明によると、このくり
返し部分が大幅に縮小されることの結果は極めて
大きい。
なお、関数演算等でマイクロプログラミングに
より評価した結果によると、FIFOバツフアの容
量は、2ワードとすれば多くの場合十分であるこ
とが示される。
又、メモリユニツト1200,1300、レジ
スタ45の出力は、乗算器700、加算器100
0の左右の入力に接続されているが、これは、乗
算器出力が、加算器の左入力にしか接続されてお
らず、また加算器の出力が乗算器の右入力にしか
接続されていないため、入力が非対称となつてお
り、また加算器1000の機能自体も非対称とな
つているため、乗算器700、加算器1000へ
の左右の入力の組合せが任意にできるようにする
ためである。一方、FIFOバツフア250の出力
は加算器1000の左右の入力にしか接続されて
いないが、関数演算等の例では、加算器への入力
だけで、十分効果があることが判つている。但
し、これらの接続関係の種々の変更に対しても、
本発明を適用できることは明らかである。
以上の説明から明らかなように、本発明によれ
ば、演算器のバツフアレジスタをアドレス方式に
よりアクセスする従来方法に比較して、ベクトル
演算に対するループ演算部のステツプ数を大幅に
減少させることができ、又マイクロプログラムの
作成を容易化できるという効果がある。
【図面の簡単な説明】
第1図は従来のベクトル演算プロセツサの構成
例を示すブロツク図、第2図は第1図のプロセツ
サに対するマイクロプログラム例を示す図、第3
図イ,ロ,ハは第2図のプログラムによる演算を
データの各ハード上への流れで示した図、第4図
は第2図のプログラムを添字を変えてくり返す時
のパイプライン処理ステツプの説明図、第5図は
第4図に対応するパイプライン処理演算のマイク
ロプログラムフローを示した図、第6図は本発明
の一実施例を示す図、第7図は本発明の特徴とす
るFIFOバツフアの構成例を示す図、第8図は第
6図の一実施例に対するマイクロプログラム例を
示す図、第9図は第8図のプログラムを添字を変
えてくり返す時のパイプライン処理ステツプの説
明図、第10図は第9図に対応するパイプライン
処理演算のマイクロプログラムフローを示す図で
ある。 250……FIFOバツフア、450……レジス
タ、700……乗算器、1000……加算器、1
100……アドレス演算ユニツト、1200,1
300……メモリユニツト。

Claims (1)

  1. 【特許請求の範囲】 1 複数の変数を一括して添字で区別されるベク
    トル変数とし、このベクトル変数を用いる関数演
    算をパイプライン演算器により実行するように構
    成したベクトル演算プロセツサにおいて、マイク
    ロプログラムの制御にて読み/書きされるレジス
    タであつて1マシンサイクルで指定される読出ア
    ドレスを少なくとも2つ有し指定された読出アド
    レスのデータを前記パイプライン演算器に出力す
    るレジスタと、マイクロプログラムにて読み出し
    と書き込みが別個に制御されるFIFOバツフアで
    あつて繰り返し演算の中間結果として前記パイプ
    ライン演算器から出力されるデータを一時記憶し
    時間的に先に入力されたデータを先に前記パイプ
    ライン演算器に出力するFIFOバツフアとを備え
    ることを特徴とするベクトル演算プロセツサ。 2 前記パイプライン演算器を、1個のパイプラ
    イン加算器と1個のパイプライン乗算器から構成
    するとともに、該パイプライン加算器及び乗算器
    の出力が前記FIFOバツフアへ入力可能であり、
    かつ該FIFOバツフアの出力が上記パイプライン
    加算器及び乗算器の双方又は一方へ入力可能であ
    るように構成したことを特徴とする特許請求の範
    囲第1項記載のベクトル演算プロセツサ。
JP57062566A 1982-04-16 1982-04-16 ベクトル演算プロセツサ Granted JPS58181165A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP57062566A JPS58181165A (ja) 1982-04-16 1982-04-16 ベクトル演算プロセツサ
US06/485,396 US4853890A (en) 1982-04-16 1983-04-15 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57062566A JPS58181165A (ja) 1982-04-16 1982-04-16 ベクトル演算プロセツサ

Publications (2)

Publication Number Publication Date
JPS58181165A JPS58181165A (ja) 1983-10-22
JPH0412503B2 true JPH0412503B2 (ja) 1992-03-04

Family

ID=13203962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57062566A Granted JPS58181165A (ja) 1982-04-16 1982-04-16 ベクトル演算プロセツサ

Country Status (2)

Country Link
US (1) US4853890A (ja)
JP (1) JPS58181165A (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0650512B2 (ja) * 1984-07-11 1994-06-29 日本電気株式会社 デ−タ処理装置
US4683547A (en) * 1984-10-25 1987-07-28 International Business Machines Corporation Special accumulate instruction for multiple floating point arithmetic units which use a putaway bus to enhance performance
JPS6263370A (ja) * 1985-05-15 1987-03-20 Toshiba Corp 演算回路
JPS622363A (ja) * 1985-06-27 1987-01-08 Nec Corp 演算装置
JPS622364A (ja) * 1985-06-27 1987-01-08 Nec Corp 演算装置
JPS6222177A (ja) * 1985-07-22 1987-01-30 Oki Electric Ind Co Ltd デジタル信号処理装置
JPS6462764A (en) * 1987-09-03 1989-03-09 Agency Ind Science Techn Vector computer
JP2583774B2 (ja) * 1987-12-25 1997-02-19 ジーイー横河メディカルシステム株式会社 高速数値演算装置
US5293611A (en) * 1988-09-20 1994-03-08 Hitachi, Ltd. Digital signal processor utilizing a multiply-and-add function for digital filter realization
US6009508A (en) * 1994-06-21 1999-12-28 Sgs-Thomson Microelectronics Limited System and method for addressing plurality of data values with a single address in a multi-value store on FIFO basis
GB9412435D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction addressing
GB9412439D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction pipelining
US5771392A (en) * 1996-06-20 1998-06-23 Mathsoft, Inc. Encoding method to enable vectors and matrices to be elements of vectors and matrices
US6738840B1 (en) * 1999-08-31 2004-05-18 Koninklijke Philips Electronics N.V. Arrangement with a plurality of processors having an interface for a collective memory
US6922716B2 (en) * 2001-07-13 2005-07-26 Motorola, Inc. Method and apparatus for vector processing
US7206927B2 (en) * 2002-11-19 2007-04-17 Analog Devices, Inc. Pipelined processor method and circuit with interleaving of iterative operations

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041461A (en) * 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
US4179734A (en) * 1976-07-02 1979-12-18 Floating Point Systems, Inc. Floating point data processor having fast access memory means
JPS5852265B2 (ja) * 1977-01-12 1983-11-21 株式会社日立製作所 デ−タ処理装置
JPS5532161A (en) * 1978-08-29 1980-03-06 Fujitsu Ltd Integration processing unit
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4229790A (en) * 1978-10-16 1980-10-21 Denelcor, Inc. Concurrent task and instruction processor and method
US4400778A (en) * 1979-11-05 1983-08-23 Litton Resources Systems, Inc. Large-volume, high-speed data processor
US4298936A (en) * 1979-11-15 1981-11-03 Analogic Corporation Array Processor
EP0042452B1 (en) * 1980-06-24 1984-03-14 International Business Machines Corporation Signal processor computing arrangement and method of operating said arrangement

Also Published As

Publication number Publication date
JPS58181165A (ja) 1983-10-22
US4853890A (en) 1989-08-01

Similar Documents

Publication Publication Date Title
US4589067A (en) Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US4862407A (en) Digital signal processing apparatus
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
JPH0412503B2 (ja)
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US5381360A (en) Modulo arithmetic addressing circuit
JPH0731603B2 (ja) Forth特定言語マイクロプロセサ
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
JPS6313215B2 (ja)
JPH0374434B2 (ja)
JPS5852265B2 (ja) デ−タ処理装置
JPS6217252B2 (ja)
JPH0241053B2 (ja)
JPH0260026B2 (ja)
JPH0414385B2 (ja)
JPH0444970B2 (ja)
JPS623461B2 (ja)
US5265204A (en) Method and apparatus for bit operational process
US4870608A (en) Method and apparatus for floating point operation
JPH0363092B2 (ja)
US3942156A (en) Indirect arithmetic control
JPS60178580A (ja) 命令制御方式
JPH0222413B2 (ja)
JPH07110769A (ja) Vliw型計算機
JP2654451B2 (ja) データ出力方法