JPH0264994A - 内容でアドレス指定可能なメモリ・アレイ - Google Patents

内容でアドレス指定可能なメモリ・アレイ

Info

Publication number
JPH0264994A
JPH0264994A JP1117163A JP11716389A JPH0264994A JP H0264994 A JPH0264994 A JP H0264994A JP 1117163 A JP1117163 A JP 1117163A JP 11716389 A JP11716389 A JP 11716389A JP H0264994 A JPH0264994 A JP H0264994A
Authority
JP
Japan
Prior art keywords
bit
word
empty
bits
match
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
JP1117163A
Other languages
English (en)
Other versions
JPH0664911B2 (ja
Inventor
Patrick T Chuang
パトリック・ティ・チャン
Robert L Yau
ロバート・エル・ヨゥ
Hiroshi Yoshida
ヒロシ・ヨシダ
Moon-Yee Wang
ムーン・イー・ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH0264994A publication Critical patent/JPH0264994A/ja
Publication of JPH0664911B2 publication Critical patent/JPH0664911B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Abstract

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

Description

【発明の詳細な説明】 関連出願の相互参照 この出願と同時に出願され、かつこの出願と同じ譲受人
に譲渡された同時係属米国特許出願節193.308号
は、ここに開示される多重化アドレス命令およびフラグ
情報を有する、内容でアドレス指定可能なメモリに向け
られた請求項を有する。
この出願と同時に出願され、かつこの出願と同じ譲受人
に譲渡された同時係属米国特許出願節1−9+、315
号は、ここに開示される、内容でアドレス指定可能なメ
モリ・システムのアーキテクチャに向けられた請求項を
有する。
発明の背景 発明の分野 この出願は、メモリ内のデータ位置よりもむしろメモリ
・データの内容に基づいてメモリがサーチされる、内容
でアドレス指定可能なメモリ(CAM)アレイを用いる
システムに関するものである。
先行技術の説明 従来のまたはノイマン型のコンピュータならびに、計算
変数をそれらの位置の索引によってアドレス指定すると
いう原理を用いるコンピュータは特に、多くの課題にお
いて不十分なものであるとしばしばみなされてきた。オ
ペランドがそれらの記号名またはデータ内容によって、
場合によっては一時に多数呼出され得る構造をもって、
従来のランダム・アクセス◆メモリに替えるため多くの
試みがなされてきた。ハイレベルのアルゴリズム言語お
よび問題向き言語はそのような特徴を大いに利用するで
あろう。この方向における開発が特に迅速ではなかった
理由は、少なくとも2つ存在する。それらのうちの1つ
は、ランダム・アクセス・メモリに比して、内容でアド
レス指定可能なメモリははるかに高価であることである
。もう1つの理由は、変数を記号でコード化するという
課題は既に効果的なソフトウェアによる解決を有してお
り、それは特別なメモリを必要としないということであ
る。しかしながらこれは、多くの課題において極めて望
ましいもう1つの特徴、すなわち、極めて多くの変数を
メモリから同時に検索するという特徴をもたらさない。
連想は本来、情報間の相互関係または相互参照の表記の
ためにのみ考慮されていたが、データをその部分的内容
によってサーチすることは、演算アルゴリズムの操作に
おいて効果的に利用され得るということが後程判明した
。そのような内容によるアドレス指定は高度に並列して
、すなわち極めて多数のデータ要素にわたって同時に、
通常比較的低レベルで、2進表現において生じる変換を
参照しながら、行なわれ得る。並列計算の課題はまた、
より高いレベルのアルゴリズム機能を並列に制御するた
めに内容によるアドレス指定能力が使用されるという、
もう1つの方向も有する。
以下の定義はこの発明の主題となる事項に関して用いら
れ得る。
内容でアドレス指定可能なメモリ: データを多数のセ
ル内に記憶させる記憶装置。セルはそれらの内容に基づ
き、アクセスまたはロード可能である。
内容でアドレス指定可能なプロセッサ: より複雑なデ
ータ変換が、内容に従って選択されたいくつかのセルの
内容について行なわれ得る、内容でアドレス指定可能な
メモリ、あるいはそのようなメモリを記憶または処理の
ために必須の構成要素として各々使用するコンピュータ
またはコンピュータΦシステム。
データに、それらの内容に基づいてアクセスすることは
、外部探索引数と、すべてのセル内に記憶された情報の
一部またはすべてとの何らかの比較を常に含む。これが
ソフトウェア、機械的走査または並列電子回路のいずれ
によって行なわれるかは原則として重要ではないが、し
かしながら、「真正の」内容でアドレス指定可能なメモ
リは、すべての比較を並列して行なう。強調すべきもう
1つの事実は、探索引数と記憶された項目との間の同等
のマツチによる比較が、使用される唯一のモードではな
いということである。記憶されたデータが数値を有する
場合、内容でアドレス指定可能なサーチの目的は、その
内容が探索引数に関して、たとえば所与の限界より大き
いかまたは小さい、あるいは2つの特定の限界の間にあ
るといった、一定の大きさの関係を満たすすべてのセル
の位置を突止めることであるかもしれない。内容でアド
レス指定可能なサーチは、時には外部探索引数を参照す
ることなく行なわれ、たとえば1組の記憶された数にお
いて最大または最小の位置を突止める場合がそうである
ハードウェアの、内容でアドレス指定可能なメモリは、
計算システムにおいて特殊な部分として使用されてきた
が、ある組織的解決においては、それによってCAMが
、データの移動および並べ換えに必要とされる迅速なバ
ッファ、チエツクおよび簿記動作を効果的に行なうこと
が可能である。
このようにしてCAM装置は、オペランドを処理回路に
対してより直接的に利用可能にすることによって、通常
動作の速度に効果的に貢献することができる。
CAMアレイでのマスクされたサーチにおいては、探索
引数ワードのビットのサブセットのみがすべてのメモリ
ーワードの各々のビットと比較される。CAMにおける
マスキングは通常、成るビットを完全にマスクすること
、すなわち使用禁止にすることを意味する。特定された
(マスクされない)ビット位置において探索引数と一致
する、記憶されたワードが次に読出される。
発明の概要 先行技術を利用し、Nビット幅ワードおよびMワード深
さの(たとえば、48ビツト・ワードで、アレイ内に2
56ワード存在する)構成を有するCAMアレイ・パッ
ケージを提供し、かつ非多重化モードで動作するには、
必要なデータ信号、制御信号、フラグ信号および電源信
号を提供するためにパッケージ上に多数のピンが必要と
なるであろう。たとえば、先行技術を使用する典型的な
非多重化256X48CAMアレイについては以下のピ
ン総数が必要となるであろう。
アドレス争イン         −8ビンコード化さ
れたアドレス・アウト −8ピンCAMデータ Ilo
       −48ピンマツチ・データ・イン (マスクされず)        −48ビンマツチ拳
データーイン (マスク・ビット)       −48ピン制御信号
 E、G、W       −3ピン状態フラグ(マツ
チ、フル、 複数マツチ)          −3ピン電源、但し
8出力ごとにVcc およびVssを1対、回路 に1対、入力に1対と仮定 −16ピン総計 182ピン この発明によると、3つのメモリ・サイクルを使用して
、48データ・ビットを16ビツト・バスに時間多重化
することによって、必要とされるパッケージ・ビンの数
の実質的な削減が実現され得る。これを達成するために
、この発明は3つの48ビット内部レジスタを使用して
、CAMデータ、マスクされないマツチ・ワードおよび
マスク・ビットを保持する。これらの3つの48ビツト
レジスタは3サイクルで16ビツトI10バスからロー
ドされる。データ書込サイクルおよびデータ読出サイク
ルに加えて、コマンド書込サイクルおよび状態読出サイ
クルがこの発明においては利用され、さらに16ビツト
バスへの、およびそこからのアドレス情報、命令情報お
よびフラグ情報を多重化する。この後者は、特別制御信
号(D/C−データ/コマンド)を費してなされる。コ
マンド書込サイクルの間、書込コマンドはコマンド・ワ
ードのフォーマットを採用し、オペレーショナル(OP
’)  ・コードはワード・ビットの一部にコード化さ
れ、アドレス情報はビットの他の一部にコード化される
。状態読出動作の間、フラグ状態に関する情報は状態ワ
ード・ビットの一部にコード化され、アドレス情報は状
態ワード・ビットの他の部分にコード化される。多重化
技術を使用して、コマンド書込および状態読出情報を利
用し、16ビツト・バス上へのその配置を可能にするこ
の能力は、この発明の重要な特徴である。
情報の多重化に関するこの発明の教示を使用すると、必
要とされるビンの総数は以下のように削減される。
Ilo               −16ビン制御
信号            −4ピンフラグ(マツチ
;フル)     −2ピン電源          
    −6ピン(出力に必要なVccおよび Vssの対はより少数で ある) 総数          28ピン この発明のもう1つの重要な局面によると、ワード内の
いずれかの、またはすべてのビットがマスク可能であり
得、かつアレイ内のいずれかの、またはすべてのワード
についてマスクおよびリセットが共に可能であり得るC
AMアレイが提供される。
この発明のさらなる特徴は、特別なCAMプロセッサ・
アーキテクチャが用いられることである。
このアーキテクチャは以下の構造を含む。
1、   CAMセル・アレイ CAMセルのアレイが所望の構成に配 置される。ワード・ラインおよびマツチ・ラインが同じ
方向に延び、ビット・ラインはワード・ラインに対して
垂直に延びる。
2、 行デコーダ Mデコーダのうちの1つが所望のワー 3゜ 4゜ ドのみを選択する。
ビット孝ライン・プリチャージ回路 これは高速非破壊セル読出のために、 ビット・ラインを最適レベルまでプリチャージする。
ビット・ライン記述子回路 各関連ビットにつき1つ(すなわち、 各ビット・ライン対につき1つ)の記述子が設けられる
。これはマスク・レジスタ、被比較数レジスタ、センス
アンプおよびプログラム可能なビット・ライン書込回路
からなる。
データは、ワード・ラインが選択され た状態で、ビット・ラインを介してCAMセル内に書込
まれ得る。被比較数レジスタは、ビット・ライン上およ
びセル内に書込まれるべきデータとともに、プログラム
可能なビット・ライン書込回路をプログラムする。デー
タは、ワード・ラインが選択された状態で、ビットφラ
インを介してCAMセルから読出され得る。
ビット・ライン上のセル信号は、センスアンプによって
増幅される。
非破壊的並列サーチ(マツチ)は、す べてのワード・ラインが選択されずに、すべてのアレイ
に対して行なわれ得る。
被比較数レジスタおよびマスク・レジスタ内のデータは
、プログラム可能なビット・ライン書込回路をプログラ
ムするために使用される。マツチ動作の間、CAMセル
・データは、関連するビット・ライン対土に現われるデ
ータと同時に比較されるであろう。
マスク令レジスタ内のデータはプログ ラム可能なビット・マスキングのために使用される。マ
スク・レジスタ内の論理「1」は被比較数レジスタ内の
データを重ね書きするであろうし、一方マスク・レジス
タ内の論理「0」は、被比較数レジスタ内の対応するデ
ータがセル内への5゜ 6゜ 書込のためにビット・ライン上に現われるのを可能にす
る。このようにしてビットのいずれか、またはすべてが
マスクさ得る。
ワード・マスキングおよびリセット回路各関連ワードに
つき1つが設けられ、 スキップ・ビットおよびエンプティ・ビットからなる。
ワードのいずれかまたはすべてがスキップ・ビットまた
はエンプティ・ビットによって完全にマスクされ得る。
すべてのエンプティ・ビットをリセットする(すべてを
エンプティにセットする)ことによって、アレイ全体が
リセットされ得る。データはデータバスを介して、これ
らのスキップ・ビットおよびエンプティ・ビット内へ、
またはそれらから転送され得る。
マツチ検出器 これは「マツチがない」、「単数マツ チ」または「複数マツチ」状態を検出し、かつチップ「
フル」またはチップ「エンプティ」状態を検出すること
ができる。
「フル」、「マツチ」および「複数マツチ」フラグが1
6ビツト・バス上において利用可能である。
優先順位エンコーダ 単一マツチまたは複数マツチ状態の場 合には、最高優先順位のマツチの位置のアドレスがコー
ド化されるであろう。
「マツチがない」状態の場合、最高優先順位のエンプテ
ィの位置のアドレスかコード化されるであろう。
制御論理 16ビツト・バスから受けられる命令 は内部タイミングを発生し、異なる動作を達成するであ
ろう。
9、 以下のものを提供するために多重化された16ビ
ツト・バス 行デコーダのためのアドレス・バス。
CAMセルのためのデータ Ilo。
8゜ 7゜ マツチ・ワードのためのデータ l10(非比較数レジ
スタおよびマスク・レジスタ)。
スキップ・ビットおよびエンプティ・ビットのためのデ
ータ Ilo。
制御論理のための命令。
「フル」、「マツチ」、および「複数マツチ」のための
出力フラグ。
優先順位エンコーダからの「マツチ」位置または「エン
プティ」位置のいずれかのコード化されたアドレス。
好ましい実施例の説明 第1図を参照すると、この発明のCAMセル・アレイ1
1はNビット幅ワードおよびMワード深さで構成される
。典型的な、しかしながら限定的ではない、一実施例は
48ビツト・ワードのアレイを含み、アレイ内には25
6のそのようなワードが存在する。2つの特別なビット
(スキップ・ビットおよびエンプティ・ビット)がワー
ド・マスキングおよびリセットの目的のために各ワード
に付与される。ラインBLおよびBLを介して、アレイ
内の各ビットにビット・ライン記述子回路1(第2図に
より詳細に示される)が接続され、それはプログラム可
能なビット・ライン書込回路、被比較数レジスタ、マス
ク・レジスタおよびセンスアンプを含む。記述子回路1
はデータを16ビツト・バス10と交換する。行デコー
ダ2が、複数のワード・ラインWLを含むバスを介して
アレイ11に接続され、アレイ内の異なるワードを選択
する。ビット・ライン・プリチャージ回路3が慢数のビ
ット・ラインBLおよびBLを介してアレイ11に接続
され、そのようなビット・ラインの対がアレイ内のビッ
トの各列に設けられる。マ・ソチ拳ラインMLを介して
、ワード・マスキングおよびリセット回路4、マツチ検
出器5および優先順位エンコーダ6がアレイ11の出力
と通信する。制御論理ネットワーク7は、バス10から
受けた命令に応答して回路4.5および6に入力を提供
する。回路4.5および6は直接バス10と通信し、バ
ス10と回路4との間の通信は双方向性である。これら
の回路の細部は第2図に、より詳細に示される。
この発明によるCAMシステムのアーキテクチャ全体の
最も重要な特徴が第2図に示される。第1図のビット・
ライン記述子回路1のエレメントは点線の囲い1内に示
され、CAMレジスタ17、マスク・レジスタ18、被
比較数レジスタ19、センスアンプ14および、記述子
エレメント36内に含まれるプログラム可能なビット・
ライン書込回路を含む。
第2図の回路はまた、機能において第1図の行デコーダ
2に対応するアドレス・デコーダ30を示し、これはバ
ス10から供給される8つのアドレス・ビットをデコー
ド化し、アレイ11内の256ワードのうちの選択され
るべき1つを同定する。また、スキップ書込回路20を
有するスキップ・ビット・アレイ22および、エンプテ
ィ書込回路23を有するエンプティ・ビット・アレイ2
4がアレイ11の出力およびデコーダ30に接続されて
いるのが示される。エレメント22および24からの出
力はスキップ/エンプティ・ビットψエレメント41に
供給される。
また第2図には、フル制御エレメント37によって制御
され、かつ状態レジスタ40およびフル・レジスタ32
に出力を供給するフル検出器31が示される。状態レジ
スタ40は、状態読出動作の間16ビツトでバス10と
通信する。
マツチ制御エレメント38によって制御されるマツチ検
出器28は、単一マツチ信号をマツチ・レジスタ29に
供給する。フル・レジスタ32およびマツチ・レジスタ
29からの信号は、フル・フラグ・エレメント26およ
びマツチ・フラグ・エレメント27に各々供給される。
マツチ検出器28はまた状態レジスタ40に、単数マツ
チ信号および複数マツチ信号の双方を供給する。
第2図はまた、マルチプレクサ制御エレメント33の制
御下において、エレメント28および31から優先順位
エンコーダへの情報を多重化する優先順位マルチプレク
サ25を示す。セグメント・カウンタ34は、バス10
および、OPコード発生器39の出力に接続されるカウ
ンタ制御エレメント35の制御下にある。カウンタ34
は一方の出力を状態レジスタ40に、もう一方の出力を
出力フィールド・セレクタおよびデータ・読出エレメン
ト42に供給する。
この発明のシステムは動作の4つのモードを有し、第2
図においてモード発生器13の出力上の対応するブロッ
クによって示されたように、それらはコマンド書込(C
W)、データ書込(DW)、状態読出(SR)、および
データ読出(DR)である。データ書込モードにおいて
は、データが被比較数レジスタに書込まれる。モード発
生器13はビンE上においてチップ可能化信号を、ビン
σ上において出力可能化信号を、ビンW上において書込
可能化信号を、さらにピンD/C上においてコマンド/
データ信号を受ける。被比較数レジスタ19はバス10
およびCAMアレイ11間における主要なバッファであ
る。データ書込動作が行なわれた後、コマンド書込サイ
クルの制御下においてオペレーション(OP)・コード
のうちの1つが行なわれ、データをCAMアレイ11内
またはマスク・レジスタ18内へと移動させる。
コマンド書込サイクル下においては、コマンド書込命令
が16ビツト・バス10上にコード化される。バス10
上の16ビツトのうち4ビツトが、この発明において用
いられる160Pコードをデコード化するために使用さ
れる。また、アレイ11内のどの位置にデータが被比較
数レジスタ19から転送されるべきかをアドレス位置が
示すために、バス10上には8ビツトが存在する。この
発明において用いられるOPコードが以下に挙げられる
Op  コード O初期設定 すべてのスキップ・ビットはLOW(スキップしない)
にセットされ、すべてのエンプティ・ビットはHIGH
(エンプティ)にセットされる。
/MATCHおよび/FULL出力が能動化される。モ
ードは48ビツト拳モードにセ・ソトされる。
マスク−レジスタおよびセグメント・カウンタは0にリ
セットされる。不履行の場合、その後のデータ書込は被
比較数レジスタへであり、その後のデータ読出は被比較
数レジスタからである。
Op  コード 1   出力制御 マツチ・フラグおよびフル・フラグがこのコマンドによ
って能動化または不能化される。
0p コード 2   モード選択 使用者は]、6または48ビツト・モード間を選択する
ためにこのコマンドを使用できる。16ビツト・モード
では、セグメント・カウンタが増加されることはない。
0p コード 3   被比較数レジスタをマスク・レ
ジスタへ移動せよ 被比較数レジスタ・データの内容がマスク・レジスタへ
移される。
0p コード 4   マスク・レジスタを被比較数レ
ジスタへ移動せよ マスク・レジスタ・データの内容が被比較数レジスタへ
移される。
Op  コード 5   スキップ・ビット・アレイお
よびエンプティ・ビット・アレイからI10ボートへの
出力を可能化せよ その後のすべてのデータ・モード読出の結果、エンプテ
ィ・ビットおよびスキップ・ビットから出力バッファへ
のデータの流れが得られる。アドレスはコマンド参レジ
スタ・アドレス拳フィールドによって特定される。
0p コード 6   被比較数レジスタをCAMに移
動せよ 被比較数レジスターデータの内容がCAMに移される。
エンプティ・ビットおよびスキップ参ビットは変化しな
い。CAMアドレスがコマンド・ワード・アドレス・フ
ィールドによって特定される。セグメント・カウンタは
変化しない。
0p コード 7    CAMを被比較数レジスタへ
移動せよ コマンド・ワード・アドレス・フィールドによって特定
されたCAMデータの内容が被比較数レジスタへ移され
る。セグメント・カウンタは変化しない。スキップ参ビ
ット・アレイおよびエンプティ・ビット伊アレイ情報は
変えられない。
Op  コード 8   予約された 使用者はこのコマンドを使用してスキップ参ビット・ア
レイに書込可能である。1サイクルでアレイ全体に書込
むことが可能であり、または所望のアドレス位置を提供
することによって、いずれの個々のビットにも書込むこ
とが可能である。
Op  コード 10  エンプティ・ビット制御 使用者はこのコマンドを使用してエンプティψビット・
アレイに書込可能である。1サイクルでアレイ全体に書
込可能であり、または所望のアドレス位置を提供するこ
とによって、いずれの個々のビットにも書込可能である
0p コード 11  被比較数レジスタから110ポ
ートへの出力を可能化せよ その後のすべてのデータ続出の結果、被比較数0p コ
ード 9 スキップ・ビット制御 レジスタ・セグメントから出力バッファへのデータの流
れが得られる。
Op  コード 12  マスク・レジスタから110
ボートへの出力を可能化せよ その後のすべてのデータ読出の結果、マスク・レジスタ
・セグメントから出力バッファへのデータの流れが得ら
れる。
0p コード 13   CAMからI10ボートへの
出力を能動化せよ その後のすべてのデータ読出の結果、CAMセグメント
から出力バッファへのデータの流れが得られる。CAM
アドレスはコマンドΦワード拳アドレス・フィールドに
よって特定される。
0p コード 14  被比較数レジスタをCAMに移
動せよ(エンプティ・ビットおよびスキップ・ビットを
共にLOWにリセットせよ)彼比較数レジスタ・データ
の内容が、コマンド・ワード・アドレス・フィールドに
よって特定されるアドレス(CAMアドレス)内へ移さ
れる。
対応するエンプティ・ビットおよびスキップ・ビットは
共にLOWにリセットされる。
0p コード 15  ロード・セグメント・カウンタ 使用者はセグメント・カウンタを変化させ、3つのセグ
メントのいずれか1つに達することが可能である。
これらの16のOpコード命令は、16ビツト・バス上
のコマンド・ワードの4つの上位ビットによってコード
化される。典型的なコマンド・ワードは以下のようなも
のである。
O15°14°13°12°11°10°9°8°7°
6°5°4°3°2°ID0状態続出は通常、使用者が
マツチ位置と、それが複数のマツチであるか単数のマツ
チであるかと、さらにチップが依然としてフルであるか
とを知ることを所望するマツチ動作に続くものである。
状態レジスタ30の内容はバス10上に読出され得る。
2つのビットがセグメント・カウンタ22から、8つの
ビットが優先順位エンコーダ21からのアドレス位置表
示から、さらに3つのフラグΦビットがフル検出器31
ならびに、マツチおよび複数マツチ検出器28から読出
され得る。
この発明において用いられる状態ワードは以下のように
説明され得る。以下に示されたように、状態ワードの下
位の8つのビットはコード化されたアドレスであり、使
用者に位置を示す。
015D14Dlj   012°11D10D908
D7D6D504D3D2DID0典型的な状態ワード 上位の3つのビットは、■数マツチ・フラグ、フル・フ
ラグおよび単数マツチフラグを含む状態フラグを固定す
る。これらの内部フラグは外部フラグと同様のものであ
るべきであるが、しかしながら出力が能動化されない場
合、フラグはハイであるであろう。
データ読出は、使用者がCAMレジスタ17、比較レジ
スタ19、マスク・レジスタ18またはメモリ41から
のスキップ・ビット情報およびエンプティ・ビット情報
から情報を得られる読出動作である。したがって、デー
タ読出動作は、先のコマンド書込サイクルに応じて4つ
のレジスタのうちの1つから情報を読出すであろう。
この発明においては各ワードにつき2つの状態ビットが
用いられ、一方はスキップ・ビットであり他方はエンプ
ティ・ビットと呼ばれる。スキップ・ビットは使用者が
ワードを完全にマスクすることを可能にするために用い
られ、エンプティ・ビットはアレイ内のエンプティ・ビ
ット位置に関連して使用される。
この発明は、最高優先順位のアドレス位置の表示を提供
するために優先順位エンコーダ21を使用する。アレイ
全体の比較が行なわれるマツチ動作のために、この特徴
はマツチが存在する場合、マツチ位置の表示を提供する
であろう。マツチが存在しなければ、優先順位エンコー
ダ21は使用され得る次のエンプティ・アドレスを指摘
するであろう。使用者が完全にマスクできるマツチ位置
が1つより多く存在する複数マツチ状態においては、マ
ツチしたすべての位置を同定できるまでワードごとに完
全にマスクすることが可能であり、これはスキップ・ビ
ット・回路20およびスキップ・ビット・アレイ22に
よって示されたスキップ・ビットの機能である。ここで
使用されるもう1つのビットはエンプティφビットであ
り、エンプティ書込回路23およびエンプティ・ビット
・アレイ24によって示される。エンプティ・ビットは
2つの状態を有し、そのうちの1つはエンプティであり
、他方はフルである。特定のワード位置が使用され、使
用者はこの特定のビット位置が占有されてることを示す
ようにエンプティ・ビットをセットすることが可能であ
る。したがって、使用者がCAMセルに書込むことを所
望するとき、その中の一部の位置が既に中にデータを有
していることを知るであろう。
セグメント・カウンタ22は内部セグメントの跡を辿り
、その結果16ビツト・バス10は48ビット動作のた
めに使用され得る。16ビツト・モードの動作のスター
トにおいては、カウンタ22内のセグメント・カウント
が既に第1のカウントにセットされている。しかしなが
ら、使用者が、上に示されたOPコード15を使用する
ことによって、第2のセグメント・カウントまたは第3
のセグメント・カウントに進むことが可能な、使用者が
プログラム可能な特徴も存在する。
2つの外部フラグが存在し、そのうちの一方は「フル」
フラグであり、エレメント26で示され、他方は「マツ
チ」フラグであり、エレメント27によって示される。
マツチがアレイ内に存在し、それがマツチ検出器28に
よって検出され、マツチ・レジスタ29を介してフラグ
27に伝えられると、マツチ・フラグはローになるであ
ろう。同様に、アレイ11内のすべての位置がフルであ
り、それがフル検出器31によって検出され、かつフル
・レジスタ32を介してフラグ26に伝えられると、フ
ル・フラグはローとなるであろう。フル・フラグ26が
ハイであるとき、これはアレイ11内に依然としてエン
プティの位置が使用者のために存在することを意味し、
マツチ・フラグ27がハイのままであるとき、これはマ
ツチが存在しないことを意味する。
マツチ・ラインおよびフル・ライン双方からの信号は、
優先順位マルチプレクサ25を介して優先順位エンコー
ダ21内へ入る(第2図)。マツチが存在しなければ、
エンプティ位置もデコード化されるであろう。エンプテ
ィ情報およびマツチ情報の双方が優先順位エンコーダ2
1に供給される。フル検出器31は、アレイがフルまた
はエンプティのいずれであるかを検出するであろう。
マツチ検出器28はマツチ状態またはマツチがない状態
を検出し、一方便先順位エンコーダ21はマツチ・ワー
ドのアドレス位置を提供する。優先順位エンコーダ・マ
ルチプレクサ25はエンプティ位置情報およびマツチ位
置情報を多重化し、その結果2つのうちの1つがエンコ
ーダ21内へと入ってくるであろう。
第3図を参照すると、9つのトランジスタ・セルが示さ
れ、そのうちトランジスタML M2、M5、M6は基
本的記憶エレメントであり、かつ交差結合対である。ノ
ードSTおよび1了は記憶ノードであり、トランジスタ
M3、M4は、に己憶ノードをビット・ライン対BLお
よびBLに接続するアクセス・トランジスタである。セ
ル−アクセスはWLを介するワード・ライン選択によっ
て制御される。トランジスタM7、M8はマツチ・トラ
ンジスタである。それらは、記憶ノードST。
STおよびビット・ライン対BL、BLが入力であり、
マツチ・ノードMが出力である排他的N。
R形状で接続される。セル・データがビット・ライン上
のそれに等しいとき、論理ローがM上に現われる。
−マツチ状態 同じワード内のすべてのNビットがそれらの各々のビッ
ト・ライン対土にマツチング・データを有するとき、マ
ツチ状態が生じる。すべてのセル・マツチ・ノードが論
理ローであるので、マツチ・ライン上のプル・ダウン・
トランジスタM13はいずれもオンにはされ得ない。し
たがって、マツチ・ラインは論理ハイのままであろう。
対照的に、いずれの非マツチ状態も、マツチ・ラインが
ローに引かれるという結果をもたらすであろう。
−ビット・マスキング BLおよびBLが共にトランジスタMllおよびM12
によってローにセットされるとき、マツチ・ノードMは
CAMセル・データにかかわりなくローであろう。した
がって、この特定のビットはマツチに強制されるであろ
う。ビット・マスキング状態は、マスク・レジスタ18
を「1」にセット(BL、およびBLを共にローに強制
)することによって達成され得る。マスク・レジスタが
「0」にセットされるとき、レジスタ19内のデータが
ビット・ライン対土に現われ得る。
−ワード・マスキング ワードマスキングは、スキップ・ビットまたは/および
エンプティ・ビットのいずれかをハイにセットすること
によって達成され得る。どちらの場合においても、最終
のマツチ・ライン出力(ML’ )は、マツチが存在し
ても非マツチ状態を示すNANDゲート(47)および
NORゲート(48)を介してローに強制されるであろ
う。
−アレイ・リセット すべてのエンプティ・ビットがハイにセットされるとき
、すべてのMワードはエンプティにセットされ、新しい
データのために利用可能である。
【図面の簡単な説明】
第1図は、この発明のエレメントを示す機能ブロック図
である。 第2図は、この発明によるCAMアレイψプロセッサの
形状の細部をさらに示すブロック図である。 第3図は、ワード・マスキングおよびワード・リセッテ
ィングまたはアレイ・リセッティングのためにこの発明
において使用される論理の一部を示す図である。 図において、1はビット・ライン記述子回路、2は行デ
コーダ、3はビット・ラインやプリチャージ回路、4は
ワード・マスキングおよびリセット回路、5はマツチ検
出器、6は優先順位エンコーダ、7は制御論理ネットワ
ーク、10は16ビツトバス、14はセンスアンプ、1
7はCAMレジスタ、18はマスク・レジスタ、19は
被比較数レジスタ、36は記述子エレメントを示す。 特許出願人 アドバンスト・マイクロ・ディバイシズ・
インコーホレーテッド 代理人弁理士深見久部、、、plT7.’、、、−(ほ
か2名)

