JPS58146969A - インデツクス限定連続演算ベクトルプロセツサ - Google Patents

インデツクス限定連続演算ベクトルプロセツサ

Info

Publication number
JPS58146969A
JPS58146969A JP57028905A JP2890582A JPS58146969A JP S58146969 A JPS58146969 A JP S58146969A JP 57028905 A JP57028905 A JP 57028905A JP 2890582 A JP2890582 A JP 2890582A JP S58146969 A JPS58146969 A JP S58146969A
Authority
JP
Japan
Prior art keywords
index
register
data
address
specified
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.)
Granted
Application number
JP57028905A
Other languages
English (en)
Other versions
JPH036546B2 (ja
Inventor
Isamu Yamazaki
勇 山崎
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Tokyo Shibaura 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 Toshiba Corp, Tokyo Shibaura Electric Co Ltd filed Critical Toshiba Corp
Priority to JP57028905A priority Critical patent/JPS58146969A/ja
Priority to EP83300817A priority patent/EP0088544B1/en
Priority to DE8383300817T priority patent/DE3373945D1/de
Publication of JPS58146969A publication Critical patent/JPS58146969A/ja
Priority to US07/098,313 priority patent/US4823258A/en
Publication of JPH036546B2 publication Critical patent/JPH036546B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/8061Details 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は科学技術計算でしばしば必要とされるベクトル
やマトリクスの計算を高速に行なうプロセッサに関する
〔発明の技術的背景〕
科学技術計算では少し規模が大きくなるとベクトルやマ
トリクスに対する打算を必要とし、計算機時間がかかる
。これらのベクトルやマ) IJクスの各要素は通常、
計算機のメモリ中で、そのインデックスの順に一定のア
ドレス間隔で格納されることが多い。そこでこのような
データの集合を1配列”と呼ぶ。ベクトルプロセッサ(
またはアレイプロセッサ)はこのような、一定のアドレ
ス間隔で格納されているデータに対して、パイプライン
技術を用いて、連続的に高速に同一種類の演算を行なう
よう構成されて2妙、これによって、配列に対する計算
のスピードを上げよりとするものである。すなわち従来
のベクトルプロセッサは次のような計算を高速に実行す
ることができる。
(例1) DO10I=1,100 A(I)=B(I)米C(I) 10  C0NTINUE (例2) Do  20  J=1.99.2 X(I、 J )=Y(I、 J )+Z(J ”)2
0  coN’rINug しかし実際の応用では次のような要素毎に計算内容が異
なる場合がかなり頻繁に現われる。
(例3) Do  30  I=1,100 IP(G(I)、GI’、0.0)  入(I )=A
(I )十〇(I )IF(G(I)、TJ、0.0)
   人(1)二人(I)峯D(J、I)30  C0
