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

ベクトル処理装置

Info

Publication number
JPS63251835A
JPS63251835A JP62084735A JP8473587A JPS63251835A JP S63251835 A JPS63251835 A JP S63251835A JP 62084735 A JP62084735 A JP 62084735A JP 8473587 A JP8473587 A JP 8473587A JP S63251835 A JPS63251835 A JP S63251835A
Authority
JP
Japan
Prior art keywords
vector
partial
address
value
fetch
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
JP62084735A
Other languages
English (en)
Inventor
Yusuke Mishina
雄介 三科
Keiji Kojima
啓二 小島
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 JP62084735A priority Critical patent/JPS63251835A/ja
Priority to EP88105537A priority patent/EP0286081A3/en
Priority to US07/178,913 priority patent/US5010483A/en
Publication of JPS63251835A publication Critical patent/JPS63251835A/ja
Pending 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
    • G06F15/8061Details on data memory access

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトル処理装置に係り、特にデータベース処
理に好適なベクトル処理装置に関する。
〔従来の技術〕
従来、データベース処理における探索演算の重要性につ
いては、特開昭60−134945に記載される通りで
あり、2分探索演算のベクトル化に関しても特開昭60
−134945に記載される通り従来ベクトル命令の複
数の組み合わせで実現されていた。
〔発明が解決しようとする問題点〕
上記従来技術は探索演算の実現に際して必要となる部分
ベクトルの処理に対する配慮がなされておらず、探索範
囲を限定する過程に冗長な演算処理を必要とし、演算に
伴う間接的な領域を必要とする問題点があった。以下2
分探索演算を例にとりこの問題点について説明する。
第8図は2分探索演算におけるベクトル処理の例を示し
ている1本演算は2つのベクトルX、Yを入力としてベ
クトルZを出力する。入力ベクトルXの各要素は、4バ
イトのタグ部と4バイトのキ一部、そして探索結果の存
在範囲の上限と下限を示す各々4バイトのインデクス部
から成る。探索対象を納める表となる入力ベクトルYの
各要素は、4バイトのタブ部と4バイトのキ一部から成
り、キ一部について昇順にソート濤みとする。この演算
では、ベクトルXの各要素についてインデクス部の中間
値(2つのインデクス値である上限値と下限値を足して
2で割り、切り捨てを行った値)をベクトルYへのイン
デクスとしてベクトルYの要素を参照し、前記ベクトル
Xの要素とそれぞれキ一部どうしを比較し、ベクトルX
の要素のキ一部の値がベクトルYの要素のキ一部の値以
下であれば、ベクトルXの要素のインデクス部の上限値
を前記中間値におきかえたものをベクトルZの要素とし
て出力し、そうでなければベクトルXのインデクス部の
下限値を前記中間値に1を足した値でおきかえたものを
ベクトルZの要素として出力する。すなわち、ベクトル
Xの要素のキ一部の値がベクトルYの要素のキ一部の値
以下であれば、求めるキーの値を持つベクトルYの要素
は前記中間値と前記ベクトルXのインデクス部の上限値
との間に存在するはずであり、インデクスの下限値を前
記中間値により更新する。逆の場合も同様である1本探
索演算が2分探索演算と呼ばれる理由は、前記1ステー
ジの処理に伴い、インデクス部の下限値と上限値で示さ
れるベクトル処理の候補の範囲が、約172に減少する
ためである。
今、この2分探索演算を従来のベクトル処理装置を用い
てベクトル処理する方式を考えた場合。
以下のような命令列で実現がなされる。
i)VMD命令 ベクトルXのインデクス部を出力用ベクトル2にコピー
する。
if ) V E A 、 V E S RL命令ベク
トルXのインデクス部より前記中間インデクス値を生成
する。
in)VMSXE命令 i)で生成したインデクス値に基づき、比較に用いるベ
クトルYのキー値を生成する。
fv)CLEE命令 ■)で生成したキー値とベクトルXのキー値との比較を
行い、上限値書き換えのためのマスクベクトルを生成す
る。
v)VME命令 汁)で生成したマスクベクトルを用いて、it)へで生
成した中間インデクス値により、ベクトルZのインデク
ス部の上限値を書き換える。
vi) CG T E命令 〜)と同様にして下限値書き換えのためのマスクベクト
ルを生成する。
報)VEA命令 …)で生成した中間インデクス値に1を加えて、下限値
書き換えのためのインデクス値を生成する。
幅)VME命令 社)で生成したマスクベクトルを用いて、vll)で生
成したインデクス値により、ベクトルZのインデクス部
の下限値を書き換える。
ix)VMD命令 ベクトルXのタグ値、キー値をベクトルZにコピーする
く命令列終了〉 以上のように従来のベクトル処理装置を用いた従来方法
では10命令を要し、さらに作業領域として4バイト幅
で長さがベクトルXの3倍の領域が必要となり、処理時
間と使用領域の面から問題があった。
また従来方法では、探索結果の存在範囲が上限値を示す
ベクトルと下限値を示すベクトルとじて各々別々に処理
の対象となる。この結果、探索を要求するベクトルXの
有するキー値からなるベクトルと中間インデクス値より
生成したベクトルYの有するキー値からなるベクトルに
ついて同一のオペランドで2通りの比較演算命令(上記
命令列のtv)とvi)の処理)が必要とされ、範囲更
新のためのマスクベクトルが各々生成されて書き換えの
操作が行われる。上記範囲を部分ベクトルとして扱い、
その更新に際して必要とされる論理演算を一括化した場
合と比べると、前述の従来方法における同一オペランド
ベクトルへの2通りの演算とマスクベクトルの生成、上
限値と下限値を表わすベクトルへの書き換え操作を2度
くり返す処理方式は冗長な処理を含んでいる。
本発明の目的は、探索演算のように成るベクトル上の部
分ベクトルを表現するベクトルデータの処理において、
高速かつ効率のよい処理を実現するベクトル処理装置を
提供することにある。
〔問題点を解決するための手段〕
上記目的は、部分ベクトルが定義されるベクトルと各々
が前記ベクトル上にとられる部分ベクトルの指定情報を
含むベクトルとを処理の対象とするベクトル処理装置に
おいて、後者のベクトルから順次読み出したベクトル要
素に含まれる部分ベクトルに指定情報より前者のベクト
ルの1つまたは複数のベクトル要素に対する要素アドレ
スを順次生成するアドレス生成手段を設け、生成された
アドレスに従って読み出した前者のベクトル要素に対す
る演算結果から前記の部分ベクトル指定情報を更新する
手段を設け、この更新結果を記憶装置に出力格納するこ
とにより、達成される。
〔作用〕
本発明における上記技術手段の個々の働きを、2分探索
演算を例にとり説明する。
第8図に示されるように、本演算は2つのベクトルx、
Yを入力としてベクトルZを出力する。
入力ベクトルXの各要素は、4バイトのタグ部と4バイ
トのキ一部、そして探索結果の存在範囲の上限と下限を
示す各々4バイトのインデクス部からなる。探索対象を
納めている表を示す入力ベクトルYの各要素は、4バイ
トのタグ部と4バイトのキ一部から成る。
本演算の実行において、まずベクトルXに対するアドレ
ス発生回路によりベクトルXの要素値が順次フェッチさ
れ、前記要素値よりインデクス部の上限値と下限値がベ
クトルYへのアドレス生成回路に入力されベクトルY上
での探索結果の存在範囲の中間に位置するベクトル要素
へのインデクス値が生成され(以後、中間インデクス値
と称する)、ベクトルYに対しフェッチがなされる。ベ
クトルYへのフェッチアドレスの生成と並行して。
中間インデクス値により探索結果の存在範囲に対する更
新結果の候補が生成される。すなわち探索結果の存在範
囲の上限値をH1下限値をLとし、中間インデクス値を
Mとするとき、2分探索法により探索範囲の限定を行っ
た場合の探索範囲の更新結果としては、上限値Hと下限
値M+1でおさえられる範囲と、上記値Mと下限値しで
おさえられる範囲のいずれかしか存在しない、上記のよ
うに探索結果の存在範囲の更新値を作成しておき、ベク
トルYのフェッチに対する結果の獲得に伴いベクトルX
のベクトル要素が含むキー値と、ベクトルYのフェッチ
により得られたベクトル要素が含むキー値を比較し、比
較結果に基づき更新結果の候補について適切なものが選
ばれて処理結果としてベクトル2に出力される。こうし
て部分ベクトルの形で表現される探索範囲に対して2分
探索の処理がパイプライン処理として実現される。
〔実施例〕
以下、本発明の一実施例を図に従い説明する。
まず本発明の一実施例であるベクトル処理装置の構成と
動作を、第1図を用いて説明する。
主記憶装置107に格納されたベクトル命令は、データ
バス110から命令語レジスタ101に読み出され、解
読回路102により解読される。解読の結果命令の種類
が判明すると、その旨が制御信号112により命令制御
回路104に伝えられ。
命令の種類に応じた制御回路が起動される。これと並行
して命令が指定する汎用レジスタの内容が汎用レジスタ
群103よりデータバス114゜115を介してカウン
タ制御回路106とアドレス制御回路105に送られて
セットアツプされる。
セットアツプのための制御信号は、命令制御回路104
より信号線116により伝えられる。
セットアツプが完了すると、命令制御回路は1クロツク
毎にオペランドのフェッチ要求を制御信号線117を通
して主記憶装置107に送出する。
オペランド制御回路には、探索を必要とするベクトルの
ベクトル要素を示すカウンタがある。このカウンタの値
(以後インデクス値と称する)がデータバス118を通
じてアドレス制御回路105に送られる。フェッチ要求
を制御信号117を通じて受けとった主記憶装置107
は、データバス121を介してアドレス制御回路105
より受は取ったフェッチアドレスに従って、探索範囲を
示すインデクス値を含むベクトル要素を読み出す。
読み出されたベクトル要素はデータバス123を介して
部分ベクトル指定情報更新回路108へ送られる0部分
ベクトル指定情報更新回路108に送られたベクトル要
素から探索範囲の上限値と下限値がデータバス122を
介して部分ベクトルフェッチアドレス生成回路129へ
送られる1部分ベクトルフェッチアドレス生成回路12
9ではこの値を用いて中間要素のインデクス値を求め、
データバス130を介して部分ベクトルに指定情報更新
回路108へ送出され、かつまたデータバス124を通
じてアドレス制御回路105へと送られる。データバス
124を通じてアドレス制御回路105に送られたイン
デクス値は、探索対象を納める表であるもう1つのベク
トル入力へのオペランドカウンタとしてアドレス演算が
なされオペランドアドレスとしてデータバス121を介
して主記憶袋[!107へ送られる。主記憶装置107
は、命令制御回路104よりデータバス117を介して
送られたフェッチ要求とアドレス制御回路105よりデ
ータバス121を介して送られたオペランドアドレスよ
り、探索対象を納めている表であるベクトル上の探索範
囲における中間位置のベクトル要素を読み出し、データ
バス128を介して部分ベクトル指定情報更新回路10
8へ送る。
読み出されたベクトル要素を受は取った部分ベクトル指
定情報更新回路108はキー値を取り出し、前述の探索
を必要とするベクトルのベクトル要素に含まれるキー値
と比較し比較結果を信号線126を介してストアデータ
バッファ109に送出する。
ストアデータバッファ109は信号線126を介して受
けとった比較結果に基づいて、データバス127を介し
て受は取った探索範囲の上限値と下限値およびデータバ
ス130を介して部分ベクトルフェッチアドレス生成回
路(129)より送られた上記探索範囲の中間に位置す
るベクトル要素へのインデクス値(以後中間インデクス
値とする)より生成された探索範囲の更新結果の候補か
ら適切なものが選択する0選択された更新値はデータバ
ス125を通して主記憶装置107へ送られストアされ
る。
本発明の特徴は以上のように部分ベクトルの指定情報を
含むベクトル要素のフェッチ結果に基づきその部分ベク
トルが定義されるベクトルに対するフェッチアドレスが
計算されることと1以上フェッチされた両ベクトルのベ
クトル要素に基づき部分ベクトルの指定情報についての
更新結果が算出されることにある。すなわち2分探索演
算をベクトル処理する場合にも、従来方式でなされた様
に、本発明では部分ベクトル指定情報として一括に処理
される探索範囲を上限値と下限値に対する各々別々なベ
クトルとして扱いマスクベクトルを用いて各々更新処理
を行う必要がない。
さてオペランド制御回路中のカウンタの値が予め汎用レ
ジスタにより示されたベクトル要素数を超えると終了信
号線120が命令制御回路104に終了信号を送出し、
命令制御回路104はフェッチ要求及びストア要求の送
出を止め命令実行を停止する。その後主記憶装置110
7より次の命令が取り出され命令語レジスタ101にセ
ットされ処理が続けられる0以上、本発明の一実施例で
あるベクトル処理装置の構成と動作の概略を述べた。
第1図に示したベクトル処理装置の詳細な動作の説明に
先立って、まず本実施例におけるベクトル命令の命令形
式について第2図を用いて説明する。第2図に示したよ
うにベクトル命令は32ビツトのビット列である。命令
の上位16ビツトはベクトル命令の種類を表わす。R1
フィールド202は4ビツトの2進整数を表わしO〜1
5の番号のつけられた16本の汎用レジスタ群103の
うちのR1フィールドが示す番号を持った汎用レジスタ
207を指定する。同様にR2フィールドはR2フィー
ルドの値に等しい番号をもった汎用レジスタ204およ
び204と連番の汎用レジスタ205,206を指定す
る。
汎用レジスタ204〜206はそれぞれ第2オペランド
(Op、2)e第3オペランド(Op。
3)、および第1オペランド(Op ・1)の先頭アド
レスを表わす、また汎用レジスタ207はOp、2の要
素数を表わす、2分探索演算では第8図に示すように、
入力ベクトルx、YがそれぞれOp−2* Op−3で
あり出力ベクトルZがOp、1である。従って第8図の
例では、汎用レジスタ204〜206にx、y、zの先
頭アドレスをセットする。またこの例ではOp・2の要
素数は4であるので汎用レジスタ207に4をセットす
れば第8図の結果が得られる。2分探索演算では探索空
間となる入力ベクトルOp、3の長さは探索演算に直接
関係せず、出力ベクトルOP。
1の要素数は入力ベクトルOp、2の要素数と等しての
で特にエラーチェックのための処理を考慮しない本実施
例では省略する(探索範囲として入力ベクトルop、3
の領域を超える値が入力ベクトルOp、2の要素として
与えられた場合に命令実行を抑止を検出する手段として
はOp、3の要素数をセットする汎用レジスタを設けれ
ばよい)。
以上、命令形式について説明した。
次に本発明の一実施例である第1図に示したベクトル処
理装置の詳細な動作を第8図にあげた処理データがこの
データ構造の下で主記憶袋!!1107に格納されてい
るものとした場合に2分探索演算が本実施例のベクトル
処理装置において如何に処理されるかを例にとり、図に
従って説明する。具体的には処理の進行を示す第3図の
タイム・チャートの流れを、関係する各論理回路の構成
図(第4図〜第7図)を参照しながら追いかける形で説
明を行うこととする。
第3図は第8図のベクトルX、Yを入力ベクトルOp、
2.op、3とした時の第1図のベクトル処理装置の動
作を示すタイム・チャートである。
第3図に示したように本ベクトル処理装匝ではCKo及
びCKIの2相のクロック信号を同期用に用いている。
命令語レジスタ101に読み出された第2図の形式のベ
クトル命令が解読の結果2分探索命令であることが判明
すると、その旨を示す制御信号DEC(112)が命令
制御回路104に送られる。
命令制御回路104の構成を第4図に示す。
DEC信号112を受けとった命令制御回路104は各
回路の初期化を指示する信号5TUP(116)を発生
する。これと並行して、2分探索命令の処理に入ったこ
とを示すホールドタイプのフリップフロップ401をセ
ットする。
5TOP信号116はアドレス制御回路105とオペラ
ンド制御回路106に伝えられ初期化を行なう。
第5図はアドレス制御回路105の構成を示す図である
。命令制御回路104より送られた初期化信号116の
指示により、汎用レジスタ群103において命令語レジ
スタ101が信号線113を介して指定した汎用レジス
タ204,205゜206に格納された第2.第3.第
1オペランドの先頭アドレス(a2.a3.alとする
)が先頭アドレスレジスタAR2S(501)、AR3
S(502)、ARIS (503)にセットされる。
これでアドレス制御回路の初期化が完了する。
オペランド制御回路106の構成を第6図に示す、初期
化信号116の指示により、オペランドカウンタOCR
(602)にセレクタ601を介して初期値10′が設
定される。また、要素数レジスタVLR(603)につ
いても、汎用レジスタ207が保持するOp、2の要素
数がデータバス114を通じて伝えられ初期化信号5T
UP(116)によりセットされる0以上で、オペラン
ド制御回路106の初期化が完了する。
DEC信号112の1クロツク後にフェッチ要求信号F
RQ2が命令制御回路104よりデータバス117aを
介して主記憶装置107に送出される。以後フェッチ要
求信号FRQ2は1クロツク毎に発行される。
これ以後、フェッチされたOp、2の各々のベクトル要
素に対して2分探索演算が行なわれるが、以下では第8
図のデータが入力として与えられた場合の入力ベクトル
Op、2の先頭ベクトル要素に着目して説明を行う。
まずオペランドカウンタOCR(602)の値は5TU
P信号116により涜となる。このカウンタ値は、シフ
タ604により左へ4ビツトシフトされオペランドベク
トルOp、2のベクトル要素の大きさだけ逓倍された後
、力ヴンタ0CR602の指すベクトル要素に対するベ
クトル先頭アドレスからのバイト単位でのオフセット値
としてデータバスCRI (118a)を介してアドレ
ス制御回路105に送られる(この場合は先頭要素なの
でφのままとなる)。アドレス制御回路に送られたオフ
セット値は加算器504により先頭アドレスレジスタA
R2S (501)の保持する入力ベクトルOp、2の
先頭アドレスa2と加算され、データバスDAR2(1
21a)を通じて主記憶袋[107に送出されて主記憶
装置内のアドレスレジスタAR2に入力ベクトルOp、
2のベクトル要素に対するフェッチアドレスとしてスト
アされる。
さて、前述のフェッチ要求信号F RQ 2 (1]7
a)を受けた主記憶装置107はデータバス121aを
介して送られ主記憶装置107内に設けられたアドレス
レジスタAR2に格納された値をフェッチアドレスとし
てop、2のベクトル要素のデータを読み出し、データ
バス123を通じて部分ベクトル指定情報更新回路10
8に送出する(第8図のデータの例でいえば入力ベクト
ルOp、2の先頭要素であるデータ1a535’ がフ
ェッチされ部分ベクトル指定情報更新回路108へ送ら
れる)0部分ベクトル指定情報更新回路108に送られ
たフェッチデータのうち、探索範囲の上限値と下限値を
示すインデクス値はデータバス122を介して部分ベク
トルフェッチアドレス生成回路129に送られる0部分
ベクトルフェッチアドレス生成回路129ではこれらの
値を用いて中間インデクス値を生成し、中間インデクス
データバス124を介してアドレス制御回路105に送
出し。
かつまたデータバス130を介して部分ベクトル指定情
報更新回路108に送出する6部分ベクトル指定情報更
新回路108では、送られたデータを基に探索範囲を中
間インデクス値で2分した2つの探索範囲が更新結果の
候補として生成される。
部分ベクトル指定情報更新回路108にデータバス12
3を介して送られた入力ベクトルOp。
2の先頭要素はフェッチデータレジスタFDR2(70
1)にストアされる。フェッチデータのうちタグ値とキ
ー値についてはストアデータとしてストアデータバッフ
ァ109内のストアデータレジスタ5DRO(702)
、5DRI (703)の対応するフィールドにデータ
バス127a、127bを介して伝えられる。フェッチ
データのうち2つのインデクス値、すなわち探索範囲の
下限値と上限値はデータバス127c、127eを介し
てストアデータバッファ109に伝えられる。
一方、部分ベクトルフェッチアドレス生成回路129に
データバス122を介して送られた上限値と下限値を示
すインデクス値は加算器704に入力された後シフタ7
05で右に1ビツトシフトされ中間インデクス値(この
場合は′4′となる)となりレジスタ706にラッチさ
れる。中間インデクス値は、データバス130を介して
部分ベクトル指定情報更新回路108に送出され、同時
にシフタ707により左に3ビツトシフトされ入力ベク
トルOp、3のベクトル要素についてのバイト単位のオ
フセット値となり、データバスCNTR(124)を介
してアドレス制御回路105に送出される。アドレス制
御回路105では先頭アドレスレジスタAR3S (5
02)に保持される入力ベクトルOp、3の先頭アドレ
スと、中間インデクス値より算出された上述のオフセッ
ト値の和が加算器505により計算され、データバスD
AR3(121b)を介シテ主記憶装置107に送出さ
れアドレスレジスタAR3にストアされる(この場合は
’a3+32’ がフェッチアドレスとなる)。以上の
過程は1クロツクで行われる。
すなわちフェッチデータレジスタFDR2にベクトルo
p、2のベクトル要素がフェッチストアされた後、次の
クロックCK oでベクトルOp、3へのフェッチアド
レスが確定する。
これと同時に命令制御回路104がらはベクトルop、
2へのフェッチ要求FRQ2に対して2クロツク分遅れ
たベクトルOp、3へのフェッチ要求FRQ3がデータ
バス117bを介して主記憶107へ送出される。
フェッチ要求FRQ3を受けた主記憶装fi1o7は、
データバス121bを介してアドレスレジスタAR3に
ストアされた値をフェッチアドレスとしてデータを読み
出し、フェッチデータレジスタFDR3(708)に転
送する(この場合は′E5′となる)。部分ベクトル指
定情報更新回路108では、フェッチデータレジスタF
DR3(708)にストアされたベクトルOp、3のベ
クトル要素のキ一部と、フェッチデータレジスタFDR
2(701)にストアされたベクトルOp、2のベクト
ル要素のキ一部との比較が比較器709により行なわれ
、比較結果がデータバス126を介してストアデータセ
レクタ710に転送される。
ベクトルop、3に対するフェッチがなされている間に
、部分ベクトル指定情報更新回路では、データバス13
0を介して部分ベクトルフェッチアドレス生成回路12
9より送られた中間インデクス値(この場合は4′であ
る)を用いて探索範囲の更新結果のため境界を表わすイ
ンデクス値が生成される。すなわち探索範囲が上限値H
(この場合は5′)と下限値しくこの場合は3′)のと
き中間インデクス値MはL (H+L)12J(この場
合は4′)となり、更新された探索範囲の候補は中間イ
ンデクス値Mより下の探索範囲としては上限値がMで下
限値がしておさえられる領域となり、中間インデクス値
Mより上の探索範囲としては上限値がHで下限値がM+
1でおさえられる領域の2つである。そこでレジスタ7
06にラッチされた中間インデクス値Mはデータバス1
27dを介してストアデータレジスタSDR?(702
)に上限値としてストアされ、加算器710により生成
された値M+1はデータバス127fを介してストアデ
ータレジスタ5DRI (703)に下限値としてスト
アされる。
ストアデータバッファ109内の2つのストアデータレ
ジスタに生成された探索範囲の更新結果に対しては、制
御、51126を介してストアデータセレクタ710に
送出されたキー値の比較結果に基づき主記憶装置107
にストアされるレジスタの値が決定される。すなわち探
索要求をもっベクトル要素の有するキー値が、中間イン
デクス値の指すベクトル要素の有するキー値以下であれ
ばストアデータレジスタ5DR((702)の値(この
場合は’a534’)が選択され、それ以外の場合はス
トアデータレジスタ5DRI (703)にストアされ
た値(この場合は’a555’)が選ばれる(この場合
はSDR≠が選ばれる)。
以上のようにフェッチデータレジスタFDR2(701
)にフェッチデータつまり探索要求をもつベクトル要素
が確定してから2クロツク後にフェッチデータレジスタ
FDR3(708)に中間インデクス値の示すベクトル
要素がフェッチ確定しストアデータが決定されデータバ
スZDATA (125)を介して主記憶装置へ送出さ
れる(この場合は’a 534’ となる)。
これと同時にストア要求5TRQが信号線117cを介
して主記憶装置107に送出される。ストア先であるベ
クトルOp、3のカウンタは入力ベクトルQp、2と同
一としてよいのでオペランド力ウンタOCR(602)
の値(この場合は+)を3クロック遅らせたものがシフ
タ605で左に4ビツトシフトされベクトルQp、3に
おけるベクトルの先頭アドレスからのオフセット値を変
換されて(この場合は肴のままとなる)データバスCR
ID (118b)を介してアジレス制御回路105に
送られる。アドレス制御回路105はべクトルQp、3
の先頭アドレスを保持する先頭アドレスレジスタARI
S (503)の値(この場合はal)とデータバスC
RID (118b)を介して送られたオフセット値を
加算器506で加算した後、ストアアドレスとしてデー
タバスDARI (121c)を介して主記憶装置10
7内のアドレスレジスタに送出する6 ストア要求信号5TRQ (117c)を受けとった主
記憶装置107はデータバス125を介して送られてき
た値(この場合は’a534’ )をストアアドレスレ
ジスタの示す位置に格納する。
一方命令制御回路104より送出されたカウンタセット
信号119により、オペランドカウンタOCRの値は+
1されて“1′となる。従って、Qp、2とQp、1の
アドレスレジスタもそれぞれ更新され次要素を指す、以
後フェッチ要求FRQ2 (117a)の送出により、
入力ベクトルQp、2の第2番目以降のベクトル要素に
対して、同様の処理が行われる。
このようにして処理が進み、オペランドカウンタOCR
(602)が入力ベクトルQp、2の最後の要素を指す
と(この場合は′3′となる)。
データバス606を介して送られるこれに1足された値
が、ベクトル要素数レジスタVLR(603)の保持す
る値と一致する。比較器CMP (607)は一致を検
出し終了信号ENDを信号120を介して命令制御回路
104に送出され、2分探索命令処理中であることを示
すフリップフロップ401がリセットされてフェッチ要
求FRQ2 (117a)FRQ3 (117b)なら
びにストア要求5TRQ (117c)が停止し、2分
探索命令の処理が終了する。
2分探索命令の終了後、主記憶装置107には第8図の
ベクトルZが命令の第1オペランドベクトルとして得ら
れる。ベクトルZの各要素はTagとK e y、そし
て等しいキー値を有すると思われるベクトルYの要素が
存在する範囲を示すベクトルY上のIndex値より成
る。この操作は2分探索回くり返せば探索範囲は1すな
わちベクトルYの単一のベクトル要素に収束する。
〔発明の効果〕
本発明によれば、探索演算のようにあるベクトルとその
上で定義される複数の部分ベクトルの指定情報を含むベ
クトル要素からなるベクトルにおいて演算を行う場合に
1部分ベクトルの指定情報より部分ベクトル上のベクト
ル要素へのアドレス情報が部分ベクトルフェッチアドレ
ス生成回路内で生成され直接アドレス制御回路に受は渡
されるので、アドレス情報を1時的なベクトルとして出
力する必要がない。
また1部分ベクトルの指定情報を更新するのに。
部分ベクトルの占める領域の上限値と下限値からなる各
々別のベクトルに対して書き換えを行うためのマスクベ
クトルを作成する必要がない。
従って上述の部分ベクトルを対象とする処理において必
要とされる処理時間および必要となるメモリ量を削減す
ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のベクトル処理装置の全体構
成図、第2図は命令形式を示す図、第3図は動作を示す
タイム・チャート、第4図は命令制御回路の構成図、第
5図はアドレス制御回路の構成図、第6図はオペランド
制御回路の構成図、第7図は部分ベクトル指定情報更新
回路、部分ベクトルフェッチアドレス生成回路およびス
トアデータバッファの構成図、第8図は本発明のベクト
ル処理装置による2分探索演算のベクトル化方式%式% 104・・・命令制御回路、105・・・アドレス制御
回路、106・・・オペランド制御回路、108・・・
部分ベクトル指定情報更新回路、109・・・ストアデ
ータバッファ、124・・・中間インデクスデータパス
。 126・・・ストアデータ制御パス、129・・・部分
ベクトルフェッチアドレス生成回路。 代理人 弁理士 小川勝男7−9 第 1 図 CKI 1 口 第 7 口 メ 2 図

Claims (1)

  1. 【特許請求の範囲】 1、複数のベクトル要素からなる第1のベクトルと、各
    要素が該第1のベクトル上の1つあるいは互いに隣接す
    る複数のベクトル要素からなる部分ベクトルの領域を指
    定するための情報を含む第2のベクトルとを記憶する手
    段と、 該記憶手段からそれぞれ該第1、第2のベクトルの要素
    を読み出す第1、第2の読み出し手段と、 第1の読み出し手段により読み出されたベクトル要素に
    対して、所定の演算を行う演算手段とを有するベクトル
    処理装置において、 該第2の読み出し手段により読み出されたベクトル要素
    から部分ベクトル指定情報を読出す手段と取り出した指
    定情報から第1の1つまたは複数のベクトル要素アドレ
    スを順次生成するアドレス生成手段と、 生成されたアドレスに従つて読み出した第1のベクトル
    要素に対する演算結果から前記部分ベクトル指定情報を
    更新する手段と、該更新結果を前記記憶手段に順次格納
    する手段とを設けたことを特徴とするベクトル処理装置
    。 2、特許請求の範囲第1項のベクトル処理装置において
    、部分ベクトルの領域を指定する情報が該領域の上限に
    存在するベクトル要素への参照位置と下限に存在するベ
    クトル要素への参照位置からなることを特徴とするベク
    トル処理装置。
JP62084735A 1987-04-08 1987-04-08 ベクトル処理装置 Pending JPS63251835A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62084735A JPS63251835A (ja) 1987-04-08 1987-04-08 ベクトル処理装置
EP88105537A EP0286081A3 (en) 1987-04-08 1988-04-07 Vector processor capable of indirect addressing
US07/178,913 US5010483A (en) 1987-04-08 1988-04-07 Vector processor capable of indirect addressing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62084735A JPS63251835A (ja) 1987-04-08 1987-04-08 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPS63251835A true JPS63251835A (ja) 1988-10-19

Family

ID=13838952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62084735A Pending JPS63251835A (ja) 1987-04-08 1987-04-08 ベクトル処理装置

Country Status (3)

Country Link
US (1) US5010483A (ja)
EP (1) EP0286081A3 (ja)
JP (1) JPS63251835A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261090A (en) * 1990-06-12 1993-11-09 At&T Bell Laboratories Search arrangement adapted for data range detection
JP2718254B2 (ja) * 1990-10-02 1998-02-25 日本電気株式会社 ベクトル処理装置
JP2665111B2 (ja) * 1992-06-18 1997-10-22 日本電気株式会社 ベクトル処理装置
US7299338B2 (en) * 2002-12-04 2007-11-20 Agere Systems Inc. Vector indexed memory unit and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3267433A (en) * 1962-08-24 1966-08-16 Ibm Computing system with special purpose index registers
JPS5725069A (en) * 1980-07-21 1982-02-09 Hitachi Ltd Vector data processing equipment
JPS58146969A (ja) * 1982-02-26 1983-09-01 Toshiba Corp インデツクス限定連続演算ベクトルプロセツサ
JPS6069746A (ja) * 1983-09-26 1985-04-20 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式
JPH077385B2 (ja) * 1983-12-23 1995-01-30 株式会社日立製作所 データ処理装置
JPS61210477A (ja) * 1984-05-25 1986-09-18 Hitachi Ltd ベクトル型連想メモリシステム
US4745547A (en) * 1985-06-17 1988-05-17 International Business Machines Corp. Vector processing
JPS62115571A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd ベクトルアクセス制御方式

Also Published As

Publication number Publication date
EP0286081A2 (en) 1988-10-12
US5010483A (en) 1991-04-23
EP0286081A3 (en) 1990-08-08

Similar Documents

Publication Publication Date Title
EP0061096B1 (en) Data processing system for parallel processing
US6732276B1 (en) Guarded computer instruction execution
US6006315A (en) Computer methods for writing a scalar value to a vector
JPH0545985B2 (ja)
USRE32493E (en) Data processing unit with pipelined operands
JPH06259253A (ja) データプロセッサおよびその動作方法
TW202246973A (zh) 硬體處理器及處理器
JP2018156672A (ja) マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム
US4541047A (en) Pipelined data processing system
JPH0414385B2 (ja)
EP0354585B1 (en) Instruction pipeline microprocessor
JP2003044273A (ja) データ処理装置及びデータ処理方法
JPH05150979A (ja) 即値オペランド拡張方式
EP0030463B1 (en) Buffer memory control system
US7047396B1 (en) Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
JP2003196086A (ja) レジスタウィンドウ方式によるレジスタファイル及びその制御方法
JP2002529847A (ja) ビットfifoを有するディジタル信号プロセッサ
JP3335379B2 (ja) ブランチ・ヒストリーを持つ命令実行処理装置
JPS63251835A (ja) ベクトル処理装置
US5291615A (en) Instruction pipeline microprocessor
JPH11110214A (ja) 命令制御システム及びその方法
US6789185B1 (en) Instruction control apparatus and method using micro program
JP2838939B2 (ja) 並列命令実行方式
JPH033037A (ja) マイクロプログラム制御方式
JPH10111798A (ja) 情報処理装置