Claims (5)

    【特許請求の範囲】
  1. (1)各ワードにつきNビットで構成されたビットを含
    むセルのアレイを含む、内容でアドレス指定可能なメモ
    リ・アレイであって、 前記ワードの各々の前記ビットうち第1のビットはスキ
    ップ・ビットであり、 前記アレイは、選択されたワードの位置を突止めるため
    に、前記ワードの内容に基づいてサーチされ、 各ワードの前記ビットのうち第2のビットはエンプティ
    ・ビットとして同定され、 前記ワードを、その中のスキップ・ビットの存在を検出
    するために、検査するための手段と、前記ワードを、そ
    の中のエンプティ・ビットの存在を検出するために、検
    査するための手段と、前記ワードの1つにおける1つの
    前記スキップ・ビットの検出に応答して、前記検出され
    たスキップ・ビットを含む前記ワードを前記サーチから
    除去するための手段とを含む、メモリ・アレイ。
  2. (2)前記ワードの選択されたもののうちの前記スキッ
    プ・ビットを、予め定められた第1の値にセットし、前
    記予め定められた第1の値にセットされた前記スキップ
    ・ビットを有するワードの位置を前記スキップ・ビット
    検査手段がスキップするようにする、特許請求の範囲第
    1項に記載の、メモリ・アレイ。
  3. (3)前記ワードの選択されたもののうちの前記エンプ
    ティ・ビットを、予め定められた第1の値にセットし、
    前記予め定められた第1の値にセットされた前記エンプ
    ティ・ビットを有するワードの位置を前記エンプティ・
    ビット検査手段がスキップするようにする、特許請求の
    範囲第1項に記載のメモリ・アレイ。
  4. (4)前記ワードの各々の前記エンプティ・ビットのす
    べてを、予め定められた第1の値にセットし、前記アレ
    イをエンプティ状態にリセットするために、前記ワード
    のすべての前記セルのすべてを空白にする、特許請求の
    範囲第1項に記載の、メモリ・アレイ。
  5. (5)前記ワードの選択されたもののうちの前記エンプ
    ティ・ビットを、前記予め定められた第1の値にセット
    し、前記エンプティ・ビットが前記第1の予め定められ
    た値を有する前記ワードの中の前記セルを前記エンプテ
    ィ・ビット検査手段がエンプティにするようにするため
    の手段を含む、特許請求の範囲第1項に記載の、メモリ
    ・アレイ。
JP1117163A 1988-05-11 1989-05-10 内容でアドレス指定可能なメモリ・アレイ Expired - Fee Related JPH0664911B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US193,312 1988-05-11
US07/193,312 US4890260A (en) 1988-05-11 1988-05-11 Content addressable memory array with maskable and resettable bits

Publications (2)

Publication Number Publication Date
JPH0264994A true JPH0264994A (ja) 1990-03-05
JPH0664911B2 JPH0664911B2 (ja) 1994-08-22

Family

ID=22713111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1117163A Expired - Fee Related JPH0664911B2 (ja) 1988-05-11 1989-05-10 内容でアドレス指定可能なメモリ・アレイ

Country Status (6)

Country Link
US (1) US4890260A (ja)
EP (1) EP0341899B1 (ja)
JP (1) JPH0664911B2 (ja)
AT (1) ATE91561T1 (ja)
DE (1) DE68907518T2 (ja)
ES (1) ES2044105T3 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01196792A (ja) * 1988-01-29 1989-08-08 Mitsubishi Electric Corp 半導体記憶装置
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
US5036486A (en) * 1989-07-31 1991-07-30 Hitachi, Ltd Associative memory device
US5101376A (en) * 1989-07-31 1992-03-31 Hitachi, Ltd. Integrated microprocessor with associative memory device
US5134589A (en) * 1989-10-30 1992-07-28 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having a flash write function
SE9002558D0 (sv) * 1990-08-02 1990-08-02 Carlstedt Elektronik Ab Processor
US5999434A (en) * 1992-01-10 1999-12-07 Kawasaki Steel Corporation Hierarchical encoder including timing and data detection devices for a content addressable memory
US5619446A (en) * 1992-01-10 1997-04-08 Kawasaki Steel Corporation Hierarchical encoder including timing and data detection devices for a content addressable memory
US5351208A (en) * 1992-04-27 1994-09-27 Integrated Information Technology, Inc. Content addressable memory
JP2695102B2 (ja) * 1992-09-30 1997-12-24 川崎製鉄株式会社 内容アドレス式メモリ
US5444649A (en) * 1993-06-10 1995-08-22 Apple Computer, Inc. Associative memory system having configurable means for comparing fields in an array of stored data words with corresponding one or more fields in a supplied argument word
KR950012218A (ko) * 1993-10-04 1995-05-16 토자끼 시노부 연상 메모리
JPH07105689A (ja) * 1993-10-04 1995-04-21 Kawasaki Steel Corp 連想メモリ
US5422838A (en) * 1993-10-25 1995-06-06 At&T Corp. Content-addressable memory with programmable field masking
US6122706A (en) * 1993-12-22 2000-09-19 Cypress Semiconductor Corporation Dual-port content addressable memory
US5860085A (en) * 1994-08-01 1999-01-12 Cypress Semiconductor Corporation Instruction set for a content addressable memory array with read/write circuits and an interface register logic block
US5649149A (en) * 1994-08-01 1997-07-15 Cypress Semiconductor Corporation Integrated content addressable memory array with processing logical and a host computer interface
DE69625327D1 (de) * 1996-03-20 2003-01-23 St Microelectronics Srl Zeitzuteilender interner Bus, insbesondere für nichtflüchtige Speicher
US5706224A (en) * 1996-10-10 1998-01-06 Quality Semiconductor, Inc. Content addressable memory and random access memory partition circuit
US6115761A (en) * 1997-05-30 2000-09-05 Lsi Logic Corporation First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US5946003A (en) * 1997-06-02 1999-08-31 Hewlett Packard Co Method and apparatus for increasing object read-back performance in a rasterizer machine
US6336113B1 (en) * 1998-12-30 2002-01-01 Kawasaki Steel Corporation Data management method and data management apparatus
US6317349B1 (en) 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
US6157558A (en) * 1999-05-21 2000-12-05 Sandisk Corporation Content addressable memory cell and array architectures having low transistor counts
US6166938A (en) * 1999-05-21 2000-12-26 Sandisk Corporation Data encoding for content addressable memories
US6591331B1 (en) * 1999-12-06 2003-07-08 Netlogic Microsystems, Inc. Method and apparatus for determining the address of the highest priority matching entry in a segmented content addressable memory device
US7401181B1 (en) * 2002-05-29 2008-07-15 Core Networks Llc System and method for comparand reuse
CN112729581B (zh) * 2020-12-28 2022-06-28 潍柴动力股份有限公司 温度检测方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4296475A (en) * 1978-12-19 1981-10-20 U.S. Philips Corporation Word-organized, content-addressable memory
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
US4670858A (en) * 1983-06-07 1987-06-02 Tektronix, Inc. High storage capacity associative memory
EP0175603A2 (en) * 1984-08-21 1986-03-26 FAIRCHILD CAMERA & INSTRUMENT CORPORATION Content addressable memory cell
GB2182789B (en) * 1985-11-08 1989-03-08 Texas Instruments Ltd A content addressable memory
NL8600342A (nl) * 1986-02-12 1987-09-01 Philips Nv Woordgeorganiseerd naar inhoud adresseerbaar geheugen.

Also Published As

Publication number Publication date
ES2044105T3 (es) 1994-01-01
EP0341899B1 (en) 1993-07-14
DE68907518D1 (de) 1993-08-19
DE68907518T2 (de) 1993-10-28
JPH0664911B2 (ja) 1994-08-22
ATE91561T1 (de) 1993-07-15
US4890260A (en) 1989-12-26
EP0341899A1 (en) 1989-11-15

Similar Documents

Publication Publication Date Title
JPH0264994A (ja) 内容でアドレス指定可能なメモリ・アレイ
JPH0271497A (ja) 内容でアドレス指定可能なメモリ・システム
US4888731A (en) Content addressable memory array system with multiplexed status and command information
US5319763A (en) Data processor with concurrent static and dynamic masking of operand information and method therefor
US4975873A (en) Content addressable memory with flag storage to indicate memory state
US5341500A (en) Data processor with combined static and dynamic masking of operand for breakpoint operation
US5239642A (en) Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices
US4758982A (en) Quasi content addressable memory
US5890201A (en) Content addressable memory having memory cells storing don't care states for address translation
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5396448A (en) Associative memory system with hit entry detection circuit
US4159538A (en) Associative memory system
JPS635839B2 (ja)
US3588830A (en) System for using a memory having irremediable bad bits
US5220526A (en) Method and apparatus for indicating a duplication of entries in a content addressable storage device
US7107392B2 (en) Content addressable memory (CAM) device employing a recirculating shift register for data storage
US20070168779A1 (en) Testing of a CAM
JPH10134584A (ja) 連想メモリ
WO1991007754A1 (en) Read-while-write-memory
US4982379A (en) Semiconductor memory device having associative function
US7577784B1 (en) Full-ternary content addressable memory (CAM) configurable for pseudo-ternary operation
US3500340A (en) Sequential content addressable memory
JPH01290194A (ja) 選択的連想記憶装置及びその制御方式
JPS6045505B2 (ja) 連想メモリ装置
JP3149296B2 (ja) 半導体メモリ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees