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

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

Info

Publication number
JP2511434B2
JP2511434B2 JP61504442A JP50444286A JP2511434B2 JP 2511434 B2 JP2511434 B2 JP 2511434B2 JP 61504442 A JP61504442 A JP 61504442A JP 50444286 A JP50444286 A JP 50444286A JP 2511434 B2 JP2511434 B2 JP 2511434B2
Authority
JP
Japan
Prior art keywords
memory
slot
symbol
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.)
Expired - Lifetime
Application number
JP61504442A
Other languages
English (en)
Other versions
JPS63500479A (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.)
FUEACHAIRUDO SEMIKONDAKUTA CORP
Original Assignee
FUEACHAIRUDO SEMIKONDAKUTA CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FUEACHAIRUDO SEMIKONDAKUTA CORP filed Critical FUEACHAIRUDO SEMIKONDAKUTA CORP
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)

Description

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

Claims (16)

    (57)【特許請求の範囲】
  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】請求の範囲第7項に記載のメモリシステム
    において、前記各スロットは複数の1ビット記憶セルを
    含み、各スロットは2つのグループ即ち識別グループと
    データグループとに分割され、前記識別グループは前記
    スロットに記憶された信号のタイプを検出する少なくと
    も2個の前記記憶セルを含み、前記データグループは前
    記記憶セルの残りを前記スロットにおいて含み、所定の
    開いた区切り文字に対応する閉じる区切り文字を識別す
    る前記手段が区切り信号を含む隠すロットのデータグル
    ープに記憶されたラベルを含み、前記ラベルはそれぞれ
    の対応する対の区切り信号に対して同じであり、かつ該
    ラベルはそれぞれの対応する対の区切り信号に対して同
    じであり、かつ該ラベルは前記対応する対の区切り信号
    によりマークされるシーケンス、即ち記号のシーケンス
    に含まれたいずれかの区切り文字のデータグループにお
    いては反復されないことを特徴とするメモリシステム。
  9. 【請求項9】請求項6記載のメモリシステムにおいて、
    前記データシーケンス信号と前記問合せシーケンス記号
    とが更にガンプフ信号を含み、前記比較手段が前記結合
    手段において前記メモリシステムに結合されたガンプフ
    問合せ信号を検出し、前記ガンプフ問合せ信号と比較さ
    れたデータシーケンス記号を含むスロットと、前記デー
    タシーケンス記号が含まれていたデータシーケンスの終
    りをマークする閉じ区切り信号を含むスロットの後のス
    ロットとの間でスロットに動作的に接続されたすべての
    指示手段の状態が活動状態にセットされるようにする手
    段を含むことを特徴とするメモリシステム。
  10. 【請求項10】請求項9記載のメモリシステムにおい
    て、前記比較手段がガンプフデータシーケンス記号を検
    出する手段を含み、前記比較手段が前記ガンプフデータ
    シーケンス記号を含むスロットに続くスロットの指示手
    段が活動状態にセットされるようにする手段と、前記指
    示手段の状態を非活動状態に変える前記手段が前記ガン
    プフ信号を含むスロットの動作的に接続された指示手段
    の状態を非活動状態にセットしないようにさせる手段と
    を含むことを特徴とするメモリシステム。
  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つの
    状態、即ち前記メモリページ検出手段により検出されな
    いようにする第2の状態との一方を検出するよう前記メ
    モリページの各々に結合されている使用可能化手段と、
    前記メモリ手段と、かつ相互にたいして有効に結合され
    ているN庫の比較回路であって、そのI番目の比較回路
    がメモリシステムに結合された問合せシーケンス記号と
    前記メモリページ検出手段により検出されるページのI
    番目のメモリスロットに記憶されたデータ紙意見好記号
    とを比較する比較回路と、前記使用可能手段が、作動状
    態の指示手段を有する少なくとも1個のメモリスロット
    を含む全てのページにたいして前記第1の状態を検出す
    るようにさせ、かつ前記使用可能手段がその他の全ての
    ページにたいして前記第2の状態を検出するようにさせ
    る手段と、前記メモリページ検出手段が、前記使用可能
    手段が前記第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 JPS63500479A (ja) 1988-02-18
JP2511434B2 true 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
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
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
JPH0833862B2 (ja) * 1989-10-23 1996-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン オブジエクト指向コンピユータ・システム
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
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4450520A (en) 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters

Family Cites Families (8)

* 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
JPS4953346A (ja) * 1972-09-25 1974-05-23
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
US4451901A (en) * 1982-01-21 1984-05-29 General Electric Company High speed search system
US4550436A (en) * 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4450520A (en) 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2511434B2 (ja) パタ−ンをアドレス可能なメモリ
EP0233272B1 (en) Rule-based data retrieval method and apparatus
US4053871A (en) Method and system for the iterative and simultaneous comparison of data with a group of reference data items
US8281395B2 (en) Pattern-recognition processor with matching-data reporting module
EP0054588B1 (en) Interactive data retrieval apparatus
JPH0285927A (ja) 記憶装置
US4805093A (en) Content addressable memory
CA2150822A1 (en) Pattern search and refresh logic in dynamic memory
EP0232376B1 (en) Circulating context addressable memory
EP0441854B1 (en) A memory system adapted to store two associated sets of data items
US3548385A (en) Adaptive information retrieval system
Healy A character-oriented context-addressed segment-sequential storage
EP0227348A2 (en) Content addressable memory circuit and method
JPH04308B2 (ja)
SU342185A1 (ru) УСТРОЙСТВО дл ПОИСКА ИНФОРМАЦИИ
JPS59220838A (ja) 連想メモリ装置
JPH10145453A (ja) 通信プロトコル処理方法及び処理装置
JPH043251A (ja) 文書検索方法および文書検索処理装置
Su Cdllular § Logic'Devic Corj, ceptsaijdApplication
Gibbons K Autocode
JPH10145448A (ja) 通信プロトコル処理方法及び処理装置