JPH01271874A - ベクトル演算制御方式 - Google Patents

ベクトル演算制御方式

Info

Publication number
JPH01271874A
JPH01271874A JP10082888A JP10082888A JPH01271874A JP H01271874 A JPH01271874 A JP H01271874A JP 10082888 A JP10082888 A JP 10082888A JP 10082888 A JP10082888 A JP 10082888A JP H01271874 A JPH01271874 A JP H01271874A
Authority
JP
Japan
Prior art keywords
vector
mask
mask data
data
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
JP10082888A
Other languages
English (en)
Inventor
Hideshi Ishii
石井 英志
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10082888A priority Critical patent/JPH01271874A/ja
Publication of JPH01271874A publication Critical patent/JPH01271874A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はベクトル演算制御方式に関し、特にマスク機能
を有するベクトル演算の制御方式に関する。
〔従来の技術〕
科学技術計算ではベクトルデータを扱う場合が非常に多
いため、スーパーコンピュータなどには大量のベクトル
データに対する演算を1命令で高速に実行するためのベ
クトル演算命令が用意されている。そしてこのようなベ
クトル演算命令は、一般にFORTRANで記述された
プログラムの最深Doループにおいて使用される。また
、プログラムの最深DOループがIP文を含む場合には
、以下に述べるベクトルマスクデータを使用することに
よりベクトル演算命令による実行が可能となる。
第2図はFORTRANで記述されたプログラムの最深
Doループの一例を示す図である。このDoループをベ
クトル演算命令により実行する場合には、ベクトルX 
(1)とベクトルY (I)の要素毎の比較が行なわれ
、比較の結果により1要素に対して1ビツトのベクトル
マスクデータが作成される。即ちベクトルX(I) と
ベクトルY (1)の対応する要素が一致したときは°
′1°°、不一致のときは0゛′がマスクデータとして
発生される。次に、ベクトルA(I)*ベクトルB (
1)のマスク制御付ベクトル演算命令が実行されるが、
このとき対応するベクトルマスクデータが“1°°であ
るような要素のみがベクトルC(I)に格納され、” 
o ”であるような要素はベクトルC(1)には格納さ
れないように制御される。こうすることにより第2図の
DOループをベクトル演算命令により実行することがで
きる。第4図はこのようすを図示したもので、要素X。
と要素y。、要素x3と要素y3のみが一致することか
ら要素Oと要素1に対応するベクトルマスクデータのビ
ットのみが” 1 ”となり、要素a。と要素す。、要
素a3と要素b3の演算のみが実行され、他の要素C1
゜C2+ C4は同図の斜線部に示すようにマスクされ
て変更は行なわれない。
次に第3図に示すようなりOループを実行する場合を考
える。この場合も第2図のDoループと同様にベクトル
X (I) 、 Y(I)(I)を比較することにより
ベクトルマスクデータが作成され、次のマスク制御付ベ
クトル演算命令により参照される。この場合、A (I
) * B (I)のマスク制御付ベクトル演算命令を
実行するときは第2図のDoループと同様にベクトルマ
スクデータの対応するビットがパ1°°であるような要
素の演算のみが実行されるが、ベクトルD(I)*ベク
トルE (I)のマスク制御付ベクトル演算命令を実行
するときは前記のA(1) * B (I)の演算とは
逆にベクトルX (I) とベクトルY (I)が不一
致の要素に対する演算のみを実行する必要があるため、
前記のベクトルマスクデータをそのまま使用することは
できない。
そこで、従来のベクトル演算装置においては、を実行す
る前にソフトウェアによりベクトルマスクデータを反転
するか、あるいは再度X (1)とY (I)からベク
トルマスクデータを作成し直して反転されたベクトルマ
スクデータで生成していた。第5図はこのようすを図示
したもので、ベクトルA (I) 、 B (I)の要
素a。−’ a 4 + b O〜boについては第4
図と同様にして求めたベクトルマスクデータ(マスクO
)を用いて演算し、ベクトルD (1) 、 E (I
)の要素d0〜d4.eo〜e4については前述のよう
にしてマスク0を反転したベクトルマスクデータ(マス
ク1)を作成し、要素d、と要素el+要素d2と要素
e2゜要素d4と要素e4のみの演算を行ない、他の要
素f。、f3は同図の斜線部に示すようにマスクして変
更を行なわせないようにするものである。
[発明が解決しようとする課題] 上述した従来のベクトル演算装置は、第3図に示したよ
うなりoループをベクトル演算命令により実行する場合
には、IF文が成立する場合と不成立の場合とで同一の
ベクトルマスクデータを使用することができず、マスク
データの作り直しが必要であるが、ソフトウェアにより
ベクトルマスクデータを反転するには、先ずマスクデー
タのビット数を認識し、そして全てのマスクビットを反
転しなければならないので多くの時間を要し、再度ベク
トルX (1) 、 Y (I)からベクトルマスクデ
ータを作り直す場合も同様に多くの時間を要するので、
演算実行性能が低下するという欠点がある。
[課題を解決するための手段] 本発明のベクトル演算制御方式は、ベクトルマスク生成
命令が、指定された配列データの条件に従って生成され
たベクトルマスクデータを主記憶中の偶数ワードロケー
ションに格納すると共に、前記ベクトルマスクデータの
反転データを前記主記憶中の奇数ワードロケーションに
格納し、マスク制御付ベクトル命令において演算処理時
に使用するベクトルマスクデータとして、前記偶数ワー
ドロケーションに格納されたベクトルマスクデータと前
記奇数ワードロケーションに格納された反転データのい
ずれを使用するかを指定するものである。
[作用] したがって、従来のソフトウェアによるベクトルマスク
データの反転あるいはベクトル生成命令によるベクトル
マスクデータの作り直しを行なう方式に比べ、ベクトル
演算を高速化できる。
[実施例] 次に、本発明の実施例について図面を参照して説明する
第1図は本発明のベクトル演算制御方式が適用されたベ
クトル演算装置の一実施例のブロック図である。
ベクトルマスク生成命令は、以下に述べるように実行さ
れる。ベクトルマスクデータを作成するための条件とな
る配列要素は、主記憶1から読出されてオペランドレジ
スタ2およびオペランドレジスタ3にセットされる。オ
ペランドレジスタ2および3のデータは比較器4により
比較され、その結果に従って1ビツトのマスクビットが
生成されてマスクレジスタ5の最下位ビット位置に格納
される。オペランドレジスタ2および3には、その配列
の要素が順次セットされ、比較器4での比較結果に従っ
て順次マスクビットが生成される。
マスクレジスタ5は生成されたマスクビットが最下位に
格納される時に、以前のデータが左へ1ビツトシフトさ
れるように構成されているため、全ての要素の比較が終
了した時点では生成されたムク1〜ルマスクデータはマ
スクレジスタ5に格納されている。このようにして生成
されたベクトルマスクデータは次に主記憶1へ格納され
る。このとき主記憶1への書込みは2ワ一ド単位で行な
われ、上位の1ワード(偶数ワード)に生成されたベク
トルマスクデータが、下位の1ワード(奇数ワーF )
にインバータ6によりベクトルマスクデータを反転した
データが格納される。
ベクトルマスク生成命令により主記憶1上にベクトルマ
スクデータか用意されると、次にマスク制御付ベクトル
命令が実行される。マスク制御付ベクトル命令では、ま
ずベクトルマスクデータの読出しが行なわれ、読出され
たベクトルマスクデータを参照しながら主記憶1から要
素の読出しが行なわれる。ベクトルマスクデータの読出
しは2ワ一ド単位に行なわれるが、その際命令レジスタ
7に格納されている命令語の特定ビット(Sビット)に
よりセレクタ8を使用して、上位の1ワードまたは下位
の1ワードが選択され、マスクオペランドレジスタ9に
格納される。すなわち上位の1ワードが選択された場合
は既に実行されたベクトルマスク生成命令で生成された
ベクトルマスクデータがそのまま格納されるが、下位の
1ワードが選択された場合は、その反転データがマスク
オペランドレジスタ9に格納されることになる。こうし
てマスクオペランドレジスタ9に格納されたベクトルマ
スクデータに従って主記憶1から要素が読出され、オペ
ランドレジスタ2および3にセットされる。これらのレ
ジスタ2.3にセットされた要素間の演算は演算制御回
路10の制御のもとてベクトル演算回路11により実行
され、その結果はりザルトレジスタ12に格納されたの
ち、主記憶1の所定のロケーションに格納される。ここ
でベクトル演算回路11による演算は、マスクされてい
ない要素に対してのみ実行されることは言うまでもない
[発明の効果] 以上説明したように本発明は、ベクトルマスク生成命令
により生成されたベクトルマスクデータを主記憶中の偶
数ワードロケーションに、上記ベクトルマスクデータの
反転データを奇数ワードロケーションにそれぞれ格納し
、マスク制御付ベクトル命令においてどちらのマスクデ
ータを使用するかを指定することにより、IF文が成立
する場合と不成立の場合の両方でベクトルマスクデータ
が必要である場合に、従来のソフトウェアによるベクト
ルマスクデータの反転あるいはベクトルマスク生成命令
によるベクトルマスクデータの作り直しを行なう方式に
比へ、ベクトル演算を高速化できるという効果がある。
【図面の簡単な説明】
第1図は本発明のベクトル演算制御方式によるベクトル
演算装置の一実施例のブロック図、第2図および第3図
はFORTRANで記述されたプログラムの最深Doル
ープのそれぞれ異なる例を示す図、第4図は第2図のプ
ログラムをベクトル演算命令で実行する場合の動作説明
図、第5図は第3図のプログラムをベクトル演算命令で
実行する場合の動作説明図である。 1・・・主記憶、  2.3・・・オペランドレジスタ
、4・・・比較器、 5・・・マスクレジスタ、 6・・・インバータ、 7・・・命令レジスタ、 8・・・セレクタ、 9・・・マスクオペランドレジスタ、 10・・・演算制御回路、 11・・・ベクトル演算回路、 12・・・リザルトレジスタ。

