JPH0154746B2 - - Google Patents

Info

Publication number
JPH0154746B2
JPH0154746B2 JP16595883A JP16595883A JPH0154746B2 JP H0154746 B2 JPH0154746 B2 JP H0154746B2 JP 16595883 A JP16595883 A JP 16595883A JP 16595883 A JP16595883 A JP 16595883A JP H0154746 B2 JPH0154746 B2 JP H0154746B2
Authority
JP
Japan
Prior art keywords
vector
mask
data
register
registers
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.)
Expired
Application number
JP16595883A
Other languages
English (en)
Other versions
JPS6059469A (ja
Inventor
Katsuaki Oowada
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
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP16595883A priority Critical patent/JPS6059469A/ja
Publication of JPS6059469A publication Critical patent/JPS6059469A/ja
Publication of JPH0154746B2 publication Critical patent/JPH0154746B2/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

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)

Description

【発明の詳細な説明】 本発明はベクトル処理装置に関する。
コンピユータの応用分野が拡大するにつれて、
コンピユータの高速データ処理性への要請は際限
なく広がりつゝある。超高速計算機(スーパーコ
ンピユータ)は、科学技術計算分野でのこのよう
な要請に応えるものとして、近年、特に開発が活
発化してきている。スーパーコンピユータにおい
ては、処理すべき膨大なデータをベクトルデー
タ、すなわち、順序付けられた一次元データ(ベ
クトルエレメントデータ)の集りとしてとらえ、
ベクトル処理装置が、パイプライン方式によつて
高速処理しているものが多い。
従来のこの種のベクトル処理装置は、ベクトル
データをそれぞれが保持する複数個のベクトルレ
ジスタと、ベクトルエレメントデータ(以下、エ
レメントデータと略記する)に対応するベクトル
マスクビツト(以下、マスクビツトと略記する)
からなるベクトルマスクデータ(以下、マスクデ
ータ)を保持するベクトルマスクレジスタ(以
下、マスクレジスタ)と、前記ベクトルレジスタ
の保持内容を演算するベクトル演算回路とを備え
ている。ベクトル演算回路において演算したエレ
メントデータは、ベクトル命令が演算を指定して
いる場合には、オペランド部で指定されるベクト
ルレジスタに格納されるが、このときにマスクレ
ジスタが保持する当該マスクビツトによつて格納
動作の制御を受ける。
このような従来構成においては、複数個のベク
トルレジスタに対して1個のマスクレジスタしか
備えていないため、マスクデータを更新するのに
ベクトル演算器を使用できず、スカラ演算器を使
用するスカラ命令により間接的に行なうことにな
り、マスクデータ更新時のオーバーヘツドが大き
くスカラ性能を低下させるという欠点がある。
この欠点を除去するために、上述の従来構成に
おけるのと同様なマスクレジスタをベクトルレジ
スタ対応に設けたベクトル処理装置が提案されて
いる。
しかし、このような提案においては、マスクレ
ジスタは従来構成においてと同様にマスクレジス
タ更新時にビツト直列に作動するためベクトル性
能が悪く、また演算済ベクトルデータをベクトル
レジスタに格納するときに、該ベクトルレジスタ
に対応するマスクレジスタのマスクデータを参照
するが、マスクレジスタが複数個あるため1個の
場合よりもマスクビツト取出しのためのアクセス
タイムが長くなり、さらにベクトル性能が低下す
るという新たな欠点を有している。
本発明の目的は、マスクデータ更新時における
スカラ性能低下とベクトル性能低下とを共に除去
するベクトル演算回路を提供することにある。
本発明の装置は、エレメントデータからなるベ
クトルデータをそれぞれの保持する複数個のベク
トルレジスタと、 前記エレメントデータに対応するマスクビツト
からなるマスクデータを保持する前記ベクトルレ
ジスタ対応のマスクレジスタと、 前記ベクトルレジスタまたは前記マスクレジス
タの保持内容を全ビツト並列に演算するベクトル
演算回路と、 該ベクトル演算回路における前記マスクデータ
の前記演算の結果を保持するベクトル制御レジス
タと、 前記ベクトル演算回路における前記エレメント
データの前記演算の結果を前記ベクトルレジスタ
に格納するときに前記ベクトル制御レジスタの保
持内容から対応するマスクビツトを選出するマス
クビツト選択回路 とを設け、該選出されたマスクビツトによつて演
算済エレメントデータの前記ベクトルレジスタへ
の更新動作を制御するようにしたことを特徴とす
る。
次に本発明について図面を参照して詳細に説明
する。
第1図は本発明の一実施例を示すブロツク図で
ある。
本実施例は、3個のベクトルレジスタVR0,
VR1およびVR2と、それぞれがこれらのベク
トルレジスタVR0,VR1およびVR2に対応す
るマスクレジスタMR0,MR1およびMR2と、
ベクトルデータ選択回路VDSと、マスクデータ
選択回路MDSと、2個の演算データ選択回路DS
0およびDS1と、ベクトル演算回路VALと、ベ
クトルデータレジスタVDRと、ベクトル制御レ
ジスタVCRと、格納データ選択回路SDSと、マ
スクビツト選択回路MBSと、制御部VCSとから
構成されている。ベクトルレジスタVR0,VR
1およびVR2それぞれは、64個のエレメントデ
ータからなるベクトルデータを保持でき、マスク
レジスタMR0,MR1およびMR2それぞれは、
これら各エレメントデータのマスク制御を行なう
ために64個のマスクビツトを保持できる。
ベクトル命令がベクトルデータの演算を指定し
ている場合には、制御部VCSはベクトルレジス
タVR0,VR1およびVR2それぞれアドレス信
号AD0,AD1およびAD2を出力して、該アド
レス信号により指定されるエレメントデータを順
次にベクトルデータ選択回路VDSに出力する。
アドレス信号AD0,AD1およびAD2は、ベク
トル命令のうちのデータ長指定部によつて、0か
ら最大63まで昇順に与えられる。
制御部VCSはベクトル命令の第2オペランド
部と第3オペランド部とから選択指示信号SC0
を発生してベクトルデータ選択回路VDSとマス
クデータ選択回路MDSとに供給する。ベクトル
データ選択回路VDSは、この選択指示信号SC0
に応答して、ベクトルレジスタを選択し、これら
ベクトルレジスタからのエレメントデータを順次
に演算データ選択回路DS0およびDS1に出力す
る。演算データ選択回路DS0およびDS1は、制
御部VCSからの選択指示信号SC1に応答してベ
クトルデータ選択回路VDSからのエレメントデ
ータを選択してベクトル演算回路VALに供給す
る。この場合、演算データ選択回路DS0および
DS1は、選択指示信号SC1に応答して、マスク
データ選択回路MDSからのマスクデータは受け
入れない。
ベクトル演算回路VALは、ベクトル命令のオ
ペレーシヨンコードによつて制御部VCSが出力
する演算制御信号ALCに応答して、演算データ
選択回路DS0およびDS1からのエレメントデー
タに対する演算を順次に行なう。この演算結果
は、ベクトルデータレジスタVDRに入力し、次
いで制御部VCSからの選択指示信号SC2に応答
して格納データ選択回路SDSに受け入れられ、最
終的にはベクトル命令の第1オペランド部によつ
て指定されるベクトルレジスタVR0,VR1ま
たはVR2のいずれかに書き込まれる。このと
き、制御部VCSは、エレメントデータごとにベ
クトルレジスタVR0,VR1およびVR2それぞ
れに書込指示信号WT0,WT1およびWT2を
供給して、演算済エレメントデータを書込すべき
かどうか制御する。
次に、ベクトル命令がマスクデータの更新を指
定している場合には、演算データ選択回路DS0
およびDS1は、選択指示信号SC1に応答して、
マスクデータ選択回路MDSからのマスクデータ
を受け入れ、ベクトル演算回路VALに供給する。
マスクデータ選択回路MDSは、前述のベクトル
演算時におけるのと同様に、選択指示信号SC0
に応答して、マスクレジスタを選択し、これらマ
スクレジスタが保持するマスクデータを受け入れ
ている。
ベクトル演算回路VALは、ベクトルデータの
演算時におけるのと同様にして、マスクデータの
演算を行ない、その演算結果をベクトル制御レジ
スタVCRに格納する。このとき、格納データ選
択回路SDSは、制御部VCSからの選択指示信号
SC2に応答してベクトル制御レジスタVCRの出
力を受け入れるようになつており、受け入れた演
算済マスクデータは、ベクトル命令の第1オペラ
ンド部で指定されるマスクレジスタMR0,MR
1またはMR2のいずれかに書き込まれる。
ベクトル制御レジスタVCRの出力は、マスク
ビツト選択回路MBSにおいて、制御部VCSから
の選択指示信号SC3に応答して1ビツトが選択
される。選択されたマスクビツトは、制御部
VCSに送付され、制御部VCSはこのマスクビツ
トに基づいて、先に説明したベクトルデータ書込
のための書込指示信号WT0,WT1およびWT
2を発生する。
第2図は、第1図におけるベクトルレジスタ
VR0,VR1およびVR2と、ベクトル制御レジ
スタVCRと、マスクレジスタMR0,MR1およ
びMR2との関係を一般化して示している。第2
図においては、それぞれが(N+1)個のエレメ
ントデータを保持できる(K+1)個のベクトル
レジスタVR0,VR1,VR2…VRKに対応し
て、それぞれが(N+1)ビツトを有する(K+
1)個のマスクレジスタMR0,MR1,MR2
…MRKが設けられ、さらに、(N+1)ビツト
を有する1個のベクトル制御レジスタVCRが設
けられている。前述の説明により、ベクトル制御
レジスタVCRには、マスクデータが更新された
マスクレジスタMR0,MR1,MR2…MRKの
いずれか一つの更新後のマスクデータが必ず保持
されることがわかる。
第3図は、マスクデータの更新が生起する一処
理例を示すフローチヤートである。本処理は、ベ
クトルレジスタVR0のI番目(I=0〜N)の
エレメントデータが0でなく、かつベクトルレジ
スタVR1のI番目のエレメントデータが負であ
るときにのみ、両エレメントデータの加算を行な
い、その加算結果をベクトルレジスタVR2のI
番目のエレメント位置に格納するというものであ
る。
本処理を実行するには、先ずベクトルレジスタ
VR0の全エレメントデータをベクトルデータ演
算を行なつて順次に調べて、0でない場合には同
じエレメント番号のマスクビツトを1に、また0
である場合には同じエレメント番号のマスクビツ
トを0にして、マスクレジスタMR0を更新す
る。次に、ベクトルレジスタVR1の全エレメン
トデータを同様にして調べて、負である場合には
同じエレメント番号のマスクビツトを1に、また
負でない場合には同じエレメント番号のマスクビ
ツトを0にして、マスクレジスタMR1を更新す
る。
しかるのち、マスクレジスタMR0が保持する
マスクデータと、マスクレジスタMR1が保持す
るマスクデータとのビツト単位のマスクデータの
論理積演算を(N+1)個のマスクビツトについ
て一挙(並列)に行ない、その演算結果をマスク
レジスタMR2に書き込む。このマスクレジスタ
MR2に書き込まれたマスクデータの写はベクト
ル制御レジスタVCRに保持される。
次いで、ベクトルレジスタVR0とVR1がそ
れぞれ保持するベクトルデータがエレメントデー
タ単位に加算される。この加算結果はベクトルレ
ジスタVR2に書き込まれるが、このときにマス
クビツト選択回路MBSが当該エレメントデータ
に対応するマスクビツトを、ベクトル制御レジス
タVCRの保持内容から選択して、制御部VCSに
供給する。制御部VCSは、前述のように、この
マスクビツト選択回路MBSからのマスクビツト
に基づいて、書込指示信号WT2を出力して、ベ
クトルレジスタVR2への書込制御を行なう。
第4図は、第3図の処理を行なうときのマスク
レジスタMR0,MR1およびMR2の関係をよ
り具体化して示している。
本発明によれば、以上のような構成の採用によ
り、マスクデータの演算がベクトル演算器で実行
されるようになるため、マスクデータ更新時にお
けるオーバーヘツドを少なくしてスカラ性能の低
下を軽減化できるとともに、演算済マスクデータ
の参照はベクトル制御レジスタを読みさえすれば
よくなるため、マスクレジスタのアクセスが不要
になり、ベクトル性能の低下も軽減化できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示し、第2図、第
3図および第4図は本実施例を説明するための図
を示す。 VR0,VR1,VR2……ベクトルレジスタ、
MR0,MR1,MR2……ベクトルマスクレジ
スタ(マスクレジスタ)、VDS……ベクトルデー
タ選択回路、MDS……ベクトルマスクデータ選
択回路(マスクデータ選択回路)、DS0,DS1
……演算データ選択回路、VAL……ベクトル演
算回路、VDR……ベクトルデータレジスタ、
VCR……ベクトル制御レジスタ、SDS……格納
データ選択回路、MBS……ベクトルマスクビツ
ト選択回路(マスクビツト選択回路)、VCS……
制御部。

