JPS6059469A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPS6059469A
JPS6059469A JP16595883A JP16595883A JPS6059469A JP S6059469 A JPS6059469 A JP S6059469A JP 16595883 A JP16595883 A JP 16595883A JP 16595883 A JP16595883 A JP 16595883A JP S6059469 A JPS6059469 A JP S6059469A
Authority
JP
Japan
Prior art keywords
vector
mask
data
register
circuit
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
JP16595883A
Other languages
English (en)
Other versions
JPH0154746B2 (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 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

Abstract

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

Description

【発明の詳細な説明】 本発明はベクトル処理装置に関する。
コンピュータの応用分野が拡大するにつれて、コンピュ
ータの高速データ処理性への要請は際限なく広がυつ\
ある。超高速計算機(スーパーコンピータ)は、科学技
術計算分野でのこのような要請に応えるものとして、近
年、特に開発が活発化してきている。スーパーコンピュ
ータにおいては、処理すべき膨大なデータをベクトルデ
ータ、すなわち、順序付けられた一次元データ(ベクト
ルエレメントデータ)の集シとしてとらえ、ベクトル処
理装置が、パイプライン方式によって高速処(ffl、
ているものが多い。
従来のこの種のベクトル処理装置は、ベクトルデータを
それぞれが保持する複数個のベクトルレジスタと、ベク
トルエレメントデータ(以下、エレメントデータと略記
する)に対応するベクトルマスクビット(以下、マスク
ビットと略記する)からなるベクトルマスクデータ(以
下、マスクデータ)を保持するベクトルマスクレジスタ
(以下、マスクレジスタ)と、前記ベクトルレジスタの
保持内′gを演算するベクトル演算回路とを備えている
。ベクトル演算回路において演算したエレメントデータ
は、ベクトル命令が演算を指定している場合には、オペ
ランド部で指定されるベクトルレジスタに格納されるが
、このときにマスクレジスタが保持する当該マスクビッ
トによって格納動作の制御を受ける。
このような従来構成においては、複数個のベクトルl/
シフタに対して1個のマスクレジスタしか備えていたい
ため、マスクデータを更新するのにベクトル演算器を使
用できず、スカラ演算器を使用するスカラ命令により間
接的に行なうことになり、マスクデータ実新時のオーバ
ーヘッドが大きくスカラ性能を低下させるという欠点が
ある。
この欠点を除去するために、上速の従来構成におけるの
と同様なマスクレジスタをベクトルレジスタ対応に設け
たベクトル処理装置が提案されている。
しかし、このよう方提案においては、マスクレジスタは
従来構成においてと同様にマスクレジスタ更新時にビッ
ト直列に作動するためベクトル性能が悪く、また演算器
ベクトルデータをベクトルレジスタに格納するときに、
該ベクトル制ジスタニ対応するマスクレジスタのマスク
データを参照するが、マスクレジスタが複数個あるため
1個の場合よりもマスクビット取出しのためのアクセス
タイムが長くなり、さらにベクトル性能が低下するとい
う新たな欠点を有している。
本発明の目的は、マスクデータ更新時におけるスカラ性
能低下とベクトル性能低下とを共に除去するベクトル処
理装置を提供することにある。
本発明の装置に1エレメントデータからなるベクトルデ
ータをそれぞれが保持する複数個のベクトルレジスタと
、 前記エレメントデータに対応するマスクビットからなる
マスクデータを保持する前記ベクトルレジスタ対応のマ
スクレジスタと、 前記ベクトルレジスタまたは前記マスクレジスタの保持
内容を全ビ・ノド並列に演算するベクトル演算回路と、 該ベクトル演算回路における前記マスクデータの前記演
算の結果を保持するベクトル制御レジスタと、 前記ベクトル演算回路における前記エレメントデータの
前記演算の結果を前記ベクトルレジスタに格納するとき
に前記ベクトル制御レジスタの保持内容から対応するマ
スクビットを選出するマスクビット選択回路 とを設け、該選出されたマスクビ・ントによって演算器
エレメントデータの前記ベクトルレジスタへの更新動作
を制御するようにしたこと′lf:特徴とする0 次に本発明について図面を参照して詳細に説明する。
第1図は本発明の一実施例を示すプロ・ノクレ1である
本実施例は、3個のベクトルレジスタVRO。
VRIおよびVB2と、それぞれがこれらのベクトルレ
ジスタvaQ、V几1およびVB2に対応するマスクレ
ジスタMRO,MRIおよびM几2と、ベクトルデータ
選択回路VDSと、マスクデータ選択回路MDSと、2
個の演算データ選択回路DSOおよびDSlと、ベクト
ル演p−回路VA、Lと、ベクトルデータレジスタVD
Rと、ベクトル制御レジスタVCRと、格納データ選択
回路SDSと、マスクビット選択回路MBSと、制御部
VC8とから構成されている。ベクトルレジスタVll
、Q。
■几1およびV几2それぞれは2.64個のエレメント
データからなるベクトルデータを保持でき、マスクレジ
スタMM、MR)およびMB2それぞれは、これら各エ
レメントデータのマスク制御を行なうために64個のマ
スクビットを保持できる。
ベクトル命令がベクトルデータの演η4を指定している
場合には、制御部VC8はベクトルレジスタ■几0.v
n、1および■几2それぞれにアドレス信号ADo、A
DiおよびAD2を出力して、該アドレス信号により指
定されるエレメントデータを順次にベクトルデータ選択
回路VDSに出力する。アドレス信号A、DO,ADI
およびAD2け、ベクトル命令のうちのデータ長指定部
によって、0から最大63まで昇順に与えられる。
制御部vcsuベクトル命令の第2オペランド部と第3
オペランド部とから選択指示信号SCOを発生してベク
トルデータ選択回路VDSとマスクデータ選択回路MD
Sとに供給する。ベクトルデータ選択回路VDSは、こ
の選択指示信号SCOに応答して、ベクトルレジスタを
選択し、これらベクトルレジスタからのエレメントデー
タを順次に演算データ選択回路DSQおよびDSIに出
力する。演算データ選択回路DSOおよびDSLは、制
御部VC8からの選択指示信号SCIに応答してベクト
ルデータ選択回路VDSがらのエレメントデータを選択
してベクトル演算回路VALに供給する。この場合、演
算データ選択回路DsoおよびDSIは、選択指示信号
sc1に応答して1マスクデ一タ選択回路MDSからの
マスクデータは受け入れない。
ベクトル演算回路VALは、ベクトル命令のオペレーシ
ョンコードによって制御部vcSが出力する演算制御信
号ALCに応答して、演算データ選択回路DSQおよび
DS、からのエレメントデータに対する演算を順次に行
なう。この演算結果は、ベクトルデータレジスタVDH
に入力し、次いで制御部■C8からの選択指示信号SC
2に応答して格納データ選択回路SDSに受け入れられ
、最終的にはベクトル命令の第1オペランド部によって
指定されるベクトルレジスタvRQ、v几1−?!。
たはVB2のいずれかに書き込まれる。このとき、制御
部■C8は、エレメントデータごとにベクトルレジスタ
■几o、V几1およびVB2それぞれに書込指示信号W
T o 、 WT 1およびWT2に供給して、演算筒
エレメントデータを書込すべきかどうか制御する。
次に、ベクトル命令がマスクデータの更新を指定してい
る場合には、演算データ選択回路DSQおよびDSIは
、選択指示信号8C1に応答して、マスクデータ選択回
路MD8からのマスクデータを受け入れ、ベクトル演算
回路VALに供給する。
マスクデータ選択回路MDSは、前述のベクトル演算時
におけるのと同様に、選択指示信号SCOに応答して、
マスクレジスタを選択し、これらマスクレジスタが保持
するマスクデータを受け入れている。
ベクトル演算回路VALは、ベクトルデータの演詩一時
におけるのと同様にして、マスクデータの演算を行ない
、その演算結果をベクトル制御レジスタVCRに格納す
る。このとき、格納データ選択回路SDSは、制御部■
C8からの選択指示信号SC2に応答してベクトル制御
レジスタVC几の出力を受け入れるようになっており、
受は入れた演算筒マスクデータは、ベクトル命令の第1
オペランド部で指定されるマスクレジスタMI(Q。
MRIまたはM几2のいずれかに書き込まれる。
ベクトル制御レジスタ■CRIの出力は、マスクビット
選択回路MBSにおいて、制御部■C8からの選択指示
信号SC3に応答して1ビツトが選択される。選択され
たマスクビットは、制御部■C8に送付され、制御部v
C8はこのマスクビットに基づいて、先に説明したベク
トルデータ書込のための書込指示信号w’r□、w’r
1および込12を発生する。
第2図は、第1図におけるベクトルレジスタVRQ、V
R,およびVB2と、ベクトル制御レジスタVCRと、
マスクレジスタIVIRQ、M几1およびM几2との関
係を一般化して示している。第2図においては、それぞ
れが(N+1)個のエレメントデータを保持できる(K
+1)個のベクトルレジスタ■几0.v)tl、v几2
・・・VRKに対応して、それぞれが(N+1)ビット
を有する(K+1)個のマスクレジスタMRQ、M几1
.M几2・・・VRKが設けられ、さらに、(N+1)
ビットを有する1個のベクトル制御レジスタVCRが設
けられている。前述の説明により、ベクトル制御レジス
タVC几ニハ、マスクデータが更新されたマスクレジス
タMR0゜1’JR1,MR2・・・MRKのいずれか
一つの更U[のマスクデータが必ず保持されることがわ
かる。
第3図は、マスクデータの更新が生起する一処理例を示
すフローチャートである。本処理は、ベクトルレジスタ
■几0の工番目(1=0〜N)のエレメントデータが0
でなく、かつベクトルレジスタV几1の1番目のエレメ
ントデータが負であるときにのみ、両エレメントデータ
の加算を行ない、その加!果をベクトルレジスタV几2
の工番目のエレメント位1dに格納するというものであ
る。
本処理を実行するには、先ずベクトルレジスタVROの
全エレメントデータをペクトデータ演算を行なって順次
に調べて、0でない場合には同じエレメント番号のマス
クビットを1に、またOである場合には同じエレメント
番号のマスクビット’tOKLi、マスクレジスタM几
0を更新する。
次に、ベクトルレジスタVR1の全エレメントデータを
同様にして順次に調べて、負である場合には同じエレメ
ント番号のマスクピッ[rxに、また負でない場合には
同じエレメント番号のマスクビットf、0にして、マス
クレジスタMR1を更新する。
しかるのち、マスクレジスタMR0が保持−jるマスク
データと、マスクレジスタMR1が保持するマスクデー
タとのビット単位のマスクデータの論理積演算e(N+
t)個のマスクビットについて一挙(並列)に行ない、
その演算結果をマスクレジスタMR2に書き込む。この
マスクレジスタMR2に書き込まれたマスクデータの写
はベクトル制御レジスタVCRに保持される。
次いで、ベクトルレジスタVROとMR1がそれぞれ保
持するベクトルデータがエレメントデータ単位に加算さ
れる。この加算結果はベクトルレジスタ■几2に書き込
まれるが、このときにマスクビット選択回路MBSが当
該エレメントデータに対応するマスクビットを、ベクト
ル制御レジスタVCRの保持内容から選択して、制御部
vC8に供給する。制御部vC8は、前述のように、こ
のマスクビット選択回路MBSからのマスクビットに基
づいて、書込指示信号WT2を出力して、ベクトルレジ
スタVB、2への書込制御を行なう。
第4図は、第3図の処理を行なうときのマスクレジスタ
MRQ、MRIおよびMR2の関係をよシ具体化して示
している。
本発明によれは、以上のような構成の採用により、マス
クデータの演算がベクトル演算器で実行されるようにな
るため、マスクデータ更新時におけるオーバーヘッドを
少なくしてスカラ性能の低下を軽減化できるとともに、
演算器マスクデータの参照はベクトル制御レジスタを読
みさえすればヨくするため、マスクレジスタのアクセス
が不要になり、ベクトル性能の低下も軽減化できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示し、第2図、第3図およ
び第4図は本実施例を説明するだめの図を示す。 VBro、VRl、VRr2−−−−−−ベクトルレジ
スタ、MRO。 MR1、MR2・−・・・・ベクトルマスクレジスタ(
マスクレジスタ)、VDS・・・・・・ベクトルデータ
選択回路、MDS・・・・・・ベクトルマスクデータ選
択回路(マスクデータ選択回路)、DSO,DSI・・
・・・・演算データ選択回路、VAL・・・・・・ベク
トル演算回路、VDR・・・・・・ベクトルデータレジ
スタ、VCR・・・・・・ベクトル制御レジスタ、SD
S・・・・・・格納データ選択回路、 M B S・・
・・・・ベクトルマスクビット選択回路(マスクビット
選択回路)、VCS・・・・・・制御部。 8 I N 値2 図 第3図 箭4−図 手続補正書(自発) 1;f、1.+1.3+1 ヨ 1、事件の表示 昭和58年特 許 願第165958
号2、発明ノ名称 ベクトル処理装置 3、補正をする者 事件との関係 出 願 人 東京都港区芝五j月二+3:3計1号 (423) 日本電気株式会社 代表者 関本忠弘 4、代理人 〒108 東京都港区芝五丁1437番8 >:f、l
二友三111ビル日本電気株式会社内 (659+) 弁ニジI!−1: 内 原) ) 5 補正の対象 明細書の発明の詳細な説明の欄 6 補正の内容 明細書の発明の詳細な説明の欄を下記のように訂正しま
す。 記 1 第4貞第3行目の記載「実新時」を「更新時」と訂
正しまず。 2 同頁第5行目の記載「上述の」を「上述の」と訂正
します。 代理人 弁理士 内 原 晋

Claims (1)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003510682A (ja) * 1999-09-20 2003-03-18 インテル・コーポレーション プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
GB2470782A (en) * 2009-06-05 2010-12-08 Advanced Risc Mach Ltd Conditional execution in a data processing apparatus handling vector instructions
JP2013210738A (ja) * 2012-03-30 2013-10-10 Nec Computertechno Ltd ベクトル処理装置、ベクトル演算処理装置の制御方法
JP2014510350A (ja) * 2011-04-01 2014-04-24 インテル コーポレイション 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
JP2015524978A (ja) * 2012-09-28 2015-08-27 インテル・コーポレーション 独立したデータに対する再帰演算のベクトル化のための読み出し及び書き込みマスク更新命令
JP2015528610A (ja) * 2012-09-28 2015-09-28 インテル・コーポレーション リードマスク及びライトマスクにより制御されるベクトル移動命令

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003510682A (ja) * 1999-09-20 2003-03-18 インテル・コーポレーション プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
JP4921665B2 (ja) * 1999-09-20 2012-04-25 インテル・コーポレーション プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
GB2470782A (en) * 2009-06-05 2010-12-08 Advanced Risc Mach Ltd Conditional execution in a data processing apparatus handling vector instructions
US8661225B2 (en) 2009-06-05 2014-02-25 Arm Limited Data processing apparatus and method for handling vector instructions
GB2470782B (en) * 2009-06-05 2014-10-22 Advanced Risc Mach Ltd A data processing apparatus and method for handling vector instructions
JP2014510350A (ja) * 2011-04-01 2014-04-24 インテル コーポレイション 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
JP2017010573A (ja) * 2011-04-01 2017-01-12 インテル コーポレイション 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
CN106681693A (zh) * 2011-04-01 2017-05-17 英特尔公司 使用写掩码将两个源操作数混合进单个目的地的系统、装置和方法
JP2013210738A (ja) * 2012-03-30 2013-10-10 Nec Computertechno Ltd ベクトル処理装置、ベクトル演算処理装置の制御方法
JP2015524978A (ja) * 2012-09-28 2015-08-27 インテル・コーポレーション 独立したデータに対する再帰演算のベクトル化のための読み出し及び書き込みマスク更新命令
JP2015528610A (ja) * 2012-09-28 2015-09-28 インテル・コーポレーション リードマスク及びライトマスクにより制御されるベクトル移動命令
JP2017107579A (ja) * 2012-09-28 2017-06-15 インテル・コーポレーション リードマスク及びライトマスクにより制御されるベクトル移動命令

Also Published As

Publication number Publication date
JPH0154746B2 (ja) 1989-11-21

Similar Documents

Publication Publication Date Title
JPS6234242A (ja) デ−タ処理システム
US5379240A (en) Shifter/rotator with preconditioned data
US5471628A (en) Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
EP0660227B1 (en) Three input arithmetic logic unit forming the sum of a first and a second boolean combination of the inputs
US6128614A (en) Method of sorting numbers to obtain maxima/minima values with ordering
US6173393B1 (en) System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data
US7389317B2 (en) Long instruction word controlling plural independent processor operations
US6530012B1 (en) Setting condition values in a computer
US20090249039A1 (en) Providing Extended Precision in SIMD Vector Arithmetic Operations
EP0655680A1 (en) Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section
US6067613A (en) Rotation register for orthogonal data transformation
US6427203B1 (en) Accurate high speed digital signal processor
US6463525B1 (en) Merging single precision floating point operands
JPH113226A (ja) 統合グラフィックス機能を有するcpu用のビジュアル命令セット
GB2485774A (en) Processor instruction to extract a bit field from one operand and insert it into another with an option to sign or zero extend the field
US7191317B1 (en) System and method for selectively controlling operations in lanes
US8229989B2 (en) Method for controlling rounding modes in single instruction multiple data (SIMD) floating-point units
US6006315A (en) Computer methods for writing a scalar value to a vector
CN108009976A (zh) 用于图形处理单元(gpu)计算的超级单指令多数据(超级simd)
EP2439635B1 (en) System and method for fast branching using a programmable branch table
US6742013B2 (en) Apparatus and method for uniformly performing comparison operations on long word operands
EP0989485B1 (en) Data processing apparatus
JPS6059469A (ja) ベクトル処理装置
US4620274A (en) Data available indicator for an exhausted operand string
JPH0850545A (ja) 最小/最大検索命令を有するデジタル処理装置