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

ベクトル処理装置

Info

Publication number
JPS61210478A
JPS61210478A JP59104543A JP10454384A JPS61210478A JP S61210478 A JPS61210478 A JP S61210478A JP 59104543 A JP59104543 A JP 59104543A JP 10454384 A JP10454384 A JP 10454384A JP S61210478 A JPS61210478 A JP S61210478A
Authority
JP
Japan
Prior art keywords
vector
word
control circuit
character
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.)
Granted
Application number
JP59104543A
Other languages
English (en)
Other versions
JPH0786875B2 (ja
Inventor
Keiji Kojima
啓二 小島
Shunichi Torii
俊一 鳥居
Tokuyasu Imon
徳安 井門
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 JP59104543A priority Critical patent/JPH0786875B2/ja
Priority to US06/737,686 priority patent/US4723206A/en
Priority to DE8585106449T priority patent/DE3587098D1/de
Priority to EP85106449A priority patent/EP0163279B1/en
Publication of JPS61210478A publication Critical patent/JPS61210478A/ja
Publication of JPH0786875B2 publication Critical patent/JPH0786875B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はベクトル処理装置に係わり、特に文字列などの
記号処理に好適なベクトル処理装置に関する。
〔発明の背景〕
近年のスーパ・コンピュータの発達により、ベクトル処
理による高速化の効果が広く知られてきている。しかし
、このベクトル処理を文字列データの処理等の記号処理
に適用しようとした場合には次のような問題点がある。
すなわち従来のベクトル処理装置は、主に数値データを
扱うためのものであり、ベクトル要素としては固定長の
何種類かのデータのみを許し、これらに対し七同−演算
をくり返すことにより高速化を行なっている。一方丈字
列のようなデータは一般に長さが可変長であり、従来の
ベクトル処理装置では効率の良い処理が困難であった。
〔発明の目的〕
本発明の目的は、可変長データ列の処理が可能なベクト
ル処理装置を提供することにある。
〔発明の概要〕
上記目的を達成するために、本発明では可変長のデータ
列の各データがいくつの固定長の構成要素から成るかを
示すベクトルを用意する。そしてこのベクトルを参照し
ながら前記固定長構成要素を処理していくことを特徴と
する特 〔発明の実施例〕 以下1本発明の一実施例を文字列の探索を例にして図に
従って説明する。
第1図は本実施例でいうところの文字列探索とは何かを
示す図である。すなわち、文字列探索とは、複数の単語
の列102の中から、あるキーワード101と一致する
ものをすべて見つけ出す処理である。
第2図に従来のベクトル処理装置で、第1図の文字列探
索を行なう場合の例を示す、このように従来のベクトル
処理装置では、例えば単語列102の中で最も長い単語
が格納できるだけの要素長をもったベクトル202を用
意して各単語を格納し、このベクトル202の各要素と
キーワード201とを次々と比較して比較結果のベクト
ル203を作るといった方法が考えられる。
しかし第2図のような処理方法は、次の二つの点で問題
がある。まず、単語の長さにばらつきが多い場合に領域
が無駄になる。また、従来のベクトル処理装置では処理
できる要素の長さの上限が決まっており、従ってこの上
限より長い単語を含む単語列に対しては処理を行なうこ
とができない。
そこで本実施例では第3図に示す方式で処理を行なう。
すなわちまず各単語をその構成文字に分解して並べたベ
クトル303と、各単語の長さを示すベクトル302と
、キーワードを構成文字に分解したベクトル304を用
意する。そしてこれら3つのベクトル302,303,
304を参照しながら探索結果のベクトル301を作る
。この方式の詳細な処理手順を第4図のフローチャート
を用いて説明する。
第4図のフローチャートにおいて、Lは302の単語長
ベクトルであり、Tは303の文字列ベクトルであり、
Kは304のキーワード文字列ベクトルであり、Cは3
01のw4索結果ベクトルである。また、N、はベクト
ルLとCの要素数であり、N、、N3はそれぞれベクト
ルTとKの要素数である。また’p jekgQは処理
の進捗状況を示すカウンタ変数である。
まずステップ401でj+J+にの初期化を行なう1次
に、ステップ402で、最初の単語の長さを変数Ωに代
入する。ステップ403ではベクトルLの要素がつかい
つくされたか否かをカウンタ変数iとLの要素数N、を
比較することによって判定し、使いつくしていればステ
ップ405で終了する。同様にステップ404ではベク
トルTの要素をつかいつくしたかどうかを判定する。ベ
クトルL、Tともにまだ処理すべき要素が残っている時
にはステップ406でベクトルTのj番目の要IT(j
)とベクトルにのに番目の要素K(k)とを比較して、
一致していた場合はステップ407で単語の最後の文字
かどうかを調べ、t&後でなければステップ40Bでキ
ーワードの最後の文字かどうかをチェックし、これも最
後でなければステップ410,413でぞれぞれ次の文
字を指すようにカウンタ変数にとjをそれぞれ+1する
とともにステップ415で単語の中で、最後から何番目
の文字を処理したかを示すカウンタ変数Qを−1してお
いてステップ404以下をくり返す、一方、ステップ4
06でT(j )とK(k)が異なっていることが判明
した場合、またはステップ407.409で単語がキー
ワードより短かかったことが判明した場合、または逆に
ステップ407.408で単語よりキーワードの方が短
かかった場合には、i番目の単語とキーワードか− 。
致しなかったので、ステップ411で探索結果C(i)
にOを代入する。そして、ステップ414でキーワード
の先頭を指すようにカウンタ変数kをリセットし、ステ
ップ416で次の単語の先頭を指すようにjtgだけ増
やし、さらにステップ417で次単語の処理をうつるべ
くカウンタ変数iを+1してからステップ402以下を
くり返す。
またステップ406,407,409で、単語の最後の
文字とキーワードの最後の文字とが一致していることが
わかった場合にはステップ412で探索結果C(i)に
1を代入した後、ステップ414以下をくり返す。
この方式のように、各単語の長さを示すベクトルを用い
て処理すればすべて固定長要素から成るベクトルを用い
て任意の可変長の文字列に対する探索を、無駄な領域を
使うことなしに実現できる。
また探索結果が、単語とキーワードの途中で判明した場
合にはステップ416で不要な比較をスキップしている
ので効率が良い0例えばキーワードの先頭文字がすべて
の単語の先頭文字と異なっている場合には探索はN、回
で終了する。
しかし第4図に示したステップ402以下のループは従
来のベクトル処理装置ではベクトル化が困難である。そ
の理由は、第4図のフローチャートにおける単語内の処
理中文字を示すカウンタ変数立は、ステップ402で処
理する単語が変わるたびに新たに代入されるが、従来の
ベクトル処理装置では、Qに対応するような、すなわち
あるベクトルの処理が次の要素に移る毎にメモリ装置か
らの値をセットする様なカウンタが無かった為である。
本実施例のベクトル処理装置はこのような問題を解決す
るためにΩに対応するカウンタと、そのカウンタの更新
を制御する動作制御回路を設けたことを特徴とする。
第5図に本実施例のベクトル処理装置のブロック図を示
す。
以下第5図を用いて本実施例のベクトル処理装置の動作
の詳細な説明を行なう。
命令制御装置537が文字列探索命令をデユードすると
、命令制御装置537は、レジスタ501.505,5
19にそれぞれ1をセットし、またレジスタ503,5
07,521にそれぞれN+ = Nx 、N3をセッ
トする。そして動作制御回路524に探索開始を指示す
る。動作制御回路524は、まず最初のサイクルにレジ
スタ501゜505.519が示す配列り、T、にの要
素をメモリ装置より読み出し、それぞれレジスタ511
゜516.518に格納する。そして次のサイクルで比
較器504によってレジスタ501と503の値を、ま
た比較器508によってレジスタ505と507の値を
、また比較器513によってレジスタ511の値と定数
+1とを、また比較器517によってレジスタ516と
518の値を、そして比較器522によってレジスタ5
19と521の値をそれぞれ並列に比較する。そしてそ
の比較結果528,529,530,531゜539を
動作制御回路524に送り、動作制御回路524はそれ
らの比較結果に従い、必要に応じてメモリ装置に対する
データの読み出し要求533の発行や書き込み要求53
4の発行、およびレジスタ501,505,511,5
16゜518.519の更新制御を行なう0次のサイク
ルで必要な読み出しデータが揃うと、動作制御回路52
4は上記動作を、終了条件が成立するまでくり返す。
以下では第5図のブロック図および第6図の真理値表を
用いて動作M御回路524の動作の詳細を説明する。
動作制御回路には比較結果528,529゜530.5
31,522が入力される。
比較結果528は、配列りの処理要素すなわち何番目の
単語を処理しているかを示すレジスタ501の値と、配
列乙の長さを示すレジスタ503の大小比較の結果であ
り、レジスタ501の方が大きい時、すなわち配列1の
要素を使いつくしたことが判明した時に1′となる。
比較結果529は、配列Tの処理要素を示すレジスタ5
05の値と、配列Tの長さを示すレジスタ507の値と
の大小比較の結果であり、レジスタ505の値の方が大
きい時、すなわち配列Tの要素をつがいつくしたことが
判明した時に1′となる。
比較結果530は、単語の中の最後から何番目の文字を
処理したかを示すレジスタ511が、定数+1に等しい
かどうか、すなわち最後の文字を処理したかどうかの判
定結果であり、最後の文字であった時に1′となる。
比較結果531は、レジスタ505が示す配列Tの要素
を格納しているレジスタ516と、レジスタ519が示
す配列にの要素を格納しているレジスタ518との比較
結果である。すなわち単語の中の文字と、キーワードの
中の文字の比較結果であり、一致していた時′1′とな
る。
比較結果539は、配列にの処理要素を示すしジスタ5
19と、配列にの長さを示すレジスタ521との比較結
果であり、レジスタ519の方が大きい時、すなわち配
列にの要素をつかいつくした時に1′となる。
比較結果528,529,530,531゜539を受
けとった動作制御回路524は第6図の真理値表に従っ
て動作の制御を行なう。
まず、比較結果528かまたは529が1′の時には処
理を終了し、その旨を命令制御装置537に報告する。
比較結果528と529がともに0′で、しかも比較結
果530と539がともに0′でかつ比較結果531が
1′の時には、単語、キーワードとも最後まで達してお
らず、また単語とキーワードは途中まで一致してきてい
るので単語とキーワードのそれぞれ次の文字の比較へ進
む必要がある。
そこで動作制御回路524は、レジスタ505と511
、および519をそれぞれ+1.−1゜+1し、さらに
メモリ装置2523に、配列TとKの次要素をそれぞれ
レジスタ516と518に読み出すよう要求する。
比較結果528と529がともに0′でしかも比較結果
530,531,539がすべて1′である場合は、単
語とキーワードの一致が判明した場合である。そこで動
作制御回路524はまず。
メモリ装置!523に、配列Cの次要素として1′を書
き込むよう指示する。そして次の単語の処理へ進むため
、レジスタ501,505を+1する。
レジスタ511には、配列りの次要素、すなわち次の単
語の長さをメモリ装置523より読み出す。
レジスタ516には配列Tの次要素を読み出す。
キーワードの方は再び先頭文字の処理に移る必要がある
ので、レジスタ519は1′にリセットし。
レジスタ518には配列にの先頭要素、すなわちキーワ
ードの先頭文字を読み出す。
上記以外の場合は、単語をキーワードが一致しなかった
場合である。そこで動作制御回路はまずメモリ装!52
3に配列Cの次要素として0′を書き込むよう指示する
。そして次単語の処理へ進むためレジスタ501を+1
する。レジスタ505は、単語とキーワードが一致した
場合と異なり、単語の途中で不一致が検出されているか
もしれないので、単純に+1したのでは次単語の先頭を
示さない。
次単語の先頭をレジスタ505が示すようにするには単
語の中の終わりから何番目の文字まで処理したかを示し
ているレジスタ511の値をレジスタ505の値に加え
ればよい、そこで動作制御回路524はセレクタ509
をレジスタ511の値を選択するように切りかえる。一
方レジスタ511には配列りの次要素を読み出し、レジ
スタ516には配列Tの次要素を読み出す、レジスタ5
19は1′にリセットし、レジスタ518には配列にの
先頭要素を読み出す。
本実施例のベクトル処理装置によれば1サイクルに配列
Tの1要素を処理することができる。第4図のフローチ
ャートから明らかなように、ソフトウェアでは、10ス
テツプのループで1要素の処理が構成されているので、
本発明によって少なくとも10倍の高速化が達成される
本実施例では文字列データの場合を示したが、記号処理
における他の可変長データ、例えばリストに対しても本
発明は適用できる。
〔発明の効果〕
本発明によれば、第1図に示すような可変長のデータ列
の処理もベクトル処理の適用対象となり高速化される。
すなわちベクトル化により演算9判定、カウンタ更新な
どの並列化が達成されるためであり、約10倍の高速化
が可能となる。
【図面の簡単な説明】
第1図は本発明の適用例である文字列探索を示す図、第
2図は従来のベクトル処理装置による文字列探索方式を
示す図、第3図は本発明のベクトル処理装置による文字
列探索方式を示す図、第4図は本発明の文字列探索方式
を示すフローチャート、第5図は本発明のベクトル処理
装置のブロック図、第6図は動作制御回路の動作を示す
真理値表である。 511・・・レジスタ、509・・・セレクタ、512
・・・加算回路、513・・・判定回路、524・・・
動作制御回路。 第 l  口 ot 第24      第 3 因 第 4  囚 手  続  補  正  書 昭和6°年8月2も

Claims (1)

    【特許請求の範囲】
  1. 1、メモリ装置又はベクトルレジスタに格納されている
    1つないし複数のベクトル要素を順次読み出して演算を
    行なうベクトル計算機において、演算結果に応じて、定
    数との加算による更新が行なわれるか、前記メモリ装置
    又はベクトルレジスタに格納されているデータのセット
    により更新されるかが決まるカウンタと、前記演算結果
    に従つた該カウンタの更新制御を行なう制御回路を設け
    たことを特徴とするベクトル処理装置。
JP59104543A 1984-05-25 1984-05-25 ベクトル処理装置 Expired - Lifetime JPH0786875B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP59104543A JPH0786875B2 (ja) 1984-05-25 1984-05-25 ベクトル処理装置
US06/737,686 US4723206A (en) 1984-05-25 1985-05-24 Vector processor
DE8585106449T DE3587098D1 (de) 1984-05-25 1985-05-24 Vektorverarbeitungsgeraet.
EP85106449A EP0163279B1 (en) 1984-05-25 1985-05-24 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59104543A JPH0786875B2 (ja) 1984-05-25 1984-05-25 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS61210478A true JPS61210478A (ja) 1986-09-18
JPH0786875B2 JPH0786875B2 (ja) 1995-09-20

Family

ID=14383397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59104543A Expired - Lifetime JPH0786875B2 (ja) 1984-05-25 1984-05-25 ベクトル処理装置

Country Status (4)

Country Link
US (1) US4723206A (ja)
EP (1) EP0163279B1 (ja)
JP (1) JPH0786875B2 (ja)
DE (1) DE3587098D1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0640337B2 (ja) * 1984-10-03 1994-05-25 株式会社日立製作所 パイプライン演算装置
JP2760790B2 (ja) * 1986-10-09 1998-06-04 株式会社日立製作所 データ処理装置
US5274835A (en) * 1988-12-20 1993-12-28 Matsushita Electric Industrial Co., Ltd. Merge device using FIFO buffers
US5832290A (en) * 1994-06-13 1998-11-03 Hewlett-Packard Co. Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US5666547A (en) * 1994-09-23 1997-09-09 Alcatel Network Systems, Inc. Method and apparatus for framing a serial data stream
US10324716B2 (en) 2017-03-03 2019-06-18 International Business Machines Corporation Selecting processing based on expected value of selected character
US10564965B2 (en) 2017-03-03 2020-02-18 International Business Machines Corporation Compare string processing via inline decode-based micro-operations expansion
US10620956B2 (en) * 2017-03-03 2020-04-14 International Business Machines Corporation Search string processing via inline decode-based micro-operations expansion
US10789069B2 (en) 2017-03-03 2020-09-29 International Business Machines Corporation Dynamically selecting version of instruction to be executed
US10564967B2 (en) 2017-03-03 2020-02-18 International Business Machines Corporation Move string processing via inline decode-based micro-operations expansion
US10613862B2 (en) 2017-03-03 2020-04-07 International Business Machines Corporation String sequence operations with arbitrary terminators

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113175A (en) * 1980-12-29 1982-07-14 Fujitsu Ltd Vector arithmetic device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57209570A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Vector processing device
US4464718A (en) * 1982-07-30 1984-08-07 International Business Machines Corporation Associative file processing method and apparatus
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113175A (en) * 1980-12-29 1982-07-14 Fujitsu Ltd Vector arithmetic device

Also Published As

Publication number Publication date
JPH0786875B2 (ja) 1995-09-20
EP0163279A3 (en) 1989-03-01
US4723206A (en) 1988-02-02
DE3587098D1 (de) 1993-03-25
EP0163279A2 (en) 1985-12-04
EP0163279B1 (en) 1993-02-17

Similar Documents

Publication Publication Date Title
Falkoff Algorithms for parallel-search memories
US5060143A (en) System for string searching including parallel comparison of candidate data block-by-block
US11068265B2 (en) Sequence alignment method of vector processor
JPH04247571A (ja) データベースレコード処理装置
JPH05128164A (ja) データベース処理装置
JPS6136849A (ja) 循環ループ依存性アルゴリズムを解くためのシストリツクアレイ
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
JPS61210478A (ja) ベクトル処理装置
JP2002313086A (ja) 情報検索装置
WO1989003091A1 (en) Method of sorting vector data and a vector processor adapted thereto
JPH021059A (ja) 連想検索システム
US20040210727A1 (en) Associative memory device
Pramanik et al. A hardware pattern matching algorithm on a dataflow
US20030187843A1 (en) Method and system for searching for a list of values matching a user defined search expression
JP3640034B2 (ja) 連想メモリへのデータの格納方法および連想メモリからのデータの取り出し方法
JP2772125B2 (ja) 辞書検索方式
JPH01259418A (ja) 文字列検索装置
JPH1049545A (ja) 連想記憶装置
JP3720060B2 (ja) 関連ワードを得る方法及びシステム
JPS63311432A (ja) 連想語検索システム
JPS60220424A (ja) 配列要素の演算方式
JPS63257030A (ja) 文字列検索回路
JPH0877142A (ja) ベクトルプロセッサ
JPS6373422A (ja) 情報検索装置
JPS6152739A (ja) サーチ方法および装置