Claims (1)

  1. 【特許請求の範囲】 1 ベクトルエレメントデータからなるベクトル
    データをそれぞれが保持する複数個のベクトルレ
    ジスタと、 前記ベクトルエレメントデータに対応するベク
    トルマスクビツトからなるベクトルマスクデータ
    を保持する前記ベクトルレジスタ対応のベクトル
    マスクレジスタと、 前記ベクトルレジスタまたは前記ベクトルマス
    クレジスタの保持内容を全ビツト並列に演算する
    ベクトル演算回路と、 該ベクトル演算回路における前記ベクトルマス
    クデータの演算の結果を保持するベクトル制御レ
    ジスタと、 前記ベクトル演算回路における前記ベクトルエ
    レメントデータの演算の結果を前記ベクトルレジ
    スタに格納するときに前記ベクトル制御レジスタ
    の保持内容から対応するベクトルマスクビツトを
    選出するベクトルマスクビツト選択回路 とを設け、該選出されたベクトルマスクビツトに
    よつて演算済ベクトルエレメントデータを前記ベ
    クトルレジスタへ格納するか否かを制御するよう
    にしたことを特徴とするベクトル処理装置。
JP16595883A 1983-09-09 1983-09-09 ベクトル処理装置 Granted JPS6059469A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16595883A JPS6059469A (ja) 1983-09-09 1983-09-09 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16595883A JPS6059469A (ja) 1983-09-09 1983-09-09 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS6059469A JPS6059469A (ja) 1985-04-05
JPH0154746B2 true JPH0154746B2 (ja) 1989-11-21

