JP3370222B2 - シーケンサ - Google Patents

シーケンサ

Info

Publication number
JP3370222B2
JP3370222B2 JP27119895A JP27119895A JP3370222B2 JP 3370222 B2 JP3370222 B2 JP 3370222B2 JP 27119895 A JP27119895 A JP 27119895A JP 27119895 A JP27119895 A JP 27119895A JP 3370222 B2 JP3370222 B2 JP 3370222B2
Authority
JP
Japan
Prior art keywords
data
segment
control data
register
search
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 - Fee Related
Application number
JP27119895A
Other languages
English (en)
Other versions
JPH09115290A (ja
Inventor
口 陽 一 播
田 正 人 米
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP27119895A priority Critical patent/JP3370222B2/ja
Publication of JPH09115290A publication Critical patent/JPH09115290A/ja
Application granted granted Critical
Publication of JP3370222B2 publication Critical patent/JP3370222B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、連想メモリ(以
下、CAMという)の検索手順(以下、シーケンスとい
う)を制御するシーケンサに関するものである。
【0002】
【従来の技術】CAMとは、予め所定数のメモリワード
にそれぞれ所定の記憶データを格納しておき、検索デー
タを与えて、この検索データとそれぞれのメモリワード
に格納されている記憶データとを比較することによっ
て、検索データと一致する記憶データが格納されている
メモリワードのメモリアドレスを、例えば所定の優先順
位に応じて順次出力するものである。
【0003】例えば、記憶データとして、それぞれのメ
モリワードに氏名および電話番号を格納しておき、検索
データとして所定の氏名を与えることによって、検索デ
ータと一致する氏名が格納されているメモリワードのメ
モリアドレスが出力される。そして、このメモリアドレ
スに格納されている電話番号を読み出すことによって、
所定の氏名に対応する電話番号を得ることができる。
【0004】以下に、従来のCAMの構成、動作および
その問題点について説明する。まず、図5は、従来のC
AMの一例のブロック図である。図示例のCAM32
は、検索データを保持する検索データレジスタ34と、
マスクデータを保持するマスクレジスタ36と、デコー
ダ38と、所定数のメモリワード40と、一致フラグを
保持する一致フラグレジスタ42と、エンコーダ44
と、出力データを保持する出力データレジスタ46とを
有している。
【0005】このCAM32において、それぞれのメモ
リワード40には、予め所定のビット長を有する記憶デ
ータが格納される。検索データをビット単位でマスクす
るマスクデータをマスクレジスタ36に書き込み、検索
データを検索データレジスタ34に書き込むことによっ
て検索が開始される。このとき、検索データは、マスク
データによってマスクされ、このマスクされた検索デー
タは、それぞれのメモリワード40に格納されている記
憶データと比較される。
【0006】それぞれのメモリワード40からは一致フ
ラグが出力されている。検索が終了したときに、それぞ
れのメモリワード40から出力されている一致フラグ
は、検索データと記憶データとが一致するとアクティブ
状態とされ、逆に、不一致であれば非アクティブ状態と
される。そして、それぞれのメモリワード40から出力
される一致フラグは、それぞれの一致フラグレジスタ4
2に保持される。
【0007】これらの一致フラグレジスタ42に保持さ
れた一致フラグはエンコーダ44に入力され、アクティ
ブ状態の一致フラグの中で、最優先順位の一致フラグに
対応するメモリワード40のメモリアドレスADがエン
コードされて出力される。エンコーダ44から出力され
るメモリアドレスADは必要に応じてデコーダ38に入
力され、デコードされてメモリアドレスADに対応する
ただ1つのワード信号だけがアクティブ状態とされる。
【0008】アクティブ状態のワード信号が入力される
メモリワード40からは出力データが読み出され、出力
データレジスタ46に保持されるとともに出力される。
次いで、一致フラグレジスタ42に保持されているアク
ティブ状態の一致フラグの中で、最優先順位の一致フラ
グを非アクティブ状態とし、次に優先順位の高い一致フ
ラグを順次最優先順位の一致フラグに変更することによ
って、順次最優先順位の一致フラグに対応するメモリワ
ードのメモリアドレスADを得ることができる。
【0009】ところで、複数個のシーケンスからなる一
連の検索をしようとしたときに、例えば図示例のCAM
32においては、マスクデータを順次書き換えながら複
数回の検索を行う必要がある。このため、シーケンスが
煩雑であるばかりでなく、その分、検索速度が低下する
という問題点がある。この問題点を解決するために、本
出願人は、特願平6−54140号明細書において、既
に、CAMのシーケンスを制御するシーケンサを提案し
ている。
【0010】図6は、本出願人の出願にかかわる特願平
6−54140号明細書において開示されているCAM
のブロック図である。図示例のCAMは、図5に示され
るCAM32と比較すると、マスクレジスタがN個に変
更され、さらにセグメントデータを保持するN個のセグ
メントレジスタと、シーケンサとを有している。また、
シーケンサは、制御データを保持する所定数の制御デー
タレジスタからなる所定数のチャネルと、図示されてい
ないセグメントポインタとを有している。
【0011】このCAMにおいて、それぞれのメモリワ
ードには、記憶データの属性をあらわすセグメントデー
タおよび記憶データが予め格納される。それぞれのマス
クレジスタには予め所定のマスクデータが書き込まれ、
それぞれのセグメントレジスタには予め所定のセグメン
トデータが書き込まれ、チャネルの制御データレジスタ
には、それぞれ所定のマスクレジスタおよびセグメント
レジスタを指定する制御データが予め書き込まれる。
【0012】検索を開始するに際しては、まず、セグメ
ントポインタがリセットされ、次いで、所定のチャネル
を指定しつつ、検索データを検索データレジスタに書き
込むことによって検索が開始される。例えば、チャネル
1が指定されると、まず、セグメントポインタによって
チャネル1の制御データレジスタ(1)が指定され、次
いで、この制御データレジスタ(1)に書き込まれてい
る制御データによって、N個のマスクレジスタの中の所
定のマスクレジスタと、N個のセグメントレジスタの中
の所定のセグメントレジスタが指定される。
【0013】例えば、マスクレジスタ#2が指定され、
セグメントレジスタ#3が指定されると、検索データ
は、マスクレジスタ#2に書き込まれているマスクデー
タによってマスクされる。そして、セグメントレジスタ
#3に書き込まれているセグメントデータと、マスクさ
れた検索データとからなるデータは、それぞれのメモリ
ワードに格納されているセグメントデータおよび記憶デ
ータと比較される。
【0014】次に、同一チャネルを指定しつつ、検索デ
ータを書き込むことによって、セグメントポインタでチ
ャネル1の制御データレジスタ(2)が指定され、以下
同様に、所定の検索が行われる。そして、最後の制御デ
ータレジスタが指定され、複数個のシーケンスからなる
一連の検索が終了した後、セグメントポインタをリセッ
トすることによって、再度同じ一連の検索を繰り返し行
うことができる。
【0015】このように、同一チャネルを指定しつつ、
検索データを書き込むことによって、セグメントポイン
タで同一チャネルの次の制御データレジスタが順次指定
され、複数個のシーケンスからなる一連の検索を順次行
うことができるため、シーケンスを簡単化することがで
きるばかりでなく、その分、検索速度を高速化させるこ
とができる。
【0016】ところで、このCAMにおいて、1つのチ
ャネルは所定数の制御データレジスタから構成され、こ
れらの制御データレジスタは、セグメントポインタによ
って必ず制御データレジスタ(1)から順次指定され
る。このため、一連の検索を構成するシーケンスが少な
いとき、使用されない制御データレジスタは無駄になる
し、所定数のシーケンスからなる一連の検索を所定数定
義するためには、これに応じた所定数のチャネルが必要
となり、回路規模が増大するという問題点がある。
【0017】例えば、1つのチャネルが16個の制御デ
ータレジスタ(1)〜(16)から構成されるときに、
3つのシーケンスからなる一連の検索を5種類定義しよ
うとすると、ハードウェアとしては制御データレジスタ
が15個あれば定義できる、即ち、チャネルが1つあれ
ば定義できるばずであるが、チャネルが5つ必要となる
し、それぞれのチャネルの制御データレジスタ(4)〜
(16)は使用することができず無駄になってしまう。
【0018】
【発明が解決しようとする課題】本発明の目的は、前記
従来技術に基づく種々の問題点をかえりみて、回路規模
を増大させることなく、チャネルを構成する制御データ
レジスタを無駄なく使用することができ、これに定義で
きるシーケンスの個数を増加させることができるシーケ
ンサを提供することにある。
【0019】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、連想メモリの検索手順を制御するシーケ
ンサであって、前記検索手順を指定する制御データを保
持する所定数の制御データレジスタからなる所定数のチ
ャネルと、この所定数のチャネルの中の所定のチャネル
を指定するチャネル指定手段と、このチャネル指定手段
によって指定されるチャネルの中の所定の制御データレ
ジスタを順次指定するセグメントポインタと、このセグ
メントポインタに、前記制御データレジスタを指定する
セグメント識別番号を初期値として設定する手段とを有
することを特徴とするシーケンサを提供するものであ
る。
【0020】ここで、前記制御データレジスタは、さら
に複数個の制御手順からなる一連の検索の終了を指定す
るエンドフラグを保持するのが好ましい。
【0021】また、前記セグメントポインタには、前記
初期値が外部端子経由で入力されるのが好ましい。
【0022】
【作用】本発明のシーケンサは、セグメントポインタ
に、制御データレジスタを指定するセグメント識別番号
を初期値として設定できるようにすることによって、こ
のセグメントポインタによって指定される制御データレ
ジスタに書き込まれているシーケンスから順次一連の検
索を開始することができるように構成したものである。
このため、本発明のシーケンサによれば、回路規模を増
大させることなく、定義することができる一連の検索の
個数を増加させることができ、それぞれの制御データレ
ジスタを効率よく使用することができる。
【0023】
【発明の実施の形態】以下に、添付の図面に示す好適実
施例に基づいて、本発明のシーケンサを詳細に説明す
る。
【0024】図1は、本発明のシーケンサを用いるCA
Mの一実施例の部分ブロック図である。図示例のCAM
10は、検索データを保持する検索データレジスタ12
と、マスクデータを保持するN個のマスクレジスタ14
と、セグメントデータを保持するN個のセグメントレジ
スタ16と、本発明により提案されるシーケンサ18
と、所定数のメモリワード20とを有している。
【0025】また、図2は、本発明のシーケンサの一実
施例のブロック図である。図示例のシーケンサ18は、
シーケンスを指定する制御データを保持する所定数の制
御データレジスタ22からなる所定数のチャネル24
と、チャネル指定手段の一例であって、所定数のチャネ
ルの中の所定のチャネル24を指定するアドレスデコー
ダ26と、アドレスデコーダ26によって指定されるチ
ャネル24の中の所定の制御データレジスタ22を指定
するセグメントポインタ28とを有する。
【0026】このCAM10において、それぞれのメモ
リワード20には予めセグメントデータおよび記憶デー
タが格納される。それぞれのマスクレジスタ14には予
め所定のマスクデータが書き込まれ、それぞれのセグメ
ントレジスタ16には予め所定のセグメントデータが書
き込まれる。
【0027】また、図3に示されるように、それぞれの
制御データレジスタ22には、シーケンスを指定する制
御データと、複数個のシーケンスからなる一連の検索の
終了を指定するエンドフラグとが書き込まれる。本発明
のシーケンサ18においては、例えばエンドフラグが1
のときに一連の検索が終了されるものと定義することに
よって、それぞれのチャネル24に複数個のシーケンス
からなる一連の検索が所定数定義される。
【0028】検索を開始するに際しては、まず、ロード
信号をアクティブ状態にすることによって、複数個のシ
ーケンスからなる所定の一連の検索の中の最初のシーケ
ンスである制御データが書き込まれている制御データレ
ジスタ22のセグメントID(識別番号)がセグメント
ポインタ28に初期値として設定される。即ち、セグメ
ントポインタ28によって、所定の一連の検索の中の最
初のシーケンスである制御データが書き込まれている制
御データレジスタ22が指定される。
【0029】次いで、複数個のシーケンスからなる所定
の一連の検索が書き込まれているチャネル24を指定す
るアドレスデータを入力しつつ、検索データを検索デー
タレジスタ12に書き込むことによって、複数個のシー
ケンスからなる所定の一連の検索の中の最初のシーケン
スが開始される。このとき、入力されるアドレスデータ
はアドレスデコーダ26によってデコードされ、所定数
のチャネルの中の所定のチャネル24が指定される。
【0030】例えば、アドレスデータによってチャネル
1が指定されるとすると、まず、セグメントポインタ2
8によって、設定されているセグメントIDに応じて、
チャネル1に定義されている所定数の一連の検索の中の
所定の一連の検索の最初のシーケンスである制御データ
が書き込まれている制御データレジスタ22が指定され
る。
【0031】次いで、セグメントポインタ28に初期値
としてセグメントID5が設定されており、このセグメ
ントポインタ28によって、例えば制御データレジスタ
(5)が指定されるとすると、この制御データレジスタ
(5)に書き込まれている制御データによって、N個の
マスクレジスタの中の所定のマスクレジスタ14と、N
個のセグメントレジスタの中の所定のセグメントレジス
タ16とが指定される。
【0032】制御データレジスタ(5)に書き込まれて
いる制御データによって、マスクレジスタ#2が指定さ
れ、セグメントレジスタ#3が指定されるとすると、セ
グメントレジスタ#3に書き込まれているセグメントデ
ータと、マスクレジスタ#2に書き込まれているマスク
データによってマスクされた検索データとからなるデー
タは、それぞれのメモリワード20に格納されているセ
グメントデータおよび記憶データと比較される。
【0033】次に、同一アドレスデータを入力すること
によって、同一のチャネル1を指定しつつ、検索データ
を検索データレジスタ12に書き込むことによって、次
のシーケンスが開始される。このとき、セグメントポイ
ンタ28に設定されているセグメントID5が1つイン
クリメント(増加)され、セグメントID6とされるこ
とによって、制御データレジスタ(6)が指定され、以
下同様に、所定の検索動作が行われる。
【0034】そして、セグメントポインタ28によっ
て、一連の検索の中の最後のシーケンスである制御デー
タが書き込まれている制御データレジスタ(8)が指定
され、同様に検索が行われて複数個のシーケンスからな
る一連の検索が終了する。このとき、エンドフラグが1
であることを確認して、最初に設定した制御データレジ
スタ(5)のセグメントID5をセグメントポインタ2
8に再度初期値として設定することによって、再度同じ
一連の検索を繰り返し行うことができる。
【0035】このように、本発明のシーケンサによれ
ば、セグメントポインタに制御データレジスタのセグメ
ントIDを初期値として設定できるようにし、エンドフ
ラグを用いて一連の検索が終了したことを確認できるよ
うにすることによって、回路規模を増大させることな
く、それぞれのチャネルに定義することができる一連の
検索の個数を増加させることができ、それぞれの制御デ
ータレジスタを効率よく使用することができる。
【0036】また、本発明のシーケンサによれば、例え
ばa,b,c,d,eという5個のシーケンスからなる
一連の検索のシーケンスeだけにエンドフラグを書き込
み、セグメントポインタにシーケンスaまたはcの制御
データレジスタのセグメントIDを初期値としてロード
することによって、a,b,c,d,eという5個のシ
ーケンスからなる一連の検索およびc,d,eという3
個のシーケンスからなる一連の検索において、シーケン
スc,d,eを共有することができ、さらに制御データ
レジスタを有効に使用することができる。
【0037】本発明のシーケンサは、基本的に以上のよ
うに構成される。なお、本発明は、上述する実施例だけ
に限定されるものではない。
【0038】例えば、上述する実施例においては、チャ
ネル指定手段としてアドレスデコーダ26を用いる例を
示したが、例えば図4に示されるように、チャネル指定
データを保持する指定データレジスタ30を設け、この
指定データレジスタ30に保持されるチャネル指定デー
タによって、所定数のチャネルの中の所定のチャネル2
4を指定するようにしてもよい。
【0039】この指定データレジスタ30には、一連の
検索を繰り返し行う前に、一度だけ所定のチャネル指定
データを設定すればよく、指定データレジスタ30に設
定されるチャネル指定データを変更しない限り、保持さ
れているチャネル指定データによって同一のチャネル2
4が指定される。このため、検索を開始するに際して
は、検索データを検索データレジスタ12に書き込むこ
とだけによって、一連の検索を開始することができるた
め、さらにシーケンスを簡単化することができる。
【0040】なお、上述する実施例においては、所定数
の制御データレジスタ22からなる所定数のチャネル2
4を有する例を示したが、本発明のシーケンサにおい
て、所定数の制御データレジスタ22は、チャネル24
に分かれていても良いのは勿論であるが、必ずしもチャ
ネル24に分かれている必要はない。この場合、チャネ
ル24を指定するチャネル指定手段を特に設ける必要は
なく、セグメントポインタ28によって、それぞれの制
御データレジスタ22が指定されるようにすればよい。
【0041】また、セグメントポインタ28にセグメン
トIDを初期値としてロードする方法については、セグ
メントポインタ28に所定のアドレスを付与し、このア
ドレスをデコードしてロード信号とし、ソフトウェアに
よってCPU(中央演算装置)のデータバス経由で書き
込んでもよいし、あるいは初期値を外部端子経由で入力
し、ロード信号によってセグメントポインタ28に保持
されるようにしてもよい。外部端子経由による初期値の
書き込みは、高速に書き込めるという利点がある。
【0042】また、検索に用いられる検索補助データと
して、マスクデータ、セグメントデータ、エンドフラグ
などを例示したが、これ以外であっても、一致フラグを
一致フラグレジスタに保持するか否かを指定するアクセ
スビットや、例えば64ビットのデータ中の所定の32
ビットのデータを検索対象とするための32ビットウィ
ンドウのシフト量を指定するウィンドウシフト、前回の
検索結果と今回の検索結果とのANDをとって、これを
今回の検索結果とするANDサーチなどを用いることも
できる。
【0043】また、制御データレジスタにエンドフラグ
を書き込む例を示しているが、例えばセグメントポイン
タによって現在指定されている制御データレジスタの情
報を、CPUのソフトウェアにより管理しておくことに
よって、必ずしもエンドフラグを制御データレジスタに
書き込んでおく必要はないことはいうまでもないことで
ある。
【0044】
【発明の効果】以上詳細に説明したように、本発明のシ
ーケンサは、セグメントポインタに、制御データレジス
タのセグメントIDを初期値として設定することによっ
て、任意の制御データレジスタに書き込まれているシー
ケンスから順次一連の検索を開始させることができる。
このため、本発明のシーケンサによれば、回路規模を増
大させることなく、1つのチャネルに、複数個のシーケ
ンスからなる一連の検索を所定数定義することができ、
制御データレジスタを無駄なく効率よく使用することが
できる。
【図面の簡単な説明】
【図1】本発明のシーケンサを用いる連想メモリの一実
施例の部分ブロック図である。
【図2】本発明のシーケンサの一実施例のブロック図で
ある。
【図3】本発明のシーケンサの別の実施例のブロック図
である。
【図4】本発明のシーケンサの別の実施例のブロック図
である。
【図5】従来の連想メモリの一例のブロック図である。
【図6】従来のシーケンサを用いる連想メモリの一例の
ブロック図である。
【符号の説明】
10,32 連想メモリ(CAM) 12,34 検索データレジスタ 14,36 マスクレジスタ 16 セグメントレジスタ 18 シーケンサ 20,40 メモリワード 22 制御データレジスタ 24 チャネル 26 アドレスデコーダ 28 セグメントポインタ 30 指定データレジスタ 38 デコーダ 42 一致フラグレジスタ 44 エンコーダ 46 出力データレジスタ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11C 15/00 - 15/06 G06F 17/30

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】連想メモリの検索手順を制御するシーケン
    サであって、 前記検索手順を指定する制御データを保持する所定数の
    制御データレジスタからなる所定数のチャネルと、この
    所定数のチャネルの中の所定のチャネルを指定するチャ
    ネル指定手段と、このチャネル指定手段によって指定さ
    れるチャネルの中の所定の制御データレジスタを順次指
    定するセグメントポインタと、このセグメントポインタ
    に、前記制御データレジスタを指定するセグメント識別
    番号を初期値として設定する手段とを有することを特徴
    とするシーケンサ。
  2. 【請求項2】前記制御データレジスタは、さらに複数個
    の制御手順からなる一連の検索の終了を指定するエンド
    フラグを保持する請求項1に記載のシーケンサ。
  3. 【請求項3】前記セグメントポインタには、前記初期値
    が外部端子経由で入力される請求項1または2に記載の
    シーケンサ。
JP27119895A 1995-10-19 1995-10-19 シーケンサ Expired - Fee Related JP3370222B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27119895A JP3370222B2 (ja) 1995-10-19 1995-10-19 シーケンサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27119895A JP3370222B2 (ja) 1995-10-19 1995-10-19 シーケンサ

Publications (2)

Publication Number Publication Date
JPH09115290A JPH09115290A (ja) 1997-05-02
JP3370222B2 true JP3370222B2 (ja) 2003-01-27

Family

ID=17496721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27119895A Expired - Fee Related JP3370222B2 (ja) 1995-10-19 1995-10-19 シーケンサ

Country Status (1)

Country Link
JP (1) JP3370222B2 (ja)

Also Published As

Publication number Publication date
JPH09115290A (ja) 1997-05-02

Similar Documents

Publication Publication Date Title
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US6154808A (en) Method and apparatus for controlling data erase operations of a non-volatile memory device
EP0449661B1 (en) Computer for Simultaneously executing plural instructions
EP0341899A1 (en) Content addressable memory array
EP0341896B1 (en) Content addressable memory array
JPH01182992A (ja) 半導体記憶装置
JPH09167495A (ja) データ記憶ユニット及び該ユニットを用いたデータ記憶装置
JP3370222B2 (ja) シーケンサ
JPH11110339A (ja) Dmaコントローラ
JPS6041769B2 (ja) アドレス指定方式
JPH01277397A (ja) 情報記憶読出方法とその装置
JP3130745B2 (ja) 連想メモリ
JP3140668B2 (ja) 連想メモリ
US6081869A (en) Bit-field peripheral
JP2000066960A (ja) バックアップ方式
JP2955797B2 (ja) パターンジェネレータ
JP2937890B2 (ja) Eeprom初期化方法
JP3088867B2 (ja) Icカード
JPH0245831A (ja) 知識推諭処理装置
JP2918570B2 (ja) 中央演算処理装置
JP3130736B2 (ja) 連想メモリの使用方法および連想メモリ
US20050055514A1 (en) Data rearrangement method
JP2605868B2 (ja) メモリ内容表示機能付電話機のメモリ内容検索方法
JPH10145453A (ja) 通信プロトコル処理方法及び処理装置
JPS61198351A (ja) ダイレクト・メモリ・アクセス制御回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021008

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081115

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees