JPS63500547A - 循環コンテクストアドレス指定可能メモリ - Google Patents

循環コンテクストアドレス指定可能メモリ

Info

Publication number
JPS63500547A
JPS63500547A JP61504440A JP50444086A JPS63500547A JP S63500547 A JPS63500547 A JP S63500547A JP 61504440 A JP61504440 A JP 61504440A JP 50444086 A JP50444086 A JP 50444086A JP S63500547 A JPS63500547 A JP S63500547A
Authority
JP
Japan
Prior art keywords
sequence
symbol
data
memory
symbols
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
JP61504440A
Other languages
English (en)
Other versions
JP2516609B2 (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 JPS63500547A publication Critical patent/JPS63500547A/ja
Application granted granted Critical
Publication of JP2516609B2 publication Critical patent/JP2516609B2/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/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Channel Selection Circuits, Automatic Tuning Circuits (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Electrotherapy Devices (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の名称 循環コンチクストアト9レス指定可能メモリ技術分野 本発明は一般的に、データ処理システムの分野に関し、よシ詳細には、データ処 理システムに用いるメモリシステムに関する。
背景技術 人工知能システムに用いられる実質的に全てのデータ処理システムは、情報が記 憶され且つ選択的に検索されることを要する。情報は、一度に1つ検索されるべ き多数のレコードから成るメモリに記憶されるデータベースとして通常は構成さ れる。
通常、各レコードは、1単位として検索される。データベース検索の最も単純な 例は、1つ又はそれ以上のキーワードを含む全てのレコードの検索を含むもので ある。例えば、データベースが、ルコード当シ1つの記事として、特定の組の和 学雑誌における全ての記事からなっているとする。ここで、1つ又はそれ以上の キーワードを含む全ての記事、例えば、「計算」及び「人工知能」という語を含 む全てのレコードを検索したくなったとしよう。
「エキスパートシステム」において、データベースは、種々のルールに体系的に 整理され、所与の仕様に一致するルールを繰り返し探索されなければならない。
この所与の仕様は、「間合せシーケンス」と呼ぶことができる。「ルールベース 」探索と呼ばれるこの型の探索は、上記の1つ又はそれ以上のキーワードを含む レコーrの探索とは大きく異なる。エキスパートシステムに問題が与えられると 、このシステムは、データベースにおける多くのルールの内どれを現在存在する 問題に次に適用すべきかを選択しなければならない。この選択は、解決される問 題における変数間のデータ及び関係に依存する。エキスパートシステムは、同一 のデータ及び(又は)変数の間の関係を含むこれらのルールを選択しなければな らない。例えば、これらのルールは、次の形式となる。
工Fく条件)、THEN(行動又は結論〉である。
データベースにおけるこれらのルールの1つは以下のようになる。
工r(xが食べる)、THEN(Xは空腹である)。
問題が情報「ピータが食べる」を含む場合、システムは、(Xが食べる)を含む 情報を見つけるために全てのルールを探索するタスクに直面する。ここで、Xは 、既知の情報における任意のエレメントに置き換えられる可変エレメントである 。上記のルールは、「食べる」を含む任意の他のルールと共に検索される。一旦 、システムがこのルールを検索すると、システムは、Xにピータを置き換え、次 にピータは空腹でちると結論する。
このルールベースの探索は、1つ又はそれ以上のキーワードを含む全てのレコー Vが検索される単純なキーワード又はキーエレメント探索とは大きく異なる。ル ールベース探索において、データベース記憶に含まれるエレメントの数と順序は 両方とも重要である。3つのレコード’(’+ ”+ b)、(a、z、b)? 及び(t)、(dl@)Ta)を含むデータベースを考えることにする。
r−J及び「b」を含む全てのレコードへの要求は、上記のレコード9の全てを 探索する。しかしながら、形式(a、b)の全ての「ルール」への要求は洛レコ ード1が、3個のエレメントを含んでおシ且つ要求されたルールが2つしかエレ メントを含んでいないため、これらのレコードのどれによっても満足されない。
形式(at’s1:1)を即ち?は、任意のベース、副表現、又は別の変数によ って満足し得る可変エレメントを示すこの形式の全てのルールに対する要求は、 r−J及び「b」が第3のレコードにおいて異った順序で現われるため、最初の 2つのレコード9を検索するが、第3のレコードは検索しない。従って、変数の 概念によっても、ルールベースの検索システムは、規定されていない順序にある キーエレメントに基づくレコードを選択するのに都合よく用いることができない 。
逆に、キーワード探索システムは、ルールベースの探索のために用いることが困 難である。キーワードシステムについてルール−<−スの探索を実行するために 、2つのステップヲ用いなければならない。先ず、ルールにおけるエレメントを 含む全てのレコードは、検索され、特定の補助記憶装置に記憶される。
次に、これらの記憶の各々は、それが、付加エレメントを有していない正しい順 序にあるエレメントを含むか否かを決定するために別々に試験されなければなら ない。
現在入手可能なコンピュータハードウェアを用いる人工知能システムを実現する にあたシ遭遇する主な問題は、大きなデータベースを探索して特定の間合せシー ケンスに−ifるレコードを見つけるのに要する時間である。有用なものとする ためには、斯かるシステムは、非常に多くのレコーrを含まなければならない。
データベースを探索するのに必要な時間は、データベースの長さに比例するため 、固定探索速度を有するシステムが、新しいルールの型をとる新しい情報の付加 によりて「よシ賢く」なると、この時間も、遅くなる。この問題は、探索される べきデータベースのサイズが増加する時にシステムの探索速度を早くすることに よってのみ解決され得る。
集積回路技術においてなされてきた多くの改良にも拘わらず、近代的なコンピー タは、元来のノイマン型の設計とは殆んど異なっていない。古典的なノイマン型 マシンは、中央処理装置及び固定された長さのワードで構成される独立のメモリ からなっている。処理装置は、このメモリの始めに対する所望のワードの位置を 規定することによシ一度に1ワードずつメモリからデータを取シ出す。上記の探 索を実行するために、ノイマン型の中央処理装置は、この後、メモリからデータ ベースの各ワードを検索し、次にこれをこれもまたメモリに記憶されている間合 せシーケンスにおけるワードの各々と比較する。1つの処理装置が実行すること ができる速度には限度がちるため、実用におけるノイマン型マシンは、アクセス され得るデータベースのサイズについて限定されている。1秒肖シ1千万回の比 較という速度においてさえ、ノイマン型マシンは、例えば、米国における種々の 管轄に関する司法リポータ−シリーズのみを含んでいるライブラリーの内容を探 索するのに困難を窮める。
速度の限界に加えて、ノイマン型アーキテクチェアはまた、その固有の、、)# ウェア依存性の故に多くの限界を示す。メモリアドレスを規定するために、固定 された数のアドレスラインが用いられる。N個のアドレスラインを有するシステ ムは、2N ワードのメモリをアドレス指定できるだけである。この限界を越え てメモリ容量を増加するには、アドレスラインの数を増加しなければならない。
たいがいのシステムは、コンピュータの命令セットが、アドレス指定することの できる最大メモリサイズを規定するため、ハート9ウエアとソフトウェアの両方 の変更を伴う。更に、メモリの一部が、その成分の1つの故障によって作動不能 となった場合、再プログラミングすることなしにこの記憶をメモリの損傷のない セグメントに転送することは困難である。メモリのサイズが、より多くの数のデ ータレコード9の記憶の必要性に応答して大きくなると、メモリのある成分にお ける斯かる故障の確率が大きくなる。
最後に、大きなデータベースの探索の問題は、中央処理装置に存在するわずかな 命令のみの使用しか必要としない。典型的な中央処理装置は、外界を取シ扱うた めの入力/出力命令から、数を表わすメモリワードを組み合わせるための数学的 な命令までの様々な文字通シ何百という実行可能な命令を有している。
データベースの探索の問題は、これらの命令の多くても10乃至20Lか必要と しない。従って、データベースの探索の問題は、中央処理装置の命令のレーz− ト++e十分に使えない。
中央処理装置の速度上の制限は、各々がメモリに対するアクセスを有する多重中 央処理装置を有するシステムを構成することによ#)ある程度克服することがで きる。しかしながら、この解決方法にも、その限界がある。与えられたメモリを 共鳴することができる中央処理装置の数は、各中央処理装置がメモリにアクセス するのに要する時間てよって究極的には製限される。
用されなければならない場合、10個以下の中央処理装置しか、同一のメモリを 効果的に共用することができない。斯くして、中央処理装置を反復するのは、ノ イマン型マシンの速度上の制限に関する最良の解決方法ではない。
反復された中央処理装置を用いてこの探索時間を効果的に減らすことができても 、依然としてハードウェアによって課せられる制限が残っている。遅かれ早かれ 、ノイマン型マシンにおいては実行することが困難であるこれらのハードウェア 上の制限を越えてデータベースを拡大したくなるであろう。データベースのサイ ズの増大が、アト9レスラインの数を増加するという゛付随的な必要性を見るこ となく、要求する時は必ずシステムに付加することができるモジーラーメモリを 希望するのが理想的である。メモリを拡大するこの機能は、永久的に増え続ける 量の情報を獲得し且つ用いることのできるマシンを構成スることをめるこれらの 人工知能システムにおいては段々と重要になろう。
発明の開示 本発明は、間合せシーケンスに応答して記号のデータシーケンスを記憶し且つ検 索するためのメモリシステムからなっている。これらのデータシーケンス及び間 合せシーケンスの各々は、3つの型の記号、即ち定数、区切り文字、及び変数か ら構成されている。データシーケンスは、もしデータシーケンスと間合せシーケ ンスの2つのシーケンスが、各シーケンスにおける各変数を定数又は定数と区切 り文字の組合せによって置き換えることによシ同等となり得る場合は、間合せシ ーケンスに応答して検索され、この組合せは、区切シ文字に始まシ区切シ文字に 終る。この終端は、各データシーケンスから選択された記号と対応の間合せシー ケンス記号との間の幾つかの対に関する比較を実行することによって成される。
これらの対に関する試験の各々を首尾よく通過するこれらのデータシーケンスは 、検索される。
データシーケンスは、各記号が、それが読み出しのために得られる幾つかのタッ プ点のそばを定期的に通過する2進ビツトのシーケンスとして記憶される循環メ モリ記憶部に記憶される。
これらのタップ点の各々は、記憶されたデータシーケンスを、循環メモリ記憶部 に記憶されたデータを表わすのに用いられる記号と同じ型の記号のシーケンスか らなる間合せシーケンスと比較することのできるプロセッサを含んでいる。メモ リシステムは、この間合せシーケンスを保持し且つこれを、循環メモリ記憶部に おけるデータシーケンスを表わしている2進ビツトのシーケンスと都合よく比較 することのできる2進ビツトのシーケンスに変換するための独立の記憶バッファ を含んでいる。データ検索機能のオはレージ璽ンに割込みすることなしに、新し いデータシーケンスを循環メモリ記憶部に入力するための独特のサブシステムが 提供されている。このデータ入力技術は自動的に、新しいデータシーケンスを記 憶するには小さすぎた断片的記憶領域を集め、これらの領域を、この新しいデー タシーケンスが挿入されるより大きなスイースに組み合わせる。これら種々のメ モリ機能のオはレーションは、システムを最小のオーバーヘッドを有する、よシ 大きなコンビエータシステムに集積することができる組込プロセッサの制御の下 にある。
本発明の目的は、メモリにおけるルールの記憶位置に対するものとしてそれらの 内容を規定することによりこれらのルールが検索可能であるルールベースの人工 知能システムに適用可能なルールの記憶及び検索のためのメモリシステムを提供 することにある。
本発明の別の目的は、複数の処理装置が、与えられた間合せシーケンスを満足す る全てのデータシーケンスを見つけるために探索する、折シ返された形の共存す るデータ処理システムを用いることにより、上記のレコードヲ検索するのに必要 な時間を削減することにある。
上記及び他の目的は、本発明の次の詳細な説明及び添付図面から明らかとなろう 。
図面の簡単な説明 第1図は、本発明の好ましい実施例のブロック線図である。
第2図は、好ましい実施例シておいて記号を記憶するのに用いられるデータフォ ーマットの概要を示す図である。
第3図は、好ましい実施例において用いられるタップの内の1つを示すブロック 線図である。
第4図及び第4(a)図は、好ましい実施例において用いられる間合せ記憶バッ ファを示すブロック線図である。
第5(a)図乃至第5(d)図は、1つ又はそれ以上のブロックの未使用スイー スの代わシにメモリの中へ新しいデータを挿入することの説明のための図である 。
第6図は、好ましい実施例においてタップを実現するのに用いられる有限状態マ シンに関する状態図である。
′ ≠丁ン呑掻#≠太:ゴ ―−−―− 1、−11−1− 皐ゐ子 発明を冥施するための最良の形態 メモリ構成の選択 上記に指摘されたように、サーチ時間は、探索されているデータベースの長さに 比例する。従って、サーチ時間は、それぞれがそれ自身の処理ユニットヲ有して いる幾つかのサブユニットにデータベースを分解することにより低減することが できる。
これは、サーチタスクを、それぞれが、サーチリストにおける持するのに十分な メモリを有している多数の小型ノイマン型マシンの間に分割するのと同等である 。斯かるシステムによる最も早い探索は、メモリの各ワードに組込まれる1つの 処理ユニクトヲ有しているメモリによって達成される。次に、1つのメモリサイ クルにおいて、メモリはそれ自Jttキーワードと比較し且つこのキーワードが 現われた各レコードを識別することができた。データベースワード9と処理ユニ ットの最適比は、明らかにメモリの複雑性に対する処理ユニットの相対的な複雑 性に依存f :b。処理ユニットは探索機能を実行するのに数個の命命Φみしか 必要としないため、比較的高い密度の処理ユニットが可能である。この型式の高 度な複製のモジエラー構造は、最新のVSLI集積回路組立技術に特によく適し ている。
この型式のアーキテクチュアはまた、メモリ容量の各ユニットは、それと共にそ れ自身の探索能力をその組込み処理ユニットの形で備えているため、データベー スのサイズが増加しても処理時間が増加しないというデータイース探索問題てよ く適している。従って、このシステムの計算能力は、データベースが拡大すると 拡大する。更に、このシステムの中央処理装蓋は、メモリにおける探索機能を行 う処理ユニットのそれに対するものとして、この型式では比較的オーバヘッドが 少ない。アドレス即ちメモリの内容に関連する他のデータに絶えず注意している 必要はない。探索の諸結果をどこに記憶すべきかについての命令を有する多数の モジュールから構成されているメモリユニットに間合せシーケンスを送るだけで よい。
原則として、データシーケンスは、多数の物理的メ牟リゾバイスの任意のデバイ スに記憶することができる。、これらのデバイスの全ては、これらのデータシー ケンスを保持するためのある種類のメモリ及びこれらのシーケンスを間合せシー ケンスと比較するためのプロセッサを含んでいる。この比較は、データシーケン スからの1つの記号及び間合せシーケンスからの1つの記号を含む対で比較する シーケンスとして実行される。これらの記憶されたデータシーケンスを操業して 特定の間合せシーケンスに一致するデータシーケンスを見つけるのに必要な時間 は、これらの対で比較する比較器回路の速度並びに用いられている斯かる回路の 数に依存するであろう。比較器と記憶位置との比が大きいシステムは、これらの 突合せシーケンスを最小の時間で検索するが、これらのシステムは、追加の比較 器の中に含まれたであろう回路が追加のメモリに改造される、よシ少ない比較器 を有するシステムよシも、低いメモリ密度及び高いコストを一般的に有するであ ろう。
本発明の装置において、循環メそり記憶システムがデータシーケンス用に使われ 、間合せシーケンスは静的状態を保ち、且つデータシーケンスは、各データシー ケンスが間合せシーケンスのそばを流れる時に間合せシーケンスと突合される。
ここで、各データシーケンスは、一度に1つずつ間合せシーケンスに対して別々 にテストされる。特定のデータシーケンスが間合せシーケンスに一致すると、こ のデータシーケンスは、プロセッサが次のデータシーケンスを続けてテストする 前に読み出される。
特定のデータシーケンスが一致しない場合、プロセッサはシーケンスの残シが通 過するのを待ち、次の記憶データシーケンスをテストする。
大抵の循環メモリシステムは、実際は「ビットシリアル」である。例えば、磁気 ディスクが一般的に、データワードを直列シーケンスのビットに変戻して、次に これらのピッ)t−循環記憶媒体に書き込むことによシ得られる単一ビットのシ ーケンスであるトラックf:Rみ出し且つ書き込む。2つの可能な設計方法が、 記憶媒体のシリアルな特性に与えられている。最初の1つは、シリアルビットス トリームがワードに戻って変換され、次にこれらのワードが間合せシーケンスに おけるワードと比較されるシステムを構成することができた。斯かるシステムは 、1ワード巾でちゃ且つ1つの「比較サイクル」における1つの間合せワードを テストする比較器を用いる。第2の代わりの設計方法は、間合せシーケンスワー ドヲ対応するビットシリアルな表現に変換し、次にこの2つのビットシリアルな 表現を1ビツト巾のみである比較器において比較することである。これらのデー タワードがNビット長でありた場合、N比較サイクルが必要となろう。しかしな がらこれらの比較器のコストは、上記のスキームのNビット巾比較器が、単一ビ ット巾比較器に置き換えられるため、大巾に低減される。
これらの代替方法の最初のものは第2の代替方法が必要とするN比較サイクルと 比べ、各間合せワードをその対応するデータワー1に対してテストするのに1比 較サイクルしか必要としないため、より早い比較を行うように見えるが、実際は そうではない。第1の場合において比較を行うのに要する時間は、このデータワ ー)#全構成するNピッIfビットシリアルストリームから集めるのに必要な時 間とこれらを次にNビット巾比較器に与えられるデータワードに変換するのに必 要な時間との和であり0このオはレーションは、データワ「シリアルインパラレ ルアウト(serial−1n parallel−out)、Jシフトレジス タにシフトすることによって実行される。Nビットをシリアルインノξラレルア ウトシフトレジスタにシフトするのに必要な時間は少なくとも1つの排他的論理 和ゲートにおいてN比較を行うのに必要な時間と同じ位長いため、最初の代替方 法(1、少なくとも、単純な1ビツトシリアルの比較アルゴリズムと同じ位の長 さだけ比較を行うのに時間を要する。更に、Nビット巾比較器に加えて、タップ 点毎に1つのシリアルインパラレルアウトシフトレジスタを必要とするため、更 にコストがかさむ。従って、このビットシリアルな方法は、実際にビットシリア ルである循環記憶媒体に基づくパターンアドレス可能メモ1Jt−構成するため の選択の方法である。
突合せアルゴリズム 本発明のメモリシステムは、与えられた間合せシーケンスに対応する全てのデー タシーケンスを検索するように設計されている。各データシーケンスは、記号の シーケンスから成っている。各記号は、3つの可能な型即ち、定数、変数、及び 区切り文字の1つに属する。間合せシーケンスは、同様にして、これら3つの型 の記号から構成される。記憶されたシーケンスは、これらシーケンスの各々にお ける変数エレメントの各々を区切シ文字から始まシ区切シ文字に終る定数又は定 数の幾つかの組合せによって置き換えることによシ2つのシーケンスを同等にす ることかで@石場合、間合せシーケンスに対応するように定められる。これらの 定数又は定数の組合せは、置き換えられた変数の各々に対して異なることができ る。例えば、シーケンス(已*a+’+8+C+(a*b)+g)は、第1クー ケンスにおいて?をgによって置き俟えることにより且つ第2シーケンスにおい てその変11−組合せ(a、b)に置き換えることによりシーケンス (a # dl g + 8 + (! + ? * g)と同等とすることが できる。
突き合せアルゴリズムは、間合せシーケンスからとられた1つのエレメントとテ ストされているデータシーケンスからとられた1つのエレメントとの対での突き 合せのシリーズとして実施される。一致という結果の対的突き合せの各々におい て、次の突き合せで用いられる次のエレメントは、副表現が存在する時それらの 表現の回りのジャンプがしばしば必要となるため、特定されなければならない。
これは、上記の2つのシーケンスを用いて示すことができ、第2のシーケンスは 、第1のシーケンスによって表わされるデータシーケンスに対して突き合せられ ている間合せシーケンスである。この突き合せは、第2のシーケンスにおける「 (」に対して突き合されている第1シーケンスにおける「(」から始まる。この プロセスは、第2及び第3エレメントに続く。第4の突き合せにおいて、間合せ シーケンスにおける記号「y」は、データシーケンスにおける変数「?」に対し て突き合される。「?」は、任意のものに突き合されるため、この突き合せは成 功(一致)という結果となる。
このプロセスは、間合せシーケンスにおける「?」が、データシーケンスに含ま れる副表現の「(」に対して突き合されるまで継続する。「?」がこの場合は完 全な副表現ca+1:1)でおる次ノエレメントに突き合されるため、データシ ーケンスにおいてテストされるべき次のエレメントは、「(」の後のraJでは なく、「)」の後の「g」である。従って、1方のシーケンスにおける変数が他 方のシーケンスにおける「(」に対して突き合される時、テストする次の記号は 、「?」に続く記号及び「?」に対して突き合された「(」に対応する「)」に 続く記号である。データシーケンスは、上記の対による突き合せの各々が満足す る場合に間合せシーケンスに対応すると言われる。
更に、本発明は1間合せシーケンスによって規定されるシーケンスで始まるデー タシーケンスが、間合せシーケンスよシも長い場合でおっても戻される「はぼ正 確な」突き合せモードを実施する。例えば1間合せジ−タンス(a、d)が、は ぼ正確な突き合せモーrにおいて用いられた場合、(a、d、・・・・・・と開 始する全てのデータシーケンスが検索されよう。このモート9は、終シのシーケ ンスの全ての可能な組合せを規定することなく、同一のシーケンスから始まる異 なった長さのデータシーケンスを検索することができる。
ハードウェアのインプリメンテ−7Mンの概要本発明のこの好ましい実施例は、 第1図の10に略示されている。この実施例は、ビットシリアルデータストリー ム12として構成されている循環メモリ及び幾つかの異なったタップ点において とのス) IJ−ムにアクセスする幾つかの同等のデータ処理ユニット18を含 んでおり、この例は、22に示されている。
好ましい実施例において、ビットシリアルデータストリーム12は、1ビツトメ モリセルから構成される長いシフトレジスタからなる。記憶されたデータシーケ ンスの各記号は、これらの1ビツトメモリセルの連続ブロックに2進コート9数 として記憶される。このシフトレジスタに記憶されるシンボルは、各メモリセル の内容を次の隣接のメモリセルにシフトすることによシ各タップ点を通って循環 させられ、最後のメモリセルの内容は、最初のメモリセルにシフトされる。
1ビツト巾よシ大きい他の循環メモリは、当業者には明らかである。例えば、N が各記号を記憶するのに用いられるビットの数である場合のNビット巾であるシ フトレジスタは、1ビツト巾シフトレジスタを用いる上記のメモリと類似の方法 で循環メそりを形成するのに用いられ得る。
この好ましい実施例は、各記号を記憶するのに固定された数のメモリセルを用い る。異なった記号を記憶するのに異なった数のメモリセルが用いられる実施例は 、当業者には明らかであろう。記号毎に可変の数のメモリセルを用いるシステム において、各記号は、記号の始まりを示すコードによって先行され、この記号の 終シを定める手段、ストップコードが与えられる。
これ以後タップと呼ばれる処理ユニット18の各々は、上記のビットシリアルデ ータストリーム12に記憶されているデータシーケンスの探索に用いられる間合 せシーケンスを含む間合せ記憶バッファ20に接続されている。入力プロセッサ 16もまた、ビットシリアルデータストリーム12に対して設けられている。こ のプロセッサは、入力バッファ14と共に、データをビットシリアルデータスト リーム12に入れるのに用いられる。この個々のタップは、マスク制御プロセッ サ24と通信するのにも用いられる内部バス26において互いに通信する。マス ク制御プロセッサ24は、本発明のメそりが外部パス30において機能する外部 処理システムと通信する。マスク制御プロセッサ24はまた、間合せシーケンス を間合せ記憶バッファ2oに入力するのに用いられるノZス28によって間合せ 記憶ノ;77ア20にも接続されている。
探索が行なわれる前に、ビットシリアルデータストリーム12には、探索される データシーケンスがロードされなければならない。この機能は、マスク制御プロ セッサ24から記憶されるべきデータシーケンスを受信する入力プロセッサ16 によって実行される。この入力システムのオペレーションハ、以下のように詳細 に説明される。個別のデータシーケンスは、如何なる時間においてもビットシリ アルデータストリーム12に付加することができる。
一旦ビットシリアルストリームがロードされると、与えられた間合せシーケンス に対応する全てのデータシーケンスに対する探索は、以下のように行なわれる。
先ず、間合せシーケンスは、マスク制御プロセッサ24によって間合せ記憶バッ ファ20にリレーされる。第2に、タップ18及びビットシリアルデータストリ ーム12において循環する記憶データシーケンスは、以下に述べるように探索に 対して初期化される。第3に、タップ18は、間合せ記憶バッファ2oにおける 間合せシーケンスへの一致を見つけるように指示される。タップ18の1つが間 合せシーケンスに一致するデータシーケンスを見つける毎に、このタップ18は 、データシーケンスの位置を他のタップ18に内部バス26を介して送る。この データシーケンスに遭遇すべき第1タツプ18は、次に、このデータシーケンス を内部バス26を介してマスク制御プロセッサ24に含まれる出カバントリに送 る。マスク制御プロセッサ24は、問題のデータシーケンスを、本発明のメモリ が作動している処理システムに中継する。
データフォーマット 各データシーケンスは、記号のシーケンスからなっている・特別な記号は、各デ ータ7−ケンスの始まり及び終シを示す信号を送るのに用いられる。各記号は、 1つの失なわれたメそリセルの連続ブロックである記憶「ワード」によって表わ される。
好ましい実施例において、各記憶ワードは、34ビツト長である。これらの34 ビツトは、この記号がデータシーケンスからなるこれらの記号の1つである場合 ビットシリアルデータ7トリーム12において循環する。間合せ記憶バッファ2 0は、間合せシーグンス記号を同一の34ビツトフオーマツトに記憶するだめの 34ビット記憶ワードを含んでいる。各記憶ワードは、識別グループ及びデータ グループに分けられる。各ワードの最初の2ビツトは、データビットと呼ばれる 、残シの32ビツトにおいて記憶されるデータの特質を示す識別ビットである。
定数及び変数を含む記憶ワードにおいて、データビットは、この定数又は変数の 「名前」を記憶するのに用いられる。変数に対して記憶された名前は、本発明の 装置によっては用いられない。
この選択自由な名前は、データシーケンスをよシ英語のよ5に解されるために与 えられている。この選択自由な名前はまた、本発明の装置に結合されているデー タ処理システムによりても用いられ得る。
区切シ文字を含むあるいはデータシーケンスの始まシ及び終シ等の幾つかのシス テAm能を示す信号を送るのに用いられる記憶ワードにおいて、これらのデータ ビットの1つ又はそれ以上のビットは、識別ビットと結び付いて、この機能を規 定するのに用いられ得る。これらの種々の識別ビット及び関連のデータビットは 、第2図に要約されている。データシーケンスを修了するための特別な記号に加 えて、特定のデータシーケンスが間合せシーケンスに対する一致において既にテ ストされたことを示す特別な記号「見える」及び「見えない」並びに記憶ワーl −は、新しいデータシーケンスを記憶するのに入手可能であることを示す特別な 記号「空」が存在する。見える記号又は見えない記号のどちらかは、データシー ケンスの始まシを示すのに用いられる。探索が初期化されると、各データシーケ ンスの第1の記号は、「見えない」記号に変化する。タップが、このデータシー ケンスを間合せシーケンスと比較した後、第1の記号は、「見える」記号に変化 する。
間合せシーケンスを構成するこれらの諸記号は、第2図に示されるように、類似 のフォーマットにコード化される。しかしながら、「見える」及び「見えない」 データシーケンス並びに空データワードの概念は、ここでは適用できない。従っ て、5つの型のデータ記憶ワード9のみが、間合せシーケンスにおいて定められ る。これらのデータ記憶ワードは、閉区切シ文字を例外として、記憶されたデー タシーケンスにおいて対応する記憶ワードと同一である。
間合せシーケンス閉区切シ文字のデータビットは、対応の閉区切り文字の位置を 記憶するのに用いられる。上記に指摘されたように、単純な定数に加えて、デー タシーケンスにおける変数は、間合せシーケンスにおける完全な副表現に突き合 され得る。斯かる副表現の各々は、閉区切シ文字から始まる。従ってこの場合は 、間合せシーケンスにおける閉区切り文字に対して突き合わせをされているデー タシーケンスにおける変数によって合図される。間合せシーケンスにおける閉区 切シ文字が、データシーケンスにおける変数に対して突き合されている時、この 付き合せを行なっているタップ18は、問題の閉区切シ文字に対応する間合せシ ーケンスにおける閉区切り文字にジャンプ、しなければならず、次に閉区切シ文 字の後の間合せ記号から始まる突キ合せオにレージ廖ンに継続する。これは、付 き合せ閉区切文字の位置を閉区切シ文字を含む間合せ記憶ワードのデータビット に記憶することによシ本発明において達成される。間合せシーケンスにおける閉 区切り文字は、データシーケンスにおける変数と突き合されると、タップ18は 、閉区切り文字のデータビットにおいて規定される間合せ記憶バッファ20にお ける位置にジャンプし、次にこのジャンプにおいて規定された突き合せの後にこ の記号を用いる突き合せを継続する。このジャンプ位置は、ジャンプされる間合 せシーケンスにおける各記号に対する閉区切シ文字記憶ワードにおける1つのデ ータビットをセットすることによシコート9化される。従って、間合せシーケン スが副表現(a、b)を含んでい未場合、閉区切シ文字は、最初の2データビツ トを1にセットせしめる。
タッププロセッサ タップ18の1つのタップに対するブロック図が、第3図に示されている。各タ ップ18は、データシーケンス記号間合せシーケンス記号と比較するための手段 を含んでいる。データシーケンス記号は、ビットシリアルデータストリーム12 において循環しているビットのシーケンスとしてタップ18に入力される。この 比較において用いられるべき間合せシーケンス記号は、同様にして、ビットシリ アルフォーマットとしてタップ18に入力される。間合せ記号のこのフォーマッ トへの変換は以下に述べるように間合せ記号バッファ20において実行される。
間合せストリームと呼ばれる間合せ記号のビットシリアルな表現は、問題のタッ プ18を間合せ記憶バッファ2oに接続するライン56におけるタップに入力さ れる。
各タップ18は、4つの主なニレメントラ含んでいる。先ず各タップは、問題の タップに関連する上記のタップ点22において現在読み出されているデータシー ケンスの「アト9レス」を追跡するアドレス論理回路30を含んでいる。この回 路は、タップ18を通過するビットシリアルデータストリーム12における現在 のアドレスを計算するためのアドレスカウンタ32、システムにおいて種々のタ ップを接続するバス26の一部であるアドレスバス36において他方のタップへ の通信のためのアドレスを記憶するためのアト9レスラツチ34、及び現在のア ドレスを上記のアドレスバスにおいて通信されるアドレスに対してテストするた めの比較回路36からなりている。ビットシリアルデータストリーム12におい て記憶されているデータシーケンスの現在のアドレスは、本発明の装置の外側に おいてはアクセス可能ではないが、装置の内部においては、データシーケンスは アドレスによってアクセス可能である。各タップ18は他方のタップに対して相 対的なそのアドレス並びにアドレス回路30が初期化されると必ず再定義される ビットシリアルデータストリーム12におけるある点に対して相対的なアドレス を計算する。これは、アドレス回路3oが初期化される時にアト9レスカウンタ 32の各々に所定の数を記憶することによって達成される。この数は、各タップ エ8に対して異なって(へる。これは、このタップと第1のタップとのビットシ リアルデータストリーム12におけるデータビットの数である。ビットシリアル データストリーム12における各データビットが与えられたタップ=1通過する と、このタップのアドレス回路30は、このタップに位置されているアドレスカ ウンタ321&:増分する。タップ18によって突流されているオペレージ盲ン は、それが見つけたデータシーケンスのアドレスを別のタップ18に通信する必 要がある場合は、このアドレスをゲート38によってアドレスバス36にゲート されるアドレスチッチ34にラッチすることによりそのようにする。例えば、デ ータシ・−ケンスと間合せシーケンスとの間に一致が見つかった時、この一致を 見つけたタップ18は、問題のデータシ・−ケンスのこのアドレスを他方のタッ プの全てに中継する。別のタップ18がこのアドレスと遭遇すると、これは、こ のビットシリアルデータストリーム12をマスク制御プロセッサ24に含まれる 出力ハンドうにスイッチする。好ましい実施例において、タップ18の全ては、 同一のアドレスを共有し、バスアービトレーション(arbitration) スキームは、2つ又はそれ以上の競合するタップの間のコンフリクトヲ解決する のに用いられる。
各タップ18に存在する第2の主なエレメントは、データシーケンスにおける副 表現をマークする与えられた閉区切シ文字に対応する閉区切シ文字を見つけるの に用いられる区切シ文字カウンタ42である。間合せシーケンスにおける「?」 が、記憶されたデータシーケンスにおける閉区切9文字に一致している時、この タップ18は、対応する閉区切シ文字が、データ及び間合せシーケンスの比較を 再開する前にデータストリームにおいて遭遇するまで待機しなければならない。
これは、問題の閉区切シ文字に対応する閉区切シ文字に遭遇するまでタップ18 i通過する区切シ文字を計数することによシ達成される。
次に突き合せは、上記の閉区切り文字に続くデータシーケンス記号から再開する 。スキップされている副表現は、別の副表題をその一部として含み得るため、こ の区切り文字カウンタ42は、「(」及び「)」の両方を計数しなければならな い。区切り又字カウンタ42は、可変間合せ記号は、閉区切υ文字データシーケ ンス記号と比較される時の初期状態にセットされる。
このカウンタは、各々の「(」において増分され且つ各々の「)」において減分 される。区切り文字カウンタ42が初期状態とは異なる値を有している限シ、間 合せストリームをビットシリアルデータストリームと比較する回路は抑止される 。この区切シ文字カウンタ42が、その初期状態に戻ると、この突き合せのオペ レージ璽ンが再開されろ。問題の副表現の始めをマークする閉区切9文字はまた 、このプロセスにおいて計数される。この区切シ文字カウンタは、データシーケ ンスにおける与の手段として及び与えられた間合せ記号に対応するデータ記号が またタップ18に入手可能でないことを示すための「保持」手段として作用する 。
各タップ18の第3の主なエレメントは、データ及び間合せシーケンス記号を比 較するだめの比較手段である。以下に論じられるように、間合せ記憶バッファ2 0は、間合せシーケンス記号、ビットシリアルデータストリーム12において循 環するデータシーケンス記号に対して用いられるのと同じフォーマットを有する ビットシリアルストリームに復号する。両方の流れはビットシリアルであるため 、排他的論理和ゲート50の形の比較器が、これら2つのビットストリームを比 較するのに十分である。ゲート50の出力は、テストされているデータシーケン スの第1の記号が、間合せシーケンスの第1の記号に比較される時に第1状態に セットされるフラグ47に接続されている。
これらの比較の任意の比較がタップ18において読み出されているデータシーケ ンス記号と対応の間合せ記号との間の突き合せを見つけなかった場合、フラグ4 7は、第2の状態にセットされる。このフラグがデータ及び間合せシーケンスの 最後の記号が比較された後上記の第1状態に以然としてセットされている場合、 問題のデータシーケンスは検索される予定である。インジケータ歩進回路44は 、このフラグをモニタし、不適当な突き合せに気付いた時は必ず現在のデータシ ーケンスに対して突き合せが中止される。
各タップ18の第4の主なエレメントは、インジケータ歩進回路44である。こ のインジケータ歩進回路44は、以下に論じられるように信号ライン55を経由 して間合せ記憶バッファ20と通信し且つ内部パス26全通してマスク制御プロ セッサ24と通信する。この回路44はまた、その一部としてアドレスバス36 を含んでいる内部パス26を紗由して他のタップとも通信する。
このインジケータ歩進回路44の主な機能は、間合せシーヶ揮し且つ間合せ記憶 バッファ20からタップ18に送られる予定の次の間合せシーケンス記号を規定 することである。各ビットストリームにおいて比較されている記号は、この比較 を行う目的のために、4つの型、即ち定数、閉区切υ文字、閉区切り文字、及び 変数に分割することができる。タップ18において行なわれる16の可能な対に よる比較の組合せが存在する。これらの比較を行うにあたシ、インジケータ歩進 回路は先ず、これらの記号の識別ピッ)1−比較する。これらのビットは、それ ぞれ、間合せ状態ラッチ46及びデータ状態ラッチ48に記憶されている。これ らの識別ビットがこれらの記号間の可能な突き合せを示す場合、インジケータ歩 進回路44は、これらの記々の場合、インジケータ歩進回路44+″t、、この 突き合せを継続すべきか否か、継続すべきである場合は、間合せシーケンスのど の記号が次の比較において用いられるべきであるかを決定しなければならない。
次の間合せシーケンスエレメントの選択は通信ライン55における信号によって 間合せ記憶バッファ20に通信される。1つのノルスがライン55を通して送ら れる毎に、このタップに対する間合せシーケンスポインタと呼ばれるポインタが 歩進される。各タップは、タップに送られるべき間合せ記号を規定する1つの間 合せシーケンスポインタを制御する。パルスが何も送られない場合、間合せ記憶 バッファ2oは、現在の記号に対するビットシリアルストリームを反復する。タ ップが、このラインを通して1つのパルスを送る場合、間合せ記号バッファ20 は、間合せシーケンスにおける次の記号を送る。2つのパルスが送られた場合、 間合せ記憶バッファ20は間合せシーケンスにおける1つの記号をスキップし、 次の比較は、ビットシリアルデータストリーム12における次の記号と間合せ記 憶バッファ20における現在の位置から2つの位置に記憶されている記号との間 で行なわれる。
2つの場合を除き全ての場合において、識別ビット及び各ストリームにおける以 下のデータビットの最大2つのビットの検量は、インジケータ歩進回路44がそ の決定を行うのに十分である。これら2つの場合は、ビットシリアルデータスト リーム12における定数に対する間合せストリームにおける定数の突き合せ及び ビットシリアルデータストリーム12における変数ス1)において、インジケー タ歩進回路44は、これら2つの定数が一致するか否かを確認するために両方の ストリームにお一致しない場合、この突き合せの処理は、このデータシーケンス に対して中断される。これらが一致する場合、間合せ記憶バッファ20における 間合せシーケンスポインタは、ノξルスをライン55を通して間合せ記憶バッフ ァ20に送ることによυ次おいて、データシーケンスにおける変数は、間合せシ ーケンスにおける閉区切シ文字に対して突き合わされる。この変数が、この閉区 切ジ文字から始まるサブクーケンスの全体と突き合わされるため、間合せシーケ ンスポインタは、間合せシーケンスにおける対応する閉区切り文字に進行しなけ ればならない。上記で論じたように、間合せシーケンスにおける各閉区切り文字 は、対応の閉区切り゛文字に到達するためにジャンプされる記号の数によってコ ード化される。このコード化は、上記の閉区切9文字を記憶するのに用いられる 記憶ワードのデータビットにおける「1」ビットのシーケンスの形として行なわ れ、スキップされなければならない各記号に対して1つの「1」が存在する。斯 くして、閉区切り文字が、間合せシーケンスにおいて4つの記号だけ離れていた 場合、この閉区切9文字は、4つの「1」を含む。インジケータ歩進回路44は 単に、これらの「1」をライン55を通して間合せ記憶バッファ20に中継する 。間合せ記憶バッファ20における回路は、間合せシーケンスポインタを歩進す る。間合せシーケンスポインタが一旦、対応の閉区切シ文字に送られると、イン ジケータ歩進回路44はこの場合は、それが定数及び突き合わされた変数を含む かのように取り扱い、即ち、間合せシーケンスにおいて1記号だけ歩進され、こ の突き合せは、ビットシリアルデータストリーム12における次の記号に継続す る。
データストリームにおける閉区切り文字に対して突き合わ路44は、間合せシー ケンスポインタを歩進する前にデータストリームにおける対応の閉区切り文字が 通過するまで待機しなければならない。これは、上で論じたように、区切り又字 カウンタ42における開及び閉区切り文字の数を計数することにより達成される 。
131iiIの残りの場合の全てにおいて、突き合せは、継続し、この場合は突 合せシーケンスポインタが次の間合せシーケンス記号に歩進されろか、あるいは 突き合せが中断されて、間合せシーケンスポインタの位置が変化されないままに なるか、のどちらかである。
閉区切シ文字が間合せシーケンスにおいて遭遇される全ての場合(ケース5乃至 8)において、インジケータ歩進回路44は、この閉区切シ文字が実際間合せシ ーケンスマーカの終りであるか否かを見るためにデータビットを検査しなければ ならない。これは上記のマーカであり且つインジケータ歩進回路44が以下に述 べろ部分突き合せモードにセいて作動するように指示されている場合、インジケ ータ歩進回路44は、この場合はビットシリアルデータストリーム12がデータ シーケンスの終りを示す閉区切り文字を含んでいるかのように敢り扱う。インジ ケータ歩進回路44が、全失色合せモードにおいて作動している場合、データス トリームがまた、データシーケンス閉区切シ文字の終!1lt−含んでいた場合 にのみ突き合せが生じる。第7図にリストされている残りの場合は、自明である 。
突き合せ機能を監視することに加えて、インジケータ歩進回路44はまた、デー タシーケンスの削除及び出力、データシーケンス職別ビットの初期化、及びメモ リを全体として初期化することを監視する。これらのオはレージ1ンは、マスク 制御プロセッサ24からの信号に応答して実行される。データシーケンスの削除 及び出力は、インジケータ歩進回路44が、出力されるか削除されるべきデータ シーケンスのアドレスと共に検査されている現在のシーケンスのアドレスと一致 することを必要とする。このアドレスは、前の突き合せ指示の結果としてアドレ スバス36に置かれる。この削除又は出力の指示は、マスク制御プロセッサ24 によって中継される。このアドレスが、上記のタップ18によって現在読み出さ れているビットシリアルデー・タシーケンスのアドレスと一致する時は、適当な 処置がとられる。データシーケンスが出力される場合、これは、マスク制御プロ セッサ24に位置されている出カバンドラにコピーされる。データシーケンスが 削除される場合、識別ビット及びデータシーケンスにおける各ワード9の最初の 2つのデータビットは、このワード9が空のスイースであることを示す値にセッ トされる。
特定のシーケンスを削除するために、このシーヶ、ンスは、本発明の装置に間合 せシーケンスとして送られる。この突き合せオペレーションの結果、このシーケ ンスは、「検索」される。
即ち、そのアドレスは、アドレスバス36に置かれる。この削除指示は次に与え られる。
間合せシーケンスに対応する全てのデータシーケンスの探索の前にメそりを初期 化することは各データシーケンスの第1の記号の最初の2つのデータビットのセ ツティングを含む。これらのビットは、上記に論じられた「見えない」状態にセ ットされる。メモリを全体として初期化することは、各ワード毎に識別及び最初 の2データピツトヲ「空」状態にセットすることにより達成される。
指令セット 従来のランダムアクセスメモリは、2つの命令、即ち読出し及び書込みからなる 指令セットを有している。本発明の装置は、その増加した機能性によって、以下 に要約される7つの指令を有している。これらのオペレーションは、本発明が機 能しているデータ処理システムに通信するために、マスク制御プロセッサ24に よって用いられるバス30にコーl−#を置くことによって開始する。各コード は、1つ又はそれ以上の制御ラインにおける特別な間合せ記号又は信号の形であ シ得る。マスク制御プロセッサは、これらのコート9を復号し、本発明の装置の 内部にある適当なアクシ目ンを開始する。
F’工ND MATCH及びF工ND PARTIAL MATCH命令は、2 つのステップで実行される。先ず、間合せシーケンスは、通信バス30を通して 一度に1記号だけ本発明の装置に送られろ。
間合せシーケンスの始まり及び終りは、特別な区切シ文字記号によってマークさ れるため、マスク制御プロセッサ24は、最後の記号が受けられた時を確認する ことができる。最後の間合せ記号が一旦間合せレコードバッファ20に記憶され ると、メモリにおけるデータシーケンスの始まりを示す信号を発する各記憶ワー ドの適当なビットは、「見えない」状態にセットされタップは、突き合せのオに レーションを実行するために合図される。このF工ND PARTIAL MA TCH命令は、FINDMATCH命令と異なるが、それは、間合せシーケンス と一致するこれらのデータシーケンスのみに対して、間合せシーケンスから始ま る全てのデータシーケンスに戻るということだけが異なる。
一致が一旦見つけられると、GIVE MATCH命令の結果、マスク制御プロ セッサ24は、見つけられたデータシーケンスをバス30全通して外部データ処 理システムに送る。突き合せが何も見つからなかった時にこのオペレーションが 与えられる場合、このオにレージ曹ンは無視される。この命令がマスク制御プロ セッサ24に与えられる毎に、間合せシーケンスに一致したデータシーケンスの 1つが、外部データ処理システムに伝送される。
DlgLETg MATCH命令は、データ記憶からデータシーケンスを削除す るのに用いられる。この命令は、削除されるべきデータシーケンスが間合せシー ケンスとして送られたGIVEMATCH命令の後に与えられなければならない 。この削除命令の結果、そのアドレスが現在ア)・3レスバス36にラッチされ ているデータシーケンスにおける全てのワードの識別及びデータビットが上記に 論じた「空」名称に送られる。
ADD RECORD 命令は、ビットシリアルデータストリーム12に新しい データシーケンスを追加するのに用いられる。データシーケンスの実際の挿入は 、以下に詳細に述べろように、入力バッファ及びその関連の入力プロセッサ16 によって実行される。マスク制御プロセッサ24は単に、マスク制御プロセッサ 24が挿入されるべきデータシーケンスをバス30t−通して受ける時に、この データシーケンスを内部バス26t−通して入力バッファ14に中継する。新し いデータシ・−ケンスの最後の記号が、受は取られた後、マスタ制御プロセッサ 24は、新しいデータシーケンスを挿入するように入力プロセッサ16に信号を 送る。
INIT、MEMORY及びCLEARTAGS命令の結果、識別ビット又はデ ータワードの全体は、それぞれクリアされる。これらの指示は、第1データシー ケンスをロードする前にメモリをクリアするのに用いられろ。
間合せ記憶バッファ 本発明の好ましい実施例において、間合せ記憶バッファ20は、ビットシリアル データストリーム12からデータシーケンスを選択するのに現在用いられている 間合せシーケンスを記憶するための多重ポート記憶バッファである。間合せシー ケンスを保持するのに必要な記憶スペースを最小化するべく、タップ18の全て にサービスを与えるのに、唯1つの記憶バクファが用いられる。間合せシーケン スを記憶するのに加えて、間合せ記憶バッファは、間合せ記号のビットシリアル な表現を種々のタップ18に与える責任がある。各タップ18が、間合せ記憶バ ッファ20に記憶された記号の任意のものへの独立アクセスを有していなければ ならない。これは、スイッチ及びポインタのアレイを通して達成される。各タッ プ18は、スイッチのアレイ全通してポインタに至るべき間合せ記憶バッファに おけるワー)″全規定するポインタを制御する。
本発明の好ましい実施例において用いられる間合せ記憶バッファ20は、第4図 に略示されている。′このバッファは、各々が現在探索されている間合せシーケ ンスからの1つの記号を記憶するのに用いられる、第4(a)図に示されるよう な複数のシフトレジスタ84を含むメモリアレイ80からなっている。これらの 記号は、マスク制御プロセッサ24によってバスからメモリアレイにロードされ る。好ましい実施例において、これは、間合せシーケンスの各連続記号を垂直矢 印9oによって示されろ方向にシフトレジスタのアレイにシフトすることにょシ 達成される。シフトレジスタ84の各々は、第4(a)図に示される水平矢印9 2によって示される方向にシフトすることにょシその内容を再循環する。この再 循環オペレーションは、各ワードからデータのビットシリアルストリームを形成 する。間合せ記号の各々の記号のこのビットシリアルな表現は、タップ18の1 つ又はそれ以上に送られ得る。ビットが各シフトレジスタの終における最初のビ ットへの入力として且つまたタップスイッチ82の1つ又はそれ以上に対する入 力として用いられる。各タップ18に対しては1つのタップスイッチ82が存在 する。どのワードが特定のタップ18に送られるかについての選択は、各タップ 18に関連する間合せシーケンスポインタ94をセットすることによりなされる 。
各タップ18け、このタップ18に専用の且つメモリアレイ80の全体の長さに わたって延びているタップスイッチ82によってサービスされる。このスイッチ によって、このタップ18は、任意の間合せシーケンス記号をビットシリアルス トリームとして受信する。このタップ18に切り換えられるシフトレジスタ84 ワードは、問題のタップ18の制御下にある間合せシーケンスポインタ94によ って決定される。各間合せシーケンスポインタ94は、ビットの1つが「1」に セットされており且つ残りのビットが「0」にセットされているシフトレジスタ から成っている。上記の「1」が存在するメそリアレイ位置は、この位置に配置 されている間合せシーケンス記号のビットシリアルな表現を上記の間合せシーケ ンスポインタ94に関連してタップ18と通信させるのに用いられるライン56 に接続されている。これらのシフトレジスタの各々は、上記のタップ18を間合 せ記憶バッファ20に接続しているライン55における信号によυ上記シフトレ ジスタに更に接続されているタップ18からの信号によって、シフトされ得る。
各々の送られた・ぐルスの結果は、間合せシーケンスポインタ94は、メモリア レイ80において1ワードだけシフトされる。間合せシーケンスポインタ94は 、バス28t−通して間合せ記憶バッファ制御プロセッサ96に通信しているマ スタ制御プロセッサ240制御下で各探索の開始において実施される初期化オペ レーションの一部として間合せシーケンスにおける第1の記号にセットされる。
各タップ18は、このタップ18において読み出されているデータシーケンスの 第1の記号との比較を開始するに先立ち、その関連の間合せシーケンスポインタ を間合せシーケンスの開始をマークする記号にリセットする。
データ入力 データシーケンスの記憶部への付加は、記憶データシーケンスのシリアルな特性 によって複雑化される。個々のデータシーケンスの絶対位置は重要ではないが、 各データシーケンスは、記憶位置の連続ブロックに記憶されなければならない。
データシーケンスが削除され且つ新しいデータシーケンスがビットシリアルデー タストリーム12に付加されると、空きスは−スは分解され、ビットシリアルデ ータストリーム12にわたって広がるため、十分な空きスは−スが存在している 時でも新しいデータシーケンスを付加することが不可能になる。この問題ヲ直す ために、空きスは−スを固めて、新しいデータシーケンスを記憶するのに用いら れるようにすることによりこのスに一部の権利を主張するために特殊な/%−F ”ウェアが与えられている。
このプロセスは、以下で、[ガーベッジコレクシ1ン(GarbageColl ectlon) Jと呼ばれている。
ガーベッジコレクションは、連続記憶ワー)−#全占有しなければならないデー タシーケンスにデータを記憶する任意の記憶システムに関連した問題である。こ の問題は通常、メモリにおけるデータを記憶ワードの1つの連続ブロックに再複 写して、これにより、データシーケンス間の任意の空きヌは−スを記憶ワードの 1ブロツクに、通常はメモリに既に記憶されているデータシーケンスによって用 いられるスイースの終りに移動せしめることによりて解決される。この方法は、 再複写オペレーションの間にメモリがサービスからとられることを要求する。本 発明は、このサービス外時間を避ける。
本発明において、ガーベッジコレクシ璽ン機能は、新しいデータシーケンスがビ ットシリアルデータストリーム12に記憶される時は必ずガーイッジコレクシ璽 ンが自動的に生じるようにデータ入力機能と組み合わされる。この方法は、ビッ トシリアルデータストリーム12に挿入され得る、[バブル(txzb’ble  )Jと呼ばれる、シフトレジスタ記憶の可変長ループを用いる。第5(a)図 について説明すると、バブル120が、ビットシリアルデータストリーム12に 挿入されると、ビットシリアルデータストリーム12における循環データは、規 定された点100においてビットシリアルデータストリーム12i出て、下に説 明されるようにバブル120の内容によって決定される点102においてバブル 120に入ジ、パズル120を横断し、パズル120が挿入されなかった場合に 次に横断したであろう点104においてビット直列データストリーム12に再入 力する。
新しいデータシーケンスは、パブ11/120に通してビットシリアルデータス トリーム12に挿入される。データシーケンスロードされる。次に、バズ〆12 0は、第5(a)図に示されるようにビットシリアルデータストリーム12に挿 入される。第5(b1図について説明すると、ビットシリアルデータストリーム 12におけるデータが陰影の付けられた領域106によって示されるようにバブ ル120に循環すると、バブル120に記憶されている新しいデータシーケンス は、108における網目の陰影の付けられた領域によって示されるように、ビッ トシリア120が、ビットシリアルチータストリーム12の一部であるかのよう にバブル120にシフトされ且つバブIし120からシフトされろ。
パルプ120の長さは、ビットシリアルデータストリーム12vi−出るデータ がバブル120に工ンタするパズル120における点102を変化させることに よシ変化し得る。空の記憶ワーrは、第5(C)図における110において示さ れるように、バブνし120にシフトされると、この空の点は、これらの空のワ ードの直前で102から点142に移動する、これは、第5+(1)図に示され る構成におけるバブル120’i出る。この結果、バグ閘は「収縮」し1つこの 空のワードは、バブルの未使用部分に残る。バブルの長さがゼロに収縮すると、 入力オペレーションが完了する。従って、新しいデータシーケンスが入力され、 それを記憶するのに十分な連続スに一部が存在しない時は必ず2つ又はそれ以上 のより小さなスペースが自動的に組み合わされて、その記憶に十分大きなスに一 部を形成し、且つこのオペレーションは、ガーイッジコレクシjンなしにデータ シーケンスを入力するのに要する時間よシ長い時間は必要としないが、これは、 バブル120におけろデータが挿入されている間に他のメモリ機能が継続し得る からである。
挿入されるべきデータシーケンスは、バブル120よジも大きな場合、各々は、 バブル120め最犬長よシ小さいかこれに等しい一連の短い挿入部分に分解され る。各挿入がなされた後、バブ゛5tQ4)オにレーションを制御する入力プロ セッサ14は、最後の入力がなされた位f[を記録する。バブル120は次に、 この位置がバブル挿入点104を通過した時に再ローrされ且つ挿入される。
ハードウェアのインプリメンテ−シランの詳細な説明本発明の装置は、標準のC MO8集積回路技術を用いる単一チップによって冥福されてきている。このビッ トシリアルデータ7トリーム12メモリは、集積回路製造の分野の業者には周知 であるCMO8集積回路技術を用いて構成された3 2,000ビツトシフトレ ジスタである。この特定の実施例は、8個のタップ18′f:含んでおシ、間合 せ記憶バッファ2oは、間合せシーケンスを記憶するための36個のワードを有 している。
上で論じた制御回路の各々は、回路製造の技術における業者にはよく知られた技 術を用いるプログラムと論理アレイの形にちる有限状態マシンとして構成されて いる。これらのタップ18の各々におけるインジケータ歩進回路44は典型的な ものである。このインジケータ歩進回路有限状態マシンによって笑−されるアル ゴリズムは、第6図に略示されている。この機械は、2つの部分に分離すること ができろ。最初の部分は、突き合せを検出するのに用いられ、第2の部分は、突 き合せが見つかった場合に突き合せの一致という結果を報告するのに用いられ煽 第6図について説明すると、初期状態、即ち状態0がら状態1への遷移は、突き 合せ機能が要求され、現在のデータワード及び間合せシーケンスワードの状態識 別ビットが、データ状態ラッチ48及び間合せ状態ラッチ46にそれぞれラッチ され、これらの識別ビットが、データワードが「見えない」データシーケンスの 始まりであることを示す場合に生じる。これらの条件が満足すると、この状態マ シンは、初期化され且つ第6図の状態1でマークされている突き合せ状態に進み 、試験されているデータシーケンスの第1の記号のアドレスは、このタップ18 に関連するアドレスラッチ34にラッチされる。突き合せは次に、問題のデータ 及び間合せワードの識別ビットに応じて、更に2つの状態の1つにおいて進行す る。データもしくは間合せワード0のどちらかが閉区切り文字である場合、この マシンは、状態2に進み、突き合せオペレーションあるいは閉区切シ文字への突 き合せに関連した他の条件の終りに対してなされる。どのワードも閉区切り文字 を含まない場合、この状態マシンは、状態3に進み、ここでこの2つのワードは 、互いに対して突き合わされる。状態3におけろオペレーションの結果が、これ らのワードが一致することを示す場合、この突き合せにおいて用いられるべき次 の間合せシーケンスエレメントが特定され、マシンは間合せシーケンスワードと 循環メモリにおけろ次のデータワード0との間の次の突き合せオペレーションを 待つために状態1に戻る。データワードが間合せワードに一致しないと判った場 合、マシンは状態Oに戻る。突き合せが見られた場合、この状態機械は、第2の セクションに進み、ここで突き合せが報告される。
循環記憶システムにおける特有な1つの問題は、データシーケンスが間合せシー ケンスと突き合わされることが決定する時間までに、データシーケンスは、比較 がなされたタップ18を通過し、従ってそれが再循環するまでこのタップ18に おいては読出しができないことである。本発明に用いられているこの問題に対す る解決方法は、マシンが初期化機能の一部として状態Oから状態1に進む時に検 査されているデータシーケンスの開始アドレスを記憶することである。データシ ーケンスが突き合せであると見い出された場合、このアドレスは、他方のタップ 18に通信される。別のタップ18が、このアドレスにおいてデータシーケンス を読み出す時、このタップは、データストリームをマスク制御プロセッサ24に おける出力ハント9うにコピーする。従って、データシーケンスは、それが突き 合せがなされたタップ18を通過して再循環する前に読み出され得る。
全てのタップ18は、この通信の目的のために共通アドレスバス36を共有する ため、UNよりUSアービトレーシ、ンスキームにおいて用いられているのと類 似のアービトレーションスキームが用いられ、これによりアドレスバス36にお けるコンフリクIf防止する。この計画は、第6図の状態ダイブグラムの状態4 ,5.及び6に示されている。このタップは、このパスにおけるFAMラインに 合図することによりパスグランド(Bas grant)を要求する、このパス を空いている時、タップ18には、それが[サック(Sack) J信号によっ て認める「グランド(”grant”)」が与えられる。パスが空いているとす ぐに、タップ18は、パスビジー信号を発生することにょジアドL/スハス36  o制Nt行つ。一旦、タップ18がアドレスパス36の制御全行うと、突き合 せデータジ−タンスのアドレスは、データシーケンスが見つけられて、出力が完 了する壕で、アドレスバス36に保持されよう。
上記及び第6図において説明した有限状態胃シンの論理?上記のアルゴリズム全 実行するためのプログラムと論理アレイに翻訳するための方法は、VLS I集 積回路技術(マノフグローヒルブック社出版、J、ミルマン著マイクロ電子工学 参考)の当業者には周知である。一旦、この有限状態マシンの機能が定められる と、プログラムド論理アし′イのプログラムが書き込まれる。このプログラムは 次に、VLSI回路における斯かるアマ/イV!−構成するのに用いられる多数 のシステムの任意のものにおいて実施され得る。
上記に論じられ且つ第6図に略示されたインジケータ歩進回路44の機能を実施 するためのプログラムV論理アレイプログラムは、好ましい実施例において用い られる種々の有限状態マシンによって実行される諸機能が以下に実施されるかに ついての一例として第2図に示されている。インジケータ歩進回路プ部に沿って 示されている。入力欄においてブランクス−く−スが存在するところのこの表に おける任意の位置において、この入力?無視される。出力欄においてブランクが 存在するところの第2表における任意の位置において、この出力ラインは活動化 されない。有限マシンの現在の状態は、3つの「状態」ビット、即ち状態O,状 態1.及び状態2においてコード化される。比較されている間合せシーケンス記 号のビットは、第3図に示されている間合せ状態ラッチ46にラッチされている 現在の間合せシーケンス記号の職別ピッI・である[P」、P□及びPlによっ て示される。Pビット及びDビットは、比較されている2つのビットシリアルス トリームにおける現在のビットに言及する。比較されているデータシーケンス記 号に関連するこれらのビットは、第3図に示されているデータ状態ラッチ48に ラッチされている現在のデータ記号の識別ビットである[DJ、即ちDO及びD Iによって示されるにのフラグは、第3図に示されている排他的論理和ゲート5 0の出力を監視する7ラグ42である。このフラグは、 [WEJ 出力信号が 「l」であった時に排他的論理和ゲートによってなされる最後の比較の結果を記 憶する6SOR入カラインは、データシーケンス記号の開始がタップ18によっ て見られており一方、マスタ制御プロセッサ24が突き合せがなされることを要 求していることを示す。
[5TATUS J 入力9 インtj:、識別ビットDo、Dz、Po、及び Plがラッチされていることを示す。「5LOTJ入力は、データストリームに おける新しいワードが開始したととを示す。最後に、「J=0」ラインは、デー タストリームにおける副表現が、第3図に示されている区切り又字カウンタ42 における開及び閉区切り文字を計数することによりスキップされていることを示 す。この入力は、初期化信号工NITによって1にセットされ且っC0UNT出 力によって0にセットされる。工NCR及びDECR,出力の結果、このカウン タは、それぞれ増分され減分される。このカウンタがその初期値に戻ると、rJ =OJは0から1にリセットされる。
状態4,5.及び6において排他的に用いられているこれらの入力及び出力は、 好ましい実施例において用いられているノミスアーピトレーシ1ンスキームを実 施するためのものである。
1’−BGJ 入力は、このバスがタップ18に対して「許可」されていること を示す。このバスが許可されていない場合は、プログラムは、バスグランドを要 求する「FA、MJ信号を維持する。
一旦、このバスが許可されると、タップ18は、「サック」出力によるグランド を認め、状態5に入り、ここで、[”Bbsy」入力によりて示されるようにバ スが空きになるのを待機する。一旦、このバスが窒きになると、タップ18は、 マスタ制御プロセッサ24が、開極のデータシーケンスが[5sync J入力 を通して出力されたことを合図するまで保持する「Bbsy J出力を通してバ スの制御を行う。
簡潔を期すために、間合せシーケンスよりも長くしかも間合せシーケンスから開 始するデータシーケンスも戻る不完全な突き合せモードは、プログラムV論理ア レイプログラムには示されていない。同様にして、タップによって実行声れる種 々の非突き合せ機能(データシーケンスの削除、メモリの初期化等)のためのプ ログラミングは省略した。
入力プロセッサ16、マスク制御プロセッサ24、及び間合せ記憶バッファ20 において用いられる論理回路は同様にして有限状態マシンとして構成されている 。これらのマシンに対する詳細な状態ダイアダラムは、VSLI集積回路技術の 当業者には明白であろう。
本発明の種々の実施例が本明細書において述べられてきたが請求の範囲に記載の 本発明から逸脱することなく種々の変更及び修正がなされ得ることが了解されよ う。
i−7ワーP FIGLIRE 2 国際調査報告 一一一一−^神−”””” Pim’r/lls86101683

Claims (27)

    【特許請求の範囲】
  1. 1.記号のデータシーケンスの記憶及び検索のためのメモリシステムにおいて、 各々が1つ又はそれ以上の記号からなる1つ又はそれ以上のデータシーケンスを 記憶するためのメモリセルの第1アレイ、上記記号に複数のタップ点を通って順 次に循環せしめるための手段、及び上記メモリシステムに結合された記号の問合 せシーケンスを受信するための手段を含む循環メモリ;メモリセルの第2アレイ を含む記号の上記問合せシーケンスを記憶するための手段;上記各タップ点に作 動的に結合された手段であって、記号の上記問合せシーケンスに対応するメモリ セルの上記第1アレイから記号の1つ又はそれ以上のシーケンスを検索するため の手段を含むことを特徴とするメモリシステム。
  2. 2.上記メモリ手段に結合された記号のデータシーケンスを検索するための且つ 記号の上記受信データシーケンスを上記第1アレイに記憶するための手段を更に 含むことを特徴とする請求の範囲第1項に記載のメモリシステム。
  3. 3.上記検索手段が、記号の上記問合せシーケンスに同等の記号の全てのデータ シーケンスを検索することを特徴とする請求の範囲第1項に記載のメモリシステ ム。
  4. 4.記号の上記データシーケンス及び記号の上記問合せシーケンスが、3つの型 の記号、即ち区切り文字、定数及び変数を含むことを特徴とし且つ上記検索手段 が、記号の上記問合せシーケンスに対応する記号の全てのデータシーケンスを検 索し、記号のデータシーケンスは、上記シーケンスの各々における各変数を定数 又は定数と区切り文字の組合せによって置き換えることにより上記2つのシーケ ンスを同等とすることができる場合上記問合せシーケンスに対応するものと定義 され、上記組合せは、区切り文字から始まり且つ区切り文字に終ることを特徴と する請求の範囲第1項に記載のメモリシステム。
  5. 5.上記検索手段が、複数のタップ点プロセッサを含んでおり、1つの斯かるタ ップ点プロセッサは各上記タップ点に作動的に接続されており、且つ各上記タッ プ点プロセッサは、データシーケンス記号を識別するための第1インジケータ手 段;問合せシーケンス記号を識別するための第2インジケータ手段;上記第1指 示手段によって識別された上記データシーケンス記号を上記第2インジケータ手 段によって識別された上記問合せシーケンス記号と比較するための且つ2つの代 替状態、即ち比較された上記2つの記号が同一かあるいは上記の記号の少なくと も1つが変数であったことを示す一致された状態並びに上記2つの記号が異なっ ており且つ両方共変数でなかったことを示す一致されない状態の内1つを有する 出力信号を発生するための比較手段;上記比較手段出力信号に応答するフラグ手 段であッて、一致されない状態にある任意の出力信号の発生を示すフラグ手段、 上記第1インジケータ手段に選択されたデータシーケンスの第1記号を示させる ための、上記第2インジケータ手段に上記問合せシーケンスの第1記号を示させ るための、且つ上記比較手段に上記の識別された記号を比較させるための手段を 含むインジケータ歩進手段;上記第1インジケータ手段に次のデータシーケンス 記号を識別させるための、上記第2インジケータ手段に次の問合せシーケンス記 号を識別させるための、且つ終了状態が検出されるまで上記比較手段に上記の識 別された記号を比較させるための手段;及び上記終了状態に応答する手段であっ て、上記フラグ手段が上記の比較のどれも一致されない出力信号の発生の結果と ならないことを示す場合に上記の選択されたデータシーケンスを出力するための 手段を含むことを特徴とする請求の範囲第4項に記載のメモリシステム。
  6. 6.上記比較手段が上記問合せシーケンスの最後の記号をデータシーケンス記号 と比較する時に上記終了状態が生じると定義されることを特徴とする請求の範囲 第5項に記載のメモリシステム。
  7. 7.上記比較手段が上記の選択されたデータシーケンスの最後の記号を問合せシ ーケンス記号と比較する時に上記終了状態が生じると定義されることを特徴とす る請求の範囲第5項に記載のメモリシステム。
  8. 8.上記比較手段が上記の選択されたデータシーケンスの最後の記号を上記問合 せシーケンスの最後の記号と比較する時にあるいは上記一致されない状態におけ る出力信号が発生された時に上記終了状態が生じると定義されることを特徴とす る請求の範囲第5項に記載のメモリシステム。
  9. 9.上記区切り文字が対応の対、即ち記号のシーケンスの開始あるいは記号のシ ーケンスに埋め込まれている記号のサブシーケンスの開始をマークするのに用い られる開区切り文字及び記号の上記のシーケンスあるいは記号のサブシーケンス の終りをマークするのに用いられる対応の閉区切り文字の状態で生じることを特 徴とし、且つ上記インジケータ歩進手段が、どの閉区切り文字が各開区切り文字 に対応するかを決定するための手段を含んでいることを特徴とし且つ上記インジ ケータ歩進手段によつて識別される上記の次のデータシーケンス記号及び上記次 の問合せシーケンス記号が、それぞれ次の隣接のデータシーケンス記号及び問合 せシーケンス記号であり、しかし、前の比較が変数と開区切り文字との間で行な われており、この場合上記の次の記号は、上記変数の後の次の隣接の記号及び上 記開区切り文字に対応する閉区切り文字の後の次の隣接の記号であるような場合 はそうではないことを特徴とする請求の範囲第5項に記載のメモリシステム。
  10. 10.どの閉区切り文字が与えられた開区切り文字に対応するかを決定するため の上記手段が、その対応の閉区切り文字の位置を各開区切り文字の一部分として 上記シーケンスの記号に記憶するための手段を含むことを特徴とする請求の範囲 第9項に記載のメモリシステム。
  11. 11.各記号が1ビットメモリセルの連続ブロックに記憶され、上記ブロックは 、識別グループ及びデータグループのセルに分割され、上記識別グループは、1 ビットメモリセルの上記ブロックに記憶されているデータ記号の型を規定する2 つ又はそれ以上のセルからなっており且つ上記データグループは1ピットメモリ セルの上記ブロックの残りを含んでいることを特徴とし、且つ任意の与えられた 開区切り文字に対応する閉区切り文字の位置を記憶するための上記手段が、開区 切り文字を記憶するのに用いられる上記ブロックのデータグループにおける1ビ ットを、上記開区切り文字を含む記号の上記シーケンスにおける上記開区切り文 字に対応する閉区切り文字に到達するためにジャンプされなければならない各記 号に対する「1」にセットすることを含むことを特徴とする請求の範囲第10項 に記載のメモリシステム。
  12. 12.記号のデータシーケンスにおけるどの閉区切り文字がシンポルの上記シー ケンスにおける与えられた開区切り文字に対応するかを決定するための上記手段 が、各上記タップ点プロセツサに作動的に接続されている手段であって、上記開 区切り文字を含む記号の上記データシーケンスにおける区切り文字を計数するた めの手段を含むことを特徴とし、上記計数手段は、上記開区切り文字が上記読出 し手段によつて読み出された時に所定の第1状態に初期化され、上記計数手段は 、上記開区切り文字を含む記号の上記データシーケンスにおいて開区切り文字が 読み出される毎に増分され、且つ上記計数手段は、上記シーケンスの記号におい て閉区切り文字が遭遇される毎に等量によって減分され、上記対応の閉区切り文 字は、上記計数手段に第2の所定状態を示させる閉区切り文字であることを特徴 とする請求の範囲第9項に記載のメモリシステム。
  13. 13.上記第1インジケータ手段が、上記比較手段を抑止するための保持手段、 及び2つの状態、即ちレディ又はノットレディ状態を有する保持手段を含み、上 記ノットレディ状態は、上記第2指示手段によつて規定された問合せシーケンス 記号に比較されるべきデータシーケンス記号が、上記タップ点において読み出さ れるべき次の記号ではないこと及び上記比較手段が抑止されるべきであることを 示し、上記レディ状態は、上記第2指示手段によって規定される問合せシーケン ス記号に比較されるべきデータシーケンス記号が、上記タップ点において読み出 されるべき次のデータシーケンス記号であることを示すことを特徴とし、上記イ ンジケータ歩進手段が、変数問合せシーケンス記号は、上記比較手段によって開 区切り文字データシーケンス記号に比較される時に上記保持手段の状態をノット レディ状態にセットし、上記インジケータ歩進手段は、対応の閉区切り文字が上 記タップ点において読み出される時に上記保持手段をレディ状態にリセットする ことを特徴とする請求の範囲第9項に記載のメモリシステム。
  14. 14.上記第2インジケータ手段が、上記問合せシーケンス記憶手段におけるポ インタを含み、且つ上記インジケータ歩進手段が、上記ポインタを増分するため の手段を含み、上記ポインタが、上記の一致された出力が上記比較手段によって 発生されるという結果になるデータシーケンス記号と問合せシーケンス記号との 各比較の後に増分され、且つ開区切り文字問合せシーケンス記号が、変数データ シーケンス記号と比較され、上記ポインタは、上記開区切り文字を記憶するのに 用いられる1ピット記憶セルのブロックのデータグループにおける「1」にセッ トされる各データグループビットに対して一度増分されることを特徴とする請求 の範囲第11項に記載のメモリシステム。
  15. 15.上記受信データシーケンス記憶手段が、メモリセルの第3アレイ及び上記 メモリセグメントを所定の出口点において上記循環メモリにそう入し、これによ りデータ記号が上記出口点において上記循環メモリを出て、上記メモリセグメン トを横断し、次に上記メモリセグメントが挿入されなかったならば上記記号が上 記循環メモリにおいて横断したであろう上記出口点の直後のメモリセルにおいて 上記循環メモリに再入力するようにするための手段を含むことを特徴とし、上記 メモリセグメントにおけるメモリセルの数は、上記セグメントに記憶された記号 に応答してデータが上記メモリセグメントにエンタする上記セグメントにおける メモリセルの位置を変えることにより代わることができ、上記循環メモリから削 除されるべき記号が上記記号の前の点まで上記メモリセグメントに入力する毎に 変化することを特徴とする請求の範囲第2項に記載のメモリシステム。
  16. 16.データ記号の所定のシーケンスが上記出口点を通過する時に、上記メモリ セグメントを上記循環メモリに挿入するための手段を更に含むことを特徴とする 請求の範囲第15項に記載の循環メモリ。
  17. 17.上記メモリシステムに結合された信号に応答して、記号のシーケンスを上 記メモリセグメントに挿入するための手段を更に含むことを特徴とする請求の範 囲第15項に記載の循環メモリ。
  18. 18.上記第1及び第3メモリアレイが、1ビット巾シフトレジスタを含むこと を特徴とする請求の範囲第15項に記載のメモリシステム。
  19. 19.記号のデータシーケンスの記憶及び検索のためのメモリシステムにおいて 、1つ又はそれ以上のデータシーケンスを記憶するための1ビットメモリセルの 第1アレイを含む循環メモリであって、各上記データシーケンスは、1つ又はそ れ以上の記号を含み、上記記号は、3つの型、即ち区切り文字、定数及び変数で あると定義され、上記区切り文字は、対応の対、即ち、記号のシーケンス又は記 号のシーケンスに埋め込まれている記号のサブシーケンスの開始をマークする開 区切り文字並びに記号の上記シーケンス又はサブシーケンスの終りをマークする 対応の閉区切り文字の状態で生じ、各上記データシーケンス記号は、上記1ビッ トメモリセルの連続ブロックに記憶されており、各上記ブロックは、少なくとも 2つの上記メモリセルからなる識別グループ及び上記ブロックにおける上記メモ リセルの残りを含むデータグループに分割され、上記識別グループは上記ブロッ クに記憶された記号の型を規定する循環メモリ;上記循環メモリに沿って離間さ れている複数のタップ点;上記第1アレイに記憶されたチータシーケンスに上記 複数のタップ点を通って順次に循環せしめるための手段であって、各上記タップ 点か、それが上記タップ点を通過する時に上記第1アレイに記憶された各データ 記号を読み出すためのプロセッサ手段を含む手段;記号のデータシーケンスを受 信するための且つ上記第1アレイに上記データシーケンスを記憶するための手段 ;記号の問合せシーケンスを受信するための手段であって、上記問合せシーケン スは、記号の上記データシーケンスに含まれるのと同じ3つの型の1つ又はそれ 以上の記号を含んでいる手段;1ビットメモリセルの第2アレイを含む記号の上 記問合せシーケンスを記憶するための手段であって、各問合せ記号は、上記1ビ ットメモリセルの連続ブロックに記憶され、各上記ブロックは、上記ブロックに 記憶された記号の型を規定するための少なくとも2つの上記メモリセルからなる 識別グループ並びに上記メモリセルの残りを含むデータグループに分割され、且 つ上記識別グループが、開区切り文字が上記ブロックに記憶されていることを規 定する場合に、上記開区切り文字に対応する閉区切り文字の位置が、上記ブロッ クのデータグループに記憶され、更にその中に記憶されている各問合せシーケン ス記号を各上記プロセッサ手段に選択的に結合するための手段、及び上記問合せ シーケンス記号のどれか選択されるかを規定するための各上記プロセッサ手段に 応答する指示手段を含む記憶手段であって、各上記プロセッサ手段が、その対応 の上記指示手段の状態をセットするための手段;上記指示手段によって規定され た問合せシーケンス記号を上記プロセッサ手段によって現在読み出されているデ ータシーケンス記号と比較するための手段であって、上記記号が同一かあるいは 上記記号の少たくとも1つが変数である場合に一致された出力信号を発生し、上 記記号が異なり両方とも変数でたい場合に一致されない信号を発生する比較手段 ;2つの代替状態を有する上記比較手段出力信号に応答するフラグ手段であって 、一致されない状態にある任意の出力信号の発生を示すためのフラグ手段;どの データシーケンス閉区切り文字が与えられたデータシーケンス開区切り文字に対 応するかを決定するための手段であって、上記開区切り文字を含む記号のデータ シーケンスにおける区切り文字を計数するための手段を含む決定手段であって、 上記計数手段が、上記開区切り文字が上記プロセッサによって読み出された時に 所定の第1状態に初期化され、上記計数手段が、上記開区切り文字を含む記号の データシーケンスにおいて開区切り文字が読み出されるたびに増分され、且つ上 記計数手段は、上記シーケンスの記号において閉区切り文字が遭遇されるたびに 等量によって減分する決定手段を含む記憶手段;上記比較手段が2つの記号を比 較しないように防止するための保持手段であって、上記保持手段が、2つの状態 、即ちレディ及びノットレディを有し、上記ノットレディ状態か、上記指示手段 によって規定される問合せシーケンス記号と比較されるべきデータシーケンス記 号が、上記プロセツサ手段によって読み出される次の記号ではないことを示し且 つ上記レディ状態は、上記指示手段によって規定される問合せシーケンス記号と 比較されるべきデータシーケンス記号が、上記プロセッサ手段において読み出さ れるべき次のデータシーケンス記号であることを示し、且つ上記プロセッサは、 上記問合せシーケンスにおける可変記号は、上記比較手段によって上記データシ ーケンスにおける開区切り文字記号と比較される時に上記保持手段の状態をノッ トレディ状態にセットし、且つ上記プロセツサが、上記データシーケンスにおけ る上記閉区切り文字記号が上記データシーケンスにおける上記開区切り記号と対 応する時、上記保持手段をレディ状態にリセットする保持手段;上記指示手段に 上記問合せシーケンス結合手段によって上記プロセツサ手段に結合されるべき次 の問合せシーケンス記号を規定せしめるためのインジケータ歩進手段であって、 上記問合せ記憶手段における与えられた問合せシーケンス開区切り文字に対応す る閉問合せシーケンス区切り文字を識別するための手段を含むインジケータ歩進 手段であつて、上記指示手段に、選択されたデータシーケンスの上記第1記号が 上記タップ点において読み出された時に上記問合せシーケンスの第1記号を指示 せしめるための且つ上記第1データシーケンス記号及び上記第1問合せシーケン ス記号に上記比較手段によって比較せしめるためのインジケータ歩進手段であっ て、上記保持手段がレディ状態にある時にその対応のタップ点において上記プロ セッサ手段によって読み出されるべき次のデータシーケンス記号と比較されるべ き次の問合せ記号を上記指示手段に繰り返して規定させるための且つ終了状態が 検出されるまで上記問合せ及びデータ記号に上記比較手段によって比較させるた めの手段を含むインジケータ歩進手段であって、上記次の問合せシーケンス記号 は上記問合せシーケンスにおける前に規定された問合せシーケンス記号に続く次 の隣接の記号であり、しかし上記比較手段によってなされた前の比較が、可変デ ータシーケンス記号と開区切り文字問合せシーケンス記号との間で行なわれてお り、この場合に次の問合せシーケンス記号が、上記問合せシーケンスにおける上 記開区切り文字に対応する閉区切り文字に続く次の隣接の記号であるような場合 はそうではないようなインジケータ歩進手段;上記終了状態を検出するための手 段;及び上記フラグ手段が、前の比較の全ての結果、一致された出力信号が上記 データシーケンスに対して発生されたことを示す場合、記号のデータシーケンス を出力するための手段を含むことを特徴とするメモリシステム。
  20. 20.上記比較手段が、上記問合せシーケンスの最後の問合せ記号をデータシー ケンス記号と比較する時に、上記終了状態が生じると定義されることを特徴とす る請求の範囲第19項に記載のメモリシステム。
  21. 21.上記比較手段が、データシーケンスの最後のデータ記号を問合せシーケン ス記号と比較する時に、上記終了状態が生じると定義されることを特徴とする請 求の範囲第19項に記載のメモリシステム。
  22. 22.上記比較手段が、データシーケンスの最後のデータ記号を上記問合せシー ケンスの最後の記号と比較する時あるいは一致されない出力状態にある出力信号 が上記比較手段によって発生した時、上記終了状態が生じると定義されることを 特徴とする請求の範囲第19項に記載のメモリシステム。
  23. 23.与えられた開問合せシーケンス区切り文字に対応する閉問合せシーケンス 区切り文字を決定するための上記手段が、上記開区切り文字を記憶するメモリセ ルのブロックのデータグループから上記閉区切り文字の位置を読み出すための手 段を含むことを特徴とする請求の範囲第19項に記載のメモリシステム。
  24. 24.データシーケンスを受信し且つ上記データシーケンスをメモリセルの上記 第1アレイに記憶するための上記データ手段が、メモリセルの第3アレイを含も メモリセグメント及び上記メモリセグメントを所定の出口点において上記循環メ モリに記憶し、これによりデータ記号は、上記出口点において上記循環メモリを 出て、上記メモリセグメントを横断し、次に、上記メモリセグメントが挿入され なかったとした場合上記記号が上記循環メモリにおいて横断したであろう上記出 口点の直後のメモリセルにおいて上記循環メモリに再エンタするようにするため の手段を含むことを特徴とし、上記メモリセグメントにおけるメモリセルの数は 、データ記号か上記セグメントに記憶されたデータ記号に応答して上記メモリセ グメントにエンタする上記セグメントにおけるメモリセルの位置を変えることに より変化することができ、上記エントリ位置は、上記循環メモリから削除される べき記号が、上記記号の前の点まで上記メモリセグメントにエンタする毎に変化 することを特徴とする請求の範囲第19項に記載のメモリシステム。
  25. 25.データシーケンス記号の所定のシーケンスが上記出口点を通過する時に上 記メモリセグメントを上記循環メモリにそ3入するための手段を更に含むことを 特徴とする請求の範囲第24項に記載の循環メモリ。
  26. 26.上記第1及び第3メモリアレイは、1ビット巾シフトレジスタを含むこと を特徴とする請求の範囲第24項に記載のメモリシステム。
  27. 27.メモリシステムにおいて、複数の記号のデータシーケンスを記憶するため の複数の記憶ワード、及び各上記データシーケンスの各上記記号に全ての上記記 憶ワードを通して順次に循環せしめるための手段を含む循環記憶手段;複数のタ ップ点において上記循環記憶手段にアクセスするための且つそれがそれぞれの上 記タップ点を通過する時に各データ記号を読み出しこれにより上記データシーケ ンスの記号の1つが、斯かるタップ点から順次に読み出されるようにするための 手段;各上記タップ読出し手段に接続された手段であって、上記読出しデータシ ーケンスの記号を上記問合せシーケンスの記号と比較し且つ上記データシーケン スの記号が上記問合せシーケンスの記号と対応する時に一致信号を発生するため の手段;及び各上記一致信号に応答する手段であって、上記循環記憶手段がら記 号の各上記一致データシーケンスを読み出すための手段を含むことを特徴とする メモリシステム。
JP61504440A 1985-08-13 1986-08-13 循環コンテクストアドレス指定可能メモリ Expired - Lifetime JP2516609B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76539185A 1985-08-13 1985-08-13
US765391 1985-08-13

Publications (2)

Publication Number Publication Date
JPS63500547A true JPS63500547A (ja) 1988-02-25
JP2516609B2 JP2516609B2 (ja) 1996-07-24

Family

ID=25073443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61504440A Expired - Lifetime JP2516609B2 (ja) 1985-08-13 1986-08-13 循環コンテクストアドレス指定可能メモリ

Country Status (7)

Country Link
US (1) US4924435A (ja)
EP (1) EP0232376B1 (ja)
JP (1) JP2516609B2 (ja)
AT (1) ATE91815T1 (ja)
CA (1) CA1266330A (ja)
DE (1) DE3688737T2 (ja)
WO (1) WO1987001222A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604902A (en) * 1995-02-16 1997-02-18 Hewlett-Packard Company Hole plugging garbage collection for a data storage system
US5999924A (en) * 1997-07-25 1999-12-07 Amazon.Com, Inc. Method and apparatus for producing sequenced queries
US6185556B1 (en) * 1999-05-04 2001-02-06 Amazon.Com, Inc. Method and apparatus for changing temporal database
US6442543B1 (en) * 1997-07-25 2002-08-27 Amazon.Com, Inc. Method and apparatus for changing temporal database information
US7599981B2 (en) 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7711763B2 (en) * 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3906455A (en) * 1974-03-15 1975-09-16 Boeing Computer Services Inc Associative memory device
JPS5522297A (en) * 1978-07-31 1980-02-16 Ibm On* tip type magnetic bubble* domain relative data base system
JPS58139273A (ja) * 1982-01-21 1983-08-18 ゼネラル・エレクトリツク・カンパニイ 高速探索装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3245052A (en) * 1962-05-17 1966-04-05 Rca Corp Content addressed memory
US3701980A (en) * 1970-08-03 1972-10-31 Gen Electric High density four-transistor mos content addressed memory
US4037205A (en) * 1975-05-19 1977-07-19 Sperry Rand Corporation Digital memory with data manipulation capabilities
US4027288A (en) * 1976-02-09 1977-05-31 Burroughs Corporation Self-managing variable field storage system for handling nested data structures
US4118788A (en) * 1977-03-07 1978-10-03 Bell Telephone Laboratories, Incorporated Associative information retrieval
US4527253A (en) * 1982-05-28 1985-07-02 Hitachi, Ltd. Data searching apparatus
US4554631A (en) * 1983-07-13 1985-11-19 At&T Bell Laboratories Keyword search automatic limiting method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3906455A (en) * 1974-03-15 1975-09-16 Boeing Computer Services Inc Associative memory device
JPS5522297A (en) * 1978-07-31 1980-02-16 Ibm On* tip type magnetic bubble* domain relative data base system
JPS58139273A (ja) * 1982-01-21 1983-08-18 ゼネラル・エレクトリツク・カンパニイ 高速探索装置

Also Published As

Publication number Publication date
ATE91815T1 (de) 1993-08-15
WO1987001222A1 (en) 1987-02-26
DE3688737T2 (de) 1994-03-10
CA1266330A (en) 1990-02-27
JP2516609B2 (ja) 1996-07-24
US4924435A (en) 1990-05-08
DE3688737D1 (de) 1993-08-26
EP0232376B1 (en) 1993-07-21
EP0232376A1 (en) 1987-08-19
EP0232376A4 (en) 1989-05-16

Similar Documents

Publication Publication Date Title
US4053871A (en) Method and system for the iterative and simultaneous comparison of data with a group of reference data items
EP0233272B1 (en) Rule-based data retrieval method and apparatus
Mukhopadhyay Hardware algorithms for nonnumeric computation
Navarro et al. Flexible pattern matching in strings: practical on-line search algorithms for texts and biological sequences
Di Battista et al. Hierarchies and planarity theory
KR100638695B1 (ko) 구조화 문서의 데이터를 검색하는 장치 및 방법
JP2511434B2 (ja) パタ−ンをアドレス可能なメモリ
JPS63500547A (ja) 循環コンテクストアドレス指定可能メモリ
Robinson Pattern-addressable memory
JP2693914B2 (ja) 検索システム
EP0446117B1 (en) Fast determination of subtype relationship in a single inheritance type hierarchy
Fox et al. Maximal Consistent Interpretations of Errorful Data in Hierarchically Modeled Domains.
JPS5847739B2 (ja) 文字出現順序解析装置
Robinson The pattern addressable memory: Hardware for associative processing
SU342185A1 (ru) УСТРОЙСТВО дл ПОИСКА ИНФОРМАЦИИ
Grohe et al. The complexity of querying external memory and streaming data
Vidyasankar Weak atomicity: A helpful notion in the construction of atomic shared variables
Dattagupta An investigation to study the feasibility of on-line bibliographic information retrieval system using an APP
Seiferas et al. Counting Is Easy
Vollmar On Turing Machines with Modifications
Zaki et al. A formal design of an Arabic Text Formatter for microcomputers
Schwartz Data independent revisions to data base definitions
Gibbons K Autocode
MOORE DETERMINISTIC REALIZATION AND SIMULATION OF NONDETERMINISTIC AUTOMATA
Robinson Pattern-Addressable Memory and the Chameleon Board: A Brief Overview and User's Guide