JPH086844A - メモリシステム、内容アドレスメモリシステムおよびスケジューリングシステムならびにフェッチ方法 - Google Patents

メモリシステム、内容アドレスメモリシステムおよびスケジューリングシステムならびにフェッチ方法

Info

Publication number
JPH086844A
JPH086844A JP7070197A JP7019795A JPH086844A JP H086844 A JPH086844 A JP H086844A JP 7070197 A JP7070197 A JP 7070197A JP 7019795 A JP7019795 A JP 7019795A JP H086844 A JPH086844 A JP H086844A
Authority
JP
Japan
Prior art keywords
address
data
memory
cam
key
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.)
Withdrawn
Application number
JP7070197A
Other languages
English (en)
Inventor
Pii Rateibiyuudeia Deritsuku
ピー. ラティビューディア デリック
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JPH086844A publication Critical patent/JPH086844A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

(57)【要約】 【目的】スケジューリングシステムのための、内容アド
レスメモリを提供し、特にビデオスケジューリングシス
テムの自動化に適した内容アドレスメモリを提供する。 【構成】キー部分と、拡張部分を有する複数のデータブ
ロックを保持し、サーチキーに対応して拡張部分をフェ
ッチするメモリシステムであって、キー部分を内容アド
レスメモリ(CAM)に記憶する手段と、拡張部分を別
のメモリに記憶する手段と、CAMをサーチキーによっ
てサーチした結果、対応するアドレス値を与え、そのア
ドレス値から別のメモリの対応する開始アドレスを生成
し、別のメモリの開始アドレスに記憶されている拡張部
分をフェッチする手段とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ装置に関し、特
に、データベースを保持するために用いられる独立型内
容アドレスメモリシステム(free-standing content add
ressable memory)に関する。
【0002】
【従来の技術】データベースに依存するシステムの多く
は、キーイングスキームを用いてデータベースのサーチ
を補助する。データベース内のレコードは、幾分かラン
ダムな順序で記憶され、次いで、インデックスが生成さ
れ、データの一部に基づいて、データベースのレコード
をシーケンスに連結する。このデータの一部は、一般に
キーと呼ばれる。
【0003】従来のデータ処理システムでは、インデッ
クスの構築およびインデックスファイルに基づいたデー
タのアクセスには多くの処理工程が必要とされる。従っ
て、データを記憶およびアクセスするこの方法は、デー
タが迅速に処理されなければならないリアルタイム処理
環境において適切ではない。さらに、比較的小さなレコ
ードを保持するデータベースでは、インデックスファイ
ルは、データベース自体とほとんど同一の大きさであり
得る。
【0004】ビデオスケジューリングにおいては、例え
ば、特定の番組スケジュールは、一度に少しずつ構築さ
れる傾向にある。すなわち、いくつかの番組の放送時間
は他の番組の放送時間前に決定され、ラインナップによ
り頻繁に変化する。この結果、番組時間に関連するデー
タがメモリ内に記憶されるとき、種々の番組の開始およ
び終了時間はランダムな順序でメモリ内に記憶される。
【0005】事実、最も人気のある番組または重要な番
組の放送時間は、番組編成プロセス(program-generati
on process)の初期に決定される傾向にあり、あまり重
要でない番組または短編番組(filler program)は後期
に決定され、頻繁に変更される傾向にある。多くの短い
コマーシャルが主要番組の合間に散在されなければなら
ないときに問題は深刻となる。放送局の多くは、ランダ
ムアクセス自動化テレビテープカートリッジプレーヤを
有し、このプレーヤは、例えば、スケジューリングコン
ピュータから指示を受け取り、任意の順序でシステム内
の特定のテープを再生し得る。
【0006】
【発明が解決しようとする課題】このようなシステムを
自動化するためには、所望の同定された番組選択がその
開始および終了時間と共にデータベース内に配置されな
ければならず、現在の時間と、データベース内の各番組
の開始時間および終了時間とを頻繁に比較しなければな
らない。従来のコンピュータ化スケジューリングシステ
ムは、上記のようなインデックス化されたデータベース
を用いるか、または必要な時間毎に、すべてのデータベ
ータベースエントリを連続してサーチしなければならな
い。大量のエントリが存在するならば、多くのサーチ時
間がかかり、比較している間は、スケジューリングコン
ピュータの動作が優先使用される。この優先使用によ
り、直前のスケジュール変更の実施が遅れる。なぜな
ら、スケジューリングコンピュータは、次にスケジュー
ルされた事象をサーチしている間に、データベースに情
報を加えたり、または既存のスケジュールを検討するた
めには使用できないからである。
【0007】各サーチ時間は、隣接する開始と終了との
間の最小時間増加量を増加させる。コマーシャルの中に
は10数秒ほどの短いもの、またはさらに短い持続時間
のものも考えられるので、最小時間増加量が増えること
は不都合である。このような制御システムに最小時間イ
ンターバルまたは増加分を有することは望ましくはな
い。なぜなら、これによってオペレータに対するシステ
ムの柔軟性が減少するからである。
【0008】例えば、IEEEから出版されているCOMPUTER
の1989年7月号の51〜63頁、ChisvinらによるContent-A
dressable and Associative Memory: Alternatives to
theUbiquitous RAM、およびIEEE Microの1992年12月号
の68〜77頁、StormanらによるA General-Purpose CMOS
Associative Processor IC and Systemの文献に記載さ
れているように、内容アドレスメモリ(CAM)は、従来
のランダムアクセスメモリのシーケンシャルアクセスの
制限を回避することが知られている。Stormanらの文献
に指摘されているように、ワードヒットおよびワード長
を考慮すると、汎用内容アドレスメモリは存在しない。
映像または音響プログラミングの制御に用いられるCAM
システムが望まれる。
【0009】本発明はこのような現状に鑑みてなされた
ものであり、本発明の目的は、キー部分と拡張部分とを
保持し、サーチキーとキー部分との一致に応答して拡張
部分を読み出す内容アドレスメモリシステムおよびメモ
リのフェッチ方法を提供することにある。
【0010】本発明の他の目的は、予め設定されたシー
ケンスにおける所定のイベントセットを実行するスケジ
ューリングシステムを提供することである。
【0011】
【課題を解決するための手段】本発明は、キー部分と拡
張部分とを有するデータベース用データを保持する、独
立型内容アドレスメモリに関する。拡張データは、デー
タのキー部分に一致するかまたは関連する、サーチキー
に応答してアクセスされ得る。キー部分は、従来のCA
Mに保持され、拡張データ部分は、従来のランダムアク
セスメモリ(RAM)に保持される。
【0012】本発明の1つの局面によると、拡張データ
は、それぞれが開始アドレスによって識別されるRAM
内のセグメントに配置される。
【0013】本発明の1つの実施態様では、各データベ
ースレコードは、いくつかのマルチビットワードにわた
り、CAMはこのようなワードを1つ記憶し、従来のR
AMは各データベースに関連する残りのワードを記憶す
る。内容アドレスメモリ部分のワードのそれぞれは、C
AMワードアドレスによって識別される。キー部分と拡
張部分とを有するメモリに書き込まれるデータを受け取
り、選択されたアドレスにおいて、データのキー部分を
内容アドレスメモリに書き込み、キー部分が内容アドレ
スメモリに書き込まれる選択されたアドレスから得られ
るランダムアクセスメモリのセグメントにデータの拡張
部分を書き込む、書込み配置は、ランダムアクセスメモ
リおよび内容アドレスメモリに連結される。
【0014】本発明の他の局面において、RAM内のデ
ータは、サーチキーをCAMに与え、CAM内のデータ
の少なくとも一部を同時にサーチして、サーチキーの少
なくとも一部と一致するエントリを識別することによっ
て読み出され得る。このようなエントリがすべて識別さ
れると、これらのアドレスが、サーチキーに対応するデ
ータベース内の拡張データエントリのすべてがホストプ
ロセッサに連続して与えられるように、順々に与えられ
る。
【0015】本発明のさらに他の局面によると、CAM
のエントリは、データベース内のデータが、サーチ動作
に影響を与えうるクラスに機能的に限定され得るように
するセル制御ビットを有し得る。
【0016】本発明の特定の実施態様では、ビデオまた
はケーブルテレビスケジューリングシステムにおいて応
用される。
【0017】本発明によるメモリシステムは、複数のデ
ータブロックを保持し、それぞれの該データブロックが
キー部分と拡張部分とを含み、サーチキーに対応してメ
モリから該データブロックの該拡張部分をフェッチする
メモリシステムであって、該システムは、各データブロ
ックの該キー部分を内容アドレスメモリ(CAM)の各
所定アドレスに記憶する手段と、各該データブロックの
各該拡張部を、別のメモリの、該各所定のアドレスから
生成されるアドレスに記憶する手段と、該サーチキーを
用いて該CAMをサーチし、ここで、該サーチが成功す
ると、該CAMが該サーチキーに対応するアドレス値を
与え、該CAMによって与えられる該アドレス値からの
該別のメモリ内の開始アドレス値を生成し、該別のメモ
リの該開始アドレスに記憶される、各該データブロック
の該拡張データ部分をフェッチする手段と、を有してお
り、そのことにより上記目的が達成される。
【0018】本発明による内容アドレスメモリシステム
は、キー部分と拡張部分とを有するデータを書き込み、
該データの該キー部分に関連したサーチキーに応答し
て、該拡張部分を読み出す内容アドレスメモリシステム
であって、該システムは、各データが位置アドレスによ
って識別されるアドレス指定可能なランダムアクセスメ
モリ部分と、ワードに構成される複数のメモリデータを
含む内容アドレスメモリ部分であって、該内容アドレス
メモリ部分の該ワードのそれぞれが、CAMワードアド
レスによって識別される、内容アドレスメモリ部分と、
該内容アドレスメモリの選択されたアドレスに、該デー
タの該キー部分を書き込み、該アドレス指定可能なラン
ダムアクセスメモリの、該キー部分が該内容アドレスメ
モリに書き込まれる該選択されたアドレスに対応するセ
グメントアドレスで開始する該ランダムアクセスメモリ
のデータのセグメントに、該ランダムアクセスメモリ
に、該データの該拡張部分を書き込む、該ランダムアク
セスメモリと該内容アドレスメモリとに連結された書込
み手段と、該ランダムアクセスメモリからのデータを検
索する、該ランダムアクセスメモリと該内容アドレスメ
モリとに連結された読出し手段とを有し、該読出し手段
が、該データの該キー部分とサーチキーの少なくとも一
部との間の一致のために、該データの該キー部分が記憶
される該内容アドレスメモリの該データの少なくとも一
部を同時にサーチし、一致が見いだされる該内容アドレ
スメモリの該選択されたアドレスの少なくとも1つのア
ドレスを識別し、該識別されたアドレスを出力アドレス
値として与える手段と、一致が見いだされる該内容アド
レスメモリの該選択されたアドレスの該1つの該アドレ
スで開始する該ランダムアクセスメモリのデータの該セ
グメントのアドレス指定する手段と、該サーチキーの該
一部と一致した該キー部分と関連した該拡張データを読
み出す手段とを有しており、そのことにより上記目的が
達成される。
【0019】また、前記読出し手段が、データの前記セ
グメントの開始アドレスを受け取り、該開始アドレスで
開始するデータの該セグメント内の複数のアドレスを決
定する、前記ランダムアクセスメモリに連結した拡張ア
ドレスカウンティング手段を有していてもよい。
【0020】また、前記開始アドレスが、N個のゼロ値
ビット(Nは整数)、を前記出力アドレス値の下位ビッ
ト位置に結合することによって得られ、前記セグメント
内の前記複数のアドレス値が、前記開始アドレス値を2
N−1倍増加させることによって決定されてもよい。
【0021】本発明のフェッチ方法は、キー部分と拡張
部分とを有するデータブロックをメモリ書き込み、サー
チキーに応答してメモリから前記データの該拡張部分を
フェッチする方法であって、該方法は、該データブロッ
クの該キー部分を、内容アドレスメモリ(CAM)の所
定のアドレスに記憶するステップと、該データの該拡張
部分を別のメモリの該所定のアドレスから得られるアド
レスに記憶するステップと、該サーチキーを用いて該C
AMをサーチするステップであって、該サーチキーが該
キー部分と一致するときに、該CAMが、該所定のアド
レスを与えるステップと、該CAMによって与えられる
該所定のアドレスから、該別のメモリにおける開始アド
レス値を生成するステップと、該別のメモリの該開始ア
ドレス値に記憶される該拡張データ値をフェッチするス
テップと、を包含しており、そのことにより上記目的が
達成される。
【0022】また、コマンドを介在することなく、前記
データブロックが信号コマンドとして、前記CAMおよ
び前記別のメモリに与えられてもよい。
【0023】また、前記CAMおよび前記別のメモリに
与えられる前記データブロックが、データベースレコー
ドであってもよい。
【0024】本発明のスケジューリングシステムは、予
め設定されたシーケンスにおける所定の事象のセットを
実行するスケジューリングシステムであって、スケジュ
ールされる該事象に関する情報を受け取るスケジューリ
ングコンピュータであって、ここで、該事象に関する情
報が、該予め設定されたシーケンスとは異なる順序で受
け取られ、各事象に関して受け取られた情報が、該予め
設定されたシーケンスにおいて該事象がいつ発生するか
を示す時間データ値を含む、スケジューリングコンピュ
ータと、該スケジューリングコンピュータに連結された
内容アドレスメモリシステムとを有し、該内容アドレス
メモリシステムが、該時間データを内容アドレスメモリ
(CAM)の所定のアドレスに記憶し、該情報を補助メ
モリの該所定のアドレスから決定される対応アドレスに
記憶する手段と、該スケジューリングコンピュータか
ら、該所定の事象のセットが実行されている間に生成さ
れる、別の時間データ値を受け取り、受け取られた該別
の時間データ値と一致するすべての時間データ値の該C
AM内のアドレス値を戻す手段と、該戻されたアドレス
値に応答し、該補助メモリの該対応アドレスを決定し、
該対応アドレスに記憶された該情報をフェッチする手段
と、該フェッチされた手段を該スケジューリングコンピ
ュータに与える手段と、該フェッチされた情報に応答し
て、該フェッチされた情報によって示される該事象を実
行する手段とを有しており、そのことにより上記目的が
達成される。
【0025】
【作用】本発明によれば、キー部分と拡張部分とを有す
るデータを書き込み、サーチキーと該データのキー部分
との一致に応答して拡張部分を読み出す内容アドレスメ
モリ(CAM)システムが実現される。本発明のCAM
システムは、セグメントで構成される、従来のアドレス
指定可能なRAMを有する。各セグメントは、開始アド
レスによって識別される。CAMシステムはまた、ワー
ドで構成されるCAMを有する。それぞれのCAMのワ
ードは、CAMアドレスによって識別される。
【0026】メモリに書き込まれるデータは、キー部分
と拡張データ部分とを有する。データのキー部分は、C
AMの選択されたアドレスに書き込まれ、拡張データ部
分は、選択されたアドレスから決定されるアドレスで開
始するRAMのセグメントに書き込まれる。RAM内の
データは、サーチキーによってCAMをサーチし、CA
M内で見いだされた一致するエントリのアドレスを用い
て生成されたランダムアクセスメモリのアドレス値によ
って読み出される。ランダムアクセスメモリは、アドレ
ス指定された一致するエントリのそれぞれに関連した拡
張データをフェッチする。
【0027】本発明の別の実施態様において、上記CA
Mシステムは、ケーブルテレビスケジューリングシステ
ムにおいてテレビ番組のデータべースを保持するのに用
いることができる。
【0028】
【実施例】本発明によるデータベース用の情報またはデ
ータは、2種類のワード、すなわち、32ビットなどの
固定数のビットを有するCOMMANDワード、および32ビ
ットなどの固定数のビットをそれぞれが有する1個以上
のEXTENDED DATAワードによって伝送される。COMMANDワ
ードと、EXTENDED DATAワード群との各組み合わせによ
りデータベースにレコードが構成される。このレコード
において、種々のフィールドが定義される。
【0029】レコードは、メモリ中に記憶され、データ
ベースからメモリに対してコマンドを発行することによ
り取り出される。コマンドには1つの32ビットワード
が用いられる。コマンドがレコードをメモリに記憶する
ためのものであるとき、レコードを構成するEXTENDED D
ATAワードは、COMMANDワードの直後にメモリに与えられ
る。一般に、COMMANDワードは、CAMシステムの内容
アドレス指定可能な部分と関連して処理され、種々のCO
MMANDワードと関連したEXTENDED DATAワードは、従来通
りにアドレス指定されたランダムアクセスメモリ(RA
M)に記憶される。以下、さらに詳細を説明する。
【0030】図1は、一般に上記のように動作する、本
発明による構造(architecture)を有する内容アドレスメ
モリシステム1の模式的なブロック図である。図1にお
いて、記憶されるべきデータは、36ビット外部データ
入力/出力(EDIO)バス12を介して、双方向バッ
ファ10(U1とも呼ばれる)の入力/出力(I/O)
ポートでホストプロセッサから受け取られ、記憶装置か
ら検索されたデータは、EDIOバス12を介してホス
トプロセッサに結合される。バッファ10は、メモリシ
ステムを出入りするデータの一時的な記憶部である。
【0031】図1のバス12を介して与えられる各32ビ
ットCOMMANDワードによって伝送される情報は、実行さ
れる機能に応じて、(a)コマンド、(b)サーチキ
ー、(c)データマスク、および(d)アドレスの4つ
のおおまかなグループの1つに分類され得る。EXTENDED
DATAワードによって伝送されるデータは、(e)拡張
情報である。
【0032】一般に、COMMANDワードはそれぞれ3つの
フィールドを含み、そのフィールドは、コマンドコー
ド、サーチキー、データマスク、およびアドレス情報の
少なくとも2つを伝送する。COMMANDワード内の情報
は、構造中の内容アドレス指定可能な部分と関連して処
理される。次に、COMMANDワード内のCAM情報は、そ
のアドレスによって、関連したRAM内に記憶された拡
張情報の固定サイズセグメントの開始アドレスを同定す
る。CAMに与えられる各COMMANDワードは、その最上
位のバイト位置において、8ビットコマンド(CMD)
コードを有する。
【0033】コマンドコードは、メモリシステムによっ
て実行されるべき機能を特定する。すなわち、内容アド
レスメモリ内にすでに記憶されている情報と比較して、
内容アドレスメモリ内に情報を記憶すべきか、またはメ
モリシステムの動作を改変するために情報を用いるかを
特定する。コマンドコードはまた、COMMANDワードの他
のフィールドを復号化するのに役立つ。コマンドコード
の他に、各COMMANDワードは、下位の2バイト内に、第
2フィールドを含む。この第2フィールドは、(i)デ
ータキー(DATA KEY)、(ii)マスクキー(MASK KE
Y)、または(iii)サーチキー(SEARCH KEY)であ
る。フィールドがMASK KEYを保持する場合、MASK KEY
は、CAM62のマスクレジスタに転送される。フィー
ルドがSEARCH KEYを保持する場合、CAM62内のデー
タを検索するためにキーが用いられる。フィールドがDA
TA KEYを保持する場合、キーはCAM62内に記憶され
る。コマンドおよびキー部分の他に、CAM62にデー
タを記憶するCOMMANDは、サーチキーが記憶されている
CAM内の位置を特定するCAMアドレスを含む。
【0034】図3は、双方向I/Oバッファ10として
使用するのに適切な回路のブロック図である。図1およ
び図3を参照すると、図1の36ビットEDIOバス1
2のビット線のうち4本が制御線であり、残りの32ビ
ット線がデータ用である。36ビットバス12の4本の
制御ビット線のうち2本、すなわち、制御線12dおよ
び12bは、HOST READおよびHOST WRITEとしてそれぞ
れ指定された入力制御信号用に用いられる。他の2本の
制御線、すなわち、制御線12eおよび12cは、OUTP
UT READYおよびINPUT FULLとしてそれぞれ指定された出
力制御信号を伝送する。簡略化するために、制御線自身
は、それらが伝送する信号の名前で命名される。36ビ
ットバス12の残りの32ビットは、上記のCOMMANDお
よびEXTENDED DATAワードを含むデータを伝送するため
に利用される。
【0035】図1のメモリシステムと交信するために
は、32ビットCOMMANDデータワードは、EDIOバス
12の32ビットデータ部分にロードされ、HOST WRITE
制御線は、HOST WRITE制御線12bを論理ハイ状態すな
わち論理ハイレベル(論理1)を論理ローレベル(論理
0)に切り替えるための信号を用いることによってアサ
ート(assert)される。この切り替えにより、EDIOバ
ス12上の32データビットは、バッファ10に転送さ
れる。本発明の例示的な実施態様では、バッファ10
は、256の32ビットワードの容量を有する。
【0036】バッファ10が一時的に容量が一杯にな
り、データを収容できなくなった場合、バッファ10
は、バス12の制御信号INPUT FULL制御線12c上で論
理0をアサートすることによって、この状態をホストプ
ロセッサ(図示されていない)に知らせる。ホストプロ
セッサがこの信号を無視し、バッファにデータを書き込
もうとすると、バッファ10は、HOST WRITE信号を無視
し、データは失われる。
【0037】一旦INPUT FULL制御信号がアサートされる
と、バッファ10は、データが読み出されるまで容量が
一杯のままである。データが読み出されると、HOST WRI
TE信号をアサートすることによって新しいデータが再び
バッファ10に書き込まれる。データがEDIOバス1
2からバッファ10に書き込まれた後、図1のシステム
のその他の部分でそのデータが読み出され、そのデータ
のコマンド部分に応じて処理される。
【0038】図2(a)は、32ビットDATA WRITEコマ
ンドワードのフォーマットを示す。このフォーマットに
は、ビット24からビット31までの、コマンドワード
の最上位の8ビット(MSB)の8ビットコマンド(C
MD)フィールドと、ビット16からビット23までの
8ビットCAMアドレスフィールド(CAM ADDR)と、ビ
ット0からビット15までの16ビットデータキー部分
(DATA KEY)が含まれる。図2(a)のコマンドワード
と関連した32ビットEXTENDED DATAワードは、フォー
マットには限定されないため図示していない。
【0039】コマンドワードのコマンドフィールドは、
メモリシステムの動作を制御するためにのみ用いられ、
DATA WRITEコマンドの一部としてはCAM内に記憶され
ない。図2(a)のコマンドワードは、通常の情報書込
み動作において用いられ、この動作において、DATA KEY
フィールド内の情報はCAM62に記憶され、一方、関
連EXTENDED DATAワード(図2(a)には図示されてい
ない)は、RAM63に記憶される。RAM内の拡張デ
ータとCAM内に記憶されているサーチキーとの関連
は、CAMアドレスフィールドの部分の再使用によって
維持される。上記のように、コマンドワードのDATA KEY
フィールドは、コマンドワードのCAM ADDRフィールド内
に特定されたアドレスでCAM内に記憶される。
【0040】DATA WRITE内のCAMアドレス(CAM ADD
R)は、CAM62内の空ワードのアドレスとして選択
されるか、またはもはや使用されずに上書きされ得るワ
ードのアドレスとして選択される。本発明の例示的な実
施態様において、メモリロケーションの割当ておよび割
当て解除はすべて、図1に示すメモリシステムの外部で
行われる。CAM ADDRフィールド内で指定されたアドレス
はまた、情報の拡張データ部分が記憶されるRAM63
のセグメントアドレスとして用いられる。各CAMエン
トリと関連したEXTENDED DATAワードのサイズおよび数
が固定されているため、EXTENDED DATAワードのロケー
ションは、CAM ADDRフィールドから生成されるセグメン
トアドレスからのオフセットとして決定され得る。本発
明の1つの例示的な実施態様において、セグメントアド
レスは、CAM ADDR値の最下位のビット(LSB)位置に
2つの論理0ビットを連結することによって生成され
る。このアドレスは、RAM63の第1EXTENDED DATA
ワードを指し示す。このスキームを用い、このアドレス
値を増加させることによって、4つまでのEXTENDED DAT
Aワードがセグメントに記憶され得る。このアドレッシ
ングスキームは、データキー情報が記憶されるCAMア
ドレスを用いて拡張情報を参照できるという利点を有す
る。その他の数のEXTENDED DATAワードが同様のアドレ
ッシングスキームを用いて収容され得る。
【0041】上記のように、図2(a)、図2(b)、
および図2(c)のCMDフィールドはそれぞれ8つの
ビットを有する。これにより、256個の独立したコマ
ンド(これらはすべて用いられるわけではない)が可能
になり、上記の機能が拡張される。上記のように、3つ
のコマンド、すなわち、DATA WRITE、MASK WRITE、およ
びCOMPARE(サーチ)が存在する。これら3つのコマン
ドを伝達するには2つのビットで十分である。DATA WRI
TEコマンドのコマンドフィールドの値は、0x01であ
る。ここで、接頭語「0x」は、十六進数法を示す。MA
SK WRITEコマンドのフィールドの値は、0x02であ
り、COMPAREコマンドのフィールドの値は、0x03で
ある。
【0042】図2(a)のDATA WRITEコマンドワードの
CAM ADDR部分は、8ビットであり、256CAMアドレ
スを可能にする。256より多くのCAMメモリロケー
ションが所望されるならば、CAM ADDRフィールド内のビ
ットの数は、8より大きくなければならない。図2
(a)のコマンドフィールドおよびCAMアドレスフィ
ールドは合わせて16ビットを用いる。残りの下位16
ビットは、記憶されるデータのキー位置を示す。内容ア
ドレスメモリ62に最終的に記憶され、サーチに用いら
れるのはこの部分である。
【0043】DATA WRITEコマンドがコマンドフィールド
によって特定されると、コマンドは32ビットワードと
してEDIOバス12からバッファ10へと転送され
る。次に、拡張データ63に入れられるEXTENDED DATA
ワードは、バス12の4つの制御線の1つにHost-Write
制御信号を繰り返しアサートすることによって、図1の
EDIOバス12からバッファ10へと一度に1ワード
ずつ転送される。EXTENDED DATAワードは、DATA WRITE
コマンドを含むワードの直後に連続して与えられる。DA
TA WRITEコマンドと、これらのEXTENDED DATAワードと
を組み合わせると、1つの拡張情報データパケット(す
なわち、1つのデータベースレコード)が形成される。
このパケットの内容は、システムが使用されるアプリケ
ーションに依存する。従って、拡張情報パケットがいく
つの32ビットワードを含んでいるようとも、拡張情報
パケット毎に1つの32ビットコマンドワードが存在す
る。
【0044】EXTENDED DATAの各ワードのビット数は、
1つのアプリケーションから次のアプリケーションで変
化し得るが、1つのアプリケーションでは、ビット数は
一定である。ケーブルTV環境でのスケジューリングに
用いられるCAM配置の特例においては、拡張情報の4
つの32ビットワードのパケットが可能である。
【0045】図2(b)は、32ビットMASK WRITEコマ
ンドワードのフォーマットを示す。このフォーマット
は、DATA WRITEコマンドのフォーマットと同様である。
CMDフィールドは0x02であり、コマンドはさらに
ビット0からビット15までの16ビットマスクキーフ
ィールド(MASK KEY)を含む。ビット16からビット2
3までのMASK WRITEコマンドの部分は使用されない。MA
SK_WRITEコマンドが実行される時、以下に示す様に、C
AM内部のマスクレジスタに16ビットのマスクが書き
込まれる。マスクビットは、下記のSEARCH KEYの対応ビ
ットを使用可能または使用禁止にし、比較動作に関与す
るビットを効果的に確立する。
【0046】MASK KEYを特定することによって、ユーザ
は、サーチキーをアクティブおよび非アクティブ部分に
区分し得る。特定のマスクビット位置における論理ロー
または論理0(0)は、ビットがサーチまたは比較に関
与していることを意味し、一方、論理ハイまたは論理1
(1)は、ビットがサーチまたは比較の関与から除外さ
れていることを意味する。MASK WRITEサイクルにおい
て、RAM63またはCAM62のデータセルのいずれ
にも情報は書き込まれない。MASK WRITEサイクルを開始
するには、図1のバッファ10のみに情報を書き込むだ
けで十分である。
【0047】図2(c)は、COMPAREコマンドを伝達す
る32ビットコマンドワードのフォーマットを示す。図
2(c)に示すように、このコマンドは、0x03のC
MDフィールド、およびビット0からビット15までの
16ビットSEARCH KEYフィールドを含む。このコマンド
のビット16からビット23は、使用されない。COMPAR
E動作が実行されると、SEARCH KEYフィールド内の情報
は、任意のマスク情報によって改変されながら、CAM
メモリロケーションのそれぞれと比較される。上記のよ
うに、マスクワードのビットは事前にCAM62に記憶
され、、SEARCH KEY情報のどのビットが比較に関与し得
るかを決定する。
【0048】COMPAREコマンドに応答して、マスクされ
たSEARCH KEY情報と、すでに記憶されたDATA KEY情報と
の間で一致が見い出されると、対応するDATA KEY情報が
記憶されるCAM62内の1つのアドレスまたは複数の
アドレスがCAMの出力として生成される。次に、これ
らのアドレスは、マスクされたサーチキーに一致するC
AMワードと関連したマルチワード情報全体を検索する
ために、セグメントインデックスまたはRAMの対応セ
グメント内に記憶されたEXTENDED DATAにアクセスする
アドレスとして用いられる。次に、メモリ63から検索
されたEXTENDEDDATAワードは、双方向I/Oバッファ1
0およびEDIOバスを介してホストプロセッサ(図示
されていない)に戻される。
【0049】このメモリシステムは、内容アドレス指定
可能なデータベースを効果的に実現する。CAM62に
記憶されているようなキー情報と、RAM63に記憶さ
れているようなデータベースレコードの残りの部分との
関係または関連は、ファームウェアによって維持され
る。ユーザは、バッファ10からの出力データを、バッ
ファ10が空になるまで読み出し、与えられるマスク値
によってマスクされたようなキーと関連する、メモリシ
ステム内のすべてのデータを検索する。
【0050】CAM内部構造は、それぞれがプログラム
可能なCell Control Bitsと呼ばれる付加ビットを与
え、特定の記憶ロケーションがそれに続く任意の比較動
作に関与するか否かを決定する能力を提供する。このよ
うな2つのCell Control Bitsは、Empty-BitおよびSkip
-Bitである。Empty-Bitは、それに関連した記憶ロケー
ションが一杯または空であることを示すのに対し、Skip
-Bitは、関連した記憶ロケーションが次の比較に関与す
べきか否かを決定する。Skip-Bitは、比較動作に応答し
て複数の一致が見い出されるときに、連続的にロケーシ
ョンをスキッップし、一致が見い出された次のロケーシ
ョンに到達するために用いられる。Skip-Bitは、CAM
内の選択されたエントリ、すなわち、これらのエントリ
と関連したEXTENDED DATAワードへのアクセスを制御す
るために用いられる。
【0051】しかし、コマンドを付加してスキップビッ
トをセットおよびリセットすることによって、CAMの
この機能は、データベース内のデータをさらに分類する
ために用いられることが期待されている。例えば、この
ような分類を一回行うことによって、従量料金を支払っ
ている顧客と、支払っていない顧客とを区別する。
【0052】図3は、図1の双方向入力/出力バッファ
10のさらに詳細なブロック図である。図1に対応する
図3の構成要素は、同一の参照番号で示す。図3におい
て、バッファ10は、図1のEDIOバス12の32ビ
ット部分12aに連結した32ビット入力ポートIND
を有する先入れ先出し方式バッファFIFO20を有す
る。FIFO20の制御入力端子INWは、バス12の
制御線12bに連結され、HOST WRITE制御信号を検索
し、出力入力端子INFFは、制御線12cに連結さ
れ、それによって、INPUT FULL信号は、FIFO20に
よってホストプロセッサに与えられ得る(図示されてい
ない)。
【0053】FIFOバッファ20は、アドレス情報を
必要とせずに、従来のFIFOメモリとして動作し、そ
の入力ポートに与えられる情報を単に記憶し、その記憶
された情報をそれが書き込まれたのと同様の順序で出力
ポートから読み出すことを可能にする。書き込まれるべ
きデータを、FIFOバッファ20の場合にはIND入
力ポートである、データ入力ポートに与え、書込み制御
信号(FIFOに対しては「入力クロック」)を制御線
12bを介して入力端子INWでアサートすることによ
って、データは書き込まれる。制御信号INWは、論理
1から論理0に切り替えられ、再び論理1に戻される。
そのとき、EDIOバスを介して与えられる32ビット
データ値は、バッファの次のメモリロケーションにおい
て記憶される。
【0054】読出しは、以下にさらに詳細に説明される
マイクロ命令バス(MIB)の制御線MIB[31]を
介して、入力INRでREAD FIFOIN制御信号をアサート
することによって容易に成し遂げられる。この制御信号
に応答して、FIFOバッファ20に現在記憶されてい
る最も古いワードが、FIFOバッファ20の場合には
INQで示される出力ポート、および出力バス14aに
現れる。
【0055】従来のFIFOメモリまたはバッファは、
以下に説明するように用いられる付加制御信号を与え
る。このような制御信号の1つはEMPTY FIFOと示され、
バッファ20のINEF出力および制御線14cにおけ
る論理0レベルによって、入力バッファが空であること
を示す。このような制御信号のもう1つはFIFO FULLと
示され、FIFOバッファ20のINFF出力ポートお
よび制御線12cにおいて、INPUT FULL論理0ステータ
スによって、バッファの容量が一杯であることを示すの
に用いられる。
【0056】図3のもう1つのFIFOバッファ21
は、EDIOバスの32ビットデータ部分12aに連結
した32ビット出力ポートOUTQを有し、32ビット
入力ポートOUTDでバス14aからMATCH DATAと示さ
れるデータを受け取る。FIFOバッファ21はまた、
上記のように、論理1および論理0に続く、論理1のホ
ストプロセッサアプリケーションによって読み出される
ための、EDIOバス制御線12dに連結した制御入力
ポートOUTRを有している。FIFOバッファ21は
また、バッファが空ではなく、データが読み出されるこ
とを、EDIOバス12の制御線12eにおける論理0
によって示す、制御出力ポートOUTEFを有する。
【0057】図3のバッファ21はまた、OUTPUT FULL
制御線14dに連結した単一ビットOUTFF制御出力
端子を有する。この信号は、バッファの容量が一杯であ
ることを論理0によって示す。信号OUTFFが論理0
であるとき、一致データは、ホストプロセッサがすでに
バッファ21に記憶されている一致データのいくつかを
読み出すまで、FIFOバッファ21には記憶され得な
い。データをFIFOバッファ21に記憶するための制
御信号は、MIB24で示されるマイクロ命令制御線に
連結した単一ビット制御入力ポートOUTWによって与
えられる。
【0058】図3のFIFOバッファ20および21は
共に、図1において10で示される双方向入力−出力バ
ッファとして作用する。図3の構成から、EDIOバス
からのデータは常にFIFOバッファ20に書き込ま
れ、ユーザによって読み出されるデータは常にFIFO
バッファ21から読み出されるという複合効果が得られ
る。
【0059】図1のタイミング生成および同期(TG
S)モジュール30(U4)は、適切な時点で適切な電
気制御信号を生成するため、信号は、適切な方法でシス
テムを介して伝送される。タイミング生成および同期
(TGS)モジュール30(U4)はまた、システムク
ロックで種々の制御信号を同期させる。制御器は、当業
者に一般に公知であり、下記の構造と同等の種々の配置
によって設けられ得る。
【0060】上記のケーブルTVプログラミングシステ
ムに適用される本発明の具体的な実施態様において、タ
イミング生成および同期(TGS)モジュール30は、
Texas Instruments PSG507M装置を用いて、13*80
*8のプログラム可能なシーケンス生成器として設けら
れる。ここで、「13」は、装置が受け取るディジタル
信号の総数を示し、「80」は、13個の入力の中でプ
ログラム制御下で成し遂げられ得る個別の組み合わせ論
理AND動作の総数を示し、「8」は、同時に生成され
るディジタル出力信号の総数を示す。
【0061】TGSモジュール30は、特定のカウント
に基づいて論理動作を制御し、その状態が内部でモニタ
され得る付加内部6ビットバイナリカウンタを有する。
例えば、装置は、所定セットの入力信号および連続した
カウント値に対して特定のシーケンスの論理出力が発生
する、有限状態マシンとしてプログラムされ得る。例え
ば、TGSモジュールは、そのI7入力ポートが論理0
状態であるならば、内部カウンタが8のカウントに達す
るときはいつでも、出力Q7で論理1レベルを生成し得
る。例示的な実施態様では、TGSモジュールは、下記
のように、DATAIO Corp.から入手できるABEL言語を
用いてプログラムされる。
【0062】TGSモジュール30は、従来のマイクロ
プログラムされたシーケンサを有する。このシーケンサ
は、図5においてEPROM42として示される内部読
出し専用メモリを条件づける制御信号を生成し、CAM
メモリシステム内の他のすべての素子に対して制御信号
を与える。これらの制御信号は、31ビットマイクロ命
令バス(MIB)49を介して与えられる。その他の材
料においては、マイクロ命令バス上の特定の信号は、そ
の番号を用いて参照する。例えば、MIB[31]は、
マイクロ命令バスMIBを介して与えられる31番目の
制御信号を示す。
【0063】図4において、入力/出力バッファ10の
32ビットデータ出力バス14aは、コマンドフィール
ドを伝送する8個の上位のビット(MSBs)およびデ
ータフィールドを示す24個の下位のビットを用いてさ
らに分割される。FIFO空制御信号EMPTY FIFOINは、
制御線14cを介して入力/出力バッファ10のINE
FポートからTGSモジュール30の入力ポートI8に
結合される。入力/出力バッファ10の読出し制御信号
入力ポートINRは、制御線MIB[31]によって、
TGSモジュール30のREAD FIFOIN出力ポートQ0に
連結される。ラッチイネーブル信号CMD LATCHは、パス
19を介してTGSモジュール30のQ1出力ポートか
らラッチ31および32のラッチイネーブル(LE)ポ
ートへ結合される。
【0064】ラッチ31および32は、LEポートが論
理1レベルに引き上げられると、その入力信号を出力ポ
ートに伝送する。これは、しばしば、「透過(transpare
nt)」モードの動作と呼ばれる。LE入力信号が論理1
レベルから論理0レベルへ切り替わると、出力信号は、
次回LE入力信号が再び論理1になるまで保持される。
この構成により、TGSモジュールは、適切な時間にラ
ッチ31および32を制御し、入力/出力バッファ10
からのワードのコマンドおよびデータ部分を一時的に記
憶する。
【0065】データワードが図1、図3および図4の双
方向入力/出力バッファ10に書き込まれるときはいつ
でも、制御信号EMPTY FIFOINは、データが読み出し可能
であることを示す論理1になる。この制御信号は、TG
Sモジュール30に結合される。TGSモジュール30
は、制御信号がアクションを必要としていることを示し
ているものとして認識し、READ FIFON制御信号を生成す
ることによって応答する。この制御信号により、FIF
Oバッファ20は、1つの32ビットワードをその出力
ポートにおいてバス14aに与える。
【0066】さらに、TGSモジュール30は、CMD LA
TCH制御信号を生成し、32ビットデータワードをバス
14aからコマンドラッチ31およびデータラッチ32
へ転送する。コマンドを示す各ワードの最上位の8ビッ
トは、コマンドラッチ31の入力ポートCL Dに与えら
れ、残りの24ビットは、データラッチ32の入力ポー
トDL Dに与えられる。次に、8ビットコマンドフィール
ドの下位4ビットはCMD TYPEで示され、データパス43
3によってTGSモジュール30のI3を通して入力ポ
ートに与えられる。これらの信号に応答して、TGSモ
ジュールは、コマンドを復号化してどのタイプのアクシ
ョンをユーザが必要としているかを決定する。次に、復
号化されたリクエストは、DATA WRITE、MASK WRITE、ま
たはCOMPAREコマンドに適切な信号を生成するために用
いられる。所望されるなら、コマンドの8ビットすべて
をTGSモジュールに与えて復号化することによって、
さらなるシステム能力(すなわち、より多くの数のコマ
ンドタイプ)が成し遂げられ得る。
【0067】制御信号とシステムクロックとの同期は、
図1、図3、および図4の入力/出力バッファ10から
ラッチ31および32へのデータのスムーズな転送のた
めに、制御信号EMPTY FIFOが論理0から論理1へ切り替
わって、入力FIFOバッファ20がもはや空ではない
ことを示すときに開始する。制御線14c上のEMPTY FIF
O信号は、Continue Processing(図示されていない)と
呼ばれる信号をTGSモジュール30内に生成すること
によって、クロック線8上のシステムクロックと同期さ
れる。
【0068】Continue Processing信号は、EMPTY FIFO
信号が論理1になった後、入力ポートI0で受け取られ
るシステムクロック(SYS CLK)の第1の立ち上がりエッ
ジで論理1レベルにアサートされる。Continue Process
ing信号は、EMPTY FIFO信号の論理0への切り替えによ
って示されるように、入力/出力バッファ10の入力F
IFO30が空になるまで論理1のままである。Contin
ue Processing信号は、処理されるデータが入力/出力
バッファ10から読み出されなくなるまで入力/出力バ
ッファ10から命令およびデータを読み出し続けるため
に、TGSモジュール30によって用いられる。一旦、
Continue Processing信号が論理0になると、再びプロ
セスを開始する前に、信号EMPTY FIFOINが再び論理1に
なるまでTGSモジュールは待機する。
【0069】論理1になったContinue Processing信号
に応答して、TGSモジュール30は、システムクロッ
クの次のポジティブ切り替えにおいて、同時に、READ F
IFOINおよびCMD LATCH制御信号を論理0から論理1レベ
ルにアサートする。READ FIFOIN信号は、システムクロ
ックの1期間だけ論理1で保持され、CMD LATCH信号
は、システムクロックの2期間だけ論理1で保持され
る。1システムクロック期間の後、READ FIFOIN信号が
論理0レベルに戻されと、論理1から論理0への切り替
えにより、入力/出力バッファ10は、記憶されていた
32ビットデータをINQ出力ポートに転送する。
【0070】CMD LATCHが、2システムクロック期間、
すなわち、READ FIFOIN信号が論理0nなった後の1ク
ロック期間の後、論理0レベルに戻されると、論理1か
ら論理0への切り替えにより、ラッチ31および32
が、現在その入力ポートに存在するデータの内、上位8
ビットバイトをコマンドラッチ31でラッチし、3つの
下位バイトをデータラッチ32でラッチする。
【0071】従って、空でないバッファ状態が検出され
た2システムクロックサイクル後、データは、入力/出
力バッファ10からラッチ31および32に転送され
る。ラッチ31のデータは、コマンド情報を示し、ラッ
チ32のデータは、記憶されるデータ、マスクまたは比
較情報を示す。さらに、空でないバッファ状態が検出さ
れた2システムクロックサイクル後、4ビットのコマン
ドは、TGSモジュール30に与えられ、復号化されて
コマンドタイプが決定される。
【0072】図1および図4を参照すると、コマンドラ
ッチ31に記憶されている8ビットコマンドデータは、
総称してCIROM ADDRで示され、データパス33を介して
ラッチ31の出力ポートから、図5に示されるコマンド
インデックスROM40(U6)のアドレス入力ポート
CIR Aに結合される。総称してCMD TYPEで示されるコマ
ンドラッチ31に記憶されている8ビットのうちの下位
の4ビット(4LSBs)はまた、データパス433を
介してTGSモジュール30で有用な13個の入力ポー
トのうちの4個に与えられる。ROM40は、参照用テ
ーブルである。信号CIROM ADDRによって示されるよう
に、コマンドタイプに応答して、参照用テーブルは、コ
マンドを実施するEPROM42(U10)に記憶され
ているマイクロ命令のブロックの開始アドレスを提供す
る。
【0073】ROM40がコマンドタイプによってアド
レス指定されると、そのコマンドに対応する開始アドレ
スは、ROM40のCIR Q出力ポートからバス46を介
してアドレスカウンタ41(U8)の入力ポートAC Dに
与えられる。機能的には、ROM40およびアドレスカ
ウンタ41は、協調して、コマンドワードによってRO
M40でアクセスされるメモリロケーション内に記憶さ
れたアドレスで開始する、一連の連続したアドレスを生
成する。カウントは、TGSモジュール30によって制
御される。
【0074】復号化されたコマンドのそれぞれに対する
アドレス値のシーケンスは、アドレスカウンタ41のAC
Q出力ポートで生成され、マイクロ命令消去可能プログ
ラム可能ROM(EPROM)42のアドレス入力ポー
トに与えられる。アドレスのシーケンスにより、EPR
OM42の一連のマイクロ命令を実行する。次に、マイ
クロ命令は、リクエストされた命令を完了するのに必要
なコマンド特定制御信号(command-specific control si
gnal)を生成する。本発明の例示的な実施態様におい
て、これらの命令は、データ書込み、マスク書込み、ま
たは比較機能を実施する。
【0075】各ユーザコマンドは、最終的には、EPR
OM42のアドレスの固有のレンジまたはブロックと関
連づけられるか、またはこれらを占有する。コマンドを
示すアドレスがROM40のCIR A入力ポートに与えら
れると、その出力ポートCIR Qで、バス46を介してア
ドレスカウンタ41に与えられる単一な16ビット開始
アドレスが生成され、カウンタ41は、32カウントを
行い、データパス47において、それぞれが前回のアド
レスよりも大きい32個のアドレスのブロックを連続し
て生成する。EPROM42は、カウンタ41からの増
加するアドレスによって連続してアドレス指定され、そ
れによって、マイクロ命令バス(MIB)49に与えら
れる32ビットワードのシーケンスをその出力ポートに
おいて生成する。
【0076】図5において、システムクロック信号、SY
S CLKは、パス8を介してTGSモジュール30の入力
ポートI0に与えられる。イネーブル入力制御信号、TA
BLE ENBは、TGSモジュール30のQ2出力ポートで生
成され、制御線44aを介してコマンドインデックスR
OM40のイネーブル入力ポートEsに与えられる。信
号、TABLE CLKは、TGSモジュール30のQ3出力端
子で生成され、データパス44bを介してROM40の
Cp入力ポートに与えられる。信号TABLE CLKは、TABLE
ENB信号に関連して、コマンドインデックスROM40
を順番付けするのに用いられる。
【0077】ROM40の出力ポートCIR Qは、TABLE E
NB信号の論理1状態への切り替え後、最初にTABLE CLK
が論理0から論理1に切り替わるとき使用禁止にされ
る。ポートCIR Qは、TABLE ENBの論理0状態への切り替
え後、最初に信号TABLE CLKが論理0から論理1に切り
替わるまで使用禁止のままである。ROM40が使用可
能になると、CIR Q出力ポートにおける信号は、8ビッ
トCIROM ADDR信号を介して与えられるコマンドコードを
実施する命令のうちマイクロ命令EPROM42におい
て開始アドレスを示す。
【0078】TABLE ENBとTABLE CLKとの相対的なタイミ
ングは、TGSモジュール40によって確立され、この
タイミングにより、TABLE ENBは、Continue Processing
信号が論理1状態にアサートされた後のシステムクロッ
ク信号の次のポジティブな切り替えにおいて論理1レベ
ルにアサートされる。信号TABLE ENBは、3システムク
ロック期間、論理1に保持され、次に論理0レベルに戻
される。Continue Processing信号が論理1になった後
の5番目のシステムクロックパルスのポジティブな切り
替えにおいて、信号TABLE CLKは、1システムクロック
サイクルだけ論理1状態に保持されるため、6番目のク
ロックパルスのポジティブな切り替えにおいては、信号
TABLE CLKは論理0に戻される。
【0079】図5に示される回路において、コマンドイ
ンデックスROM40は、そのアドレス入力値が入力デ
ータパス33にラッチされ確立さている間は、使用禁止
となる。アドレス線が安定化した後の次のシステムクロ
ックサイクルの間、出力ポートCIR Qは使用可能にな
り、5番目のクロックパルスにおいて、ROMの特定の
アドレスデータに存在するデータは、TABLE CLK制御信
号のポジティブな切り替えで排出される。出力ポートCI
R Qにおける16ビットデータワードは、6番目のクロ
ックパルスの間アドレスカウンタ41にロードされる。
【0080】上記のように、図5のアドレスカウンタ4
1の目的は、マイクロ命令EPROM42に与えられ
る、選択されたカウントで開始するメモリアドレスのシ
ーケンスを提供し、それによってマイクロ命令EPRO
M42がリクエストされたコマンドを実行するために必
要なマイクロ命令制御信号を生成することである。アド
レスカウンタ41は、カウンティングモード、リセット
モード、ホールドモード、およびロードモードの4つの
個別のモードを有する。
【0081】カウンティングモードでは、入力クロック
信号の論理0から論理1への各切り替えは、カウンタ4
1のAC Q出力ポートに現れる二値出力を1だけ増加させ
る。リセットモードでは、出力ビットはすべてゼロであ
る。ホールドモードでは、出力カウントは一定のままで
ある。ロードモードでは、入力ポートAC Dに与えられる
ビットパターンは、その出力ポートに転送される。アド
レスカウンタ41の動作モードは、パス45aからL入
力端子に与えられるLOAD信号およびパス45bからH C
入力端子に与えられるHOLD CNT信号の2つの制御信号に
よって確立される。
【0082】制御信号LOADおよびHOLD CNTに応答するア
ドレスカウンタ41の動作モードは、表1に示される。
【0083】
【表1】
【0084】シーケンスの16ビット開始アドレスは、
LおよびH C入力の両方において論理0レベルをアサート
することによって、コマンドインデックスROM40の
出力ポートからカウンタ41のAC D入力ポートにロード
される。一旦、開始アドレスがロードされると、カウン
ティングモードは、H C入力を論理1レベルに引き上げ
ることによって開始される。16ビット出力カウントア
ドレスEPROM42およびアドレスは、各システムク
ロックパルスの立ち上がりエッジと共に変化する。従っ
て、新しいマイクロ命令制御ワードは、カウンタ41に
よるカウンティングが終了するまで、連続したシステム
クロックサイクルのそれぞれにおいて、EPROM42
でアクセスされる。
【0085】カウンタ41によるカウンティングの持続
時間は、I0−I3入力ポート(ここで、ハイフンは、
ワード"through"を表す)に与えられる4ビットフィー
ルドCMD TYPEに応答してTGSモジュール30によって
決定され、TGSモジュール30は、LOADおよびHOLD C
NT信号によってその制御をアサートする。各固有のコマ
ンドは、カウンタがホールドモードに配置される前に、
アドレスカウンタ41の異なる数の有効なクロック目盛
りとなり、EPROM42によって与えられる異なる数
のマイクロ命令制御ワードをアドレス指定することにな
る。
【0086】コマンドインデックスROM40に与えら
れるアドレス線の安定化後の7番目のシステムクロック
サイクルでは、ユーザによって与えられるコマンドが読
み出され、復号化される。復号化された命令は、EPR
OM42によって与えられるマイクロ命令制御信号のシ
ーケンスに翻訳され、マイクロ命令バス(MIB)49
を介してCAMメモリシステム内のその他の回路に与え
られる。
【0087】EPROM42によって生成されるマイク
ロ命令ビットはそのプログラミングに依存しており、適
切な様式でプログラムを単に変更することによって上記
のシステムを他のタイプのCAMを用いて実施すること
を可能にする。従って、マイクロプログラム命令EPR
OMは、CAM装置に必要とされるパラメータを単に知
ることによって、所望のパラメータを提供する様にプロ
グラムすることが可能である。さらに、付加コマンド
は、コマンドインデックスROM40に付加される対応
の開始アドレスおよびTGSモジュール30で実施され
る対応の命令カウントを用いて、EPROM42で実施
され得る。
【0088】動作中は、図2(a)に示されるようなシ
ステム要件に合致する入力パケットのコマンドフィール
ド内でDATA WRITEコマンドを受け取ると、TGSモジュ
ール30は、上記のようにコマンドフィールドを復号化
し、システムは、DATA WRITEコマンドを実施するEPR
OM42内のマイクロ命令のブロックの開始アドレスに
向けられる。図1において、データラッチ32の出力に
ラッチされる信号は、16LSBs、DATA KEYビット
と、8MSBs、CAM ADDRビットとの2つの部分に分け
られる。これらの部分は、拡張メモリの行先CAMアド
レス、および、開始またはセグメントアドレスを示す。
16DATA KEYビットは、データパス34を介してアドレ
スおよびデータセレクタ69(U5)のA入力ポートに
与えられる。8CAM ADDRビットは、パス35を介してア
ドレスおよびデータセレクタ69のB入力に与えられ
る。16DATA KEYビットおよび8CAM ADDRビットは、M
IBバス49からのさらなる8ビットと結合される。下
記のように、これらの付加ビットは、CAM62に特定
のコマンドを定義する。
【0089】アドレスおよびデータセレクタ69は、M
IB49によって与えられる信号に応答して、Aまたは
B入力から16ビットアドレスを選択し、その出力ポー
トCを介してバス70に与える。以下のように、この選
択は必要である。なぜなら、拡張データRAM63(U
9)は、CAM ADDRフィールドによって特定される位置に
情報パケットを記憶する。しかし、比較の間、その拡張
情報を検索するために対応する拡張情報が見い出される
べきアドレスは、異なる位置から得られ、特定のソース
が選択されなければならない。
【0090】図6は、アドレスおよびデータセレクタ6
9をさらに詳細に示す。図6において、図1および図4
のデータラッチ32からデータパス34を介して与えら
れる16ビットDATA KEYフィールドは、アドレスおよび
データセレクタ69の一部である、データセレクタ61
のPORTA入力ポートに与えられる。データラッチ3
2からデータパス35を介して与えられる8ビットCAM
ADDR情報は、アドレスおよびデータセレクタ69の一部
である、アドレス選択ラッチ60のPORT1入力ポー
トに与えられる。アドレスセレクタ60のPORT2入
力ポートは、バス70のブランチ70aを介してCAM
62の出力(MATCH ADDR信号)の最下位のバイト(最下
位の8ビット)を受け取る。
【0091】図では、CAM62はまた、U7で示され
る。記憶された情報と、記憶された情報が比較される比
較情報との間に一致が見い出されるときに、MATCH ADDR
信号は、CAM62から出力される。アドレスセレクタ
60は、実質的に、透過モードおよびラッチされたモー
ドの動作を有するマルチプレクサである。このマルチプ
レクサは、PORT1入力におけるCAM ADDRまたはPO
RT2入力におけるMATCH ADDRをPORT3出力に連結
する。アドレスセレクタ60によって成し遂げられる機
能は、MIB[8]およびMIB[9]制御線を介して
それぞれ与えられるマイクロ命令制御信号AS LATCHおよ
びAS SELによって決定される。アドレスセレクタ60の
AS SEL入力ポートへの論理1入力は、PORT1 CAM A
DDR入力をPORT3出力ポートに方向づけ、論理0レ
ベルは、PORT2 MATCH ADDR入力をPO
RT3出力に方向づける。
【0092】MIB[9]パスを介してアドレスセレク
タ60に与えられるAS LATCH信号は、ラッチま
たはイネーブル信号として作用する。従って、AS LATCH
における論理1レベルにより、PORT3のビットパタ
ーンは、AS LATCH入力の状態によって決定されるよう
に、PORT1またはPORT2のパターンと一致する
ように変化し、一方、論理0レベルは、現在の出力の変
更またはラッチを防止する。DATA WRITEリクエストの間
は、アドレスセレクタ60は、CAM ADDR信号をPORT
3出力に方向づけ、情報比較リクエストの間は、アドレ
スセレクタ60は、MATCH ADDR信号をPORT3出力に
方向づける。
【0093】アドレスセレクタ60の8ビットPORT
3出力は、データパス72を介して、データセレクタ6
1のPORTB入力に与えられる16ビット値の最下位
のバイトに結合される。この16ビット値のうち最上位
バイト部分は、MIBバス線MIB[0:7]において
EPROM42によって生成される32ビットマイクロ
命令の最下位のバイトに結合される。
【0094】図6のデータセレクタ61は、上記のよう
に、PORTA入力ポートでデータパス34を介して与
えられる16ビットDATA KEY情報を受け取る。データセ
レクタ61は、アドレスセレクタ60と機能的に同様で
ある。特に、データセレクタ61は、MIBバス49ビ
ット線MIB[17]からSO制御入力ポートに与えら
れる制御信号SOの状態に応じて、PORTA入力ポー
トまたはPORTB入力ポートのいずれかの情報をPO
RTC出力ポートに転送する。論理1レベルがSO入力
ポートに与えられると、データセレクタ61は、POR
TA入力ポートからのDATA KEY情報をPORTC出力ポ
ートに結合する。論理0レベルがSO制御入力ポートに
与えられると、データセレクタ61は、PORTB入力
ポートに与えられる信号をPORTC出力ポートに結合
する。イネーブル/ディスエーブル信号は、ビット線M
IB[16]からデータセレクタ61のDS OE制御入力
ポートに与えられる。出力ポートPORTCにおけるデ
ータビットは、DS OE信号が論理0状態にあると、変更
のため使用可能になり、DS OEが論理1のときには、デ
ータビットはラッチされるかまたは使用禁止にされる。
【0095】機能的には、アドレスセレクタ60および
データセレクタ61を含むデータセレクタ69の配置に
より、データラッチ32のCAM ADDRフィールド出力は、
DATA WRITEリクエストの間に拡張データRAM63によ
って用いられるMAPPED ADDRアドレスとなり得るが、情
報比較リクエストの間には、MAPPED ADDR入力としてC
AM62から拡張データRAMに出力される一致データ
キーのアドレスを用い得る。
【0096】必然的に、EPROM42から出された特
定の命令は、CAM構造の詳細に依存するが、EPRO
M42は、広範囲なCAMを取り扱えるようにプログラ
ムされ得る。本発明の特定の実施態様において、Advanc
ed Micro Devices Corp.型Am99C10Aチップが、CAM装
置として用いられ、その技術データは、1992年CMOS MEM
ORY Products Databookに記載されている。図6におい
て、CAM62は、バス70に連結された入力/出力ポ
ートCAM IOと、MTCH信号が与えられる一致支持出力端子
72と、FULL信号が与えられる出力端子74とを有する
ものとして例示される。さらに、CAM62は、バス4
9を介してEPROM42からマイクロ命令を受け取る
ための、MIB[19]に連結されたD C制御入力と、
MIB[20]に連結されたW制御入力と、MIB[2
1]に連結されたG制御入力と、MIB[22]に連結
されたE制御入力とを有する。
【0097】CAMは、Eを論理0(L)、D Cを論理
1(H)、Gを論理1に設定し、ネガティブパルス切り
替え(クロック入力信号)をW入力ポートに与えるとに
よって入力データモードに構成される。CAMは、制御
信号E=L、D C=L、W=C、およびG=Hによってコマンド書込
みモードに構成される。そのとき、入力データモードの
CAMに転送されたデータは、CAM内のCAM ADDRフィ
ールドによって特定されるロケーションに記憶される。
【0098】図6において、拡張データRAM63は、
セグメントアドレスを受け取るバス70に連結された1
0ビットのEIR ADDR入力ポート、および記憶用拡張情報
を受け取るバス14に連結された32ビットEIR IN入力
ポートを有する。WE(書込み可能)およびCs(チッ
プセレクト)として示される一対の制御入力端子は、M
IB[26]およびMIB[27]をそれぞれ介してR
AM63をマイクロ命令EPROM42に連結する。R
AM63はまた、データライン16を介してI/Oバッ
ファ10に連結されるEIR OUT出力ポートを有する。
【0099】図7は、図6の拡張データRAM63のさ
らに詳細なブロック図である。図7において、RAM6
3は、拡張アドレスカウンタ50および拡張データRA
Mユニット51を有する。MAPPED ADDR信号は、バス7
0を介して拡張アドレスカウンタ50のEAC D入力ポー
トに与えられる。拡張アドレスカウンタ50はまた、M
IB[23]、MIB[28]、およびMIB[29]
制御線を介して、system clock(CLK)、Load、およ
びHold Cntマイクロ命令制御信号を受け取る。拡張アド
レスカウンタ50は、図5のアドレスカウンタ41と同
様に機能するため、その動作方法についてはここでは言
及しない。一般に、拡張アドレスカウンタ50は、MAPP
ED ADDRの最新の値を受け取り、所定カウント数だけ各
システムクロックパルスでカウントを増加させ、データ
パス80を介してEAC Q出力ポートから拡張データRA
Mユニット51のEIR ADDR入力ポートに与えられる、単
調に増加する10ビットアドレスを生成する。RAMユ
ニット51は、データパス14に連結された32ビット
拡張データ入力ポートEIR IN、およびMIB[26]お
よびMIB[27]に連結されたWEおよびCs制御入
力ポートをそれぞれ有し、データパス16を介して伝送
される記憶情報をEIR OUT出力ポートに生成する。
【0100】図8は、データパス80を介して図6およ
び図7の拡張データRAM63に与えられるEXTENDED A
DDRワードのディジタルフォーマットを示す。図8にお
いて、10ビットEXTENDED ADDRアドレスワードは、2
つのセクション、すなわち、EXTEND SEGMENTで示される
最上位の8ビット部分と、EXTEND INDEXで示される最下
位の2ビットに分割される。アドレスのEXTEND SEGMENT
部分は、拡張データRAM63内のメモリブロックをそ
れぞれ参照するために用いられる。RAM63には、こ
のようなメモリブロックが256個あるが、勿論、さら
にブロックを収容するために、メモリブロック数は、ア
ドレスビット数が増加する(すなわち、各ブロックのワ
ード数が減少する)限りにおいて増加される。図8のア
ドレスワードのEXTEND INDEX部分は、各セグメント内の
32ビットワードのそれぞれを参照するために用いられ
る。本発明の例示的な実施態様では、このようなビット
は2個しか存在しないため、4個の32ビットワードの
みが各ブロックでアクセスされる。しかし、この数は、
所望されるなら、増加可能である。
【0101】DATA WRITEリクエストの間、マイクロ命令
EPROM42は、順番に並べられ、制御信号を生成す
る。この制御信号は、(a)DATA KEY情報をCAM62
記憶領域に転送し、(b)所定数の32ビットワードを
拡張データRAM63に転送し、ここで、このように転
送された所定数のワードは、1つの拡張情報データパケ
ットの拡張データ部分を構成する。上記の特定の実施態
様において、マイクロ命令EPROM42は、連続的に
以下のタスクを成し遂げる。
【0102】1.MIB[17]を介して端子SOで論
理1をアサートすることによって、PORTA入力ポー
トからPORTC出力ポートへデータを転送するように
データセレクタ61(図6)を構成(configure)する。
【0103】2.MIB[16]を介して端子DS OEで
論理0をアサートすることによって、データセレクタ6
1の出力を使用可能にする。これにより、DATA KEY情報
が、バス70およびCAM62のI/OポートCAM IOに
配置される。
【0104】3.E=L、D C=H、W=C、およびG=Hを設定す
ることによって、CAM62を入力データモードに構成
する。この時点で16ビットDATA_KEYは、CAM62の
中にロードされている。
【0105】4.MIB[9]を介して端子AS SELで論
理1をアサートすることによって、PORT1入力ポー
トに与えられるCAM ADDR信号をPORT3出力ポートに
方向づけ、次いで、論理0をAS LATCH端子に与えること
によって、PORT3出力ポートに値をラッチするよう
にアドレスセレクタ60を構成する。
【0106】5.DS OE信号を論理0に保ちながら、M
IB[17]を介して論理0をSO端子に与えることに
よって、PORTB入力ポートをPORTC出力ポート
にデータを結合するようにデータセレクタ61を再構成
する。これにより、PORTB入力信号は出力ポートP
ORTCに転送され、ここで、PORTB信号は、PO
RTBの最下位バイト内の8ビットCAM ADDRフィールド
であり、最上位バイトは32ビットマイクロ命令バス4
9(すなわち、MIB[0:7])の最下位バイトによ
って与えられる。現在のMAPPED ADDRで示される16ビ
ット結合は、EXTEND SEGMENTフィールド内にCAM ADDRを
有し、バス70を介してCAM62のCAM IOポートに与
えられる。
【0107】6.バス49 MIB[0:7]における
マイクロ命令を構成し、例えば0xE0であるCAM62
の記憶コマンドを示す。この値は、16ビットMAPPED A
DDRの上位バイトとなる。
【0108】7.MIB[19:22]でE=L、D C=L、
W=C、およびG=Hをそれぞれ設定することによってコマン
ド書込みモードにCAM62を設定する。このステップ
により、CAM ADDRフィールドによって特定されるCAM
62内のロケーションにDATA KEYフィールドが記憶され
る。
【0109】上記の7ステップの最後に、DATA KEYフィ
ールドはCAMに記憶されるが、拡張情報はまだ記憶さ
れなければならない状態にある。これは、以下のステッ
プによって成し遂げられる: 8.制御信号Eを論理1に設定することによってCAM
装置を使用禁止にする。
【0110】9.LoadおよびHOLD CNT入力を論理0に設
定することによって、図7の拡張アドレスカウンタ50
をロードモードに構成する。このモードにおいて、カウ
ンタ50は、最下位ビット位置にある2つの論理0と結
合した8ビットのMAPPED ADDR値を出力ポートに転送し
てラッチする。
【0111】10.信号LOADを論理0に、信号HOLD CNT
を論理1に設定することによって、拡張アドレスカウン
タ50の制御入力をカウントモードに設定し、それによ
って、クロック入力は、拡張データRAMユニット51
に与えられるEXTENDED ADDRを増加させる。
【0112】11.I/Oバッファ10のREAD制御入力
ポートに接続されたMIB[31]をアサートし、拡張
情報パケットの4個の32ビットワードの第1ワードを
読み出す。
【0113】12.まず最初に、MIB[26]を介し
てWEを論理0にアサートし、信号Cs(MIB[2
7])を論理1から論理0に切り替え、そして論理1に
戻すことによって拡張データRAM51をライトモード
に構成する。これにより、データは、入力バッファ10
から10ビットEXTENDED ADDRフィールドによって特定
されるメモリロケーションに転送される。
【0114】13.Clk入力を論理0から論理1にア
サートすることによって拡張データカウンタを増加させ
る。これにより、拡張データRAMユニット51は、同
一セグメント内の次の32ビットワードロケーションに
データを受け入れる準備をする。
【0115】14.ステップ11、12、および13を
さらに3回繰り返し、さらに3つの32ビット拡張情報
ワードを拡張データRAMに転送する。
【0116】アドレスを増加することにより、RAMの
各セグメント内の32ビットワードが連続してアドレス
指定される。図8の新しいEXTEND SEGMENTフィールドの
それぞれは、RAM51内の新しい拡張情報パケットを
参照する。
【0117】ユーザインターフェースは一定しているた
め、図1および図3〜図6のシステムからのデータの検
索は、上述した書込みと全く同一の方法で成し遂げられ
る。ユーザは、コマンドを入力バッファ10に配置し、
空でないバッファを感知するシステムは、バッファから
コマンドおよび関連情報をフェッチし、これを処理す
る。TGSモジュール30によって生成されるタイミン
グおよび制御信号は、書込みおよび読出しシーケンスに
おいて同一である。但し、制御後に発生する相違は、マ
イクロ命令EPROM42に転送される。データの検索
は、情報比較コマンドによって成し遂げられる。
【0118】一般に、COMPAREコマンドが図1および図
3のI/Oバッファ10内の32ビット情報パケットの
最上位バイトを占有すると、図2(c)を参照しながら
記載したように、最下位の16ビットは、サーチキーと
して使用される。従って、COMPAREコマンドに応答し
て、システムは、サーチキーのコピー用にCAM62内
にすでに記憶されているデータをサーチする。データキ
ーは、すでの記憶されているマスクキーによって変更さ
れる。最新のサーチキーは、CAM62内にあるCompar
andレジスタ(図示されていない)内に記憶される。次
に、Comparandレジスタの内容は、並列的に、すべての
CAM記憶部位に提示される。サーチキーと、すでに記
憶されているデータキーとの間に一致が見い出される
と、各一致データキーに関連した拡張データパケットが
ユーザに戻される。複数の一致が見い出される場合に
は、複数の拡張情報パケットがI/Oバッファ内に配置
される。I/Oバッファへの情報の配置は、データの一
致が見い出されたことを示す、EDIOバスの制御線1
2eでの論理0OUTPUT READY信号のアサートを伴う。マ
イクロ命令EPROM42は、特定の命令を出して情報
比較リクエストを実行する。
【0119】1.論理1をSO入力端子に与えることに
よって、PORTA入力からPORTC出力にデータを
転送するようにデータセレクタ61を構成する。これに
より、情報比較リクエストのSEARCH KEY部分がCAMへ
のデータ転送の準備をする。
【0120】2.DS OEを論理0レベルにアサートする
ことによって、データセレクタ61の出力を使用可能に
する。
【0121】3.Cs制御信号ポートを論理1レベルに
アサートすることによって、拡張データらM63を使用
禁止にする。
【0122】4.4つの制御ポートに、E=L、D C=H、W=
C、およびG=Hを設定することによって、CAM62を構
成する。
【0123】上記の例示的な実施態様において、上記の
ような情報比較リクエストのステップ4で成し遂げられ
る構成はまた、提示されたばかりのSEARCH KEYフィール
ドと共にCAM62に存在するすでの記憶されているす
べてのDATA KEYフィールド間で比較サイクルを開始す
る。これらの比較は、並列に行われる。
【0124】ステップ4の後一致が見い出されない場合
には、TGSモジュール30は、アドレスカウンタ41
を使用禁止にし、EPROM42のマイクロ命令のアド
レス指定を停止し、これにより、情報比較サイクルを効
果的に終了する。SEARCH KEYと、DATA KEYの少なくとも
1つとの間にCAM62によって一致が見い出される
と、CAM62のMTCH出力ポートは、TGSモジュ
ール30に連結した制御線72上に論理0をアサートす
る。TGSモジュール30は、アドレスカウンタ41に
カウンティングおよびEPROM42のアドレス指定を
続行させ、それによって、付加マイクロ命令を生成し、
情報比較処理を続行することによって応答する。さら
に、CAM62は、CAM IOポートおよびバス70と最初
に一致が見い出されたDATA KEYのCAM62におけるア
ドレスをゲートで制御する。情報比較リクエストを続行
するために行われるステップおよび関連のマイクロ命令
は以下の通りである: 5.MIB[16]でDS OEを論理1レベルにアサート
することによって、図6のデータセレクタ61の出力ポ
ートPORTCを使用禁止にする。これにより、以下の
ステップ6およびステップ7の間に最新のCAMアドレ
スが維持される。
【0125】6.MIB[9]の論理0値をAS-SEL端子
に与えることによって、PORT2の入力からPORT
3の出力へデータを方向づけるように図6のアドレスセ
レクタ60を構成する。これにより、CAM62からの
一致アドレスをPORT2を介してPORT3に方向づ
ける。
【0126】7.AS-LATCH入力ポートを論理1から論理
0レベルに切り替えることによって、アドレスセレクタ
60のPORT3出力に現在あるデータをラッチする。
この動作により、CAM62からの最新の一致ワードの
アドレスがラッチされ、データセレクタ61のPORT
B入力で得られるようになる。
【0127】8.制御信号Eを論理1レベルにアサート
することによってCAM62を使用禁止にする。これに
より、現在の一致アドレスが処理されている間に、CA
M状態を保持する効果が得られる。
【0128】9.論理0値をMIB[16]を介してDS
-OE端子に与えることによって、データセレクタ61の
出力PORTCを使用可能にする。
【0129】10.MIB[17]のSO信号を論理0
レベルにアサートすることによって、PORTB入力か
らPORTC出力へデータを転送するようにデータセレ
クタ61を構成する。データセレクタ61のPORTC
出力にラッチされている最下位のバイトは、一致データ
に対応する拡張データが記憶されている拡張データRA
M63内のEXTEND-SEGMENTの開始アドレスである。
【0130】11.MIB[28](Hold-Cnt)およびL
oad MIB[29]に論理0をアサートし、拡張アドレ
スカウンタ(図7)に、バス70から、拡張データ開始
アドレスをロードする。
【0131】12.MIB[29]のLoad信号を論理0
にし、MIB[28]のHold-Cnt信号を論理1に設定す
ることによって、拡張アドレスカウンタ50をカウンテ
ィングモードにする。拡張アドレスカウンタ50は、M
IB[23]のCLK信号が論理0から論理1になり、
論理0に戻るたびにカウントする。
【0132】13.MIB[26]の制御信号WEを論
理1に設定し、MIB[27]の制御信号Csを論理0
に設定することによって拡張データRAM51を読み出
す。CAMにおいて一致したデータに対応する32ビッ
トEXTENDED DATAワードは、Match-Data-Outデータパス
16に現れ、図3のFIFOバッファ21のOUTD入
力ポートに与えられる。
【0133】14.システムクロック信号と同期して、
MIB[24]のOUTW信号を論理1から論理0に設
定し、そして論理1に再び設定することによって、Matc
h-Data-Outデータパス16からの32ビットEXTENDED D
ATAワードをFIFOバッファに書き込む。これによ
り、拡張データRAM51からの32ビットワードの最
初の1つが、図1のI/Oバッファ10に書き込まれ
る。これは、PROM42によって与えられる3つの連
続した制御ワードにおいて成し遂げられる。
【0134】15.CLK入力をMIB[23]で、論
理0から論理1にアサートし、再び論理0に戻すことに
よって、図7の拡張アドレスカウンタ50を増加させ
る。増加されたアドレスは、データパス80に現れる。
【0135】16.ステップ13から15を更に3回繰
り返し、一致CAMデータに関連した残りの3つの32
ビットEXTENDED DATAワードを読み出し、検索できるよ
うにそれらを図1のI/Oバッファ10にロードする。
【0136】17.拡張データが検索されたばかりの一
致より、さらに一致がCAM62によって見いだされる
か否かを決定するために、CAMは、MIB[22]に
おけるE制御信号として論理0を与えることによって使
用可能となり、PROM42によってコマンドが出さ
れ、一致したばかりのアドレスに関連した、Skip-Bitセ
ル制御ビットを論理1に設定する。この動作は、この特
定のDATA-KEY位置が一致するのを禁止する。複数の一致
の場合、CAM62の出力は、次に一致するアドレスの
アドレスを反映するか、さらに一致がない場合には、C
AM62によってデータパス72におかれたMTCH出
力信号が論理1となる。
【0137】18.CAM62のMTCH出力信号がス
テップ17の後にも論理0である場合には、ステップ5
から17を繰り返すか、あるいは終了する。
【0138】ユーザが図2(b)に示されるフォーマッ
トで入力パケットのCMDフィールド内にMASK-WRITEコ
マンドを入力すると、write-maskサイクルが開始する。
TGSモジュール30は、上記のように、CMDフィー
ルドを復号化し、マイクロ命令EPROM42内のマイ
クロ命令のブロックの開始アドレスにシステムを方向づ
け、マイクロ命令は、協力してMASK-WRITEコマンドを実
行する。図1および図4を参照すると、データラッチ3
2の出力は、データパス35に与えられる8ビットバイ
トと、データパス34に与えられる下位の16ビット部
分とに分離される。MASK-KEYは、データラッチ32の出
力において16ビットのパス34に現れる。データパス
35のMSB部分は使用されない。なぜなら、MSB部
分は、データラッチの制御状態によってブロックされる
からである。16ビットのMASK-KEYは、データパス34
から図6のデータセレクタ61のPORTA入力ポート
に与えられる。データパス35における8ビットCAM-AD
DRフィールドは、アドレスセレクタ60のPORT1ポ
ートに連結される。データセレクタ61の最上位の8ビ
ットバイトのPORTBは、マイクロ命令EPROM4
2の最下位バイトの32ビット出力からMIB[0:
7]を通して信号を受け取る。
【0139】MASK-WRTEサイクルでは、マイクロ命令に
よって、システムがデータセレクタ61のPORTA入
力に提示されたデータをCAM62の内部マスクレジス
タに転送する。記載された実施態様およびそれに関連し
た命令の特定のタスクは、以下の通りである: 1.MIB[17]を介して論理1レベルを端子SOに
与え、データセレクタ61がPORTA入力ポートから
PORTC出力ポートにデータを結合するように構成す
る。
【0140】2.MIB[16]を介して論理0信号を
端子DS-OEにおいてアサートし、データセレクタ61の
出力が新たなビット構成に変化することを可能にする。
【0141】3.上記と同一の方法を用いて、CAM入
力ポートにE=L、D-C=H、W=C、およびG=Hを与えることに
よって、CAM62を入力データモードに構成し、バス
70にあるデータをCAMに転送する。
【0142】4.MIB[9]を介して論理0をAS-SEL
に与え、MIB[8]のAS-LATCH信号を論理1から論理
0レベルに切り替えることによって、PORT1入力信
号をPORT3出力ポートに方向づけるようにアドレス
セレクタ60を構成する。
【0143】5.MIB[17]のSO信号を論理0レ
ベルに設定することによって、PORTB入力からPO
RTC出力へデータを転送するようにデータセレクタ6
1を構成する。PORTB入力信号のLSB部分は、8
ビットのCAM-ADDRフィールドであり、PORTB入力信
号の8ビットMSB部分は、MIB[0:7]に現れる
マイクロ命令の8ビットLSB部分である。
【0144】6.CAM62によって要求されるMASK-W
RITE命令を示すように、MIB[0:7]のビットを設
定する。これは、記載の例では、0x30ある。これに
より、CAM62のマスクレジスタへの書き込みコマン
ドが入力ポートCAM-I/Oで得られるようになる。
【0145】7.MIB[19:22]の書き込みモー
ドコマンド、特に、上記の方法に従ってE=L、D_C=L、W=
C、およびG=Hを設定することによって、内部マスクレジ
スタへ書き込むようにCAM62に命令を与える。これ
により、CAM62は、MIB[0:7]からのコマン
ドに従って、MASK-KEYを内部マスクレジスタに書き込
む。
【0146】図1から図8を参照しながら説明した内容
アドレスメモリは、リアルタイム事象スケジューラまた
はディスパッチャとして用いられる。これは、DATA-KEY
フィールドに、特定の番組の開始および/または終了時
間などの特定の時間を提示させることによって成し遂げ
られる。
【0147】例えば、特定の時間は、12:30AMで
あり得る。拡張データRAMに記憶されているデータ
は、タイトル、放送されるチャネル、状態(再生、終
了、待機、等)、および番組識別番号などの、特定時間
に開始または終了する番組と関連したデータである。特
別な例としては、CAMは、ビデオネットワークを介し
て放送される番組のスケジュールされた開始および終了
時間を含み得る。テレビ番組の特定の1つを説明するの
に用いられる、関連データ(すなわち、データベースレ
コード)の収集は、Cプログラミング言語の構造体とし
て以下のように記載され得る。
【0148】 struct broadcast-program{ short start-time; /*番組の開始および終了時間*/ short end-time; short program-id; /*番組識別番号*/ short physical-src-location;/*番組アドレス*/ short address-on-src; /*オンメディア*/ short broadcast-channel; /*放送チャネル*/ char status; /*再生、終了、待機、等*/ char address-in-CAM /*CAM内で用いられるアドレス*/ char application-specific-storage[2]; struct database *program-database:/*次へのポインタ*/ /*番組に関して*/ }; ここで、"short"は、16ビットエンティティであり、"
char"は、8ビットエンティティである。
【0149】"start-time"および"end-time"値は、CA
M62の内容アドレス指定可能な部分に、DATA-KEY情報
の形態で記憶される。番組に対応づけられる、または関
連する情報の残りは、2つの拡張情報データパケットと
して拡張データRAMに記憶される。拡張情報データパ
ケットの第1番目は、番組開始時間に関連し、その第2
番目は、番組終了時間に関連する。
【0150】図9は、本発明の実施態様を用いる例示的
な番組スケジューリングシステムを示す。図9におい
て、スケジューリングコンピュータ902は、オペレー
タコンソール904に連結される。コンソール904を
用いて、オペレータ、例えば、ケーブルテレビステーシ
ョンの番組マネージャは、ネットワークを通じて放送さ
れる番組のスケジュールをエンターし得る。このスケジ
ュールは、上記のように、内容アドレスメモリ906に
記憶される。
【0151】放送される番組は、サテライトフィード9
09および911、またはテープカートリッジプレーヤ
908、910および912から発信され得る。テープ
カートリッジプレーヤは、それぞれ、別のテープに複数
の番組を保持し得る。
【0152】例示のデータベースレコード内に示される
ように、各番組は、program-id、physical-src-locatio
nおよびaddress-on-srcの3つのフィールドによって識
別される。第1フィールドは、番組を識別し、第2フィ
ールド、physical-src-locationは、番組のソースを識
別する。記載の実施態様では、これは、サテライトフィ
ードまたはテープカートリッジプレーヤのいずれか1つ
であり得る。第3フィールド、address-on-srcは、ソー
スによって与えられ得る特定の番組を識別する。テープ
カートリッジプレーヤの場合、これは、特定のテープカ
ートリッジまたは特定のテープカートリッジの特定のテ
ープカウント値であり得る。サテライトフィードにおい
ては、このアドレスは、特定のサテライトトランスポン
ダであり得る。
【0153】動作時には、内容アドレスメモリシステム
906は、例えば、パーソナルコンピュータであるスケ
ジューリングコンピュータ902からのスケジューリン
グプログラムによってロードされる。スケジューリング
プログラムは、DATA-WRITEコマンドを用いて、特定の期
間、すべてのテレビ番組を記憶する。HOST-WRITE入力制
御信号は、リアルタイムクロックの割込み制御ラインに
結合される。リアルタイムクロックは、定期的に、例え
ば、1分間に1度割込みを発生する。この割込みは、現
在の時間、または現在の時間より幾分か前の時間をED
IO入力バスに配置する。入力データのコマンドフィー
ルドは、連続したCompare-Informationリクエスト、す
なわち、現在の時間と記憶されている時間とを比較する
ように設定される。これにより、スケジューリングコン
ピュータ902による介入なしに、現在の時間と、記憶
されているすべての番組の開始または終了時間とが連続
して比較され、現在の時間で開始および終了するように
要求される番組が識別される。
【0154】1つまたはそれ以上の番組の開始もしくは
終了時間に対応する時間をメモリ906に与えると、メ
モリ906は、番組用のデータベースレコードをスケジ
ューリングコンピュータ902に自動的に戻す。このデ
ータに応答して、コンピュータ902により、1つのテ
ープカートリッジプレーヤ(例えば、プレーヤ908)
が番組の再生を終了し、他のテープカートリッジプレー
ヤ(例えば、プレーヤ910)が同時に他の番組を開始
する。これらのカートリッジプレーヤのそれぞれは戻さ
れたデータベースレコードのそれぞれにおいて識別され
る。図9に示されるように、可能なソースのすべてがマ
ルチプレクサ914に連結される。スケジューリングコ
ンピュータ902はまた、マルチプレクサ914を制御
して、どの信号がケーブルに伝送されるかを決定する。
図9に示される簡略されたシステムでは、1つのケーブ
ルチャネルのみが例示されている。しかし、実際のシス
テムは、さらに多くのケーブルチャネル用の機器を有
し、比較的大きな数のレコードを保持する内容アドレス
指定可能なデータベースを有していてもよい。最も柔軟
な場合には、各ソースは、それぞれが異なるケーブルチ
ャネルに対応する複数のマルチプレクサに連結される。
【0155】本発明の他の実施態様は、当業者には明ら
かであろう。例えば、32ビットコマンドおよびEXTEND
ED DATAワードについて記載したが、その他の数のビッ
トが用いられ、異なる数のビットがコマンドおよびEXTE
NDED DATAワードに使用され、ビット数は、EXTENDED DA
TAワード間で異なっていてもよい。コマンドフィール
ド、CAM-ADDRフィールド、およびすべてのKEYフィール
ドなどの種々のフィールドに割り当てられるコマンドワ
ード内のビット数は、本願明細書に記載のものと異なり
得る。
【0156】さらに、図1および図5のマイクロ命令E
PROM42によって成し遂げられる機能は、EPRO
Mの代わりに、任意のタイプのROMまたは不揮発性メ
モリによって成し遂げられる得る。CAMシステムは、
上記のスケジューリング以外の応用に用いられ得る。例
えば、本の場合、ページ番号または題目索引がDATA-KEY
情報として記憶され、ページまたは題目が拡張データと
して記憶され、それによって、ページまたは主題に基づ
いた情報の迅速な検索が可能となる。同様に、圧縮オー
ディオまたはスピーチフラグメントは、DATA-KEY情報と
して記憶され、関連のオーディオメッセージの拡張パッ
セージは拡張情報として記憶され得る。ビデオコンテキ
ストにおいて、ビデオフレーム番号をDATA-KEY情報とし
て記憶し、関連ビデオフレームを拡張データとして記憶
することによって、フレームを増加させて連続したアク
セスを行う代わりに、フレーム番号で瞬時のアクセスが
可能となる。
【0157】さらに、データベースレコードの割当てお
よび割当て解除は、内容アドレスメモリシステムの内部
で成し遂げられ得る。1つの例示スキームにおいて、ホ
ストプロセッサは、サーチキーを特定するDEALLOCATEコ
マンドを出す。CAMメモリは、サーチキーのすべての
具体例を見い出し、それらをCAMメモリ62内で、C
AMエントリが有効であることを示す値、例えば0の値
を変更する。DATA-WRITEコマンドにおいてCAMアドレ
スを特定する代わりに、例示のシステムは、DATA-KEYの
みを特定する。データを記憶する前に、CAMメモリシ
ステムは、CAMメモリ62をサーチし有効なエントリ
を返す。DATA-KEYエントリを、第1に返されたエントリ
に記憶する。
【0158】本発明を例示的な実施態様に基づいて記載
したが、本発明は、添付の請求の範囲の精神および範囲
内で上述したように実施され得る。
【0159】
【発明の効果】本発明の内容アドレスメモリシステムを
用いることにより、少なくとも以下の効果が得られる。
【0160】(1)リアルタイム処理が必要とされるデー
タベースで用いるためのメモリシステムとして有効であ
る。
【0161】(2)特に、サーチを実行している間にも、
頻繁にデータが変化するビデオスケジューリングシステ
ムの自動化が実現可能となる。
【図面の簡単な説明】
【図1】本発明による内容アドレスメモリ配置の模式的
なブロック図である。このメモリ配置は、入力/出力バ
ッファと、タイミング生成および同期(TGS)モジュ
ールと、コマンドおよびデータラッチと、コマンドイン
デックス読出し専用メモリ(ROM)と、アドレスカウ
ンタと、マイクロ命令消去−プログラム可能読出し専用
メモリ(EPROM)と、データセレクタと、内容アド
レスメモリ(CAM)と、拡張データRAMとを有す
る。
【図2】(a)は、DATA WRITEコマンドを伝達するCOMM
ANDワードのフォーマットを示し、(b)は、MASK WRIT
Eコマンドを伝達するCOMMANDワードのフォーマットを示
し、(c)は、COMPAREコマンドを伝達するCOMMANDワー
ドを示す。
【図3】図1の入力/出力バッファの模式的なブロック
図である。
【図4】図1の入力/出力バッファ、TGSモジュー
ル、コマンドおよびデータラッチ部の模式的なブロック
図である。
【図5】図1のコマンドインデックスROM、アドレス
カウンタ、およびマイクロ命令EPROMの模式的なブ
ロック図である。
【図6】図1のデータセレクタ、CAM、および拡張デ
ータRAMの模式的なブロック図である。
【図7】図6の拡張データRAMの模式的なブロック図
である。
【図8】従来通りにアドレス指定された拡張データRA
Mユニットに適用されるEXTENDED ADDR信号のフォーマ
ットを示す。
【図9】本発明の実施態様を含むTV番組スケジューリ
ングシステムの模式的なブロック図である。
【符号の説明】
1 内容アドレスメモリシステム 10 双方向バッファ 12 入力/出力(EDIO)バス 12a制御線 12b制御線 12c制御線 12d制御線 12e制御線 20 FIFOバッファ 21 FIFOバッファ 30 タイミング生成および同期モジュール 31 データラッチ 32 コマンドラッチ 40 コマンドインデックスROM 41 アドレスカウンタ 42 マイクロ命令EPROM 62 CAM 63 拡張データRAM

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータブロックを保持し、それぞ
    れの該データブロックがキー部分と拡張部分とを含み、
    サーチキーに対応してメモリから該データブロックの該
    拡張部分をフェッチするメモリシステムであって、該シ
    ステムは、 各データブロックの該キー部分を内容アドレスメモリ
    (CAM)の各所定アドレスに記憶する手段と、 各該データブロックの各該拡張部を、別のメモリの、該
    各所定のアドレスから生成されるアドレスに記憶する手
    段と、 該サーチキーを用いて該CAMをサーチし、ここで、該
    サーチが成功すると、該CAMが該サーチキーに対応す
    るアドレス値を与え、該CAMによって与えられる該ア
    ドレス値からの該別のメモリ内の開始アドレス値を生成
    し、該別のメモリの該開始アドレスに記憶される、各該
    データブロックの該拡張データ部分をフェッチする手段
    とを有するシステム。
  2. 【請求項2】 キー部分と拡張部分とを有するデータを
    書き込み、該データの該キー部分に関連したサーチキー
    に応答して、該拡張部分を読み出す内容アドレスメモリ
    システムであって、該システムは、 各データが位置アドレスによって識別されるアドレス指
    定可能なランダムアクセスメモリ部分と、 ワードに構成される複数のメモリデータを含む内容アド
    レスメモリ部分であって、該内容アドレスメモリ部分の
    該ワードのそれぞれが、CAMワードアドレスによって
    識別される、内容アドレスメモリ部分と、 該内容アドレスメモリの選択されたアドレスに、該デー
    タの該キー部分を書き込み、該アドレス指定可能なラン
    ダムアクセスメモリの、該キー部分が該内容アドレスメ
    モリに書き込まれる該選択されたアドレスに対応するセ
    グメントアドレスで開始する該ランダムアクセスメモリ
    のデータのセグメントに、該データの該拡張部分を書き
    込む、該ランダムアクセスメモリと該内容アドレスメモ
    リとに連結された書込み手段と、 該ランダムアクセスメモリからのデータを検索する、該
    ランダムアクセスメモリと該内容アドレスメモリとに連
    結された読出し手段と、を有し、 該読出し手段が、 該データの該キー部分とサーチキーの少なくとも一部と
    の間の一致のために、該データの該キー部分が記憶され
    る該内容アドレスメモリの該データの少なくとも一部を
    同時にサーチし、一致が見いだされる該内容アドレスメ
    モリの該選択されたアドレスの少なくとも1つのアドレ
    スを識別し、該識別されたアドレスを出力アドレス値と
    して与える、手段と、 一致が見いだされる該内容アドレスメモリの該選択され
    たアドレスの該1つの該アドレスで開始する該ランダム
    アクセスメモリのデータの該セグメントのアドレス指定
    する手段と、 該サーチキーの該一部と一致した該キー部分と関連した
    該拡張データを読み出す手段とを有するシステム。
  3. 【請求項3】 前記読出し手段が、データの前記セグメ
    ントの開始アドレスを受け取り、該開始アドレスで開始
    するデータの該セグメント内の複数のアドレスを決定す
    る、前記ランダムアクセスメモリに連結した拡張アドレ
    スカウンティング手段を有する、請求項2に記載のシス
    テム。
  4. 【請求項4】 前記開始アドレスが、N個のゼロ値ビッ
    ト(Nは整数)、を前記出力アドレス値の下位ビット位
    置に結合することによって得られ、 前記セグメント内の前記複数のアドレス値が、前記開始
    アドレス値を2N−1倍増加させることによって決定さ
    れる、請求項3に記載のシステム。
  5. 【請求項5】 キー部分と拡張部分とを有するデータブ
    ロックをメモリ書き込み、サーチキーに応答してメモリ
    から前記データの該拡張部分をフェッチするフェッチ方
    法であって、該方法は、 該データブロックの該キー部分を、内容アドレスメモリ
    (CAM)の所定のアドレスに記憶するステップと、 該データの該拡張部分を別のメモリの該所定のアドレス
    から得られるアドレスに記憶するステップと、 該サーチキーを用いて該CAMをサーチするステップで
    あって、該サーチキーが該キー部分と一致するときに、
    該CAMが、該所定のアドレスを与えるステップと、 該CAMによって与えられる該所定のアドレスから、該
    別のメモリにおける開始アドレス値を生成するステップ
    と、 該別のメモリの該開始アドレス値に記憶される該データ
    の該拡張部分をフェッチするステップとを包含する方
    法。
  6. 【請求項6】 コマンドを介在することなく、前記デー
    タブロックが信号コマンドとして、前記CAMおよび前
    記別のメモリに与えられる、請求項5に記載の方法。
  7. 【請求項7】 前記CAMおよび前記別のメモリに与え
    られる前記データブロックが、データベースレコードで
    ある、請求項6に記載の方法。
  8. 【請求項8】 予め設定されたシーケンスにおける所定
    の事象のセットを実行するスケジューリングシステムで
    あって、 スケジュールされる該事象に関する情報を受け取るスケ
    ジューリングコンピュータであって、ここで、該事象に
    関する情報が、該予め設定されたシーケンスとは異なる
    順序で受け取られ、各事象に関して受け取られた情報
    が、該予め設定されたシーケンスにおいて該事象がいつ
    発生するかを示す時間データ値を含む、スケジューリン
    グコンピュータと、 該スケジューリングコンピュータに連結された内容アド
    レスメモリシステムとを有し、該内容アドレスメモリシ
    ステムが、 該時間データを内容アドレスメモリ(CAM)の所定の
    アドレスに記憶し、該情報を補助メモリの該所定のアド
    レスから決定される対応アドレスに記憶する手段と、 該スケジューリングコンピュータから、該所定の事象の
    セットが実行されている間に生成される、別の時間デー
    タ値を受け取り、受け取られた該別の時間データ値と一
    致するすべての時間データ値の該CAM内のアドレス値
    を戻す手段と、 該戻されたアドレス値に応答し、該補助メモリの該対応
    アドレスを決定し、該対応アドレスに記憶された該情報
    をフェッチする手段と、 該フェッチされた手段を該スケジューリングコンピュー
    タに与える手段と、 該フェッチされた情報に応答して、該フェッチされた情
    報によって示される該事象を実行する手段とを有するシ
    ステム。
