JPS6089274A - ベクトルマスク制御システム - Google Patents

ベクトルマスク制御システム

Info

Publication number
JPS6089274A
JPS6089274A JP58196438A JP19643883A JPS6089274A JP S6089274 A JPS6089274 A JP S6089274A JP 58196438 A JP58196438 A JP 58196438A JP 19643883 A JP19643883 A JP 19643883A JP S6089274 A JPS6089274 A JP S6089274A
Authority
JP
Japan
Prior art keywords
instruction
vector
mask
signal line
vector mask
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.)
Granted
Application number
JP58196438A
Other languages
English (en)
Other versions
JPS6156822B2 (ja
Inventor
Katsuaki Owada
大和田 克明
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
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58196438A priority Critical patent/JPS6089274A/ja
Priority to US06/661,462 priority patent/US4656581A/en
Priority to DE8484112593T priority patent/DE3485915T2/de
Priority to EP84112593A priority patent/EP0140299B1/en
Publication of JPS6089274A publication Critical patent/JPS6089274A/ja
Publication of JPS6156822B2 publication Critical patent/JPS6156822B2/ja
Granted 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
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch

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

【発明の詳細な説明】 本発明は複数の要素からなるオペランド保持手段の各要
素を順次取出し、同時にマスク情報保持手段の要素も順
次取出し、該マスク情報保持手段の要素に対応して当該
オペランドの各要素について演算するベクトルマスク制
御方式に関する。
従来技術 一般にベクトルデータ等の大量のデータを処理する場合
、そのデータのすべての要素が有効な演算すべきデータ
であることは少なく、演算すべきデータと演算する必要
のないデータが混在していることが多い。そのためオペ
ランドの各要素データに対応してマスク情報を用意し、
このマスク情報を参照しながら対応するオペランドの各
要素データについて演算制御を行なう方式が採用されて
いる。
このようなデータ処理装置においては、命令実行形態と
してマスク情報を参照する場合と参照しない場合との2
つの形態がある。そのため従来は命令語の中に設置され
た上記マスク参照全行なうか否かを指定するフィールド
を設は命令語解読時にその内容に↓り実行形態を決定す
る方式が採用されている。
令弟1図に示すようにベクトル/A(IL l]J(υ
、Φ(IJ (I = 1〜n cr)要素数9が定義
さJしてい一’C/’A’J)〉0の時籟J−)=F 
(A(I)、IB(I)) (F(x、 y )は任意
の関数)によff(L!(I)をめA(I)≦0の時C
(I)をめないようなプログラムがあり、この時(D(
1)i求めるルーチンが汎用のサブルーチンを使いたい
とする。この場合の処理としては、1ずA (I>の内
容が判定され/A(I)>0なら対応するベクトルマス
クM(I)−1とし/A(I)≦0ならM(I)=oと
するベクトルマスクの生成が行なわれる。次にM<I)
を参照してサブルーチンが実行される。この時のサブル
ーチン自身は通常汎用性を持たせるため上記マスク制御
を意識していないことが多い。このよりなケースで従来
のマスク参照全命令語中で指定する方式ではサブルーチ
ンをそのまま使用できない。
このため別にサブルーチン内のマスク付演算の対象とす
る命令語の中でマスク参照を指定するサブルーチンの必
要が生じ極めて効率の悪いことになる。すなわち、上述
のようなサブルーチンに対しては使用する側のプログラ
ムに応じて2種類のサブルーチンを用意しなければなら
ないという柔軟性に欠ける欠点がある。
発明の目的 本発明の目的は、上述の欠点を除去し、ベクトル処理プ
ログラムにリンクされたサブルーチン自身がマスク制御
を意識する必要性をなくシ、柔軟なかつ効率的なプログ
ラミングの作成および実行を可能とするベクトルマスク
制御システム?提供することにある。
発明の構成 本発明のシステムは、それぞれ複数の一要素からなる複
数個のオペランドを保持するオペランド保持手段と、前
記オペランドの各要素に対応する複数の要素からなるマ
スク情報を保持するマスク情報保持手段と、前記オペラ
ンド保持手段からのオペランドの各要素を順次取出す同
時に前記マスク情報の要素も順次取出し、該マスク情報
の要素に対応して前記オペランドの各要素について演算
するマスク付演算命令実行手段とを備えだベクトルマス
ク制御システムにおいて、 命令解読時マスク付演算を対象とする命令を判別する第
1の手段と、 この第1の手段の下で命令語のあるエリアで指定したマ
スク付演算の有効/無効を判定してマスク付演算を指示
する第2の手段と、 マスク付演算の有効/無効状態を規定するモードを保持
する第3の手段と、 前記第1の手段からの判別結果に応答して前記第3の手
段によりマスク伺演算を指示する第4の手段と、 前記第2または第4の手段により前記ベクトル命令実行
手段に対しマスク付演算命令の実行を指示する第5の手
段とを含む。
発明の実施例 次に、本発明について第3図を参照し7て詳細に説明す
る。
第3図を参照すると、本発明の一実施例は、実行すべき
命令語を格納するレジスタ1、マスク付演算を対象とす
る命令か否かを解読する解読器2、現在実行中のプロセ
スの管理下にありプログラムのベクトルマスク制御方式
を指定するモードフリップフ四、プ3、ベクトル命令実
行ユニット5、このユニット5に対するマスク付演算命
令の実行を指示するフリップフロシブ4、および命令語
の解読および起動処理を行なう命令側に1部6から4i
り成されている。
信号線100は、前記解読器2に接続されておp1前記
レジスタlの中の命令コードを伝送ノ°る。
前記解読器2は予め規定されたマスク付演算が可能な命
令コードを解読する回路である。信号線100を介して
与えられる内容が該マスク付演算可能な命令の場合、解
読結果を信号線101に送出する。信号線101の内容
が論理l′11の時実行しようとする命令がマスク付演
算を対象としていることを示す。信号ff51o2は実
際にマスク付演算を有効とするか否かを規定する信号線
である。
信号#tOaは命令制御部6におけるレジスタ1の命令
コードの解読結果に応答[7てモードフリップフロップ
3をセ、卜するセット信号線である。
この信号線の内容が論理″1″の時、すなわち、モード
フリップフロ、プ3のセット命令を実行した結果、信号
線105は論理゛1”となり信号線106は論理”0″
となる。一方、信号線104も命令制御部6からの解読
結果に応答してモードフリップフロップ3をリセットす
る信号線でその内容が論理″11′の時、すなわち、モ
ードフリ。
プフロ、プ3のリセット命令を実行した結果、信号線1
05は論理1゛0°°とな9信号線106は論理″1″
となる。モードフリップフロップ3が論理′11”の時
は、実行する命令語がマスク付演算を対象とする命令で
あれば常にベクトル命令実行ユニ、トに対し、マスク付
演算の実行を指示する。
ゲー)AIは信号線101,102および106に対す
る論理積ゲートであり、モードフリップフロップ3が論
理゛0′°でかつ実行しようとする命令を解読した結果
、信号線101が論理II I 11かつ命令語中でマ
スク付演算を有効としている場合、すなわち、信号線1
02が論理“1°゛の時ゲートA1の出力線107は論
理″111となる。一方、ゲー)Blは信号線101お
よび105に対する論理積ゲートでモードフリ、プフロ
、プ3が論理“1″でかつ命令コードの解読結果信号線
101が論理″1′の時ゲー)Blの出力線108は論
理11″となる。ゲー)01は信号線107および10
8に対する論理和ゲートであり、少なくとも信号線10
7または信号線108のどちらかが論理′11゛の時信
号線109は論理”1″となる。
4はベクトル命令実行ユニットに対するベクトルマスク
付演算を指示するフリラグフロッグであり、信号線10
9が論理”1″の時該フリップノロツブは論理“1°゛
となり信号線110を介し7でベクトル命令実行ユニッ
トへマスク付演算の実行指示を行なう。命令制御部6で
は信号線100を介して与えられる命令コードおよび信
号線111を介して与えられる付加情報を入力として命
令Gr4の解読および起動制御が行なわれる。命令コー
 ドの解読により命令がベクトル命令と判定されれt、
