JPS5958580A - マスク付きベクトル演算処理装置 - Google Patents
マスク付きベクトル演算処理装置Info
- Publication number
- JPS5958580A JPS5958580A JP16835882A JP16835882A JPS5958580A JP S5958580 A JPS5958580 A JP S5958580A JP 16835882 A JP16835882 A JP 16835882A JP 16835882 A JP16835882 A JP 16835882A JP S5958580 A JPS5958580 A JP S5958580A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- processing
- instruction
- mask
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector 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
【発明の詳細な説明】
〔発明の利用分野〕
本発明はベクトルデータを高速に演算する装置に関する
。
。
ベクトルプロセサのより高速な処理を達成するには、よ
り多くの種類の処理をベクトルプロセサにより高速に処
理可能とすることが課題となっている。中でも、FOR
TRANプログラムで、lF文を含むDOループを高速
に処理するには、より高度の処理装置が必要と芒れるが
、第1図に示すようなりOルーズの従来技術による処理
手順を第2図と第3図を用いて説明する。
り多くの種類の処理をベクトルプロセサにより高速に処
理可能とすることが課題となっている。中でも、FOR
TRANプログラムで、lF文を含むDOループを高速
に処理するには、より高度の処理装置が必要と芒れるが
、第1図に示すようなりOルーズの従来技術による処理
手順を第2図と第3図を用いて説明する。
第1図に示すDOループでは、式(1)にあるような論
理積9の結果の値が戸”であり、かつ、式(2)に示す
論理演算結果が”真″である場合に限や対応するインデ
クス値:工を持つエレメント間で式(3ンの加算及び代
入を行い、式(1)か、式(2)のいづれかが成立しな
いようなインデクス値を持つエレメント間での式(3)
の加算及び代入は行わない。このような処理をN組のエ
レメントについて繰り返す。
理積9の結果の値が戸”であり、かつ、式(2)に示す
論理演算結果が”真″である場合に限や対応するインデ
クス値:工を持つエレメント間で式(3ンの加算及び代
入を行い、式(1)か、式(2)のいづれかが成立しな
いようなインデクス値を持つエレメント間での式(3)
の加算及び代入は行わない。このような処理をN組のエ
レメントについて繰り返す。
第2図は、エレメント数二Nが6で、オペランドA(1
〜6)、B(1〜6)、C(1〜6)。
〜6)、B(1〜6)、C(1〜6)。
D(1〜6)、F’(1〜6)、G(1〜6)に適当な
数値を仮定し、第1図の演算を行なった場合のデータの
流れを示したものである。
数値を仮定し、第1図の演算を行なった場合のデータの
流れを示したものである。
第2図で値゛X#はこれらの処理によシ変更を受けず、
また、この処理に関与しないことを示す。
また、この処理に関与しないことを示す。
以下に、その処理手順を示す。
ステップ1: オペランドA(1〜6)とB(1〜6)
の対応するニレメン同志を、それぞれ比較してベクトル
マスク:VM(1〜6)を作成する。この場合、対応す
る両エレメントの値が一致して論理演算結果が真”とな
るとき、VMには値at 1pyを件き、一致しないと
きVMKは値It 071を臀くものとする。従って本
例ではVM(1〜6)の値はそれぞれ、0,1,0,1
,1゜0となる。
の対応するニレメン同志を、それぞれ比較してベクトル
マスク:VM(1〜6)を作成する。この場合、対応す
る両エレメントの値が一致して論理演算結果が真”とな
るとき、VMには値at 1pyを件き、一致しないと
きVMKは値It 071を臀くものとする。従って本
例ではVM(1〜6)の値はそれぞれ、0,1,0,1
,1゜0となる。
ステップ2: 次のステップ3で、ベクトルマスク:V
Mを格納している、ベクトルマスクレジスタを、再度書
込みに使用する為に、VM(1〜6)の内容を、別のレ
ジスタS R,1に退避させる。
Mを格納している、ベクトルマスクレジスタを、再度書
込みに使用する為に、VM(1〜6)の内容を、別のレ
ジスタS R,1に退避させる。
なお、このS R,1は、ベクトルマスク専用のレジス
タではなく、保持データの全エレメント分を一括して処
理することしか出来ない。その為に、このステップは、
ステップ1が全て終了してから行われる。
タではなく、保持データの全エレメント分を一括して処
理することしか出来ない。その為に、このステップは、
ステップ1が全て終了してから行われる。
ステップ3: ステップ(1)と同様に第1図の式(2
)の演算を行い、結果をVM(1〜6)に書込む。
)の演算を行い、結果をVM(1〜6)に書込む。
ここでも、論理演算値真″に対して値″t 1 n。
″偽″に対して値at O”を対応させると、この場合
(7)VM(1〜6ンの値は、それぞれ0,1,1゜1
.0.1となる。
(7)VM(1〜6ンの値は、それぞれ0,1,1゜1
.0.1となる。
ステップ4: 次のステップ5で、全エレメント分の一
括処理しか出来ない汎用の演算器を用いて汎用のレジス
タ間の論理演算を行うため、7M(1〜6)の値を汎用
のレジスタSR2に退避する。このステップもステップ
2と同じ理由で、ステップ3が全て終了してから行われ
る。
括処理しか出来ない汎用の演算器を用いて汎用のレジス
タ間の論理演算を行うため、7M(1〜6)の値を汎用
のレジスタSR2に退避する。このステップもステップ
2と同じ理由で、ステップ3が全て終了してから行われ
る。
ステップ5: SRIとSR,20ビツト毎の論理積
をSR,3に求める。このステップはステップ4が終了
してから行われる。
をSR,3に求める。このステップはステップ4が終了
してから行われる。
ステップ6: ステップ5で求めたSR3の値をVM(
1〜6)に転送する。
1〜6)に転送する。
ステップ7: ステップ6で得られたVM(1〜6)の
値にをもとに、第1図の式(3)に示す加算と代入を行
う。その際、対応するベクトルマスクVM(I)の値が
0”のエレメントについては演算の結果を無効とする。
値にをもとに、第1図の式(3)に示す加算と代入を行
う。その際、対応するベクトルマスクVM(I)の値が
0”のエレメントについては演算の結果を無効とする。
すなわち、その時のE(1)の値を変更しない。本例で
は、第2及び第4エレメントについてのみ演算結果が主
記憶上のE(1)の値を変更するように動作する。
は、第2及び第4エレメントについてのみ演算結果が主
記憶上のE(1)の値を変更するように動作する。
以上の処理の様子を、第3図のタイムチャートで示す。
タイムチャートの縦軸は各ステップを示し、横軸は時間
を示す。各番号は、そのエレメント番号の処理の最初の
ザイクルを示しており、ステップ間の時間的ずれは、起
動時間のずれを示している。
を示す。各番号は、そのエレメント番号の処理の最初の
ザイクルを示しており、ステップ間の時間的ずれは、起
動時間のずれを示している。
以上に述べてきたように、従来技術による複雑な条件文
を含むDOループのベクトルプロセサでの処理は、ベク
トルマスクレジスタが1つしかない為、一括処理用のレ
ジスタに移動して、一括処理による演算処理を行い、出
来あがった最終的なベクトルマスクを、再びベクトルマ
スクレジスタに転送しなければ、条件付きの演算処理が
出来ない。従って、第3図に見るように、従来技術では
ベクトル処理が、ステップ1と、ステップ3、ステップ
7に、それぞれ処理時間帯を分けられ、これらのステッ
プ間では、処理の並列・高速化ができないという問題が
あった。
を含むDOループのベクトルプロセサでの処理は、ベク
トルマスクレジスタが1つしかない為、一括処理用のレ
ジスタに移動して、一括処理による演算処理を行い、出
来あがった最終的なベクトルマスクを、再びベクトルマ
スクレジスタに転送しなければ、条件付きの演算処理が
出来ない。従って、第3図に見るように、従来技術では
ベクトル処理が、ステップ1と、ステップ3、ステップ
7に、それぞれ処理時間帯を分けられ、これらのステッ
プ間では、処理の並列・高速化ができないという問題が
あった。
一般に、ベクトルプロセサでは複数ベクトル演算の異な
るエレメントについての処理を、同時並行に処理するこ
とで高速性を達成しているが、ステップ2,4,5.6
の処理がベクトルプロセサ向きでない為に、第4図のよ
うに、ステップ1゜3.7を並列に処理することを妨げ
ている。
るエレメントについての処理を、同時並行に処理するこ
とで高速性を達成しているが、ステップ2,4,5.6
の処理がベクトルプロセサ向きでない為に、第4図のよ
うに、ステップ1゜3.7を並列に処理することを妨げ
ている。
本発明の目的は、ベクトルマスクの生成、ベクトルマス
ク間の演算処理、及び条件付きベクトル演算処理を、全
て同時並行して処理可能とするベクトル演算処理装置を
提供することにある。
ク間の演算処理、及び条件付きベクトル演算処理を、全
て同時並行して処理可能とするベクトル演算処理装置を
提供することにある。
このため、本発明による装置では、
(1)同時に書込み・読出し可能な複数のベクトルマス
ク専用レジスタ。
ク専用レジスタ。
(2)ベクトルマスク専用レジスタ中のデータを入力と
して新しいベクトルマスクの値を算出する、1個以上の
ベクトルマスク専用演算器。
して新しいベクトルマスクの値を算出する、1個以上の
ベクトルマスク専用演算器。
(3)ベクトルマスクの書込みと、ベクトルマスク専用
演算器への読出しを同期させる手段。
演算器への読出しを同期させる手段。
(4)ベクトルマスクの書込みと、マスク付きベクトル
演算処理用演算器への読出しを同期させる手段。
演算処理用演算器への読出しを同期させる手段。
とを、新たに設けることにより、ベクトルマスクの生成
、ベクトルマスク間演算9条件付きベクトル演算処理を
、全て同時並行して処理することを可能としたものであ
る。
、ベクトルマスク間演算9条件付きベクトル演算処理を
、全て同時並行して処理することを可能としたものであ
る。
ただし、本明細書では“演算処理″という言葉により、
主記憶参照、ベクトル間の加減算等の演算、結果の主記
憶への格納の全てのものをさし、本明細1゛の実施例で
はマスク付き主記憶格納を例にとる。
主記憶参照、ベクトル間の加減算等の演算、結果の主記
憶への格納の全てのものをさし、本明細1゛の実施例で
はマスク付き主記憶格納を例にとる。
以下1本発明を実施例を参照して詳細に説明する。第5
図は本発明の一実施例を示す。
図は本発明の一実施例を示す。
本発明に直接関連しない装置部分は、通常のベクトルプ
ロセサと同じ構成を有するものとし、その部分の説明は
簡単にするに止める。
ロセサと同じ構成を有するものとし、その部分の説明は
簡単にするに止める。
第5図において、101は主記憶装置、102は主記憶
制御装置、103はスカラ処理装置であり、104Uそ
の一部であるスカラ命令制御装置、105はベクトル命
令制御装置である。
制御装置、103はスカラ処理装置であり、104Uそ
の一部であるスカラ命令制御装置、105はベクトル命
令制御装置である。
スカラ命令制御装置104では主記憶制御装置102と
信号線201を介して主記憶装置101から順次読出し
た命令を解読し、これが通常のスカラ命令であるときは
、スカラ処理装置103にて通常のスカラ演算処理を行
い、信号線202を介し結果を主記憶装置101に書込
む。スカラ命令制御装置104で解読した命令が、ベク
トル命令列の起動を指示する命令であれば、信号線20
3を介して、ベクトル命令列の主記憶装置101上での
先頭アドレスと、処理すべきベクトルエレメント数と、
起動信号をベクトル命令制御装置105へ渡す。引続き
、ベクトル命令制御装置105は与えられたアドレスに
従い、信号線201,204を介してペタトル命令列を
主記憶装置101から111fi次読出し、ベクトル命
令を解読し、命令中で指定された、レジスタ、演算器、
メモ1ノ1ノクエタ等が使用可能な状態にあると判断し
た命令75)ら、それぞれ信号線205,206,20
7を介して命令に必要なリソースを起動すると共に、同
時に、処理すべきベクトルエレメント数を含めた市+j
徊1+青報を転送する。ベタトル命令のニレメントイ固
々に対する処理は、ベクトルレジスタ制御装置110や
、ベクトルマスクレジスタ制御装置120の送出する。
信号線201を介して主記憶装置101から順次読出し
た命令を解読し、これが通常のスカラ命令であるときは
、スカラ処理装置103にて通常のスカラ演算処理を行
い、信号線202を介し結果を主記憶装置101に書込
む。スカラ命令制御装置104で解読した命令が、ベク
トル命令列の起動を指示する命令であれば、信号線20
3を介して、ベクトル命令列の主記憶装置101上での
先頭アドレスと、処理すべきベクトルエレメント数と、
起動信号をベクトル命令制御装置105へ渡す。引続き
、ベクトル命令制御装置105は与えられたアドレスに
従い、信号線201,204を介してペタトル命令列を
主記憶装置101から111fi次読出し、ベクトル命
令を解読し、命令中で指定された、レジスタ、演算器、
メモ1ノ1ノクエタ等が使用可能な状態にあると判断し
た命令75)ら、それぞれ信号線205,206,20
7を介して命令に必要なリソースを起動すると共に、同
時に、処理すべきベクトルエレメント数を含めた市+j
徊1+青報を転送する。ベタトル命令のニレメントイ固
々に対する処理は、ベクトルレジスタ制御装置110や
、ベクトルマスクレジスタ制御装置120の送出する。
1エレメント毎の処理の許可信号に従って進められる。
以下、第1図に示し7たDoルーフ。
の処理を行う場合を例にとり、本発明によるベクトル命
令の実行を説明する。本例では、ベクトルレジスタと呼
ぶバッファ記憶を用いており、それぞれNエレメントか
らなる一連のデータ、A(1〜N)、B(1〜N)、C
(1〜N)、D(1〜N)、E(1〜N)、G(1〜N
)を信号線211〜216をを介し、ベクトルレジスタ
111〜116にそれぞれ格納することが必要である7
5:、この間の処理は通常のベクトルプロセッサによる
処理に従うものとする。
令の実行を説明する。本例では、ベクトルレジスタと呼
ぶバッファ記憶を用いており、それぞれNエレメントか
らなる一連のデータ、A(1〜N)、B(1〜N)、C
(1〜N)、D(1〜N)、E(1〜N)、G(1〜N
)を信号線211〜216をを介し、ベクトルレジスタ
111〜116にそれぞれ格納することが必要である7
5:、この間の処理は通常のベクトルプロセッサによる
処理に従うものとする。
第1図の処理を実行するには、上記の処理を行う6つの
命令の他に、A(I)とB(I)を要素ごとに比較し、
比較結果をベクトルマスクレジスタに書込む第7の命令
。同じ<、C(I)とD(I)の値の要素ごとの比較結
果を第7の命令で宵込んだのとは別のマスタレジスタに
書込む第8の命令。第7の命令と第8の命令により得ら
れる2つのベクトルマスク間で論理演算を行い、結果を
第3のベクトルマスクレジスタに書込む第9の命令。F
(I)とG(I)を要素毎に加算し、結果をベクトルレ
ジスタに格納する第10の命令と、第1Oの命令によっ
て得られた加算結果を、第9の命令によって得られたベ
クトルマスクがto 1nをとる場合のみ(もしくは、
0″′をとる場合のみ)、E(I)に相当するメモリア
ドレスに書込む、第11の命令が用いられる。
命令の他に、A(I)とB(I)を要素ごとに比較し、
比較結果をベクトルマスクレジスタに書込む第7の命令
。同じ<、C(I)とD(I)の値の要素ごとの比較結
果を第7の命令で宵込んだのとは別のマスタレジスタに
書込む第8の命令。第7の命令と第8の命令により得ら
れる2つのベクトルマスク間で論理演算を行い、結果を
第3のベクトルマスクレジスタに書込む第9の命令。F
(I)とG(I)を要素毎に加算し、結果をベクトルレ
ジスタに格納する第10の命令と、第1Oの命令によっ
て得られた加算結果を、第9の命令によって得られたベ
クトルマスクがto 1nをとる場合のみ(もしくは、
0″′をとる場合のみ)、E(I)に相当するメモリア
ドレスに書込む、第11の命令が用いられる。
以下第5図を用いて、第1図の処理を説明する。
第7の命令に応答してベクトル命令制御装置は、演算器
131に、ベクトルレジスタ111゜112中の値を送
り、式(υの比較を行なう。この場合、等しいという関
係が成立する場合には、値パ1”を、成立しない場合に
は値II 0++を、信号線231を介し、ベクトルマ
スクレジスタ122に書込むものとする。この比較演算
は、131にパイプライン演算器を用いることで、1サ
イクルに1エレメントのピッチで進めることができる。
131に、ベクトルレジスタ111゜112中の値を送
り、式(υの比較を行なう。この場合、等しいという関
係が成立する場合には、値パ1”を、成立しない場合に
は値II 0++を、信号線231を介し、ベクトルマ
スクレジスタ122に書込むものとする。この比較演算
は、131にパイプライン演算器を用いることで、1サ
イクルに1エレメントのピッチで進めることができる。
第8の命令は、同様に式(2)の比較を行い、成立に対
し61″を、不成立に対してはIt 07+を、パイプ
ライン演算器132から信号線232を介して、ベクト
ルマスクレジスタ123に盲込む。
し61″を、不成立に対してはIt 07+を、パイプ
ライン演算器132から信号線232を介して、ベクト
ルマスクレジスタ123に盲込む。
122と123に書込才れた値の間で、今度は第9の翁
令によって論理積をとる演算が行われる。
令によって論理積をとる演算が行われる。
これは、従来技術で述べたような、一括処理しか出来な
いレジスタ及び演算器ではなく、ベクトルマスクの専用
レジスタ121〜123、及び専用のパイプライン演算
器141を用いているため、必要なデータが揃ったエレ
メント間では、ただちに論理積をとる処理Vこ移るよう
に同期される。
いレジスタ及び演算器ではなく、ベクトルマスクの専用
レジスタ121〜123、及び専用のパイプライン演算
器141を用いているため、必要なデータが揃ったエレ
メント間では、ただちに論理積をとる処理Vこ移るよう
に同期される。
また、第9の命令で作成されたベクトルマスクの値を、
第11の命令で参照する場合も、メモリに格納するデー
タと、ベクトルマスクが揃ったエレメント間では、直ち
に処理が行われるように同期される。
第11の命令で参照する場合も、メモリに格納するデー
タと、ベクトルマスクが揃ったエレメント間では、直ち
に処理が行われるように同期される。
前者のベクトルマスクレジスタ間の同期機構を第6図で
説明し、後者のベクトルマスクレジスタとベタトルレジ
スタの間での同期機構を、条件付きベクトル演算を例に
、第7図で説明する。
説明し、後者のベクトルマスクレジスタとベタトルレジ
スタの間での同期機構を、条件付きベクトル演算を例に
、第7図で説明する。
第7. 第8の命令で書込まれたベクトルマスクレジス
タの値は、書込みが全エレメントにわたって終了してい
れば、どこから読んでも良いが、途中のエレメントを書
き込んでいる途中なら、書込む前の値を読むと、第1図
の処理が正しく実行されない。この書込み済の範囲を知
る目的で、例えば、比較演算結果を書き込んでから、論
理積をとるため読出されるベクトルマスクレジスタ12
2(以下VMR2と呼ぶ)に対応して、書き込み済みエ
レメント数が、どれだけ読み出しエレメント数を上回っ
ているかを蓄える、アップダウンカウンタ322と、書
込み中であるとか読出し中であるという状態を蓄えるレ
ジスタ321を用意する。
タの値は、書込みが全エレメントにわたって終了してい
れば、どこから読んでも良いが、途中のエレメントを書
き込んでいる途中なら、書込む前の値を読むと、第1図
の処理が正しく実行されない。この書込み済の範囲を知
る目的で、例えば、比較演算結果を書き込んでから、論
理積をとるため読出されるベクトルマスクレジスタ12
2(以下VMR2と呼ぶ)に対応して、書き込み済みエ
レメント数が、どれだけ読み出しエレメント数を上回っ
ているかを蓄える、アップダウンカウンタ322と、書
込み中であるとか読出し中であるという状態を蓄えるレ
ジスタ321を用意する。
VMR2から1エレメント読み出す為の許可信号404
ば、VMR2が書込み中でない場合か、書込み中だがこ
れから読み出そうとするエレメントが1込み済である場
合に発行される。カウンタ322は書込みエレメント数
から読出しエレメント数(もしくは読出し予定エレメン
ト数)を引いた差を保持しているので、このカウンタの
値が正であることを示す信号401、VR4R2が貞込
み中かつ、読出し中であることを示す信号402、VM
R2が書込み中ではない、単純な読み出し状態にあるこ
とを示す信号403に、AND回路323、OR回路3
24の論理をとることで、信号404を得ることができ
る。
ば、VMR2が書込み中でない場合か、書込み中だがこ
れから読み出そうとするエレメントが1込み済である場
合に発行される。カウンタ322は書込みエレメント数
から読出しエレメント数(もしくは読出し予定エレメン
ト数)を引いた差を保持しているので、このカウンタの
値が正であることを示す信号401、VR4R2が貞込
み中かつ、読出し中であることを示す信号402、VM
R2が書込み中ではない、単純な読み出し状態にあるこ
とを示す信号403に、AND回路323、OR回路3
24の論理をとることで、信号404を得ることができ
る。
また、VMR,2とベクトルマスクレジスタ123(以
下、VM)L3と呼ぶ)の間で演算をして良いツバ、V
MR2も、VMR3も、どちらも1エレメント読み出す
許可信号が揃っている場合に限る。
下、VM)L3と呼ぶ)の間で演算をして良いツバ、V
MR2も、VMR3も、どちらも1エレメント読み出す
許可信号が揃っている場合に限る。
1エレメントの演算許可信号406は、VMR2の1エ
レメント読出し許可信号404と、VMR。
レメント読出し許可信号404と、VMR。
3の1エレメント読出し許可信号405をAND回路3
01を用いてANDすることによ#)得られる。この1
エレメントの演算許可信号406によってV11V12
と3の読出しアドレス302の値が1追加され、未処理
エレメント数を蓄えたカウンタ303の値が1でないな
ら、1減じて、次のエレメント処理へと進む。この論理
積演算はパイプライン演算器141の各ステージ、14
11〜1413を経て、ベクトルマスクレジスタ121
(以下VMR1と呼ぶ)に書込まれる。この際、書込み
側のアドレス304やアップダウンカウンタ312への
加算fd、306〜307に示す同期フリップフロップ
を適当に追加することで、データの処理の同期がとられ
る。VMRlに書き込んだエレメントデータを、必要な
場合に、書込みと同時に読み出すには、アップダウンカ
ウンタ312への+1動作が行われてから、実際にデー
タが122へ書込まれるまでの時間差を、アップダウ/
カラ/り312の一1動作が行われてから、読出しが行
われるまでの時間差に等しく設計することが必要である
。本例ではそのために、信号407は307のフリップ
フロップ群をバイパスしてアップダウンカウンタ312
へ送られている。この307のフリップフロップのうち
最初のもの3071から、7MR1までの信号の伝達時
間と、312から、第6図では省略されているVRIの
胱出し゛rドレス(第7図503)までの伝達時間を等
しくすることによって、VMRIに4込まれたデータを
直ちに読出すことが可能となっている。
01を用いてANDすることによ#)得られる。この1
エレメントの演算許可信号406によってV11V12
と3の読出しアドレス302の値が1追加され、未処理
エレメント数を蓄えたカウンタ303の値が1でないな
ら、1減じて、次のエレメント処理へと進む。この論理
積演算はパイプライン演算器141の各ステージ、14
11〜1413を経て、ベクトルマスクレジスタ121
(以下VMR1と呼ぶ)に書込まれる。この際、書込み
側のアドレス304やアップダウンカウンタ312への
加算fd、306〜307に示す同期フリップフロップ
を適当に追加することで、データの処理の同期がとられ
る。VMRlに書き込んだエレメントデータを、必要な
場合に、書込みと同時に読み出すには、アップダウンカ
ウンタ312への+1動作が行われてから、実際にデー
タが122へ書込まれるまでの時間差を、アップダウ/
カラ/り312の一1動作が行われてから、読出しが行
われるまでの時間差に等しく設計することが必要である
。本例ではそのために、信号407は307のフリップ
フロップ群をバイパスしてアップダウンカウンタ312
へ送られている。この307のフリップフロップのうち
最初のもの3071から、7MR1までの信号の伝達時
間と、312から、第6図では省略されているVRIの
胱出し゛rドレス(第7図503)までの伝達時間を等
しくすることによって、VMRIに4込まれたデータを
直ちに読出すことが可能となっている。
第6図で、WTと書かれているのは、それぞれのベクト
ルマスクレジスタへの書込み命令により発行でれる信号
である。本例では、第1図の式(IJの処理の始まりと
共に、信号421により、Vl、flR2の状態321
を、書込み状態にセットし、アップダウンカラ/り32
2−QOにリセットする。
ルマスクレジスタへの書込み命令により発行でれる信号
である。本例では、第1図の式(IJの処理の始まりと
共に、信号421により、Vl、flR2の状態321
を、書込み状態にセットし、アップダウンカラ/り32
2−QOにリセットする。
そして、1エレメント毎の書込み信号422により、書
き込み数をカウントアツプさ−Iりると共に信号423
により、結果をVMR−’1に書込む。そして、全エレ
メント分の処理の終了をカウンタ303の値が1″t″
あるという信号424により検出し、書込み状態にある
という記録を311から、読出し状態にあるという記録
を321〜331から解除する。
き込み数をカウントアツプさ−Iりると共に信号423
により、結果をVMR−’1に書込む。そして、全エレ
メント分の処理の終了をカウンタ303の値が1″t″
あるという信号424により検出し、書込み状態にある
という記録を311から、読出し状態にあるという記録
を321〜331から解除する。
以上の動作は、第6図で説明しているベクトルマスクレ
ジスタ間演舞、によるVMRlの書き込み制御方式と同
じため、第6図でI/iVMI’?、2及びVMR3の
書込み側の制御回路は省略しである。
ジスタ間演舞、によるVMRlの書き込み制御方式と同
じため、第6図でI/iVMI’?、2及びVMR3の
書込み側の制御回路は省略しである。
第1図の式(1)、式(2)が全エレメント処理される
のを待たず、式(1)と式(2)のベクトルマスク間演
算命令が起m11されると、1NiT と書かれた信号
207により、寸ず、VMRlの状態311が書き込み
状態にセットキれると共に、アップダウンカウンタ31
2が0にリセットされるのは、先に述べた式(1)の処
理と同様であるが、でらにVNR2及びVMR3の状態
か、読み出し状態にセットされる。従って本例で第1図
のプログラムの処理を行った場合、7MR2は読み出し
かつ書込み中の状態となり、信号401がオンで信号4
03がオフのため、書き込み済のエレメントのみについ
て読み出しの許可を与える制御を行う。
のを待たず、式(1)と式(2)のベクトルマスク間演
算命令が起m11されると、1NiT と書かれた信号
207により、寸ず、VMRlの状態311が書き込み
状態にセットキれると共に、アップダウンカウンタ31
2が0にリセットされるのは、先に述べた式(1)の処
理と同様であるが、でらにVNR2及びVMR3の状態
か、読み出し状態にセットされる。従って本例で第1図
のプログラムの処理を行った場合、7MR2は読み出し
かつ書込み中の状態となり、信号401がオンで信号4
03がオフのため、書き込み済のエレメントのみについ
て読み出しの許可を与える制御を行う。
前述の式(1)の命令によシ1エレメントの書き込みが
ある度に、カウンタ322は+1されるから、その結果
を使うベクトルマスク間演算では、カウンタ322の値
が正である限り、読み出し許可信号404を発行し、カ
ウンタ322から−1する。
ある度に、カウンタ322は+1されるから、その結果
を使うベクトルマスク間演算では、カウンタ322の値
が正である限り、読み出し許可信号404を発行し、カ
ウンタ322から−1する。
例では、簡単の為に408により−1しているが、40
6により−1してもよい。
6により−1してもよい。
この408により−1した場合は406により−1した
場合に比べ性能の劣化する場合があるが、この劣化は3
91〜394にある回路により回避できる。信号406
により−1する場合391〜394の回路は不要である
。以下では、簡単のたメ、ヘクトルレジスタ、ベクトル
マスクレジスタの読出し許可信号作成及び、演算許可信
号作成時の391〜394に相当する回路は図面中では
省略する。
場合に比べ性能の劣化する場合があるが、この劣化は3
91〜394にある回路により回避できる。信号406
により−1する場合391〜394の回路は不要である
。以下では、簡単のたメ、ヘクトルレジスタ、ベクトル
マスクレジスタの読出し許可信号作成及び、演算許可信
号作成時の391〜394に相当する回路は図面中では
省略する。
VMR2と同様にVMR3も、読み出し許可信号を作成
し、両者のAND条件をとった406が最終的な演算許
可信号となって読み出しアドレス302の値を進め、読
み出し用セレクタ326゜336を介して、ベクトルマ
スク専用演算器305にデータを送ると共に、書込み許
可信号としてカウンタ312の値に+1を行い、書込み
アドレス304の値を進める。ここで、演算器141を
ベクトルマスクレジスタ間演算専用とすることで、僅か
なコストの追加によシ、処理の高速化が可能となってい
る。第5図では、ベクトルレジスタ用演算器3個、ベク
トルマスク専用演算器1個の構成となっているが、ベク
トルマスク専用演算器は入力データ巾が、前者の32〜
64ビツト/エレメントに対し、後者は1ビツト/エレ
メントであり、コストもそれに順じて少なく出来る。
し、両者のAND条件をとった406が最終的な演算許
可信号となって読み出しアドレス302の値を進め、読
み出し用セレクタ326゜336を介して、ベクトルマ
スク専用演算器305にデータを送ると共に、書込み許
可信号としてカウンタ312の値に+1を行い、書込み
アドレス304の値を進める。ここで、演算器141を
ベクトルマスクレジスタ間演算専用とすることで、僅か
なコストの追加によシ、処理の高速化が可能となってい
る。第5図では、ベクトルレジスタ用演算器3個、ベク
トルマスク専用演算器1個の構成となっているが、ベク
トルマスク専用演算器は入力データ巾が、前者の32〜
64ビツト/エレメントに対し、後者は1ビツト/エレ
メントであり、コストもそれに順じて少なく出来る。
第6図の制御により、第7〜8の命令と第9の命令が同
期されることが判るが、第7図は、第11の命令と第1
2の命令の同期方法を示したものである。MR2とMR
3の読み出し制御回路は、第6図のベクトルマスクレジ
スタのV MR2とVMR3のそれと同様のものを採用
している為、ここでは説明を省く。VMRlの読み出し
制御回路と第6図の読出し制御回路との相違は、502
のフリップフロップを条件付き命令でないことを記録さ
せるよう、新たに設け、その場合、演算器等に送るベク
トルマスク値603を、信号602 ゛を介して常に
′°1”にしていることである。このフリップ70ツブ
により、条件付きベクトル演算命令以外にも、同じ演算
器505を使用できる。
期されることが判るが、第7図は、第11の命令と第1
2の命令の同期方法を示したものである。MR2とMR
3の読み出し制御回路は、第6図のベクトルマスクレジ
スタのV MR2とVMR3のそれと同様のものを採用
している為、ここでは説明を省く。VMRlの読み出し
制御回路と第6図の読出し制御回路との相違は、502
のフリップフロップを条件付き命令でないことを記録さ
せるよう、新たに設け、その場合、演算器等に送るベク
トルマスク値603を、信号602 ゛を介して常に
′°1”にしていることである。このフリップ70ツブ
により、条件付きベクトル演算命令以外にも、同じ演算
器505を使用できる。
また、第6図でVMR2とVMR3の読出し許可信号間
のANDをとった信号406に和尚して、第7図での演
算処理許可(本例では1エレメントの主記憶格納許可)
信号606i、j:、ベクトルマスクレジスタVMRI
の抗出し許可信号644と、ベクトルレジスタVR,1
の読出し許可信号634と、主記憶書込み制御回路10
21からの受付は許可信号601との間でANDをとっ
たもの七している。条件句き命令以外の主記憶書込み命
令の処理の場合は、信号207によりレジスタ502に
1を格納し、信号602と011.回路543により、
信号644を常に1に設定する。
のANDをとった信号406に和尚して、第7図での演
算処理許可(本例では1エレメントの主記憶格納許可)
信号606i、j:、ベクトルマスクレジスタVMRI
の抗出し許可信号644と、ベクトルレジスタVR,1
の読出し許可信号634と、主記憶書込み制御回路10
21からの受付は許可信号601との間でANDをとっ
たもの七している。条件句き命令以外の主記憶書込み命
令の処理の場合は、信号207によりレジスタ502に
1を格納し、信号602と011.回路543により、
信号644を常に1に設定する。
以上のようにして、第4図のタイムチャートに示したよ
うに従来は3N+3サイクルかかった処理を、本特許に
よりN+3サイクルで処理できる。
うに従来は3N+3サイクルかかった処理を、本特許に
よりN+3サイクルで処理できる。
この短縮された2Nサイクルの内訳は、ベクトルマスク
生成の比較演算命令と、ベクトルマスク間の論理積演算
命令との間での処理の非並列化による従来方式での損失
がNサイクル、論理積演算命令と、条件付きベクトル演
算処理(本例でに条件付き主記憶格納)命令との間での
処理の非並列化による従来方式での損失がNサイクルで
あり、両損失の改善には、第6図と第7図に示した2通
りの同期機構がそれぞれ寄与している。両改善とも、専
用のベクトルマスクレジスタと演算器を使用せずに、通
常のベクトルレジスタを拡張して使用しても可能である
が、専用化することにより、同じ性能を得る上で、コス
ト的に32〜64倍有利であることが明らかである。
生成の比較演算命令と、ベクトルマスク間の論理積演算
命令との間での処理の非並列化による従来方式での損失
がNサイクル、論理積演算命令と、条件付きベクトル演
算処理(本例でに条件付き主記憶格納)命令との間での
処理の非並列化による従来方式での損失がNサイクルで
あり、両損失の改善には、第6図と第7図に示した2通
りの同期機構がそれぞれ寄与している。両改善とも、専
用のベクトルマスクレジスタと演算器を使用せずに、通
常のベクトルレジスタを拡張して使用しても可能である
が、専用化することにより、同じ性能を得る上で、コス
ト的に32〜64倍有利であることが明らかである。
第1図はマスク付きベクトル処理を含むFORTRAN
プログラム例。第2図は従来技術による第1図プログラ
ムの処理手順。第3図は、従来技術による図1の処理の
タイムチャート。第4図は本発明による図1の処理のタ
イムチャート。 第5図は、本発明による処理装置の一構成例を示す。第
6図は、ベクトルマスクレジスタ間の演算実行制御の一
実施例、第7図は条件付きベクトル主記憶格納処理実行
制御の一実施例を示す。121〜123はベクトルマス
ク専用レジスタ。 第 1 口 p万 Ill:l’ U=l、N IF( ’ic CA(r−)、 E(L
、 B(r、)) X(+)友
、AND。 % (C(X)、 LT、 D(r
)) 入(Z)() 夙 E(1)二F<1)士(q(T) 氏(3
)1117 C力NTIJ/UE ′″fJ Z 図 1 3 図 第 4 図 (人1)0宍i丁 の ■ (リヒーーヒ
ー→□−−−−−+ (人2)の宇イ丁 ごpヤqと、−−−−イイ父h
茅 乙 図 第 7 霞
プログラム例。第2図は従来技術による第1図プログラ
ムの処理手順。第3図は、従来技術による図1の処理の
タイムチャート。第4図は本発明による図1の処理のタ
イムチャート。 第5図は、本発明による処理装置の一構成例を示す。第
6図は、ベクトルマスクレジスタ間の演算実行制御の一
実施例、第7図は条件付きベクトル主記憶格納処理実行
制御の一実施例を示す。121〜123はベクトルマス
ク専用レジスタ。 第 1 口 p万 Ill:l’ U=l、N IF( ’ic CA(r−)、 E(L
、 B(r、)) X(+)友
、AND。 % (C(X)、 LT、 D(r
)) 入(Z)() 夙 E(1)二F<1)士(q(T) 氏(3
)1117 C力NTIJ/UE ′″fJ Z 図 1 3 図 第 4 図 (人1)0宍i丁 の ■ (リヒーーヒ
ー→□−−−−−+ (人2)の宇イ丁 ごpヤqと、−−−−イイ父h
茅 乙 図 第 7 霞
Claims (1)
- 1.2つ以上のベクトルマスク専用レジスタと、少なく
とも1つのベクトルマスク専用演算器と、該ベクトルマ
スク専用レジスタへの書込み処理に並行して、同一のベ
クトルマスク専用レジスタからの読出し処理を行うため
の同期の手段と、ベクトルマスク専用レジスタ間での演
算命令の処理にあたって、要求されるマスク情報間での
読み出し及び演算の同期手段と、マスク付きベクトル演
算命令の処理にあたって、要求づれるベクトルデータ及
びマスク情報の間での読出シ及び演算処理の同期手段と
を有する、マスク付きベクトル演算処理装置。 2、該ベクトルマスク専用レジスタのうち、同一のもの
に対する書込み処理と読出し処理の間での該同期手段は
、書込み命令に後読する、読出し命令の処理における、
ベクトルエレメント毎の同期をとる手段を有する第1項
の装置。 3、該マスク付きベクトル演算命令において、該ベクト
ルデータの保持及び読出しに、ベクトルレジスタを有す
る第1項の装置。 4、該マスク付きベクトル演算命令において、ベクトル
レジスタ中のデータに対し、マスク付きの主記憶格納内
の手段を有する第3項の装置。 5、該マスク付きベクトル演算命令以外の演算命令の解
読結果として選択する演算器として、マスク付き演算命
令に用いる演算器を流用する手段を、ベクトルデータと
ベクトルマスクデータとの該同期手段と、ベクトルマス
クデータの読出し手段の一部として有する第1項の装置
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57168358A JPH0616287B2 (ja) | 1982-09-29 | 1982-09-29 | マスク付きベクトル演算処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57168358A JPH0616287B2 (ja) | 1982-09-29 | 1982-09-29 | マスク付きベクトル演算処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5958580A true JPS5958580A (ja) | 1984-04-04 |
| JPH0616287B2 JPH0616287B2 (ja) | 1994-03-02 |
Family
ID=15866591
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57168358A Expired - Lifetime JPH0616287B2 (ja) | 1982-09-29 | 1982-09-29 | マスク付きベクトル演算処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0616287B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6327975A (ja) * | 1986-07-22 | 1988-02-05 | Hitachi Ltd | ベクトル演算制御方式 |
| US4761754A (en) * | 1983-09-09 | 1988-08-02 | Nec Corporation | Vector processor wherein outputs of vector registers are fixedly coupled to inputs of vector calculators |
| JPH04116770A (ja) * | 1990-09-07 | 1992-04-17 | Koufu Nippon Denki Kk | ベクトルデータ処理装置 |
| WO2000036527A1 (en) * | 1998-12-16 | 2000-06-22 | Matsushita Electric Industrial Co., Ltd. | Conditional vector operation method and device thereof |
| JP2017027149A (ja) * | 2015-07-16 | 2017-02-02 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5723174A (en) * | 1980-07-17 | 1982-02-06 | Fujitsu Ltd | Arithmetic system using mask register |
-
1982
- 1982-09-29 JP JP57168358A patent/JPH0616287B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5723174A (en) * | 1980-07-17 | 1982-02-06 | Fujitsu Ltd | Arithmetic system using mask register |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4761754A (en) * | 1983-09-09 | 1988-08-02 | Nec Corporation | Vector processor wherein outputs of vector registers are fixedly coupled to inputs of vector calculators |
| JPS6327975A (ja) * | 1986-07-22 | 1988-02-05 | Hitachi Ltd | ベクトル演算制御方式 |
| JPH04116770A (ja) * | 1990-09-07 | 1992-04-17 | Koufu Nippon Denki Kk | ベクトルデータ処理装置 |
| WO2000036527A1 (en) * | 1998-12-16 | 2000-06-22 | Matsushita Electric Industrial Co., Ltd. | Conditional vector operation method and device thereof |
| US7062633B1 (en) | 1998-12-16 | 2006-06-13 | Matsushita Electric Industrial Co., Ltd. | Conditional vector arithmetic method and conditional vector arithmetic unit |
| JP2017027149A (ja) * | 2015-07-16 | 2017-02-02 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0616287B2 (ja) | 1994-03-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS62214464A (ja) | データ処理システム | |
| JPH0546593B2 (ja) | ||
| US3943494A (en) | Distributed execution processor | |
| JPH0731669B2 (ja) | ベクトル・プロセツサ | |
| JPS5975365A (ja) | ベクトル処理装置 | |
| JPS61107431A (ja) | 演算装置 | |
| JPS5890251A (ja) | パリテイ検査装置 | |
| JPH07104784B2 (ja) | デジタルデータ処理装置 | |
| JPS5958580A (ja) | マスク付きベクトル演算処理装置 | |
| US4924377A (en) | Pipelined instruction processor capable of reading dependent operands in parallel | |
| JPS58182758A (ja) | 演算制御装置 | |
| JPH0380324A (ja) | 中央演算処理装置 | |
| JPS6184777A (ja) | パイプライン演算装置 | |
| RU2198422C2 (ru) | Асинхронная синергическая вычислительная система | |
| JP3771682B2 (ja) | ベクトル処理装置 | |
| JPS6049438A (ja) | メモリ装置 | |
| JPH0926945A (ja) | 情報処理装置 | |
| JPS60128529A (ja) | マ−ジ処理器 | |
| JPS62166463A (ja) | デ−タ転送方式 | |
| JPS62226275A (ja) | ベクトル処理装置 | |
| JPH03189868A (ja) | データ処理プロセツサ | |
| JPS6395540A (ja) | メモリインタフエ−ス回路 | |
| JPH0311479A (ja) | ストリーム演算終了検知方法及びその装置 | |
| JPS62189574A (ja) | ベクトル処理装置 | |
| JPS5971577A (ja) | ベクトル処理装置の制御方式 |