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

文字列処理装置

Info

Publication number
JPH03255522A
JPH03255522A JP2052600A JP5260090A JPH03255522A JP H03255522 A JPH03255522 A JP H03255522A JP 2052600 A JP2052600 A JP 2052600A JP 5260090 A JP5260090 A JP 5260090A JP H03255522 A JPH03255522 A JP H03255522A
Authority
JP
Japan
Prior art keywords
character
data
character string
specific data
string
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
JP2052600A
Other languages
English (en)
Other versions
JP2752220B2 (ja
Inventor
Shinichiro Suzuki
慎一郎 鈴木
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2052600A priority Critical patent/JP2752220B2/ja
Publication of JPH03255522A publication Critical patent/JPH03255522A/ja
Application granted granted Critical
Publication of JP2752220B2 publication Critical patent/JP2752220B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) 本発明は、コンピュータに人力された文字列データの特
定の文字データを検出する文字列処理装置に関する。
(従来の技術) 例えばコンピュータにある文字列データが人力された際
に、特定のビットパターン(アスキコード)からなる文
字、すなわち、ターミネータで終了する文字列に対して
何等かの処理を行なう場合、その対象となる文字列の終
了位置を検出する必要がある。この場合、従来は、入力
された文字列の先頭から1文字ずつそれがターミネータ
であるか否かの判定を繰返し、該ターミネータと判定さ
れた位置で文字列の終了を検出している。
また、入力された文字列内の特定文字の有無や文字位置
を検索する場合にも、上記文字列終了位置を検出する場
合と同様にして、その特定文字か否かの判定を1文字ず
つ繰返していた。
(発明が解決しようとする課題) しかしながら、上記入力された文字列に対して1文字ず
つの文字判定を繰返し、ターミネータや特定文字の検索
を行なったのでは、文字列のサーチ、マージ、比較、転
送等の処理を高速化するのが困難になる。
本発明は上記課題に鑑みなされたもので、例えば入力さ
れた文字列の終了位置を検索する際に、その先頭文字か
ら1文字ずつの文字判定を繰返し行なう必要なく、文字
列のサーチ、マージ、比較。
転送等の文字列処理を高速化することが可能になる文字
列処理装置を提供することを目的とする。
[発明の構成コ (課題を解決するための手段) すなわち、本発明に係わる文字列処理装置は、予め設定
された複数の連続する文字データを一括して格納する文
字列格納レジスタと、この文字列格納レジスタに格納さ
れた全ての文字データのそれぞれに対し特定データが存
在するか否かを一括して判定する特定データ判定ゲート
と、この特定データ判定ゲートにおける個々の文字デー
タの判定結果の出力を上記文字列格納レジスタの文字デ
ータ未格納位置に対応して禁止するゲート出力禁止手段
と、上記特定データ判定ゲートにおいて特定データが存
在することの判定が成された際にその特定データ存在位
置に対応する文字データの先頭に最も近いところの上記
文字列格納レジスタの文字レジスタ番号を出力するプラ
イオリティエンコーダとを備えて構成したものである。
(作 用) つまり、上記文字列格納レジスタにより予め設定された
複数の連続する文字データを一括して格納し、この文字
列格納レジスタに格納された全ての文字データのそれぞ
れに対し特定データが存在するか否かを上記特定データ
判定ゲートにより一括して判定し、この特定データ判定
ゲートにおける個々の文字データの判定結果の出力を上
記ゲート出力禁止手段により上記文字列格納レジスタの
文字データ未格納位置に対応して禁止すると共に、上記
特定データ判定ゲートにおいて特定データが存在するこ
との判定が成された際には上記プライオリティエンコー
ダによりその特定データ存在位置に対応する文字データ
の先頭に最も近いところの上記文字列格納レジスタの文
字レジスタ番号を出力することにより、多数連続する文
字データの中の最初の特定データを上記予め設定された
複数の文字データ毎に一括検索することができるように
なる。
(実施例) 以下図面により本発明の一実施例を説明する。
第1図は計算機における文字列処理装置の回路構成を示
すも、ので、この文字列処理装置は、文字列格納レジス
タ11を備えている。この文字列格納レジスタ11には
、キャッシュメモリあるいは主記憶からの64ビツトデ
ータバスが接続され、1文字1バイト(8ビツト)で合
計8文字分の文字データがパラレルに格納されるもので
、この文字列格納レジスタ11の各文字レジスタlla
〜11hは、それぞれ対応するターミネータ判定ゲ)1
2a〜12hに接続される。このターミネータ判定ゲー
ト12a〜12hは、それぞれ上記文字列格納レジスタ
11に格納された文字列の個々の文字データと、コード
レジスタ13に格納されたターミネータコードのビット
パターンとを比較し、その一致/不一致を判定するもの
で、このターミネータ判定ゲート12a〜12hにより
入力文字データとターミネータコードとの一致判定が威
されると、その対応する判定ゲートより論理“1”が出
力される。そして、上記ターミネータ判定ゲート12a
〜12hそれぞれの出力信号は、各対応するアンドゲー
トANDO−AND7の一端子に入力される。
一方、上記各アントゲ−)ANDO−AND7の他端子
には、マスクビット生成器14からの8ビツト分の出力
信号がそれぞれ下位ビット(L S B)側と上位ビッ
ト(MSB)側とを対応させて1ビツトずつ人力される
。このマスクビット生成器14は、上記文字列格納レジ
スタ11に最初に格納された文字列に対するターミネー
タ検索処理を行なう際に、フリップフロップFFのQ出
力から論理“1”のイネイブル信号enが与えられるこ
て、該文字列格納レジスタ11に対し文字人力が行なわ
れない下位ビット(L S B)からのレジスタ数0〜
7に応じて論理“0#を出力するもので、この場合、マ
スクビット生成器14は、文字列格納レジスタ11に格
納された文字列先頭アドレスを入力し、文字入力が行な
われない桁のアンドゲートANDに対する出力禁止のマ
スク処理を行なう。なお、上記文字列格納レジスタ11
に格納された文字列に対する2回目以降のターミネータ
検索処理時には、フリップフロップFFのQ出力から論
理“0”のイネイブル信号enが出力され、マスクビッ
ト生成器14から各アンドゲートANDO〜AND7に
対する出力信号は全て論理“1”になる。
つまり、上記アンドゲートANDO〜AND7は、文字
列格納レジスタ11に格納された各文字データの中にタ
ーミネータコードが存在した際に、そのターミネータコ
ードが格納された文字レジスタ11a〜11hに対応す
る桁のアンドゲートANDから論理“1″を出力するも
ので、このアンドゲートANDO−AND7からの出力
信号はプライオリティエンコーダ15にそれぞれ優先順
位0−7として人力される。このプライオリティエンコ
ーダ15は、上記アンドゲートANDO〜AND7の何
れかから論理“1”の出力信号が得られた際に、ターミ
ネータコードがあることを示す論理“1”の信号Eを出
力すると共に、該ターミネータコードの判定が成された
最も下位の桁番号を示す信号Yを出力するもので、この
プライオリティエンコーダ15からの信号Eが論理“1
″となった場合の信号Yの示す桁番号に基づき、ターミ
ネータコードの存在する1つの文字列の最終アドレスが
求められる。すなわち、既に読出しの行なわれた文字列
の、例えばキャッシュメモリにおける文字データ最終ア
ドレスに、上記プライオリティエンコーダ15により得
られた信号Yの示す桁番号を、下式(1)で示すように
加算することで、ターミネータコードによって区切られ
た最初の文字列の最終アドレスXが得られることになる
X−(ソースアドレス) × (・・・F F 8)  t+b)十Y     
・・・式(1)次に、上記構成の文字列処理装置による
文字列転送処理について、第2図に示すフローチャート
を参照して説明する。
計算機に予め入力され、例えばターミネータコードによ
り区切られた文字列データの転送を行なうには、まず、
転送元となるキャッシュメモリ等のデータメモリの先頭
から8文字分の文字データを読出し、第1図における文
字列格納レジスタ11にパラレルに転送格納すると共に
、この場合の実際の文字データが位置する文字列先頭ア
ドレスをマスクビット生成器14に与える。そして、フ
リップフロップFFのQ出力からマスクビット生成器1
4に対し、論理“1″のイネイブル信号enを出力する
(ステップSl)。すると、ターミネータ判定ゲート1
2a〜12 hでは、そのそれぞれに与えられた文字列
格納レジスタ11での各文字データと、フードレジスタ
13に格納されたターミネータコードのビットパターン
とを比較し、その一致/不一致を判定するもので、例え
ばターミネータ判定ゲート12gにより入力文字ブタと
ターミネータコードとの一致判定か或されると、その対
応するアンドゲートAND6を通しプライオリティエン
コーダ15に論理“1′が出力されることにより、この
プライオリティエンコーダ15からは論理“1“の信号
Eが出力される(ステップS2)。これにより、プライ
オリティエンコーダ15から出力される論理“1”の信
号Eとターミネータコードの存在桁位置を示す信号Y 
(−6)とに基づき、該ターミネータコードによって区
切られた文字列データの最終アドレスXが求められ、そ
の先頭アドレスから最終アドレスXまでの文字列データ
が上記キャッシュメモリから他のメモリに対し転送され
る(ステップS3)。
なお、上記文字列格納レジスタ11に8文字分の文字デ
ータを格納した際に、実際の文字データか存在する先頭
の文字レジスタが、例えばllbである場合には、上記
ステップS1において、マスフピット生成器14にその
文字列先頭アドレス「1」が予め入力されることにより
、この先頭アドレスより下位のアンドゲートANDOの
出力は禁止され、文字データが存在しない部分のターミ
ネータ誤判定が防止される。つまり、文字列データの先
頭が、必ずしもキャッシュメモリの先頭メモリアドレス
から格納されているとは限らないので、初回読出し文字
列に対するターミネータ判定時には、実際の文字データ
が存在しない部分のマスク処理を施すことにより、ター
ミネータコードの誤判定が防止される。この場合、上記
の初回転送された文字列は、文字列格納レジスタ11に
おける文字レジスタllb〜l1gまでの6文字列とな
る。
一方、上記ステップS2における初回読出し文字列に対
するターミネータコードの判定時に、該ターミネータコ
ードが存在しない場合には、アンドゲートANDO〜A
ND7の何れからも論理“1”が出力されず、プライオ
リティエンコーダ15の出力信号E(≠1)になる。す
ると、上記文字列格納レジスタ11に読出し格納した文
字列データの全ての文字データをその先頭アドレスから
最終アドレスまで、他のメモリに対し転送させる(ステ
ップS4)。この時、フリップフロップFFからマスク
ビット生成器14に対するイネイブル信号enはrOJ
に切換えられ、該マスクビット生成器14からアンドゲ
ートANDO〜AND7に対する選択的マスク処理は実
施されなくなる(ステップS5)。この場合、上記式(
1)におけるソース、ディスティネーションアドレスに
は、初回8文字分のデータ転送が終了したことに応じて
「8」が加算され(例えば・・・FF8+8−・・・F
FF)、現時点における転送処理済みの最終アドレスが
明らかにされる(ステップS6)。
すると、上記ステップ81〜S4の処理1判断により既
に転送された文字データに続く8文字分の文字データが
、上記キャッシュメモリより読出され、文字列格納レジ
スタ11に対して新たに格納される(ステップS7)。
ここで、例えば文字列格納レジスタ11に格納された8
文字データの何れにもターミネータコードが存在しない
場合には、ターミネータ判定ゲート12では何れも不一
致判定が成され、プライオリティエンコーダ15の出力
信号E(≠l)となる(ステップS8)。
この場合、上記ステップS4において転送された文字デ
ータに続き、上記ステップS7において文字列格納レジ
スタ11に格納された8文字データが、上記ステップS
6において明らかにされた転送処理済み文字データの最
終アドレスに基づきキャッシュメモリから読出され他の
メモリに対し転送される(ステップS9)。すると、再
び上記ステップS6に戻り、上記式(1)におけるソー
ス。
ディスティネーションアドレスには、前回8文字分のデ
ータ転送が終了したことに応じて「8」が加算され(例
えば・F F F、 + 8−−−− F F F 8
 )、現時点における転送処理済みの最終アドレスが明
