JPS60120472A - 多重ル−プのベクトル処理方式 - Google Patents

多重ル−プのベクトル処理方式

Info

Publication number
JPS60120472A
JPS60120472A JP22797583A JP22797583A JPS60120472A JP S60120472 A JPS60120472 A JP S60120472A JP 22797583 A JP22797583 A JP 22797583A JP 22797583 A JP22797583 A JP 22797583A JP S60120472 A JPS60120472 A JP S60120472A
Authority
JP
Japan
Prior art keywords
pipeline
instruction
vector
instructions
processing
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
JP22797583A
Other languages
English (en)
Other versions
JPH0316666B2 (ja
Inventor
Masaki Aoki
正樹 青木
Toshihiro Hirabayashi
平林 俊弘
Morie Sagawa
佐川 守江
Shinya Miura
信也 三浦
Kazuhiko Suzuki
一彦 鈴木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22797583A priority Critical patent/JPS60120472A/ja
Publication of JPS60120472A publication Critical patent/JPS60120472A/ja
Publication of JPH0316666B2 publication Critical patent/JPH0316666B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、ベクトル処理装置をそなえた計算機において
、ループ処理をベクトル命令化して実行する処理方式に
関し、特に、多重ループ処理の場合にベクトル命令の並
行処理率を向上させるベクトル処理方式に関する。
〔技術の背景〕
たとえば行列演算や図形処理では、多数のデータに同一
処理を繰シ返して実行するループ処理が中心となり、こ
のような場合、ベクトル処理装置を利用することによっ
て、処理の高速化を図ることができる。このため、ソー
ス中のループ処理をベクトル命令に変換するためには特
別のコン・ぞイブが使用される。しかし、従来のこの稲
のコンパイラでは、多重ループの場合に、外側のループ
で前後の処理に同じメモリ領域へのアクセスが行なわれ
るとき、内側のループのみをベクトル命令化し、外側の
ループは逐次化処理を行なっていた。
たとえば1次のような2重ループ処理 Do IOJ = l、 L DOloi = l、 N A(i、J+1)=A(i、J)十B(L、J)lOC
ONTLNUE はl J=1. 2t ・・・、Lで変化する外側のル
ープのそれぞれに対して、1==1.2.・・・、Nの
内側のループを計算するものであり、コンパイラのベク
トル命令化処理フェーズで。
Do 10J=−1,L A(茜、J+1)=A(舛、J)+B(≠、J)1o 
coNTiNua のように変換される。式中のに印は、ベクトル処理を表
わしている。しかし、左辺のAと右辺のAとは、Jの回
転において、同一メモリ領域をアクセスすることになる
ため、すなわち任意のJでストアしたメモリ領域のAを
9次のJの値でロードしなければならないため9次に、
コンパイラの最適化処理フェーズで、Jの各々の処理の
間の並行処理を禁止し、逐次化する操作が行なわれる。
このようにして9次のようなオブジェクトが生成される
(1) VLVL GR。
(2)α VPT (3) VWT (4) VL VRl、 A(+、1 )(5) VL
 V1’t2. B(+、1)(6) VADD VB
2. VRl、VB2(力 VST VB2. A、(
−X、2)(8) VPT (9) VWT Ql) BCT α (1)はベクトル長の設定を表わし、まだ(4)はメモ
リ領域AのJ=1のベクトルデータをベクトルレジスタ
VRIにロードすること、(5)はメモリ領域BのJ=
1のベクトルデータをベクトルレジスタVR2にロード
すること、(6)は上記VR1とVB2のベクトルデー
タをベクトル加算して、結果をベクトルレジスタVR3
に格納すること、(7)はVB2のベクトルデータをメ
モリ領域AKJ=2のベクトルデータとしてストアする
ことをそれぞれ表わしている。
またQ[)はループを表わす。
そして、 (2) 、 (3) 、 (8) 、 (9
)はそれぞれ逐次化のだめの命令であり、ベクトルポス
ト(vECTORPO8T)命令VPTとベクトルウェ
イト(vEcToRWA I T )命令VWTとが使
用される。この2種類の命令を用いて、ベクトルポスト
命令VPTよシ以前の処理が終了するまでベクトルウェ
イト命令VWTの後の処理の開始を待たせることができ
る。
第1図は上記したオブジェクトをベクトル処理装置で実
行した場合のパイプライン動作のタイミング図であJ)
 S J =l l 2までの処理を示したものである