Claims (1)

  1. 【特許請求の範囲】 1、配列データの条件によって特定の配列要素に対する
    演算を抑止するためのベクトルマスクデータを生成する
    ベクトルマスク生成命令と、前記生成されたベクトルマ
    スクデータに従ってマスク指定されている要素以外の配
    列要素についてのみ演算処理をするマスク制御付ベクト
    ル命令とを有するベクトル演算装置において、 前記ベクトルマスク生成命令は、指定された配列データ
    の条件に従って生成されたベクトルマスクデータを主記
    憶中の偶数ワードロケーションに格納すると共に、前記
    ベクトルマスクデータの反転データを前記主記憶中の奇
    数ワードロケーションに格納し、前記マスク制御付ベク
    トル命令において、演算処理時に使用するベクトルマス
    クデータとして前記偶数ワードロケーションに格納され
    たベクトルマスクデータと前記奇数ワードロケーション
    に格納された反転データのいずれを使用するかを指定す
    るベクトル演算制御方式。
JP10082888A 1988-04-22 1988-04-22 ベクトル演算制御方式 Pending JPH01271874A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10082888A JPH01271874A (ja) 1988-04-22 1988-04-22 ベクトル演算制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10082888A JPH01271874A (ja) 1988-04-22 1988-04-22 ベクトル演算制御方式

