JPH0222417B2 - - Google Patents

Info

Publication number
JPH0222417B2
JPH0222417B2 JP3130281A JP3130281A JPH0222417B2 JP H0222417 B2 JPH0222417 B2 JP H0222417B2 JP 3130281 A JP3130281 A JP 3130281A JP 3130281 A JP3130281 A JP 3130281A JP H0222417 B2 JPH0222417 B2 JP H0222417B2
Authority
JP
Japan
Prior art keywords
mask
vector data
vector
instruction
elements
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
JP3130281A
Other languages
English (en)
Other versions
JPS57146376A (en
Inventor
Koichiro Omoda
Shigeo Nagashima
Shunichi Torii
Yasuhiro Inagami
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3130281A priority Critical patent/JPS57146376A/ja
Publication of JPS57146376A publication Critical patent/JPS57146376A/ja
Publication of JPH0222417B2 publication Critical patent/JPH0222417B2/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)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明はベクトルデータを高速に演算する装置
に関する。
(従来技術) 科学技術の進歩に伴ない、科学技術計算の高速
化が重要な課題となつている。このため、ベクト
ル演算をパイプライン処理によつて高速化するベ
クトルプロセツサが開発されている。
これらのベクトルプロセツサで第1図に示すよ
うな条件文を含むDOループの演算を処理するた
めの従来の手順を第2図と第3図を用いて説明す
る。第1図に示すDOループでは、式(1)に示す論
理演算に一致がみられれば、そのエレメントにつ
いては、式(2)の演算を行い、一致が見られなけれ
ば、そのエレメントについては式(3)の演算を行う
ことをN個のエレメントについて繰り返えされ
る。第2図はエレメント数Nが5で、オペランド
A(1〜5)とB(1〜5)に適当な数値を仮定し
た場合のデータの変化を示し、第3図はその処理
内容をステツプ1〜4に分けて示したものであ
る。
ステツプ1:オペランドA(1〜5)とB(1〜
5)の対応するエレメント同志を比較して、マス
クM(1〜5)を作成する。この場合、両エレメ
ントの値が一致していれば対応するマスクは1と
し、不一致であれば0とする。したがつて本例で
はマスクM(1〜5)の値はそれぞれ1,0,1,
1,0となる。
なお、ステツプ1での処理は第1図の式(1)に対
応し、演算は5個のエレメント全部について行な
われる。
ステツプ2:本ステツプでの処理は第1図の式
(2)の演算を行なうが、この場合、全エレメントに
ついて無条件に行なうのでなく、ステツプ1での
比較演算結果、一致したエレメントに対応するエ
レメントについてのみ式(2)を実行する必要があ
る。このためマスク付き加算を用いて次のように
演算する。即ち、マスクM(1〜5)の値を調べ、
1の値をもつエレメントに対応するエレメントの
みに対して式(2)の演算を実行し、0の値をもつエ
レメントに対応するエレメントについては演算を
抑止するように制御する。従つて、本例では図中
に斜線で示した第1,3,4エレメントのみ演算
される。
ステツプ3:マスクM(1〜5)の各エレメン
トの値を反転して、その結果をマスクM′(1〜
5)とする。本例では、マスクM′(1〜5)の値
は、それぞれ0,1,0,0,1となる。
ステツプ4:本ステツプでの処理は第1図の式
(3)の演算を行なうが、この場合、全エレメントに
ついて無条件に行なうのでなく、ステツプ1での
比較演算結果、不一致のエレメントに対応するエ
レメントについてのみ式(3)を実行する必要があ
る。このため、ステツプ2で述べたと同様の演算
制御をするマスク付き加算を用いる。なお、この
場合のマスクM′を用いる。本例では、ステツプ
2で演算されなかつた第2,5エレメントのみが
演算されることになる。
前述した如く、従来技術によるマスク付き演算
では、マスクの値が1であるエレメントに対応し
たエレメントのみの演算を実行し、マスクの値が
0であるエレメントに対応したエレメントについ
ては演算を抑止するように制御する。従つて、従
来技術では第3図のステツプ4の処理を行なう前
にステツプ3のマスク反転処理が余分に必要とな
るという問題点があつた。
一般に、N個のエレメントを有するベクトルの
演算を行う場合、各エレメントの演算が1クロツ
ク期間で行なわれたとするとステツプ1,2,4
の各々でNクロツク期間必要となる。さらにステ
ツプ3でもNクロツク期間必要となる。このため
マスク付き演算では、本来の演算に必要な時間
(3Nクロツク期間)の三分の一の時間がマスク反
転のために余分に必要となり、このため、マスク
付き演算の高速化を妨げている。
(発明の目的) 本発明の目的は、命令によるマスク情報を変更
する処理を行なわないで、複数の種類のマスク情
報を用いて複数のマスク演算を実行可能なベクト
ル演算処理装置を提供することにある。
(発明の総括的説明) このため本発明による装置では、ベクトル命令
を解読することにより、その命令がマスク付演算
のための命令のときには、それが要求する演算内
容とマスク情報をそれぞれ指定する信号を出力す
るための解読手段と、複数種類のマスク情報を発
生する手段であつて、該解読手段から与えられる
マスク情報指定信号により指定されたマスク情報
を選択的に順次1要素ずつ出力する手段とを設け
ることにより、命令によるマスク情報の変更処理
を不要としたものである。
(実施例) 以下、本発明を実施例を参照して詳細に説明す
る。第5図は本発明の一実施例を示す。
本実施例は、本出願人が開発したM180又は
M200H型の計算機に内蔵されているアレイプロ
セツサに本発明を適用して得られたものである。
本発明に直接関連しない装置部分は、従来の、上
述のアレイプロセツサと同じ構成を有するので、
その部分の説明は簡単にするに止める。上のアレ
イプロセツサについては、マニユアル「M180/
M200H内蔵型アレイプロセツサ」が参考となる。
第5図において、101は主記憶装置、102
は記憶制御装置、103は命令制御装置、104
は演算制御装置、105はベクトル命令制御回
路、106,107は64個のデータを格納できる
プリフエツチバツフア、108,118〜121
はAND(論理積)回路、109は1ビツトのマス
クレジスタ、110はストアレジスタ、111は
加減算および比較演算を行なう演算器、111―
1〜5は演算器の各演算ステージ、111―6〜
10はマスクを1ビツトずつシフトする5ビツト
のシフトレジスタ、112は64ビツトから構成さ
れるマスクレジスタ、113は選択回路、114
はマスク命令識別回路、115は反転回路、11
6,117はNOT(否定)回路、122はOR(論
理和)回路である。
命令制御装置103は記憶制御装置120と信
号線202を介して主記憶装置101から命令を
順次読出し、これらの命令を解読し、これが非ベ
クトル命令であるときは記憶制御装置102を介
して主記憶装置101から読出したデータと演算
制御情報(例えば演算の種類等)を信号線203
を介して演算制御装置104に転送して起動の指
示を行なう。演算制御装置104は命令制御装置
103から指定された演算を入力されたデータに
施し、演算結果を信号線201と記憶制御装置1
02を介して主記憶装置101に書込む。
命令制御装置103が解読した命令がベクトル
命令のときは、その命令はベクトル命令制御回路
105とマスク命令識別回路114により実行さ
れる。
第1図に示した演算を行う場合を例にとり、本
発明によるベクトル命令の実行を第4図、第6図
を参照して説明する。
(1) ステツプ5の処理 第1図の式(2)、式(3)の演算を実行するために
は、ベクトルAとBを比較してマスクを作るべき
ことを指示する第1の命令と、ベクトルDとEの
加算を、このマスクを用いて行なうことにより、
ベクトルCを得るべきことを指示する第2の命令
と、ベクトルGとHの加算を先のマスクを用いて
行なうことにより、ベクトルFを得るべきことを
指示する第3の命令とが用いられる。
第1の命令は、従来のマスク作成命令と同じ
く、ベクトルAとBを比較して、一致が検出され
たエレメントに対して値1を有し、そうでないエ
レメントに対して値0を有するようにマスクMを
作るべきことを指示する命令である。もちろん、
すでに、このマスクMが作成されている場合は、
第1の命令の実行は不必要である。
式(2)の加算は、ベクトルAとBの互いに等しい
エレメントと同じ番号のベクトルDとEのエレメ
ントについてのみ、行なう必要がある。したがつ
て、第2の命令は、従来のマスク付きの加算命令
と同じく、マスクMの対応する値が1であるエレ
メントについてのみ、ベクトルDとEの加算を行
なうべきことを指示する命令である。以下では、
このように、マスクMの対応する値が1であるエ
レメントについてのみ演算を行うべきことを指示
する命令を、正マスク付き演算命令と呼ぶ。一
方、式(3)の加算は、ベクトルAとBの互いに等し
くないエレメントと同じ番号の、ベクトルGとH
のエレメントについてのみ行なう必要がある。こ
のことは、マスクMの対応する値が0であるベク
トルGとHのエレメントについてのみ、加算を行
なう必要があることを示す。従来方法では、この
ため、マスクMを反転する命令を実行し、その後
で、マスクMの対応する値が1である、ベクトル
GとHのエレメントについてのみ加算を行なうこ
とにより、式(3)の演算が行なわれていた。つま
り、従来方法では二つの命令が実行される必要が
ある。本発明では、式(3)の演算を行なう命令は第
3の命令のみである。このため、第3の命令は、
マスクMの対応する値が0である、ベクトルGと
Hのエレメントについてのみ加算を行なうべきこ
とを指示するように定義される。以下では、この
ように、マスクMの対応する値が0であるエレメ
ントについてのみ演算を行うべきことを指示する
命令を補マスク付き演算命令と呼ぶ。第2、第3
の命令はいずれもマスク付き加算を指示する命令
であるが、マスク使用の条件が異なることにな
る。いいかえれば、マスクの種類が異なることに
なる。したがつて、本発明では、これらの命令に
対しては、異なる命令コード(オペコード)を与
えるようにし、命令コードに応じて、異なるマス
クが用いられるようにした。
第1のベクトル命令を命令制御装置103が解
読し、これがマスク作成指示命令であることを知
ると、装置103は線204を介して、この命令
で指定される、オペランドA,Bの先頭アドレス
(エレメントA(1)とB(1)の主記憶装置101上で
のアドレス)、オペランドA,Bのインクリメン
ト値(エレメントA(i)とA(i+1)、およびB(i)
とB(i+1)の主記憶装置101上でのアドレ
ス間隔値)、処理エレメント数N(今の例ではこれ
を5とする)、マスク作成指示情報をベクトル命
令制御回路105に転送し、同時にこれらの情報
をもとにしたベクトル命令処理開始を指示する信
号を送る。また、これと並列して、命令制御装置
103は信号線204を介して命令コードをマス
ク命令識別回路114に転送する。
ベクトル命令制御装置105は、まず、オペラ
ンドA(1)のアドレスと読出しリクエストをそれぞ
れ信号線206,207を介し、記憶制御装置1
02に転送する。オペランドA(2〜5)のアド
レスと読出しリクエストも順次転送される。記憶
制御装置102はリクエストの受付け順に従つて
一定サイクル後に1サイクルに1エレメントずつ
主記憶装置101からデータを読出し、ただち
に、信号線218を介してプリフエツチバツフア
106に順次1サイクルに1エレメントずつ転送
する。なお、オペランドA(1〜5)のアドレス
はベクトル命令制御回路105により次のように
して求められる。即ち、A(1)のアドレスは命令制
御装置103から転送されたオペランドAの先頭
アドレスそのもの、A(2)のアドレスはA(1)のアド
レスに装置103から転送されたオペランドAの
インクリメント値を加算して求められ、オペラン
ドA(3)のアドレスA(2)のアドレスに更にインクリ
メント値を加算して求められる。一般にはA(i)の
アドレスはA(i−1)のアドレスにインクリメ
ント値を加算して求められる。(但し、i=2,
3,4,…)。オペランドBの読出しもAと同様
の手順でオペランドAの読出しと並行して行なわ
れる。この際アドレスと読出しリクエストは信号
線208,209を介して装置102に転送され
る。そして、読出しデータは信号線219を介し
てプリフエツチバツフア107に記憶される。
こうして、ステツプ5の演算に必要なオペラン
ドA,Bがそれぞれプリフエツチバツフア10
6,107に書込まれる。
命令制御装置103がベクトル命令を解読して
から演算開始まで(最初のエレメントのデータA
(1)とB(1)を、それぞれプリフエツチバツフア10
6,107から読出すまで)の一連の処理を前処
理と呼ぶことにし、第6図に示すようにこの前処
理はPサイクルを要するものとする。ベクトル命
令制御回路105は、オペランドAとBの読出し
が終了したPサイクル目にプリフエツチバツフア
106,107に、データの読出しを指示する信
号と読出すべきエレメント数を指示する信号とを
送出する。このための信号線は図示されていな
い。プリフエツチバツフア106,107は、こ
れらの信号に応答して、P+1サイクルから連続
して5サイクルの間に順次A(1〜5)とB(1〜
5)のデータを1サイクルに1エレメントずつ互
いに同期して読出して、それぞれ信号線220,
221を介して演算器111に転送する。
演算器111は例えば5個のステージ(演算ス
テージ111―1〜5)に分割されているものと
仮定する。一般的に、パイプライン処理する演算
器では命令で指定された演算を複数の単位処理に
分割して行なうが、上記ステージはこの単位処理
の一つを実行する。エレメントA(1)とB(1)はP+
2サイクルでステージ111―1の処理を受け、
以後1サイクル毎に次のステージに進み、P+6
サイクルで最後のステージ111―5の処理を受
け、A(1)とB(1)の比較結果(A(1)とB(1)が等しい
とき1、等しくないとき0)が信号線222を介
して64ビツトから構成されるマスクレジスタ11
2に送られる。なお、ベクトル命令制御回路10
5は、命令制御装置103から転送された比較演
算指示情報に基づき、信号線212を介して比較
演算指示を演算開始に先だつP+1サイクル目か
ら演算が終了するP+11サイクルまでの間にわた
り転送し、演算器111に比較演算を指示する。
他のデータA(2〜5),B(2〜5)は、第6
図に示すように1サイクルずつ遅れて処理され、
2〜5番目のエレメントの比較結果がそれぞれP
+8〜P+11サイクルでマスクレジスタ112に
転送される。ベクトル命令制御回路105は、最
初の演算結果がでるP+6サイクルに、マスクレ
ジスタ112に、データのストアを指示する信号
とストアすべきエレメント数を指示する信号とを
送出する。マスクレジスタ112は、これらの信
号に応答して、P+7サイクルからP+11サイク
ルにかけて、線222上のデータを順次第1番目
のビツト位置側からストアする。AとBの値を第
2図のように仮定すれば、マスクレジスタ112
のビツト位置1〜5には、1,0,1,1,0の
値がそれぞれ書込まれる(第6図ではこれらの値
を丸で囲んで示してある)。
これらの演算ステージ111―1〜111―5
における演算は、マスクシフトレジスタ111―
6〜111―10の内の各演算ステージに対応す
るビツトが1のときに行なわれ、0のときには行
なわれない。マスクシフトレジスタ111―6〜
111―10の内容は、1サイクルごとに順次シ
フトされ、同一エレメントに対する演算の進行に
同期して、同一のエレメントに対するマスクビツ
トが順次異なる演算ステージに供給される。すな
わち、プリフエツチバツフア106,107から
のデータの読出しと同期して、OR回路122か
らマスクが1ビツトずつ出力され、信号線228
を介して演算器111に転送される。演算器11
1に転送されたマスクは、データが演算ステージ
111―1〜5に順次移動していくのと同期し
て、マスクシフトレジスタ111―6〜10をシ
フトされてそれぞれにセツトされる。本命令に於
ては、A(1〜5)とB(1〜5)の比較演算が全
エレメントに対して行なわれるため、OR回路1
22から出力されるマスクは5エレメント共、全
て1となるよう制御する必要があるが、この制御
は次のように行なわれる。
マスク命令識別回路114は命令制御装置10
3から信号線204を介して転送された命令コー
ドをデコードしてその結果を演算実行が終了する
まで正マスク演算指示信号線226と補マスク演
算指示信号線227に出力する。このとき、正マ
スク演算であれば信号線226に1を出力し、補
マスク演算であれば信号線227に1を出力す
る。本命令は正/補マスク演算でないため信号線
226,227には共に0の値が出力される。信
号線226の値はAND回路119に入力される
が、0であるため信号線230には0が出力され
る。また、信号線227の値はAND回路120
に入力されるが、0であるため信号線231には
0が出力される。また、信号線226,227の
0の値はそれぞれNOT回路116,117で反
転され1の値となりAND回路118の出力であ
る信号線229の値は1となる。この信号線22
9の1の値は信号線223の1の値と共にAND
回路121に入力され、信号線232の値は常に
1となり、更にOR回路122を介して信号線2
28には演算実行中、常に1の値が出力される。
従つて、演算実行中、シフトレジスタ111―6
〜111―10を、1が連続してシフトイン、シ
フトアウトされる。この結果、すべてのエレメン
トに対してすべての演算ステージでの処理が行な
われる。
マスクレジスタ112への最後のデータのセツ
トが行なわれるP+11サイクルで、ベクトル命令
制御回路105は信号線205を介して処理が終
了した旨を命令制御装置103に知らせる。そし
て、命令制御装置103は次のP+12サイクルか
ら次のベクトル命令の解読を開始する。
なお、マスクレジスタ112、プリフエツチバ
ツフア106,107のデータ格納エレメント数
を64と仮定しているが、この値には特に意味がな
い。また、処理エレメント数が64を越える場合に
は、必要に応じて処理を分割すれば良い。
(2) ステツプ6の処理 上述の第2のベクトル命令を命令制御装置10
3が解読し、これが加算命令であると知ると、線
204を介して、その命令で指定されるオペラン
ドC,D,Eの先頭アドレスとインクリメント
値、処理エレメント数N(本実施例では5)、加算
演算指示情報をベクトル制御回路105に転送
し、同時にこれらの情報をもとにしたベクトル命
令処理開始を指示する。また、これと並行して、
命令制御装置103は信号線204を介して命令
コードもマスク命令識別回路114に転送する。
引続いて、ベクトル命令制御回路105は、装
置103から転送されたアドレス、インクリメン
ト値、処理エレメント数Nをもとに、前述と同様
の方法でオペランドD,Eを主記憶装置101か
ら読出し、それぞれプリフエツチバツフア10
6,107に格納する。
上述の前処理をPサイクル要して行ない、その
後、2P+12サイクルから連続して5サイクルの
間にプリフエツチバツフア106,107からそ
れぞれD(1〜5),E(1〜5)を順次読出して
演算器111へ転送する。ベクトル命令制御回路
105は、(2P+12)〜(2P+16)サイクルの
間、このデータの読出しと同期して、マスクレジ
スタ112に前述のステツプ5でセツトされたマ
スクを処理エレメント数の5だけ(M(1〜5))
順次読出すように選択回路113を制御する。読
出されたデータは信号線225、AND回路11
9、信号線230、OR回路122、信号線22
8を介して演算器111のシフトレジスタ111
―6に転送され、シフトレジスタ111―6から
111―10へ順次毎サイクルシフトされる。こ
の転送は次のように行なわれる。
本命令は正マスク付き演算であるため、マスク
命令識別回路114は演算実行の間正マスク演算
指示信号線226に1を、補マスク演算指示信号
線227に0を出力する。このため、AND回路
119から信号線225の値(即ち選択回路11
3を介して読出されるマスクレジスタ112のM
(1〜5)の値)が出力され、信号線230、
OR回路122、信号線228を介して演算器1
11に転送される。なお、AND回路120と1
21からは常に0が出力される演算器111に転
送されたデータD(1〜5)とE(1〜5)は演算
ステージ111―1〜5で順次演算されるが、こ
れらの演算の実行可否は前述のようにデータの入
力と同期してシフトされるシフトレジスタ111
―6〜10の値により制御される。
第6図に示すように、2P+13,2P+15,2P+
16サイクルで、それぞれ第1,3,4エレメント
のデータが演算ステージ111―1で演算される
が、対応するマスクシフトレジスタ111―6に
は共に1のマスクがセツトされるため演算が許可
される。そして、これらのマスクはデータの転送
と同期して順に次のシフトレジスタにセツトさ
れ、対応する演算ステージでの演算を許可する。
これに対して、第2,5エレメントについては対
応するマスクの値が0であるため演算が抑止され
る。
なお、演算器111では加算が行なわれるが、
これはベクトル命令制御回路105が、装置10
3から転送された加算演算指示情報に基づき、信
号線212を介して加算指示を演算開始に先だつ
て転送するものとする。
2P+17サイクルで第1エレメントの加算結果
D(1)が演算ステージ111―6で求まり、その出
力が信号線216を介してストアレジスタ110
に送られる。ベクトル命令制御回路105は、
(2P+18)サイクルでこのストアレジスタ110
に、線216上の信号をセツトすべきことを指示
する信号を送出する。こうして、2P+18サイク
ルでストアレジスタ110に加算結果がセツトさ
れる。ベクトル命令制御回路105の制御によ
り、これと同期して、第1エレメントに対応する
マスク値M(1)がシフトレジスタ111―10から
信号線217を介してレジスタ109にセツトさ
れる。さらに、ストアレジスタ110とレジスタ
109へのセツトと同時に、ベクトル命令制御回
路105から書込みリクエストがAND回路10
8に送出され、信号線211の値が1となり、信
号線214を介してAND回路108に転送され
るレジスタ109の1の値との間でANDがとら
れ、信号線213が1となり記憶制御装置102
に書込みリクエストが送出される。そして、記憶
制御装置102に書込みリクエストが送出される
のと並行して、ベクトル命令制御回路105から
信号線210を介してオペランドC(1)のアドレス
が、またストアレジスタ110から書込みデータ
がそれぞれ装置102へ転送され、装置102の
制御により主記憶装置101にオペランドD(1)と
E(1)の加算結果C(1)が格納される。
第1エレメントの場合と同様に、第2〜5エレ
メントに対する加算結果C(2〜5)が得られる
ごとに、ベクトル命令制御回路105から書込み
リクエストがAND回路108へ、アドレスが装
置102へ、ストアレジスタ110から書込みデ
ータが装置102へ、マスクレジスタ110から
マスクがAND回路108へ順次2P+19〜2P+22
サイクルの間に転送される。
装置102への書込みリクエストはAND回路
108から出力されるが、第2と第5エレメント
の場合についてはマスクの値が0となるため装置
102への書込みリクエストは送出されず、装置
101への書込みは抑止される。
なお、オペランドCのアドレス生成は、オペラ
ンドCの先頭アドレスとインクリメント値に基づ
きオペランドAの場合と同様に発生される。
2P+22サイクルで、ベクトル命令制御回路1
05は信号線205を介して処理が終了した旨を
命令制御装置103に知らせる。そして、命令制
御装置103は次の2P+23サイクルから次のベ
クトル命令の解読を開始する。
(3) ステツプ7の処理 命令制御装置103が、上述の第3の命令を解
読し、これが加算命令であることを知ると、線2
04を介して、その命令で指定されるオペランド
F,G,Hの先頭アドレスとインクリメント値処
理エレメント数5、加算演算指示情報をベクトル
制御回路105に転送し、同時にこれらの情報を
もとにしたベクトル命令処理開始を指示する。ま
た、これと並行して、装置103は信号線204
を介して命令コードもマスク命令識別回路114
に転送する。引続き、回路105と装置102は
オペランドGとHを装置101から読出し、それ
ぞれプリフエツチバツフア106,107に格納
する。
上述の前処理をPサイクル要して行ない、その
後、3P+23サイクルから連続して、プリフエツ
チバツフア106と107からそれぞれG(1〜
5),H(1〜5)を順次読出して演算器111へ
転送する。上述の第2の命令の場合と同様にこの
データの読出しと同期して、マスクレジスタ11
2にセツトされているマスクM(1〜5)を選択
回路113により順次読出し、信号線228を介
して演算器111へ転送されるが、この転送は次
のように行なわれる。
本命令は補マスク付き演算であるため、マスク
命令識別回路114は演算実行の間、正マスク演
算指示信号線226に0を、補マスク演算指示信
号線227に1を出力する。このため、選択回路
113の出力を入力とする反転回路115の線2
24への出力がAND回路120から線231へ
出力され、OR回路122、信号線228を介し
て演算器111のマスクシストレジスタ111―
6に転送される。
なお、AND回路119,121からは0が出
力される。この結果、マスクシフトレジスタ11
1―6には、マスクレジスタ112の中のマスク
M(1〜5)の反転された値0,1,0,0,1
が順次シフトインされる。
演算器111に順次転送されたデータG(1〜
5)とH(1〜5)は演算ステージ111―1〜
5の間で加算されるが、各演算ステージの実行可
否は前述と同様に対応するシフトレジスタ111
―6〜10の値により制御される。そして、第1
〜5エレメントの加算結果とマスクの値が、3P
+29〜3P+33サイクルの間にそれぞれストアレ
ジスタ216、マスクレジスタ109にセツトさ
れ、ストアレジスタ216にセツトされた加算結
果が信号線215を介して装置102へ、また、
マスクレジスタ109のマスクは信号線214を
介してAND回路108へ転送される。これと同
期して、回路105が対応するエレメントのオペ
ランドFのアドレスを信号線210を介して装置
102へ、書込みリクエストを信号線212を介
してAND回路108へ転送する。装置102へ
の書込みリクエストはAND回路108から信号
線213を介して転送されるが、第1,3,4エ
レメントに対応するマスクレジスタ109の値が
0であるため装置102への書込みリクエストは
抑止され、最終的には3P+30サイクルで第2エ
レメント、3P+33サイクルで第5エレメントの
演算結果が装置101に書込まれて処理が終了す
る。
以上のように、本発明では、同じ演算を必要と
する複数の命令について、各命令が必要とするマ
スク情報が異なるときは、命令に異なる命令コー
ドを与え、この命令コードに応答して、異なるマ
スク情報を発生する手段を用いるので、従来のよ
うに、マスク情報を変更する命令を用いなくても
よい。従つて、第1図に示した処理のように、複
数のマスクを用いる処理を高速化できる。
【図面の簡単な説明】
第1図は、マスク付きベクトル演算を必要とす
るベクトル演算の一例を示す図、第2図は、第1
図の演算についての従来方法による処理手順を示
す図、第3図は、第2図の処理のフロー図、第4
図は、本発明による第1図の演算の処理フロー
図、第5図は、本発明によるマスク付きベクトル
演算処理装置の概略ブロツク図、第6図は、第5
図の装置において第1図の処理を行つた場合の第
5図の装置の動作のタイムチヤートを示す図。 112…マスクレジスタ、111―6〜111
―10…マスクシフトレジスタ、111―1〜1
11―5…演算ステージ。