NTINUFf この場合には、 B(I)の正/jiL(の零)により
演算内容が異な9、かつオペランドが異っているので、
パイプラインがその都蜜中断し、その線条従来のベクト
ルプロセッサでは高速に処理できないという問題があっ
た。
〔発明の目的〕
本発明は上記事情に鑑みで為されたものであり、その目
的は指定され九データの性質によって演算内容が異なる
配列の計算についても高速化したインデックス限定連続
演算ベクトルプロセッサを提供することKある。
〔発明のc1!〕 上記欠点を克服するため、例えば上記(例3)を次のよ
うに考えなおす。
(第1ステツプ) pos缶(IIG(I))−0) 、■α3.−(II
G(I)≦O)(第2ステツプ) FORIg PO8G 、A(I)二人(I)−)−C
(I)(第3ステツプ) FOfL  IGNBGG、A(I)=A(2)*D(
J、I’)ここでPO8GはG(I)>Oであるような
インデックスIの集合、NF2(追はG(I)<Oであ
るようなインデックスIの集合である。本発明のベクト
ルプロセッサは、(第1ステツプ)のようなインデック
ス集合を生成し配憶する機能と、($2ステップ)。
(第3ステツプ)のよう(、指定したインデックス集合
K11lするインデックス値に対してのみオペランドア
クセスを連続して行なう機能とを備えることによって、
このような場合でも)くイブツイン感層の効率を失なわ
ないようKしたものである。
〔発明の効果〕
科学技術計算で何かの臨界―纏の両側である量の評価式
が異なるよう准場合が非常に多く、このようなアプリケ
ージ曹ンでは従来のベタトルプロセッサは非常に能率の
悪いものであったが、本発明のベクトルプロセッサによ
り、そのよつな場合でも問題なく高効率で演算を実行で
きる。
マタ、本発明のベクトルプロセッサは、ある式を評価す
ると同時に、あらかじめ指定した性質によりその評価結
果を分類し、インデックス集合を発生することができる
ので、判断分岐命令のような効率の悪いプログラムをほ
とんど用いずに@数演算的にプログラムできる。
またスパースマトリクスの場合、マトリクスとベクトル
の積の計算などで零要素との積和をできるだけ行なわな
いようKすることによって、計算を高速化することかで
暑るが、本発明のベクトルプロセッサでは非零要素のみ
を選択して演算することが容易にできるので、能率的に
スパースマトリクスを取り6つかうことができる(従来
は極めて困難であった)。
〔発明の実施例〕
fa1図に本発明の一実施例を示す。図において。
tohベクトル演算部、銭はオペランドアドレス計算部
、Uはインデックス計算部、50はこれらを制御する制
御部である。
ベクトル演算部10呟、被演算で一タ、演算線束データ
、その他のデータを収容するデータメモリ11、レジス
タ(B)12.レジスタ@13、レジスタC14,AL
UI 5.レジスタ(A) 16、及びアドレスレジス
タ(1)A)17を有し、指定されたデータすなわちベ
クトル又はマトリックス(以下配列)の演算を実行する
オペランドアドレス計算部すは、演算に必要なナベラン
ドすなわちデータメモリ11内における配列のアドレス
を計算するもので1乗数の値を収容するレジスタ(M人
)21.レジスタ(MB)22%レジスタ(MC) 2
3.ベースの値を収容するレジスタ(BA)24、レジ
スタ(BB)25、レジスタ(aC)26、乗算182
7%加算112gを有する。
インデックス計算1s ao Fi、上述し九(第1ス
テツプ)#IC示すようなインデックス集合を生成し記
憶するもので、インデックスメモリ31.レジスタ(V
)32.1/ジスタ■33、レジスタ(IBo)34、
レジスタ(IBI)35、レジスタ(I) 36 、レ
ジスダ(1)37、加算a38%アドレスレジスタ(■
ム)39、+1加算540.終了判定回路41及び正/
員判定回路42を有する。このベクトルプロセッサは基
本的に次の演算を行なりことができる。
とζKFtJNC(X、 Y)はALU 15のもつ2
項スカラー演算(加減乗除算など)、P(X)は次の3
種類の命題関数:■X〉00時真、■X≧0の時真、■
X=Oの時真、のいずれか。
U、 V、 Wi イyデylスfi−v:I) 3t
 K、 A(1)。