Family

ID=15822244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16595883A Granted JPS6059469A (ja) 1983-09-09 1983-09-09 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JPS6059469A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484255B1 (en) * 1999-09-20 2002-11-19 Intel Corporation Selective writing of data elements from packed data based upon a mask using predication
GB2470782B (en) 2009-06-05 2014-10-22 Advanced Risc Mach Ltd A data processing apparatus and method for handling vector instructions
US20120254588A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask
JP5881163B2 (ja) * 2012-03-30 2016-03-09 Necプラットフォームズ株式会社 ベクトル処理装置、ベクトル演算処理装置の制御方法
US9400650B2 (en) * 2012-09-28 2016-07-26 Intel Corporation Read and write masks update instruction for vectorization of recursive computations over interdependent data
US9378182B2 (en) * 2012-09-28 2016-06-28 Intel Corporation Vector move instruction controlled by read and write masks

Also Published As

Publication number Publication date
JPS6059469A (ja) 1985-04-05

Similar Documents

Publication Publication Date Title
EP0240032B1 (en) Vector processor with vector data compression/expansion capability
EP0148478B1 (en) A data processor with control of the significant bit lenghts of general purpose registers
US4745547A (en) Vector processing
US5809274A (en) Purge control for ON-chip cache memory
JPH07152733A (ja) ベクトル・データを処理するコンピュータ・システムおよび方法
JPS6234242A (ja) デ−タ処理システム
JPS59174948A (ja) 情報処理装置
JPS6363945B2 (ja)
JPH0562387B2 (ja)
US6088782A (en) Method and apparatus for moving data in a parallel processor using source and destination vector registers
US4620274A (en) Data available indicator for an exhausted operand string
JP3737755B2 (ja) レジスタウィンドウ方式によるレジスタファイル及びその制御方法
JPH0154746B2 (ja)
US3898626A (en) Data processing apparatus
US4608633A (en) Method for decreasing execution time of numeric instructions
JPH0748179B2 (ja) データ処理装置
US4812970A (en) Microprogram control system
US5729723A (en) Data processing unit
JPS59114677A (ja) ベクトル処理装置
EP0105125B1 (en) Data processing system
JPS6058487B2 (ja) デ−タ処理装置
JP3454393B2 (ja) データ処理装置
JPH06309349A (ja) プログラム制御のプロセッサ
JPH0616287B2 (ja) マスク付きベクトル演算処理装置
CA1155232A (en) Pipelined digital signal processor using a common data and control bus