Claims (1)

  1. 【特許請求の範囲】 1 マスク情報を表わす要素からなる第1のベク
    トルデータを保持する手段と、 該第1のベクトルデータをそのまま出力するか
    もしくは該第1のベクトルデータの各要素の値を
    反転した値の要素からなる第2のベクトルデータ
    を出力するかを切換えて行うマスクベクトル供給
    手段と、 該マスクベクトル供給手段から出力される第1
    又は第2のベクトルデータおよび演算を受けるべ
    き第3のベクトルデータが入力され、該第3のベ
    クトルデータの各要素に、該第1又は第2のベク
    トルデータの対応する要素の値に応じて有効な演
    算を実行するかしないかを切りかえる演算手段
    と、からなるマスク付ベクトル演算処理装置。 2 該マスクベクトル供給手段は、該第3のベク
    トルデータに対して該演算手段による演算を要求
    する命令の種別に応答して上記切換えを行うもの
    である第1項のマスク付ベクトル演算処理装置。 3 該演算手段は、該第3のベクトルデータに対
    して演算をパイプライン的に行うための複数の演
    算ステージと、 該第1又は第2のベクトルデータの各要素を順
    次転送するための、該演算ステージの数に対応し
    た段数からなるシフトレジスタからなり、該シフ
    トレジスタの出力を該複数の演算ステージによる
    演算結果が有効か否かを示す信号として出力する
    ものである第1項又は第2項のマスク付ベクトル
    演算処理装置。 4 複数のベクトルデータを記憶するための記憶
    手段と、 パイプライン演算手段と、 該記憶手段から演算を受けるべき第1のベクト
    ルデータを読み出しその要素を順次該パイプライ
    ン演算手段に供給する手段と、 マスク情報を表わす要素からなる第2のベクト
    ルデータを保持する手段と、 該第2のベクトルデータをそのまま出力するか
    もしくは該第2のベクトルデータの各要素の値を
    反転した値の要素からなる第3のベクトルデータ
    を出力するかを切換えて行うマスクベクトル供給
    手段と 該マスクベクトル供給手段から出力される該第
    2又は第3のベクトルデータが入力され、該パイ
    プライン演算手段による演算時間に対応した時間
    だけ遅延して該パイプライン演算手段の出力が有
    効か否かを示す信号として出力する遅延手段と、 該パイプライン演算手段から出力される演算結
    果を表わすベクトルデータの各要素を、対応する
    該遅延手段の出力信号の値に応じて該記憶手段に
    書込むか否かを制御する書込み手段とを有するデ
    ータ処理装置。
JP3130281A 1981-03-06 1981-03-06 Vector operation processor with mask Granted JPS57146376A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3130281A JPS57146376A (en) 1981-03-06 1981-03-06 Vector operation processor with mask

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3130281A JPS57146376A (en) 1981-03-06 1981-03-06 Vector operation processor with mask

Publications (2)

Publication Number Publication Date
JPS57146376A JPS57146376A (en) 1982-09-09
JPH0222417B2 true JPH0222417B2 (ja) 1990-05-18

Family

ID=12327488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3130281A Granted JPS57146376A (en) 1981-03-06 1981-03-06 Vector operation processor with mask

Country Status (1)

Country Link
JP (1) JPS57146376A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59125472A (ja) * 1982-12-30 1984-07-19 Fujitsu Ltd 逐次化命令実行制御装置
JPS6320683A (ja) * 1986-07-15 1988-01-28 Fujitsu Ltd ベクトル代入最適化処理方式

Also Published As

Publication number Publication date
JPS57146376A (en) 1982-09-09

Similar Documents

Publication Publication Date Title
JPS6028015B2 (ja) 情報処理装置
JPS6313215B2 (ja)
JPS6351287B2 (ja)
JPH0545985B2 (ja)
JP2620511B2 (ja) データ・プロセッサ
JPH03286332A (ja) デジタルデータ処理装置
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
JPH0222417B2 (ja)
KR100188374B1 (ko) 연산처리장치
JP2654451B2 (ja) データ出力方法
JP2812610B2 (ja) パイプライン制御方式
JP3278441B2 (ja) ベクトル処理装置
JP2925842B2 (ja) パイプライン処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2636566B2 (ja) パイプライン制御方式
JP2583614B2 (ja) ベクトル演算装置
JPS5896346A (ja) 階層型演算方式
JPH05127894A (ja) 命令実行方式
JPH04316127A (ja) 情報処理装置
JPH0259961A (ja) 情報処理装置
JPH0792902A (ja) プログラマブルコントローラ
JPH117440A (ja) プロセッサ、コンパイラ、積和演算方法及び記録媒体
JPH01223565A (ja) 情報処理装置
JPH0357498B2 (ja)
JPS63244269A (ja) マスク付きベクトル演算処理装置