B(I) 、 C(I)はデータメモリ11に格納され
る。命題関数P囚は判定回路42によって判定される。
A(I) 、 B(I) 、 C(I)はベクトル(す
なわち1次元の配列)の時は、データメモリ11のアド
レス順に各要素を格納し、従って、その最初の要素(A
(0)′4)のアドレスをBAとすると、一般に人(I
)のアドレスは、B入+工となる。すなわちベクトルの
時は鳩L 、 MB 、 MCは1となる。一方A(I
) 、 B(I) 、 C(I)が2次元以上の配列〇
一部、例えば入(I)が3次元配列AA(K、 Y、 
Z)fX=J、 Y=に、 z=i  &どテロる時、
五人(0,0,0)のアドレスをB人′とするとA(I
) : AA(J、 K、 I )のアドレスはBA’
+J+XMAX米K + XMAX 峯Iとなるから、
B入’ +J +XMAX秦Kを改ためて8人としs 
XMAX辛YMAXを〜い、とすると、BA+MA半■
となる噌 このようにオペランドアドレス計算部20では3組の配
列A、B、CK対し、インデックス値I重タハI’ ト
乗aVA、MB、MCトヘーXノfiBA、 BB。
BCから、乗算527と加算a28を用いて、実際のデ
ータメモリアドレスDAを計算することができる。
演算を行うべき配列の部分集合は、そのインデックスI
の集合として、インデックスメモリ31に記憶させるが
その形式はインデックス・チェインの形式である。ある
集合(例えばP08G)とその補集合(NgGG)とは
同時に発生させることができ、1つのインデックスベク
トルエリアに2本のチェインとして記憶される(第2図
6照)、このインデックスベクトルエリアの先頭番地を
IBとすると、インデックスIK対応するインデックス
ベクトル要素のアドレスはIB+Iであり、そこには、
とのIと同一グループの次のI4)値が格納されている
。第2図はIの降順にチェインが形成されているが、昇
順でもまたランダムでもかまわない。
最後のインデックス値の対応1所には終端記号(・)が
書き込まれる。
このような部分集合(インデックスチェイン)の生成方
法(第1ステツプ)の−例を説明する。
■Vレジスタ32及びWレジスタ33に終端記号(w)
をセットする。■レジスタ36に0をセットする(又は
I=X)とする。
■データメモリ1oからデータG(I)をReadする
■判定回路42により、データG (I)の判定を行な
う。
(+) G(I)> 0 ナラば、■レジスタ327)
内容をインデックスメモリ31のIB1+II4に書込
み、Vレジスタ32にIレジスタの内容をセットする。
fii) G fI)≦0ならば、Wレジスタ33の内
容をインデックスメモリ31のIBl+I番地に書込み
、Wレジスタ33にIレジスタ36の内容をセットする
■+1加算器4oにより■レジスタ36の内容を+1す
る(またはインデックスメモリ31のIBI + I番
地の内容をエレジスタ36にセットする)。
■終了判定回路41により、■レジスタ36の内容がI
の最大値(ま九は終端記号)でろれは次の■へ、そうで
なければ■へもどる。
■PO8e−v、NgGG−4,!:t る。
すなわち■レジスタ32の内容、第2図では@9曽をP
O8Gとし、Wレジスタ33の内容、第2図では“10
”をNEGGとする。■、■、@のステップで()内を
用いた時は部分集合の部分集合つt9積集会を求めるこ
とかで無る。(XかつG(I))0など) 次に第2ステツプではI  PO8Gに対する演算を行
なう。この場合、まずPO8Gすなわち′″9′をIレ
ジスタ36にセットし、■の更新タイミング(第3図の
m)で、I+IBoをアドレスとし−Cインデックスメ
モリ31をRaadl、、続出したインデックス値をI
レジスタ36にセットするように動作する。これにより
、 G(I)>0である工の値のみが次々とIレジスタ
36にセットされ、それに対し同一演算FUNCが人L
U15で行なわれた。
この動作を第3図を用いて説明する。本実施例ではIか
らはじめてSRのパイプライン制御を行なっている。第
3図では第(n)サイクルから第(n+6)サイクルの
みを示している。
第(n)サイクルの初めで■レジスタ36Ka”5’が
セットされると、オペランドアドレス計算部20はデー
タB(5)のアドレスを計算する。すなわち、乗算52
7はエレジスタ36の値5とMBレジスタ22の乗数を
乗算し、この乗算結果にBBレジスタ250ベースを加
える。との納果得られた値BB+5・MBは第(n+1
 )サイクルの初めでDAレジスター7にセットされる
。次にデータメモリー1のアドレスBB+5・MBの内
容すなわちデータB(5)を財adl、、第(rl+2
 )サイクルの初めでBレジスター2にセットされた後