。図示のようにJ=lとJ=2の処理とは、逐次化命令
VPTおよびVWTにょシ逐次化されている。
しかし、ベクトル処理装置に、ベクトルレジスタとメモ
リ間でのストア、ロードを実行するアクセスパイプライ
ンが複数本設けられている場合には、たとえば第1図に
おいて、J=1の“A (’ *2)へのストア1とJ
=2の°B(誉、2)のロード″とは並行処理が可能で
あシ、またJ=20“A(芹、2)のロード″もJ=1
の“A(誉、2)へのストア″に続けて処理することが
可能である。
このように、従来のベクトル処理方式では、多重ループ
の場合、内側ループの上端、下端にある命令の並列処理
が可能であっても考慮されることがなく、また、各ルー
プごとにVPT、VWT の命令実行が必要となるため
、処理効率が上らないという問題があった。
〔発明の目的および構成〕
本発明の目的は、多重ループのベクトル命令化処理にお
いて、逐次化不要のスカラ命令あるいはベクトル命令が
ある場合には逐次化命令で逐次化せず、対象命令ごとに
逐次化あるいは並行化できるようにする手段を提供する
ことにある。
本発明の構成はそれにより、ベクトル処理装置を有する
計算機において、実行すべきパイプラインを指定するパ
イプライン識別子を有するベクトル命令手段と、ベクト
ル命令実行時に上記・ぞイブライン識別子を復号化して
実行すべきパイプラインを選択する制御手段とをそなえ
、多重ループ処理においてベクトル命令同士の逐次化が
必要な場合に、それら各ベクトル命令のパイプライン識
別子に同一パイブラインの識別コードを設定することを
特徴としている。
〔発明の実施例〕
以下に9本発明の詳細を実施例にしたがって説明する。
第2図は9本発明の1実施例であるデータ処理装置の構
成図である。図中、1はメモリ、2はベクトル処理部、
3はスカラー演算部、4は命令制御部、5はアクセスパ
イプラインA、6はアクセスノぞイブラインB、7はベ
クトルレジスタ、8は演算パイプラインA′、9は演算
ノセイブラインB′を示すO 各ノゼイプラインは識別子A、Bをもち、ベクトル命令
は、これらの識別子を指定して、実行すべきパイプライ
ンを選択することができる。これによシ、たとえば相続
く2つのベクトル命令が並行処理を禁じられるべき場合
9両命令で同一パイブラインの識別コードを指定してお
くことによシ。
先行命令の実行が終了するまで後行命令の実行開始は不
可能となシ、自動的に逐次化処理を行なわせることがで
きる。
第3図は、命令制御部4における命令デコーダの一部を
示したもので、10は命令レジスタ。
11は識別子、12はデコーダを示す。上記したパイプ
ライン識別子11は命令フィールドの一部に設定されて
いる。命令制御部4は、この識別子のコードをデコーダ
により復号化して、パイプライン指定の有無、および指
定されたパイプラインを識別し、それにしたがってパイ
プラインの選択制御を行なう。
第4図は1本発明方式を使用する場合のコンノイブの最
適化処理フェーズを示したものである。
■ まず、外側ループから見て、ループ内の命令間での
オはランドの引用関係を把掴する。
■ 外側ループ内の逐次化が不要な場合、すなわち、内
側ループ両端にある命令が同一のメモリ領域を使用しな
い場合には並行処理が可能であるから、不要な逐次化命
令VPT、 VVVT をループの外側へ移す■。
■ 外側ループ内の逐次化が必要である場合には。
さらにベクトル命令同土間での逐次化が必要なのか、ス
カラー命令とベクトル命令との間での逐次化が必要なの
かを調べる。
■ スカラー命令とベクトル命令間での逐次化処理の場
合には、ループ内で逐次化を行なう。すなわち逐次化命
令VPT、VWT はそのまま使用する。
■ ベクトル命令間での逐次化処理の場合には。
関連する各ベクトルと命令のパイプライン識別子を、適
当な同一のパイプラインを指定する値に設定する。
■ 逐次化命令は不要となったので、ループから外へ移
す。
以上のようにして、逐次化命令の使用は、必要最小限に
抑えることができる。
第5図は、第1図に示した従来方式によるループ処理の
例に本発明方式を適用した場合のタイミング図である。
図中、矢印はパイプライン識別子による制御を示す。第
1図の場合と異なシ、逐次化命令VPT、VWTは使用
されず、それにょシ@B(誉、2)のロード″、゛A(
舛、2)のロード”および“A(誉、3)へのストア1
の実行を早めることができる。なお、上述した例は2重
ループ処理に関するものであるが、多重ループの任意の
レベルに適用できることはいうまでもない。
〔発明の効果〕
以上のように1本発明によれば、従来の多重ループのベ
クトルにおいて画一的な逐次化が行なわれていたものを
、ループ内での命令間のメモリアクセス関係の競合を把
掴して、必要に応じて命令ごとに個々に対処することに
より、並行処理の割合いを増加させることができ、処理
の高速化を図ることができる。
【図面の簡単な説明】
第1図は、従来のループのベクトル命令化処理における
パイプラインのタイミング図、第2図は本発明の1実施
例装置の構成図、第3図は命令デコーダの一部の説明図
、第4図はコンパイラの最適化処理フェーズの手順説明
図、第5図は本発明実施例におけるループのベクトル命
令化処理のパイブラインのタイミング図である。 図中、1はメモリ、2はベクトル処理部、3はスカラー
演算部、4は命令制御部、5,6はそれぞれアクセスパ
イプラインA、B、γはベクトルレジスタ、8,9はそ
れぞれ演算パイプラインA’HB’、10は命令レジス
タ、11はパイプライン識別子、12はデコーダを示す
。 特許出願人 富士通株式会社 代理人弁理士 長谷用 文 廣(外1名)1 嘉 ↓ 第 5 図 第 4 図

