JPH10171771A - 連想記憶装置 - Google Patents

連想記憶装置

Info

Publication number
JPH10171771A
JPH10171771A JP32862596A JP32862596A JPH10171771A JP H10171771 A JPH10171771 A JP H10171771A JP 32862596 A JP32862596 A JP 32862596A JP 32862596 A JP32862596 A JP 32862596A JP H10171771 A JPH10171771 A JP H10171771A
Authority
JP
Japan
Prior art keywords
memory
associative
command
processing
storage device
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
Application number
JP32862596A
Other languages
English (en)
Inventor
Masahiko Honda
雅彦 本多
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP32862596A priority Critical patent/JPH10171771A/ja
Publication of JPH10171771A publication Critical patent/JPH10171771A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数のCPUにより連想記憶装置が共有され
る環境において、効率よく動作する連想記憶装置を提供
する。 【解決手段】 連想記憶装置1Aにおいて、CPU21
〜CPU2n から送信されるコマンドを処理受付部11
で受信し、それをメモリ制御部12が解釈し、連想メモ
リ13とコンテントメモリ14に対して読み出しまたは
書き込みを行い、得られた結果を、処理結果表示部15
に表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は電子計算機、通信装
置等で用いられる連想記憶装置に関する。
【0002】
【従来の技術】連想記憶装置とは、特定のあるワードを
与えることによりそのワードに関連したワードを検索す
ることができる装置である。以下、ワードのうち検索時
に与えられる部分を検索ワード、その結果得られる検索
ワード以外の部分をコンテントと呼ぶことにする。
【0003】連想記憶装置を構成する手段としていくつ
かの手法が提案されている。半導体素子を用いる方法と
しては、 (1)連想メモリのみを用いる方法 (2)連想メモリとDRAM、SRAM等の安価なメモ
リとその制御回路を組み合わせて構成するの2つの方法
がある。
【0004】連想メモリとは、アドレスではなく、デー
タの内容によって記憶場所をアドレッシングするメモリ
である。内容からアドレスを出力するため、CAM(Co
ntent Addressable Memory)と呼ばれることもある。
【0005】通常のメモリは、入力としてアドレスを与
えると、出力としてそのアドレスに格納されたMビット
のワードが得られる。アドレスがNビット、記憶するワ
ードがそれぞれMビットとすると、記憶容量M×2のN
乗となる。
【0006】それに対して連想メモリは、入力としてM
ビットの検索に用いるワードを与える。検索ワードに該
当するワードが連想メモリ内に書き込まれている場合に
は、そのワードが書き込まれているNビットのアドレス
を表示する。
【0007】また、連想メモリは、検索ワードをマスク
する機能を有する。すなわち、ワードのなかの限られた
ビットのみを比較するようにするためである。その機能
を用い、比較対象となる部分を検索ワード、それ以外の
部分をコンテントと分けることによって、検索ワードに
よって内容を検索する機能を実行することができる。こ
れが(1)の方法である。
【0008】ところが、連想メモリは、通常のメモリに
比べて高価であり、必要最小限のワードのみを連想メモ
リに格納し、それに関連付けられた内容については別の
安価なメモリ(以下コンテントメモリと呼ぶ)に格納す
るのが普通である。連想メモリが2のN乗個のワードを
持っているとすると、2のN乗個の記憶領域を別のメモ
リに用意し、それぞれのワードに対して1個の記憶領域
を確保するようにする。
【0009】このように連想メモリと通常のメモリの2
つに分ける構成をとった場合、連想記憶装置を用いて行
うべき検索処理は、以下のようになる。
【0010】(1)検索ワードにより連想メモリからア
ドレスを取得する。アドレスが取得できない場合は終了
する。
【0011】(2)取得したアドレスを用い、コンテン
トメモリへの書き込み、または読み出しを行う。
【0012】
【発明が解決しようとする課題】上記のような構成の連
想記憶装置を複数のCPUで共有する場合を考える。連
想記憶装置へのアクセスが2つ以上のCPUから同時に
あった場合、あるCPUが(1)の処理を完了して、
(2)の処理を行う直前に、別のCPUがコンテントメ
モリの書き換え処理を行うと、期待した結果が得られな
いという問題がある。
【0013】上記の問題を解決するために、あるCPU
が連想メモリまたはコンテントメモリに対して、アクセ
スを開始した時点で、なんらかの手段で排他制御を行
い、処理が完了するまでは一切他のCPUからのアクセ
スを許さないという方法をとることが可能である。しか
し、その場合は長い間、連想メモリが1つのCPUに独
占されてしまうという欠点がある。
【0014】本発明の目的は、複数のCPUで効率よく
共有することが可能な連想記憶装置を提供することにあ
る。
【0015】本発明の他の目的は、複数のCPUで共有
しても、内容に矛盾を生じさせることなく、書き換え処
理を行える連想記憶装置を提供することにある。
【0016】
【課題を解決するための手段】本発明の連想記憶装置
は、連想メモリと、コンテントメモリと、複数のCPU
からの送出される複数のコマンドを受信する処理受付手
段と、その受信したコマンドにより前記連想メモリと前
記コンテントメモリとを使用しつつ順次処理を行うメモ
リ制御手段と、その処理結果をCPUに対して返却する
処理結果表示手段とを有する。
【0017】CPUからは処理受付手段に対してコマン
ドを投入し、結果が完了したら処理結果表示手段からそ
の結果を受け取るだけである。CPUからは、コマンド
によって連想記憶装置の処理要求を行い、すべての処理
が完了して結果が出るまでCPUは一切関与することが
ない。したがって、1つのCPUによって連想記憶装置
が占有されることなく、効率よくデータ検索を行うこと
が可能である。また、メモリ管理をCPUで行うことが
不要で、CPUはコマンドを投入した後はその処理結果
のみを受信するだけでよい。
【0018】本発明の実施態様によれば、連想メモリに
検索ワードが格納され、コンテントメモリに前記検索ワ
ードに関連づけられた内容が格納される。
【0019】本発明の実施態様によれば、処理受付手段
がキュー形式をとる。
【0020】本発明の実施態様によれば、処理受付手段
が複数のキューからなる。
【0021】本発明の実施態様によれば、複数のキュー
の後段に選択回路を有する。
【0022】本発明の実施態様によれば、処理結果表示
手段が複数のキューからなる。
【0023】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
【0024】図1は本発明の第1の実施形態の連想記憶
装置の構成図である。
【0025】本実施形態の連想記憶装置1Aは処理受付
部11とメモリ制御部12と連想メモリ13とコンテン
トメモリ14と処理結果表示部15で構成されている。
【0026】処理受付部11は、CPU21 〜CPU2
n からのコマンドを一旦蓄積する。メモリ制御部12
は、処理受付部11と連想メモリ13とコンテントメモ
リ14の間に接続され、処理要求受付部11が一旦蓄積
したコマンドを受信し、そのコマンドにしたがい、連想
メモリ13およびコンテントメモリ14への書き込みお
よび読み出しなどの制御を行う。処理結果表示部15は
メモリ制御部12に接続され、メモリ制御部12が処理
受付部11から受信したコマンドにしたがって得られた
処理結果を受信し、CPU21 〜2n に対して表示す
る。
【0027】次に、各ブロックの動作について詳細に説
明する。
【0028】連想メモリ13は通常の連想メモリであ
り、ワードを与えることによってそのワードが格納され
ているアドレスを返却する。また、通常のメモリと同様
にアドレスを指定してその内容を読み出しまたは書き込
みを行うことも可能である。
【0029】処理要求受付部11は、CPU21 〜2n
から投入されるコマンドを受信する。CPU21 〜2n
から受信するコマンドに、登録、消去、検索がある。ま
た、それぞれのコマンドは引数として、 ・登録:検索ワード、コンテント ・消去:検索ワード ・検索:検索ワード をもっている。処理要求受付部11は、CPU21 〜C
PU2n から受信したコマンドを1つ以上蓄積すること
が可能となっており、先に受信した先に出力するいわゆ
るFIFO(First in First Out)メモリの形態をとっ
ている。処理受付部11は、コマンドを受信すると、コ
マンドの種類、コマンドの引数、コマンドを発行したC
PUの番号(1〜n)とともにいったんFIFOに蓄積
し、メモリ制御部12が受信可能な状態である場合に
は、これらの、コマンドの種類、コマンドの引数、コマ
ンドを発行したCPU番号(1〜n)を転送する。
【0030】メモリ制御部12は、処理受付部11か
ら、コマンドの種類、コマンドの引数、コマンドを発行
したCPU番号を受信し、コマンドの処理を行う。
【0031】図2は、登録コマンドを受信したときのメ
モリ制御部12の動作を示すフローチャートである。
【0032】メモリ制御部12はまず連想メモリ13か
ら未使用エントリのアドレスを引き出す(ステップ2
1)。通常の連想メモリは未使用エントリのアドレスを
出力する機能を持っている。そしてその未使用エントリ
のアドレスに検索ワードを書き込む(ステップ26)。
もし、すでにその検索ワードが登録されている場合に
は、その検索ワードに関するコンテントのアドレスを取
得する(ステップ22,23)。次に、メモリ制御部1
2は、コンテントをコンテントメモリ14に書き込む
(ステップ24)。以上の処理が終了すると、メモリ制
御部12は処理結果表示部15に登録が正常に終了した
旨を通知する(ステップ25)。以上の処理の途中に例
えば未使用エントリのアドレスを得ることができないな
どのエラーが発生した場合は、メモリ制御部12は処理
を中止し、登録が異常終了した旨を通知する(ステップ
27,28)。
【0033】図3は、消去コマンドを受信したときのメ
モリ制御部12の動作を示すフローチャートである。
【0034】メモリ制御部12はまず連想メモリ13か
ら、消去すべき検索ワードが登録されていることを確認
する(ステップ31,32)。もし、登録が行われてい
れば、その検索ワードが書き込まれていたエントリを消
去し(ステップ33,34)、消去コマンドが正常終了
したことを処理結果表示部15に通知する(ステップ3
5)。もし、登録が行われていなければ、消去コマンド
が異常終了したことを処理結果表示部15に通知する
(ステップ36)。
【0035】図4は検索コマンドを受信したときのメモ
リ制御部12の動作を示すフローチャートである。
【0036】メモリ制御部12は連想メモリ13を用
い、検索ワードが書き込まれていることを確認する(ス
テップ41,42)。もし、すでにその検索ワードの登
録が行われていれば、その検索ワードが書き込まれてい
るアドレスを取得する(ステップ43)。そのアドレス
を参照して、連想メモリ13の何番めのエントリである
かを算出し、その検索ワードに対応するコンテントをコ
ンテントメモリ14から読み出す(ステップ44)。そ
の後、処理結果表示部15に対して、CPU番号と登録
コマンドが正常終了したことを通知するとともに、得ら
れたコンテントを処理結果表示部15に転送する(ステ
ップ45)。もし、その検索ワードの登録が行われてい
ない場合には処理結果表示部15に対して、CPU番号
と登録コマンドが異常終了したことを通知する(ステッ
プ46)。
【0037】次に、処理結果表示部15の動作を説明す
る。 (1)検索が正常に終了した場合 処理結果表示部15はn個のテーブル151 〜15n
持っている。各テーブル151 〜15n は、ステータス
表示部とコンテントを格納する部分からなる。処理結果
ステータスは、処理が正常終了したか、異常終了したか
を示すための表示部であり、一例としては、「正常終
了」、「異常終了」があげられる。
【0038】以下、メモリ制御部12から処理結果表示
部15に転送されるコンテントと同時に転送されるCP
U番号をk(k=1〜n)とする。処理結果表示部15
は、コンテントをテーブル15k に格納する。もし、コ
ンテントが得られていない場合には、コンテントの格納
は行わず、ステータス表示部に「異常終了」を表示す
る。コンテントの格納が完了すると、処理結果表示部1
5は割り込み信号をCPU2k に対して送信する。CP
U2k はその割り込み信号を受信した場合、自分用に割
り当てられた151 〜15n のいずれかのテーブルから
の読み出し処理を行い、処理に対する結果を得ることが
できる。
【0039】図5は本発明の第2の実施の形態の連想記
憶装置の構成図である。
【0040】本実施形態の連想記憶装置1Bでは、処理
受付部11がCPU21 〜CPU2 n に対してそれぞれ
1つずつのコマンドキュー111 〜11n を持ってい
る。さらに、メモリ制御部12と処理受付部11の間に
は選択部16が置かれている。さらに、処理結果表示部
15には表示キュー161 〜16n が置かれている。そ
の他の構成については第1の実施形態と同様である。
【0041】コマンドキュー111 〜11n はCPU2
1 〜2n に対して専用となっており、CPU21 に対し
てコマンドキュー111 が、CPU22 に対してコマン
ドキュー112 と、順次割り当てられ、CPU2n に対
してコマンドキュー11n が割り当てられている。コマ
ンドキュー111 〜11n は複数のコマンドを蓄積する
ことができ、先に投入されたコマンドを先に出力するい
わゆるFIFO(First in First Out)メモリの形態を
とる。この形態を取ることにより、CPU21〜CPU
n が先に発行したコマンドの結果が得られる前にコマ
ンドを投入することが可能となっている。結果が得られ
るまでに先んじて投入可能なコマンド数はキューの深さ
による。
【0042】選択部16は、処理受付部11内にあるコ
マンドキュー111 〜11n のいずれかを選択してメモ
リ制御部12に渡す機能を持つ。どのコマンドキューを
選択するかを決定する論理により、CPU21 〜CPU
n のうち、どのCPUから出力されるコマンドを優先
して処理するかを決定することが可能である。この選択
部16の選択論理を変更することにより、CPU21
CPU2n のコマンドの優先順位に重み付けを行うこと
も可能である。
【0043】メモリ制御部12、連想メモリ13、コン
テントメモリ14の動作については、第1の実施形態と
同様である。
【0044】
【発明の効果】以上説明したように、本発明は下記のよ
うな効果がある。 (1)複数のCPUで連想記憶装置を効率よく共有する
ことができる。つまり、処理が完了するまで、1つのC
PUによって連想記憶装置が独占されることが回避でき
る。その理由は、連想記憶装置を構成する連想メモリと
コンテントメモリは、CPUから直接アクセスすること
ができず、これらのメモリに対する処理は、かならず処
理受付部を経由して行うため、連想記憶装置へのアクセ
スはコマンドの発行と、その処理結果の受信だけだから
である。 (2)CPUによるメモリの2度引きが不要で、CPU
はコマンドの発行とその処理結果の受信にだけ専念すれ
ばよい。その理由は、これらのメモリへのアクセスはメ
モリ制御部が行い、その間一切CPUがその処理に対し
て介在する必要がないからである。
【図面の簡単な説明】
【図1】本発明の第1の実施形態の連想記憶装置の構成
を示す図である。
【図2】登録コマンドを受信したときのメモリ制御部1
2の動作を示すフローチャートである。
【図3】消去コマンドを受信したときのメモリ制御部1
2の動作を示すフローチャートである。
【図4】検索コマンドを受信したときのメモリ制御部1
2の動作を示すフローチャートである。
【図5】本発明の第2の実施の形態の連想記憶装置の構
成図である。
【符号の説明】
1A,1B 連想記憶装置 11 処理受付部 111 〜11n コマンドキュー 12 メモリ制御部 13 連想メモリ 14 コンテントメモリ 15 処理結果表示部 151 〜15n テーブル 16 選択部 161 〜16n 表示キュー 21 〜2n CPU 21〜28,31〜36,41〜46 ステップ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 連想メモリと、コンテントメモリと、複
    数のCPUからの送出される複数のコマンドを受信する
    処理受付手段と、その受信したコマンドにより前記連想
    メモリと前記コンテントメモリとを使用しつつ順次処理
    を行うメモリ制御手段と、その処理結果をCPUに対し
    て返却する処理結果表示手段とを有する連想記憶装置。
  2. 【請求項2】 前記連想メモリに検索ワードが格納さ
    れ、前記コンテントメモリに前記検索ワードに関連づけ
    られた内容が格納される、請求項1記載の連想記憶装
    置。
  3. 【請求項3】 前記処理受付手段がキュー形式をとる、
    請求項1記載の連想記憶装置。
  4. 【請求項4】 前記処理受付手段が複数のキューからな
    る、請求項1記載の連想記憶装置。
  5. 【請求項5】 複数のキューからの出力の後段に選択回
    路を有する、請求項4記載の連想記憶装置。
  6. 【請求項6】 前記処理結果表示手段が複数のキューか
    らなる、請求項1記載の連想記憶装置。
