JPS63261421A - 文字列処理装置 - Google Patents

文字列処理装置

Info

Publication number
JPS63261421A
JPS63261421A JP62094899A JP9489987A JPS63261421A JP S63261421 A JPS63261421 A JP S63261421A JP 62094899 A JP62094899 A JP 62094899A JP 9489987 A JP9489987 A JP 9489987A JP S63261421 A JPS63261421 A JP S63261421A
Authority
JP
Japan
Prior art keywords
character string
register
character
pattern
instruction
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
JP62094899A
Other languages
English (en)
Inventor
Kazuyoshi Mikami
三上 和敬
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62094899A priority Critical patent/JPS63261421A/ja
Publication of JPS63261421A publication Critical patent/JPS63261421A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、文字、記号等を配列した文字列中に、所定
のパターンの部分文字列があるか否かを検出する文字列
処理装置に関するものである。
〔従来の技術〕
第5図は従来の文字列処理装置を示すブロック図であシ
、図において、1は命令ポインタ、2はセグメントレジ
スタ、3はこれら命令ポインタ1とセグメントレジスタ
2の値よシアドレス変換を行うアドレス変換器、4はア
ドレス変換器3の指定するアドレスよシ読み込まれた命
令が待ち合わせる命令キエー、5は命令キ為−4の先頭
の命令を実行サイクルに移す実行制御ユニット、6は汎
用レジスタ6−1〜6−4及びインデクスレジスタロー
5.6−6等からなるレジスタファイル、Tは前記命令
によって1示された演算を実行する算術論理ユニット(
Arithmetic Logical Unit以下
、ALUという)、8はその結果状態がセットされる7
/Pグレジスタである。
次に動作について説明する。−例として、ストリームエ
ディタの入力行の文字列’ THIS、=PROT−P
R5CED・・・′中に、例えば、%PROC’という
部分文字列のパターンがあるかないかを調べる場合につ
いて説明する。第6図はこのような文字列比較の処理手
順を示すフローチャートである。ここで、このような文
字列比較の処理は、つぎの2サイクルの繰シ返しによっ
て実行される。
(1)命令7エツテサイクル: 命令自身をメモリから取シ込むサイクルで、アドレス変
換部3が命令ポインタ1の示す値と、セグメントレジス
タ2の示す値を用い、アドレス変換を行なって命令の存
在する実アドレスを算出し、メモリにアクセスする。メ
モリはそのアドレスの内容(この場合、命令)をバスに
乗せ、最終的に命令キュー4に格納する。実行制御ユニ
ット5は命令キエ−4の先頭の命令を取少込み、次の実
行サイクルに移す。
(11)実行サイクル: 命令のオペコードを解読して、演算の種類を決定し、オ
ペランドであれば、それをレジスタファイル6またはメ
モリからデータフェッチを行ない、ALU7にてそのデ
ータに関しての指示された演算を行い、その結果を命令
に応じてレジスタファイル6またはメモリに返し、結果
状態をフラグレジスタ8にセットする。実行サイクルは
これで終了し、命令ポインタの内容に11“を加えて、
次の命令7エツテサイクルに移る。
以下の文字比較の動作説明では、命令フェッチサイクル
は全て共通動作であシ、実行サイクルに差異が生じるた
め実行サイクルを中心に述べる。
まず、第3図に示すように、前記部分文字列のパターン
がメモリのPATBUFに、入力行の文字列がメモリの
INBUFにそれぞれセットされる。第3図中の% Q
 Iは終端記号である。また、汎用レジスタ6−1.6
