JPH01319864A - ベクトルマスクの制御方式 - Google Patents

ベクトルマスクの制御方式

Info

Publication number
JPH01319864A
JPH01319864A JP15300288A JP15300288A JPH01319864A JP H01319864 A JPH01319864 A JP H01319864A JP 15300288 A JP15300288 A JP 15300288A JP 15300288 A JP15300288 A JP 15300288A JP H01319864 A JPH01319864 A JP H01319864A
Authority
JP
Japan
Prior art keywords
mask
vector
instruction
data
control flag
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
JP15300288A
Other languages
English (en)
Inventor
Toshiyuki Uda
右田 俊幸
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 JP15300288A priority Critical patent/JPH01319864A/ja
Publication of JPH01319864A publication Critical patent/JPH01319864A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトルマスク制御方式に関し、特に配列デー
タの演算においてマスク制御付きベクトル命令を実行す
ることができる情報処理装置におけるベクトルマスク制
御方式に関する。
〔従来の技術〕
科学技術計算においては配列データを取り扱う場合が非
常に多く、この配列データに対する演算はしばしば各々
の配列要素に対する同一の演算の繰返しとなる。
そこで、配列データを取り扱う情報処理装置においては
、このような配列要素に対する同一の演算の繰返しを高
速に取り扱うための専用の命令、いわゆるベクトル命令
が実行されている。
このようなベクトル命令の実行に基づく配列データの演
算では、無条件に全ての配列要素に対して演算が行われ
る場合の他に特定の条件を満足する配列要素に対しての
み演算を施す必要が生じる場合(条件付きのベクトル演
算が行われる場合)がある。
後者の場合の一例としては、第2図に示すようすF O
RT RA Nで記述されたプログラムによる配列デー
タの演算がある。
このプログラムによる配列データの演算では、各々N個
の配列要素からなる配列データA (1)B (1) 
、 C(1)およびD (1)と別個の数値データ(固
定値)Eとが用意され、A (+)のi番目(i=1〜
N)の配列要素Aiが「0」以上である場合にはC(+
)およびD (1)のそれぞれのi番目の配列要素Ci
およびDiの積が計算されその結果がB (1)のi番
目の配列要素Biとされ、Aiが負の値である場合には
BiにはEが代入される。
上述のような条件付きのベクトル演算を高速に実行する
ためのサポート方法としては、ベクトルマスク生成命令
に基づき生成されたベクトルマスクデータによりマスク
指定されている配列要素(抑止要指示が行われている配
列要素)以外の配列要素(抑止不要指示が行われている
配列要素)についてのみの演算を指示するマスク制御付
きベクトル命令(以下、このようなマスク制御付きベク
トル命令以外のベクトル命令を「通常のベクトル命令」
という)の実行に基づくベクトルマスク制御方式が存在
する。
従来のベクトルマスク制御方式により第2図に示すプロ
グラムにおける条件付きのベクトル演算が行われる場合
には、第3図の流れ図(第2図に示すプログラムの実行
手順を示す流れ図)に示すように、まずマスク生成命令
の実行により第2図に示すプログラム中の行番号20の
I F”文に対応するベクトルマスクデータMASKi
  (i=l−N)が生成される。すなわち、Ai≧0
の場合には対応する(iの値が等しい)MASKiの内
容が「l」とされ、そうでない場合にはMASKiの内
容が「0」とされる。一般には、このMASKiは主記
憶上に格納されたり、ベクトルマスクレジスタとして専
用に設けられたレジスタ中のレジスタファイルに格納さ
れたりする(マスク生成命令実行ステップ31)。
次に、上述のようにして生成されたMASKiに基づい
てマスク付きベクトル乗算命令(マスク制御付きベクト
ル命令の1つ)が実行される。すなわち、MASKi−
1であるiに対応する乗算結果(rci*DiJ)のみ
がBiに格納される(MASKi=0であるiに対応す
るBiは不変である)(マスク付きヘクトル乗算命令実
行ステップ32)。
ステップ32の処理が終了すると、MASKiに基づい
てさらにマスク付きベクトル移送命令(マスク制御付き
ベクトル命令の1つ)が実行される。
すなわち、MASKi=Oであるiに対応するBiのみ
にEが移送される(マスク付きベクトル移送命令実行ス
テップ33)。
なお、MASKiが0か1かいずれの場合に乗算や移送
等をを効に行うかという切分けは、ソフトウェア中の命
令コードの指定等の方法で行うことが可能になっている
〔発明が解決しようとする課題〕
上述した従来のベクトルマスク制御方式の採用により、
ループ中に条件を含むような条件付きのベクトル演算を
行うプログラムであっても情報処理装置上での実行効率
を高めることが可能となった。
しかし、例えば第2図に示すプログラム中の行番号20
のIF文の結果に基づいて生成されるMASKiが「0
」となるときとrlJとなるときとが均等に近い場合も
あれば、逆に通常の入力データであればMASKiが「
0」またはrlJということが生じ得ないということが
あらかじめ分かっている場合もある。
後者のような場合には、無条件で第3図に示すような実
行手順で処理を行うとマスク付きベクトル乗算命令およ
びマスク付きヘクトル移送命令の一方は演算が必ず行わ
れるにもかかわらずステップ32および33の処理にお
けるMASKiの判定(判定結果が決まっている無駄な
判定)が実行されることになる。
このように、従来のベクトルマスク制御方式では、対象
配列データ(マスク制御付きベクトル命令の実行の対象
の配列データ)の全ての配列要素についてベクトルマス
クデータの内容が抑止要指示(所定の演算処理を行わな
い旨の指示)である場合にベクトルマスクデータについ
ての無駄な判定が行われ、高速であるはずのベクトル演
算の効果が発揮できないという欠点がある。
本発明の目的は、上述の点に鑑み、ベクトルマスクデー
タについての無駄な判定を省くことができ、ベクトル演
算の高速化を実現できるベクトルマスク制御方式を提供
することにある。
〔課題を解決するための手段〕
本発明のベクトルマスク制御方式は、通常のベクトル命
令、ベクトルマスク生成命令およびマスク制御付きベク
トル命令が実行される情報処理装置におけるベクトルマ
スク制御方式において、ベクトルマスク生成命令に基づ
きベクトルマスクデータを生成するベクトルマスクデー
タ生成手段と、このベクトルマスクデータ生成手段によ
り生成されたベクトルマスクデータの内容が対象配列デ
ータの全ての配列要素について抑止要指示であるか否か
を判定する抑止要指示判定手段と、この抑止要指示判定
手段の判定によりベクトルマスクデータの内容が対象配
列データの全ての配列要素について抑止要指示である場
合にマスク特殊制御フラグを設定するマスク特殊制御フ
ラグ設定手段と、このマスク特殊制御フラグ設定手段に
よりマスク特殊制御nフラグが設定されている場合にマ
スク制御付きベクトル命令の実行時に前記ベクトルマス
クデータ生成手段により生成されたベクトルマスクデー
タを参照せずに無動作命令の演算を実行する演算実行手
段とを有する。
〔作用〕
本発明のベクトルマスク制御方式では、ベクトルマスク
データ生成手段がベクトルマスク生成命令に基づきベク
トルマスクデータを生成し、抑止要指示判定手段がベク
トルマスクデータ生成手段により生成されたベクトルマ
スクデータの内容が対象配列データの全ての配列要素に
ついて抑止要指示であるか否かを判定し、マスク特殊制
御フラグ設定手段が抑止要指示判定手段の判定によりベ
クトルマスクデータの内容が対象配列データの全ての配
列要素について抑止要指示である場合にマスク特殊制御
フラグを設定し、演算実行手段がマスク特殊制御フラグ
設定手段によりマスク特殊制御フラグが設定されている
場合にマスク制御付きベクトル命令の実行時にベクトル
マスクデータ生成手段により生成されたベクトルマスク
データを参照せずに無動作命令の演算を実行する。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は、本発明のベクトルマスク制御方式の一実施例
が適用される情報処理装置の構成を示すブロック図であ
る。この情報処理装置は、通常のヘクトル命令、ベクト
ルマスク生成命令およびマスク制御付きベクトル命令が
実行され、マスク生成用オペランドレジスタ1および2
(OPIおよび0P2)と、比較回路3と、マスクデー
タレジスタ4 (MASKR)と、マスク特殊制御フラ
グ設定部5と、命令語レジスタ6  (rNsT)と、
命令デコーダ7 (DEC)と、演算回路部8とを含ん
で構成されている。
本実施例のベクトルマスク制御方式は、ベクトルマスク
生成命令に基づきベクトルマスクデータを生成するベク
トルマスクデータ生成手段と、ベクトルマスクデータ生
成手段により生成されたベクトルマスクデータの内容が
対象配列データの全ての配列要素につ(ごて抑止要指示
であるか否かを判定する抑止要指示判定手段と、抑止要
指示判定手段の判定によりベクトルマスクデータの内容
が対象配列データの全ての配列要素について抑止要指示
である場合にマスク特殊制御フラグ(マスク制御付きベ
クトル命令を無動作命令として取り扱うことを示すフラ
グ)を設定するマスク特殊制御フラグ設定手段と、マス
ク特殊制御フラグ設定手段によりマスク特殊制御フラグ
が設定されている場合にマスク制御付きベクトル命令の
実行時にベクトルマスクデータ生成手段により生成され
たベクトルマスクデータを参照せずに無動作命令の演算
(配列データの参照および演算等を一切行わない処理)
を実行する演算実行手段とを有している。
ここで、第1図中のマスク生成用オペランドレジスタl
および2.比較回路3.マスクデータレジスタ4.命令
語レジスタ6ならびに命令デコーダ7によりベクトルマ
スクデータ生成手段が実現され、比較回路3により抑止
要指示判定手段が実現され、マスク特殊制御フラグ設定
部5によりマスク特殊制御フラグ設定手段が実現され、
命令語レジスタ6、命令デコーダ7および演算回路部8
により演算実行手段が実現される。
次に、このように構成された本実施例のベクトルマスク
制御方式の動作について説明する。なお、ここでは第2
図に示すプログラムにおける条件付きのヘクトル演算が
行われる場合の動作について説明する。
第2図に示すプログラムのベクトル演算が行われる場合
には、まずマスク生成用オペランドレジスタlおよび2
に、マスク生成用のデータ(配列データA(【)および
数値データ「0」 (行番号20のIF文でA (+)
と比較されるデータ))がセットされる。
次に、命令語レジスタ6にマスク生成命令がセットされ
ると、命令デコーダ7によりそのマスク生成命令がデコ
ードされる。
さらに、そのマスク生成命令により示される大小比較指
示(A (1)  (A (1)に含まれる各配列要素
Ai)と「0」との大小を比較する指示)が、命令デコ
ーダ7から比較回路3に対して送出される。
この大小比較指示に基づいて「Aiく0」の条件が比較
回路3により検出されれば、マスク付きベクトル乗算命
令に対する抑止要指示である「0」がマスクデータレジ
スタ4の最下位ビット(この時点でAiに対応するベク
トルマスクデータ(MASK+)を示すビット)に入力
され、それまでマスクデータレジスタ4に格納されてい
た直前の配列要素までのベクトルマスクデータは全て1
ピントだけ上位にシフトされる。
また、上述の大小比較指示に基づいて「Al2O」の条
件が比較回路3により検出されれば、マスク付きベクト
ル移送命令に対する抑止要指示である「1」がマスクデ
ータレジスタ4の最下位ピントに入力され、それまでマ
スクデータレジスタ4に格納されていた直前の配列要素
までのマスクデータは全て1ビツトだけ上位にシフトさ
れる。
マスクデータレジスタ4に生成されるベクトルマスクデ
ータはlツー1分が完成する毎に主記憶(図示せず)に
格納されていく。
上述のベクトルマスクデータの生成と同時に、マスク特
殊制御フラグ設定部5によりマスク生成命令に基づいて
生成されたベクトルマスクデータが全て「0」であるか
否かの判定およびそれらのベクトルマスクデータが全て
rlJであるか否かの判定が行われる。
上述の判定でベクトルマスクデータが全て[OJである
場合には、マスク付きベクトル乗算命令に対するマスク
特殊制御フラグ「0」がマスク生成命令の実行の終了時
点でマスク特殊制御フラグ設定部5により設定される(
設定されたマスク特殊制御フラグはマスク特殊制御フラ
グ設定部5自身によって記憶される)。
上述の判定でベクトルマスクデータが全て「lJである
場合には、マスク付きベクトル移送命令に対するマスク
特殊制御フラグ「1」がマスク生成命令の実行の終了時
点でマスク特殊制御フラグ設定部5により設定される(
上述の判定でベクトルマスクデータが全てrOJでもな
く全てrlJでもない場合にはマスク特殊制御フラグの
設定は行われない)(以上の処理が第3図中のステップ
31の処理に該当する)。
次に、マスク付きベクトル乗算命令が命令レジスタ6に
セットされ、そのマスク付きベクトル乗算命令に基づく
演算が開始される。
この演算においては、マスク特殊制御フラグ設定部5に
マスク特殊制御フラグ「0」が設定されている場合〈マ
スク付きベクトル乗算命令にとってマスク特殊制御フラ
グ設定部5中の「0」がマスク特殊制御フラグであるこ
とは、その旨を示す特別の命令がマスク付きベクトル乗
算命令とともに命令語レジスタ6に与えられることやそ
の旨を示す情報がマスク付きベクトル乗算命令中に設定
されること等により認識される。マスク付きベクトル移
送命令におけるマスク特殊制御フラグ「1」についても
同様)には、命令デコーダ7によるマスク特殊制御フラ
グ「0」の参照に基づきマスク付きベクトル乗算命令が
あたかも無動作命令であるかのようにデコードされてそ
のデコードに基づく信号が命令デコーダ7から演算回路
部8に送出される。
したがって、マスク生成命令に基づいて生成されたベク
トルマスクデータは一切アクセス(参照)されることが
なくなり (ベクトルマスクデータに基づく判定が行わ
れなくなり)、不要な判定のだめの実行時間の無駄がな
く全ての配列要素に対するマスク付きベクトル乗算命令
(このマスク付きベクトル乗算命令は無動作命令として
機能する)の実行が完了する(マスク付きベクトル乗算
命令が無動作命令として実行されることになるので、演
算の起動等は全く行われずに後続の命令の実行に移行す
ることになり、マスク付きベクトル乗算命令の実行時間
のオーバヘッドを完全に削減することができる)(以上
の処理が第3図中のステップ32の処理に1亥当する)
さらに、マスク付きベクトル移送命令が命令レジスタ6
にセントされ、そのマスク付きベクトル移送命令に基づ
く演算が開始される。
この演算においては、マスク特殊制御nフラグ設定部5
にマスク特殊制御フラグrlJが設定されている場合に
は、命令デコーダ7によるマスク特殊制御フラグrlJ
の参照に基づきマスク付きベクトル移送命令があたかも
無動作命令であるかのようにデコードされてそのデコー
ドに基づく信号が命令デコーダ7から演算回路部8に送
出される。
したがって、マスク生成命令に基づいて生成されたベク
トルマスクデータは一切アクセスされることがなくなり
、不要な判定のための実行時間の無駄がな(全ての配列
要素に対するマスク付きベクトル移送命令(このマスク
付きベクトル移送命令は無動作命令として機能する)の
実行が完了する(以上の処理が第3図中のステップ33
の処理に該当する)。
〔発明の効果〕
以上説明したように本発明は、ベクトルマスクデータの
生成と同時に全ての配列要素に対応するベクトルマスク
データの内容が全て抑止要指示であるか否かを判定し全
て抑止要指示であることを検出した場合にはマスク特殊
制御フラグの設定を行いそのマスク特殊制御フラグを情
報処理装置における演算の制御に利用することにより、
ベクトルマスクデータについての無駄な判定を省くこと
ができ、ベクトル演算の高速化を実現できるという効果
がある。
【図面の簡単な説明】
第1図は本発明の一実施例が適用される情報処理装置の
構成を示すブロック図、 第2図は条件付きのベクトル演算が行われるプログラム
(FORTRANにより記述されたプログラム)の−例
を示す図、 第3図は第2図に示すプログラムの実行手順を示す流れ
図である。 図において、 1.2・マスク生成用オペランドレジスタ、3・・・比
較回路、 4・・・マスクデータレジスタ、 5・・・マスク特殊制御フラグ設定部、6・・・命令語
レジスフ、 7・・・命令デコーダ、 8・・・演算回路部である。

Claims (1)

  1. 【特許請求の範囲】 通常のベクトル命令、ベクトルマスク生成命令およびマ
    スク制御付きベクトル命令が実行される情報処理装置に
    おけるベクトルマスク制御方式において、 ベクトルマスク生成命令に基づきベクトルマスクデータ
    を生成するベクトルマスクデータ生成手段と、 このベクトルマスクデータ生成手段により生成されたベ
    クトルマスクデータの内容が対象配列データの全ての配
    列要素について抑止要指示であるか否かを判定する抑止
    要指示判定手段と、 この抑止要指示判定手段の判定によりベクトルマスクデ
    ータの内容が対象配列データの全ての配列要素について
    抑止要指示である場合にマスク特殊制御フラグを設定す
    るマスク特殊制御フラグ設定手段と、 このマスク特殊制御フラグ設定手段によりマスク特殊制
    御フラグが設定されている場合にマスク制御付きベクト
    ル命令の実行時に前記ベクトルマスクデータ生成手段に
    より生成されたベクトルマスクデータを参照せずに無動
    作命令の演算を実行する演算実行手段と を有することを特徴とするベクトルマスク制御方式。
JP15300288A 1988-06-21 1988-06-21 ベクトルマスクの制御方式 Pending JPH01319864A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15300288A JPH01319864A (ja) 1988-06-21 1988-06-21 ベクトルマスクの制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15300288A JPH01319864A (ja) 1988-06-21 1988-06-21 ベクトルマスクの制御方式

Publications (1)

Publication Number Publication Date
JPH01319864A true JPH01319864A (ja) 1989-12-26

Family

ID=15552800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15300288A Pending JPH01319864A (ja) 1988-06-21 1988-06-21 ベクトルマスクの制御方式

Country Status (1)

Country Link
JP (1) JPH01319864A (ja)

Similar Documents

Publication Publication Date Title
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
JP3917635B2 (ja) データ処理システムにおけるプリディケーション命令
US5864692A (en) Method and apparatus for protecting memory-mapped devices from side effects of speculative instructions
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
JPH0769795B2 (ja) コンピュータ
US4656581A (en) Vector mask control system
JPS6250934A (ja) 処理装置の割込制御方式
JPH01319864A (ja) ベクトルマスクの制御方式
JPH01319863A (ja) ベクトルマスク制御方式
US6453412B1 (en) Method and apparatus for reissuing paired MMX instructions singly during exception handling
WO2023188905A1 (ja) 情報処理装置、及び情報処理装置の動作制御方法
JPH056281A (ja) 情報処理装置
JP2557629B2 (ja) 割込方式
EP0211487A1 (en) Conditional operations in computers
JPH04338825A (ja) 演算処理装置
JPH09282165A (ja) 情報処理装置
JPH0259961A (ja) 情報処理装置
JPH01181149A (ja) 付加プロセッサ制御方式
JPH04287231A (ja) マイクロプロセッサ
JPH01223563A (ja) 情報処理装置
JPH0378832A (ja) デ―タ処理装置
JPH01223565A (ja) 情報処理装置
JPH04290130A (ja) プロセッサのエラー管理方式
JPS61143849A (ja) プロセツサ
JPH05324319A (ja) 高速演算処理方式