JPS61240328A - 連想メモリ - Google Patents
連想メモリInfo
- Publication number
- JPS61240328A JPS61240328A JP60080163A JP8016385A JPS61240328A JP S61240328 A JPS61240328 A JP S61240328A JP 60080163 A JP60080163 A JP 60080163A JP 8016385 A JP8016385 A JP 8016385A JP S61240328 A JPS61240328 A JP S61240328A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- search
- associative
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、内容によるデータ検索を行なえる記憶装置に
係り、特に複数プロセスによる同時検索、ルール型シス
テム等の知識ベースシステムにおける並列推論に好適な
連想メモリに関する。
係り、特に複数プロセスによる同時検索、ルール型シス
テム等の知識ベースシステムにおける並列推論に好適な
連想メモリに関する。
ルールベースシステム等の知識ベースシステムにおける
推論処理を高速化することを目的に、並処推論方式が盛
んに研究されている。並列推論では、多数のプロセス(
例えば計算機)が共有データベースを同時にアクセスし
推論を推める。ここで、推論処理は、パターンによるデ
ータベース内データの検索・読み出し、そのデータの加
工・データベースへの追加といった処理の繰り返しとな
る。このことから、パターンによるデータ検索を全メモ
リ空間に対し瞬時に実行できる連想メモリをデータベー
スの実現デバイスとして使用することが処理の高速化の
ために有望である。しかし、従来の連想メモリでは、あ
る検索キー(パターン)と一致するメモリ内データ(通
常複数存在する)を読み出している途中で、更に、別の
検索キーによる検索を行なってしまうと、以前の検索結
果が失なわれてしまい残りのデータが読み出せなくなる
。このため、あるプロセスがある検索キーでデータを検
索し推論処理を行なっている間。
推論処理を高速化することを目的に、並処推論方式が盛
んに研究されている。並列推論では、多数のプロセス(
例えば計算機)が共有データベースを同時にアクセスし
推論を推める。ここで、推論処理は、パターンによるデ
ータベース内データの検索・読み出し、そのデータの加
工・データベースへの追加といった処理の繰り返しとな
る。このことから、パターンによるデータ検索を全メモ
リ空間に対し瞬時に実行できる連想メモリをデータベー
スの実現デバイスとして使用することが処理の高速化の
ために有望である。しかし、従来の連想メモリでは、あ
る検索キー(パターン)と一致するメモリ内データ(通
常複数存在する)を読み出している途中で、更に、別の
検索キーによる検索を行なってしまうと、以前の検索結
果が失なわれてしまい残りのデータが読み出せなくなる
。このため、あるプロセスがある検索キーでデータを検
索し推論処理を行なっている間。
別のプロセスは、先のプロセスが検索したデータの全て
について処理を終了するまで推論処理を開始する(すな
わち別の検索キーで検索する)ことができず、実際上並
列推論を行なえないという問しプロセス1と2が推論を
進める時の様子を時間軸に沿って示したものである。プ
ロセス1は、検索の結果5つの処理すべきデータを見つ
けており。
について処理を終了するまで推論処理を開始する(すな
わち別の検索キーで検索する)ことができず、実際上並
列推論を行なえないという問しプロセス1と2が推論を
進める時の様子を時間軸に沿って示したものである。プ
ロセス1は、検索の結果5つの処理すべきデータを見つ
けており。
それらを順に読み出し加工をして再びデータベースに書
き込んでいる。プロセス2は、見つけ出した4つのデー
タに対し同じように処理を行なっている。ここで、プロ
セス1がデータを読み出し加工をしている間(第1図で
ロコで示した部分)は。
き込んでいる。プロセス2は、見つけ出した4つのデー
タに対し同じように処理を行なっている。ここで、プロ
セス1がデータを読み出し加工をしている間(第1図で
ロコで示した部分)は。
別プロセスが共有データベースをアクセスすることが可
能である。しかし、従来の連想メモリでは。
能である。しかし、従来の連想メモリでは。
この間に新たな検索を行なってしまうと、以前の検索の
結果が失われてしまい、プロセス1は処理を続行できな
くなる。このため、実際には、プロセス2の検索はプロ
セス1のすべての処理が終了するまで待たなければなら
ず、プロセス1が共有データベースをアクセスしていな
い時間(データの加工をしている時間)を有効に利用で
きない。
結果が失われてしまい、プロセス1は処理を続行できな
くなる。このため、実際には、プロセス2の検索はプロ
セス1のすべての処理が終了するまで待たなければなら
ず、プロセス1が共有データベースをアクセスしていな
い時間(データの加工をしている時間)を有効に利用で
きない。
すなわち、並列推論を行なえないという開運があつた。
本発明の目的は、検索結果データの読み出し途中に別の
検索キーで検索を行なっても、前の検索結果データを引
き続き読み出すことを可能とし。
検索キーで検索を行なっても、前の検索結果データを引
き続き読み出すことを可能とし。
複数のプロセスが並列に異なる検索キーでデータを検索
し処理を進めることのできる連想メモリを提供すること
にある。
し処理を進めることのできる連想メモリを提供すること
にある。
連想メモリでは、検索結果データの位置情報を記憶して
おき、データ読み出し時のアドレスとして供給する1本
発明は、この位置情報の記憶部分を複数設け、新たな検
索キーによる検索を行なった場合、以前とは別の記憶部
分にその検索キーに対する検索結果データの位置情報を
記憶することにより、以前の検索結果データの位置情報
を保存し、引き続き外部から読み出すことを可能とする
ものである。このことにより、複数プロセスが同時に推
論を進める。すなわち、並列推論を実現することができ
る。
おき、データ読み出し時のアドレスとして供給する1本
発明は、この位置情報の記憶部分を複数設け、新たな検
索キーによる検索を行なった場合、以前とは別の記憶部
分にその検索キーに対する検索結果データの位置情報を
記憶することにより、以前の検索結果データの位置情報
を保存し、引き続き外部から読み出すことを可能とする
ものである。このことにより、複数プロセスが同時に推
論を進める。すなわち、並列推論を実現することができ
る。
以下1本発明の一実施例を第3図により説明する。
第3図は1本発明の一実施例を示す連想メモリのブロッ
ク構成図であり、連想記憶セルアレイ101、アドレス
選択器102.応答レジスタ(#1〜$n)103.マ
ルチ・デマルチプレクサ104.多重応答分解器105
.符号器106゜連想検索制御部107.外部アクセス
制御部108から成る。更に、連想検索制御部107は
、内部に検索データレジスタ109.マスクレジスタ1
10、検索結果選択レジスタ111を持つ、以下、各部
を説明する。
ク構成図であり、連想記憶セルアレイ101、アドレス
選択器102.応答レジスタ(#1〜$n)103.マ
ルチ・デマルチプレクサ104.多重応答分解器105
.符号器106゜連想検索制御部107.外部アクセス
制御部108から成る。更に、連想検索制御部107は
、内部に検索データレジスタ109.マスクレジスタ1
10、検索結果選択レジスタ111を持つ、以下、各部
を説明する。
連想記憶セルアレイ101は、データ記憶及び検索デー
タと記憶データの一致不一致判定機能を持つ連想記憶セ
ルをマトリクス状に配置したものであり、その内容の杏
き込み読み出しをマトリクスの行単位で行なうことがで
きる。データの連想記憶セルへの杏き込み時には1行指
定信号1001で指定した行に対し、データ信号100
2の内容が書き込まれる。読み出し時には、連想記憶セ
ルの内容がデータ信号1002として読み出される。ま
た、検索データ信号1003と一致するデータの格納さ
れている行位置を検索結果信号1004として出力する
。
タと記憶データの一致不一致判定機能を持つ連想記憶セ
ルをマトリクス状に配置したものであり、その内容の杏
き込み読み出しをマトリクスの行単位で行なうことがで
きる。データの連想記憶セルへの杏き込み時には1行指
定信号1001で指定した行に対し、データ信号100
2の内容が書き込まれる。読み出し時には、連想記憶セ
ルの内容がデータ信号1002として読み出される。ま
た、検索データ信号1003と一致するデータの格納さ
れている行位置を検索結果信号1004として出力する
。
アドレス選択器102は、本装置外部からのアドレス信
号1005 、本装置内部で発生するアドレス信号10
D6をデコードし、行指定信号1001として出力する
。
号1005 、本装置内部で発生するアドレス信号10
D6をデコードし、行指定信号1001として出力する
。
応答レジスタ(#1〜#n)103は、検索結果の一致
データが格納されている連想記憶セルアレイ101の行
位置を記憶しておくレジスタであり、#1〜#nまで複
数個用意されている。検索結果信号1004の内容が、
ラッチ信号1007のタイミングで本レジスタ103に
セットされる1本レジスタ103において # 1 #
の立っている部分に対応する連想記憶セルアレイ101
の行が検索結果データの格納されている行である。
データが格納されている連想記憶セルアレイ101の行
位置を記憶しておくレジスタであり、#1〜#nまで複
数個用意されている。検索結果信号1004の内容が、
ラッチ信号1007のタイミングで本レジスタ103に
セットされる1本レジスタ103において # 1 #
の立っている部分に対応する連想記憶セルアレイ101
の行が検索結果データの格納されている行である。
マルチ・デマルチプレクサ104は、レジスタ指定信号
1008で指定された応答レジスタ103の内容を表わ
すデータ信号1009を選択し、読み出し候補行位置信
号1010として出力する。また、レジスタビットクリ
ア信号1011を、レジスタ指定信号1008で指定さ
れた応答レジスタ103に、そのレジスタのビットクリ
ア信号1012として伝達する。
1008で指定された応答レジスタ103の内容を表わ
すデータ信号1009を選択し、読み出し候補行位置信
号1010として出力する。また、レジスタビットクリ
ア信号1011を、レジスタ指定信号1008で指定さ
れた応答レジスタ103に、そのレジスタのビットクリ
ア信号1012として伝達する。
多重応答分解*tOSは1次読み出しパルス信号101
3が入るたびに、読み出し候補行位置信号1010で最
初にIHの立っている行位置を読み出し行として選定し
これを読み出し行信号1014として出力する。また、
その行に対応する応答レジスタ103のビットをクリア
するためのレジスタビットクリア信号1011を出力す
る。
3が入るたびに、読み出し候補行位置信号1010で最
初にIHの立っている行位置を読み出し行として選定し
これを読み出し行信号1014として出力する。また、
その行に対応する応答レジスタ103のビットをクリア
するためのレジスタビットクリア信号1011を出力す
る。
符号器106は、読み出し信号1014をアドレス信号
1006に変換する。
1006に変換する。
外部アクセス制御部108は1本装置外部からの連想記
憶セルアレイ101のアクセス及び、連想検索制御部1
07内部のレジタタのアクセスを制御する部分である。
憶セルアレイ101のアクセス及び、連想検索制御部1
07内部のレジタタのアクセスを制御する部分である。
制御信号1015に従い、外部データ信号1016を内
部に書き込む、あるいは、内部のデータを外部データ信
号1016として出力する。
部に書き込む、あるいは、内部のデータを外部データ信
号1016として出力する。
なお、どこに書き込むか、あるいは、どこから読み出す
かは、外部アドレス信号1005で指定する。
かは、外部アドレス信号1005で指定する。
最後に、連想検索制御部107は、検索キーに基づき連
想記憶セルアレイ101に格納されているデータを検索
する制御を行なう部分である0本制御部内の検索データ
レジスタ109には、検索キーの内容を格納する。また
、マスクレジスタ110に、マスクデータを格納するこ
とで、検索キーの内容のうち検索時に考慮したくない部
分をマスクすることができる。マスクデータレジスタ1
10にて“1″が格納されている部分に対応する検索キ
ーの内容がマスクされる。検索結果選択レジスタ111
には、検索結果信号1004をどの応答レジスタ103
に格納するかあるいはどの応答レジスタ103の内容に
基づき検索結果を読み出すかを指定するレジスタ番号を
格納する。連想検索制御部107は、検索パルス信号1
017が入力されるたびに本レジスタにて指定した番号
の応答レジスタ103にラッチ信号1007を発生させ
検索キーと内容の一致した連想記憶セルアレイ101の
行を示すデータを格納する。また、その応答レジスタ1
03を選択するレジスタ選択信号1008を発生させる
。
想記憶セルアレイ101に格納されているデータを検索
する制御を行なう部分である0本制御部内の検索データ
レジスタ109には、検索キーの内容を格納する。また
、マスクレジスタ110に、マスクデータを格納するこ
とで、検索キーの内容のうち検索時に考慮したくない部
分をマスクすることができる。マスクデータレジスタ1
10にて“1″が格納されている部分に対応する検索キ
ーの内容がマスクされる。検索結果選択レジスタ111
には、検索結果信号1004をどの応答レジスタ103
に格納するかあるいはどの応答レジスタ103の内容に
基づき検索結果を読み出すかを指定するレジスタ番号を
格納する。連想検索制御部107は、検索パルス信号1
017が入力されるたびに本レジスタにて指定した番号
の応答レジスタ103にラッチ信号1007を発生させ
検索キーと内容の一致した連想記憶セルアレイ101の
行を示すデータを格納する。また、その応答レジスタ1
03を選択するレジスタ選択信号1008を発生させる
。
以上において、連想記憶セルアレイ101.多重応答分
解器105は公知の回路で良い(例えば。
解器105は公知の回路で良い(例えば。
「奥州:連想メモリとその応用v bit、vol−1
5*No、4J )また、その他の部分は、一般的な論
理回路で構成できる。
5*No、4J )また、その他の部分は、一般的な論
理回路で構成できる。
次に1例を用いて本実施例の動作を説明する。
いま、プロセス1は、連想記憶セルアレイ101の中か
ら、1列目が“1“3列目がaHのデータ行を読み出し
処理したいものとする。また、プロセス2は、1列目が
“2”4列目が“イ“のデータ行を読み呂し処理したい
ものとする。また、プロセス1は応答レジスタ#1を使
用し、プロセス2は応答レジスタ#2を使用するものと
する。
ら、1列目が“1“3列目がaHのデータ行を読み出し
処理したいものとする。また、プロセス2は、1列目が
“2”4列目が“イ“のデータ行を読み呂し処理したい
ものとする。また、プロセス1は応答レジスタ#1を使
用し、プロセス2は応答レジスタ#2を使用するものと
する。
プロセス1が読み出したいデータに対する検索キー、マ
スクデータ応答レジスタ番号を指定し、検索パルス信号
1017を発信し連想検索を行なった直後の状態を第4
図に示す、検索結果としては、1行目と6行目が見つか
っている。ここで、検索結果は、検索結果選択レジスタ
111で番号1を指定しているので、応答レジスタ#1
に格納されている0次に1次読み出しパルス信号101
3を加えることにより、検索結果選択レジスタ111で
指定されている応答レジスタ#1で最初にu I IT
の立っている行のデータが読み出され、その応答レジス
タ#1のその行のビットが消される。この直後の状態が
第5図となる。ここで、従来の連想メモリでは、残りの
6行目のデータを読み出す前に、別の検索キーで連想検
索を行なうと、6行目がまだ読み出されずに残っている
という情報が消えてしまい(応答レジスタが1つしか無
い)、後から読み呂すことはできない、しかし1本実施
例では。
スクデータ応答レジスタ番号を指定し、検索パルス信号
1017を発信し連想検索を行なった直後の状態を第4
図に示す、検索結果としては、1行目と6行目が見つか
っている。ここで、検索結果は、検索結果選択レジスタ
111で番号1を指定しているので、応答レジスタ#1
に格納されている0次に1次読み出しパルス信号101
3を加えることにより、検索結果選択レジスタ111で
指定されている応答レジスタ#1で最初にu I IT
の立っている行のデータが読み出され、その応答レジス
タ#1のその行のビットが消される。この直後の状態が
第5図となる。ここで、従来の連想メモリでは、残りの
6行目のデータを読み出す前に、別の検索キーで連想検
索を行なうと、6行目がまだ読み出されずに残っている
という情報が消えてしまい(応答レジスタが1つしか無
い)、後から読み呂すことはできない、しかし1本実施
例では。
検索結果選択レジスタ111に別の応答レジスタ#2を
指定し連想検索を行なうことにより、以前の検索結果を
保存したまま、新たな検索結果を求めることができる。
指定し連想検索を行なうことにより、以前の検索結果を
保存したまま、新たな検索結果を求めることができる。
第3図の状態となった後、プロセス2が応答レジスタ#
2を指定し別の検索キーで連想検索を行なった時の状態
を第6図に示す。
2を指定し別の検索キーで連想検索を行なった時の状態
を第6図に示す。
この後、プロセス1.2は、検索結果選択レジスタコ1
1に、検索を実行した時(検索パルス信号1017を加
えた時)に指定したレジスタ番号(今の場合プロセス1
は″′1.プロセス2は#2n)を指定し1次読み出し
信号1013を加えることにより任意の時点で自分に必
要な検索結果データを読み出すことができる0以上のよ
うにして、プロセス2は、プロセス1の処理が完全に終
了するまで待つことなく、プロセス1と並行して自分の
処理を進めることが可能となる。
1に、検索を実行した時(検索パルス信号1017を加
えた時)に指定したレジスタ番号(今の場合プロセス1
は″′1.プロセス2は#2n)を指定し1次読み出し
信号1013を加えることにより任意の時点で自分に必
要な検索結果データを読み出すことができる0以上のよ
うにして、プロセス2は、プロセス1の処理が完全に終
了するまで待つことなく、プロセス1と並行して自分の
処理を進めることが可能となる。
本発明の連想メモリを用いて、第1図の2つのプロセス
の処理を並列に行なった場合の様子を時間軸に沿って第
2図に示す、第2図において、各プロセスの処理内容を
示す記号は第1図と同じでる0本発明では、プロセス2
は、プロセス1が検索した最初のデータの処理に入ると
同時に検索、読み出しを開始することができる。更に、
プロセス2はプロセス1がデータの加工処理に入った時
間を有効に利用しメモリをアクセスし、プロセス1と完
全に並列に処理を進め、プロセス1よりも先に処理を終
了している。
の処理を並列に行なった場合の様子を時間軸に沿って第
2図に示す、第2図において、各プロセスの処理内容を
示す記号は第1図と同じでる0本発明では、プロセス2
は、プロセス1が検索した最初のデータの処理に入ると
同時に検索、読み出しを開始することができる。更に、
プロセス2はプロセス1がデータの加工処理に入った時
間を有効に利用しメモリをアクセスし、プロセス1と完
全に並列に処理を進め、プロセス1よりも先に処理を終
了している。
以上1本実施例によれば、連想メモリにおいて。
連想検索の結果を全て読み出す前に次の検索キーによる
連想検索を実行しても、前の検索キーに対応する残りの
連想検索結果を引き続き読み呂すことが可能となる。
連想検索を実行しても、前の検索キーに対応する残りの
連想検索結果を引き続き読み呂すことが可能となる。
本発明によれば、従来の連想メモリでは不可能であった
、複数プロセスが並行して、異なる検索キーでデータを
検索して処理を進めることができる。このことにより本
発明をルール型システム等の知識ベースシステムのデー
タベース用メモリとして用いれば、多くのプロセスで同
時に知識検索及びそれに基づく推論を進めることができ
、連想検索機能を備えた並処推論システムを構成するこ
とが可能となり、知識処理を高速化することができる効
果がある。
、複数プロセスが並行して、異なる検索キーでデータを
検索して処理を進めることができる。このことにより本
発明をルール型システム等の知識ベースシステムのデー
タベース用メモリとして用いれば、多くのプロセスで同
時に知識検索及びそれに基づく推論を進めることができ
、連想検索機能を備えた並処推論システムを構成するこ
とが可能となり、知識処理を高速化することができる効
果がある。
第1図は従来の連想メモリを用いた場合の2つのプロセ
スの処理の様子を示す図、第2図は本発明を用いた場合
の2つのプロセスの処理の様子を示す図、第3図は本発
明の一実施例のブロック構成図、第4図〜第6図は本発
明の一実施例の動作の説明図である。 101・・・連想記憶セルアレイ、102・・・アドレ
ス選択器、103・・・応答レジスタ、104・・・マ
ルチ・デマルチプレクサ、105・・・多重応答分解器
、106・・・符号器、107・・・連想検索制御部、
108・・・外部アクセス制御部、109・・・検索デ
ータレジスタ、110・・・マスクレジスタ、111・
・・検索結果選択レジスタ。 ゝ・−2− fI 4 口 北 口]π工二二口
スの処理の様子を示す図、第2図は本発明を用いた場合
の2つのプロセスの処理の様子を示す図、第3図は本発
明の一実施例のブロック構成図、第4図〜第6図は本発
明の一実施例の動作の説明図である。 101・・・連想記憶セルアレイ、102・・・アドレ
ス選択器、103・・・応答レジスタ、104・・・マ
ルチ・デマルチプレクサ、105・・・多重応答分解器
、106・・・符号器、107・・・連想検索制御部、
108・・・外部アクセス制御部、109・・・検索デ
ータレジスタ、110・・・マスクレジスタ、111・
・・検索結果選択レジスタ。 ゝ・−2− fI 4 口 北 口]π工二二口
Claims (1)
- 検索キーと記憶内容に一致/不一致により所望データ
を読み出す連想メモリにおいて、検索キーにより検索さ
れたデータの位置情報を記憶する複数の記憶手段と、異
なる検索キーにより検索されたそれぞれのデータの位置
情報を異なる上記記憶手段に格納するように制御する手
段とからなることを特徴とする連想メモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60080163A JPS61240328A (ja) | 1985-04-17 | 1985-04-17 | 連想メモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60080163A JPS61240328A (ja) | 1985-04-17 | 1985-04-17 | 連想メモリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61240328A true JPS61240328A (ja) | 1986-10-25 |
Family
ID=13710645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60080163A Pending JPS61240328A (ja) | 1985-04-17 | 1985-04-17 | 連想メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61240328A (ja) |
-
1985
- 1985-04-17 JP JP60080163A patent/JPS61240328A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7643324B2 (en) | Method and apparatus for performing variable word width searches in a content addressable memory | |
US4064489A (en) | Apparatus for searching compressed data file | |
JPS61107597A (ja) | ブロツク連想メモリ | |
JPS635839B2 (ja) | ||
US6760821B2 (en) | Memory engine for the inspection and manipulation of data | |
JP3703518B2 (ja) | 連想メモリシステム | |
US3389377A (en) | Content addressable memories | |
JPS5926059B2 (ja) | 制御回路 | |
US4044336A (en) | File searching system with variable record boundaries | |
JPH05210593A (ja) | マイクロプロセッサのためのメモリ区分化装置およびセグメント記述子をセグメント・レジスタへロードする方法 | |
EP0037264B1 (en) | Associative memory system | |
US3475733A (en) | Information storage system | |
JPS62264498A (ja) | 内容アドレス式メモリ | |
EP0232376B1 (en) | Circulating context addressable memory | |
JPS61240328A (ja) | 連想メモリ | |
US7069386B2 (en) | Associative memory device | |
JP2745710B2 (ja) | ストリングサーチ方法およびそのための装置 | |
Healy | A character-oriented context-addressed segment-sequential storage | |
EP0170443B1 (en) | Method for searching an association matrix | |
JPS6143338A (ja) | 連想技術を使用して稀薄なデータベースをサーチする方法 | |
JPH0743942B2 (ja) | 複合連想メモリ | |
JP3130745B2 (ja) | 連想メモリ | |
JPS63244496A (ja) | 内容番地付けメモリ | |
JPH04336324A (ja) | データ選択処理方法 | |
JPH052608A (ja) | データ検索装置 |