Claims (1)

    【特許請求の範囲】
  1. ベクトル処理装置を有する計算機において、実行すべき
    パイプラインを指定するーぐイブライン識別子を有する
    ベクトル命令手段と、ベクトル命令実行時に上記パイプ
    ライン識別子を復号化して実行すべきパイプラインを選
    択する制御手段とをそなえ、多重ループ処理においてベ
    クトル処理装置の逐次化が必要な場合に、それら各ベク
    トル命令のパイプライン識別子に同一パイブラインの識
    別コードを設定することを特徴とする多重ループのベク
    トル処理方式。
JP22797583A 1983-12-02 1983-12-02 多重ル−プのベクトル処理方式 Granted JPS60120472A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22797583A JPS60120472A (ja) 1983-12-02 1983-12-02 多重ル−プのベクトル処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22797583A JPS60120472A (ja) 1983-12-02 1983-12-02 多重ル−プのベクトル処理方式

Publications (2)

Publication Number Publication Date
JPS60120472A true JPS60120472A (ja) 1985-06-27
JPH0316666B2 JPH0316666B2 (ja) 1991-03-06

Family

ID=16869189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22797583A Granted JPS60120472A (ja) 1983-12-02 1983-12-02 多重ル−プのベクトル処理方式

Country Status (1)

Country Link
JP (1) JPS60120472A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01102644A (ja) * 1987-09-30 1989-04-20 Internatl Business Mach Corp <Ibm> パイプライン式処理装置
JPH0632630U (ja) * 1992-10-08 1994-04-28 喜助 橋本 コンクリート製塀ブロック体

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57109084A (en) * 1980-12-26 1982-07-07 Fujitsu Ltd Schedule system for instruction in parallel computer having plural operating devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57109084A (en) * 1980-12-26 1982-07-07 Fujitsu Ltd Schedule system for instruction in parallel computer having plural operating devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01102644A (ja) * 1987-09-30 1989-04-20 Internatl Business Mach Corp <Ibm> パイプライン式処理装置
JPH0632630U (ja) * 1992-10-08 1994-04-28 喜助 橋本 コンクリート製塀ブロック体

Also Published As

Publication number Publication date
JPH0316666B2 (ja) 1991-03-06

Similar Documents

Publication Publication Date Title
US5499350A (en) Vector data processing system with instruction synchronization
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US10395381B2 (en) Method to compute sliding window block sum using instruction based selective horizontal addition in vector processor
US20020078320A1 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
US12386623B2 (en) Conditional execution specification of instructions using conditional extension slots in the same execute packet in a VLIW processor
JPH0337723A (ja) 情報処理装置
JPS62159268A (ja) マルチプロセツサシステム
US4734877A (en) Vector processing system
JPS60120472A (ja) 多重ル−プのベクトル処理方式
US9424230B2 (en) Converting a data placement between memory banks and an array processing section
US4933839A (en) Vector processor
US4969117A (en) Chaining and hazard apparatus and method
CN114968369A (zh) 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法
JP2928684B2 (ja) Vliw型演算処理装置
US7272700B1 (en) Methods and apparatus for indirect compound VLIW execution using operand address mapping techniques
US7149881B2 (en) Method and apparatus for improving dispersal performance in a processor through the use of no-op ports
JPS57109084A (en) Schedule system for instruction in parallel computer having plural operating devices
JPS60144830A (ja) 情報処理装置
JPH01271840A (ja) マイクロコンピュータ
JPH0279122A (ja) 浮動小数点演算機構
JPS61100862A (ja) 命令の逐次化方式
JPS63138427A (ja) 配列に対する命令のスケジユ−リング処理方式
JPH02236775A (ja) コンパイル装置
JPS62120541A (ja) 命令制御方式
JPS60250476A (ja) 処理装置