JPH036546B2 - - Google Patents
Info
- Publication number
- JPH036546B2 JPH036546B2 JP57028905A JP2890582A JPH036546B2 JP H036546 B2 JPH036546 B2 JP H036546B2 JP 57028905 A JP57028905 A JP 57028905A JP 2890582 A JP2890582 A JP 2890582A JP H036546 B2 JPH036546 B2 JP H036546B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- index
- data
- address
- contents
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8061—Details on data memory access
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は科学技術計算でしばしば必要とされる
ベクトルやマトリクスの計算を高速に行なうプロ
セツサに関する。
ベクトルやマトリクスの計算を高速に行なうプロ
セツサに関する。
科学技術計算では少し規模が大きくなるとベク
トルやマトリクスに対する計算を必要とし、計算
機時間がかかる。これらのベクトルやマトリクス
の各要素は通常、計算機のメモリ中で、そのイン
デツクスの順に一定のアドレス間隔で格納される
ことが多い。そこでこのようなデータの集合を
“配列”と呼ぶ。ベクトルプロセツサ(またはア
レイプロセツサ)はこのような、一定のアドレス
間隔で格納されているデータに対して、パイプラ
イン技術を用いて、連続的に高速に同一種類の演
算を行なうよう構成されており、これによつて、
配列に対する計算のスピードを上げようとするも
のである。すなわち従来のベクトルプロセツサは
次のような計算を高速に実行することができる。
トルやマトリクスに対する計算を必要とし、計算
機時間がかかる。これらのベクトルやマトリクス
の各要素は通常、計算機のメモリ中で、そのイン
デツクスの順に一定のアドレス間隔で格納される
ことが多い。そこでこのようなデータの集合を
“配列”と呼ぶ。ベクトルプロセツサ(またはア
レイプロセツサ)はこのような、一定のアドレス
間隔で格納されているデータに対して、パイプラ
イン技術を用いて、連続的に高速に同一種類の演
算を行なうよう構成されており、これによつて、
配列に対する計算のスピードを上げようとするも
のである。すなわち従来のベクトルプロセツサは
次のような計算を高速に実行することができる。
(例 1)
DO10I=1100
A(I)=B(I)※C(I)
10 CONTINUE
(例 2)
DO 20 J=1,99,2
X(I,J)=Y(I,J)+Z(J)
20 CONTINUE
しかし実際の応用では次のような要素毎に計算
内容が異なる場合がかなり頻繁に現われる。
内容が異なる場合がかなり頻繁に現われる。
(例 3)
DO 30 I=1100
IF(G(I).GT.0.0)
A(I)=A(I)+C(I)
IF(G(I).LE.0.0)
A(I)=A(I)※D(J.I)
30 CONTINUE
この場合には、B(I)の正/負(または零)
により演算内容が異なり、かつオペランドが異つ
ているので、パイプラインがその都度中断し、そ
の結果従来のベクトルプロセツサでは高速に処理
できないという問題があつた。
により演算内容が異なり、かつオペランドが異つ
ているので、パイプラインがその都度中断し、そ
の結果従来のベクトルプロセツサでは高速に処理
できないという問題があつた。
本発明は上記事情に鑑みて為されたものであ
り、その目的は指定されたデータの性質によつて
演算内容が異なる配列の計算についても高速化し
たインデツクス限定連続演算ベクトルプロセツサ
を提供することにある。
り、その目的は指定されたデータの性質によつて
演算内容が異なる配列の計算についても高速化し
たインデツクス限定連続演算ベクトルプロセツサ
を提供することにある。
上記欠点を克服するため、例えば上記(例3)
を次のように考えなおす。
を次のように考えなおす。
(第1ステツプ)
POSG={I|G(I)>0}、
NEGG={I|G(I)≦0}
(第2ステツプ)
FOR Ie POSG,
A(I)=A(I)+C(I)
(第3ステツプ)
FOR IeNEGG,
A(I)=A(2)※D(J,I)
ここでPOSGはG(I)>0であるようなインデツ
クスIの集合、NEGGはG(I)≦0であるよう
なインデツクスIの集合である。本発明のベクト
ルプロセツサは、(第1ステツプ)のようなイン
デツクス集合を生成し記憶する機能と、(第2ス
テツプ),(第3ステツプ)のように、指定したイ
ンデツクス集合に属するインデツクス値に対して
のみオペランドアクセスを連続して行なう機能と
を備えることによつて、このような場合でもパイ
プライン処理の効率を失なわないようにしたもの
である。
クスIの集合、NEGGはG(I)≦0であるよう
なインデツクスIの集合である。本発明のベクト
ルプロセツサは、(第1ステツプ)のようなイン
デツクス集合を生成し記憶する機能と、(第2ス
テツプ),(第3ステツプ)のように、指定したイ
ンデツクス集合に属するインデツクス値に対して
のみオペランドアクセスを連続して行なう機能と
を備えることによつて、このような場合でもパイ
プライン処理の効率を失なわないようにしたもの
である。
科学技術計算で何かの臨界曲線の両側である量
の評価式が異なるような場合が非常に多く、この
ようなアプリケーシヨンでは従来のベクトルプロ
セツサは非常に能率の悪いものであつたが、本発
明のベクトルプロセツサにより、そのような場合
でも問題なく高効率で演算を実行できる。
の評価式が異なるような場合が非常に多く、この
ようなアプリケーシヨンでは従来のベクトルプロ
セツサは非常に能率の悪いものであつたが、本発
明のベクトルプロセツサにより、そのような場合
でも問題なく高効率で演算を実行できる。
また、本発明のベクトルプロセツサは、ある式
を評価すると同時に、あらかじめ指定した性質に
よりその評価結果を分類し、インデツクス集合を
発生することができるので、判断分岐命令のよう
な効率の悪いプログラムをほとんど用いずに関数
演算用にプログラムできる。
を評価すると同時に、あらかじめ指定した性質に
よりその評価結果を分類し、インデツクス集合を
発生することができるので、判断分岐命令のよう
な効率の悪いプログラムをほとんど用いずに関数
演算用にプログラムできる。
またスパースマトリクスの場合、マトリクスと
ベクトルの積の計算などで零要素との積和をでき
るだけ行なわないようにすることによつて、計算
を高速化することができるが、本発明のベクトル
プロセツサでは非零要素のみを選択して演算する
ことが容易にできるので、能率的にスパースマト
リクスを取りあつかうことができる(従来は極め
て困難であつた)。
ベクトルの積の計算などで零要素との積和をでき
るだけ行なわないようにすることによつて、計算
を高速化することができるが、本発明のベクトル
プロセツサでは非零要素のみを選択して演算する
ことが容易にできるので、能率的にスパースマト
リクスを取りあつかうことができる(従来は極め
て困難であつた)。
第1図に本発明の一実施例を示す。図におい
て、10はベクトル演算部、20はオペランドア
ドレス計算部、30はインデツクス計算部、50
はこれらを制御する制御部である。
て、10はベクトル演算部、20はオペランドア
ドレス計算部、30はインデツクス計算部、50
はこれらを制御する制御部である。
ベクトル演算部10は、被演算データ、演算結
果データ、その他のデータを収容するデータメモ
リ11、レジスタB12、レジスタB13、レジ
スタC14、ALU15、レジスタA16、及び
アドレスレジスタDA17を有し、指定されたデ
ータすなわちベクトル又はマトリツクス(以下配
列)の演算を実行する。
果データ、その他のデータを収容するデータメモ
リ11、レジスタB12、レジスタB13、レジ
スタC14、ALU15、レジスタA16、及び
アドレスレジスタDA17を有し、指定されたデ
ータすなわちベクトル又はマトリツクス(以下配
列)の演算を実行する。
オペランドアドレス計算部30は、演算に必要
なオペランドすなわちデータメモリ11内におけ
る配列のアドレスを計算するもので、乗数の値を
収容するレジスタMA21、レジスタMB22、
レジスタMC23、ベースの値を収容するレジス
タBA24、レジスタBB25、レジスタBC2
6、乗算器27、加算器28を有する。
なオペランドすなわちデータメモリ11内におけ
る配列のアドレスを計算するもので、乗数の値を
収容するレジスタMA21、レジスタMB22、
レジスタMC23、ベースの値を収容するレジス
タBA24、レジスタBB25、レジスタBC2
6、乗算器27、加算器28を有する。
インデツクス計算部30は、上述した(第1ス
テツプ)に示すようなインデツクス集合を生成し
記憶するもので、インデツクスメモリ31、レジ
スタ(V)32、レジスタW33、レジスタIB0
34、レジスタIB135、レジスタI36、レジ
スタI′37、加算器38、アドレスレジスタIA3
9、+1加算器40、終了判定回路41及び正/
負判定回路42を有する。このベクトルプロセツ
サは基本的に次の演算を行なうことができる。
テツプ)に示すようなインデツクス集合を生成し
記憶するもので、インデツクスメモリ31、レジ
スタ(V)32、レジスタW33、レジスタIB0
34、レジスタIB135、レジスタI36、レジ
スタI′37、加算器38、アドレスレジスタIA3
9、+1加算器40、終了判定回路41及び正/
負判定回路42を有する。このベクトルプロセツ
サは基本的に次の演算を行なうことができる。
FOR I∈UA(I)=FUNC(B(
I),C(I))V={I|P(A(I))} V={L|P(A(I))} W={I|>P(A(I))} ここにFUNC(X,Y)はALU15のもつ2項ス
カラ−演算(加減乗除算など)、P(X)は次の3
種類の命題関数:X>0の時真、X≧0の時
真、X=0の時真、のいずれか。
I),C(I))V={I|P(A(I))} V={L|P(A(I))} W={I|>P(A(I))} ここにFUNC(X,Y)はALU15のもつ2項ス
カラ−演算(加減乗除算など)、P(X)は次の3
種類の命題関数:X>0の時真、X≧0の時
真、X=0の時真、のいずれか。
U,V,Wはインデツクスメモリ31に、A
(I),B(I),C(I)はデータメモリ11に格
納される。命題関数P(X)は判定回路42によ
つて判定される。A(I),B(I),C(I)はベ
クトル(すなわち1次元の配列)の時は、データ
メモリ11のアドレス順に各要素を格納し、従つ
て、その最初の要素(A(0)等)のアドレスを
BAとすると、一般にA(I)のアドレスは、BA
+Iとなる。すなわちベクトルの時はMA,
MB,MCは1となる。一方A(I),B(I),C
(I)が2次元以上の配列の一部、例えばA(I)
が3次元配列AA(X,Y,Z)でX=J,Y=
K,Z=Iなどである時、AA(0,0,0)の
アドレスをBA′とするとA(I)=AA(J,K,
I)のアドレスはBA′+J+XMAX※K+XMAX※
Iとなるから、BA′+J+XMAX※Kを改ためて
BAとし、XMAX※YMAXをMAとすると、BA+
MA※Iとなる。
(I),B(I),C(I)はデータメモリ11に格
納される。命題関数P(X)は判定回路42によ
つて判定される。A(I),B(I),C(I)はベ
クトル(すなわち1次元の配列)の時は、データ
メモリ11のアドレス順に各要素を格納し、従つ
て、その最初の要素(A(0)等)のアドレスを
BAとすると、一般にA(I)のアドレスは、BA
+Iとなる。すなわちベクトルの時はMA,
MB,MCは1となる。一方A(I),B(I),C
(I)が2次元以上の配列の一部、例えばA(I)
が3次元配列AA(X,Y,Z)でX=J,Y=
K,Z=Iなどである時、AA(0,0,0)の
アドレスをBA′とするとA(I)=AA(J,K,
I)のアドレスはBA′+J+XMAX※K+XMAX※
Iとなるから、BA′+J+XMAX※Kを改ためて
BAとし、XMAX※YMAXをMAとすると、BA+
MA※Iとなる。
このようにオペランドアドレス計算部20では
3組の配列A,B,Cに対し、インデツクス値I
またはI′と乗数MA,MB,MCとベースの値BA,
BB,BCから、乗算器27と加算器28を用い
て、実際のデータメモリアドレスDAを計算する
ことができる。
3組の配列A,B,Cに対し、インデツクス値I
またはI′と乗数MA,MB,MCとベースの値BA,
BB,BCから、乗算器27と加算器28を用い
て、実際のデータメモリアドレスDAを計算する
ことができる。
演算を行うべき配列の部分集合は、そのインデ
ツクスIの集合として、インデツクスメモリ31
に記憶させるがその形式はインデツクス・チエイ
ンの形式である。ある集合(例えばPOSG)とそ
の補集合(NEGG)とは同時に発生させること
ができ、1つのインデツクスベクトルエリアに2
本のチエインとして記憶される(第2図参照)。
このインデツクスベクトルエリアの先頭番地を
IBとすると、インデツクスIに対応するインデ
ツクスベクトル要素のアドレスはIB+Iであり、
そこには、このIと同一グループの次のIの値が
格納されている。第2図はIの降順にチエインが
形成されているが、昇順でもまたランダムでもか
まわない。最後のインデツクス値の対応箇所には
終端記号(a)が書き込まれる。
ツクスIの集合として、インデツクスメモリ31
に記憶させるがその形式はインデツクス・チエイ
ンの形式である。ある集合(例えばPOSG)とそ
の補集合(NEGG)とは同時に発生させること
ができ、1つのインデツクスベクトルエリアに2
本のチエインとして記憶される(第2図参照)。
このインデツクスベクトルエリアの先頭番地を
IBとすると、インデツクスIに対応するインデ
ツクスベクトル要素のアドレスはIB+Iであり、
そこには、このIと同一グループの次のIの値が
格納されている。第2図はIの降順にチエインが
形成されているが、昇順でもまたランダムでもか
まわない。最後のインデツクス値の対応箇所には
終端記号(a)が書き込まれる。
このような部分集合(インデツクスチエイン)
の生成方法(第1ステツプ)の一例を説明する。
の生成方法(第1ステツプ)の一例を説明する。
Vレジスタ32及びWレジスタ33に終端記
号(ロ)をセツトする。Iレジスタ36に0を
セツトする(又はI=X)とする。
号(ロ)をセツトする。Iレジスタ36に0を
セツトする(又はI=X)とする。
データメモリ11からデータG(I)をRead
する。
する。
判定回路42により、データG(I)の判定
を行なう。
を行なう。
(i) G(I)>0ならば、Vレジスタ32の内容
をインデツクスメモリ31のIB1+I番地に
書込み、Vレジスタ32にIレジスタの内容
をセツトする。
をインデツクスメモリ31のIB1+I番地に
書込み、Vレジスタ32にIレジスタの内容
をセツトする。
(ii) G(I)≦0ならば、Wレジスタ33の内容
をインデツクスメモリ31のIB1+I番地に
書込み、Wレジスタ33にIレジスタ36の
内容をセツトする。
をインデツクスメモリ31のIB1+I番地に
書込み、Wレジスタ33にIレジスタ36の
内容をセツトする。
+1加算器40によりIレジスタ36の内容
を+1する(またはインデツクスメモリ31の
IB0+I番地の内容をIレジスタ36にセツト
する)。
を+1する(またはインデツクスメモリ31の
IB0+I番地の内容をIレジスタ36にセツト
する)。
終了判定回路41により、Iレジスタ36の
内容がIの最大値(または終端記号)であれは
次のへ、そうでなければへもどる。
内容がIの最大値(または終端記号)であれは
次のへ、そうでなければへもどる。
POSG=V,NEGG=Wとする。
すなわちVレジスタ32の内容、第2図では
“9”をPOSGとし、Wレジスタ33の内容、第
2図では“10”をNEGGとする。,,の
ステツプで( )内を用いた時は部分集合の部分
集合つまり積集合を求めることができる。(Xか
つG(I)>0など) 次に第2ステツプではI∈POSGに対する演算
を行なう。この場合、まずPOSGすなわち“9”
をIレジスタ36にセツトし、Iの更新タイミン
グ(第3図の(※)で、I+IB0をアドレスとし
てインデツクスメモリ31をReadし、読出した
インデツクス値をIレジスタ36にセツトするよ
うに動作する。これにより、G(I)>0であるI
の値のみが次々とIレジスタ36にセツトされ、
それに対し同一演算FUNCがALU15で行なわ
れる。
“9”をPOSGとし、Wレジスタ33の内容、第
2図では“10”をNEGGとする。,,の
ステツプで( )内を用いた時は部分集合の部分
集合つまり積集合を求めることができる。(Xか
つG(I)>0など) 次に第2ステツプではI∈POSGに対する演算
を行なう。この場合、まずPOSGすなわち“9”
をIレジスタ36にセツトし、Iの更新タイミン
グ(第3図の(※)で、I+IB0をアドレスとし
てインデツクスメモリ31をReadし、読出した
インデツクス値をIレジスタ36にセツトするよ
うに動作する。これにより、G(I)>0であるI
の値のみが次々とIレジスタ36にセツトされ、
それに対し同一演算FUNCがALU15で行なわ
れる。
この動作を第3図を用いて説明する。本実施例
ではIからはじめて5段のパイプライン制御を行
なつている。第3図では第(n)サイクルから第
(n)+6)サイクルのみを示している。
ではIからはじめて5段のパイプライン制御を行
なつている。第3図では第(n)サイクルから第
(n)+6)サイクルのみを示している。
第(n)サイクルの初めでIレジスタ36には
“5”がセツトされると、オペランドアドレス計
算部20はデータB(5)のアドレスを計算する。
すなわち、乗算器27はIレジスタ36の値5と
MBレジスタ22の乗数を乗算し、この乗算結果
にBBレジスタ25のベースを加える。この結果
得られた値BB+5・MBは第(n+1)サイク
ルの初めでDAレジスタ17にセツトさる。次に
データメモリ11のアドレスBB+5・MBの内
容すなわちデータB(5)をReadし、第(n+2)
サイクルの初めでBレジスタ12にセツトされた
後、第(n+3)サイクルの初めでB′レジスタ
13にセツトされる。
“5”がセツトされると、オペランドアドレス計
算部20はデータB(5)のアドレスを計算する。
すなわち、乗算器27はIレジスタ36の値5と
MBレジスタ22の乗数を乗算し、この乗算結果
にBBレジスタ25のベースを加える。この結果
得られた値BB+5・MBは第(n+1)サイク
ルの初めでDAレジスタ17にセツトさる。次に
データメモリ11のアドレスBB+5・MBの内
容すなわちデータB(5)をReadし、第(n+2)
サイクルの初めでBレジスタ12にセツトされた
後、第(n+3)サイクルの初めでB′レジスタ
13にセツトされる。
一方、同様にして第(n+1)サイクルでMC
レジスタ23及びBCレジスタ26の内容を用い
てオペランドアドレス計算部20はデータC(5)の
アドレスBC+5・MCを求め、第(n+2)サ
イクルの初めでDAレジスタ17にセツトする。
次にDAレジスタ17の内容で指定されるデータ
メモリ11の内容すなわちデータC(5)がReadさ
れ、第(n+3)サイクルの初めでCレジスタ1
4にセツトされる。
レジスタ23及びBCレジスタ26の内容を用い
てオペランドアドレス計算部20はデータC(5)の
アドレスBC+5・MCを求め、第(n+2)サ
イクルの初めでDAレジスタ17にセツトする。
次にDAレジスタ17の内容で指定されるデータ
メモリ11の内容すなわちデータC(5)がReadさ
れ、第(n+3)サイクルの初めでCレジスタ1
4にセツトされる。
ALU15はFUNCの実行に3サイクル(第
(n+3)〜(n+5)サイクル)要し、この間
B′レジスタ13及びCレジスタ14の内容は保
持されている。
(n+3)〜(n+5)サイクル)要し、この間
B′レジスタ13及びCレジスタ14の内容は保
持されている。
ALU15の演算結果はデータA(5)としてデー
タメモリ11に収容する必要上、第(n+3)サ
イクルの初めでIの値を更新(“5”から“3”
へ)する直前にIレジスタ36の内容はI′レジス
タ37にセツトされる。このI′レジスタ37に再
セツトされた値“5”を用いて、第(n+5)サ
イクルでオペランドアドレス計算部20はデータ
A(5)のアドレスをMAレジスタ21及びBAレジ
スタ24の内容を用いて算出し、第(n+5)サ
イクルの初めでDAレジスタ17にセツトする。
しかして、第(n+6)サイクルの初めでALU
の演算結果(FUNC(13(5),C(5))がAレジスタ
A(5)としてデータメモリ11にWriteされる。
タメモリ11に収容する必要上、第(n+3)サ
イクルの初めでIの値を更新(“5”から“3”
へ)する直前にIレジスタ36の内容はI′レジス
タ37にセツトされる。このI′レジスタ37に再
セツトされた値“5”を用いて、第(n+5)サ
イクルでオペランドアドレス計算部20はデータ
A(5)のアドレスをMAレジスタ21及びBAレジ
スタ24の内容を用いて算出し、第(n+5)サ
イクルの初めでDAレジスタ17にセツトする。
しかして、第(n+6)サイクルの初めでALU
の演算結果(FUNC(13(5),C(5))がAレジスタ
A(5)としてデータメモリ11にWriteされる。
このように、ALU15によるFUNCの実行が
行なわれる3サイクル間、その第1サイクルは直
前の演算結果のデータメモリ11への書込みとオ
ーバーラツプし、第2、第3サイクルでは夫々次
に演算すべきオペランドの読出しとオーバーラツ
プしている。更にこれらデータメモリ11への書
込み又は読出しとオーバーラツプして、夫々次の
サイクルで必要となるオペランドのアドレスがオ
ペランドアドレス計算部20により実行されてい
る。
行なわれる3サイクル間、その第1サイクルは直
前の演算結果のデータメモリ11への書込みとオ
ーバーラツプし、第2、第3サイクルでは夫々次
に演算すべきオペランドの読出しとオーバーラツ
プしている。更にこれらデータメモリ11への書
込み又は読出しとオーバーラツプして、夫々次の
サイクルで必要となるオペランドのアドレスがオ
ペランドアドレス計算部20により実行されてい
る。
このようにしてI∈POSGの演算が実行され、
Iレジスタ36に終端マーク(m)がセツトされ
ると終了判定回路41はこれを検出し、Iレジス
タ36にNEGGすなわち“10”をセツトし、以
下同様にしてI∈NEGGの演算が実行される。
Iレジスタ36に終端マーク(m)がセツトされ
ると終了判定回路41はこれを検出し、Iレジス
タ36にNEGGすなわち“10”をセツトし、以
下同様にしてI∈NEGGの演算が実行される。
なお上記実施例ではインデツクス値のグループ
を2組に分けたが一般に複数組に分けその夫々に
ついて異なる演算を実行してもよい。また、上記
実施例ではデータメモリ内の値G(I)に基づい
てインデツクスのグループ分けを行つているが、
ALUの演算結果を用いることもできる。
を2組に分けたが一般に複数組に分けその夫々に
ついて異なる演算を実行してもよい。また、上記
実施例ではデータメモリ内の値G(I)に基づい
てインデツクスのグループ分けを行つているが、
ALUの演算結果を用いることもできる。
第1図は本発明の一実施例を示す図、第2図及
び第3図は本発明の一実施例を説明するための図
である。 10…ベクトル演算器、20…オペランドアド
レス計算部、30…インデツクス計算部、50…
制御部。
び第3図は本発明の一実施例を説明するための図
である。 10…ベクトル演算器、20…オペランドアド
レス計算部、30…インデツクス計算部、50…
制御部。
Claims (1)
- 1 データが格納されているデータメモリから、
あらかじめ指定された順序で連続して読出される
データに対し、指定された同一種の演算を連続し
て高速に実行するベクトルプロセツサにおいて、
上記演算結果またはデータメモリからの読出デー
タに対しあらかじめ指定された性質の有無を判定
する判定手段と、上記判定の対象である演算結果
または読出データのインデツクス値を上記判定手
段の判定結果に応じて複数個のグループに分けて
記憶する記憶手段と、この記憶手段から指定され
たグループのインデツクス値を連続して読出す手
段と、前記読出されたインデツクス値から指定ベ
クトルまたはマトリクスの要素のデータメモリ中
のアドレスを計算する手段とを有することを特徴
とするインデツクス限定連続演算ベクトルプロセ
ツサ。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57028905A JPS58146969A (ja) | 1982-02-26 | 1982-02-26 | インデツクス限定連続演算ベクトルプロセツサ |
| EP83300817A EP0088544B1 (en) | 1982-02-26 | 1983-02-17 | Index limited continuous operation vector processor |
| DE8383300817T DE3373945D1 (en) | 1982-02-26 | 1983-02-17 | Index limited continuous operation vector processor |
| US07/098,313 US4823258A (en) | 1982-02-26 | 1987-09-18 | Index limited continuous operation vector processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57028905A JPS58146969A (ja) | 1982-02-26 | 1982-02-26 | インデツクス限定連続演算ベクトルプロセツサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58146969A JPS58146969A (ja) | 1983-09-01 |
| JPH036546B2 true JPH036546B2 (ja) | 1991-01-30 |
Family
ID=12261418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57028905A Granted JPS58146969A (ja) | 1982-02-26 | 1982-02-26 | インデツクス限定連続演算ベクトルプロセツサ |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4823258A (ja) |
| EP (1) | EP0088544B1 (ja) |
| JP (1) | JPS58146969A (ja) |
| DE (1) | DE3373945D1 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5157778A (en) * | 1986-08-20 | 1992-10-20 | Digital Equipment Corporation | Method and apparatus for circuit simulation using parallel processors including memory arrangements and matrix decomposition synchronization |
| US5167018A (en) * | 1986-09-24 | 1992-11-24 | Daikin Industries, Ltd. | Polygon-filling apparatus |
| JPS63251835A (ja) * | 1987-04-08 | 1988-10-19 | Hitachi Ltd | ベクトル処理装置 |
| JP2512778B2 (ja) * | 1988-01-13 | 1996-07-03 | 株式会社日立製作所 | 演算処理方法 |
| JPH0766324B2 (ja) * | 1988-03-18 | 1995-07-19 | 三菱電機株式会社 | データ処理装置 |
| GB8808569D0 (en) * | 1988-04-12 | 1988-05-11 | Texas Instruments Ltd | Improvements in/relating to digital signal processors |
| US5257394A (en) * | 1988-10-18 | 1993-10-26 | Japan Atomic Energy Research Institute | Logical expression processing pipeline using pushdown stacks for a vector computer |
| JPH02109160A (ja) * | 1988-10-18 | 1990-04-20 | Japan Atom Energy Res Inst | ベクトル計算機用演算装置 |
| EP0369396A3 (en) * | 1988-11-14 | 1992-10-07 | Nec Corporation | Arithmetic processing unit capable of performing vector/matrix processing |
| US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
| JPH0772864B2 (ja) * | 1990-05-11 | 1995-08-02 | パイオニア株式会社 | ディジタル信号プロセッサ |
| KR100331565B1 (ko) * | 1999-12-17 | 2002-04-06 | 윤종용 | 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치 |
| JP3940714B2 (ja) * | 2003-09-25 | 2007-07-04 | 株式会社東芝 | 演算装置、および、暗号・復号演算装置 |
| US11113028B2 (en) * | 2019-07-25 | 2021-09-07 | Arm Limited | Apparatus and method for performing an index operation |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3827031A (en) * | 1973-03-19 | 1974-07-30 | Instr Inc | Element select/replace apparatus for a vector computing system |
| US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
| JPS5148937A (en) * | 1974-10-25 | 1976-04-27 | Fujitsu Ltd | Kiokusochi niokeru junjoseigyohoshiki |
| US4051551A (en) * | 1976-05-03 | 1977-09-27 | Burroughs Corporation | Multidimensional parallel access computer memory system |
| US4075704A (en) * | 1976-07-02 | 1978-02-21 | Floating Point Systems, Inc. | Floating point data processor for high speech operation |
| US4149242A (en) * | 1977-05-06 | 1979-04-10 | Bell Telephone Laboratories, Incorporated | Data interface apparatus for multiple sequential processors |
| JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
| US4435758A (en) * | 1980-03-10 | 1984-03-06 | International Business Machines Corporation | Method for conditional branch execution in SIMD vector processors |
-
1982
- 1982-02-26 JP JP57028905A patent/JPS58146969A/ja active Granted
-
1983
- 1983-02-17 DE DE8383300817T patent/DE3373945D1/de not_active Expired
- 1983-02-17 EP EP83300817A patent/EP0088544B1/en not_active Expired
-
1987
- 1987-09-18 US US07/098,313 patent/US4823258A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US4823258A (en) | 1989-04-18 |
| DE3373945D1 (en) | 1987-11-05 |
| EP0088544A1 (en) | 1983-09-14 |
| JPS58146969A (ja) | 1983-09-01 |
| EP0088544B1 (en) | 1987-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
| US3828175A (en) | Method and apparatus for division employing table-lookup and functional iteration | |
| CN115552523B (zh) | 使用存储器内处理的基于计数器的乘法 | |
| JPH036546B2 (ja) | ||
| JPH0727456B2 (ja) | 浮動小数点演算装置 | |
| CA2189148A1 (en) | Computer utilizing neural network and method of using same | |
| US4150434A (en) | Matrix arithmetic apparatus | |
| Iwata et al. | An artificial neural network accelerator using general purpose 24 bit floating point digital signal processors | |
| EP4018388B1 (en) | Neural network training with decreased memory consumption and processor utilization | |
| JPH0145649B2 (ja) | ||
| CN118839094A (zh) | 用支持卷积的单元进行矩阵乘的方法、系统、设备和介质 | |
| US3290493A (en) | Truncated parallel multiplication | |
| CN1047152A (zh) | 高速数字处理器 | |
| US3641331A (en) | Apparatus for performing arithmetic operations on numbers using a multiple generating and storage technique | |
| US3973243A (en) | Digital image processor | |
| CA2293953A1 (en) | A method and system for implementing a coprocessor | |
| US5072419A (en) | Binary tree multiplier constructed of carry save adders having an area efficient floor plan | |
| US3500027A (en) | Computer having sum of products instruction capability | |
| Cariow | An algorithm for dividing two complex numbers | |
| KR102868915B1 (ko) | Mac 어레이 및 이를 포함하는 하드웨어 가속기 | |
| US20230222315A1 (en) | Systems and methods for energy-efficient data processing | |
| JP2605792B2 (ja) | 演算処理装置 | |
| JPH02304676A (ja) | ディジタル信号処理装置 | |
| CN119623543A (zh) | 一种基于权值拓扑连接的大模型计算装置及其方法 | |
| Roch | An environment for parallel algebraic computation |