JPS6310263A - ベクトル処理装置 - Google Patents
ベクトル処理装置Info
- Publication number
- JPS6310263A JPS6310263A JP15401686A JP15401686A JPS6310263A JP S6310263 A JPS6310263 A JP S6310263A JP 15401686 A JP15401686 A JP 15401686A JP 15401686 A JP15401686 A JP 15401686A JP S6310263 A JPS6310263 A JP S6310263A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- processing
- arithmetic
- scalar
- calculation
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 239000000872 buffer Substances 0.000 claims abstract description 24
- 239000000284 extract Substances 0.000 claims abstract description 4
- 238000012805 post-processing Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は大規模科学技術計算等を高速に処理するベクト
ル処理装置に関する。
ル処理装置に関する。
ベクトル処理装置では、一般に複数のベクトル命令を同
時に実行して処理速度を上げるために、ベクトル演算器
及び/又は主記憶装置とスカシレジスタ間のデータ転送
を司どるデータ転送回路を複数個備えている。しかし、
実際のベクトル処理を構成するベクトル命令群において
は、同時に実行できるベクトル命令の数が少なく、これ
ら複数のベクトル演算器及び/又は主記憶装置とベクト
ルレジスタ間のデータ転送回路を同時に使用できず、ベ
クトル演算器の使用効率が低く、処理の高速化が期待で
きない。
時に実行して処理速度を上げるために、ベクトル演算器
及び/又は主記憶装置とスカシレジスタ間のデータ転送
を司どるデータ転送回路を複数個備えている。しかし、
実際のベクトル処理を構成するベクトル命令群において
は、同時に実行できるベクトル命令の数が少なく、これ
ら複数のベクトル演算器及び/又は主記憶装置とベクト
ルレジスタ間のデータ転送回路を同時に使用できず、ベ
クトル演算器の使用効率が低く、処理の高速化が期待で
きない。
このため、特開昭60−77265号に記載のように、
1つのベクトル命令によって指定されるベクトル要素数
がL個であるベクトル処理を実行するに際し、n個のベ
クトル演算器でそれぞれベクトル要素を(L/n)又は
(L/n)+1個((L/n)はL / nを超えない
最大の整数)ずつ分担して処理すること呻より、ベクト
ル演算器の使用効率を高め、処理の高速化を図るように
したベクトル処理装置が提供されている。
1つのベクトル命令によって指定されるベクトル要素数
がL個であるベクトル処理を実行するに際し、n個のベ
クトル演算器でそれぞれベクトル要素を(L/n)又は
(L/n)+1個((L/n)はL / nを超えない
最大の整数)ずつ分担して処理すること呻より、ベクト
ル演算器の使用効率を高め、処理の高速化を図るように
したベクトル処理装置が提供されている。
上記従来技術においては、ベクトル演算器はベクトル同
志の和、積等を処理する限り要素ごとの演算で済むので
、複数のベクトル演算器で同時の多くの要素間演算を処
理した場合、より高速にベクトル命令を処理することが
できる。しかしながら、内積や総和などのベクトル命令
は要素ごとの独立した演算でないので、上記のように複
数の要素間演算処理を施した場合、最後に全体の総和な
どを取り直す演算処理が必要となる。
志の和、積等を処理する限り要素ごとの演算で済むので
、複数のベクトル演算器で同時の多くの要素間演算を処
理した場合、より高速にベクトル命令を処理することが
できる。しかしながら、内積や総和などのベクトル命令
は要素ごとの独立した演算でないので、上記のように複
数の要素間演算処理を施した場合、最後に全体の総和な
どを取り直す演算処理が必要となる。
上記従来技術は、内積処理や総和処理において求まった
n個の演算結果をソフトウェアで意識して処理しなけれ
ばならず、ソフトウェアの負担と高速性の点で問題があ
った。
n個の演算結果をソフトウェアで意識して処理しなけれ
ばならず、ソフトウェアの負担と高速性の点で問題があ
った。
本発明の目的は、上記内積処理や総和処理におけるソフ
トウェアの負担を軽減し、より高速化を実現するベクト
ル処理装置を提供することにある。
トウェアの負担を軽減し、より高速化を実現するベクト
ル処理装置を提供することにある。
上記目的は、n個のベクトル演算器を有するベクトル処
理装置において、n個のベクトル演算器の結果を保持す
るn個の演算結果保持用スカラデータバッファと、前記
n個の演算結果保持用スカラデータバッファからデータ
を取り出して総和などの後処理演算を行なうベクトル後
処理演算部を設けることにより、達成される。
理装置において、n個のベクトル演算器の結果を保持す
るn個の演算結果保持用スカラデータバッファと、前記
n個の演算結果保持用スカラデータバッファからデータ
を取り出して総和などの後処理演算を行なうベクトル後
処理演算部を設けることにより、達成される。
n個の演算結果保持用スカラデータバソファはn個のベ
クトル演算器のスカラ演算結果を保持し、ベクトル後処
理演算部は前記スカラデータバッファに格納されている
データを取り出してきて演算を行ないスカラレジスタに
送出する。n個のベクトル演算器ではスカラデータバッ
ファに結果を書き込んでからは次の命令を実行してもよ
いため、ベクトル後処理演算部がスカラデータバッファ
のデータを取り出して行う演算とn個のベクトル演算器
における次の命令が並行に行なわれることが可能となり
、内積や総和の連続した命令が高速に処理される。
クトル演算器のスカラ演算結果を保持し、ベクトル後処
理演算部は前記スカラデータバッファに格納されている
データを取り出してきて演算を行ないスカラレジスタに
送出する。n個のベクトル演算器ではスカラデータバッ
ファに結果を書き込んでからは次の命令を実行してもよ
いため、ベクトル後処理演算部がスカラデータバッファ
のデータを取り出して行う演算とn個のベクトル演算器
における次の命令が並行に行なわれることが可能となり
、内積や総和の連続した命令が高速に処理される。
以下、本発明の一実施例を図面を用いて説明する。
第1図は本発明のベクトル処理装置の一実施例を示す全
体の構成図である。1は主記憶装置、2は記憶制御部、
3はスカラ演算処理部、4−0゜4−1.・・・、4−
(n−1)はそれぞれベクトル演算処理部であって、そ
れぞれ複数のベクトルレジスタ9〜16.1つ又は複数
のベクトル乗算器21、ベクトル加算器22,23、各
演算器用スカラデータバッファ17〜18,1つ又は複
数のベクトルレジスタと主記憶との間のデータ転送回路
6〜8、分配回路19.20を備える0図ではベクトル
演算処理部4−0のみ詳細に示しであるが、他のベクト
ル演算処理部4−1〜4−(n −1)も同じ構成であ
る。5はベクトル演算制御部であり、ベクトル演算処理
部4−0.・・・、4−(n−1)を制御するものであ
る。なお、ベクトル演算処理部の中のデータ転送回路6
と7はフエ゛ツチ用、データ転送回路8はストア用であ
る。また1分配回路19と20は、第1図ではベクトル
演算処理部毎に独立しているが、全てのベクトル演算処
理部間を接続してあってもよい、また、スカラデータバ
ッファ17はベクトル演算器21゜22用、スカラデー
タバッファ18はベクトル演算器23用である。25は
ベクトル後処理演算部で、ベクトル演算処理部4−O9
・・・、 4−(n −1)各々にあるスカラデータバ
ッファ17.18の総和などを行なう、26は後処理用
加算器、27はそれぞれ演算データのセレクタである。
体の構成図である。1は主記憶装置、2は記憶制御部、
3はスカラ演算処理部、4−0゜4−1.・・・、4−
(n−1)はそれぞれベクトル演算処理部であって、そ
れぞれ複数のベクトルレジスタ9〜16.1つ又は複数
のベクトル乗算器21、ベクトル加算器22,23、各
演算器用スカラデータバッファ17〜18,1つ又は複
数のベクトルレジスタと主記憶との間のデータ転送回路
6〜8、分配回路19.20を備える0図ではベクトル
演算処理部4−0のみ詳細に示しであるが、他のベクト
ル演算処理部4−1〜4−(n −1)も同じ構成であ
る。5はベクトル演算制御部であり、ベクトル演算処理
部4−0.・・・、4−(n−1)を制御するものであ
る。なお、ベクトル演算処理部の中のデータ転送回路6
と7はフエ゛ツチ用、データ転送回路8はストア用であ
る。また1分配回路19と20は、第1図ではベクトル
演算処理部毎に独立しているが、全てのベクトル演算処
理部間を接続してあってもよい、また、スカラデータバ
ッファ17はベクトル演算器21゜22用、スカラデー
タバッファ18はベクトル演算器23用である。25は
ベクトル後処理演算部で、ベクトル演算処理部4−O9
・・・、 4−(n −1)各々にあるスカラデータバ
ッファ17.18の総和などを行なう、26は後処理用
加算器、27はそれぞれ演算データのセレクタである。
24はベクトル演算処理用スカラレジスタ部であり。
28はスカラレジスタである。
主記憶装置1から、ベクトル命令列の処理開始を指示す
る命令が読み出されると、スカラ演算処理部3は、ベク
トル演算制御部5にベクトル命令開始アドレスとベクト
ル処理要素数りを指示する。
る命令が読み出されると、スカラ演算処理部3は、ベク
トル演算制御部5にベクトル命令開始アドレスとベクト
ル処理要素数りを指示する。
ベクトル演算制御部5は、主記憶装置1の指示されたア
ドレスからベクトル命令列を読み出し、その解読結果に
従い、ベクトル演算処理部4−0゜4−1.・・・、4
(n−1)内のベクトル演算器21〜23あるいはベク
トルレジスタ9〜16あるいはデータ転送回路6,7に
、ベクトル命令の実行を指示する。
ドレスからベクトル命令列を読み出し、その解読結果に
従い、ベクトル演算処理部4−0゜4−1.・・・、4
(n−1)内のベクトル演算器21〜23あるいはベク
トルレジスタ9〜16あるいはデータ転送回路6,7に
、ベクトル命令の実行を指示する。
ここで、複数のベクトル演算処理部4−0〜4−(n−
1)をもち、1つのベクトル命令をベクトル要素番号に
注目して複数のベクトル演算部に分解して要素ごとに処
理する方式では、ベクトル長L、ベクトル演算器nの場
合、各々のベクトル演算処理部は (L / n )又は(L/n)+1回((L/n)は
L / nをこえない最大の整数)の演算で済む、しか
し、ベクトル要素がn個のベクトル演算処理部にある各
々のベクトルレジスタに分割して保持されているため、
内積や総和などを行なった場合−n個の演算処理部4−
0〜4−(n −1)の各々の結果がスカラデータバッ
ファ17または18に求まるだけである。そこで、ベク
トル後処理演算部25で4−0.4−1.・・・。
1)をもち、1つのベクトル命令をベクトル要素番号に
注目して複数のベクトル演算部に分解して要素ごとに処
理する方式では、ベクトル長L、ベクトル演算器nの場
合、各々のベクトル演算処理部は (L / n )又は(L/n)+1回((L/n)は
L / nをこえない最大の整数)の演算で済む、しか
し、ベクトル要素がn個のベクトル演算処理部にある各
々のベクトルレジスタに分割して保持されているため、
内積や総和などを行なった場合−n個の演算処理部4−
0〜4−(n −1)の各々の結果がスカラデータバッ
ファ17または18に求まるだけである。そこで、ベク
トル後処理演算部25で4−0.4−1.・・・。
4−(n−1)各々の17または18のスカラデ=タバ
ッファの総和を取り直す。
ッファの総和を取り直す。
7以下内積命令が3個連続した場合の詳細を第2図に示
す、ベクトル演算処理部数nは4とする。
す、ベクトル演算処理部数nは4とする。
第2図のElは演算器21.22が演算処理を行なって
いる時間で、4−0の21.22.4−1の21.22
.4−2の21.22.4−3の21.22でそれぞれ
で S6←S、+A (i) 串B (i) 、 ((i
m0dulo 4) =O)S14−8.+A (i
) * B (i) 、 ((i IIodulo 4
) =1)S、←S、+A (i) *B (i) 、
((i modulo 4) =2)S、←Sa+A
(i) *B(i) 、 ((i modulo 4
) =3)を行なう0時刻t1で各ベクトル演算処理部
4−O〜4−3にS、〜S3が求まり、スカラデータバ
ッファ17に格納される。ベクトル後処理演算部25は
4−0の17.4−1の17.4−2の17.4゛−3
の17の各スカラデータバッファに格納された80〜S
、を取り出して総和処理を行う。
いる時間で、4−0の21.22.4−1の21.22
.4−2の21.22.4−3の21.22でそれぞれ
で S6←S、+A (i) 串B (i) 、 ((i
m0dulo 4) =O)S14−8.+A (i
) * B (i) 、 ((i IIodulo 4
) =1)S、←S、+A (i) *B (i) 、
((i modulo 4) =2)S、←Sa+A
(i) *B(i) 、 ((i modulo 4
) =3)を行なう0時刻t1で各ベクトル演算処理部
4−O〜4−3にS、〜S3が求まり、スカラデータバ
ッファ17に格納される。ベクトル後処理演算部25は
4−0の17.4−1の17.4−2の17.4゛−3
の17の各スカラデータバッファに格納された80〜S
、を取り出して総和処理を行う。
この時1次の内積命令は前内積命令の最終要素積が加算
器22に入り、最終回の和を求めるデータが加算器22
の頭に来た次のクロックに、その次内積命令の先頭の要
素積が加算器22に入るようにし得る。よって次的命令
は時刻t2に始めることができる。
器22に入り、最終回の和を求めるデータが加算器22
の頭に来た次のクロックに、その次内積命令の先頭の要
素積が加算器22に入るようにし得る。よって次的命令
は時刻t2に始めることができる。
以上のように、複数のベクトル演算処理部の各々にて内
積処理を行いスカラデータバッファに各ベクトル演算処
理結果を格納するまでと、スカラデータバッファのデー
タをとり出してベクトル後処理演算部で総和後処理を行
うことを分離することにより、内積処理などが連続した
場合、前後の命令をオーバーラツプさせながら処理させ
ることができる。第2図のPlとE2、P2とE3はこ
れを示している。
積処理を行いスカラデータバッファに各ベクトル演算処
理結果を格納するまでと、スカラデータバッファのデー
タをとり出してベクトル後処理演算部で総和後処理を行
うことを分離することにより、内積処理などが連続した
場合、前後の命令をオーバーラツプさせながら処理させ
ることができる。第2図のPlとE2、P2とE3はこ
れを示している。
本発明によれば、n個のベクトル演算処理部がベクトル
レジスタの要素を排他的に保持し、要素間同志の演算を
指示する1つの命令がn個のべり。
レジスタの要素を排他的に保持し、要素間同志の演算を
指示する1つの命令がn個のべり。
トル演算処理部で同時に処理されるベクトル処理装置に
おいて、内積や総和などのベクトルレジスタの全ての要
素による1つまたは複数の結果を得る形式の命令を処理
する場合、演算結果保持用スルカラデータバッファにn
個のベクトル演算処理部の結果を代入することによりベ
クトル演算処理部が次の命令のために早期にとりかかれ
、前記スカラデータバッファの総和などの処理を行うた
めのベクトル後処理演算部で前命令の後処理を次命令と
並行して行えるので、1つ1つの内積や総和命令処理の
高速化と前記内積や総和命令が連続した場合の命令処理
ピッチの短縮化の効果がある。
おいて、内積や総和などのベクトルレジスタの全ての要
素による1つまたは複数の結果を得る形式の命令を処理
する場合、演算結果保持用スルカラデータバッファにn
個のベクトル演算処理部の結果を代入することによりベ
クトル演算処理部が次の命令のために早期にとりかかれ
、前記スカラデータバッファの総和などの処理を行うた
めのベクトル後処理演算部で前命令の後処理を次命令と
並行して行えるので、1つ1つの内積や総和命令処理の
高速化と前記内積や総和命令が連続した場合の命令処理
ピッチの短縮化の効果がある。
第1図は本発明のベクトル処理装置の一実施例を示す全
体の構成図、第2図は本発明の一実施例で内積命令が3
個連続して処理される場合のタイムチャートである。 1・・・主記憶装置、 2・・・記憶制御部、3・・・
スカラ演算処理部。 4−0〜4(n−1)・・・ベクトル演算処理部、5・
・・ベクトル演算制御部、 6〜8・・・データ転送回路。 9〜16・・・ベクトルレジスタ、 17.18・・・演算結果持用スカラデータバソファ、
19.20・・・分配回路、 21〜23・・・ベクトル演算器、 24・・・ベクトル演算処理用スカラレジスタ部。 25・・・ベクトル後処理演算部、 26・・・ベクトル演算器、 27・・・セレクタ、2
8・・・スカラレジスタ。 第1図
体の構成図、第2図は本発明の一実施例で内積命令が3
個連続して処理される場合のタイムチャートである。 1・・・主記憶装置、 2・・・記憶制御部、3・・・
スカラ演算処理部。 4−0〜4(n−1)・・・ベクトル演算処理部、5・
・・ベクトル演算制御部、 6〜8・・・データ転送回路。 9〜16・・・ベクトルレジスタ、 17.18・・・演算結果持用スカラデータバソファ、
19.20・・・分配回路、 21〜23・・・ベクトル演算器、 24・・・ベクトル演算処理用スカラレジスタ部。 25・・・ベクトル後処理演算部、 26・・・ベクトル演算器、 27・・・セレクタ、2
8・・・スカラレジスタ。 第1図
Claims (1)
- (1)複数のスカラレジスタと、複数のベクトルレジス
タと、当該ベクトルレジスタから受取ったベクトルデー
タに対し演算処理を行ない結果を前記ベクトルレジスタ
に送出するn個のベクトル演算器とを有するベクトル処
理装置において、前記n個のベクトル演算器の結果を保
持するn個の演算結果保持用スカラデータバッフアと、
前記n個の演算結果保持用スカラデータバッファからデ
ータを取り出して総和などの後処理を行ない前記スカラ
レジスタに演算結果を送出するベクトル後処理演算部と
を設けたことを特徴とするベクトル処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15401686A JPS6310263A (ja) | 1986-07-02 | 1986-07-02 | ベクトル処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15401686A JPS6310263A (ja) | 1986-07-02 | 1986-07-02 | ベクトル処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6310263A true JPS6310263A (ja) | 1988-01-16 |
Family
ID=15575065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15401686A Pending JPS6310263A (ja) | 1986-07-02 | 1986-07-02 | ベクトル処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6310263A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01319865A (ja) * | 1988-06-20 | 1989-12-26 | Fujitsu Ltd | ベクトル処理装置 |
JPH0343865A (ja) * | 1989-07-11 | 1991-02-25 | Koufu Nippon Denki Kk | ベクトル・データ処理装置 |
JPH06236392A (ja) * | 1993-02-10 | 1994-08-23 | Nec Corp | パラレル型計算機向け超行列演算方式 |
JPH07129521A (ja) * | 1993-01-11 | 1995-05-19 | Nec Corp | 並列処理方式 |
US6782468B1 (en) | 1998-12-15 | 2004-08-24 | Nec Corporation | Shared memory type vector processing system, including a bus for transferring a vector processing instruction, and control method thereof |
-
1986
- 1986-07-02 JP JP15401686A patent/JPS6310263A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01319865A (ja) * | 1988-06-20 | 1989-12-26 | Fujitsu Ltd | ベクトル処理装置 |
JPH0343865A (ja) * | 1989-07-11 | 1991-02-25 | Koufu Nippon Denki Kk | ベクトル・データ処理装置 |
JPH07129521A (ja) * | 1993-01-11 | 1995-05-19 | Nec Corp | 並列処理方式 |
JPH06236392A (ja) * | 1993-02-10 | 1994-08-23 | Nec Corp | パラレル型計算機向け超行列演算方式 |
US6782468B1 (en) | 1998-12-15 | 2004-08-24 | Nec Corporation | Shared memory type vector processing system, including a bus for transferring a vector processing instruction, and control method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
JP4584580B2 (ja) | 単一命令複数データ(simd)命令用の積和演算(mac)ユニット | |
US5081573A (en) | Parallel processing system | |
US4525796A (en) | Pipelined operation unit for vector data | |
JP2011134346A (ja) | 算術プロセッサ | |
JPS6077265A (ja) | ベクトル処理装置 | |
JPH077389B2 (ja) | 再帰方程式を高速で処理するベクトル処理装置 | |
US9361065B2 (en) | Processor and processing method | |
US6675286B1 (en) | Multimedia instruction set for wide data paths | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
JPS61160176A (ja) | ベクトル処理装置 | |
US3919534A (en) | Data processing system | |
WO2011036918A1 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
JPS6310263A (ja) | ベクトル処理装置 | |
JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
CN108255463B (zh) | 一种数字逻辑运算方法、电路和fpga芯片 | |
EP0169030A2 (en) | Data processing circuit for calculating either a total sum or a total product of a series of data at a high speed | |
JP3144859B2 (ja) | 算術論理演算装置 | |
JPH05324694A (ja) | 再構成可能並列プロセッサ | |
JPH0535773A (ja) | ベクトル除算方式とその装置 | |
JPS6259828B2 (ja) | ||
JPH0241563A (ja) | ベクトル処理方式 | |
JPH09325953A (ja) | プロセッサおよびデータ処理装置 | |
JPH0652215A (ja) | 行列演算プロセッサ | |
JP2626087B2 (ja) | 並列尤度演算装置 |