JPH01260573A - ベクトル多重演算方式 - Google Patents

ベクトル多重演算方式

Info

Publication number
JPH01260573A
JPH01260573A JP8949488A JP8949488A JPH01260573A JP H01260573 A JPH01260573 A JP H01260573A JP 8949488 A JP8949488 A JP 8949488A JP 8949488 A JP8949488 A JP 8949488A JP H01260573 A JPH01260573 A JP H01260573A
Authority
JP
Japan
Prior art keywords
vector
arithmetic
instruction
processing
pipeline
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
JP8949488A
Other languages
English (en)
Inventor
Hideaki Fujimaki
藤巻 秀明
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 JP8949488A priority Critical patent/JPH01260573A/ja
Publication of JPH01260573A publication Critical patent/JPH01260573A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 パイプライン方式のベクトル演算処理装置におけるベク
トル多重演算方式に関し、 MIMD (多重命令、多重デークストリーム)方式で
動作するベクトル演算処理装置における、ヘクI・ル演
算パイプラインの稼働率を向上させ、ベクトル演算処理
装置のスループソ1へを向上させることを目的とし、 互いに独立な複数個のベクトル演算命令をニレメン1−
単位に分割し、複数個のベクトル処理パイプラインに分
配して処理する手段を設けて、それぞれのベクトル処理
パイプラインで、該互いに独立な複数個のベクトル演算
命令をエレメント単位に処理するように構成する。
〔産業上の利用分野〕
本発明は、パイプライン方式のバク1−ル演算処理装置
におけるベクトル多重演算方式に関する。
近年、所謂スーパーコンピュータにおいて、処理能力を
向上させる為に、1つのベクトル命令に対して、複数個
の演算パイプラインを用いて並列に動作させる並列処理
方式が採られ始めている。
然し、1つのベクトル命令に対して、複数個の演算パイ
プラインで実行する現状においては、該演算パイプライ
ンがデータ待ちにより処理の途中で該演算を中断して該
演算パイプラインが空いている場合でも、該演算パイプ
ラインは、該ベクトル命令に長時間専有されてしまい、
負荷の分散か必ずしも均等にならず、該複数個の演算バ
イプラ・インが十分に生かされない事象が生じるという
問題があり、該複数個の演算パイプラインを十分生かす
ことができるベクI・ル多重演算方式が必要とされる。
〔従来の技術と発明か解決しようとする課題〕第3図は
従来のベクトル多重演算方弐を説明する図である。
従来からMIMD (多重命令、多重データストリーム
)方式によるベクトル演算処理方式が知られている。
本図に示したように、命令1と命令2とを同時に処理す
る場合、従来においては、例えば、演算パイプラインA
とB4を命令1に割り当て、演算パイプラインC4を命
令2に割り当てて、並列に処理していた。
このように、演算パ・イブライン4をある・・・りトル
命令に割り当ててしまうと、その命令が終了する迄、該
割り当てられた演算パイプライン4はその命令に専有さ
れてしまい、例えば、データネ・ツクによって、該演算
パイプライン4が空いた状態となっても、他のベクトル
命令の処理を実行することができなかった。
本図の例では、命令1の入力データの供給ネ・ツクによ
り演算パイプラインA、B4がアイドル状態となってい
ても、命令2の処理を実行することができず、命令2ば
、他の演算パイプライン(A、B)4が空いているにも
かかわらず、演算パイプラインC4のみで処理をしなり
ればならなかった。
本発明は」1記従来の欠点に鑑み、MTMD方代による
ベクトル多重演算方式において、ある演算パイプライン
が空いている場合には、該空きの演算パイプラインを他
のベクトル命令に渡して処理を実行させる方式を提供す
ることを目的とするものである。
〔課題を解決するための手段〕
第1図は本発明の−、クトル多重演算方式の原理構成を
説明する図てるあ。
上記の問題点は下記の如くに構成されたベクトル多重演
算方式によって解決される。
パイプライン方式のベクトル演算処理装置において、 互いに独立な複数個のベクトル演算命令をエレメント単
位に分割し、複数個のへり1−ル処理パイプライン4に
分配して処理する手段2,3を設けて、それぞれのベク
トル処理パイプライン4て、該互いに独立な複数個のベ
クトル演算命令をエレメント単位に処理するように構成
する。
〔作用〕
即ち、本発明によれば、ベクトル多重演算方式において
、複数個の演算パイプラインを各ベクトル命令に割り付
けないで、同時に実行中の全命令でシェアして使用する
ようにする。
即ち、第1図(a)の構成図で示したように、該複数個
の演算パイプラインは、エレメント単位で、どの命令の
演算でも実行できるようにする。その為、該複数個の演
算パイプラインには、各エレメントデータと共に、該エ
レメントに対応する命令の種別(オーダ)が送出され、
各演算パイプラインでは、該エレメントに対応する命令
レー・ルのオペレーションには全く関知せず、ニレメン
l□ −Qi 位の処理を実行する。
第1図(b)に示した動作タイムチャー1−の例では、
始め、演算パイプラインA、B4で命令■を、演算パイ
プラインC4て命令■を処理していたが、第2番目の演
算サイクルにおいて命令■がデータネックとなったとき
、次の演算サイクルでは演算パイプラインA、B、C4
で命令■を実行し、命令■の上記データネックが第4番
目の演算サイクルで解消されたときには、再び演算パイ
プラインA、Bを命令■に割り付けるように動作する。
従って、データネック等による演算バイプライ−〇− ンの空き時間を、他の命令の処理に動的に切り替えるよ
うにしたものであるので、演算パイプラインの稼働率が
向上し、ベクトル演算処理装置のスループソl−が向上
する効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
前述の第1図が本発明のベクトル多重演算方式の原理を
説明する図であって、(a)は構成例を示し、(tl)
は動作タイムチャー1・を示しており、第2図は本発明
の一実施例を示した図であって、(a)は全体の構成例
を示し、(b)ば命令処理ユニットの具体構成の例を示
しており、それぞれ、1つの・\りトル命令を受り取っ
た複数個の命令処理ユニット2か、該ベクトル演算処理
をエレメント単位に分割し、その時に空いている演算パ
イプ制御(#0〜)3に分配し、該エレメントをオーダ
と共に受り取った演算パイプ制御(#0〜)3が、該ニ
レメン]・の単位で処理を行い、演算が終了すると、次
のニレメン1〜を待つことを繰り返して複数個のべりト
ル命令の処理を、複数個の演算パイプラインがエレメン
ト単位に並列に実行する手段が本発明を実施するのに必
要な手段である。尚、全図を通して同じ符号は同じ対象
物を示している。
以下、第1図の原理構成を参照しながら第2図によって
、本発明のムク1−ル多重演算方式を説明する。
先ず、第2図(a)によって、全体的な動作を説明する
図示していない、例えば、スカラユニットから複数個の
リクエストアクセプタ(II帆11L −−、l1n)
 1で受は取ったベクトル命令は、各リクエストアクセ
プタ(no、Ill、 −−、#n) ]により、その
時空いている任意の命令処理ユニット(+10.Ill
、−、#k) 2に送出される。
該命令処理ユニソ1−(110,Ill、−,1k) 
2においては、各々1個だけの・\りトル命令を制御す
る。従って、該命令処理ユニソl−2は同時に、並列実
行が可能な命令数の数だけ用意する。
各命令処理ユニット(#0.IIL−、1lk) 2は
、その時空いている任意の演算パイプ制御(#帆III
、−、#1)3に対して、処理対象ニレメン1−情報(
アドレス)、処理内容のオーダをエレメント毎に指示し
、該ベクトル命令の処理を行う。
そして、その命令の全てのエレメントの演算の実行が完
了すると、該命令処理ユニッi〜2は空き状態となり、
次のベクトル命令を待つように機能する。
一方、演算パイプライン(A、B、C,−)4は、演算
パイプ制御(110,Ill、−、、■)3からの指示
に従って、上記複数個の命令処理ユニッl−(110,
11,−−−、Itk) 2のうちの1つから、処理対
象、処理内容のオーダを受け、データ格納装置(例えば
、ベクトルレジスタ(VR)+5からベクトルデータを
読み出し、演算を施して、演算結果を再び該データ格納
装置5に格納する。
1つのエレメントの処理が完了すると、再び、任意の命
令処理ユニット2から次のオーダを受は取るように機能
する。
次に、(、b)図の具体例によって、ベクトル処理−9
= ユニット2での動作を更に詳細に説明する。
通常、複数個(例えば、2個)の図示していないスカラ
ユニソトからのリタコニストを1つのベクトルユニット
(VU)が受付る。そして、該へクトルユニソ1−(V
U)は各スカラユニソト毎のベクトルレジスタ(VR)
を独立に持っている。該へクトルユニソト(VU)のリ
クエストアクセプタ(110,1) 1は、」二記スカ
ラユニソト1個に対して1個存在しており、該スカラユ
ニソトからリフニス1−を受は取ったリクエストアクセ
プタ(110,1) 1はそのリクエストの内容(命令
コーlハオペランドVllアドレス1ベクトルー1(V
L)、スカラユニットID)を、空いている命令処理ユ
ニット2に対して送出する。
該命令処理ユニット2ば、当該ハク1−ルユニソト(V
U)で並列処理の可能な命令数の数だけ存在し、演算パ
イプライン4の数を越えることはない。そして、該命令
処理ユニット2は同時に1個だけ」1記ベクトル命令を
処理することが可能であり、1つのベクトル命令を受イ
」るとビジーとなり、そのベクトル命令の処理を完了す
る迄、次のへクトル命令を受何ない。
第2図(b)において、OPコート21には上記命令ロ
ー 1・が設定され、レジスタ(R2) 22.レジス
タ(R3) 23 にば、演算元オペランドのベクトル
レシスタ(VR)のアドレスが、レジスタ(R1−) 
24には演算結果オペランドのヘクI−ルレシスタ(V
R)のアドレスが、レジスタ(R4) 25 Qこはマ
スクレジスタ団R)のアドレスが、それぞれ設定され、
レジスタ(VL) 26にはベクトル長(VL)が設定
される。
そして、オペレーションアザインコン1〜ロール27に
おいて、空いている演算パイプ制御(no、#]、。
−−、tli) 3を、対応するBUSY 110.、
−信号が“オフ゛であることで検出し、対応する演算パ
イプ制御010.Ill−、−、Iti) 3からのア
クセプタンス信号(ACPT)(#O,ll]、−−、
tti)を受信したことて、該空き演算パイプ制御(1
10,ltl、−,1li) 3が獲得てきたことをJ
2熾し、上記レジスタ(R1,) 22〜(I14) 
24からn+n+1.+ ”−”、n+:3の4ニレメ
ンI・のアドレスとインデックスを出力する。
そし”て、言亥演算バイブ市11f卸(110,11,
−、l1i) 3で受イ・1られたエレメント数だけ、
カウンタ(+m) 28をインクリメンI〜する。
即ぢ、各命令処理ユニット(llO,Ill  −,1
lk) 2は、獲得した演算パイプ制御(lto、Il
l、 −=−,1li) 3に対して、ハク1−ル命令
をニレメン1−毎に分解し、各コニレメント毎に1つの
リクエストーダーダとして、−I―記演算コ−F、オペ
ランドVR7+’レス、及びインデックス、スカラユニ
ソ1−IDを送出する。演算バイツブ匍背卸(書to、
l11.−.l1i) 3は該リクエストオーダに基づ
いて、該指定された1エレメントに対する演算を実行し
、指定されたヘクI・ルレジスタ(VR)に演算結果を
格納し、次のリフニスI・オーダを待つ。
このよ・うにして、該演算パイプ制御(IO,Ill、
、 −,1li) 3は−\りトル命令し・\ルのオペ
レーションには全く関知せず、各命令処理ユニット(1
10,Ill、 −=−,1lk) 2からのエレメン
ト単位のオーダを受動的に受信して、倍演算ナイクル毎
に、各ニレノンI・単位の演算を実行する。
このエレメント単位のベクトル演算処理で発生ずるオペ
ランドのコンフリクション等は、各命令処理ユニンh 
(110,Ill、、、−,1lk) 2内の上記オペ
レーションアザインコントロール27において、各命令
処理ユニット間の通信を行・うことで検11費ッ、その
インクロックは該命令処理ユニット(#O,#1.−.
1lk) 2からオーダを発行しないことにより行う。
」二記の如き動作によって、第2図(a)に示されてい
る各命令処理ユニソh (#0.月、−、l1k) 2
からのニレメンI・単位の処理要求が、該複数個の演算
パイプ制御(#0.#1.−、1fi) 3に動的に切
り替えられて受付られ実行されることになる。
ごのときの該演算パイプ制御(lto、Ill、−、#
i) 3での受付方法では、例えば、該命令処理ユニッ
ト(110,111,−,1lk) 2カ)らの」二記
オペレーションアザインコントロール27て生成したプ
ライオリティ信号に基づいて、演算パイプ制御(#0.
#L−、1li)3が、上記アクセプタンス信号(八C
PT) (#帆tlL −5#1)の返送を制御するこ
とにより、自動的に、特定の優先順序を付けることがで
きる。
」二記プライオリティ信号は、各命令処理ユニソ1−2
ノに記オペレーションアザインコントローlし27にお
いて、例えば、待たされた時間を計数しておいて、該待
ち時間が多くなると、自己の優先順位を上げる等の方法
によって任意の優先順位信号を生成することができる。
このように、本発明は、パイプライン方式のベクトル演
算処理方式において、ベクトルユニソ1〜(VU)内に
設けられている複数個の命令処理ユニットにおいて、互
いに独立な複数個のベクトル演算命令を1つ宛受付け、
エレメント単位の処理に分割して、複数個の演算パイプ
制御ユニソI・の中の空きユニソt−に送出してエレメ
ント単位で処理させることにより、複数個の各演算パイ
プラインで、該複数個のベクトル命令をニレメン1−単
位に処理するようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のベクトル多重演
算方式は、パイプライン方式のハク1〜ル演算処理装置
にお&Jるベクトル多重演算方式において、互いに独立
な複数個のベクトル演算命令をニレノンl−単位に分割
し、複数個のベクトル処理パイプラインに分配して処理
する手段を設けて、それぞれのベクトル処理パイプライ
ンで、該互いに独立な複数個のムク1−ル演算命令をエ
レメント単位に処理するようにしたものであるので、あ
るベクトル命令を実行中にデータネック等によるある演
算パイプラインの空き時間を他のベクトル命令の処理に
用いることができ、該演算パイプラインの稼働率が向上
し、・\クトル演算処理装置のスループソI・が向上す
る効果がある。
【図面の簡単な説明】
第1図が本発明のへりトル多重演算方式の原理構成を説
明する図。 第2図は本発明の一実施例を示した図。 第3図は従来のへりトル多重演算方式を説明する図。 である。 図面において、 1はリクエストアクセプタ(lto、Ill、−、#n
)。 2ば命令処理ユニット(#帆#1.−. #k) 。 21はOPコード。 22〜26はレジスタ(ill、 −R4,VL) 。 27はオペレーションアザインコン1へロール。 28はカウンタ(+m) 。 3は演算パイプ制御(#0.Ill、−、Iti)。 4は演算パイプライン(八、B、−)。 5はデータ格納装置(ベタ1ヘルレジスタ(VR) 1
■、■はベクトル命令、又は単に命令。 ACPT (110,−)はアクセプタンス信号。 BUSY(#O,−)はヒジー信号。 をそれぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 パイプライン方式のベクトル演算処理装置において、 互いに独立な複数個のベクトル演算命令をエレメント単
    位に分割し、複数個のベクトル処理パイプライン(4)
    に分配して処理する手段(2、3)を設けて、 それぞれのベクトル処理パイプライン(4)で、該互い
    に独立な複数個のベクトル演算命令をエレメント単位に
    処理することを特徴とするベクトル多重演算方式。
JP8949488A 1988-04-12 1988-04-12 ベクトル多重演算方式 Pending JPH01260573A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8949488A JPH01260573A (ja) 1988-04-12 1988-04-12 ベクトル多重演算方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8949488A JPH01260573A (ja) 1988-04-12 1988-04-12 ベクトル多重演算方式

Publications (1)

Publication Number Publication Date
JPH01260573A true JPH01260573A (ja) 1989-10-17

Family

ID=13972310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8949488A Pending JPH01260573A (ja) 1988-04-12 1988-04-12 ベクトル多重演算方式

Country Status (1)

Country Link
JP (1) JPH01260573A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002555A (ja) * 2012-06-18 2014-01-09 Fujitsu Ltd プロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002555A (ja) * 2012-06-18 2014-01-09 Fujitsu Ltd プロセッサ

Similar Documents

Publication Publication Date Title
CN1618061B (zh) 功能性流水线
US4661900A (en) Flexible chaining in vector processor with selective use of vector registers as operand and result registers
US4636942A (en) Computer vector multiprocessing control
JP2577865B2 (ja) ベクトル処理装置及びその制御方法
US4901230A (en) Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
EP0502680B1 (en) Synchronous multiprocessor efficiently utilizing processors having different performance characteristics
EP1381939B1 (en) Registers for data transfers within a multithreaded processor
WO1991020043A1 (en) Global registers for a multiprocessor system
JPH0648486B2 (ja) ベクトルデ−タ処理装置
US8447953B2 (en) Instruction controller to distribute serial and SIMD instructions to serial and SIMD processors
JPS63184841A (ja) 相互に関連したタスクの実行を制御する方法
JP3144842B2 (ja) マイクロプロセッサ
EP1035479A2 (en) System for processing vector data
JPH01260573A (ja) ベクトル多重演算方式
JPH0460843A (ja) マルチプロセッサシステムにおけるタスクスケジュール方式
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPS6049464A (ja) マルチプロセッサ計算機におけるプロセッサ間通信方式
JP2002140201A (ja) データベース更新方法及びそれを用いたデータベース管理システム
JPH03188531A (ja) 時分割マルチタスク実行装置
JPH03223955A (ja) 情報処理システム
Tuomenoksa et al. Preloading Schemes for the PASM Parallel Memory System.
JPH07152589A (ja) データ処理装置
JPS63111540A (ja) デ−タ駆動型計算機
JPS6220064A (ja) マルチプロセツサシステムの命令制御方式
HK1061445B (en) Registers for data transfers within a multithreaded processor