JP2989830B2 - ベクトル処理方法 - Google Patents

ベクトル処理方法

Info

Publication number
JP2989830B2
JP2989830B2 JP1086464A JP8646489A JP2989830B2 JP 2989830 B2 JP2989830 B2 JP 2989830B2 JP 1086464 A JP1086464 A JP 1086464A JP 8646489 A JP8646489 A JP 8646489A JP 2989830 B2 JP2989830 B2 JP 2989830B2
Authority
JP
Japan
Prior art keywords
vector
correction value
circuit
register
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.)
Expired - Fee Related
Application number
JP1086464A
Other languages
English (en)
Other versions
JPH02266467A (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.)
NEC Corp
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Nippon Electric Co 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 NEC Computertechno Ltd, Nippon Electric Co Ltd filed Critical NEC Computertechno Ltd
Priority to JP1086464A priority Critical patent/JP2989830B2/ja
Publication of JPH02266467A publication Critical patent/JPH02266467A/ja
Application granted granted Critical
Publication of JP2989830B2 publication Critical patent/JP2989830B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 技術分野 本発明はベクトル処理方式に関し、特にイテレーショ
ン演算命令を実行する場合のベクトル処理方式に関する
ものである。
従来技術 イテレーション命令は下記の(1)式に示す様に、直
前の演算結果を次の演算で使用する命令である。
Vx(i)=Vx(i−1)*Vy(i) ……(1) ここに、Vx(−1)=a(aは定数)であり、i=0,
1,2,……,nであり,*は演算子を示している。
この様なイテレーション演算命令を実行するベクトル
処理装置の従来例が第2図に示されている。複数のベク
トルパイプライン回路1〜4が設けられており、各ベク
トルパイプライン回路1〜4内のベクトルレジスタ12,2
2,32,42のベクトル要素を演算できる演算回路6が設け
られている。そして、この演算回路6の演算結果が各ベ
クトルパイプライン回路1〜4内のベクトルレジスタ1
1,21,31,41に夫々格納されるようになっている。
まず、ベクトルデータを格納しているベクトルレジス
タ12,22,32,42より0要素Vy(0)を読出し、選択回路6
1によりこれを選択して演算回路63へ入力する。選択回
路62は演算回路63の出力と初期値aとのうち初期値aを
選択して演算回路63へ入力する。演算回路63は選択回路
61と選択回路62との出力データを演算し、演算結果a*
Vy(0)すなわちVx(0)をベクトルレジスタ11,21,3
1,41の0要素に書込むとともに、選択回路62へ出力す
る。
次に、ベクトルデータを格納しているベクトルレジス
タ12,22,32,42より1要素Vy(1)を読出し、選択回路6
1によりこれを選択して演算回路63へ入力する。選択回
路62は演算回路63の出力Vx(0)と初期値aとのうち演
算回路63の出力Vx(0)を選択して演算回路63へ入力す
る。演算回路63は選択回路61と選択回路62との出力デー
タを演算し、演算結果Vx(0)*Vy(1)すなわちVx
(1)をベクトルレジスタ11,21,31,41の1要素に書込
むとともに、選択回路62へ出力する。
以後、同様にi要素Vy(1)を読出してi−1回目の
演算結果Vx(i−1)と演算し、Vx(i)をi要素に書
込むことをi=nとなるまでくりかえす。
この様な従来のベクトル処理方式では、直前の演算結
果を次の演算結果で使用するために、並列演算を行うこ
とができず、よって1回の演算にmT(Tはサイクルタイ
ム)必要であるとすると、全演算終了までにmnTを必要
とし、極めて長時間を要するという欠点がある。
発明の目的 そこで、本発明はこの様な従来技術の欠点を解決すべ
くなされたものであって、その目的とするところは、イ
テレーション演算を複数の部分演算に分けて並列処理す
るように構成して、演算処理時間の大幅な短縮を図るよ
うにしたベクトル処理方式を提供することにある。
発明の原理 本発明では、イテレーション演算を部分演算に分割し
て処理し、部分的に行なった演算結果を補正演算するよ
うにして全体のイテレーション演算結果を得ることがで
きるという事実を利用している。たとえば、イテレーシ
ョン演算が(2)式で示されるとする。
Vx(i)=Vx(i−1)+Vy(i) ……(2) ここで、i=j,j+1,j+2,……,kを考えると、次式が
得られる。
Vx(j)=Vx(j−1)+Vy(j) ……(3) Vx(j+1)=Vx(j)+Vy(j+1) =Vx(j−1)+Vy(j) +Vy(j+1) ……(4) Vx(j+2)=Vx(j+1)+Vy(j+2) =Vx(j−1)+Vy(j) +Vy(j+1)+Vy(j+2) ……(5) Vx(k)=Vx(k−1)+Vy(k) =Vx(j−1)+Vy(j)+V y(j+1)+……+Vy(k)……(6) ここで、 Vz( )=Vz( −1)+Vy( +1) ……(7) (Vz(−1)=0, =0,1,2……,n−j) と示されるような部分的なイテレーションを行ったとす
ると、 Vx(k)=Vx(j−1)+Vy(j)+Vy(j+1) +……Vy(k) =Vx(j−1)+Vz(k−j) ……(8) (k=j,j+1,……,n) という式が成り立つ。
したがって、これより部分的なイテレーションを先に
行なって、その後で補正を行なえばよいことがわかる。
このことは加算ばかりでなく、減算、乗算、除算の場合
にも適用できる。
発明の構成 以上の事実から、本発明によれば、互いに同一の演算
処理を行うよう構成されたベクトルパイプライン回路を
複数個有するデータ処理装置のベクトル処理方式であっ
て、 前記ベクトルパイプライン回路の各々は、 ベクトルレジスタと、補正値レジスタと、前記ベクト
ルレジスタの出力を1入力とする演算手段と、この演算
手段の演算出力と前記補正値レジスタの出力とを択一的
に導出して前記演算手段の他入力として供給する選択手
段とを有して構成され、 更に、イテレーション演算命令に応答して、この演算
の一部ずつを前記ベクトルパイプライン回路の各々に割
当てて実行せしめるべく、夫々割当てられた部分演算に
必要な初期値を前記補正値レジスタの各々に設定して前
記部分演算を実行せしめ、しかる後に各々の部分演算結
果を順次他のベクトルパイプライン回路内の補正値レジ
スタへ夫々供給してこの補正値レジスタの内容により当
該ベクトルパイプライン回路の部分演算結果の補正のた
めの補正値を演算せしめ、これ等補正値を用いて全ての
ベクトルパイプライン回路の演算結果の補正を行い、こ
れ等全ての補正演算後の部分演算結果を用いて全体のイ
テレーション演算結果とするよう制御する手段を含むこ
とを特徴とするベクトル処理方式が得られる。
実施例 次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。1〜
4はベクトルパイプライン回路であり、ベクトルパイプ
ライン回路1は、ベクトルレジスタ11,12と、ベクトル
レジスタ12の出力データと選択回路14の出力データを入
力として演算するベクトル演算回路15と、他のベクトル
パイプライン回路4から出力される補正値かまたは初期
値を選択して保持する補正値レジスタ13と、ベクトル演
算回路15の出力データもしくは補正値レジスタ13から出
力される補正値をベクトル演算回路15の入力データとし
て選択する選択回路14とから構成されている。
他のベクトルパイプライン回路2〜3も同様にベクト
ルレジスタ21,22,31,32,41,42と、補正値レジスタ23,3
3,43と選択回路24,34,44と、ベクトル演算回路25,35,45
とから構成されている。補正値レジスタ13はベクトル演
算回路45の出力データを入力とし、補正値レジスタ23は
ベクトル演算回路15の出力データを入力とし、補正値レ
ジスタ33はベクトル演算回路25の出力データを入力と
し、補正値レジスタ43はベクトル演算回路35の出力デー
タを入力とする。
ここで、ベクトル要素は256であり、第3図に示すよ
うにベクトルデータが各ベクトルレジスタ12,22,32,42
に64要素ずつ格納されているものとして説明する。
まず、各ベクトルパイプライン回路において部分的な
イテレーションを行なう。ベクトルパイプライン回路1
では初期値S0として加減算の場合は0,乗算の場合は1を
補数値レジスタ13に格納し、選択回路14でこの補数値レ
ジスタ13の出力データを選択してベクトル演算回路15で
S0とベクトルレジスタ12から読出したVy(0)とを演算
し、演算結果Vz0(0)をベクトルレジスタ12のVy
(0)の上に書込み、選択回路14に出力する。
次に、ベクトルレジスタ12のVy(1)を読出して、前
回の演算結果Vz0(0)を選択回路14で選択してベクト
ル演算回路15で演算し、演算結果Vz0(1)をベクトル
レジスタ12のVy(1)の上に書込み、選択回路14に出力
する。これをくり返して、第4図に示すように、Vz0
(0),Vz0(1)……Vz0(63)を求める。これを同時
に他のベクトルパイプライン回路2〜4でも行なうと、
第4図のようにVz1(i),Vz2(i),Vz3(i)(i=
0,1,2,……,63)が求まる。
次に、各ベクトルパイプライン回路1〜4で演算され
た演算結果を使って補正値を求める。ここで、各ベクト
ルパイプライン回路1〜4で求めた演算結果と、全体の
イテレーションを行なった場合のVx(i)との関係は次
のようになる。ここで*は演算子である。
Vx(i)=Vy(−1)*Vz0(i) (i=0,1,2,……63) ……(9) Vx(i)=Vx(63)*Vz1(i−64) (i=64,65,66……,127) ……(10) Vx(i)=Vx(127)*Vz2(i−128) (i=128,129,130……,191) ……(11) Vx(i)=Vx(191)*Vz3(i−191) (i=192,193,194……,225) ……(12) したがって、各ベクトルパイプライン回路1〜4の補
正値はそれぞれVy(−1),Vx(63),Vx(127),Vx(19
1)となる。このとき、Vy(−1)は全体のイテレーシ
ョン演算に与えられる初期値であり、他の補正値はVx
(63),Vy(127),Vx(191)は次の式で求められる。
Vx(63)=Vy(−1)*Vz0(63) ……(13) Vx(127)=Vx(63)*Vz1(63) ……(14) Vx(191)=Vx(127)*Vz2(63) ……(15) この補正値を次のようにして求める。まず、補正値レ
ジスタ13は初期値Vy(−1)を格納し、選択回路14で補
正値レジスタ13の出力データVy(−1)を選択して、ベ
クトル演算結果15でVy(−1)とベクトルレジスタ12か
ら読出したVz0(63)と演算し、演算結果Vx(63)を補
正値レジスタ23に出力する。補正値レジスタ23はベクト
ル演算回路15から出力された補正値Vx(63)を格納し、
選択回路24で補正値レジスタ23の出力データVx(63)を
選択して、ベクトル演算回路25でVx(63)とベクトルレ
ジスタ22から読出したVz1(63)と演算し、演算結果Vx
(127)を補正値レジスタ33に出力する。
補正値レジスタ33はベクトル演算回路25から出力され
た補正値Vx(127)を格納し、選択回路34で補正値レジ
スタ33の出力データVx(127)を選択して、ベクトル演
算回路35でVx(127)とベクトルレジスタ32から読出し
たVz2(63)と演算し、演算結果Vx(191)を補正値レジ
スタ43に出力する。補正値レジスタ43はベクトル演算回
路35から出力された補正値Vx(191)を格納する。
次に、各ベクトルパイプライン回路1〜4において、
補正値レジスタ13,23,33,43に格納されている補正値Vy
(−1),Vx(63),Vx(127),Vx(191)で補正演算を
行う。ベクトルパイプライン回路1は補正値Vy(−1)
を選択回路14によって選択し、演算回路15で補正値Vy
(−1)とベクトルレジスタ12から順次読出されるVz0
(i)の演算を順次行ない、演算結果Vx(i)をベクト
ルレジスタ11に順次書込む。
同様に他のベクトルパイプライン回路2〜4も補正演
算を行なってVx(i)を求め、それぞれベクトルレジス
タ21,31,41に書込む。第5図はベクトルレジスタ11,21,
31,41に最終的な演算結果を書込んだときの図である。
この方法でイテレーション演算を行なった場合に必要
な時間を考えると、第6図,第7図,第8図に示すよう
な時間の和になる。まず、第6図は各部分のイテレーシ
ョン演算を行なう部分であり、1回の演算にmT必要であ
るとすると、64要素の演算に64mT必要とする。第7図は
補正値を求める演算を行なう部分であり、3mT必要とす
る。第8図は各ベクトルパイプライン回路で補正演算を
行なう部分であり、{m+(64−1)}T必要とする。
したがって合計すると、 64mT+3mT+(m+64−1)T=(68m+64−1)T 必要である。
発明の効果 以上説明したように、本発明によれば、各ベクトルパ
イプライン回路に部分的にイテレーション演算を行なう
機能と共に全体のイテレーションを行なった場合の補正
値を求める機能と、補正値によって補正演算をする機能
とを持たせることによって、256mT必要であった演算
が、例えば4パイプライン回路構成にすることによって
(68m+64−1)Tで実行することが可能となる。たと
えば、m=6とすると、3分の1程度の時間で実行でき
ることになり、よって1回の演算にかかる時間が長いほ
ど効果があり、ベクトルパイプライン回路数が多いほど
効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は従来の
ベクトル処理方式を示すブロック図、第3図及び第4図
はベクトルレジスタ12,22,32,42内のデータ並びを示す
図、第5図はベクトルレジスタ11,21,31,41内のデータ
の並びを示す図、第6図は部分イテレーション演算を行
う場合のタイムチャート、第7図は補正値を求める演算
を行う場合のタイムチャート、第8図は各ベクトルパイ
プライン回路で補正演算を行う場合のタイムチャートで
ある。 主要部分の符号の説明 1〜4……ベクトルパイプライン回路 11,21,31,41……ベクトルレジスタ 12,22,32,42……ベクトルレジスタ 13,23,33,43……補正値レジスタ 14,24,34,44……選択回路 15,25,35,45……演算回路
フロントページの続き (56)参考文献 特開 平1−284969(JP,A) 特開 平1−284970(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/16

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】互いに同一の演算処理を行うよう構成され
    たベクトルパイプライン回路を複数個有するデータ処理
    装置のベクトル処理方式であって、 前記ベクトルパイプライン回路の各々は、 ベクトルレジスタと、補正値レジスタと、前記ベクトル
    レジスタの出力を1入力とする演算手段と、この演算手
    段の演算出力と前記補正値レジスタの出力とを択一的に
    導出して前記演算手段の他入力として供給する選択手段
    とを有して構成され、 更に、イテレーション演算命令に応答して、この演算の
    一部ずつを前記ベクトルパイプライン回路の各々に割当
    てて実行せめるべく、夫々割当てられた部分演算に必要
    な初期値を前記補正値レジスタの各々に設定して前記部
    分演算を実行せしめ、しかる後に各々の部分演算結果を
    順次他のベクトルパイプライン回路内の補正値レジスタ
    へ夫々供給してこの補正値レジスタの内容により当該ベ
    クトルパイプライン回路の部分演算結果の補正のための
    補正値を演算せしめ、これ等補正値を用いて全てのベク
    トルパイプライン回路の演算結果の補正を行い、これ等
    全ての補正演算後の部分演算結果を用いて全体のイテレ
    ーション演算結果とするよう制御する手段を含むことを
    特徴とするベクトル処理方式。
JP1086464A 1989-04-05 1989-04-05 ベクトル処理方法 Expired - Fee Related JP2989830B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1086464A JP2989830B2 (ja) 1989-04-05 1989-04-05 ベクトル処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1086464A JP2989830B2 (ja) 1989-04-05 1989-04-05 ベクトル処理方法

Publications (2)

Publication Number Publication Date
JPH02266467A JPH02266467A (ja) 1990-10-31
JP2989830B2 true JP2989830B2 (ja) 1999-12-13

Family

ID=13887678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1086464A Expired - Fee Related JP2989830B2 (ja) 1989-04-05 1989-04-05 ベクトル処理方法

Country Status (1)

Country Link
JP (1) JP2989830B2 (ja)

Also Published As

Publication number Publication date
JPH02266467A (ja) 1990-10-31

Similar Documents

Publication Publication Date Title
JPH0444970B2 (ja)
JP2989830B2 (ja) ベクトル処理方法
JP2989829B2 (ja) ベクトル処理方法
JP2793342B2 (ja) 演算処理装置
JPH0650512B2 (ja) デ−タ処理装置
JPH0528431B2 (ja)
JPH0154746B2 (ja)
JP3696625B2 (ja) データ駆動型情報処理装置
JPS63111535A (ja) デ−タ処理装置
JPH0616287B2 (ja) マスク付きベクトル演算処理装置
JP2885197B2 (ja) 演算処理装置及び演算処理方法
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP2768803B2 (ja) 並列演算処理装置
JPH10333883A (ja) 乗算方法および乗算回路
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JPS63298633A (ja) パイプライン処理装置における命令フェッチ制御方式
JPH02204828A (ja) 演算処理装置
JP2722493B2 (ja) レジスタ割り付け処理方法
JPH0264730A (ja) 演算装置
JPH0553759A (ja) 固定小数点演算ユニツト
JPH02249025A (ja) 信号処理プロセッサ
JPH03164935A (ja) 演算処理装置
JPH02126322A (ja) 情報処理装置
JPH01287742A (ja) 即値命令処理方式
JPH04172524A (ja) 演算装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees