JP2004296016A - 連想メモリ及びメモリシステム - Google Patents
連想メモリ及びメモリシステム Download PDFInfo
- Publication number
- JP2004296016A JP2004296016A JP2003088379A JP2003088379A JP2004296016A JP 2004296016 A JP2004296016 A JP 2004296016A JP 2003088379 A JP2003088379 A JP 2003088379A JP 2003088379 A JP2003088379 A JP 2003088379A JP 2004296016 A JP2004296016 A JP 2004296016A
- Authority
- JP
- Japan
- Prior art keywords
- comparison
- bit
- bit string
- associative memory
- precharge
- 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
- 238000000034 method Methods 0.000 claims description 19
- 230000002194 synthesizing effect Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims 4
- 238000007599 discharging Methods 0.000 claims 3
- 239000013256 coordination polymer Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000000295 complement effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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
Landscapes
- Static Random-Access Memory (AREA)
- Debugging And Monitoring (AREA)
- Logic Circuits (AREA)
Abstract
【課題】2以上の比較を行う場合でも、消費電流の増大を抑制可能にする。
【解決手段】本発明に係る連想メモリ1は、各エントリごとに、2つの比較回路11,12と、比較制御回路13とを備えている。比較回路11,12は、ビット列振分け回路2からのビット列を2回に分けて、SRAMセル15に記憶されているビット列と比較する。2種類のデータA<n:0>,B<n:0>を2つに分けたビット群ごとに、2つの比較回路11,12を用いて2回にわたって比較処理を行い、1回目で不一致が検出されると、2回目の比較処理時には出力線L1のプリチャージを行わないようにしたため、プリチャージを毎回行う場合に比べて、消費電流を最大50%まで削減できる。
【選択図】 図1
【解決手段】本発明に係る連想メモリ1は、各エントリごとに、2つの比較回路11,12と、比較制御回路13とを備えている。比較回路11,12は、ビット列振分け回路2からのビット列を2回に分けて、SRAMセル15に記憶されているビット列と比較する。2種類のデータA<n:0>,B<n:0>を2つに分けたビット群ごとに、2つの比較回路11,12を用いて2回にわたって比較処理を行い、1回目で不一致が検出されると、2回目の比較処理時には出力線L1のプリチャージを行わないようにしたため、プリチャージを毎回行う場合に比べて、消費電流を最大50%まで削減できる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、マイクロプロセッサ上で仮想アドレスを物理アドレスに変換する目的などに用いられる連想メモリに関する。
【0002】
【従来の技術】
マイクロプロセッサでは、仮想アドレスを物理アドレスに変換するために、連想メモリを用いるのが一般的である(特許文献1,2参照)。
【0003】
図8は従来の連想メモリ(CAM:Content Addressable Memory)の内部構成を示す回路図である。この連想メモリは、複数のエントリのそれぞれごとに設けられるビット数分の比較回路31と、同一エントリーの比較回路31の出力線L1に接続されるプリチャージ回路32とを備えている。各比較回路31は、基準ビット列を記憶するSRAMセル33と、SRAMセル33に対するデータの読書きを制御するトランジスタQ21,Q22と、SRAMセル33内のデータと外部入力された比較先のデータとを比較するコンパレータ34と、コンパレータ34の出力に応じてオン・オフするトランジスタQ23とを有する。
【0004】
プリチャージ回路32は、出力線L1をハイレベルにプリチャージするトランジスタQ24と、出力線L1の論理を保持するトランジスタQ25及びインバータIV11とを有する、いわゆるワイヤードNORである。
【0005】
出力線L1は、プリチャージ回路32によってハイレベルにプリチャージされ、比較回路31のいずれかで不一致が検出されると、ローレベルにされる。
【0006】
【特許文献1】
特開2000−235787公報
【特許文献2】
特開2002−163891公報
【0007】
【発明が解決しようとする課題】
図8の連想メモリは、このようなワイヤードNORをエントリの数分だけ持っており、各比較回路31が比較動作を行うときには、その特性上すべてのワイヤードNORが動作し、ほとんどすべてのワイヤードNORで不一致になるため、消費電流が非常に多くなるという問題がある。
【0008】
図8の連想メモリを拡張した図9に示す多比較連想メモリでは、ワイヤードNOR数が増大し、消費電流の問題はさらに悪化する。すなわち、レイアウト面積の増大を抑制可能な時分割多比較連想メモリでは、余計に消費電流が増大するという問題がある。
【0009】
本発明は、このような点に鑑みてなされたものであり、その目的は、2以上の比較を行う場合でも、消費電流の増大を抑制可能な連想メモリ及びメモリシステムを提供することにある。
【0010】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出する連想メモリにおいて、前記p個のビット列それぞれを、q個(qは2以上の整数)に分割して得られる各ビット群ごとに、p回に分けて前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、前記q個の比較手段の出力線をプリチャージするプリチャージ手段と、前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の比較処理の際の前記プリチャージ手段によるプリチャージを停止させる比較制御手段とを備える。
【0011】
また、p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出する連想メモリにおいて、前記p個のビット列それぞれを、q個(qは2以上の整数)に分割して得られる各ビット群ごとに、p回に分けて前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の前記q個の比較手段での比較処理を中止させる比較制御手段とを備える。
【0012】
【発明の実施の形態】
以下、本発明に係る連想メモリ及びメモリシステムについて、図面を参照しながら具体的に説明する。
【0013】
(第1の実施形態)
図1は本発明に係る連想メモリの第1の実施形態の内部構成を示す回路図である。また、図2は図1の連想メモリ1を備えたメモリシステムの概略構成を示すブロック図である。
【0014】
本実施形態の連想メモリ1は、2種類のビット列A<0:n>,B<0:n>のそれぞれを基準ビット列と比較する多比較CAMである。より詳しくは、ビット列A<0:n>,B<0:n>のそれぞれを複数のビット群に分割して、各ビット群ごとに時間をずらして2度に分けて比較する。このような比較を行う連想メモリ1は、時分割2比較CAMとも呼ばれる。
【0015】
図1の連想メモリ1には、図2に示すビット列振分け回路2からビット群が供給される。ビット列振分け回路2は、ビット列A<0:n>,B<0:n>をそれぞれ2つのビット群に分割して連想メモリ1に供給する。各ビット群のビット数は必ずしも同一でなくてもよい。
【0016】
図1の連想メモリ1は、図2に示すビット列振分け回路2からのビット群に従って比較動作を行い、その比較結果に応じて一致線の論理を切り替える。図2に示すRAM3は、一致線の論理に応じてデータを出力するか否かを切り替える。
【0017】
図1には、1エントリ分の回路構成だけが図示されているが、図1の回路を複数エントリ分設けてもよい。図1の連想メモリ1は、各エントリごとに、2つの比較回路11,12と、比較制御回路13とを備えている。比較回路11,12は、ビット列振分け回路2からのビット列を2回に分けて、SRAMセル15に記憶されているビット列と比較する。
【0018】
比較回路11は(n−m)ビット分のビット比較部14を有し、比較回路12は(m+1)ビット分のビット比較部14を有する。各ビット比較部14は、図8と同様に、SRAMセル15と、SRAMセル15に対する読書きを制御するトランジスタQ1,Q2と、ビット比較を行うコンパレータ16と、コンパレータ16の出力によりオン・オフ制御されるトランジスタQ3とを有する。
【0019】
トランジスタQ3のドレイン端子は、各ビット比較部14で共通の出力線L1に接続されている。
【0020】
比較制御回路13は、比較回路11用のプリチャージ回路17を構成するトランジスタQ4〜Q6、NANDゲートG1及びインバータIV1〜IV3と、このプリチャージ回路17のプリチャージ動作を制御するラッチ回路19と、比較回路12用のプリチャージ回路18を構成するトランジスタQ7〜Q9、NANDゲートG2及びインバータIV4〜IV6と、このプリチャージ回路18のプリチャージ動作を制御するラッチ回路20と、ラッチ回路19,20のラッチ出力を合成して一致線の論理を生成するNANDゲートG3,G4とを有する。
【0021】
図3は図1の連想メモリ1の動作タイミングを示すタイミング図である。図示のように、図1の連想メモリ1は、所定期間内(例えば、プロセッサの1サイクルt1−t2間)に2回に分けて比較動作を行う。1回目では、比較回路11はA<n>A<n−1>…A<m+1>の比較を、比較回路12はB<m>B<m−1>…B<0>の比較を行い、2回目では、比較回路11はB<n>B<n−>…B<m+1>の比較を行い、比較回路12はA<m>A<m−1>…A<0>の比較を行う。
【0022】
以下では、ビット比較部14内のSRAMセル15に、予め基準ビット列が格納されているとする。なお、基準ビット列は、ビット線BL,/BLにてSRAMセル15に書き込まれる。
【0023】
まず、CP<n:0>,/CP<n:0>をともにハイレベルにし、2つの比較回路11,12内のすべてのコンパレータ16の出力をローレベルにし、すべてのQ3をオフする。
【0024】
次に、信号pre1にハイレベルのパルスを供給して、2つの比較回路11,12の出力線L1をハイレベルにプリチャージする。
【0025】
次に、比較回路11のCP<n:m+1>,/CP<n:m+1>にA<n:m+1>の相補信号を入力し、比較回路12のCP<m:0>,/CP<m:0>にB<m:0>の相補信号を入力する。これにより、各ビット比較部14で比較動作が行われ、比較結果が出力線L1に出力される。仮に、少なくとも一つのビット比較部14で不一致になると、出力線L1はローレベルになる。
【0026】
ここまでの動作に要する消費電流は、従来、つまり一回の動作に必要な動作電流と同一である。本実施形態は、1回目の比較動作で、いずれかのビット列で不一致が検出されると、そのビット列については2回目の比較動作を行わない点に特徴がある。これにより、消費電流を削減できる。
【0027】
1回目の比較結果を示す出力線L1の論理は、ラッチ回路19,20にてラッチされる。比較回路11内のいずれのビット比較部14でも不一致にならなかった場合は、ラッチ回路19の出力はハイレベルになるが、ビット比較部14のいずれか一つでも不一致が検出されると、ラッチ回路19の出力はローレベルになる。
【0028】
ラッチ回路19の出力がローレベルになると、プリチャージ用のトランジスタQ8はオンせず、プリチャージは行われない。
【0029】
本実施形態のビット列振分け回路2は、同じビット列に属するビット群を、1回目と2回目で別々の比較回路11,12に供給するため、例えば1回目に比較回路11で不一致が検出されると、2回目には、比較回路12のプリチャージを行わないようにしている。
【0030】
このように、本実施形態では、1回目に比較回路11で不一致が検出されると、2回目は比較回路12のプリチャージ行わないようにし、逆に、1回目に比較回路12で不一致が検出されると、2回目は比較回路11のプリチャージを行わないようにする。
【0031】
続いて、2回目の比較動作に入る。まず、CP<n:0>,/CP<n:0>をハイレベルにする。これにより、すべてのコンパレータ16の出力はローレベルになり、すべてのQ3がオフする。
【0032】
次に、信号pre2にハイレベルのパルスを供給し、1回目の比較動作で不一致が検出されなかった比較回路だけを選択的にプリチャージする。
【0033】
比較回路11のCP<n:m+1>,/CP<n:m+1>にB<n:m+1>の相補信号を入力し、比較回路12のCP<m:0>,/CP<m:0>にA<m:0>の相補信号を入力する。
【0034】
この状態で、比較回路11,12内のビット比較部14は比較動作を行い、比較結果が出力線L1に出力される。
【0035】
ラッチ回路19,20には、1回目の比較結果がラッチされているため、2回目の比較結果を示す出力線L1の論理とラッチ回路19,20のラッチ出力とをNANDゲートG3,G4で合成することにより、一致信号が生成される。
【0036】
例えば、両方の比較回路11,12で1,2回とも不一致が検出されなければ、一致線/matchの論理はローレベルになり、比較回路11,12の少なくとも一方で不一致が検出されると、一致線/matchの論理はハイレベルになる。
【0037】
図2のRAM3は、一致線/matchがローレベルであれば、対応するデータを出力し、一致線/matchがハイレベルであればデータを出力しない。
【0038】
本実施形態の具体的な実現形態としては、仮想アドレスを物理アドレスに変換するTLB(Translation Lookaside Buffer)が考えられる。外部から入力された仮想アドレスを連想メモリ1で比較し、比較結果が一致すると、その仮想アドレスに対応する物理アドレスをRAM3が出力する。
【0039】
なお、本実施形態の連想メモリ1の使用目的は上述したTLBに限定されない。
【0040】
このように、第1の実施形態では、2種類のデータA<n:0>,B<n:0>を2つに分けたビット群ごとに、2つの比較回路11,12を用いて2回にわたって比較処理を行い、1回目で不一致が検出されると、2回目の比較処理時には出力線L1のプリチャージを行わないようにしたため、プリチャージを毎回行う場合に比べて、消費電流を最大50%まで削減できる。
【0041】
(第2の実施形態)
第2の実施形態は、1回目で不一致が検出されると、2回目にはビット比較部14の比較動作を停止するものである。
【0042】
図4は本発明に係る連想メモリ1の第2の実施形態の内部構成を示す回路図である。図4では図1と共通する構成部分には同一符号を付しており、以下では相違点を中心に説明する。
【0043】
比較回路11,12内のビット比較部14は、トランジスタQ3のソース線を遮断するか否かを制御するトランジスタQ10,Q11を有する。トランジスタQ10はラッチ回路19のラッチ出力によりオン・オフ制御され、トランジスタQ11はラッチ回路20のラッチ出力によりオン・オフ制御される。
【0044】
具体的には、比較回路11で不一致が検出されると、トランジスタQ11がオフして、比較回路12内のトランジスタQ3もオフする。同様に、比較回路12で不一致が検出されると、トランジスタQ10がオフして、比較回路11内のトランジスタQ3もオフする。したがって、ビット比較部14から接地線に電流が流れなくなり、ビット比較部14の比較動作を中止させることができる。
【0045】
以下、図4の連想メモリ1の動作を説明する。まず、CP<n:0>,/CP<n:0>をともにハイレベルにし、比較回路11,12内のすべてのビット比較部14の出力であるQ3をオフする。
【0046】
次に、信号pre1にハイレベルのパルスを供給し、比較回路11,12の出力線L1をともにハイレベルにプリチャージする。
【0047】
次に、比較回路11,12の1回目の比較結果をラッチするラッチ回路19,20を信号pre1でセットし、比較回路11,12内のすべてのビット比較部14を動作可能にする。
【0048】
次に、比較回路11のCP<n:m+1>,/CP<n:m+1>にA<n:m+1>の相補信号を供給し、比較回路12のCP<m:0>,/CP<m:0>にB<m:0>の相補信号を供給する。
【0049】
これにより、比較回路11,12内の各ビット比較部14は比較動作を行い、比較結果を出力線L1に出力する。ラッチ回路19,20は、出力線L1の論理をラッチする。ここまでの動作は第1の実施形態と同様である。
【0050】
ラッチ回路19の出力がローレベルの場合は、比較回路11で不一致が検出されたことを示しており、この場合はトランジスタQ11がオフし、比較回路12内のトランジスタQ3は動作しなくなる。したがって、コンパレータ16から接地線に電流が流れなくなり、比較回路12は比較動作を行わなくなる。また、一致線/matchの論理はハイレベルになり、不一致である旨がRAM3に通知される。
【0051】
一方、1回目の比較動作でラッチ回路19,20の出力がハイレベルの場合は、比較回路11,12で不一致が検出されなかったことを示しており、この場合はトランジスタQ10,Q11がオンし、トランジスタQ3も動作可能である。したがって、2回目の比較動作が行われる。
【0052】
2回目の比較動作自体は第1の実施形態と同様の手順で行われる。まず、比較回路11,12のCP<n:0>,/CP<n:0>をともにハイレベルにし、比較回路11,12内のすべてのビット比較部14の出力であるQ3をオフする。
【0053】
次に、信号pre2にハイレベルのパルスを供給し、比較回路11,12の出力線L1をプリチャージする。次に、比較回路11のCP<n:m+1>,/CP<n:m+1>にB<n:m+1>の相補信号を供給し、比較回路12のCP<m:0>,/CP<m:0>にA<m:0>の相補信号を供給する。
【0054】
ラッチ回路19,20には、1回目の比較結果がラッチされているため、2回目の比較結果を示す出力線L1の論理とラッチ回路19,20のラッチ出力とをNANDゲートG3,G4で合成することにより、一致信号が生成される。例えば、両方の比較回路11,12で1,2回とも不一致が検出されなければ、一致線/matchの論理はローレベルになり、比較回路11,12の少なくとも一方で不一致が検出されると、一致線/matchの論理はハイレベルになる。
【0055】
このように、第2の実施形態では、1回目の比較動作を行っているときに、少なくとも一方の比較回路で不一致が検出されると、トランジスタQ10またはQ11がオフして、2回目の比較動作を行わないようにするため、第1の実施形態よりも消費電流を抑制でき、電流効率がよりよくなる。
【0056】
ただし、ビット比較部14の電流経路に2つのトランジスタQ3,Q10(Q11)が縦続接続されているため、第1の実施形態の方が高速動作が可能である。
【0057】
上述した第1及び第2の実施形態では、2種類のビット列A<n:0>,B<n:0>について時分割比較を行う例を説明したが、本発明は、3種類以上のビット列についての時分割比較にも適用可能である。
【0058】
以下、p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを比較する例について説明する。この場合、連想メモリ1は、図5に示すように、q個(qは2以上の整数)の比較回路21と、比較制御回路13とを有する。
【0059】
q個の比較回路21はそれぞれ、p個のビット列それぞれをq個に分割して得られる各ビット群ごとに、p回に分けて基準ビット列との比較を行う。
【0060】
比較制御回路13は、q個の比較回路21がr回目(rは1以上でp−1以下の整数変数)の比較処理を行っている最中に、少なくとも一つの比較回路21で不一致が検出されると、(r+1)回目以降のプリチャージを中止させるか、比較回路21の比較処理を中止させる。
【0061】
例えば、図6に示すように、4個のビット列b1,b2,b3,b4それぞれを3つに分割して得られる各ビット群(b1−1,b1−2,b1−3)、(b2−1,b2−2,b2−3)、(b3−1,b3−2,b3−3)、(b4−1,b4−2,b4−3)ごとに、4回に分けて基準ビット列との比較を行う場合について説明する。この場合、3つの比較回路21を用いて、4回に分けて比較処理を行う。
【0062】
まず、図7に示すように、これら3つの比較回路21−1,21−2,21−3にはそれぞれビット群(b1−1,b2−2,b3−3)が入力されて1回目の比較処理が行われる。次に、これら比較回路21−1,21−2,21−3にはそれぞれビット群(b2−1,b3−2,b4−3)が入力されて2回目の比較処理が行われる。次に、これら比較回路21−1,21−2,21−3にはそれぞれビット群(b3−1,b4−2,b1−3)が入力されて1回目の比較処理が行われる。比較回路21−1,21−2,21−3にはそれぞれビット群(b4−1,b1−2,b2−3)が入力されて4回目の比較処理が行われる。
【0063】
なお、ビット群の比較順序は、必ずしも図7に示すものに限定されない。要は、各比較回路が各回ごとに、異なるビット列のビット群の比較を行いさえすればよい。
【0064】
また、基準ビット列とp個の入力ビット列はそれぞれq個に分割できるが、ビットの並びを変更することはできない。それは、比較すべき基準ビット列が1対1に対応しているためである。
【0065】
例えば、図7に示すように、各比較回路21−1,21−2,21−3は、ビット列b1,b2,b3,b4の同じビット群を比較する。例えば、比較回路21−1はビット群b1−1,b2−1,b3−1,b4−1をそれぞれ基準ビット列と比較する。また、比較回路21−2はビット群b2−2,b3−2,b4−2,b1−2をそれぞれ基準ビット列と比較し、比較回路21−3はビット群b3−3,b4−3,b1−3,b2−3をそれぞれ基準ビット列と比較する。
【0066】
【発明の効果】
以上詳細に説明したように、本発明によれば、p個のビット列それぞれをq個に分割して得られるビット群ごとに基準ビット列の対応ビット群と比較し、不一致になった場合には、残りのビット群の比較を行うためのプリチャージまたはディスチャージを行わないようにしたため、消費電流の大幅な削減が図れる。
【図面の簡単な説明】
【図1】本発明に係る連想メモリの第1の実施形態の内部構成を示す回路図。
【図2】図1の連想メモリ1を備えたメモリシステムの概略構成を示すブロック図。
【図3】図1の連想メモリ1の動作タイミングを示すタイミング図。
【図4】本発明に係る連想メモリ1の第2の実施形態の内部構成を示す回路図。
【図5】3種類以上のビット列に分けて時分割比較を行う連想メモリの一例を示すブロック図。
【図6】図5の連想メモリに入力されるビット列の一例を示す図。
【図7】図5の比較回路の比較動作を説明する図。
【図8】従来の連想メモリ(CAM:Content Addressable Memory)の内部構成を示す回路図。
【図9】従来の多比較連想メモリの回路図。
【符号の説明】
1 連想メモリ
2 ビット列振分け回路
11,12 比較回路
13 比較制御回路
14 ビット比較部
15 SRAMセル
16 コンパレータ
17,18 プリチャージ回路
19,20 ラッチ回路
【発明の属する技術分野】
本発明は、マイクロプロセッサ上で仮想アドレスを物理アドレスに変換する目的などに用いられる連想メモリに関する。
【0002】
【従来の技術】
マイクロプロセッサでは、仮想アドレスを物理アドレスに変換するために、連想メモリを用いるのが一般的である(特許文献1,2参照)。
【0003】
図8は従来の連想メモリ(CAM:Content Addressable Memory)の内部構成を示す回路図である。この連想メモリは、複数のエントリのそれぞれごとに設けられるビット数分の比較回路31と、同一エントリーの比較回路31の出力線L1に接続されるプリチャージ回路32とを備えている。各比較回路31は、基準ビット列を記憶するSRAMセル33と、SRAMセル33に対するデータの読書きを制御するトランジスタQ21,Q22と、SRAMセル33内のデータと外部入力された比較先のデータとを比較するコンパレータ34と、コンパレータ34の出力に応じてオン・オフするトランジスタQ23とを有する。
【0004】
プリチャージ回路32は、出力線L1をハイレベルにプリチャージするトランジスタQ24と、出力線L1の論理を保持するトランジスタQ25及びインバータIV11とを有する、いわゆるワイヤードNORである。
【0005】
出力線L1は、プリチャージ回路32によってハイレベルにプリチャージされ、比較回路31のいずれかで不一致が検出されると、ローレベルにされる。
【0006】
【特許文献1】
特開2000−235787公報
【特許文献2】
特開2002−163891公報
【0007】
【発明が解決しようとする課題】
図8の連想メモリは、このようなワイヤードNORをエントリの数分だけ持っており、各比較回路31が比較動作を行うときには、その特性上すべてのワイヤードNORが動作し、ほとんどすべてのワイヤードNORで不一致になるため、消費電流が非常に多くなるという問題がある。
【0008】
図8の連想メモリを拡張した図9に示す多比較連想メモリでは、ワイヤードNOR数が増大し、消費電流の問題はさらに悪化する。すなわち、レイアウト面積の増大を抑制可能な時分割多比較連想メモリでは、余計に消費電流が増大するという問題がある。
【0009】
本発明は、このような点に鑑みてなされたものであり、その目的は、2以上の比較を行う場合でも、消費電流の増大を抑制可能な連想メモリ及びメモリシステムを提供することにある。
【0010】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出する連想メモリにおいて、前記p個のビット列それぞれを、q個(qは2以上の整数)に分割して得られる各ビット群ごとに、p回に分けて前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、前記q個の比較手段の出力線をプリチャージするプリチャージ手段と、前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の比較処理の際の前記プリチャージ手段によるプリチャージを停止させる比較制御手段とを備える。
【0011】
また、p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出する連想メモリにおいて、前記p個のビット列それぞれを、q個(qは2以上の整数)に分割して得られる各ビット群ごとに、p回に分けて前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の前記q個の比較手段での比較処理を中止させる比較制御手段とを備える。
【0012】
【発明の実施の形態】
以下、本発明に係る連想メモリ及びメモリシステムについて、図面を参照しながら具体的に説明する。
【0013】
(第1の実施形態)
図1は本発明に係る連想メモリの第1の実施形態の内部構成を示す回路図である。また、図2は図1の連想メモリ1を備えたメモリシステムの概略構成を示すブロック図である。
【0014】
本実施形態の連想メモリ1は、2種類のビット列A<0:n>,B<0:n>のそれぞれを基準ビット列と比較する多比較CAMである。より詳しくは、ビット列A<0:n>,B<0:n>のそれぞれを複数のビット群に分割して、各ビット群ごとに時間をずらして2度に分けて比較する。このような比較を行う連想メモリ1は、時分割2比較CAMとも呼ばれる。
【0015】
図1の連想メモリ1には、図2に示すビット列振分け回路2からビット群が供給される。ビット列振分け回路2は、ビット列A<0:n>,B<0:n>をそれぞれ2つのビット群に分割して連想メモリ1に供給する。各ビット群のビット数は必ずしも同一でなくてもよい。
【0016】
図1の連想メモリ1は、図2に示すビット列振分け回路2からのビット群に従って比較動作を行い、その比較結果に応じて一致線の論理を切り替える。図2に示すRAM3は、一致線の論理に応じてデータを出力するか否かを切り替える。
【0017】
図1には、1エントリ分の回路構成だけが図示されているが、図1の回路を複数エントリ分設けてもよい。図1の連想メモリ1は、各エントリごとに、2つの比較回路11,12と、比較制御回路13とを備えている。比較回路11,12は、ビット列振分け回路2からのビット列を2回に分けて、SRAMセル15に記憶されているビット列と比較する。
【0018】
比較回路11は(n−m)ビット分のビット比較部14を有し、比較回路12は(m+1)ビット分のビット比較部14を有する。各ビット比較部14は、図8と同様に、SRAMセル15と、SRAMセル15に対する読書きを制御するトランジスタQ1,Q2と、ビット比較を行うコンパレータ16と、コンパレータ16の出力によりオン・オフ制御されるトランジスタQ3とを有する。
【0019】
トランジスタQ3のドレイン端子は、各ビット比較部14で共通の出力線L1に接続されている。
【0020】
比較制御回路13は、比較回路11用のプリチャージ回路17を構成するトランジスタQ4〜Q6、NANDゲートG1及びインバータIV1〜IV3と、このプリチャージ回路17のプリチャージ動作を制御するラッチ回路19と、比較回路12用のプリチャージ回路18を構成するトランジスタQ7〜Q9、NANDゲートG2及びインバータIV4〜IV6と、このプリチャージ回路18のプリチャージ動作を制御するラッチ回路20と、ラッチ回路19,20のラッチ出力を合成して一致線の論理を生成するNANDゲートG3,G4とを有する。
【0021】
図3は図1の連想メモリ1の動作タイミングを示すタイミング図である。図示のように、図1の連想メモリ1は、所定期間内(例えば、プロセッサの1サイクルt1−t2間)に2回に分けて比較動作を行う。1回目では、比較回路11はA<n>A<n−1>…A<m+1>の比較を、比較回路12はB<m>B<m−1>…B<0>の比較を行い、2回目では、比較回路11はB<n>B<n−>…B<m+1>の比較を行い、比較回路12はA<m>A<m−1>…A<0>の比較を行う。
【0022】
以下では、ビット比較部14内のSRAMセル15に、予め基準ビット列が格納されているとする。なお、基準ビット列は、ビット線BL,/BLにてSRAMセル15に書き込まれる。
【0023】
まず、CP<n:0>,/CP<n:0>をともにハイレベルにし、2つの比較回路11,12内のすべてのコンパレータ16の出力をローレベルにし、すべてのQ3をオフする。
【0024】
次に、信号pre1にハイレベルのパルスを供給して、2つの比較回路11,12の出力線L1をハイレベルにプリチャージする。
【0025】
次に、比較回路11のCP<n:m+1>,/CP<n:m+1>にA<n:m+1>の相補信号を入力し、比較回路12のCP<m:0>,/CP<m:0>にB<m:0>の相補信号を入力する。これにより、各ビット比較部14で比較動作が行われ、比較結果が出力線L1に出力される。仮に、少なくとも一つのビット比較部14で不一致になると、出力線L1はローレベルになる。
【0026】
ここまでの動作に要する消費電流は、従来、つまり一回の動作に必要な動作電流と同一である。本実施形態は、1回目の比較動作で、いずれかのビット列で不一致が検出されると、そのビット列については2回目の比較動作を行わない点に特徴がある。これにより、消費電流を削減できる。
【0027】
1回目の比較結果を示す出力線L1の論理は、ラッチ回路19,20にてラッチされる。比較回路11内のいずれのビット比較部14でも不一致にならなかった場合は、ラッチ回路19の出力はハイレベルになるが、ビット比較部14のいずれか一つでも不一致が検出されると、ラッチ回路19の出力はローレベルになる。
【0028】
ラッチ回路19の出力がローレベルになると、プリチャージ用のトランジスタQ8はオンせず、プリチャージは行われない。
【0029】
本実施形態のビット列振分け回路2は、同じビット列に属するビット群を、1回目と2回目で別々の比較回路11,12に供給するため、例えば1回目に比較回路11で不一致が検出されると、2回目には、比較回路12のプリチャージを行わないようにしている。
【0030】
このように、本実施形態では、1回目に比較回路11で不一致が検出されると、2回目は比較回路12のプリチャージ行わないようにし、逆に、1回目に比較回路12で不一致が検出されると、2回目は比較回路11のプリチャージを行わないようにする。
【0031】
続いて、2回目の比較動作に入る。まず、CP<n:0>,/CP<n:0>をハイレベルにする。これにより、すべてのコンパレータ16の出力はローレベルになり、すべてのQ3がオフする。
【0032】
次に、信号pre2にハイレベルのパルスを供給し、1回目の比較動作で不一致が検出されなかった比較回路だけを選択的にプリチャージする。
【0033】
比較回路11のCP<n:m+1>,/CP<n:m+1>にB<n:m+1>の相補信号を入力し、比較回路12のCP<m:0>,/CP<m:0>にA<m:0>の相補信号を入力する。
【0034】
この状態で、比較回路11,12内のビット比較部14は比較動作を行い、比較結果が出力線L1に出力される。
【0035】
ラッチ回路19,20には、1回目の比較結果がラッチされているため、2回目の比較結果を示す出力線L1の論理とラッチ回路19,20のラッチ出力とをNANDゲートG3,G4で合成することにより、一致信号が生成される。
【0036】
例えば、両方の比較回路11,12で1,2回とも不一致が検出されなければ、一致線/matchの論理はローレベルになり、比較回路11,12の少なくとも一方で不一致が検出されると、一致線/matchの論理はハイレベルになる。
【0037】
図2のRAM3は、一致線/matchがローレベルであれば、対応するデータを出力し、一致線/matchがハイレベルであればデータを出力しない。
【0038】
本実施形態の具体的な実現形態としては、仮想アドレスを物理アドレスに変換するTLB(Translation Lookaside Buffer)が考えられる。外部から入力された仮想アドレスを連想メモリ1で比較し、比較結果が一致すると、その仮想アドレスに対応する物理アドレスをRAM3が出力する。
【0039】
なお、本実施形態の連想メモリ1の使用目的は上述したTLBに限定されない。
【0040】
このように、第1の実施形態では、2種類のデータA<n:0>,B<n:0>を2つに分けたビット群ごとに、2つの比較回路11,12を用いて2回にわたって比較処理を行い、1回目で不一致が検出されると、2回目の比較処理時には出力線L1のプリチャージを行わないようにしたため、プリチャージを毎回行う場合に比べて、消費電流を最大50%まで削減できる。
【0041】
(第2の実施形態)
第2の実施形態は、1回目で不一致が検出されると、2回目にはビット比較部14の比較動作を停止するものである。
【0042】
図4は本発明に係る連想メモリ1の第2の実施形態の内部構成を示す回路図である。図4では図1と共通する構成部分には同一符号を付しており、以下では相違点を中心に説明する。
【0043】
比較回路11,12内のビット比較部14は、トランジスタQ3のソース線を遮断するか否かを制御するトランジスタQ10,Q11を有する。トランジスタQ10はラッチ回路19のラッチ出力によりオン・オフ制御され、トランジスタQ11はラッチ回路20のラッチ出力によりオン・オフ制御される。
【0044】
具体的には、比較回路11で不一致が検出されると、トランジスタQ11がオフして、比較回路12内のトランジスタQ3もオフする。同様に、比較回路12で不一致が検出されると、トランジスタQ10がオフして、比較回路11内のトランジスタQ3もオフする。したがって、ビット比較部14から接地線に電流が流れなくなり、ビット比較部14の比較動作を中止させることができる。
【0045】
以下、図4の連想メモリ1の動作を説明する。まず、CP<n:0>,/CP<n:0>をともにハイレベルにし、比較回路11,12内のすべてのビット比較部14の出力であるQ3をオフする。
【0046】
次に、信号pre1にハイレベルのパルスを供給し、比較回路11,12の出力線L1をともにハイレベルにプリチャージする。
【0047】
次に、比較回路11,12の1回目の比較結果をラッチするラッチ回路19,20を信号pre1でセットし、比較回路11,12内のすべてのビット比較部14を動作可能にする。
【0048】
次に、比較回路11のCP<n:m+1>,/CP<n:m+1>にA<n:m+1>の相補信号を供給し、比較回路12のCP<m:0>,/CP<m:0>にB<m:0>の相補信号を供給する。
【0049】
これにより、比較回路11,12内の各ビット比較部14は比較動作を行い、比較結果を出力線L1に出力する。ラッチ回路19,20は、出力線L1の論理をラッチする。ここまでの動作は第1の実施形態と同様である。
【0050】
ラッチ回路19の出力がローレベルの場合は、比較回路11で不一致が検出されたことを示しており、この場合はトランジスタQ11がオフし、比較回路12内のトランジスタQ3は動作しなくなる。したがって、コンパレータ16から接地線に電流が流れなくなり、比較回路12は比較動作を行わなくなる。また、一致線/matchの論理はハイレベルになり、不一致である旨がRAM3に通知される。
【0051】
一方、1回目の比較動作でラッチ回路19,20の出力がハイレベルの場合は、比較回路11,12で不一致が検出されなかったことを示しており、この場合はトランジスタQ10,Q11がオンし、トランジスタQ3も動作可能である。したがって、2回目の比較動作が行われる。
【0052】
2回目の比較動作自体は第1の実施形態と同様の手順で行われる。まず、比較回路11,12のCP<n:0>,/CP<n:0>をともにハイレベルにし、比較回路11,12内のすべてのビット比較部14の出力であるQ3をオフする。
【0053】
次に、信号pre2にハイレベルのパルスを供給し、比較回路11,12の出力線L1をプリチャージする。次に、比較回路11のCP<n:m+1>,/CP<n:m+1>にB<n:m+1>の相補信号を供給し、比較回路12のCP<m:0>,/CP<m:0>にA<m:0>の相補信号を供給する。
【0054】
ラッチ回路19,20には、1回目の比較結果がラッチされているため、2回目の比較結果を示す出力線L1の論理とラッチ回路19,20のラッチ出力とをNANDゲートG3,G4で合成することにより、一致信号が生成される。例えば、両方の比較回路11,12で1,2回とも不一致が検出されなければ、一致線/matchの論理はローレベルになり、比較回路11,12の少なくとも一方で不一致が検出されると、一致線/matchの論理はハイレベルになる。
【0055】
このように、第2の実施形態では、1回目の比較動作を行っているときに、少なくとも一方の比較回路で不一致が検出されると、トランジスタQ10またはQ11がオフして、2回目の比較動作を行わないようにするため、第1の実施形態よりも消費電流を抑制でき、電流効率がよりよくなる。
【0056】
ただし、ビット比較部14の電流経路に2つのトランジスタQ3,Q10(Q11)が縦続接続されているため、第1の実施形態の方が高速動作が可能である。
【0057】
上述した第1及び第2の実施形態では、2種類のビット列A<n:0>,B<n:0>について時分割比較を行う例を説明したが、本発明は、3種類以上のビット列についての時分割比較にも適用可能である。
【0058】
以下、p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを比較する例について説明する。この場合、連想メモリ1は、図5に示すように、q個(qは2以上の整数)の比較回路21と、比較制御回路13とを有する。
【0059】
q個の比較回路21はそれぞれ、p個のビット列それぞれをq個に分割して得られる各ビット群ごとに、p回に分けて基準ビット列との比較を行う。
【0060】
比較制御回路13は、q個の比較回路21がr回目(rは1以上でp−1以下の整数変数)の比較処理を行っている最中に、少なくとも一つの比較回路21で不一致が検出されると、(r+1)回目以降のプリチャージを中止させるか、比較回路21の比較処理を中止させる。
【0061】
例えば、図6に示すように、4個のビット列b1,b2,b3,b4それぞれを3つに分割して得られる各ビット群(b1−1,b1−2,b1−3)、(b2−1,b2−2,b2−3)、(b3−1,b3−2,b3−3)、(b4−1,b4−2,b4−3)ごとに、4回に分けて基準ビット列との比較を行う場合について説明する。この場合、3つの比較回路21を用いて、4回に分けて比較処理を行う。
【0062】
まず、図7に示すように、これら3つの比較回路21−1,21−2,21−3にはそれぞれビット群(b1−1,b2−2,b3−3)が入力されて1回目の比較処理が行われる。次に、これら比較回路21−1,21−2,21−3にはそれぞれビット群(b2−1,b3−2,b4−3)が入力されて2回目の比較処理が行われる。次に、これら比較回路21−1,21−2,21−3にはそれぞれビット群(b3−1,b4−2,b1−3)が入力されて1回目の比較処理が行われる。比較回路21−1,21−2,21−3にはそれぞれビット群(b4−1,b1−2,b2−3)が入力されて4回目の比較処理が行われる。
【0063】
なお、ビット群の比較順序は、必ずしも図7に示すものに限定されない。要は、各比較回路が各回ごとに、異なるビット列のビット群の比較を行いさえすればよい。
【0064】
また、基準ビット列とp個の入力ビット列はそれぞれq個に分割できるが、ビットの並びを変更することはできない。それは、比較すべき基準ビット列が1対1に対応しているためである。
【0065】
例えば、図7に示すように、各比較回路21−1,21−2,21−3は、ビット列b1,b2,b3,b4の同じビット群を比較する。例えば、比較回路21−1はビット群b1−1,b2−1,b3−1,b4−1をそれぞれ基準ビット列と比較する。また、比較回路21−2はビット群b2−2,b3−2,b4−2,b1−2をそれぞれ基準ビット列と比較し、比較回路21−3はビット群b3−3,b4−3,b1−3,b2−3をそれぞれ基準ビット列と比較する。
【0066】
【発明の効果】
以上詳細に説明したように、本発明によれば、p個のビット列それぞれをq個に分割して得られるビット群ごとに基準ビット列の対応ビット群と比較し、不一致になった場合には、残りのビット群の比較を行うためのプリチャージまたはディスチャージを行わないようにしたため、消費電流の大幅な削減が図れる。
【図面の簡単な説明】
【図1】本発明に係る連想メモリの第1の実施形態の内部構成を示す回路図。
【図2】図1の連想メモリ1を備えたメモリシステムの概略構成を示すブロック図。
【図3】図1の連想メモリ1の動作タイミングを示すタイミング図。
【図4】本発明に係る連想メモリ1の第2の実施形態の内部構成を示す回路図。
【図5】3種類以上のビット列に分けて時分割比較を行う連想メモリの一例を示すブロック図。
【図6】図5の連想メモリに入力されるビット列の一例を示す図。
【図7】図5の比較回路の比較動作を説明する図。
【図8】従来の連想メモリ(CAM:Content Addressable Memory)の内部構成を示す回路図。
【図9】従来の多比較連想メモリの回路図。
【符号の説明】
1 連想メモリ
2 ビット列振分け回路
11,12 比較回路
13 比較制御回路
14 ビット比較部
15 SRAMセル
16 コンパレータ
17,18 プリチャージ回路
19,20 ラッチ回路
Claims (20)
- p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出する連想メモリにおいて、
前記p個のビット列それぞれを、q個(qは2以上の整数)に分割して得られる各ビット群ごとに、p回に分けて前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、
前記q個の比較手段の出力線をプリチャージするプリチャージ手段と、
前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の比較処理の際の前記プリチャージ手段によるプリチャージを停止させる比較制御手段とを備えることを特徴とする連想メモリ。 - 前記q個の比較手段のそれぞれは、1回目からp回目までの各回ごとに、それぞれ異なるビット列中のビット群と前記基準ビット列の対応ビット群との比較を行うことを特徴とする連想メモリ。
- 前記q個の比較手段の出力線は共通に接続されて、前記プリチャージ手段によりプリチャージされ、少なくとも一つの前記比較手段にて不一致が検出されると、前記出力線に電流が流れて前記出力線の論理が変化することを特徴とする請求項1または2に記載の連想メモリ。
- 前記比較制御手段は、
前記q個の比較手段のそれぞれに対応して設けられ、対応する前記比較手段の比較結果を保持するq個の状態保持手段と、
前記q個の状態保持手段の出力を合成して、最終的な一致判定結果を出力する合成手段と、を有することを特徴とする請求項1〜3のいずれかに記載の連想メモリ。 - 前記q個の状態保持手段はそれぞれ、対応する前記比較手段による(p−1)回分の比較結果を保持することを特徴とする請求項4に記載の連想メモリ。
- 前記q個のプリチャージ手段はそれぞれ、前記q個の比較手段が1回目からp回目までの比較処理を開始する前に、各回ごとに前記q個の比較手段の出力線をプリチャージすることを特徴とする請求項4に記載の連想メモリ。
- p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出する連想メモリにおいて、
前記p個のビット列それぞれを、q個(qは2以上の整数)に分割して得られる各ビット群ごとに、p回に分けて前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、
前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の前記q個の比較手段での比較処理を中止させる比較制御手段とを備えることを特徴とする連想メモリ。 - 前記q個の比較手段のそれぞれに対応して設けられ、対応する前記比較手段の出力線をディスチャージするq個のディスチャージ手段を備え、
前記q個のディスチャージ手段はそれぞれ、対応する前記状態保持手段の出力に基づいて、対応する前記比較手段の出力線をディスチャージするか否かを切り替え、いずれかの前記比較手段にて一致しないと判定されると、対応する前記ディスチャージ手段はディスチャージ動作を中止することを特徴とする請求項7に記載の連想メモリ。 - 前記q個のディスチャージ手段はそれぞれ、前記q個の比較手段が1回目からp回目までの比較処理を開始する前に、各回ごとに前記q個の比較手段の出力線をディスチャージすることを特徴とする請求項8に記載の連想メモリ。
- 前記q個の比較手段のそれぞれは、1回目からp回目までの各回ごとに、それぞれ異なるビット列中のビット群と前記基準ビット列の対応ビット群との比較を行うことを特徴とする請求項7〜9のいずれかに記載の連想メモリ。
- 前記比較制御手段は、
前記q個の比較手段のそれぞれに対応して設けられ、対応する前記比較手段の比較結果を保持するq個の状態保持手段と、
前記q個の状態保持手段の出力を合成して、最終的な一致判定結果を出力する合成手段と、を有することを特徴とする請求項7〜10のいずれかに記載の連想メモリ。 - 前記q個の状態保持手段はそれぞれ、対応する前記比較手段による(p−1)回分の比較結果を保持することを特徴とする請求項11に記載の連想メモリ。
- p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出して、その検出結果信号を出力する連想メモリと、
前記検出結果信号に基づいて、格納されているデータを出力するか否かを切り替えるRAM(Random Access Memory)と、
前記p個のビット列を、q個(qは2以上の整数)に分割して得られる各ビット群を、p回に分けて前記連想メモリに供給するビット列振分け手段と、を備え、
前記連想メモリは、
前記ビット列振分け手段からp回に分けて供給される各ビット群と、前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、
前記q個の比較手段の出力線をプリチャージするプリチャージ手段と、
前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、前記プリチャージ手段によるプリチャージを停止させる比較制御手段と、を有することを特徴とするメモリシステム。 - 前記q個の比較手段のそれぞれは、1回目からp回目までの各回ごとに、それぞれ異なるビット列中のビット群と前記基準ビット列の対応ビット群との比較を行うことを特徴とする請求項13に記載のメモリシステム。
- 前記q個の比較手段の出力線は共通に接続されて、前記プリチャージ手段によりプリチャージされ、少なくとも一つの前記比較手段にて不一致が検出されると、前記出力線に電流が流れて前記出力線の論理が変化することを特徴とする請求項13または14に記載のメモリシステム。
- 前記比較制御手段は、
前記q個の比較手段のそれぞれに対応して設けられ、対応する前記比較手段の比較結果を保持するq個の状態保持手段と、
前記q個の状態保持手段の出力を合成して、最終的な一致判定結果を出力する合成手段と、を有することを特徴とする請求項13〜15のいずれかに記載のメモリシステム。 - p個(pは2以上の整数)のビット列それぞれが基準ビット列と一致するか否かを検出して、その検出結果信号を出力する連想メモリと、
前記検出結果信号に基づいて、格納されているデータを出力するか否かを切り替えるRAM(Random Access Memory)と、
前記p個のビット列を、q個(qは2以上の整数)に分割して得られる各ビット群を、p回に分けて前記連想メモリに供給するビット列振分け手段と、を備え、
前記連想メモリは、
前記ビット列振分け手段からp回に分けて供給される各ビット群と、前記基準ビット列の対応ビット群との比較を行うq個の比較手段と、
前記q個の比較手段がr回目(rは1以上でp−1以下の整数変数、pは2以上の整数)の比較処理を行っている最中に、少なくとも一つの前記比較手段にて一致しないと判定されると、(r+1)回目以降の前記q個の比較手段での比較処理を中止させる比較制御手段とを備えることを特徴とするメモリシステム。 - 前記q個の比較手段のそれぞれに対応して設けられ、対応する前記比較手段の出力線をプリチャージするq個のプリチャージ回路を備え、
前記q個のプリチャージ回路はそれぞれ、対応する前記状態保持手段の出力に基づいて、対応する前記比較手段の出力線をプリチャージするか否かを切り替えることを特徴とする請求項17に記載のメモリシステム。 - 前記q個の比較手段のそれぞれは、1回目からp回目までの各回ごとに、それぞれ異なるビット列中のビット群と前記基準ビット列の対応ビット群との比較を行うことを特徴とする請求項17または18に記載のメモリシステム。
- 前記比較制御手段は、
前記q個の比較手段のそれぞれに対応して設けられ、対応する前記比較手段の比較結果を保持するq個の状態保持手段と、
前記q個の状態保持手段の出力を合成して、最終的な一致判定結果を出力する合成手段と、を有することを特徴とする請求項17〜19のいずれかに記載のメモリシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088379A JP2004296016A (ja) | 2003-03-27 | 2003-03-27 | 連想メモリ及びメモリシステム |
US10/452,288 US6876560B2 (en) | 2003-03-27 | 2003-06-03 | Content addressable memory and memory system |
CN200410032284A CN100578670C (zh) | 2003-03-27 | 2004-03-29 | 相联存储器及存储器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088379A JP2004296016A (ja) | 2003-03-27 | 2003-03-27 | 連想メモリ及びメモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004296016A true JP2004296016A (ja) | 2004-10-21 |
Family
ID=32985208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003088379A Pending JP2004296016A (ja) | 2003-03-27 | 2003-03-27 | 連想メモリ及びメモリシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6876560B2 (ja) |
JP (1) | JP2004296016A (ja) |
CN (1) | CN100578670C (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4541077B2 (ja) * | 2004-01-13 | 2010-09-08 | 株式会社日立超エル・エス・アイ・システムズ | 半導体記憶装置 |
JP4427574B2 (ja) * | 2007-11-30 | 2010-03-10 | 国立大学法人広島大学 | 連想メモリおよびそれを用いた検索システム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6137707A (en) * | 1999-03-26 | 2000-10-24 | Netlogic Microsystems | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device |
US6496398B2 (en) * | 2000-12-15 | 2002-12-17 | International Business Machines Corporation | Content addressable memory |
-
2003
- 2003-03-27 JP JP2003088379A patent/JP2004296016A/ja active Pending
- 2003-06-03 US US10/452,288 patent/US6876560B2/en not_active Expired - Fee Related
-
2004
- 2004-03-29 CN CN200410032284A patent/CN100578670C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040190319A1 (en) | 2004-09-30 |
CN100578670C (zh) | 2010-01-06 |
CN1538455A (zh) | 2004-10-20 |
US6876560B2 (en) | 2005-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6609222B1 (en) | Methods and circuitry for built-in self-testing of content addressable memories | |
US6137707A (en) | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device | |
US6240485B1 (en) | Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system | |
US7042748B2 (en) | Content addressable memory with cascaded array | |
US7068527B2 (en) | Match line sensing amplifier for content addressable memory | |
KR100287184B1 (ko) | 동기식 디램 반도체 장치의 내부 클럭 지연 회로 및 그 지연 방법 | |
US20060203529A1 (en) | Cutting CAM peak power by clock regioning | |
US7251707B1 (en) | Content based content addressable memory block enabling using search key | |
US7219188B1 (en) | Segmented content addressable memory array and priority encoder | |
US9230691B1 (en) | Shared repair register for memory redundancy | |
US7155565B2 (en) | Automatic learning in a CAM | |
US9378801B2 (en) | Semiconductor memory device | |
JP2004296016A (ja) | 連想メモリ及びメモリシステム | |
US6813680B1 (en) | Method and apparatus for loading comparand data into a content addressable memory system | |
US8325546B2 (en) | Method and system for processing a repair address in a semiconductor memory apparatus | |
US7996620B2 (en) | High performance pseudo dynamic 36 bit compare | |
US6809944B2 (en) | CAM with automatic next free address pointer | |
US20070055810A1 (en) | Memory access control device and processing system having same | |
US7145789B2 (en) | Low power low area precharge technique for a content addressable memory | |
JP3923642B2 (ja) | 半導体記憶装置 | |
JP2000163318A (ja) | アドレス変換バッファ | |
US7751219B2 (en) | Three port content addressable memory | |
WO1999059156A1 (en) | Method and apparatus for implementing a learn instruction in a content addressable memory device | |
CN110580231B (zh) | 处理电路、缓冲器、存储器及处理器 | |
US7254753B2 (en) | Circuit and method for configuring CAM array margin test and operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051101 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060124 |