−2及びインデクスレジスタロー5、B−6はつざのよ
うに割付けられて、その初期値は第1表に示す通シであ
る。
第1表 この過程は第6図に示すフローチャートのステップST
1〜ST3に対応している。
つぎにステップST4ではINBUF [1] (i=
0) tD内容% T ifが汎用レジスタ6−3にセ
ットされ、PATHUF [p] (p=0)の内容1
pIが汎用レジスタ6−4にセットされ、続いてALU
7によりて汎用レジスタ6−3と汎用レジスタ6−4の
内容が比較される。
比較結果はフラグレジスタ8のあるビットに対応して設
定される。この場合、比較は失敗して、処理はステップ
ST7に移る。ステップST7では、インデクスレジス
タロー5の内容を%11だけ増加−(この場合、1=1
にセット)させる。ステップST8では、汎用レジスタ
6−3に1HIの値がロードされ、汎用レジスタ6−4
に終端記号’Q’がロードされ、続いてALU7により
て比較が行なわれる。第6図の70−に従って処理が進
み、第3表中の1=10〜13までの文字列とp=Q〜
3tでのパターンが一致し、ステップST5でp±4の
値となシ、ステップST6でPATBUF [p = 
4 ]の\を検出してステップST9で終了する。
〔発明が解決しようとする簡題点〕
従来のストリームエディタは以上のように構成されてい
るので、1文字毎に毎回命令フェッチサイクルと実行サ
イクルを繰シ返す必要があるばかヤでなく、1文字毎の
比較のため処理のオーバヘッドや処理時間も長くなるな
どの問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、高速の文字列処理が可能な文字列処理装置を
得ることを目的とする。
〔問題点を解決するための手段〕
この発明に係る文字列処理装置は、文字、記号等の配列
による文字列を格納する文字列専用シフトレジスタと、
所定パターンの部分文字列を格納するパターン専用レジ
スタと、前記文字列専用シフトレジスタと前記パターン
専用レジスタとの有意な文字列の一致検出を文字列専用
シフトレジスタに格納され丸文字列をシフトさせながら
一括して行う文字列比較器とを備えたものである。
〔作 用〕
この発明における文字列処理装置は、文字、記号等を配
列した文字列を文字列専用シフトレジスタに一括して格
納し、所定パターンの部分文字)1をパターン専用レジ
スタに格納して、前記文字列専用シフトレジスタに格納
された文字列を順次シフトさせながら、この文字列専用
シフトレジスタと前記パターン専用レジスタとの有意な
文字列の一致検出を一括して行うことによシ、高速の文
字列処理を可能とする。
〔実施例〕
以下、この発明の一実施例を図について説明する。第1
図において、1は命令ポインタ、2はセグメントレジス
タ、3はアドレス変換器、4は命令キュー、5は実行制
御ユニット、6はレジスタファイル、TはALU、8は
フラグレジスタで、これらは第3図に同一符号を付した
従来のそれらと同一、もしくは相当部分であるため、詳
細な説明は省略する。また、9はALU7とバスにより
て接続され、入力行の文字列を格納できる文字列専用シ
フトレジスタ、10は同様にALU7とバスによって接
続され、部分文字列のパターンを格納するパターン専用
レジスタ、11は文字列専用シフトレジスタ9とパター
ン専用レジスタ10の有意な文字列(終端記号直前まで
の文字列)を一括して比較する文字列比較器、12は文
字列比較器11の一括比較の結果の情報を保持するフラ
グレジスタである。
次に動作について説明する。−例として、従来例と同様
のストリームエディタの入力行の文字列’THIS、=
PROT−PROCED・・・I中に、例えば、’ P
ROClという部分文字列のパターンがあるかないかを
調べる場合について説明する。第2図はこのような文字
列比較の処理手順を示すフローチャートであシ、従来例
と同様、命令フェッチサイクルと実行サイクルの2つの
サイクルの繰シ返しによって実行される。
以下の文字比較の動作説明では、命令フェッチサイクル
は全て共通動作でアシ、実行サイクルに差異が生じるた
め実行サイクルを中心に述べる。
命令のオペコードが文字列専用レジスタロードのコード
であれば、一括データフエッチを行い、ステップ5T1
1及びステップ5T12にてメモリのPATBUF及び
INBUFに第3図のごとくセットされた部分文字列の
パターン及び入力行の文字列ヲ、パターン専用レジスタ
10あるいは文字列専用シフトレジスタ9にそれぞれロ
ードする(ステップ5T13,5T14)。この時、入
力行の文字列の長さが文字列専用シフトレジスタ9の容
量よシも大きければ、文字列専用シフトレジスタ9の容
量に見合う入力行の文字列がロードされ、それ以外の場
合には当該文字列の全てが文字列専用シフトレジスタ9
にロードされる。ステップ5T15の命令のオペコード
は、文字列専用の比較命令コードであシ、実行制御ユニ
ット5によって、第4図の第1ステツプのように文字列
比較器11を用いて、一括比較し、その結果を7ラグレ
ジスタ12にセットする。なお第1ステツプは不一致と
判定され、処理はステップ5T20に移る。
ステップ5T20はINBUFの文字列が長くて1回の
ロードで文字列専用シフトレジスタ9にロードしきれな
い場合に、INBUFの後続記号までの部分列がPAT
BUF K含まれるかの一括比較を行う。
ステップST21はステップ20で一致した場合、残り
を文字別専用シフトレジスタにロードする。
ステップ17では文字列専用シフトレジスタ9を1バイ
トシフトし、文字列サイズを1減らす。ステップ5T1
8では文字列サイズが0でないのでステップ5T15に
制御を移す。ステップ5T15ではシフトされたデータ
に対して、再び一括文字比較を行う。上記の例では、6
回シフト後に、第4図の第6ステツプで示す状態になる
が、第3文字目まではマツチするが、第4文字目で不一
致となるため、全体ではミスマツチとなる。上側では最
終的に不一致となシ、ステップ5T18から5T19を
経由して、ステップ5T14に移!I)、INBUF中
の轡りの文字列を文字列専用シフトレジスタにロードし
て、残シの文字列に対して同様に文字列の一括比較を行
う。
なお、上記実施例では、ストリームエディタの場合につ
いて説明したが、ワープロなどの文字列処理に適用して
もよく、上記実施例と同様の効果を奏する。
〔発明の効果〕
以上のように、この発明によれば文字列を文字列専用シ
フトレジスタに一括ロードし、これを順次シフトさせな
がらパターン専用レジスタに格納された部分文字列パタ
ーンと一括して比較するように構成したので、文字列の
処理が高速で行える効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例による文字列処理装置を示
すブロック図、第2図はその動作を示すフローチャート
、第3図はメモリにセットされた入力行の文字列と部分
文字列のパターンを示す説明図、第4図はこの発明にお
ける比較処理の過程を示す説明図、第5図は従来の文字
列処理装置を示すブロック図、第6図はその動作を示す
フローチャートである。 9は文字列専用シフトレジスタ、10はパターン専用レ
ジスタ、11は文字列比較器。 なお、図中、同一符号は同一、又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 文字、記号等の配列による文字列の中に、所定のパター
    ンの部分文字列があるか否かを検出する文字列処理装置
    において、前記文字、記号等の配列による文字列を格納
    する文字列専用シフトレジスタと、前記所定パターンの
    部分文字列を格納するパターン専用レジスタを設け、前
    記文字列専用シフトレジスタに格納された文字列をシフ
    トさせながら、この文字列専用シフトレジスタと前記パ
    ターン専用レジスタとの有意な文字列の一致検出を文字
    列比較器にて一括して行うことを特徴とする文字列処理
    装置。