、第(n+3)サイクルの初めでBルジスター3にセッ
トされる。
一方、同様にして第(n+1)サイクルでMCレジスタ
23及びBCレジスタ26の内容を用いてオペランドア
ドレス計算部20はデータC15)のアドレスBC+5
・MCを求め、第(n+2)サイクルの初)・:。
めで1)入しジスターフにセットする0次に薯)入Vジ
  ・スタ17の内容で指定されるデータメモリー1の
内容すなわちデータC(5)がReadされ、@(n+
3)サイクルの初めてCレジスタ14にセットされる。
人LU15はFUNCの実行に3サイクル(第(n+3
)〜(n+5)サイクル)要し、この間B/レジスタ1
3及びCレジスタ14の内容は保持されている。
人LU15の演算結果はデータA(5)としてデータメ
モリ11に収容する必要上、第(n+3 )サイクルの
初めでIの1を更新(15”から13′へ)する直前に
Iレジスタ36の内!!け■入レジスタ37にセットさ
れる。このIルジスタ37に再セットされた値15#を
用いて、・窮(n+5 )サイクルでオペランドアドレ
ス計算部20はデータA f5)のアドレスをM入レジ
スタ21及び8人レジメタ24の内容を用いて算出し、
第(n+8 )サイクルの初めて0人レジスタ17にセ
ットする。し力為して、第(n+6)サイクルの初めて
ALUの演算結果(FUNC(13を乱Ct5)) i
)I Aレジスタ16にセットされると、この内容はデ
ータ人(5)としてデータメモリ11にWr i t 
eされる。
このように% ALU15によるFUNCの実行が行な
われる3サイクル間、その第1サイクルでは直前の演算
結果のデータメモリ11への書込みとオーバーラツプし
、第2.第3サイクルでは夫々次に演算すべきオペラン
ドの読出しとオーバーラツプしている。更にこれらデー
タメモリ11への書込み又は読出しとオーバーラツプし
て、夫々次のサイクルで必要となるオペランドのアドレ
スがオペランドアドレス計算8120により実行されて
いる。
このようにしてI P08Gの演算が実行され、■レジ
スタ36に終端マーク(→がセットされると終r判定回
路41はこれを検出し、■レジスタ36にNBGGすな
わち”10”をセットし、以下同様にしてIεNgGG
の演算が実行される。
なお上記実施例ではインデックス値のグループを2組に
分は九が一般に複数組に分けその夫々について異なる演
算を実行してもよい、fた、上記実施例ではデータメモ
リ内の1直G rI)に鳩づいてインデックスのグルー
プ分けを行っているが、ALUの演算結果を用いること
もできる。
【図面の簡単な説明】
Is1図は本発明の一実施例を示す図、第2図及び第3
図は本発明の一実施例を説明するための図である。 10・・・ベクトル演算器 U・・・オペランドアドレス計算部 30・・・インデックス計算部 50・・・制御部 手続補正書(自44) 118m61pd2a 轡許庁長官毅 L 事件の表示 Wa和81%轡願g zssos号 1 発−04称 イyデツタス隈定連続演算ベタトルグw−tツナ龜 補
正をすゐ者 事件とO関係 畳許&fi願人 (307)東京芝srs気株式会社 を代厘人 〒100 東京都千代回区内◆町1−1−1 東京芝瀘電気株式会社東京事務所内 (幻 ―顔書041許−求1)@@1)欄(匍 ―細書
O発@O詳細なm−の― (4)−画 6、 補正の内容 (1)  明細書の特許請求のl1il!を別紙の過多
補正する。 (2) 明細書の発明の詳細な説明を以下の正誤表の以
上 特許請求omvs データが格納されているデータメ峰りから、あらかじめ
指定され九項序で連続して読出されるゲインデツクス値
のグループを複数組記憶で自るインデックス・メ篭りと
、上記演算結果!友はデータメ鳴りからの読出データ(
対しあらかじめ指定された性質の有無を判定する判定手
段と、上I!判定の対象でおる演算請釆ま九はWR#!
Iデー−〇インデックス値を上記判定手段の判定結果に
応じてVグループ(性質有)まえはWグループ(性質な
し)K#けて上記インデックスメモリに記憶させる手段
と、上記インデックスメモリから指定され九ダシープO
イ/デツクス値を連続して貌出す手段と、帥記絖出され
たインデックス値から指定ベタトkま九はマトリクスの
要素のデータメモリ中のアドレスを計算する手段とを有
することを41黴とするインデックス限定連続演算ベク
トルプロセツナO

Claims (1)

    【特許請求の範囲】
  1. データが格納されているデータメモリから、あらかじめ
    指定された順序で連続して読出されインデックス値のグ
    ループを複数組記憶できるインデックス・メモリと、上
    記演算結果または続出データに対しあらかじめ指定され
    た性質の有無を判定する判定手段と、上記判定の対象で
    ある演算結果または続出データのインデックス値を上記
    判定手段の判定結果に応じてVグループ(性質布)また
    はWグループ(性質なし)に分けて上記インデックスメ
    モリに記憶させる手段と、上記インデックスメモリから
    指定されたグループのインデックス値を連続して咬出す
    手段と、前記読出されたインデックス値から指定ベクト
    ルまたはマトリクスの要素のデータメモリ中のアドレス
    を計算する手段とを有することを特徴とするインデック
    ス限定連続演算ベクトルプロセッサ。
JP57028905A 1982-02-26 1982-02-26 インデツクス限定連続演算ベクトルプロセツサ Granted JPS58146969A (ja)

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 true JPS58146969A (ja) 1983-09-01
JPH036546B2 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)

* Cited by examiner, † Cited by third party
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 ベクトル計算機用演算装置
US5038312A (en) * 1988-11-14 1991-08-06 Nec Corporation Data processing system capable of performing vector/matrix processing and arithmetic processing unit incorporated therein
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JPH036546B2 (ja) 1991-01-30
US4823258A (en) 1989-04-18
EP0088544A1 (en) 1983-09-14
EP0088544B1 (en) 1987-09-30
DE3373945D1 (en) 1987-11-05

Similar Documents

Publication Publication Date Title
US11989258B2 (en) Performing matrix multiplication in hardware
JP2854866B2 (ja) イメージ処理システム及びその画素データの処理法
CN114391135A (zh) 用于对连续分配数据执行存储器内处理操作的方法及相关存储器装置和系统
JPS58146969A (ja) インデツクス限定連続演算ベクトルプロセツサ
US3828175A (en) Method and apparatus for division employing table-lookup and functional iteration
US20040122887A1 (en) Efficient multiplication of small matrices using SIMD registers
US5835392A (en) Method for performing complex fast fourier transforms (FFT's)
JPS60151761A (ja) 10進演算用に連続したデ−タ装置をアクセスするためのニブルおよびワ−ド・アドレス指定可能なメモリ−
US4769779A (en) Systolic complex multiplier
JP2601960B2 (ja) データ処理方法及びその装置
GB1585284A (en) Cpu/parallel processor interface with microcode extension
JPH02300983A (ja) 中央処理装置における高速演算処理の方法
Cook et al. System design of a dynamic microprocessor
US6295597B1 (en) Apparatus and method for improved vector processing to support extended-length integer arithmetic
JPH0145649B2 (ja)
US5933160A (en) High-performance band combine function
Hsiao et al. The carry-dependent sum adder
US4947364A (en) Method in a computing system for performing a multiplication
US3400259A (en) Multifunction adder including multistage carry chain register with conditioning means
JPH09293137A (ja) 並列プロセッサにおける画像のスケール変更
Goode et al. A simple circuit for adding complex numbers
US3624375A (en) Binary coded decimal to binary conversion apparatus
US3557355A (en) Data processing system including means for detecting algorithm execution completion
Smith et al. A multiprocessor implementation of a contextual image processing algorithm
Roch An environment for parallel algebraic computation