Il、命令制御部6はベクトル命令実行ユニット5に9
:J I。
信号線112を介して命令の起動を指示し7り\つ信号
線113を介して演算に必要な制御情報を送出する。
本実施例に示すベクトル命令実行ユニッl−tよ、マス
ク付ベクトル演算命令が実行可能なユニットで構成は一
般的に知られているのでここでは概略説明をするだけに
留め乙。
第4図におけるを参照すると、一実施例のベクトル命令
実行ユニ、ト5は、ベクトル命令制御部50、ベクトル
マスク制御部51,52.53は複数のエレメントを含
むベクトルデータ記憶部52オヨヒ5゛3、前記ベクト
ルデータの各エレメントに対応したベクトルマスクを保
持するベクトルマスクデータ記憶部54、ベクトルデー
タ記憶部52および53から読み出されたベクトルデー
タを入力として順序演算するパイプライン構成のベクト
ルデータ演算部55、および読み出されたベクトルデー
タに対応して前記ベクトルマスクデータ記憶部54から
順序読み出されたベクトルマスクを前記ベクトルデータ
演算部55の各パイプラインのステージに対応して保持
するシフトレジスタ56から構成されている。
次にマスク付ベクトル演算の動作を簡単に説明する。
命令制御部6から信号線112を介してベクトル命令の
実行が起動される。この時同時に命令実行に必要な情報
が信号線113を介してベクトル命令制御部50に送出
され、かつ信号線110を介してマスク付演算指定がベ
クトルマスク制御部51に指示される。
実行指示を受けたベクトル命令制御部50&よ、信号線
113を介して送られてきた情報を解読し、信号線50
2および503を介して、べ、クトルデータ記憶部52
および53にアドレスおよび読み出し指示をそれぞれ送
出する。この時ベクトル命令制御部50は信号線500
を介してベクトルマスク制御部50にベクトルマスク読
出し指示を行ない、信号、疎504を介して、ベクトル
マスクデータ記憶部54に対し、アドレスおよび読出し
指示を行なう。またベクトル命令制御部5(ltよ、信
号線501を介してベクトルデータ演算部55に対し演
算指定を指示する。前記読み出されたベクトルデータは
信号線505および5013を介し、てベクトルデータ
演算部55に順次供給され前記演算指定に従いパイプラ
イン金通過しながら演算される。演算結果は信号線50
8を介してベクトルデータ記憶部52および53に送出
される。一方ベクトルマスクデータ記憶部54から順次
読み出されたベクトルマスクデータは、信号線507を
介してシフトレジスタ56へ供給され演算ハイプライン
の動作に同期してシフトされる。演算結果の送出と同じ
タイミングで演算結果に対応したベクトルマスクが信号
線509を介してベクトルマスク制御部51に送出され
る。ベクトルマスク制御部51は、送出されてきたベク
トルマスクの内容により信号線500を介してベクトル
命令制御部50に対し、演算結果のベクトルデータ記憶
部52お工び53への格納可否を指示する。すなわち、
ベクトルマスクの内容が有効な値(例えば16)の時は
信号線502まだは503′ff:介して、アドレスお
よび書込み指示を送出する。一方、ベクトルマスクの内
容が無効な値(例えげ”0゛°)の時は信号線502ま
たは503を介して袖込み指示を抑止する。
以上の動作によりマスク付ベクトル演/y’i命令が実
行される。
次に一例としてプログラムと関連ぢせ゛C不実施例を説
明する。
以上のような実施例において、これがら実行するプログ
ラムに対するモードフリップフロップ3が論理゛0″の
時はマスク付演算の実行は命令語の中のマスク付演算の
有効/無効を示すフィールドの値に依存する。すなわち
、命令語119¥読時命令コードを解読器2により解読
しマスク付演算を対象とする命令でかつマスク付演算の
有効/無効フィールドが論理”1′の場合、信号線10
1.102および106はすべて論理゛1”°となり信
号線107も論理11111となる。従って、フリップ
フロップ4のセット信号線109が論理“1゛となり、
該フリ、プフロップが論理111°となるため信号線1
10を介してベクトル命令実行ユニットに対しマスク付
演算命令の実行を指示することになる〇 一方これから実行するプログラムルーチンが、例えば、
サブルーチンとして作られたルーチンであるためマスク
制御を特に命令語中で規定していない場合にマスク参照
をしながら該ザブルーチンを実行させたいケースが生じ
る。例えば−例として第2図に示すように、プロセス1
の管理下のプログラムAの実行によ凱マスク情報を生成
し、該マスクの情報を参照して、プロセス2の%Q[下
のプログラムBのサブルーチンを実行したい場合である
。今サブルーチンがn個の要素数を持つ2つのベクトル
データ、A(I) 、 113(I) (I = 1〜
n ) K対しある関数F (A fI) 、1t((
I) )を算出しベクトルデータC(υとするルーチン
である場合、ベクトルA(1)に対するマスク情報M、
(I)が001“の時はベクトルデータqC(幻はその
ままでM(i)が′11”の時だけ■(I) = E’
 (A(、[) 、1BCI) )を実行することにな
る。このような場合、該サブルーチンを実行するに先だ
ってプロセス1から2への切換時モードフリ、ブフロッ
プ3を嗣埋“11″にセットして訃けはサブルーチン実
行時、命令語中でマスク付演算の有効全指定しなくとも
命令実行時マスク付演算を行なうことが可能となる。サ
ブルーチンの実?iが終了してプログラムAへ戻る際プ
ロセス2から1への切換時に前記モード7す、プフロ、
プ3f:リセットすれば以後命令語中のマスク付演算の
有効/無効フィールドの値によりマスク付演算を決定し
ながらプログラムを実行することになる。
以上のようにサブルーチンB自身はマスク参照を意識せ
ずに実行時にはマスク制御モードフリップフロップ3の
制御の下でザブルーチンBをマスク制御することが可能
となる。
発明の効果 本発明にはマスク付演算を行なうベクトル命令実行指示
を命令語のあるエリアで指定する方式および命令語の中
での指定に関係なく実行しようとするプログラム全体に
共通にマスク付演j′fヲ対象とする命令語に対しマス
ク付演算を有効化ノーる方式の両方を備えることにより
柔軟がつ効率の、【いプログラムの作成外、シび実行を
可能にさせるという効果がちる。
【図面の簡単な説明】
第1図は本発明の背景を示すためのフrl−ナヤート、
第2図は一実施例Q動仰を説明するための図、第3図は
本発明の一実施を示す図、および第4図は一実施例のベ
クトル命令実行ユニットの一例を示す図である。

Claims (1)

  1. 【特許請求の範囲】 それぞれ複数の要素からなる複数個のオペランドを保持
    するオペランド保持手段と、 前記オペランドの各要素に対応する複数の要素からなる
    ベクトルマスク情報を保持するベクトルマスク情報保持
    手段と、前記オペランド保持手段からオペランドの各要
    素を順次取出す同時に前記ベクトルマスク情報保持手段
    からベクトルマスク情報の要素も順次取出し、該ベクト
    ルマスク情報の要素に対応して上記オペランドの各要素
    について演算を行なうベクトルマスク付演算命令実行手
    段とを備えたベクトルマスク制御システムにおいて、命
    令語解読時ベクトルマスク付演算を対象とする命令を判
    別する第1の手段と、 この第1の手段の下で命令語のあるエリアで指定したベ
    クトルマスク付演算の有効/無効を判定してベクトルマ
    スク付演算を指示する第2の手段と、前記第1の手段が
    らの判別結果に応答してベクトルマスク付演算の有効/
    無効状態を規定するモードを保持する第3の手段と、前
    記第3の手段からのモードに応答してベクトルマスク付
    演算を指示する第4の手段と、 前記第2または第4の手段により前記ベクトル命令実行
    手段に対しベクトルマスク付演算命令の実行を指示する
    第5の手段とを含むことを特徴とするベクトルマスク制
    御システム。
JP58196438A 1983-10-20 1983-10-20 ベクトルマスク制御システム Granted JPS6089274A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP58196438A JPS6089274A (ja) 1983-10-20 1983-10-20 ベクトルマスク制御システム
US06/661,462 US4656581A (en) 1983-10-20 1984-10-16 Vector mask control system
DE8484112593T DE3485915T2 (de) 1983-10-20 1984-10-18 Vektormaskierungssteuerungssystem.
EP84112593A EP0140299B1 (en) 1983-10-20 1984-10-18 Vector mask control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58196438A JPS6089274A (ja) 1983-10-20 1983-10-20 ベクトルマスク制御システム

Publications (2)

Publication Number Publication Date
JPS6089274A true JPS6089274A (ja) 1985-05-20
JPS6156822B2 JPS6156822B2 (ja) 1986-12-04

Family

ID=16357823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58196438A Granted JPS6089274A (ja) 1983-10-20 1983-10-20 ベクトルマスク制御システム

Country Status (4)

Country Link
US (1) US4656581A (ja)
EP (1) EP0140299B1 (ja)
JP (1) JPS6089274A (ja)
DE (1) DE3485915T2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858115A (en) * 1985-07-31 1989-08-15 Unisys Corporation Loop control mechanism for scientific processor
JP2667806B2 (ja) * 1985-10-11 1997-10-27 株式会社日立製作所 ベクトルプロセツサ
US4949247A (en) * 1988-02-23 1990-08-14 Stellar Computer, Inc. System for transferring multiple vector data elements to and from vector memory in a single operation
US4949250A (en) * 1988-03-18 1990-08-14 Digital Equipment Corporation Method and apparatus for executing instructions for a vector processing system
US5210834A (en) * 1988-06-01 1993-05-11 Digital Equipment Corporation High speed transfer of instructions from a master to a slave processor
US5553309A (en) * 1991-11-08 1996-09-03 Japan Atomic Energy Research Institute Device for high speed evaluation of logical expressions and high speed vector operations
US5623685A (en) * 1994-12-01 1997-04-22 Cray Research, Inc. Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US5832288A (en) * 1996-10-18 1998-11-03 Samsung Electronics Co., Ltd. Element-select mechanism for a vector processor
US6484255B1 (en) * 1999-09-20 2002-11-19 Intel Corporation Selective writing of data elements from packed data based upon a mask using predication
WO2013101232A1 (en) 2011-12-30 2013-07-04 Intel Corporation Packed rotate processors, methods, systems, and instructions

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4139899A (en) * 1976-10-18 1979-02-13 Burroughs Corporation Shift network having a mask generator and a rotator
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
JPS6053908B2 (ja) * 1980-07-17 1985-11-27 富士通株式会社 マスクレジスタを使用した演算方式

Also Published As

Publication number Publication date
US4656581A (en) 1987-04-07
EP0140299B1 (en) 1992-09-09
EP0140299A3 (en) 1988-01-07
DE3485915T2 (de) 1993-01-14
JPS6156822B2 (ja) 1986-12-04
DE3485915D1 (de) 1992-10-15
EP0140299A2 (en) 1985-05-08

Similar Documents

Publication Publication Date Title
US4954943A (en) Data processing system
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US5479622A (en) Single cycle dispatch delay in a multiple instruction dispatch mechanism of a data processing system
JPS6089274A (ja) ベクトルマスク制御システム
JPH03171231A (ja) マイクロコンピュータシステム
JPS6212529B2 (ja)
JPS583040A (ja) 情報処理装置
JP2553200B2 (ja) 情報処理装置
US5187782A (en) Data processing system
JPS6217773B2 (ja)
JPH06103064A (ja) データ処理装置及びそのデータ処理方法
JPS59183434A (ja) 命令先取り制御方式
JPH0667896A (ja) シングルチップマイクロコンピュータ
JPS6250855B2 (ja)
JPS5952348A (ja) マイクロプログラム制御装置
JPH06161778A (ja) マルチフロー命令制御方法及び命令処理装置
JPH0375904B2 (ja)
JPH05100901A (ja) マイクロコンピユータ
JPS59160239A (ja) 情報処理装置
JPS61267135A (ja) デ−タ処理装置
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPS59112321A (ja) 中央処理装置の制御方式
JPH05241825A (ja) マイクロプロセッサ
JPS62145428A (ja) 演算処理装置
JPH0833820B2 (ja) マイクロプログラム制御装置