JPH0519238B2 - - Google Patents

Info

Publication number
JPH0519238B2
JPH0519238B2 JP59229512A JP22951284A JPH0519238B2 JP H0519238 B2 JPH0519238 B2 JP H0519238B2 JP 59229512 A JP59229512 A JP 59229512A JP 22951284 A JP22951284 A JP 22951284A JP H0519238 B2 JPH0519238 B2 JP H0519238B2
Authority
JP
Japan
Prior art keywords
data
storage means
search
row
input data
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.)
Expired - Lifetime
Application number
JP59229512A
Other languages
English (en)
Other versions
JPS61107596A (ja
Inventor
Hachiro Yamada
Tsunesuke Takahashi
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP59229512A priority Critical patent/JPS61107596A/ja
Priority to US06/793,388 priority patent/US4755974A/en
Priority to DE8585113907T priority patent/DE3587137T2/de
Priority to EP85113907A priority patent/EP0180239B1/en
Publication of JPS61107596A publication Critical patent/JPS61107596A/ja
Publication of JPH0519238B2 publication Critical patent/JPH0519238B2/ja
Granted 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
    • 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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は連想記憶装置すなわち記憶内容に基
づいて番地づけを行なうことのできる記憶装置に
関する。
〔従来技術とその問題点〕
この種の連想記憶装置は電子計算機の一つの構
成要素として使われる重要な装置である。連想記
憶装置の応用例は「大型プロジエクトによる超高
性能電子計算機」(通商産業省工業技術院編集、
日本産業技術振興協会発行47年7月発行)の
PP45〜48に述べられている。これによると連想
記憶装置は、バツフアメモリのセクタが主記憶装
置のどのアドレスに対応するかを記憶し、論理ア
ドレスから物理アドレスへのアドレス変換を内容
探索によつて高速に行なうことを可能にする。
また、日経エレクトロニクス(1980.10.27発
行)の102〜136ページには、リスト処理、画像処
理、データベースへの応用が記載されている。
この種の連想記憶装置に使われる連想記憶素子
については既に多くの文献にたとえば「情報処理
ハンドブツク」に掲載されている「論理記憶」
(47年5月オーム社発行、情報処理学会編集、
PP13〜96〜PP13〜99)などに紹介されている。
これによると、この種の連想記憶装置は情報を記
憶しうる各記憶素子ごとに記憶内容と探索情報と
の一致を調べる一致検出回路を設けた構成の連想
記憶素子を必要とする。従つて所望のデータの格
納位置を示すアドレスを供給することによりアク
セスされる通常の記憶装置に使われる記憶素子に
比べ、従来の連想記憶素子は構成が複雑であり、
そのビツト当りコストが数十倍におよぶという欠
点を有していた。
この欠点を除去するため、情報を記憶する部分
に通常の記憶素子を用い、ワード単位に一致検出
回路を設けた連想記憶装置が従来考えられてい
た。しかし、この連想記憶装置の探索にはビツト
数に対応した回数の探索動作が必要である欠点を
有していた。
さらに、探索情報をアドレス入力とし、データ
情報を記憶する第1の通常の記憶素子と、データ
情報あるいは第1の通常の記憶素子の読取り出力
をアドレス入力とし、探索情報を記憶する第2の
通常の記憶素子とを用いた連想記憶装置が特開昭
49−73039に開示されている。しかし、この連想
記憶装置は通常の記憶素子で構成できる利点を有
しているが、探索情報あるいはデータ情報のビツ
ト数が多くなると、必要とする記憶素子数が著し
く増大し、価格上昇をもたらす欠点を有してい
る。
また、パタン認識や自然言語処理への応用とし
て、データ間の関連の度合いをハミング距離で表
わし、一定のハミング距離内の探索が可能な、あ
いまい性を有する連想記憶装置が求められてい
た。従来の連想記憶装置ではあいまい性を持たせ
るためにエラー訂正符号を導入していたが、この
ために構成が複雑となり価格上昇をもたらしてい
た。
〔発明の目的〕
本発明の目的は上記従来の連想記憶装置の欠点
を容易に解決し、アドレスを供給することにより
アクセスされる通常の記憶素子で構成され、高
速、大容量、低価格、高機能な連想記憶装置を提
供することにある。
また、本発明の他の目的は探索情報の一部をマ
スクしての探索動作や多重整合処理が可能で容易
に記憶容量を増大できる連想記憶装置を提供する
ことにある。
さらに、本発明の他の目的は探索情報と一定の
ハミング距離内にある記憶情報の探索、すなわち
あいまい性を有する連想記憶装置を提供すること
にある。
〔発明の構成〕
従つて、本発明によれば以下の連想記憶装置が
得られる。すなわち、記憶素子が行列状に配置さ
れた記憶手段と、入力データが供給され、出力が
記憶手段の各行選択線につながる行選択手段と、
登録アドレスを入力とし、出力が記憶手段の各列
選択線につながる列選択手段と、入力データが供
給され、入力データから指定ハミング距離離れた
又は以下の全てのデータで指定される行のみ反転
するデータを記憶手段の各行への書込みデータ線
に供給する書込みデータ発生手段と、記憶手段の
1対の列からの読取り出力のいずれかを選択的に
出力する切換えスイツチと、この出力につながる
エンコード手段とを備えた連想記憶装置と、入力
データの入力数を計数する計数手段と、記憶素子
が行列状に配置された記憶手段と、入力データと
の計数手段の出力とを入力とし、出力が記憶手段
の各行選択線につながる行選択手段と、登録アド
レスを入力とし、出力が記憶手段の各列選択線に
つながる列選択手段と、入力データが供給され、
指定ハミング距離離れた又は以下の全てのデータ
で指定される行のみ反転するデータを記憶手段の
各行への書込みデータ線に供給する書込みデータ
発生手段と、入力データが与えられる毎に記憶手
段の読取り出力を逐次入力し、複数の入力データ
として与えられる探索情報と記憶手段に格納され
た登録情報とのハミング距離を求め、その結果が
与えられた探索条件を満たすか否かを判定する探
索処理手段と、これにつながるエンコード手段と
を備えた連想記憶装置と、また、記憶素子が行列
状に配置された複数の記憶手段と、入力データが
供給され、出力が各記憶手段の各行選択線につな
がる行選択手段と、登録アドレスを入力とし、出
力が前記複数の記憶手段の列選択線に共通につな
がる列選択手段と、入力データが供給され、入力
データから指定ハミング距離離れた又は以下の全
てのデータで指定される行のみ反転するデータを
各記憶手段の各行への各書込みデータ線に供給す
る書込みデータ発生手段と、前記複数の記憶手段
の読取り出力を一斉に入力し、複数の入力データ
に分けて与えられる探索情報と前記複数の記憶手
段に格納された登録情報とのハミング距離を求
め、その結果が与えられた探索条件を満たすか否
かを判定する探索処理手段と、探索処理手段の出
力を一時記憶する一時記憶手段と、これに接続さ
れ、探索アドレスを出力するエンコード手段と、
前記探索アドレスで指定された前記一時記憶手段
にリセツト信号を供給するデコード手段とを備え
た連想記憶装置と、さらに、入力データの入力数
を計数する計数手段と、記憶素子が行列状に配置
された記憶手段と、入力データが供給され、出力
が記憶手段の各行選択線につながる行選択手段
と、計数手段の出力と答録アドレスとを入力と
し、出力が記憶手段の各列選択線につながる列選
択手段と、入力データが供給され、入力データか
ら指定ハミング距離離れた又は以下の全てのデー
タで指定される行のみ反転するデータとを選択的
に記憶手段の各行への書込みデータ線に供給する
書込みデータ発生手段と、複数の入力データとし
て与えられる探索情報と記憶手段の複数列に格納
された登録情報とのハミング距離を記憶手段の読
取り出力から求め、その結果が与えられた探索条
件を満たすか否かを判定する探索処理手段と、こ
れに接続され探索アドレスを発生するエンコード
手段とを備えた連想記憶装置が得られる。
〔実施例〕
以下、図面を用いて本発明のさらに詳細な説明
を行なう。
第1図は本発明による連想記憶装置の一実施例
の説明図である。この連想記憶装置は入力データ
101と探索条件102とを入力とし、探索条件
102を満たすデータが格納されている探索アド
レス162を出力するものである。このための連
想記憶装置は記憶素子が行列状に配置れさた記憶
手段110と、これと行選択線121でつなが
り、登録動作時に全ての行選択線121を並列に
駆動し、探索動作時に入力データ101で指定さ
れた行選択線121を選択的に駆動する行選択手
段120と、記憶手段と各列選択線131,13
1′でつながり、登録動作時に登録アドレス13
2と一致列選択信号133とで指定された隣接す
る2列の列選択線131,131′を一致列選択
信号133により1列毎に選択的に駆動し、探索
動作時に全ての列選択線131,131′を並列
に駆動する列選択手段130と、記憶手段110
の各行の記憶素子への書込みデータを供給する書
込みデータ線141で記憶手段110とつなが
り、入力データ101で指定された行のみ反転す
るデータと入力データ101とハミング距離が1
だけ離れたデータで指定された行のみ反転するデ
ータとを一致選択信号133により選択的に書込
みデータとして書込みデータ線141に供給する
書込みデータ発生手段140と、記憶手段110
の偶数列と奇数列の読取り信号151,151′
を入力とし、いずれか一方を探索条件信号102
により選択的に出力する切換えスイツチ150
と、この出力を入力とし、その中に“1”が含ま
れていれば“1”の整合信号161と共に“1”
の位置を示す探索アドレス162とを出力するエ
ンコード手段160とを備えている。
記憶手段110は所望のデータとその格納位置
を示すアドレスを与えることによりアクセスされ
る通常の記憶素子で構成される。この記憶手段1
10を用いてNワードMビツトの連想記憶装置を
得るためには記憶手段110に2M行2・N列の記
憶セルを用いる必要がある。
この連想記憶装置の基本的動作は登録動作と探
索動作とからなる。入力データ101は登録動作
時には登録情報、探索動作時には探索情報として
与えられる。また、探索条件を示す探索条件信号
102は“0”で一致条件を示し、“1”で探索
情報とハミング距離が1だけ離れた記憶情報の探
索を示す。以下に登録動作と探索動作について順
次に説明を行なう。
登録動作において、登録動作を示す“1”の動
作モード信号103と登録アドレス132及び入
力データ101として登録情報が与えられる。さ
らに、“0”,“1”の順序で一致列選択信号13
3が与えられる。“1”の動作モード信号103
により、行選択手段120は記憶手段110の全
ての行選択線121を並列に駆動する。登録アド
レス132は記憶手段110の隣接する2列を指
定し、一致列選択信号133は論理値“0”と
“1”により2列内の1列を指定する。“0”の一
致列選択信号133は2列内の左側の偶数列の列
選択線131を選択し、“1”の一致列選択信号
133は2列内の右側となる奇数列の列選択線1
33′を選択する。一致列選択信号133は
“0”,“1”の順序で与えられるので、列選択手
段130は登録アドレス132で指定される記憶
手段110の2列内の偶数列、奇数列の列選択線
131,131′を順次に駆動する。
第2図は記憶手段110の記憶内容の説明図で
あり、また書込みデータ発生手段140により発
生される書込みデータ141の説明図も兼ねてい
る。左側の列が偶数列、右側の列が奇数列であ
り、左側の数字がワードあるいは行番号を示す。
第2図を用いて第1図中の書込みデータ発生手段
140の説明を行なう。書込みデータ発生手段1
40は登録情報となる入力データ101を入力と
し、一致列選択信号133で指定される書込みデ
ータ141を発生し、記憶手段110に供給す
る。一例として、登録情報を数値3とすると、書
込みデータ発生手段140は“0”の一致列選択
信号133の入力時に、第2図の左側の偶数列に
対応する書込みデータ141、すなわち3行のみ
“1”となる書込みデータ141を発生する。次
に、“1”の一致列選択信号133を与えると、書込
みデータ発生手段140は登録情報とハミング距
離が1だけ離れた全てのデータで指定される行が
“1”となる書込みデータを書込みデータ141
に発生する。図の例では記憶手段110の行数を
8行、入力データ101として与えられる登録情
報のビツト数を3ビツトとし、数値3すなわち2
進数の“011”を登録している。この場合、この
登録情報とハミング距離が1だけ離れたデータは
各ビツトを反転させた“010”,“001”,“111”と
なる。従つて、書込みデータ発生手段140は2行、
1行、7行を“1”とする第2図の右側の奇数列
に対応する書込みデータを書込みデータ線141
に供給する。これらの書込みデータは書込みパル
ス信号104により、第2図に示すように登録ア
ドレス132で指定される記憶手段110の隣接
する2列に順次格納される。
以上の動作により登録動作がなされる。探索動
作に際しては、探索動作を示す“0”の動作モー
ド信号103と共に入力データ101として探索
情報が与えられる。さらに、切換えスイツチ15
0に探索条件信号102が供給される。“0”の
動作モード信号103により、行選択手段120
は探索情報で指定される記憶手段110の1行を
選択的に駆動し、列選択手段130は記憶手段1
10の全ての列の並列駆動を行なう。しがつて、
記憶手段110からは探索情報で指定される記憶
手段110の1行の内容が偶数列と奇数列の読取
り信号151と151′として出力される。記憶
手段110には第2図に示すように情報が格納さ
れているので、探索情報に一致する登録情報が格
納されている隣接する偶数列、奇数列の読取り信
号151,151′は(1,0)となる。また、
探索情報と1ビツトあるいは2ビツト以上異なる
登録情報が格納されている2列の読取り信号15
1,151′の値はそれぞれ(0,1),(0,0)
となる。
記憶手段110の各2列からの各2ビツトの読
取り信号151,151′は切換えスイツチ15
0に供給される。各切換えスイツチ150は
“0”あるいは“1”の探索条件信号102によ
り、偶数列の読取り信号151あるいは奇数列の
読取り信号151′を選択的に探索結果信号15
2としてエンコード手段160に供給する。
第3図は偶数列と奇数列の読取り信号151,
151′とハミング距離Hとの関係を示す。ハミ
ング距離H=0は記憶手段110内の記憶情報と
探索情報とが一致していることを示し、ハミング
距離H=1あるいはH>2は記憶情報と探索情報
とがそれぞれ1ビツトあるいは2ビツト以上異な
つていることを示す。従つて、偶数列の読取り信
号151は記憶情報と探索情報とが一致している
か否かを示し、奇数列の読取り信号151′は記
憶情報と探索情報とが1ビツトだけ異なつている
か否かを示す。この探索条件は探索条件信号10
2により選択され、探索結果は切換えスイツチ1
50により探索結果信号152として出力され
る。“1”の探索結果信号152は探索条件が満
たされたことを示す。
エンコード手段160は探索結果信号152を
入力とし、その中に“1”の探索結果信号152
が含まれていれば、整合信号161と共に“1”
の探索結果信号152の位置を示す探索アドレス
162を外部機器に出力する。整合信号161は
探索情報と探索条件を満たす情報が記憶手段11
0に格納されていることを示し、そのアドレスす
なわち列は探索アドレス162で示される。
なお、探索情報と探索条件を満たす複数の情報
が登録されている場合の多重整合時には、複数の
切換えスイツチ150から“1”の探索結果信号
152が発生する。この場合、探索結果信号15
2を取込むレジスタを切換えスイツチ150とエ
ンコード手段160との間に設け、さらに探索ア
ドレス162を入力とし、それで指定されるビツ
ト位置のレジスタにリセツト信号を供給するデコ
ーダを設けることで、探索条件を満たす複数の探
索アドレス162を求めることができる。
以上説明したように、この連想記憶装置は2M
ード行2Nビツト列の記憶セルの安価な通常の記
憶手段110を用いて、NワードMビツトの連想
記憶装置を構成でき、その価格低下をもたらす。
また、探索動作や登録動作は1回のメモリアクセ
スでなされ、高速動作が可能である。さらに、探
索情報とハミング距離が1だけ離れた記憶情報の
探索動作が可能であり、高機能な連想記憶装置を
提供する。
第4図は第1図の連想記憶装置に用いられた行
選択手段120の一実施例の説明図である。この
行選択手段121は登録情報や探索情報となる入
力データ101を入力とするデコーダ410と、
その各出力と動作モード信号103との論理和を
行ない記憶手段110の行選択線121を駆動す
るオアゲート420とからなる。
登録動作を示す“1”の動作モード信号103
が供給されている場合のオアゲート420の各出
力は全て“1”になり、全ての行選択線121が
並列に駆動される。しかし、探索動作を示す
“0”の動作モード信号103が供給された場合
には、探索情報となる入力データ101で指定さ
れる行選択線121のみ選択的に駆動される。こ
れにより、登録動作時には記憶手段110の全て
の行が並列に駆動され、探索動作時には探索情報
で指定される行のみ選択的に駆動される。
第5図は第1図の連想記憶装置に用いられた列
選択手段130の一実施例の説明図である。この
列選択手段は登録アドレス132と一致列選択信
号133とを各々上位と下位の入力とするデコー
ダ510と、動作モード信号103を反転させる
インバータ520と、インバータ520の出力と
デコーダ510の各出力との論理和を行ない、記
憶手段110の列選択線131を駆動するオアゲ
ート530とからなる。
登録動作時には“1”の動作モード信号103
が供給され、デコーダ510はオアゲート530
を介して登録アドレス132と一致列選択信号1
33とで指定される記憶手段110の列選択線1
31を選択的に駆動する。一致列選択信号133
はデコーダ510の下位入力に供給され、記憶手
段110の偶数列あるいは奇数列のいずれか一方
を選択する。登録動作時に一致列選択信号133
は“0”,“1”と変化するので、登録アドレス1
32で指定される記憶手段110の特定の偶数列
と奇数列への書込みを許す。探索動作時には
“0”の動作モード信号103が供給され、オア
ゲート530はデコーダ510の出力に影響され
ずに全ての列選択線131,131′を並列に駆
動する。従つて、記憶手段110の全ての列の並
列読取りを可能にする。
第6図は第1図の連想記憶装置に用いられた書
込みデータ発生手段140の一実施例の説明図で
ある。この書込みデータ発生手段は登録情報とな
る入力データ101を入力とするデコーダ610
と、オアゲート620と、切換えスイツチ630
とから構成される。この書込み発生手段は、第2
図に示した記憶手段110の左側の偶数列あるい
は奇数列に対応する書込みデータを“0”あるい
は“1”の一致列選択信号133により書込みデ
ータ線141に選択的に供給する。
すなわち、“0”の一致列選択信号133が供
給されると、各切換えスイツチ630はデコーダ
610の各出力を選択的に出力し、登録情報で指
定される書込みデータ線141のみ“1”となる
書込みデータが発生する。
“1”の一致列選択信号133が供給される
と、切換えスイツチ630はオアゲート620の
出力を選択し、書込みデータ線141に供給す
る。オアゲート620は入力データ101とハミ
ング距離が1だけ離れたデータで指定される行を
“1”とする書込みデータを発生する。最上位に
位置するオアゲート620を第0番目とし、下位
方向に順次に番号づけすると、例えばデコーダ6
10の第3の出力は第1,第2,第7番目のオア
ゲート620につながつている。従つて、“011”
の入力データ101が供給されると第1,第2,
第7行が“1”となる書込みデータがオアゲート
630から出力される。これは、入力データ10
1と1ビツト異なるデータ、すなわちハミング距
離が1だけ離れたデータ“001”,“010”,“111”
で指定される行が“1”となる書込みデータとな
る。
第7図は本発明による連想記憶装置の一実施例
の説明図である。この連想記憶装置は、第1図に
示した連想記憶装置に比べよりビツト数の多い探
索情報を取扱うことができ、探索情報の一部をマ
スキングしての探索が可能である。このため、第
1図の連想記憶装置に探索処理手段710と、入
力データ101の計数手段となるカウンタ720と
が追加されている。
この連想記憶装置の記憶構成をNワードM×K
ビツトとすると、記憶手段110は2M×K行2×
N列の行列状に配置された記憶セルで構成され
る。すなわち、記憶手段110の記憶構成は2M×
Kワード2×Nビツトとなる。また、カウンタ7
20のビツト数はKg2Kビツトとなる。従つて第
1図における2M行2×N列の記憶手段110をブ
ロツクとすると、この記憶手段110はK個のブ
ロツクで構成されることになり、ブロツクの指定
はカウンタ720により行なわれる。M×Kビツ
トの探索情報や登録情報はMビツトの入力データ
101毎に分割し、K回に分けて上位から順次に
行選択手段120や書込みデータ発生手段140
に送られる。K個の入力データ101として送ら
れる登録情報は入力データ101毎に記憶手段1
10の各ブロツクに格納される。例えば、4個の
MビツトデータA0,A1,A2,A3からなる登録情
報Aは記憶手段110の第0ブロツクにデータ
A0、第1ブロツクにデータA1、第2ブロツクに
データA2、第3ブロツクにデータA3が各々第2
図に示したように格納される。
さらに詳細に登録動作について説明する。ま
ず、先に示した4個のMビツトデータA0,A1
A2,A3からなる登録情報AをアドレスJに登録
する登録動作について説明する。ここで、データ
A0が登録情報Aの上位部分であり、データA3
最下位部分であるとし、上位データA0から順次
に供給する。次に同じ情報による探索動作につい
て説明する。両動作とも開始時に初期設定信号7
11を供給し、探索処理手段710とカウンタ7
20の初期値設定をしておく。
登録動作の場合、初期設定信号711を与える
と共に登録動作を示す“1”の動作モード信号1
03とアドレスJの登録アドレス132とをまず
供給する。これにより、カウンタ720の内容は
クリアされ、記憶手段110の第0ブロツクを指
定する。次に登録情報Aの上位部分であるデータ
A0を入力データ101として供給すると共に、
“0”の一致列選択信号133と書込みパルス信
号104を供給すると、記憶手段110の2J列目
の第0ブロツクにデータA0のデコード結果が格
納される。さらに、“1”の一致列選択信号13
3と共に負パルス信号のクロツク信号712と書
込みパルス信号104を供給することにより、第
1図の連想記憶装置と同様に記憶手段110の
(2J+1)列目の第0ブロツクにデータA0と1ビ
ツト異なる全てのデータで指定される行が“1”
となる書込みデータが格納される。カウンタ72
0はクロツク信号712の立上り時に増加するた
め、この書込み終了時にカウンタ720の内容は
増加し、記憶手段110の第0ブロツクを指定す
る。
以上の動作により、登録情報Aの部分データ
A0の書込みがなされる。このように部分データ
の書込み動作は入力データ101、書込みパルス
信号104,“0”の一致列選択信号133とを
供給する前半の動作と、入力データ101、書込
みパルス信号104,“1”の一致列選択信号1
33、クロツク信号812とを供給する後半の動
作とによりなされる。登録情報Aの答録は、デー
タA0,A1,A2,A3を入力データ101として4
回の上記部分データの書込み動作を行なうことに
よりなされる。
第8図は第7図の連想記憶装置に用いられた記
憶手段110の記憶内容の説明図である。以上の
説明に用いた4個の部分データA0,A1,A2,A3
からなる登録情報Aを登録アドレスJに登録した
場合の記憶手段110の内容を示す。この例では
ブロツク内のワード数を8ワードとし、部分デー
タA0,A1,A2,A3としてそれぞれ数値3,5,
1,0を与えている。この登録情報の登録を行な
うと、記憶手段110の2J列と(2J+1)列に同
図に示すようなデータが格納される。すなわち、
偶数列となる2J列には第0ブロツクの第3行、第
1ブロツクの第5行、第2ブロツクの第1行、第
3ブロツクの第0行に“1”が格納される。奇数
列となる(2J+1)列の各ブロツクには、第2図
に示したと同様に各々部分データ3,5,1,0
とハミング距離が1離れた行に“1”が格納され
る。
このように、この連想記憶装置の登録動作にお
ける各部分データの書込み動作は第1図に示した
連想記憶装置と同様に行なわれる。
次に登録情報AがアドレスJに登録されている
状態で同じ探索情報Aで探索した場合の動作につ
いて説明する。
探索動作では“0”の動作モード信号103を
供給する。また、初期設定信号711を与え、カ
ウンタ720と探索処理手段710の内容を初期
値設定しておく。次に探索情報Aの部分データ
A0,A1,A2,A3を入力データ101として順次
に負パルス信号のクロツク信号712と共に入力
する。これにより、カウンタ720の内容はクロ
ツク信号712が入力される毎に増加し、行選択
手段120は順次に記憶手段110の第0ブロツ
クのデータA0、第1ブロツクのデータA1、第2
ブロツクのデータA2、第3ブロツクのデータA3
で指定される行選択線121を駆動する。この行
選択線121につながる記憶手段110の内容は
ブロツク毎にクロツク信号712に同期して偶数
列、奇数列の読取り信号151,151′として
出力され、探索処理手段710に供給される。記
憶手段110には第8図に示した内容が格納され
ているので、データA0,A1,A2,A3の入力に対
する2J列と(2J+1)列の読取り信号151,1
51′は(1,0)となる。
次に、探索情報AがK個のMビツトの部分デー
タA0,A1,…,Ai,…,Ak−1(A0が上位)に
分割されて入力データ101として供給されると
する。各部分データAiに対する記憶手段110
読取り信号151,151′は、記憶手段110
の隣接する2列に書込み発生手段140によりコ
ード化されて格納された登録情報の部分データと
探索情報Aの部分データAiとの比較結果を示す。
偶数列の各読取り信号151は一致結果を示し、
奇数列の読取り信号151′はその列に格納され
た登録情報の部分データが探索情報の部分データ
を1ビツト反転させた情報に一致するか否かを示
す。各部分データAiに対する偶数列と奇数列の
読取り信号151,151′を各々EVi,0Di(i
=0〜K−1)とすると、探索情報Aと記憶手段
110の各2列に格納された登録情報とが一致し
ていることを示す一致結果Eと前者が後者と1ビ
ツト異なることを示すハミング結果Hは各々(1),
(2)式により、E=Ek-1,H=Hk-1とすることで
求まる。
Ei=Ei-1・EVi ……(1) Hi=Ei-1・0Di+Hi-1・EVi ……(2) ここで、iは部分データAiの番号、i=0〜
K−1,E-1=1,H-1=0である。初期設定信
号711はi=0,E-1=1,H-1=0を行なう。
一致結果Eは全ての部分データに対し一致してい
るか否かを(1)式で調べることで求まる。(2)式の第
1項は記憶手段110に格納された登録情報が探
索情報の部分データA0〜Ai-1に対し一致し、部
分データAiと1ビツト異なるかを調べている。
(2)式の第2項は部分データA0〜Ai-1と1ビツト
異なり、部分データAiと一致するかを調べてい
る。両者を調べることにより、ハミング結果Eが
求まる。
探索処理手段710は各部分データに対する読
取り信号151,151′をクロツク信号712
に同期して取込み、(1),(2)式の論理演算を逐次実
行している。さらに、探索条件信号102により
一致結果Eあるいはハミング結果Hを選択し、探
索結果信号152として出力している。
この探索結果信号152を入力とするエンコー
ド手段160は第1図の連想記憶装置と同様に動
作し、探索条件を満たす登録情報が格納されてい
るか否かを示す整合信号161と格納位置を示す
探索アドレス162とを発生する。
以上の探索動作の説明は探索情報にマスキング
を施さない動作について説明した。この連想記憶
装置は探索情報を部分データ毎にマスキングして
探索が可能である。これはマスクする部分データ
を入力する時期に与えられたクロツク信号712
を探索処理手段710に印加することを禁止する
ことで行なわれる。部分データAiの入力時に探
索処理手段710へのクロツク信号712がマス
キングされると、前記(1),(2)式においてEVi,
0Diが取除かれ、部分データAiをマスキングして
の比較結果が求まる。
以上説明したように、本発明によればNワード
M×Kビツトの連想記憶装置を2M×Kワード2N
ビツトの通常の記憶手段110を用いて構成でき
る。第1図に示した連想記憶装置では記憶手段1
10として2M×Kワード2Nビツトの通常の記憶素
子を必要としたのに比べ、この連想記憶装置はよ
り小容量の記憶素子で構成でき、低価格化をもた
らす。また、探索条件として一致関係だけでなく
ハミング距離1の探索や、探索情報の一部をマス
キングしての探索も可能である。
第9図は第7図に示した連想記憶装置に用いら
れる探索処理手段710の一実施例の説明図であ
る。この探索処理手段は第1,第2のレジスタ9
10,920と、5個のアンドゲート930,9
31,932,933,934と、2個のオアゲ
ート940,941と、インバータ950とで構
成される。
この探索処理手段は前記(1),(2)式の論理演算に
より、一致結果Eとハミング結果Hを求め、それ
らを探索条件信号102により選択的に探索結果
信号152として出力している。
第1のレジスタ910とアンドゲート930は
(1)式の論理演算を実行し、第2のレジスタ920
とアンドゲート931,932とオアゲート94
0及び第1のレジスタ910は(2)式の論理演算を
クロツク信号712に同期して実行する。初期設
定信号711は第1のレジスタ910のセツトと
第2のレジスタ920のリセツト、すなわち、
(1),(2)式におけるE-1=1とH-1=0を行なう。
第1のレジスタ910と第2のレジスタ920に
は途中の比較結果EiとHiが保持され、全ての部
分データに対する読取り信号151,151′が
入力されると、第1,第2のレジスタ910,9
20には一致結果Eとハミング結果Hが格納され
る。
これらの結果はアンドゲート933,934と
インバータ950とオアゲート941による切換
えスイツチにより、選択的に探索結果信号152
として出力される“0”の探索条件信号102の
入力時には第1のレジスタ910内の一致結果E
が出力され、“1”の探索条件信号102の入力
時には第2のレジスタ920内のハミング結果H
が出力される。
第10図は本発明による連想記憶装置の一実施
例の説明図である。この連想記憶装置は第1図の
連想記憶装置に比べ、よりビツト数の多い探索情
報や登録情報を取扱うことができ、また第7図の
連想記憶装置に比べより高速に探索動作や登録動
作が可能であり、また多重整合処理も可能であ
る。このために第1図の連想記憶装置において、
ブロツク毎に分割された複数の記憶手段110
と、複数の行選択手段120と、複数の書込みデ
ータ発生手段140と、複数の記憶手段110の
偶数列と奇数列の読取り信号151,151′を
入力し、それらが探索条件データ102で決めら
れる探索条件を満たすか否かを求める探索処理手
段1010と、これから供給される探索結果信号
152を一時記憶するレジスタ1020と、エン
コード手段160と、デコーダ1030と、登録
アドレス132を入力とし、複数の記憶手段11
0の列選択線131を選択的に駆動する列選択手
段130とからなる。行選択手段120、列選択
手段130、書込みデータ発生手段140は第1
図の連想記憶装置と同じものを利用できる。
この連想記憶装置の記憶構成をNワードM×K
ビツトとすると、各記憶手段110は2M行2N列
の記憶素子すなわち2Mワード2Nビツトとなり、
その数はK個となる。第7図の連想記憶装置はビ
ツト数の拡張を記憶手段110のワード数の拡張
により行なつたが、この連想記憶装置では記憶手
段110の個数を増すことでビツト数を拡張して
いる。従つて、第7図の連想記憶装置における記
憶手段110のブロツクはこの連想記憶装置にお
ける各記憶手段110に対応する。M×Kビツト
の探索情報や登録情報はK個のMビツトの入力デ
ータ101に分割され、各々K個の行選択手段1
20や書込みデータ発生手段140に並列に供給
される。第10図ではK=3としている。
登録動作に際して、3個の入力データ101で
供給される登録情報は入力データ101毎に第2
図に示したように各記憶手段110に格納され、
登録される。
探索動作に際して、探索情報として供給される
各入力データ101で指定される各記憶手段11
0の内容は偶数列と奇数列の読取り信号151,
151′として探索処理手段1010に供給され
る。探索処理手段1010は読取り信号151,
151′が探索条件データ102で決められた探
索条件を満すか否かを調べ、結果を探索結果信号
152としてNビツトのレジスタ1320に供給
する。レジスタ1020はこの探索結果信号15
2をクロツク信号712に同期して取込む。レジ
スタ1020の内容は記憶手段110の各2列に
格納されている登録情報が入力データ101とし
て与えられる探索情報と探索条件データ102と
して与えられる探索条件に整合したか否かを
“1”,“0”で示す。整合したことを示す“1”
の内容をレジスタ1020が保持していること
と、そのビツト位置はエンコード手段160によ
り整合信号161と探索アドレス162として出
力される。この探索アドレス162が探索条件を
満たす登録情報が格納されているアドレスを示
す。
複数のアドレスで整合する場合の多重整合時に
は、レジスタ1320内の複数のビツトが“1”
を保持する。この場合、リセツト信号1031を
印加する。デコード手段1030はリセツト信号
1031を探索アドレス162で指定されるレジ
スタ1020のビツトのリセツト入力に供給す
る。これにより、先に出力した探索アドレス16
2に対応するレジスタ1020のビツトはリセツ
トされる。従つて、エンコード手段160は次の
探索アドレス162を出力する。外部機器は整合
信号161を監視し、それが“0”になるまでリ
セツト信号1031を与えることで、多重整合時
の全ての探索アドレス162を求めることができ
る。
このように、この連想記憶装置は探索情報や登
録情報のビツト数を記憶手段110の記憶容量を
余り増加させずに拡張できる。また、一致条件だ
けでなく、ハミング距離1の探索条件による探索
動作や多重整合処理も可能である。さらに、第7
図の連想記憶装置では登録情報や探索動作を複数
回に分けて入力していたが、この連想記憶装置で
は並列に入力できる。したがつて、1回の記憶手
段110のアクセスで探索動作を行なえ、高速化
されている。
第11図は第10図の連想記憶装置に用いられ
た探索処理手段1010の一実施例の説明図であ
る。この探索処理手段は6個のアンドゲート11
10〜1160と、2個のオアゲート1170,
1180と、インバータ1190とを備えてい
る。この探索処理手段は各記憶手段の偶数の同一
列の読取り信号151と奇数列の同一列の読取り
信号151′と、外部から探索条件信号102と
が入力される。第11図の連想記憶装置では記憶
手段110の2列毎にこの探索処理手段が設けら
れている。
K個の記憶手段110の特定の偶数列の読取り
信号151をEV0〜EVi〜EVK-1とし、それに隣
接する奇数列のK個の読取り信号151′を0D0
〜0Di〜0DK-1とすると、一致結果E、ハミング
結果Hはそれぞれ(1),(2)式により求まる。ここ
で、記憶手段110の個数を第10図に示すよう
にK=3とすると、一致結果Eとハミング結果H
は(3),(4)式で求まる。
E=EV0・EV1・EV2 ……(3) H=EV0・EV1・0D2+EV0・0D1・EV2
0D0・EV1・EV2 ……(4) (3)式の論理演算を実行するアンドゲート111
0は一致結果Eを求め、(4)式を実行するアンドゲ
ート1120,1130,1140とオアゲート
1170はハミング結果Hを求める。これらの結
果はアンドゲート1150,1160とオアゲー
ト1180とインバータ1190による切換えス
イツチで探索条件信号102により選択的に探索
結果信号152として出力される。
第9図の探索処理手段がクロツク信号712に
同期して逐次(1),(2)式の論理演算を実行していた
のに対し、この探索処理手段は(3),(4)式に示すよ
うに並列に実行している。
第12図は本発明による一実施例の説明図であ
る。第7図あるいは第10図の連想記憶装置はビ
ツト数の拡張を記憶手段110のワード数の拡張
あるいは記憶手段110の個数の拡張により行な
つているが、この連想記憶装置は記憶手段110
の列数すなわちビツト数の拡張により行なつい
る。このため、第7図の連想記憶装置に比べ記憶
手段110の列数を2・N・Kと増し、拡張され
た列選択手段1210を導入し、入力データの入
力数の計数手段となるカウンタ720を列選択手
段1210に接続している。
この連想記憶装置の記憶構成をNワードM×K
ビツトとすると、記憶手段110は2M行2×N×
K列の行列状に配置された通常の記憶素子で構成
される。すなわち、記憶手段110の記憶構成は
2Nワード2×N×Kビツトとなる。また、カウン
タ1210のビツト数はKg2Kビツトとなる。記
憶手段110は破線で区切られた2K列をブロツ
クとすると、N個のブロツクで構成される。この
ブロツクは連想記憶装置のワードに対応し、登録
アドレス132で指定される。M×Kビツトの探
索情報や登録情報はMビツトの入力データ101
毎に分割し、K回に分けて上位から順次に入力さ
れる。K個の入力データ101として送られる登
録情報は登録アドレス132で指定されるブロツ
ク内の各2列を対にして、第2図に示すように格
納される。
この連想記憶装置の登録動作及び探索動作は登
録情報の部分データを記憶手段110の列方向に
格納することと、探索情報の部分データに対する
読取り信号151,151′を記憶手段110の
列方向に走査して得ていることが異なるだけで、
第7図の連想記憶装置と同様に行なわれる。カウ
ンタ720は列選択手段1210を介して記憶手
段110の各ブロツク内の2列を指定する。入力
データ101として部分データが入力され終る毎
にカウンタ720の内容は増加する。従つて、列
選択手段1210は登録動作時に登録アドレス1
32で指定されるブロツク内の偶数列と奇数列の
列選択線131,131′を1列毎に順次に駆動
する動作を、部分データが入力される毎に隣接す
る2列に移動させて行なう。探索動作時には全て
のブロツク内のカウンタ720で指定された偶数
列と奇数列の列選択線131,131′を並列に
駆動する動作を、部分データが入力される毎に隣
接する2列に移動させて行なう。列選択線13
1,131′が駆動されていない列の読取り出力
はハイインピーダンス状態になるので、探索情報
の部分データが入力される毎に隣接する2列の内
容が読取り信号151,151′として順次に出
力される。
この連想記憶装置の行選択手段120、書込み
データ発生手段140、探索処理手段710、エ
ンコード手段160は第7図の連想記憶装置と同
じ手段を利用できる。
以上説明したように、本発明によればNワード
M×Kビツトの連想記憶装置を2Mワード2NKビ
ツトの通常の記憶手段を用いて構成できる。第1
図の連想記憶装置では記憶手段110として2M×K
ワード2Nビツトの通常の記憶素子を必要とした
のに比べ、この連想記憶装置はより小容量の記憶
素子で構成でき、低価格化をもたらす。また、一
致関係による探索だけでなく、ハミング距離が1
離れた記憶情報の探索も可能である。
第13図は第12図の連想記憶装置に用いられ
た列選択手段1210の一実施例の説明図であ
る。この列選択手段は登録アドレス132を入力
とするブロツクデコーダ1310と、カウンタ7
20の出力175を入力とする列デコーダ132
0と、動作モード信号103を反転させるインバ
ータ1330と、この出力とブロツクデコーダ1
310の出力とを入力とするオアゲート1340
と、一致列選択信号133を反転させるインバー
タ1350と、オアゲート1360,1370
と、オアゲート1340の出力と列デコーダ13
20の出力とオアゲート1360あるいは137
0の出力とを入力とし、記憶手段110の列選択
線131,131′を駆動するアンドゲート13
80とからなる。破線で囲まれたアンドゲート1
380の各出力は記憶手段110のブロツク内の
列選択線につながる。破線で囲まれた各アンドゲ
ート1380の第1の入力にはブロツクデコーダ
1310の各出力がつながり、第2の入力には列
デコーダ1320の各出力がつながる。また、第
3の入力にはオアゲート1360あるいは137
0の出力がつながる。オアゲート1360,13
70はそれぞれ記憶手段110の偶数列と奇数列
の列選択線131,131′の選択に用いられる。
探索動作時には“0”の動作モード信号103
が供給されるため、オアゲート1340,136
0,1370の各出力は“1”となり、記憶手段
110の各ブロツク内の列デコーダ1320で指
定された2列の列選択線131,131′が並列
に駆動される。
登録動作時には“1”の動作モード信号103
が供給されるため、ブロツクデコーダ1310、
列デコーダ1320、オアゲート1360あるい
は1370により、登録アドレス132とカウン
タ720の出力175と一致列選択信号133と
で指定される1本の列選択線131が選択的に駆
動される。従つて、その列への書込みが許可され
る。
第14図は本発明による連想記憶装置の一実施
例の説明図である。この連想記憶装置はより大容
量化を目指し、第1図、第7図、第10図、第1
2図に示した連想記憶装置に対応する連想記憶ユ
ニツト1410を複数個利用し、それにつながる
複数の出力手段1420と、各出力手段1420
につながるエンコード手段1430と、各連想記
憶ユニツト1410に書込みパルス信号104を
印加するデコード手段1440とから構成され
る。各連想記憶ユニツト1410には並列にクロ
ツク信号712、探索条件信号102、初期設定
信号711、入力データ101、動作モード信号
103、登録アドレス132、一致列選択信号1
33が供給される。
この連想記憶装置は探索情報と探索条件を満た
す記憶情報が複数個登録されている場合の多重整
合処理が可能である。しかし、第1図、第7図、
第12図の連想記憶装置では特に多重整合処理に
ついて説明しなかつた。連想記憶ユニツト141
0としてこれらの連想記憶装置を用いる場合に
は、若干の部品の追加が必要である。まず、第1
図の連想記憶装置では探索結果信号152を取込
むレジスタを設ける必要がある。さらに、第1
図、第7図、第12図の連想記憶装置では、探索
アドレス162を入力とし、それで指定されるレ
ジスタあるいは探索処理手段710にリセツト信
号を供給するデコーダを設ける必要がある。多重
整合時にデコーダを介してリセツト信号をレジス
タあるいは探索処理手段710に供給すれば、今
まで出力していた探索アドレス162に対応する
探索結果信号152はクリアされる。その結果、
エンコード手段160は次の探索アドレス162
を発生し、多重整合処理が可能となる。このよう
にして多重整合処理が可能になつた連想記憶装置
が連想記憶ユニツト1410として用いられる。
登録時には各連想記憶ユニツト1410に登録
動作を示す“1”の動作モード信号103、初期
設定信号711、一致列選択信号133、クロツ
ク信号712入力データ101、登録アドレス1
32とを第1図、第7図、第10図、第12図の
連想記憶装置と同様に供給される。登録アドレス
132はこの連想記憶装置の下位アドレスとな
り、上位アドレスは上位登録アドレス1441と
してデコード手段1440は供給される。上位登
録アドレス1441は連想記憶ユニツト1410
を指定し、登録アドレス132は連想記憶ユニツ
ト1410内のワードを指定する。連想記憶装置
への書込みを指示する書込み信号1442はデコ
ード手段1440に供給される。デコード手段1
440は書込み信号1442を上位登録アドレス
1441で指定される連想記憶ユニツト1410
に書込みパルス信号104として選択的に供給す
る。このデコード手段1440により、登録情報
は上位登録アドレス1441で選択された連想記
憶ユツニト1410に登録される。
探索時にはクロツク信号712、探索条件信号
102、初期設定信号711、入力データ10
1、動作モード信号103を各連想記憶ユニツト
1410に並列に供給する。入力データ101と
して与えられた探索情報と探索条件信号102と
して与えられた探索条件に適合した情報が登録さ
れている連想記憶ユニツト1410からは“1”
の整合信号161と共に探索アドレス162とが
出力される。出力手段1420は複数の連想記憶
ユニツト1410から“1”の整合信号161が
発生した場合に左側に位置する連想記憶ユニツト
1410の優先順位を高くし、優先順位の高い連
想記憶ユニツト1410からの探索アドレス16
2を下位探索アドレス1421として出力させ
る。連想記憶ユニツト1410に優先順位をつけ
るために、左側から右側の出力手段1420にイ
ネーブル信号1422を供給する。“0”のイネ
ーブル信号1422を供給された出力手段142
0は内部の探索アドレス162の出力バツフアを
ハイインピーダンス状態にすると共に“0”のイ
ネーブル信号1422を発生する。“1”のイネ
ーブル信号と“1”の整合信号161とが供給さ
れた出力手段1420は、探索アドレス162を
出力すると共に“0”のイネーブル信号1422
を発生する。従つて、その出力手段1420より
右側に位置する出力手段1420内の出力バツフ
アはハイインピーダンス状態にされる。探索アド
レス162を出力した出力手段1420からは整
合信号161を第1の整合信号1423として出
力し、それより右側に位置する出力手段1420
は“0”の第1の整合信号1423を発生する。
エンコード手段1430は第1の整合信号142
3を入力とし、“1”の第1の整合信号1423
が入力されたか否かを示す第2の整合信号143
1と“1”の第1の整合信号1423の位置を示
す上位探索アドレス1432とを外部機器に出力
する。第2の整合信号1431はこの連想記憶装
置内に探索情報と探索条件を満たす情報が登録さ
れていることを示し、上位探索アドレス1432
は登録されている連想記憶ユニツト1410の位
置を示す。また、下位探索アドレス1421はそ
の連想記憶ユニツト1410の探索アドレス16
2、すなわち、記憶手段110の列を示す。
外部機器は第2の整合信号1431を監視し、
上位探索アドレス1432と下位探索アドレス1
421とを読取り、さらに第1のリセツト信号1
424を各出力手段1420に印加する。第1の
リセツト信号1424は連想記憶装置内に整合す
る複数の情報が登録されている場合に、次に優先
順位の高い情報に対する探索アドレスを求めるた
めに利用される。探索アドレス162を出力した
出力手段1420は、第1のリセツト信号142
4をリセツト信号1031として連想記憶ユニツ
ト1410に供給し、それに次の探索アドレス1
62を出力させる。
このように、この連想記憶装置は第1図、第7
図、第10図、第12図に示した連想記憶装置を
用いて構成され、ワード数の拡張が容易に行な
え、大容量の連想記憶装置となる。
第15図は第14図の連想記憶装置に用いられ
た出力手段1420の一実施例の説明図である。
この出力手段は出力バツフア1510と、3個の
アンドゲート1520,1530,1540と、
インバータ1550とで構成される。
探索アドレス162は左側の出力手段1420
からイネーブル入力端子1560に入力されたイ
ネーブル信号1422と整合信号161とが共に
“1”の場合に出力バツフア1510を介して、
下位探索アドレス1421として出力される。こ
の場合、整合信号161はアンドゲート1530
を介して第1の整合信号1423として出力され
る。また、イネーブル出力端子1570からは
“0”のイネーブル信号1422が出力される。
従つて、このイネーブル出力端子1570につな
がる右側の出力手段1420の出力バツフア15
10はハイインピーダンス状態になる。また、第
1のリセツト信号1424はアンドゲート152
0を介してリセツト信号1031として連想記憶
ユニツト1410に供給される。“1”の第1の
整合信号1423を発生する出力手段1420の
両側に位置する出力手段1420に与えられた第
1のリセツト信号1424はアンドゲート152
0を通過せず、リセツト信号1031を出力しな
い。
〔発明の効果〕
以上説明したように本発明による連想記憶装置
は所望のデータの格納位置を示すアドレスを供給
することによりアクセスされる安価な通常の記憶
素子を用いて構成できる。NワードMビツトの第
1図の連想記憶装置は、記憶手段110として2M
ワード2Nビツトの通常の記憶素子で構成でき、
NワードM×Kビツトの第7図、第10図あるい
は第12図の連想記憶装置は2M×Kワード2Nビ
ツトの通常の記憶素子、2Mワード2Nビツトの通
常の記憶素子K個あるいは2Mワード2NKビツト
の通常の記憶素子で構成できる。従つて、1メガ
ビツトの半導体技術を用いれば、一例として512
ワード10ビツトの第1図の連想記憶装置、あるい
は入力データ101のビツト数を6ビツト、探索
情報の分割数K=8とすると、1キロワード48ビ
ツト構成の48キロビツトの第7図、第10図、第
12図の連想記憶装置を1チツプで実現できる。
一般に市販されている半導体連想メモリ、例えば
シグネテイツクス(Signetics)社の連想メモリ
IC8.220は4ワード2ビツトであるのに比較し、
本発明による連想記憶装置は極めて大容量である
といえる。
また、この連想記憶装置の探索動作や登録動作
は1回ないし数回の通常の記憶素子のアクセスで
終了でき、従来のワードシリアル・ビツトパラレ
ルあるいはワードパラレル・ビツトシリアルの連
想記憶装置に比べ高速である。
さらに、探索情報の一部をマスクしての探索動
作や複数のアドレスで整合した場合の多重整合処
理が可能であり、容易に記憶容量を拡張できる。
また、一致条件による探索だけでなく一定のハ
ミング距離内の探索も可能である。
すなわち、本発明によれば高速、大容量、低価
格、高機能な連想記憶装置を実現できる。このよ
うな連想記憶装置が情報処理システムの記憶装置
に利用されると、データベース、パタン認識、人
口知能などにおける連想処理や比較演算処理を高
速に実行する情報処理システムを実現できる。
なお、以上の説明において記憶手段110の偶
数列に登録情報で指定される行のみ“1”を格納
させ、奇数列に登録情報とハミング距離が1だけ
離れたデータで指定される行に“1”を格納させ
ていた。これは格納方法の一例であり、種々のハ
ミング距離を選べ、また任意のハミング距離以内
のデータで指定される行に“1”を格納させた
り、複数の列に異なるハミング距離のデータを格
納することも可能である。さらに、登録時にハミ
ング距離を指定することも可能である。また、登
録情報を記憶手段110の隣接する2列に格納さ
せていたが、特に隣接する2列に格納させなくて
も構成できる。したがつて、書込みデータ発生手
段140、探索処理手段710、列選択手段13
0,1210は種々の変形を取り得る。
また登録アドレス132と探索アドレス162
とを共通にし、入出力端子数を削減することも可
能である。
したがつて、以上の説明は本発明の特許請求の
範囲を限定するものではない。
【図面の簡単な説明】
第1図は第1の発明による連想記憶装置の一実
施例の説明図、第2図は記憶手段110の記憶内
容の説明図、第3図は読取り信号とハミング距離
との関係を示す説明図、第4図は第1図の行選択
手段120の一実施例の説明図、第5図は第1図
の列選択手段130の一実施例の説明図、第6図
は第1図の書込みデータ発生手段140の一実施
例の説明図、第7図は第2の発明による連想記憶
装置の一実施例の説明図、第8図は第7図の記憶
手段110の記憶内容の説明図、第9図は第7図
の探索処理手段710の一実施例の説明図、第1
0図は第3の発明による連想記憶装置の一実施例
の説明図、第11図は第10図の探索処理手段1
010の一実施例の説明図、第12図は第4の発
明による連想記憶装置の一実施例の説明図、第1
3図は第12図の列選択手段1210の一実施例
の説明図、第14図はさらに他の発明による連想
記憶装置の一実施例の説明図、第15図は第14
図の出力手段1420の一実施例の説明図であ
る。 110……記憶手段、120……行選択手段、
130,1210……列選択手段、140……書
込みデータ発生手段、150,630……切換え
スイツチ、160,1430……エンコード手
段、410,510,610……デコーダ、71
0……探索処理手段、720……カウンタ、91
0……第1のレジスタ、920……第2のレジス
タ、1030,1440……デコード手段、13
10……ブロツクデコーダ、1320……列デコ
ーダ、1410……連想記憶ユニツト、1420
……出力出段、1510……出力バツフア。

Claims (1)

  1. 【特許請求の範囲】 1 記憶素子が行列状に配置された記憶手段と、
    入力データが供給され、出力が記憶手段の各行選
    択線につながる行選択手段と、登録アドレスを入
    力とし、出力が記憶手段の各列選択線につながる
    列選択手段と、入力データが供給され、入力デー
    タと指定ハミング距離離れた又はそれ以下の全て
    のデータで指定される行のみ反転するデータとを
    記憶手段の各行への書込みデータ線に供給する書
    込みデータ発生手段と、記憶手段の1対の列から
    の読取り出力のいずれかを選択的に出力する切換
    えスイツチと、この出力につながるエンコード手
    段とを備えたことを特徴とする連想記憶装置。 2 前記行選択手段が登録動作時に記憶手段の入
    力データで指定可能な全ての行選択線を並列に駆
    動し、探索動作時に入力データで指定された行選
    択線を選択的に駆動することを特徴とする特許請
    求の範囲第1項に記載の連想記憶装置。 3 前記列選択手段が登録動作時に登録アドレス
    で指定された列選択線を選択的に駆動し、探索動
    作時に全ての列選択線を並列に駆動することを特
    徴とする特許請求の範囲第1項に記載の連想記憶
    装置。 4 前記書込みデータ発生手段が入力データで指
    定される記憶手段の行のみ反転するデータと入力
    データから一定のハミング距離以内あるいは離れ
    た全てのデータで指定される行のみ反転するデー
    タとを記憶手段の各行への書込みデータ線に順次
    に供給することを特徴とする特許請求の範囲第1
    項に記載の連想記憶装置。 5 入力データの入力数を計数する計数手段と、
    記憶素子が行列状に配置された記憶手段と、入力
    データと計数手段の出力とを入力とし、出力が記
    憶手段の各行選択線につながる行選択手段と、登
    録アドレスを入力とし、出力が記憶手段の各列選
    択線につながる列選択手段と、入力データが供給
    され、入力データから指定ハミング距離離れた又
    はそれ以下の全てのデータで指定される行のみ反
    転するデータを記憶手段の各行への書込みデータ
    線に供給する書込みデータ発生手段と、入力デー
    タが与えられる毎に記憶手段の読取り出力を逐次
    入力し、複数の入力データとして与えられる探索
    情報と記憶手段に格納された登録情報とのハミン
    グ距離を求め、その結果が与えられた探索条件を
    満たすか否かを判定する探索処理手段と、これに
    つながるエンコード手段とを備えたことを特徴と
    する連想記憶装置。 6 前記行選択手段が登録動作時に記憶手段の入
    力データで指定可能な全ての行選択線を並列に駆
    動し、探索動作時に入力データで指定された行選
    択線を選択的に駆動することを特徴とする特許請
    求の範囲第5項に記載の連想記憶装置。 7 前記列選択手段が登録動作時に登録アドレス
    で指定された列選択線を選択的に駆動し、探索動
    作時に全ての列選択線を並列に駆動することを特
    徴とする特許請求の範囲第5項に記載の連想記憶
    装置。 8 前記書込みデータ発生手段が入力データで指
    定される記憶手段の行のみ反転するデータと入力
    データから一定のハミング距離以内あるいは離れ
    た全てのデータで指定される行のみ反転するデー
    タとを記憶手段の各行への書込みデータ線に順次
    に供給することを特徴とする特許請求の範囲第5
    項に記載の連想記憶装置。 9 記憶素子が行列状に配置された複数の記憶手
    段と、入力データが供給され、出力が各記憶手段
    の各行選択線につながる行選択手段と、登録アド
    レスを入力とし、出力が前記複数の記憶手段の列
    選択線に共通につながる列選択手段と、入力デー
    タが供給され、入力データから指定ハミング距離
    離れた又はそれ以下の全てのデータで指定される
    行のみ反転するデータを各記憶手段の各行への各
    書込みデータ線に供給する書込みデータ発生手段
    と、前記複数の記憶手段の読取り出力を一斉に入
    力し、複数の入力データに分けて与えられる探索
    情報と前記複数の記憶手段に格納された登録情報
    とのハミング距離求め、その結果が与えられた探
    索条件を満たすか否かを判定する探索処理手段
    と、探索処理手段の出力を一時記憶する一時記憶
    手段と、これに接続され、探索アドレスを出力す
    るエンコード手段と、前記探索アドレスで指定さ
    れた前記一時記憶手段にリセツト信号を供給する
    デコード手段とを備えたことを特徴とする連想記
    憶装置。 10 前記行選択手段が登録動作時に記憶手段の
    入力データで指定可能な全ての行選択線を並列に
    駆動し、探索動作時に入力データで指定された行
    選択線を選択的に駆動することを特徴とする特許
    請求の範囲第9項に記載の連想記憶装置。 11 前記列選択手段が登録動作時に登録アドレ
    スで指定された列選択線を選択的に駆動し、探索
    動作時に全ての列選択線を並列に駆動することを
    特徴とする特許請求の範囲第9項に記載の連想記
    憶装置。 12 前記書込みデータ発生手段が入力データで
    指定される記憶手段の行のみ反転するデータと入
    力データから一定のハミング距離以内あるいは離
    れた全てのデータで指定される行のみ反転するデ
    ータとを記憶手段の各行への書込みデータ線に順
    次に供給することを特徴とする特許請求の範囲第
    9項に記載の連想記憶装置。 13 入力データの入力数を計数する計数手段
    と、記憶素子が行列状に配置された記憶手段と、
    入力データが供給され、出力が記憶手段の各行選
    択線につながる行選択手段と、計数手段の出力と
    登録アドレスとを入力とし、出力が記憶手段の各
    列選択線につながる列選択手段と、入力データが
    供給され、入力データから指定ハミング距離離れ
    た又は以下の全てのデータで指定される行のみ反
    転するデータを記憶手段の各行への書込みデータ
    線に供給する書込みデータ発生手段と、複数の入
    力データとして与えられる探索情報と記憶手段の
    複数列に格納された登録情報とのハミング距離を
    記憶手段の読取り出力から求め、その結果が与え
    られた探索条件を満たすか否かを判定する探索処
    理手段と、これに接続され、探索アドレスを発生
    するエンコード手段とを備えたことを特徴とする
    連想記憶装置。 14 前記行選択手段が登録動作時に記憶手段の
    入力データで指定可能な全ての行選択線を並列に
    駆動し、探索動作時に入力データで指定された行
    選択線を選択的に駆動することを特徴とする特許
    請求の範囲第13項に記載の連想記憶装置。 15 前記書込みデータ発生手段が入力データで
    指定される記憶手段の行のみ反転するデータと入
    力データから一定のハミング距離以内あるいは離
    れた全てのデータで指定される行のみ反転するデ
    ータとを記憶手段の各行への書込みデータ線に順
    次に供給することを特徴とする特許請求の範囲第
    13項に記載の連想記憶装置。
JP59229512A 1984-10-31 1984-10-31 連想記憶装置 Granted JPS61107596A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP59229512A JPS61107596A (ja) 1984-10-31 1984-10-31 連想記憶装置
US06/793,388 US4755974A (en) 1984-10-31 1985-10-31 Content-addressable memory
DE8585113907T DE3587137T2 (de) 1984-10-31 1985-10-31 Inhaltsadressierbarer speicher.
EP85113907A EP0180239B1 (en) 1984-10-31 1985-10-31 Content-addressable memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59229512A JPS61107596A (ja) 1984-10-31 1984-10-31 連想記憶装置

Publications (2)

Publication Number Publication Date
JPS61107596A JPS61107596A (ja) 1986-05-26
JPH0519238B2 true JPH0519238B2 (ja) 1993-03-16

Family

ID=16893334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59229512A Granted JPS61107596A (ja) 1984-10-31 1984-10-31 連想記憶装置

Country Status (4)

Country Link
US (1) US4755974A (ja)
EP (1) EP0180239B1 (ja)
JP (1) JPS61107596A (ja)
DE (1) DE3587137T2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145636A (ja) * 1984-12-19 1986-07-03 Nec Corp 記号列照合装置
US4959811A (en) * 1986-11-03 1990-09-25 Texas Instruments Incorporated Content addressable memory including comparison inhibit and shift register circuits
US5122984A (en) * 1987-01-07 1992-06-16 Bernard Strehler Parallel associative memory system
JPH0673114B2 (ja) * 1987-03-31 1994-09-14 日本電気株式会社 キヤツシユ制御装置
JP2714944B2 (ja) * 1987-08-05 1998-02-16 三菱電機株式会社 半導体記憶装置
US5146456A (en) * 1988-04-08 1992-09-08 Allied-Signal Inc. Computer system with distributed content-addressable memory modules compatible with cito transmission
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
US5053991A (en) * 1989-10-06 1991-10-01 Sanders Associates, Inc. Content-addressable memory with soft-match capability
US5063521A (en) * 1989-11-03 1991-11-05 Motorola, Inc. Neuram: neural network with ram
SE9002558D0 (sv) * 1990-08-02 1990-08-02 Carlstedt Elektronik Ab Processor
US5220526A (en) * 1991-03-01 1993-06-15 Motorola, Inc. Method and apparatus for indicating a duplication of entries in a content addressable storage device
US5182802A (en) * 1992-04-06 1993-01-26 Dillard Lawrence D Data addressable memory architecture and method of forming a data addressable memory
GB9213821D0 (en) * 1992-06-30 1992-08-12 Inmos Ltd Content addressable memory
US6005811A (en) * 1994-08-17 1999-12-21 Oak Technology, Incorporated Method for operating a memory
FR2736737B1 (fr) * 1995-07-12 1997-08-14 Alcatel Nv Dispositif de gestion de relations entre des objets
US6535218B1 (en) 1998-05-21 2003-03-18 Mitsubishi Electric & Electronics Usa, Inc. Frame buffer memory for graphic processing
US6559851B1 (en) 1998-05-21 2003-05-06 Mitsubishi Electric & Electronics Usa, Inc. Methods for semiconductor systems for graphics processing
US6661421B1 (en) 1998-05-21 2003-12-09 Mitsubishi Electric & Electronics Usa, Inc. Methods for operation of semiconductor memory
US6504550B1 (en) 1998-05-21 2003-01-07 Mitsubishi Electric & Electronics Usa, Inc. System for graphics processing employing semiconductor device
US6711558B1 (en) 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
JP4596733B2 (ja) * 2000-11-21 2010-12-15 アスペックス・セミコンダクター・リミテッド 内容照合(連想)記憶装置に関する改良
US7216284B2 (en) * 2002-05-15 2007-05-08 International Business Machines Corp. Content addressable memory having reduced power consumption
JP2004334295A (ja) * 2003-04-30 2004-11-25 Yamaha Corp 記憶装置
EP2511787B1 (en) 2003-05-23 2017-09-20 IP Reservoir, LLC Data decompression and search using FPGA devices
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
JP4346975B2 (ja) * 2003-06-27 2009-10-21 株式会社ルネサステクノロジ 連想メモリ機能付き集積回路及び侵入検知装置
JP2005353107A (ja) * 2004-06-08 2005-12-22 Hitachi Ltd 半導体装置
CA2599382A1 (en) 2005-03-03 2006-09-14 Washington University Method and apparatus for performing biosequence similarity searching
JP4643315B2 (ja) * 2005-03-11 2011-03-02 株式会社東芝 半導体集積回路装置
US7571371B2 (en) * 2005-08-18 2009-08-04 Hewlett-Packard Development Company, L.P. Parallel parity checking for content addressable memory and ternary content addressable memory
JP2007148779A (ja) * 2005-11-28 2007-06-14 Renesas Technology Corp マイクロコントローラおよびram
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
KR101095799B1 (ko) * 2009-05-29 2011-12-21 주식회사 하이닉스반도체 불휘발성 메모리 소자의 캠셀 회로 및 이의 구동 방법
EP3560135A4 (en) 2016-12-22 2020-08-05 IP Reservoir, LLC PIPELINES INTENDED FOR AUTOMATIC ACCELERATED LEARNING BY EQUIPMENT
US10572440B2 (en) * 2017-12-21 2020-02-25 Stmicroelectronics International N.V. High operation frequency, area efficient and cost effective content addressable memory architecture
US11262913B2 (en) * 2019-03-28 2022-03-01 Intel Corporation Technologies for efficient stochastic associative search operations with error-correcting code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3644906A (en) * 1969-12-24 1972-02-22 Ibm Hybrid associative memory
US3699545A (en) * 1971-02-24 1972-10-17 Northern Electric Co Adaptable associative memory system
US4045781A (en) * 1976-02-13 1977-08-30 Digital Equipment Corporation Memory module with selectable byte addressing for digital data processing system

Also Published As

Publication number Publication date
EP0180239B1 (en) 1993-03-03
EP0180239A3 (en) 1989-03-22
DE3587137D1 (de) 1993-04-08
DE3587137T2 (de) 1993-09-09
JPS61107596A (ja) 1986-05-26
EP0180239A2 (en) 1986-05-07
US4755974A (en) 1988-07-05

Similar Documents

Publication Publication Date Title
JPH0519238B2 (ja)
US3402398A (en) Plural content addressed memories with a common sensing circuit
US5784709A (en) Translating buffer and method for translating addresses utilizing invalid and don't care states
JPS6167154A (ja) 半導体記憶装置
JPS6252392B2 (ja)
JPH0519797B2 (ja)
US5524226A (en) Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
US5862374A (en) Search method and circuit
JPH0550079B2 (ja)
JPH0551999B2 (ja)
JPH0550078B2 (ja)
JPH06101232B2 (ja) 連想記憶装置
JPS63181198A (ja) 選択的連想記憶装置
JPH02126321A (ja) 命令コードのデコード装置
JPH11232279A (ja) 分割探索方法及び装置
JP2733253B2 (ja) 論理演算回路
AU642912B2 (en) A search method and circuit
AU642912C (en) A search method and circuit
JPH01290194A (ja) 選択的連想記憶装置及びその制御方式
JPH03101000A (ja) 記憶媒体の試験方法
SU1211737A1 (ru) Устройство управлени обращением к пам ти
SU1644224A1 (ru) Оперативное запоминающее устройство
JPH05298893A (ja) 連想記憶装置
JPS5853092A (ja) パリティビット発生方式