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

ベクトルマスク制御方式

Info

Publication number
JPH01319863A
JPH01319863A JP15300188A JP15300188A JPH01319863A JP H01319863 A JPH01319863 A JP H01319863A JP 15300188 A JP15300188 A JP 15300188A JP 15300188 A JP15300188 A JP 15300188A JP H01319863 A JPH01319863 A JP H01319863A
Authority
JP
Japan
Prior art keywords
vector
mask
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
JP15300188A
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 JP15300188A priority Critical patent/JPH01319863A/ja
Publication of JPH01319863A publication Critical patent/JPH01319863A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

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

Claims (1)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=15552780

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH01319863A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510352A (ja) * 2011-04-01 2014-04-24 インテル・コーポレーション レジスタをアライメントするためのシステム、装置、および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510352A (ja) * 2011-04-01 2014-04-24 インテル・コーポレーション レジスタをアライメントするためのシステム、装置、および方法

Similar Documents

Publication Publication Date Title
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
JP3917635B2 (ja) データ処理システムにおけるプリディケーション命令
JPH0769795B2 (ja) コンピュータ
US4677549A (en) Pipelined data processor system having increased processing speed
JPH0683582A (ja) データ演算装置
US4656581A (en) Vector mask control system
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH01319863A (ja) ベクトルマスク制御方式
JPH01319864A (ja) ベクトルマスクの制御方式
JP3395727B2 (ja) 演算装置および方法
JP2557629B2 (ja) 割込方式
WO2023188905A1 (ja) 情報処理装置、及び情報処理装置の動作制御方法
EP0211487A1 (en) Conditional operations in computers
JPH0259961A (ja) 情報処理装置
JP2503223B2 (ja) 先行制御方式
JPH04338825A (ja) 演算処理装置
JPH0352092B2 (ja)
JPH04137169A (ja) 情報処理装置
JP2597744B2 (ja) 分岐制御方法
JPH09282165A (ja) 情報処理装置
JPH03204004A (ja) プログラマブルコントローラ
JPH0233173B2 (ja)
JPH01223565A (ja) 情報処理装置
JPH10320380A (ja) ベクトル処理装置
JPH01223563A (ja) 情報処理装置