JP62094899A 1987-04-17 1987-04-17 文字列処理装置 Pending JPS63261421A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62094899A JPS63261421A (ja) 1987-04-17 1987-04-17 文字列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62094899A JPS63261421A (ja) 1987-04-17 1987-04-17 文字列処理装置

Publications (1)

Publication Number Publication Date
JPS63261421A true JPS63261421A (ja) 1988-10-28

Family

ID=14122877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62094899A Pending JPS63261421A (ja) 1987-04-17 1987-04-17 文字列処理装置

Country Status (1)

Country Link
JP (1) JPS63261421A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0337766A (ja) * 1989-07-04 1991-02-19 Nec Corp 単語辞書検索装置
JPH0337765A (ja) * 1989-07-04 1991-02-19 Nec Corp 単語辞書検索装置
JPH03110676A (ja) * 1989-09-25 1991-05-10 Nec Corp 単語辞書検索装置
JPH03110675A (ja) * 1989-09-25 1991-05-10 Nec Corp 単語辞書検索装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0337766A (ja) * 1989-07-04 1991-02-19 Nec Corp 単語辞書検索装置
JPH0337765A (ja) * 1989-07-04 1991-02-19 Nec Corp 単語辞書検索装置
JPH03110676A (ja) * 1989-09-25 1991-05-10 Nec Corp 単語辞書検索装置
JPH03110675A (ja) * 1989-09-25 1991-05-10 Nec Corp 単語辞書検索装置

Similar Documents

Publication Publication Date Title
US5608887A (en) Method of processing data strings
AU554711B2 (en) Parallel text matching methods and apparatus
US5450605A (en) Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions
US4710866A (en) Method and apparatus for validating prefetched instruction
JPH01502700A (ja) 境界合せされていないリファレンスを処理するrisc型コンピュータ及び同処理の方法
JPH03291726A (ja) コンパイル中にソフトウェア・スケジューリング技術を用いてハードウェアのパイプライン処理の中断を最小化する方法
JPH09503327A (ja) 可変長の文字ストリング用のプロセッサ
JPS63261421A (ja) 文字列処理装置
JPH0786875B2 (ja) ベクトル処理装置
AU629007B2 (en) Apparatus for accelerating store operations in a risc computer
JPH0527142B2 (ja)
JP2880199B2 (ja) 記号列検索方法および検索装置
US4935849A (en) Chaining and hazard apparatus and method
GB2148562A (en) Computers
JP2752220B2 (ja) 文字列処理装置
JPS6327746B2 (ja)
JPS63163634A (ja) 命令フエツチ方式
JP2835065B2 (ja) 文字列検索方法
JPH05100821A (ja) プライオリテイエンコーダ装置
JPH06202849A (ja) 情報処理装置
JPS6244838A (ja) 命令取出装置
JPH0778723B2 (ja) 情報処理装置
JPS5917464B2 (ja) デ−タ処理装置
JPS62145430A (ja) デ−タ処理装置
JPH04326120A (ja) 情報処理装置