JP7070197A 1994-03-29 1995-03-28 メモリシステム、内容アドレスメモリシステムおよびスケジューリングシステムならびにフェッチ方法 Withdrawn JPH086844A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/219,639 US5438535A (en) 1994-03-29 1994-03-29 Content addressable memory system
US08/219,639 1994-03-29

Publications (1)

Publication Number Publication Date
JPH086844A true JPH086844A (ja) 1996-01-12

Family

ID=22820112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7070197A Withdrawn JPH086844A (ja) 1994-03-29 1995-03-28 メモリシステム、内容アドレスメモリシステムおよびスケジューリングシステムならびにフェッチ方法

Country Status (2)

Country Link
US (1) US5438535A (ja)
JP (1) JPH086844A (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2269778A1 (en) * 1996-09-16 1998-03-19 Advanced Research Solutions, Llc Data correlation and analysis tool
US5987564A (en) * 1996-10-17 1999-11-16 Kawasaki Steel Corporation Associative memory device
US6035371A (en) * 1997-05-28 2000-03-07 3Com Corporation Method and apparatus for addressing a static random access memory device based on signals for addressing a dynamic memory access device
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
JPH11149481A (ja) * 1997-11-19 1999-06-02 Sharp Corp 情報処理装置
US6208959B1 (en) 1997-12-15 2001-03-27 Telefonaktibolaget Lm Ericsson (Publ) Mapping of digital data symbols onto one or more formant frequencies for transmission over a coded voice channel
US6052757A (en) * 1997-12-18 2000-04-18 Real 3D, Inc. Content addressable memory FIFO with and without purging
JPH11272676A (ja) * 1998-03-26 1999-10-08 Kawasaki Steel Corp 分割検索方法及び装置
AUPQ045599A0 (en) * 1999-05-20 1999-06-10 Aceinc Pty Limited Methods and apparatus for information broadcasting and reception
US7966421B2 (en) * 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
JP2002050184A (ja) * 2000-08-01 2002-02-15 Kawasaki Microelectronics Kk 連想メモリ
US6252790B1 (en) * 2000-10-16 2001-06-26 Nicholas Shectman Large-capacity content addressable memory with sorted insertion
JP3489573B2 (ja) * 2001-07-11 2004-01-19 日本電気株式会社 パケット処理装置
US7210003B2 (en) * 2001-10-31 2007-04-24 Netlogic Microsystems, Inc. Comparand generation in a content addressable memory
US6993622B2 (en) * 2001-10-31 2006-01-31 Netlogic Microsystems, Inc. Bit level programming interface in a content addressable memory
US7017089B1 (en) * 2001-11-01 2006-03-21 Netlogic Microsystems, Inc Method and apparatus for testing a content addressable memory device
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6879523B1 (en) * 2001-12-27 2005-04-12 Cypress Semiconductor Corporation Random access memory (RAM) method of operation and device for search engine systems
US7237058B2 (en) * 2002-01-14 2007-06-26 Netlogic Microsystems, Inc. Input data selection for content addressable memory
US7013367B2 (en) * 2002-07-18 2006-03-14 Intel Corporation Caching associative memory using non-overlapping data
US7378586B2 (en) * 2002-10-01 2008-05-27 Yamaha Corporation Compressed data structure and apparatus and method related thereto
US7174419B1 (en) * 2003-05-30 2007-02-06 Netlogic Microsystems, Inc Content addressable memory device with source-selecting data translator
US7260675B1 (en) * 2003-07-15 2007-08-21 Integrated Device Technology, Inc. CAM-based search engines that support pipelined multi-database search operations using encoded multi-database identifiers
US20060018142A1 (en) * 2003-08-11 2006-01-26 Varadarajan Srinivasan Concurrent searching of different tables within a content addressable memory
US7739445B1 (en) * 2004-06-11 2010-06-15 Srinivasan Venkatachary Circuit, apparatus, and method for extracting multiple matching entries from a content addressable memory (CAM) device
FR2875026A1 (fr) * 2004-09-03 2006-03-10 St Microelectronics Sa Dispositif programmable d'interface de commande
US7310696B1 (en) * 2004-12-03 2007-12-18 Crossroads Systems, Inc. Method and system for coordinating interoperability between devices of varying capabilities in a network
US7242599B2 (en) * 2005-04-22 2007-07-10 John Robert Burger Self-analyzing memory word
US7694068B1 (en) 2005-12-08 2010-04-06 Netlogic Microsystems, Inc. Re-entrant processing in a content addressable memory
KR101364443B1 (ko) * 2007-01-31 2014-02-17 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리 제어기와 메모리,이 시스템의 신호 구성 방법
US7814267B1 (en) * 2008-02-04 2010-10-12 Netlogic Microsystems, Inc. Processor with compare operations based on any of multiple compare data segments
US8468297B2 (en) * 2010-06-23 2013-06-18 International Business Machines Corporation Content addressable memory system
US11537319B2 (en) * 2019-12-11 2022-12-27 Advanced Micro Devices, Inc. Content addressable memory with sub-field minimum and maximum clamping

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0743947B2 (ja) * 1985-09-20 1995-05-15 株式会社日立製作所 内容呼び出しメモリ
US4813002A (en) * 1986-07-21 1989-03-14 Honeywell Bull Inc. High speed high density dynamic address translator
US5239642A (en) * 1991-04-02 1993-08-24 Motorola, Inc. Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices

Also Published As

Publication number Publication date
US5438535A (en) 1995-08-01

Similar Documents

Publication Publication Date Title
JPH086844A (ja) メモリシステム、内容アドレスメモリシステムおよびスケジューリングシステムならびにフェッチ方法
US4064489A (en) Apparatus for searching compressed data file
US4866601A (en) Digital data bus architecture for computer disk drive controller
US5089957A (en) Ram based events counter apparatus and method
JP2003509733A5 (ja)
JPH0623968B2 (ja) データ転送制御システム
JP4007572B2 (ja) 処理要素をプログラム位置にディスパッチする方法及び装置
JPS62297952A (ja) 可変長デ−タの記憶方式
WO2025167292A1 (zh) 一种数据读写方法、系统、设备及存储介质
US5146560A (en) Apparatus for processing bit streams
US4044336A (en) File searching system with variable record boundaries
JP4105910B2 (ja) 連想メモリ装置及びそれを用いた中継装置
US6687786B1 (en) Automated free entry management for content-addressable memory using virtual page pre-fetch
JPH0537676A (ja) 音楽情報の高速処理装置
JPH0887478A (ja) プロセス間メッセージ通信方法
US20010007559A1 (en) Interleaved processing system for processing frames within a network router
US20040268355A1 (en) Method of executing concurrent tasks by a subsystem managed by a central processor
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
JP2867965B2 (ja) データ処理装置及びデータ処理方法
US5926840A (en) Out-of-order fetching
JPH0540698A (ja) 主記憶ページ管理方式
JPS5987567A (ja) 可変長デ−タ記憶制御方式
JPH1040165A (ja) データ読み出し方法およびリードバッファ
JP2000347929A (ja) メモリic
JPH05189299A (ja) メモリ管理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020604