JPS63500479A - パタ−ンをアドレス可能なメモリ - Google Patents

パタ−ンをアドレス可能なメモリ

Info

Publication number
JPS63500479A
JPS63500479A JP61504442A JP50444286A JPS63500479A JP S63500479 A JPS63500479 A JP S63500479A JP 61504442 A JP61504442 A JP 61504442A JP 50444286 A JP50444286 A JP 50444286A JP S63500479 A JPS63500479 A JP S63500479A
Authority
JP
Japan
Prior art keywords
memory
symbol
slot
state
sequence
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
JP61504442A
Other languages
English (en)
Other versions
JP2511434B2 (ja
Inventor
ロビンソン,イアン・ネヴィル
デービス,アラン・リン
Original Assignee
フェアチャイルド・セミコンダクタ−・コ−ポレ−ション
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 フェアチャイルド・セミコンダクタ−・コ−ポレ−ション filed Critical フェアチャイルド・セミコンダクタ−・コ−ポレ−ション
Publication of JPS63500479A publication Critical patent/JPS63500479A/ja
Application granted granted Critical
Publication of JP2511434B2 publication Critical patent/JP2511434B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Holo Graphy (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の名称 パターンをアドレス可能なメモリ 技術分野 本発明は一般的にはデータ処理システムの分野に関し、より詳細にはデータ処理 システムに用いるメモリシステムに関する。
背景技術 人工知能システムに用いる実質的に全てのデータ処理システムは、情報が記憶さ れ且つ選択的に検索されることを要する。
通常情報は、一度に1つ検索されるべき多数のレコードからなり、メモリに記憶 されたデータベースとして通常は編成される。
通常、各レコードはユニットとして検索される。データベース検索の最も単純な 例は1個あるいはそれ以上のキーワードを含む全てのレコードを検索することで ある0例えば、データベースは、ルコード当り1つの記事を含む、特定の組の科 学雑誌における全ての記事から構成される。ここで、「計算すること(comp uting)」および「人工知能(artificial intellige nce)」という語を含む全てのレコードのように、1個あるいはそれ以上のキ ーワードを含む全ての記事を検索したくなったとしよう。
「エキスパートシステム」において、データベースは種々のルールに体系的に整 理され、所定の仕様に適合するルールに対し繰り返し探索しなければならない、 この所定の仕様を「間合せシーケンス」と呼ぶことができる。「ルールベース」 探索と称されるこの形式の探索は、前述の1個以上のキーワードを含むレコード の探索とは大きく相違する。このシステムは、現在存在する問題に対しデータベ ース中の多くのルールの中から次に適用すべきルールを選択する必要がある。こ の選択は解決されつつある問題のデータと、変数間の関係によって変わる。エキ スパートシステムは、同じデータおよび(または)変数間の関係を含むルールを 選択する必要がある0例えば、これらルールは次の形式でよい。
IF<条件〉であれば、THE N <行動あるいは結論〉である。
データベースにおけるルールの1つは以下のようなものとなる。
IF(Xが食べる)、THEN(X4i空腹テアル)。
もし問題が「ビータが食べる」という情報を含んでいるとすれば、当該システム はくXが食べる)という情報を含むルールに対し全てのルールを探索する必要が ある。ここでXとは既知の情報のいずれかのエレメントにより代替しうる可変エ レメントである。「食べる」という情報を含むいずれかその他のルールと共に前 述のルールが検索されることになる。一旦当該システムがルールを検索すると、 Xをビータを置き換え、ビータが空腹であると結論する。
このルールベースの探索は、1個又はそれ以上のキーエレメントを含む全てのレ コードが検索される、単純なキーワードあるいはキーエレメントとは著しく異な る。ルールに基く探索において、データベースのレコードに含まれているエレメ ントの数や順序は重要である。3個のレコード(a、x、b)、(a、z、b) および(b、(d、e)、a)を含むデータベースを検討する。「&」および「 b」を含む全てのレコードに対する要求により前述のレコードの全てを検索する 。しかしながら、(a、b)形式の全ての「ルール」に対する要求は、各レコー ドが3個のエレメントを含み、要求されたルールが2個のエレメントのみしか含 まないため、いずれのレコードによっても満足されない、 (a、 ? 、b) の形式の全てのルールに対する要求で、?かいずれかの定数により満足しうる可 変エレメントを示す場合、副表現即ち別の変数が最初の2個のレコードは検索す るが、ra」とrb」とは第3のレコードにおいて間違った順序で現われるので 第3のレコードは検索しない。
したがって、変数の概念を以ってしても、ルールに基く検索システムは、非特定 順序でのキーエレメントに基くレコードの選択に対しては都合よく使用すること はできない。
データ検索オペレーションに用いるメモリシステムを構成する上で経験する1つ の問題は、キーワードならびにルールに基いた探索の双方に効率的に使用しうる システムを構成することが困難なことである。キーワードによる探索用に構成し たシステムに対し、てルールに基く探索を行うには、まず、当該問題で見出され るエレメントを含む全てのデータレコードを選択する必要がある。
次に、これらのレコードはさらに検査されて、当該問題にいずれのレコードが関 係するのか検出される間違った数のエレメントを含んだり、間違った順序にエレ メントがあるレコードは除去される必要がある。
現在入手しうるコンピュータハードウェアを用いて人工知能システムを実現する 上で経験する別の問題は、特定の間合せシーケンスに一致するレコードを見つけ るために大きなデータベースを探索するのに時間を要することである。有用なシ ステムとなりうるには極めて多数のレコードを含む必要がある。データベースを 探索するに要する時間はデータベースの長さに比例するので、探索速度が一定の システムは、新しいルールの形式の新しい情報を追加することにより「より賢く 」となると、探索もゆっくりとなる。この問題が解決するのは、探索すべきデー タベースのサイズが大きくなるにつれて当該システムの探索速度を増すことによ ってのみ可能である。
集積回路技術において多くの改良がなされてきたにもかかわらず、最新のコンピ ュータは元来のノイマン(Von Neu+5ann)型の設計とほとんど変っ ていない。古典的なフォンノイマンのマシンは中央処理装置と、一定長さのワー ドに構成された個別のメモリとから構成されている。前記処理装置は、メモリの 始点に対して希望するワードの位置を規定することにより一時に1ワードの割合 でメモリからデータを取出す、前述の探索を行うには、ノイマン型の中央処理装 置はメモリからデータベースの各ワードを順に検索し、次いで、メモリに記憶さ れている間合せシーケンスにおけるキーワードの各々と比較するであろう。
のサイズに関して限度がある。毎秒1000万回の比較速度においてさえもノイ マン型のマシンは、米国の各種の管轄に関する司法リポータシリーズのみを含む ライブラリィの中味を探索するのに抑制されるであろう。
速度上の制限の他に、ノイマン型のアーキテクチュアはまた、その本質的なハー ドウェアに対する依存性の故に多くの限界を露呈する。メモリアドレスを規定す るために、一定数のアドレスラインが使用される。N個のアドレスラインを備え たシステムは2N個のワードのメモリのみをアドレス可能である。この限度を越 えてメモリ容量を増すにはアドレスラインの数を実際に増す必要がある。このこ とは、はとんどのシステムは、コンピュータの命令の組がアドレス可能な最大メ モリサイズを規定するため、ハードウェアおよびソフトウェアを変更することに なる。さらに、メモリの要素の1つが故障してメモリの一部が非活動となれば、 そのメモリの記憶分を、再プログラムなくしてメモリの故障していないセグメン トに移すことは困難である。
メモリのサイズが、増加した数のデータレコードを記憶する必要性に応じて増加 するにつれて、メモリの一要素の前述のような故障の確率は増加する。
最後に、大型のデータベースを探索する上での問題は、従来の中央処理装置に介 在するわずかな命令のみしか使用しないことである。典型的な中央処理装置は、 それが実行でき、外部のワードを扱って、数字を表わすメモリワードと組合せる ための数学的命令へ入出力命令から変えることの可能な文字通り数百側の命令を 有している。データベースの探索問題はこれら命令をせいぜい10から20個必 要としない、したがって、データベース探索問題は中央処理装置の命令のレパー トリを十分に利用しない。
中央処理装置の速度上の制限は、それぞれがメモリへのアクセスを有する、多数 の中央処理装置を有するシステムを構成することによりある程度克服しうる。し かしながら、この方法には限度がある。所定のメモリを共用しろる中央処理装置 の数は究極的には、各中央処理装置がメモリにアクセスするに要する時間により 制限される。メモリバスがこの時間の1Δ。につき各中央処理装置に専用される 必要があるとすれば、同じメモリを10個以上の中央処理装置が有効に共用する ことができない、このように、中央処理装置を複製することはノイマン型のマシ ンの速度上の制限に対する最良の解決法ではない。
複製した中央処理装置を用いて探索時間を有効に低減できたとしても、依然とし てハードウェアによる制限が残っている。
早暁これらのハードウェアの制限を越えてデータベースを拡張したいと思うよう になろうが、これはノイマン型のマシンで行うことは困難である。理想的には、 アドレスラインの数を付随して増加する必要がなく、データベースのサイズを増 大させる必要のある際は常に当該システムに追加しうるモジュール式メモリがあ ればよい、このようにメモリを拡大できることは、益々増加する量の情報と獲得 してかつ使用できるマシンを構成したい場合、人工知能システムにおいて益々重 要となってくるであろう。
発明の開示 本発明は間合せシーケンスに応答して記号のデータシーケンスを記憶し、かつ検 索するメモリシステムから構成される。前記シーケンスの各々は3種類のタイプ の記号、即ち、定数、区切り記号および変数とから構成されている。データシー ケンスはもし、各シーケンスにおける変数を定数あるいは定数と区切り記号との 組合せであって、区切り記号で始まり、かつ終る組合せに代替することにより2 つのシーケンスが同一とされるならば間合せシーケンスに応答して検索される。
この検出は各データシーケンスから選択された記号と、対応する間合せシーケン スの記号とを対で多数比較することにより行われる。各々の対のテストを首尾よ く通過するデータシーケンスが検索される。
データシーケンスは複数のスロットから構成され、各スロットがデータシーケン スからの1個の記号を記憶するために使用されるメモリアレイに記憶される。デ ータシーケンスにおける隣接する記号がメモリアレイの隣接するスロットに記憶 される。
間合せシーケンスは、外部のデータ処理システムにメモリシステムを接続するバ ス上で一時に1個の記号の割でメモリシステムに送られることが好ましい、各間 合せ記号は、次の間合せ記号を受取る前にデータシーケンスの各々における対応 する記号の全てと比較される。各データスロットは、該スロットが現在使用中で あることを示すフラッグを有している。各々の使用中のスロットに記憶されてい る記号は、受取られた次の間合せ記号と比較される。これらのフラッグは、全て のスロットが使用中であることを示すために、対での比較の開始前に初期状態と される。それぞれの対の比較の後、比較のために使用されてい含むデータシーケ ンスに関連する少なくとも1個のスロットは作動状態にセットされる。対応する 間合せシーケンスの記号との対での比較の各々を上手く合格したデータシーケン スは、作動状態のスロットに記憶されている少なくとも1個の記号を含む0作動 状態のスロットに記憶された記号を含むシーケンスは、最後の間合せ記号が受取 られ、かつ比較された後読出ずことができる。
所定の間合せシーケンスに対応する全てのデータシーケンスに対してメモリを探 索するに要する時間を低減させるために、多数の処理装置が採用される。各種の 対での比較は複数の論理回路により実施される。メモリスロットはブロックある いはブロック当り1個以上のスロットを含むセグメントに分割される。
論理回路は各ブロックに接続されている。各論理回路は、それが接続されている ブロックのスロットにおいて各種の対での比較を行う。
ルールベースの探索を実施することの他に、メモリシステムはまた、特定のキー ワードのリストを含む全てのレコードを効率的に検索することができる。これは 特殊な記号、即ちガンプフ(gumpf)記号を含むことにより達成される。
したがって、本発明の目的は、メモリにおける位置に基くのではなくて、ルール の中味に基いてルールを記憶し、かつ検索するための改良メモリシステムを提供 することである。
本発明の別の目的は、1個あるいはそれ以上のキーワード即ちキーエレメントを 含むデータレコードの検索に用いうるメモリシステムを提供することである8 本発明のさらに別の目的は、探索機能を果す、複製の計算ハードウェアを採用す ることにより所定の間合せシーケンスに対応するレコードを検索するに要する時 間を低減することである。
本発明のこれらおよびその他の目的は本発明の以下の詳細説明および添付図面か ら明らかとなる。
図面の簡単な説明 第1図及び第1(a)図は本発明によるメモリシステムの概略を説明するための 図である。
第2図は第1図に示すメモリシステムに記憶されたデータの典型的な探索に用い られる過程を示す図である。
第3図は第1図に示すメモリシステムに記憶されたデータの第2の典型的な探索 に用いられる過程を示す図である。
第4図は第1図に示すメモリシステムに記憶されたデータの第3の典型的な探索 に用いられる過程を示す図である。
第5図は、キーエレメントの探索を簡素化するために、「*」エレメントで示す ガンプフ記号を用いる図である。
第6図は本発明の好適な実施例の概略ブロック線図である。
第7図は好適実施例に採用された「ジャンプワイヤ」回路の概略図である。
第8図は本発明の第2の好適な実施例を示す図である。
第9図は第8図に示す実施例に使用するジャンプワイヤを示す図である。
第10図は第8図に示す多重化制御回路の詳細図である。
発明を実施するための最良の形態 本発明によるメモリシステムにおいて、ルールは、3種類のタイプのエレメント 、即ち区切り記号、定数および変数を含みうるデータシーケンスと称される記号 のストリングの形態で記憶される。“(“and”“)”で示す区切り記号はデ ータシーケンスと、該データシーケンス内の副表現との境界を区切るために使用 される。記号のストリング(a、b、(f、g)、c)は第1のエレメントとし て「a」を、第2のエレメントとして「b」を、第3のエレメントとして’f、 gJの組合せを、第4のエレメントとして「c」を有するデータシーケンスを示 す、定数は、例えば前述の問題における「食べる」と「空腹」のような一定の値 を有するエレメントである。
(a、b、c)に対する要求は、定数a、bおよびCの3個全てが、それらの間 に他のエレメントを介在させずに、前記の示す順に介在する場合のみ満足しうる 。Xが任意の名前である場合のし?」あるいは「?X」で示される変数はいずれ かの定数あるいは別の変数により満足しうる。それらは[いずれかの突合せJの 簡略化を構成する。このように、(a、 ? 、b)の形式の全てのデータシー ケンスを見付けるようにとの要求により(a、x、b)、(a、 ? 、b)、 (a、z。
b)、(a、(d、e)、b)、等を戻すことになる。
前記の例において、r I F 、(?x、eats)、THEN 、(?x、  ?s。
?y)」の形式のデータシーケンスに対してメモリが探索される。
r(IP、?、THEN、?)Jの形式の全てのデータシーケンスに対する要求 により、前述に列挙したものを含むrIF THENJの全てのデータシーケン スを検索する。
探索時間は探索されつつあるデータベースの長さに比例するので、それぞれ独自 の処理ユニットを備えた数個のサブユニットにデータベースを記憶するメモリを 分割することにより低減しうる。これは、それぞれが間合せシーケンスあるいは キーエレメントの探索に用いられるキーワードのリストおよびデータベースの1 個以上のワードを保持するに十分なメモリを備えた、多数の小型のノイマン型の マシンの間で探索作業を分割することに等しい、そのようなシステムによる最高 速探索はメモリの各ワードに1個の処理ユニットを組込んだメモリによって達成 される。その場合、1回のメモリサイクルにおいて、メモリはそれ自体をキーワ ードに対して比較し、キーワードが現われてきた各データシーケンスを識別する 。処理ユニットに対するデータベースワードの適正な比率は、メモリのそれに対 する処理ユニットの複雑さに左右されることは明らかである。処理ユニットは探 索機能の実行に要する指令は掻く少なくてすむので汎用の中央処理装置よりも構 造がはるかに簡単でよい、その結果、比較的高密度の処理ユニットが可能とされ る。高度に複製されたこのタイプのモジュール構造は近代的なVSLI集積回路 製作技術に特に適している。
このタイプの複製されたコンピュータハードウェアは、またメモリ容量の各ユニ ットがビルトインした処理ユニットの形態で独自の探索能力を有しているため、 データベースのサイズが大きくなっても処理時間は増えないという点においてデ ータベース探索問題に十分適している。したがって、当該システムの計算能力は データベースの拡大と共に拡大する。さらに、メモリにおいて探索機能を提供す る処理ユニットに対して、システムの中央処理装置は、このタイプの構成におい てオーバヘッドは比較的少ない。アドレスあるいはメモリの中味に関連したその 他のデータを絶えず注意し続ける必要はない。探索の結果をいずこに記憶するか に関する指令を以って多数のモジュールから構成されているメモリユニットに間 合せシーケンスを送るのみでよい。
本発明によるメモリシステムを第1図において10で概略的に示す。前記メモリ システムは、当該装置を従来の構成のバス11に接続する受取回路41と、間合 せ記号を保持するバッファ12とから構成される装置 り手段40を含む.前記間合せ記号は、いずれの記憶したデータシーケンスを検 索すべきか規定するために使用されている間合せシーケンスでの記号の中の1個 からなる.メモリブロック16は間合せシーケンスに応答して検索すべき記号の データシーケンスを記憶している.バッファ12とメモリブロック16とに接続 された比較手段14は、特定のデータシーケンスが間合せシーケンスに対応して いるか否かを確認するに必要な比較操作を実行する。
メモリブロックは、それぞれデータシーケンス記号を記憶するために使用される 複数のスロット18に分割される.典型的なスロット18を第1(a)図に示す .各スロッ■〜は一定数の1ビツト記憶セルl7を含み、2つのグループ、即ち 識別グループ24とデータグループ26とに分割されている.識別グループはス ロットに記憶されているデータのタイプの識別、例えば定数か、変数かあるいは 区切り記号かを識別するために使用される.データグループはスロットに記憶さ れた特定の記号に関する情報を記憶するために使用される.例えば、もし定数「 a」がスロットに記憶されていたとすれば、データグループは「a」の2進表示 を含み、識別グループは定数のコードを含むことになる.さらに5個の別の1ビ ツト記憶セルが各データスロット、即ち保持ビット20、トークン22、削除ビ ット30、読取りポインタビット32および書込みポインタビット34に関連し ている.前記の記憶セルの各々は2種類の状態、即ちセットの状態あるいはリセ ットの状態の中のいずれかの状態にある.これらの記憶セルの各々の使用につい て以下詳細に説明する。
バッファ12も同様に複数の1ビツト記憶セル17を含み、かつ識別グループ4 3とデータグループ42とに分割されている.これ八のグループはスロット18 における対応するグループと同じ機能を果す.スロット18に介在する前述の5 個の付加的な1ビツトの記憶セルはバッファ12には介在しない。
好適実施例において、各スロットのデータグループにおけるビットの数ほ30よ りも多い.このため10億個の異なる定数を規定するに十分なスペースを提供す る.アルファベットの文字は、諸例における目的を示すために単に用いたもので ある.実際、英語の単語、節、あるいは文章のいずれかのコードを各定数に割当 てる.例えば、前述の例において、「食べる(eats)Jという語は1個の定 数により表示しうる.[空腹(bungry)Jという語に対して第2の定数を 使用しうる。1と10億との間の数である特定のコードと、それに関連する相等 の英語との間の関連をテーブルに記憶でき、あるいはコードが直接に、相等の英 語を規定する、即ちコードが、当該ワードのスペリングである7ビツトのASC IIコードの組合せとなりうるようにコードを選択することができる.もしテー ブルが使用されたとすれば、テーブルは何らかの補助記憶装置で記憶でき、ある いは本発明による装置に記憶されているデータシーケンスの形態で記憶しうる. 例えば、もしreats,、1を表わす定数に500のコードが割当てられてい るとすれば、(500,# 、e,a,t,s)の形式のデータシーケンスを本 発明において記憶しうる。コード500を備えた定数の相等な英語を検索するた めには、(500,#.・・・・・・)の形式のシーケンスに関し本発明のメモ リを探索する.ここで、#は前述のテープルシーゲンスを他のデータシーケンス から区別するために使用される特殊コードである。
本発明は所定の間合せシーケンスに対応する記号の全ての記憶されたデータシー ケンスを検索する。検索操作は3つの過程から構成される.まず、当該装置は下 記するように初期状轡とされる。第2に、探索に使用されるべき間合せシーケン スがバス11により本発明の装置に送られる.最後に、間合せシーケンスに対応 するデータシーケンスがバス11により、間合せシーケンスを本発明による装置 に送ってきた外部のデータ処理システムに戻される。
各データシーケンスは、間合せシーケンスからの1個の記号および当該データシ ーケンスからの1個の記号とを含む多数の対による比較において間合せシーケン スに対してテストされる。
間合せシーケンスは、一時に1個の記号の割で、記号の順序のついたリストとし て本発明の装置に送られる.所定の間合せ記号を含む、対での比較の全ては、次 の間合せ信号が当該装置に送られる前に実施される、以前の対での比較を通った データシーケンスのみが、メモリシステムに現在結合されている間合せ記号に対 してテストされる。
現在の間合せ記号に対してテストすべきデータ記号はトークン22を用いること により識別される。セットされた状態でのトークンはそのトークンと関連したス ロットに記憶された記号が現在の間合せ記号に対して比較されるべきことを示す 、比較手段14はセットされた状態のトークンにより印のついた全ての記号を現 在の間合せ記号と比較する。それぞれの対での比較が完了した後、比較手段14 はトークンをリセット状態にリセットする。テストされたデータ信号が、比較さ れた間合せ記号に適合すれば、比較手段14は当該データシーケンスにおける比 較すべき次のデータ記号のトークンをセット状態にセットする。その後、セット された状態あるいはリセットされた状態といえるトークンはそれぞれセットされ たトークン、あるいはリセットされたトークンと称される。同様に、トークンの 状態をセット状態あるいはリセット状態に変える操作は、それぞれトークンをセ ットする、あるいはリセットする、と称される。
トークンがセット即ち作動状態にあるとき、それぞれの記憶されたデータシーケ ンスにおける、テストすべき次のデータ記号を指示する手段を提供することの他 に、トークンはまた、間合せシーケンスの以前の対での比較を通ったデータシー ケンスを区別する手段も提供する0間合せシーケンスの開始前にメモリシステム が初期状態とされると、全てのデータスロットのトークンがセットされる。所定 のデータシーケンスにおけるデータ記号が間合せ記号と一致する場合、新しいト ークンが当該データシーケンスにおいてセットされる。対での比較の各々におい て対による比較が不首尾の場合、当該データシーケンスには新しいトークンは何 らセットされない。比較手段14はデータ記号のトークンをリセットする、即ぢ 比較の終りにおける最f&の比較に用いられる非活動状態にその状態を変えるの で、対の比較が不首尾のデータシーケンスはセットされたトークンを備えたスロ ットをもはや含むことにならない。ルールに基く探索の場合、以前の対の比較を 首尾よく合格口なかったシーケンスはセットされたトークンを備えたスロットを 含まない、このように、トークンも間合せシーケンスに応答して検索すべきシー ケンスを区別する手段を提供する。
所定のデータシーケンスを、ルールに基く探索における間合せシーケンスに対し て比較する場合に、比較手段14は間合せシーケンス記号と、比較されつつある データシーケンスにおける対応する記号との間で一連の対による比較を行う、比 較すべき最初の記号は各シーケンスにおける最初の記号である。比較すべき次の 記号は、以前の比較において比較された記号によって左右される。もし以前の比 較が開いた区切り記号と変数とを含んでいなかったとすれば、比較すべき次の間 合せシーケンスは、以前の比較に用いられた間合せ記号に続く次の記号でありか つ使用される次のデータシーケンス記号は以前の比較に用いられたデータシーケ ンス記号に続く次の記号である。1つのシーケンスにおける変数が、他のシーケ ンスの開いた区切り記号と比較されるとすれば、比較すべき次の記号はその変数 に続く記号と、および前記の開いた区切り記号に対応する閉じた区切り記ンスに よって満足させることができる0例えば、もしくa、 ? 、x)のデータベー スが(a、(k9m)、y)の間合せシーケンスと比較されたとすれば、比較手 段14により実行される対の比較は以下の通りとなる。まず、データシーケンス における“′く”が間合せシーケンスにおける“(”と比較される。第2に、デ ータシーケンスにおける“a”が間合せシーケンスにおける“a”と比較される 。第3に、データシーケンスにおける“?”が間合せシーケンスにおける“(” と比較される。′(”はサブシーケンス゛’に、鋤”の始まりを示すので、比較 すべき次の記号は間合せシーケンスにおいて″)”に続く“y″とデータシーケ ンスにおいて°°?”に続くxである。
データシーケンスあるいは間合せシーケンスに埋設されたサブエクスプレッショ ンはまた1個以上のサブシーケンスを含みうろことに注目すべきである。したが って、どの閉じた区切り記号“)”も「ジャンプ」すべきシーケンスあるいはサ ブシーケンスの始まりを区別する所定の開いた区切り記号に対応するか確認する 何らかの手段を設ける必要がある。好適な実施例において、ラベルがそれぞれの 対応する対の区切り記号に関連している。比較手段14が“(”に出合うと、関 連するラベルを読取り、次に同じラベルを備えた“)”と出合う迄当該シーケン スにおいて順方向に探索する。このシステムをうまく作動させるためには、特定 の対の区切り記号を示すために使用されるラベルは、その対の区切り記号により 指示されるサブシーケンス内で繰返されない。
好適なラベルは区切り記号により区別される副表現の入れ子の構成のレベルであ る。各データシーケンスと、間合せシーケンスとは、レベルがOとされる区切り 記号て始まり、かつ終る。
nのレベルのシーケンス内に含まれるサブシーケンスはn+1のレベルが割当て られる。したがって、データシーケンスのサブシーケンスは1の入れ子の構成ラ ベルを有する。このサブシーケンスのサブシーケンス入れ子構成レベルが2とい うようにされる。入れ子椙成レベルはそれぞれの開いた区切り記号と対応する閉 じた区切り記号と共に、区切り記号が記憶されているスロットのデータグループ に記憶される。
入れ子構成nのシーケンス内に含まれた変数は入れ子構成n+1のサブシーケン スに対してのみ適合しうる。したがって、またラベルを、前記変数に対してうま く適合しうるサブシーケンスの入れ子レベルを示す各変数と関連づけることもで きる。好適な実施例においては、以下に述べる理由により各変数もラベルを有し ている。このラベルは、変数が記憶されており、かつこれが適合しうるサブシー ケンスの入れ子レベルに等しいスロットの識別グループに記憶されている。比較 手段14は、ある変数と適合するサブエクスプレッションが取出されるべき場合 に、“(n、”)’と共に記憶されたラベルとは反対のものとして実際に前記の レベルを用いる。
本発明により行われるルールに基づく探索の単純な例を第2図に示す0図示した メモリブロックは2個のデータシーケンス、即ちシーケンス(a、 ? >と( b、e)とを記憶している。これらのシーケンスはそれぞれスロット1−4と5 −8とに記憶されている。探索されている間合せシーケンスは(a、b)である 、前記スロットの各々は、この例の説明の単なる便宜上第2図において番号を付 している。
探索の開始時、トークン22の全ては第2(a)図において塗りつぶした円で示 すようにセットされる。間合せシーケンスの各記号は以下のように個別に探索さ れる。セットされたトークンを有しスロットに記憶された各記号は、メモリブロ ックの上方のボックスで示す間合せシーケンスにおいて探索されつつある現在の エレメントと比較される。第1の間合せエレメント(Oの場合、全てのトークン はセットされ、このためスロットの全ては°゛(0”に対して比較される。スロ ット1と5とは適合する。
適合しなかった全てのスロットに対してトークンはリセットされ、空白の円で示 すように新しいトークンは何らセットされない。最終的に、スロット2と6とに おけるトークンは、それぞれスロット1と5とが正しく適合すればそれに応答し てセットされる。この過程が間合せシーケンスの第2の記号“a”に対して繰返 される。第2の突合せオペレーションの始まりにおける突合せトークンの状態を 第2(b)図に示す。スロット2と6のみがこの点において突合せなトークンを セットしている。したがって、これらのスロットのみが間合せシーケンスのエレ メント“a”に対して比較される。これらの中、スロット2のみが一致する。し たがって、第2のオペレーションの終りにおいて、第2(c)図に示すように、 スロット2において正しい突合せにより得られたのはスロット3における1個の セットされたトークンのみである。突合せの次の過程において、依然としてセッ トされたトークンを有する唯一のスロットであるスロット3は間合せ記号”b” と比較される。スロット3は“?1”で示す可変記号を含むので、間合せシーケ ンスにおけるいずれの定数とも一致する。したがって、スロット3のトークンは リセットされ、スロット4のトークンはセットされる。aきの次の過程において 、スロット4は間合せシーケンスにおける゛)o”と比較される9間合せシーケ ンス適合の終りにおいて、セットされたトークンは、間合せシーケンスと一致し たメモリにおける全てのデータシーケンスの後に介在し、この例では第2 (d )IIJに示すように第1のデータシーケンス(問合せシーケンスに適合する唯 一のシーケンス〉の後に介在する。
変数に対して適合されているサブエクスプレッションの周りて「ジャンプ」させ るために比較手段14が用いる方法は、その副表現が間合せシーケンスあるいは データシーケンスに含まれていたか否かによって変わる0間合せシーケンスにお ける変数がデータシーケンスの副表現に対して一致される場合を第3図に示す。
ここでは、間合せシーケンス(Oa、71)Oはデータシーケンス(Oa、(1 、b(2c、d)2)1)0と比較される。間合せシーケンスにおける?1がデ ータシーケンスにおける゛(1”に対して適合されると、比較手段14は、対応 する″)1”を見出すまで当該のデータシーケンスを頭方向に探索し、“)1パ を含む1−一クンに続くスロットのトークンをセットする。このことは2過程で 行われる。まず、′)1”を含むスロットのトークンがセットされ、パ〈1”を 含むトークンがリセットされる。このジャンプを達成するだめの特殊なハードウ ェアは以下詳細に説明する。
第2に、?1が“〉1”に比較され、かつ変数がいずれのデータ記号とも一致す るので、以下のスロットのトークンはこの比較の終りにおいてセットされる。好 道な実施例においては、これは一過程において実行される。
第4図はジャンプすべきサブシーケンスが間合せシーケンスにある場合を示す。
ここで、データシーケンス(Oa、71)Oは間合せシーケンス(Oa、(lb 、(2c、cl)2)1)Oと比較される。
比較手段14が間合せシーケンスの(1に対して?1を適合させた後、?1を含 むデータシーケンスにおいてデータ記号を含む次の比較を行いうる前に本発明に よる装置に間合せシーケンスの対応する′)1”が結合されるまで待機する必要 がある。その他のデータシーケンスからのデータシーケンス記号を含むその他の 比較は、比較手段14が°′)1”を待機している間は継続しうる。この待機状 態は?1を含むスロットに開運した保留ビット2oをセットすることにより実行 される。セット保留ビットは、スロットが間合せ記号に対してまだ比較できる状 態にないことを示す、比較手段14がスロットの記号をセット保留ビットと比較 する際、間合せ記号が、問合せの?を備えたスロットに含まれるものと同じラベ ルを備えた閉じた区切り記号でない場合は何もしない。この場合、一旦“′)1 ”が当該装置と連結されると、比較手段14は保留ビットどトークンとの双方を リセットし、?を含むスロットに続くスロットのトークンをセットする。
本発明による装置においては、前述のルールに基く探索とは対照的にキーワード のみに基く探索を促進するよう数種の特徴が含まれる。まず、間合せシーケンス は′(”で始まり、あるいは“)”で終る必要はない、もっとも記憶されたデー タシーケンスはそれぞれ(Oand)Qで始まり、かつ終る必要がある。このこ とにより全てのトークンをセットし、単一の記号の間合せシーケンス゛a”と突 合せをし、次に、セットされたトークンを有するスロットに含まれた少なくとも 1個の記号を依然として含む全てのデータシーケンスを読出すことにより特定の エレメントa”を含む全てのシーケンスを探索できるようにする。
データシーケンスのどこかにおいて“b“が続く“a”を含む全てのデータシー ケンスを見付けたい場合、前述の過程を2回繰返せばよい。なお、II、”を含 む全てのデータシーケンスが区分けされ、中央処理装置により制御されて、ある 補助記憶メモリに記憶される。次いで“b”を含む全てのデータシーケンスを区 分けし、補助記憶装置に記憶したシーケンスと比較する。双方のグループに共通 のシーケンスを読出す。この方法は有効ではあるが、多数のデータシーケンスが 第1の記号を含む場合、非常に大きな容量の補助記憶装置を必要とする。
この問題を排除するために、第4のタイプの記号、即ち“*”記号で示すガンプ フを規定した。比較手段14が間合せシーケンスにおいて*と出合う場合、現在 セットされているものと次の)0との間の全てあトークンがセットされる。この ため突合せ過程が*の下のいずれかのスロットにおいて継続できるようにする。
ガンブフ記号の演算を第4121に示す、第5図に示す場合、間会せシーケンス (a、*、f)がメモリに記憶されたデータシーケンス(a、b、(c、d)、 e、f)に突合せられつつある。“a”に対して突合せられると、セットされた トークンは第5(&)図に示すようにスロット3に介在する。閏合せシーケンス において*と出合った後スロット3にある現在の1・−クンからスロット10に ある)0のト−クンまでの全てのトークンは第5(b)図に示すようにセットさ れる。したがって、間合せシーケンスにおける“f”が次に探索されると、スロ ット4のみでなくスロット3がら10までが検討される。スロット9はゴを含む ので、間合せシーケンス記号’T”と比較することによりスロット10のトーク ンを第5(c)図に示すようにセットする。したがって間合せシーケンス(a+ *+f)は、データシーケンスのどこかでゴが後続する′a”を含む全てのデー タシーケンスをマークする。間合せシーケンスにおけるガンプフ記号の使用につ いての付加的な例を以下説明する。
ガンプフ記号はまたデータシーケンス内に今あることができ、そこで、ガンプフ 記号に先行するデータシーケンスの部分が、比較手段14によりガンプフと比較 される間合せ記号を先行する間合せシーケンスの部分と突合わされると前記ガン ブフ記号を含むデータシーケンスが選択される。いずれがの間合せ記号がガンブ フ記号と比較されると、ガンプフ記号を含むスロットの保留フラッグがセットさ れる。この保留フラッグは、本発明による装置がリセットされるが、あるいは「 正確な」突合せ指令が出されるまでセットされたままである。正確な突合せ指令 を以下説明する。さらに、このスロットにおけるガンプフ記号といずれかの間合 せ記号との間の比較の度毎の後に、ガンプフ記号を含むトークンに続くスロット のトークンもセットされる。このため、ガンブフを含むスロットの後のスロット において、該スロットにおける記号と突合せる間合せ記号がメモリに結合される ときはいつでも比較を継続させることができる。
一旦間合せシーケンス全体がメモリへ送られると、その結果を読出す必要がある 。このことは、間合せシーケンスを満足させた各データシーケンスの始まりをマ ークし、次いでそれぞれのマークされたデータシーケンスを読出すことにより達 成される。トークンは「マーク」として使用される。突合せの終りにおいてセッ トされたトークンが間合せシーケンスを突合せした各データのどこかで、あるい は前記のデータシーケンスの直後に現われる。「ルールベースの」突合せの場合 、トークンはデータシーケンスの終りの直後にセットされる。「キーエレメント 」による探索の場合、トークンは突合せされた最後のデータシーケンス記号の後 に現われる。これらのセットされたトークンを、該トークンが現われるデータシ ーケンスの始まりまて「ジャンプ」させる命令を提供する、即ちトークンがそれ ぞれのセットされたトークンの上に現われる最初の(0まで戻ることが好ましい 。これはそれぞれ突合せられたデータシーケンスの始まりをマークし、そのため シーケンスからの読出しを促進する。
再び第1図を参照すれば、好適な実施例においてデータシーケンスは、間合せシ ーケンスを本発明による装置に結合するために使用されるバス11上て一時に1 個の記号の割合で本発明による装置から読出される。読出すべき記号を含むスロ ットは比較手段14と受取手段41とによりバス11に接続される。接続すべき スロットは読取りポインタビット32により規定される。いずれのときも1個の みの読取りポインタビットがセットされうる。
このようにセットされたビットを有するスロットは読出しの間比較手段14によ りバス11に接続されている。メモリブロクエ6内でのセットされたビットの位 置は以下詳細に説明する3つの命令の中の1つを実行することにより変更可能で ある。同様に、好適な実施例においては、一時に1個の記号の割合でバス11か ら本発明による装置へ書込まれる。バス11上で通信される記号を記憶するため のスロットは、前述の読出しポインタビット32と同様に動作する書込みポイン タビット34により規定される。
以下詳細に説明するこの書込み操作の間、セットされた書込みポインタビットを 有するスロットは比較手段14によりバス11に接続されている。セットされた 書込みポインタビットの位置は本発明による装置へ適当な書込み命令を送ること により変更される。
本発明による装置に一旦データシーゲンスが記憶されると、それは当該シーケン スの記号を含む各スロットで削除ビット30をセットすることにより削除しろる 。比較手段14は間合せ記号と、本発明による装置に記憶された記号とを対で比 較すると、削除ビットをセットした全てのスロットを無視する。
所定の間合せシーケンスに対応する、記憶された全てのデータシーケンスを見付 けるに要する時間を低減させるためにメモリブロック16は第6図に示すように 多数のセグメント80に分割される。各セグメントは1個以上の隣接するスロッ トから構成されている。比較手段14′は複数の比較回路82を含み、該回路8 2はそれぞれ、従来の多重化回路88を介して前述のようなセグメントの1個に 接続されている。各比較回路は、それが接続されているメモリセグメントに記憶 された記号と、本発明による装置に現在結合され、がっ間合せバッファ12′に 記憶されている間合せ記号との間で対での比較を実施するものである0間合せ記 号はバッファ12′から間合せバス86の比較回路の各々まで連通ずる。新しい 間合せ記号が間合せバス86に結合されると、受取回路41′はバス84で比較 回路に信号を送る。次いで各比較回路は制御されてメモリスロットを通ってザイ クルし、作動状態の各スロットに記憶された記号を間合せ記号と比較する0個々 の比較回路は並列に作動するので、前記の回路が1個のシステムと比較して比較 回路の数に等しい係数分だけ探索時間は低減する。
また各比較回路82はバス84により、セグメント80に記憶された記号を含む 比較を、該比較回路に接続されたセグメントのいずれかの側で実行する比較回路 に接続されている。バス84は1個の比較回路が、該回路に接続されたセグメン トに隣接したセグメント80においてトークンがセットされるようにしている。
比較回路82が間合せ記号と突合せる記憶された記号を見付けると、該記号を含 むトークンの後のスロットのトークンをセットする必要がある。このスロットは 、それが制御するセグメントに隣接するセグメント80に位置しているとすれば 、前記の隣接するセグメントを制御して問題のトークンをセラI・させる比較回 路82に信号を出す。
トークンを隣接していないスロットの間で転送する必要がある、即ち第1のトー クンが一方のスロットでリセットされ、第2のトークンが、第1のスロットの少 なくとも2スロツト後に来るスロットでリセットされるように、多数の上記に列 挙したような応用例がある0例えば間合せセンテンスがa(x、に対して比較さ れる?Xを含んでいるとすれば、トークンはメモリにおいて突合せする)\を含 むトークンに続・く次のスロワ1−までジャンプする必要がある。本発明の好適 な実施例においては、このことは比較手段14の一部であり、かつ第6図におい て132で示すようにメモリブロックの全長にわたり延びている「ジャンプワイ ヤ」を用いて達成される。各トークンはスイッチ回路95によりバス130に接 続されている。この回路のさらに細部の概略図を第70に示す。各スイッチ回路 95は、150.152および154で示す3個のスイッチと制御回路142と を含む9制御回路142は制御バス90上で連通ずる。「ジャンプワイヤ」14 4は適当な「遮断」スイッチ150を開放することによりいずれかのスロワl− において遮断しうる。
各トークンは入力端子156と出力端子158とを有する。各)〜−クンの入力 および出力端子の双方は、前記遮断部の上方あるいは下方のいずれかにおいてジ ャンプワイヤに接続しつる。例えば、入力端子156を遮断部の下方でジャンプ ワイヤに接続するためにはスイッチ154が端子156に接続されている。入力 端子を前記遮断部の上方でジャンプワイヤに接続するためには、スイッチ152 が端子156に接続される。1−一クンの入力側の信号によりトークンはセット される。出力端子も同様に遮断部の上方あるいは下方のいずれかで接続すればよ い。ジャンプワイヤは特定のスロットの出力端子を1個以上の特定されたスロワ l〜の入力端子に接続する手段を提供する。ジャンプワイヤの作動は、受取回路 41により制御されたインタフェース回路133により調整される。
インタフェース回路】33はジャンプワイヤにおいて遮断すべき個所の区切り記 号ラベルと、それぞれのセットされたトークンにおいてスイッチ閉鎖と、スイッ チ回路95に対する遮断との組合せを連絡させる。前記回路は1個以上の比較回 路82と受取回路41からの+1報なバスS4上で受取る。この回路は従来の構 成の論理回路である。
?×がメモリの(×に対して突合わされると、制御バス90上の命令を、a)x を有する全ての位置において遮断スイッチ150を開放させる制御回路142ま で連絡させることにより)Xを有する全てのスロットにおいて遮断が行われる。
また、セットされたトークンを有するスロットにおいてもこれらの位置における 遮断スイッチを開放することにより遮断が行われる。セットされたトークンを有 するスロワ1〜からのトークンの出力端子は、スイッチ154を出力端子158 に接続することにより遮断部の下方でジャンプワイヤ144に接続される。)× を有するスロットにおけるトークンの入力端子はスイッチ152を入力端子15 6に隣接することにより遮断部の上方でジャンプワイヤ144に接続される。ジ ャンプワイヤ144において遮断部を用いることにより、メモリ全体にわたり1 本のワイヤを用いることができることに注目すべきである。トークンの供給源と 目的地として作用する2個のスロットの開で直接の接続が行われるため、ジャン プされたスロット数とは独立した時間において転送が行われる。したがって、羊 純な一定定数タイブであるか、あるいはトークンが色々な数のスロワ1−念下る タイプのその他のメモリスロットにおいて行われている突合せとは干渉しない。
また、間合せシーケンスにおける*の場きにもジャンプワイヤは使用される。こ こでは、前述の規定されたトークンと、)0を含むスロワI〜とにおいて遮断が 行われる。その間の全てのスロットはそれらのトークンの入力側が配線に接続さ れており、そのためセットされた1ヘークンと)0との間のトークンの全てはセ ットされる。
最後に、セットされたトークンを、該トークンが現われろデータシーケンスの始 まりまて運動させる命令もジャンプワイヤ144を用いている。ここでは、セッ トされたトークンを有するスロットと(Oを含む全てのスロットとにおいて3! !断が行われる。しかしながら、この場合、セットされたトークンの出力側はジ ャンプワイヤ144の遮断部の上方に一点に接続され、(0を含むスロットにお けるトークンの入力側は遮断部の下方の一点に接続されている。
本発明の第2の好適な実施例を第8図において210で示す。
本実施例は極めて少ないデータシーケンスが介在する場合に特定の間合せシーケ ンスと突合せるデータシーケンス用のメモリを探索するに要する時間を著しく低 減させることができる。これは、いずれかのセットされたトークンと含まないメ モリの部分を飛すことにより達成される9この好適な実施例においては、データ シーケンス記号を記憶するために使用されているメモリブロック211は複数の 、212で示すものが典型的であるページに分割される。第8図に示す実施例に おいては4ページある。当該技術分野の専阿家には違った数のページがある実施 例も明らかである。各ページ212はN個のスロットと有する。各スロットは第 1(a)図に関して説明したものと同じである。所定のデータシーケンスが21 3で示すようにスロットの隣接するブロックに記憶されている。データシーケン ス記号を記憶する目的で、ページの境界は無視する。最初のデータシーケンスの 最初のデータシーケンス記号が第1のページの最初のスロットに記憶され、第2 のデータシーケンスの記号が第1のページの第2のスロットに配位されるように 順に記憶される。所定のページにデータシーケンスを受入れるに十分なスロット がない場合はシーケンスは次のページへと継続する。
メモリブロック211に記憶されたデータシーケンス記号と所定の間合せシーケ ンスの記号との間の比較は複数の比較回路214により行われる。そのような比 較回路はN個ある。各比較回路は各ページ212の所定のスロットに記憶された データシーケンス記号と本発明による装置に現在結合されている間合せシーケン ス記号との間の関連の比較を行う。第1の比較回路は各ページの第1のスロット に記憶されたデータシーケンス記号をバス218で連通ずる間合せシーケンス記 号と比較する。第2の比較回路は各ページの第2のスロットに記憶されたデータ シーケンス記号を前記の間合せシーケンスの記号等々と比較する。
メモリブロック211に記憶されているデータシーケンス記号と現在比較されて いる間合せシーケンス記号はバス218で各比較回路214に連絡される。
所定の時間において、メモリブロック211の1ページのみがこの比較処理に有 効である。このページは複数の多重化回路216により比較回路214に接続さ れる。各比較回路214には前記の多重化回路216が1個づつある。所定のペ ージのスロットの全ては次のページに進む前に現在の間きせシーケンス記号と比 較される。
もし現在有効なページの1番目のスロットに記憶されているデータシーケンス記 号が間合せシーケンスの記−弓と突合わされるとすれば、工番目の回路214が (I+1)番目の比較回路に信号を送り(1+1)番目のスロットのトークンを セットする。この信号は比較回路2】4を接続するバス219上を送られる。も し1=N、即ち有効ページの最後のスロットが間合せシーケンス記号と突合わさ れるとすれば、N番目の比較回路が最初の比較回路に信号を送り、次のページが 有効となればそのページの最初のトークンをセットする。
可変の間合せシーケンス記号がバス218に接続されるとすれば、メモリブロッ ク211に記憶されている1個あるいはそれ以上のデータシーケンスにおいて副 表現の周りでジャンプすることが必要になるかもしれない、ジャンプが比較回路 214により指示されるとすれば、即ち可変の間合せシーケンス記号が開いた区 切り記号に突合わされるとすれば、このジャンプは2個のスイッチ226により 比較回路214の各々に接続されているジャンプワイヤ220の信号により実行 される。
このジャンプワイヤは第7図に示すものと同様に作動する。
ジャンプワイヤ回路は第9図において230でより詳細に示す。
さて第9図を参照すれば、各比較回路214は入力端子240と出力端子242 とによりジャンプワイヤ220に接続されている。入力端子240の信号が比較 回路214が現在接続されているスロットのトークンをセットさせるようにする 。もし比較回路214に現在接続されているスロットのトークンがセットされて いるとすれば信号が出力端子242に介在する。各比較回路214はジャンプワ イヤ220に関連した3個のスイッチ、即ちスイッチ244,246および24 8を制御する。スイッチ248は、該スイッチを制御している比較回路214の 位置においてジャンプワイヤの遮断がつくられるようにする。スイッチ242は 入力端子240あるいは出力端子242のいずれかを前記遮断部上でジャンプワ イヤ220に接続するために使用される。スイッチ244は入力端子240また は出力端子242のいずれかを前記遮断部の下方においてジャンプワイヤ220 に接続するために使用される。
前記のスイッチはスロワ1〜間で1−一クンを「ジャンプ」させるために使用さ れる。例えば、?Xが(Xに対して突ききわされると、)Xが記憶されているス ロットに現在接続されている各比較回路が、スイッチ248を制御して開放する ことにより該回路の位置においてジャンプワイヤが遮断されるようにする。また 各比較回路214は、(Xあるいは)Xのいずれかを有するスロットに現在接続 されているか否かを検査する。もしくXを有するスロットに接続されているとす れば、対応するスイッチ246を用いて前記回路はそれが制御しているスイッチ 248の下方で出力端子242をジャンプワイヤ220に接続する。)Xを有す るスロットに接続されているとすれば、前記回路は対応するスイッチ246を用 いて、それが制御するスイッチ248の上方で入力端子240をジャンプワイヤ 220に接続する。最後の比較回路におけるジャンプワイヤ220上の信号は、 ライン250により、第1の比較回路214においてジャンプワイヤ220に接 続された記憶回路249に記憶される。この記憶回路は次のページが使用可能と なればそのページに続けるようジャンプてきるようにする。
もしジャンプするには現在使用中のページに続くページにトークンをセットする ことを要するのであれば、ジャンプワイヤは、そのページが使用可能となれば、 そのページとの比較の開始時に適当な信号を介在させる。
現在の間合せシーケンスの記号が*”であるとすれば、それぞれのセットされた トークンの位置および、それぞれの)0の位置に遮断が導入される。セットされ たトークンを有する全てのスロットはその出カドークンを対応するスイ・ンチ2 46を介してジャンプワイヤ220に接続させている。セットされたトークンを 有さない全てのスロットは、その入力端子240をスイ・ソチ244によりジャ ンプワイヤに取付けている。
セットされたトークンはデータシーケンスの始点まで動くことができ、(0が現 われる全ての位置においてジャンプワイヤ220に遮断部と導入することにより 該トークンは該データシーケンスに現われる。(0を有する全ての位置はスイ・ ンチ246により入力端子240をジャンプワイヤ220に接続している。セ・ 7トされたトークンを有する全ての位置はその出力端子242をスイ・ノチ24 4によりジャンプワイヤに接続している。
セラ1−されたトークンをいずこにも有さないメモリページを分岐させることに より突合せ速度を著しく増加させることができる。再び第8図3参照すれば、多 重化回路212は、バス244の信号により現在使用中のページ212を特定す る多重化制御回路222によりv制御される。新しい間合せシーケンス記号が本 発明による装置に連結されると比較サイクルが開始する。以下詳細に説明するよ うに、多重化制御回路222はメモリブロック211の各ページ212のトーク ンを検査して、そのページに少なくとも1個のセットされたトークンがあるか否 か検出する。もしないとすれば、多重化制御回路222はそのページを飛すため にマークする0次いて多重化制御回路222は多重出回li′8216が、比較 回路214に飛ばされない最初のページに接続するようにさせる。
このページのメモリスロットを含む比較の終りにおいて、多重化制御回路222 は少なくとも1個のセットされたトークンを有する次のページが多重化回路21 6により比較回路214に接続されるようにする。このことは、現在の間a−せ シーケンス記号と最後のページに記憶されたデータシーケンス記号との間の比較 が完了するまで躾返される。
分岐されたページが、比較サイクルの開始時に何らセラ1へされたトークンを有 していないにもかかわらず比較のために這択される2種類の特殊のケースがある 。これらのケースの中の最初のケースにおいては、間合せシーケンス記号は?X である。
これはいずれかのページの1−−クンをセラI−させうる可能性のあるジャンプ 状態の信号を出づので、全てのページは比較に対して使用可能とされる。第2の ケースにおいては、現在のページのaf&のスロットが現在の間合せシーケンス の記号に対して首尾よく突合わされる。ここでは1−−クンは次のページの最初 のス1コツトまて通される必要がある。したがって、次のページは現在セラ1− されたトークン3何ら有していないとしても比較のために使用可能とされる。
多重化制御回路222を第10図に詳細に示す。多重化制御回路222は、各ペ ージに1個、の2重メモリセル260を有する修正したシフトレジスタである。
このシフトレジスタは前記の多重化回路と組合わされて特定のメモリのページを 規定する手段を提供する。メモリセル260の中の1個のみが所定時に「1」を 含む。
各メモリセル260の出力端子262はバス224の配線により多重化回路21 6の各々において対応するゲートに接続されている。メモリセル260が「1」 を含む場合、メモリブロック211の対応するメモリページ212は多重化回路 216により比較回路2i4に接続されている。メモリブロック211の一連の ページは、各メモリセル260の中味と、該メモリセルに続くシフトレジスタチ ェインにおけるメモリセルに移すことにより接続される。制御回路264が、ラ イン266の戻って「1」を受取ると、比較サイクルは完了したことになる。
各メモリセル260は宛先指定スイッチ270に直列で接続されている。各宛先 指定スイッチ270はそれに続くメモリセル260がシフトレジスタの軌道から 「遮断」されるようにし、当該ページが比較回路214に接続するよう特定され ないようにする。各宛先指定スイッチ270は制御端子274の信号により制御 される。この制御端子はラッチ276の出力側に接続されている。各ラッチ27 6は対応するメモリページでの比較を可能とする手段を提供する。
ラッチ276は、各ラッチ276において記憶制御端子277に連結された制御 回路264からの記憶制御信号に応答して比較サイクルの開始時にセットされる 。各ラッチ276に記憶されたデータはオア(○R)回路280の出力により制 御され、該OR回路の入力[[1282はメモリブロック211の対応するペー ジ212のトーク〉・に接続されている。ラッチ276の方はそれに接続された スイッチ270の状態をセットする。比較す・イクルの開始時に所定のページに 何らトークンがセットされていないとすれば、そのページに対応するラッチ27 6は、対応するメモリセル260が分岐されるようセラl−される。したがって 、各ラッチは対応するメモリページに対して2つの可能な状態の中の一方を特定 化する。第1の状態においては、対応するメモリのページは使用可能とされ、か つ比較サイクルの適当な点において比較回路と接続するよう選択される。この第 2の状態においては、それはメモリの「遮断」(カットアウト)である。
「遮断」に対してマークしたページは、前述の2つのケースのいずれかが制御回 路264により検出されたとすれば、対応するラッチ276をリセットすること により再作動する。ラッチ276の各々は、各ラッチ276においてリセット端 子284に連結されたリセット信号により個別にリセットしうる。前記の各リセ ット端子284は制御回路264のリセットバスに接続されている。リセットさ れると、ラッチ276は対応するスイッチ270がシフトレジスタチェインにお いて対応するメモリセル260を含むようにされる。可変の間合せシーケンス記 号が本発明の装置に接続されると、制御回路264は各ラッチ276をリセット させる。
また制御回路264は、それに接続されたバス219に介在する最後の比較回路 214の出力をモニタする。もしこの出力が、次のページの最初のトークンをリ セットすべきと指示する信号である場合、制御回路は、記憶された「1」を現在 有するものに続くメモリセル260に対応するラッチをリセッhする。このよう に、切断に対してマークされたページは、もしそれらがセットされたトークンを 受取る状態であれば再動作するようにされる。
好適な実施例において、比較手段14は13個の指令に応答するが、該指令は5 種類の等級、即ち開始、突合せ、削除、入力および出力ならびに不要部分の整理 とに分割されうる。本発明の装置により達成される演算の全てはバス11上で比 較手段14へ前記指令の1個以上を送ることにより規定される。各指令は指令と 、および適当な場合の間合せ記号とを規定する演算コードから構成される。開始 指令は4個ある。第1のものはENPと指示され、削除ビット3oを各スロット においてセットさせることによりメモリブロック16を「空」にする。第2の、 RWTと指示するものは書込みポインタビット34をセットさせメモリブロック の最初のスロットを規定する。第3の、RRDと指示するものは読出しポインタ ビット32をセットしてメモリブロックの最初のスロットを規定する。第4のC LMと指示するものは全てのトークン22をセットし保留ビット20をリセット する。この最後の命令は新しい検索操作に対してメモリシステムを初期状態とす る。
「正確な突合せ」と「不正確な突合せ」と称する2種類の突合せ指令が存在する 。E X Mと指示する正確な突合せ指令とは指令に含まれる間合せ記号が、そ れと比較されつつあるスロワI〜に記憶された記号と正確に適合することを要し 、その場合間合せ記号に比較されるものに続くスロットのトークンはセットされ ている。ここでは間合せシーケンスにおける?はメモリスロットにおける別の? と適合するものとのみ考えられ、即ち間合せシーケンスにおける?はメモリには め込まれた副表現とも一致せず、ましてやメモリの定数とも適合しない。この指 令は主として以下説明する削除指令のプリカーサとして使用される。
NEMで指示する不正確な突合せにおいては、比較手段14のとる動作は保留ビ ットの状態と、命令に含まれる間合せ記号に比較されているスロットのトークン とによって変わる。もしl−−クンがセットされていないとすれば、何ら作動は 行われない。
この説明の後の部分に対してはトークンはセットされているものと想定する。比 較されつつあるスロットの識別グループ24が、スロットがある定数を含むこと を示し、間合せ記号識別グループが、間合せ記号がまた定数であることを示すと すれば、比較手段14はスロットのデータグループ26を間合せ記号のデータグ ループと比較する。もしそれらが一致するとすれば、次のスロットに対するメモ リトークンがセットされ、かつこのスロットに対するトークンがリセットされる 。同様に、もし識別グループが×のラベルを備えた区切り記号を指示し、かつ間 合せ記号識別グループも同じラベルを備えた同じ区切り記号を指示したとすれば 、次のトークンはセットされ、現在のトークンはリセッl〜される。
もしスロットの識別グループが「×」のラベルを備えた変数を指示するとすれば とられた動作は保留ビット20ならびに間合せ記号λ別グループの状態とによっ て変わる。もし保留ビットがセットされておらないとすれば、検討すべきケース は3種類ある。即ち、間合せ記号識別グループが、間合せ記号が常数、変数、あ るいは区切り記号であることを示す場合である。最初の2つのケースては次のト ークンをセットし、現在のトークンをリセットさせている。Xのラベルを備えた 区切り記号が保留ビットをセットさせる。
もし保留ビットがセラ1〜されているとすれば、比較されている間合せ記号が定 数か、変数か、あるいは区切り記号か、3種類の可能性が再びある。識別グルー プが変数あるいは定数を指示すれば、何ら動作は行われない。間合せ記号識別グ ループが閉じた区切り記号を示す場きそのラベルはスロットに記憶された変数の ラベルと比較される。もしラベルが適合しない場合、何ら動作は行われない。も しラベルが一致すると、保留ビットはリセットされ、データシーケンスにおける 次のトークンがセットされ、現在のトークンがリセットされる。
間合せ記号識別グループが変数を指示すれば、次の過程に対する出力はスロット 識別グループによって左右される。もしスロット識別グループが変数または定数 を指示すれば、データシーケンスにおける次のトークンはセットされ、かつ現在 のトークンがリセットされる。もし識別グループが「x」のラベルを備えた開い た区切り記号を指示した場合、トークンは、現在のスロットのトークンをリセッ トし、かつ当該区切り記号を含むスロットのトークンをセットすることによりX のラベルを備えた、対応する閉じた区切り記号を含むスロットに「転送」される 、そのスロットのトークンは次いでリセットされ、次のスロットのトークンがリ セットされる。このことは、前述のようにジャンプワイヤを用いて、(×を含む スロットにおけるセットされたトークンの出力側を)Xを含むスロワI・におけ るトークンの論理の入力側と接続することにより達成される。
間合せシークンスエレメントが“*”であるとすれば、いずれかのセットされた トークンと、その1、−クンが現われるデータシーケンスの終りとの間の全ての スロットのトークンはセットされる。これはセットされたトークンを有するスロ ットのトークン出力惧11とジャンプワイヤに接続し、かつセラI〜されたトー クンと、次の)0との間のスロットのトークン入力側の全てを、)0でマークさ れた位置に31!断部を導入してジャンプワイヤに接続する6二とにより達成さ れる。
呵・”を含むスロットが1〜−クンをセラl−しているとすれば、比較手段14 も保留ビットをセラ1へする。保留ビットが“*”を含むスロットでセットされ ている限りは、比較手段は、それぞれの突合せ後*を含むスロットに続くスロッ トのトークンをセットする。
所定の間合せシーケンスと適合する全てのデータシーケンスは各命令に1個の間 合せ記号を入れて一連のNEM指令を送ることにより識別される9間きせシーケ ンスの終りにおいて、間合せシーケンスと適合した各データシーケンスの後でセ ットされたトークンが現われる。トークンはデータシーケンスが読出しうる前に 当該データシーケンスの始点に戻される必要がある。
これを達成するために、TBKで指示する指令が提供され、その上方で出合った 最初の′(0まで各々のセットされたトークンを戻す。これは前述のジャンプワ イヤを用いて行われる。遮断部は(0を備えた全ての位置で導入され、トークン は次いで、セットされたトークンの出力側と(0を含む全てのスロットのトーク ン入力側とをジャンプワイヤに接続することにより(Oを含む次のスロットにジ ャンプバックされる。
データシーケンスの入出力に対して4個の指令がある。読出しと、読取りポイン タの前後運動と、およびデータの読取り用に3個の命令がある。それぞれRED とRBDとで示す読取りポインタの前後運動の命令によって、該ポインタが現在 のスロットから前方あるいは後方のいずれかに運動せられると出合う第1のセッ トされたトークンまで読取りポインタを位置させる。
RDSで示すデータ読取り命令により読取りポインタで現在マークされているス ロットの中味を外部のデータ処理システムにより読出すようバス11に位置させ る。読取りポインタは各データ読取り指令の後1個のスロワI〜分前進させられ る。読取りポインタがメモリブロックの終りに達すると、このことを示す信号が バス11上で外部のデータ処理システムまで送られる。
したがって、所定の間合せシーケンスと適合した全てのデータシーケンスを読出 すには、R,RD初期状悪化指令を用いてメモリの第1のスロットに読出しポイ ンタをリセットする。次にポインタはRFD命令分用いて、第1の適合データシ ーケンスまで進む。次に当該データシーケンスが一連のRDS命令を用いて一時 に1個の記号の割合いで読出される。データシーケンスの終りをマークする)0 が読出されると、新しいRFD命令が与えられ、読取りポインタと適合した次の データシーケンス・まで位置させる。前述の読出しシーケンスが次いで次のシー ケンスに対して繰返される。RFD命令あるいはメモリブロックの終りの信号を 出すRDS命令に達すると、読出しは完了する。
書込み命令は1個のみである。書込みポインタは記憶されたデータシーケンスの 後の第1の自由スロットに常に位置する。
書込み命令はバス11上のデータをこのスロットにコビイし、次いで書込みポイ ンタを1スロット分歩進させる。もし書込みポインタがメモリブロックの終りに 達すると、信号がバス11上で外部のデータ処理システムまで送られる。以下説 明するガーベージコレクション(garbage collection)命令 (不要部分の整理命令)3次に実行して新しいデータ用の余地なつくる必要があ る。
メモリブロックにデータシーケンスを装てんするには、メモリブロックはまず空 にされて、かつ書込みポインタが、適当な初期状態化命令を用いてメモリブロッ ク中の第1のスロットに送られる。各データシーケンスは一時に1個の記号の割 合で本発明による装置に送られ、各記号は書込み命令に含まれている。
書込み命令の終りにおいて、記憶さノtたデータシーケンスはメモリブロック1 6の第1のスロットから女白めてメモリスロットの隣接したブロックに位置され る。書込みポインタは記憶されたデータシーケンスの後の最初の自由なスロット に位置する。
メモリは、突合せの過程において無視され、後で下記する不要部分の整理命令を 用いて削除すべき全ての削除ビットをスロワ)・においてセットするために使用 する削除命令を支援する。削除命令は全ての削除ビット3いずれかのセラl〜さ れたトークンと、それがセラI・されるデータシーケンスの始まりとの間、即ち セラ1〜されたトークンと、その上方の最初の(0との間でセットさせる。全体 のデータシーケンスが削除に対してマークされていることと確認するために、突 合せトークンを削除すべきデータシーケンスの終りにおいてセットする必要があ る。
所定のデータシーケンスを削除するためには、まずE X M命令を用いて当該 シーケンスと適合するメモリを全てのシーケンスに対して探索する。このため、 シーケンスの終りとマークする)Oを含むスロットの直後にセットしたトークン を備えた当該シーケンスが残る6次いで、削除命令がなされうるが、該削除命令 により希望するシーケンスはそれが記憶されているスロットが全て削除のマーク が付される。前記のスロットは後の演算においては無視される。追加のデータシ ーケンスを記憶するための空間を再取得するために下記する不要部分整理命令を 使用する必要がある。
不要部分の整理命令は、新しいデータシーケンスの記憶に対して空間が利用され うる、記憶されたデータシーケンスの後の位置まで、削除されたデータシーケン スの形態のいずれかの自由空間が運動する要領でメモリブロック16の中味をそ れ自体にコビイする。不要部分の整理命令を実行しうる前に読取りおよび書込み ポインタを、適当な初期状態化命令を用いてメモリアレイの頂部まで再配置する 必要がある。不要部分の整理命令は、読取りポインタがメモリの頂部に達し、か つプロセスが終るまで読取りポインタによりマークされるスロットの読取りと、 書込みポインタによりマークされるスロットへの書込みの間でメモリを交互に作 動させる。読取りポインタは各々の読取り一書込みサイクルの終りに前進するに もかかわらず、書込みポインタは書込まれた記号が削除ビットをセットしていな いときのみ歩進される。このため削除されたスロットに記憶されたデータが、非 削除のスロットからのデータと代替されるようにする。
数字と共に前記の13個の命令はルールに広くモードならびにキーエレメントに よるモードの双方における探索手段を提供する。ルールに基く、NEM命令を用 いる探索は以下の通り実行される。まず、メモリがCLMを用いてリセットされ る。検索すべきデータシーケンスを規定する間合せシーケンスが、各記号と共に N E M命令を使用して一時に1個の記号の割合でメモリに送られる。最後の 記号が送られた後、トークンは、TBK命令を用いて間合せシーケンスを満足す るデータシーケンスの始まりまで再配置される。選択されたデータシーケンスを 読出すには、ポインタがまず、RRDを用いてメモリの頂部にセットされる0次 いで、RFDを用いて、最初の選択されたデータシーケンス(即ち、セットした トークンを備えた最初のデータシーケンス)まで歩進させられる0次いでこのデ ータの各記号が、)0が読取られ、データシーケンスの終りを示すまではRDS を用いて一時に1個の記号の割合で読取られる0次いで、ポインタはRFCを用 いて、読出すべき次のデータシーケンスまで動き、読取りポインタがバス11上 の信号で示すようにメモリブロック16の終りに達するまでプロセスが繰返され る。
またCLMでメモリをリセントすることによりキーエレメントの探索が開始され 、結果はルールに基く探索と同じ要領で読出しされる。以下の例において、CL  Mと読出し過程とは省略しである。
例1−xおよびyを含む全てのデータシーケンスをその順番で見出す。
EXM x 例2−xおよびyを備えた全てのデータシーケンスを任意の順番で見出す。
BK NEM*が続く命令TBKのシーケンスが少なくとも1組のトークンを有するデ ータシーケンスで全てのトークンをセットする。このように、“X”を備えた各 データシーケンスは“y′の探索に対して再度初期化される。
多くの探索において、間合せシーケンス分満足するデータシーケンスが何ら介在 しないことに注目すべきである。このことは、最初の数個の記号のみが探索され た後で明らかになることが多く、最初の数個の記号が探索された後セットされて いるトークンが何ら残っていない、探索時間を節約するために、何らトークンが セットされて残っていないことを示す装置により信号はバス11において結合さ れる。このことによって外部のデータ処理システムが探索の残りを途中で止めて 処理時間を節約する。
好適な実施例はデータシーケンスを記憶するために読取り書込みの双方が可能な メモリブロックを採用している。当該技術分野の専門家には、読出し専用メモリ 分採用したシステムも構成しうろことが明らかである。ここで、識別およびデー タのグループは読出し専用メモリ装置から構成され、一方各スロットに関連した 5個の1ビツト記憶セルは読取り/書込みメモリエレメントから構成される。そ のようなシステムは固定のデータベースを含む応用に対して有用である。
本発明の種々の実施例について述べてきたが、本発明の範囲から逸脱することな く各種の変更や修正が可能なことが認められる。
FIG、6 78−allU63−500479 (17)国際調査報告

Claims (16)

    【特許請求の範囲】
  1. 1.1個あるいはそれ以上の記号からなる問合せシーケンスに応答して記号から なるデータシーケンスを記憶し、かつ検索するメモリシステムにおいて、該メモ リシステムに結合された問合せ記号を受取る手段と、記号からなる1個あるいは それ以上のデータシーケンスを記憶する複数の隣接するメモリスロットを含み、 前記記号が前記の各スロットに1個づつ記憶されるメモリ手段と、前記スロット の各々に有効に接続され前記スロットの各々の状態を示す手段であって、活動状 態と非活動状態の2つの状態を有する指示手段と、前記メモリ手段に結合された 第1の信号に応答して前記指示手段の指示された状態を前記活動状態に初期セッ トする手段と、前記指示手段を前記の活動状態にさせて各スロットに記憶された データシーケンス記号を前記問合せ記号と比較する手段であって、前記の比較が なされた後前記の指示手段の状態を非活動状態に変える手段と、もし前記のデー タシーケンス記号が前記問合せ信号に対応すれば次のスロットに有効に接続され た指示手段の状態を活動状態にセットする手段とを含む比較手段と、および前記 メモリシステムに結合された第2の信号に応答して、記号からなるデータシーケ ンスにおける記号の少なくとも1個が、その対応する指示手段が前記の活動状態 であるスロットに記憶される、記号からなる、それぞれの記憶されたデータシー ケンスを検索する手段とを含むメモリシステム。
  2. 2.請求の範囲第1項に記載のメモリシステムにおいて、前記メモリシステムに 結合された信号のデータシーケンスを前記メモリ手段に記憶させる手段をさらに 含むメモリシステム。
  3. 3.請求の範囲第1項に記載のメモリシステムにおいて、前記指示手段が1ビッ トの記憶セルを含み、前記の個別の記憶セルが各スロットに有効に接続されてい るメモリシステム。
  4. 4.請求の範囲第1項に記載のメモリシステムにおいて、前記のメモリシステム が複数の、メモリスロットの隣接セグメントを含み、各セグメントが1個以上の 隣接したメモリスロットを含み、前記比較手段が複数の比較回路を含み、該比較 回路が1個づつ前記セグメントの各々に有効に接続されており、前記比較回路の 各々が前記の問合せ記号を前記比較回路の対応するセグメントに含まれ、その指 示手段を作動状態にしているスロットに記憶された各々のデータシーケンス記号 と比較する手段を含むメモリシステム。
  5. 5.請求の範囲第1項に記載のメモリシステムにおいて、前記データシーケンス 記号が3種類の型の記号、即ち定数、変数および区切り記号からなり、前記の問 合せ記号が前記の3タイプの記号の中の1個からなり、前記のセットする手段が 次のスロットに有効に接続されている指示手段の状態が、前記問合せ記号の一方 、即ち前記比較手段により比較された前記データシーケンス記号が変数で、他方 が変数あるいは定数である場合に活動状態にセットされるようにするメモリシス テム。
  6. 6.請求の範囲第5項に記載のメモリシステムにおいて、前記の区切り記号が対 応する対で発生し、開いた区切り記号は記号のシーケンスあるいは記号のシーケ ンスにはめ込まれた記号のサブシーケンスの始りを画成し、対応する閉じた区切 り記号は記号の前記のシーケンスあるいは記号のサブシーケンスの終りを画成し 、前記の比較手段はさらに記号のシーケンスにおける所定の開いた区切り記号に 対応する閉じた区切り記号を識別する手段をさらに含み、前記の比較手段は前記 の開いた区切り記号を含む前記スロットに有効に接続された指示手段の状態を非 活動状態にセットさせ、かつ対応する閉じた区切り記号を含むスロットに続くス ロットに有効な接続された指示手段の状態を、前記比較手段が可変の問合せ記号 に対して、開いた区切り記号であるデータシーケンス記号を比較する際活動状態 とさせるメモリシステム。
  7. 7.請求の範囲第6項に記載のメモリシステムにおいて、前記データスロットの 各々に有効に接続され、2つの状態、即ち活動可能状態と非活動可能状態とを有 する保留手段をさらに含み、前記の非活動可能状態は前記スロットに記憶された データシーケンス記号と比較すべき問合せ記号が前記結合手段においてメモリシ ステムにまだ結合されていないことを指示し、前記の活動可能状態は前記スロッ トに記憶された記号が、前記スロットに有効に接続された指示手段も活動可能状 態であるとすれば次の問合せ記号に対して比較しうることを示し、前記比較手段 が、前記保留が可変データシーケンス記号を含む活動可能状態のスロットに有効 に接続され、かつ前記比較手段により開いた区切り記号の問合せ記号と比較され ている場合各保留手段の状態を非活動状態にセットする手段を含み、前記指示手 段の状態を変える前記手段が、比較が行われた後は、非活動可能状態の前記比較 手段が活動状態のスロットと比較しても前記指示手段を非活動状態に変えないよ うにし、前記比較手段は前記保留手段の状態を非活動可能状態に変えるようにし た開いた区切り記号問合せ記号に対応する閉じた区切り記号問合せ記号を検出す ると各保持手段の状態を活動可能状態にセットする手段を含み、前記比較手段は 応答して前記スロットに有効に接続された指示手段を非活動状態にセットし、か つ前記スロットに続くスロットに有効に接続された指示手段を活動状態にセット させる、メモリシステム。
  8. 8.請求の範囲第6項に記載のメモリシステムにおいて、前記シーケンス記号と 前記問合せ記号とがさらにガンブフ記号を含み、前記比較手段が前記結合手段に おいて前記メモリシステムに結合されたガンブフ問合せ記号を検出し、かつ前記 ガンブフ問合せ記号に比較されたデータシーケンス記号を含むスロットと、前記 データシーケンス記号が含まれていたデータシーケンスの終りをマークする閉じ た区切り記号を含むスロットの後のスロットとの間でスロットに有効に接続され た全ての指示手段の状態が活動状態にセットされるようにする手段を含む、メモ リシステム。
  9. 9.請求の範囲第8項に記載のメモリシステムにおいて、前記の比較手段がガン ブフデータシーケンス記号を検出する手段を含み、前記比較手段が前記のガンブ フデータシーケンス記号を含むスロットに続くスロットの指示手段が活動状態に セットされるようにする手段と、前記指示手段の状態を非活動状態に変える前記 手段が前記ガンプフ記号を含むスロットに有効に接続された指示手段の状態を非 活動状態にセットしないようにさせる手段とを含むメモリシステム。
  10. 10.請求の範囲第7項に記載のメモリシステムにおいて、前記の各スロットは 複数の1ビット記憶セルを含み、各スロットは2つのグループ即ち識別グループ とデータグループとに分割され、前記識別グループは前記スロットに記憶された 記号のタイプを検出する少なくとも2個の前記記憶セルを含み、前記データグル ープは前記記憶セルの残りを前記スロットにおいて含み、所定の開いた区切り記 号に対応する閉じた区切り記号を識別する前記手段が区切り記号を含む各スロッ トのデータグループに記憶されたラベルを含み、前記ラベルはそれぞれの対応す る対の区切り記号に対して同じであり、かつ該ラベルは前記の対応する対の区切 り記号によりマークされるシーケンス、即ち記号のシーケンスに含まれたいずれ かの区切り記号のデータグループにおいては繰返されない、メモリシステム。
  11. 11.請求の範囲第6項に記載のメモリシステムにおいて、前記指示手段が複数 の1ビット記憶セルを含み、前記記憶セルの1個が各スロットに有効に接続され ており、前記セッティング手段が1個以上の前記記憶セルの状態をセットする手 段を含むメモリシステムにおいて、前記の各記憶セルに有効に接続された入力端 子の信号に応答して各記憶セルの状態をセットする入力手段と、前記の各記憶セ ルに有効に接続された出力端子で各記憶セルの状態を出力する出力手段と、複数 の接続したスイッチエレメントを有し、該スイッチエレメントが1個づつ各記憶 セルに有効に隣接するジャンプ通路と、前記ジャンプ通路を各記憶セルに有効に 隣接した点で選択的に非導電性とする手段と、前記の各記憶セルの入力端子を、 各記憶セルと関連した作動的に隣接するスイッチエレメントの一方あるいは他方 の側のある点において各記憶セルの入力端子を前記ジャンプ通路に接続する手段 と、および前記の各記憶セルと関連した、有効に隣接するスイッチエレメントの 一方あるいは他方の側のある点において各記憶セルの出力端子を前記ジャンプ軌 道に接続する手段とを含むメモリシステム。
  12. 12.1個以上の記号の問合せシーケンスに応答して記号のデータシーケンスを 記憶および検索するメモリシステムにおいて、前記メモリシステムに結合された 問合せ信号を受取る手段と、1個以上の、記号のデータシーケンスを記憶するた めの複数の隣接するメモリスロットを含むメモリ手段であって、前記記号が1個 づつ前記の各スロットに記憶され、前記のデータシーケンス並びに間合せシーケ ンスの記号が3つのタイプ、即ち定数、変数および区切り記号であり、前記区切 り記号は対応する対、即ち記号のシーケンス、あるいは記号のシーケンスにはめ 込まれた記号のサブシーケンスの始まりをマークする開いた区切り記号と記号の 前記シーケンス、あるいはサブシーケンスの終りをマークする対応した閉じた区 切り記号とで発生するメモリ手段とを含み、前記の各スロットが複数の1ビット 記憶セルからなり、前記スロットは2つのグループ、即ち識別グループとデータ グループとに分割され、前記識別グループは前記スロットに記憶された記号のタ イプを検出する少なくとも2個の記憶セルを含み、ラベルが区切り記号を含む各 スロットのデータグループに記憶され、前記ラベルはそれぞれの対応する対の区 切り記号に対して同じであり、前記ラベルは前記の対応する対の区切り記号によ りマークされた記号のサブシーケンスに含まれた区切り記号を記憶するいずれか のスロットのデータグループにおいては繰返されず、前記スロットの各々の状態 を指示する手段で、前記スロットの各々に対して有効に接続され、該指示手段は 2つの状態、即ち活動状態と非活動状態の一方を有する手段と、前記メモリ手段 に結合された第1の信号に応答し、各指示手段の指示された状態を前記の活動状 態に初期セットする手段と、前記受取手段と前記メモリ手段とに活動接続され、 前記メモリ手段に結合された第2の信号に応答して前記メモリ手段において記号 のデータシーケンスを記憶する手段と、前記スロットに有効に接続された指示手 段が活動状態であれば、前記スロットに記憶されたシーケンス記号を前記問合せ 記号に比較する比較手段をさらに含み、前記比較手段が、前記問合せ記号に比較 されつつあるデータシーケンス記号を含むスロットに有効に接続された前記指示 手段の状態を前記の比較がなされた後非活動状態に変え、前記比較手段は、前記 データシーケンスの記号と前記問合せ記号が同じであるか、あるいは前記比較手 段により比較された前記記号の中の少なくとも1個が変数であるとすれば次のス ロットに有効に接続された指示手段の状態を活動状態にセットさせる手段を含み 、前記比較手段が記号のシーケンスにおける所定の開いた区切り記号に対応する 閉じた区切り記号を識別する手段と、前記比較手段が可変の問合せ記号に対して 開いた区切り記号であるデータシーケンス記号を比較すると前記の開いた区切り 記号を含む前記スロットに有効に接続された指示手段を非活動状態にセットし、 かつ前記の開いた区切り記号を含む前記スロットのデータグループに含まれたも のと同じラベルを有する閉じた区切り記号を含むスロットに続くスロットに有効 に接続された指示手段の状態を活動状態にセットさせる手段を含み、かつ前記デ ータスロットの各々に有効に接続され、活動可能状態と非活動可能状態との2つ の状態を有する保留手段をさらに含み、前記の非活動可能状態は前記スロットに 記憶されたデータシーケンス記号に比較すべき問合せ記号が前記結合手段におい てメモリシステムにまだ篭合されていないことを示し、前記の活動可能状態は前 記スロットに記憶された記号が、前記スロットに有効に接続された指示手段も活 動状態であれば次の問合せ記号と比較しうることを示し、かつ前記比較手段は前 記保留手段が可変のデータシーケンス記号を含む活動状態のスロットに有効に接 続され、かつ前記比較手段により開いた区切り記号問合せ記号に比較されている 場合各保留手段の状態を非活動可能状態にセットする手段を含み、前記指示手段 の状態を変える前記手段が、前記比較手段が、これも非活動可能状態にある活動 状態のスロットと比較した場合、比較がなされた後は前記指示手段を非活動状態 に変えないようにされ、前記比較手段が前記保留手段の状態を非活動可能状態に 変えるようにした、開いた区切り記号問合せ信号に対応する閉じた区切り記号問 合せ記号を検出すると前記の各保留手段の状態を活動可能状態にセットする手段 を前記比較手段は含み、かつ応答して前記スロットに有効に接続された指示手段 を非活動状態にセットし、かつ前記スロットに続くスロットに有効にされた接続 された指示手段を活動状態にセットし、かつ前記の記号のデータシーケンスをな す記号の中の少なくとも1個が、スロットに記憶され、該スロットに有効に接続 された指示手段が前記の活動状態にある、記号の記憶された各データシーケンス を検索するために前記メモリ手段に結合された所定の信号に応答する手段をさら に含むメモリシステム。
  13. 13.請求の範囲第12項に記載のメモリシステムにおいて、前記の指示手段が 複数の1ビット記憶セルを含み、該記憶セルが1個づつ各スロットに有効に接続 され、前記のセッティング手段が1個以上の前記記憶セルの状態をセットする手 段を含み、メモリシステムはさらに前記の各記憶セルに有効に接続された入力端 子の信号に応答して各記憶セルの状態をセットする入力手段と、前記の各記憶セ ルに有効に接続された出力端子において各記憶セルの状態を出力する出力手段と 、複数の断続したスイッチエレメントを有し、該スイッチエレメントが1個づつ 前記の各記憶セルに有効に隣接しているジャンプ通路と、前記ジャンプ通路を前 記記憶セルの各々に有効に隣接した点で選択的に非導電性とする手段と、前記の 各記憶セルの入力端子を、前記記憶セルの各々と関連した有効に隣接したスイッ チエレメントの一方の側あるいは他方の側における一点で前記ジャンプ通路に接 続する手段と、および前記の各記憶セルの出力端子を、前記の各記憶セルに関連 した有効に隣接のスイッチエレメントの一方の側あるいは他方の側における点に おいて前記ジャンプ通路に接続する手段とを含むメモリシステム。
  14. 14.請求の範囲第12項に記載のメモリシステムにおいて、複数の隣接したメ モリスロットのセグメントを含み、各セグメントは1個以上の隣接したメモリス ロットを含み、かつ前記の比較手段が複数の比較回路を含み、該比較回路が1個 づつ前記セグメントの各々に有効に接続され、かつ前記比較回路の各々が前記問 合せ記号を、対応するセグメントに対する比較回路に含まれ、かつ作動状態にお いて前記の指示手段を有する、スロットに記憶された各データシーケンス記号と 比較する手段を含むメモリシステム。
  15. 15.請求の範囲第12項に記載のメモリシステムにおいて、前記メモリ手段が 複数のメモリページに分割され、各メモリページがN個のメモリスロットからな る隣接のセグメントからなり、前記メモリ手段のN個のメモリスロットの最初の 分が前記ページの第1ページにあり、前記メモリ手段のN個のメモリスロットの 第2のものが前記ページの第2ページにというようにされておりデータシーケン スは前記のメモリページヘの分割とは無関係に前記メモリ手段のメモリセルでの 隣接したブロックに記憶されており、前記の比較手段がメモリページを検出する 手段と、それが結合されているメモリページに対する2つの状鱗、即ち前記のメ モリページ検出手段により前記メモリページが検出しうる第1の状態と、前記メ モリページが前記のメモリページ検出手段により検出されないようにする第2の 状態との一方を検出するよう前記メモリページの各々に結合されている使用可能 化手段と、前記メモリ手段と、かつ相互に対して有効に結合されているN個の比 較回路であって、その1番目の比較回路がメモリシステムに結合された問合せシ ーケンス記号と前記のメモリページ検出手段により検出されるページの1番目の メモリスロットに記憶されたデータシーケンス記号とを比較する比較回路と、前 記使用可能手段が、作動状態の指示手段を有する少なくとも1個のメモリスロッ トを含む全てのページに対して前記の第1の状態を検出するようにさせ、かつ前 記使用可能手段がその他の全てのページに対して前記の第2の状態を検出するよ うにさせる手段と、前記のメモリページ検出手段が、前記の使用可能手段が前記 の第1の状態を検出して前記第1のページを検出するようにさせる手段と、所定 のページにおけるメモリスロットが何ら活動状態の指示手段を有さない場合であ っても可変の問合せシーケンス記号が前記メモリ手段に結合されると前記の各メ モリページに結合された前記使用可能手段が前記第1の状態を検出するようにさ せる手段と、もし現在検出されているメモリページの最後のメモリスロットに記 憶されたデータシーケンス記号が前記メモリシステムに結合された問合せシーケ ンス記号と一致すれば前記のメモリページ検出手段により現在検出されているメ モリページに続くメモリページに対して前記の使用可能手段が前記第1の状態を 検出するようにさせる手段と、および使用可能手段を前記の第1の状態にして全 てのメモリページが検出されるまで、前記のメモリページ検出手段が使用可能手 段が前記第1の状態を検出するようにして順次次のメモリページを検出するよう にさせる手段とを含むメモリシステム。
  16. 16.請求の範囲第12項に記載のメモリシステムにおいて、前記メモリシステ ムが単一の集積回路チップからなるメモリシステム。
JP61504442A 1985-08-13 1986-08-12 パタ−ンをアドレス可能なメモリ Expired - Lifetime JP2511434B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/765,370 US4747072A (en) 1985-08-13 1985-08-13 Pattern addressable memory
US765370 1985-08-13

Publications (2)

Publication Number Publication Date
JPS63500479A true JPS63500479A (ja) 1988-02-18
JP2511434B2 JP2511434B2 (ja) 1996-06-26

Family

ID=25073394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61504442A Expired - Lifetime JP2511434B2 (ja) 1985-08-13 1986-08-12 パタ−ンをアドレス可能なメモリ

Country Status (7)

Country Link
US (1) US4747072A (ja)
EP (1) EP0232386B1 (ja)
JP (1) JP2511434B2 (ja)
AT (1) ATE91816T1 (ja)
CA (1) CA1263762A (ja)
DE (1) DE3688738T2 (ja)
WO (1) WO1987001219A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051947A (en) * 1985-12-10 1991-09-24 Trw Inc. High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream
US4841473A (en) * 1986-12-19 1989-06-20 Robert S. Salzman Computer architecture providing programmable degrees of an almost condition
US5161230A (en) * 1987-06-05 1992-11-03 Trw Inc. Multifield identification circuit and related method of operation
US5777608A (en) * 1989-03-10 1998-07-07 Board Of Regents, The University Of Texas System Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories
US4989180A (en) * 1989-03-10 1991-01-29 Board Of Regents, The University Of Texas System Dynamic memory with logic-in-refresh
US5758148A (en) * 1989-03-10 1998-05-26 Board Of Regents, The University Of Texas System System and method for searching a data base using a content-searchable memory
US5161225A (en) * 1989-10-23 1992-11-03 International Business Machines Corporation Persistent stream for processing time consuming and reusable queries in an object oriented database management system
JPH0833862B2 (ja) * 1989-10-23 1996-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン オブジエクト指向コンピユータ・システム
US5161223A (en) * 1989-10-23 1992-11-03 International Business Machines Corporation Resumeable batch query for processing time consuming queries in an object oriented database management system
US5483480A (en) * 1993-07-22 1996-01-09 Kawasaki Steel Corporation Method of using associative memories and an associative memory
US5499360A (en) * 1994-02-28 1996-03-12 Panasonic Technolgies, Inc. Method for proximity searching with range testing and range adjustment
US5794235A (en) * 1996-04-12 1998-08-11 International Business Machines Corporation System and method for dynamic retrieval of relevant information by monitoring active data streams
US6148034A (en) * 1996-12-05 2000-11-14 Linden Technology Limited Apparatus and method for determining video encoding motion compensation vectors
DE10106340A1 (de) * 2001-02-09 2002-08-29 Europ Lab Molekularbiolog Schaltung zur Verarbeitung von Daten
US6766317B2 (en) 2001-07-18 2004-07-20 Alliance Semiconductor Range check cell and a method for the use thereof
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
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
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4953346A (ja) * 1972-09-25 1974-05-23
JPS58139273A (ja) * 1982-01-21 1983-08-18 ゼネラル・エレクトリツク・カンパニイ 高速探索装置
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3167740A (en) * 1961-04-12 1965-01-26 Ibm Data comparison system utilizing a universal character
US3245052A (en) * 1962-05-17 1966-04-05 Rca Corp Content addressed memory
US3646523A (en) * 1969-09-24 1972-02-29 Ibm Computer
US3906455A (en) * 1974-03-15 1975-09-16 Boeing Computer Services Inc Associative memory device
US4499553A (en) * 1981-09-30 1985-02-12 Dickinson Robert V Locating digital coded words which are both acceptable misspellings and acceptable inflections of digital coded query words
US4550436A (en) * 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4953346A (ja) * 1972-09-25 1974-05-23
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters
JPS58139273A (ja) * 1982-01-21 1983-08-18 ゼネラル・エレクトリツク・カンパニイ 高速探索装置

Also Published As

Publication number Publication date
ATE91816T1 (de) 1993-08-15
DE3688738T2 (de) 1993-11-11
CA1263762A (en) 1989-12-05
WO1987001219A1 (en) 1987-02-26
EP0232386A4 (en) 1989-06-21
US4747072A (en) 1988-05-24
DE3688738D1 (de) 1993-08-26
JP2511434B2 (ja) 1996-06-26
EP0232386B1 (en) 1993-07-21
EP0232386A1 (en) 1987-08-19

Similar Documents

Publication Publication Date Title
JPS63500479A (ja) パタ−ンをアドレス可能なメモリ
EP0233272B1 (en) Rule-based data retrieval method and apparatus
JPH0285927A (ja) 記憶装置
US6470334B1 (en) Document retrieval apparatus
EP0441854B1 (en) A memory system adapted to store two associated sets of data items
EP0232376B1 (en) Circulating context addressable memory
JPH04308B2 (ja)
JP2880192B2 (ja) 文字列検索方法及び装置
Healy A character-oriented context-addressed segment-sequential storage
Robinson The pattern addressable memory: Hardware for associative processing
JPS59100939A (ja) 日本語入力装置
JPH10145453A (ja) 通信プロトコル処理方法及び処理装置
JPH043251A (ja) 文書検索方法および文書検索処理装置
JPS63257030A (ja) 文字列検索回路
JPH10145448A (ja) 通信プロトコル処理方法及び処理装置
JPH0268663A (ja) 文字列検索装置
JPH0546598A (ja) 辞書検索方式
JPH08235188A (ja) 係り受け関係解析用辞書作成装置および係り受け関係解析装置
JPH04245375A (ja) 記号列照合装置の制御方式
JPH01194088A (ja) 文字列と単語の照合装置
JPH05303594A (ja) 並列処理型内容検索装置
JPS62254234A (ja) 記号列識別装置とその制御方式
JPH04315260A (ja) 文字列照合方式
JPS61240328A (ja) 連想メモリ
JPH01255924A (ja) ダイレクトメモリアクセス制御装置