JPH09180468A - 連想記憶装置 - Google Patents

連想記憶装置

Info

Publication number
JPH09180468A
JPH09180468A JP7334743A JP33474395A JPH09180468A JP H09180468 A JPH09180468 A JP H09180468A JP 7334743 A JP7334743 A JP 7334743A JP 33474395 A JP33474395 A JP 33474395A JP H09180468 A JPH09180468 A JP H09180468A
Authority
JP
Japan
Prior art keywords
data
register
stored
search
address
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
JP7334743A
Other languages
English (en)
Inventor
Tomoharu Ichikawa
智治 市川
Yutaka Aoki
裕 青木
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.)
Asahi Kasei Microsystems Co Ltd
Asahi Kasei Microdevices Corp
Original Assignee
Asahi Kasei Microsystems Co Ltd
Asahi Kasei Microdevices Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Asahi Kasei Microsystems Co Ltd, Asahi Kasei Microdevices Corp filed Critical Asahi Kasei Microsystems Co Ltd
Priority to JP7334743A priority Critical patent/JPH09180468A/ja
Publication of JPH09180468A publication Critical patent/JPH09180468A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】大容量の連想記憶装置を高速検索を可能としな
がら低消費電力とする。 【解決手段】メモリセルアレイ2に例えばデータ圧縮ア
ルゴリズムによって構築される動的辞書を表すストリン
グテーブルを検索対象データとしてワード単位で格納
し、このストリングテーブルをΩレジスタ3a及びKレ
ジスタ3bに保持された検索データをもとに参照して、
検索データと検索対象データとの一致をワード毎に独立
に検出する一致検出回路を備えた一致検出回路アレイ4
で検出する。このとき、検索範囲限定回路6で、Ωレジ
スタ3aの値に基づいて検索範囲の先頭位置を決定する
とともにテーブルポインタTP の値から検索範囲の末尾
を決定し、これを検索動作決定回路5に通知することに
より、この検索動作決定回路5で決定された検索範囲で
一致検出回路アレイの一致検出回路をアクティブ状態に
制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、入力された検索デ
ータに基づいて多数の検索対象データを検索して同一又
は類似のデータの有無を出力する連想記憶装置に係り、
特に検索データに基づいて検索範囲を限定することがで
きる連想記憶装置に関する。
【0002】
【従来の技術】従来のデータ検索機能を有する連想記憶
装置(CAM:Content AddressableMemory)として
は、例えば図9に示す構成のものが提案されている。こ
の従来例は、所定ビット数m(例えばm=32)のワー
ドデータでなる検索対象データを記憶する所定数n(例
えばn=128)のワードデータ記憶部WM 1 〜WMn
が並列に設けられ、各ワードデータ記憶部WM1 〜WM
n にはワードデータを記憶する所定ビット数に対応する
数のメモリセルMC1 〜MCm を有し、これら各メモリ
セルMC1 〜MCm はワード線W1 〜Wn によって活性
化されると共に、記憶データが検索データに対応するワ
ードを表すビット線B1 〜Bmによって読出される。
【0003】そして、各ビット線B1 〜Bm 及び各ワー
ドデータ記憶部WM1 〜WMn のメモリセルMC1 〜M
m から読出されたビットデータが一致検出回路CC1
〜CCn に供給されて一致判断が行われる。これら一致
検出回路CC1 〜CCn は、入力される共通の回路動作
信号線SC がアクティブであるときに各ビット線B1
m 及びメモリセルMC1 〜MCm の一致検出を行い、
ワード内の全てのビット線B1 〜Bm 及びメモリセルM
1 〜MCm のビットデータが一致したときに一致信号
線C1 〜Cn がアクティブとなる。
【0004】この構成によれば、予め各ワードデータ記
憶部WM1 〜WMn に検索対象データを格納しておき、
この状態で、検索を行う場合には、先ず各ワード線W1
〜W n をアクティブ状態とすると共に、ビット信号線B
1 〜Bm に検索データの各ビットを設定した状態で、回
路動作信号線SC をアクティブ状態とすることにより、
検索データとワードデータ記憶部WM1 〜WMn に格納
されている検索対象データとが一致した一致検出回路C
i (i=1,2……n)がアクティブ状態となって、
検索対象データから検索データと一致するデータを抽出
することができる。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来の連想記憶装置にあっては、各ワードデータ記憶部W
1 〜WMn 毎に一致検出回路CC1 〜CCn を有する
ので、一度の検索で検索対象データの全ワードを同時に
一致検出することができ、高速検索が可能であるが、全
ての一致検出回路CC1 〜CCn が同時に動作状態とな
るため、大容量の連想記憶装置においては消費電流が非
常に大きなものとなってしまうという未解決の課題があ
る。
【0006】そこで、本発明は、上記従来例の未解決の
課題に着目してなされたものであり、高速検索を可能と
しながら低消費電力とすることができる大容量の連想記
憶装置を提供することを目的としている。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、請求項1に係る連想記憶装置は、入力された検索デ
ータに基づいてメモリセルアレイに格納された多数の検
索対象データを検索して同一又は類似のデータの有無を
出力する連想記憶装置において、前記検索データに基づ
いて検索すべき検索対象データの存在する範囲を限定す
る検索範囲限定手段と、該検索範囲限定手段で限定され
た範囲内で前記検索対象データを検索するデータ検索手
段とを備えたことを特徴としている。
【0008】この請求項1の発明においては、検索範囲
限定手段で検索データに基づいて検索対象データの存在
する範囲を限定し、この限定された範囲内についてのみ
データ検索手段で検索することにより、このデータ検索
手段に含まれる一致検出回路の動作数を限定して省電力
化を図る。また、請求項2に係る連想記憶装置は、請求
項1の発明において、前記メモリセルアレイには、デー
タ圧縮アルゴリズムによって検索データに対して過去の
文字列に専用のアドレスを割当てて辞書形式で登録され
る動的辞書が格納されていることを特徴としている。
【0009】この請求項2の発明においては、データ圧
縮アルゴリズムでは動的辞書をメモリセルアレイに格納
してゆくので、検索するデータが存在する範囲を予め限
定することができ、簡単な構成で検索範囲の限定を正確
に行うことができる。
【0010】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は本発明の一実施形態を示すブ
ロック図である。図中、1は連想記憶装置であって、検
索対象データを検索単位であるワード単位で例えば10
ワード分を格納したメモリセルアレイ2と、検索データ
を保持するΩレジスタ3a及びKレジスタ3bと、メモ
リセルアレイ2のワード毎に検索対象データと検索デー
タとの一致を各ワード毎に独立に検出する一致検出回路
CC1 〜CCn を備えた一致検出回路アレイ4と、この
一致検出回路アレイ4の各一致検出回路CC1 〜CC n
のうち所定の範囲を一致検出動作信号SC1〜SCnによっ
て動作状態とする検索動作決定回路5と、前記Ωレジス
タ3aの値から検索範囲の先頭位置を決定すると共に、
テーブルポインタTP の値から検索範囲の末尾位置を決
定して検索動作決定回路5に通知する検索範囲限定手段
としての検索範囲限定回路6とを備えている。
【0011】次に、上記連想記憶装置を使用するデータ
圧縮アルゴリズムの1つであるDCLZ(Data Compres
sion Limpel Ziv )アルゴリズム処理を図2を伴って説
明する。このDCLZアルゴリズムでは、検索データに
対して過去の文字列に専用のコードを割当てて辞書形式
で登録する動的辞書を作成するようにしている。この処
理は、先ずステップS1で、ストリングテーブルの初期
化を行う。この初期化は、入力される全てのシングルバ
イトストリング(非圧縮データバイト)をメモリに記憶
する。このとき、各データが記憶されているアドレスを
エントリーアドレスADDと称す。
【0012】次いで、ステップS2に移行して、非圧縮
データの最初の入力バイトのエントリーアドレスADD
をΩレジスタ3aに格納する。次いで、ステップS3に
移行して、現在の非圧縮データの入力バイトに続く入力
バイトが存在するか否かを判定する。ここで、続く入力
バイトが存在しないときには、ステップS4に移行して
最終ストリングを表すコードを出力して処理を終了し、
続く入力バイトが存在する場合には、ステップS5に移
行する。
【0013】このステップS5では、続く入力バイトを
Kレジスタ3bに格納してからステップS6に移行し、
ストリングΩKがストリングテーブルに存在するか否か
を判定する。この判定は、検索データΩKと検索対象デ
ータとの一致検出を行うもので、一致するデータが存在
しない場合は、ステップS7に移行してΩレジスタ3a
に格納されているエントリーアドレスADDを出力し、
次いでステップS8に移行して新たにストリングΩKを
ストリングテーブルに追加する。つまり、ストリングΩ
Kが新たな記憶データとなる。また、このとき出力され
るエントリーアドレスADDが、圧縮データとなる。
【0014】次いで、ステップS9に移行して、Kレジ
スタに格納されている入力バイトのエントリーアドレス
ADDをΩレジスタ3aに入力してからステップS3に
戻る。一方、ステップS6の判定結果が、ストリングΩ
Kと一致するデータが存在するものであるときには、ス
テップS10に移行して、ストリングΩKのエントリー
アドレスADDをΩレジスタ3aに格納してから前記ス
テップS3に戻る。
【0015】以上のようなDCLZアルゴリズム処理を
使用して文字データの圧縮を行う場合を図3について説
明する。この図3では、a,b,cの3文字で構成され
た文字列「abcabcacacb」をデータ圧縮する
場合を説明する。ここで、図3(a)は、入力バイト、
Kレジスタ及びΩレジスタ、出力コードの内容を夫々表
し、図3(b)はメモリセルアレイ2に構築される辞書
の内容がアドレスに対してKレジスタの内容及びΩレジ
スタの内容とが対応付けられて表されている。
【0016】先ず、図2の処理が実行開始されると、先
ずステップS1で辞書の初期化が行われ、図3(b)に
示すように、アドレス“1”に対応するK記憶領域に
「a」、アドレス“2”に対応するK記憶領域に「b」
及びアドレス“3”に対応するK記憶領域に「c」が夫
々格納され、Ω記憶領域にはなにも格納されない。次い
でステップS2に移行して、先頭の入力バイト「a」に
対応する辞書のアドレス“1”がΩレジスタに書込まれ
る。
【0017】次いで、続く入力バイト「b」が存在する
ので、ステップS3からステップS5に移行して、入力
バイト「b」をKレジスタに書込み、次いでステップS
6に移行して両レジスタに書込まれたデータ「b,1」
が辞書内にあるか否かを判定し、辞書内に存在しないの
で、ステップS7に移行して、Ωレジスタのアドレスデ
ータ「1」を出力コードとして出力し、次いでステップ
S8で辞書の終端即ちアドレス“4”に対応するK記憶
領域に「b」をΩ記憶領域に「1」を夫々格納し、次い
でステップS9でKレジスタの内容「b」に対応する辞
書のアドレス“2”をΩレジスタ3aに格納してからス
テップS3に戻る。
【0018】ここで、続く入力バイト「c」が存在する
ことにより、前記と同様にステップS5に移行して、入
力バイト「c」をKレジスタに書込み、次いでステップ
S6に移行して、両レジスタに書込まれている「c,
2」が辞書内に存在するか否かを判定し、この場合も辞
書内に「c,2」が存在しないので、ステップS7に移
行して、Ωレジスタの内容“2”を出力コードとして出
力し、次いでステップS8に移行して辞書のアドレス
“5”に対応するK記憶領域に「c」を、Ω記憶領域に
「2」を夫々記憶し、次いでステップS9に移行してK
レジスタの内容「c」に対応する辞書のアドレス“3”
をΩレジスタに格納してから前記ステップS3に戻る。
【0019】このステップS3でも、続く入力バイト
「a」が存在することにより、これをKレジスタに格納
し、且つ「a,3」が辞書に存在しないことにより、こ
れを辞書のアドレス“6”に格納し、“3”を出力コー
ドとして出力し、Kレジスタに格納されている「a」に
対応する辞書のアドレス“1”をΩレジスタに格納して
からステップS3に戻る。
【0020】この場合も続く入力バイト「b」が存在す
ることから、これをKレジスタに格納し、「b,1」が
辞書に格納されているか否かを判定する。この場合に
は、辞書のアドレス“4”に「b,1」が格納されてい
るので、ステップS10に移行して、アドレス“4”を
Ωレジスタに格納してからステップS3に戻る。ここで
も、続く入力バイト「c」が存在するので、これをKレ
ジスタに格納すると共に、「c,4」が辞書にないの
で、“4”を出力コードとして出力すると共に、辞書の
アドレス“7”に「c,4」を格納し、且つKレジスタ
の内容「c」に対応するアドレス“3”をΩレジスタに
格納してからステップS3に戻る。
【0021】このように順次図2の処理を繰り返すこと
により、図3(a)に示すように出力コードが出力され
ると共に、図3(b)に示すように辞書が構築される。
以上のようなDCLZアルゴリズム処理の動作を図4〜
図6を用いて簡単に説明する。これらの図4〜図6で
は、Ωレジスタ3a及びKレジスタ3bに検索データを
保持すると共に、ストリングテーブルSTに検索対象デ
ータを配置し、Ωレジスタ3a及びKレジスタ3bに保
持された検索データと完全に一致するものがストリング
テーブルST中に存在するか否かを調べることを検索と
いう。
【0022】図4〜図6の例では、メモリセルアレイ2
には、アドレスとして“0”からADDMAX までが設定
され、テーブルポインタ(Table Ptr) はストリングテー
ブルSTの構築範囲の次の書込アドレスAW 又はAW+1
即ち未構築範囲の先頭アドレスを常に示しており、さら
にメモリセルアレイ2のストリングテーブル構築範囲内
におけるアドレスADD1 にはデータΩ1 及びK1 が既
に書込まれているものとする。
【0023】そして、先ず図4に示すように、Ωレジス
タ3aにデータΩ1 が設定され、Kレジスタ3bにデー
タK1 が設定されると、これらデータΩ1 及びK1 の組
をストリングテーブルST上で検索する(ステップS
6)。このとき、ストリングテーブルSTのアドレスA
DD1 に既にデータΩ1 及びK1 の組が書込まれている
ので、検索データと検索対象データの一致を検出するこ
とができる。
【0024】このように一致が検出されたときには、ス
トリングテーブルSTに新たなデータは追加されないの
で、テーブルポインタTP の指すアドレスは変化せずそ
のまま維持される。そして、検索データに一致する検索
対象データが検出されると、図5に示すように、該当す
る検索対象データのアドレスADD1 がΩレジスタ3a
に設定され(ステップS10)、次いで後続の入力デー
タがあるか否かを判定し、後続入力データとしてデータ
2 があるときには、このデータK2 がKレジスタ3b
に設定される(ステップS5)。
【0025】そして、Ωレジスタ3a及びKレジスタ3
bに設定されたアドレスADD1 及びデータK2 の組を
ストリングテーブルST上で検索するが、このデータA
DD 1 及びK2 の組はストリングテーブルST上に存在
しない。そこで、図6に示すように、ストリングテーブ
ルSTに新たなデータを追加する。具体的には、テーブ
ルポインタTP の指すストリングテーブルの未構築領域
の先頭アドレスAW にデータADD1 及びK2 を書込
み、テーブルポインタTPの指すアドレスを1つ増加さ
せてアドレスAW +1に更新する(ステップS8)。次
いで、Kレジスタ3bに格納されているデータK2 のエ
ントリーアドレスADD2 をΩレジスタ3aに設定し、
次の入力データK3 をKレジスタ3bに設定する。
【0026】以上のようにΩレジスタ3a及びKレジス
タにデータが設定される毎にストリングテーブルを検索
して一致の検出を繰り返す。このように、例えばデータ
ADD1 及びK2 をストリングテーブルST内で検索し
たときに一致するデータが存在しない場合には、図6の
ようにアドレスADD1 以降にデータADD1 及びK2
が書込まれることになり、再度同じデータを検索した場
合に一致データが存在する場所は図6で示されるように
アドレスADD1 以降にしか存在しない。これを一般的
に表現すると、Ωレジスタ3a及びKレジスタ3bに設
定されたデータΩ及びKを検索する場合、そのデータは
アドレスΩ以降にしか存在しない。つまり検索されるデ
ータ自身によって、検索データの存在範囲を限定するこ
とができる。
【0027】また、メモリセルアレイ2上にストリング
テーブルが構築されていない部分は、データ検索の対象
とする必要がないことは明らかであり、この部分はデー
タの検索対象から外すことができる。したがって、検索
範囲限定回路6では、Ωレジスタ3aに書込まれるアド
レスに基づいてメモリセルアレイ2の検索を開始する先
頭アドレスを決定すると共に、テーブルポインタTP
指すアドレスを検索末尾アドレスとして選定し、これら
の範囲内を検索範囲として限定する。
【0028】次に、上記実施形態の動作を説明する。
今、図1に示すように、メモリセルアレイ1の記憶容量
が例えば10ワードであって、その内7ワードがストリ
ングテーブルとして既に構築されており、Ωレジスタ3
a及びKレジスタ3bに夫々検索するデータはΩx (=
3)及びKX が格納され、テーブルポインタTP がアド
レス8を示しているものとする。
【0029】この状態では、Ωレジスタ3aに格納され
た検出するデータΩX が検索範囲限定回路6に入力され
ることにより、この検索範囲限定回路6で、検索範囲を
現在のΩレジスタ3aに格納されている検出するデータ
ΩX の属するアドレス“3”以降のアドレス“4”から
現在テーブルポインタTP が示しているアドレス“8”
までの範囲を検索範囲として限定する。
【0030】そして、検索範囲限定回路6で限定された
アドレス“4”からアドレス“8”を選択するために、
検索動作決定回路5に通知する。このため、検索動作決
定回路5では、一致検出動作信号S4 〜S8 をアクティ
ブ状態としてこれに対応する各一致検出回路CC4 〜C
8 を動作状態とする。このように、メモリセルアレイ
1の検索対象ワードを格納した格納ワード領域10の内
4つのワード格納領域にのみ検索すればよく、検索範囲
を制限しない場合に比較して4/10だけ一致検出回路
を動作させればよいので消費電力を削減することができ
る。
【0031】なお、上記実施形態においては、一致検出
動作信号SC1〜SCnで一致検出回路アレイ4を構成する
ワード単位の一致検出回路をアクティブとする場合につ
いて説明したが、これに限定されるものではなく、ワー
ドを適当な大きさにまとめたセグメント単位で与えるよ
うにすれば、消費電力の削減効果は低減するが、回路規
模を小さくする構造にすることも可能である。
【0032】なお、上記実施形態における図2のデータ
圧縮を行うDCLZアルゴリズムによって圧縮された圧
縮データを伸張するには、図7に示すようなデータ伸張
アルゴリズムを適用することが好ましい。このデータ伸
張アルゴリズムは、先ずステップS21でストリングテ
ーブルの初期化を行って、アドレス“1”,“2”及び
“3”のK格納領域に夫々データ“a”,“b”及び
“c”を格納すると共に、テーブルポインタをアドレス
“4”に設定し、次いでステップS22に移行して、最
初の入力コードをOLDCODEレジスタに格納する。
【0033】次いでステップS23に移行してストリン
グテーブルのOLDCODEレジスタに格納されている
コードに対応するアドレスのK格納領域のデータをKレ
ジスタ及びストリングテーブルのCODEレジスタに格
納されているコードに対応するアドレスにおけるΩ格納
領域及びK格納領域にデータが格納されていないときの
先頭シンボルデータを表すFレジスタに格納する。
【0034】次いで、ステップS24に移行して、Kレ
ジスタの値を出力してからステップS25に移行する。
このステップS25では、後続する有為な入力コードが
存在するか否かを判定し、後続する入力コードがない場
合にはデータ伸張処理を終了し、後続する入力コードが
ある場合には、ステップS26に移行する。
【0035】このステップS26では、入力コードをC
ODEレジスタ及びINCODEレジスタに格納し、次
いでステップS27に移行して、ストリングテーブルの
CODEレジスタに格納されているコードに対応するア
ドレスにおけるΩ格納領域及びK格納領域にデータが格
納されているか否かを判定し、該当するデータが格納さ
れていないときには、ステップS28に移行して、Fレ
ジスタに格納されているデータをLIFO(Last-in,Fir
st-out) メモリに格納し、次いでステップS29に移行
してOLDCODEレジスタに格納されているコードを
CODEレジスタに格納してからステップS30に移行
する。
【0036】ステップS30では、ストリングテーブル
のCODEレジスタに格納されているコードに対応する
アドレスのΩ格納領域が空状態ではないか即ちデータが
格納されているか否かを判定し、データが格納されてい
るときにはステップS31に移行する。このステップS
31では、ストリングテーブルのCODEレジスタに格
納されているコードに対応するアドレスのK格納領域の
値をKレジスタに格納し、次いでステップS32に移行
して、Kレジスタの値を前記LIFOメモリに格納し、
次いでステップS33に移行して、ストリングテーブル
のCODEレジスタに格納されているコードに対応する
Ω格納領域の値をCODEレジスタに格納してから前記
ステップS30に戻る。
【0037】一方、ステップS30の判定結果が、スト
リングテーブルのCODEレジスタに格納されているコ
ードに対応するアドレスのΩ格納領域が空き状態である
ときには、ステップS34に移行して、ストリングテー
ブルのCODEレジスタに格納されているコードに対応
するアドレスのK格納領域の値をKレジスタに格納し、
次いでステップS35に移行して、Kレジスタの値をL
IFOメモリに格納し、次いでステップS36に移行し
て、Kレジスタの値をFレジスタに格納してからステッ
プS37に移行する。
【0038】このステップS37では、LIFOメモリ
に格納されているデータがあるか否かを判定し、格納デ
ータがあるときには、ステップS38に移行して、最新
の格納データを読出して出力してからステップS37に
戻り、LIFOメモリに格納されているデータが無いと
きにはステップS39に移行する。このステップS39
では、OLDCODEレジスタに格納されているコード
及びKレジスタに格納されているデータを夫々ストリン
グテーブルにおけるテーブルポインタで指示されている
アドレスのΩ格納領域及びK格納領域に夫々登録した後
テーブルポインタを1つ歩進させ、次いでステップS4
0に移行してINCODEレジスタの値をOLDCOD
Eレジスタに格納してから前記ステップS25に戻る。
【0039】このデータ伸張アルゴリズムを使用して前
述したデータ圧縮アルゴリズムで圧縮したデータ「1,
2,3,4,6,8」を伸張する場合を図8を伴って説
明する。ここで、図8(a)は入力コードに対する内部
レジスタ及び出力バイトの関係を示しており、図8
(b)はメモリセルアレイ2に構築される動的辞書であ
るストリングテーブルのアドレスに対するΩ格納領域及
びK格納領域の内容の関係を示している。
【0040】先ず初期化によってストリングテーブルに
図8(b)に示すようにアドレス1〜3に対応するK格
納領域に夫々“a”〜“c”を書込むと共に、Ω格納領
域は空き状態(null)とし、さらにテーブルポインタをア
ドレス“4”に設定する(ステップS21)。次いで、
最初の入力コード“1”を、図8(a)に示すように、
OLDCODEレジスタに格納すると共に、ストリング
テーブルのOLDCODEレジスタに格納された入力コ
ードに対応するアドレス“1”におけるK格納領域に格
納されているデータ“a”をKレジスタ及びFレジスタ
に格納し、且つKレジスタに格納されたデータ“a”を
出力する(ステップS22〜S24)。
【0041】そして、後続の入力コードとして“2”が
存在するので、ステップS25からステップS26に移
行して、入力コード“2”を夫々CODEレジスタ及び
INCODEレジスタに格納し、次いでストリングテー
ブルのCODEレジスタに格納された入力コード“2”
に対応するアドレス“2”にはデータ“b”が格納され
ているので、直接ステップS30に移行する。
【0042】このとき、ストリングテーブルのCODE
レジスタに格納されている入力コード“2”に対応する
アドレス“2”のΩ格納領域が空であるので、ステップ
S30からステップS34に移行し、ストリングテーブ
ルにおけるアドレス“2”のK格納領域のデータ“b”
をKレジスタに格納し、次いでKレジスタの値をLIF
Oメモリ及びFレジスタに格納する。
【0043】そして、ステップS37の判定でLIFO
メモリがデータが格納されていると判断されるので、ス
テップS38に移行して、LIFOメモリからデータ
“b”を取出し、これを出力してからステップS37に
戻る。このとき、LIFOメモリからデータ“b”を取
出したことにより、このLIFOメモリが空となるの
で、ステップS39に移行して、OLDCODEレジス
タに格納されている入力コード“1”とKレジスタに格
納されているデータ“b”とを夫々テーブルポインタで
指示されるアドレス“4”のΩ格納領域及びK格納領域
に記憶し、且つテーブルポインタをアドレス“5”に更
新する。
【0044】次いで、INCODEレジスタに格納され
ている入力コード“2”をOLDCODEレジスタに格
納してからステップS25に戻る。そして、後続入力コ
ードとして“3”が存在するので、これをCODEレジ
スタ及びINCODEレジスタに格納し、CODEレジ
スタに格納されている入力コード“3”に対応するスト
リングテーブルにおけるアドレス“3”にデータが格納
されており、そのΩ格納領域が空であるので、前述と同
様にステップS30からステップS34に移行してスト
リングテーブルにおけるCODEレジスタに格納されて
いるコード“3”に対応するアドレス“3”のK格納領
域のデータ“c”をKレジスタに格納し、このKレジス
タに格納したデータ“c”をLIFOメモリに格納し、
これを取出して出力してから、OLDCODEレジスタ
に格納されている入力コード“2”及びKレジスタに格
納されているデータ“c”をストリングテーブルのテー
ブルポインタで指示されているアドレス“5”のΩ格納
領域及びK格納領域に格納し、次いでINCODEレジ
スタに格納されている入力コード“3”をOLDCOD
Eレジスタに格納してから前記ステップS25に戻る。
【0045】そして、後続する入力コード“4”が存在
するので、この入力コード“4”をCODEレジスタ及
びINCODEレジスタに格納し、ストリングテーブル
のCODEレジスタに格納されたコード“4”に対応す
るアドレス“4”にデータが格納されており、そのΩ格
納領域にコード“1”が格納されているので、ステップ
S30からステップS31に移行し、アドレス“4”の
K格納領域に格納されているデータ“b”をKレジスタ
に格納し、このKレジスタに格納したデータ“b”をL
IFOメモリに格納し、アドレス“4”のΩ格納領域の
コード“1”をCODEレジスタに格納してからステッ
プS30に戻る。
【0046】このとき、CODEレジスタに格納されて
いるコード“1”に対応するストリングテーブルのアド
レス“1”ではΩ格納領域が空であるので、ステップS
30を経てステップS34に移行し、アドレス“1”の
K格納領域に格納されているデータ“a”をKレジスタ
に格納すると共に、このデータ“a”をLIFOメモリ
及びFレジスタに格納する。ここで、LIFOメモリに
は、前回の処理時におけるデータ“b”に続いてデータ
“a”が格納されることになる。
【0047】このため、ステップS37からステップS
38に移行して、先ずLIFOメモリから先ず後から格
納したデータ“a”を取出して出力し、次いでデータ
“b”を取出して出力する。そして、LIFOメモリか
らのデータ取出しが終了して空の状態となると、ステッ
プS39に移行して、OLDCODEレジスタに格納さ
れている入力コード“3”及びKレジスタに格納されて
いるデータ“a”をストリングテーブルのテーブルポイ
ンタで指示されているアドレス“6”のΩ格納領域及び
K格納領域に格納し、次いでINCODEレジスタに格
納されている入力コード“4”をOLDCODEレジス
タに格納してから前記ステップS25に戻る。
【0048】このとき、後続する入力コード“6”が存
在するので、これがCODEレジスタ及びINCODE
レジスタに格納され、ストリングテーブルのCODEレ
ジスタに格納されたコード“6”に対応するアドレス
“6”にデータが格納されており、そのΩ格納領域が空
でないので、ステップS27,S30を経てステップS
31に移行し、CODEレジスタに格納されているコー
ド“6”に対応するアドレス“6”のK格納領域のデー
タ“a”をKレジスタに格納し、続いてこのKレジスタ
に格納されたデータ“a”をLIFOメモリに格納し、
次いでアドレス“6”のΩ格納領域に格納されているコ
ード“3”をCODEレジスタに格納してからステップ
S30に戻る。
【0049】このとき、CODEレジスタに格納されて
いるコード“3”に対応するストリングテーブルのアド
レス“3”にはK格納領域にデータ“c”が存在するこ
とにより、このデータ“c”をKレジスタに格納し、こ
のKレジスタに格納されたデータ“c”をLIFOメモ
リ及びFレジスタに格納してから、LIFOメモリから
データ“c”及び“a”をその順に取出してこれらを出
力する。
【0050】次いで、OLDCODEレジスタに格納さ
れているコード“4”及びKレジスタに格納されている
データ“c”を夫々ストリングテーブルのテーブルポイ
ンタで指示されているアドレス“7”のΩ格納領域及び
K格納領域に登録すると共に、テーブルポインタを
“8”に更新し、次いでINCODEレジスタに格納さ
れているコード“6”をOLDCODEレジスタに格納
してから前記ステップS25に戻る。
【0051】このとき、続いて入力コード“8”が存在
するので、この入力コード“8”をCODEレジスタ及
びINCODEレジスタに格納する。ここで、CODE
レジスタに格納されたコード“8”に対応するストリン
グテーブルのアドレス“8”には未だデータが格納され
ていないので、ステップS27からステップS28に移
行し、Fレジスタに格納されているデータ“c”をLI
FOメモリに格納し、次いでOLDCODEレジスタに
格納されているコード“6”をCODEレジスタに格納
してからステップS30に移行する。
【0052】ここで、CODEレジスタに格納されたコ
ード“6”に対応するストリングテーブルのアドレス
“6”におけるΩ格納領域にコード“3”が格納されて
おり空ではないので、ステップS31に移行し、アドレ
ス“6”のK格納領域のデータ“a”をKレジスタに格
納し、次いでデータ“a”をLIFOメモリに前記デー
タ“c”の後に格納し、次いでアドレス“6”のΩ格納
領域に格納されているコード“3”をCODEレジスタ
に格納してから前記ステップS30に戻る。
【0053】このとき、CODEレジスタに格納された
コード“3”に対応するストリングテーブルのアドレス
“3”はΩ格納領域が空であるので、ステップS30か
らステップS34に移行して、アドレス“3”のK格納
領域のデータ“c”をKレジスタに格納し、このKレジ
スタのデータ“c”をLIFOメモリ及びFレジスタに
格納する。
【0054】このとき、LIFOレジスタには、
“c”、“a”、“c”がその順に格納されているの
で、これらが新しいものから順に取出されて、これらが
出力され、LIFOレジスタが空になると、ステップS
39に移行して、OLDCODEレジスタに格納されて
いるコード“6”及びKレジスタに格納されているデー
タ“c”をストリングテーブルのテーブルポインタで指
示されているアドレス“8”に登録すると共に、テーブ
ルポインタをアドレス“9”に更新してからステップS
25に戻る。
【0055】このとき、後続の入力コードが存在しない
ため、データ伸張処理を終了する。この結果、出力は
「a,b,c,a,b,c,a,c,a,c」となり、
データ圧縮時の入力データに対して最後のデータ“b”
を除く全てが正確に復号化される。したがって、最後の
データ“b”を圧縮データに付加しておくことにより、
データの復号を正確に行うことができる。
【0056】なお、上記実施形態においては、DCLZ
アルゴリズムを実現する場合について説明したが、これ
に限定されるものではなく、例えばアルファベット順に
構築された辞書の検索にも利用することができる。すな
わち、予めメモリセルアレイ1のアドレス順にアルファ
ベット順のワードを格納して辞書を構築しておくと共
に、各ワードの例えば先頭一文字のアルファベットとこ
れが含まれるアドレス範囲とをテーブル化して検索範囲
設定テーブルを作成しておき、検索するデータの先頭一
文字をもとに検索範囲設定テーブルを参照して検索対象
となるアドレス範囲を決定し、これに応じて検索動作決
定回路5で一致検出動作信号SC1〜SCnのうち該当する
一致検出動作信号SCi 〜SCjをアクティブ状態とすれ
ばよい。
【0057】
【発明の効果】以上説明したように、請求項1の発明に
よれば、検索範囲限定手段で検索データに基づいて検索
対象データの存在する範囲を限定し、この限定された範
囲内についてのみデータ検索手段で検索することによ
り、一致検出回路の動作数を限定して省電力化を図るこ
とができるという効果が得られる。
【0058】また、請求項2の発明によれば、データ圧
縮アルゴリズムでは動的辞書をメモリセルアレイに格納
してゆくので、検索するデータが存在する範囲を予め限
定することができ、簡単な構成で検索範囲の限定を正確
に行うことができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すブロック図である。
【図2】データ圧縮アルゴリズムを示すフローチャート
である。
【図3】図2の動作説明に供する説明図であって、
(a)は入力バイト、Kレジスタ及びΩレジスタ、出力
コードの内容を夫々表し、(b)はメモリセルアレイに
構築される辞書がアドレスに対してKレジスタの内容及
びΩレジスタの内容とが対応付けられて表されている。
【図4】図1の実施形態における動作の説明に供する説
明図である。
【図5】図1の実施形態における動作の説明に供する説
明図である。
【図6】図1の実施形態における動作の説明に供する説
明図である。
【図7】データ伸張アルゴリズムを示すフローチャート
である。
【図8】図7の動作説明に供する説明図であって、
(a)は入力コード、CODEレジスタ、INCODE
レジスタ、OLDCODEレジスタ、Kレジスタ、Fレ
ジスタ、出力の内容を夫々表し、(b)はメモリセルア
レイに構築される辞書がアドレスに対してKレジスタの
内容及びΩレジスタの内容とが対応付けられて表されて
いる。
【図9】従来例を示すブロック図である。
【符号の説明】
1 連想記憶装置 2 メモリセルアレイ 3a Ωレジスタ 3b Kレジスタ 4 一致検出回路アレイ 5 検索動作決定回路 6 検索範囲限定回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 入力された検索データに基づいてメモリ
    セルアレイに格納された多数の検索対象データを検索し
    て同一又は類似のデータの有無を出力する連想記憶装置
    において、前記検索データに基づいて検索すべき検索対
    象データの存在する範囲を限定する検索範囲限定手段
    と、該検索範囲限定手段で限定された範囲内で前記検索
    対象データを検索するデータ検索手段とを備えたことを
    特徴とする連想記憶装置。
  2. 【請求項2】 前記メモリセルアレイには、データ圧縮
    アルゴリズムによって検索データに対して過去の文字列
    に専用のアドレスを割当てて辞書形式で登録される動的
    辞書が格納されていることを特徴とする請求項1記載の
    連想記憶装置。