JP32862596A 1996-12-09 1996-12-09 連想記憶装置 Pending JPH10171771A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32862596A JPH10171771A (ja) 1996-12-09 1996-12-09 連想記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32862596A JPH10171771A (ja) 1996-12-09 1996-12-09 連想記憶装置

Publications (1)

Publication Number Publication Date
JPH10171771A true JPH10171771A (ja) 1998-06-26

Family

ID=18212363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32862596A Pending JPH10171771A (ja) 1996-12-09 1996-12-09 連想記憶装置

Country Status (1)

Country Link
JP (1) JPH10171771A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533209B2 (en) 2009-07-17 2013-09-10 Canon Kabushiki Kaisha Search apparatus, control method for search apparatus, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533209B2 (en) 2009-07-17 2013-09-10 Canon Kabushiki Kaisha Search apparatus, control method for search apparatus, and program

Similar Documents

Publication Publication Date Title
US6324597B2 (en) Host controller interface descriptor fetching unit
US20070055813A1 (en) Accessing external memory from an integrated circuit
US6105080A (en) Host adapter DMA controller with automated host reply capability
JPH0358150A (ja) メモリ制御装置
US5444852A (en) I/O device interface having buffer mapped in processor memory addressing space and control registers mapped in processor I/O addressing space
JPH10171771A (ja) 連想記憶装置
JPS592058B2 (ja) 記憶装置
JPH11184761A (ja) リードモディファイライト制御システム
JPH0962633A (ja) ネットワーク制御装置
US7167942B1 (en) Dynamic random access memory controller
JPH06301600A (ja) 記憶装置
KR0171771B1 (ko) 컴퓨터 시스템에 있어서 어드레스 버스 잠금 제어장치
JPH0793215A (ja) 半導体記憶装置
EP0358224A2 (en) Semiconductor disk device useful in transaction processing system
JPH0589027A (ja) 監視機能付ライトバツフア
JPS6244352B2 (ja)
JPH1011387A (ja) 情報処理装置
JP3063501B2 (ja) メモリアクセス制御方式
JPS6115241A (ja) 電子計算機システム
JP2594567B2 (ja) メモリアクセス制御装置
JPS61193245A (ja) 記憶制御方式
JP2000066946A (ja) メモリコントローラ
JPS5960481A (ja) Crtコントロ−ラ
EP0369935A2 (en) Multiple posting cache memory
JPH01177661A (ja) データ転送装置