JP2775549B2 - 連想メモリセルおよび連想メモリ回路 - Google Patents

連想メモリセルおよび連想メモリ回路

Info

Publication number
JP2775549B2
JP2775549B2 JP4116131A JP11613192A JP2775549B2 JP 2775549 B2 JP2775549 B2 JP 2775549B2 JP 4116131 A JP4116131 A JP 4116131A JP 11613192 A JP11613192 A JP 11613192A JP 2775549 B2 JP2775549 B2 JP 2775549B2
Authority
JP
Japan
Prior art keywords
data
line
match
lines
circuit
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 - Lifetime
Application number
JP4116131A
Other languages
English (en)
Other versions
JPH05314779A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4116131A priority Critical patent/JP2775549B2/ja
Priority to US07/980,865 priority patent/US5339268A/en
Publication of JPH05314779A publication Critical patent/JPH05314779A/ja
Application granted granted Critical
Publication of JP2775549B2 publication Critical patent/JP2775549B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は連想メモリシステムに
利用される連想メモリ回路およびこの連想メモリ回路に
用いられる連想メモリセルの構成に関する。
【0002】
【従来の技術】マイクロプロセサを利用するシステムに
おいては、低速かつ大記憶容量のたとえば磁気ディスク
からなる外部記憶装置と、このディスク記憶装置よりも
高速な半導体素子を用いた記憶装置と2階層以上のメモ
リ構造が一般に利用される。マイクロプロセサが直接ア
クセスするメモリ素子は、通常、半導体素子で構成され
る。
【0003】半導体素子を用いたメモリ素子には、ダイ
ナミック動作を行なうダイナミック型半導体記憶素子
(DRAM)と、スタティック動作を行なうスタティッ
ク型半導体記憶素子(SRAM)がある。DRAMは、
このダイナミック動作のために信号線を所定電位へプリ
チャージする必要があり、一般にSRAMよりも低速で
ある。マイクロプロセサ等のプロセサを利用するシステ
ムにおいては、プロセサの高速性能を損わないようにす
るために、一般に、大記憶容量であるものの比較的低速
動作をするDRAM回路と、小記憶容量であるものの高
速動作をするSRAM回路とが利用される。
【0004】図9は、プロセサを用いたデータ処理シス
テムの一般的構成を示す図である。図9において、デー
タ処理システムは、たとえばマイクロプロセサからなる
処理装置31と、高速動作するキャッシュメモリ30
と、大記憶容量の主記憶として機能するDRAM回路3
4を含む。キャッシュメモリ30は、小記憶容量かつ高
速動作するSRAM回路33と、SRAM回路33に格
納されたデータのタグアドレスを格納するCAM回路3
2を含む。
【0005】処理装置31が必要とするデータは、通
常、大記憶容量のDRAM回路34に格納される。この
DRAM回路34に格納されたデータのうち処理装置3
1が頻繁に使用する少量のデータがキャッシュメモリ3
0内のSRAM回路33内に格納される。処理装置31
は、通常まずキャッシュメモリ30のSRAM回路33
へアクセスする。SRAM回路33は高速動作する。し
たがって、処理装置31がSRAM回路33に格納され
ているデータを頻繁に利用する場合には、処理装置31
の高速動作性能は損われず、高速でデータ処理が実行さ
れる。SRAM回路33に格納されていないデータを処
理装置31が利用する場合には、処理装置31はDRA
M回路34へアクセスする。
【0006】上述のようにメモリを、高速動作するキャ
ッシュメモリ30と、低速であるものの大記憶容量のD
RAM回路34と階層構造とすることにより、頻繁に利
用されるデータが高速動作するキャッシュメモリ30に
格納されているため、処理装置31は、あたかも大記憶
容量かつ高速なメモリ素子を利用しているようにふるま
うことができる。したがって、このデータ処理システム
は高速で動作することになる。
【0007】このキャッシュメモリ30のSRAM回路
33内に処理装置31が必要とするデータが存在するか
否かを判断するために、CAM回路32が設けられる。
CAM回路32は、SRAM回路33に記憶されたデー
タのタグアドレスを記憶する。通常SRAM回路33に
は、主記憶としてのDRAM回路34からデータブロッ
クが転送されてそこに格納される。CAM回路32に格
納されるタグアドレスは、このデータブロックの各デー
タに共通なアドレス部分である。SRAM回路33は固
定データを記憶するのではない。処理装置31からの要
求に従って、SRAM回路33が記憶するDRAM回路
34の上でのデータ領域は変化する。しかし、あるデー
タ処理において処理装置31からのメモリアクセス領域
には局所性が存在する。すなわち、あるデータがアクセ
スされた場合には、それに連続するアドレスのデータま
たはその近傍のデータがアクセスされる可能性が高い。
したがって、処理装置31からの要求に従って主記憶と
してのDRAM回路34から取出してキャッシュメモリ
30内のSRAM回路33に格納したデータは、その後
もしばらくは処理装置31によりアクセスされる可能性
が高い。したがって、一旦キャッシュメモリ30のSR
AM回路33へDRAM回路34のデータが格納される
と、このSRAM回路33の高速動作性の効果が発揮さ
れ、処理装置31のメモリアクセスの待ち時間なし(ノ
ー・ウェイト)が実現される。すなわち、処理装置31
は、その処理動作がメモリアクセス時間により遅延され
ることがない。
【0008】CAM回路32は、処理装置31からアド
レスバス36に与えられるアドレス信号ADDのうちタ
グアドレス部分を受け、そこに格納されたタグアドレス
と比較する。アドレスバス36上に与えられたタグアド
レスとCAM回路32内に格納されたタグアドレスとが
一致する場合には、CAM回路32は信号線37上に信
号CHを発生する。キャッシュメモリ30の中に処理装
置31が必要とするデータが存在することをキャッシュ
メモリにヒットするという。このキャッシュメモリへの
ヒット時には信号CHが活性化される。処理装置31は
この信号線37上のキャッシュヒット信号CHに従っ
て、SRAM回路33またはDRAM回路34へアクセ
スする。
【0009】CAM回路32は、上述のように、与えら
れたタグアドレスとそこに記憶されているタグアドレス
とを比較し、その比較結果を示す信号を出力する機能を
備える。CAM回路32は、また、通常のメモリ回路の
ように外部からデータを書込みかつ読出すこともでき
る。CAM回路32には、一般に連想メモリと呼ばれる
メモリ回路の一種が用いられる。
【0010】図10は、CAM回路の機能的構成を示す
図である。図10において、CAM回路34は、タグア
ドレスを記憶するための記憶領域102と、被比較デー
タ(タグアドレス)を入力するための入力回路101を
含む。図10においては、記憶領域102は、256個
のアドレス領域A0〜A255を含むように示される。
アドレス領域A0〜A255の各々にSRAM回路に格
納されたデータのタグアドレスが格納される。記憶領域
102のアドレス領域A0〜A255はそれぞれ、入力
回路101から与えられた入力データD0〜D7とそこ
に格納されたタグアドレスとを比較し、その比較結果を
示す信号を一致線104上へ伝達する。一致線104は
各アドレス領域に対応して設けられる。
【0011】CAM回路はさらにこの一致線104上に
与えられる信号に応答して、入力回路101から与えら
れた入力データD0〜D7が記憶領域102に記憶され
たタグアドレスのいずれかと一致しているか否かを検出
する一致検出回路103を含む。記憶領域102のアド
レス領域A0〜A255のいずれかの領域に格納された
タグアドレスが入力回路101から入力されたタグアド
レスD0〜D7と一致する場合には、対応の一致線10
4が一致状態を示す。一致検出回路103はこの一致線
104上の一致指示信号に応答してキャッシュヒット信
号CHを発生する。
【0012】前記のごとく、キャッシュメモリへヒット
したキャッシュヒット時には、SRAM回路33へのア
クセスが行なわれる。キャッシュメモリへヒットしない
キャッシュミス時には、DRAM回路へのアクセスが行
なわれる。このとき、DRAMへのアクセスと平行して
アクセスされたデータを含むデータブロックがSRAM
回路33へ転送される。キャッシュミス時のDRAM回
路からSRAM回路へのデータ転送動作を図11に模式
的に示す。
【0013】図11において、今、処理装置31が要求
するデータがDRAM回路34における領域のデータブ
ロックDB1内に含まれている場合を考える。このと
き、SRAM回路33へ、このデータブロックDB1が
転送される。このデータブロックDB1に含まれるワー
ドそれぞれに共通するアドレスがタグアドレスである。
【0014】SRAM回路33の領域Aに格納されたデ
ータDB2はDRAM回路34の対応の領域A2′へ転
送される(コピーバック動作の場合)。このとき、SR
AM回路33における領域Aとしては、通常、最も最近
アクセスされなかった領域が選ばれる(LRU論理)。
したがって、キャッシュミス時においては、DRAM回
路34からSRAM回路33へ新たなデータブロックD
B1の転送が行なわれるとともに、CAM回路32にお
いても、タグアドレスの書換が実行される。CAM回路
32におけるタグアドレスの書換を実行するために、C
AM回路32は、データの書換機能すなわちデータの入
出力機能を備える。
【0015】図12は、CAM回路の具体的構成の一例
を示す図である。図12において、CAM回路は、行お
よび列のマトリクス状に配列された複数のCAMセル4
1と、アドレスバス8を介して与えられるアドレス信号
ADDをデコードし、1行のCAMセルを選択するアド
レスデコーダ回路2と、データバス9を介して与えられ
るデータDから内部書込データを生成してビット線6a
および6b上へ伝達するとともに、データ読出時にはこ
のビット線6aおよび6bへ伝達された内部読出データ
から外部読出データを生成する読出/書込回路3を含
む。
【0016】図12においては、CAMセル41は、m
行n列に配列された場合が一例として示されており、C
AMセル41には参照番号41−11,…,41−1
n,…,41−m1,…,41−mnが付される。アド
レスデコーダ回路2は、m本のワード線13−1〜13
−mを含み、アドレスバス8を介して与えられるアドレ
ス信号ADDをデコードしてこのうち1本のワード線を
選択状態とする。読出/書込回路3は、データバス9を
介してデータの入出力を行なっており、書込データDと
読出データQとがともにまとめてDQとして示される。
【0017】CAM回路はさらに、ワード線13に対応
して配列される一致線11−1〜11−mと、一致線1
1−1〜11−mの信号を受け、論理和演算を行なうO
R回路10を含む。OR回路10からキャッシュヒット
信号CHが信号線7を介して出力される。
【0018】一致線11−1〜11−mの各々には1行
のCAMセルが接続される。一致線11−1〜11−m
の各々は通常電源電位14に結合され、動作電源電位V
ccレベルの“H”レベルにプリチャージされる。
【0019】ビット線6aおよび6bは互いに相補な信
号を伝達し、ビット線6aには入力データと同じ論理の
信号が伝達され、ビット線6bには、入力データと論理
が反転した信号が伝達される。1対のビット線6aおよ
び6bに一列のCAMセルが接続される。
【0020】CAMセル41−11〜41−mnの各々
は、データ記憶機能とともに、関連のビット線6aおよ
び6bに与えられたデータと記憶データと比較し、該比
較結果に従って関連の一致線11を駆動する機能を備え
る。次この図12に示すCAM回路の動作について簡単
に説明する。
【0021】CAMセルへのデータの書込または読出時
においては、アドレスデコーダ回路2が、アドレスバス
8を介して与えられるアドレス信号ADDをデコード
し、1本のワード線13(ワード線13−1〜13−n
を総称的に示す)を選択する。選択されたワード線13
に接続される1行のCAMセルがそれぞれ対応のビット
線6aおよび6bに接続される。データ書込時において
は読出/書込回路3からの入力データがビット線6aお
よび6bに伝達される。選択されたCAMセル41は対
応のビット線6aおよび6b上のデータを記憶する。デ
ータ読出し時においては、CAMセル41は対応のビッ
ト線6a、6b上へその記憶データを出力する。このビ
ット線6aおよび6bに出力されたデータは読出/書込
回路3を介してデータバス9上へ出力される。
【0022】次に一致検索動作について説明する。この
場合、アドレスデコーダ回路2は不活性状態であり、デ
コード動作を行なわない。読出/書込回路3は、データ
バス9から与えられたデータから内部データを生成し、
ビット線6aおよび6bへ伝達する。今1本のワード線
が1ワードに相当する。一致線11は“H”にプリチャ
ージされている。読出/書込回路3からは各ビット線対
にデータビットが伝達される。各CAMセル41は対応
のビット線6aおよび6bに与えられたデータと既に記
憶しているデータとの比較を行なう。関連のビット線6
aおよび6b上のデータと記憶データとが一致する場
合、CAMセル41は一致線11をフローティング状態
に維持する。一方、CAMセル41は、対応のビット線
6aおよび6bのデータと記憶データとが一致しない場
合、対応の一致線11を接地電位へと放電する。したが
って、読出/書込回路3から与えられた入力データが1
行のCAMセルのそれぞれが記憶するデータビットと一
致している場合には、一致線11の電位は電源電位の
“H”レベルであり、1ビットでも不一致の場合には、
対応の一致線11は接地電位へと放電され、その電位レ
ベルが“L”となる。
【0023】OR回路10は、一致線11−1〜11−
m上の信号の論理和をとる。したがって、1本の一致線
11が一致状態を示す“H”の場合には、OR回路10
からはキャッシュヒット信号CHが活性状態の“H”と
なって信号線7上へ送出される。
【0024】上述のように、1本のワード線13に接続
される1行のメモリセルが1ワードに対応し、読出/書
込回路3はワード単位でデータの入出力を行なう。一致
線11には、ワードの各ビットと入力データとの比較結
果を示す信号が伝達される。一致した場合にのみ一致線
11の電位は“H”である。したがって、この図12に
示すCAM回路を用いることにより、OR回路10から
は高速でタグアドレスの一致/不一致を示す信号が出力
される。
【0025】図13はCAMセルの具体的構成を示す図
である。図13において、CAMセル41は、ワード線
13上のワード線選択信号に応答して記憶ノード24a
および24bをそれぞれビット線6aおよびビット線6
bへ接続するアクセストランジスタ23aおよび23b
と、記憶ノード24aに記憶されたデータに従って記憶
ノード24bを接地電位22へ接続するnチャネルMO
S(絶縁ゲート型電界効果)トランジスタ23cと、記
憶ノード24bに記憶されたデータに従って記憶ノード
24aを接地電位22へ結合するnチャネルMOSトラ
ンジスタ23dと、記憶ノード24aおよび24bをそ
れぞれ電源電位14へ結合するプルアップ用の抵抗素子
21aおよび21bを含む。トランジスタ23cおよび
24dは、フリップフロップ型のラッチ回路を構成す
る。このラッチ回路により、ビット線6aおよび6bに
伝達されたデータが記憶ノード24aおよび24bに記
憶される。
【0026】CAMセル41は、さらに、ビット線6a
上の信号をゲートに受けるnチャネルMOSトランジス
タ23fと、ビット線6b上のデータに応答して導通し
て接地電位22を伝達するnチャネルMOSトランジス
タ23eと、記憶ノード24bに記憶されたデータに従
ってトランジスタ23fを選択的に一致線11へ結合す
るnチャネルMOSトランジスタ23hと、記憶ノード
24aの記憶データに従って、トランジスタ23eが伝
達する接地電位22を選択的に一致線11へ伝達するn
チャネルMOSトランジスタ23gを含む。このトラン
ジスタ23e、23f、23gおよび23hは、記憶デ
ータとビット線6aおよび6bのデータとの一致/不一
致の判別を行ない、この判別結果に従って一致線11を
駆動する。
【0027】一致線11には、このCAMセル41の比
較/駆動部がワイヤドAND結合される。以下の説明に
おいて、図13に示す水平方向をビット方向と呼び、垂
直方向をワード方向と呼ぶ。次にこの図13に示すCA
Mセルの動作について説明する。
【0028】(1) データ記憶動作:CAM回路にお
いてデータをCAMセルに記憶させる場合の動作は通常
のDRAM、SRAMなどのメモリ回路と同様である。
すなわち、CAMセル41にデータを格納する場合に
は、ビット線6aおよび6b上に書込データ(記憶され
るべきデータ)が伝達され、かつワード線13にワード
線選択信号が伝達される。ワード線13の信号電位が
“H”となると、アクセストランジスタ23aおよび2
3bがオン状態となり、記憶ノード24aおよび24b
がそれぞれビット線6aおよび6bに接続される。
【0029】今、ビット線6aのデータが“H”であ
り、ビット線6bのデータが“L”の場合を考える。こ
の場合、記憶ノード24aの電位が“H”となり、記憶
ノード24bの電位が“L”となる。記憶ノード24b
の電位が“L”であり、トランジスタ23dがオフ状態
となり、一方記憶ノード24aの電位の“H”によりト
ランジスタ23cがオン状態となる。これにより、記憶
ノード24aは抵抗素子21aを介してプルアップされ
て“H”に、記憶ノード24bはトランジスタ23cを
介して接地電位22に放電され、“L”に維持される。
これにより、ビット線6aおよび6bに伝達された
“H”および“L”のデータが記憶ノード24aおよび
24bに記憶される。
【0030】この状態においては、ビット線6aおよび
6bの伝達データと記憶ノード24aおよび24bの記
憶データは一致する。このとき、トランジスタ23e、
23f、23gおよび23hにより、一致線11はフロ
ーティング状態に維持される。
【0031】(2) データ読出動作:データ読出動作
はデータ書込動作とほぼ同様であり、データの流れる方
向が異なるだけである。すなわち、ワード線13の電位
の上昇により、記憶ノード24aおよび24bがビット
線6aおよび6bに接続され、記憶ノード24aおよび
24bに記憶されていたデータがビット線6aおよび6
bに伝達される。このビット線6aおよび6bに伝達さ
れたデータは読出/書込回路3へ伝達され、そこで検知
増幅されて出力される。
【0032】(3) データ比較動作:今、電源電位4
が与える電位“H”を論理値“1”に対応させ、かつ接
地電位22が与える電位“L”を論理値“0”に対応さ
せる。ある信号線が電源電位14および接地電位22両
者に接続される場合には、その信号線の論理値は“0”
を示すものと仮定する。一致線11は、図12に示すよ
うに、電源電位14に接続されているため、通常は、そ
の上の信号は論理値“1”である。
【0033】今、CAMセル41にデータ“1”が記憶
されている場合を考える。すなわち、図13において、
記憶ノード24aが“1”、記憶ノード24bが“0”
である。比較すべき外部データは、読出/書込回路3を
介して伝達される。この比較すべきデータが“1”の場
合、ビット線6aが“1”、ビット線6bが“0”とな
る。このとき、トランジスタ23fがオン状態、トラン
ジスタ23eがオフ状態となる。また、記憶ノード24
aおよび24bにそれぞれそのゲートが接続されるトラ
ンジスタ23gおよび23hに関しては、トランジスタ
23hがオフ状態、トランジスタ23gがオン状態とな
る。したがって、この状態では、接地電位22は、一致
線11に結合されないため、一致線11は“1”を維持
する。
【0034】一方、CAMセル41にデータ“0”が記
憶されており、かつ比較されるべき外部データが“0”
の場合には、同様にトランジスタ23gおよび23fが
オフ状態、トランジスタ23eおよび23hがオン状態
となり、同様に一致線11は接地電位22に結合されな
い。
【0035】この図13において、ビット方向のCAM
セル41がそれぞれ記憶するデータが比較されるべき外
部データの各ビット値と等しい場合には、上述のよう
に、一致線11は接地電位22へ結合されないため、そ
の論理値は“1”となる。すなわち、CAM回路内にお
いて外部からの被比較データと一致するデータが存在す
る場合には、一致線11の論理値は“1”となる。
【0036】今、CAMセル41にデータ“0”が記憶
されており、被比較外部データが“1”の場合を考え
る。この場合、記憶ノード24aおよび24bはそれぞ
れ“0”および“1”であり、ビット線6aおよび6b
はそれぞれ“1”および“0”である。この状態におい
ては、トランジスタ23fおよび23hがともにオン状
態となり、一方トランジスタ23eおよび23gがオフ
状態となる。一致線11がトランジスタ23hおよび2
3fを介して接地電位22に結合される。
【0037】したがって、ビット方向において配列され
た1行のCAMセルすべてにおいて1ビットでも被比較
データと記憶データとが等しくない状態が存在する場合
には、CAMセル41内において、一致線11が接地電
位22と接続され、一致線11はその論理値が“0”と
なる。
【0038】以上のように、任意のワード(1本のワー
ド線に接続されるCAMセルにより構成される)に記憶
されているデータと外部からのデータとを比較した結
果、両者が等しい場合には、そのワードに対する一致線
11の論理値は“1”となり、等しくない場合には対応
の一致線11は論理値“0”を示す。CAM回路におい
ては、各ワードには異なったデータが記憶される。一致
線11の論理値は、「どれか1本の一致線についてのみ
“1”となるか」または「すべての一致線の論理値が
“0”であるか」のいずれかである。通常記憶ワードの
内容は行毎に異なるため、2つ以上のワードにおいて一
致線11が論理値“1”を示すことはない。
【0039】CAM回路32において、少なくとも1本
の一致線11が論理値“1”を示せば、図12に示すO
R回路10により、信号線7に与えられるキャッシュヒ
ット信号CHは論理値“1”となる。またすべての一致
線11が論理値“0”を示すときすなわち処理装置31
が利用しようとするデータがキャッシュメモリ30内に
存在しない場合には信号線7のキャッシュヒット信号C
Hは論理値“0”となる。処理装置31はこのキャッシ
ュヒット信号CHにより、キャッシュメモリ30内に必
要とするデータが存在するか否かを認識する。
【0040】上述の説明においては、CAM回路がキャ
ッシュメモリに利用されている。CAM回路はまた、T
LB(Translation look-aside buffer )回路と呼ばれ
る高速変換用バッファにも用いられる。このTLB回路
について以下に簡単に説明する。CPUなどの処理装置
においては、様々な記憶管理方式が利用される。記憶管
理方式の1つに仮想記憶方式と呼ばれる方式がある。こ
の仮想記憶方式においては、物理的な記憶装置である主
記憶とは分離独立した論理的な記憶装置を対象としてプ
ログラムが作成される。論理的な記憶装置と物理的な主
記憶装置との対応付けがプログラムの実行時に行なわれ
る。この論理的な記憶装置は仮想記憶または仮想空間と
呼ばれ、仮想記憶上のアドレスを仮想アドレスと呼ぶ。
一方、主記憶装置上のアドレスを実アドレスと呼ぶ。仮
想記憶のサイズは主記憶のサイズに影響されない。
【0041】仮想記憶は、通常、2ないし64Kバイト
のサイズを持つページまたはセグメントと呼ばれる記憶
単位で分割された構造を有する。プログラムが使用する
仮想記憶の物理的な格納用の記憶装置は、主記憶と磁気
ディスクのような大容量の二次記憶とである。主記憶に
格納することのできない部分(ページあるいはセグメン
ト)は二次記憶に格納される。二次記憶上のページ(セ
グメント)はプログラム実行時に必要となった時点で主
記憶へ移動される。このとき、仮想アドレスから実アド
レスへ変換する必要がある。この変換動作を高速で行な
うためにTLB回路が用いられる。以下に、一例として
セグメンテーション方式におけるアドレス変換用に用い
られるTLB回路の動作について簡単に説明する。
【0042】図14は、セグメンテーション方式に従う
仮想アドレスから実アドレスへのアドレス変換を行なう
ための構成を機能的に示す図である。セグメンテーショ
ン方式においては、仮想空間は複数個のセグメントで構
成される。セグメントは、プログラムの論理的な意味を
持つ単位である。たとえば配列データまたはサブルーチ
ンである。仮想アドレスは、図14に示すように、セグ
メントを識別するためのセグメント番号Snと、このセ
グメント内の具体的な命令またはデータを示すためのセ
グメント内相対変位Dにより構成される。
【0043】仮想アドレスから実アドレスへ変換するた
めに、仮想アドレスと実アドレスとの対応表としての機
能を有するセグメント表201が設けられる。セグメン
ト表201は、すべてのセグメントに対応して設けられ
るセグメント記述子と呼ばれるエントリーを含む。セグ
メント記述子210は、各セグメントに対応して設けら
れ、対応のセグメントが主記憶上に存在するか否かを示
す存在フラグ、主記憶上に存在するときのセグメントの
先頭の主記憶上のアドレス(実アドレス)およびセグメ
ントのサイズをその内容として有する。このセグメント
表201は主記憶に設けられるのが一般である。
【0044】今、仮想アドレスとして、セグメント番号
Sn、セグメント内相対変位Dが与えられた場合を考え
る。このとき、セグメント番号Snをもとに、セグメン
ト表201から対応のセグメント記述子がアクセスされ
る。セグメント記述子210の存在フラグが対応のセグ
メントが主記憶上に存在していることを示している場合
には、そのセグメント記述子に含まれる先頭アドレスよ
り、対応のセグメントの先頭の実アドレスを得ることが
できる。この実アドレスにセグメント内相対変位Dを加
算器215により加算する。加算器215の出力が、求
める仮想アドレスに対応する実アドレスである。
【0045】このようなアドレス変換は命令の実行ごと
に行なわれる。このセグメント表201は主記憶上に記
憶されることが多い。主記憶は比較的低速である。した
がって、アドレス変換が必要なたびごとに主記憶上のセ
グメント表201をアクセスすると、高速動作が実現で
きない。このために、TLB回路202が設けられる。
【0046】TLB回路202には、図15に示すよう
に、最近アクセスされたセグメントの先頭の仮想アドレ
ス(セグメント番号)と対応の実アドレスとの対が保持
される。TLB回路202に保持されているセグメント
へのアクセスの際のアドレス変換がこのTLB回路20
2に格納されているアドレス変換対を用いて実行され
る。すなわち、セグメント番号SがTLB回路202へ
与えられ、そこに格納されている仮想アドレス(セグメ
ントの先頭の仮想アドレス)との一致/不一致を判別す
る。一致した仮想アドレスが存在する場合には対応の実
アドレスRが出力される。
【0047】TLB回路202内に、必要とするアドレ
ス変換対が存在しない場合には、主記憶上に設けられた
セグメント表201へアクセスが行なわれ、対応のセグ
メント記述子210がアクセスされる。したがって、こ
のTLB回路202からの実アドレスまたはセグメント
表201に含まれるセグメント記述子210からの実ア
ドレスの一方をOR回路220で選択することによりセ
グメント203の先頭の実アドレスを得ることができ
る。上述のようなTLB回路においては、仮想アドレス
に含まれるセグメント番号とそこに格納された仮想アド
レスとの一致/不一致を判別するためにCAM回路が用
いられる。
【0048】図16はTLB回路の構成を概略的に示す
図である。図16において、TLB回路は、セグメント
番号および対応の実アドレスを格納する複数のCAMセ
ルからなるCAMアレイ250と、与えられたアドレス
信号に従ってこのCAMアレイ250の1行(1ワー
ド)を選択するアドレスデコーダ252と、アドレスデ
コーダ252により選択された1ワードのCAMセルと
データの入出力を行なうための入出力回路254と、外
部からの検索データを受けて内部検索データを生成する
とともに不要なデータビットにマスク処理を施してCA
Mアレイ250の列上に伝達する検索回路256と、検
索データとCAMアレイ250における記憶ワードデー
タとの一致/不一致を検出するとともにその一致したワ
ードのアドレスを出力するリゾルバエンコーダ258を
含む。
【0049】この図16に示すTLB回路はランダム・
アクセス・メモリと同様にアドレスデコーダ252の動
作により、所望のワードへ入出力回路254を介してデ
ータの書込および読出を行なうことができる。
【0050】検索モード時(比較動作)においては、検
索回路256から検索データ(仮想アドレスのセグメン
ト番号)がCAMアレイ250へ与えられる。各ワード
において、この検索回路256からの検索ワードとデー
タワードとの一致/不一致の判別が行なわれる。この判
別結果は一致線を介してリゾルバエンコーダ258へ与
えられる。リゾルバエンコーダ258は、このCAMア
レイ250からの一致線の信号に応答して一致の有無を
示す一致信号を出力するとともに、一致したデータワー
ドのアドレスを生成する。このリゾルバエンコーダ25
8からのアドレスはアドレスデコーダ252へ与えら
れ、ワード選択動作が行なわれ、対応の実アドレスRn
が入出力回路254を介して読出される。
【0051】この図16に示すCAMアレイ250に含
まれるCAMセルは、先に示したCAM回路と同様の構
成を備える。一致したワードのデータを読出す機能がさ
らにリゾルバエンコーダ258に備えられているだけで
ある。
【0052】
【発明が解決しようとする課題】キャッシュメモリに用
いられるCAM回路においては、たとえばマイクロプロ
セサである処理装置31が利用しようとするデータがキ
ャッシュメモリ30内に存在しない場合には、主記憶で
あるDRAM回路からSRAM回路へその必要とするデ
ータを含むデータブロックを転送する必要がある。この
とき合せてCAM回路内に格納されているタグアドレス
を書換える必要がある。SRAM回路のどのアドレスの
領域のデータブロックを書換えるのかはある法則に従っ
て決定される。すなわち、CAM回路に格納されたタグ
アドレスを書換える場合、どのタグアドレスを書換える
かはある法則に従って決定される。キャッシュメモリの
データを書換える法則の1つにLRUアルゴリズムがあ
る。LRUアルゴリズムでは、最近一番利用されなかっ
たデータを捨てて新しいデータで書換える。通常のマイ
クロプロセサなどの処理装置は、同一アドレス領域を連
続してアクセスするという特性を有している。したがっ
て、LRUアルゴリズムによるデータ置換が最も効率が
よい。
【0053】しかしながら、LRUアルゴリズムを用い
る場合、どのアドレスが最近一番利用されなかったかを
判別する必要がある。このため、キャッシュメモリ内の
どのデータがこれまでにどのようにアクセスされていた
かの履歴を記憶する必要がある。この履歴を記憶し、こ
の履歴の記憶に従ってデータの置換を行なう場合、処理
が非常に複雑となるため、一般にはソフトウェアを用い
て処理される。
【0054】またTLB回路においても、たとえばセグ
メント表から転送されるデータは、最近利用されたセグ
メント領域である。したがってこの場合においても、T
LB回路内に対応の仮想アドレスが格納されていない場
合にはセグメント表のセグメント記述子によりその内容
を書換える必要がある。この書換えにおいも、LRUア
ルゴリズムが利用される。セグメンテーション方式に限
らず、ページ方式など他の仮想記憶方式においてもCA
M回路を利用したTLB回路が利用されており、そのデ
ータ置換もLRUアルゴリズムに従って行なわれる。
【0055】LRUアルゴリズムの処理フローを図17
に示す。以下、図17を参照して簡単にLRUアルゴリ
ズムについて説明する。
【0056】まず、システム起動時において、CAM回
路の各エントリー(アドレスの記憶内容)に対応するア
クセス順序を示すステータス値jが各々初期設定される
(ステップS2)。
【0057】次いで、処理装置が動作すると、比較判別
動作が実行される(ステップS4)。キャッシュヒット
時においては、ヒットしたエントリー(アクセスアドレ
ス)に対応するステータス値jを初期化するとともに、
残りのフルエントリー(そこに有効データが記憶されて
いるエントリー)に対応するステータス値jを1増分す
る(ステップS6)。
【0058】キャッシュミス時においては、このCAM
回路の各エントリーがすべてデータを格納しているか否
かの判別が行なわれる(ステップS8)。これは各エン
トリーに対応して設けられる有効データビットを見るこ
とにより判別される。CAM回路においてすべてのエン
トリーが有効データを格納している場合、最大のステー
タス値に対応するエントリーのアドレスが出力される。
またこのとき、この最大のステータス値に対応するアド
レスに付された最大のステータス値が初期化され、残り
のエントリーに対応するステータス値が1増分される
(ステップS12)。
【0059】CAM回路の各エントリーにすべてデータ
が格納されておらず、まだエンプティ・エントリーが存
在する場合、エンプティ・エントリーのうち最小のアド
レスを出力する。このときフル・エントリーのステータ
ス値jを1増分する(ステップS10)。このステップ
S、ステップS12、およびS10の動作はシステム動
作が終了するまで繰り返し実行される(ステップS1
4)。
【0060】上述のような動作をソフトウェアを用いて
実行する場合には、この処理動作は処理装置31そのも
のが実行するかまたはメモリシステムにおけるキャッシ
ュメモリ管理用またはTLB回路管理用の専用のプロセ
サを用いて実行する必要がある。処理装置31そのもの
がこのキャッシュメモリの管理をも併せて実行する場合
処理装置に対する大きな負荷となり、その処理装置の処
理性能が低下する。また専用のプロセサを用いる場合、
システムの構成が大きくなるとともに、システムの価格
が高くなる。
【0061】さらに、当然、ソフトウェアを用いて処理
を行なう場合その処理速度が低下し、高速でキャッシュ
ミス時の処理動作を実行することができなくなるという
問題が生じる。
【0062】LRUアルゴリズムをハードウェア的に実
現した連想記憶回路の一例は特開昭61−204896
号公報に示されている。この先行技術文献においては、
それぞれが比較基準データを保持する複数のデータレジ
スタと、各データレジスタの記憶内容と入力データとを
比較する複数の比較回路と、この複数の比較回路の出力
に従って、データレジスタの内容をシフト動作により書
換える制御手段とを備える。この先行技術文献において
は、入力データと一致する記憶内容を保持するデータレ
ジスタから上流のデータレジスタの内容をすべて上流側
の隣接データレジスタのシフト動作により書換える。最
上流のデータレジスタには入力データが格納される。
【0063】この先行技術文献は縦続接続されたデータ
レジスタのシフト動作によりLRUアルゴリズムを実現
する。しかしながら、データレジスタと比較回路とが別
々に設けられており、さらに複数の比較回路の出力に従
ってデータレジスタのシフト動作を制御する選択回路が
設けられる。したがって装置規模が拡大するという問題
が生じる。またデータレジスタをどのように構成するか
については何ら明らかにしておらず、CAMセルを用い
ることは何ら示唆していない。
【0064】それゆえ、この発明の目的は、LRUアル
ゴリズムをハードウェアにより高速かつ容易に実現する
ことのできる連想メモリ回路およびそれに用いられる連
想メモリセルを提供することである。
【0065】この発明の他の目的は、LRUアルゴリズ
ムをチップ占有面積を増大させることなくハードウェア
により実現することのできる連想メモリ回路およびそれ
に用いられる連想メモリセルを提供することである。
【0066】
【課題を解決するための手段】請求項1に係る連想メモ
リセルは、ビット線とワード線との交差部に対応して設
けられて、入力データと記憶データとを比較し、該比較
結果に従って一致線を駆動する機能を備えるとともに、
隣接ワードのメモリセルへその記憶データを転送する機
能を備える。
【0067】すなわち、請求項1に係る連想メモリセル
は、ワード線上の信号に応答してビット線上のデータを
記憶する主記憶手段と、このビット線上のデータと主記
憶手段に記憶されたデータとを比較し、両データの一致
/不一致に従って一致線を所定電位に駆動する比較手段
と、副記憶手段と、転送指示信号に応答してビット線方
向に沿って隣接するメモリセルの主記憶手段に記憶され
たデータを副記憶手段へ転送してそこに記憶させるデー
タ転送手段と、書換指示信号に応答して副記憶手段が記
憶するデータを自身の主記憶手段へ転送してそこに記憶
させるデータ書換手段とを備える。
【0068】請求項2に係る連想メモリセルは、入力デ
ータと記憶データとを比較するとともにこの比較結果に
従って一致線を駆動する機能に加えて、入力データを新
たに記憶する機能を備える。すなわち、請求項2に係る
連想メモリセルは、ワード線上の信号に応答してビット
線上のデータを記憶する主記憶手段と、ビット線上のデ
ータと主記憶手段が記憶するデータとを比較し、該比較
結果に従って一致線を駆動する比較手段と、副記憶手段
と、転送指示信号に応答してビット線上に与えられたデ
ータを副記憶手段へ転送する転送手段と、データ書換指
示信号に応答して副記憶手段が記憶するデータを自身の
主記憶手段へ転送してそこに記憶させるデータ書換手段
とを含む。
【0069】請求項3に係る連想メモリ回路は、入力デ
ータと記憶データとの一致/不一致判別を行なう機能に
加えて、一致判別時には、一致ワードを下限として、各
ワードの内容を隣接ワードへ転送するとともに、最上流
のワードへ入力データを記憶する機能を備える。すなわ
ち請求項3に係る連想メモリ回路は、各々が行を規定す
る複数のワード線と、各々が列を規定する複数のビット
線と、各ワード線に対応して配置される複数の一致線
と、ワード線および一致線とビット線との交差部に対応
して設けられる複数のメモリセルを含む。
【0070】複数のメモリセルの各々は、対応のワード
線上の信号に応答して対応のビット線上のデータを記憶
する主記憶手段と、ビット線延在方向(ワード方向)に
おいて隣接するメモリセルの主記憶手段が記憶するデー
タまたは対応のビット線上のデータが伝達されるデータ
伝達線と、副記憶手段と、データ転送指示信号に応答し
てデータ伝達線上のデータを副記憶手段へ伝達する手段
と、書換指示信号に応答して副記憶手段の記憶するデー
タを自身の主記憶手段へ転送する書換手段と、対応のビ
ット線上のデータと自身の主記憶手段の記憶データとを
比較し、該比較結果に従って対応の一致線を駆動する比
較手段とを含む。データ伝達線とビット線とが結合され
るメモリセルは、複数のワード線のうちの特定のワード
線に対応して設けられるメモリセルである。
【0071】請求項3に係る連想メモリ回路は、さら
に、複数の一致線の信号に応答して各行ごとに書換指示
信号を生成する書換制御手段を含む。この書換制御手段
は、複数の一致線のいずれかが一致を示すとき、該一致
を示す一致線とデータ伝達線がビット線に結合される行
のメモリセルに対応する一致線とを含むビット線延在方
向において連続的に隣接する一致線の第1のグループ
と、この第1のグループの一致線以外の残りのビット線
延在方向において連続的に隣接する一致線の第2のグル
ープとに複数の一致線をグループ化する分割手段と、こ
の分割手段の出力に応答して第1のグループの一致線に
対応するメモリセルの行に対して書換指示信号を与える
書換信号生成手段とを含む。
【0072】請求項4に係る連想メモリ回路は、請求項
3記載の連想メモリ回路において、書換制御手段がさら
に、複数の一致線のすべてが不一致を示す場合には、す
べてのメモリセルの行へ書換指示信号を与える手段を含
む。
【0073】請求項5に係る連想メモリ回路は、行列状
に配置される複数のメモリセルと、各々に1行のメモリ
セルが接続される複数のワード線と、各々に1列のメモ
リセルが接続される複数のビット線と、各ワード線に対
応して設けられ、各々に1行のメモリセルが結合される
複数の一致線とを含む。
【0074】複数のメモリセルの各々は、対応のワード
線上の信号に応答して対応のビット線上のデータを記憶
する主記憶手段と、ビット線延在方向において隣接する
メモリセルの主記憶手段の記憶データまたは対応のビッ
ト線上のデータが伝達されるデータ伝達線と、副記憶手
段と、データ転送指示信号に応答してこのデータ伝達線
上のデータを副記憶手段へ伝達する手段と、書換指示信
号に応答して該副記憶手段が記憶するデータを自身の主
記憶手段へ転送する書換手段と、対応のビット線上のデ
ータと自身の主記憶手段の記憶するデータとを比較し、
該比較結果に従って対応の一致線を駆動する比較手段と
を含む。データ伝達線とビット線とが結合されるメモリ
セルは、複数のワード線のうちの特定のワード線に対応
して設けられるメモリセルである。
【0075】この請求項5に係る連想メモリ回路は、さ
らに、データ伝達線とビット線とが結合された行を除く
行の各々に設けられる複数のゲート手段と、このデータ
伝達線とビット線とが結合されたメモリセルの行に対し
て設けられ、固定電位発生手段を含み、この固定電位発
生手段が発生する固定電位により対応の行へ書換指示信
号を発生する手段を含む。
【0076】ゲート手段の各々は、ビット線延在方向に
おいて隣接する行の一致線上の信号と該隣接行のゲート
手段の出力信号とを受け、少なくとも一方の信号が一致
状態を示すとき一致指示信号を発生する。固定電位発生
手段の出力はビット線延在方向において隣接する行のゲ
ート手段の入力へも与えられる。
【0077】請求項5に係る連想メモリ回路はさらに、
ゲート手段各々に対応して設けられ、対応のゲート手段
の出力が一致指示信号と異なるとき、書換指示信号を各
対応の行のメモリセルへ伝達する手段を含む。
【0078】請求項6に係る連想メモリ回路は、請求項
5記載の連想メモリ回路においてさらに、データ伝達線
とビット線とが結合された行に対応する一致線を含みか
つビット線延在方向において連続して隣接する一致線の
第1のグループに対して設けられ、この第1のグループ
の一致線の信号を受けて一致の有無を判別する第1の判
別手段と、第1のグループの一致線以外の残りの一致線
の第2のグループに対応して設けられ、この第2のグル
ープの一致線それぞれの信号と第1の判別手段の出力と
に応答して入力データと記憶データとの一致/不一致の
判別を行なう第2の判別手段とを備える。
【0079】第1の判別手段の出力は、第2のグループ
のビット線延在方向において最も第1のグループに近接
する行に対応して設けられるゲート手段の入力へ与えら
れる。
【0080】請求項7に係る連想メモリセルは、一致線
とビット線との交差部に対応して設けられ、入力データ
と記憶データとを比較してその比較結果に従って一致線
を駆動する機能とともに、隣接ワードのメモリセルへデ
ータを転送する機能を備える。
【0081】すなわち、請求項7に係る連想メモリセル
は、データを記憶する主記憶手段と、ビット線上のデー
タと主記憶手段が記憶するデータとを比較し、両データ
の一致/不一致に従って一致線を駆動する比較手段と、
副記憶手段と、転送指示信号に応答して副記憶手段へビ
ット線延在方向(ワード方向)に沿って隣接するメモリ
セルの主記憶手段に記憶されたデータを副記憶手段へ転
送してそこに記憶させるデータ転送手段と、書換指示信
号に応答してこの副記憶手段が記憶するデータを自身の
主記憶手段へ転送してそこに記憶させるデータ書換手段
と備える。
【0082】請求項8に係る連想メモリセルは、ビット
線と一致線との交差部に対応して設けられ、入力データ
と記憶データとを比較し、該比較結果に従って一致線を
駆動する機能に加えて、この入力データを記憶する機能
を備える。すなわち、請求項8に係る連想メモリセル
は、データを記憶するための主記憶手段と、ビット線上
のデータと主記憶手段が記憶するデータとを比較し、該
比較結果に従って一致線を駆動する比較手段と、副記憶
手段と、転送指示信号に応答してこのビット線上に与え
られたデータを副記憶手段へ転送する転送手段と、デー
タ書換指示信号に応答してこの副記憶手段が記憶するデ
ータを自身の主記憶手段へ転送してそこに記憶させるデ
ータ書換手段とを含む。
【0083】請求項9に係る連想メモリ回路は、行方向
に配置される複数の一致線と、列方向に配置される複数
のビット線と、このビット線と一致線との交差部に対応
して設けられる複数のメモリセルを含む。
【0084】複数のメモリセルの各々は、データを記憶
する主記憶手段と、ビット線延在方向(ワード方向)に
おいて隣接するメモリセルの主記憶手段が記憶するデー
タまたは対応のビット線上のデータが伝達されるデータ
伝達線と、副記憶手段と、データ転送指示信号に応答し
てこのデータ伝達線上のデータを副記憶手段へ伝達する
手段と、書換指示信号に応答して副記憶手段が記憶する
データを自身の主記憶手段へ転送する書換手段と、対応
のビット線上のデータと自身の主記憶手段の記憶するデ
ータとを比較し、該比較結果に従って対応の一致線を駆
動する比較手段とを含む。
【0085】ビット線上のデータがデータ伝達線へ伝達
されるメモリセルは、複数の行のうち特定の行に対応し
て設けられるメモリセルである。
【0086】請求項9に係る連想メモリ回路はさらに、
複数の一致線の信号に応答して書換指示信号を行単位で
生成する書換制御手段を含む。この書換制御手段は、複
数の一致線のいずれかが一致を示す場合には、該一致を
示す一致線に対応する行とビット線上のデータが伝達さ
れるデータ伝達線を含むメモリセルの行とを含むビット
線延在方向において連続的に隣接する行に対応する複数
の一致線からなる第1のグループと、この第1のグルー
プの一致線以外の残りの一致線からなる第2のグループ
とに一致線を分割する分割手段と、この分割手段の出力
に応答して第1のグループのメモリセルに対してデータ
書換指示信号を伝達する書換信号生成手段を含む。
【0087】請求項10記載の連想メモリ回路は、この
書換制御手段がさらに、複数の一致線のすべてが不一致
を示す場合には、すべてのメモリセルへ書換指示信号を
与える手段を含む。
【0088】請求項11に係る連想メモリ回路は、各々
に1行のメモリセルが接続される複数の一致線と、各々
に1列のメモリセルが接続される複数のビット線とを含
む。複数のメモリセルの各々は、データを記憶する主記
憶手段と、ビット線延在方向において隣接するメモリセ
ルの主記憶手段の記憶データまたは対応のビット線上の
データが伝達されるデータ伝達線と、副記憶手段と、デ
ータ転送指示信号に応答してこのデータ伝達線上のデー
タを副記憶手段へ伝達する手段と、書換指示信号に応答
してこの副記憶手段の記憶データを自身の主記憶手段へ
転送する書換手段と、対応のビット線上のデータと自身
の主記憶手段が記憶するデータとを比較し、該比較結果
に従って対応の一致線を駆動する比較手段を含む。
【0089】データ伝達線にビット線上のデータが伝達
されるメモリセルは、複数の行のうちの特定の行のメモ
リセルである。
【0090】請求項11に係る連想メモリ回路はさら
に、データ伝達線にビット線上のデータが伝達されるメ
モリセルの行を除く行の各々に設けられる複数のゲート
手段と、ゲート手段の各々に対応して設けられ、対応の
ゲート手段の出力が一致指示信号と異なる場合には書換
指示信号を対応の行のメモリセルへ伝達する手段と、デ
ータ伝達線とビット線上のデータが伝達される行のメモ
リセルに対して設けられ、固定電位発生手段を含み、こ
の固定電位発生手段からの固定電位に従って対応の行の
メモリセルへの書換指示信号を発生する手段を含む。
【0091】ゲート手段の各々は、ビット線延在方向に
おいて隣接する行の一致線上の信号と該隣接行のゲート
手段の出力信号とを受け、少なくとも一方の信号が一致
状態を示す場合には一致指示信号を発生する。固定電位
発生手段の出力は、また該隣接行のゲート手段へ与えら
れる。
【0092】請求項12に係る連想メモリ回路は、請求
項11に係る連想メモリ回路においてさらに、データ伝
達線にビット線上のデータが伝達される行を含みビット
線延在方向において連続して隣接する行の各一致線を含
む第1のグループに対応して設けられ、第1のグループ
の一致線の信号を受けて入力データと記憶データとの一
致/不一致を判別する第1の判別手段と、第1のグルー
プの一致線以外の残りの一致線からなる第2のグループ
に対応して設けられ、この第2のグループの一致線の信
号と第1の判別手段の出力信号とに応答して入力データ
と記憶データとの一致/不一致の判別を行なう第2の判
別手段を備える。
【0093】第1の判別手段の出力は、第2のグループ
のうちビット線延在方向において最も第1のグループの
一致線に近接する行に対応して設けられるゲート手段の
入力へ与えられる。
【0094】
【作用】請求項1に係る連想メモリセルにおいては、副
記憶手段に保持された隣接ワードのデータが書換指示信
号により主記憶手段に格納される。これにより、データ
ワードの格納位置をシフトさせることが可能となり、L
RUアルゴリズムをコンパクトな構成で高速に実現する
ことのできる連想メモリセルが得られる。
【0095】請求項2に係る連想メモリセルにおいて
は、書換指示信号により副記憶手段に保持されたビット
線上のデータが主記憶手段に格納される。これにより、
連想メモリセルの記憶内容の書換が容易かつ高速に行な
え、さらにLRUアルゴリズムをコンパクトな構成で効
率的に実現することのできる連想メモリセルが得られ
る。
【0096】請求項3に係る連想メモリ回路において
は、書換指示信号により、一致した連想メモリセルから
上流の連想メモリセルの内容が隣接上流ワードの記憶内
容または入力ワードデータにより書換えられるので、簡
易な構成で効率的に高速でLRUアルゴリズムに従う記
憶内容の管理を実現する連想メモリ回路が得られる。
【0097】請求項4に係る連想メモリ回路において
は、不一致時にはすべての連想メモリセルの記憶内容が
隣接上流ワードの記憶内容または入力データワードによ
り書換えられるため、記憶内容の書換えがLRUアルゴ
リズムに従って容易かつ高速に実現される。
【0098】請求項5に係る連想メモリ回路において
は、ビット線上のデータすなわち入力データが常に最も
新しくアクセスされた記憶内容を保持するアドレス位置
に格納されかつゲート手段によりデータワードのシフト
位置が決定されて書換手段により記憶データワードのシ
フトが行なわれる。したがって、データのシフト位置を
高速で判別して正確に記憶データワードのシフトを行な
うことができ、LRUアルゴリズムによるデータ置換を
容易に実現することが可能となる。
【0099】請求項6に係る連想メモリ回路において
は、第1の判別手段の出力が第2のグループのゲート手
段の入力へ与えられる。これにより、一致線上の信号に
よる一致判別結果の伝搬におけるゲート遅延を大幅に低
減することが可能となり、高速でデータ書換指示信号を
発生することが可能となる。
【0100】請求項7に係る連想メモリセルは、ワード
線が設けられておらずシフト動作のみにより隣接ワード
データの格納が行なわれ、簡易な構成でLRUアルゴリ
ズムを実現することができる。
【0101】請求項8に係る連想メモリセルは、ワード
線がなくビット線上のデータを書換指示信号により格納
するため、その記憶内容をビット線上の入力データで書
換えることが可能となり、LRUアルゴリズムに従って
記憶内容の管理を容易に実現することのできるコンパク
トな構成の連想メモリセルが得られる。
【0102】請求項9に係る連想メモリ回路は、ワード
線が設けられておらず、書換制御手段によりシフト動作
により所望のワード領域のデータワードの書換えを行な
うことができ、高速でLRUアルゴリズムに従って記憶
内容を管理することのできるコンパクトな構成の連想メ
モリ回路が得られる。
【0103】請求項10に係る連想メモリ回路は、ワー
ド線が設けられておらず、不一致のは場合にはすべての
記憶内容がシフト動作により隣接ワードの記憶内容また
は入力データより変更されるため、LRUアルゴリズム
によるデータ置換を高速で実現することのできるコンパ
クトな構成の連想メモリ回路がえられる。
【0104】11に係る連想メモリ回路においては、各
行に対応して設けられたゲート手段によりシフト動作を
行なうか否かが判別され、このゲート手段の出力により
各行に書換指示信号が発生され、かつ1行のメモリセル
へはビット線上の入力データが伝達されるため、高速か
つ容易にデータワードのシフト領域を判別することがで
き、コンパクトな構成でかつ高速にLRUアルゴリズム
を実現する連想メモリ回路を得ることができる。
【0105】請求項12に係る連想メモリ回路において
は、一致線の出力に従って一致の有無を判別する判別手
段を第1および第2の判別手段とし、第1の判別手段の
出力を第2のグループの最上流のゲート手段の入力へ与
えているため、ゲート手段の出力が確定状態となるまで
に要する時間を大幅に低減することができ、高速で書換
えを行なうべきメモリセル位置を判別することができ、
これにより高速でLRUアルゴリズムを実現することの
できるコンパクトな構成の連想メモリ回路を得ることが
できる。
【0106】
【実施例】
実施例1 図1はこの発明の一実施例であるCAM回路の全体の構
成を概略的に示すブロック図である。
【0107】図1において、CAM回路は、行および列
のマトリクス状に配列された複数のCAMセル回路1を
含む。図1においては、CAMセル回路1が、m行n列
に配列されたように示される。各CAMセル回路を特定
するためにそれぞれのCAMセル回路には参照番号1−
11…1−1n、1−m1…1−mnを付す。CAMセ
ル回路1(CAMセル回路を代表的に示す)は、後に詳
細に説明するように、データ保持部と比較部とデータ書
換部とを含む。
【0108】1行のCAMセル回路1−k1−1knに
対して1本のワード線が設けられ1≦k≦m)、1列の
CAMセル回路1−1i〜1−miに対して1対のビッ
ト線6aおよび6bが設けられる(1≦i≦n)。さら
に、1行のメモリセル1−k1〜1knに対して1本の
一致線11が設けられる。
【0109】さらにCAM回路において、CAMセル回
路のデータ書換を制御するために、1行のCAMセル回
路1−k1〜1−knの各行に対して1本の書換制御信
号を伝達するための書換信号線12が設けられる。
【0110】隣接ワード(隣接行)のCAMセル回路間
にはデータ伝達線25が設けられる。このデータ伝達線
25には、隣接ワードの記憶データが伝達される。デー
タ入力部(読出/書込回路3)に最も近い行のCAMセ
ル回路1−m1〜1−mnのデータ伝達線25はビット
線6aに接続される。この構成により、CAMセル回路
1−m1〜1−mnは読出/書込回路3からビット線6
aに与えられた入力データを格納することができる。
【0111】CAMセル回路はさらに、一致線11−2
〜11−mの信号(一致信号)に従って書換信号を各書
換信号線12−1〜12−mへ伝達する書換制御回路3
00を含む。書換制御回路300は、各行に対して設け
られ、隣接行の一致線上の一致信号と隣接行に設けられ
たゲート回路の出力を受けるゲート回路4−1、4−
2、4−3…と、各ゲート回路4−pに対応して設けら
れ、対応のゲート回路の出力に従って書換信号を対応の
書換信号線12−pへ伝達する書換信号発生回路5−1
〜5−mを含む(1≦p≦m)。
【0112】書換信号発生回路5−mは常時接地電位2
2に接続されておりデータ“0”を保持する。この書換
信号発生回路は1ビットのデータ保持回路で構成され、
その保持データに従って対応の書換信号線へ書換信号を
伝達する。
【0113】ゲート回路4(回路4−1、4−2、4−
3…を代表的に示す)はORゲートで構成され、その両
入力のうち少なくとも一方が“1”のときに“1”の信
号を発生する。
【0114】1本のワード線に接続される1行のCAM
セル回路は1ワードを構成する。今このCAM回路のア
ドレスとして、ワード線13−1をアドレス1、…ワー
ド線13−mをアドレスmとする。m>1である。
【0115】CAM回路はさらに、すべての一致線11
−1〜11−m上の一致信号に従って一致/不一致の判
別動作を行ない、この判別結果を示す信号CHを信号線
7に出力するOR回路10と、アドレスバス8を介して
与えられるアドレス信号ADDをデコードし、m本のワ
ード線のうち1本のワード線を選択状態とするアドレス
デコーダ回路2と、データの書込および読出を行なうた
めの読出/書込回路3と、このアドレスデコーダ回路
2、読出/書込回路3などの動作を制御するための信号
を発生する制御回路350を含む。制御回路350は、
チップイネーブル信号/CE、書込イネーブル信号/W
Eおよび読出イネーブル信号/OEに従って各種内部制
御信号を発生する構成が一例として示される。この制御
回路350はまた、書換制御回路300に含まれる書換
信号発生回路(回路5−1〜5−mを代表的に示す)の
保持データに従った書換信号発生タイミングを制御する
ように構成されてもよく、さらにOR回路10からの信
号CHの発生タイミングを制御るように構成されてもよ
い。
【0116】図1に示すCAM回路の動作について簡単
に説明する。データの書込または読出は、アドレスデコ
ーダ回路2により1本のワード線13を選択し、読出/
書込回路3により、ビット線6aおよび6bを介してデ
ータの書込/読出が行なわれる。
【0117】一致検出動作時においては、2つの動作が
行なわれる。まず第1の動作サイクルでは、転送信号線
15−1〜15−mに転送信号が与えられる(制御回路
350の制御による)。これにより、CAMセル回路1
には上流側(読出/書込回路3に近い方)の隣接ワード
のCAMセル回路の記憶データがその副記憶部に保持さ
れる。最大アドレスのCAMセル回路1−m1ないし1
−mmはデータ伝達線25がビット線6aに接続され
る。したがって、ビット線6aに与えれらた入力データ
がその副記憶部に格納される。次いで比較動作が行なわ
れる。すなわち、各行単位で、ビット線6aおよび6b
に伝達された記憶データの一致/不一致の比較が行なわ
れる。このときの比較には主記憶部に格納されたデータ
が用いられる。この比較動作に従って一致線11−1〜
11−m上の信号電位が確定する。
【0118】今、一致線11−2が“1”であり、残り
の一致線11−1,11−3〜11−mが“0”の場合
を考える。すなわち入力データが第2行のCAMセル回
路に格納されたデータワードと一致した状態を考える。
このとき、ORゲート4−1の出力が“1”となり、残
りのゲート回路4−2、4−3…の出力は“0”とな
る。書換信号発生回路5−1に“1”が保持され、残り
の書換信号発生回路5−2〜5−mにはデータ“0”が
保持される。
【0119】次いでデータ“0”を保持する書換信号発
生回路5−2〜5mから書換えを指示する書換指示信号
が対応の書換信号線12−2〜12−mへ伝達される。
これにより第2行ないし第m行のCAMセル回路におい
てその副記憶部に格納されていたデータが主記憶部に伝
達される。第1行のCAMセル回路においては書換信号
発生回路5−1からは書換指示信号は発生されず、その
主記憶部に保持されたデータは保持される。これによ
り、第2行のCAMセル回路に格納されていたデータが
アドレスの最も大きい第m行のCAMセル回路へ等価的
に転送され、かつ第3行ないし第m行に格納されていた
データがそれぞれ第2行ないし第m−1行のCAMセル
回路へ転送される。すなわち最も新しくアクセスされた
データは常に第m行のCAMセル回路1−m1〜1−m
nに格納される。最も古くアクセスされた記憶データは
したがって、第1行のCAMセル回路1−11〜1−1
nに格納される。
【0120】一致線11−1〜11−nが“0”の場合
には、書換信号発生回路5−1〜5mはすべてデータ
“0”を保持する。この場合には、書換信号線12−1
〜12−mへ書換指示信号が発生され、すべてのCAM
セル回路1の記憶内容が副記憶部に格納されたデータで
書換えられる。すなわちCAMセル回路1−11〜1−
1mに格納されている最も古くアクセスされたデータが
消去され、各CAMセル回路1の記憶内容が1行ずつシ
フトされ、第m行には入力データが格納される。これに
よりLRUアルゴリズムに従ったデータ置換が実現され
る。
【0121】転送信号線15−1〜15−mはそれぞれ
各行ごとに配設されている。制御回路350からの制御
信号によりデータ転送信号が発生される。
【0122】書換信号発生回路5−1〜5−mはたとえ
ばインバータラッチ回路で構成される。このインバータ
ラッチ回路はデータ出力タイミングおよびデータラッチ
タイミングが制御回路350からの内部制御信号により
決定される。これは、クロックトインバータを用いたイ
ンバータ回路を含むラッチ回路を含むラッチ回路で書換
信号発生回路が構成されてもよく、インバータラッチ回
路の入力部および出力部のトランスファーゲートのオン
/オフタイミングが制御回路350からの内部制御信号
により制御されてもよい。
【0123】またビット線6aおよび6bは比較動作前
(入力データが伝達される前のスタンバイ状態時)にお
いては“1”にプリチャージされていてもよく、また
“1”と“0”の間の中間電位にプリチャージされてい
てもよい。アドレスデコーダ回路2はまた制御回路35
0の制御の下にデコード動作を行なわず、スタティック
にアドレスバス8へ与えられたアドレス信号ADDをデ
コードしてもよい。またアドレスデコーダ回路2は、ア
ドレスバス8上のアドレス信号ADDの変化時点を検出
し、この変化点検出信号に応答してデコードタイミング
が決定されてもよい。
【0124】読出/書込回路3は、従来と同様である
が、被比較データとなる入力データはこの読出/書込回
路3と別に設けられた入力回路から各ビット線6aおよ
び6bへ伝達される構成が利用されてもよい。
【0125】図2は、図1に示すCAMセル回路1の構
成を具体的に示す図である。図2において、CAMセル
回路1は、主記憶手段としてのマスタメモリ部分301
と、副記憶手段としてのスレーブメモリ部分302とを
含む。マスタメモリ部分301は、図13に示す従来の
CAMセルと同様の構成を有し、データ記憶部と、デー
タ比較および一致線駆動部とを含む。図13に示す従来
のCAMセルの構成要素と対応するマスタメモリ部分3
01の構成要素には同一の参照番号を付し、その詳細説
明は省略する。マスタメモリ部分301の記憶ノード2
4aは、データ伝達線25aに接続される。このデータ
伝達線25aは、隣接ワード(たとえば図1においてア
ドレスの小さな下流側の隣接ワード)のスレーブメモリ
部分に接続される。
【0126】スレーブメモリ部分302は、信号線15
の上のデータ転送指示信号に応答して導通し、データ伝
達線25bに伝達されたデータをノード28へ伝達する
nチャートMOSトランジスタ23jと、ノード28の
記憶データを増幅しかつラッチするための2段の縦続接
続されたインバータ回路26bおよび26aと、信号線
15上のデータ転送指示信号に応答して導通し、インバ
ータ回路26aの出力をノード28へ伝達するpチャネ
ルMOSトランジスタ27と、信号線23上の書換指示
信号に応答して導通し、ノード28に記憶されたデータ
をマスタメモリ部分301の記憶ノード24aへ伝達す
るnチャネルMOSトランジスタ23iを含む。トラン
ジスタ23jとトランジスタ27とは相補的にオン・オ
フする。データ伝達線25bには、図1においてアドレ
スの大きい上流側の隣接ワードのCAMセル回路のマス
タメモリ部分に記憶されたデータが伝達される。またこ
のCAMセル回路が図1における第m行のCAMセル回
路の場合、データ伝達線25bはビット線6aに接続さ
れ、読出/書込回路3から伝達された入力データを伝達
する。次にこの図2に示すCAMセル回路の動作につい
て説明する。
【0127】データの書込および読出を行なう場合およ
び比較動作を実行するマスタメモリ部分301の動作は
図13に示す従来のCAMセルと同様である。したがっ
て、その内部データの書込および読出動作については省
略し、比較動作すなわち一致判別動作について説明す
る。一致判別動作についてその動作波形図である図3を
併せて参照して説明する。
【0128】この発明によるCAM回路は2つの相で動
作する。1つは入力データと記憶データとを比較する期
間compであり、もう1つはデータを書換える期間w
riteである。この比較期間compと書換期間wr
iteはそれぞれシステムクロックCLKの半サイクル
に相当する。図1に示す制御回路350へ与えられる各
制御信号は通常このシステムクロック信号CLKに同期
して処理装置から与えられる。実際には、システムクロ
ック信号CLKと制御信号/CEおよび/WEは同期し
てはいないが、両者はほぼ同期しているように図3には
示す。
【0129】まず比較期間compにおいては、チップ
イネーブル信号/CEが“0”のアクティブ状態となり
かつライトイネーブル信号/WEもアクティブ状態の
“0”となる。これにより読出/書込回路3が活性化さ
れ、データバス9上に与えられた外部データから内部書
込データが生成され、ビット線6aおよび6b上に伝達
される。この比較期間compにおいて、ライトイネー
ブル信号/WEに応答して、制御回路350から転送指
示信号が信号線15上に伝達される。これにより、トラ
ンジスタ23jがオン状態、トランジスタ27がオフ状
態となり、図1における第1行ないし第m−1行のCA
Mセル回路においては、隣接ワードのマスタメモリ部分
301の記憶ノード24aに記憶されているデータがそ
のスレーブメモリ部分302の記憶ノード28へ伝達さ
れる。トランジスタ27はオフ状態であるため、インバ
ータ回路26aおよび26bが増幅動作を行なっている
だけである。記憶ノード28の電位が確定すると、デー
タ転送指示信号が“0”に立下がり、トランジスタ23
jがオフ状態、トランジスタ27がオン状態となり、イ
ンバータ回路26bおよび26aがラッチ回路として機
能し、ノード28の記憶データが保持される。
【0130】一方、第m行のCAMセルにおいては、デ
ータ転送線25bはビット線6aに接続されており、読
出/書込回路3から伝達された入力データがノード28
に記憶される。
【0131】このデータ転送動作と並行して、マスタメ
モリ部分においては、記憶ノード24aおよび24bに
記憶されたデータとビット線6aおよび6bに伝達され
た入力データとの比較動作が行なわれ、その比較結果に
従って一致線11が駆動される。一致線11の論理値に
従って、図1に示す書換制御回路300の書換信号発生
回路5−1〜5−mにデータ“0”または“1”が記憶
される。一致線11の信号電位の確定およびゲート回路
4の出力の確定ならびに書換信号発生回路におけるデー
タの確定期間が過ぎると、比較期間compが終了す
る。次に、書換期間writeが始まる。図3において
は書換期間writeはクロック信号CLKの立下がり
に応答して始まるように示される。この書換期間wri
teの開始時に、書換信号発生回路5−1〜5−mから
書換指示信号が信号線12上に伝達される。ここで、図
3においてはこの書換指示信号(書換パルス)はクロッ
ク信号CLKの立下がりに応答して発生されるように示
される。この状態は制御回路350がクロック信号CL
Kに応答して書換信号発生回路5の動作を制御する状態
に対応する。信号線12上に書換パルスが発生される
と、信号線12の論理値が“1”となり、トランジスタ
23iがオン状態となる。記憶ノード28はインバータ
回路26bおよび26aにより駆動されている。インバ
ータ回路26bおよび26aの駆動力はトランジスタ2
3cおよび23dのラッチ能力よりも大きい。これによ
り、マスタメモリ部分301の記憶ノード24aの記憶
データはスレーブメモリ部分302の記憶ノード28の
記憶データに変更される。この動作は信号線12が論理
値“1”のCAMセル回路において実行される。
【0132】図1に示す第m行(アドレスの一番大きな
行)のCAMセル回路はデータ伝達線25bがビット線
6aに接続されており、ノード28にはこの入力データ
が記憶される。したがって、第m行のCAMセル回路に
は入力データが記憶される。
【0133】上述の動作を行なうことにより、書換期間
writeにおいては、ヒットしたアドレス以上のアド
レスのCAMセル回路においてデータ書換えが実行され
る。データ書換えが実行されることは、比較期間com
p以前に自身より1つ大きなアドレスのCAMセル回路
1が記憶していたデータが自身のCAMセル回路に転送
されて記憶することと等価である。一番大きなアドレス
すなわち図1における第m行のCAMセル回路1−m1
〜1−mmにおいては、比較期間compにおいてマス
タメモリ部分301が比較するために利用していたビッ
ト線6a上の入力データがこのマスタメモリ部分301
の記憶ノード21aへ転送される。このビット線6aの
データはヒットしたアドレスのデータと等しいデータで
ある。したがって、ヒットしたアドレスのデータを一番
大きなアドレスのCAMセル回路1−m1〜1−mnに
書込み、ヒットしたアドレスよりも大きなアドレスのデ
ータを1つ小さな隣接アドレスへ転送したことと同様の
動作になる。
【0134】書換指示信号が発生されない場合、信号線
12の論理値は“0”であり、トランジスタ23iはオ
フ状態を維持する。この場合、データの転送動作は実行
されず、マスタメモリ部分301の記憶ノード24aが
記憶するデータは変更されない。
【0135】期間compにおいてすべての一致線11
が論理値“0”であり、どのアドレスのデータもヒット
しなかった場合には、書換指示信号がすべてのCAMセ
ル回路1に対して発生される。したがって、この場合に
は、書換期間writeにおいてすべてのアドレスのC
AMセル回路1において書換動作が実行される。この書
換期間writeにおいてすべてのアドレスのCAMセ
ル回路1において書換動作が実行されるということは、
一番大きなアドレスに比較されているデータが書込ま
れ、一番小さなアドレスのデータがこの外部データと入
れ換わりにCAM回路から消滅したことと等価である。
一番小さなアドレス(図1における第1行)のCAMセ
ル回路に記憶されていたデータはそれまで一番アクセス
されなかったデータすなわち処理装置が一番古い期間に
おいて参照したデータである。すなわち、上述の場合に
は、いずれのアドレスにもヒットしない場合には、LR
Uアルゴリズムに従ってデータ置換が実行されたことに
なる。次のこの上述のデータ比較および書換え動作を具
体的に説明する。
【0136】図4は、6ワード(6アドレス)を有する
CAM回路の比較期間compにおけるデータの流れを
模式的に示す図である。図4において、CAM回路はア
ドレスA0〜A5を有する。アドレスA0〜A5の各々
には、マスタメモリ領域MAとスレーブメモリ領域SL
とが設けられる。マスタメモリ領域MAから一致線11
が延びる。すなわち、アドレスA0〜A5のマスタメモ
リ領域MAから一致線11−1〜11−6が延びる。
【0137】各アドレスに対応して書換制御手段が設け
られる。すなわち、アドレスA0〜A4に対しては、ゲ
ート回路140−1〜140−5および141−1〜1
41−5がそれぞれ設けられる。アドレスA5には、イ
ンバータからなるゲート回路41−6が設けられる。ゲ
ート回路41−6の入力へは接地電位22が伝達され
る。ゲート回路140−1〜140−5の各々は、隣接
行の一致線の信号および隣接行のゲート回路の出力を受
ける。アドレスA4のゲート回路40−5は、その一方
入力が接地電位22に結合される。ゲート回路141−
1〜141−6はそれぞれ書換指示信号を生成する。
【0138】図4において、データ比較期間compに
おいては、外部データDから内部入力データDINが生
成され、各アドレスA0〜A5へ伝達され比較動作が実
行される。この比較動作と並行して、アドレスA0〜A
5においてデータ転送動作が実行される。すなわちアド
レスA0〜A4のスレーブメモリ領域SLにはアドレス
A1〜A5のマスタメモリ領域MAに記憶されたデータ
DA1〜DA5がそれぞれ転送される。アドレスA5の
スレーブメモリ領域SLには入力データDINが格納さ
れる。今アドレスA3のマスメモリ領域MAに格納され
たデータワードDA3が入力データDINと一致した状
態を考える。この状態を図5に示す。
【0139】図5において、アドレスA3がヒットアド
レスの場合には、一致線11−4上の一致信号が論理値
“1”となり、残りの一致線11−1〜11−3および
11−5ならびに11−6の論理値は“0”となる。こ
の状態においてはゲート回路40−1〜40−3の出力
は“1”となり、一方、ゲート回路140−4および1
40−5の出力は“0”となる。
【0140】次いでゲート回路141−1〜141−6
から書換信号が発生される。ゲート回路41−1〜41
−6は実質的にインバータ回路である。したがって、ア
ドレスA3〜A5に対しては論理値“1”の書換指示信
号が発生され、一方アドレスA0〜A2に対しては論理
値“0”の書換信号が与えられる。これにより、アドレ
スA3〜A5において、それらのスレーブメモリ領域S
Lに格納されていたデータがマスタメモリ領域MAへ転
送される。入力データDINはデータワードDA3と同
一である。したがって、最も最近にアクセスされたデー
タDA3が最も大きなアドレスA5に格納されたことに
なる。ヒットアドレスA3およびこれより上流側のアド
レスA4においてはデータ書換が行なわれており、ヒッ
トアドレスよりも大きなアドレスのデータが1つ小さな
アドレスへ転送される。
【0141】一致線11−1〜11−6がすべて不一致
を示す場合には、一致線11−1〜11−6の論理値は
すべて“0”である。この場合には、アドレスA0〜A
5に対して書換指示信号(論理値“1”)が発生され、
アドレスA0〜A5それぞれにおいてスレーブメモリ領
域SLに格納されたデータのマスタメモリ領域MAへの
連想および書換えが実行される。すなわちこの状態はア
ドレスA0に格納されていた最も古くアクセスされたデ
ータDA0が削除され、最も新しいデータDINが一番
大きなアドレスA5に格納され、各アドレスA1ないし
A5にそれまで格納されていたデータが1つアドレスの
小さい方向へシフトされたことと等価である。これによ
りLRUアルゴリズムよるデータ置換が実現される。
【0142】上述の構成を用いることにより、これまで
ソフトウェアにより時間をかけて実行されていたLRU
アルゴリズムをハードウェア短時間で実行することがで
きる。上述の実施例1の構成の場合、ゲート回路4は隣
接行のゲート回路の出力を受けている。この場合、一番
大きなアドレスがヒットアドレス(記憶データと入力デ
ータとが一致したアドレス)の場合、ゲート回路4を介
して順次論理値“1”を一番小さなアドレスの1ビット
の書換信号発生回路5−1に伝えるまでにこのアドレス
の数のゲート回路4(図1においては4−1〜4−(m
−1))を通過する時間が必要とされ、信号伝搬遅延が
大きくなる懸念が生じる。この信号伝搬を小さくし、よ
り高速にLRUアルゴリズムを実行する構成について以
下に説明する。
【0143】実施例2 図6はこの発明の他の実施例であるCAM回路の要部の
構成を示す図である。図6においては6アドレスすなわ
ち6行のCAMセル回路が配置された場合が一例として
示される。図6において、CAMセルアレイ400に
は、6アドレスに対応するCAMセル回路が配置される
が、その詳細は示さない。アレイ400は、、図1に示
すCAMセルアレイと同様の構成を備える。CAMセル
アレイ400からは、6アドレスに従って6本の一致線
11−1〜11−6が取出される。一致線11−1〜1
1−6は2つのグループに分割される。第1のグループ
は一致線11−4〜11−6を含み、第2のグループは
一致線11−1〜11−3を含む。一致線11−6が最
も大きなアドレスに対応する。第1のグループの一致線
11−4〜11−6は第1のOR回路61に結合され、
第2のグループの一致線11−1〜11−3は第2のO
R回路62へ結合される。第1のOR回路61の出力は
また第2のOR回路62の入力へ結合される。
【0144】第1のOR回路61の出力はまた、第2の
グループの一致線のうち第1のグループの一致線に最も
近接する一致線に対応して設けられるゲート回路63の
入力へも与えられる。ゲート回路63は、したがって、
第1のOR回路61の出力、一致線11−4の一致信号
およびゲート回路4−4の出力を受ける。第2のOR回
路62から信号線7上に一致信号が出力される。次に動
作について説明する。
【0145】今、第1のグループの一致線11−4〜1
1−6のうちのいずれかが一致を示した場合を考える。
この場合、第2のグループの一致線に対応して設けられ
たゲート回路4−1および4−2へは論理値“1”の信
号がOR回路61およびゲート63と2段のORゲート
の伝搬遅延を介して伝達される。図1に示す構成におい
ては、最大、アドレスの数に対応するORゲートによる
信号伝搬遅延が生じる。たとえば図8において、一致線
11−6が一致を示す場合、OR回路61が設けられて
いない場合には、ゲート回路4−1へはゲート回路(O
Rゲート)4−5、4−4、63、4−2を介して論理
値“1”の信号が伝達される。一方、OR回路61が設
けられている場合には、ゲート回路4−1へは、OR回
路61、ゲート回路63、ゲート回路4−2を介して論
理値“1”の信号が伝達される。この一致線の本数が数
多くなれば、第1のグループの一致線に対応するゲート
回路の信号伝搬遅延時間を排除することができ、高速で
最小アドレスのゲート回路へ論理値“1”の信号を伝達
することができ、データ書換動作を高速に行なうことが
できる。
【0146】図6に示す構成においては、一致線11−
1〜11−6は2つのグループに分割されている。一致
線の数がより多くなれば、この一致線のグループ分けを
さらに数多くすることもできる。たとえば一致線を4つ
のグループに分割した場合、その場合の最大信号伝搬遅
延は、CAM回路のアドレスの約1/4に減少する。
【0147】実施例3 図1および図2に示すCAM回路およびCAMセル回路
は、アドレスデコーダ回路によりワード線を選択するこ
とができ、信号ADDに従ってランダムなシーケンスで
アクセスすることができる。これにより、最も古くアク
セスされたデータの書換えおよび読出しを従来は行なっ
ていた。CAM回路をキャッシュメモリ回路またはTL
B回路に利用する場合には、CAM回路をランダムなシ
ーケンスでアクセスすることは特に必要とされない。C
AM回路内のデータを書換えてしまえば特に読出す必要
がないからである。また、書換えられるべきタグアドレ
スなどの記憶内容そのものを知りたい場合には、常に最
小アドレス位置に格納されているため、この最小アドレ
ス位置のデータを読出す構成を設ければよいからであ
る。
【0148】また、このCAM回路に書込むデータは特
定のアドレスに書込む必要はない。外部から与えられる
データとCAM回路に記憶されたデータの一致/不一致
が判別されるだけであり、書込位置はCAM回路内のい
ずれかのアドレスでよいからである。LRUアルゴリズ
ムに従った記憶データの管理は、内部で自動的に実行さ
れる。
【0149】図7はこの発明のさらに他の実施例である
CAM回路の全体の構成を概略的に示す図である。この
図7に示すCAM回路は、CAMセルアレイ内において
ワード線が排除される。また、ワード線を選択するため
のアドレスデコーダ回路も設けられない。図7におい
て、CAMセル回路1がm行n列のマトリクスに配置さ
れる。CAMセル回路1−k1〜1−kn各々に対して
1本の一致線11−kおよび書込データ信号伝達線12
−kが設けられる。1列のCAMセル回路1−p1〜1
−pmに対してビット線6aおよび6bが設けられ、1
つのCAMセル回路に対しさらにデータ伝達線25が設
けられる。
【0150】CAMセル回路1−11〜1−mnに対し
て転送指示信号が信号線15を介して与えられる。入力
データはバス6を介してビット線6aへ与えられ、また
インバータ回路26を介して相補ビット線6bへ伝達さ
れる。このデータバス6は1ワードと同一のビット幅を
備える。最大アドレス(データバスに最も近い行)のワ
ードのデータ伝達線25はビット線6aに接続される。
書換制御回路300およびOR回路10は図1に示す構
成と同様である。この図7に示すCAM回路は、内部デ
ータのランダムなシーケンスでの読出を行なうことがな
いため、読出/書込回路が設けられない。被比較データ
はデータバス6へ与えられる。図8は図7に示すCAM
セル回路1のより詳細な構成を示す図である。
【0151】図8において、CAMセル回路1は、マス
タメモリ部分303とスレーブメモリ部分302を含
む。スレーブメモリ部分302は図2に示すCAMセル
回路のスレーブメモリ部分302と同一の構成を備え、
対応する部分には同一の参照番号を付す。
【0152】マスタメモリ部分303は、図2に示すC
AMセル回路のマスタメモリ部分301とワード線13
およびアクセストランジスタ23aおよび23bが設け
られていないことを除いて同一の構成を備える。この図
8に示すCAMセル回路においては、マスタメモリ部分
303へのデータの書込は、ビット線6aおよび6bと
アクセストランジスタ23aおよび23bを介しては行
なわれない。すべてデータ伝達線25(25a、25
b)およびスレーブメモリ部分302を介して実行され
る。
【0153】スレーブメモリ部分302のデータ伝達線
25bは隣接ワードのCAMセル回路のマスタメモリ部
分303の記憶ノード24aへ接続されるかまたはビッ
ト線6aに接続される。このデータ伝達線25bがビッ
ト線6aに接続されるのは最大アドレスのワードに含ま
れるCAMセル回路においてのみである。次の動作につ
いて簡単に説明する。
【0154】データバス6に入力データが与えられる
と、ビット線6aおよび6bにこの入力データ対応した
信号が伝達される。転送指示信号を信号線15へ与える
ことにより、まずアドレスの一番大きなCAMセル回路
1−m1〜1−mnにおいてそのスレーブメモリ領域3
02に入力データが格納される。次に比較および書換動
作を実行する。最初の入力データが一番大きなアドレス
のスレーブメモリ部分302に格納された場合、比較動
作を行なってもマスタメモリ領域に格納されているデー
タワードとスレーブメモリ部分に格納されている入力デ
ータとは一致しない。したがって書換指示信号が発生さ
れ、この最大アドレスにおいてスレーブメモリ部分30
2に格納されていたデータがマスタメモリ部分303に
転送され格納される。以後異なる入力データをバス6へ
与えてこの比較および書換動作を実行すれば、順次大き
なアドレスから順にデータが書込まれる。したがって、
この図7および図8に示すCAM回路の構成において
は、最大アドレスワードから順次データが書込まれる。
【0155】最も古くアクセスされたデータは最小アド
レス位置に格納されている。この最も古くアクセスされ
たデータの内容を読出したい場合には、最小アドレスの
データ伝達線25aにデータ出力用のデータレジスタを
設ければよい。
【0156】またこの図7に示すCAM回路において、
記憶内容を初期設定、すなわち、すべてのCAMセル回
路に初期データを格納する場合には、図示しない制御回
路(これは転送指示信号を信号線15上へも発生する)
により書換信号発生手段5を制御して強制的に書換信号
を発生するように構成してもよい。この強制的に書換指
示信号を発生する構成としては、比較/書換動作時に必
要とされる書換信号発生手段としてのインバータラッチ
を無効化し、強制的に論理値“1”の信号を出力する構
成を設ければよい。
【0157】図7および図8に示すCAM回路およびC
AMセル回路の構成の場合、アドレスデコーダ回路およ
び読出書込回路が不必要となる。CAM回路をほとんど
同一の構成を備えるCAMセル回路を繰り返し配置する
ことにより構成することができる。この同じ回路の繰り
返しは、CAM回路のレイアウトを容易とし、かつチッ
プ利用効率を高めかつ回路のレイアウトが容易となる。
【0158】実施例1に示すCAM回路はランダムアク
セスが可能なメモリ回路を基本とし、一方、実施例3に
示すCAM回路は新しいデータを記憶した場合には一番
古いデータが削除されるいわゆるシフトレジスタ回路を
基本とする。
【0159】なおこの実施例3に示すCAM回路におい
て図6に示す構成が適用されてもよい。
【0160】なお、上述の実施例すべておいて、一番大
きなアドレスが読出/書込回路またはデータバスに最も
近いCAMセル回路に割当てている。これは逆に、最も
小さなアドレスがこの入力データ伝達部に最も近いCA
Mセル回路に割当てられてもよい。
【0161】また上記実施例においては、入力データと
記憶データとが一致した場合に一致線の電位は“H”に
保持されている。これは一致した場合に“L”となるよ
うに構成されてもよい。その場合、書換制御回路300
をNAND型に構成すればよい。またそのとき一致検出
信号を生成するOR回路10などがNAND型に構成さ
れる。
【0162】このCAM回路は処理装置と同一のチップ
に集積化されてもよく、別々のチップに設けられてもよ
い。
【0163】
【発明の効果】以上のように、この発明によればTLB
回路またはキャッシュメモリ回路に必要とされるLRU
アルゴリズムをハードウェアで実現しているため、LR
Uアルゴリズムによるデータ置換処理を高速で実行する
ことができる。
【0164】また隣接ワード(隣接アドレス)のデータ
が伝達されるため、CAM回路のメモリセルのテスト時
においては、ワード線選択を行なわず、単にデータのシ
フト動作のみを行なってテストデータの書込を行なうこ
とができ、テストに要する時間を大幅に短縮することが
できる。
【0165】さらに新たに追加される回路はスレーブメ
モリ部分のみであり、従来のCAM回路に用いられる回
路(CAMセル回路のマスタメモリ部分)を利用するこ
とができるため、非常に設計効率がよい。さらにCAM
回路を同一構成のCAMセル回路の単位回路の繰り返し
で構成することができるため、LSI(大規模集積回
路)で実現する場合には設計が容易となりかつこのCA
M回路を安価にすることができる。
【0166】すなわち、請求項1に係る発明によれば、
連想メモリセルを、主記憶部(マスタメモリ部分)と副
記憶部(スレーブメモリ部分)で構成し、この副記憶部
へ隣接ワードデータを転送し、一致/不一致に従って副
記憶手段から主記憶部分へデータを転送するように構成
したため、記憶されたデータの格納位置を書換指示信号
によりシフトさせることが可能となり、LRUアルゴリ
ズムをコンパクトな構成で実現する連想メモリセルが得
られる。
【0167】請求項2に係る連想メモリセルにおいて
は、主記憶手段に入力データが格納されるため、連想メ
モリセルの記憶内容の書換えを容易かつ高速に行なうこ
とができかつさらにLRUアルゴリズムをコンパクトな
構成で効率的に実現することのできる連想メモリセルを
得ることができる。
【0168】請求項3に係る連想メモリ回路において
は、入力データと記憶データとの一致/不一致に従って
記憶データワードのシフトが行なわれかつ特定のアドレ
ス位置に常に入力データが記憶されるため、簡易な回路
構成で効率的にLRUアルゴリズムに従った記憶内容の
管理を実現する連想メモリ回路が得られる。
【0169】請求項4に係る連想メモリ回路によれば、
不一致時にはすべての連想メモリセルの記憶データが隣
接ワードまたは入力データにより書換えられるため、記
憶内容の書換えがLRUアルゴリズムに従って容易かつ
高速に実現される。
【0170】請求項5に係る連想メモリ回路によれば、
入力データが常に最も新しくアクセスされた記憶内容を
保持する記憶位置(アドレス)に格納されかつゲート手
段によりデータワードのシフト位置が容易に決定される
ため、データのシフト位置を高速で判別することができ
正確に記憶データのシフトを行なうことができ、LRU
アルゴリズムを用いた記憶内容の管理およびデータ置換
を容易かつ高速に実現することができる。
【0171】請求項6に係る連想メモリ回路に従えば、
一致/不一致判別回路を第1および第2と2つ設け、第
1の判別回路の出力を書換判別制御信号として利用して
いるため、この書換有無判別時におけるゲート遅延を大
幅に削除することができ、高速でデータ書換指示信号を
発生することが可能となる。
【0172】請求項7に係る連想メモリセルでは、ワー
ド線が設けられておらず、シフト動作のみに従って隣接
ワードのデータの格納が行なわれるため、簡易な構成で
LRUアルゴリズムを実現することのできる連想メモリ
セルが得られる。
【0173】請求項8に係る連想メモリセルでは、ワー
ド線が設けられておらず、ビット線上のデータを書換指
示信号により格納するため、記憶データを入力データで
容易かつ高速に書換えることが可能となり、コンパクト
な構成でLRUアルゴリズムを実現する連想メモリセル
が得られる。
【0174】請求項9に係る連想メモリ回路は、ワード
線が設けられていないため、ワード線選択用のデコーダ
回路が不要となり、シフト動作のみにより記憶データの
書換えが実行されるためLRUアルゴリズムを高速で実
現することのできるコンパクトな構成の連想メモリ回路
が得られる。
【0175】請求項10に係る連想メモリ回路は、ワー
ド線が設けられておらず、入力データと記憶データとが
不一致の場合にはすべての記憶内容がシフト動作により
変更されているため、FIFO型メモリ回路と同様の動
作を実現することができ、LRUアルゴリズムを高速か
つ簡易な回路構成かつコンパクトな回路構成で実現する
ことのできる連想メモリ回路を得ることができる。
【0176】請求項11の連想メモリ回路に従えば、ワ
ード線が設けられておらず、かつ記憶内容がシフト動作
により書換えられかつそのシフト位置がゲート手段によ
り高速で判別されるため、容易かつ高速でLRUアルゴ
リズムを実行することのできる連想メモリ回路を得るこ
とができる。
【0177】請求項12に係る連想メモリ回路に従えば
一致線をグループ化し、各グループに対して一致/不一
致判別回路を設けこの一致/不一致判別回路の出力を下
流側のグループの一致線に対する書換制御部へ制御信号
として与えるため、一致判別結果を示す信号伝搬におけ
るゲート遅延を大幅に低減することができ、高速でデー
タ書換指示信号を発生することができ、より高速なLR
Uアルゴリズムを実行する連想メモリ回路を得ることが
できる。
【図面の簡単な説明】
【図1】この発明の一実施例である連想メモリ回路の全
体の構成を示すブロック図である。
【図2】図1に示す連想メモリ回路に用いられるCAM
セル回路の構成を具体的に示す図である。
【図3】図1および図2に示す回路の動作を示す信号波
形図である。
【図4】この発明の一実施例である連想メモリ回路にお
けるデータ書換動作モード時における比較動作フェーズ
のデータシフト動作を例示する図である。
【図5】この発明における連想メモリ回路におけるデー
タ書換フェーズにおけるデータの移動を例示する図であ
る。
【図6】この発明の他の実施例である連想メモリ回路の
要部の構成を示す図である。
【図7】この発明のさらに他の実施例である連想メモリ
回路の全体の構成を示すブロック図である。
【図8】図7に示すCAMセル回路の構成を具体的に示
す図である。
【図9】一般的なキャッシュメモリを利用するシステム
の構成を示す図である。
【図10】一般的なCAM回路の動作を図解する図であ
る。
【図11】キャッシュメモリにおけるキャッシュミス時
におけるデータ転送動作を図解する図である。
【図12】従来の連想メモリ回路の全体の構成を示す図
である。
【図13】従来のCAMセルの構成を具体的に示す図で
ある。
【図14】TLB回路を用いたアドレス変換の構成を概
略的に示す図である。
【図15】TLB回路の動作を説明するための図であ
る。
【図16】TLB回路の構成を概略的に示す図である。
【図17】LRUアルゴリズムによる処理フローを示す
図である。
【符号の説明】
1−11〜1−mn CAMセル回路 2 アドレスデコーダ回路 3 読出/書込回路 4−1〜4−3 ゲート回路 5−1〜5−m 書込指示信号発生回路 6a,6b ビット線 10 OR回路 11 一致線 12 書換指示信号伝達信号線 13 ワード線 15 データ転送指示信号伝達信号線 25,25a,25b データ伝達線 61 第1のOR回路 62 第2のOR回路 300 書換制御回路 301 マスタメモリ部分 302 スレーブメモリ部分 303 マスタメモリ部分 350 制御回路

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 ビット線とワード線との交差部に対応し
    て設けられ、与えられたデータと記憶データとを比較
    し、該比較結果に従って一致線を駆動する連想メモリセ
    ルであって、 前記ワード線上の信号に応答して、前記ビット線上のデ
    ータを記憶するための主記憶手段、 前記ビット線上のデータと前記主記憶手段が記憶するデ
    ータとを比較し、両データの一致/不一致に従って前記
    一致線を所定電位に駆動するための比較手段、 副記憶手段、 転送指示信号に応答して、前記ビット線に沿って隣接す
    るメモリセルの主記憶手段に記憶されたデータを前記副
    記憶手段へ転送して記憶させるためのデータ転送手段、
    および書換指示信号に応答して、前記副記憶手段が記憶
    するデータを自身の主記憶手段へ転送してそこに記憶さ
    せるデータ書換手段を備える、連想メモリセル。
  2. 【請求項2】 ビット線とワード線との交差部に対応し
    て設けられ、与えられたデータと記憶データとを比較
    し、該比較結果に従って一致線を駆動する連想メモリセ
    ルであって、 前記ワード線上の信号に応答して、前記ビット線上のデ
    ータを記憶する主記憶手段、 前記ビット線上に与えられたデータと前記主記憶手段が
    記憶するデータとを比較し、該比較結果に従って前記一
    致線を所定の電位へ駆動する比較手段、 副記憶手段、 転送指示信号に応答して、前記ビット線上に与えられた
    データを前記副記憶手段へ転送する転送手段、およびデ
    ータ書換指示信号に応答して、前記副記憶手段が記憶す
    るデータを前記主記憶手段へ転送してそこに記憶させる
    データ書換手段を含む、連想メモリセル。
  3. 【請求項3】 与えられたデータと記憶データとの一致
    判別を行なう連想メモリ回路であって、 複数のワード線、 前記ワード線と交差する方向に配置される複数のビット
    線、 前記ビット線と交差する方向に配置される複数の一致
    線、および前記ワード線および前記一致線と前記ビット
    線との交差部に対応して設けられる複数のメモリセルを
    備え、 前記メモリセルの各々は、対応のワード線上の信号に応
    答して対応のビット線上のデータを記憶する主記憶手段
    と、ビット線が延びる方向において隣接するメモリセル
    の主記憶手段の記憶データまたは前記対応のビット線上
    のデータが伝達されるデータ伝達線と、副記憶手段と、
    データ転送指示信号に応答して前記データ伝達線上のデ
    ータを前記副記憶手段へ伝達して格納する手段と、書換
    指示信号に応答して前記副記憶手段の記憶データを自身
    の主記憶手段へ転送する書換手段と、前記対応のビット
    線上に与えられるデータと前記自身の主記憶手段が記憶
    するデータとを比較し、該比較結果に従って対応の一致
    線を駆動する比較手段とを含み、前記データ伝達線と前
    記ビット線との結合は、前記複数のワード線のうちの特
    定の1つのワード線に結合されるメモリセルに対して行
    なわれ、 前記複数の一致線上の信号に応答して、各ワード線に接
    続されるメモリセルごとに前記書換指示信号を生成する
    書換制御手段を含み、前記書換制御手段は、前記複数の
    一致線のいずれかの信号が一致を示すとき、該一致を示
    す一致線と前記データ伝達線が前記対応のビット線に結
    合されるメモリセルに対応する一致線とを含む前記ビッ
    ト線が延びる方向において連続的に隣接する一致線の第
    1のグループと、前記第1のグループに含まれる一致線
    以外の前記ビット線が延びる方向に沿って連続的に隣接
    する一致線の第2のグループとに前記複数の一致線をグ
    ループ化する分割手段と、前記分割手段の出力に応答し
    て前記第1のグループの一致線に対応して設けられるメ
    モリセルに対して前記書換指示信号を伝達する書換信号
    生成手段を含む、連想メモリ回路。
  4. 【請求項4】 前記書換制御手段は、前記複数の一致線
    の信号のすべてが不一致を示すとき、前記複数のメモリ
    セルのすべてへ前記書換指示信号を与える手段を含む、
    請求項3記載の連想メモリ回路。
  5. 【請求項5】 各々が行を規定する複数のワード線、各
    々が列を規定する複数のビット線、 前記複数のワード線各々に対応して設けられる複数の一
    致線、および前記ワード線および一致線と前記ビット線
    との交差部に対応して設けられる複数のメモリセルを備
    え、前記複数のメモリセルの各々は、対応のワード線上
    の信号に応答して対応のビット線上のデータを記憶する
    主記憶手段と、前記列の方向において隣接するメモリセ
    ルの主記憶手段の記憶データまたは前記対応のビット線
    上のデータが伝達されるデータ伝達線と、副記憶手段
    と、データ転送指示信号に応答して前記データ伝達線上
    のデータを前記副記憶手段へ伝達する手段と、書換指示
    信号に応答して、前記副記憶手段の記憶するデータを自
    身の主記憶手段へ転送する書換手段と、前記対応のビッ
    ト線上に与えられたデータと前記自身の主記憶手段の記
    憶するデータとを比較し、該比較結果に従って対応の一
    致線を駆動する比較手段とを含み、前記データ伝達線と
    前記対応のビット線との結合は、前記複数の行のうちの
    特定の1行のメモリセルに対して行なわれ、 前記データ伝達線と前記ビット線とが結合されたメモリ
    セルの行を除く行各々に設けられる複数のゲート手段を
    備え、前記ゲート手段の各々は前記列の方向において隣
    接する行に対応する一致線上の信号と前記隣接する行に
    対応するゲート手段の出力信号とを受け、少なくとも一
    方の信号が一致状態を示すとき一致指示信号を発生し、 前記ゲート手段各々に対応して設けられ、対応のゲート
    手段の出力が前記一致指示信号と異なるとき前記書換指
    示信号を対応の行の各メモリセルへ伝達する手段と、 前記データ伝達線と前記ビット線とが結合された行に対
    して設けられ、固定電位発生手段を含み、前記固定電位
    発生手段の出力に応答して書換指示信号を該行のメモリ
    セル各々に対して発生する手段とを含み、前記固定電位
    発生手段の出力は前記列の方向において隣接する行に対
    応して設けられるゲート手段へも与えられる、連想メモ
    リ回路。
  6. 【請求項6】 前記データ伝達線とビット線とが結合さ
    れた行に対応する一致線を含み前記列の方向において連
    続して隣接する一致線の第1のグループに対して設けら
    れ、該第1のグループの一致線の信号に応答して、入力
    データと記憶データとの一致/不一致を判別する第1の
    判別手段と、 前記第1のグループに含まれる一致線を除く残りの一致
    線の第2のグループの一致線上の信号と前記第1の判別
    手段の出力信号とに応答して入力データと記憶データと
    の一致/不一致の判別を行なう第2の判別手段をさらに
    備え、 前記第1の判別手段の出力は、また、前記第2のグルー
    プのうち前記列の方向において前記第1のグループに最
    も近接する行に対応して設けられるゲート手段の入力へ
    与えられる、請求項5記載の連想メモリ回路。
  7. 【請求項7】 ビット線と一致線との交差部に対応して
    設けられ、与えられたデータと記憶データとを比較し、
    該比較結果に従って前記一致線を駆動するメモリセルで
    あって、 データを記憶するための主記憶手段と、 前記ビット線上のデータと前記主記憶手段が記憶するデ
    ータとを比較し、両データの一致/不一致に従って前記
    一致線を駆動する比較手段と、 副記憶手段と、 転送指示信号に応答して、前記ビット線に沿って隣接す
    るメモリセルの主記憶手段に記憶されたデータを前記副
    記憶手段へ転送してそこに記憶させるデータ転送手段
    と、 書換指示信号に応答して、前記副記憶手段の記憶するデ
    ータを自身の主記憶手段へ転送してそこに記憶させるデ
    ータ書換手段とを備える、連想メモリセル。
  8. 【請求項8】 ビット線と一致線との交差部に対応して
    設けられ、与えられたデータと記憶データとを比較し、
    該比較結果に従って前記一致線を駆動するメモリセルで
    あって、 データを記憶するための主記憶手段と、 前記ビット線上に与えられたデータと前記主記憶手段が
    記憶するデータとを比較し、該比較結果に従って前記一
    致線を駆動する比較手段と、 副記憶手段と、 転送指示信号に応答して、前記ビット線上に与えられた
    データを前記副記憶手段へ転送する転送手段と、 書換指示信号に応答して、前記副記憶手段が記憶するデ
    ータを前記主記憶手段へ転送してそこに記憶させるデー
    タ書換手段とを含む、連想メモリセル。
  9. 【請求項9】 各々が列を規定する複数のビット線と、 前記ビット線と交差する方向に配置される複数の一致線
    と、 前記一致線と前記ビット線との交差部に対応して設けら
    れる複数のメモリセルとを備え、 前記メモリセルの各々は、 データを記憶するための主記憶手段と、前記ビット線の
    延在する方向において隣接するメモリセルの主記憶手段
    の記憶データまたは対応のビット線上のデータが伝達さ
    れるデータ伝達線と、副記憶手段と、データ転送指示信
    号に応答して前記データ伝達線上のデータを前記副記憶
    手段へ伝達する手段と、書換指示信号に応答して前記副
    記憶手段が記憶するデータを前記主記憶手段へ伝達する
    書換手段と、前記対応のビット線上のデータと自身の主
    記憶手段が記憶するデータとを比較し、該比較結果に従
    って対応の一致線を駆動する比較手段とを含み、前記デ
    ータ伝達線と前記ビット線との結合は、前記複数の一致
    線のうちの特定の1本の一致線に対応して設けられるメ
    モリセルに対して行なわれ、 前記複数の一致線からの信号に応答して、前記書換指示
    信号を各一致線に対応するメモリセルを単位として各一
    致線ごとに生成する書換制御手段を備え、 前記書換制御手段は、前記複数の一致線のいずれかが一
    致を示すとき該一致を示す一致線と前記データ伝達線が
    前記ビット線に接続されるメモリセルに対応する一致線
    とを含む前記ビット線の延在する方向において連続的に
    隣接する一致線の第1のグループと、前記第1のグルー
    プの一致線以外の一致線の第2のグループとに前記複数
    の一致線をグループ化する分割手段と、前記分割手段の
    出力に応答して、前記第1のグループの一致線に対応し
    て設けられるメモリセルに対して前記書換指示信号を与
    える書換信号生成手段とを含む、連想メモリ回路。
  10. 【請求項10】 前記書換制御手段は、さらに、前記複
    数の一致線のすべてが不一致を示すとき、すべてのメモ
    リセルへ前記書換指示信号を与える手段を含む、請求項
    9記載の連想メモリ回路。
  11. 【請求項11】 各々が列を規定する複数のビット線
    と、 前記ビット線と交差する方向に配置される各々が行を規
    定する複数の一致線と、 前記一致線と前記ビット線との交差部に対応して設けら
    れる複数のメモリセルとを備え、 前記複数のメモリセルの各々は、データを記憶するため
    の主記憶手段と、前記ビット線が延在する方向において
    隣接するメモリセルの主記憶手段の記憶データまたは対
    応のビット線上のデータが伝達されるデータ伝達線と、
    副記憶手段と、データ転送指示信号に応答して、前記デ
    ータ伝達線上のデータを前記副記憶手段へ伝達する手段
    と、書換指示信号に応答して前記副記憶手段が記憶する
    データを自身の主記憶手段へ転送する書換手段と、前記
    対応のビット線上のデータと前記自身の主記憶手段が記
    憶するデータとを比較し、該比較結果に従って対応の一
    致線を駆動する比較手段を含み、前記データ伝達線とビ
    ット線との結合は、前記複数の一致線のうちの特定の1
    つの一致線に対応して設けられるメモリセルに対して行
    なわれ、 前記データ伝達線とビット線とが結合されたメモリセル
    が規定する行を除く行それぞれに対応して設けられる複
    数のゲート手段を備え、 前記ゲート手段の各々は、前記ビット線が延在する方向
    に沿って隣接する行の一致線上の信号と前記隣接する行
    に対応して設けられるゲート手段の出力信号とを受け、
    少なくとも一方の信号が一致状態を示すとき一致指示信
    号を発生し、 前記ゲート手段各々に対応して設けられ、対応のゲート
    手段の出力が前記一致指示信号と異なるとき、前記書換
    指示信号を対応の行の各メモリセルへ伝達する手段と、 前記データ伝達線と前記ビット線とが結合されたメモリ
    セルの行に対して設けられ、固定電位発生手段を含み、
    前記固定電位発生手段の出力に応答して書換指示信号を
    発生して該対応の行のメモリセルへ与える手段とを含
    み、前記固定電位発生手段の出力は前記ビット線が延在
    する方向において隣接する行に対応して設けられるゲー
    ト手段へも与えられる、連想メモリ回路。
  12. 【請求項12】 前記複数の一致線のうち、前記データ
    伝達線とビット線とが結合されたメモリセルの行に対応
    する一致線を含みかつ前記ビット線に沿って連続して隣
    接する一致線の第1のグループに対して設けられ、前記
    第1のグループの一致線上の信号を受け、与えられたデ
    ータと記憶データの一致の有無を判別する第1の判別手
    段と、 前記第1のグループの一致線以外の残りの一致線を含む
    第2のグループに対して設けられ、前記第2のグループ
    の一致線の各出力と前記第1の判別手段の出力とに応答
    して、与えられたデータと記憶データとの一致/不一致
    の判別を行なう第2の判別手段とをさらに備え、 前記第1の判別手段の出力は前記第2のグループの前記
    ビット線の延びる方向において前記第1のグループに最
    も近接する一致線に対して設けられるゲート手段の入力
    へ与えられる、請求項11記載の連想メモリ回路。
JP4116131A 1992-05-08 1992-05-08 連想メモリセルおよび連想メモリ回路 Expired - Lifetime JP2775549B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4116131A JP2775549B2 (ja) 1992-05-08 1992-05-08 連想メモリセルおよび連想メモリ回路
US07/980,865 US5339268A (en) 1992-05-08 1992-11-24 Content addressable memory cell and content addressable memory circuit for implementing a least recently used algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4116131A JP2775549B2 (ja) 1992-05-08 1992-05-08 連想メモリセルおよび連想メモリ回路

Publications (2)

Publication Number Publication Date
JPH05314779A JPH05314779A (ja) 1993-11-26
JP2775549B2 true JP2775549B2 (ja) 1998-07-16

Family

ID=14679488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4116131A Expired - Lifetime JP2775549B2 (ja) 1992-05-08 1992-05-08 連想メモリセルおよび連想メモリ回路

Country Status (2)

Country Link
US (1) US5339268A (ja)
JP (1) JP2775549B2 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2282248B (en) * 1993-09-27 1997-10-15 Advanced Risc Mach Ltd Data memory
US5452243A (en) * 1994-07-27 1995-09-19 Cypress Semiconductor Corporation Fully static CAM cells with low write power and methods of matching and writing to the same
US5680518A (en) * 1994-08-26 1997-10-21 Hangartner; Ricky D. Probabilistic computing methods and apparatus
JP3699518B2 (ja) * 1995-01-26 2005-09-28 サン マイクロシステムズ インコーポレイテッド パイプライン・プロセッサ内において、誤って予測された実行分岐後にアネックス内のヤング・ビットを回復する方法及び装置
US5649155A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation Cache memory accessed by continuation requests
US6140040A (en) * 1995-10-06 2000-10-31 Advanced Minerals Corporation Method of mechanically separating microparticles suspended in fluids using particulate media
US5983313A (en) * 1996-04-10 1999-11-09 Ramtron International Corporation EDRAM having a dynamically-sized cache memory and associated method
JPH09288614A (ja) * 1996-04-22 1997-11-04 Mitsubishi Electric Corp 半導体集積回路装置、半導体記憶装置およびそのための制御回路
US6161164A (en) * 1996-09-16 2000-12-12 International Business Machines Corp. Content addressable memory accessed by the sum of two operands
JPH10144071A (ja) * 1996-11-01 1998-05-29 Oki Electric Ind Co Ltd 半導体記憶装置
JP3702923B2 (ja) * 1997-02-28 2005-10-05 ソニー株式会社 情報処理方法および情報処理装置
US6199140B1 (en) 1997-10-30 2001-03-06 Netlogic Microsystems, Inc. Multiport content addressable memory device and timing signals
EP0936625A3 (en) * 1998-02-17 2003-09-03 Texas Instruments Incorporated Content addressable memory (CAM)
US6240485B1 (en) * 1998-05-11 2001-05-29 Netlogic Microsystems, Inc. Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system
US6219748B1 (en) 1998-05-11 2001-04-17 Netlogic Microsystems, Inc. Method and apparatus for implementing a learn instruction in a content addressable memory device
US6144573A (en) * 1998-06-26 2000-11-07 Altera Corporation Programmable logic devices with improved content addressable memory capabilities
US6381673B1 (en) * 1998-07-06 2002-04-30 Netlogic Microsystems, Inc. Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
US6892272B1 (en) 1999-02-23 2005-05-10 Netlogic Microsystems, Inc. Method and apparatus for determining a longest prefix match in a content addressable memory device
JP2000339968A (ja) * 1999-05-27 2000-12-08 Mitsubishi Electric Corp データ転送回路
CN100405784C (zh) 1999-06-30 2008-07-23 倾向探测公司 用于监控网络流量的方法和设备
US6771646B1 (en) 1999-06-30 2004-08-03 Hi/Fn, Inc. Associative cache structure for lookups and updates of flow records in a network monitor
US6789116B1 (en) 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6606686B1 (en) * 1999-07-15 2003-08-12 Texas Instruments Incorporated Unified memory system architecture including cache and directly addressable static random access memory
US6191969B1 (en) 1999-09-09 2001-02-20 Net Logic Microsystems, Inc. Selective match line discharging in a partitioned content addressable memory array
US6934795B2 (en) 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US7143231B1 (en) 1999-09-23 2006-11-28 Netlogic Microsystems, Inc. Method and apparatus for performing packet classification for policy-based packet routing
US7272027B2 (en) * 1999-09-23 2007-09-18 Netlogic Microsystems, Inc. Priority circuit for content addressable memory
US6567340B1 (en) * 1999-09-23 2003-05-20 Netlogic Microsystems, Inc. Memory storage cell based array of counters
US6944709B2 (en) 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
DE19956829A1 (de) * 1999-11-25 2001-06-07 Siemens Ag Speichereinrichtung für Prozessorsysteme
US6259620B1 (en) 2000-03-08 2001-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Multiple entry matching in a content addressable memory
US6587920B2 (en) 2000-11-30 2003-07-01 Mosaid Technologies Incorporated Method and apparatus for reducing latency in a memory system
US6892279B2 (en) 2000-11-30 2005-05-10 Mosaid Technologies Incorporated Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency
JP4749600B2 (ja) * 2001-05-30 2011-08-17 富士通セミコンダクター株式会社 エントリデータの入れ替えを高速化したコンテンツ・アドレッサブル・メモリ
JP4595270B2 (ja) * 2001-09-14 2010-12-08 ソニー株式会社 記憶装置およびそれを用いた画像処理装置
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
JP2004152406A (ja) * 2002-10-30 2004-05-27 Fujitsu Ltd 連想メモリ
US7111110B1 (en) 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
WO2005048267A1 (ja) * 2003-11-12 2005-05-26 Matsushita Electric Industrial Co., Ltd. Cam回路及びその出力方法
US7324362B1 (en) 2005-03-01 2008-01-29 Netlogic Microsystems Inc. Content addressable memory cell configurable between multiple modes and method therefor
US7298635B1 (en) 2005-03-15 2007-11-20 Netlogic Microsystems, Inc. Content addressable memory (CAM) cell with single ended write multiplexing
US7450409B1 (en) 2005-03-21 2008-11-11 Netlogic Microsystems, Inc. Content addressable memory (CAM) cell having column-wise conditional data pre-write
US7417882B1 (en) 2005-09-21 2008-08-26 Netlogics Microsystems, Inc. Content addressable memory device
JP4940824B2 (ja) * 2006-08-18 2012-05-30 富士通セミコンダクター株式会社 不揮発性半導体メモリ
US9559987B1 (en) * 2008-09-26 2017-01-31 Tellabs Operations, Inc Method and apparatus for improving CAM learn throughput using a cache
US8689027B2 (en) * 2008-11-13 2014-04-01 International Business Machines Corporation Tiled memory power management
US8543768B2 (en) 2008-11-13 2013-09-24 International Business Machines Corporation Memory system including a spiral cache
US8271728B2 (en) * 2008-11-13 2012-09-18 International Business Machines Corporation Spiral cache power management, adaptive sizing and interface operations
US8527726B2 (en) 2008-11-13 2013-09-03 International Business Machines Corporation Tiled storage array with systolic move-to-front reorganization
US8521952B2 (en) * 2009-03-31 2013-08-27 Micron Technology, Inc. Hierarchical memory architecture with a phase-change memory (PCM) content addressable memory (CAM)
JP6586759B2 (ja) * 2015-04-01 2019-10-09 富士通株式会社 設計装置、プログラム、及びfpga設計方法
US9859006B1 (en) * 2016-06-17 2018-01-02 Globalfoundries Inc. Algorithmic N search/M write ternary content addressable memory (TCAM)
KR102379729B1 (ko) * 2017-10-27 2022-03-29 삼성전자주식회사 우선 순위에 따라 매칭 라인들을 구동하는 메모리 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4532606A (en) * 1983-07-14 1985-07-30 Burroughs Corporation Content addressable memory cell with shift capability
US5184320A (en) * 1988-02-12 1993-02-02 Texas Instruments Incorporated Cached random access memory device and system
JPH02187993A (ja) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp 連想メモリ装置
US5226005A (en) * 1990-11-19 1993-07-06 Unisys Corporation Dual ported content addressable memory cell and array
US5258946A (en) * 1991-02-13 1993-11-02 At&T Bell Laboratories Content-addressable memory

Also Published As

Publication number Publication date
JPH05314779A (ja) 1993-11-26
US5339268A (en) 1994-08-16

Similar Documents

Publication Publication Date Title
JP2775549B2 (ja) 連想メモリセルおよび連想メモリ回路
US11182304B2 (en) Memory array page table walk
KR100244841B1 (ko) 캐쉬 메모리 및 그 동작 방법
KR101533564B1 (ko) 메모리 내 cpu 캐시 아키텍처
US6151658A (en) Write-buffer FIFO architecture with random access snooping capability
JP2007080314A (ja) 半導体記憶装置
JPH04230551A (ja) 階層集積回路キャッシュメモリ
US20060117129A1 (en) High speed DRAM cache architecture
KR100540964B1 (ko) 반도체장치
EP1497733A1 (en) Destructive-read random access memory system buffered with destructive-read memory cache
US6219764B1 (en) Memory paging control method
US6334170B1 (en) Multi-way cache expansion circuit architecture
JP3789998B2 (ja) メモリ内蔵プロセサ
JPS63281299A (ja) 連想メモリ装置
US5584003A (en) Control systems having an address conversion device for controlling a cache memory and a cache tag memory
US5295253A (en) Cache memory utilizing a two-phase synchronization signal for controlling saturation conditions of the cache
EP0535701A1 (en) Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM)
US5434990A (en) Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
JP2810269B2 (ja) 連想メモリシステム
US6839807B2 (en) Multi-way set associative cache memory
US20060090059A1 (en) Methods and devices for memory paging management
JP2754492B2 (ja) 選択的にクリア可能なメモリセルを備えたメモリ
US6778444B1 (en) Buffer for a split cache line access
JP2700147B2 (ja) 命令キャッシュ・フラッシュ・オン・rei制御
TW202134884A (zh) 資料寫入系統與方法

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: 19980324