JPS6061864A - 並列ベクトル・プロセツサ - Google Patents

並列ベクトル・プロセツサ

Info

Publication number
JPS6061864A
JPS6061864A JP59078783A JP7878384A JPS6061864A JP S6061864 A JPS6061864 A JP S6061864A JP 59078783 A JP59078783 A JP 59078783A JP 7878384 A JP7878384 A JP 7878384A JP S6061864 A JPS6061864 A JP S6061864A
Authority
JP
Japan
Prior art keywords
vector
register
elements
processor
stored
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
Application number
JP59078783A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6061864A publication Critical patent/JPS6061864A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/8076Details on data register access
    • 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/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はコンピュータ・システムに係り、更に詳細に説
明すれば、前記コンピュータにおいて、一対のベクトル
を迅速に処理し、その処理結果を記憶する並列ベクトル
・プロセッサに係る。
[従来技術] 第2図に示す代表的なベクトル・プロセッサは、複数の
ベクトル・レジスタを含み、該ベクトル・レジスタの各
々はそれぞれベクトルを記憶する。
ベクトルは複数のベクトル・エレメントを含む。
パイプライン処理ユニットは、これらのバク1〜ル・レ
ジスタに関連するセレクタに接続され、第1のベクトル
・レジスタから第1のバク1−ルの対応するエレメント
を受取り、該エレメントを利用して、第2のベクトル・
レジスタに記憶された第2のベクトルの対応するエレメ
ントとの算術演算を実行する。算術演算の結果は、1つ
のベクトル・レジスタの対応する場所、または第3のベ
クトル・しジスタの対応する場所に記憶される。
しかしながら、この構成では、ベクトルの対応する各エ
レメントの演算を順次に実行することが必要である。も
し・ベクトルが128個のエレメントを含むならば、順
次に128回の演算を順次に実行しなければならない。
ベクトルの128エレメントを全て演算し終るのに必要
な時間は、対応する各エレメントを演算するときのパイ
プライン処理ユニットの演算当りのサイクル・タイムの
関数である。
コンピュータ・システムの複雑さが増大するにつれて、
コンピュータ・システム内のベクトル・レジスタに記憶
された複数のベクトルの対応する各エレメントの算術演
算の実行に必要な時間を短縮することによってコンピュ
ータ・システムのベクトル・プロセッサ部分の性能を高
めることが要請されている。
[発明が解決しようとする問題点コ 従って、本発明の目的は、前記コンピュータ・システム
のベクトル・プロセッサ部分を構成する複数のベクトル
・レジスタに記憶されたベクトルの対応する各エレメン
トの算術演算の実行に必要な時間を短縮することによっ
て、ベクトル・プロセッサ部分の性能を高めることにあ
る。
本発明の他の目的は、複数のベクトル・レジスタを複数
のより小さなレジスタへ再分割するとともに、後者のレ
ジスタに記憶された各エレメントを互いに並列に処理す
ることによって、ベクトル・プロセッサ部分の性能を改
善することにある。
[問題点を解決するための手段] 本発明によって、前述のようなベクトルの全てのエレメ
ントの演算処理を完了するのに必要な時間が短縮される
。ベクトル・レジスタは複数のより小さいレジスタに再
分割され、その各々は例えば、128エレメント・ベク
トルの4エレメントをそれぞれ記憶する。エレメント・
プロセッサは、より小さいレジスタの各々に関連してお
り、パイプライン処理ユニットと同じ機能を実行する。
各エレメント・プロセッサ及び対応するより小さいレジ
スタは、他のエレメント・プロセッサ及びそれらの対応
するより小さいレジスタに並列に接続される。この構成
によれば、第1及び第2のベクトルに関する算術演算を
実行する場合、該ベクトルの全エレメント(例えば、1
28エレメント)について実行される算術演算が、本例
では、該ベクトルの対応する4エレメントの算術演算を
完了するのに必要な時間内に完了する。この結果、バク
1ヘル・プロセッサの性能は大幅に改善される。
[実施例コ 第2図には、通常のパイプライン・ベクトル・プロセッ
サ1oが示されている。第2図において、複数のベクト
ル・レジスタ12(VRO〜VRI5)の各々は、12
8個のエレメント(ニレメン1−0〜エレメント127
)を記憶している。良好な実施例では、1エレメントは
4バイトの2進ワードから成る。セレクタ14は、ベク
トル・レジスタ12の各々に接続され、ベクトル・レジ
スタ12から対応するエレメントを選択するとともに、
選択されたエレメントをパイプライン処理ユニット16
に送り込む。パイプライン処理ユニット16は、セレク
タ14に接続され、対応するエレメントを受取るととも
に、算術演算のような選vi!された演算をこれらのエ
レメントにつし1て実行する。
例えば、パイプライン処理ユニット16番よ、ベクトル
・レジスタVROからエレメントOを受取り、ベクトル
・レジスタVR15から対応するエレメント0を受取り
、そしてそれらのエレメント番二ついて下記のような算
術演算を実行する。
VRO+VR15+VR3 この算術演算において、VROのエレメントOの2進ビ
ツトの各々は、VR15のエレメント0の2進ビツトの
各々に加えられ、その結果得られた和は、ベクトル・レ
ジスタVR3のエレメント0の場所に記憶される。結果
レジスタ1旧よ、ノ(イブライン処理ユニット16に接
続され、)\イブライン処理ユニット16から受取った
前記和を記憶する。また結・果レジスタ18は、選択ゲ
ート20p&介してベクトル・レジスタ12の各4に接
続され、前記和をベクトル・レジスタVR3に転送する
第2図に示された構成はある不利な点を有する。
前述の例によって説明すると、第1エメレントがベクト
ル・レジスタVROから選択され、対応するエレメント
がベクトル・レジスタVR15から選択されて前記のよ
うに加算される。第2エレメントも、ベクトル・レジス
タVRO及びVR15から選択され、前記のように加算
される。ベクトル・レジスタVRO及びVR15に記憶
されたバク1−ルの処理を完了するためには、128エ
レメントの各々がベクトル・レジスタVRO及びVR1
5から順次に選択され、加算されなければならない。そ
の結果、ベクトル・レジスタVRO及びV R15に記
憶されたベクトルの処理を完了するのに必要な時間は、
ベクトルごとのエレメント数と、ベクトルごとに対応す
るエレメントのセットを処理するのに必要なサイクル・
タイムとの関数である。ベクトル・プロセッサの性能は
、1セツトのベクトル・レジスタに記憶された一対のベ
クトルを処理するのに必要な時間を短縮させることによ
り改善することができる。
第1図には、本発明による代表的な並列ベクトル・プロ
セッサが示されている。第1図において、第2図のベク
トル・レジスタVRO〜VR15の各々は、複数のより
小さいレジスタ12aに再分割され、より小さいレジス
タ12aの各々には、例えば、4エレメントが含まれる
。対応する複数のエレメント・プロセッサ20は複数の
より小さいレジスタ12aに接続され、ベクトル・レジ
スタVRO−VR15に記憶されたベクトルの対応する
エレメントの(算術)演算処理を実行する。
一層具体的には、エレメント・プロセッサ20の各々は
前記ベクトルの対応する4エレメントの演算処理を実行
する。演算処理の結果は、各エレメント・プロセッサに
よって並列に(同時に)生成され、ベクトル・レジスタ
VRO−VR15のどれか1つの対応する場所に記憶す
ることができる。
プロセッサ・インターフェース・アダプタ(PIA)2
2はエレメント・プロセッサ20の各々に接続され、エ
レメント・プロセッサ20の各々にアドレス、データ、
及びコマンド情報を送る。エレメント・プロセッサ20
 (EPO−EP31)の各々とPIA22の実際の接
続は第3図に示されている。命令処理ユニット(IPU
)24はPIA22に接続され、ベクトル命令をPIA
22に送る。主記憶26はPIA22に接続され、PI
A22からの要求に応答してデータ情報及びアドレス制
御情報をPIA22に送る。
第3図には、エレメント・プロセッサ(EPO〜EP3
1)の各々とPIA22の実際の接続が示されている。
PIA22はEPO,EP8、EP、16、EP24に
接続されている。そして、EPOはEPI〜EP7に直
列に接続されている。
同様に、EP8はEP9〜EP15に、EP16はEP
17〜EP23に、EP24はEP25〜EP31に、
それぞれ直列に接続されている・第4図には、PIA2
2の構成が示されている。
PIA22には、IPU24に接続されたベクトル命令
レジスタ(VIR)22aが含まれ、これはIPU24
からのベクトル命令を受取るとともに、受取ったベクト
ル命令を一時的に記憶する。
ベクトル・データ・レジスタ(VDR)22bは、主記
憶26及びIPU24に接続され、主記憶26からのデ
ータを受取ってこれを一時的に記憶する。ベクトル・ス
テータス・レジスタ(VSR)22cは、主記憶26及
びIPU24に接続され、主記憶26からのアドレス制
御情報を受取ってこれを一時的に記憶する。ピコ(pi
co)制御記憶22dは、V I R22aに接続され
、V I R22aに記憶されたベクトル命令を復号す
るとともに、ピコ制御記憶22dに記憶されたピコ制御
ルーチンを選択する。コマンド・レジスタ22eは、ピ
コ制御記憶22dに接続されるとともに、コマンド・バ
スを介してエレメント・プロセッサ20に接続されて、
エレメント・プロセッサ20を駆動する。バス制御22
fは、VDR22bに接続され、VDR22bからのデ
ータを受取るとともに、データ・バスを介してエレメン
ト・プロセッサ20ヘデータを送る6また、バス制御2
2fは、1つのエレメント・プロセッサからのデータを
、もう1つのエレメント・プロセッサの指向することも
できる。V S R22cは、アドレス制御22hを介
してバス制御22gにも接続されている。アドレス制御
22hは、V S R22cから受取ったデータに対応
するアドレスを生成する。バス制御22gは、生成され
たアドレスを、アドレス・バスを介してエレメント・プ
ロセッサ20へ送る。
次に、第1図、第3図及び第4図を参照して第1図の並
列ベクトル・プロセッサの動作を説明する。
IPU24は、特定のデータをベクI〜ル・レジスタV
RO及びVR15にロードするように、PIA22に命
令する。IPU24はロード命令をPIA22に送る。
送られたロード命令はVIR22aに一時的に記憶され
る。ベクトル・レジスタV R,O及びVR15にロー
ドすべきデータは主記憶26に記憶されている。PIA
22がロード命令を受取る場合、PIA22は主記憶2
6から特定のデータを検索し、このデータをVDR22
bにロードする。ロード命令を出す前に、IPU24は
V S R22cへ7ドレス制御情報をロードしている
。その結果、アドレス制御22hによって特定のアドレ
ス情報が生成される。このアドレス情報は、データをロ
ードすべき選択されたエレメント・プロセッサ20のア
ドレス、及びデータを記憶すべき選択されたエレメント
・プロセッサ20に関連する選択されたエレメントのア
ドレスから成る。VIR22aに記憶されたロード命令
は、ピコ制御記憶22dによって復号される。これに応
じて、ロード命令に対応するピコ制御記憶22(l中の
コマンド情報が選択される。アドレス制御22hによっ
て生成されたアドレス情報に従って、VDR22bに記
憶されているデータはバス制御22f及びデータ・バス
を介して、選択されたエレメントプロセッサ20に送ら
れ、そこに記憶される。更に、アドレス制御22hによ
って生成されたアドレス情報に従って、ピコ制御記憶2
2dに記憶され、かつ復号されたロード命令によって選
択されたコマンド情報は、コマンド・レジスタ22e及
びコマンド・バスを介して、選択されたエレメント・プ
ロセッサ20に送られる。
選択されたコマンド情報に応じて、選択されたエレメン
トプロセッサ20に記憶されているデータは、より小さ
いレジスタ12aの選択されたエレメントにロードされ
、該選択されたエレメントはアドレス制御22hによっ
て生成されたアドレス情報によって識別される。
ここで、ベクトル・レジスタVRO及びVRI5の各々
に、128エレメントを有するベクトルが記憶されてい
るものと仮定する。1エレメントは4バイトの2進ワー
ドから成る。更に、ベクトル・レジスタVRO及びVR
15に記憶されたベクトルについて、 VRO+VR15−)VRI5 のベクトル算術演算が実行されるものと仮定する。
この場合、IPU24がPIA22に対し加算演算、す
なわちベクトル・レジスタVROに記憶されたベクトル
をベクトル・レジスタVR15に記憶されたベクトルに
加算し、その結果をベクトル・レジスタVR15に記憶
するように命令する。工PU24は、この加算命令をP
IA22に送る。
送られた加算命令はV I R22aに一時的に記憶さ
れる。この加算命令に従って、ピコ制御記憶22dに記
憶されている特定のコマンド情報が選択される。PIA
22が加算命令を受取ると、IPU24は、主記憶26
から特定のデータを検索する。このデータは、加算演算
が行なわれる、より小さいレジスタにあるエレメントの
アドレスと、加算演算を実行する選択されたエレメント
・プロセッサ20のアドレスとを表わす。その結果、ア
ドレス制御22hによってアドレス情報が生成される。
このアドレス情報はバス制御22g及びアドレス・バス
を介して、選択されたエレメント・プロセッサ20に送
られる。このアドレス情報に従って、ピコ制御記憶22
dから選択されたコマンド情報は、選択されたエレメン
ト・プロセッサ20に対し、ベクトル・レジスタVRO
及びVR15に対応する。より小さいレジスタ12aの
選択されたエレメントを検索するように指令する。
エレメントが検索されると、選択されたコマンド情報は
、選択されたエレメント・プロセッサ20に加算命令を
実行させる。例えば、ベクトル・レジスタVRO及びV
R15に記憶されたベクトルに関連するニレメン1−〇
〜3を、エレメント・プロセッサEPOが受取る。EP
Oは、対応するエレメントを加算し、選択されたコマン
ド情報に従って、この加算結果を、ベクトル・レジスタ
VR15の対応する場所に記憶する。すなわち、ベクト
ル・レジスタVROのエレメントOはベクトル・レジス
タVR15のエレメントOに加えられ、その和はベクト
ル・レジスタVR15のエレメント0の場所に記憶され
る。ベクトル・レジスタVRO及びVR15のエレメン
ト1.2及び3も同様に加算され、それらの和はベクト
ル・レジスタ■R15のエレメント1.2及び3の場所
に記憶される。ベクトル・レジスタVRO及びVR15
に関連するエレメント4.5.6及び7は、前述と同様
に、EPIによって処理される。これらのエレメントの
処理は、エレメントO11,2及び3の処理と同時に実
行される。ベクトル・レジスタVRO及びVR15に記
憶されているベクトルの残りのエレメントは、EP2〜
EP31によって、それぞれが4エレメントのグループ
で、前述のEPO及びEPIによるエレメントO〜3及
びエレメント4〜7の処理と同時に処理される。その結
果ベクトルVRO及びVR15に記憶されたベクトルに
ついて実行される前述のベクトル算術演算は、代表的な
従来のベクトル・プロセッサ・システムでベクトルの1
28エレメントを処理するのに要する時間に比較して、
ベクトルの4エレメントを処理するのに要する時間で完
了する。従って、本発明の並列ベクトル・プロセッサは
、従来のベクトル・プロセッサ・システムに比し明らか
にすぐれている。
第5図には、エレメント・プロセッサ20の構成が示さ
れている。第5図において1局所記憶12Bは、第1図
のベクトル・レジスタ12に類似している。システム・
バス11及びLlaは、一方の端がドライバ回路9に、
他方の端がレシーバ回路7に接続されている。第1の入
力データ・アセンブラ(ASM)13は、ドライバ回路
9及びレシーバ回路7に接続されている。ASMI 3
は更に、局所記憶12B及びエレメント・プロセッサ2
oに接続されている。第5図のエレメント・プロセッサ
20には、局所記憶12B及びASMI3に接続された
第2の入力データ・アセンブラ(ASM)20aが含ま
れている。シフト選択レジスタ20b及びフラッシュ選
択レジスタ20cはA S M 20 aに接続されて
いる。フラッシュ選択レジスタ20cは真数/補数(T
/C)ゲート20dに直結されているが、シフト選択レ
ジスタ20bは、プリシフタ制御2Ofを介して、もう
1つのT/Cゲート20eに接続されている。T/Cゲ
ート20d及び20eはそれぞれ、演算論理ユニット(
ALU)20gに接続されている。
ALU20gはポストシック制御20iを介して結果レ
ジスタ20hに接続され、結果レジスタ20hは局所記
憶12Bに接続されている。エレメント・レジスタ20
が、対応する一対のベクトル・レジスタ12に記憶され
た一対のベクトルの4エレメントの算術演算処理を完了
したとき、その結果は局所記憶12Bに記憶される。マ
ルチプライヤ回路(MPY)20jはASM20aとA
LU20gの間に相互接続されている。2つのオペラン
ドはM P Y 20 jが受取る。和出力及びキャリ
出力は、M P Y 20 jによって生成され、AL
U20gが受取る。
次に、第5図に関連してエレメント・プロセッサ20の
動作について説明する。
第5図に示されたエレメント・プロセッサ20の動作は
次の4つの演算サイクルに再分割することができる。第
1サイクルは局所記憶読取及びシフト選択サイクル、第
2サイクルは事前正規化シフト・サイクル、第3サイク
ルはALU演算サイクル、そして第4サイクルは事後正
規化シフト・サイクルである。
ここで、ベクトル・レジスタVRO及びVRI5のそれ
ぞれのエレメントが加算され、その加算結果がベクトル
・レジスタVROに記憶されるものと仮定すると、エレ
メント0〜3はシステム・バスllaのレシーバ回路7
に受取られ、ASM13を介して局所記憶12Bに記憶
される。局所記憶1.2 Bは、第1図に示された、ニ
レメンl−0〜3を記憶する最初のより小さいレジスタ
12aに類似している。更に、エレメント0〜3は浮動
小数点のエレメントのオペランドを表わすものと仮定す
る。
ベクトル・レジスタVROに記憶されたニレメン1−〇
〜3をベクトル・レジスタVR15に記憶されたエレメ
ントO〜3に加算するようにコマンドが出されると、第
1サイクルで、それぞれのエレメントのオペランドは、
局所記憶12.8から読取られ、AS20aを介してフ
ラッシュ選択レジスタ20c及びシフト選択レジスタ2
0bに一時的に記憶される。しかしながら、同時に、そ
れぞれのエレメントの指数は指数制御経路(図示せず)
に入り、そこで指数の大きさの相違が計算される。
従って、小さい方の指数を有するエレメントはシフト選
択レジスタ20bに送られるが、大きい方の指数を有す
るエレメントはフラッシュ選択レジスタ20cに送られ
る。レジスタ20c及び20bは第1サイクルの終りに
ラッチ・クロックによってラッチされる。
第2サイクルの初めに、シフト動作が開始される。フラ
ッシュ選択レジスタ20cに記憶された、大きい方の指
数を有するエレメントは、ALU20gの入力の1つに
送り込まわる。シフト制御情報は、指数制御経路(図示
せず)からプリシフタ制御2Ofに渡され、シフト選択
レジスタ20bに記憶された小さい方の指数を有するニ
レメン1−は、プリシフタ制御20fによって右シフト
され、A L U 20 gの入力の1つに現在送られ
ている大きい方の指数を有するエレメントに整合される
それに並行して、ALU20gはT/Cゲー1−20d
及び20eから適切な入力を選択し、それぞれT/Cゲ
ート20d及び20eを介して、フラッシュ及びシフト
選択レジスタ20c及び20bからエレメントを受取る
第5図のエレメント・プロセッサ20の第3サイクルは
A L U 20 gの演算に用いられる。ALUは、
1の補数の演算及び循環キャリならびに再補数化によっ
て設計された8バイトの桁上げ先見式高速加算器である
。ALUは加算動作を実行する。本例では、ベクトル・
レジスタVROに関連する、より小さいレジスタ12B
の1つに記憶されたエレメントO〜3の4ニレメンI−
のそれぞれのピッ1−が、ベクトル・レジスタ■R15
に関連する4エレメントのそれぞれのビットに加算され
る。加算結果は、最終的には(本例では、第1図に示さ
れたベクトル・レジスタVROに類似の)局所記憶12
Bに記憶される。しかしながら゛、このステップの前に
、第4サイクルの事後正規化シフ)〜・サイクルが行な
われなければならない。
ALU20gによって加算が完了すると、第4サイクル
で事後正規化シフトが行なわ九る。データ処理用語では
、「事後正規化シフト」は、ALUによって生じた結果
の先頭の16進デイジツト0を検出し、検出されたOデ
ィジットの数に従って前記結果を左シフトするステップ
を含む。シフトされた各ディジットごとに1の値だけ指
数を減少することにより、前記結果の指数が調整されな
ければならない。A L U 20 gの出力のディジ
ットのOの状態はポストシフタ制御20iによって検査
され、検出されたOディジット数に従って、ALU出力
の結果が左シフトされる。ALU出力の左シフトされた
結果は、一時記憶のため結果レジスタ20hに送られる
。指数制御経路(図示せず)は(ALUから出力された
)結果エレメントの指数値を増加または減少させ、それ
によって正しい最終的な指数値が結果レジスタ20hに
送られる。その結果、結果エレメントが結果レジスタ2
0hに記憶され、そのオペランドは、ALU出力で検出
された0デイジツ1−数に従って適切な量だけ左シフト
され、その指数は正しい最終的な指数値である。第4サ
イクルに続く次のサイクルの間に、結果エレメントは局
所記憶12Bに送られ、そこに記憶される(局所記憶は
、第1図の本例ではエレメントO〜3を記憶する、より
小さいレジスタ12aの1つに類似している)。
[発明の効果] 以上説明したように、ベクトル・プロセッサの性能は、
本発明の着想を利用することによって改善される。本発
明を実行するには回路数の増加を必要とするが、これは
VLSI技術を利用することにより、経済的にも妥当な
ものにすることができる。
【図面の簡単な説明】
第1図は本発明の代表的な並列ベクトル・プロセッサを
示す概要図、 第2図は従来のベクトル・プロセッサを示す概要図、 第3図は第1図のエレメント・プロセッサの各々とプロ
セッサ・インタフェース・アダプタ(PIA)との接続
様式を示す図、 第4図は第1図及び第3図のPIAの構成を示す図、 第5図は第1図及び第3図に示されたニレメン、ト・プ
ロセッサの詳細な構成を示す図である。 7・・・・レシーバ回路、9・・・・ドライバ回路、1
0・・・・パイプライン・ベクトル・プロセッサ、11
、lla・・・・システム・バス、12・・・・ベクト
ル・レジスタ、12a・・・・より小さいレジスタ、1
2B・・・・局所記憶、13・・・・ASM、14・・
・・セレクタ、16・・・・パイプライン処理ユニット
、18・・・・結果レジスタ、3o・・・・エレメント
・プロセッサ、20a・・・・AS−M、20b・・・
・シフト選択レジスタ、20c・・・・フラッシュ選択
レジスタ、20d、20e・・・・T/cゲート、2.
Of・・・・プリシフタ制御、20g・・・・ALU、
20h・・・・結果レジスタ、20i・・・・ボストシ
フタ制御、20j・・・・MPY、20p・・・・選択
ゲート、22−・・−P I A、2’2a・=・VI
R,22b”・・VDR122c・・・・VSR122
d・・・・ピコ制御記憶、22e°・°・コマンド・レ
ジスタ、22f、22g・・・・バス制御、22h・・
・・アドレス制御、24・・・・IPU、26・・・・
主記憶。 主記憶装置1\ら FIG、 2 エレメント・プロセツサへ

Claims (1)

  1. 【特許請求の範囲】 下記構成要件(イ)及び(ロ)を有する、第1ベクトル
    及び第2ベクトルを算術演算してその演算結果を記憶す
    るための並列ベクトル・プロセッサ。 (イ) M個(但し、Mは正の整数)のエレメントから
    成るバク1ヘルをそれぞれ記憶するための複数のベクト
    ル・レジスタ装置。該ベクトル・レジスタ装置の各々は
    比較的小さい複数のレジスタへそれぞれ分割され、該レ
    ジスタの各々はN個(但し、NはMより小さい正の整数
    )のエレメントをそれぞれ記憶するように構成されてい
    る。 (ロ)前記複数のレジスタに対応して設けられ且つ該対
    応するレジスタへそれぞれ接続された複数のプロセッサ
    。該プロセッサはこれに対応する前記レジスタに記憶さ
    れたエレメントを受取り、該エレメントの算術演算を行
    なうとともに、その演算結果を対応するレジスタを含む
    前記ベクトル・レジスタ装置に記憶するように構成され
    ている。
JP59078783A 1983-09-09 1984-04-20 並列ベクトル・プロセツサ Pending JPS6061864A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US530842 1983-09-09
US06/530,842 US4967343A (en) 1983-05-18 1983-09-09 Pipelined parallel vector processor including parallel configured element processors for processing vector elements in parallel fashion

Publications (1)

Publication Number Publication Date
JPS6061864A true JPS6061864A (ja) 1985-04-09

Family

ID=24115203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59078783A Pending JPS6061864A (ja) 1983-09-09 1984-04-20 並列ベクトル・プロセツサ

Country Status (4)

Country Link
US (1) US4967343A (ja)
EP (1) EP0135721B1 (ja)
JP (1) JPS6061864A (ja)
DE (1) DE3485771T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62152071A (ja) * 1985-12-25 1987-07-07 Nec Corp デ−タ処理装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6083176A (ja) * 1983-10-03 1985-05-11 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション ベクトルプロセツサ
US4648045A (en) * 1984-05-23 1987-03-03 The Board Of Trustees Of The Leland Standford Jr. University High speed memory and processor system for raster display
JPH0731669B2 (ja) * 1986-04-04 1995-04-10 株式会社日立製作所 ベクトル・プロセツサ
US4868739A (en) * 1986-05-05 1989-09-19 International Business Machines Corporation Fixed clock rate vector processor having exclusive time cycle control programmable into each microword
JP2806524B2 (ja) * 1988-03-04 1998-09-30 日本電気株式会社 ベクトル演算命令発行制御方法
WO1991010954A1 (en) * 1990-01-19 1991-07-25 Alliant Computer Systems Corporation A risc vectorization system
CA2045773A1 (en) * 1990-06-29 1991-12-30 Compaq Computer Corporation Byte-compare operation for high-performance processor
JP2532300B2 (ja) * 1990-10-17 1996-09-11 三菱電機株式会社 並列処理装置における命令供給装置
JP3237858B2 (ja) * 1991-01-30 2001-12-10 沖電気工業株式会社 演算装置
EP0498067A2 (en) * 1991-02-08 1992-08-12 International Business Machines Corporation Microcode generation for a scalable compound instruction set machine
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
US5423051A (en) * 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
US5473557A (en) * 1994-06-09 1995-12-05 Motorola, Inc. Complex arithmetic processor and method
US6205538B1 (en) * 1994-08-24 2001-03-20 Sun Microsystems, Inc. Instruction result labeling in a counterflow pipeline processor
GB2540940B (en) * 2015-07-31 2018-01-03 Advanced Risc Mach Ltd An apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58149555A (ja) * 1982-02-27 1983-09-05 Fujitsu Ltd 並列処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041461A (en) * 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
US4171536A (en) * 1976-05-03 1979-10-16 International Business Machines Corporation Microprocessor system
US4179734A (en) * 1976-07-02 1979-12-18 Floating Point Systems, Inc. Floating point data processor having fast access memory means
US4101960A (en) * 1977-03-29 1978-07-18 Burroughs Corporation Scientific processor
US4287566A (en) * 1979-09-28 1981-09-01 Culler-Harrison Inc. Array processor with parallel operations per instruction
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57209570A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Vector processing device
JPS58114274A (ja) * 1981-12-28 1983-07-07 Hitachi Ltd デ−タ処理装置
JPS59111569A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd ベクトル処理装置
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58149555A (ja) * 1982-02-27 1983-09-05 Fujitsu Ltd 並列処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62152071A (ja) * 1985-12-25 1987-07-07 Nec Corp デ−タ処理装置
JPH0514302B2 (ja) * 1985-12-25 1993-02-24 Nippon Electric Co

Also Published As

Publication number Publication date
EP0135721A2 (en) 1985-04-03
EP0135721A3 (en) 1988-01-20
EP0135721B1 (en) 1992-06-17
DE3485771T2 (de) 1993-02-04
US4967343A (en) 1990-10-30
DE3485771D1 (de) 1992-07-23

Similar Documents

Publication Publication Date Title
US4488252A (en) Floating point addition architecture
US5542074A (en) Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount
EP0053457B1 (en) Data processing apparatus
US4862407A (en) Digital signal processing apparatus
US4740893A (en) Method for reducing the time for switching between programs
EP0467152B1 (en) Microprocessor capable of decoding two instructions in parallel
JPS6061864A (ja) 並列ベクトル・プロセツサ
US4367524A (en) Microinstruction execution unit for use in a microprocessor
US4888682A (en) Parallel vector processor using multiple dedicated processors and vector registers divided into smaller registers
US4884190A (en) High performance parallel vector processor having a modified vector register/element processor configuration
JPS6351287B2 (ja)
EP0201833B1 (en) Instruction processor
JPH06242953A (ja) データ・プロセッサ
US4773035A (en) Pipelined data processing system utilizing ideal floating point execution condition detection
US4794518A (en) Pipeline control system for an execution section of a pipeline computer with multiple selectable control registers in an address control stage
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
EP0346031B1 (en) Vector data processing apparatus
US5754875A (en) Computer system with double width data bus
US5923574A (en) Optimized, combined leading zeros counter and shifter
US5546551A (en) Method and circuitry for saving and restoring status information in a pipelined computer
JPS5829538B2 (ja) 浮動小数点演算装置
EP0136538B1 (en) Inter-element processor in a high performance parallel vector processor
EP0936537A1 (en) Cyclic redundancy check in a computer system
US4441153A (en) Instruction register content modification using plural input gates and a data flow register
EP0314342B1 (en) Parallel pipelined computer processor