JP7334743A 1995-12-22 1995-12-22 連想記憶装置 Withdrawn JPH09180468A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7334743A JPH09180468A (ja) 1995-12-22 1995-12-22 連想記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7334743A JPH09180468A (ja) 1995-12-22 1995-12-22 連想記憶装置

Publications (1)

Publication Number Publication Date
JPH09180468A true JPH09180468A (ja) 1997-07-11

Family

ID=18280733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7334743A Withdrawn JPH09180468A (ja) 1995-12-22 1995-12-22 連想記憶装置

Country Status (1)

Country Link
JP (1) JPH09180468A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181592B1 (en) 1999-01-18 2001-01-30 Nec Corporation Content addressable memory
WO2004054186A1 (ja) * 2002-12-12 2004-06-24 Fujitsu Limited データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
US6766317B2 (en) 2001-07-18 2004-07-20 Alliance Semiconductor Range check cell and a method for the use thereof
US7249216B2 (en) 2002-12-12 2007-07-24 Fujitsu Limited Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181592B1 (en) 1999-01-18 2001-01-30 Nec Corporation Content addressable memory
US6766317B2 (en) 2001-07-18 2004-07-20 Alliance Semiconductor Range check cell and a method for the use thereof
WO2004054186A1 (ja) * 2002-12-12 2004-06-24 Fujitsu Limited データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
US7249216B2 (en) 2002-12-12 2007-07-24 Fujitsu Limited Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method

