JPH0241563A - ベクトル処理方式 - Google Patents
ベクトル処理方式Info
- Publication number
- JPH0241563A JPH0241563A JP19383388A JP19383388A JPH0241563A JP H0241563 A JPH0241563 A JP H0241563A JP 19383388 A JP19383388 A JP 19383388A JP 19383388 A JP19383388 A JP 19383388A JP H0241563 A JPH0241563 A JP H0241563A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- recurrence
- formulas
- processing
- formula
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、ベクトル・データを高速に処理する処理装置
に関する。
に関する。
(従来の技術)
従来の技術について図を用いて説明する。
第3図に示すようなりoループの計算、すなわち線形漸
化式の計算においては、第4図に示すように、A(3)
の計算にA(2)を必要とし、また、その結果を使って
A(4)を計算するというように、計算が逐次的にしか
実行できない。
化式の計算においては、第4図に示すように、A(3)
の計算にA(2)を必要とし、また、その結果を使って
A(4)を計算するというように、計算が逐次的にしか
実行できない。
従って、本来ベクトル演算器では実行できないものであ
る。しかし、この処理を高速に実行するため、ベクトル
漸化式命令というベクトル命令が用意されている。
る。しかし、この処理を高速に実行するため、ベクトル
漸化式命令というベクトル命令が用意されている。
このベクトル漸化式命令の従来の方式による処理手順を
第5図を用いて説明する。第5図は、従来の方式で第3
図に示した漸化式を処理する、多重化されていないベク
トル処理装置のブロック図である。ただし、ここには第
3図に示した漸化式の計算に必要なデータ・パスのみが
示されている。
第5図を用いて説明する。第5図は、従来の方式で第3
図に示した漸化式を処理する、多重化されていないベク
トル処理装置のブロック図である。ただし、ここには第
3図に示した漸化式の計算に必要なデータ・パスのみが
示されている。
第5図において、51〜53はベクトル・レジスタ、5
4はパイプライン乗算器、55はパイプライン加算器で
ある。
4はパイプライン乗算器、55はパイプライン加算器で
ある。
このような処理装置において、先の第3図に示した演算
をおこなうには、ベクトル・レジスタ52にベクトル・
データB(I)を、ベクトル・レジスタ53にベクトル
・データC(I)をロードした後、データA(1)をス
カシ・レジスタから取り出して、パイプライン乗算器5
4に入力する。パイプライン乗算器54はそのA(1)
とベクトル・レジスタ52から取り出したデータB(2
)とを掛は合わせ、その結果をパイプライン加算器55
に送る。パイプライン加算器55はそのデータとベクト
ル・レジスタ53から取り出したデータC(2)とを足
し合わせ、その結果をパイプライン乗算器54に送ると
ともにベクトル、レジスタ51に格納する。この処理を
Doループの回数だけ繰り返す。
をおこなうには、ベクトル・レジスタ52にベクトル・
データB(I)を、ベクトル・レジスタ53にベクトル
・データC(I)をロードした後、データA(1)をス
カシ・レジスタから取り出して、パイプライン乗算器5
4に入力する。パイプライン乗算器54はそのA(1)
とベクトル・レジスタ52から取り出したデータB(2
)とを掛は合わせ、その結果をパイプライン加算器55
に送る。パイプライン加算器55はそのデータとベクト
ル・レジスタ53から取り出したデータC(2)とを足
し合わせ、その結果をパイプライン乗算器54に送ると
ともにベクトル、レジスタ51に格納する。この処理を
Doループの回数だけ繰り返す。
このような漸化式の処理をスカシ。プロセッサで実行す
る場合には、途中にデータのロードlセーブが必要で、
また1ループ処理毎に条件分岐命令が必要であるが、ベ
クトル・プロセッサで処理することによって条件分岐を
含まず連続的に実行でき、またベクトルレジスタへの結
果の格納はその次の演算と同時に実行できるため、スカ
シ・プロセッサの数倍の処理性能が得られている。
る場合には、途中にデータのロードlセーブが必要で、
また1ループ処理毎に条件分岐命令が必要であるが、ベ
クトル・プロセッサで処理することによって条件分岐を
含まず連続的に実行でき、またベクトルレジスタへの結
果の格納はその次の演算と同時に実行できるため、スカ
シ・プロセッサの数倍の処理性能が得られている。
また、ベクトル・プロセッサが多重化されている場合の
処理手順を、4多重の場合を例にとり、第6図を用いて
説明する。
処理手順を、4多重の場合を例にとり、第6図を用いて
説明する。
第6図は、従来の方式で第3図に示した漸化式を処理す
るためのベクトル漸化式命令を実行する、4多重ベクト
ル処理装置のブロック図である。以下では、多重化され
ている各ベクトル処理ユニットをVPU(ベクトル・プ
ロセシング・ユニット)と呼び、4つのVPUをそれぞ
れVPUO〜VPU3と呼ぶ。
るためのベクトル漸化式命令を実行する、4多重ベクト
ル処理装置のブロック図である。以下では、多重化され
ている各ベクトル処理ユニットをVPU(ベクトル・プ
ロセシング・ユニット)と呼び、4つのVPUをそれぞ
れVPUO〜VPU3と呼ぶ。
第6図において60〜63はVPUO〜3である。また
、610〜621はベクトル、レジスタ、630〜63
3はパイプライン乗算器、640〜643はパイプライ
ン加算器である。この場合、漸化式を計算する処理手順
は次のようになる。
、610〜621はベクトル、レジスタ、630〜63
3はパイプライン乗算器、640〜643はパイプライ
ン加算器である。この場合、漸化式を計算する処理手順
は次のようになる。
第6図において、第3図に示した演算をおこなうには、
ベクトルレジスタ611,614,617,620にベ
クトル・データB(I)をベクトル・レジスタ612.
615゜618.621にベクトル・データC(I)を
分配してロードした後、データA(1)をスカシ・レジ
スタから取り出し、パイプライン乗算器630に入力す
る。パイプライン乗算器630はそのA(1)とベクト
ル・レジスタ611から取り出したデータB(2)とを
掛は合わせ、その結果をパイプライン加算器640に送
る。パイプライン加算器640はそのデータとベクトル
、レジスタ612から取り出したデータC(2)とを足
し合わせ、その結果をパイプライン乗算器631に送る
とともにベクトルレジスタ613に格納する。このよう
にして、VPUO−+VPU1−+VPU2−+VPU
3−+VPUOという順に、DOループの回数だけ演算
を繰り返す。このとき、VPUO(60)ハA(2)、
A(6)、・・・・を処理し、VPUI(61)は、A
(3)、A(7) 、・・・・、VPU2(62)は、
A(4)、 A(8)・・・・・VPU3(63)は、
A(5)、A(9)・・・・をツレぞれ処理する。
ベクトルレジスタ611,614,617,620にベ
クトル・データB(I)をベクトル・レジスタ612.
615゜618.621にベクトル・データC(I)を
分配してロードした後、データA(1)をスカシ・レジ
スタから取り出し、パイプライン乗算器630に入力す
る。パイプライン乗算器630はそのA(1)とベクト
ル・レジスタ611から取り出したデータB(2)とを
掛は合わせ、その結果をパイプライン加算器640に送
る。パイプライン加算器640はそのデータとベクトル
、レジスタ612から取り出したデータC(2)とを足
し合わせ、その結果をパイプライン乗算器631に送る
とともにベクトルレジスタ613に格納する。このよう
にして、VPUO−+VPU1−+VPU2−+VPU
3−+VPUOという順に、DOループの回数だけ演算
を繰り返す。このとき、VPUO(60)ハA(2)、
A(6)、・・・・を処理し、VPUI(61)は、A
(3)、A(7) 、・・・・、VPU2(62)は、
A(4)、 A(8)・・・・・VPU3(63)は、
A(5)、A(9)・・・・をツレぞれ処理する。
(発明が解決しようとする問題点)
このような従来の方式では、ベクトル・プロセッサでベ
クトル漸化式命令を実行することにより、スカシ・プロ
セッサの数倍の性能は得られているのであるが、それで
も演算の逐次性のための十分な性能が得られていない。
クトル漸化式命令を実行することにより、スカシ・プロ
セッサの数倍の性能は得られているのであるが、それで
も演算の逐次性のための十分な性能が得られていない。
また、本来ベクトル・プロセッサをn多重化するのは、
各VPUを同時に動作させ、ベクトル計算実行速度をn
倍にするためであるが、従来のベクトル漸化式命令の場
合、その演算の逐次性のために多重化されていることに
よる効果はない。
各VPUを同時に動作させ、ベクトル計算実行速度をn
倍にするためであるが、従来のベクトル漸化式命令の場
合、その演算の逐次性のために多重化されていることに
よる効果はない。
(問題を解決するための手段)
上で説明したように、ベクトル漸化式命令の実行時には
各パイプライン演算器はほんの一部の期間しか処理を行
わず、他のほとんどの期間は空いている。そこで、まず
与えられた線形漸化式に対して、数値計算の分野でよく
知られている次のような変形をほどこす。
各パイプライン演算器はほんの一部の期間しか処理を行
わず、他のほとんどの期間は空いている。そこで、まず
与えられた線形漸化式に対して、数値計算の分野でよく
知られている次のような変形をほどこす。
例えば、A(I)= B(I)A(I−1)+ C(I
XI = 1〜n)の計算について考えると、 A(I−1)+B(I−1)A(I−2)+C(I−1
) ・・・■A(I) = B(I)A(I −
1)C(I) ・・・■であるので
、式■を式■に代入すると、A(I) = B(I)B
(I −1)A(I −2)+B(I)C(I−1)十
〇(I) となる。こうするとA(1−2)からA(I)を求める
ことができ、またA(I−71)からA(I+1)を求
めることができる。すなわち次のようになる。
XI = 1〜n)の計算について考えると、 A(I−1)+B(I−1)A(I−2)+C(I−1
) ・・・■A(I) = B(I)A(I −
1)C(I) ・・・■であるので
、式■を式■に代入すると、A(I) = B(I)B
(I −1)A(I −2)+B(I)C(I−1)十
〇(I) となる。こうするとA(1−2)からA(I)を求める
ことができ、またA(I−71)からA(I+1)を求
めることができる。すなわち次のようになる。
A(I) = (B(I)B(I −1))A(I −
2)+(B(I)C(I−1)+C(I))A(I +
1) = (B(I + 1)B(I))A(I−1)
+(B(I+1)C(I)十〇(I+1))ここで、 P(I)= B(I)B(I−1)
・・・■Q(I)= B(I)C(I−1)+
C(I) ・・・■とすると、■、■式
は A(I) = P(I)A(I −2) + Q(I)
・・・■A(I+1)=P(I+1
)A(I−1)+Q(I+1) ・・・■とな
る。これらの2つの式のうち、弐〇でA(1)、A(3
)、A(5)・・・を計算し、弐〇でA(2)、 A(
4)。
2)+(B(I)C(I−1)+C(I))A(I +
1) = (B(I + 1)B(I))A(I−1)
+(B(I+1)C(I)十〇(I+1))ここで、 P(I)= B(I)B(I−1)
・・・■Q(I)= B(I)C(I−1)+
C(I) ・・・■とすると、■、■式
は A(I) = P(I)A(I −2) + Q(I)
・・・■A(I+1)=P(I+1
)A(I−1)+Q(I+1) ・・・■とな
る。これらの2つの式のうち、弐〇でA(1)、A(3
)、A(5)・・・を計算し、弐〇でA(2)、 A(
4)。
A(6)・・・を計算すると、それらの2つの計算は同
時に実行できる。同様に代入して行くと、漸化式A(I
) = B(I)A(I−1) 十〇(I)は、並列に
実行できるn個のnとびの漸化式に分解できる。
時に実行できる。同様に代入して行くと、漸化式A(I
) = B(I)A(I−1) 十〇(I)は、並列に
実行できるn個のnとびの漸化式に分解できる。
例えば 上で述べたように
A(I)= B(I)A(1−1) 十〇(IXi =
1−n)を2個の2とびの漸化式に分解した場合につ
いて第7図に示す。2個の2とびの漸化式が並列に実行
可能であることが分かる。また、4個の4とびの漸化式
に分解した場合について第8図に示す。4個の4とびの
漸化式が並列に実行可能であることがわかる。
1−n)を2個の2とびの漸化式に分解した場合につ
いて第7図に示す。2個の2とびの漸化式が並列に実行
可能であることが分かる。また、4個の4とびの漸化式
に分解した場合について第8図に示す。4個の4とびの
漸化式が並列に実行可能であることがわかる。
このようにして、代入を続ければ続けるほど、漸化式の
並列度は上がる。そして、ベクトル処理装置において、
空いている演算器を利用することにより、複数の漸化式
の計算を並列に処理することができ、全体の処理時間は
減少する。さらに、式■■に示したP(I)Q(I)の
ような係数の計算も、同時に実行することが可能である
。
並列度は上がる。そして、ベクトル処理装置において、
空いている演算器を利用することにより、複数の漸化式
の計算を並列に処理することができ、全体の処理時間は
減少する。さらに、式■■に示したP(I)Q(I)の
ような係数の計算も、同時に実行することが可能である
。
このように、本発明によれば漸化式を二つ以上の漸化式
に分け、それらの漸化式を同時に計算するベクトル漸化
式命令演算回路を持つことによって、従来のベクトル漸
化式命令の数倍の処理性能を得ることができる。
に分け、それらの漸化式を同時に計算するベクトル漸化
式命令演算回路を持つことによって、従来のベクトル漸
化式命令の数倍の処理性能を得ることができる。
(実施例1)
以下、本発明の一実施例について図面を用いて説明する
。
。
第1図は、本発明の方式番こよって、先に式■■に示し
た2つの2とびの漸化式を処理する命令を実行する、4
多重ベクトル処理装置のブロック図である。
た2つの2とびの漸化式を処理する命令を実行する、4
多重ベクトル処理装置のブロック図である。
第1図において10〜13はVPUO〜3である。また
、100〜111はベクトル・レジスタ、120〜12
3はパイプライン乗算器、130〜133はパイプライ
ン加算器である。
、100〜111はベクトル・レジスタ、120〜12
3はパイプライン乗算器、130〜133はパイプライ
ン加算器である。
このような構成のベクトル処理装置において、A(I)
=A(I−1)B(I)+C(I)という漸化式を、さ
きに説明した式0〜式■を利用して処理する。
=A(I−1)B(I)+C(I)という漸化式を、さ
きに説明した式0〜式■を利用して処理する。
まず、通常のベクトル乗算命令とベクトル加算命令を用
いて、式■■に従ってベクトル、データP(I)、Q(
I)を計算し、それぞれベクトル、レジスタ101.1
04,107,110およびベクトル、レジスタ102
.105,108,111に格納する。
いて、式■■に従ってベクトル、データP(I)、Q(
I)を計算し、それぞれベクトル、レジスタ101.1
04,107,110およびベクトル、レジスタ102
.105,108,111に格納する。
次に、2つの2とびの漸化式を並列に実行する本発明に
よる命令が発行されると、弐〇〇に従って、以下のよう
に処理を進める。
よる命令が発行されると、弐〇〇に従って、以下のよう
に処理を進める。
まず、データA(1)、A(2)をスカラルジスタから
取り出し、それぞれパイプライン乗算器120および1
21に人力する。
取り出し、それぞれパイプライン乗算器120および1
21に人力する。
そして、VPUOとVPU2テA(3)、A(5)、A
(7)−・・を計算し、VPUIとVPU3テA(2)
、A(4)、A(6)・・・を計算する。
(7)−・・を計算し、VPUIとVPU3テA(2)
、A(4)、A(6)・・・を計算する。
このようにして、並列に2つの漸化式の計算を行う。
その結果、ベクトル・レジスタ100にはA(2)、A
(6)、・・・・が得られ、ベクトル・レジスタ103
にはA(3)、A(7)、・・・ ベクトル・レジスタ
106にはA(4)、A(8)・・・、ベクトル・レジ
スタ109にはA(5)、A(9)・・・が得られる。
(6)、・・・・が得られ、ベクトル・レジスタ103
にはA(3)、A(7)、・・・ ベクトル・レジスタ
106にはA(4)、A(8)・・・、ベクトル・レジ
スタ109にはA(5)、A(9)・・・が得られる。
このように処理することによって、2つの式0式%
れ同時に計算されるため、従来の方式の半分の時間で処
理される。
理される。
ただし、本発明の方式に、式■■の処理は含まれていな
い。しかし、これらの2式はベクトル化され、通常のベ
クトル乗算命令、ベクトル加算命令によって高速に処理
される。
い。しかし、これらの2式はベクトル化され、通常のベ
クトル乗算命令、ベクトル加算命令によって高速に処理
される。
このため、本方式によれば、第9図に示すようにP(I
)、Q(I)の計算時間を合わせても、式■■の計算が
同時に実行されるため、従来の方式よりも高速に線形漸
化式の計算が出来る。
)、Q(I)の計算時間を合わせても、式■■の計算が
同時に実行されるため、従来の方式よりも高速に線形漸
化式の計算が出来る。
次に、ベクトル、プロセッサが多重化されていない場合
の処理手順を第10図を用いて説明する。
の処理手順を第10図を用いて説明する。
第10図において30〜32はベクトル・レジスタ、3
3はパイプライン乗算器、34はパイプライン加算器で
ある。301〜304はデータ・バスである。
3はパイプライン乗算器、34はパイプライン加算器で
ある。301〜304はデータ・バスである。
このような構成のベクトル処理装置において、4多重の
場合と同じ漸化式を処理する。
場合と同じ漸化式を処理する。
まず、通常のベクトル乗算命令とベクトル加算命令を用
いて、式■■に従ってベクトル・データP(I)、Q(
I)を計算し、ベクトル、レジスタ31および32に格
納する。
いて、式■■に従ってベクトル・データP(I)、Q(
I)を計算し、ベクトル、レジスタ31および32に格
納する。
次に、2つの漸化式を並列に実行する命令が発行される
と、式■■に従って、以下のように処理を進める。
と、式■■に従って、以下のように処理を進める。
まず、データA(1)をスカシ・レジスタから取り出し
、パイプライン乗算器33に人力する。パイプライン乗
算器33はそのA(1)とベクトル・レジスタ31から
取り出したデータP(3)とを掛は合わせ、その結果を
パイプライン加算器34に送る。パイプライン加算器3
4は、そのデータとベクトルレジスタ32から取り出し
たデータQ(3)とを足し合わせ、その結果得られたA
(3)をパイプライン乗算器33に送るとともにベクト
ルレジスタ30に格納する。
、パイプライン乗算器33に人力する。パイプライン乗
算器33はそのA(1)とベクトル・レジスタ31から
取り出したデータP(3)とを掛は合わせ、その結果を
パイプライン加算器34に送る。パイプライン加算器3
4は、そのデータとベクトルレジスタ32から取り出し
たデータQ(3)とを足し合わせ、その結果得られたA
(3)をパイプライン乗算器33に送るとともにベクト
ルレジスタ30に格納する。
また、上の処理によってA(3)がパイプライン乗算器
33に送られる前に、データA(2)をスカシ・レジス
タから取り出し、パイプライン乗算器33に入力する。
33に送られる前に、データA(2)をスカシ・レジス
タから取り出し、パイプライン乗算器33に入力する。
パイプライン乗算器33はそのA(2)とベクトルレジ
スタ31から取り出したデータP(4)とを掛は合わせ
、その結果をパイプライン加算器34に送る。パイプラ
イン加算器34は、そのデータとベクトルルジス゛り3
2から取り出したデータQ(4)とを足し合わせ、その
結果得られたA(4)をパイプライン乗算器33に送る
とともにベクトルレジスタ30に格納する。
スタ31から取り出したデータP(4)とを掛は合わせ
、その結果をパイプライン加算器34に送る。パイプラ
イン加算器34は、そのデータとベクトルルジス゛り3
2から取り出したデータQ(4)とを足し合わせ、その
結果得られたA(4)をパイプライン乗算器33に送る
とともにベクトルレジスタ30に格納する。
この処理の全てのA(I)が求められるまで繰り返す。
このようにして、4多重の場合と同様の処理性能が得ら
れる。
れる。
以上、式■〜■に従って、漸化式を2つの2とびの漸化
式に分けた場合について説明したが、2つ以上の漸化式
に分けた場合も同様にして処理でき、高速に実行できる
。
式に分けた場合について説明したが、2つ以上の漸化式
に分けた場合も同様にして処理でき、高速に実行できる
。
一例として、さきに示した2とびの漸化式を利用して、
4とびの漸化式にすると次のようになる。
4とびの漸化式にすると次のようになる。
A(I)=(PCI)P(I−1))A(I−4)+
(P(I)Q(I−1)+ Q(I))A(I+1)=
(P(I+1)P(I))A(I−3)+(P(I+1
)Q(I)+Q(I+1))A(I+2)=(P(I+
2)P(1+1))A(I−2)+(P(I+2)Q(
I+1)+Q(I+2))A(I + 3) = (P
(I + 3)PCI + 2))A(I −1)+
(P(I + 3)Q(I + 2)+ Q(I +
3))ここで、 R(I)= P(I)P(I−1) S(I) = P(I)Q(I−1) + Q(I)と
すると、 A(I) = R(I)A(I −4)+5(I)A(
I+1)=R(I+1)A(I−3)+S(I+1)A
(I+2)=R(I+2)A(I−2)+S(I+2)
A(I+3)=R(I+3)A(I−1)+S(I+3
)となる。
(P(I)Q(I−1)+ Q(I))A(I+1)=
(P(I+1)P(I))A(I−3)+(P(I+1
)Q(I)+Q(I+1))A(I+2)=(P(I+
2)P(1+1))A(I−2)+(P(I+2)Q(
I+1)+Q(I+2))A(I + 3) = (P
(I + 3)PCI + 2))A(I −1)+
(P(I + 3)Q(I + 2)+ Q(I +
3))ここで、 R(I)= P(I)P(I−1) S(I) = P(I)Q(I−1) + Q(I)と
すると、 A(I) = R(I)A(I −4)+5(I)A(
I+1)=R(I+1)A(I−3)+S(I+1)A
(I+2)=R(I+2)A(I−2)+S(I+2)
A(I+3)=R(I+3)A(I−1)+S(I+3
)となる。
係数ベクトルR(I)、5(I)が、先に通常のベクト
ル乗算命令、ベクトル加算命令で計算され、すでにベク
トルレジスタに格納されているとした場合、この処理を
実行するベクトル処理装置のブロック図を第11図に示
す。この場合、4つの4とびの漸化式が並列に実行され
る。このため、本方式によれば第12図に示すようにR
(I)、5(I)の計算時間を合わせても、2つの2と
びの漸化式の計算よりも高速に処理されることが期待で
きる。
ル乗算命令、ベクトル加算命令で計算され、すでにベク
トルレジスタに格納されているとした場合、この処理を
実行するベクトル処理装置のブロック図を第11図に示
す。この場合、4つの4とびの漸化式が並列に実行され
る。このため、本方式によれば第12図に示すようにR
(I)、5(I)の計算時間を合わせても、2つの2と
びの漸化式の計算よりも高速に処理されることが期待で
きる。
(実施例2)
以下、本発明の一実施例について図面を用いて説明する
。
。
実施例1の場合は、複数漸化式ベクトル処理命令が発行
されるときには、係数ベクトルP(I)、Q(I)がす
でにベクトル・レジスタに格納されているとしていた。
されるときには、係数ベクトルP(I)、Q(I)がす
でにベクトル・レジスタに格納されているとしていた。
しかし、本発明によれば、前もってP(I)、Q(I)
を計算しておかなくても、パイプライン演算器の空いて
いるタイム・スロットを利用して、第3図で示したP(
I)、Q(I)が読み出されるのと同じタイミングでP
(I)、Q(I)をA(I)、B(I)から計算して演
算器に与えることにより、式■〜■の計算は同時に実行
することが出来る。
を計算しておかなくても、パイプライン演算器の空いて
いるタイム・スロットを利用して、第3図で示したP(
I)、Q(I)が読み出されるのと同じタイミングでP
(I)、Q(I)をA(I)、B(I)から計算して演
算器に与えることにより、式■〜■の計算は同時に実行
することが出来る。
第2図は、本発明の方式によって、式■〜■に示した計
算、即ち線形漸化式を2つの2とびの漸化式に分解しそ
れらを並列に処理する、4多重ベクトル処理装置のブロ
ック図である。
算、即ち線形漸化式を2つの2とびの漸化式に分解しそ
れらを並列に処理する、4多重ベクトル処理装置のブロ
ック図である。
第2図において20〜23はVPUO〜3である。また
、200〜211はベクトルルジスタ、220〜223
はパイプライン乗算器、230〜233はパイプライン
加算器、240〜243はデイレイ・バッファ、250
〜269はマルチプレクサである。
、200〜211はベクトルルジスタ、220〜223
はパイプライン乗算器、230〜233はパイプライン
加算器、240〜243はデイレイ・バッファ、250
〜269はマルチプレクサである。
ベクトルルジスタ201,204,207,210には
B(I)が、ベクトルルジスタ202,205,208
,211にはC(I)がロードされている。そして、ベ
クトル漸化式命令が発行されると、スカラルジスタから
A(1)、A(3)を読みだした後、ベクトルルジスタ
からデータB(I)、C(I)を適当なタイミングで読
みだし、まだ適当なタイミングでマルチプレクサを切り
替えることによって処理を進め、演算の結果得られたA
(I)をベクトルルジスタ200,203,206,2
09に格納する。
B(I)が、ベクトルルジスタ202,205,208
,211にはC(I)がロードされている。そして、ベ
クトル漸化式命令が発行されると、スカラルジスタから
A(1)、A(3)を読みだした後、ベクトルルジスタ
からデータB(I)、C(I)を適当なタイミングで読
みだし、まだ適当なタイミングでマルチプレクサを切り
替えることによって処理を進め、演算の結果得られたA
(I)をベクトルルジスタ200,203,206,2
09に格納する。
デイレイ・バッファ240〜243は、前段の演算によ
って得られたデータを、適当なタイミングに次の演算器
に供給するために、−時的にデータを保持する。コノと
き、VPUOとVPU2 テA(3)、 A(5)。
って得られたデータを、適当なタイミングに次の演算器
に供給するために、−時的にデータを保持する。コノと
き、VPUOとVPU2 テA(3)、 A(5)。
A(7)・・・を、VPUIとVPU3でA(4)、
A(6)、 A(8)・・・を計算することにより、そ
れらは並列に処理される。
A(6)、 A(8)・・・を計算することにより、そ
れらは並列に処理される。
つぎに、このような構成の処理装置における処理の内容
について、第13図〜第17図を用いて説明する。
について、第13図〜第17図を用いて説明する。
まず、P(I)を計算するためのデータの流れを第13
図に、Q(I)を計算するためのデータの流れを第14
図に示す。ただし、ここでは得られたP(I)、Q(I
)を−旦ベクトル・レジスタに格納している。また、ベ
クトル・レジスタに格納されたP(I)、Q(I)を使
ってA(I)を計算するためのデータの流れを第15図
に示す。第15図に示した処理は、実施例1に示したも
のと同じである。
図に、Q(I)を計算するためのデータの流れを第14
図に示す。ただし、ここでは得られたP(I)、Q(I
)を−旦ベクトル・レジスタに格納している。また、ベ
クトル・レジスタに格納されたP(I)、Q(I)を使
ってA(I)を計算するためのデータの流れを第15図
に示す。第15図に示した処理は、実施例1に示したも
のと同じである。
次に、これらのP(I)の計算、Q(I)の計算、そし
てA(I)の計算を同時に行うときのデータの流れを第
16図に示す。
てA(I)の計算を同時に行うときのデータの流れを第
16図に示す。
ただし、この場合はP(I)、Q(I)をベクトルルジ
スタに格納していない。
スタに格納していない。
第16図において、縦に3の演算器が並んでいるのは、
1つのパイプライン演算器の異なったタイム・スロット
を示す。第16図に示したような経路でデータを処理す
ることによってP(I)、Q(I)そしてA(I)を同
時に計算することが出来る。
1つのパイプライン演算器の異なったタイム・スロット
を示す。第16図に示したような経路でデータを処理す
ることによってP(I)、Q(I)そしてA(I)を同
時に計算することが出来る。
次に第16図の演算がどの様なタイミングで行われてい
るかを第17図を用いて説明する。
るかを第17図を用いて説明する。
第17図は、パイプライン乗算器、パイプライン加算器
のパイプライン段数を各々4段としたときの、VPUI
とVPU3でA(4n)とA(4n+2)を計算する時
の動作の一例である。
のパイプライン段数を各々4段としたときの、VPUI
とVPU3でA(4n)とA(4n+2)を計算する時
の動作の一例である。
図中の■〜[株]は、その演算が第16図中の■〜[株
]の演算と対応していることを示す。A(4n)の計算
をするために、VPUIでまず■が始まり、次のクロッ
クで■が始まる。そして■が終了するとデイレイDによ
って1クロック遅らされ、■が終了すると同時に■と■
が実行される。この■の演算にはA(4n−2)が必要
であるが、これはVPU3から送られてくる。そして■
と■が同時に終わるとその結果を使って■が実行されA
(4n)が得られる。また、VPU3では同様にして■
そして■が実行され、■の結果を1クロック遅らせて■
を実行し、■の結果とVPUIの■の結果を用いて■が
実行され、■■の結果を用いて■が実行されA(4n+
2)が得られる。このようにVPUIとVPU3の処理
が繰り返されA(4)、A(6)、A(8)、A(10
)、・・・が得られ、同様&:VPUOとVPU2テA
(3)、A(5)、A(7)、A(9)、・・・が得ら
れる。
]の演算と対応していることを示す。A(4n)の計算
をするために、VPUIでまず■が始まり、次のクロッ
クで■が始まる。そして■が終了するとデイレイDによ
って1クロック遅らされ、■が終了すると同時に■と■
が実行される。この■の演算にはA(4n−2)が必要
であるが、これはVPU3から送られてくる。そして■
と■が同時に終わるとその結果を使って■が実行されA
(4n)が得られる。また、VPU3では同様にして■
そして■が実行され、■の結果を1クロック遅らせて■
を実行し、■の結果とVPUIの■の結果を用いて■が
実行され、■■の結果を用いて■が実行されA(4n+
2)が得られる。このようにVPUIとVPU3の処理
が繰り返されA(4)、A(6)、A(8)、A(10
)、・・・が得られ、同様&:VPUOとVPU2テA
(3)、A(5)、A(7)、A(9)、・・・が得ら
れる。
以上のように、空いている演算器を利用することにより
、VPUO,VPU2 テ(7)処理とVPUI、VP
U3 テの処理とが同時に実行できるようになり、また
P(I)、Q(I)の計算も並列に処理出来るため、処
理時間は従来の方式の半分になる。これを、第18図に
示す。
、VPUO,VPU2 テ(7)処理とVPUI、VP
U3 テの処理とが同時に実行できるようになり、また
P(I)、Q(I)の計算も並列に処理出来るため、処
理時間は従来の方式の半分になる。これを、第18図に
示す。
以上の説明は、漸化式を二つの漸化式に分解して処理し
たものであるが、さらに多くの漸化式に分解して並列度
を上げることが出来る。このようにして、演算器のパイ
プライン段数が多いときや演算器の多重度が大きいとき
で、空いている演算器が多ければ、本発明の方式を用い
て並列度を上げることにより線形漸化式の処理時間を短
くすることができる。
たものであるが、さらに多くの漸化式に分解して並列度
を上げることが出来る。このようにして、演算器のパイ
プライン段数が多いときや演算器の多重度が大きいとき
で、空いている演算器が多ければ、本発明の方式を用い
て並列度を上げることにより線形漸化式の処理時間を短
くすることができる。
(発明の効果)
以上述べた通り、本発明によれば、複数のパイプライン
演算器と、複数のベクトル処理装置とを有するベクトル
処理装置上で線形漸化式を計算するときに、複数の線形
漸化式を並列に実行することが出来ること、及び1つの
線形漸化式を複数の線形漸化式に分解し、それらを並列
に計算することが出来るという特徴がある。
演算器と、複数のベクトル処理装置とを有するベクトル
処理装置上で線形漸化式を計算するときに、複数の線形
漸化式を並列に実行することが出来ること、及び1つの
線形漸化式を複数の線形漸化式に分解し、それらを並列
に計算することが出来るという特徴がある。
第1図は本発明1の方式で2つの2とびの漸化式を処理
する4多重のベクトル処理装置のブロック図、第2図は
本発明2の方式で1つの漸化式を2つの2とびの漸化式
に分解しそれらを並列に処理する4多重のベクトル処理
装置のブロック図、第3図は本発明が対象とする線形漸
化式の一例を示す図、第4図は従来の方式による処理の
進み方を説明するための図、第5図は従来の方式でベク
トル漸化式命令を実行する多重化されていないベクトル
処理装置のブロック図、第6図は従来の方式でベクトル
漸化式命令を実行する4多重のベクトル処理装置のブロ
ック図、第7図は2つの2とびの漸化式による処理の進
み方を説明するための図、第8図は4つの4とびの漸化
式による処理の進み方を説明するための図、第9図は漸
化式の処理を本発明1の方式で2の漸化式に分解して処
理するときと従来の方式で1つの漸化式のまま処理する
ときの処理時間の違いを説明するための図、第10図は
本発明1の方式で2つの2とびの漸化式を処理する多重
化されていないベクトル処理装置のブロック図、第11
図は本発明1の方式で4つの4とびの漸化式を処理する
4多重のベクトル処理装置のブロック図、第12図は漸
化式の計算を本発明1の4つの漸化式に分解して処理す
るときと従来の方式で1つの漸化式のまま処理するとき
の処理時間の違いを説明するための図、第13図〜第1
5図は本発明2の方式でベクトル漸化式命令を実行する
ときの処理内容を説明するための図、第16図は、本発
明2の方式でベクトル漸化式命令を実行するときのデー
タの流れを説明するための図、第17図は、本発明の方
式でベクトル漸化式命令を実行するときの演算の実行さ
れるタイミングを説明するための図、第18図は漸化式
の計算を本発明2の方式で2つの漸化式に分解して処理
するときと従来の方式で1つの漸化式のまま処理すると
きの処理時間の違いを説明するための図である。 30〜32.51〜53,100〜111,200〜2
11,610〜621・・・ベクトル・レジスタ、33
.54.120〜123.220〜223゜630〜6
33・・・パイプライン乗算器、34.55.130〜
133゜230〜233,640〜643・・・パイプ
ライン加算器、10〜13.20〜23.60〜63・
VPU(ベクトル・プロセシング・ユニット)、240
〜243・・・デイレイ・バッファ、250〜269・
・・マルチプレクサ、301〜304・・・データバス
。
する4多重のベクトル処理装置のブロック図、第2図は
本発明2の方式で1つの漸化式を2つの2とびの漸化式
に分解しそれらを並列に処理する4多重のベクトル処理
装置のブロック図、第3図は本発明が対象とする線形漸
化式の一例を示す図、第4図は従来の方式による処理の
進み方を説明するための図、第5図は従来の方式でベク
トル漸化式命令を実行する多重化されていないベクトル
処理装置のブロック図、第6図は従来の方式でベクトル
漸化式命令を実行する4多重のベクトル処理装置のブロ
ック図、第7図は2つの2とびの漸化式による処理の進
み方を説明するための図、第8図は4つの4とびの漸化
式による処理の進み方を説明するための図、第9図は漸
化式の処理を本発明1の方式で2の漸化式に分解して処
理するときと従来の方式で1つの漸化式のまま処理する
ときの処理時間の違いを説明するための図、第10図は
本発明1の方式で2つの2とびの漸化式を処理する多重
化されていないベクトル処理装置のブロック図、第11
図は本発明1の方式で4つの4とびの漸化式を処理する
4多重のベクトル処理装置のブロック図、第12図は漸
化式の計算を本発明1の4つの漸化式に分解して処理す
るときと従来の方式で1つの漸化式のまま処理するとき
の処理時間の違いを説明するための図、第13図〜第1
5図は本発明2の方式でベクトル漸化式命令を実行する
ときの処理内容を説明するための図、第16図は、本発
明2の方式でベクトル漸化式命令を実行するときのデー
タの流れを説明するための図、第17図は、本発明の方
式でベクトル漸化式命令を実行するときの演算の実行さ
れるタイミングを説明するための図、第18図は漸化式
の計算を本発明2の方式で2つの漸化式に分解して処理
するときと従来の方式で1つの漸化式のまま処理すると
きの処理時間の違いを説明するための図である。 30〜32.51〜53,100〜111,200〜2
11,610〜621・・・ベクトル・レジスタ、33
.54.120〜123.220〜223゜630〜6
33・・・パイプライン乗算器、34.55.130〜
133゜230〜233,640〜643・・・パイプ
ライン加算器、10〜13.20〜23.60〜63・
VPU(ベクトル・プロセシング・ユニット)、240
〜243・・・デイレイ・バッファ、250〜269・
・・マルチプレクサ、301〜304・・・データバス
。
Claims (2)
- (1)複数のパイプライン演算器と、複数のベクトル・
レジスタとを有するベクトル処理装置において、n個の
nとびの線形漸化式を処理する複数漸化式ベクトル処理
命令を有し、その複数漸化式ベクトル処理命令を実行す
る手段として、パイプライン演算器、ベクトル・レジス
タ、およびそれらの間のデータ・パスを組み合わせるこ
とにより計算を行う手段と、n個のnとびの線形漸化式
を並列に計算する手段とを備えることを特徴とするベク
トル処理方式。 - (2)複数のパイプライン演算器と、複数のベクトル・
レジスタとを有するベクトル処理装置において、1つの
線形漸化式を処理する単一漸化式ベクトル処理命令を有
し、その単一漸化式ベクトル処理命令を実行する手段と
して、パイプライン演算器、ベクトル・レジスタ、バッ
ファおよびそれらの間のデータ・パスを切り替えながら
計算を行う手段と、ベクトル処理装置内で1つの線形漸
化式をn個のnとびの線形漸化式に分解する手段と、1
つの線形漸化式を分解して得られたn個のnとびの線形
漸化式を並列に計算する手段とを備えることを特徴とす
るベクトル処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19383388A JPH0241563A (ja) | 1988-08-02 | 1988-08-02 | ベクトル処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19383388A JPH0241563A (ja) | 1988-08-02 | 1988-08-02 | ベクトル処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0241563A true JPH0241563A (ja) | 1990-02-09 |
Family
ID=16314495
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19383388A Pending JPH0241563A (ja) | 1988-08-02 | 1988-08-02 | ベクトル処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0241563A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003057177A (ja) * | 2001-08-17 | 2003-02-26 | Horiba Ltd | 赤外線ガス分析計 |
-
1988
- 1988-08-02 JP JP19383388A patent/JPH0241563A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003057177A (ja) * | 2001-08-17 | 2003-02-26 | Horiba Ltd | 赤外線ガス分析計 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR970001899B1 (ko) | 메모리연결형 파면어레이 프로세서 | |
| US20030088601A1 (en) | Efficient complex multiplication and fast fourier transform (fft) implementation on the manarray architecture | |
| US5261113A (en) | Apparatus and method for single operand register array for vector and scalar data processing operations | |
| JP2645669B2 (ja) | データ処理システム | |
| US4910669A (en) | Binary tree multiprocessor | |
| US5081573A (en) | Parallel processing system | |
| US8255446B2 (en) | Apparatus and method for performing rearrangement and arithmetic operations on data | |
| EP0314809B1 (en) | Vector processor for processing recurrent equations at a high speed | |
| US4821224A (en) | Method and apparatus for processing multi-dimensional data to obtain a Fourier transform | |
| CN111353126A (zh) | 分块矩阵乘法运算系统 | |
| JPS61160176A (ja) | ベクトル処理装置 | |
| EP1447752A2 (en) | Method and system for multi-processor FFT/IFFT with minimum inter-processor data communication | |
| EP1426872A2 (en) | Linear scalable FFT/IFFT computation in a multi-processor system | |
| CN110750752B (zh) | 一种模拟量数据的插值方法及装置 | |
| JPH0241563A (ja) | ベクトル処理方式 | |
| JPS6310263A (ja) | ベクトル処理装置 | |
| Chang et al. | A parallel Householder tridiagonalization stratagem using scattered row decomposition | |
| JPH05324694A (ja) | 再構成可能並列プロセッサ | |
| JPH09325953A (ja) | プロセッサおよびデータ処理装置 | |
| JPH0658671B2 (ja) | ベクトル処理装置 | |
| JPH02235174A (ja) | バス・マトリツクス | |
| Russek et al. | Dedicated architecture for double precision matrix multiplication in supercomputing environment | |
| Gudvangen et al. | Computation of 2-dimensional fast transforms and image filtering on transputer networks | |
| Lawrie et al. | Kalman filtering: A survey of parallel processing alternatives | |
| JPS6252899B2 (ja) |