JPS62217321A - 高速サ−チプロセツサ - Google Patents

高速サ−チプロセツサ

Info

Publication number
JPS62217321A
JPS62217321A JP61294598A JP29459886A JPS62217321A JP S62217321 A JPS62217321 A JP S62217321A JP 61294598 A JP61294598 A JP 61294598A JP 29459886 A JP29459886 A JP 29459886A JP S62217321 A JPS62217321 A JP S62217321A
Authority
JP
Japan
Prior art keywords
search
match
text
cell
line
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
JP61294598A
Other languages
English (en)
Other versions
JPH0797374B2 (ja
Inventor
チャールズ ヘイズ メッセンジャー
ロバート イヴァリット ハイス ジュニア
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.)
Northrop Grumman Space and Mission Systems Corp
Original Assignee
TRW Inc
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 TRW Inc filed Critical TRW Inc
Publication of JPS62217321A publication Critical patent/JPS62217321A/ja
Publication of JPH0797374B2 publication Critical patent/JPH0797374B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】
産業上の利用分野 本発明は、一般に、情報処理システムに係り、特に、特
定パターンのデータを探索するようにデータベースをサ
ーチする特殊目的のプロセッサに係る。この形式の処理
は、多数の色々な文脈において行なわれるが、特定のワ
ード又はフレーズの全ての発生を探索するようなデータ
ベースのサーチについて最も良く理解することができよ
う。これまで、このようなサーチを実行するために従来
のハードウェアで作動するコンピュータソフトウェアが
利用されているが、これには実用面で多数の制約がある
ことが分かっている。 従来の技術 大きなデータベースを始めから終りまで順次に探索する
従来のハードウェアは、全く実行不可能な程の長い時間
を要することが多く、そこで、典型的なサーチと考えら
れるものについてシステムが比較的良好な性能を有する
ようにデータを編成するため、種々様々なソフトウェア
技術が使用されている。これらの技術は、通常、大きな
テーブルがデータベースの各項目の位置を含むような或
る形式のインデックス機構を伴うものである。 これらのインデックステーブルは、そのサイズが実際の
データベースと同等であり、構成及び編成がしばしばや
っかいである。更に、インデックステーブルを必要とす
るシステムは、内容が時間と共に変化するようなデータ
ベースのサーチに用いるには不便である。 インデックス構造を用いたとしても、ラフ1〜ウエアの
サーチは、所与のサーチタスクに課せられたサーチ条件
の数及び複雑さによって非常に影響を受け、然も、使用
する汎用のコンピュータがオペレーティングシステムオ
ーバーヘッドを有していて、これが、サーチプロセスの
速度を更に遅らせる。その結果、実際に得ることのでき
るデータ処理速度は、通常、データベースが通常記憶さ
れる大量記憶装置の最大データ速度の一部分に過ぎない
。 ソフトウェア制御のサーチ技術には多数の制約があるの
で、サーチプロセスを助成するようなハードウェア装置
が案出されている。これらは、内容によってアドレスで
きるメモリと、特殊t−1的のプロセッサの2つの3)
項に分けられる。内容によってアドレスできるメモリは
、それらの内容を!(通バスに現われるパターンと比較
することのできるメモリ装置である。このようなメモリ
は、大きなデータベースの場合には著しく高価なものと
成り、又、典型的に厳密に合致するオペレーションしか
実行できないので、いがなる場合にも、その利用性が限
定される。 データサーチのための特殊目的のプロセッサは、専用の
パターン−数回路によってデータをアクセスするための
低コス1〜のメモリを使用している。典型的に、サーチ
の前にプロセッサにサーチ条イ′(゛が記憶され、サー
チ中にプロセッサにデータが送られる。特殊目的のプロ
セッサは、その特に望ま
【ツい形態においては、全ての
論理を単一の集積回路チップに組み込んでおり、その拡
張機能は多数の相互接続されたチップを使用することに
基づいている。 ミード・アン1へ・アソシエ−1〜・アン(へ・ザ・カ
リフォルニア・インスティテユー1−・4ブ・テクノロ
ジによるこのようなプロセッサの1っは、128ピッ1
−の比較器を使用してテキスト入カを常駐パターンと比
較するものである。(1,976年10月のT E E
 Eジャーナル・ソリッドステー1〜・サーキッh (
THEE Journal 5olid Sta’ce
Cjrcujts)SC−I L (5) : 692
−695に掲載されたMead C,A、 t]ash
lcy、 R,D、、 8ril、Lon+L、d、、
I)aimon、 ’/、T、及び5ando、 S、
F、の「128ピツ1〜マルチコンパレータ」を参照さ
れたい。)マスクレジスタは、パターンLこ含まれた可
変長さの「ドント・ケア(don’t care)、1
文字に等しいものを許容することができる。換言すれば
、パターンは、内容が一致プロセスに影響しないような
可変長さのセグメンI−を含むとして指示される。 フォスタ及びカング氏は、2種項のセルで構成される収
縮パターン−数回路を提案している。 (1,980年1月のTEEEコンピュータ1−3(1
)に掲載されたト’oster M、 J、及びKun
g H。 T、の「特殊目的のV L S Tチップの設計(Th
edesign of 5pecial−r’urpo
se VLST Chips)J を参照されたい。)
プロセッサは、サーチされているパターンを記憶せず、
サーチされているデータに)・[シ平行なデータ路に沿
って再循環することが要求される。このプロセッサの収
縮特性、即ち、各セルがそのすぐ隣のセルとのみ信号・
を分担するような相互接続されたセルのパイプラインを
意味する特性により、集積回路の高密度レイアラ1〜に
特に適用できるようになる。 第2の収縮設計がマクホパディヒア・オブ・ザ・1ニバ
ーシテイ・オブ・セン1〜ラル・フロリダ(Mukho
padhyay  of  the  Univers
j、t、y  of  CentralFlnrid+
1)によって提案さ扛ており、この構造は、!1j、−
形式のセルで構成されたパイプラインを含んでいる。(
1983年パン・ノストランド・レインホールド(Va
n No5trand Re1nhoTd)、ラビット
・ジー(Rabb、i t、、 D) (編集者)によ
るrVI、S I 1.、l−おけるハードウェア及び
ソフトウェアの41!念(Ha rdware and
 software Concept in Vl、S
T)の第4章、第72−94頁に掲載されたマクホパデ
ィヒア・エイ(Hukhopadhyay A、)のr
VLsIハードウェア・アルゴリズム(VLSI Ha
rdware Algorjthms)Jを参照された
い。)このシステムにおいては、パターンがパイプライ
ンの一端がらロードされ、サーチされるべきテキス1〜
データがその反対端からロードされる。このシステムは
、固定長さ及び可変長さの「ドント・ケア」文字を許容
することができる。 これら及び他の提案されたシステムは、高い速度におい
て種々の「ドント・ケア」能力でパターンの一致を行な
うが、これらは、完全なデータサーチシステムを表わす
ものではない。例えば、これらのシステムは、プール関
数や、複雑な近似関数を解いたり、おおよその一致を処
理したりすることができない。従って、このような装置
で構成されたシステムは、特定のサーチ質問に特殊なハ
ードウェアを使用できるがどうかによって、予測のでき
ない応答時間を有することになる。これは、多くの場合
、一般のソフトウェア解決策に直面した同じ問題である
。 発明が解決しようとする問題点 本発明に対してまだ公知のものとなっていない1984
年6月29日出願の「高速サーチプロセッサ(A Fa
st 5earch Processor)Jと題する
米国特許出願箱626,432号の一部継続出願である
1985年4月24日出願の同じ名称の米国特許出願箱
726,457号は、公知技術に関連した問題の解決策
について著しく進歩した段階を表わしている。然し乍ら
、これらの関連特許出願に開示されたシステムは、或る
重要な点に関して制約がある。特に、早期のシステムは
、サーチされているテキストにおいて或る限定された数
のミススペルしか処理できず、テキストにおける文字の
欠落や余H1な文字を処理することはできない。 このように文字の欠落や余計な文字を処理できないと、
テキストサーチにおいて僅かなミススペルのあるサーチ
パターンすら見落としてしまう。 上記の関連特許出願に開示されたシステムにはまだ改良
の余地が残されていることが明らかである。サーチプロ
セッサは、理想的には、たとえテキス1〜が或る限定さ
れた数の余計な文字や文字の欠落やミススペルを含んで
いても、サーチパターンを正しい文字数で認識できなけ
ればならない。 本発明は、この目的に向けられるもので、多数の異なっ
たサーチ機能を実行することのできる高速テキストサー
チシステムを提供する。 問題点を解決するための手段 本発明は、種々様々なサーチ機能を実行することができ
、文字の欠落や余計な文字を含むサーチパターンを認識
することができる高速サーチプロセッサ及びこれに用い
るための関連した方法に関する。本発明の別の重要な特
徴は、セグメントと称する領域においてテキストの流れ
を探索することができ、このセグメントは、例えば、セ
ンテンスでもよいし、テキストのページでもよいし、或
いは、選択された数の連続する文字又はワードでもよい
。センテンス及びページは、「固定」セグメント即ち窓
の例である。サーチは、センテンスのようなセグメント
内で見出さねばならないパターンの色々な組み合わせを
指定することができる。サーチにより互いに隣接する2
00個の文字内に配置されるべきパターンの組み合わせ
を指定する場合、これは、「スライディング」セグメン
ト即ち窓を用いたサーチの一例となる。 本発明のサーチプロセッサは、指定されたセグメント内
で「計数一致」機能を実行することができる。この計数
一致とは、或るテキストセグメント内に或るパターンが
発生する回数が指定の数より大きいかそれより小さいか
或いはそれに等しい場合だけサーチプロセッサが一致を
報告するように指定するサーチ状態として定められる。 又、サーチプロセッサは、[計数サブセット」機能を実
行することもできる。この機能は、サーチパターンのセ
ット又はリストから選択された種々のパターンが指定の
回数だけ生じた場合に一致が報告されることを意味する
。例えば、サーチは、指定のセグメント内にある1組の
3つのサーチ項raJ、rbJ及びrCJのうちの少な
くとも232一 つを探索するか、或いは、「少なくとも3つの1a′」
、「少なくとも4つの′bI」及び「せいぜい1つの′
C′」より或る組から2つの項を探索するように定める
ことができる。サーチ項としてプール式を含ませたり、
他の計数サブセットのサーチ項内に更に計数サブセット
をネスト構成にしたりすることにより、サーチの複雑さ
が更に増すことになる。以下の詳細な説明から明らかな
ように、本発明のサーチプロセッサは、テキストパター
ンを最も簡単なものから最も複雑なものまで非常に速い
速度でサーチすることのできる非常に強力な手段である
。 サーチプロセッサに使用されるハードウェアは、複数の
直列に接続されたセルを具備し、各セルは、サーチされ
るべきパターンの部分を記憶するためのパターンレジス
タと、サーチされるべきデータ流の文字を記憶するため
の文字レジスタと、文字レジスタ及びパターンレジスタ
の内容を比較するための比較手段とを含んでいる。これ
らセルの文字レジスタは、文字ラインを形成するように
直列に接続される。 又、各セルは、パターンレジスタと文字レジスタとの一
致を表わす量を記憶するための一致レジスタも含んでお
り、この一致レジスタは、セルからセルへと接続されて
一致ラインを形成する。 本発明の1つの特徴によれば、一致論理は、サーチされ
ているテキスト流における文字の欠落及び余計な文字を
検出するための手段を備えている。 又、各セルは、システムの作動中に導出された一致デー
タを累積するためのアキュムレータレジスタと、或る形
式のサーチ機能に使用されるカウンタと、種々のサーチ
機能に使用される複数の他のレジスタとを備えているの
が好ましい。全てのセルの構造は同一であり、同様のレ
ジスタが直列ス1へリングに接続される。 −・般的に述べると、本発明のサーチプロセッサは、直
列に接続された複数の比較セルにサーチパターンを記憶
するための手段と、これらの比較セルにテキスト流を通
す手段と、テキスト流とサーチパターンとの厳密な一致
を検出する手段とを備えている。又、このブU1セッサ
は、テキスト流内 検出する手段も含み、このおおよその一致とは、テキス
ト流に不正確な文字及び余計な文字が存在したりテキス
ト流から文字が欠落していたりすることを或る限定され
た予め選択された程度まで含んでいるのが好ましい。更
に、プロセッサは、厳密な一致及びおおよその一致を表
わす一致信号を発生する手段も備えており、これらは、
テキスト流と同期して直列接続されたセルから出力され
る。 特に、本発明の1つの特徴によれば、プロセッサは、更
に、セルを接続する付加的なラインにおける第1のサー
チ項に関連した第1の一致結果を記憶する手段と、第2
のサーチ項に関連した第2の一致結果を発生する手段と
、第1及び第2の一致結果を直列接続のセルから出力す
るために論理的に組み合わせる手段とを備えている。又
、プロセッサは、第1及び第2のサーチ項とネス1〜構
成で論理的に絹み合わされる付加的なサーチ項に関連し
た付加的な一致結果を発生する手段も備え=35− ている。 又、本発明のプロセッサは、テキスト流内の計数状態を
サーチするために、選択されたサーチ項の発生回数をカ
ウントする手段も備えている。 固定窓のサーチの場合、プロセッサは、更に、テキスト
流内の予め定められたテキストセグメントの境界を検出
する手段と、1つのテキストセグメン1〜の固定窓内で
のみサーチ機能を実行できるようにする手段とを備えて
いる。 スライド窓内でサーチを実行する本発明の別の特徴によ
れば、本発明のプロセッサは、テキスト流内の予め定め
られたテキストセグメントの境界を検出する手段と、セ
グメントの数をカウントして指定数のテキストセグメン
1〜内にサーチ項が現われたかどうか判断する手段と、
指定数のテキス)−セグメン1へ内に指定のサーチ項が
或る組み合わせで現オ〕れた時だけ一致信号を発生する
手段とを備えている。又、プロセッサは、セグメントの
境界から導出された信号と一致信号とのアンドをとるこ
とにより発生される一致信号の数を減少する手段も備え
ている。 指定のサーチパターンに対しテキストの流れをサーチす
る本発明の新規な方法は、直列に接続された複数の比較
セルにサーチパターンを記憶し、これらの比較セルにテ
キスト流を通し、テキスト流とサーチパターンとの厳密
な一致を検出し、テキスト流とサーチパターンとのおお
よその一致を選択的に検出し、このおおよその一致とは
、テキスト流に不正確な文字や余計な文字が存在したり
テキスト流から文字が欠落したりすることを或る限定さ
れた予め選択された程度まで含んでいるのが好ましくそ
して厳密な一致及びおおよその一致を表わす一致信号を
発生して、直列に接続されたセルからテキスト流と同期
して出力するという各段階を具備する。 更に、本発明の方法は、セルを接続する付加的なライン
における第1のサーチ項に関連した第1の一致結果を記
憶し、第2のサーチ項に関連した第2の一致結果を発生
し、そして直列接続されたセルから出力するように第1
及び第2の一致結果を論理的に組み合わせるという段階
を具備している。更に、上記方法は、第1及び第2のサ
ーチ項とネスト構成で論理的に組み合わされる付加的な
サーチ項に関連した付加的な一致結果を発生する段階を
含んでいるのが好ましい。 或る形式のサーチの場合、上記方法は、テキスト流内の
計数状態をサーチするために、選択されたサーチ項の発
生回数をカウントする段階も具備している。 予め定められたテキストセグメントの固定の窓内でサー
チを行なう場合には、」―配力法は、テキスト流内の予
め定められたテキストセグメントの境界を検出しそして
1つのテキストセグメントの固定の窓内においてのみサ
ーチ機能を実行できるようにする段階を含んでいる。テ
キストのスライドセグメント内でサーチを行なう場合、
上記の方法は、テキスト流内の予め定められたテキスト
セグメントの境界を検出し、セグメントの数を力ランi
〜して指定数のテキストセグメント内にサーチ項が現わ
れたかどうか判断し、指定数のテキストセグメント内に
指定のサーチ項が或る組み合わせで現われた時だけ一致
信号を発生するという段階を具備している。本発明のこ
の特徴は、セグメントの境界から導出された信号と一致
信号とのアンドをとることにより発生される一致信号の
数を減少することを含む。 本発明の別の特徴は、各セルのカウンタの限定された長
さを任意の大きさのカウンタまで効果的に拡張するよう
にセルをプログラムできることにある。本発明のここに
示す実施例においては、各セルのカウンタの長さが8ビ
ツトに限定されるが、例えば、32ビツトという大きな
サイズのカウンタを構成するように隣接するセルを使用
することができる。このようにして、各セルのカウンタ
のサイズが小、さいことにより、多数の文字、ワード又
はセンテンスのカウントの追跡を含む種々のサーチを実
行するというプロセッサの能力が限定されることはない
。 本発明の更に別の特徴は、プロセッサから結果を収集す
ることに関する。プロセッサは、テキストが直列形態で
これを通ることを必要とし、一致指示信号は、テキスト
と同期してプロセッサから出力され、文字ラインと平行
なうインに送り出される。多数のサーチ質問は、プロセ
ッサを通る付加的なラインに多数のサーチ結果を送り出
すことによって処理することができる。然し乍ら、この
ようにして処理できる質問の数は、プロセッサセルによ
って与えられるラインの数によって限定される。本発明
のこの特徴によれば、一致信号は、結果収集手段に収集
され、この結果収集手段は、本発明の好ましい実施例で
は、一致信号がセルのパイプラインの結果タップから送
り込まれる結果パイプラインの形態をとる。この結果パ
イプラインは、セルのパイプラインに記憶された数千の
個別のサーチ質問といった多数の一致信号を処理するこ
とができ、そして多数の結果の発生時間がおそらく重畳
することにより多数の結果が失われないようにするため
に衝突回避手段を備えている。 以」二の説明から、本発明は、特殊目的のサーチプロセ
ッサの分野に著しい進歩をもたらすことが明らかであろ
う。特に、本発明は、rめ定められたサーチパターンに
対し、不正桶な7字や文字の脱落や余計な文字を有する
直列なテキスト流をサーチする非常に効果的な解決策を
提供する1、更に、本発明のプロセッサは、固定の窓又
はスライド窓内で、サーチ項の種々のプール式を含むパ
ターン項の計数サーチ及びそのサブセットのサーチを実
行することができる。サーチ機能は、種々様々な方法で
組み合わせることもできるし、多数のレベルのネスト構
成とすることもできる。更に、本発明は、テキスト流を
一回通す間に多数のサーチを行なえるようにサーチ結果
を収集する手段を提供する。本発明の他の特徴及び効果
は、添付図面を参照した以下の詳細な説明から明らかと
なろう。 実施例 説明のための添付図面に示されたように、本発明は、デ
ータバスからのごときデータの流れをサーチするための
特殊目的のプロセッサに関する。 理想的には、高速のサーチプロセッサは、種々様々な形
式のテギス1−質問を処理できねばならないと1(に、
これらの質問を迅速に処理し、然も好ましくは多数の質
問を同時に処理できねばならない。 本発明のプロセッサがこれらの要求及び他の要求にいか
に合致するかは、以下で説明する。 −Fめの定義として、「サーチパターン」とは、テキス
ト流と合致もしくは比較されるべき文字の絹み合わせを
意味することに注意されたい。「サーチ類」とは、特定
のサーチ質問の論理エレメントを形成するサーチパター
ンの部分である。サーチ類は、ワードのような文字のス
1〜リングであってもよいし、これらストリングのプー
ル組み合わせや、これらス1−リングの所望の発生回数
を示す計数を伴う複雑な式であってもよい。又、サーチ
類は、多数のネストレベルを有する構成で他のサーチ類
ど組み合わされる。 概要 第1図に示すように、本発明が用いられる環境は、参照
番号1で示されたホストコンピュータシステムを備えて
いる。このホス1−システム1は、データソース2と、
ホスI−ブI−Iセノリ層ミと、結果メモリ4とを備え
ており、適当な細部構造を有することができる。典型的
に、データソース2は、高速磁気ディスク記憶システム
であり、ボスI−プロセッサ3は、一般の汎用プロセッ
サであり、メモリ4は、一般のランダムアクセスメモリ
である。 参照番号5で示された本発明の高速サーチプロセッサは
、データソース2からライン8を経てデータを受け取り
、ライン9に経て出力バッファ10へ結果を送信し、そ
こかり)低速ライン11を経て結果メモリ4へ送り込む
。サーチプロセッサ5は、ホストプロセッサ3からライ
ン12を経て受け取られる信号により初期化モード及び
サーチモードで作動するように制御される。 初期化モードにおいては、サーチされるべきパターンの
値及びサーチの実行を制御するフラグの値がライン12
を経てサーチプロセッサ5にロードされる。特に、パタ
ーンレジスタ、マスクレジスタ、裕度レジスタ及び多数
のプログラム可能なフラグの値が初期化モード中に各セ
ルにロードさ、fする。これらのレジスタ及びフラグは
、以下で説明する。 次いで、サーチモードにおいては、プロセッサは、ライ
ン8を経て高い速度で送られるデータ流をサーチし、同
じ高い速度でライン9を経て出カバソファ10へ一致結
果を送信する。サーチプロセッサ5の設H1−1−の目
標は、データソース2のアクセス速度に匹敵する速度で
データ流をサーチできるようにすることである。従って
、複雑でRつコス1〜の高いインデックス機構を使用せ
ずに、大きなデータベースを適度な時間で直列にサーチ
することができる。 本発明の好ましい実施例によるサーチプロセッサは、多
数の同じセルを備えており、その3つが第2図に20−
22で示されている。各セルの構造は以下で詳細に説明
するが、説明を始めるに当たり、各セルが文字ラインC
(8)と一致ラインM(3)とを含んでいることのみに
注目されたい。括弧内の数字はそのラインのビット数を
表わし、文字ラインは8ビツトを有し、一致ラインは=
44− 3ピッ1−を有する6又、相互接続されたセルは、アキ
ュムレータラインAと、ダイナミックリセットラインF
と、ロードラインLと、増加ライン■と、減少ラインD
と、一般的にTnで示された12本の汎用ラインとを有
している。それ故、8本の文字ライン、3本の一致ライ
ン、12本の汎用ライン及び5本の他のラインを含む全
部で28本のラインがセルとセルとを接続している。 セルを接続している各ラインには、各セルごとに少なく
とも1つのレジスタが組み合わされている。各セルへの
入力信号は、文字jを付けて示されており、各セルから
の出力信号は、文字0を付けて示されている。例えば、
アキュムレータラインの入力信号はAiであり、アキュ
ムレータラインの出力信号はAoである。以下で述べる
ように、幾つかのラインには各セルごとに第2のレジス
タが組み合わされている。例えば、一致ラインは、直列
に接続された一致レジスタ及び一致遅延レジスタを有し
ている。一致遅延レジスタの目的は、次に述べる簡単な
サート例から明らかとなろう。 データソース2からライン8を経て受け取ったサーチさ
れるデータベースからの次々の文字は、文字ラインCに
沿ってセルからセルへと伝播される。一致ラインMは、
プロセッサにおいて一致結果が発生されてセルからセル
へ伝播されるラインである。一致ラインは、非ゼロ値の
存在によって一致を指示する。一致ラインにゼロが現わ
れた場合には、非一致を表わす。It純な2進一致値又
は非一致値を搬送するのではなく、一致ラインがより一
般的な意味で使用されて、一致の程度、即ち、サーチパ
ターンとサーチされているテキストとの非一致文字の数
を表わす多値の一致値が搬送される。この一致値は、選
択されたセル、通常は、サーチパターンの第1のセルに
おいて、1と7との間の数値に初期化される。この数値
は、テキスト流において許容できる最大エラー数よりも
1だけ大きい。エラーは、不正確な文字、文字の欠落、
又は余計な文字であり、これらは全て一致ライン」二の
値を1だけ減少させる。一致ラインの値がOまで減少し
た時には、サーチパターンと分析されているテキスト流
の部分との間に一致がないといえる。 セルの動作は、セルごとに同一である比較的簡単な論理
シーケンスに基づいている。各クロックサイクル及び各
セルにおいて、セルに現在含まれた文字が、初期化段階
中にセルに予め記憶されたパターン文字と比較される。 例えば、文字C−A−Tは、各々、セル20−22に記
憶されたパターン文字であると仮定する。文字CATが
入力データ流に現われる場合には、入ってくる文字Cが
第1セル20のパターンCと一致する。文字Cが第2セ
ル21に通された時には、これに続いて、第1セルにお
ける一致を表わす一致値が一致ラインMに現われる。よ
り詳細には、一致の指示は、一致文字に続く次のデータ
文字と同時に第2セルへ伝播する。C文字の一致に続く
2つのクロックサイクルの後に、入ってくるA文字が第
2セル21に挿入され、そのセルのパターン文字Aとの
一致が見出される。個々のセルの構造は、そのセルに一
致が見つかった場合に第1セル20から一致うインM]
に送り出される一致値が第2セル21に通されるような
構造とされる。同様に、入ってくるT文字が第3セル2
2に記憶されたパターンに合致すると分かった時には、
第3セルから一致ラインMに一致値が送り出される。こ
の例では、第3のセルがパターンの最後のセルであり、
以下で述べるように、一致ラインMからプロセッサを通
して他のラインの1つへ一致値を転送するように作用す
るプログラミングフラグを含んでいる。 典型的に、以下の例から明らかとなるように、一致ライ
ンからの一致結果を収集及び組み合わせるのに使用され
るのは、アキュムレータもしくはAラインである。セル
からセルへの一致値の伝播は、「簡単なサーチ機能」に
ついて以下で詳細に説明する。 図−1」片方」L列件号ノJl副吸 第4a図ないし第4f図には、各々それ自身の名称を有
する6種項の信号が示されている。 1、制御信号:これら信号は、trans、 dump
、jnitl、1njt2、jnit2x、jnit3
及びjnit4という信号を含んでいる。これらの信号
はプロセッサの全てのセルによって共有されるが、初期
化中及び本発明の部分を構成しない診断モードにおいて
のみ使用される。サーチの実行中には、これらの制御信
号がゼロにセットされる。 2、レジスタ:レジスタは、クロックパルスの立」ユリ
縁の時間にそれらの入力に送られる値をとる記憶装置で
ある。全てのレジスタは、クロックサイクル中に全部が
同時に新たな値をとるように同じクロック信号によって
制御される。これらのレジスタは、1文字又は2文字(
大文字)で名称が付けられている。これらは、データ路
レジスタM (3) 、A、■2、■、D、F、C(8
)及びT(12)と、カウンタK(8)と、遅延レジス
タD L、DA、DD、DM、IP及びDPとを含んで
いる。 3、入力信号:これらは、プロセッサを構成するセルの
パイプラインにおいて手前のセルの対応出力から供給さ
れるセルへのデータ路入力である。信号名は、対応する
レジスタ名の後に小文字のjを付けたもので構成される
。 4、出力信号:各データ入力信号は、小文字の0を後に
伴う対応する出力信号を有し、これは、パイプラインの
次のセルの対応入力に接続される。 5、制御フラグ:これらは、初期化段階中にのみ新たな
値をとるレジスタである。これらは、その後のサーチの
実行中に各セルの特性を決定するマイクロコード化プロ
グラムである。それらの名前は、2−)以−!二の大文
字で構成され、例えば、T’A’1”I” (8)、M
ASK (8) 、LEN (8)、MS (2)、O
8(3)、等々となる。制御フラグの完全なリストは、
以ドの「初期化」の部分に含ませる。 6、内部信号:他の全ての信号名は、内部信号と称する
。これらは、常に、小文字を含み、セル内の信号路を定
めて説明する目的以外は、特に意味がない。幾つかの内
部信号は、セル内の論理素子への入力として用いらオt
、即ち、それらの名前は、図面中の接続線をたどること
なく信号路を定めるのに使用される。 坦救」哩 比較論理が第4a図にボされており、ごれは、文字レジ
スタC(8)、パターンレジスタI)Δ′1゛T(8)
及びマスクレジスタMASK (8)を含んでいる。文
字レジスタは、入力及び出力文字ラインに接続され、セ
ルを通る現在のテキスト文字をδ己憶する。パターンレ
ジスタiま、プロセノ→すでサーチを開始する前にサー
チパターンの文字を記憶するのに使用される。マスクレ
ジスタは、サーチの前に初期化される別の8ビツトレジ
スタである。これは、文字レジスタとパターンレジスタ
との間で比較プロセスからビットを選択的にマスクする
のに使用される。例えば、マスクレジスタは、大文字を
小文字と区別するビット位置をマスクするようにセット
することができ、大文字であるか小文字であるかに拘り
なく比較論理によって一致を見出すことができる。 又、比較論理は、1組の8個の排他的オア(XOR)ゲ
ート26も備えており、これらは、反転出力を有すると
共に、文字レジスタ及びパターンレジスタからの入力を
受け取るように接続されている。各々のX、 ORゲー
ト26は、両方の入力が合致した時に出力「1」を発生
し、これら入力が合致しない場合は出力「0」を発生す
る。XORゲー1−26からの8つの出力は、1組の8
つのオアゲート28において、マスクレジスタの8つの
対応するビットとオアされる。それ故、マスクレジスタ
のピッ1−位置が「1」である場合は、対応するオアゲ
ート28から常に出力「1」が発生される。オアゲート
28の出力は、畦−のアントゲ−1〜29においてアン
ドされ、その出力は、文字がパターンに等しい場合、C
e q Pと示される合成一致信号となる。 一一致論−夙 一致論理回路が第4 b図に示されており、これは、本
発明のサーチプロセッサの動作に重要なものである。こ
の論理の殆どのハードウェアエレメントはここで説明す
るが、その機能については。 種々のサーチ動作を後で説明する時に紹介する。 =52− 一致論理回路は、ラインMiを経て入力データを受け取
る3ビツトの一致レジスタM (3)と、この一致レジ
スタからの種々の経路を経てデータを受け取ると共に出
カ一致ラインMoに出力データを供給する一致遅延レジ
スタDM (3)とを備えている。又、一致ラインに一
致値をロードするのに用いられる裕度レジスタTOL(
3)と、一致論理回路を通してデータを流すための多数
のマルチプレクサ(yl tJ X、 )も備えている
。一致論理回路及びセル回路図の他の領域に現われる2
人力マルチプレクサの各々は、入力「0」及び「1」と
示された2つのデータ入力と、これらのデータ入力のど
ちらがマルチプレクサからの1つの出力を送り込むかを
選択するための1つの制御入力とを有している。各マル
チプレクサに使用されている規定は、制御入力が論理「
1」の場合にデータ入力「]」が選択されそして制御入
力が論理「0」の場合にデータ人力「0」が選択される
というものである。 非常に多数の入力を有する他のマルチプレクサも種々の
論理図に現わ九でおり、2人力装置と同様に作動する。 例えば、4人力のM U Xは、4つの入力値の1つを
選択するために4つのデジタル値を有する2ビツト制御
ラインを備えている。 一致レジスタMからの出力は、MUX30の「O」入力
に接続され、これは、一致レジスタから得られた一致値
又は裕度レジスタTOL(3)から得られた新たな一致
値のいずれかを選択するのに用いられる。裕度レジスタ
は、アンドゲート32を通してMUX30の「1」入力
に接続され、アンドゲートの他方の入力は、4人力M 
U X、 34の出力から送られる。M T、J X 
34は、一致ラインが新たな一致値を受け取るかゼロを
受け取るかを判断するためのソースを選択する。考えら
れるソースは、論理「1」入力であり、これが選択され
た場合には、新たな裕度、以下に述べるAレジスタの状
態、M、即ち一致レジスタMに記憶された値がゼロ(M
gt、O)より大きい状態、或いは、汎用ライン(Tn
)の1つの状態を常にロードする。プログラム可能なM
ソースフラグMS (2)は、裕度レジスタ又はゼロの
いずれを一致ラインにロードするかをどちらの状態で判
断するかの選択を制御する。 M U X、 30は、アンドゲート36を通してMU
Xの制御入力に送られるロード裕度信号LTによって制
御され、アンドゲートの他方の入力は、通常「1」の信
号である。それ故、殆どの場合にそうであるようにL 
T信号が論理「0」である時には、Mレジスタの値がM
UX30を経てその出力ラインに送信され、該ライン上
の値はMwで示される。このMwラインは2つの経路に
分割され、その一方は、別のMUX38の「1」入力に
直結され、その他方は減少回路40を通り、その後の信
号がMwml(Mwマイナス1)で示されている。減少
回路は、入力値がゼロでない限り人力値より1だけ小さ
い値を形成し、入力値がゼロの場合には、ゼロが形成さ
れる。この信号はアンドゲート42を通過しくその目的
は以下で述べる)、ここから信号MyとしてMUX38
のrOJ入力に送られる。 MTJX38は、プロセッサの最も重要な機能の1つ、
即ち、Mライン上の一致値を選択的に減少する機能を実
行する。このMUXのための制御ラインは、「比較論理
」の部分で第4a図を参照して述べるように、入ってく
るテキスト文字と記憶されたパターンとを比較すること
によって得られる一致信号から取り出される。第4a図
の比較論理回路は、CeqP (文字−等しい一パター
ン)と示された一致信号を発生し、この信号は、別のM
 TJ X 44 、排他的オア(X、OR)ゲート4