Similar Documents

Publication Publication Date Title
JP3016868B2 (ja) 連想メモリを使用するlzwデータ圧縮
JPH07114577A (ja) データ検索装置、データ圧縮装置及び方法
JPH07200247A (ja) データ圧縮装置および方法
JP3003915B2 (ja) 単語辞書検索装置
US20030208475A1 (en) Search engine for large-width data
US7290084B2 (en) Fast collision detection for a hashed content addressable memory (CAM) using a random access memory
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
JP3141866B2 (ja) 連想記憶装置及び連想メモリ検索方法
JP2000305822A (ja) データベース管理装置,データベースレコード抽出装置,データベース管理方法及びデータベースレコード抽出方法
US6470334B1 (en) Document retrieval apparatus
US20030187877A1 (en) Database retrieval apparatus, retrieval method, storage medium, and program
JP2003521140A (ja) データの圧縮に必要な時間を短縮するための方法および装置
US6404362B1 (en) Method and apparatus for reducing the time required for decompressing compressed data
JPH09180468A (ja) 連想記憶装置
JPH09180469A (ja) 連想記憶装置
WO1992005494A1 (fr) Systeme equipe d'un processeur et procede de conversion d'adresses dans ledit systeme
JP2880199B2 (ja) 記号列検索方法および検索装置
JPH04308B2 (ja)
JP3038234B2 (ja) データ圧縮装置の辞書検索方式
JPH07105092A (ja) 記憶装置
JP2772124B2 (ja) 辞書検索方式
JP2772125B2 (ja) 辞書検索方式
JP2000151419A (ja) データ圧縮方法およびデータ圧縮装置
JP2535655B2 (ja) 辞書検索方式
JPS6373422A (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: 20030304