(57)【要約】【課題】大小比較機能を有する連想メモリ装置において、設計が容易であるとともに、確実に消費電力を削減することができる連想メモリ装置を提供する。【解決手段】本発明の連想メモリ装置は、多数のワード回路のワードメモリに記憶されたデータと検索データとの大小比較を行い、ワードメモリに記憶された多数のデータの中から所望のデータを検索するもので、前回の検索データを保持する検索データ保持手段と、検索データ保持手段に保持された前回の検索データと今回の検索データとの比較結果を出力する検索データ比較手段とを備える。また、ワード回路のそれぞれが、前回の大小比較結果を保持する前回比較結果保持手段と、前回比較結果保持手段が保持する前回の比較結果と検索データ比較手段が出力する比較結果とに基づいて対応するワード回路のワードメモリに対する検索動作の要否を判断する、検索動作制御手段とを備える。【選択図】図１
2008034054.tif 000002
【特許請求の範囲】
【請求項１】
１ワード分のデータを記憶するワードメモリを有するとともに、該ワードメモリに記憶されたデータと検索データとの大小比較を行う比較手段を含む検索手段を有するワード回路を多数備え、該多数のワード回路のワードメモリに記憶した多数のデータの中から所望のデータを検索する連想メモリ装置において、
前回の検索データを保持する検索データ保持手段と、該検索データ保持手段に保持された前回の検索データと今回の検索データとの比較結果を出力する検索データ比較手段とを備えるとともに、
前記ワード回路のそれぞれが、前回の大小比較結果を保持する前回比較結果保持手段と、該前回比較結果保持手段が保持する前回の比較結果と前記検索データ比較手段が出力する比較結果とに基づいて対応するワード回路のワードメモリに対する検索動作の要否を判断する、検索動作制御手段とを備えることを特徴とする連想メモリ装置。
【請求項２】
前記検索動作制御手段は、対応するワード回路のワードメモリに対する検索動作が不要と判断したときに、該対応するワード回路の検索手段の動作を抑止することを特徴とする請求項１記載の連想メモリ装置。
【請求項３】
前記検索手段は、検索線と、該検索線へのプリチャージを行うプリチャージ手段と、前記検索線からのディスチャージを行うディスチャージ手段とを備え、
前記検索動作制御手段は、前記ワード回路のワードメモリに対する検索動作が不要と判断したときに、該検索動作が不要と判断されたワード回路の検索手段のプリチャージ手段およびディスチャージ手段のうちの、少なくとも一方の動作を抑止することを特徴とする請求項２記載の連想メモリ装置。
【請求項４】
前記前回比較結果保持手段は、前記比較手段が出力する比較結果に基づいて、前記保持された前回比較結果を更新する更新手段を備え、
前記検索動作制御手段は、対応するワード回路のワードメモリに対する検索動作が不要と判断したときに、該対応するワード回路の前回比較結果保持手段の更新手段の動作を抑止することを特徴とする請求項２または３記載の連想メモリ装置。
【請求項５】
１ワード分のデータを記憶するワードメモリを有するとともに、該ワードメモリに記憶されたデータと検索データとの大小比較を行う比較手段を含む検索手段を有するワード回路を多数備え、記憶した多数のデータの中から所望のデータを検索する連想メモリ装置において、
前回の検索データを保持する検索データ保持手段と、該検索データ保持手段に保持された前回の検索データと今回の検索データとの比較結果を出力する検索データ比較手段とを備えるとともに、
前記多数のワード回路が、それぞれが複数の前記ワード回路を含む複数のブロックに分けられており、
前記複数のブロックのそれぞれが、該ブロックに含まれる複数のワード回路のそれぞれの比較手段による前回の比較結果を総合した比較結果を保持するブロック比較結果保持手段と、該ブロック比較結果保持手段が保持する総合した比較結果と前記検索データ比較手段が出力する比較結果とに基づいて該ブロックに含まれる複数のワード回路のワードメモリに対する検索動作の要否を判断する、ブロック検索動作制御手段とを備えることを特徴とする連想メモリ装置。
【請求項６】
前記複数のブロックのそれぞれが、該それぞれのブロックに含まれる複数のワード回路の検索手段に前記検索データを供給する検索データ供給手段を備え、
前記ブロック検索動作制御手段は、対応するブロックに含まれる複数のワード回路のワードメモリに対する検索動作が不要と判断したときに、該対応するブロックの検索データ供給手段の動作を抑止することを特徴とする請求項５記載の連想メモリ装置。
【請求項７】
前記検索手段は、検索線と、該検索線へのプリチャージを行うプリチャージ手段と、前記検索線からのディスチャージを行うディスチャージ手段とを備え、
前記ブロック検索動作制御手段は、対応するブロックに含まれる複数のワード回路のワードメモリに対する検索動作が不要と判断したときに、該検索動作が不要と判断されたワード回路の検索手段のプリチャージ手段およびディスチャージ手段のうちの、少なくとも一方の動作を抑止することを特徴とする請求項５または６記載の連想メモリ装置。
【請求項８】
前記複数のワード回路のそれぞれが、前記前回の比較結果を保持するワード比較結果保持手段と、該ワード比較結果保持手段が保持する前回の比較結果と前記検索データ比較手段が出力する比較結果とに基づいて対応するワード回路のワードメモリに対する検索動作の要否を判断する、ワード検索動作制御手段とを備え、
前記ブロック検索動作制御手段が対応するブロックに含まれる複数のワード回路のワードメモリに対する検索動作が不要と判断しなかったときに、該対応するブロックに含まれる複数のワード回路のそれぞれのワード検索動作制御手段が、該それぞれのワード回路のワードメモリに対する検索動作の要否を判断し、不要と判断したときには対応するワード回路の検索手段の動作を抑止することを特徴とする請求項６または７記載の連想メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大小比較機能を有する連想メモリ装置（以下、ＣＡＭ（Content Addressable Memory：内容アドレス式メモリ）装置という）の消費電力を低減するための技術分野に関するものである。
【背景技術】
【０００２】
従来のＣＡＭ装置は、それぞれのワードに記憶されたデータ（記憶データ）と検索しようとするデータ（検索データ）との一致検索を同時に行い、検索データに一致する記憶データが記憶されているワードのアドレスや、これに関連したデータを出力する機能を備えている。これに対し、本出願人は、特許文献１に開示されているように、大小比較機能および領域一致比較機能を有するＣＡＭ装置を提案している。
【０００３】
以下、本出願人に関わる特許文献１に開示のＣＡＭ装置について説明する。
【０００４】
図５は、特許文献１に開示された大小比較機能を有するＣＡＭ装置の一例の構成概略図である。同図に示すＣＡＭ装置９０は、その内部に記憶されている複数の記憶データの各々と検索データとの一致検索を行う一致比較機能を有するとともに、大小比較を行い、その結果を出力する大小比較機能を備えている。ＣＡＭ装置９０は、検索データレジスタ１６と、ＳＬドライバ１８と、ｎ個のワード回路２１と、プライオリティエンコーダ２２とを備えている。
【０００５】
検索データレジスタ１６は、ＣＡＭ装置９０の外部から入力される今回のｍビットの検索データを保持する。
【０００６】
ＳＬドライバ１８は、検索データレジスタ１６から入力される今回の検索データの各々のビットに対応するｍ組のサーチラインＳＬとその反転サーチラインＳＬＮをドライブする。すなわち、ＳＬドライバ１８は、検索前に、サーチラインＳＬとその反転サーチラインＳＬＮをともに‘Ｈ（ハイレベル）’にドライブし、検索時には、サーチラインＳＬとその反転サーチラインＳＬＮ上に、検索データとその反転検索データをドライブする。
【０００７】
続いて、各々のワード回路２１は、大小比較を行う比較手段を含む検索手段を有するものである。すなわち、自分自身の記憶データと検索データとの一致検索を行うとともに、大小比較を行い、その結果を出力するもので、検出開始制御回路２４と、ｍビットのＣＡＭセル２６と、ＰＣ回路２９と、センス回路３０と、フラグレジスタ３３とによって構成されている。
【０００８】
ここで、検出開始制御回路２４は、検索時（検出開始時）に、制御信号ＭＬＤＣに従って、一致線ＭＬをディスチャージするもので、図７に示すように、ＮＭＯＳ（Ｎ型ＭＯＳトランジスタ）３４によって構成されている。検出開始制御回路２４では、検索時に、制御信号ＭＬＤＣが‘Ｈ’とされる。その結果、ＮＭＯＳ３４がオン状態となって、一致線ＭＬは、図５中左端のＣＡＭセル２６側からディスチャージされる。
【０００９】
各々のＣＡＭセル２６は、一致検出型のもので、図６に示すように、記憶回路３６と、一致比較回路３８と、大小比較回路４０とによって構成されている。
【００１０】
記憶回路３６は、１ビットのデータを記憶するＳＲＡＭ（スタティックランダムアクセスメモリ）構成のもので、２つのインバータ４２ａ、４２ｂと、２つのＮＭＯＳ４４ａ、４４ｂとによって構成されている。記憶回路３６は、ワード線ＷＬが‘Ｈ’の時に選択される。この時、ビット線ＢＬとその反転ビット線ＢＬＮにドライブされたデータが記憶回路３６に書き込まれるか、記憶回路３６に保持されている記憶データＤとその反転データＤＮが、ビット線ＢＬとその反転ビット線ＢＬＮ上に読み出される。
【００１１】
一致比較回路３８は、記憶データと検索データとを比較し、その一致比較結果を出力するもので、３つのＮＭＯＳ４６ａ、４６ｂ、４６ｃによって構成されている。また、大小比較回路４０は、記憶データと検索データとを比較し、その大小比較結果を出力するもので、２つのＮＭＯＳ４８ａ、４８ｂによって構成されている。各々のＣＡＭセル２６の、これらの一致比較回路３８および大小比較回路４０が、対応するワード回路２１の、大小比較を行う比較手段を含む検索手段を構成する。なお、一致比較回路３８および大小比較回路４０の動作の詳細は後述する。
【００１２】
続いて、ＰＣ（プリチャージ）回路２９は、検索（以下、一致比較回路３８による一致比較、および、大小比較回路４０による大小比較の両者をまとめて、「検索」と記す）前に、一致線ＭＬおよび大小比較線ＧＬをプリチャージするもので、図８に示すように、２つのＰＭＯＳ（Ｐ型ＭＯＳトランジスタ）５０ａ、５０ｂによって構成されている。ＰＣ回路２９では、検索前に、制御信号ＰＣＮが‘Ｌ（ローレベル）’とされる。その結果、２つのＰＭＯＳ５０ａ、５０ｂは同時にオン状態となって、一致線ＭＬおよび大小比較線ＧＬはともにプリチャージされる。
【００１３】
センス回路３０は、大小比較線ＧＬ上の信号（大小比較結果）を反転増幅し、大小比較センス出力線ＳＧＭ上に出力するもので、図９に示すように、ＰＭＯＳ５２と、インバータ５４とによって構成されている。
【００１４】
センス回路３０では、検索前に、制御信号ＰＣＮが‘Ｌ’とされ、ＰＣ回路２９によって、大小比較線ＧＬがプリチャージされると、インバータ５４の出力、すなわち、大小比較センス出力線ＳＧＭ上の信号は‘Ｌ’となる。その結果、ＰＭＯＳ５２がオン状態となる。このため、大小比較線ＧＬは、制御信号ＰＣＮが‘Ｈ’とされた後も、ＰＭＯＳ５２によって‘Ｈ’に維持される。
【００１５】
しかし、検索時に、制御信号ＭＬＤＣが‘Ｈ’とされ、検出開始制御回路２４によって、一致線ＭＬがディスチャージされ、その結果、大小比較線ＧＬがディスチャージされて‘Ｌ’になると、大小比較センス出力線ＳＧＭ上の信号は‘Ｈ’となる。この場合には、ＰＭＯＳ５２はオフ状態となって、ＰＭＯＳ５２を通じた大小比較線ＧＬのチャージは停止される。
【００１６】
フラグレジスタ３３は、図示していないクロック信号に同期して、センス回路３０から大小比較センス出力線ＳＧＭ上に出力される信号を保持する。フラグレジスタ３３に保持された信号は、プライオリティエンコーダ２２に入力される。
【００１７】
最後に、プライオリティエンコーダ２２は、あらかじめ決定されている優先順位に従い、図示していない制御信号に応じて、記憶データが検索データ以下の値であるワード（記憶データ≦検索データ）のアドレス、もしくは、記憶データが検索データよりも大きい値であるワード（記憶データ＞検索データ）のアドレスを順次エンコードして出力する。
【００１８】
次に、ＣＡＭ装置９０の動作を説明する。
【００１９】
ＣＡＭ装置９０では、検索前に、ＳＬドライバ１８によって、サーチラインＳＬとその反転サーチラインＳＬＮがともに‘Ｈ’にドライブされる。この時、各々のＣＡＭセル２６では、記憶データに応じて、一致比較回路３８の２つのＮＭＯＳ４６ａ、４６ｂのうちの一方がオン状態、他方がオフ状態となる。このため、ＮＭＯＳ４６ｃは、オン状態のＮＭＯＳを介して、そのゲートが‘Ｈ’となり、オン状態となる。
【００２０】
従って、各々のワード回路２１において、ｍビット全てのＣＡＭセル２６の一致比較回路３８のＮＭＯＳ４６ｃはオン状態となる。
【００２１】
また、ＰＣ回路２９によって、図５中右端のＣＡＭセル２６側から一致線ＭＬ＿ｂがプリチャージされる。この時、全てのＣＡＭセル２６のＮＭＯＳ４６ｃはオン状態であるから、各々のワード回路２１において、右端のＣＡＭセル２６の一致線ＭＬ＿ｂがプリチャージされると、直列に接続されたｍビットのＣＡＭセル２６のＮＭＯＳ４６ｃを介して、全てのＣＡＭセル２６の一致線ＭＬ＿ａ、ＭＬ＿ｂがプリチャージされ、‘Ｈ’になる。
【００２２】
同時に、ＰＣ回路２９によって、図１中右端のＣＡＭセル２６側から大小比較線ＧＬがプリチャージされ、‘Ｈ’になる。この時、各々のＣＡＭセル２６の大小比較回路４０において、ＮＭＯＳ４８ａは、記憶回路３６に記憶されている記憶データが‘１’の場合にオン状態、‘０’の場合にオフ状態となる。また、反転サーチラインＳＬＮは‘Ｈ’にドライブされているので、ＮＭＯＳ４８ｂはオン状態となる。
【００２３】
すなわち、検索前に、各々のワード回路２１において、記憶回路３６に記憶されている記憶データが‘１’であるＣＡＭセル２６では、一致線ＭＬ＿ａと大小比較線ＧＬとが、大小比較回路４０のＮＭＯＳ４８ａ、４８ｂを介して導通状態となり、それ以外のＣＡＭセル２６では、ＮＭＯＳ４８ａがオフ状態であるから、一致線ＭＬ＿ａと大小比較線ＧＬとは非導通状態となる。
【００２４】
検索時には、制御信号ＰＣＮが‘Ｈ’とされる。そして、外部から入力される検索データが、検索データレジスタ１６に保持され、ＳＬドライバ１８によって、サーチラインＳＬとその反転サーチラインＳＬＮ上に、検索データとその反転検索データがドライブされる。つまり、検索時には、サーチラインＳＬとその反転サーチラインＳＬＮのうちの一方が、検索データに応じて‘Ｈ’から‘Ｌ’にドライブされる。
【００２５】
一致比較回路３８では、記憶データと検索データとが一致する場合、２つのＮＭＯＳ４６ａ、４６ｂのうちのオン状態のＮＭＯＳを介して、サーチラインＳＬとその反転サーチラインＳＬＮの一方から‘Ｈ’がＮＭＯＳ４６ｃのゲートに与えられるため、ＮＭＯＳ４６ｃはオン状態を維持する。
【００２６】
一方、両者が不一致の場合、同様に、２つのＮＭＯＳ４６ａ、４６ｂのうちのオン状態のＮＭＯＳを介して、サーチラインＳＬとその反転サーチラインＳＬＮの一方から‘Ｌ’がＮＭＯＳ４６ｃのゲートに与えられるため、ＮＭＯＳ４６ｃはオフ状態となる。
【００２７】
また、大小比較回路４０では、記憶データと検索データとが同じ値である場合、すなわち、記憶データと検索データの両方が‘１’または‘０’である場合、２つのＮＭＯＳ４８ａ、４８ｂのうちの一方がオン状態、他方がオフ状態となる。従って、一致線ＭＬ＿ａと大小比較線ＧＬとは非導通状態となる。
【００２８】
また、記憶データが検索データよりも小さい値である場合、すなわち、記憶データが‘０’で、検索データが‘１’の場合、２つのＮＭＯＳ４８ａ、４８ｂは両方ともオフ状態となる。従って、この場合も、一致線ＭＬ＿ａと大小比較線ＧＬとは非導通状態となる。
【００２９】
一方、記憶データが検索データよりも大きい値である場合、すなわち、記憶データが‘１’で、検索データが‘０’の場合、２つのＮＭＯＳ４８ａ、４８ｂは両方ともオン状態となる。従って、この場合にだけ、一致線ＭＬ＿ａと大小比較線ＧＬとは、オン状態であるＮＭＯＳ４８ａ、４８ｂを介して導通状態となる。
【００３０】
各々のワード回路２１では、ｍビット全てのＣＡＭセル２６の一致比較回路３８のＮＭＯＳ４６ａ、４６ｂ、４６ｃおよび大小比較回路４０のＮＭＯＳ４８ａ、４８ｂ状態が確定した後、制御信号ＭＬＤＣが‘Ｈ’とされ、検出開始制御回路２４によって、図５中左端のＣＡＭセル２６側から一致線ＭＬ＿ａがディスチャージされる。
【００３１】
この時、各々のワード回路２１において、１ビットでも不一致のＣＡＭセル２６があると、そのＣＡＭセル２６の一致比較回路３８のＮＭＯＳ４６ｃがオフ状態となる。従って、図１中右端のＣＡＭセル２６の一致線ＭＬ＿ｂはディスチャージされず、不一致の状態を表す‘Ｈ’を維持する。
【００３２】
一方、全てのＣＡＭセル２６で一致が検出された場合にだけ、全てのＣＡＭセル２６の一致比較回路３８のＮＭＯＳ４６ｃがオン状態を維持する。従って、図１中右端のＣＡＭセル２６の一致線ＭＬ＿ｂはディスチャージされ、一致の状態を表す‘Ｌ’となる。
【００３３】
また、大小比較回路４０では、記憶データと検索データとが一致する場合、および、記憶データが検索データよりも小さい値である場合、一致線ＭＬ＿ａと大小比較線ＧＬとは非導通状態となる。この場合、大小比較線ＧＬは、検索前の‘Ｈ’に維持される。
【００３４】
また、記憶データが検索データよりも大きい値である場合、一致線ＭＬ＿ａと大小比較線ＧＬとは導通状態となる。この場合、検出開始制御回路２４が、大小比較線ＧＬを、導通状態となった一致線ＭＬ＿ａ（もしくはさらに、オン状態になったＮＭＯＳ４６ｃおよび一致線ＭＬ＿ｂ）を介してディスチャージする、ディスチャージ手段として機能する。その結果、大小比較線ＧＬは‘Ｌ’となる。
【００３５】
すなわち、大小比較線ＧＬの値が‘Ｈ’である場合、記憶データが検索データ以下の値であると判断できる。一方、大小比較線ＧＬの値が‘Ｌ’である場合、記憶データが検索データよりも大きい値であると判断できる。
【００３６】
各々のワード回路２１において、大小比較線ＧＬ上の信号は、センス回路３０によって反転増幅され、大小比較センス出力線ＳＧＭ上に出力される。センス出力線ＳＧＭ上の信号は、図示していないクロック信号に同期してフラグレジスタ３３に保持され、全てのフラグレジスタ３３に保持された信号が、プライオリティエンコーダ２２に入力される。制御信号ＭＬＤＣは、フラグレジスタ３３に信号が保持された後、‘Ｌ’とされる。
【００３７】
プライオリティエンコーダ２２では、前述の通り、優先順位に従い、制御信号に応じて、記憶データが検索データ以下の値であるワード、もしくは、記憶データが検索データよりも大きい値であるワードのアドレスが順次エンコードされ、出力される。
【００３８】
このように、各々のワード回路２１は、大小比較手段を含む検索手段を有するものであり、大小比較線ＧＬの信号（大小比較結果）が、検索結果として、プライオリティエンコーダ２２を介して出力される。なお、図５に示した例では、一致線ＭＬの信号（一致比較結果）は出力されない。しかし、特許文献１に記されたように、一致検索結果を含めて、検索結果として出力することも可能である。
【００３９】
ところで、従来より、ＣＡＭ装置には、検索動作時の消費電力が大きいという問題があり、低消費電力化が必要とされている。
【００４０】
具体的には、検索時には、記憶データと検索データとの関係によって、一致線ＭＬや大小比較線ＧＬ（以下、両者を含めて「検索線」と記す）のディスチャージが行われる。また、検索前には、サーチラインＳＬ、反転サーチラインのドライブや、一致線ＭＬや大小比較線ＧＬのプリチャージが行われる。これらの、検索、およびその準備のための動作（以下、両者を含めて「検索動作」と記す）によって大きな電力が消費される。
【００４１】
通常のＲＡＭ（ランダムアクセスメモリ）は、指定されたアドレスのワードに対して、データの読み出し／書き込みを行う。このため、例えば、全てのワードを、それぞれ所定数のワードを含む複数のブロックに分割し、必要なブロックだけを動作させることによって消費電力を抑えることが可能である。
【００４２】
しかし、ＣＡＭ装置においては、それぞれのワードに記憶されている記憶データと検索データとの一致検索を全て同時に行うことによって検索の高速化を実現している。このため、検索動作の度に、同時に全てのサーチラインとその反転サーチラインの充放電や、同時に全ての検索線の充放電が繰り返されるため、消費電力が非常に大きいという問題点があった。
【００４３】
これに対し、ＣＡＭ装置の低消費電力化技術として、例えば特許文献２，３などのように、従来より多くの技術が提案されている。
【００４４】
特許文献２は、連想メモリ回路および連想記憶装置に関するもので、同公報には、一致検出線の振幅を制限することによって、検索動作時の消費電力を低減する技術が開示されている。
【００４５】
また、特許文献３は、連想記憶装置に関するもので、同公報には、連想メモリのエントリ内容が有効か否かを示すValidビットの内容が無効である場合は、該エントリのマッチ線ＭＬをプリチャージしないように制御することによって、消費電力を抑える技術が開示されている。
【００４６】
【特許文献１】特開２００４−２９５９６７号公報
【特許文献２】特開２０００−１００１７７号公報
【特許文献３】特開２００１−１６７５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００４７】
特許文献２，３に開示の低消費電力化技術は、特許文献１に開示の大小比較機能を有するＣＡＭ装置においても適用可能である。
【００４８】
しかし、特許文献２の技術では、検出線の振幅が小さくなるため、それを検出する回路が複雑化する。従って、ＣＡＭ装置の設計が難しくなるとともに、ノイズマージンが減るという問題がある。また、特許文献３に関しては、ＣＡＭ装置のエントリ内容の大部分が有効である場合、その大部分のエントリを使用するため、ほとんど消費電力削減の効果が得られないという問題がある。
【００４９】
本発明の目的は、前記従来技術に基づく問題点を解消し、大小比較機能を有する連想メモリ装置において、設計が容易であるとともに、確実に消費電力を削減することができる連想メモリ装置を提供することにある。
【課題を解決するための手段】
【００５０】
上記目的を達成するために、本発明の第１の形態は、１ワード分のデータを記憶するワードメモリを有するとともに、該ワードメモリに記憶されたデータと検索データとの大小比較を行う比較手段を含む検索手段を有するワード回路を多数備え、該多数のワード回路のワードメモリに記憶した多数のデータの中から所望のデータを検索する連想メモリ装置において、
前回の検索データを保持する検索データ保持手段と、該検索データ保持手段に保持された前回の検索データと今回の検索データとの比較結果を出力する検索データ比較手段とを備えるとともに、
前記ワード回路のそれぞれが、前回の大小比較結果を保持する前回比較結果保持手段と、該前回比較結果保持手段が保持する前回の比較結果と前記検索データ比較手段が出力する比較結果とに基づいて対応するワード回路のワードメモリに対する検索動作の要否を判断する、検索動作制御手段とを備えることを特徴とする連想メモリ装置を提供するものである。
【００５１】
ここで、前記検索動作制御手段は、対応するワード回路のワードメモリに対する検索動作が不要と判断したときに、該対応するワード回路の検索手段の動作を抑止することが好ましい。
【００５２】
また、前記検索手段は、検索線と、該検索線へのプリチャージを行うプリチャージ手段と、前記検索線からのディスチャージを行うディスチャージ手段とを備え、
前記検索動作制御手段は、前記ワード回路のワードメモリに対する検索動作が不要と判断したときに、該検索動作が不要と判断されたワード回路の検索手段のプリチャージ手段およびディスチャージ手段のうちの、少なくとも一方の動作を抑止することが好ましい。
【００５３】
また、前記前回比較結果保持手段は、前記比較手段が出力する比較結果に基づいて、前記保持された前回比較結果を更新する更新手段を備え、
前記検索動作制御手段は、対応するワード回路のワードメモリに対する検索動作が不要と判断したときに、該対応するワード回路の前回比較結果保持手段の更新手段の動作を抑止することが好ましい。
【００５４】
また、本発明の第２の形態は、１ワード分のデータを記憶するワードメモリを有するとともに、該ワードメモリに記憶されたデータと検索データとの大小比較を行う比較手段を含む検索手段を有するワード回路を多数備え、記憶した多数のデータの中から所望のデータを検索する連想メモリ装置において、
前回の検索データを保持する検索データ保持手段と、該検索データ保持手段に保持された前回の検索データと今回の検索データとの比較結果を出力する検索データ比較手段を含む検索手段とを備えるとともに、
前記多数のワード回路が、それぞれが複数の前記ワード回路を含む複数のブロックに分けられており、
前記複数のブロックのそれぞれが、該ブロックに含まれる複数のワード回路のそれぞれの比較手段による前回の比較結果を総合した比較結果を保持するブロック比較結果保持手段と、該ブロック比較結果保持手段が保持する総合した比較結果と前記検索データ比較手段が出力する比較結果とに基づいて該ブロックに含まれる複数のワード回路のワードメモリに対する検索動作の要否を判断する、ブロック検索動作制御手段とを備えることを特徴とする連想メモリ装置を提供する。
【００５５】
ここで、前記複数のブロックのそれぞれが、該それぞれのブロックに含まれる複数のワード回路の検索手段に前記検索データを供給する検索データ供給手段を備え、
前記ブロック検索動作制御手段は、対応するブロックに含まれる複数のワード回路のワードメモリに対する検索動作が不要と判断したときに、該対応するブロックの検索データ供給手段の動作を抑止することが好ましい。
【００５６】
また、前記検索手段は、検索線と、該検索線へのプリチャージを行うプリチャージ手段と、前記検索線からのディスチャージを行うディスチャージ手段とを備え、
前記ブロック検索動作制御手段は、対応するブロックに含まれる複数のワード回路のワードメモリに対する検索動作が不要と判断したときに、該検索動作が不要と判断されたワード回路の比較手段のプリチャージ手段およびディスチャージ手段のうちの、少なくとも一方の動作を抑止することが好ましい。
【００５７】
また、前記複数のワード回路のそれぞれが、前記前回の比較結果を保持するワード比較結果保持手段と、該ワード比較結果保持手段が保持する前回の比較結果と前記検索データ比較手段が出力する比較結果とに基づいて対応するワード回路のワードメモリに対する検索動作の要否を判断する、ワード検索動作制御手段とを備え、
前記ブロック検索動作制御手段が対応するブロックに含まれる複数のワード回路のワードメモリに対する検索動作が不要と判断しなかったときに、該対応するブロックに含まれる複数のワード回路のそれぞれのワード検索動作制御手段が、該それぞれのワード回路のワードメモリに対する検索動作の要否を判断し、不要と判断したときには対応するワード回路の検索手段の動作を抑止することが好ましい。
【発明の効果】
【００５８】
本発明の第１の形態のＣＡＭ装置では、記憶データと前回の検索データとの大小比較結果と、前回と今回の検索データの比較結果とに基づいて、各々のワード毎に、今回の検索データによる検索動作の要否を判断する。その結果、検索動作が不要であると判断されたワードでは、検索動作を抑止する。具体的には、例えば一致線および大小比較線のプリチャージを停止する。これによって、検索動作時の消費電力を大幅に削減することができる。
【００５９】
また、本発明の第２の形態のＣＡＭ装置では、記憶データと前回の検索データとの大小比較結果と、前回と今回の検索データの比較結果とに基づいて、各々のＣＡＭブロック毎に、今回の検索データによる検索動作の要否を判断する。その結果、検索動作が不要であると判断されたＣＡＭブロックでは、検索動作を抑止する。具体的には、検索データの供給を抑止する、もしくは、検索手段のプリチャージまたはディスチャージの少なくとも一方を抑止する。これによって、検索時の消費電力を大幅に削減することができる。
【発明を実施するための最良の形態】
【００６０】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の連想メモリ装置を詳細に説明する。
【００６１】
図１は、本発明のＣＡＭ装置の構成を表す第１の実施形態の概略図である。同図に示すＣＡＭ装置１０は、従来のＣＡＭ装置９０と同様に、複数の記憶データの各々と検索データとの大小比較機能を備えている。ＣＡＭ装置１０は、前検索データレジスタ１２と、検索データ大小比較回路１４と、検索データレジスタ１６と、ＳＬドライバ１８と、複数のワード回路２０と、プライオリティエンコーダ２２とによって構成されている。
【００６２】
前検索データレジスタ１２（検索データ保持手段）には、ＣＡＭ装置１０の外部から検索データが入力される。前検索データレジスタ１２は、前回の検索データを保持する。すなわち、前検索データレジスタ１２は、検索時に、検索データが入力される毎に、これを今回の検索データとして保持するとともに、前回の検索時に入力され、保持されている検索データを前回の検索データとして出力する。
【００６３】
続いて、検索データ大小比較回路（検索データ比較手段）１４には、ＣＡＭ装置１０の外部から今回の検索データが入力され、前検索データレジスタ１２から前回の検索データが入力される。検索データ大小比較回路１４は、今回の検索データと前回の検索データとの大小比較を行い、その比較結果ＬＧを出力する。検索データの比較結果ＬＧは、全てのワード回路２０に入力される。
【００６４】
本実施形態の場合、今回の検索データが、前回の検索データよりも小さい値である場合（今回の検索データ＜前回の検索データ）には、検索データの大小比較結果ＬＧとして‘Ｈ’が出力される。一方、今回の検索データが、前回の検索データ以上の値である場合（今回の検索データ≧前回の検索データ）には、検索データの大小比較結果ＬＧとして‘Ｌ’が出力される。
【００６５】
検索データレジスタ１６およびＳＬドライバ１８は、従来のＣＡＭ装置９０のものと同じものである。以下の説明では、従来のＣＡＭ装置９０の構成要素と同じ構成要素に同じ符号を付して、その詳細な説明は省略する。
【００６６】
続いて、各々のワード回路２０も従来のＣＡＭ装置９０のものと同じ構成のもので、検出開始制御回路２４と、ｍビットのＣＡＭセル２６と、ＰＣ回路２８と、センス回路３０と、フラグレジスタ３２とによって構成されている。
【００６７】
ここで、検出開始制御回路（Ｄ）２４は、図７に示すように、ＮＭＯＳ（一致線ＭＬのディスチャージ手段）３４によって構成されている。ＮＭＯＳ３４は、一致線ＭＬとグランドとの間に接続され、そのゲートには、制御信号ＭＬＤＣが接続されている。
【００６８】
ｍビットのＣＡＭセル２６は、一致検出型のもので、本実施形態の場合、１ワード分のｍビットのデータを記憶するワードメモリである。ＣＡＭセル２６は、図６に示すように、記憶回路３６と、一致比較回路３８と、大小比較回路４０とによって構成されている。
【００６９】
記憶回路３６は、ＳＲＡＭ構成のもので、２つのインバータ４２ａ、４２ｂと、２つのＮＭＯＳ４４ａ、４４ｂとによって構成されている。２つのインバータ４２ａ、４２ｂは、互いに、一方の出力が他方の入力に入力されている。ＮＭＯＳ４４ａ、４４ｂは、それぞれビット線ＢＬおよびその反転ビット線ＢＬＮと、インバータ４２ａ、４２ｂの入力との間に接続され、そのゲートには、ワード線ＷＬが接続されている。
【００７０】
一致比較回路３８は、３つのＮＭＯＳ４６ａ、４６ｂ、４６ｃによって構成されている。２つのＮＭＯＳ４６ａ、４６ｂは、サーチラインＳＬとその反転サーチラインＳＬＮとの間に直列に接続され、そのゲートには、それぞれ記憶データとその反転記憶データが入力されている。ＮＭＯＳ４６ｃは、一致線ＭＬ＿ａとＭＬ＿ｂとの間に接続され、そのゲートには、２つのＮＭＯＳ４６ａ、４６ｂの間のノードが接続されている。
【００７１】
また、大小比較回路４０は、２つのＮＭＯＳ４８ａ、４８ｂによって構成されている。２つのＮＭＯＳ４８ａ、４８ｂは、一致線ＭＬ＿ａと大小比較線ＧＬとの間に直列に接続されている。ＮＭＯＳ４８ａのゲートには記憶データが入力され、ＮＭＯＳ４８ｂのゲートには、反転サーチラインＳＬＮが接続されている。
【００７２】
続いて、図２を参照して、ＰＣ回路２８、センス回路３０およびフラグレジスタ３２について説明する。
【００７３】
ＰＣ回路２８（Ｐ）は、２つのＰＭＯＳ（一致線ＭＬおよび大小比較線ＧＬのプリチャージ手段）５０ａ、５０ｂと、ＮＡＮＤ回路５６とによって構成されている。ＮＡＮＤ回路５６には、制御信号ＰＣ（制御信号ＰＣＮの反転信号）とフラグレジスタ３２のＮＡＮＤ回路６２の出力とが入力され、その出力は、２つのＰＭＯＳ５０ａ、５０ｂのゲートに入力されている。また、ＰＭＯＳ５０ａ、５０ｂは、それぞれ電源と一致線ＭＬおよび大小比較線ＧＬとの間に接続されている。
【００７４】
ＰＣ回路２８では、検索前に、制御信号ＰＣが‘Ｈ’とされる。この時、ＮＡＮＤ回路５６の出力は、ＮＡＮＤ回路６２の出力が‘Ｈ’の場合に‘Ｌ’となり、２つのＰＭＯＳ５０ａ、５０ｂがともにオン状態となって、一致線ＭＬおよび大小比較線ＧＬはともにプリチャージされる。一方、ＮＡＮＤ回路６２の出力が‘Ｌ’の場合、ＮＡＮＤ回路５６の出力は‘Ｈ’となり、２つのＰＭＯＳ５０ａ、５０ｂはオフ状態となる。
【００７５】
ここで、検出開始制御回路２４、ｍビットのＣＡＭセル２６の一致比較回路３８および大小比較回路４０、ＰＣ回路２８は、本発明の検索手段（記憶データと検索データとの大小比較を行う比較手段を含む検索手段）を構成する。
【００７６】
センス回路３０（Ｓ）は、従来のＣＡＭ装置９０のものと同じ構成のもので、ＰＭＯＳ５２と、インバータ５４とによって構成されている。インバータ５４の入力は大小比較線ＧＬに接続され、その出力は、大小比較センス出力線ＳＧＭに接続されている。ＰＭＯＳ５２は、電源と大小比較線ＧＬとの間に接続され、そのゲートには、インバータ５４の出力が入力されている。
【００７７】
フラグレジスタ３２は、ＡＮＤ回路（更新手段）５８と、フリップフロップ（前回比較結果保持手段）６０と、ＮＡＮＤ回路（検索動作制御手段）６２とによって構成されている。
【００７８】
ＡＮＤ回路５８には、クロック信号ＦＣＫとＮＡＮＤ回路６２の出力が入力され、その出力は、フリップフロップ６０のクロック入力端子に入力されている。フリップフロップ６０のデータ入力端子Ｄには大小比較センス出力線ＳＧＭが接続され、そのデータ出力端子Ｑからの出力は、プライオリティエンコーダ２２とＮＡＮＤ回路６２に入力されている。さらに、ＮＡＮＤ回路６２には、検索データ大小比較回路１４から検索データの比較結果ＬＧが入力され、ＮＡＮＤ回路６２の出力は、前述の通り、ＮＡＮＤ回路５６とＡＮＤ回路５８に入力されている。
【００７９】
フラグレジスタ３２では、検索データの比較結果ＬＧとフリップフロップ６０の出力の両方が‘Ｈ’の時は、ＮＡＮＤ回路６２の出力が‘Ｌ’になる。その結果、ＡＮＤ回路５８の出力は‘Ｌ’となって、フリップフロップ６０のデータは更新されず、その保持状態を維持する。また、ＰＣ回路２８のＮＡＮＤ回路５６の出力は‘Ｈ’となって、ＰＭＯＳ５０ａ、５０ｂはオフ状態となる。
【００８０】
これに対し、検索データの比較結果ＬＧとフリップフロップ６０の出力のどちらか一方でも‘Ｌ’の時は、ＮＡＮＤ回路６２の出力が‘Ｈ’になる。その結果、ＡＮＤ回路５８の出力はクロック信号ＦＣＫとなって、フリップフロップ６０のデータは、クロック信号ＦＣＫに同期して更新される。また、ＰＣ回路２８のＮＡＮＤ回路５６の出力は制御信号ＰＣの反転信号となって、ＰＭＯＳ５０ａ、５０ｂは制御信号ＰＣによって制御される。
【００８１】
最後に、プライオリティエンコーダ２２も、従来のＣＡＭ装置９０のものと同じものである。
【００８２】
次に、ＣＡＭ装置１０の動作を説明する。
【００８３】
１回目の検索時に、検索データ大小比較回路１４から出力される検索データの比較結果ＬＧは‘Ｌ’となる。この場合、フラグレジスタ３２のＮＡＮＤ回路６２の出力は‘Ｈ’となり、ＡＮＤ回路５８の出力はクロック信号ＦＣＫ、ＰＣ回路２８のＮＡＮＤ回路５６の出力は、制御信号ＰＣの反転信号（制御信号ＰＣＮ）となる。従って、ＣＡＭ装置１０は、従来のＣＡＭ装置９０と同様に動作する。
【００８４】
２回目以降の検索では、検索データ大小比較回路１４によって、ＣＡＭ装置１０の外部から入力される今回の検索データと、前検索データレジスタ１２から入力される前回の検索データとの大小比較が行われ、その比較結果ＬＧが出力される。
【００８５】
その結果、今回の検索データが、前回の検索データよりも小さい値である場合（今回の検索データ＜前回の検索データ）には、大小比較回路１４から、検索データの大小比較結果ＬＧとして‘Ｈ’が出力される。一方、今回の検索データが、前回の検索データ以上の値である場合（今回の検索データ≧前回の検索データ）には、検索データの大小比較結果ＬＧとして‘Ｌ’が出力される。
【００８６】
従来技術の説明で述べた通り、大小比較線ＧＬの値が‘Ｈ’である場合、すなわち、大小比較センス出力線ＳＧＭの値が‘Ｌ’である場合、記憶データは、検索データ以下の値であると判断できる。従って、前回の大小比較結果として、フラグレジスタ３２のフリップフロップ６０に‘Ｌ’が保持されている場合、そのワードの記憶データは、前回の検索データ以下の値であると判断できる。
【００８７】
この場合、ＮＡＮＤ回路６２の出力は‘Ｈ’となり、前述の通り、フリップフロップ６０に保持されるデータは、ＡＮＤ回路５８の出力、すなわち、クロック信号ＦＣＫに同期して更新される。また、ＰＣ回路２８のＰＭＯＳ５０ａ、５０ｂは、制御信号ＰＣの反転制御信号（制御信号ＰＣＮ）によって制御される。このため、ＣＡＭ装置１０の動作は、従来のＣＡＭ装置９０と全く同じである。
【００８８】
一方、大小比較線ＧＬの値が‘Ｌ’である場合、すなわち、大小比較センス出力線ＳＧＭの値が‘Ｈ’である場合、記憶データは、検索データよりも大きい値であると判断できる。従って、前回の大小比較結果として、フリップフロップ６０に‘Ｈ’が保持されている場合、そのワードの記憶データは、前回の検索データよりも大きい値であると判断できる。
【００８９】
この場合、ＮＡＮＤ回路６２の出力は、検索データ大小比較回路１４から入力される検索データの比較結果ＬＧに応じて決定される。
【００９０】
検索データの比較結果ＬＧが‘Ｌ’の場合、すなわち、今回の検索データが、前回の検索データ以上の値である場合、フラグレジスタ３２のＮＡＮＤ回路６２の出力は‘Ｈ’となる。この場合、記憶データと今回の検索データとの大小関係は分からないので、両者の大小比較を行う必要がある。従って、この場合のＣＡＭ装置１０の動作は、従来のＣＡＭ装置９０と全く同じである。
【００９１】
一方、検索データの比較結果ＬＧが‘Ｈ’の場合、すなわち、今回の検索データが、前回の検索データよりも小さい値である場合、フラグレジスタ回路３２のＮＡＮＤ回路６２の出力は‘Ｌ’となる。この場合、前回の検索データは、記憶データよりも小さい値であり、今回の検索データは、前回の検索データよりも小さい値であるから、記憶データは、今回の検索データよりも大きい値であると判断できる。
【００９２】
すなわち、記憶データ＞前回の検索データで、なおかつ、前回の検索データ＞今回の検索データであれば、記憶データ＞前回の検索データ＞今回の検索データであることが明らかである。従って、記憶データと今回の検索データとの大小比較をすることなく、記憶データ＞今回の検索データと判断できる。
【００９３】
従って、フリップフロップ６０の出力が‘Ｈ’、すなわち、記憶データが、前回の検索データよりも大きい値で、なおかつ、検索データの比較結果ＬＧが‘Ｈ’、すなわち、今回の検索データが、前回の検索データよりも小さい値である場合、そのワード回路２０での検索動作は不要である。このため、検索手段（一致検索回路３８および大小比較回路４０）の動作は抑止される。具体的には、一致線ＭＬおよび大小比較線ＧＬのプリチャージが停止される。
【００９４】
ＣＡＭ装置１０では、記憶データと前回の検索データとの大小比較結果と、前回と今回の検索データの比較結果とに基づいて、各々のワード毎に、今回の検索データによる検索動作の要否を判断する。その結果、検索動作が不要であると判断されたワードでは、一致線ＭＬおよび大小比較線ＧＬのプリチャージを停止することによって、検索動作時の消費電力を大幅に削減することができる。
【００９５】
ここで、検索動作が不要であると判断されたワードにおいて、一致線ＭＬおよび大小比較線ＧＬのプリチャージを停止した状態で、大小比較センス出力線ＳＧＭ上に出力される信号をフリップフロップ６０に保持すると、フリップフロップ６０に無意味な信号が保持される。従って、これを防止するために、フリップフロップ６０に保持されている信号の更新が停止される。
【００９６】
なお、第１の実施形態では、検索動作が不要であると判断されたワード回路において、検索手段（一致比較回路３８および大小比較回路４０）の動作を抑制するために、一致線ＭＬおよび大小比較線ＧＬの両方のプリチャージを停止している。これに加えて、検索動作時の消費電力をさらに削減するためには、検索時に、制御信号ＭＬＤＣを‘Ｈ’にせず、検索開始制御回路２４の動作を抑制して、一致線ＭＬのディスチャージを停止することも有効である。
【００９７】
ここで、検索動作時の消費電力を削減するために、検索前に、一致線ＭＬおよび大小比較線ＧＬの少なくとも一方のプリチャージを停止するだけでも、あるいは、検索時に、一致線ＭＬのディスチャージを停止するだけでも効果は有る。しかし、これらを組み合わせて行うことが最も好ましい。
【００９８】
次に、本発明のＣＡＭ装置の第２の実施形態について説明する。
【００９９】
図３は、本発明のＣＡＭ装置の構成を表す第２の実施形態の概略図である。同図に示すＣＡＭ装置７０は、複数のワード回路を、それぞれ同数のワード回路を含む複数のＣＡＭブロックに分割配置したものである。ＣＡＭ装置７０は、前検索データレジスタ１２と、検索データ大小比較回路１４と、複数のＣＡＭブロック７２と、ブロックプライオリティ回路７４ａと、ロウ（ＲＯＷ）プライオリティ回路７４ｂとによって構成されている。
【０１００】
前検索データレジスタ１２は、第１の実施形態のものと同じものである。同様に、以下の説明では、従来のＣＡＭ装置９０および第１の実施形態のＣＡＭ装置１０と同じ構成要素に同じ符号を付して、その詳細な説明は省略する。
【０１０１】
検索データ大小比較回路１４は、基本的に、第１の実施形態のものと同じものであるが、本実施形態の場合、検索データの比較結果ＬＧは、後述する複数のＣＡＭブロック全てのＳＬドライバ（検索データ供給手段）７８にそれぞれ入力される。
【０１０２】
また、本実施形態の場合、大小比較回路１４からは、検索データの大小比較結果ＬＧとして、今回の検索データが、前回の検索データ以上の値である場合（今回の検索データ≧前回の検索データ）に‘Ｈ’が出力される。一方、今回の検索データが、前回の検索データよりも小さい値である場合（今回の検索データ＜前回の検索データ）には‘Ｌ’が出力される。
【０１０３】
続いて、各々のＣＡＭブロック７２は、ＳＬドライバ７８と、所定数のワード回路２１と、ブロック検索結果出力回路８０とによって構成されている。
【０１０４】
ここで、ＳＬドライバ７８には、ＣＡＭ装置７０の外部から検索データと、検索データ大小比較回路１４から検索データの比較結果ＬＧとが入力されている。ＳＬドライバ７８は、基本的に、従来のＣＡＭ装置９０のものと同じ動作を行うものであるが、さらに、後述する一定の条件を満足する時に、サーチラインＳＬとその反転サーチラインＳＬＮのドライブを停止する手段（ブロック検索動作制御手段）を備えている。
【０１０５】
各々のワード回路２１は、従来のＣＡＭ装置９０のものと同じものである。ここで、各々のワード回路２１のフラグレジスタ３３は、本発明のワード比較結果保持手段を構成する。
【０１０６】
ブロック比較結果保持回路（ブロック比較結果保持手段）８０は、対応するＣＡＭブロックに含まれる所定数のワード回路のそれぞれの大小比較回路（比較手段）による前回の大小比較結果を総合した大小比較結果（ブロック比較結果）を保持する。ブロック比較結果保持回路８０は、図４に示すように、ＰＭＯＳ８２と、所定数のＮＭＯＳ８４およびＮＭＯＳ８５と、ブロック検索結果レジスタ８６とによって構成されている。
【０１０７】
ここで、ＰＭＯＳ８２は、検索前に、ブロック比較結果出力線ＢＳＬをプリチャージするもので、電源とブロック検索結果レジスタ８６との間に接続されている。またＰＭＯＳ８２のゲートには、制御信号ＢＯＲＰＣＮが入力されている。
【０１０８】
所定数のＮＭＯＳ８４およびＮＭＯＳ８５は、所定数のワード回路２１の各々に対応して１つずつ設けられている。各々のＮＭＯＳ８４は、検索時に、ブロック比較結果出力線ＢＳＬをディスチャージするもので、それぞれブロック比較結果出力線ＢＳＬとグランドとの間に、ＮＭＯＳ８５を介して接続されている。そのゲートには、各々対応するワード回路２１の出力信号（大小比較結果）が入力されている。
【０１０９】
各々のＮＭＯＳ８５は、ブロック検索結果出力線ＢＳＬとグランドとの間に、ＮＭＯＳ８４と直列に接続されている。そのゲートには制御信号ＢＯＲＰＣＮが入力されており、ブロック検索結果出力線ＢＳＬをプリチャージするときに、ワード回路２１の出力によらず、ブロック検索結果出力線ＢＳＬをグランドから切断する。
【０１１０】
ブロック比較結果レジスタ８６は、全てのワード回路２１の出力信号に応じて、ブロック比較結果出力線ＢＳＬの状態が確定した後、図示していないタイミング信号に同期して、ブロック比較結果出力線ＢＳＬ上のブロック比較結果を保持する。
【０１１１】
ブロックプライオリティ回路７４ａには、全てのＣＡＭブロック７２からブロック比較結果が入力される。ブロックプライオリティ回路７４ａは、あらかじめ決定されている優先順位に従い、図示していない制御信号に応じて、ブロック比較結果が‘Ｈ’のＣＡＭブロック７２、もしくは、ブロック比較結果が‘Ｌ’のＣＡＭブロックのブロックアドレスを順次エンコードして出力する。
【０１１２】
図示していないが、ロウ（ＲＯＷ）プライオリティ回路７４ｂには、全てのＣＡＭブロック７２から、全てのワード回路の出力が、ＣＡＭブロック７２間の対応するワード回路毎に１本ずつ設けられている共通のフィード線を介して接続されている。
【０１１３】
ロウプライオリティ回路７４ｂには、ブロックプライオリティ回路７４ａがエンコード中のＣＡＭブロック７２に含まれる全てのワード回路の大小比較結果が入力される。ロウプライオリティ回路７４ｂは、同じく、優先順位に従い、制御信号に応じて、記憶データが検索データ以下の値であるワード、もしくは、記憶データが検索データよりも大きい値であるワードのロウアドレスを順次エンコードして出力する。
【０１１４】
なお、ＣＡＭ装置７０では、検索データレジスタの表示を省略している。検索データレジスタは、従来のＣＡＭ装置９０のものと同じもので、複数のＣＡＭブロックの全てに対して１つだけ設けてもよいし、各々のＣＡＭブロック毎に設ける構成としても良い。
【０１１５】
次に、ＣＡＭ装置７０の動作を説明する。
【０１１６】
１回目の検索時に、検索データ大小比較回路１４から出力される検索データの比較結果ＬＧは‘Ｌ’となる。この場合、ＳＬドライバ７８は、従来のＣＡＭ装置９０のものと全く同じ動作をする。
【０１１７】
既に述べた通り、各々のワード回路２１において、記憶データと検索データとが一致する場合、および、記憶データが検索データよりも小さい値である場合（記憶データ≦検索データ）、その出力（フラグレジスタ３２のフリップフロップ６０の出力）は‘Ｌ’となる。また、記憶データが検索データよりも大きい値である場合（記憶データ＞検索データ）、その出力は‘Ｈ’となる。
【０１１８】
ブロック比較結果保持回路８０では、前述の通り、検索前に、制御信号ＢＯＲＰＣＮが‘Ｌ’とされる。その結果、ＰＭＯＳ８２がオン状態となり、全てのＮＭＯＳ８５がオフ状態となり、ブロック比較結果出力線ＢＳＬがプリチャージされて‘Ｈ’となる。
【０１１９】
検索時に、各々のＣＡＭブロック７２において、ワード回路２１のうちの１つでも、記憶データが検索データよりも大きい値である場合、その出力は‘Ｈ’となり、対応するＮＭＯＳ８４がオン状態となる。その後、制御信号ＢＯＲＰＣＮを‘Ｈ’として、ＰＭＯＳ８２をオフし、全てのＮＭＯＳ８５をオンにすると、ブロック比較結果出力線ＢＳＬは、オン状態のＮＭＯＳ８４を介してディスチャージされ、‘Ｌ’となるため、ブロック比較結果レジスタ８６には‘Ｌ’が保持される。
【０１２０】
一方、ワード回路２１の全てにおいて、記憶データと検索データとが一致する場合、および、記憶データが検索データよりも小さい値である場合、全てのワード回路２１の出力は‘Ｌ’となり、全てのＮＭＯＳ８４がオフ状態となる。従って、ブロック比較結果出力線ＢＳＬはディスチャージされず、‘Ｈ’を維持するため、ブロック比較結果レジスタ８６には‘Ｈ’が保持される。
【０１２１】
ブロック比較結果レジスタ８６に保持されたブロック比較結果は、ブロックプライオリティ回路７４ａに入力される。ブロックプライオリティ回路７４ａでは、あらかじめ決定されている優先順位に従い、図示していない制御信号に応じて、ブロック比較結果が‘Ｈ’のＣＡＭブロック７２、もしくは、ブロック比較結果が‘Ｌ’のＣＡＭブロックのブロックアドレスが順次エンコードされ、出力される。
【０１２２】
また、ロウプライオリティ回路７４ｂには、ブロックプライオリティ回路７４ａがエンコード中のＣＡＭブロック７２に含まれる全てのワード回路の大小比較結果が入力される。ロウプライオリティ回路７４ｂでは、同じく、優先順位に従い、制御信号に応じて、記憶データが検索データ以下の値であるワード、もしくは、記憶データが検索データよりも大きい値であるワードのロウアドレスが順次エンコードされ、出力される。
【０１２３】
２回目以降の検索では、検索データ大小比較回路１４によって、ＣＡＭ装置１０の外部から入力される今回の検索データと、前検索データレジスタ１２から入力される前回の検索データとの大小比較が行われ、その比較結果ＬＧが出力される。
【０１２４】
本実施形態の場合、今回の検索データが、前回の検索データ以上の値である場合（今回の検索データ≧前回の検索データ）には、大小比較回路１４から、検索データの大小比較結果ＬＧとして‘Ｈ’が出力される。一方、今回の検索データが、前回の検索データよりも小さい値である場合（今回の検索データ＜前回の検索データ）には、検索データの大小比較結果ＬＧとして‘Ｌ’が出力される。
【０１２５】
前述の通り、ブロック比較結果が‘Ｌ’である場合、そのＣＡＭブロック７２に含まれる全てのワードのうちの少なくとも１つは、記憶データが検索データよりも大きい値であると判断できる。この場合、ＳＬドライバ７８は、従来のＣＡＭ装置９０のものと全く同様に機能し、ＣＡＭ装置７０の動作は、従来のＣＡＭ装置９０と全く同じである。
【０１２６】
一方、ブロック比較結果が‘Ｈ’である場合、そのＣＡＭブロック７２に含まれる全てのワードは、記憶データが、検索データ以下の値であると判断できる。この場合、ＳＬドライバ７８の動作は、検索データの比較結果ＬＧに応じて決定される。
【０１２７】
検索データの比較結果ＬＧが‘Ｌ’の場合、すなわち、今回の検索データが、前回の検索データよりも小さい値である場合、そのＣＡＭブロック７２に含まれる各々の記憶データと今回の検索データとの大小関係は分からないので、両者の大小比較を行う必要がある。従って、この場合、ＳＬドライバ７８は、従来のＣＡＭ装置９０のものと全く同様に機能し、ＣＡＭ装置７０の動作は、従来のＣＡＭ装置９０と全く同じである。
【０１２８】
一方、検索データの比較結果が‘Ｈ’の場合、すなわち、今回の検索データが、前回の検索データ以上の値である場合、前回の検索データは、記憶データ以上の値であり、今回の検索データは、前回の検索データ以上の値であるから、そのＣＡＭブロック７２に含まれる全ての記憶データは、今回の検索データ以下の値であると判断できる。
【０１２９】
すなわち、ＣＡＭブロック７２に含まれる全ての記憶データ≦前回の検索データで、なおかつ、前回の検索データ≦今回の検索データであれば、ＣＡＭブロック７２に含まれる全ての記憶データ≦前回の検索データ≦今回の検索データであるから、ＣＡＭブロック７２に含まれる全ての記憶データと今回の検索データとの大小比較をするまでもなく、ＣＡＭブロック７２に含まれる全ての記憶データ≦今回の検索データと判断できる。
【０１３０】
従って、ブロック比較結果が‘Ｈ’、すなわち、ＣＡＭブロック７２に含まれる全ての記憶データが、前回の検索データ以下の値で、なおかつ、検索データの比較結果ＬＧが‘Ｈ’、すなわち、今回の検索データが、前回の検索データ以上の値である場合（前述の一定の条件）、そのＣＡＭブロック７２での検索動作は不要なので、ＳＬドライバ７８によるサーチラインＳＬと反転サーチラインＳＬＮのドライブが停止される。
【０１３１】
ＣＡＭ装置７０では、記憶データと前回の検索データとの大小比較結果と、前回と今回の検索データの比較結果とに基づいて、各々のＣＡＭブロック毎に、今回の検索データによる検索動作の要否を判断する。その結果、検索動作が不要であると判断されたＣＡＭブロックでは、サーチラインＳＬと反転サーチラインＳＬＮのドライブを停止することによって、検索前に行う準備動作（サーチラインＳＬと反転サーチラインＳＬＮのドライブ）時の消費電力を含めた、検索動作時の消費電力を大幅に削減することができる。
【０１３２】
ここで、検索動作が不要であると判断されたＣＡＭブロック７２において、検索前に、一致線ＭＬおよび大小比較線ＧＬのプリチャージが行われ、検索時に、一致線ＭＬのディスチャージが行われると、ブロック検索結果レジスタ８６に無意味な信号が保持される。これを防止するためには、第１の実施形態のように、タイミング信号を停止して、ブロック検索結果レジスタ８６に保持されている信号の更新を停止する必要がある。
【０１３３】
なお、上記の実施形態では、検索動作が不要であると判断されたＣＡＭブロックで、サーチラインＳＬと反転サーチラインＳＬＮのドライブを停止することによって、検索時の消費電力を削減した例を示した。しかし、これに加えて、もしくは、これに代えて、検索動作が不要であると判断されたＣＡＭブロックの全てのワード回路において、第１の実施形態に関して説明したように、検索前に、一致線ＭＬおよび大小比較線ＧＬの少なくとも一方のプリチャージを停止したり、あるいは、検索時に、一致線ＭＬのディスチャージを停止することも、検索動作時の消費電力削減のために有効である。
【０１３４】
また、上記実施形態では、大小比較機能の一例を挙げて説明しているが、本出願人によって特許文献１に開示されたように、一致比較結果のためのセンス回路やフラグレジスタを設け、一致比較結果と大小比較結果とを適宜組み合わせることも可能である。これによって、一致比較機能はもちろん、上記第１および第２の実施形態以外の各種の大小比較機能を実現可能であるし、領域一致比較機能を実現することも可能である。
【０１３５】
すなわち、第１の実施形態では、各々のワード回路において、記憶データが、前回の検索データよりも大きい値か、あるいは、前回の検索データ以下の値であるかを判断し、検索データの比較結果に基づいて、今回の検索データによる検索動作の要否を判断している。しかし、上記の通り、一致比較結果と大小比較結果とを適宜組み合わせることによって、記憶データと前回の検索データとの関係を適宜変更することができる。
【０１３６】
また、第２の実施形態においても、各々のＣＡＭブロックにおいて、各々のＣＡＭブロックに含まれる全ての記憶データが、前回の検索データよりも大きい値か、あるいは、前回の検索データ以下の値であるかを判断し、同様にして今回の検索データによる検索動作の要否を判断している。しかし、この場合も同様にして、記憶データと前回の検索データとの関係を適宜変更することができる。
【０１３７】
また、上記各実施形態では、大小比較機能の一例を挙げて説明したが、本発明を適用するＣＡＭ装置は、各種の大小比較機能に加えて、一致比較機能、領域一致比較機能を実現することも可能である。一致比較機能および領域一致比較機能については、特許文献１に詳細に開示されている。本発明のＣＡＭ装置には、特許文献１に開示の全ての内容を含むものとし、必要に応じて適宜必要な機能を実装することができる。
【０１３８】
また、第２の実施形態において、さらに、複数のワード回路のそれぞれに、前述のワード比較結果保持手段が保持する前回の比較結果と検索データ大小比較回路が出力する比較結果とに基づいて、対応するワード回路の検索動作の要否を判断する、ワード検索動作制御手段を設けることによって、ＣＡＭブロック毎、かつ、ワード回路毎に検索動作を制御することができる。
【０１３９】
この場合、前述のブロック検索動作制御手段が、対応するＣＡＭブロックに含まれる複数のワード回路の検索動作が不要と判断しなかったときに、この対応するＣＡＭブロックに含まれる複数のワード回路のそれぞれのワード検索動作制御手段が、それぞれのワード回路の検索動作の要否を判断し、不要と判断したときには、対応するワード回路の検索手段の動作を抑止する。
【０１４０】
また、第１の実施形態において、ＰＣ回路、センス回路、フラグレジスタの具体例を挙げ、第２の実施形態において、ブロック比較結果保持回路の具体例を挙げているが、本発明のＣＡＭ装置において、これらの各部位の具体的な回路構成は何ら限定されず、同様の機能を果たす他の回路を使用することもできる。また、その他の具体例を示していない部位についても同様である。
【０１４１】
本発明は、基本的に以上のようなものである。
以上、本発明の連想メモリ装置について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【図面の簡単な説明】
【０１４２】
【図１】本発明のＣＡＭ装置の構成を表す第１の実施形態の概略図である。
【図２】図１に示すＣＡＭ装置で用いられるＰＣ回路、センス回路およびフラグレジスタの構成を表す回路図である。
【図３】本発明のＣＡＭ装置の構成を表す第２の実施形態の概略図である。
【図４】図３に示すＣＡＭ装置で用いられるブロック比較結果保持回路の構成を表す回路図である。
【図５】従来のＣＡＭ装置の構成を表す一例の概略図である。
【図６】図５に示すＣＡＭ装置で用いられるＣＡＭセルの構成を表す回路図である。
【図７】図５に示すＣＡＭ装置で用いられる検出開始制御回路の構成を表す回路図である。
【図８】図５に示すＣＡＭ装置で用いられるＰＣ回路の構成を表す回路図である。
【図９】図５に示すＣＡＭ装置で用いられるセンス回路の構成を表す回路図である。
【符号の説明】
【０１４３】
１０、７０、９０  連想メモリ装置
１２  前検索データレジスタ
１４  検索データ大小比較回路
１６  検索データレジスタ
１８、７８  ＳＬドライバ
２０、２１  ワード回路
２２  プライオリティエンコーダ
２４  検出開始制御回路
２６  ＣＡＭセル
２８、２９  ＰＣ回路
３０  センス回路
３２、３３  フラグレジスタ
３４、４４ａ、４４ｂ、４６ａ、４６ｂ、４６ｃ、４８ａ、４８ｂ、８４、８５  Ｎ型ＭＯＳトランジスタ
３６  記憶回路
３８  一致比較回路
４０  大小比較回路
４２ａ、４２ｂ、５４  インバータ
５０ａ、５０ｂ、５２、８２  Ｐ型ＭＯＳトランジスタ
５６、６２  ＮＡＮＤ回路
５６  ＡＮＤ回路
６０  フリップフロップ
７２  ＣＡＭブロック
７４ａ  ブロックプライオリティ回路
７４ｂ  ロウプライオリティ回路
８０  ブロック比較結果保持回路
８６  ブロック比較結果レジスタ
【図１】
2008034054.tif 000003
【図２】
2008034054.tif 000004
【図３】
2008034054.tif 000005
【図４】
2008034054.tif 000006
【図５】
2008034054.tif 000007
【図６】
2008034054.tif 000008
【図７】
2008034054.tif 000009
【図８】
2008034054.tif 000010
【図９】
2008034054.tif 000011