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

ベクトル処理装置

Info

Publication number
JPH06274529A
JPH06274529A JP5058125A JP5812593A JPH06274529A JP H06274529 A JPH06274529 A JP H06274529A JP 5058125 A JP5058125 A JP 5058125A JP 5812593 A JP5812593 A JP 5812593A JP H06274529 A JPH06274529 A JP H06274529A
Authority
JP
Japan
Prior art keywords
vector
data
unit
mask
stored
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
JP5058125A
Other languages
English (en)
Inventor
Yoko Isobe
洋子 磯部
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP5058125A priority Critical patent/JPH06274529A/ja
Publication of JPH06274529A publication Critical patent/JPH06274529A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【構成】 ベクトル制御レジスタまたはマスク登録部に
格納しているマスクデータによって圧縮したアドレスデ
ータを生成するアドレスデータ圧縮部と圧縮したストア
データを生成するストアデータ圧縮部と送られてきたデ
ータを伸長するデータ伸長部とをベクトル処理部に設け
る。 【効果】 補助操作が不要になり、マスク付きリスクベ
クトルロード命令の処理の場合は、IF文の条件が成立
するときのみアドレスを送出して主記憶部をアクセスし
てロードデータを得ることができるため、データの転送
量と主記憶部のアクセス量とを減少させ、高速処理を可
能とする。また、IF文のマスク付きリスクベクトルス
トア命令の処理の場合は、IF文の条件が成立するとき
のみデータを送出して主記憶部にストアすることができ
るため、データの転送量と主記憶部のアクセス量とを減
少させ、高速処理を可能とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はベクトル処理装置に関
し、特に、マスク付きリストベクトルを実現することに
よってIF文を高速に処理するベクトル処理装置に関す
る。
【0002】
【従来の技術】図4は従来のベクトル処理装置における
VCP命令の内容を示す模式図、図5は従来のベクトル
処理装置におけるVEX命令の内容を示す模式図であ
る。
【0003】従来のベクトル処理装置は、IF文の処理
動作中にリスクベクトル命令が出現すると、マスク付き
リストベクトル命令を処理するための手段を有していな
いため、マスク付きベクトル演算命令およびベクトル圧
縮命令およびベクトル伸長命令を用いてIF文の処理を
行っている。
【0004】ベクトル圧縮命令は、図4に示すように、
ベクトルデータA(a1・a2・a3・a4・a5)の
うち、ベクトル制御レジスタのマスクビットMが“1”
に対応する要素のみを収集し、それによってベクトルデ
ータB(b1・b2・b3・b4・b5)を最初の方か
らオーバーライトし、残余の部分はベクトルデータBの
データを残すことによってベクトルデータB′(a1・
a2・a3・b4・b5)を生成する命令であり、通常
これをVCP(Vector Compress)命令と称している。
【0005】また、ベクトル伸長命令は、図5に示すよ
うに、ベクトルデータB(b1・b2・b3・b4・b
5)のベクトル制御レジスタのマスクビットMが“1”
に対応する部分に、ベクトルデータA(a1・a2・a
3・a4・a5)を書込み、ベクトル制御レジスタのマ
スクビットMが“0”に対応する部分はベクトルデータ
B(b1・b2・b3・b4・b5)のデータを残すこ
とによって、ベクトルデータB′(a1・b2・a2・
b4・a3)を生成する命令であり、通常これをVEX
(Vector Expand)命令と称している。
【0006】図3は上述のような従来のベクトル処理装
置の一例を示すブロック図、図6は図3のベクトル処理
装置におけるリスクベクトルロード命令を含むIF文の
処理動作の一例を示す図で、(a)はフーローチャー
ト、(b)はベクトル制御レジスタおよびベクトルレジ
スタの内容を示すフォーマット図、図7は図3のベクト
ル処理装置におけるリスクベクトルロード命令を含むI
F文の処理動作の他の例を示す図で、(a)はフーロー
チャート、(b)はベクトル制御レジスタおよびベクト
ルレジスタの内容を示すフォーマット図、図8は図3の
ベクトル処理装置におけるリスクベクトルストア命令を
含むIF文の処理動作の一例を示す図で、(a)はフー
ローチャート、(b)はベクトル制御レジスタおよびベ
クトルレジスタの内容を示すフォーマット図である。
【0007】図3において、ベクトルレジスタ22a〜
22i〜22nは、クロスバー25を介して演算器24
a〜〜24mに接続されている。演算器24a〜〜24
mの演算結果は、クロスバー30を介してベクトルレジ
スタ22a〜22i〜22nのうちの任意のベクトルレ
ジスタに格納することができる。ベクトル制御レジスタ
23は、マスク生成命令によって生成されたマスクデー
タを格納し、マスク付きベクトル演算のとき、このベク
トル制御レジスタ23に格納しているマスクデータによ
って演算結果をベクトルレジスタに格納するか否かを制
御する。すなわち、ベクトル制御レジスタ23中のマス
クデータが“0”に対応する要素は演算結果をベクトル
レジスタに格納せず、“1”に対応する要素は演算結果
をベクトルレジスタに格納する。更に、ベクトルレジス
タ22a〜22i〜22nは、主記憶制御部26を介し
て主記憶部27に対してデータを送出し、主記憶部27
からデータを受取ることができる。
【0008】次のようなIF文 DO 10 I=1,N IF(M(I).EQ.0) THEN X(I)=A(B(I))+C(D(I)) ELSE X(I)=1 10 CONTINUE を処理する従来の処理方法としては、全ベクトル要素数
(VL)を処理の対象としてマスク付き演算処理を行う
方法や、VCP命令/VEX命令を利用して条件式が成
立する要素のみを処理する方法が一般的に採用されてい
る。
【0009】図6は、上記のうち前者の方法による動作
を示す図で、(a)はフーローチャート、(b)はベク
トル制御レジスタおよびベクトルレジスタの内容を示す
フォーマット図である。
【0010】この場合は、まず比較命令によってM
(I)と0とを比較し(ステップ31)、続いてマスク
生成命令を実行し(ステップ32)、オペレーションコ
ードにおいて比較条件(=または≠または>または<ま
たは≧または≦)を指定し、その条件が成立した場合は
“1”を、条件が成立しない場合は“0”としたマスク
データMををベクトル制御レジスタ23に格納する。こ
のときのマスクデータMは、(1,1,0,1,0,1,1,0, …) に
なったと仮定する(参照符号38a)。
【0011】次に、B(I)(b1 ・b2・b3・b4・b5…)
(参照符号38b)およびD(I)(d1 ・d2・d3・d4・
d5…) (参照符号38c)を主記憶部27から読出して
ベクトルレジスタ22aおよび22bにロードする(ス
テップ33)。
【0012】次に、ベクトルレジスタ22aおよび22
bを読出して主記憶制御部26に送出し、B(I)およ
びD(I)をアドレスデータとして主記憶部27をアク
セスし、A(B(I))(a1 ・a2・a3・a4・a5…) (参
照符号38d)およびC(DI))(c1 ・c2・c3・c4・
c5…) (参照符号38e)を主記憶制御部26を介して
ベクトルレジスタ22cおよび22dにロードする(ス
テップ34)。
【0013】次に、ベクトルレジスタ22cおよび22
dを読出して演算器24aに入力して処理し、その結果
が“1”である個所に対応する要素のみをベクトルレジ
スタ22eに格納する(ステップ35)(参照符号38
f、但し、*はベクトルレジスタ22eに最初から格納
されている値である)。
【0014】次に、マスク反転命令を実行し(ステップ
36)、ベクトル制御レジスタ23の内容の各ビットを
反転したマスクデータM′(0,0,1,0,1,0,0,1, …) を生
成し(参照符号38g)、マスクデータM′の“1”で
ある個所に対応する要素のみをベクトルレジスタ22e
に値“1”を代入し(ステップ37)(参照符号38
h)、ベクトルレジスタ22eの内容を主記憶部27に
ストアする(ステップ38)。
【0015】この方法の利点は、補助操作を必要としな
いことであるが、真率が低い場合でも、常に全ベクトル
要素の数だけの処理を行わなければならないという欠点
がある。
【0016】図7は、VCP命令/VEX命令を利用し
て条件式が成立する要素のみを処理する後者の方法によ
る動作を示す図で、(a)はフーローチャート、(b)
はベクトル制御レジスタおよびベクトルレジスタの内容
を示すフォーマット図である。
【0017】この場合は、まず比較命令によってM
(I)と0とを比較し(ステップ41)、続いてマスク
生成命令を実行し(ステップ42)、オペレーションコ
ードにおいて比較条件(=または≠または>または<ま
たは≧または≦)を指定し、その条件が成立した場合は
“1”を、条件が成立しない場合は“0”としたマスク
データMをベクトル制御レジスタ23に格納する。この
ときのマスクデータMは、(1,1,0,1,0,1,1,0, …) にな
ったと仮定する(参照符号54a)。
【0018】次に、B(I)(b1 ・b2・b3・b4・b5…)
(参照符号54b)およびD(I)(d1 ・d2・d3・d4・
d5…) (参照符号54c)を主記憶部27から読出して
ベクトルレジスタ22aおよび22bにロードする(ス
テップ43)。
【0019】次に、VCP命令によってベクトル制御レ
ジスタ23の内容に従ってベクトルレジスタ22aおよ
び22bの中のB(I)およびD(I)を圧縮すること
によってB′(I)(b1 ・b2・b4・b6・b7…) (参照符
号54d)およびD′(I)(d1 ・d2・d4・d6・d7…)
(参照符号54e)を生成し、それらをベクトルレジス
タ22cおよび22dにロードする(ステップ44)。
【0020】次にPCNT命令によってベクトル制御レ
ジスタ23のデータ中の“1”のビット数を数え(ステ
ップ45)、その値をベクトル要素数VL′(VL′<
VL)とする(ステップ46)。以後、ベクトル要素数
VLを再セットするまで、ベクトル要素数VL′で処理
する。
【0021】次に、ベクトルレジスタ22cおよび22
dを読出して主記憶制御部26に送出し、B′(I)お
よびD′(I)をアドレスデータとして主記憶部27を
アクセスし、A(B(I))(a1 ・a2・a4・a6・a7…)
(参照符号55a)およびC(DI))(c1 ・c2・c4・
c6・c7…) (参照符号55b)を主記憶制御部26を介
してベクトルレジスタ22eおよび22fにロードする
(ステップ47)。
【0022】次に、ベクトルレジスタ22eおよび22
fを読出して演算器24aに入力して処理し、その結果
をベクトルレジスタ22gに格納する(ステップ48)
(参照符号55c)。
【0023】ここで元のベクトル要素数VLを再セット
し(ステップ49)、VEX命令によってベクトルレジ
スタ22gのデータを伸長してその結果をベクトルレジ
スタ22hに格納する(ステップ50)(参照符号55
d)。
【0024】次に、マスク反転命令を実行し(ステップ
51)、ベクトル制御レジスタ23の内容の各ビットを
反転したマスクデータM′(0,0,1,0,1,0,0,1, …) を生
成し(参照符号55e)、マスクデータM′の“1”で
ある個所に対応する要素のみをベクトルレジスタ22h
に値“1”を代入し(ステップ52)(参照符号55
f)、ベクトルレジスタ22hの内容を主記憶部27に
ストアする(ステップ53)。
【0025】この方法の利点は、IF文において条件が
成立したベクトル要素のみを処理の対象とするため、真
率が低い場合は演算時間が短くなることであるが、VC
P命令やVEX命令やPCNT命令等の補助操作を必要
とするため、真率が高い場合に、余分な時間がかかると
いう欠点がある。
【0026】次のようなIF文 DO 10 I=1,N IF(M(I).EQ.0) GO TO 10 X(I)=A(I)+B(I) 10 CONTINUE を処理する従来の処理方法としては、VCP命令/VE
X命令を利用して条件式が成立する要素のみを処理する
方法が一般的に採用されている。
【0027】図8は、この場合の動作を示す図で、
(a)はフーローチャート、(b)はベクトル制御レジ
スタおよびベクトルレジスタの内容を示すフォーマット
図である。
【0028】この場合は、まず比較命令によってM
(I)と0とを比較し(ステップ61)、続いてマスク
生成命令を実行し(ステップ62)、オペレーションコ
ードにおいて比較条件(=または≠または>または<ま
たは≧または≦)を指定し、その条件が成立した場合は
“1”を、条件が成立しない場合は“0”としたマスク
データMをベクトル制御レジスタ23に格納する。この
ときのマスクデータMは、(1,1,0,1,0,1,1,0, …) にな
ったと仮定する(参照符号69a)。
【0029】次に、A(I)(a1 ・a2・a3・a4・a5…)
(参照符号69b)およびB(I)(b1 ・b2・b3・b4・
b5…) (参照符号69c)およびC(I)(c1 ・c2・c3
・c4・c5…)(参照符号69d)を主記憶部27から読
出してベクトルレジスタ22aおよび22bおよび22
cにロードする(ステップ63)。
【0030】次に、ベクトルレジスタ22aおよび22
bを読出して演算器24aに入力して処理し、その結果
(参照符号69e)を、ベクトル制御レジスタ23のマ
スクデータMが“1”である個所に対応する要素のみを
ベクトルレジスタ22dに格納する(ステップ64)。
【0031】更に、VCP命令によってベクトル制御レ
ジスタ23の内容に従ってベクトルレジスタ22cおよ
び22dの中のC(I)(アドレスデータ)および加算
結果(ストアデータ)を圧縮し、その結果(参照符号6
9fおよび参照符号69g)をベクトルレジスタ22e
および22fに格納する(ステップ65)。
【0032】次にPCNT命令によってベクトル制御レ
ジスタ23のデータ中の“1”のビット数を数え(ステ
ップ66)、その値をベクトル要素数VL′(VL′<
VL)とする(ステップ67)。以後、ベクトル要素数
VLを再セットするまで、ベクトル要素数VL′で処理
する。
【0033】次に、ベクトルレジスタ22eに格納され
ているアドレスデータC′(I)およびベクトルレジス
タ22fに格納されているストアデータX′を読出して
主記憶制御部26に送出し、アドレスデータC′(I)
をアドレスデータとしてストアデータX′を主記憶部2
7にストアする。
【0034】この方法の利点は、IF文において条件が
成立したベクトル要素のみを処理の対象とするため、演
算時間が短くなることであるが、VCP命令やVEX命
令等の補助操作を必要とするため、余分な時間がかかる
という欠点がある。
【0035】
【発明が解決しようとする課題】上述したように、従来
のベクトル処理装置は、IF文内のリストベクトルの処
理において、全ベクトル要素数を処理の対象としてマス
ク付き演算処理を行う方法の場合は、補助操作を不要で
あるが、IF文の真率が低い場合でも常に全ベクトル要
素の数だけの処理を行わなければならないため、無駄な
要素に対する処理も行わなければならないという欠点が
ある。また、VCP命令/VEX命令を利用して条件式
が成立するベクトル要素のみを処理する方法は、真率が
低い場合は演算時間が短くなるが、真率が高い場合は、
VCP命令やVEX命令やPCNT命令等の補助操作の
ために余分な時間がかかるという欠点がある。更に、ベ
クトル処理装置の有する性能を最大限に引出すために
は、最も適切なプログラム方式を採用する必要があり、
そのためには、プログラム中のIF文の条件式の真率等
の情報を検討し、上記の二つの方法のうち何れの方法を
採用するかを選択できるコンパイラが必要であるという
問題点も有している。
【0036】
【課題を解決するための手段】本発明のベクトル処理装
置は、複数個のベクトルレジスタおよび条件付き命令を
処理するときのマスク情報を格納する1個のベクトル制
御レジスタを有するベクトル処理部と、複数の記憶領域
を有する主記憶部と、前記主記憶部の動作を制御する主
記憶制御部とを備え、前記ベクトル処理部から送られて
くるベクトルデータをアドレスとして前記主記憶部をア
クセスするベクトル処理装置において、前記ベクトル処
理部内のベクトル制御レジスタに格納してある前記マス
ク情報によって前記ベクトルデータを圧縮して前記主記
憶制御部に送出するアドレスデータ圧縮部と、前記主記
憶部に格納するためのベクトルデータを圧縮して前記主
記憶制御部に送出するストアデータ圧縮部と、前記主記
憶制御部から送られてくるロードデータを伸長するデー
タ伸長部とを前記ベクトル処理部内に設けたものであ
り、更に、前記ベクトル制御レジスタの内容を一時的に
保持するマスク登録部を前記ベクトル処理部内に設けた
ものである。
【0037】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0038】図1は本発明の第一の実施例を示すブロッ
ク図、図9は図1の実施例におけるマスク付きリスクベ
クトルロード命令を含むIF文の処理動作のときのベク
トル制御レジスタおよびベクトルレジスタおよびロード
データ格納部の内容を示すフォーマット図、図10は図
1の実施例におけるマスク付きリスクベクトルストア命
令を含むIF文の処理動作のときのベクトル制御レジス
タおよびアドレスデータおよびストアデータの内容を示
すフォーマット図、図11は図1の実施例におけるマス
ク付きリスクベクトルロード命令を含むIF文の処理動
作を示すフーローチャート、図12は図1の実施例にお
けるマスク付きリスクベクトルストア命令を含むIF文
の処理動作を示すフーローチャートである。
【0039】図1において、ベクトル処理部1に設けて
あるベクトルレジスタ2a〜2i〜2nは、クロスバー
5を介して演算器4a〜〜4mに接続されている。演算
器4a〜〜4mの演算結果は、クロスバー16を介して
ベクトルレジスタ2a〜2i〜2nのうちの任意のベク
トルレジスタに格納することができる。ベクトル制御レ
ジスタ3は、マスク生成命令によって生成されたマスク
データを格納し、マスク付きベクトル演算のとき、この
ベクトル制御レジスタ3に格納しているマスクデータに
よって演算結果をベクトルレジスタに格納するか否かを
制御する。すなわち、ベクトル制御レジスタ3中のマス
クデータが“0”に対応する要素は演算結果をベクトル
レジスタに格納せず、“1”に対応する要素は演算結果
をベクトルレジスタに格納する。更に、ベクトルレジス
タ2a〜2i〜2nは、主記憶制御部6を介して主記憶
部7に対してデータを送出し、主記憶部7からデータを
受取ることができる。
【0040】ベクトル処理部1に設けてあるデータ圧縮
部14は、ベクトル制御レジスタ3に格納しているマス
クデータによってベクトルレジスタ2a〜2i〜2nに
格納してあるデータを圧縮して主記憶部7をアクセスす
るためのアドレスデータを生成するアドレスデータ圧縮
部12と、主記憶部7に格納するためのストアデータを
圧縮して生成するストアデータ圧縮部13とを有してい
る。
【0041】主記憶制御部6は、データ圧縮部14から
送られてくるアドレスデータを格納するアドレス情報登
録部9と、ストアデータ圧縮部13から送られてくるス
トアデータを格納するストアデータ格納部10と、アド
レス情報登録部9に格納してあるアドレスデータによっ
て主記憶部7をアクセスして得られたデータを一時的に
保持し、ベクトル処理部1に設けてあるデータ伸長部1
5に対して送出するロードデータ格納部11とを有して
いる。
【0042】ベクトル処理部1に設けてあるデータ伸長
部15は、ベクトル制御レジスタ3に格納しているマス
クデータに従って、ロードデータ格納部11から送られ
てきたデータを伸長する。
【0043】上述のように構成したベクトル処理装置
は、マスク付きリストベクトル命令を処理するとき、ア
ドレス情報登録部9に格納してあるアドレスデータによ
って主記憶部7をアクセスし、それによって得たデータ
は、ロードデータ格納部11に一時的に保持した後、ベ
クトル処理部1に設けてあるデータ伸長部15に対して
送出する。データ伸長部15は、ベクトル制御レジスタ
3に格納しているマスクデータの“1”の個所に対応す
るベクトルレジスタ2a〜2i〜2nの要素に、ロード
データ格納部11から送られてきたデータを格納し、マ
スクデータの“0”の個所に対応するベクトルレジスタ
2a〜2i〜2nの要素には、ロードデータ格納部11
から送られてきたデータを格納せずにベクトルレジスタ
2a〜2i〜2nに格納されているデータを残すことに
よってデータを伸長する。
【0044】また、マスク付きリストベクトル命令を処
理するとき、アドレス情報登録部9に格納してあるアド
レスデータによって、ストアデータ格納部10に格納し
てあるストアデータを主記憶部7に格納する。
【0045】図2は本発明の第二の実施例を示すブロッ
ク図である。
【0046】本実施例は、図1の実施例にマスク登録部
8を付加したものである。
【0047】図2の実施例においては、マスク登録部8
は、マスク生成命令によって生成されたマスクデータを
格納し、マスク付きベクトル演算のとき、このマスク登
録部8に格納しているマスクデータによって演算結果を
ベクトルレジスタに格納するか否かを制御する。すなわ
ち、マスク登録部8中のマスクデータが“0”に対応す
る要素は演算結果をベクトルレジスタに格納せず、
“1”に対応する要素は演算結果をベクトルレジスタに
格納する。
【0048】データ圧縮部14のアドレスデータ圧縮部
12は、マスク登録部8に格納しているマスクデータに
よってベクトルレジスタ2a〜2i〜2nに格納してあ
るデータを圧縮して主記憶部7をアクセスするためのア
ドレスデータを生成し、ストアデータ圧縮部13は、マ
スク登録部8に格納しているマスクデータによって主記
憶部7に格納するためのストアデータを圧縮して生成す
る。
【0049】また、マスク付きリストベクトル命令を処
理するとき、アドレス情報登録部9に格納してあるアド
レスデータによって主記憶部7をアクセスし、それによ
って得たデータは、ロードデータ格納部11に一時的に
保持した後、ベクトル処理部1に設けてあるデータ伸長
部15に対して送出する。データ伸長部15は、マスク
登録部8に格納しているマスクデータの“1”の個所に
対応するベクトルレジスタ2a〜2i〜2nの要素に、
ロードデータ格納部11から送られてきたデータを格納
し、マスクデータの“0”の個所に対応するベクトルレ
ジスタ2a〜2i〜2nの要素には、ロードデータ格納
部11から送られてきたデータを格納せずにベクトルレ
ジスタ2a〜2i〜2nに格納されているデータを残す
ことによってデータを伸長する。上記以外の構成および
作用は、図1の実施例と同じである。
【0050】このように、マスク登録部8を設けること
により、マスク付きリストベクトル命令の処理中にベク
トル制御レジスタ3の内容を書換えることが可能になる
ため、後続の処理を高速に処理することが可能となる。
【0051】次に、図2の実施例の動作について、図9
〜図12を参照して説明する。
【0052】マスク付きリスクベクトルロード命令の処
理動作の場合は、図9に示すように、ベクトルレジスタ
2aには主記憶部7をアクセスするためのアドレスデー
タA(a1 ・a2・a3…a10)(図9の参照符号71a)が、
ベクトルレジスタ2bにはデータX(x1 ・x2・x3…x10)
(参照符号71b)が、ベクトル制御レジスタ3にはマ
スクデータM(1,1,0,1,0,1,1,0,0,1) (参照符号71
c)が格納されている。
【0053】マスク付きリスクベクトルロード命令が発
行されると、マスク登録部8にマスクデータM(1,1,0,
1,0,1,1,0,0,1) が登録される。アドレスデータ圧縮部
12は、マスク登録部8内のマスクデータMとベクトル
レジスタ2aに格納されているアドレスデータとを対比
し、マスクデータMが“1”である個所に対応する要素
のみを抽出したアドレスA′(a1 ・a2・a4・a6・a7・a1
0)(参照符号71d)を生成し、それを主記憶制御部6
のアドレス情報登録部9に送る。
【0054】主記憶制御部6は、アドレス情報登録部9
に格納したアドレスA′を主記憶部7に送出し、これを
受けた主記憶部7は、アドレスA′(a1 ・a2・a4・a6・
a7・a10)に格納しているデータをロードデータB(b1 ・
b2・b4・b6・b7・b10)(参照符号71e)として主記憶
制御部6のロードデータ格納部11に送出して格納させ
る。
【0055】主記憶制御部6は、ロードデータ格納部1
1に格納したロードデータBをベクトル処理部1のデー
タ伸長部15に送出して格納させる。データ伸長部15
は、このロードデータBをマスク登録部8のマスクデー
タMと対比しながらベクトルレジスタ2bに格納する
が、このとき、マスクデータMが“1”である個所に対
応する個所はロードデータBの要素を格納し、マスクデ
ータMが“0”である個所に対応する個所は、ベクトル
レジスタ2bに最初から格納されているデータX(x1 ・
x2・x3…x10)の要素を残しておく。これにより、ベクト
ルレジスタ2bには、マスク付きリスクベクトルロード
命令によってデータX′(b1 ・b2・x3 ・b4・x5・b6・b7
・X8・x9・b10)(参照符号71f)が 格納されたこと
になる。
【0056】マスク付きリスクベクトルストア命令の処
理動作の場合は、図10に示すように、ベクトルレジス
タ2aには主記憶部7をアクセスするためのアドレスデ
ータA(a1 ・a2・a3…a10)(図10の参照符号72a)
が、ベクトルレジスタ2bには主記憶部7にストアすべ
きデータB(b1 ・b2・b3…b10)(参照符号72b)が、
ベクトル制御レジスタ3にはマスクデータM(1,1,0,1,
0,1,1,0,0,1) (参照符号72c)が格納されている。
アドレスデータ圧縮部12は、マスク登録部8内のマス
クデータMとベクトルレジスタ2aに格納されているア
ドレスデータとを対比し、マスクデータMが“1”であ
る個所に対応する要素のみを抽出したアドレスA′(a1
・a2・a4・a6・a7・a10)(参照符号72d)を生成し、
それを主記憶制御部6のアドレス情報登録部9に送る。
【0057】また、ストアデータ圧縮部13は、マスク
登録部8内のマスクデータMとベクトルレジスタ2bに
格納されているデータとを対比し、マスクデータMが
“1”である個所に対応する要素のみを抽出したデータ
B′(b1 ・b2・b4・b6・b7・b10)(参照符号72e)を
生成し、それを主記憶制御部6のストアデータ格納部1
0に送って格納させる。
【0058】主記憶制御部6は、アドレス情報登録部9
のアドレスA′とストアデータ格納部10のデータB′
とを主記憶部7に送り、主記憶部7は、アドレスA′に
よって指定された領域にデータB′を格納する。
【0059】次に、具体的な動作について説明する。
【0060】次のようなIF文 DO 10 I=1,N IF(M(I).EQ.0) THEN X(I)=A(B(I))+C(D(I)) ELSE X(I)=1 10 CONTINUE を処理する場合は、図11に示すように、まず比較命令
によってM(I)と0とを比較し(ステップ81)、続
いてマスク生成命令を実行し(ステップ82)、マスク
データMををベクトル制御レジスタ3に格納する。この
ときのマスクデータMは、(1,1,0,1,0,1,1,0, …) にな
る(参照符号89a)。
【0061】次に、B(I)(b1 ・b2・b3・b4・b5…)
(参照符号89b)およびD(I)(d1 ・d2・d3・d4・
d5…) (参照符号89c)を主記憶部7から読出してベ
クトルレジスタ2aおよび2bにロードする(ステップ
83)。
【0062】次に、マスク付きリスクベクトルロード命
令によってベクトルレジスタ2aおよび2bを読出して
圧縮した後、主記憶制御部6に送出する。主記憶制御部
6は、上述した方法によってIF文の条件が成立する要
素に対してA(B(I))(a1 ・a2・*・a4・*・a6・a7
…) (参照符号89d、但し、*はベクトルレジスタ2
cに最初から格納されている値である)およびC(D
I))(c1 ・c2・*・c4・*・c6・c7…)(参照符号89e、
但し、*はベクトルレジスタ2dに最初から格納されて
いる値である)を生成し、それらをデータ伸長部15を
介してベクトルレジスタ2cおよび2dに格納する(ス
テップ84)。
【0063】次に、ベクトルレジスタ2cおよび2dを
読出して演算器4aに入力して処理し、その結果(参照
符号89f)をベクトルレジスタ2eに格納する(ステ
ップ85)。
【0064】次に、マスク反転命令を実行し(ステップ
86)、ベクトル制御レジスタ3の内容の各ビットを反
転したマスクデータM′(0,0,1,0,1,0,0,1, …) を生成
し(参照符号89g)、マスクデータM′の“1”であ
る個所に対応する要素のみをベクトルレジスタ2eに値
“1”を代入し(ステップ87)(参照符号89h)、
ベクトルレジスタ2eの内容を主記憶部7にストアする
(ステップ88)。
【0065】次のようなIF文 DO 10 I=1,N IF(M(I).EQ.0) GO TO 10 X(I)=A(I)+B(I) 10 CONTINUE を処理する場合は、図12に示すように、まず比較命令
によってM(I)と0とを比較し(ステップ91)、続
いてマスク生成命令を実行し(ステップ92)、マスク
データMをベクトル制御レジスタ3に格納する。このと
きのマスクデータMは、(1,1,0,1,0,1,1,0, …) である
(参照符号96a)。
【0066】次に、A(I)(a1 ・a2・a3・a4・a5…)
(参照符号96b)およびB(I)(b1 ・b2・b3・b4・
b5…) (参照符号96c)およびC(I)(c1 ・c2・c3
・c4・c5…)(参照符号96d)を主記憶部7から読出
してベクトルレジスタ2aおよび2bおよび2cにロー
ドする(ステップ93)。
【0067】次に、ベクトルレジスタ2aおよび2bを
読出して演算器4aに入力して処理し、その結果(参照
符号96e)のベクトル制御レジスタ3のマスクデータ
Mが“1”である個所に対応する要素のみをベクトルレ
ジスタ2dに格納し、“0”である個所に対応する要素
は、ベクトルレジスタ2dに最初から格納されているデ
ータを残す。(ステップ94)。
【0068】次にマスク付きリスクベクトルストア命令
によってベクトルレジスタベクトルレジスタ2c(アド
レスデータ)および2d(ストアデータ)を読出し、そ
れらを圧縮して主記憶制御部6に送出する。
【0069】主記憶制御部6は、送られてきたアドレス
データおよびストアデータにより、上述した方法によっ
てIF文の条件が成立する要素に対するストアデータを
主記憶部7にストアする。
【0070】
【発明の効果】以上説明したように、本発明のベクトル
処理装置は、ベクトル制御レジスタまたはマスク登録部
に格納しているマスクデータによって、ベクトルレジス
タに格納してあるデータを圧縮して主記憶部をアクセス
するためのアドレスデータを生成するアドレスデータ圧
縮部と、主記憶部に格納するためのストアデータを圧縮
して生成するストアデータ圧縮部と、主記憶制御部から
送られてきたデータを伸長するデータ伸長部とをベクト
ル処理部に設けることにより、IF文のマスク付きリス
クベクトルロード命令の処理の場合は、補助操作が不要
になり、また、IF文の条件が成立するときのみベクト
ル処理部から主記憶制御部に対してアドレスを送出して
主記憶部をアクセスしてロードデータを得ることができ
るため、ベクトル処理部から主記憶制御部に対するデー
タの転送量と主記憶部のアクセス量とを減少させて高速
処理を可能にするという効果がある。
【0071】また、IF文のマスク付きリスクベクトル
ストア命令の処理の場合は、補助操作が不要になり、ま
た、IF文の条件が成立するときのみベクトル処理部か
ら主記憶制御部に対してデータを送出して主記憶部にス
トアすることができるため、ベクトル処理部から主記憶
制御部に対するデータの転送量と主記憶部のアクセス量
とを減少させて高速処理を可能にするという効果があ
る。
【0072】更に、IF文の条件式の真率等の情報によ
って処理方法を選択するためのコンパイラが不要になる
という効果もある。
【図面の簡単な説明】
【図1】本発明の第一の実施例を示すブロック図であ
る。
【図2】本発明の第二の実施例を示すブロック図であ
る。
【図3】従来のベクトル処理装置の一例を示すブロック
図である。
【図4】従来のベクトル処理装置におけるVCP命令の
内容を示す模式図である。
【図5】従来のベクトル処理装置におけるVEX命令の
内容を示す模式図である。
【図6】図3のベクトル処理装置におけるリスクベクト
ルロード命令を含むIF文の処理動作の一例を示す図
で、(a)はフーローチャート、(b)はベクトル制御
レジスタおよびベクトルレジスタの内容を示すフォーマ
ット図である。
【図7】図3のベクトル処理装置におけるリスクベクト
ルロード命令を含むIF文の処理動作の他の例を示す図
で、(a)はフーローチャート、(b)はベクトル制御
レジスタおよびベクトルレジスタの内容を示すフォーマ
ット図である。
【図8】図3のベクトル処理装置におけるリスクベクト
ルストア命令を含むIF文の処理動作の一例を示す図
で、(a)はフーローチャート、(b)はベクトル制御
レジスタおよびベクトルレジスタの内容を示すフォーマ
ット図である。
【図9】図1の実施例におけるマスク付きリスクベクト
ルロード命令を含むIF文の処理動作のときのベクトル
制御レジスタおよびベクトルレジスタおよびロードデー
タ格納部の内容を示すフォーマット図である。
【図10】図1の実施例におけるマスク付きリスクベク
トルストア命令を含むIF文の処理動作のときのベクト
ル制御レジスタおよびアドレスデータおよびストアデー
タの内容を示すフォーマット図である。
【図11】図1の実施例におけるマスク付きリスクベク
トルロード命令を含むIF文の処理動作を示すフーロー
チャートである。
【図12】図1の実施例におけるマスク付きリスクベク
トルストア命令を含むIF文の処理動作を示すフーロー
チャートである。
【符号の説明】
1・21 ベクトル処理部 2a〜2n・22a〜22n ベクトルレジスタ 3・23 ベクトル制御レジスタ 4a〜4m・24a〜24m 演算器 5・16・25・30 クロスバー 6・26 主記憶制御部 7・27 主記憶部 8 マスク登録部 9 アドレス情報登録部 10 ストアデータ格納部 11 ロードデータ格納部 12 アドレスデータ圧縮部 13 ストアデータ圧縮部 14 データ圧縮部 15 データ伸長部 31〜38・41〜53・61〜68 ステップ 81〜88・91〜95 ステップ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数個のベクトルレジスタおよび条件付
    き命令を処理するときのマスク情報を格納する1個のベ
    クトル制御レジスタを有するベクトル処理部と、複数の
    記憶領域を有する主記憶部と、前記主記憶部の動作を制
    御する主記憶制御部とを備え、前記ベクトル処理部から
    送られてくるベクトルデータをアドレスとして前記主記
    憶部をアクセスするベクトル処理装置において、 前記ベクトル処理部内のベクトル制御レジスタに格納し
    てある前記マスク情報によって前記ベクトルデータを圧
    縮して前記主記憶制御部に送出するアドレスデータ圧縮
    部と、前記主記憶部に格納するためのベクトルデータを
    圧縮して前記主記憶制御部に送出するストアデータ圧縮
    部と、前記主記憶制御部から送られてくるロードデータ
    を伸長するデータ伸長部とを前記ベクトル処理部内に設
    けたことを特徴とするベクトル処理装置。
  2. 【請求項2】 ベクトル制御レジスタの内容を一時的に
    保持するマスク登録部をベクトル処理部内に設けたこと
    を特徴とする請求項1記載のベクトル処理装置。
JP5058125A 1993-03-18 1993-03-18 ベクトル処理装置 Pending JPH06274529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5058125A JPH06274529A (ja) 1993-03-18 1993-03-18 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5058125A JPH06274529A (ja) 1993-03-18 1993-03-18 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPH06274529A true JPH06274529A (ja) 1994-09-30

Family

ID=13075266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5058125A Pending JPH06274529A (ja) 1993-03-18 1993-03-18 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JPH06274529A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019509573A (ja) * 2016-03-23 2019-04-04 エイアールエム リミテッド ベクトル述語命令

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019509573A (ja) * 2016-03-23 2019-04-04 エイアールエム リミテッド ベクトル述語命令

Similar Documents

Publication Publication Date Title
CA2098674C (en) Vector processing device
EP0099263A2 (en) Digital computer for executing multiple instruction sets in a simultaneous-interleaved fashion
JP3237858B2 (ja) 演算装置
JP3037144B2 (ja) データ圧縮記憶演算装置
US6895056B2 (en) Data processing apparatus and method for performing an adaptive filter operation on an input data sample
US6198813B1 (en) System and method for providing call processing services using call independent building blocks
JPH06274529A (ja) ベクトル処理装置
US7107439B2 (en) System and method of controlling software decompression through exceptions
JPH04267630A (ja) データ圧縮装置及びデータ復元装置
JP2001005718A (ja) プロトコルハンドラ及びその信号処理方法
JPH1124940A (ja) エミュレーション処理方式
JPH0628150A (ja) プログラム容量圧縮方法
US7433981B1 (en) System and method for using co-processor hardware to accelerate highly repetitive actions
JP3008483B2 (ja) リンク処理装置
SU1697084A1 (ru) Система потоковой обработки информации с интерпретацией функциональных зыков
JPH0224721A (ja) プログラム制御装置
JPH0721031A (ja) 言語処理方法
JPH01284926A (ja) 演算装置の命令読出方式
JPH06110693A (ja) ファジー制御装置
JP2932812B2 (ja) 言語処理プログラム実行装置
KR100251952B1 (ko) 그래픽압축데이터용압축해제장치및방법
JPH1091429A (ja) 情報処理装置
JPH07296156A (ja) 分散型画像処理システム
JP2973578B2 (ja) ビット演算処理装置
JPS617976A (ja) ベクトル演算処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010130