6及びオアゲート48を含む或る付加的な論理回路を経
てMUX38を制御するように供給される。MU X 
44は、CeqP信号か、CTと示された信号によって
制御される汎用ラインTnのいずれかから導出される別
の信号かを選択する。このMUX44の出力は、XOR
ゲート46に入力され、該ゲーl−の他方の入力は、I
C(反転−比較)と示された制御信号であり、これは、
反転すべき一致信号を感知できるようにする。更に、一
致信号はオアゲート48を経てMUX38を制御するよ
うに通される。基本的に、−13がある場合、即ち、−
数値が変化しない場合に、Mw入力が選択され、一致が
ない場合、即ち、減少された値が選択された場合に、M
y値が選択される。MTJX38の出力はMzと示され
ている。 Mz倍信号、別のMUX50 (その目的は、余計な文
字の検出に関するものである)の「1」入力に送られ、
信号Msとして出てきて、遅延レジスタDMに入力され
る。DMレジスタの出力は、文字の欠落の検出に用いら
れる別のMtJX52の「0」入力に送られ、信号Mt
として出される。 この信号は、或る場合に遅延レジスタの選択的なバイパ
スを制御するのに用いられる更に別のMUX54の「0
」入力として導入される。このMUX54の出力は、一
致ライン上に現われるMO倍信号ある。 新たな一致値がこのセルにロードされない簡単な場合に
は、一致論理回路は、クロックサイクルごとに新たな入
力値Miを一致レジスタに通し、一致レジスタMに既に
記憶されている値を一致遅延レジスタI)Mに通すよう
に作動し、該遅延レジスタの内容はMoとして出力され
る。一致論理回路の重要な機能は、セルに到着する文字
とセルに記憶されたパターンとの間に一致が検出さ九な
い場合に遅延レジスタに送られた一致値を減少すること
である。一致論理のこの予備的な説明で、第3図を参照
して述べる簡単なサーチを理解されたし1゜ 一簡−隼な」札ニチ機−熊 第38図ないし第3e図に示す特定の例についてサーチ
の機構を最も良く説明することができる。これらの図に
おいて、cl、C2及びC3と示された3つの連続する
セルは、入ってくるデータ流に対してサーチすべきパタ
ーンで初期化される(初期化段階中に)。この例では、
サーチパターンがCAT(猫)というワードである。セ
ルのパターンレジスタは、各々、文字C,A及びTを含
んでいる。第1のセル(C1セル)の裕度レジスタは、
所望の一致裕度で初期化される。この例では、これがr
 I Jと仮定され、完全な一致が所望されることを意