Publications (1)

Publication Number Publication Date
JPH01271874A true JPH01271874A (ja) 1989-10-30

Family

ID=14284185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10082888A Pending JPH01271874A (ja) 1988-04-22 1988-04-22 ベクトル演算制御方式

Country Status (1)

Country Link
JP (1) JPH01271874A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049461A (ja) * 2016-09-21 2018-03-29 日本電気株式会社 コンパイル装置、コンパイル方法、および、コンパイルプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049461A (ja) * 2016-09-21 2018-03-29 日本電気株式会社 コンパイル装置、コンパイル方法、および、コンパイルプログラム

Similar Documents

Publication Publication Date Title
US5710902A (en) Instruction dependency chain indentifier
US3970993A (en) Cooperative-word linear array parallel processor
US3943494A (en) Distributed execution processor
JPS5948424B2 (ja) 並列計算システム
KR950012256A (ko) 벡터 데이타 처리용 컴퓨터 시스템 및 그 방법
US4417305A (en) Method for evaluating boolean expressions
JP2752094B2 (ja) 論理型言語におけるバックトラック処理方式
EP0164418B1 (en) Microprogram control system
JPH02103630A (ja) データ処理装置
JPH01271874A (ja) ベクトル演算制御方式
JPH01271875A (ja) ベクトル演算制御方式
Siewiorek Introducing ISP
Dugan et al. A study of the utility of associative memory processors
JPH0616287B2 (ja) マスク付きベクトル演算処理装置
Kartashev et al. Adaptable pipeline system with dynamic architecture
JPH03154919A (ja) 付加演算装置制御方式
JPS61141077A (ja) ベクトル演算装置
JP3140442B2 (ja) データ処理装置
JPH01236327A (ja) 割込みマスク制御方法
Armstrong Functional memory techniques applied to the microprogrammed control of an associative processor
JP3296489B2 (ja) 連想メモリ装置における演算方法
JPS61139839A (ja) 情報処理装置
JPS61272872A (ja) ベクトル演算装置
JPH0486920A (ja) 情報処理装置およびその方法
JPS62251844A (ja) 中央処理装置