JPH0418344B2 - - Google Patents

Info

Publication number
JPH0418344B2
JPH0418344B2 JP59145928A JP14592884A JPH0418344B2 JP H0418344 B2 JPH0418344 B2 JP H0418344B2 JP 59145928 A JP59145928 A JP 59145928A JP 14592884 A JP14592884 A JP 14592884A JP H0418344 B2 JPH0418344 B2 JP H0418344B2
Authority
JP
Japan
Prior art keywords
vector
mask
address
bit
vector data
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 - Lifetime
Application number
JP59145928A
Other languages
English (en)
Other versions
JPS6125275A (ja
Inventor
Hajime Fukuzawa
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 JP14592884A priority Critical patent/JPS6125275A/ja
Publication of JPS6125275A publication Critical patent/JPS6125275A/ja
Publication of JPH0418344B2 publication Critical patent/JPH0418344B2/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の従来方式とよぶ)。
このような構成では、マスク・ベクトル中に演
算実行の抑止を示しているマスク・ビツト、つま
り、論理レベル“0”のマスク・ビツトが多けれ
ば多い程演算装置が演算を行つていない時間が多
くなり、ベクトル命令が終了するまでの演算時間
に無駄な時間が多くなるという問題を抱えてい
た。
上記問題を解決する為に、従来、マスク・ベク
トルを一定ビツト幅に区切り、その中のマスク・
ビツトが全て論理レベル“0”であることを検出
したときのみ、対応するベクトル・オペランドの
読出しと無効な演算を飛ばし、マスク・ベクトル
が多くの論理レベル“0”を含む性格(スパース
性)の強い場合の処理の時間を短縮していた(こ
の方式を以下、第2従来方式とよぶ)。
〔発明が解決しようとする問題点〕
しかしながら、この第2の従来方式では、検出
しようとしている一定個数のマスク・ベクトル中
に、一つでも演算実行の指示を示す論理レベル
“1”のマスク・ビツトがあり、他のマスク・ビ
ツトの全てが演算実行の抑止を示す論理レベル
“0”であつても、記憶制御装置にベクトル・オ
ペランドの読出しリクエストを要求し、第1の従
来方式通りの処理を行うために、演算時間に無駄
な時間を多く費やすことになる。
換言すれば、ベクトル命令の処理を短縮するた
めに、一定個数の演算抑止ビツト(論理レベル
“0”のマスク・ビツト)の検出のための一定個
数幅を拡大しようとすればする程、スパーク性の
強いマスク・ベクトルであつてもその中に演算指
示ビツト(論理レベル“1”のマスク・ビツト)
が含まれてしまい、第1の従来方式に戻つてしま
う可能性が増大する。逆に、このことを防ぐため
に、一定個数の演算抑止ビツトの検出のための一
定個数幅を縮小すればする程、ベクトル・オペラ
ンドの読出しと無効な演算を飛ばし無駄な処理の
時間を短縮するという本来の目的を達成できなく
なるという欠点をもつていた。
〔問題点を解決するための手段〕
本発明によれば、ベクトル要素を記憶する第1
の記憶手段と、マスクビツトの列である複数のマ
スク・ベクトルデータで構成されるマスク・ベク
トルを記憶する第2の記憶手段と、前記マスク・
ベクトルデータを前記第2の記憶手段から読み出
す手段と、該読み出されたマスク・ベクトルデー
タを一時的に保持する手段と、該マスク・ベクト
ルデータの先頭或いは演算指示ビツトから次の演
算指示ビツト若しくは新たに連続する次のマス
ク・ベクトルデータの先頭ビツト位置までの距離
を算出する手段と、前記算出された距離に前記第
1の記憶手段上のベクトル要素間距離を乗じてア
ドレス差分を生成し、該アドレス差分をベクト
ル・アドレスに加算することによつて、次に演算
すべきベクトル要素のアドレス若しくは前記新た
に連続する次のマスク・ベクトルデータの先頭ビ
ツトに対応するベクトル要素のアドレスを得る手
段と、前記新たに連続する次のマスク・ベクトル
データを読み出す手段とから構成され、第1の記
憶手段から読み出されたベクトル要素をマスク・
ビツトの値によつて演算装置への供給を制御する
のではなく、ベクトル要素の読出しリクエストを
要求する時点でマスク・ビツトによつて示された
有効なベクトル要素のみを読み出すためのアドレ
スを生成することによつて、演算を抑止されるベ
クトル要素の読出しに掛かる時間を削減した高性
能のベクトル命令処理装置が得られる。
〔実施例〕
次に本発明の実施例について図面を参照して詳
細に説明する。
第1図は本発明によるベクトル命令処理装置の
一実施例の構成を示したブロツク図である。図に
おいて、1はマスク・ベクトルが格納されている
記憶装置(以下、MVMともいう)、2はベクト
ル・オペランドが格納されている記憶装置(以
下、VOMともいう)である。記憶装置1と2
は、同一の記憶装置内にあつてもよい。10はマ
スク・ベクトルデータ・アドレス・レジスタ(以
下、MVAと略称す)、11,12及び13はそ
れぞれベクトル・オペランド1,2及び3に対応
するベクトル・アドレス(VH1,2及び3)レ
ジスタ、14,15及び16はそれぞれベクト
ル・オペランド1,2及び3に対応するベクトル
要素間距離(V11,2及び3)レジスタであ
る。
本ベクトル命令処理装置がベクトル命令を受付
けると、当該ベクトル命令処理装置は信号線L0
〜L6及びセレクタ20〜23を通じてレジスタ
10〜16にそれぞれの初期値を設定する。
MVA10に初期値が設定されると、信号線L7
を通じてアドレス加算値レジスタ4に初期加算値
“0”が設定される。MVA10の初期値とレジ
スタ4の初期加算値“0”がアドレス加算器31
で加算されてマスク・ベクトルデータのアドレス
が得られ、該アドレスに格納されているマスク・
ベクトルデータがMVM1より信号線L8を通じて
読み出される。読み出されたマスク・ベクトルデ
ータはセレクタ24を通じてマスク・ベクトルデ
ータ・レジスタ(以下、MVRと略称す)3に格
納される。マスク・ベクトルデータがMVR3に
格納されると、レジスタ4には信号線L7を通じ
てMVR3のビツト長(n+1)で定まる定数が
設定される。以後、レジスタ4にはMVR3のビ
ツト長(n+1)で定まる定数が保持されるもの
とする。
第2図は演算指示ビツトに対するベクトル要素
のアドレスの生成手順を詳細に表わしたものであ
る。一つのベクトル命令内では、ベクトル・アド
レス(VH)に一定のベクトル要素間距離(VI)
を加算すると、次のベクトル要素のベクトル・ア
ドレスが得られる。ベクトル・アドレス(VH0
は、マスク・ベクトルデータの0ビツト目に対応
している。
第2図aを参照すると、いま、読み出されたビ
ツト長(n+1)のマスク・ベクトルデータの値
が、3ビツト、8ビツト、…、(n−3)ビツト
目に演算指示ビツト“1”(その個数をmとする)
を示しており、他の(n−m+1)個のビツト全
てが演算抑止ビツト“0”を示している場合が示
されている。
このとき、マスク・ベクトルデータの3ビツト
目に対応するベクトル要素のアドレス(VH3
は、 VH3=VH0+3×VI で得られる。ここで、ベクトル要素間距離(VI)
の乗数3は、該マスク・ベクトルデータの先頭
(0ビツト目)より最初の演算指示ビツト“1”
が見つかるまで演算抑止ビツト“0”の個数をカ
ウントすることで求められる。
さらに、次に演算すべきマスク・ベクトルデー
タの8ビツト目に対応するベクトル要素のアドレ
ス(VH8)を求めるために、第2図bに示され
るように、該マスク・ベクトルデータを前記乗数
に相当する3ビツト分だけ左シフトを行ない、そ
れに伴い3ビツト目の演算指示ビツト“1”を反
転させて、次に用いるマスク・ベクトルデータと
する。この時、シフト・インに論理レベル“1”
を入力させる。前記シフトを行つたマスク・ベク
トルデータに対して、再び先頭より演算指示ビツ
ト“1”が見つかるまで演算抑止ビツト“0”の
個数をカウントする操作を行うことで乗数5が得
られ、前記8ビツト目に対応するベクトル要素の
アドレス(VH8)は、 VH8=VH3+5×VI で得られる。
以上の操作をm回繰返し、第2図cに示される
ような、前記(n−3)ビツト目の演算指示ビツ
ト“1”が反転を受けて先頭のビツト位置にシフ
トされたマスク・ベクトルデータに対して、前記
操作で得られる乗数4を用いて得られるベクトル
要素のアドレス(VH0′) VH′0=VH(o-3)+4×VI は、新たに連続する次のマスク・ベクトルデータ
の先頭ビツトに対応するベクトル要素のアドレス
である。
以上の操作は、各々の操作で得られる乗数を毎
回加算し、得られた加算値結果が前記読み出され
たマスク・ベクトルデータのビツト長(n+1)
と一致するまで繰返される。前記加算値結果が前
記ビツト長(n+1)と一致すると、前記操作を
終了する。
再び、第1図を参照すると、41はマスク・ベ
クトルデータの先頭より最初の演算指示ビツト
“1”が見つかるまで演算抑止ビツト“0”の個
数をカウントするプライオリテイ・エンコーダ、
42はプライオリテイ・エンコーダ41で得られ
た該個数分だけマスク・ベクトルデータを左シフ
トさせ、“1”シフト・インを行い先頭ビツトを
反転させて出力させるシフト器、33はプライオ
リテイ・エンコーダ41で得られた“0”の個数
を加算する加算器、5は加算器33で得られた加
算値結果を一時的に保持するレジスタ、43はレ
ジスタ4にセツトされたMVR3のビツト長で定
まる定数(本例では(n+1))とレジスタ5に
一時的に保持された加算値結果とを比較する比較
器、6はプライオリテイ・エンコーダ41で得ら
れた“0”の個数、すなわち(VI)の乗数を一
時的に保持するレジスタである。
MVR3に格納されたマスク・ベクトルデータ
は、プライオリテイ・エンコーダ41及びシフト
器42に送られる。プライオリテイ・エンコーダ
41でカウントされた演算抑止ビツト“0”の個
数は、シフト器42のシフト量、加算器33の加
算値、レジスタ6に保持される(VI)の乗数と
して用いられる。シフト器42で左シフト及び
“1”シフト・インされ、先頭ビツトを反転させ
られたマスク・ベクトルデータは信号線L9に表
われ、セレクタ24を通じてMVR3に再セツト
させる。また、加算器33に送られた加算値はレ
ジスタ5の初期値“0”と加算され、加算値結果
がレジスタ5に再セツトされる。また、レジスタ
6に(VI)の乗数がセツトされると、信号線L10
を通じて乗算器30に送られ、ここでセレクタ2
5によつて選択されたベクトル・オペランドのベ
クトル要素間距離と乗算されてアドレス差分が生
成される。該アドレス差分は、信号線L11を通じ
てアドレス加算器32に送られ、ここでセレクタ
26によつて選択された対応するベクトル・オペ
ランドのベクトル・アドレスと加算されて、演算
を行うべきベクトル要素のアドレスが得られ、
VOM2にオペランドリクエストが送出される。
と同時に、信号線L12及びセレクタ21〜23の
いずれかのセレクタを通じて対応するベクトル・
オペランドのベクトル・アドレスレジスタの値が
更新される。
一方、比較器43でレジスタ4の値とレジスタ
5の値の一致が検出されると、一致信号が信号線
L13に表われ、セレクタ20,24を制御すると
共にレジスタ5の内容をリセツトする。と同時
に、MVA10のマスク・ベクトルデータアドレ
スの値がレジスタ4の定数と加算器31で加算さ
れて、新たに連続する次のマスク・ベクトルデー
タのアドレスが生成され、信号線L14及びセレク
タ20を通じてMVA10の値が更新されると共
に、MVM1より新たに連続する次のマスク・ベ
クトルデータが読み出され、信号線L8及びセレ
クタ24を通じてMVR3に格納される。
〔発明の効果〕
本発明は、以上説明したように、マスク・ビツ
トの値によつて演算実行を指示されたベクトル要
素のアドレスのみを生成することによつて、無駄
なベクトル要素の読み出しに掛かる時間を削減で
きるという効果がある。
【図面の簡単な説明】
第1図は本発明によるベクトル命令処理装置の
一実施例の構成を示したブロツク図、第2図は演
算指示ビツトに対応するベクトル要素のアドレス
生成手順を示す図である。 1,2……記憶装置、3……マスク・ベクトル
データ・レジスタ、4……アドレス加算値レジス
タ、5……加算結果を保持するレジスタ、6……
(VI)の乗数を保持するレジスタ、10……マス
ク・ベクトルデータ・アドレスレジスタ、11,
12,13……ベクトル・アドレス・レジスタ、
14,15,16……ベクトル要素間距離レジス
タ、20〜26……セレクタ、30……乗算器、
31,32……アドレス加算器、33……加算
器、41……プライオリテイ・エンコーダ、42
……シフト器、43……比較器、L0〜L14……信
号線。

Claims (1)

    【特許請求の範囲】
  1. 1 ベクトル要素毎にマスク・ビツトによつてベ
    クトル演算の実行を制御するデータ処理装置にお
    いて、前記ベクトル要素を記憶する第1の記憶手
    段と、前記マスク・ビツトの列である複数のマス
    ク・ベクトルデータで構成されるマスク・ベクト
    ルを記憶する第2の記憶手段と、前記マスク・ベ
    クトルデータを前記第2の記憶手段から読み出す
    手段と、該読み出されたマスク・ベクトルデータ
    を一時的に保持する手段と、該マスク・ベクトル
    データの先頭或いは演算指示ビツトから次の演算
    指示ビツト若しくは新たに連続する次のマスク・
    ベクトルデータの先頭ビツト位置までの距離を算
    出する手段と、前記算出された距離に前記第1の
    記憶手段上のベクトル要素間距離を乗じてアドレ
    ス差分を生成し、該アドレス差分をベクトル・ア
    ドレスに加算することによつて、次に演算すべき
    ベクトル要素のアドレス若しくは前記新たに連続
    する次のマスク・ベクトルデータの先頭ビツトに
    対応するベクトル要素のアドレスを得る手段と、
    前記新たに連続する次のマスク・ベクトルデータ
    を前記第2の記憶手段から読み出す手段とを具備
    することを特徴とするベクトル命令処理装置。
JP14592884A 1984-07-16 1984-07-16 ベクトル命令処理装置 Granted JPS6125275A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14592884A JPS6125275A (ja) 1984-07-16 1984-07-16 ベクトル命令処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14592884A JPS6125275A (ja) 1984-07-16 1984-07-16 ベクトル命令処理装置

Publications (2)

Publication Number Publication Date
JPS6125275A JPS6125275A (ja) 1986-02-04
JPH0418344B2 true JPH0418344B2 (ja) 1992-03-27

Family

ID=15396317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14592884A Granted JPS6125275A (ja) 1984-07-16 1984-07-16 ベクトル命令処理装置

Country Status (1)

Country Link
JP (1) JPS6125275A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2503354Y2 (ja) * 1988-04-22 1996-06-26 光洋精工株式会社 舵取装置
JPH0635858Y2 (ja) * 1988-05-17 1994-09-21 光洋精工株式会社 舵取装置
GB2476800A (en) * 2010-01-07 2011-07-13 Linear Algebra Technologies Ltd Sparse matrix vector multiplier using a bit map of non-zero elements to control scheduling of arithmetic operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5165844A (ja) * 1974-12-05 1976-06-07 Fujitsu Ltd Bekutoruenzanshorihoshiki
JPS56164471A (en) * 1980-05-21 1981-12-17 Hitachi Ltd Conditional vector operating control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5165844A (ja) * 1974-12-05 1976-06-07 Fujitsu Ltd Bekutoruenzanshorihoshiki
JPS56164471A (en) * 1980-05-21 1981-12-17 Hitachi Ltd Conditional vector operating control system

Also Published As

Publication number Publication date
JPS6125275A (ja) 1986-02-04

Similar Documents

Publication Publication Date Title
US4172287A (en) General purpose data processing apparatus for processing vector instructions
JP2678183B2 (ja) デジタルプロセッサ制御装置および実行時記憶割当ての方法
JPS6234242A (ja) デ−タ処理システム
EP0201833B1 (en) Instruction processor
JP3476960B2 (ja) 算術論理演算装置及び制御方法
JPS6227412B2 (ja)
JPH0418344B2 (ja)
CA1115425A (en) Data processor with address extension
JPH07107664B2 (ja) 乗算回路
JPH0528431B2 (ja)
JPS6125166B2 (ja)
JPS63111535A (ja) デ−タ処理装置
JPH0452488B2 (ja)
JPS6188334A (ja) 除算回路
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JP2706459B2 (ja) 小数乗算器を有するマイクロプロセッサ
SU561966A1 (ru) Вычислительна система дл обработки чисел и многомерных векторов
JPH0434191B2 (ja)
JPH04195629A (ja) 演算フラグ生成装置
JPH0264730A (ja) 演算装置
SU888131A1 (ru) Процессор дл вычислени элементарных функций
JPH0721796B2 (ja) ベクトル命令処理装置
JP2989830B2 (ja) ベクトル処理方法
JPS63279321A (ja) マイクロプログラム制御装置
JPH0517589B2 (ja)