味する。他のセルの裕度レジスタは、使用されない。 初期化の後に、セルは次のような内容を有する。 C1,C2C3 パターン CA   T マ  ス  り    U      (I     
 U裕    度   1    0    0L  
T 1 0 0 (他のフラグは、全て、Oにヤツ1〜される。)マスク
フラグは、データに大文字が現われるか小文字が現われ
るかに拘りなく一致を強制するようにセットされた或る
ビットを有している。これは、文字Uで示されている。 文字Cが第1−セルC1に入力された場合には、一致が
見られ、−較値「1」が一致遅延レジスタDMに通され
る。この遅延レジスタの目的は、一致ラインに才?ける
一致値の伝播速度を文字ラインにおけるデータの伝播速
度と同期させることである6n個の文字のサーチパター
ンの場合には、デ一タ流内のD文字シー)1ンスがサー
チパターンを完全に通るために、20個のクロックパル
スが必要とされる。それ故、データ流の最後の文字が出
てきた時にプロセッサから一致結果を法えるためには、
一致ラインの値が文字クロック速度の半分の速度でライ
ンに沿って進むことが必要である。 各セル位置にある遅延レジスタは、このタイミングの相
違を加味する。遅延の必要性を考慮する別の方法は、2
つの隣接する文字が一致する間に生じなければならない
り[1ツクサイクルの数を考慮することである。第;3
図のライン(b)に示されたように、セルC1において
Cが一致した後、ライン(d)に示すように一致検出セ
ルC2についてAが整列される前に、2つのクロックサ
イクルが生じなければならない。 第3図のライン(a)においては、文字CAゴXがサー
チパターンに近づくものとして示されている。各セルの
2つの数は、各々1Mレジスタ及び一致遅延レジスタに
おける一致値を表わしている。これらは、最初に全てゼ
ロにされる。ライ−6〇− ン(1〕)では、文字Cが第1セルCIに進められ、「
1−」が裕度レジスタからMレジスタヘ挿入される。ラ
イン(c)では、文字Cが第2セルC2へ進められ、文
字Aが第1セルC1の場合ど同様に進められる。第1セ
ルC1においては手前のラインに一致が生じているので
、−較値「1」がこのセルの遅延レジスタに進ませられ
る。ライン(d)に示すように、次のクロックサイクル
においては、第1セルの遅延レジスタからの「1−」が
第2セルC2のMレジスタにシフトされ、ここで、デー
タ文字AがサーチパターンのAと整列される。次のサイ
クルでは、ライン(e)において、rIノが第2セルC
2の遅延レジスタに進められる。というのは、このセル
には既に一致があるからである。 次のサイクルにおいては、ライン(f)において。 「1」が第2セルC3のMレジスタに伝播され、ここで
は、文字Tが一致する。ライン(g)では、第3セルC
3に既に一致があるので、このセルの遅延レジスタに「
1」が移動される。最後にステップがライン(h)に示
されており、ここでは、−数値「1」が文字Xと共にサ
ーチパターンから出てくる。これは、データ流に位置し
たパターンを直ちにたどる。パターンの各法々のセルに
一致が検出された場合にのみ一致値がセルのサーチパタ
ーンにわたって伝播することが明らかであろう。 「1」より大きな一致値がサーチパターンの第1文字に
導入された場合には、データ流において1つ以」二のエ
ラーを許容することができる。例えば、−数値「3」が
使用された場合には、CATが「3」の結果を生じ、C
OTが「2」の結果を生じそしてCOPが「1」の結果
を生じる。エラーが1つあるごとに、−数値が「1」だ
け減少する。3文字パターンにおいて、−数値をゼロに
減少するためには3つの文字全部がエラーとならなけれ
ばならない。 文主件火亀反旦途11”な文字用 以」二に述べた一致回路は、裕度レジスタによってセッ
トされた範囲内でテキスト流の不正確な文字を許容でき
るが、文字の欠落や余計な文字があると、その後の文字
を認識できないことになる。 然し乍ら、本発明の一致論理回路は、テキスト流におけ
る文字の欠落及び余計な文字を検出する手段を備えてい
る。 文字の欠落や余H1な文字を処理する論理の基本的な考
え方は、一致がとられている現在の文字が正しい文字、
文字の欠落、余計な文字又は不正確な文字であることを
各々のセルが常時仮定して、各クロックサイクルにおけ
る「最良」の解釈、即ち、最も少ないエラーと最も高い
一致値を生じるような解釈を選択することである。 文字の欠落を処理するためには、セルは、−数値がテキ
スト流の次の文字と同時に次のセルに伝播されるように
遅延一致レジスタDMをバイパスすることが必要である
。然し乍ら、文字の欠落は一致エラーを生じるので、−
数値が減少される。 第3b図は、これを示している。パターンは、CATで
あり、これは、1つのエラーを許容するもので、即ち、
許容値は2である。入ってくるテキストはCTXであり
、ここで、Xは所望のパターンに続く文字であり、文字
Aが欠落している。文=63− 字Cは、第3a図の場合のようにステップ(b)におい
て一致し、その後は、ステップ(Q)において次のセル
に組み込まれるべき次の文字に対し遅延レジスタDMに
2の一致値が残される。然し乍ら、この例では、次の文
字がAではなくてTである。Tは一致せず、Mが通常減
少されて、DMにセーブされ、一方、Tはタイミングを
合わせてTセルに入れられ、Mラインにゼロが現われ、
一致の連鎖が失われる。然し乍ら、欠落/余計な文字の
論理においては、AセルがAが欠落していると仮定し、
従って、−数値M−1、即ち、2−2=1と共にテキス
ト文字Tをタイミングを合わせてTセルに入れ、DMレ
ジスタをバイパスさせる。 DMは前記したように依然として1であることに注意さ
れたい。然し乍ら、この連鎖は、2ステツプ後に、即ち
、ステップ(g)において終わるが、テキス1〜のTが
ステップ(e)においてTセルに一致するので、文字欠
落の連鎖は生き続ける。 テキストに含まれた余計な文字を処理するためには、プ
ロセッサは、−数値を「捕獲」する時−開− まで次のパターン文字を与えるように、1つの余計なサ
イクルの間、DM値を保持しなければならない。然し乍
ら、DMに保持された一致値は、余計な文字が一致エラ
ーを生じるので減少される。 第3C図は、余計な文字の処理の一例を示すもので、こ
こでは、パターンが1つまでのエラーを含むCATSで
あり、入ってくるテキストがCATX、TSである。通
常、このテキストは、セルに記憶されたパターンに一致
しない。というのは、余計な文字Xがサーチ連鎖を開始
させるからである。 然し乍ら、欠落/余計な文字の論理では、DMの値が1
つの余計なサイクル中Aセルに保持され、Tが連鎖を捕
獲できるようにする。従って、前記したように、Cがス
テップ(b)においてセルCに一致し、ステップ(d)
においてAがAセルに送り込まれる間、DMに2が残さ
れる。Aも一致し、次の文字がTセルに送り込まれる間
、DMに2が残される。ステップ(f)においては、次
の文字がTではなくてXである。このXは、通常、Aセ
ルのDM値から2の値を搬送し、その後、0の値を残す
。然し乍ら、欠落/全組な文字の論理が作動可能にされ
た状態では、DMの2の値が1サイクル中保持され、ス
テップ(−f )において1に減少される。ここでは、
Xの後の次の文字によって111び連鎖が取り−にけら
れることが予想される。 実際には、次の文字は所望の文字゛rであり、これは、
サイクル(g)においてDMから゛I゛セルへ値1を搬
送し、連鎖を再開させる。]゛が一致し、ステップ(T
T)においてDMに1が残される。次いで、Sがこれを
Sセルに搬送し、ステップ(j)において一致が生じる
。この−数値は、ステップ(k)において次の文字によ
りパターンから取り出され、一致結果を生じる。 最初の印象として、一致がとられている現在の文字が欠
落であるか余計な文字であるか不正確な文字であるか正
確な文字であるかを各セルにおいて判断することは困難
であると思われる。その解決策は、全ての可能性を同時
に与え、次いで、最も高い一致値を生じる結果を選択す
るような論理を形成することである。従って、所与のサ
イクルにおけるDMの次の値は、92字が一致する場合
ばMから導出することができ、文字が−j文しない場合
はM−1から導出することができ、或いは、最後の文字
が金言1な文字であると分かった場合にはD M −,
1から導出することができる。次いで、DMは、l)M
−1とM−にの大きい方にセラ1〜され、kは、一致が
ない場合は1であり、さもなくば0である。同様に、セ
ルからの出力−数値MOは、文字の欠落や余計な文字を
含むことなくパターンが一致する場合にはDMであるし
、現在セルの文字が欠落する場合にはM−1であろ4.
この場合も、Moは、DMとM−1の大きい方にセット
される。これは、第4b図の一致論理回路において比較
器62とMUX52とによって行なわれる。 一般に、テキストの厳密に一致する連鎖の場合には、2
e+1の連続した一致が生じる。但し、eは、許容され
るエラーの数であり、これは、一致ラインMに最初に出
される裕度レジスタの値より1だけ小さい。例えば、第
3e図において、パターンは、エラーを1つまで含むC
ATである。 6フー テキストにCA T Xが現われた時は、3つの一致が
形成される。第1の一致は、Aに続いて形成される。と
いうのは、CAは、CA Tの1つの文字が欠落したも
のだからである。もちろん、厳密な一致CATの後にも
一致が形成される。次いで、Xの後に第3の一致が形成
される。というのは、CAT Xば、CA Tに1つの
余計な文字が付いたものだからである。 完全を期すため、第3d図は、テキストCQ′r、即ち
、不正確な文字において1つまでのエラーでパターンC
A、 Tが一致する場合を示している。 図から明らかなように、欠落及び余計な文字の連鎖は、
ストリングの終了によって消滅し、Tに続いて1つの一
致が形成される。 欠落/余if’ (M E )の制御フラグは、各セル
によ?いて欠落/余3すな文字の論理を作動可能にする
。このフラグがゼロ即ちオフである時には、セルは、文
字の欠落も余計な文字も許容せず、あたかも論理が存在
しないかのように機能する。 文字欠落の機能を実行する一致論理回路は、MTJX6
0のroJ入力に至る信号M、y(M少された一致値)
のフィードホワード経路を備えている。M tJ X 
60の「】」入力は、Mw倍信号減少されないM値)か
ら導出され、MUXのための制御信号は、HYPと示さ
れたフラグであり、これは、以下で述べるハイフンで結
んだ特殊な機能に用いられる。通常、フラグHY Pは
ゼロであり、MUXを通る送信に対してrOJ入力が選
択され、このMUXの出力はMrで示され、MUXの「
1」入力として接続される。信号Mrは、遅延レジスタ
をバイパスするフィードホワード信号であって、これは
、減少回路40によって減少されている。 MUX52に送られる制御信号は、Mrの値と、遅延レ
ジスタDMの値とに基づいてどの入力を選択するかを決
定する。比較器62は、Mr及びDMの値を入力として
受け取り、MrがDMより大きいかどうかを示す2送信
号MrgtDMを出力として発生する。この信号は、ア
ントゲ−1・64において、MEと示されたフラグとア
ンドされ、このフラグは、欠落/余計な文字の論理回路
を作動可能にするために「1」にセットされる。Mrが
DM値より大きい場合には、MUX52のrlJ入力が
選択され、バイパス路を経て一致値が出力ラインMOに
供給される。 余計な文字の処理を実行する一致論理の要素は、更に別
のMUX、66を備えており、該M U Xは、遅延レ
ジスタの出力から直接供給される「1」入力と、同じソ
ースから減少回路68を経て供給される「0」出力とを
有している。Muと示されたこのM U Xの出力は、
M U X、 50のrOJ入力に接続される。このM
UXの制御回路は、比較器70と、オアゲート72と、
別のMUX74とを備えている。比較器70は、遅延レ
ジスタへの通常の入力Mzが遅延レジスタの出力からフ
ィードバックされる一致値Muより大きい場合にのみ論
理「1」出力を発生する。この信号は、MEフラグの逆
数とオアされる。前記したように、MEフラグは、欠落
/余計な文字の論理回路を作動可能にするように「1」
にセットされる。それ故、MEがゼロの場合には、オア
ゲート72の出力が「1」であり、この値は、MTJX
74を通してMU X、 50の「1」入力を選択し、
余計な文字のフィードバック路が無視される。M Eが
rlJの場合には、選択されるべきMUX50の同じ入
力に対し、MzがMuより大きくなければならない。 M u 7!l< M zに等しいか又はそれより大き
い場合には、Muの値を搬送するフィードバック路が入
力として選択される。 Glt(7)プログラム可能なフラグ [そこになければならない(must−be−ther
e) Jを意味するMBTフラグは、パターン文字がテ
キスト流の予想位置に存在しない場合に、セルに含まれ
た一致値を単に減少するのではなく、−数値を強制的に
ゼロにするために用いられる。 PASS7ラグは、MラインがMUX54を用いて見掛
は上透過的であるようにするために用いられる。出力信
号Moは、遅延レジスタDMから導出されるのではなく
、Mの値にセットされる。 CTフラグ(Tにおける文字の一致)は、MUX44に
おいて比較論理回路をバイパスできるようにする。CT
がオン(1)である時には、一致論理回路がTnを見て
、一致があるかどうかを判断する。従って、複雑なパタ
ーンを一致させ、それにより生じる一致値をTラインに
セーブし、これを後で他のパターンに繰返し使用するよ
うに検索することはできるが、1回の使用につき1つの
セルしか使用できない。これは、非アルファベット文字
を経済的に一致させるのに特に有用である。というのは
、一般的な用途においては、非アルファベット文字との
始めと終りの境界を見出すことが所望されるからである
。CTフラグを用いると、この形式のサーチに必要なセ
ルの数が相当に減少される。 HYPフラグは、プロセッサの特殊なハイフォン処理機
能を行なうのに使用できる。典型的に、テキスト内のワ
ードは、ハイフォン文字と、これに続く多数のスペース
と、新たな行又は新たな頁の文字によって中断される。 ハイフォンで結ばれたワードは、特殊な処理を行なわな
いと検出することが困難である。というのは、ハイフォ
ンで結=72− ばれた考えられる全ての代替物を含む質問を構成しなけ
ればならないからである。HYP機能セルは、ハイフォ
ンが生じるワード内の各点に挿入される。通常、HYP
セルは、Mの一致値をMOに通し、透過的なセルとして
働くに過ぎない。これは、MUX60によって行なわれ
る。パターンレジスタは、ハイフォン文字、典型的に「
−」にセットされるが、おそらく他の文字にセットされ
てもよい。Tnは、ハイフォンに続く「ホワイトスペー
ス」文字、例えば、「スペース」、「タブ」、「新しい
行」又は「新しい頁」に一致するように予めセットされ
る。ハイフォン文字が一致した時には、Tnからの値が
1である限り、即ち、ハイフォンに続いてホワイトスペ
ースのみが存在する限り、DMをその現在値に保持する
ようなモードにセルが入る。非ホワイトスペース文字が
到着する時には、DMが減少される。、これは、M T
、J X 66によって達成される。その作用は、ワー
ドを中断しているハイフォンを橋絡し、欠落/余計なデ
ータをそのまへに保つことである。 γ−キ」−ム レーニーター論ノ1 アキュムレータ、即ち、Aラインは、サーチ結果を種々
の方法で合成するのに用いられる。第4(3図に示す、
Lうに、アキュムレータ論理回路は、1ビツトのアキュ
ムレータレジスタ八と、このAレジスタの値と合成する
オペランドを選択するための8人力のM U X 80
と、Aレジスタの内容及び選択されたオペランドに基づ
いて実行すべき論理機能を定める4人力のM tJ X
、 82とを備えている。又、Aレジスタに記憶された
前の値を含む遅延アキュムレータレジスタDAも設けら
れている。 MtJX80は、オペランドを選択するために03(3
)と示された3ビツトフラグによって制御される。基本
的に、アキュムレータ論理回路は、選択されたオペラン
ドと、Aラインを経て入ってくる値とに基づいて選択さ
れた論理機能を実行することができる。選択について利
用できるオペランドは、一致レジスタが0より大きいこ
とを示す(Mgto)信号と、セル内のカウンタKから
導出されろ2つの信号と、選択された記憶ラインT+I
の状態を表わす信号と、カウンタにの術1.げを表わす
借りと、遅延アキコ11レータ1)八から導出された信
号と、比較論理回路から導出された一致イa号(: e
qpとを含む。 選択されたオペランド及びAレジスタの信号は、2ピツ
1〜の制御信号として、MUX82に供給される。MU
Xへのデータ入力は、アキュムレータ機能のためのAF
と示された4つの2進信号である。このA F信号は、
2つの制御信号入力しこ基づいて実行すべき論理機能を
定める。実際に、AF倍信号、2つの制御信号入力に基
づulて所望の機能を実行する結果の真理値表を構成す
る。これは、簡星な例から明らかである。 Aレジスタの内容と、一致ラインがゼロより大きい状態
から導出された信号とを論理的にアンドすることが所望
されると仮定する6OSフラグは、M U X、 80
へのMgtO入力を選択し、所望のオペランドを選択す
るようにセットされる。所望のアンド機能のための真理
値表は、関数へとオペランドとをアンドしたものが、A
及びオペランフ5− ドの両方が「1」である時を除く全ての場合に「0」と
なるようなものである。従って、AF大入力送られる値
は、OO0,1となる。MtJX82からの出力、即ち
、Ao倍信号、入力(A及びオペランド)が「00」、
「01」及び[10」である時に「0」となるが、入力
が「11」である時には「1」となる。Aレジスタと選
択されたオペランドとの他の論理的な組み合わせは、へ
関数信号AFを適当に選択することによって形成するこ
とができる。このようにして、Aラインは、Mライン及
び他のラインからの結果と、現在の一致信号、カウンタ
の状態を示す信号、カウンタからの桁I−げ信号及び遅
延されたA信号DAからの結果を絹み合わせるのに使用
することができる。 遅延アキュムレータレジスタDAは、参照番+384に
よってのみ一般的に示された論理回路を通してロードさ
れ、その目的は初期化手順に関するものである。2つの
アンドゲート86は、Aレジスタ及びD Aレジスタの
両方から入力を受け取るように接続され、2つの出力信
号を発生するために、その一方は、Aレジスタが「0」
から「1」に移行する時を指示し、そしてその他方は、
Δレジスタが「1」から「0」に移行する時を111示
する。これらの信号は、サブセットサーチにつし1て述
べる増加及び減少回路に使用される。 表り之ター論1 第4d図に示されたように、カウンタ論理回路は、各セ
ルのカウンタK(8)の動作を制御するのに使用される
。基本的に、とのカウンタには、カウンタロードソース
(cr、s)フラグによって選択された2進信号が値「
1」である時に、長さレジスタLENに記憶された値が
ロードされる。 更に、このカウンタは、DECによって指示された減少
ソースの状態に基づいて増加又は減少される。このカウ
ンタに記憶された現在の値は、セルにおいて行なわれる
種々の判断を調整するのに利用できる。 より詳細には、カウンタのロード動作は、8つの入力か
らロードソースを選択するために3ビツトの制御信号C
LSを有する8人力のM、 U X 9Oによって制御
される。カウンタのロード動作を開始させるための考え
られる状態は、一致レジスタがゼロより大きい(Mgt
O)状態、■、ラインが「1」の状態、Aラインが「1
」の状態、選択された汎用ラインTnに「1」が現われ
る状態、及び他の信号の組み合わせから3つの合成ロー
ド信号が導出される状態である。いかなる状態のもとで
もカウンタのロード動作を防ぐためには、MtJ X、
 90への入力として論理「0」が選択される。 カウンタを増加又は減少するための状態の選択は、DE
Cと示された3ビット信号の制御のもとでM U X、
 96を用いて同様に実行される。カウンタKを制御す
るのに用いられるあり得べき状態は、Aラインが「1」
であり、一致ラインがゼロより大きく、選択された汎用
ラインTnに「1」が現われ、Lラインに「1」が現わ
れ、或いは、Dラインに「1」が現われる状態である。 カウンタを変更するか又はその変更を阻止するために、
各々、入力として固定の「1」又は固定のrOJが選択
される。 8つのカウンタビットは、KがOに等しい状態、1又は
−1に等しい状態、0より小さい状態、0に等しいか又
はそれより小さい状態、等々の種々の状態を表わす信号
を形成するように論理的に合成される。これらの状態は
、他の信号と組み合わされて、信号KPeqO及びKP
lt;Oが形成される。これらの信号は、「Kプライム
がゼロに等しい」状態及び「Kプライムがゼロより小さ
い」状態を意味し、ここで、Kプライムは、カウンタが
その次のクロックサイクルの際にとる状態である。 増動12文で一滅夕1月 第4e図に示すこの論理回路は、プロセッサのエライン
及びDラインの状態を制御するのに使用される。入力信
号Tj及びDiは■及びDラインを経て受け取られ、増
加及び減少レジスタI及びDに各々接続される。参照番
号100で一般的に示された論理回路は、Aライン上の
値の正及び負の遷移を各々指示する信号AOI及びA 
i Oをアキュムレータ論理回路から受け取り、それに
対79一 応する増加及び減少信号を、増加及び減少論理回路で更
に処理するために発生する。参照番号102で一般的に
示された論理回路は、衝突回避論理回路であり、その必
要性については、サブセットのサーチ項のサーチについ
ての説明から明らかとなろう。 基本的に、増加及び減少論理回路の主たる機能は、Aレ
ジスタの状態の遷移を表わす信号を搬送することである
。明らかなように、この機能は、サーチ項のサブセット
を探索する性能において有用である。衝突回避論理回路
102は、■又はDラインがその入力から「1」信号を
既に搬送しているためにセルのAレジスタの遷移を■又
はDラインに記録できない場合に生じる問題に対処する
ために必要とされる。このような場合、論理回路102
は、レジスタIP及びDP(各々「増加ベンディング」
及び「減少ベンディング」を意味する)の1つに遷移情
報をセーブし、ここから、後□で、Ti又はDj入力に
入ってくるデータとの衝突がない時に、■又はDライン
を経て送信される。 =80− 剖J[)/:Z 第4f図に示すように、Tnと示された12本の汎用ラ
インがあって、サーチプロセッサのセルを接続している
。これらは、中間の一致結果を12個の対応する1ビッ
トレジスタT4−T15に記憶するのに用いられる。各
セルは、汎用レジスタの選択された1つから読み取りを
行なうための論理回路と、汎用ラインの選択された1つ
に書き込みを行なうための論理回路とを含んでいる。 読み取りの論理回路は、16人力のM U X i O
4を備え、これは、12個の汎用レジスタの出力から供
給される12本の入力ラインと、4つの他の特殊で有用
な入力とを備えている。他の4つの入力は、Fレジスタ
、■、レジスタ並びに論理「1」及び論理「0」からの
ものである。4本のアドレスラインADRは、MUX1
04を制御し、16個の入力の1つを選択する。その出
力は、Tnと示されており、裕度レジスタのロード動作
を開始したり、アキュムレータ論理回路のオペランドと
して働くといった多数の種々の目的に利用される。 16個の出力の1つを選択する4ビツトのプログラム可
能なアドレスフラグA I) Rを有したアドレスデコ
ーダ106は、14本のラインの1つをデータ出力とし
て選択するのに用いられる。この14本のラインは、1
2本の汎用ライン’I” 4−1” 15と、ラインF
及び■、である。デコーダ10Gの出力のうちの2つは
使用されない。デコーダ10((の14個の出力の各々
は、14個のM U X+08の対応する1つへ制御入
力として接続される。各M U X i−08の「0」
入力は、対応するレジスタから直接供給される。「1」
入力は、WR8と示された3ピツ1〜制御入力を書き込
みソースどして有する8人力のMUXl、12の出力か
ら導出されて共通の新たなデータライン11oがら供給
される。このM U X 1.12は、選択された出力
ラインに書き込むようにデータのソースを選択すること
ができる。ソースの選択には、MUX、104からのT
nラインの選択、Toレジスタの直接的な選択、A、T
、D及びLレジスタの選択、桁−1zげに信けの選択及
びMgt;O(−数値が0より大きい)信号の選択が含
まれる。 いかなるセルにおいても、この論理回路を使用して、指
定の汎用レジスタから読み取りを行なったり、同じセル
において、選択されたデータソースから同じ汎用レジス
タに書き込みを行なったりすることができる。汎用レジ
スタを制御する論理回路は、本発明のセル構造体におい
て一数値汲び他のデータ髪処理するための非常に融通(
’lのある構成体をなず。−数値は、ネスト構成の複雑
さレベルで記憶及び検索することができ、共通に使用さ
れるF及びLラインを同じ論理回路で処理することによ
り、多数のサーチ機能が容易にされる。 イ箕動−モニード 以」−〕に述べたハードウェアは、多数の色々な機能モ
ードで動作することができ、これらのモードを反復的に
結合及びネスト構成にすると、非常に多数の色々なサー
チ機能を行なうことができる。 然し乍ら、説明」〕、これらのサーチ機能は、それらの
より一般的な作用について述べる。文字の簡単なストリ
ングを伴う簡貼なサーチは既に説明したので、ダイヤグ
ラムの形態で要約する。次の複雑さレベルは、上記の簡
Bなケースと同様であるが同じテキスト流内のCAT又
はD OGのような代替パターンをサーチするための代
替ストリングである。 テキストのセグメン1〜即ち窓内でサーチを行なうべき
場合には更に複雑さが増す。窓とは、センテンス、パラ
グラフ又はドキュメン1へのように境界において或るパ
ターンで定められるテキストセグメン1〜である。例え
ば、センテンス内の全てのパターン一致をサーチする場
合には、例えば、「固定」窓がある。サーチは、1つの
センテンス内でCAT及びr)OGの全ての一致を探索
することができる。サーチプロセッサは、所望のサーチ
パターンが存在するかどうかについて各センテンスを調
査し、テキスト流と同期してプロセッサからの出力とし
て一致信号を発生する。 スライド窓とは、所望のパターン一致を探索してテキス
ト流に沿って「スライド」する窓である。例えば、3つ
の隣接するセンテンス内でCAT及びDOGの全ての発
生を見つける。一致が見つかったセンテンスは、センテ
ンス1−;ミ、2−4.3−6、又は、他の3センテン
ステキストセグメン1〜であり、これは、なぜスライド
セグメントと称するかの説明を助成するものである。 サーチ機能のもう1つの任意の作用は、簡単な計算上の
条件を含ませることである。例えば、「少なくとも1匹
のCATJ及び「せいぜい0匹のDOGJ 或いは又、これらが更に複雑な計算−1−の条件である
かどうかということである。例えば、「少なくとも3匹
のCATJ及び[せいぜい2匹のr)OGJ もう1つの任意の作用は、サブセットのサーチ項につい
ての一致を伴うか否かである。例えば、固定又はスライ
ドの指定窓内で少なくとも2匹のCAT、DOG及びM
OUSEを見つけることは、各項に位置が少なくとも1
匹又はせいぜい0匹といった簡単な計算に限定される簡
mなサブセットサーチである。複雑なサブセットサーチ
は、次のような項を含む。即ち、 [5つのセンテンス内で、((少なくとも3匹のCAT
、少なくとも4匹のDOG、せいぜい1匹のMOUSE
)のうちの少なくとも2匹)」 これは、複雑な計算上の項を含むだけでなく、2つのネ
スト構成の複雑さレベルも含むことに注意されたい。 更に別の任意の作用は、サーチの定義に任意のプール式
を含ませることである。例えば、(CAT且つDOG)
又は(KITTEN且つPUPPY) 本発明のサーチプロセッサにおいては、これらの作用が
色々な組み合わせ及び色々なネスト又は反復レベルで現
われる。考えられる全ての組合せを説明するのは不可能
であるから、サーチ機能の幾つかの作用のみについて述
べる。 第58図ないし第15a図の各々には、サーチパターン
の全てのセルにおけるプログラム可能なフラグの対応設
定を与えるマイクロコードリス1〜が付随されている。 使用する規定は、フラグが単一ビットフラグである場合
に、その名前のみがT、Tといったように記載されるこ
とである。これにより、このフラグは「1」にセットさ
れる。多ビツトフラグの場合には、AF=6といったよ
うにフラグの設定が行なわれる。記載されていないフラ
グは全てOであると仮定する。 撤単皇ノ」リングのす旦 簡単なストリングのサーチの例は、第3図を参照して述
べたように、サーチパターンCATに対して一致信号が
発生された。第5図は、このサーチをダイヤグラム形態
で示している。文字C1A、Tは、各パターン文字に対
して個々のセルの存在を意味し、ダイヤグラムの左側に
ある文字Mは、簡単なサーチに対して必要とされる唯一
のラインであるMラインを示している。Cセルの下の数
「1」は、そのセルのMレジスタに裕度1がロードされ
ることを示している。 窓の考え方を導入しない場合には、次の例で述べるよう
に代替の考え方を加えなければ、簡単=87− なスl〜リングのサーチの複雑さを著しく拡張すること
はできない。例えば、DOGではなくパターンCATに
対して全テキスト流を簡単にサーチすることはほとんど
意味がない。サーチ項CAT及びDOGは、大きなデー
タベースからの全テキスト流に適用した時にはほとんど
実用性のないものであり、センテンス又は複数の連続ワ
ードのような予想されるテキストセグメントを構成しな
い。 イ(賛なしの一圃」(な」れ=」1 第6図に示す例は、代替サーチ: CAT又はDOG又
はMOUSEに対するものである。このサーチは、Mラ
イン及びAラインの両方を含み、サーチ項を分離する垂
直線は、代替、即ち、論理オア機能を指示する。この場
合も、−数値「1」がCAT項のCセルにおいてMライ
ンにロードされる。CAT項の終りには、アキュムレー
タ論理回路(第4c図)のMUX80においてMgtO
信号を選択しそしてAラインの出力に対してMg10信
号をコピーするようにA関数ビットAFを選択すること
により、Mラインからの一致値がAラインに転送される
。アキュムレ−タ論理回路は、選択されたオペランドを
セルのAレジスタからの値と論理的に合成することを想
起されたい。この場合、選択されたオペランドは、非ゼ
ロの一致値を示すMgtO信号であり、AFビットにお
いて選択された論理関数は、Aレジスタの値に拘りな(
Mg t O値がA出力AOに直接コピーされるように
する。従って、A、 Fビットは値0101に初期化さ
れ、出力信号AOは、オペランドMgtOの時にのみr
lJとなる。一致ラインは、DOGのDセルに「1」の
裕度値をロードすることにより、DOG項の開始時に再
び「1」にリセットされる。DOG項の終りには、一致
ラインとAラインのオアがとられる。この場合も、これ
は、アキュムレータ論理回路を適当にセットすることに
よって行なわれる。特に、MgtO信号はこの場合もオ
ペランドとして選択され、オア関数の真理値表は、アキ
ュムレータ論理のAFビットに対してプログラムされる
。特に、AFビットは、値0111に初期化され、従っ
て、A又はMgtOのいずれか又は両1jが「1」であ
る時に出力Aoが[1Jとなる。 M Ou s rクサーチ項についても同じ手順が繰り
返され、M OLJ S Eからの一致値は、ラインA
に現オ)れるC A、 T及びI) OGからの一致値
とオアされ、ラインAはサーチの所望の結果を搬送する
。 論理オア演算は、代替ストリングの最後のものを除いて
、他のセルと結合することができる。それ故、要求され
るセルの数は、全文字数+1に等しい。 代替を伴う簡単なストリングのサーチのより複雑な例が
第7図に示されている。このサーチは、altern+
1tive+y%alternatingly及びal
ternatelyというワードに対する一致を探索す
るように構成される。共通の基部ralternaJか
らの一致値は、T、ラインにセーブされ、このラインは
、rtjveJ 。 「オj旧;」及びrt、eJの各項の始めに一致値[]
JをMラインにロードし始めるようにするために使用さ
れる3、これらサーチ項の結果は、Aラインにおいて互
いにオアされ、3つのオア演算の出力は、「1y」の項
に対してサーチするためにもう一度Mラインをロードす
るのに使用される。もちろん。 もっと複雑なネスl−1ノベルも考えr)れる。 岡fの1 第8図は、サーチが1つのセンテンス内でCA Tに対
するものであってI) OG lニ対する(1のではな
いような筒中な場合を示している。固定窓サーチの第1
の部分(j、窓の境界を位置設定することである。セン
テンス窓の場合には、境界がピリオドであるか、クエス
チョンマークであるか又は句読点である。代替物におl
づるこれら文字のす・−チは、簡甲な代替物サーチの場
合と同様に行なオ)れる。そ第1.らの結果は、Aライ
ンにおいて1fいにオアされる。センテンス検出の結果
は、ロー−ドライン■、に転送され、ごのラインは、サ
ーチ項CAT及びDOGの各々の終りにカウンタの値殻
ロードし始めるのに使用される。サーチ項は、それらの
ストリングの文字セルにロードされた一致値を有し、一
致が検出された場合にMラインに一致値を形成する。こ
の−較値は、Oより大きい場合に、サーチ項に続くセル
のカウンタを減少するのに使用される。基本的に、これ
は、OO,1の1’)ECフラグを用いてカウンタ論理
を初期化してM U 、X 96へのM g t 0人
力を選択することによって行なオ)れ、M U X 9
 Gの出力はカウンタを減少するのに用いられる。例え
ば、1つのCATが見つかった場合には、カウンタがO
に減少され、カウンタのゼロ状態を用いてAラインに「
1」がljえられる。[11の滝れは、次のセンテンス
分離子に出会うまでAラインに送り続けられる。サーチ
項D()Gの場合には、D OGパターンの検出が、A
ラインとアンドされるまで否定される。というのは、所
要のサーチが<Ipt I) OGに対するものである
からである。Aとオペランド以外のものとの論理的な組
み合わゼは、アキュムレータ論理においてA関数ライン
Δト′を適当にセラ1−することによって行なわれる。 固定窓を用いたより複雑な場合が第9図に示されている
。このサーチは、1つのセンテンス内で、少なくとも3
匹のI’ c、 a t; J及びせいぜいl匹のrd
 o gJに対するものである。これは、第8図に示し
た場合と同様に行なわれるが、サーチの計算条件を考慮
するためにカウンタには1より大きな値がロードされる
。前記の例の場合と同様に、カウンタのロード動作は、
センテンス境界の指示を搬送するロードラインLからの
信号によって行なわれる。カウンタの長さレジスタL、
 E N(8)は、予め所望値に初期化され、Lライン
における「1」の存在は、MUX90によって検出され
る。このMUXは、長さレジスタからのカウンタのロー
ド動作を開始させる信号ソースとして■、ラインを選択
するようにフラグc r、 sからのその制御入力がO
OOにセラ1−されている。rd。 gJカウンタは、この意味で、「2」にセラ1〜され、
2つのrd o gJ項の検出によってAライン上のア
ンドされた出力が作用不能となるようにされる。少なく
とも3つのrcatJ項が検出されそしてせいぜい1つ
のrdogJ項が検出された場合には、Aライン、[ユ
でのアンド演Wによる一致結果が一致値「1−」を生じ
させる。 これらのサーチにおいては、アキュムレータに与えられ
た値「1」の流れが、他の項とアンドされた時でも、セ
ンテンスの比較的大きな部分を広げることができる。サ
ーチ項の所望の組み合わせがおそらく1回生じることに
よって発生される一致状態の数を減少するために、Aラ
インがライン■、」−のセンテンス分離子信号とアンド
され、センテンスの全セグメントに対して1つの出カ一
致信号が発生される。このアンド機能は、アキュムレー
タ論理回路の他の論理演算と同様に行なわれる。多数の
一致値がAラインに現われ、別々のセルにおいて、アキ
ュムレータ論理回路は、OSフラグを100に初期化す
ることによりLラインをオペランドとして選択するよう
にプログラムされ、ΔFフラグを000]に初期化する
ことによってM U X、 8.2においてアンド機能
が選択される。 既定Δ九Δ筺岸なサブセ人ド 第10図は、固定窓内の簡単なサブセットサーチを示し
ている。前記した固定窓の場合と同様に、センテンスの
終りのごとき窓の境界は、多数の代替文字パターンによ
って検出される。−数値は、Mラインに発生され、ロー
ドライン■7に転送される。ロードラインは、検出され
るべき各サーチ項の終りにカウンタに「1」をロードす
るのに用いられる。この例においては、サーチ質問は、
固定窓内の1組の項CAT、DOG及びMOUSEのう
ちの少なくとも2つを探索することを要求する。これら
項の1つに対して一致が検出された時には、その一致ラ
インを用いてその項に続くカウンタが減少される。従っ
て、1つの(’、 A ”「が検出された場合には、そ
れに対応するカウンタがゼロに減少される。同じセンテ
ンスにおいて2つ以−にのCATが検出された場合には
、カウンタはまだゼロを指示する。というのは、全ての
カウンタは、負の1カウントに重ね合オ)されるのでは
なく0に「固着」するような形式のものだからである。 各サーチ項の終りにあるセルのアキュムレータ論理回路
は、ゼロカウントが検出された場合にAラインに「1」
を出力するように構成される。 カウントを含むこれらの各セルに続いて、微分器として
構成された別のセルがあり、即ち、このセルは、Aライ
ンの状態を監視して、「0」から「]」又は「1」から
「0」のAラインの変化を表わす信号を発生する。特に
、この微分セルは、AがrOJから「]」に変化する時
に増加ラインrTJに「1」を発生し、Aが「1」から
「0」に変化する時に減少ラインDに「1」を発生する
。 この機能を実行するようにセルを構成する場合には、増
加及び減少ラインに組み合わされた適当な論理回路を作
動可能とするように微分フラグDFをセットするだけで
よい。例えば、CATのようなサーチ項の1つが検出さ
れることによりAラインが[]」になった時には、それ
に関連した微分セルが増加ライン■にrlJを発生する
。Aラインは、微分セルから見ると、更に別のCAT項
が検出された場合でもカウンタがゼロに保持されるので
、「1」のま\とされる。然し乍ら、センテンス又は他
の定められた窓の終りには、カウンタが「1」にリセッ
トされ、AラインがrOJに落ちる。これにより、セン
テンスの終りに減少ラインに「1」が発生される。 サーチパターンの終りには、!it−のセルが積分器の
ように働く。このセルは、■及びDラインを受け入れ、
そのカウンタには、サーチの始めに−nがロードされる
。但し、nは、サブセットにおいて見出されるべき項目
の数である。例えば、サーチによってCAT、DOG及
びMOUSEの組のうちの少なくとも2つを探索すべき
場合には、積分器に最初に−2がロードされる。サーチ
項の1つが探索されてエラインに[]」が現われた時に
は、積分器のカウンタが増加され、即ち、負の数値で1
だけ小さくなる。サーチ項のいずれか2つが窓内で探索
された場合には、積分器のカウンタがゼロになる。その
A論理回路は、カウンタKが0に等しいか又はそれより
大きい時にAラインに「1」を発生するように構成され
る。それ故、サーチ質問からの出力がAラインに得られ
る。 積分器のカウンタはセンテンスとセンテンスとの間でリ
セットする必要がないことに注意されたい。というのは
、各サーチ項の検出により、Iラインに「1jが発生さ
れるだけでなく、後で、そのセンテンスの終りにDライ
ンに「1」が発生されるからである。それ故、積分器の
セルのカウンタは、窓から窓へと自己リセッ1へされる
。然し乍ら、実際的な理由から、積分器は、センテンス
の終りに多数の減少信号から生じる衝突のおそれを回避
するために、固定窓の終りに再びロードされる。 2−)以−にのサーチ項が同時に一致することがあるの
で、■ラインに衝突が生lじる。衝突を生じるサーチ質
問のffff酢な例は、AT、HAT及びTHA Tの
組の少なくとも2つを見出すことである。 テキス1〜にワード′I″TT A、 Tが現オ)れだ
場合には、最後のTがサーチ項の終りを通過した時に一
致が発生される。それ故、最後の1゛は、一致信号がサ
ーチパターンに沿って通過する時にこれを取り一■−げ
続けることを所望し、■ラインの使用に競合が生じる。 このような衝突により、1つ以−1−の項が検出されな
いことになり、不正確なサーチ結果を招く。 このおそれを少なくするためしこ、1〉ライン及び■ラ
イン論理の衝突回避論理回路は、IP即ち[ペンティン
グフラグと、DP即ちDベンティングフラグとを備えて
いる。Aラインの状態により■ラインに「1」の発生が
要求されるが、IIノジスタが既にrIJの状態である
場合には、衝突回避論理回路がT Tlフラグをセラ1
〜し、このフラグは、■レジスタがゼロに復帰して、ベ
ンディングエラインの「1」状態を挿入するためのオー
プン「スロワ1〜Jを指示するまで、セラ1−されたま
\である。 この論理の作用は、■及びY)信号の幾−)かが、衝突
のおそれが全くない場合に到着するよりも後で積分セル
に到着するようにすることである。これに代オ)るもの
として、■及びDラインにより多くのラインが使用され
るが、これは、実際的な意味で機能を改善することなく
セルのコス1へ髪追加することになる。衝突を招き易い
サーチは、認識及び回避が充分容易であり、衝突回避論
理回路はサーチ結果の完全性に著しい影響を招くことな
く適当な解決策をもたらす。 サーチが計算サーチ項に対するもので、例えば、1つの
センテンス内に(少なくとも3匹のCAT、少なくとも
4匹のDOG、せいぜい1匹のMOUSE)の少なくと
も2つがあるといった場合には、簡qtな固定窓サーチ
に更に複雑さのレベルが追加される。同じ原理が使用さ
れるが、各サーチ項に続くカウンタには1より大きな値
がロードされる。又、「せいぜい」の項は、サーチ項に
続くカウンタセル内の別の論理によって処理され、Aラ
インの遷移の方向が反転される。又、「せいぜい」の項
では、その項が指定するものより1つ大きな値、即ち、
この例では「2」にカウンタがセラ1へされる。これに
より、2つ以−にのM OU SE項が検出された際に
Dラインに「]Jが発生される。前記したように、指定
された数の「少なくともJの項が検出された時には、■
ラインに「1」が発生される。 積分セルは、前記したように、■及びD信号を積分する
ように働くが、その初期値は、「甘い−TOO− ぜい」の項を考慮するように選択される。この例では、
サーチを開始する前に「せいぜい1」の項が既に満足さ
れ、従って、積分セルのカウントか−1に初期化される
。他の項のいずれかが満シiiされると、一致が生じる
が、MOUSE項の2つがセンテンスに見出された場合
には、[せいぜいJの項が満足されず、積分器のカウン
トは、Dラインの「1」によって減少される。 筒見敬込う−イート番丈ニー禾 第11図は、5つのセンテンス内でサーチ項の組み合わ
せを探索するための簡単なスライド窓サーチの例を示し
ている。簡単なサーチの各項は、「少なくとも1つ」の
項であるか、或いは、否定に等しい「せいぜいO」の項
のいずれかでなければならない。例えば、CAT及びD
OGは、第11図に示されたサーチ要求である。固定窓
のサーチにおいては、セグメントの境界を用いて、カウ
ンタがロードされ、次いで、カウンタは、Mライン上の
一致結果によって減少される。スライド窓のサーチにお
いては、セグメントの境界の検出を用いてカウンタが減
少され、これらカウンタは、Mライン」〕のサーチ項の
検出によってロードされる。サーチパターンは、各々の
項と、その後に、カウンタセルとを備えている。例えば
、テキスト流においてCATが検出された際には、それ
により一致ラインに現われる非ゼロ値を用いて、その次
のセルのカウンタがロードされる。次いで、Mラインに
おいて既に検出されてTラインに転送された各法々のセ
グメント境界を用いてカウンタが減少される。この場合
、カウンタには5の値がロードされている。5つのセン
テンスが送られた後に、カウンタはゼロに減少される。 カウンタの値は、非ゼロのカウンタ値を検出し、そして
適当な構成のアキュムレータ論理を用いてこれとAライ
ン」二の他の非ゼロカウンタ値とのアンドをとることに
よって論理的に合成される。従って、Aラインは、サー
チの結果を出力するのに用いられる。 多数のサーチ項のアンドをとると多数の一致ストリング
がプロセッサから発生されるので、Aライン上の結果を
Tラインにまだセーブされているセンテンス境界信号と
アンドすることによって一致の数を減少することが所望
される。一致の数を更に減少するために、本発明の好ま
しい実施例では、n個のセグメント分離子ごとに1つの
一致のみが形成され、ここで、nは、スライド窓のため
に指定された巾である。 一複雑な入う/−」封 簡単なスライド窓サーチは、例えば、5つのセンテンス
内に少なくとも3匹のCA T及び少なくとも3匹のD
OGというようにサーチ質問内に計算項を導入すること
によって非常に複雑化される。このようなサーチが第1
2図に示されている。 この場合も、サーチパターンの早期部分においてセグメ
ントの境界がMライン上で検出され、セグメント境界信
号がTラインにセーブされ、カウンタを減少するのに用
いられる。然し乍ら、複雑な場合には、サーチ項の最後
のn回の発生を追跡することが必要である。但し、nは
、[少なくともn」という表現における数である。例え
ば、サーチが少なくとも3匹のCATに対するものであ
る場合には、プロセッサは、CAT項の最新の3回の発
生を追跡し、その3つ全部が指定のスライド窓内にある
かどうかを判断しなければならない。この場合には、C
AT項について3つのカウンタを設けることが必要であ
り、他の項が少なくとも3匹のDOGである場合には、
DOG項について3つのカウンタセルを設けなければら
ない。 一般の場合には、その項の最新のn回の発生がスライド
窓内に入るかどうかを判断するために「少なくともn」
項ごとにn個のカウンタが必要とされる。 第12図は、n=3の時に必要とされる論理を示してい
る。セルストリングのCATパターンに続いて第1のサ
イクルカウンタC1がある。その目的は、CATの発生
回数をカウントし、サイクルカウンタがゼロになった時
に、各節3の発生ごとに特殊な機能を行なうことである
。この特殊な機能は、一致ラインをゼロにし、−数値が
もはやセルのパイプラインに沿ったものとならないよう
にし、Lラインに「1」を出力し、LENレジスタから
サイクルカウンタを再ロードすることである。CATに
対する各3つの一致値のうちの他の2回の発生は、一致
ラインに沿って次のセルへ通され、サイクルカウンタを
1だけ減少させる。 ■、ラインが「1」になると、これが、セルC1のすぐ
下流で第1窓のカウントセルW1によって使用され、セ
ルW1のカウンタに窓内のセグメント数、この場合は+
5がロードされる。ラインTi」二の信号として識別さ
れるセグメント境界が次々に発生されるたびに、カウン
タW1が減少される。 このカウンタが非ゼロである限りは、セルC1によって
検出されたC A、 T項がスライド窓内で生じたこと
が指示される。 パイプラインには次に第2のサイクルカウンタC2があ
り、その目的は、CATが3つおきに発生されるたびに
セルC1が除去された後にこのカウンタに到達するCA
Tの2つおきの発生を検出することである。このため、
セルC2には+1のカウントがロードされ、ゼロまでカ
ウントダウンされる。セルC2は、CATの他の発生を
各々検出し、それ故、CA Tの元々の発生のうちの3
つJ′9きの発生を処理する。セルC1の場合と同様に
、セルC2はCATス1−リングの1つが検出された際
にMラインをクリアし、r、ラインに「1」を出力する
。これは、次のセルW2において検出され、このセルの
カウンタをロードするのに使用されろ。又、セルW2は
、セグメントの境弄をカリシ1へし、検出されたCAT
スl−リングの少なくとも1−)が指定の窓内に生じる
限り非ゼロを保持する。 セルC1及びC2がCAT項の各3つの一致のうちの2
−)をF取り−1−けたノ後に、各3つの一致のうちの
残りの1つが−・連のセルのうちの最後のセル、即ち、
第3窓カウンタW3へ通される。 このカウンタは、−13ラインによって直接ロードされ
、Tjラインー1−のセグメン1〜境界信壮によって減
少される。又、検出された一致が指定の窓内に生じる限
り、セルW3には非ゼロカランl−が存在する。プ[1
セツサのAラインに現オ)れるセルW1、W2及びW3
からの3つの非ゼロカウンタ状態を論理的にアンドする
ことtこより所望の一致状態が得られる。 サーチの始めに一度だけサイクルカウンタを初期化する
だけでよい。これらカウンタは、ゼロにリセットされる
か、又は、Fラインに、上りT、ENレジスタからロー
ドされる。 又、セラミ−サーチは、固定窓のサブセル1ヘサーチに
ついて述べた微分及び積分セルを用いてスライド窓内で
行なうことができる。 −リフ−り]さ−111ミー4遣 リンクされた窓は、固定窓のより一般化さhた形態であ
る。固定窓においては、単一のパターンが窓の始めと終
り4決める。然し乍ら、窓は、異なった開始及び終了パ
ターンをもつこともできる。第13図に示された質問は
、 CAT[せいぜい101]DOG であり、*文字は各テキスト文字ごとに一致する。 このパターンは、手前の10個の文字内にCATが発生
するのに続いてL) OGが発生するたびに一致する。 この例では、ストリングCATが一致し、一致結果がI
、ラインに移動される。CATパターに続くセルは、M
ASKレジスタの全てのビットが「1」にセル1へされ
るようにして初期化され、テキスト内の各文字ごとに一
致が生じるようにされる。それ故、−散出力信号MOは
、常に「1」である。シーケンスの次のセルは、■、ラ
イン」―の非ゼロ値によってロードが開始された時にカ
ウント11(10進)がロードされるカウンタを有して
いる。このカウンタは、Mラインの非ゼロ値によって減
少される。CATが検出されてカウンタがロードされた
後に、減少信号の流れがカウンタに送られる。というの
は1手前のセルの出力が常に「1」だからである。カウ
ンタの値は、次に続くセルによって監視され、そのアキ
ュムレータ論理回路は、カウンタ値が非ゼロの場合のみ
Aラインに「1」出力を発生するように初期化される。 従って、カウンタに続くセルのAラインは、CATスト
リングが検出された後に10個の「1」のス1〜リング
を供給する。パターンD OGのDセルにおいては、A
ラインに「1」が検出された時に裕度レジスタがロード
される。それ故、−数値は。 CATに続く10個の文字の間に連続的にロードされ、
D OGのストリングが結果として検出された場合には
全サーチパターンから一致が出される。 又、この形式のサーチは、「可変長さのビット・ケアJ
サーチとしても知られている。I) OGは、その第1
の文字がCATの最後のレターの10個の文字内に生じ
た場合にのみ一致する。固定長さのビット・ケアサーチ
は、同じ機構によって処理することができる。例えば、
パターンCAT [少なくとも10及びせいぜい]O*
コDOGは、CATがDOGのDの前に厳密に10個の
文字に一致する場合にのみD OGに一致する。このサ
ーチは、第14図に示されている。前記したように、C
ATは一致し、その結果はL、ラインに移動される。完
全に一致するセルは、Mラインーにに「1」の流れを形
成し、これは、2つの次のカウンタのロードを開始する
のに用いられる。その第1のカウンタは、カウント10
がロードされ、ゼロ等価カウント(count−equ
als−zero)信号をAうインに発生するように一
致信号によって減少される。これは、「少なくとも】0
」の状態を計算する。第2のカウンタは、カウント1−
1がロードされ、これも、Mラインによって減少される
。そのゼロ等価カウント値は反転され、第1カウンタか
ら導出されたAライン値とアンドされる。第2のカウン
タは、「せいぜい10」の信号を発生し、カウンタセル
からの2つの信号の論理アンドによって、CA、 Tに
おけるTの後に単一の「1」の10個の文字が発生され
る。この一致は、DOGサーチに対して一致値のロード
を開始するのに使用される。それ故、DOGは、CAT
の終了後に厳密に10個の文字を開始する場合にのみ一
致する。 この技術は、範囲をどのようにも組み合わせられるよう
に任意に拡張することができる。従って、 CA、T[3〜4又は9〜12本] DOGは、CAT
が3.4.9.10.1]−又は12文字に前厄て一致
する場合にのみD OGに一致する。 可変及び固定長さのビット・ケアも、同様の技術によっ
て処理することができる。従って、CAT[せいぜい]
O申及びノー”、] l)OGは、CATが最後の1−
0文字内で一致しそして全ての文字がピリオドである時
にのみDOGに一致する。′、パターンは、ピリオド以
外の全ての文字に一致するセルを指示する。これは、パ
ターンレジスタをピリオドにセラ1−シそして比較の方
向を反転するようにIC即ち反転比較フラグをセットす
ることによって行なわれる。従って、リンクされた窓は
、色々のパターン形式(そのうちの固定及び可変長さの
ビット・ケアは特殊な場合である)を一致させる非常に
融通性のある機構を形成する。 儲碧勿ブとに久 サーチプロセッサのセルアレイは、隣接するセルの内容
を互いにリンクし、8ピツ1への単−力リンクのN倍の
ビットを有する単一の仮想カウンタを形成するように構
成することができる。但し、Nは、隣接するカウンタセ
ルの数である。これらの拡張カウンタは、単一セルカウ
ンタが使用されるほとんどの場所で使用することができ
る。唯一の例外は、複雑なスライド窓に使用されるサイ
クルカウンタである。然し乍ら、大型のサイクルカウン
タは実際」−はとんど必要とされない。 カウンタを拡張する機構は、第15a図に示されている
。これは、32ビット長さの集計カウンタであり、この
カウンタは、10億からカウントダウンしてOで止まり
、これがOである間にAラインに「1」を発生する。こ
のカウンタは、Lによってロードされ、Mによって減少
される。 基本的な機構は、連鎖カウントの第1カウンタに最下位
8ビツトを入力し、次のカウンタに次の8ビツトを入力
し、等々とすることである。最後のカウンタは最」1位
の8ビツトを処理する。第1カウンタからの桁上げビッ
トは、WKC(書き込みに桁上げ)フラグを用いてT7
ラインに書き込まれる。この桁上げは、次のカウンタ段
のM信号とアンドされ、その段のEXT (カウンタ拡
張)フラグを使用することによってそのカウンタ段に対
する減少信号を発生する。この場合も1桁上げは、連鎖
の次のカウンタ段によって使用するためにT7ラインに
書き込まれる。最後のカウンタ段以外の全てのカウンタ
段は、WRAPフラグセットを有しており、これは、カ
ウンタをゼロの「まわりにラップ」させ、8ビツトのカ
ウンタ段においてOから一] (即ち、10進で255
)までカウントする。最」1位のカウンタ段がゼロに達
すると、ゼロに固定され、Aラインが再ロードされるま
でAラインに「1」を発生し続ける。下位のカウンタ段
は、カウントを続けるが、最上位段には何の作用も!j
えない。最−1−位のカウンタ段は、その下位の段が2
55のまわりで各々ラップされた直後にゼロに達するこ
とに注意されたい。次いで、した時にゼロになる。但し
、Nは、カウンタ内の段数である。これを補償するため
に、最」二段がゼロに達した時に正しい数がカウントさ
れるようにればならない。 スライド窓カウンタ及びサブセットカウンタにも同様の
方法を用いることができる。従って、サイズの小さいプ
ロセッザカウンタレジスタは、大きな数のカウント動作
を含むサーチ動作を実行するためにプロセッサの電源に
実際1−の制約を課することはない。 M米−Φ」スー乗− 前記したように、本発明の1つの目標は、テキスト流を
1回通す間に非常に多数のサーチ質問に応答することの
できるプロセッサを提供することである。これは、前記
で詳細に述べたセルのパイプラインと平行な結果のパイ
プラインによって容易にされる。結果のパイプラインの
論理は、次のような便利な特徴を有している。a)非常
に多数の同時のサーチ質問を処理するように容易に拡張
することができる。b)同じ文字に対して一致する異な
った質問が衝突を生じないように最適な方法で衝突を処
理する。o)1つの行において6つまでの衝突を、不正
確な結果を招くことなく補償することができる。一致が
唯一(一度に1つ)のものであって[tつランダムなも
のであるとすれば、1一つの行において6回以上の衝突
が起きるおそれは非常に僅かとなる。然し乍ら、衝突回
避が行なわれないと、常に欠陥が検出される。(()セ
ルのハードウェア自体に対して最小限の論理拡張しか必
要とされず、ハードウェアは、非常に高速度で作動する
ことができる。 第16図に概略的に示された結果のパイプラインは、巾
が16ビツトである。1つのピッ1へは、スロッ1〜/
空信号を保持し、3つのビットは、以下で述べる結果タ
グを保持し、そしてその他の12ビツトは、パイプライ
ンに保持された結果のソースを指示するタップアドレス
を保持するのに使用さ九る。 本発明のここに示す好ましい実施例では、各16個の直
列に接続されたセルの後に結果タップがあり、各8個の
このようなタップが結果パイプラインの単一の遅延段に
接続される。これは、結果のパイプラインが、セルのパ
イプラインと同じレー1−でクロックされた場合に、1
28倍の速度でデータを移動することを意味する。従っ
て、8個の結果タップから8つの結果が得られて、結果
パイプラインの単一の遅延段もしくはスロットに対して
競合する。 結果タップがどのように作用するかが第17図に示され
ている。各16個のセルごとに1つづつある結果タップ
の1つからの一致信号は、4ビツトの状態マシン150
に入力される。状態マシン150は、4ビツトの状態レ
ジスタ152を有し、その1つのビットは、要求信号を
記憶するのに用いられ、他の3つのビットは、結果タグ
Fを記憶するのに用いられる。一致信号がセルのパイプ
ラインから到着すると、結果パイプラインのオープンス
ロットに対し仲裁回路154に要求が発せられる。又、
状態レジスタの要求ビットは「1」にセラ1−される6
3つのFビットは最初ゼロである。仲裁回路154は、
8個程度の結果タップから要求を受け取り、一度に1つ
づつこれらを確認する。競合が生じた場合には、仲裁回
路がスロワ1−に対して最も早期の要求を選択し、これ
を最初に確認する。いずれにせよ、仲裁回路は、結果パ
イプラインに得られた各スロットに対して1つの要求の
みを確認する。 状態マシンが現在の時間サイクル内に確認信号を受け取
らない場合には、その3ビツトのFフィールドを1だけ
増加し、確認を待機し続ける。 次のクロックサイクル中に1を受け取った場合には、仲
裁回路が、要求が出された1クロツクサイクル後に結果
のパイプラインに要求を発することができたことを意味
する。状態マシンは、確認信号が受け取られない限りF
カウンタを増加し続け、その状態レジスタの3つのFビ
ットにおいて最大6(2進で110)までカウントアツ
プする。要求を7サイクル以−ヒ待機すべき場合には、
エラー状態であると考えられる。更に、要求が仲裁回路
でベンディングとなっている間に別の一致信号がセルの
パイプラインから受け取られた場合には、カウント7が
Fビットにケえられ、解決できない競合を指示する。確
認信号が受け取られた時には、結果のパイプラインに出
されるデータは、一致情報のタイミングのエラー即ちオ
フセットの程度を表わすFカウントを結果タグとして含
むと共に、一致信号が導出された位置を示す12ビツト
の結果タップアドレスを含む。 結果パイプライン構造体は、著しいエラーのおそれがほ
とんどない状態で数百のサーチ質問を同時に処理するこ
とができる。この構造体は、簡単な」二に、非常に多数
の結果タップからの結果を収集することができる。更に
、結果の衝突によって生じる欠陥のおそれは、統計学的
には非常に起こりにくいものである。いずれにせよ、こ
の種のエラーは、許容することができ、サーチ質問を時
々繰り返すことによって処理できる。 tす則イζ 最後に考慮すべきことは、サーチプロセッサのセルがサ
ーチの実行の前に最初にロードされるような機構である
ことである。このプロセスに使用されるこの厳密な技術
は、本発明の部分を構成するものではなく、それ故、一
般的にのみ説明する。基本的に、初期化は、rtran
sJと示された制御信号を用いてセルのパイプラインを
シフトレジスタとして構成することにより初期化データ
をセルのパイプラインにシフトすることによって実行さ
れる。次いで、rdumpJ 、T Q及び工1と示さ
れた制御信号の組み合わせを使用することにより、最初
のデータ値が、セルのラインのレジスタからセルの種々
のレジスタ及びプログラミングフラグヘゲートされる。 初期化段階は、rdumpJ、IO及び11と示された
3つの制御信号によって制御される。これらのラインの
状態は、以下に示すようにプロセッサによって実行され
る機能を制御する。 dum    IO11 000通常動作のサーチモード 001   パス1初期化パルス 0  1  0  パス2初期化パルス0  1  1
  パス3初期化パルス1  0  0  データ路ラ
インに対してマルチプレクスされた内部状態 1  0  1  リセットダミーセルパラグラフ11
0   プリセットダミーセルパラグラフ1  1  
1  パス4  化パルス以下に示すテーブルは、初期
化データを受け取るデータラインと、初期化段階中にそ
のデータを記憶するフラグ又はレジスタとの間の対応を
示している。内部フラグ及びレジスタの数はデータライ
ンの数を越えるので、全てのフラグ及びレジスタを初期
化するには4つのパスが必要である。 例えば、第1のパスにおいては、パターンレジスタのビ
ットPATO−PAT7が文字レジスタC0−C7を経
てロードされる。 ダンプ機能は、種々のレジスタの内部状態を診断の目的
でデータ路ラインにマルチブレクスすることのできる機
能である。 工V動初−只坏イ1− プロセッサセル内のプログラム可能な状態レジスタ及び
フラグは、サーチを開始するように利用できる手段によ
ってプログラムできるが、プロセッサの構造は、有用な
高レベルの言語であるサーチ質問の記述に基づいてセル
の初期設定を公式化するようにコンパイラ言語を使用す
るのに適している。こ九は、実現さ九ているが、ここに
述べる本発明の部分を構成するものではない。 −乳杵 本発明の例示的な機能及び詳細なハードウェア構造の以
上の説明から、サーチプロセッサは、種々様々なサーチ
フォーマット及び機能を受け入れるように種々のモード
で作動できることが明らかであろう。文字の脱落、余計
な文字及び不正確な文字を処理するプロセッサの機能は
、その最も重要な特徴の1つである。然し、これを、テ
キスト流の固定の窓又はスライド窓内で簡t)1.なサ
ーチ及び複雑なサーチを行なう機能と組み合オ)せた時
には、本発明のプロセッサが非常に強力なサーチプロセ
ッサとなることが明らかであろう。種々の複雑なサーチ
機能を貼独及び或る組み合わせで処理できるだけでなく
、非常に高い速度で作動することができ、文字の流れは
、約15MHzの速度でプロセッサに通されることが明
らかであろう。 本発明の特定の実施例及びその機能の特定の例を解説の
ために詳細に説明したが、本発明の精神及び範囲から逸
脱せずに種々の変更がなされ得ることが明らかであろう
。従って、本発明は、特許請求の範囲のみによって規定
されるものとする。
【図面の簡単な説明】
第1図は、ホス(−システムに接続された高速サーチプ
ロセッサのブロック図、 第2図は、セルのパイプラインにおいてがいに接続され
た本発明のサーチプロセッサの多数のセルを示すブロッ
ク図、 第3a図は、厳密な一致の状態に対して本発明の構造体
を用いたWf単なサーチシーケンスを示すテーブル、 第3b図は、第3a図と同様であるが、テキストの文字
が脱落した場合を示す図、 第:3c図は、第3a図と同様であるが、テキストが余
計な文字を含む場合を示す図、第3d図IJ、第3a図
と同様であるが、チキソ、トが不正確な文字を含む場合
を示す図、第3e図は、第3a図と同様であるが、チキ
ソl−がエラーを含まずそしてエラー裕度2が指定され
た場合を示す図。 第4d図は、セルの比較論理回路を示す図、第4b図は
、プロセッサのセルの一致論理回路の回路図、 第4c図は、セルのアキュムレータ論理回路を示す図、 第4d図は、セルのカウンタ論理回路を示す図、 第4e図は、セルの増加及び減少論理回路を示す図、 −124− 第4f図は、セル構造体の付加的なラインをアドレスす
るための論理回路を示す図、第5a図は、第3図を参照
して述べた簡単なサーチ機能を示す図、 第5b図は、第5a図に対応するマイクロコードリスト
、 第6a図は、代替のサーチ機能を示す図、第6b図は、
第6a図に対応するマイクロコードリスト、 第7a図は、代替を含むより複雑なサーチを示す図。 第7b図は、第7a図に対応するマイクロコードリス1
へ、 第8a図は、固定窓内の簡単、なサーチを示す図、 第8b図は、第8a図に対応するマイクロコードリスト
、 第9a図は、固定窓内の計算状態を伴うより複雑なサー
チを示す図、 第9b図は、第9a図に対応するマイクロコ−ドリスト
、 第10a図は、固定窓内の選択されたサブセットのサー
チ項に対するサーチを示す図、第10b図は、第10a
図に対応するマイクロコードリスト、 第11a図は、スライド窓内の簡単な指定の状態に対す
るサーチを示す図、 第11 b図は、第1.1 a図に対応するマイクロコ
ードリスト、 第12a図は、スライド窓内の複雑な計算状態に対する
サーチを示す図、 第1−・2b図は、第12a図に対応するマイクロコー
ドリスト、 第13図aは、可変長さのドント・ケアストリングを含
むサーチを示す図、 第1.3 b図は、第13a図に対応するマイクロコー
ドリスト、 第14 a図は、固定長さのドント・ケアストリングを
含むサーチを示す図、 第14 b図は、第1.4 a図に対応するマイクロコ
ードリスト、 第15a図は、サーチにおける拡張長さカウンタの作動
を示す図、 第15b図は、第15a図に対応するマイクロコードリ
スト、 第16図は、本発明の結果収集パイプラインを示すブロ
ック図、そして 第17図は、プロセッサに使用される結果タップ論理回
路を示すブロック図である。 1・・・ホストシステム 2・・・データソース 3・・・ホストプロセッサ 4・・・結果メモリ 10・・・出力バッファ 20−22  ・ ・ ・ セル (文字の脱落) (#客な一致、礁=2) 手続補正書(方式) 1.事件の表示   昭和61年特許願第294598
号2、発明の名称    高速サーチプロセッサ3、補
正をする者 事件との関係  出願人 名 称 ティアールダブリュー インコーホレーテッド
4、代理人

Claims (55)

    【特許請求の範囲】
  1. (1)複数の直列接続されたセルを具備し、各セルは、
    サーチされるべきパターンの一部分を記憶するパターン
    レジスタと、サーチされるべきデータ流の文字を記憶す
    る文字レジスタであって、文字ラインを形成するように
    直列に接続されているような文字レジスタと、サーチパ
    ターンとデータ流との一致を表わす一致値を記憶する一
    致レジスタであって、一致ラインを形成するように直列
    に接続されている一致レジスタと、セル内の他のレジス
    タ及びプログラム可能なフラグの状態に基づいて入って
    くる一致値を変更する一致論理回路とを備えており、 更に、サーチパターンを含むように上記セルを初期化す
    る手段と、 上記文字ラインにおいてセルからセルへデータ流をゲー
    トするためのクロック手段とを具備し、上記一致論理回
    路は、サーチパターンとテキストの文字との厳密な一致
    及びおおまかな一致を指示するように一致信号を発生す
    るための手段を備え、上記おおまかな一致は、不正確な
    文字、文字の脱落及び余計な文字を含むことを特徴とす
    る特殊目的のサーチプロセッサ。
  2. (2)上記厳密な一致及びおおまかな一致を形成する手
    段は、 裕度カウントを一致ラインにロードする手段と、 各セルにあって、一致レジスタからの入力を受け取りそ
    して一致ラインを経て一連のセルの次のセルへ出力を与
    えるように接続された遅延一致レジスタと、 セルにおいて非一致が検出された時には、裕度カウント
    が遅延一致レジスタに送信される時にこのカウントを選
    択的に減少し、一致ラインに現われる非ゼロ裕度カウン
    トの存在が一致を表わすようにするための選択的減少手
    段とを備えている特許請求の範囲第1項に記載の特殊目
    的のサーチプロセッサ。
  3. (3)上記厳密な一致及びおおまかな一致を形成する手
    段は、更に、 テキスト流における文字の脱落を許容する手段と、 テキスト流における余計な文字を許容する手段とを備え
    た特許請求の範囲第2項に記載の特殊目的のサーチプロ
    セッサ。
  4. (4)文字の脱落を許容する上記手段は、 セルにおける脱落−余計な文字の制御フラグに応答して
    、上記遅延一致レジスタをバイパスする経路を与えるが
    、文字がテキスト流から脱落した場合に得られるであろ
    う裕度値を生じるように裕度値を更に減少する手段と、 遅延一致レジスタをバイパスする経路を与える上記手段
    から得られた裕度値と遅延一致レジスタの出力として得
    られた裕度値とを比較し、その2つのうちの大きい方を
    一致ラインの出力として選択する手段とを備えている特
    許請求の範囲第3項に記載の特殊目的のサーチプロセッ
    サ。
  5. (5)余計な文字を許容する上記手段は、 脱落−余計な文字の制御フラグに応答して、上記遅延レ
    ジスタの出力からその入力へ裕度値をフィードバックす
    る経路を与えるが、現在の文字がテキスト流における余
    計な文字であった場合に得られるであろう裕度値を生じ
    るように裕度値を更に減少する手段と、 遅延一致レジスタの出力からフィードバックされた裕度
    値と遅延一致レジスタに通常入力されるであろう裕度値
    とを比較し、その2つのうちの大きい方を遅延一致レジ
    スタへの入力として選択する手段とを備えている特許請
    求の範囲第3項に記載の特殊目的のサーチプロセッサ。
  6. (6)裕度カウントを一致ラインにロードする上記手段
    は、 裕度レジスタと、 セルのロード裕度フラグ及びセルの選択された他のレジ
    スタの状態とに応答して、裕度レジスタに記憶された値
    を、一致レジスタに記憶された値と取り替える手段とを
    備えている特許請求の範囲第1項に記載の特殊目的のサ
    ーチプロセッサ。
  7. (7)上記一致論理回路は、更に、「そこになければな
    らない(must−be−there)」フラグに応答
    して、フラグがセットされたセルにおいて一致がない場
    合に一致に対する裕度値をクリアする手段を備えている
    特許請求の範囲第1項に記載の特殊目的のサーチプロセ
    ッサ。
  8. (8)上記一致論理回路は、更に、セルの反転文字フラ
    グに応答して、パターンレジスタと文字レジスタとの比
    較により得た一致信号の方向を反転する手段を備えてい
    る特許請求の範囲第1項に記載の特殊目的のサーチプロ
    セッサ。
  9. (9)複数の直列接続されたセルを具備し、各セルは、
    サーチされるべきパターンの一部分を記憶するパターン
    レジスタと、サーチされるべきデータ流の文字を記憶す
    る文字レジスタであって、文字ラインを形成するように
    直列に接続されているような文字レジスタと、サーチパ
    ターンとデータ流との一致を表わす一致値を記憶する一
    致レジスタであって、一致ラインを形成するように直列
    に接続されている一致レジスタと、セル内の他のレジス
    タ及びプログラム可能なフラグの状態に基づいて入って
    くる一致値を変更する一致論理回路と、隣接するセルの
    アキュムレータレジスタから導出された2進値を記憶す
    るアキュムレータレジスタであって、セルを通る直列の
    アキュムレータラインを形成するように接続されたアキ
    ュムレータレジスタと、予め選択された論理関数に基づ
    いてアキュムレータレジスタをセルの選択された状態と
    合成することによりアキュムレータレジスタの内容を次
    のセルへ出力するように変更するアキュムレータ論理回
    路とを備えており、 更に、サーチパターンを含むように上記セルを初期化す
    る手段と、 上記文字ラインにおいてセルからセルへデータ流をゲー
    トするためのクロック手段とを具備し、上記一致論理回
    路は、サーチパターンとテキストの文字との厳密な一致
    及びおおまかな一致を指示するように一致信号を発生す
    るための手段を備え、上記おおまかな一致は、不正確な
    文字、文字の脱落及び余計な文字を含むことを特徴とす
    る特殊目的のサーチプロセッサ。
  10. (10)更に、各セルに複数の付加的なレジスタを具備
    し、セルを通る複数の付加的なラインを形成するように
    対応するレジスタが直列に接続されている特許請求の範
    囲第9項に記載の特殊目的のサーチプロセッサ。
  11. (11)上記一致論理回路及びアキュムレータ論理回路
    は、アキュムレータラインのサーチパターンの第1のス
    トリングに関連した一致インジケータをセーブする手段
    と、このセーブした一致インジケータとサーチパターン
    の第2のストリングに関連した一致インジケータとの論
    理的なオアをとる手段とを構成するように協働する特許
    請求の範囲第10項に記載の特殊目的のサーチプロセッ
    サ。
  12. (12)上記一致論理回路及びアキュムレータ論理回路
    は、1つの上記付加的なラインに現われるサーチパター
    ンの第3のストリングに関連した一致インジケータをセ
    ーブし、その後、アキュムレータラインに現われる全て
    の一致インジケータをオアする手段とを構成するように
    協働する特許請求の範囲第11項に記載の特殊目的のサ
    ーチプロセッサ。
  13. (13)上記一致論理回路は、テキストの予め定められ
    たセグメント間の境界を検出するように構成され、上記
    一致論理回路及びアキュムレータ論理回路は、テキスト
    の1つのセグメント内で選択されたサーチパターンを或
    る組み合わせで探索する手段を構成するように協働する
    特許請求の範囲第10項に記載の特殊目的のサーチプロ
    セッサ。
  14. (14)上記プロセッサは、更に、各セルのカウンタと
    、このカウンタにロードしたりこれを増加したり減少し
    たりするカウンタ制御論理回路とを備え、上記一致論理
    回路及びカウンタ制御論理回路は、サーチパターンのス
    トリングを探索すべき回数を指示するように選択された
    カウンタにロードする手段と、サーチパターンのストリ
    ングが探索されるたびにカウンタを減少する手段と、少
    なくとも最初にカウンタに記憶された回数の所望の一致
    を指示するようにアキュムレータラインにゼロのカウン
    タ値を転送する手段とを備えている特許請求の範囲第1
    0項に記載の特殊目的のサーチプロセッサ。
  15. (15)上記プロセッサは、更に、各セルのカウンタと
    、このカウンタにロードしたりこれを増加したり減少し
    たりするカウンタ制御論理回路とを備え、上記一致論理
    回路及びカウンタ制御論理回路は、サーチパターンのス
    トリングをテキストのセグメント内で探索すべき回数を
    指示するように選択されたカウンタにロードする手段と
    、サーチパターンのストリングが探索されるたびにカウ
    ンタを減少する手段と、少なくとも最初にカウンタに記
    憶された回数の所望の一致を指示するようにアキュムレ
    ータラインにゼロのカウンタ値を転送する手段とを備え
    ている特許請求の範囲第13項に記載の特殊目的のサー
    チプロセッサ。
  16. (16)カウンタにロードする上記手段は、セグメント
    境界の検出に応答し、テキストの各新たなセグメントに
    所望のサーチが再開されるようにする特許請求の範囲第
    15項に記載の特殊目的のサーチプロセッサ。
  17. (17)指定されたテキストセグメント内で1セットの
    m個のサーチ項のうちの少なくともn項のサブセットを
    探索するのに用いるもので、各セルは、増加ライン及び
    減少ラインを形成するように接続された増加レジスタ及
    び減少レジスタを備え、 上記パターンレジスタは、m個のサーチ項を定めると共
    に、テキストセグメントのスタートを表わす一致信号を
    選択されたラインに発生するように構成され、テキスト
    セグメントのスタートを表わす信号は、各サーチ項の後
    にカウンタセルにおいてカウンタに1のカウントをロー
    ドするのに用いられ、 一致するサーチ項により、次のセルのカウンタが減少さ
    れると共に、アキュムレータラインに「1」の信号が発
    生され、 カウンタセルに続く各セルは、微分器として構成されて
    、アキュムレータが1になった時に増加ラインに「1」
    出力を発生すると共に、アキュムレータラインが「0」
    になった時に減少ラインに「1」出力を発生し、 サーチパターンセグメントに続く最終セルは、最初に値
    −nにセットされたカウンタを有する積分器として機能
    し、このカウンタは、増加ラインの「1」によって増加
    されると共に、減少ラインの「1」によって減少され、
    最終セルのカウンタがゼロになることによって所望のサ
    ブセット項の位置が指示される特許請求の範囲第10項
    に記載の特殊目的のサーチプロセッサ。
  18. (18)上記増加ライン及び減少ラインに関連した論理
    回路に含まれていて、別のサーチ項に関連したセルによ
    ってラインに送り出される「1」の値の間の衝突のおそ
    れを回避するための手段を更に備えた特許請求の範囲第
    17項に記載の特殊目的のサーチプロセッサ。
  19. (19)n個のテキストセグメントのスライド窓内で或
    る組み合わせのサーチ項を探索するもので、 各サーチ項は、サーチセグメントに続くセルに含まれた
    nをカウンタにロードするのに用いられる一致信号を一
    致ラインに発生し、 サーチ項のセルの手前のセルは、セグメントの境界を検
    出すると共に、プロセッサの上記付加的なラインの1つ
    にセーブされる一致信号を発生するのに使用され、更に
    、テキストのn個のセグメントが通過した後に各カウン
    タがゼロまでカウントダウンするようにカウンタを減少
    するのに用いられ、そして 全てのカウンタからの非ゼロのカウント指示は、最後の
    n個のテキストセグメントにおける全てのサーチ項の存
    在を指示するようにアキュムレータラインにおいてアン
    ドされる特許請求の範囲第10項に記載の特殊目的のサ
    ーチプロセッサ。
  20. (20)プロセッサから得られる一致信号の数を減少す
    る手段を更に備えた特許請求の範囲第19項に記載の特
    殊目的のサーチプロセッサ。
  21. (21)一致信号の数を減少する上記手段は、付加的な
    ラインにセーブされたセンテンス境界の一致信号の選択
    された信号と一致信号とをアンドする手段を備えている
    特許請求の範囲第20項に記載の特殊目的のサーチプロ
    セッサ。
  22. (22)n個のテキストセグメントのスライド窓内で計
    算サーチ項を探索できるように各サーチ項の発生回数を
    カウントする手段を更に備えた特許請求の範囲第19項
    に記載の特殊目的のサーチプロセッサ。
  23. (23)複数の直列に接続された比較セルを用いてテキ
    スト流内の選択されたパターンをサーチする方法におい
    て、 パターンレジスタにパターン文字を含むと共に種々の制
    御フラグを含むように各セルを初期化し、 各セルにおける文字レジスタの直列接続によって形成さ
    れた文字ラインに沿ってセルからセルへとテスト流を伝
    播するようにセルにクロック信号を供給し、 各セルの文字レジスタとパターンレジスタとを比較して
    、比較の結果として一致信号を発生し、テキストとサー
    チパターンとの間に許容される不一致の程度を表わす裕
    度値を、セルを接続する一致ラインにロードし、 上記比較段階の結果に応答して各セルの裕度値を変更し
    、そして テキスト流における一致データの位置を表わす一致結果
    を出力し、 裕度値を変更する上記段階は、テキスト流における不正
    確な文字、文字の脱落又は余計な文字の検出に基づいて
    その値を減少する段階を含むことを特徴とする方法。
  24. (24)セルを接続する付加的なラインの第1のサーチ
    項に関連した第1の一致結果を記憶し、第2のサーチ項
    に関連した第2の一致結果を発生し、そして 上記直列接続されたセルから出力するように上記第1及
    び第2の一致結果を論理的に合成する特許請求の範囲第
    23項に記載の方法。
  25. (25)上記第1及び第2のサーチ項とネスト構成で論
    理的に合成される付加的なサーチ項に関連した付加的な
    一致結果を発生するという更に別の段階を具備した特許
    請求の範囲第24項に記載の方法。
  26. (26)テキスト流内の計算状態をサーチするように、
    選択されたサーチ項の発生回数をカウントするという段
    階を更に備えた特許請求の範囲第24項に記載の方法。
  27. (27)テキスト流内の計算状態をサーチするように、
    選択されたサーチ項の発生回数をカウントするという段
    階を更に備えた特許請求の範囲第25項に記載の方法。
  28. (28)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定の窓内でのみサーチ機
    能を実行できるようにするという更に別の段階を具備す
    る特許請求の範囲第24項に記載の方法。
  29. (29)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定の窓内でのみサーチ機
    能を実行できるようにするという更に別の段階を具備す
    る特許請求の範囲第25項に記載の方法。
  30. (30)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定の窓内でのみサーチ機
    能を実行できるようにするという更に別の段階を具備す
    る特許請求の範囲第26項に記載の方法。
  31. (31)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定の窓内でのみサーチ機
    能を実行できるようにするという更に別の段階を具備す
    る特許請求の範囲第27項に記載の方法。
  32. (32)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、 特定の数のテキストセグメント内にサーチ項が現われた
    かどうか判断するようにセグメントの数をカウントし、 特定の数のテキストセグメント内に特定のサーチ項が或
    る組み合わせで現われた時にのみ一致信号を発生すると
    いう段階を更に備えた特許請求の範囲第25項に記載の
    方法。
  33. (33)一致信号をセグメントの境界から導出された信
    号とアンドすることにより発生される一致信号の数を減
    少するという段階を更に備えた特許請求の範囲第32項
    に記載の方法。
  34. (34)特定のサーチパターンに対してテキスト流をサ
    ーチする方法において、 直列に接続された複数の比較セルにサーチパターンを記
    憶し、 テキスト流を上記比較セルに通し、 テキスト流とサーチパターンとの厳密な一致を検出し、 テキスト流とサーチパターンとのおおよその一致を選択
    的に検出し、このおおよその一致は、テキスト流に不正
    確な文字及び余計な文字が存在すること及びテキスト流
    から文字が脱落していることを或る限定された所定の程
    度まで含むものであり、そして 上記厳密な一致及びおおよその一致を表わす一致信号を
    、上記直列に接続されたセルからテキスト流と同期して
    出力するように発生する段階を具備したことを特徴とす
    る方法。
  35. (35)セルを接続する付加的なライン上の第1のサー
    チ項に関連した第1の一致結果を記憶し、第2のサーチ
    項に関連した第2の一致結果を発生し、そして 上記直列に接続されたセルから出力するように上記第1
    及び第2の一致結果を論理的に合成する段階を更に備え
    た特許請求の範囲第34項に記載の方法。
  36. (36)第1及び第2のサーチ項とネスト構成で論理的
    に合成される付加的なサーチ項に関連した付加的な一致
    結果を発生する段階を更に備えた特許請求の範囲第35
    項に記載の方法。
  37. (37)テキスト流内の計算状態をサーチするように、
    選択されたサーチ項の発生回数をカウントする段階を更
    に具備する特許請求の範囲第35項に記載の方法。
  38. (38)テキスト流内の計算状態をサーチするように、
    選択されたサーチ項の発生回数をカウントする段階を更
    に具備する特許請求の範囲第36項に記載の方法。
  39. (39)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする特許請求の範囲第35項に記載
    の方法。
  40. (40)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする特許請求の範囲第36項に記載
    の方法。
  41. (41)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする特許請求の範囲第37項に記載
    の方法。
  42. (42)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、そして 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする特許請求の範囲第38項に記載
    の方法。
  43. (43)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出し、 指定数のテキストセグメント内でサーチ項が現われるか
    どうかを判断するようにセグメントの数をカウントし、
    そして 指定数のテキストセグメント内で指定のサーチ項が或る
    組み合わせで現われた時にのみ一致信号を発生する段階
    を更に具備する特許請求の範囲第35項に記載の方法。
  44. (44)一致信号とセグメントの境界から導出された信
    号とをアンドすることによって発生される一致信号の数
    を減少する段階を更に具備する特許請求の範囲第43項
    に記載の方法。
  45. (45)指定のサーチパターンに対してテキストの流れ
    をサーチする特殊目的のサーチプロセッサにおいて、 直列に接続された複数の比較セルにサーチパターンを記
    憶する手段と、 比較セルにテキスト流を通す手段と、 テキスト流とサーチパターンとの厳密な一致を検出する
    手段と、 テキスト流に不正確な文字や余計な文字が存在すること
    及びテキスト流から文字が脱落することを或る限定され
    た所定の程度まで含むようなおおよその一致をテキスト
    流とサーチパターンとの間で選択的に検出する手段と、 上記厳密な一致及びおおよその一致を表わす一致信号を
    、上記直列に接続されたセルからテキスト流と同期して
    出力するように発生する手段とを具備することを特徴と
    する特殊目的のサーチプロセッサ。
  46. (46)セルを接続する付加的なライン上の第1のサー
    チ項に関連した第1の一致結果を記憶する手段と、 第2のサーチ項に関連した第2の一致結果を発生する手
    段と、 上記直列に接続されたセルから出力するように上記第1
    及び第2の一致結果を論理的に合成する手段とを具備す
    る特許請求の範囲第45項に記載の特殊目的のプロセッ
    サ。
  47. (47)上記第1及び第2のサーチ項にネスト構成で論
    理的に合成される付加的なサーチ項に関連した付加的な
    サーチ結果を発生する手段を更に備えた特許請求の範囲
    第46項に記載の特殊目的のプロセッサ。
  48. (48)テキスト流内で計算状態をサーチするように、
    選択されたサーチ項の発生回数をカウントする手段を更
    に具備する特許請求の範囲第46項に記載の特殊目的の
    プロセッサ。
  49. (49)テキスト流内で計算状態をサーチするように、
    選択されたサーチ項の発生回数をカウントする手段を更
    に具備する特許請求の範囲第47項に記載の特殊目的の
    プロセッサ。
  50. (50)テキスト流内で予め定められたテキストセグメ
    ントの境界を検出する手段と、 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする手段とを更に備えた特許請求の
    範囲第46項に記載の特殊目的のプロセッサ。
  51. (51)テキスト流内で予め定められたテキストセグメ
    ントの境界を検出する手段と、 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする手段とを更に備えた特許請求の
    範囲第47項に記載の特殊目的のプロセッサ。
  52. (52)テキスト流内で予め定められたテキストセグメ
    ントの境界を検出する手段と、 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする手段とを更に備えた特許請求の
    範囲第48項に記載の特殊目的のプロセッサ。
  53. (53)テキスト流内で予め定められたテキストセグメ
    ントの境界を検出する手段と、 1つのテキストセグメントの固定窓内でのみサーチ機能
    を実行できるようにする手段とを更に備えた特許請求の
    範囲第49項に記載の特殊目的のプロセッサ。
  54. (54)テキスト流内の予め定められたテキストセグメ
    ントの境界を検出する手段と、 指定数のテキストセグメント内にサーチ項が現われたか
    どうかを判断するようにセグメントの数をカウントする
    手段と、 指定数のテキストセグメント内に指定のサーチ項が或る
    組み合わせで現われた時にのみ一致信号を発生する手段
    とを更に具備する特許請求の範囲第46項に記載の特殊
    目的のプロセッサ。
  55. (55)上記一致信号とセグメントの境界から導出され
    た信号とのアンドをとることにより発生される一致信号
    の数を減少する手段を更に具備した特許請求の範囲第5
    4項に記載の特殊目的のプロセッサ。
JP61294598A 1985-12-10 1986-12-10 高速サ−チプロセツサ Expired - Lifetime JPH0797374B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/807,903 US5051947A (en) 1985-12-10 1985-12-10 High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream
US807903 1985-12-10

Publications (2)

Publication Number Publication Date
JPS62217321A true JPS62217321A (ja) 1987-09-24
JPH0797374B2 JPH0797374B2 (ja) 1995-10-18

Family

ID=25197395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61294598A Expired - Lifetime JPH0797374B2 (ja) 1985-12-10 1986-12-10 高速サ−チプロセツサ

Country Status (5)

Country Link
US (1) US5051947A (ja)
EP (1) EP0233401B1 (ja)
JP (1) JPH0797374B2 (ja)
DE (1) DE3650360T2 (ja)
IL (1) IL80646A (ja)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450598A (en) * 1985-12-27 1995-09-12 Xerox Corporation Finite state machine data storage where data transition is accomplished without the use of pointers
JP2790466B2 (ja) * 1988-10-18 1998-08-27 株式会社日立製作所 文字列検索方法及び装置
US5231599A (en) * 1988-12-01 1993-07-27 Bull Hn Information Systems Inc. Semantic interpreter for an incoming data stream
EP0463164A4 (en) * 1989-03-14 1992-12-16 Kabushiki Kaisha Dainichi Data retrieval device and data editing apparatus using this device
US5469354A (en) * 1989-06-14 1995-11-21 Hitachi, Ltd. Document data processing method and apparatus for document retrieval
US5452451A (en) * 1989-06-15 1995-09-19 Hitachi, Ltd. System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions
US5479654A (en) * 1990-04-26 1995-12-26 Squibb Data Systems, Inc. Apparatus and method for reconstructing a file from a difference signature and an original file
US6816872B1 (en) 1990-04-26 2004-11-09 Timespring Software Corporation Apparatus and method for reconstructing a file from a difference signature and an original file
US5497488A (en) * 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
GB9023096D0 (en) * 1990-10-24 1990-12-05 Int Computers Ltd Database search processor
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
US5426779A (en) * 1991-09-13 1995-06-20 Salient Software, Inc. Method and apparatus for locating longest prior target string matching current string in buffer
US5379420A (en) * 1991-12-26 1995-01-03 Trw Inc. High-speed data searching apparatus and method capable of operation in retrospective and dissemination modes
US6131092A (en) * 1992-08-07 2000-10-10 Masand; Brij System and method for identifying matches of query patterns to document text in a document textbase
JPH08502609A (ja) * 1992-10-16 1996-03-19 ハラース,アーネ 非数値コプロセッサ
GB2274182B (en) * 1993-01-09 1996-09-25 Digital Equipment Int Database co-processor
US5586288A (en) * 1993-09-22 1996-12-17 Hilevel Technology, Inc. Memory interface chip with rapid search capability
DE4430195B4 (de) * 1993-12-13 2004-09-23 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Verfahren zur Auswertung von Booleschen Ausdrücken
US6269363B1 (en) 1994-01-24 2001-07-31 Yossi Matias Method of accessing data using approximate data structures by relaxing the operations that define same
US5553272A (en) * 1994-09-30 1996-09-03 The University Of South Florida VLSI circuit structure for determining the edit distance between strings
US5757959A (en) * 1995-04-05 1998-05-26 Panasonic Technologies, Inc. System and method for handwriting matching using edit distance computation in a systolic array processor
US5615135A (en) * 1995-06-01 1997-03-25 International Business Machines Corporation Event driven interface having a dynamically reconfigurable counter for monitoring a high speed data network according to changing traffic events
WO1996041281A1 (en) * 1995-06-07 1996-12-19 International Language Engineering Corporation Machine assisted translation tools
US5778243A (en) * 1996-07-03 1998-07-07 International Business Machines Corporation Multi-threaded cell for a memory
US5794254A (en) * 1996-12-03 1998-08-11 Fairbanks Systems Group Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets
US6038665A (en) * 1996-12-03 2000-03-14 Fairbanks Systems Group System and method for backing up computer files over a wide area computer network
EP0919930B1 (de) * 1997-11-26 2003-10-22 Infineon Technologies AG Verfahren und Vorrichtung zum Auslesen, Modifizieren und Überschreiben von in einer Speichereinrichtung gespeicherten Daten
US6205482B1 (en) * 1998-02-19 2001-03-20 Ameritech Corporation System and method for executing a request from a client application
US6112288A (en) * 1998-05-19 2000-08-29 Paracel, Inc. Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data
US6167400A (en) * 1998-07-31 2000-12-26 Neo-Core Method of performing a sliding window search
NO309169B1 (no) 1998-11-13 2000-12-18 Interagon As Sokeprosessor
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
US7013394B1 (en) 2000-04-18 2006-03-14 International Business Machines Corporation Data flow pattern recognition and manipulation
US6708168B2 (en) * 2000-12-29 2004-03-16 Nortel Networks Limited Method and apparatus for searching a data stream for character patterns
DE10106340A1 (de) * 2001-02-09 2002-08-29 Europ Lab Molekularbiolog Schaltung zur Verarbeitung von Daten
EP1388087A1 (en) * 2001-05-17 2004-02-11 Memcall L.L.C. Searching words of different sizes
US6918037B2 (en) * 2001-09-27 2005-07-12 Intel Corporation Method and apparatus for command perception by data value sequencing, allowing a bounded total amount of spurious data
US6901354B2 (en) * 2001-09-27 2005-05-31 Intel Corporation Method and apparatus for command perception by data value sequencing, allowing finite amount of unrelated interim data
US6959297B2 (en) * 2002-04-25 2005-10-25 Winnow Technology, Llc System and process for searching within a data stream using a pointer matrix and a trap matrix
US7451143B2 (en) * 2002-08-28 2008-11-11 Cisco Technology, Inc. Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data
US7596553B2 (en) * 2002-10-11 2009-09-29 Avaya Inc. String matching using data bit masks
US7134143B2 (en) * 2003-02-04 2006-11-07 Stellenberg Gerald S Method and apparatus for data packet pattern matching
US7464254B2 (en) * 2003-01-09 2008-12-09 Cisco Technology, Inc. Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data
US7243165B2 (en) * 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
JP4470913B2 (ja) * 2005-07-14 2010-06-02 セイコーエプソン株式会社 文字列検索装置およびプログラム
US8356065B2 (en) * 2005-12-12 2013-01-15 Nec Corporation Similar text search method, similar text search system, and similar text search program
US20070179935A1 (en) * 2006-01-31 2007-08-02 Tsern-Huei Lee Apparatus and method for efficient data pre-filtering in a data stream
US7624105B2 (en) * 2006-09-19 2009-11-24 Netlogic Microsystems, Inc. Search engine having multiple co-processors for performing inexact pattern search operations
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
US8954484B2 (en) * 2009-06-12 2015-02-10 Cray Inc. Inclusive or bit matrix to compare multiple corresponding subfields
JP5335227B2 (ja) * 2007-12-10 2013-11-06 京セラ株式会社 情報端末装置
US8676841B2 (en) 2008-08-29 2014-03-18 Oracle International Corporation Detection of recurring non-occurrences of events using pattern matching
US8145859B2 (en) * 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8572106B1 (en) 2010-07-16 2013-10-29 Netlogic Microsystems, Inc. Memory management in a token stitcher for a content search system having pipelined engines
US8700593B1 (en) 2010-07-16 2014-04-15 Netlogic Microsystems, Inc. Content search system having pipelined engines and a token stitcher
US8589405B1 (en) 2010-07-16 2013-11-19 Netlogic Microsystems, Inc. Token stitcher for a content search system having pipelined engines
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US11288277B2 (en) 2012-09-28 2022-03-29 Oracle International Corporation Operator sharing for continuous queries over archived relations
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9563599B2 (en) 2013-11-04 2017-02-07 Lewis Rhodes Labs, Inc. Computing architecture for operating on sequential data
US9996387B2 (en) 2013-11-04 2018-06-12 Lewis Rhodes Labs, Inc. Context switching for computing architecture operating on sequential data
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
CN105335747B (zh) * 2014-08-04 2019-03-29 联想(北京)有限公司 一种数据处理方法及电子设备
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
WO2017135838A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Level of detail control for geostreaming
WO2017135837A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Pattern based automated test data generation
US9892789B1 (en) 2017-01-16 2018-02-13 International Business Machines Corporation Content addressable memory with match hit quality indication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58501525A (ja) * 1981-09-30 1983-09-08 ユニシス・コーポレィション 記憶されたテキストのデ−タベ−スにおける表示を位置決めするためのディジタルデ−タ処理手段を用いる方法および手段
JPS6128134A (ja) * 1984-07-18 1986-02-07 Nec Corp 記号列照合装置とその制御方式

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US626432A (en) 1899-06-06 Casket-carrier
GB1497678A (en) * 1975-02-21 1978-01-12 Int Computers Ltd Data processing systems
US4094001A (en) * 1977-03-23 1978-06-06 General Electric Company Digital logic circuits for comparing ordered character strings of variable length
US4205302A (en) * 1977-10-28 1980-05-27 Einar Godo Word recognizing system
FR2458848B1 (fr) * 1979-06-11 1986-02-28 Iria Procede et appareil informatique de reconnaissance des mots
EP0054588B1 (en) * 1980-12-19 1984-09-26 International Business Machines Corporation Interactive data retrieval apparatus
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters
US4451901A (en) * 1982-01-21 1984-05-29 General Electric Company High speed search system
US4531201A (en) * 1982-01-25 1985-07-23 Skinner Jr James T Text comparator
US4625295A (en) * 1982-01-25 1986-11-25 Skinner James T Textual comparison system for locating desired character strings and delimiter characters
US4674066A (en) * 1983-02-18 1987-06-16 Houghton Mifflin Company Textual database system using skeletonization and phonetic replacement to retrieve words matching or similar to query words
US4575795A (en) * 1983-04-01 1986-03-11 Honeywell Information Systems Inc. Apparatus for detecting a predetermined character of a data string
US4550436A (en) * 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus
US4760523A (en) * 1984-06-29 1988-07-26 Trw Inc. Fast search processor
US4747072A (en) * 1985-08-13 1988-05-24 Fairchild Camera And Instrument Corporation Pattern addressable memory
DE3585411D1 (de) * 1985-10-31 1992-03-26 Trw Inc Schneller recherchenprozessor und verfahren fuer seine benutzung.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58501525A (ja) * 1981-09-30 1983-09-08 ユニシス・コーポレィション 記憶されたテキストのデ−タベ−スにおける表示を位置決めするためのディジタルデ−タ処理手段を用いる方法および手段
JPS6128134A (ja) * 1984-07-18 1986-02-07 Nec Corp 記号列照合装置とその制御方式

Also Published As

Publication number Publication date
IL80646A (en) 1991-06-30
DE3650360D1 (de) 1995-09-07
JPH0797374B2 (ja) 1995-10-18
US5051947A (en) 1991-09-24
DE3650360T2 (de) 1996-03-28
IL80646A0 (en) 1987-02-27
EP0233401B1 (en) 1995-08-02
EP0233401A2 (en) 1987-08-26
EP0233401A3 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
JPS62217321A (ja) 高速サ−チプロセツサ
US20200334533A1 (en) Methods and systems for data analysis in a state machine
US9817678B2 (en) Methods and systems for detection in a state machine
US10366009B2 (en) Methods and systems for handling data received by a state machine engine
EP2891053A1 (en) Results generation for state machine engines
EP1462934A1 (en) Method and apparatus for forwarding of results
US20230176999A1 (en) Devices for time division multiplexing of state machine engine signals
US20170193351A1 (en) Methods and systems for vector length management
US4731737A (en) High speed intelligent distributed control memory system
EP0354585B1 (en) Instruction pipeline microprocessor
US10691964B2 (en) Methods and systems for event reporting
US5206947A (en) Stable sorting for a sort accelerator
JP2880199B2 (ja) 記号列検索方法および検索装置
Chisvin et al. Content-addressable and associative memory
JP2729491B2 (ja) 可変長文字列検出装置
US5161230A (en) Multifield identification circuit and related method of operation
US4467413A (en) Microprocessor apparatus for data exchange
JPH0317780A (ja) 記号列検索方法および装置
JPS62127939A (ja) 高速検索処理装置
EP0395636A1 (en) Parallel string processor and method for a minicomputer
EP0352279A1 (en) Parallel string processor and method for a minicomputer
EP1462935A2 (en) Method and apparatus for pipeline processing a chain of instructions
JPS63298524A (ja) デ−タ検索システム