らかにされる。
こうして、上記ステップ86〜S9の処理1判断を繰返
すことで、順次8文字データの一括転送が行なわれる状
態で、ステップS8において、例えばターミネータ判定
ゲート12eからアントゲ−)AND4を介して論理“
1°が出力され、プライオリティエンコーダ15の出力
信号E(−1)によりターミネータコードありの判定が
成されると、このプライオリティエンコーダ15から出
力されるターミネータコードの存在桁位置を示す信号Y
 (−4)に基づき、該ターミネータコードによって区
切られた文字列データの最終アドレスXが求められる。
そして、現在文字列格納レジスタ11に格納されている
文字データの先頭アドレスから上記ステップS8でのタ
ーミネータ判定に基づく最終アドレスXまでの5文字分
のデータが上記ステップS9において既に転送された文
字データに続いて転送される(ステップ510)。この
場合、上記ステップS4及びS9及びS1oのそれぞれ
の転送処理により転送された一連の文字データが、ター
ミネータコードにより区切られた1つの文字列データと
して検索転送されたことになる。
したがって、上記構成の文字列処理装置にょれば、64
ビツトのデータバスを使用して8文字データずつのター
ミネータ判定処理を行ない、ターミネータコードが存在
する最も先頭に近いアドレスデータを得るようにしたの
で、予め入力された多数連続する文字データの1区切り
の文字列データを素早く検出することができるばかりで
なく、その文字列データの転送処理等も高速化すること
が可能になる。これにより、文字列処理の多いComp
i ler言語やC0BOLで書かれたプログラムの実
行時間をより高速化することができる。
尚、上記実施例では、ターミネータ判定処理を8文字ず
つ行ない、その8文字データの一括転送を行なっている
が、この1回の処理に対応する文字データの数は8文字
(8バイト)に限定されることなく、対象となるデータ
量に応じて設定すればよい。
また、上記実施例では、ターミネータコードの検索によ
る1文字列の転送処理を行なったが、文字列内の特定文
字の検索を行なう場合でも、上記同様にして処理速度の
高速化が可能になる。
[発明の効果コ 以上のように本発明によれば、予め設定された複数の連
続する文字データを一括して格納する文字列格納レジス
タと、この文字列格納レジスタに格納された全ての文字
データのそれぞれに対し特定データが存在するか否かを
一括して判定する特定データ判定ゲートと、この特定デ
ータ判定ゲートにおける個々の文字データの判定結果の
出力を上記文字列格納レジスタの文字データ未格納位置
に対応して禁止するゲート出力禁止手段と、上記特定デ
ータ判定ゲートにおいて特定データが存在することの判
定が成された際にその特定データ存在位置に対応する文
字データの先頭に最も近いところの上記文字列格納レジ
スタの文字レジスタ番号を出力するプライオリティエン
コーダとを備えて構成したので、多数連続する文字デー
タの中の最初の特定データを上記予め設定された複数の
文字データ毎に一括検索することができ、例えば人力文
字列の終了位置を検索する際に、その先頭文字から1文
字ずつの文字判定を繰返し行なう必要なく、文字列のサ
ーチ、マージ、比較、転送等の文字列処理を高速化する
ことが可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例に係わる文字列処理装置の構
成を示す回路図、第2図は上記文字列処理装置による文
字列転送処理を示すフローチャートである。 11・・・文字列格納レジスタ、lla〜llh・・・
文字レジスタ、12a〜12h・・・ターミネータ判定
ゲート、13・・・コードレジスタ、14・・・マスク
ビット生成器、15・・・プライオリティエンコーダ、
ANDO〜AND7・・・アンドゲート、FF・・・フ
リップフロップ。

Claims (1)

  1. 【特許請求の範囲】 予め設定された複数の連続する文字データを一括して格
    納する文字列格納レジスタと、 この文字列格納レジスタに格納された全ての文字データ
    のそれぞれに対し特定データが存在するか否かを一括し
    て判定する特定データ判定ゲートと、 この特定データ判定ゲートにおける個々の文字データの
    判定結果の出力を上記文字列格納レジスタの文字データ
    未格納位置に対応して禁止するゲート出力禁止手段と、 上記特定データ判定ゲートにおいて特定データが存在す
    ることの判定が成された際にその特定データ存在位置に
    対応する文字データの先頭に最も近いところの上記文字
    列格納レジスタの文字レジスタ番号を出力するプライオ
    リティエンコーダとを具備したことを特徴とする文字列
    処理装置。
JP2052600A 1990-03-06 1990-03-06 文字列処理装置 Expired - Lifetime JP2752220B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2052600A JP2752220B2 (ja) 1990-03-06 1990-03-06 文字列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2052600A JP2752220B2 (ja) 1990-03-06 1990-03-06 文字列処理装置

Publications (2)

Publication Number Publication Date
JPH03255522A true JPH03255522A (ja) 1991-11-14
JP2752220B2 JP2752220B2 (ja) 1998-05-18

Family

ID=12919277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2052600A Expired - Lifetime JP2752220B2 (ja) 1990-03-06 1990-03-06 文字列処理装置

Country Status (1)

Country Link
JP (1) JP2752220B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187665B2 (en) 2001-07-23 2007-03-06 Nec Corporation Apparatus and method of scheduling channel allocation in dynamic TDMA frame

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187665B2 (en) 2001-07-23 2007-03-06 Nec Corporation Apparatus and method of scheduling channel allocation in dynamic TDMA frame

Also Published As

Publication number Publication date
JP2752220B2 (ja) 1998-05-18

Similar Documents

Publication Publication Date Title
US5608887A (en) Method of processing data strings
US4471459A (en) Digital data processing method and means for word classification by pattern analysis
US6055629A (en) Predicting for all branch instructions in a bunch based on history register updated once for all of any taken branches in a bunch
JPH04247571A (ja) データベースレコード処理装置
US6738794B2 (en) Parallel bit correlator
JP3183669B2 (ja) 可変長の文字ストリング用のプロセッサ
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
JP2000132497A (ja) Dma制御方法及び装置
JPH03255522A (ja) 文字列処理装置
US20140358837A1 (en) Searching Apparatus Utilizing Sub-word Finite State Machines
JPS61210478A (ja) ベクトル処理装置
JP2009070226A (ja) マッチング装置
JP3027754B2 (ja) 連想記憶装置
EP0520116A1 (en) Method and apparatus for performing pattern search functions
JPS60105040A (ja) 文章検索方式
JPH06202849A (ja) 情報処理装置
JPS63261421A (ja) 文字列処理装置
JPH1115836A (ja) 文字列探索用テーブル、その作成方法及び文字列探索方法
JPH11102284A (ja) 選別方法および選別回路
JP2835065B2 (ja) 文字列検索方法
JP3010764B2 (ja) ビットパターン処理装置
JPH04279973A (ja) 文字列比較方式
JPH05174062A (ja) 文字列検索処理装置
JPH04326120A (ja) 情報処理装置
US20050117627A1 (en) Method for the determination of a maximum or a minimum