JPS61141077A - ベクトル演算装置 - Google Patents

ベクトル演算装置

Info

Publication number
JPS61141077A
JPS61141077A JP26394684A JP26394684A JPS61141077A JP S61141077 A JPS61141077 A JP S61141077A JP 26394684 A JP26394684 A JP 26394684A JP 26394684 A JP26394684 A JP 26394684A JP S61141077 A JPS61141077 A JP S61141077A
Authority
JP
Japan
Prior art keywords
vector
mask
data
mask data
arithmetic
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
JP26394684A
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 JP26394684A priority Critical patent/JPS61141077A/ja
Publication of JPS61141077A publication Critical patent/JPS61141077A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はベクトル演算を高速に実行するためのベクトル
演算装置に関し、特にベクトルデータの各要素に対応し
たマスクデータの値によって要素ごとにベクトル演算を
実行するか否かを指定することのできるベクトル演算装
置に関する。
(従来の技術) 科学技術計算ではベクトルデータを取扱う場合が非常に
多い丸め、スーパーコンビエータなどには大量のベクト
ルデータに対する演算を1命令で高速に実行するための
ベクトル演算命令が用意されている。一般にはベクトル
演算命令はフォートラン語(FORTRAN) で記述
されたプログラムの最深Doループにおいて使用されて
いる。プログラムの最深DOループがIF文を含む場合
には、以下に説明するマスクデータを使用することKよ
シベクトル演算命令による実行が可能となる。
第2図は、フォートラン(FORTRAN )で記述さ
れたプログラムの最深DOルーズの例を示す説明図であ
る。第2図のDOループをベクトル演算命令により実行
する場合には、ベクトルX(I)とベクトルY(I)と
の要素ごとの比較が行われ、比較の結果により1要素に
対して1ピツトのマスクデータが作成される。すなわち
、X(I)とY(I)とが一致したときには1がマスク
データとして発生し、一致しないときにはOがマスクデ
ータとして発生する。次に、A(I)*B(I)のベク
トル演算命令が実行されるが、このとき対応するマスク
データが1であるような要素のみがC(I)K格納され
、0であるような要素はC(I)には格納されないよう
に制御される。このようにして第2図のDoループをベ
クトル演算命令により実行することができる。このよう
すを第8図に示す。第8図の斜線部は変更されない(マ
スクされた)要素を表わしている。
次に、第4図に示すDOループを実行する場合を考える
。この場合も第2図のDOループと同様KX(I)とY
(I)とを比較することによりマスクデータが作成され
、次のベクトル演算命令により参照される。A(I )
*B(I )のベクトル演算命令を実行するときには、
第2図のDoループと同様にマスクデータの対応するビ
ットが1であるよう々要素の演算のみが実行される。一
方、D(I)*E(I>のベクトル演算命令を実行する
ときKは、上記のA(I)*B(I)の演算とは逆に、
X(1)とy(z)とが不一致の要素に対する演算のみ
を実行する必要がある。このため、上記のマスクデータ
(マスク0)をそのまま使用することはできない。
したがって、従来のベクトル演算装置においてはD(I
 )31E(I )のベクトル)算命令を実行する前に
ソフトウェアにより一スク0を反転するか、あるいは再
度MCI)とY(I)とからマスクデータを作成し直し
て(マスク1)いた。仁のようすを第5図に示す。
(発明が解決しようとする問題点) 上に説明したように、従来技術によるベクトル演算装置
においては、第4図に示すようなりOループをベクトル
演算命令により実行する場合には、IF文が成立する場
合と不成立の場合とで同一のマスクデータを使用するこ
とができず、マスクデータの作成し直しが必要なため演
算実行性能が低下するという欠点があった。
本発明の目的は、ソフトウェアのワード命令により内容
の変更が可能なマスクモードレジスタを新たに設け、こ
のマスクモードレジスタの内容ニ従ってベクトル演算実
行手段に供給されるマスクデータを反転することにより
上記欠点を除去し、ベクトル演算性能が向上できるよう
に構成したベクトル演算装置を提供するととくある。
(問題点を解決するための手段) 本発明によるベクトル演算装置は、ベクトルデータの各
要素に対応したマスクデータの値によって各要素ごとに
ベクトル演算を実行するか否かを指定することのできる
もので、マスクモードレジスタと、ベクトル演算実行ユ
ニットと、ベクトルデータバッファと、マスクモードレ
ジスタト、マスクデータ変更手段とを具備して構成した
ものである。
マスクモードレジスタは、ロード命令により内容を変更
することができるものである。
ベクトル演算実行ユニットは、ベクトル演算命令を実行
するためのものである。
ベクトルデータバッファは、ベクトル演算実行ユニット
にベクトルデータを供給するためのものである。
マスクデータレジスタは、ベクトルデータの各要素に対
応し九マスクデータを出力するためのものである。
マスクデータ変更手段は、iスフデータレジスタから出
力されるマスクデータをマスクモードレジスタの内容に
従って処理し、マスクデータをそのiま出力するか、あ
るいは反転して出力することによってベクトル演算実行
ユニットに入力するためのものである。
(実施例) 次に、本発明の実施例について図面を参照して説明する
第1図は、本発明によるベクトル演算装置の一実施例を
示すブロック図である。第1図において、ベクトル演算
装fluメインメモリ1と、メモリアクセス制御ユニッ
ト2と、スカラ演算ユニット3と、ベクトルデータ先取
りユニット4と、マスクモードレジスタ5と、マスクデ
ータレジスタ6と、第1および第2のベクトルデータバ
ッファ7.8と、ベクトル演算実行ユニット9と、NO
Tゲート10 、11と、第1および第2のANDゲー
ト12.13と、ORゲート14とから構成されている
メインメモリ1にはベクトル演算命令の命令語、ベクト
ルデータ、ならびにマスクデータが格納されるが、これ
らの他にベクトル演算命令以外の命令(以後、スカラ命
令と称する)の命令語やオペランドも格納される。メモ
リアクセス制御ユニット2はスカラ演算ユニット3、お
よびベクトルデータ先取シュニット4からメインメモリ
1に対して出力されるアクセスの制御を行い、メインメ
モリ1からの読出しデータ、およびメインメモリ1に対
する書込みデータを受取るユニットである。
スカラ演算ユニット5では、ベクトル演算命令以外のす
べての命令が実行される。スカラ演算ユニット5は、メ
モリアクセス制御ユニット2から受取った命令がスカラ
命令である場合忙は順次、命令を実行してゆくが、受取
った命令がベクトル演算命令の場合にはベクトルデータ
先取シュニラ)4に制御を渡す。ベクトルデータ先取シ
ュニット4は、ベクトル演算実行ユニット9により実行
されるベクトル演算命令のオペランドデータの先取りを
行うユニットである。ベクトルデータ先取?) ユニッ
ト4は、ORゲート14から1ビツトづつ送られてくる
マスクデータを参照しながらメモリアクセス制御ユニッ
ト2に対してベクトルデータの読出しを指示する。すな
わち、マスクビットが1である場合には、そのマスクビ
ットに対応するベクトルデータの読出し指示がメモリア
クセス制御ユニット!に対して出力されるが、マスクビ
ットがOである場合には、そのマスクビットに対応する
ベクトルデータの読出し指示は出力されない。
マスクモードレジスタ6は1ビツトのレジスタで、スカ
ラ演算二ニット5によってマスクモードレジスタ6に対
するロード命令が実行されたときに、その内容が書換え
られる。マスクモードレジスタ6の内容に応じて、メイ
ンメモリ1に格納されているマスクデータの解釈が以下
のように異なる。すなわち、マスクモードレジスタ6の
内容が0であるときには0の値を有するマスクビットに
対応するベクトル要素に対して演算が抑止され、1であ
るときには1の値を有するマスクピッ)K対応するベク
トル要素に対して演算が抑止されるものと解釈される。
マスクデータレジスタ6はメインメモリ1から読出され
た1ワ一ド分のマスクデータをセットするレジスタで、
セットされたマスクデータは1ビツトづつシフトされて
出力される。第1および第2のベクトルデータバッファ
7゜8はメインメモリ1から読出されたベクトルデータ
を一時的に格納し、ベクトル演算実行ユニット9へ送出
するためのバッファである。
ベクトル演算実行ユニット9では、第1および第2のベ
クトルデータバッファ7.8から送られてくるベクトル
データを使用して演算が行われ、演算結果はメモリアク
セス制御ユニット2を経由してメインメモリIK書込ま
れる。こむで、ベクトルデータに対応してORゲート1
4から送られてくるマスクビットがOである場合には、
演算およびメインメモリ1への書込み動作は行われない
NOTゲー)10.Itと、ANDゲート12゜13と
、ORゲート14とは全体として排他的論理和回路を構
成している。したがって、マスクモードレジスタ5の内
容の値がOのときにはマスクデータレジスタGの出力が
直接、ベクトルデータ先取シュニット4、およびベクト
ル演算実行ユニット9へ供給され、マスクそ−ドレジス
タ5の内容の値が1のときにはマスクデータレジスタ8
の出力が反転されてベクトルデータ先取りユニット4、
およびベクトル演真実行ユニツ)9へ供給される。
いま、第4図に示されるプログラムを第1図に示すベク
トル演算装置において実行する手順を説明する。第4図
に示されるプログラムでは、まずX(I)とY(I)と
の比較が行われ、マスクデータが作成される。マスクデ
ータの作成はベクトル演算実行ユニット9によって行わ
れ、メインメモリ1に格納される。次に、マスクモード
レジおり6に対するロード命令が実行され、その内容が
0とされた後にはA(I )*B(r )のベクトル演
算命令が実行される。したがって、このベクトル演算で
はメインメモリ1上のマスクデータが1となっているビ
ットに対応したベクトル要素に対する演算のみが行われ
る。A(I)*B(I)のベクトル演算命令の実行が終
了すると、再度、マスクモードレジスタ5に対するロー
ド命令が実行される。今度は、その内容が1とされた後
、D(I )*E(I )のベクトル演算命令が実行さ
れる。
したがって、このベクトル演算ではメインメモリ1上の
マスクデータが0となっているビットに対応したベクト
ル要素に対する演算のみが行われる。
既に説明したように、本発明ではベクトル演算命令を実
行する前に必ずマスクモードレジスタ5に値を設定して
おく必要がある。しかし、マスクモードレジスタ6への
ロード命令の実行時間をベクトル演算命令の実行時間に
比べてほとんど無視できるように構成することは可能で
ある。
(発明の効果) 本発明には以上説明したように、ソフトウェアのロード
命令により内容の変更が可能なマスクモードレジスタを
新たに設け、このマスクモードレジスタの内容に従って
ベクトル演算の実行に使用されるマスクデータを反転す
るととくよシ、ソフトウェアによるマスクデータの反転
、あるいは作シ直しを必要としないので、ベクトル演算
の性能を高速化できるという効果がある。
【図面の簡単な説明】
第1図は、本発明によるベクトル演算装置の一実施例を
示すブロック図である。 第2図および第4図は、それぞれフォートラン(FOR
TRAN )によるプログラムの実例を示す説明図であ
る。 第3図および第5図は、それぞれ第2図および第4図の
プログラムをベクトル演算命令で実行する場合の動作を
説明するための説明図である。 1@・・メインメモリ 2・・拳メモリアクセス制御ユニット 3・・・スカラ演算ユニット 4@・・ベクトルデータ先取シュニット5・・ψマスク
モードレジスタ 6・・・マスクデータレジスタ 7.8・・・ベクトルデータバッファ 9・・・ベクトル演算実行ユニット 1G、11 ・・・NOTゲート 12.13・・・ANDゲート 14働・・ORゲート

Claims (1)

    【特許請求の範囲】
  1. ベクトルデータの各要素に対応したマスクデータの値に
    よつて前記各要素ごとにベクトル演算を実行するか否か
    を指定することができるベクトル演算装置において、ロ
    ード命令により内容を変更することが可能なマスクモー
    ドレジスタと、ベクトル演算命令を実行するためのベク
    トル演算実行ユニットと、前記ベクトル演算実行ユニッ
    トにベクトルデータを供給するためのベクトルデータバ
    ッファと、前記ベクトルデータの前記各要素に対応した
    マスクデータを出力するためのマスクデータレジスタと
    、前記マスクデータレジスタから出力されるマスクデー
    タを前記マスクモードレジスタの内容に従つて処理し、
    前記マスクデータをそのまま出力するか、あるいは反転
    して出力することによつて前記ベクトル演算実行ユニッ
    トに入力するためのマスクデータ変更手段とを具備して
    構成したことを特徴とするベクトル演算装置。
JP26394684A 1984-12-14 1984-12-14 ベクトル演算装置 Pending JPS61141077A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26394684A JPS61141077A (ja) 1984-12-14 1984-12-14 ベクトル演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26394684A JPS61141077A (ja) 1984-12-14 1984-12-14 ベクトル演算装置

Publications (1)

Publication Number Publication Date
JPS61141077A true JPS61141077A (ja) 1986-06-28

Family

ID=17396449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26394684A Pending JPS61141077A (ja) 1984-12-14 1984-12-14 ベクトル演算装置

Country Status (1)

Country Link
JP (1) JPS61141077A (ja)

Similar Documents

Publication Publication Date Title
JPH01161442A (ja) レジスタ退避・回復方式
JPH034936B2 (ja)
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPH0363092B2 (ja)
JPS61141077A (ja) ベクトル演算装置
JPS63214804A (ja) Plc用プロセツサ及びplc
US20060101235A1 (en) Microprocessor
GB2069733A (en) Conditional instruction execution in a pipelined processor
JPH01271875A (ja) ベクトル演算制御方式
JPS61272872A (ja) ベクトル演算装置
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JPS6243775A (ja) ベクトル演算装置
JPS5999552A (ja) マイクロコンピユ−タ
JPH0460719A (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
JPS63249206A (ja) プログラマブルコントロ−ラ
JPH01236327A (ja) 割込みマスク制御方法
JPS623345A (ja) 割込方式
JPS6353644A (ja) 命令制御装置
JPS60189035A (ja) 情報処理装置
JPH05150943A (ja) コンピユータ装置
JPH03100829A (ja) プログラム内蔵型計算機
JPH02230326A (ja) パイプライン情報処理装置
JPH01271874A (ja) ベクトル演算制御方式
JPH0239326A (ja) プロセッサ
JPH0546389A (ja) 並列処理装置