JPS62264498A - 内容アドレス式メモリ - Google Patents
内容アドレス式メモリInfo
- Publication number
- JPS62264498A JPS62264498A JP61265410A JP26541086A JPS62264498A JP S62264498 A JPS62264498 A JP S62264498A JP 61265410 A JP61265410 A JP 61265410A JP 26541086 A JP26541086 A JP 26541086A JP S62264498 A JPS62264498 A JP S62264498A
- Authority
- JP
- Japan
- Prior art keywords
- data
- comparator
- input
- key code
- group
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は内容アドレス式メモリに関し、他を排除するも
のでないが、特に、特定データストリングの大量の記憶
データをサーチするのに用いられる内容アドレス式メモ
リに関する。
のでないが、特に、特定データストリングの大量の記憶
データをサーチするのに用いられる内容アドレス式メモ
リに関する。
多くのコンピュータシステムはそこに記憶された特定の
データの位置を探してこの特定データと関連する他の情
報を収集できるように効率よくそのメモリバンクをサー
チする必要がある。特定のデータストリングは、メモリ
中の位置がデータファイルの先頭を示ずファイル名でも
よい。このようなサーチ動作は、各メモリセルの内容を
ブロセツナによってアクセスしプロセッサがその内容と
入力データストリングとを比較するアルゴリズムを有し
rこソフトウェアににって実行できる。さらに巧妙なソ
フトウェアのサーチルーチンはサーチされるデータにあ
る制限をかし、おそらくメモリ中に記憶されたデータを
順序だてて配置する必要がある。例えば、名前のリスト
を記憶するのにメモリを使用するならば、名前はアルフ
ァベット類に配置しなければならない。他の場合にはメ
モリに記憶されるデータに数値的重みをつけ、これを数
値類に記憶する。このような制限はシステムのソフトウ
ェアに14担をかけ、順序づけられたデータをり°−チ
する方法であってもかなりの時間を要している。
データの位置を探してこの特定データと関連する他の情
報を収集できるように効率よくそのメモリバンクをサー
チする必要がある。特定のデータストリングは、メモリ
中の位置がデータファイルの先頭を示ずファイル名でも
よい。このようなサーチ動作は、各メモリセルの内容を
ブロセツナによってアクセスしプロセッサがその内容と
入力データストリングとを比較するアルゴリズムを有し
rこソフトウェアににって実行できる。さらに巧妙なソ
フトウェアのサーチルーチンはサーチされるデータにあ
る制限をかし、おそらくメモリ中に記憶されたデータを
順序だてて配置する必要がある。例えば、名前のリスト
を記憶するのにメモリを使用するならば、名前はアルフ
ァベット類に配置しなければならない。他の場合にはメ
モリに記憶されるデータに数値的重みをつけ、これを数
値類に記憶する。このような制限はシステムのソフトウ
ェアに14担をかけ、順序づけられたデータをり°−チ
する方法であってもかなりの時間を要している。
サーチ動作はデータを記憶するメモリの機能として備え
ることができ、このような機能はソフトウェアよりもむ
しろハードウェアとして実現でき、ハードウェア回路に
よってデータのサーチ速度を早められる。このようなシ
ステムでは、ソフトウェアサーチのように、アドレスよ
りもむしろ内容によってメモリセルがアクセスされる。
ることができ、このような機能はソフトウェアよりもむ
しろハードウェアとして実現でき、ハードウェア回路に
よってデータのサーチ速度を早められる。このようなシ
ステムでは、ソフトウェアサーチのように、アドレスよ
りもむしろ内容によってメモリセルがアクセスされる。
このことは、早いサーチ速度とあいまって、サーチを行
う時間をかなり早める。
う時間をかなり早める。
このよう4家内容アドレス式メモリは、これを実現する
ためにたくさんの複雑な回路を現在まで必要としていた
。本発明の目的は簡単な構造および動作の内容アドレス
式メモリを提供することである。
ためにたくさんの複雑な回路を現在まで必要としていた
。本発明の目的は簡単な構造および動作の内容アドレス
式メモリを提供することである。
本発明の第1の特徴によれば、ブロック毎にアクセス可
能な複数個の記憶素子を有した記憶手段、該ブロックは
各々特定の順序にある複数個の等しいグループに同数の
記憶素子を有し、各ブロックのグループに各々対応した
複数個のコンパレータを有したコンパレータ手段、各コ
ンパレータは前記グループの記憶素子の数と同数の第1
および第2の入力を右し、第1おにび第2の入力に入力
されたデータビットが同一が否かを示す一致表示をつく
り、複a Glのデータビット群より成る入力キーコー
ドを記憶する手段、各データビット群は前記グループの
記憶素子の数と同数のデータビットを有し、そして、記
憶手段の記憶素子ブロックを選択的にアクセスしてそこ
に記憶されたデータビットをコンパレータの第1の入力
に同時に入力し、かつ、入力キーコードのデータビット
n丁をコンパレータの第2の入力に同時に入力する制御
手段とを有づる内容アドレス式メモリにおいて、コンパ
レータ手段のコンパレータに各々対応した記憶素子を有
するフラッグレジスタ手段を備え、前記コンパレータに
よる一致表示はフラッグレジスタ手段の記憶ん了に記憶
され、前記制御手段は入力キーコードのデータビット群
を所定の順序で連続し−C各コンパレータの第2の入力
に入力し、各コンパレータは、入力キーコードの直前の
データビットれYと比較の1!2、前記特定の順序にお
いて前の段階にある直1)τ]のコンパレータによる比
較が前記グループと一致しないという表示を示した時、
同コンパレータをディスエーブルする手段を有し、入力
キーコードの最終データビット群と比較した後コンパレ
ータの一致しているという表示に応答して、アクセスさ
れたブロック内の入力キーコードと一致するデータビッ
トグループの位置を同定する出力手段を備えていること
を特徴とする内容アドレス式メモリが提供される。
能な複数個の記憶素子を有した記憶手段、該ブロックは
各々特定の順序にある複数個の等しいグループに同数の
記憶素子を有し、各ブロックのグループに各々対応した
複数個のコンパレータを有したコンパレータ手段、各コ
ンパレータは前記グループの記憶素子の数と同数の第1
および第2の入力を右し、第1おにび第2の入力に入力
されたデータビットが同一が否かを示す一致表示をつく
り、複a Glのデータビット群より成る入力キーコー
ドを記憶する手段、各データビット群は前記グループの
記憶素子の数と同数のデータビットを有し、そして、記
憶手段の記憶素子ブロックを選択的にアクセスしてそこ
に記憶されたデータビットをコンパレータの第1の入力
に同時に入力し、かつ、入力キーコードのデータビット
n丁をコンパレータの第2の入力に同時に入力する制御
手段とを有づる内容アドレス式メモリにおいて、コンパ
レータ手段のコンパレータに各々対応した記憶素子を有
するフラッグレジスタ手段を備え、前記コンパレータに
よる一致表示はフラッグレジスタ手段の記憶ん了に記憶
され、前記制御手段は入力キーコードのデータビット群
を所定の順序で連続し−C各コンパレータの第2の入力
に入力し、各コンパレータは、入力キーコードの直前の
データビットれYと比較の1!2、前記特定の順序にお
いて前の段階にある直1)τ]のコンパレータによる比
較が前記グループと一致しないという表示を示した時、
同コンパレータをディスエーブルする手段を有し、入力
キーコードの最終データビット群と比較した後コンパレ
ータの一致しているという表示に応答して、アクセスさ
れたブロック内の入力キーコードと一致するデータビッ
トグループの位置を同定する出力手段を備えていること
を特徴とする内容アドレス式メモリが提供される。
出力手段はデータビットの一致グループの位置を表わす
符号化出力をつくり、データビットの一致グループが数
個ある時には連続的に出力をつくるようにしてもよい。
符号化出力をつくり、データビットの一致グループが数
個ある時には連続的に出力をつくるようにしてもよい。
フラッグレジスタ手段は、記憶された一致表示をグルー
プの特定順序に従ってステップさせ、−数表示があるな
らば次のコンパレータに比較を行わせ一致表示ない4【
らば比較を禁止させることのできるシフトレジスタで6
よい。フラッグレジスタ手段およびまたは制御手段は、
入力キーコードの一致がブロック間にわたる時、前のブ
ロックの最終グループから1qられた一致表示を移動さ
せて次のブロックの第1グループの比較を行うようにし
ても良い。このことは制御手段が各ブロックを連続的に
アクセスすることを意味している。
プの特定順序に従ってステップさせ、−数表示があるな
らば次のコンパレータに比較を行わせ一致表示ない4【
らば比較を禁止させることのできるシフトレジスタで6
よい。フラッグレジスタ手段およびまたは制御手段は、
入力キーコードの一致がブロック間にわたる時、前のブ
ロックの最終グループから1qられた一致表示を移動さ
せて次のブロックの第1グループの比較を行うようにし
ても良い。このことは制御手段が各ブロックを連続的に
アクセスすることを意味している。
本発明によれば、複数のメモリを単一の制御手段の制御
下に結合させて、各神容量のメモリをモジュール単位と
してつくることも可能である。
下に結合させて、各神容量のメモリをモジュール単位と
してつくることも可能である。
本発明の一実施例によれば、記憶手段は、8素子(バイ
ト)の64グループに区分された512個の記憶素子を
各々有する512行の256にビットダイナミック1又
八Mである。RAMの行がアクセスされると、その行に
記憶されている512個のデータビットは同時に出力さ
れる。従ってコンパレータ手段は64個の1バイト長コ
ンパレータを右し、−数表示を表わす64ビツトをつく
る。
ト)の64グループに区分された512個の記憶素子を
各々有する512行の256にビットダイナミック1又
八Mである。RAMの行がアクセスされると、その行に
記憶されている512個のデータビットは同時に出力さ
れる。従ってコンパレータ手段は64個の1バイト長コ
ンパレータを右し、−数表示を表わす64ビツトをつく
る。
4バイ1〜構成の入力キーコードは、1バイト毎に、ア
クセスされた行の64バイトすべてと比較される。フラ
ッグレジスタは64個の一致表示に対応して64素子を
有したシフトレジスタとして構成されている。従って、
あるコンパレータからの一致表示は特定の順序にある次
のコンパレータにステップされ、その−数表示を用いて
次のコンパレータがアクヒスされた行の次のバイトと入
力キーコードの次のバイトとの比較を有することができ
る。従って、アクセスされた行のバイトと入力キーコー
ドの第4のもとのバイトとの比較を行うコンパレータは
、行の先行する3個のバイトが入力キーコードの最初の
3個のバイトと一致したところのコンパレータのみであ
る。そして、入力キーコードの第4のバイトとの比較に
よる一致表示は、アクセス行の入力キーコードの4個全
部が一致したバイトの位置を同定する。符号化手段は入
力キーコードの第4のバイトの比較による一致表示に対
応する。そして、入力キーコードと一致する4個のバイ
トのうらの最初のバイトを同定するコード(64バイト
では6ビツトで充分である)をつくり、このコードによ
ってRAM中の必要なデータのすべてのアドレスが得ら
れる。数個の一致表示が起こる場合に対して、同一の導
線上に次々に出力コードを現わすための連続的選択器が
備えられている。メモリの制御手段は、RA Mの行を
次次にアクレスし、行のアドレスは符号化手段からのコ
ードと結合して全体のアドレスをつくる。
クセスされた行の64バイトすべてと比較される。フラ
ッグレジスタは64個の一致表示に対応して64素子を
有したシフトレジスタとして構成されている。従って、
あるコンパレータからの一致表示は特定の順序にある次
のコンパレータにステップされ、その−数表示を用いて
次のコンパレータがアクヒスされた行の次のバイトと入
力キーコードの次のバイトとの比較を有することができ
る。従って、アクセスされた行のバイトと入力キーコー
ドの第4のもとのバイトとの比較を行うコンパレータは
、行の先行する3個のバイトが入力キーコードの最初の
3個のバイトと一致したところのコンパレータのみであ
る。そして、入力キーコードの第4のバイトとの比較に
よる一致表示は、アクセス行の入力キーコードの4個全
部が一致したバイトの位置を同定する。符号化手段は入
力キーコードの第4のバイトの比較による一致表示に対
応する。そして、入力キーコードと一致する4個のバイ
トのうらの最初のバイトを同定するコード(64バイト
では6ビツトで充分である)をつくり、このコードによ
ってRAM中の必要なデータのすべてのアドレスが得ら
れる。数個の一致表示が起こる場合に対して、同一の導
線上に次々に出力コードを現わすための連続的選択器が
備えられている。メモリの制御手段は、RA Mの行を
次次にアクレスし、行のアドレスは符号化手段からのコ
ードと結合して全体のアドレスをつくる。
多くの場合RAMのアクセス旧聞はコンパレータの比較
時間よりも数侶良い。このため、RAMからデータを読
んだ後で数回の比較を行なえる。
時間よりも数侶良い。このため、RAMからデータを読
んだ後で数回の比較を行なえる。
上述したようなフラッグシフトレジスタを用いることに
よって、RAMの連続的なアクセスを遅らすことなく、
比較を多数バイト(代表的には4バイト)単位で行なえ
る。
よって、RAMの連続的なアクセスを遅らすことなく、
比較を多数バイト(代表的には4バイト)単位で行なえ
る。
入力キーコードのパイ1−とともにマスクデータをコン
パレータに入れ、入力キーコードとの一致の位置を決め
るのにどのバイトビットが重要でないかを指示してもよ
い。一般的にはマスクデータは、入力データの如何に拘
らずある段のコンパレータが一致表示をつくりだづよう
にもできる。
パレータに入れ、入力キーコードとの一致の位置を決め
るのにどのバイトビットが重要でないかを指示してもよ
い。一般的にはマスクデータは、入力データの如何に拘
らずある段のコンパレータが一致表示をつくりだづよう
にもできる。
メモリは4バイ1〜前後の入力キーコードを使用するの
に調節してもよい。
に調節してもよい。
本発明の第2の特徴によれば、同一サイズの多ピッ1〜
データ群を有する入力キーコードの位置をメモリ中に見
出す方法であって、キーコードと同−サイズの複数個の
データグループがメモリから同時にアクセスされてキー
コードの選択されたデータ群と同時に比較され、キーコ
ードのデータ群は連続的に選択され、そして、比較の結
果によって必要な位置の表示を与え、メモリの特定デー
タグループとキーコードのデータ群の比較は、キーコー
ドの前のデータ群がメモリ中の特定のデータビットに一
致した時のみ可能とされ、もって、キーコードの最終デ
ータ群との一致検出がキーコードの全体との一致の位置
を示す方法が提供される。
データ群を有する入力キーコードの位置をメモリ中に見
出す方法であって、キーコードと同−サイズの複数個の
データグループがメモリから同時にアクセスされてキー
コードの選択されたデータ群と同時に比較され、キーコ
ードのデータ群は連続的に選択され、そして、比較の結
果によって必要な位置の表示を与え、メモリの特定デー
タグループとキーコードのデータ群の比較は、キーコー
ドの前のデータ群がメモリ中の特定のデータビットに一
致した時のみ可能とされ、もって、キーコードの最終デ
ータ群との一致検出がキーコードの全体との一致の位置
を示す方法が提供される。
本発明の第3の特徴によれば、同一サイズの多ヒツトデ
ータ群を有する入力キーコードの位置をメモリ中に見出
す方法であって、キーコードと同一サイズの複数個の多
ビツトグループを含むブロックをメモリから同時にアク
セスし、アクセスされたすべてのグループとキーコード
の最初のデータ群とを同時に比較し、アクセスされたブ
ロックのどのグループがキーコードの最初のデータ群と
一致するかを示し、同時に、キーコードの第2のデータ
群を、キーコードの第1のデータ群と一致するとして示
されたグループの次の順序にあるアクセスブロックのグ
ループのみと比較し、アクセスブロックのどのグループ
の対がキーコードの第1および第2のデータ群と一致す
るかを示し、キーコードのすべてのデータ群がアクセス
ブロックのグループと比較されるまで、あるいは、一致
グループが見出されないために比較が禁止されるまで前
記比較ステップおよび一致を示すステップを繰返し、そ
して、すべてのメモリがアクセスされるまでメモリから
アクセスされた他のブロックに対して前記比較ステップ
および一致を示すステップを繰返す方法が提供される。
ータ群を有する入力キーコードの位置をメモリ中に見出
す方法であって、キーコードと同一サイズの複数個の多
ビツトグループを含むブロックをメモリから同時にアク
セスし、アクセスされたすべてのグループとキーコード
の最初のデータ群とを同時に比較し、アクセスされたブ
ロックのどのグループがキーコードの最初のデータ群と
一致するかを示し、同時に、キーコードの第2のデータ
群を、キーコードの第1のデータ群と一致するとして示
されたグループの次の順序にあるアクセスブロックのグ
ループのみと比較し、アクセスブロックのどのグループ
の対がキーコードの第1および第2のデータ群と一致す
るかを示し、キーコードのすべてのデータ群がアクセス
ブロックのグループと比較されるまで、あるいは、一致
グループが見出されないために比較が禁止されるまで前
記比較ステップおよび一致を示すステップを繰返し、そ
して、すべてのメモリがアクセスされるまでメモリから
アクセスされた他のブロックに対して前記比較ステップ
および一致を示すステップを繰返す方法が提供される。
本発明を完全に理解しかつ実施し得るようにするために
、本発明の実施例を図面を参照して説明する。
、本発明の実施例を図面を参照して説明する。
第1図に示1内容アドレス式メモリシステムは、256
にのダイナミック・ランダム・アクセス・メモリ(D−
RAM>1を使用する。図示するシステムにおいて、D
−RAM1cよ通常にアドレスされるランダム・アクセ
ス・メしりとしても使用でき、D−RAM1のメモリセ
ルは512X512セルのアレー構成である。アレーの
各メモリセルは、その読み書きのために、16ビツトの
マルチイブレクス・データ/アドレス・バス2からアク
セスでき、普通行なわれているように、バス2からの2
個の9ビツトの行および列アドレスを、行アドレスス1
〜ローブ(RAs)入力5と列アドレスストローブ(C
AS)入力6とによって、各科、行選択回路3と列選択
回路4とにラッチする。
にのダイナミック・ランダム・アクセス・メモリ(D−
RAM>1を使用する。図示するシステムにおいて、D
−RAM1cよ通常にアドレスされるランダム・アクセ
ス・メしりとしても使用でき、D−RAM1のメモリセ
ルは512X512セルのアレー構成である。アレーの
各メモリセルは、その読み書きのために、16ビツトの
マルチイブレクス・データ/アドレス・バス2からアク
セスでき、普通行なわれているように、バス2からの2
個の9ビツトの行および列アドレスを、行アドレスス1
〜ローブ(RAs)入力5と列アドレスストローブ(C
AS)入力6とによって、各科、行選択回路3と列選択
回路4とにラッチする。
RA SとCASの両者は従来のものと同じである。
D−RAM内のデータバンド幅はその入出力ビンで見た
ものよりもずっと大きい。この大きなバンド幅は第1図
に示すCAMシステムで有利に使用している。りなわら
、行アドレス回路3のみを使用して入力ボート5に適当
なRAS信号を供給することによって、I’)−RAM
の512X512のすべてのビットが、512回のメモ
リサイクルで各々512ビツトの512行のデータとし
てアクセスされる。
ものよりもずっと大きい。この大きなバンド幅は第1図
に示すCAMシステムで有利に使用している。りなわら
、行アドレス回路3のみを使用して入力ボート5に適当
なRAS信号を供給することによって、I’)−RAM
の512X512のすべてのビットが、512回のメモ
リサイクルで各々512ビツトの512行のデータとし
てアクセスされる。
第1図に示すシステムがD−RAMに記憶されたデータ
のサーチを行う内容アドレス式メモリとして使用される
時、このシステムは図示しない外部のCAMコントロー
ラの制御下で動作する。
のサーチを行う内容アドレス式メモリとして使用される
時、このシステムは図示しない外部のCAMコントロー
ラの制御下で動作する。
CAMコントローラはD−RAM1に必要なアドレスお
よび制御信号を与えるとともに、コンパレータブロック
7、フラッグシフトレジスタ8、左→右優先回路および
1ンコ一ダ回路9に必要なデータおよび制御信号を与え
る。後者の回路とD−RAM1とが内容アドレス式メモ
リを形成する。
よび制御信号を与えるとともに、コンパレータブロック
7、フラッグシフトレジスタ8、左→右優先回路および
1ンコ一ダ回路9に必要なデータおよび制御信号を与え
る。後者の回路とD−RAM1とが内容アドレス式メモ
リを形成する。
D−RAM1のメモリの行を形成しているメモリセルは
、サーチのために、隣接した多ビットのデータグループ
として取去すれる。データグループの長さは行の長さよ
りもはるかに短かい。説明する実施1s’llではこれ
らデータグループは8ビツトすなわら1バイト長であっ
て、−行は64の隣接するグループより成る。あるいt
よ、グループは1バイトより長くても短くてもよい。D
−RMA中に記憶されたデーラス1−リングは1バイト
あるいはそれ以上のバイトをyI!めることがでさ、記
憶された個々のデータストリングはすべて同一長さであ
る必要はない。D−RMAに記憶された個々のデータス
トリングは、一般的には、左から右へバイトの重み(5
1gn1ficance)順に記憶されているが、グル
ープの順に関係する重みには違いがなくともよい。
、サーチのために、隣接した多ビットのデータグループ
として取去すれる。データグループの長さは行の長さよ
りもはるかに短かい。説明する実施1s’llではこれ
らデータグループは8ビツトすなわら1バイト長であっ
て、−行は64の隣接するグループより成る。あるいt
よ、グループは1バイトより長くても短くてもよい。D
−RMA中に記憶されたデーラス1−リングは1バイト
あるいはそれ以上のバイトをyI!めることがでさ、記
憶された個々のデータストリングはすべて同一長さであ
る必要はない。D−RMAに記憶された個々のデータス
トリングは、一般的には、左から右へバイトの重み(5
1gn1ficance)順に記憶されているが、グル
ープの順に関係する重みには違いがなくともよい。
列選択およびセンスアンプブロック4は各512列ライ
ン12のセンスアンプを有している。これら各センスア
ンプの機能は、行アドレスのメモリセルに蓄積され、か
つ、特定の列ラインに結合される電荷に応答し、この電
荷状態に応じた論理レベルを出力することである。これ
ら論理信号は参照番号13で示される512本の導体に
よってコンパレータブロック7に送られる。
ン12のセンスアンプを有している。これら各センスア
ンプの機能は、行アドレスのメモリセルに蓄積され、か
つ、特定の列ラインに結合される電荷に応答し、この電
荷状態に応じた論理レベルを出力することである。これ
ら論理信号は参照番号13で示される512本の導体に
よってコンパレータブロック7に送られる。
コンパレータブロック7は、各々2バイトデータを比較
する64個のコンパレータを有し、各コンパレータは行
のバイトデータに各々割当てられている。アクセス行に
記憶されたデータを表わす論理信号を運ぶ512本の導
体は、各々6本の64のグループに分けられ、各グルー
プはコンパレータの入力に入力される。比較を行うバイ
トデータ、すなわち、キーの第1バイトは、ブロック7
のコンパレータの他の入力に、参照番号10で示す導体
を介して、同時に入力される。マスク入力11もコンパ
レータブロック7に与えられる。このマスク動作はコン
パレータの構造とともに後述する。コンパレータに入力
される2バイトデータが同一か否かを示す各コンパレー
タの出力は、参照番号14で示される64本の導体を介
して64ビツトのフラグシフトレジスタ8に送られる。
する64個のコンパレータを有し、各コンパレータは行
のバイトデータに各々割当てられている。アクセス行に
記憶されたデータを表わす論理信号を運ぶ512本の導
体は、各々6本の64のグループに分けられ、各グルー
プはコンパレータの入力に入力される。比較を行うバイ
トデータ、すなわち、キーの第1バイトは、ブロック7
のコンパレータの他の入力に、参照番号10で示す導体
を介して、同時に入力される。マスク入力11もコンパ
レータブロック7に与えられる。このマスク動作はコン
パレータの構造とともに後述する。コンパレータに入力
される2バイトデータが同一か否かを示す各コンパレー
タの出力は、参照番号14で示される64本の導体を介
して64ビツトのフラグシフトレジスタ8に送られる。
フラグシフトレジスタ8は、コンパレータブロック7か
ら送られる比較結果によってセットあるいはリセットさ
れる。レジスタ8の個々のビットは各々ブロック7のあ
るコンパレータと互いにIQ連ずけられ、従ってアクセ
ス行のデータクループと関連ずけられている。シフトレ
ジスタ8のフラグビットのセットは一致が見出されたこ
とを示す。
ら送られる比較結果によってセットあるいはリセットさ
れる。レジスタ8の個々のビットは各々ブロック7のあ
るコンパレータと互いにIQ連ずけられ、従ってアクセ
ス行のデータクループと関連ずけられている。シフトレ
ジスタ8のフラグビットのセットは一致が見出されたこ
とを示す。
フラグビットはライン15を介して左→右優先回路およ
びエンコーダ回路9に送られ、データストリングすなわ
ち各一致バイトのアドレスをユニークに同定するのに使
用できる。シフトレジスタ8の各フラグビットは、隣接
する右側のコンパレータに戻され、このコンパレータを
セットあるいはリセットする。フラグビットは隣接する
コンパレータのディスエーブル部に入力されるので、も
しフラグがセットされるとそのコンパレータは次の比較
を行い、もしリセットされるとそのコンパレータの次の
比較はディスエーブルとされる。
びエンコーダ回路9に送られ、データストリングすなわ
ち各一致バイトのアドレスをユニークに同定するのに使
用できる。シフトレジスタ8の各フラグビットは、隣接
する右側のコンパレータに戻され、このコンパレータを
セットあるいはリセットする。フラグビットは隣接する
コンパレータのディスエーブル部に入力されるので、も
しフラグがセットされるとそのコンパレータは次の比較
を行い、もしリセットされるとそのコンパレータの次の
比較はディスエーブルとされる。
RAMのアクセス時間はコンパレータの比較に要する時
間の数倍となることが多く、従って連続的なメモリアク
セスの間で数回の比較を行えることにτ1目されたい。
間の数倍となることが多く、従って連続的なメモリアク
セスの間で数回の比較を行えることにτ1目されたい。
フラグレジスタ8はこの特徴を利用して多バイト比較を
1バイト毎に連続して行える。従って、たとえば4バイ
ト長のキーをメモリアクセスのシーケンスをdらすこと
なくサーチできる。このことの効果を4バイトキーをサ
ーチする以下の例において説明する。
1バイト毎に連続して行える。従って、たとえば4バイ
ト長のキーをメモリアクセスのシーケンスをdらすこと
なくサーチできる。このことの効果を4バイトキーをサ
ーチする以下の例において説明する。
サーチルーチンの始めで、以下キーと称するり。
−チするデータストリングがシステムに入力される。C
AMコントローラはこのキーを数バイト艮のレジスタに
記憶りる。説明する例において、キーは4バイト長であ
って4個のレジスタRO。
AMコントローラはこのキーを数バイト艮のレジスタに
記憶りる。説明する例において、キーは4バイト長であ
って4個のレジスタRO。
R1,R2およびR3にロードされる。ROは左端のバ
イト、すなわちキーの最重要バイトである。
イト、すなわちキーの最重要バイトである。
CAMコントローラは、フラグレジスタ8のすべてのフ
ラグビットをセットする。これはIN[丁入力16をス
トローブすることによって行う。次にCAMコントロー
ラはD −RA M 1の第1の行をアドレスする。ア
ドレスされた512個のビットは512木の個々の導体
12によってブロック4のセンスアンプに送られる。そ
れらの論理信号グループは512本の導体13を介して
コンパレータブロック7に送られ、ここで前)示したよ
うに8個のグループとして比較の対象とされる。
ラグビットをセットする。これはIN[丁入力16をス
トローブすることによって行う。次にCAMコントロー
ラはD −RA M 1の第1の行をアドレスする。ア
ドレスされた512個のビットは512木の個々の導体
12によってブロック4のセンスアンプに送られる。そ
れらの論理信号グループは512本の導体13を介して
コンパレータブロック7に送られ、ここで前)示したよ
うに8個のグループとして比較の対象とされる。
CAMコントローラは次にマルヂブレクスバス2にレジ
スタROの内容を出力する。この内容は同!1yに入力
導体1oを介してコンパレータブロック7の64個のコ
ンパレータの各々の入力に送られる。
スタROの内容を出力する。この内容は同!1yに入力
導体1oを介してコンパレータブロック7の64個のコ
ンパレータの各々の入力に送られる。
このときコンパレータは8ビツトのマスク詔をコンパレ
ータブロック7に送ってもよく、このマスク語は入力導
体11を介してブロックの各コンパレータに送られる。
ータブロック7に送ってもよく、このマスク語は入力導
体11を介してブロックの各コンパレータに送られる。
マスクは不要と仮定して以。
下の説明を行う。マスクの目的およびその方法は後述す
る。
る。
レジスタROの内容とアドレス行の各データバイトの比
較は、両入力がコンパレータ7に入力されるとすぐに行
なわれる。
較は、両入力がコンパレータ7に入力されるとすぐに行
なわれる。
コンパレータ7の比較結果は、コントローラによるロー
ド入力ボート35のストローブによって、フラグシフト
レジスタ8にロードされる。比較結果は参照番号15に
よって示されるラインを介して優先回路およびエンコー
ダ回路9にも送られる。
ド入力ボート35のストローブによって、フラグシフト
レジスタ8にロードされる。比較結果は参照番号15に
よって示されるラインを介して優先回路およびエンコー
ダ回路9にも送られる。
キーのこの部分に1個あるいはそれ以上の一致が見出さ
れると、シフトレジスタの1個あるいはそれ以上のフラ
グがセットされ、これはハイレベルのRBSボート19
によってコントローラに示される。
れると、シフトレジスタの1個あるいはそれ以上のフラ
グがセットされ、これはハイレベルのRBSボート19
によってコントローラに示される。
次に、CAM:]ントローラは、レジスタR1にあるキ
ーの次のデータ群の内容を提供することによって次の比
較手順をコンパレータブロック7に(lja、めさせる
。この段階では、レジスタ8の各フラグビットは、参照
番号14で示される64本の出力導体グループによって
優先回路およびエンコーダ回路9から、フラグビットを
出力したコンパレータのすぐ右のコンパレータのディス
エーブルボートに送られる。従って、前の比較において
一致を示したコンパレータに隣接した右側のコンパレー
タのみがイネーブルとされる。このことによって、キー
の後のバイトのデータ群のみに対応した一致を示すこと
が阻止される。コントローラは次にロード信号を出力し
、そして残るレジスタR2と1又3に対する上記手順を
繰返す。
ーの次のデータ群の内容を提供することによって次の比
較手順をコンパレータブロック7に(lja、めさせる
。この段階では、レジスタ8の各フラグビットは、参照
番号14で示される64本の出力導体グループによって
優先回路およびエンコーダ回路9から、フラグビットを
出力したコンパレータのすぐ右のコンパレータのディス
エーブルボートに送られる。従って、前の比較において
一致を示したコンパレータに隣接した右側のコンパレー
タのみがイネーブルとされる。このことによって、キー
の後のバイトのデータ群のみに対応した一致を示すこと
が阻止される。コントローラは次にロード信号を出力し
、そして残るレジスタR2と1又3に対する上記手順を
繰返す。
比較する各段階において、fl B Sボー1〜がその
時のレジスタに対して一致を見出さないことを示すロー
レベルであると、CAMコン1〜〇−ラはその行のサー
チを終了する。
時のレジスタに対して一致を見出さないことを示すロー
レベルであると、CAMコン1〜〇−ラはその行のサー
チを終了する。
レジスタR3のキーの最終バイトのデータ群の比較P2
階の後、RBSボート19が1個あるいはそれ以上のフ
ラグがセットされたことを示すハイレベルであると、こ
のことはCAMコントローラに検知され少なくとも1個
の完全なキーの一致がその行で見出されたことを示す。
階の後、RBSボート19が1個あるいはそれ以上のフ
ラグがセットされたことを示すハイレベルであると、こ
のことはCAMコントローラに検知され少なくとも1個
の完全なキーの一致がその行で見出されたことを示す。
DRAMlの一致データストリングの位置、すなわち、
アドレスは、左→右優先回路およびエンコーダ回路9の
リードフラグコードストローブ(l≧FC8)入力と、
フラグレジスタ8の同じ入力17をCAMコントO−う
によってストローブすることによって見出される。CA
Mコントローラによってつくられるこの信号によって、
エンコーダおよび優先回路9はフラグレジスタ8の左端
にセットされたフラグピッl−を読み、その位置の符号
化値を参照番号2oで示される6本のラインを介してア
ドレス/データバス2に送ることができる。フラグビッ
トはフラグシフトレジスタブロック8に入力されるRF
C:S信号によってこの処理中自動的にリセットされる
。
アドレスは、左→右優先回路およびエンコーダ回路9の
リードフラグコードストローブ(l≧FC8)入力と、
フラグレジスタ8の同じ入力17をCAMコントO−う
によってストローブすることによって見出される。CA
Mコントローラによってつくられるこの信号によって、
エンコーダおよび優先回路9はフラグレジスタ8の左端
にセットされたフラグピッl−を読み、その位置の符号
化値を参照番号2oで示される6本のラインを介してア
ドレス/データバス2に送ることができる。フラグビッ
トはフラグシフトレジスタブロック8に入力されるRF
C:S信号によってこの処理中自動的にリセットされる
。
この処理の終りにおいてもRBSボート1つがハイレベ
ルを維持するならば、1個以上の完全な一致がキーに対
して見出されたことを示している。
ルを維持するならば、1個以上の完全な一致がキーに対
して見出されたことを示している。
これを読むためにコンl−ローラはさらにRFC3信号
を供給する。
を供給する。
(1の境界を超えるデータストリングを検出するために
、図示しない4ビツトオーバフローシフトレジスタを備
えることができる。このレジスタの入力ポートは、フラ
グシフトレジスタ8のシフト出力ポート28に接続され
、その出力ポートはフラグシフトレジスタ8のシフト入
力ボート27に接続される。
、図示しない4ビツトオーバフローシフトレジスタを備
えることができる。このレジスタの入力ポートは、フラ
グシフトレジスタ8のシフト出力ポート28に接続され
、その出力ポートはフラグシフトレジスタ8のシフト入
力ボート27に接続される。
比較手順中、第1、第2および第3の比較段階の後、フ
ラグシフトレジスタ8の右端のフラグの値はオーバーフ
ローシフ1〜レジスクの入力ビットにシフトされ、レジ
スタ内に記憶された伯のビットは通常の方法でシフトす
る。次の行がアドレスされると、シフトレジスタに記v
1されたビットは各比較段階毎に1ヒツトづつシフトし
、第1、第2 J3よび第3の比較段階の後、シフ1−
入力ボー]・27を介してコンパレータブロック7の左
端のコンパレータのディスエーブルボートに入力される
。
ラグシフトレジスタ8の右端のフラグの値はオーバーフ
ローシフ1〜レジスクの入力ビットにシフトされ、レジ
スタ内に記憶された伯のビットは通常の方法でシフトす
る。次の行がアドレスされると、シフトレジスタに記v
1されたビットは各比較段階毎に1ヒツトづつシフトし
、第1、第2 J3よび第3の比較段階の後、シフ1−
入力ボー]・27を介してコンパレータブロック7の左
端のコンパレータのディスエーブルボートに入力される
。
4ビツトシフトレジスタからシフトされたビットの状態
に依存して、左端のコンパレータは第2、第3および第
4の比較段階を行うことをイネーブルとされるかあるい
はディスエーブルとされる。
に依存して、左端のコンパレータは第2、第3および第
4の比較段階を行うことをイネーブルとされるかあるい
はディスエーブルとされる。
このようにして、行の境界を超えるデーウスl−リング
を検出することができる。
を検出することができる。
第2図はコンパレータブロック7を形成する1バイトす
なわち8ビット長コンパレータのひとつを示ず回路図で
ある。コンパレータは、行データ入力ボート30、レジ
スタデータ入力ボートC[) −C[)7とマスクデ
ータ入力ボートCM。
なわち8ビット長コンパレータのひとつを示ず回路図で
ある。コンパレータは、行データ入力ボート30、レジ
スタデータ入力ボートC[) −C[)7とマスクデ
ータ入力ボートCM。
−CM7の3 fililの8ピッ1−入力ボートを有
する。
する。
レジスタデータ入力ボートCD −CD7とマスクデ
ータ入カボートのラインはコンパレータブロックのすべ
てのコンパレータに対して同一のデータを供給する。ブ
ロック内の各行データ入力ボートは選択された行の異な
ったデータを各々のデータとする。コンパレータは1ビ
ツトのディスエーブルボート32をも有し、このボート
上のハイレベル入力はコンパレータ結果ボート31をロ
ウレベルとし、このロウレベルは負の比較結果を示すと
ともに、コンパレータの比較をディスエーブルとする。
ータ入カボートのラインはコンパレータブロックのすべ
てのコンパレータに対して同一のデータを供給する。ブ
ロック内の各行データ入力ボートは選択された行の異な
ったデータを各々のデータとする。コンパレータは1ビ
ツトのディスエーブルボート32をも有し、このボート
上のハイレベル入力はコンパレータ結果ボート31をロ
ウレベルとし、このロウレベルは負の比較結果を示すと
ともに、コンパレータの比較をディスエーブルとする。
コンパレータは8個の2入力イクスクルーシブOR(ヒ
−OR)ゲート28 より成り、そX
a−h の入力(よビット順に行データ入力ボート30とレジス
タデータ入力ボートCDo−CD7のビット入力と結合
されている。Ex−ORゲート28 は、各マスクデ
ータ入力ボートのビットラインCMo−0M7に接続さ
れている第3の1ビツト禁止ボートを有する。Ex−O
Rゲートの出カポ−[・は9入力Nof”(ゲート29
の8個の入力ボートに接続され、第4の入力ポートはコ
ンパレータのディスエーブル入力ボートに接続されてい
る。
−OR)ゲート28 より成り、そX
a−h の入力(よビット順に行データ入力ボート30とレジス
タデータ入力ボートCDo−CD7のビット入力と結合
されている。Ex−ORゲート28 は、各マスクデ
ータ入力ボートのビットラインCMo−0M7に接続さ
れている第3の1ビツト禁止ボートを有する。Ex−O
Rゲートの出カポ−[・は9入力Nof”(ゲート29
の8個の入力ボートに接続され、第4の入力ポートはコ
ンパレータのディスエーブル入力ボートに接続されてい
る。
コンパレータの動作を次に説明覆る。ここでマスクデー
タ入力ラインのすべてがハイレベルであってE、−OR
ゲートのいずれも禁止されていないものとする。この場
合、2入力ボートに入力されるビットが同じときのみそ
の出力がローレベルとなる。これは、一致状態が検知さ
れ、すなわち、 ”行データとレジスタデータの入力
バイトが同一であり、E −ORゲートからNORゲ
ート29への8個の出力がすべてローレベルとなる場合
である。もしディスエーブル入力ボート32もローレベ
ルであると、すなわち、コンパレータがイネーブルとさ
れると、NORゲート29の出力31はレジスタに記憶
された行バイトの一致が見出されたことを示す。
タ入力ラインのすべてがハイレベルであってE、−OR
ゲートのいずれも禁止されていないものとする。この場
合、2入力ボートに入力されるビットが同じときのみそ
の出力がローレベルとなる。これは、一致状態が検知さ
れ、すなわち、 ”行データとレジスタデータの入力
バイトが同一であり、E −ORゲートからNORゲ
ート29への8個の出力がすべてローレベルとなる場合
である。もしディスエーブル入力ボート32もローレベ
ルであると、すなわち、コンパレータがイネーブルとさ
れると、NORゲート29の出力31はレジスタに記憶
された行バイトの一致が見出されたことを示す。
もし、E −ORゲート28 の出力ボートx
a−h の1個あるいはそれ以上がハイレベルであると、2個の
入力ポートでのWなったデータビットを示し、NORゲ
ート29の出力31は不一致状態を示すローレベルであ
る。同様にディスエーブルボート30がハイレベルであ
ると、NORゲート29の出力ボート31はローレベル
に保持されて不一致状態を示すとともに、ハイレベルで
ある間はコンパレータを一致状態に応答させない。
a−h の1個あるいはそれ以上がハイレベルであると、2個の
入力ポートでのWなったデータビットを示し、NORゲ
ート29の出力31は不一致状態を示すローレベルであ
る。同様にディスエーブルボート30がハイレベルであ
ると、NORゲート29の出力ボート31はローレベル
に保持されて不一致状態を示すとともに、ハイレベルで
ある間はコンパレータを一致状態に応答させない。
第4a図は第3の禁止ボートを有するEx−ORゲー1
〜の回路構成の一例を示す。ゲートは2入力NORゲー
ト33.2入力ANDゲート34と3入力NORゲート
35とより構成されている。
〜の回路構成の一例を示す。ゲートは2入力NORゲー
ト33.2入力ANDゲート34と3入力NORゲート
35とより構成されている。
Ex−ORゲートの2入力ボートは文字旦と回で示され
ており、各入力ポートはNORゲート33と八Nr)ゲ
ート34の入力ポートのひとつに接続され−(いる。N
ORゲート33とANDゲート34の出力はNORゲー
ト35の入力ポートの2個に接続され、NORゲート3
5の第3の入力ポートはEx−ORゲートの禁止ボート
旦に接続されている。
ており、各入力ポートはNORゲート33と八Nr)ゲ
ート34の入力ポートのひとつに接続され−(いる。N
ORゲート33とANDゲート34の出力はNORゲー
ト35の入力ポートの2個に接続され、NORゲート3
5の第3の入力ポートはEx−ORゲートの禁止ボート
旦に接続されている。
もし禁止ボート旦がローレベルであると、一致を示ず他
の入力条件であっても、+三、−oRゲー1−の出力ボ
ートはローレベルどなる。この条件は、その時にコンパ
レータに入力される特定データビットのマスクに使用さ
れる。
の入力条件であっても、+三、−oRゲー1−の出力ボ
ートはローレベルどなる。この条件は、その時にコンパ
レータに入力される特定データビットのマスクに使用さ
れる。
コンパレータのマスクデータ入力CMo−;0M7の動
作を次に説明1)−る。メモリから特定のファイルヘッ
ダをサーチする場合、レジスタに記憶されたキーの全体
と完全な一致を見出さずにキーの特定ピッ1〜だけとの
一致を見出す場合がある。
作を次に説明1)−る。メモリから特定のファイルヘッ
ダをサーチする場合、レジスタに記憶されたキーの全体
と完全な一致を見出さずにキーの特定ピッ1〜だけとの
一致を見出す場合がある。
例えば、ファイルヘッダがクイI〜ル、作成日と作戒名
を含む場合、これらのうちのひとつがサーチの対象とな
り伯のふたつはその時には特別に重要性をもたない。
を含む場合、これらのうちのひとつがサーチの対象とな
り伯のふたつはその時には特別に重要性をもたない。
このようなサーチを行う場合、CAMコントローラは、
づべてのコンパレータに対して比較のために入力される
各レジスタバイトにυ[当てられたマスクバイトをち同
時に出力する。マスクバイトのビットがハイレベルかロ
ーレベルかに応じて、コンパレータの個々のEx−OR
ゲートをイネーブルとし、E −ORゲートに入力さ
れるビットの類似性を示す比較ビットを出力するか、あ
るいは、ビットの同一性を示す表示を強制的に出力させ
る。このようにしてE工〜ORゲー1−は、マスクヒツ
トによって選択されると、2個の入力データの一致・不
−敗状態にかかわらずその一致を示すことができ、選択
されたビットの一致のみを検出できる。
づべてのコンパレータに対して比較のために入力される
各レジスタバイトにυ[当てられたマスクバイトをち同
時に出力する。マスクバイトのビットがハイレベルかロ
ーレベルかに応じて、コンパレータの個々のEx−OR
ゲートをイネーブルとし、E −ORゲートに入力さ
れるビットの類似性を示す比較ビットを出力するか、あ
るいは、ビットの同一性を示す表示を強制的に出力させ
る。このようにしてE工〜ORゲー1−は、マスクヒツ
トによって選択されると、2個の入力データの一致・不
−敗状態にかかわらずその一致を示すことができ、選択
されたビットの一致のみを検出できる。
第3図はフラグシフトレジスタ8と左→右優先回路およ
びエンコーダ回路9の・1ビツトユニツトとそれらの間
の接続を示す。第4b図および第4C図は第3図に使用
する標準化されていない回路シンボルを説明する図であ
る。
びエンコーダ回路9の・1ビツトユニツトとそれらの間
の接続を示す。第4b図および第4C図は第3図に使用
する標準化されていない回路シンボルを説明する図であ
る。
第4b図は、以下セルと称する半黒丸シンボル36の回
路表示を示す。この表示は2本の導体37と38との間
に接続されたn−チャネルFET39より成り、ソース
は導体38に、ゲートは導体37に、そしてトレインは
アースに接続されている。導体37上のハイレベルはF
ET39を導通させ、従って導体38を接地する。
路表示を示す。この表示は2本の導体37と38との間
に接続されたn−チャネルFET39より成り、ソース
は導体38に、ゲートは導体37に、そしてトレインは
アースに接続されている。導体37上のハイレベルはF
ET39を導通させ、従って導体38を接地する。
第4C図はトランジスタに用いるシンボル40と42を
承り。シンボル40はn−チャネルFETを表わし、シ
ンボル42はp−チャネル1:E]−を表ねり。
承り。シンボル40はn−チャネルFETを表わし、シ
ンボル42はp−チャネル1:E]−を表ねり。
第3図において参照番号59で示されるフラグシフトレ
ジスタ8の1ビツトユニツトは、2個の2入力NORゲ
ート43,44.2周のインバータ46.47.2入力
ANDゲート45、そして4個のn−チャネルFET4
8〜51より構成されている。
ジスタ8の1ビツトユニツトは、2個の2入力NORゲ
ート43,44.2周のインバータ46.47.2入力
ANDゲート45、そして4個のn−チャネルFET4
8〜51より構成されている。
シフトレジスタユニット59のINIT入力は、NOR
ゲート43の入力ポートに接続され、他の入力ポートは
トランジスタ49を介して結果ボート60に、そしてト
ランジスタ48を介してユニッ1−59のシフト入力ボ
ート54に接続されている。ゲート43の伯の入力ポー
トにはトランジスタ50を介してNORゲート44の出
力も接続されている。トランジスタ49.48および5
0は各々ロード、シフトおよびロード+シフ1−信号に
よって導通される。NORゲート43の出力は、N O
Rゲート44の入力ポートに接続されるとともに、ロー
ド+シフト信号によって制御されるトランジスタ51と
インバータ46とを介してシフト出力ボート53に接続
されている。インバータ46の出力はインバータ47の
入力にも印加されている。NORゲート44の第2の入
カポ−1−はANDゲート45の出力ボートに接続され
ている。
ゲート43の入力ポートに接続され、他の入力ポートは
トランジスタ49を介して結果ボート60に、そしてト
ランジスタ48を介してユニッ1−59のシフト入力ボ
ート54に接続されている。ゲート43の伯の入力ポー
トにはトランジスタ50を介してNORゲート44の出
力も接続されている。トランジスタ49.48および5
0は各々ロード、シフトおよびロード+シフ1−信号に
よって導通される。NORゲート43の出力は、N O
Rゲート44の入力ポートに接続されるとともに、ロー
ド+シフト信号によって制御されるトランジスタ51と
インバータ46とを介してシフト出力ボート53に接続
されている。インバータ46の出力はインバータ47の
入力にも印加されている。NORゲート44の第2の入
カポ−1−はANDゲート45の出力ボートに接続され
ている。
ANDゲート45の入力ボートはシフトレジスタユニッ
ト59のRPC3入カボート41に接続されるとともに
、動作を後述する左→右擾先回路ユニット61に接続さ
れている導体58に接続されている。NROゲート44
の出力ボートは前述したようにトランジスタ50を介し
てNORゲート43の入力ボートに接続されている。イ
ンバータ47の出力ボートはシフ1〜レジスタユニツト
59のディスエーブル出力ボート26となる導体52に
接続されるとともに、セル57と左→右擾先回路ユニッ
ト61に接続されている。
ト59のRPC3入カボート41に接続されるとともに
、動作を後述する左→右擾先回路ユニット61に接続さ
れている導体58に接続されている。NROゲート44
の出力ボートは前述したようにトランジスタ50を介し
てNORゲート43の入力ボートに接続されている。イ
ンバータ47の出力ボートはシフ1〜レジスタユニツト
59のディスエーブル出力ボート26となる導体52に
接続されるとともに、セル57と左→右擾先回路ユニッ
ト61に接続されている。
シフトレジスタユニットの!TIJJ作を次に説明する
。
。
メモリーの行サーチの始めに、CA Mコントローラに
よってシフトレジスタユニット59のl N i T入
力ボート54はハイレベルにストローブされ、NORゲ
ート43の出カポ−1−にロウレベル信号を出力する。
よってシフトレジスタユニット59のl N i T入
力ボート54はハイレベルにストローブされ、NORゲ
ート43の出カポ−1−にロウレベル信号を出力する。
トランジスタ50.51はロード+シフト信号があるの
で導通している。従ってNORゲート43の出力はイン
バータ46の入力に接続され、シフトレジスタユニット
のシフト出力ボート53はハイレベルに設定される。イ
ンバータ47はディスエーブル出力ボート26をロウレ
ベルに設定する。NORゲート44の出力はハイレベル
に設定され、この信号はトランジスタ50を介してNO
Rゲート43の他の入力ボートに戻される。
で導通している。従ってNORゲート43の出力はイン
バータ46の入力に接続され、シフトレジスタユニット
のシフト出力ボート53はハイレベルに設定される。イ
ンバータ47はディスエーブル出力ボート26をロウレ
ベルに設定する。NORゲート44の出力はハイレベル
に設定され、この信号はトランジスタ50を介してNO
Rゲート43の他の入力ボートに戻される。
INITNORゲート43レベルとなると、NORゲー
ト43.44の出力ポートのレベルは1]−ド」−シフ
1−信号が依然として真状態であるのでl N I ’
I−パルスによって設定された値を保持し、トランジス
タ50はNORゲート44の出力であるハイレベルをN
ORゲート43の入カポ−1−に送る。このようにして
、フラグのセット状態がユニットにラッチされる。
ト43.44の出力ポートのレベルは1]−ド」−シフ
1−信号が依然として真状態であるのでl N I ’
I−パルスによって設定された値を保持し、トランジス
タ50はNORゲート44の出力であるハイレベルをN
ORゲート43の入カポ−1−に送る。このようにして
、フラグのセット状態がユニットにラッチされる。
次にCAfVITl l〜ローラはD−RAMIのメモ
リの第1行目をアドレスし、キーの第ルジスタ保持ボー
トの内容ともし必要ならばマスクデータ群とをコンパレ
ータブロック7のすべてのコンパレータに与える。次に
CAMコントローラはシフトレジスタユニット59のロ
ードボートをストローブして、トランジスタ49を導通
状態にするととらに、シフトレジスタ59のコンパレー
タによる比較結果をNORゲート43の入力ボートに送
る。
リの第1行目をアドレスし、キーの第ルジスタ保持ボー
トの内容ともし必要ならばマスクデータ群とをコンパレ
ータブロック7のすべてのコンパレータに与える。次に
CAMコントローラはシフトレジスタユニット59のロ
ードボートをストローブして、トランジスタ49を導通
状態にするととらに、シフトレジスタ59のコンパレー
タによる比較結果をNORゲート43の入力ボートに送
る。
もしレジスタに保持されたデータ群と一致するデークグ
ルーブが見出されると、NORゲート43の入力はハイ
レベルであり、その出力ポートをローレベルとしその結
果NORゲート44の出力ポートをハイレベル(他の入
力ボートは[1−レベル)とする。ロード信号がハイレ
ベルの間、トランジスタ50.51は導通しない。
ルーブが見出されると、NORゲート43の入力はハイ
レベルであり、その出力ポートをローレベルとしその結
果NORゲート44の出力ポートをハイレベル(他の入
力ボートは[1−レベル)とする。ロード信号がハイレ
ベルの間、トランジスタ50.51は導通しない。
ロード信号がローレベルの旧、トランジスタ50.51
はpjび導通状態となり、NORゲート43.44の出
力はその設定値にラッチされる。シフト出カポ−1−5
3はハイレベルをとり、ディスエーブルボート26は[
]−レベルをとる。この場合、1−ランジスタ49に入
力されるロード信号によってセットされた゛フラグ″を
ユニツ1−59に記憶1する。
はpjび導通状態となり、NORゲート43.44の出
力はその設定値にラッチされる。シフト出カポ−1−5
3はハイレベルをとり、ディスエーブルボート26は[
]−レベルをとる。この場合、1−ランジスタ49に入
力されるロード信号によってセットされた゛フラグ″を
ユニツ1−59に記憶1する。
もし]ンバレー夕の比較結果が不一致であると、トラン
ジスタ49に入力されるロード信号によってローレベル
をNORゲート43の入カポ−1へに送る。このNOR
ゲートはトランジスタ50によってそれまでハイレベル
を与えられていた。
ジスタ49に入力されるロード信号によってローレベル
をNORゲート43の入カポ−1へに送る。このNOR
ゲートはトランジスタ50によってそれまでハイレベル
を与えられていた。
N ORゲート43の入力ボートのふたつのローレベル
信号によってその出力はハイレベルとなる。
信号によってその出力はハイレベルとなる。
このハイレベル信号はNORゲート44の出力をローレ
ベルとする。ロード信号がローレベルとなると、トラン
ジスタ43.44は再度導通状態となりこれらの値でラ
ッチされる。ここでインバータ46の出力はローレベル
となり、シフト出カポ−1〜53をローレベルとすると
ともにインバータ47の出力をハイレベルとする。従っ
てユニットのディスエーブル出力ポート26はハイレベ
ルである。比較結果のリセットされたフラグはこのよう
にしてユニットに記憶される。
ベルとする。ロード信号がローレベルとなると、トラン
ジスタ43.44は再度導通状態となりこれらの値でラ
ッチされる。ここでインバータ46の出力はローレベル
となり、シフト出カポ−1〜53をローレベルとすると
ともにインバータ47の出力をハイレベルとする。従っ
てユニットのディスエーブル出力ポート26はハイレベ
ルである。比較結果のリセットされたフラグはこのよう
にしてユニットに記憶される。
ディスエーブル出力ポート26は、比較結果をシフトレ
ジスタユニットに与えたコンパレータの右側にある次の
コンパレータのディスエーブル入カポ−1〜32に接続
されている。
ジスタユニットに与えたコンパレータの右側にある次の
コンパレータのディスエーブル入カポ−1〜32に接続
されている。
シフトレジスタユニットに記憶されたフラグの状態はR
I3Sライン65を検知するCAMコントローラによっ
て検出される。ディスエーブル出力ポート26に接続さ
れている導体52はセル57を介してRBSライン65
をυItlllする。もしディスエーブル出力ポート2
6がローレベル、すなわち一致が見出されると、セル5
7のトランジスタは導通しておらずRBSラインはトラ
ンジスタ56の電流によってハイレベルを維持している
。
I3Sライン65を検知するCAMコントローラによっ
て検出される。ディスエーブル出力ポート26に接続さ
れている導体52はセル57を介してRBSライン65
をυItlllする。もしディスエーブル出力ポート2
6がローレベル、すなわち一致が見出されると、セル5
7のトランジスタは導通しておらずRBSラインはトラ
ンジスタ56の電流によってハイレベルを維持している
。
RBSラインのハイレベルによって、CAMコンi−ロ
ーラに一致が見出されたことを知らせる。もし一致が見
出されない場合、導体52のハイレベルににつてセル5
7のトランジスタが導通しr< [3Sライン65を接
地電位に落す。
ーラに一致が見出されたことを知らせる。もし一致が見
出されない場合、導体52のハイレベルににつてセル5
7のトランジスタが導通しr< [3Sライン65を接
地電位に落す。
D−RAM1の一行目のデータの比較手順の終りでCA
MコントローラがRBSラインのハイレベルを検知する
と、このことはレジスタに記憶されたキーデータの一個
あるいはそれ以上の全体の一致がその行で見出されたこ
とを示している。−行[1の一致したデータストリング
のアドレスは、左→右(う先ユニット61とエンコーダ
ユニット62とによって与えられる。
MコントローラがRBSラインのハイレベルを検知する
と、このことはレジスタに記憶されたキーデータの一個
あるいはそれ以上の全体の一致がその行で見出されたこ
とを示している。−行[1の一致したデータストリング
のアドレスは、左→右(う先ユニット61とエンコーダ
ユニット62とによって与えられる。
左→右漫先回路9はフラグシフトレジスタ8にセラ1〜
された左端のビットのアドレスをバス2に設定する。第
3図に示す優先ユニツ1〜61は、2個の2入力N O
Rケ−トロ 6 A 、 66 B 83個のトランジ
スタ70−72とより構成され、さらにトランジスタ6
8.69とインバータ67とを有している。
された左端のビットのアドレスをバス2に設定する。第
3図に示す優先ユニツ1〜61は、2個の2入力N O
Rケ−トロ 6 A 、 66 B 83個のトランジ
スタ70−72とより構成され、さらにトランジスタ6
8.69とインバータ67とを有している。
NORゲート66Aの一方の入力ポートはシフトレジス
タユニット59のディスエーブル出力ボート26につな
がる導体52に接続されている。
タユニット59のディスエーブル出力ボート26につな
がる導体52に接続されている。
NORゲー1−66 Aの池の入カポ−1−は、PCL
Kボー1へ81に制御されるトランジスタ68を介して
電源電圧■。0に接続される導体78に接続されている
。NORゲート66△の出力ボートはトランジスタ73
を介してエンコーダ62を形成する4個のセル74−7
7に接続されている。
Kボー1へ81に制御されるトランジスタ68を介して
電源電圧■。0に接続される導体78に接続されている
。NORゲート66△の出力ボートはトランジスタ73
を介してエンコーダ62を形成する4個のセル74−7
7に接続されている。
NORゲート66Aの出力はシフトレジスタユニツ[−
59のANDゲーl〜45の入力の一方にも接続され、
この他方の入力はシフトレジスタユニットのRFCSボ
ー1〜41に接続されている。
59のANDゲーl〜45の入力の一方にも接続され、
この他方の入力はシフトレジスタユニットのRFCSボ
ー1〜41に接続されている。
導体78と導体79はゲートが導体52に接続されたト
ランジスタ70によって結合される。導体52が0−レ
ベルであると、トランジスタ70は非導通であり導体7
8を導体7.9から切離している。導体52がハイレベ
ルであると、トランジスタ70は導通し導体78と導体
79とを互いに接続する。
ランジスタ70によって結合される。導体52が0−レ
ベルであると、トランジスタ70は非導通であり導体7
8を導体7.9から切離している。導体52がハイレベ
ルであると、トランジスタ70は導通し導体78と導体
79とを互いに接続する。
N O11ゲート66Bの一方の入力ポートは導体79
に接続され、他方の入力ポートはPCLKボート8oに
接続されている。NORゲート66Bの出力ボートはト
ランジスタ71のゲートに接続され、そのソース・ドレ
インは導体79とアースとの間に接続されている。PC
LKボート8oもトランジスタ72に接続され、そして
ハイレベルの時に電源■。Cを1〜ランジスタを介して
導体79に接続する。PCLKボートはインバータ67
の入力ポートに接続され、その出力によってトランジス
タ73と、導体78とアース間に接続されたトランジス
タ69とを制御している。
に接続され、他方の入力ポートはPCLKボート8oに
接続されている。NORゲート66Bの出力ボートはト
ランジスタ71のゲートに接続され、そのソース・ドレ
インは導体79とアースとの間に接続されている。PC
LKボート8oもトランジスタ72に接続され、そして
ハイレベルの時に電源■。Cを1〜ランジスタを介して
導体79に接続する。PCLKボートはインバータ67
の入力ポートに接続され、その出力によってトランジス
タ73と、導体78とアース間に接続されたトランジス
タ69とを制御している。
この実浦例においては、エンコーダユニット62はトラ
ンジスタ73ど4個のセルフ4−77とより構成されて
いるが、セルの数は、バスに設定されるコードによって
各ユニット毎に変化する。
ンジスタ73ど4個のセルフ4−77とより構成されて
いるが、セルの数は、バスに設定されるコードによって
各ユニット毎に変化する。
セルはうイン82に接続されており、ライン82はトラ
ンジスタ63を介した電源■Coからの電流によってハ
イレベルになっている。トランジスタ73が導通し、か
つ、NORゲート66Aの出力がハイレベルである時、
セルフ4−77によってパスライン82はセル位置によ
って決定されるコードをとる。図示するエンコーダユニ
ツ1−62にJ3いては、パスライン82はコード01
0010をどる。この6ビツトコードは、セットされた
フラグの状態がシフトレジスタユニット59に記憶され
ているパイ1−の列アドレスである。このアドレスはト
ランジスクロ4を介し、RFC8信号に応答してバス2
に送られる。
ンジスタ63を介した電源■Coからの電流によってハ
イレベルになっている。トランジスタ73が導通し、か
つ、NORゲート66Aの出力がハイレベルである時、
セルフ4−77によってパスライン82はセル位置によ
って決定されるコードをとる。図示するエンコーダユニ
ツ1−62にJ3いては、パスライン82はコード01
0010をどる。この6ビツトコードは、セットされた
フラグの状態がシフトレジスタユニット59に記憶され
ているパイ1−の列アドレスである。このアドレスはト
ランジスクロ4を介し、RFC8信号に応答してバス2
に送られる。
左→右優先ユニットの動作を次に説明する。ここでハイ
レベルがシフトレジスタユニット59に設定された、す
なわち導体52がローレベルとなったと仮定する。一連
の比較手順の最後でCAMコントローラがRBSライン
上のハイレベルを検知すると、PCLKパルスをPCL
Kボート80゜81に与える。このパルスは1〜ランジ
スタロ8゜72をアクテイヴとして電源V。0を導体7
8.79に接続する。インバータ67の出力はPCLK
パルスがハイレベルとなるとローレベルとなるので、1
−ランジスタロ9.73は非導通となる。さらに、NO
Rゲート66Bの出力はローレベルでありトランジスタ
71は非導通状態である。導体78上のハイレベルはN
ot”(ゲート66△の出カポ−1−をローレベルとす
る。
レベルがシフトレジスタユニット59に設定された、す
なわち導体52がローレベルとなったと仮定する。一連
の比較手順の最後でCAMコントローラがRBSライン
上のハイレベルを検知すると、PCLKパルスをPCL
Kボート80゜81に与える。このパルスは1〜ランジ
スタロ8゜72をアクテイヴとして電源V。0を導体7
8.79に接続する。インバータ67の出力はPCLK
パルスがハイレベルとなるとローレベルとなるので、1
−ランジスタロ9.73は非導通となる。さらに、NO
Rゲート66Bの出力はローレベルでありトランジスタ
71は非導通状態である。導体78上のハイレベルはN
ot”(ゲート66△の出カポ−1−をローレベルとす
る。
PCLKパルスがローレベルとなると、トランジスタ6
8.72は導通状態を停止し、NORゲー1〜66Bと
インバータ67の出力はハイレベルとなる。従って、ト
ランジスタ71.69は導通するのでライン79.78
をアースに落とり。
8.72は導通状態を停止し、NORゲー1〜66Bと
インバータ67の出力はハイレベルとなる。従って、ト
ランジスタ71.69は導通するのでライン79.78
をアースに落とり。
NORゲー1−66への2個のローレベル入力と、導体
52のローレベルとによって、その出力ボートはハイレ
ベルとなる。トランジスタ73fまインバータ67のハ
イレベル出力により導通してJ3す、NORゲート66
△のハイレベル出力をセルフ4−77に送る。セルがア
クテイヴとなされてピッ1〜バクーン“010010”
を6本の導体82に出力する。
52のローレベルとによって、その出力ボートはハイレ
ベルとなる。トランジスタ73fまインバータ67のハ
イレベル出力により導通してJ3す、NORゲート66
△のハイレベル出力をセルフ4−77に送る。セルがア
クテイヴとなされてピッ1〜バクーン“010010”
を6本の導体82に出力する。
PCLKポートがローレベルである間、CAMコントロ
ーラはRFCSパルスをつくり、このパルスはトランジ
スタ64をイネーブルとし導体8゜2上のビットパター
ンを7ドレス/データバス2に送る。RFC8信号はA
NDゲート45の一入力としてシフl−レジスタユニッ
ト59にも供給され、シフトレジスタユニット59のフ
ラグビットを生じさせる。その結果導体52のハイレベ
ルがセル57をアクティヴとしRBSライン65をロー
レベルに落ず。
ーラはRFCSパルスをつくり、このパルスはトランジ
スタ64をイネーブルとし導体8゜2上のビットパター
ンを7ドレス/データバス2に送る。RFC8信号はA
NDゲート45の一入力としてシフl−レジスタユニッ
ト59にも供給され、シフトレジスタユニット59のフ
ラグビットを生じさせる。その結果導体52のハイレベ
ルがセル57をアクティヴとしRBSライン65をロー
レベルに落ず。
導体52のハイレベルはNORゲート66Aの出力をロ
ーレベルとし、その結果ANI)ゲー1−45の出力ポ
ートをローレベルとする。リセット値は以上のようにし
てシフトレジスタユニット59にラッチされ、RFC8
信号はここでなくなる。
ーレベルとし、その結果ANI)ゲー1−45の出力ポ
ートをローレベルとする。リセット値は以上のようにし
てシフトレジスタユニット59にラッチされ、RFC8
信号はここでなくなる。
ちしCAMコントローラがRBSライン65がハイレベ
ルを維持しているのを検知すると、このことは1個ある
いはそれ以上のフラグビットが他のシフトレジスタユニ
ットにセットされていることを示している。これらをア
クセスするためにさらにPCLKとRFCSパルスが与
えられる。シフトレジスタユニット59のリセットが終
ると、導体52はハイレベルを保持する。従って、NO
Rゲート66Aの出力はローレベルを維持し、セルフ4
−77はアクティヴとされず、そしてトランジスタ70
は導通している。ここで導体78゜79はUいに接続さ
れ、PCLKボート81およびI!l連する回路からの
信号を、セットフラグを有した左−→右優先ユニットの
右側の優先ユニットのセルに直接送る。
ルを維持しているのを検知すると、このことは1個ある
いはそれ以上のフラグビットが他のシフトレジスタユニ
ットにセットされていることを示している。これらをア
クセスするためにさらにPCLKとRFCSパルスが与
えられる。シフトレジスタユニット59のリセットが終
ると、導体52はハイレベルを保持する。従って、NO
Rゲート66Aの出力はローレベルを維持し、セルフ4
−77はアクティヴとされず、そしてトランジスタ70
は導通している。ここで導体78゜79はUいに接続さ
れ、PCLKボート81およびI!l連する回路からの
信号を、セットフラグを有した左−→右優先ユニットの
右側の優先ユニットのセルに直接送る。
大容量のメモリは個々のメモリを第5図に示すようにU
いにリンクさせることによって上述のようにV−チが可
能である。各CAMのシフト出力ボートは右側の次のC
AMのシフト入力ボートに接続されている。列の左端の
CAM91のシフト入力ボートは導体96を介してCA
Mコントローラ95のシフト出力ボートに接続され、C
AMコントローラのシフト入力ボートは導体98を介し
て列の右端のCAM94に接続されている。
いにリンクさせることによって上述のようにV−チが可
能である。各CAMのシフト出力ボートは右側の次のC
AMのシフト入力ボートに接続されている。列の左端の
CAM91のシフト入力ボートは導体96を介してCA
Mコントローラ95のシフト出力ボートに接続され、C
AMコントローラのシフト入力ボートは導体98を介し
て列の右端のCAM94に接続されている。
この構成によれば、単一のCAMが一度に64バイトし
かサーチできないのに対して256バイトを同時に→ノ
ーチできる。各CAMが256にの記憶素子を有すると
すると、第5図のCAMの容量は1Mバイトとなる。C
AMをこのように相互に直接接続することによって、サ
ーチする少量のデータを4個のCAMの最上段の行にの
み記憶できる。従って、4組のコンパレータのサーチ能
力を一度に使用できる。このことは、おおよそCAMの
数だけそのサーチ速度が高められる効果をもたらす。も
ちろん、サーチの最小時間は一行をサーチするに必要な
時間である。
かサーチできないのに対して256バイトを同時に→ノ
ーチできる。各CAMが256にの記憶素子を有すると
すると、第5図のCAMの容量は1Mバイトとなる。C
AMをこのように相互に直接接続することによって、サ
ーチする少量のデータを4個のCAMの最上段の行にの
み記憶できる。従って、4組のコンパレータのサーチ能
力を一度に使用できる。このことは、おおよそCAMの
数だけそのサーチ速度が高められる効果をもたらす。も
ちろん、サーチの最小時間は一行をサーチするに必要な
時間である。
行の境界を超える可変長データストリングのサーチは、
第6図のCAMコントローラに示されるように、打開の
中間結果を記憶するタツプイ4きシフトレジスタ101
を備えることにより可能である。シフトレジスタの長さ
は、サーチされるキーデータストリングを保持するに必
要なレジスフ段数の函数として、ホス1〜システムによ
って、あるいは自動的にCAMコントローラにJ:って
設定できる。
第6図のCAMコントローラに示されるように、打開の
中間結果を記憶するタツプイ4きシフトレジスタ101
を備えることにより可能である。シフトレジスタの長さ
は、サーチされるキーデータストリングを保持するに必
要なレジスフ段数の函数として、ホス1〜システムによ
って、あるいは自動的にCAMコントローラにJ:って
設定できる。
以上の説明に関連して更に以下の項を開示する。
(1) ブロック毎にアクセス可能な複数個の記aX
子を有した記憶手段であって、該ブロックは各々特定の
順序にある複数個の等しいグループに同数の記憶素子を
有する前記記憶手段、各ブロックのグループに各々対応
した複数個のコンパレータを有したコンパレータ手段で
あって、各コンパレータは前記グループの記憶素子の数
と同数の第1 Jjよび第2の入力を有し、第1および
第2の入力に入力されたデータビットが同一か否かを示
す一致表示をつくる前記コンパレータ手段、複数個のデ
ータビット群より成る入力キーコードを記憶する手段で
あって、各データビット群は前記グループの記憶素子の
数と同数のデータビットを有する前記手段、及び、記憶
手段の記+f:1素子ブロックを遣1尺的にアクセスし
てそこに記憶されたデータビットをコンパレータの第1
の入力に同時に入力し、かつ、入力キーコードのデータ
ビット群をコンパレータの第2の入力に同時に入力する
制御手段とを有する内容アドレス式メモリにおいて、コ
ンパレータ手段のコンパレータに各々対応した記憶素子
を有するフラッグレジスタ手段を備え、前記コンパレー
タによる一致表示はフラッグレジスタ手段の記憶素子に
記憶され、前記制御手段は入力キーコードのデータビッ
ト群を所定の順序で連続して各コンパレータの第2の入
力に入力し、各コンパレータは、入力キーコードの直前
のデータビット群と比較の後、前記特定の順序において
前の段階にある直前のコンパレータににる比較が前記グ
ループと一致しないという表示を示した時、同コンパレ
ータをディスエーブルする手段を有し、入力キーコード
の最終データビット群と比較した後ロンパレータの一致
しているという表示に応答して、アクセスされたブロッ
ク内の入力キーコードと一致するデータビットグループ
の位置を同定する出力手段を備えている内容アドレス式
メモリ。
子を有した記憶手段であって、該ブロックは各々特定の
順序にある複数個の等しいグループに同数の記憶素子を
有する前記記憶手段、各ブロックのグループに各々対応
した複数個のコンパレータを有したコンパレータ手段で
あって、各コンパレータは前記グループの記憶素子の数
と同数の第1 Jjよび第2の入力を有し、第1および
第2の入力に入力されたデータビットが同一か否かを示
す一致表示をつくる前記コンパレータ手段、複数個のデ
ータビット群より成る入力キーコードを記憶する手段で
あって、各データビット群は前記グループの記憶素子の
数と同数のデータビットを有する前記手段、及び、記憶
手段の記+f:1素子ブロックを遣1尺的にアクセスし
てそこに記憶されたデータビットをコンパレータの第1
の入力に同時に入力し、かつ、入力キーコードのデータ
ビット群をコンパレータの第2の入力に同時に入力する
制御手段とを有する内容アドレス式メモリにおいて、コ
ンパレータ手段のコンパレータに各々対応した記憶素子
を有するフラッグレジスタ手段を備え、前記コンパレー
タによる一致表示はフラッグレジスタ手段の記憶素子に
記憶され、前記制御手段は入力キーコードのデータビッ
ト群を所定の順序で連続して各コンパレータの第2の入
力に入力し、各コンパレータは、入力キーコードの直前
のデータビット群と比較の後、前記特定の順序において
前の段階にある直前のコンパレータににる比較が前記グ
ループと一致しないという表示を示した時、同コンパレ
ータをディスエーブルする手段を有し、入力キーコード
の最終データビット群と比較した後ロンパレータの一致
しているという表示に応答して、アクセスされたブロッ
ク内の入力キーコードと一致するデータビットグループ
の位置を同定する出力手段を備えている内容アドレス式
メモリ。
(2) 出力手段は、記憶手段中に見出された各一致
データビットグループの位置を表わす符号化出力信号を
つくるエンコーダ手段を含む第1項記載の内容アドレス
式メモリ。
データビットグループの位置を表わす符号化出力信号を
つくるエンコーダ手段を含む第1項記載の内容アドレス
式メモリ。
(3) 出力手段は、記憶手段中に1個以上の一致デ
ータピットグループを見出した時、符号化出力信号を連
続してつくりだす第2項記載の内容アドレス式メモリ。
ータピットグループを見出した時、符号化出力信号を連
続してつくりだす第2項記載の内容アドレス式メモリ。
(4) フラグレジスタ手段は、記憶素子がコンパレ
ータ手段のコンパレータによる一致表示を受け、かつ、
記憶するために各々接続されたシフトレジスタと、シフ
トレジスタに記憶された一致表示を、入力キーコードの
各データビット群の比較の後、シフトレジスタの各段に
沿ってシフトさせる手段と、そして、記憶された一致表
示から得られる信号をコンパレータ手段の各コンパレー
タに入力し、−数表示が得られた時コンパレータの比(
5) シフトレジスタはブロックのデータビットグル
ープの数よりも多くの段数を有し、もっであるブロック
の最後のデータピッ1−グループから(ηられた一致表
示を、次のブロックの最初のグループの比較を制御する
ために可能とし、制御手段はブロックを連続してアクセ
スする第4項記載の内容アドレス式メモリ。
ータ手段のコンパレータによる一致表示を受け、かつ、
記憶するために各々接続されたシフトレジスタと、シフ
トレジスタに記憶された一致表示を、入力キーコードの
各データビット群の比較の後、シフトレジスタの各段に
沿ってシフトさせる手段と、そして、記憶された一致表
示から得られる信号をコンパレータ手段の各コンパレー
タに入力し、−数表示が得られた時コンパレータの比(
5) シフトレジスタはブロックのデータビットグル
ープの数よりも多くの段数を有し、もっであるブロック
の最後のデータピッ1−グループから(ηられた一致表
示を、次のブロックの最初のグループの比較を制御する
ために可能とし、制御手段はブロックを連続してアクセ
スする第4項記載の内容アドレス式メモリ。
(6) 記憶手段は、行と列に配列されたバイナリデ
ータ記憶素子と複数本の導体より成り、行に関する導体
が記憶素子を行単位でアドレスして列に関する導体上の
記憶データを表わすデータ信号をつくり、各行の記憶素
子は制御手段によってアの何れかに記載の内容アドレス
式メモリ。
ータ記憶素子と複数本の導体より成り、行に関する導体
が記憶素子を行単位でアドレスして列に関する導体上の
記憶データを表わすデータ信号をつくり、各行の記憶素
子は制御手段によってアの何れかに記載の内容アドレス
式メモリ。
(7) 制御手段は、記憶素子の行を連続的にアドレ
スするようになっている第6項記載の内容アドレス式メ
モリ。
スするようになっている第6項記載の内容アドレス式メ
モリ。
の内容アドレス式メモリ。
は第8項記載の内容アドレス式メモリ。
(10)記憶手段の行がアドレスされ、かつ、データ信
号が列導体上につくられる毎に、全体の入力コードが群
毎に次々とコンパレータ手段に入力される第8項記載の
内容アドレス式メモリ。
号が列導体上につくられる毎に、全体の入力コードが群
毎に次々とコンパレータ手段に入力される第8項記載の
内容アドレス式メモリ。
(11)符号化出力信号を記憶素子のアクセスされたブ
[lツクのアドレスと結合して、入力キーコードと一致
した全アドレスの表示をつくる手段を有している第2項
記載の内容アドレス式メモリ。
[lツクのアドレスと結合して、入力キーコードと一致
した全アドレスの表示をつくる手段を有している第2項
記載の内容アドレス式メモリ。
(12)コンパレータの手段は、マスクデータビットl
iT用の入力を含み、このマスクデータビット(Jは、
れ1の一致の程度を計画する際にもし必要ならば、各市
のどのデータビットの比較を一致表示を冑たちのとして
取扱うかを示している第3項記載の内容アドレスメモリ
。
iT用の入力を含み、このマスクデータビット(Jは、
れ1の一致の程度を計画する際にもし必要ならば、各市
のどのデータビットの比較を一致表示を冑たちのとして
取扱うかを示している第3項記載の内容アドレスメモリ
。
(13)同一サイズの多ビットデータ群を有する入力キ
ー]−ドの位置をメモリ中に見出1方法であって、キー
コードと同一サイズの複数周のデータグループがメモリ
から同時にアクセスされてキーコードの選択されたデー
タ群と同時に比較され、キーコードのデータ群は連続的
に選択され、そして、比較の結果によって必藍な位置の
表示を与え、メモリの特定データグループとキーコード
のデータ群の比較は、キーコードの前のデータ群がメモ
リ中の特定のデータグループに一致した時のみ可能とさ
れ、もつで、キーコードの最終データ群との一致検出が
キーコードの全体との一致の位置を示す入力キーコード
の位置をメモリ中に見出す方法。
ー]−ドの位置をメモリ中に見出1方法であって、キー
コードと同一サイズの複数周のデータグループがメモリ
から同時にアクセスされてキーコードの選択されたデー
タ群と同時に比較され、キーコードのデータ群は連続的
に選択され、そして、比較の結果によって必藍な位置の
表示を与え、メモリの特定データグループとキーコード
のデータ群の比較は、キーコードの前のデータ群がメモ
リ中の特定のデータグループに一致した時のみ可能とさ
れ、もつで、キーコードの最終データ群との一致検出が
キーコードの全体との一致の位置を示す入力キーコード
の位置をメモリ中に見出す方法。
(14)メモリは、行と列に配列された記憶素子を含み
、記憶されたデータは一度に一行がアクセスされて列導
体上の複数のデータ信号グループをつくる第13項記載
の方法。
、記憶されたデータは一度に一行がアクセスされて列導
体上の複数のデータ信号グループをつくる第13項記載
の方法。
(15)キーコードのデータ群と同時にメモリからアク
セスされた複数のデータグループとの比較によって得ら
れた一致表示は、シフトレジスタに(16)同時にメモ
リからアクセ、スされた複数のデータグループと、キー
コードを構成する複数のデータ群の群とは、次の複数の
データグループが5項記載の方、法。
セスされた複数のデータグループとの比較によって得ら
れた一致表示は、シフトレジスタに(16)同時にメモ
リからアクセ、スされた複数のデータグループと、キー
コードを構成する複数のデータ群の群とは、次の複数の
データグループが5項記載の方、法。
(17)同一サイズの多ビットデータ群を有する入力キ
ーコードの位置をメモリ中に見出す方法であって、キー
コードと同一サイズの複数個の多ビツトグループを含む
ブロックをメモリから同時にアクヒスし、アクセスされ
たすべてのグループとキーコードの最初のデータ群とを
同時に比較し、アクセスされたブロックのどのグループ
がキーコードの最初のデータ群と一致するかを示し、同
時に、キーコードの第2のデータ群を、キーコードの第
1のデータ群と一致するとして示されたグループの次の
順序にあるアクセスブロックのグループのみと比較し、
アクセスブロックのどのグループの対がキーコードの第
1および第2のデータ群と一致するかを示し、キーコー
ドのすべてのデータ群がアクセスブロックのグループと
比較されるまで、あるいは、一致グループが見出されな
いために比較が禁止されるまで前記比較ステップおよび
一致を示すステップを繰返し、そして、すべてのメ七り
がアクセスされるまでメモリからアクセスされた他のブ
ロックに対して前記比較ステップおよび一致を示すステ
ップを繰返す入力キーコードの位置をメモリ中に見出す
方法。
ーコードの位置をメモリ中に見出す方法であって、キー
コードと同一サイズの複数個の多ビツトグループを含む
ブロックをメモリから同時にアクヒスし、アクセスされ
たすべてのグループとキーコードの最初のデータ群とを
同時に比較し、アクセスされたブロックのどのグループ
がキーコードの最初のデータ群と一致するかを示し、同
時に、キーコードの第2のデータ群を、キーコードの第
1のデータ群と一致するとして示されたグループの次の
順序にあるアクセスブロックのグループのみと比較し、
アクセスブロックのどのグループの対がキーコードの第
1および第2のデータ群と一致するかを示し、キーコー
ドのすべてのデータ群がアクセスブロックのグループと
比較されるまで、あるいは、一致グループが見出されな
いために比較が禁止されるまで前記比較ステップおよび
一致を示すステップを繰返し、そして、すべてのメ七り
がアクセスされるまでメモリからアクセスされた他のブ
ロックに対して前記比較ステップおよび一致を示すステ
ップを繰返す入力キーコードの位置をメモリ中に見出す
方法。
第1図は256にビットの内容アドレス式メモリのブロ
ック図、 第2図は第1図のメモリに使用して適切な8ピッ1−コ
ンパレータの回路図、 第3図は第1図のフラグシフトレジスタ、エン二1−ダ
および浸入回路の一段を示す回路、第4a図、第4b図
、第4C図は、第2図および第3図に使用した6準化さ
れない回路シンボルを説明する図、 第5図は多内容アドレス式メモリを示1図、そして 第6図は中間データを記憶するタップ付シフトレジスタ
を使用した内容アドレス式メモリのコントローラを示す
図である。 1・・・・・・メモリ、2・・・・・・バス、3・・・
・・・行選択回路、4・・・・・・センスアンプと列選
択回路、7・・・・・・1バイト長コンパレータ、8・
・・・・・シフトレジスタ、9・・・・・・左→右優先
回路とエンコーダ、59・・・・・・フラグシフトレジ
スタユニット、61・・・・・・左→右優先回路、62
・・・・・・エンコーダユニット。
ック図、 第2図は第1図のメモリに使用して適切な8ピッ1−コ
ンパレータの回路図、 第3図は第1図のフラグシフトレジスタ、エン二1−ダ
および浸入回路の一段を示す回路、第4a図、第4b図
、第4C図は、第2図および第3図に使用した6準化さ
れない回路シンボルを説明する図、 第5図は多内容アドレス式メモリを示1図、そして 第6図は中間データを記憶するタップ付シフトレジスタ
を使用した内容アドレス式メモリのコントローラを示す
図である。 1・・・・・・メモリ、2・・・・・・バス、3・・・
・・・行選択回路、4・・・・・・センスアンプと列選
択回路、7・・・・・・1バイト長コンパレータ、8・
・・・・・シフトレジスタ、9・・・・・・左→右優先
回路とエンコーダ、59・・・・・・フラグシフトレジ
スタユニット、61・・・・・・左→右優先回路、62
・・・・・・エンコーダユニット。
Claims (1)
- (1)ブロック毎にアクセス可能な複数個の記憶素子を
有した記憶手段であつて、該ブロックは各々特定の順序
にある複数個の等しいグループに同数の記憶素子を有す
る前記記憶手段、各ブロックのグループに各々対応した
複数個のコンパレータを有したコンパレータ手段であつ
て、各コンパレータは前記グループの記憶素子の数と同
数の第1および第2の入力を有し、第1および第2の入
力に入力されたデータビットが同一か否かを示す一致表
示をつくる前記コンパレータ手段、複数個のデータビッ
ト群より成る入力キーコードを記憶する手段であつて、
各データビット群は前記グループの記憶素子の数と同数
のデータビットを有する前記手段、及び、記憶手段の記
憶素子ブロックを選択的にアクセスしてそこに記憶され
たデータビットをコンパレータの第1の入力に同時に入
力し、かつ、入力キーコードのデータビット群をコンパ
レータの第2の入力に同時に入力する制御手段とを有す
る内容アドレス式メモリにおいて、コンパレータ手段の
コンパレータに各々対応した記憶素子を有するフラッグ
レジスタ手段を備え、前記コンパレータによる一致表示
はフラッグレジスタ手段の記憶素子に記憶され、前記制
御手段は入力キーコードのデータビット群を所定の順序
で連続して各コンパレータの第2の入力に入力し、各コ
ンパレータは、入力キーコードの直前のデータビット群
と比較の後、前記特定の順序において前の段階にある直
前のコンパレータによる比較が前記グループと一致しな
いという表示を示した時、同コンパレータをディスエー
ブルする手段を有し、入力キーコードの最終データビッ
ト群と比較した後コンパレータの一致しているという表
示に応答して、アクセスされたブロック内の入力キーコ
ードと一致するデータビットグループの位置を同定する
出力手段を備えている内容アドレス式メモリ。(2)同
一サイズの多ビットデータ群を有する入力キーコードの
位置をメモリ中に見出す方法であって、キーコードと同
一サイズの複数個のデータグループがメモリから同時に
アクセスされてキーコードの選択されたデータ群と同時
に比較され、キーコードのデータ群は連続的に選択され
、そして、比較の結果によつて必要な位置の表示を与え
、メモリの特定データグループとキーコードのデータ群
の比較は、キーコードの前のデータ群がメモリ中の特定
のデータグループに一致した時のみ可能とされ、もつて
、キーコードの最終データ群との一致検出がキーコード
の全体との一致の位置を示す、入力キーコードの位置を
メモリ中に見出す方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB8527615A GB2182789B (en) | 1985-11-08 | 1985-11-08 | A content addressable memory |
| GB8527615 | 1985-11-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62264498A true JPS62264498A (ja) | 1987-11-17 |
Family
ID=10587949
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61265410A Pending JPS62264498A (ja) | 1985-11-08 | 1986-11-07 | 内容アドレス式メモリ |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPS62264498A (ja) |
| GB (1) | GB2182789B (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63276789A (ja) * | 1987-01-14 | 1988-11-15 | ウニファシテ ドゥ シオンス エ テクニク ドゥ リュウ フランドル アートワ | 電子メモリの制御方法、その方法に使用するための手段およびその手段を備えた装置 |
| JPH05189978A (ja) * | 1992-01-13 | 1993-07-30 | Kawasaki Steel Corp | 連想メモリ装置 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5122984A (en) * | 1987-01-07 | 1992-06-16 | Bernard Strehler | Parallel associative memory system |
| JPH01103341A (ja) * | 1987-10-16 | 1989-04-20 | Nec Corp | アドレス検出回路 |
| US4890260A (en) * | 1988-05-11 | 1989-12-26 | Advanced Micro Devices | Content addressable memory array with maskable and resettable bits |
| US5072422A (en) * | 1989-05-15 | 1991-12-10 | E-Systems, Inc. | Content-addressed memory system with word cells having select and match bits |
| GB2312769A (en) * | 1996-05-01 | 1997-11-05 | Plessey Semiconductors Ltd | Contents addressable memory |
| US5978953A (en) * | 1996-12-19 | 1999-11-02 | Compaq Computer Corporation | error detection and correction |
| US6003144A (en) * | 1997-06-30 | 1999-12-14 | Compaq Computer Corporation | Error detection and correction |
| GB2331599A (en) * | 1997-11-22 | 1999-05-26 | Motorola Ltd | Content addressable memory |
| US12176904B2 (en) * | 2021-10-14 | 2024-12-24 | Arm Limited | Alarm systems and circuits |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5897743A (ja) * | 1981-12-07 | 1983-06-10 | Nec Corp | 高速文字列マツチング方法 |
-
1985
- 1985-11-08 GB GB8527615A patent/GB2182789B/en not_active Expired
-
1986
- 1986-11-07 JP JP61265410A patent/JPS62264498A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5897743A (ja) * | 1981-12-07 | 1983-06-10 | Nec Corp | 高速文字列マツチング方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63276789A (ja) * | 1987-01-14 | 1988-11-15 | ウニファシテ ドゥ シオンス エ テクニク ドゥ リュウ フランドル アートワ | 電子メモリの制御方法、その方法に使用するための手段およびその手段を備えた装置 |
| JPH05189978A (ja) * | 1992-01-13 | 1993-07-30 | Kawasaki Steel Corp | 連想メモリ装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2182789B (en) | 1989-03-08 |
| GB8527615D0 (en) | 1985-12-11 |
| GB2182789A (en) | 1987-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4959811A (en) | Content addressable memory including comparison inhibit and shift register circuits | |
| US4622653A (en) | Block associative memory | |
| US6526474B1 (en) | Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes | |
| US5706224A (en) | Content addressable memory and random access memory partition circuit | |
| US4989180A (en) | Dynamic memory with logic-in-refresh | |
| US3402398A (en) | Plural content addressed memories with a common sensing circuit | |
| US6775166B2 (en) | Content addressable memory architecture | |
| US8004868B2 (en) | Method and apparatus for performing variable word width searches in a content addressable memory | |
| US5319762A (en) | Associative memory capable of matching a variable indicator in one string of characters with a portion of another string | |
| US6252789B1 (en) | Inter-row configurability of content addressable memory | |
| US6374325B1 (en) | Content addressable memory (CAM) | |
| JPS62264498A (ja) | 内容アドレス式メモリ | |
| JP2000353388A (ja) | 内容参照可能メモリの改良 | |
| JP2715465B2 (ja) | 記号列照合装置 | |
| JP2001184870A (ja) | 連想メモリ装置およびそれを用いた可変長符号復号装置 | |
| US5905668A (en) | Content addressable memory device | |
| US6751701B1 (en) | Method and apparatus for detecting a multiple match in an intra-row configurable CAM system | |
| US6799243B1 (en) | Method and apparatus for detecting a match in an intra-row configurable cam system | |
| JP6238306B2 (ja) | 不揮発性連想メモリを利用した全文検索システム及びこれに用いる文字列比較方法 | |
| JP4850403B2 (ja) | マグニチュード内容参照可能メモリ | |
| US6795892B1 (en) | Method and apparatus for determining a match address in an intra-row configurable cam device | |
| US3366931A (en) | Information storage system | |
| US7155565B2 (en) | Automatic learning in a CAM | |
| US20040153911A1 (en) | Testing of a CAM | |
| US20040125630A1 (en) | CAM with automatic next free address pointer |