JPH05198186A - 連想メモリシステム - Google Patents

連想メモリシステム

Info

Publication number
JPH05198186A
JPH05198186A JP4028985A JP2898592A JPH05198186A JP H05198186 A JPH05198186 A JP H05198186A JP 4028985 A JP4028985 A JP 4028985A JP 2898592 A JP2898592 A JP 2898592A JP H05198186 A JPH05198186 A JP H05198186A
Authority
JP
Japan
Prior art keywords
circuit
data
memory
address
bit line
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.)
Granted
Application number
JP4028985A
Other languages
English (en)
Other versions
JP2810269B2 (ja
Inventor
Hirohisa Machida
浩久 町田
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 JP4028985A priority Critical patent/JP2810269B2/ja
Priority to US07/992,281 priority patent/US5457788A/en
Publication of JPH05198186A publication Critical patent/JPH05198186A/ja
Application granted granted Critical
Publication of JP2810269B2 publication Critical patent/JP2810269B2/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
    • G11C15/04Digital 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 using semiconductor elements
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed

Abstract

(57)【要約】 【目的】 連想メモリ回路を用いた連想メモリシステム
において、キャッシュデータのヒット判定を高速に行え
るようにする。 【構成】 メモリ領域を指定するアドレス72と仮想ア
ドレス4とが供給されて、前記アドレスに予め記憶され
たデータと前記仮想アドレス4とが一致したときにヒッ
ト信号5を出力する仮想アドレス保持用CAM回路2
と、前記仮想アドレス4が供給されてこの仮想アドレス
4と一致したキャッシュタグデータが存在したときにこ
のデータを出力するキャッシュタグ用のメモリ回路1
と、前記CAM回路2からのヒット信号5を出力する出
力線が接続され、前記ヒット信号が出力されたメモリ領
域に予め記憶された物理アドレスと前記キャッシュタグ
用のメモリ回路1より供給されたキャッシュタグデータ
とが一致したときにヒット信号6を出力する物理アドレ
ス保持用CAM回路3とより構成したものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はプロセッサ等に搭載さ
れる、あるいはプロセッサの周辺回路を構成する連想メ
モリシステムに関するものである。
【0002】
【従来の技術】マイクロプロセッサを利用したシステム
においては、実際に使用できるメモリのアドレス空間は
実装できるメモリ素子の物理的な数で制限される。この
ようなマイクロプロセッサ外部の制限されているアドレ
ス空間は物理アドレス空間と呼ばれ、そのアドレスを物
理アドレスと呼ぶ。逆にマイクロプロセッサ内部ではア
ドレス空間が物理的に制限されないので、実際のアドレ
ス空間以上のアドレスが存在すると仮定して色々な処理
を実行している。このようなマイクロプロセッサ内部の
アドレス空間は仮想アドレス空間と呼ばれ、そのアドレ
スを仮想アドレスと呼ぶ。
【0003】従ってマイクロプロセッサが外部のメモリ
空間を利用するとき、マイクロプロセッサは内部の仮想
アドレスを物理アドレスに変換する必要がある。この変
換に使われる回路をトランスレートルックアサイドバッ
ファ回路(以下、TLB回路と称す)と呼んでいる。ま
ずこのTLB回路について説明する。
【0004】図8にTLB回路のブロック図を示す。2
はコンテントアドレッサブルメモリ回路(以下、CAM
回路と称す)と呼ばれるメモリ回路、71は通常のメモ
リ回路、72はCAM回路のアドレス信号、5はCAM
回路2から出力されるヒット信号(出力線)、4は仮想
アドレス、65は物理アドレスである。メモリ回路71
は通常のメモリ回路と動作は全く同じであるが、通常の
メモリ回路でのワード選択信号がCAM回路2からのヒ
ット信号5に接続されている。従って、通常のメモリ回
路のようにワード選択信号をデコーダ回路等で生成する
必要がなく、デコーダ回路も持っていない。
【0005】CAM回路と呼ばれる回路は通常のメモリ
回路のように外部からデータを記憶したり読み出したり
する以外に、記憶しているデータと外部のデータとが一
致しているかどうかを比較できる機能を有している回路
であり、連想メモリと呼ばれるメモリ回路の1種であ
る。CAM回路が外部データと一致しているデータを記
憶しているときには、ヒット信号と呼ばれる信号を外部
へ出力し、外部データと一致したデータが何番目のワー
ドに記憶されているかを外部に知らせる機能を有してい
る。
【0006】図9はCAM回路2を説明するための内部
ブロック図である。41はCAM回路を構成するCAM
セル回路、31は電源電位、35はワード選択信号、8
1はデコーダ回路、82はデータ書き込み読み出し回路
である。さらに図3はCAMセル回路41を詳しく説明
した内部構成図である。31は電源電位、32a,32
bは抵抗、33a〜33hはnチャネルトランジスタ、
34は接地電位、35はワード選択信号、36は一致信
号、37は比較するための外部データのビット線、38
は比較するための外部データの反転データのビット線、
39は記憶されているデータのビット線、40は記憶さ
れているデータの反転データのビット線である。CAM
セル回路41はメモリ回路であるのでデータを記憶して
おくことができる。図3中で390は記憶しているデー
タ値、400は記憶しているデータの反転のデータ値で
ある。一致信号36はCAMセル回路41内データ39
0と外部データビット線データ37が一致したとき電源
電位となる。図9において、水平方向をビット方向、垂
直方向をワード方向とする。図3中における一致信号3
6は、図8中ではCAM回路2のヒット信号5に等し
い。
【0007】CAM回路2においてデータを記憶すると
きの動作は通常のメモリ回路と同様である。CAM回路
2のCAMセル回路41にデータを記憶するときには、
ビット線39,40上のデータを、ワード選択信号35
で選択されたnチャネルトランジスタ33a,33bを
介して、nチャネルトランジスタ33c,33d、抵抗
32a,32bで構成される回路に記憶する。即ちビッ
ト線39のデータをデータ値390へ、ビット線40の
データをデータ値400へ書き込む。またCAM回路2
のCAMセル回路41のデータを外部へ読み出すときに
は、データ値390,400上のデータをワード選択信
号35で選択されたnチャネルトランジスタ33a,3
3bを介して、ビット線39,40に転送し、データ書
き込み読み出し回路82から外部へ読み出す。これらの
動作はデコーダ回路81、データ書き込み読み出し回路
82が制御、実行するが、これは通常のメモリ回路と同
様である。
【0008】次にCAM回路2においてデータを比較す
る動作を説明する。以下説明を簡単にするため、電源電
位は論理値“1”を示し、接地電位は論理値“0”を示
すとする。また電源電位と接地電位の両方に接続されて
いる場合は論理値は“0”を示すとする。一致信号36
は図9で示すように電源電位31に接続されているの
で、通常は論理値“1”である。
【0009】今CAMセル回路41にデータ“1”が記
憶されているとすると図3中のデータ値390は“1”
(従って反転データ値400は“0”)である。また比
較すべき外部データが“1”のときは外部データのビッ
ト線37は“1”(外部データの反転ビット線38は
“0”)となる。このとき、nチャネルトランジスタ3
3eと33g、33fと33hペアにおいて片方のnチ
ャネルトランジスタ33e,33hがOFFであり、一
致信号36は接地電位34と接続されない。同様にCA
Mセル回路41にデータ“0”が記憶されていて、かつ
比較すべき外部データが“0”のときは一致信号36は
接地電位34と接続されない。図9において、ビット方
向のCAMセル回路41のすべてがそれぞれのビットの
比較すべき外部データと等しいとき、上記のようにヒッ
ト信号5(一致信号36に等しい)は接地電位34と接
続されないので論理値は“1”となる。即ち、外部デー
タと比較して一致したデータがCAM回路2の中に存在
しているので、データが存在していたことを示すヒット
信号5は“1”となる。
【0010】逆に、ビット方向のCAMセル回路41の
中に一つのビットでもデータが等しくないことが存在す
ると、CAMセル回路41内においてnチャネルトラン
ジスタ33eと33g、33fと33hのどちらかのペ
アが両方ともONする。そのためそのCAMセル回路4
1内で一致信号36は接地電位34と接続されてしま
う。このとき図8中のヒット信号5は接地電位となるの
で、論理値は“0”となる。このように、任意のワード
に記憶しているデータと外部データと比較した結果、等
しければそのワードのヒット信号5はデータは“1”を
示すし、等しくなければ“0”を示す。CAM回路2に
おいて各ワードには異なったデータが記憶されているた
め、ヒット信号5は「どれか1つだけ“1”になる
か」、「すべてが“0”か」のどちらかであり、2つ以
上のワードにおいてヒット信号5が“1”になることは
ない。
【0011】以上のことをもとにTLB回路の動作を図
8を用いて説明する。 図8において、CAM回路2の任意のワードには仮想
アドレス4のデータを記憶しておき、メモリ回路71内
の等しいワードには変換すべき物理アドレスを記憶して
おく。
【0012】外部から仮想アドレス4のデータを与え
るとCAM回路2の各ワードにおいて一致するデータが
存在するかどうかを比較する。 一致するデータがCAM回路2内に存在すれば、一致
したワードのヒット信号5が“1”になる。 ヒット信号5はメモリ回路71のワード選択線に接続
されているので、ヒット信号5が“1”になると、メモ
リ回路71内のそのワードに記憶されている物理アドレ
スが読み出され、仮想アドレスから物理アドレスへの変
換が完了したことになる。
【0013】上述のにおいて一致するデータが存在
しなければ、ヒット信号5はどれも“1”にならないの
でメモリ回路71中に格納されているどの物理アドレス
も読み出されない。以上がTLB回路によるアドレス変
換の方法である。しかしこのTLB回路による動作はC
AM回路2の動作が低速であるため、通常低速動作にな
る。
【0014】また、最近のマイクロプロセッサを利用し
たシステムでは2階層以上のメモリ構造を利用するのが
普通である。通常マイクロプロセッサが直接アクセスす
るメモリ素子は半導体素子で構成するが、このとき大容
量で低速動作のダイナミックラム回路(以下、DRAM
回路と称す)と小容量で高速動作のスタティックラム回
路(以下、SRAM回路と称す)が利用される。図10
に通常のシステム構成を示す。51はマイクロプロセッ
サ、52はSRAM回路、53はDRAM回路、54は
アドレス、55はデータ、56は比較回路を示す。
【0015】マイクロプロセッサ51が必要なデータ
は、普通大容量のDRAM回路53の中に保存されてい
る。そして、その中で頻繁に使用される小量のデータを
高速動作が可能なSRAM回路52に保存しておく。マ
イクロプロセッサ51はSRAM回路52に保存されて
いるデータを頻繁に高速に利用する。そしてSRAM回
路52に保存されていないデータを利用するときだけ、
DRAM回路53に保存されているデータを低速に利用
する。以上のような構成をとることで、あたかも大容量
で高速なメモリ素子を利用しているように見せかけ、シ
ステムは高速に動作する。このときのSRAM回路52
をキャッシュメモリ、DRAM回路53を主記憶と呼ん
でいる。
【0016】キャッシュメモリの中に必要なデータが存
在するかどうかを判断するため、キャッシュメモリは2
つのSRAM回路で構成されている。それは図10に示
すように、データ用のSRAM回路52aと、タグ用の
SRAM回路52bである。データ用のSRAM回路5
2aには通常のメモリ回路と同様、マイクロプロセッサ
51が処理するための主記憶上でのデータが格納されて
いる。そして、タグ用のSRAM回路52bにはアドレ
スの上位ビットが格納されている。たとえばアドレスが
32ビットのデータで表現されていたとすると、下位の
16ビットでキャッシュメモリをアクセスするとすれ
ば、上位からの任意数のビットがタグとしてタグ用のS
RAM回路52bに格納されている。
【0017】キャッシュメモリの中に必要なデータが存
在することをキャッシュメモリにヒットするという。た
とえば、タグ用のSRAM回路52bから下位の16ビ
ットのアドレスデータで読み出したタグデータを、自身
の上位のビットのアドレスデータと比較回路56で比較
して、一致していたらキャッシュメモリの中に必要なデ
ータが存在していたことになる。もし、一致しなかった
場合は、キャッシュメモリの中に必要なデータが存在し
ていなかったことになるので、主記憶から必要なデータ
を読んでくることになる。このキャッシュタグのヒット
判定に上で述べたCAM回路を利用することも考えられ
るがキャッシュ回路はTLB回路に比較して容量が非常
に大きいので、CAM回路の動作が特別遅くなるため利
用されない。
【0018】以上述べたようにマイクロプロセッサを使
用するシステムにおけるメモリ管理システムにおいて
は、TLB回路とキャッシュメモリ回路は必須のもので
ある。そしてキャッシュメモリや主記憶はマイクロプロ
セッサの外部にあるので、物理アドレスでアクセスする
のが普通である。ここで、TLB回路を用いたメモリ管
理システムについて考えてみる。図11にTLB回路を
利用した通常のメモリ管理システムの構成を示す。図
中、51はマイクロプロセッサ、61はTLB回路、6
2はキャッシュメモリ、63は主記憶、64は仮想アド
レス、65は物理アドレス、66はデータを示す。
【0019】TLB回路61は上記で説明したとおり非
常に動作が低速であるため、図11の構成には問題があ
る。それはシステム内でマイクロプロセッサ51から高
速でメモリデータにアクセスするために主記憶63以外
にキャッシュメモリ62を使用しているにもかかわら
ず、キャッシュメモリ62をアクセスする前に低速なT
LB回路61を介する必要があるということである。
【0020】そこで、TLB回路での遅れを回避するた
め図12に示すような方法を利用することが多い。8は
ヒット信号、51はマイクロプロセッサ、56は比較回
路、61はTLB回路、62aはキャッシュデータ用メ
モリ、62bはキャッシュタグ、4は仮想アドレス、6
5a,65bは物理アドレスを示す。キャッシュメモリ
62には物理アドレスを接続するのではなく、マイクロ
プロセッサ51からの仮想アドレス4を接続する。従っ
てキャッシュタグ62bには仮想アドレスをアドレス値
として、仮想アドレスを物理アドレスに変換したあとの
物理アドレスを保存しておく。図11の場合では、キャ
ッシュタグ62bには物理アドレスをアドレス値とし
て、物理アドレスを保存してあった。
【0021】動作は以下の通りである。TLB回路61
は通常どおり、仮想アドレスを物理アドレスに変換す
る。そしてキャッシュメモリが仮想アドレスでキャッシ
ュタグを読み出した物理アドレス65aと、TLB回路
61が出力する物理アドレス65bと比較回路56で比
較する。そして2つのデータが一致したらヒット信号8
を“1”にする。これはTLB回路61に物理アドレス
が存在し、さらにキャッシュメモリ62中に必要なデー
タが存在していたことを示している。
【0022】以上が従来のメモリ管理システムを簡単に
説明したものであるが、詳しくは以下の論文、"2.6Gbyt
e/sec bandwidth Cache/TLB Macro for High-Pertorman
ce RISC Processor"(IEEE CICC'91 PP. 10.2.1-10.2.
4)。"An In-chach Address Translation Mechanism"(Th
e 13th Annual International Symposium on Computer
Architecture PP.358-365)。に開示されている。
【0023】
【発明が解決しようとする課題】上記のように従来の連
想メモリシステムでは、TLB回路のデータとキャッシ
ュタグのデータを別々に読み出してから比較回路で比較
して、キャッシュメモリのヒットを判定していたのでヒ
ット信号の生成に時間がかかっていた。この発明は上記
課題を解決するためになされたもので、キャッシュデー
タのヒット判定を高速に行える連想メモリシステムを得
ることを目的とする。
【0024】
【課題を解決するための手段】本発明の連想メモリシス
テムは、メモリ領域を指定するアドレス72と仮想アド
レス4とが供給されて、前記アドレスに予め記憶された
データと前記仮想アドレスとが一致したときに一致した
ことを知らせる第1の信号(ヒット信号51)を出力す
る第1の連想メモリ回路(CAM回路2)と、前記仮想
アドレスが供給されてこの仮想アドレスと一致したデー
タが存在したときにこのデータ(キャッシュタグデー
タ)を出力するキャッシュメモリ(キャッシュタグメモ
リ回路1)と、前記第1の連想メモリ回路からの第1の
信号を出力する出力線(ヒット信号5出力線)が接続さ
れ、前記第1の信号が出力されたメモリ領域に予め記憶
された物理アドレスと前記キャッシュメモリより供給さ
れたデータとが一致したときに一致したことを知らせる
第2の信号(ヒット信号6)を出力する第2の連想メモ
リ回路(CAM回路3)とを備えたものである。
【0025】さらに本発明の他の連想メモリシステム
は、前記キャッシュメモリ及び連想メモリ回路を、デー
タ390とその反転データ400を記憶する記憶素子C
AMセル回路41と、この記憶素子に対してデータを書
き込んだり読み出したりするためのビット線39と前記
記憶素子に外部データを供給する外部データビット線3
7とを共通にした共通ビット線391と、前記ビット線
及び外部データビット線の各反転ビット線40,38を
共通にした共通反転ビット線401とを有する構成と
し、前記キャッシュメモリと第2の連想メモリ回路の共
通ビット線及び共通反転ビット線同志を接続したもので
ある。
【0026】
【作用】第1,第3の連想メモリ回路2,3それぞれの
変換処理を並列処理として行わせることが可能となり、
キャッシュデータのヒット信号生成時間を短くできる。
【0027】共通ビット,反転ビット線391,401
を介してキャッシュメモリと第2の連想メモリ回路が接
続されているので、これら回路に1度に同一データを書
き込める。
【0028】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1は、本発明による連想メモリシステムを用い
たメモリ管理システムのブロック図である。1はキャッ
シュタグ用のメモリ回路、2はTLB回路の仮想アドレ
ス保持用CAM回路(第1の連想メモリ回路)、3は物
理アドレス保持用CAM回路(第2の連想メモリ回
路)、4は仮想アドレス(データ線)、5は仮想アドレ
ス4のヒット信号(出力線)(第1の信号)、6は物理
アドレスとキャッシュタグとの比較一致ヒット信号(第
2の信号)、7はOR回路、8は仮想アドレスがキャッ
シュにエントリされていたことを示す最終ヒット信号、
9と10はキャッシュタグのデータビット線である。ビ
ット線10はビット線9の反転信号であり、互いに相反
関係にある。
【0029】キャッシュタグメモリ回路1の構成は通常
のメモリ回路と同様であるが、メモリセル内のビット線
9信号と反転ビット線10信号が直接メモリ回路1の外
部に出力されるようになっていることだけが異なってい
る。図2にメモリ回路1と従来のメモリ回路の異なる部
分を特徴的に示す。図2(a)が従来のメモリ回路構
成、図2(b)がメモリ回路1の構成である。21は通
常のメモリセル回路、22はビット線信号線、23はビ
ット線反転信号線、24はセンスアンプ回路、25はデ
ータ線である。通常のメモリ回路ではビット線信号22
とビット線反転信号線23からセンスアンプ回路24で
データ信号25を作り出して外部回路へ出力している
が、本発明ではビット線22とビット線反転信号線23
をセンスアンプ24等を介さず外部へ出力しているた
め、センスアンプ等によってデータの伝搬が遅延するこ
とがない。
【0030】図3,図4は本発明の物理アドレス保持用
CAM回路3を詳しく説明したブロック図である。物理
アドレス保持用CAM回路3は図3に示す従来のCAM
回路のメモリセル回路を図4のように2次元方向に必要
なビット数、ワード数分接続し、簡単な回路を付加する
だけで構成されている。図4において41は記憶素子と
してのCAMセル回路、42はインバータ回路、43は
nチャネルトランジスタ、31は電源電位、45は接地
電位である。5は図1中の仮想アドレスCAM回路2の
ヒット信号である。9,10は図1中のビット,反転ビ
ット線であり、図3中のビット線39,40に等しい。
【0031】物理アドレス保持用CAM回路3のメモリ
セル回路は従来のCAM回路のメモリセル回路と全く同
様のもので良いが、本発明の物理アドレス保持用CAM
回路3のメモリセル回路41においては、比較するため
のビット線39,40に図1で示しているキャッシュタ
グのデータビット線9,10が接続される。図4におい
ても、水平方向をビット方向、垂直方向をワード方向と
する。
【0032】従来例のTLB回路では仮想アドレスCA
M回路2のヒット信号5は、従来例の物理アドレス保持
用MEM回路71のワード選択信号に接続されている
が、本発明では物理アドレスとキャッシュタグとの比較
一致信号を生成するためのnチャネルトランジスタ43
にインバータ回路42を介して接続されている。従っ
て、本発明の物理アドレス保持用のメモリセル回路41
のワード選択信号35には通常のメモリ回路に用いられ
るアドレスデコーダ回路の出力を接続することができ
る。そのため物理アドレス保持用のメモリセル回路41
のアクセスが簡単にできるため、物理アドレス保持用の
メモリセル回路41へのデータの書き込みやテストが容
易にできる。
【0033】物理アドレス保持用CAM回路3のメモリ
セル回路41にデータを記憶するときの動作は従来例の
CAM回路と同様であり、ワード選択信号によって選択
されたワードのメモリセルにデータを書き込むだけで良
い。
【0034】物理アドレス保持用CAM回路3に記憶さ
れている物理アドレスデータとキャッシュタグデータと
を比較するときの動作も、従来のCAM回路と同様であ
る。物理アドレス保持用CAM回路3においては、物理
アドレス保持用CAM回路3のメモリセル回路41内に
記憶されている物理アドレスデータと、ビット線9,1
0上にキャッシュタグから読み出されたキャッシュタグ
データが一致したかどうかを比較する。一致しない場合
には物理アドレス保持用CAM回路3のメモリセル回路
41内のnチャネルトランジスタ33eと33g、33
fと33hのどちらかのペアが両方ともONする。する
と図4中のヒット信号6(一致信号)は接地電位と接続
されるので、論理値“0”となる。この場合は通常のC
AM回路と同様である。
【0035】一致した場合は少し異なる。通常のCAM
回路では、データが一致した場合は図4中のヒット信号
6は接地電位と接続されないが、物理アドレス保持用C
AM回路3では仮想アドレスCAM回路2のヒット信号
5が“0”(仮想アドレスがヒットしていない場合)の
ときはnチャネルトランジスタ43がONして、ヒット
信号6(一致信号)は接地電位と接続され、論理値は
“0”となる。従って物理アドレス保持用CAM回路3
のヒット信号6が論理値“1”となる条件は、「物理ア
ドレス保持用CAM回路3内のデータが外部データと一
致し」、かつ「仮想アドレスCAM回路2の同じアドレ
スのヒット信号5が“1”のとき」である。
【0036】上記の物理アドレス保持用CAM回路3の
ヒット信号6が論理値“1”となる条件は言い換える
と、「仮想アドレスCAM回路2に仮想アドレスが存在
し」かつ「存在した仮想アドレスが変換する物理アドレ
スが物理アドレスCAM回路3内で、キャッシュタグデ
ータと一致した」場合であり、これは従来例で通常のT
LBとキャッシュメモリを用いたメモリ管理システムに
おける場合と同様である。本実施例の動作を詳しく記述
すると以下のようになる。
【0037】図1において、仮想アドレス保持用CA
M回路2内で仮想アドレス4と一致するデータが検索さ
れる。 と同時に仮想アドレス4をアドレスとしてキャッシ
ュタグのデータはビット線9,10上に読み出される。
【0038】ビット線9,10上に読み出されたデー
タと物理アドレスデータが一致するかを物理アドレス保
持用CAM回路3で検索する。通常のCAM回路と同様
に物理アドレス保持用CAM回路3内のすべてのワード
のデータにおいて比較動作が同時に実行される。 物理アドレス保持用CAM回路3でデータを検索して
いる期間中に、仮想アドレス保持用CAM回路2の一致
判定は結果が出ている。仮想アドレス保持用CAM回路
2の中に一致しているデータが存在すれば、従来例と同
様に仮想アドレス保持用CAM回路2のワードに接続さ
れたヒット信号5のいずれかが“1”の値をもつ。
【0039】物理アドレス保持用CAM回路3におい
て、「ビット線9,10上のデータと物理アドレスデー
タの任意のワードが一致」し、かつ「仮想アドレス保持
用CAM回路2においてその同じワードに仮想アドレス
が存在していた」とき、図4中における電源電位31が
接地電位に接続される経路が全て遮断されるため、ヒッ
ト信号6は“1”の値をもつことになる。そしてヒット
信号6は図1中のOR回路7を介して最終ヒット信号8
を生成する。最終ヒット信号8が“1”になる条件は、
仮想アドレスデータが変換されるべき物理アドレスデー
タとタグデータが一致したときだけである。
【0040】上述のの条件を満たさないとき、即ち
「ビット線9,10上のデータと物理アドレスデータが
どれも一致しないとき」、あるいは「仮想アドレスデー
タがTLB内に存在しなかったとき」、あるいは「ビッ
ト線9,10上のデータと物理アドレスデータの任意の
ワードが一致し、仮想アドレスデータがTLB内の任意
のワードに存在したが、それらのワードが一致しなかっ
たとき」は、図4中における電源電位31の電荷を接地
電位に引き抜く経路が存在するので、最終ヒット信号8
は“0”の値をもつことになる。
【0041】本発明と従来例によるアドレス変換にかか
る時間を比較したグラフを図5に示す。図5は横軸が時
間を表している。図5(a)に本発明の場合に要する時
間、(b)に従来例に要する時間を示す。連想メモリシ
ステムに必要ないろいろな処理に要する時間をつぎのよ
うに仮定している。 a:アドレスから反転データを作る時間、1 b:CAM回路がヒット信号を生成する時間、4 c:メモリ回路のデコード時間、3 d:メモリ回路のセルデータがビット線に読み出される
時間、1 e:メモリ回路でセンスアンプ等でデータを決定する時
間、1 f:比較回路でデータを比較し、ヒット信号を生成する
時間、2 ここでの数字は相対的な値として、特別に単位はない。
【0042】図5(a)の上段はTLB回路の仮想アド
レス保持用CAM回路2の時間、下段にキャッシュタグ
の時間と本発明の物理アドレス保持用CAM回路3に要
する時間を示す。図5(b)は上段に通常のTLB回路
の時間、下段にキャッシュタグの時間、真ん中に比較器
の要する時間を示す。8対9で本発明の連想メモリシス
テムの方が高速に最終ヒット信号を生成している。
【0043】通常CAM回路がヒット信号を作り出すの
に要する時間は大きい。そのため従来例ではキャッシュ
タグを読み出したあとに、そのデータが利用されていな
い空白の時間Xが存在する。本発明ではCAM回路を2
回利用するけれども、2つのCAM回路が同時に、そし
て並列に処理を実行するよう構成されているため、無駄
な空白の時間が存在せず、総計の時間では従来例より高
速に最終ヒット信号を生成することができ、キャッシュ
データのヒット判定を高速化できる。また、負荷する回
路は従来のTLB回路内のCAM回路を流用して利用す
ることができるので非常に設計効率がよく、さらに単位
回路の繰り返しで構成できるので、LSIで実現する場
合には設計が容易で安価にでき実用上の効果は極めて大
である。さらに、TLB回路内の物理アドレス保持用C
AM回路3のワード選択線を仮想アドレスCAM回路2
にかかわらず選択することができるので、TLB回路の
テストが容易にできるという効果も有する。
【0044】以上が本発明の連想メモリシステムの詳細
な動作説明である。尚、構成を言い換えると、メモリ領
域を指定するアドレス72と仮想アドレス4とが供給さ
れて、前記アドレスすなわちワード選択信号35で選択
されたメモリセル回路41に予め記憶されたデータ(仮
想アドレス)と前記仮想アドレス4とが一致したときヒ
ット信号5を出力するCAM回路2と、前記仮想アドレ
ス4が供給されてこの仮想アドレス4と一致したキャッ
シュタグデータが存在したときにこのキャッシュタグデ
ータを出力するキャッシュタグ用のメモリ回路1と、前
記CAM回路2からのヒット信号5を出力するヒット信
号出力線が接続され、前記ヒット信号5が出力されたメ
モリ領域すなわちワードに予め記憶された物理アドレス
と前記キャッシュタグ用のメモリ回路1より供給された
キャッシュタグデータとが一致したときにヒット信号6
を出力するCAM回路3とを備えたものである。
【0045】実施例2.以下、この発明における上述の
実施例1の他の実施例を図について説明する。図6は本
発明による連想メモリを用いた連想メモリシステムの別
の形態を示す図である。キャッシュメモリを利用するシ
ステムにはキャッシュメモリのヒット率を上げるため、
キャッシュタグを2面持つことがよくある。このときの
キャッシュを2ウェイキャッシュと呼ぶ。
【0046】図6では2つのキャッシュのために、キャ
ッシュタグ用のメモリ回路1、物理アドレス保持用CA
M回路3、仮想アドレスのヒット信号5、物理アドレス
とキャッシュタグとの比較一致信号6、OR回路7、仮
想アドレスがキャッシュにエントリされていたことを示
すヒット信号8が2つづつセットになっている。また2
つの仮想アドレスがキャッシュにエントリされていたこ
とを示すヒット信号8aと8bから最終ヒット信号を生
成するためのOR回路7cが加えられている。また最終
ヒット信号は11とする。
【0047】実施例2の動作を簡単に説明する。2つの
物理アドレス保持用CAM回路3aと3bの等しいワー
ドには等しいデータが記憶されている。2つのキャッシ
ュタグ用のメモリ回路1aと1bの等しいワードには異
なったタグデータが記憶されている。実施例2の動作は
実施例1と全く同様である。ただし、2つのキャッシュ
タグ用のメモリ回路1aと1bの等しいワードには異な
ったタグデータが記憶されているので物理アドレスとキ
ャッシュタグとの比較一致信号6aと6bは「どちらか
一方しかヒットしない」か「両方ともヒットしない」か
のどちらかである。
【0048】したがって、最終ヒット信号は物理アドレ
スとキャッシュタグとの比較一致信号6aと6bがどち
らかヒットしたときだけ“1”となる。この構成をとる
ことで、1つの仮想アドレスデータに対して、ヒットす
る率が2倍になる。同様にキャッシュメモリが4ウェイ
や8ウェイのときにも構成が可能である。
【0049】実施例3.以下、この発明の他の実施例を
図について説明する。図7は本発明による連想メモリシ
ステムのCAMセル回路41の別の形態を示す図であ
る。図3において比較するための外部データのビット線
37と記憶されているデータのビット線39を共通に、
比較するための外部データの反転データのビット線38
と記憶されているデータの反転データのビット線40を
共通にした構成となっている。391は共通にした共通
ビット線、401は共通にした共通反転ビット線であ
る。
【0050】このようなメモリセル回路で例えば第1の
実施例を構成する。すなわちメモリ回路1とCAM回路
の共通ビット線309及び共通反転ビット線401同志
を接続する。動作は第1の実施例と全く同様である。C
AMセル回路41にデータを書き込むときは、ビット線
391と401を記憶されているデータのビット線3
9,40として第1の実施例と同様の方法で書き込む。
データを比較するときは、ビット線391と401を比
較するための外部データのビット線37,39として第
1の実施例と同様に実行すれば良い。
【0051】CAMセル回路41を図7のように構成す
れば、第1の実施例による効果以外にCAMセル回路3
とキャッシュタグメモリ回路1のビット線が共用されて
いるので、CAMセル回路3とキャッシュタグメモリ回
路1に同時に同一データを書き込むことが可能となる。
TLB回路やキャッシュ回路にヒットしなかったときに
は、CAMセル回路のデータやキャッシュタグのデータ
を書き換えなければならず、その時は同一データを書き
込む。これまではTLB回路とキャッシュ回路と別々に
書き換え動作を実行していたが、図7のような構成をと
ることで1度でデータを書き換えることが可能となる。
【0052】
【発明の効果】以上述べたように本発明によれば、連想
メモリ回路を用いた連想メモリシステムにおいて、キャ
ッシュデータのヒット判定が高速に実行できるととも
に、キャッシュメモリ及びこれと共通ビット,反転ビッ
ト線を介して接続される連想メモリ回路のデータに同時
に同一データを書き込めるという利点がある。
【図面の簡単な説明】
【図1】本発明による連想メモリシステムのブロック構
成図である。
【図2】本発明の連想メモリシステムのキャッシュタグ
メモリ回路を説明した図である。
【図3】CAM回路の内部詳細構成図である。
【図4】本発明の物理アドレス保持用CAM回路のブロ
ック構成図である。
【図5】本発明と従来例のキャッシュデータのヒット判
定に要する時間差を示す図である。
【図6】本発明の他の実施例の連想メモリシステムのブ
ロック構成図である。
【図7】本発明の他の実施例のCAMセル回路の内部詳
細構成図である。
【図8】従来のTLB回路のブロック構成図である。
【図9】従来のCAM回路のブロック構成図である。
【図10】キャッシュメモリを使用した従来の連想メモ
リシステムのブロック構成図である。
【図11】従来のTLB回路とキャッシュメモリを使用
した連想メモリシステムのブロック構成図である。
【図12】従来の連想メモリシステムのブロック構成図
である。
【符号の説明】
1 キャッシュタグ用のメモリ回路(キャッシュメモ
リ) 2 仮想アドレス保持用CAM回路(第1の連想メモリ
回路) 3 物理アドレス保持用CAM回路(第2の連想メモリ
回路) 4 仮想アドレス 5 仮想アドレスのヒット信号(第1の信号) 6 物理アドレスとキャッシュタグとの比較一致信号
(第2の信号) 9 キャッシュタグのデータビット線 10 キャッシュタグの反転データビット線 37 外部データビット線 38 外部データ反転ビット線 39 データビット線 40 反転データビット線 41 CAMセル回路(記憶素子) 72 アドレス 390 データ 391 共通ビット線 400 反転データ 401 共通反転ビット線
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年9月4日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0022
【補正方法】変更
【補正内容】
【0022】以上が従来のメモリ管理システムを簡単に
説明したものであるが、詳しくは以下の論文、"2.6Gbyt
e/sec bandwidth Cache/TLB Macro for High-Performan
ce RISC Processor"(IEEE CICC'91 PP. 10.2.1-10.2.
4)。"An In-chach Address Translation Mechanism"(Th
e 13th Annual International Symposium on Computer
Architecture PP.358-365)。に開示されている。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリ領域を指定するアドレスと仮想ア
    ドレスとが供給されて、前記アドレスに予め記憶された
    データと前記仮想アドレスとが一致したときに一致した
    ことを知らせる第1の信号を出力する第1の連想メモリ
    回路と、前記仮想アドレスが供給されてこの仮想アドレ
    スと一致したデータが存在したときにこのデータを出力
    するキャッシュメモリと、前記第1の連想メモリ回路か
    らの第1の信号を出力する出力線が接続され、前記第1
    の信号が出力されたメモリ領域に予め記憶された物理ア
    ドレスと前記キャッシュメモリより供給されたデータと
    が一致したときに一致したことを知らせる第2の信号を
    出力する第2の連想メモリ回路とを備えたことを特徴と
    する連想メモリシステム。
  2. 【請求項2】 前記キャッシュメモリ及び連想メモリ回
    路は、データとその反転データを記憶する記憶素子と、
    この記憶素子に対してデータを書き込んだり読み出した
    りするためのビット線と前記記憶素子に外部データを供
    給する外部データビット線とを共通にした共通ビット線
    と、前記ビット線及び外部データビット線の各反転ビッ
    ト線を共通にした共通反転ビット線とを有し、前記キャ
    ッシュメモリと第2の連想メモリ回路の共通ビット線及
    び共通反転ビット線同志を接続して成ることを特徴とす
    る請求項第1項記載の連想メモリシステム。
JP4028985A 1992-01-20 1992-01-20 連想メモリシステム Expired - Lifetime JP2810269B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4028985A JP2810269B2 (ja) 1992-01-20 1992-01-20 連想メモリシステム
US07/992,281 US5457788A (en) 1992-01-20 1992-12-16 Associative memory system for performing hit judgment on cache data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4028985A JP2810269B2 (ja) 1992-01-20 1992-01-20 連想メモリシステム

Publications (2)

Publication Number Publication Date
JPH05198186A true JPH05198186A (ja) 1993-08-06
JP2810269B2 JP2810269B2 (ja) 1998-10-15

Family

ID=12263715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4028985A Expired - Lifetime JP2810269B2 (ja) 1992-01-20 1992-01-20 連想メモリシステム

Country Status (2)

Country Link
US (1) US5457788A (ja)
JP (1) JP2810269B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120127296A (ko) 2011-05-13 2012-11-21 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 반도체 장치를 사용한 기억 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000008A (en) * 1993-03-11 1999-12-07 Cabletron Systems, Inc. Method and apparatus for matching data items of variable length in a content addressable memory
US6711665B1 (en) * 1993-12-12 2004-03-23 Neomagic Israel Ltd. Associative processor
JPH08212789A (ja) * 1995-02-06 1996-08-20 Mitsubishi Electric Corp 連想メモリ回路及びtlb回路
US6041389A (en) * 1995-11-16 2000-03-21 E Cirrus Logic, Inc. Memory architecture using content addressable memory, and systems and methods using the same
US5749087A (en) * 1996-07-30 1998-05-05 International Business Machines Corporation Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory
US6493812B1 (en) * 1999-12-17 2002-12-10 Hewlett-Packard Company Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
CN1314205C (zh) * 2002-06-03 2007-05-02 松下电器产业株式会社 半导体集成电路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5173872A (en) * 1985-06-13 1992-12-22 Intel Corporation Content addressable memory for microprocessor system
US5249276A (en) * 1987-06-22 1993-09-28 Hitachi, Ltd. Address translation apparatus having a memory access privilege check capability data which uses mask data to select bit positions of priviledge
JP2668438B2 (ja) * 1989-04-21 1997-10-27 三菱電機株式会社 データ検索装置
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120127296A (ko) 2011-05-13 2012-11-21 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 반도체 장치를 사용한 기억 장치
US8897049B2 (en) 2011-05-13 2014-11-25 Semiconductor Energy Laboratories Co., Ltd. Semiconductor device and memory device including semiconductor device

Also Published As

Publication number Publication date
US5457788A (en) 1995-10-10
JP2810269B2 (ja) 1998-10-15

Similar Documents

Publication Publication Date Title
US5249282A (en) Integrated cache memory system with primary and secondary cache memories
JP2775549B2 (ja) 連想メモリセルおよび連想メモリ回路
US6525985B2 (en) Semiconductor memory device
US6847578B2 (en) Semiconductor integrated circuit and data processing system
US7526709B2 (en) Error detection and correction in a CAM
JP3065736B2 (ja) 半導体記憶装置
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US7617355B2 (en) Parity-scanning and refresh in dynamic memory devices
US6233652B1 (en) Translation lookaside buffer for multiple page sizes
JPH08101797A (ja) 変換索引バッファ
US5014240A (en) Semiconductor memory device
JP3599273B2 (ja) 内容参照可能メモリの改良
JP2810269B2 (ja) 連想メモリシステム
US5584003A (en) Control systems having an address conversion device for controlling a cache memory and a cache tag memory
JPH0863975A (ja) スタティックramおよびこのスタティックramを有する処理装置
US5978245A (en) Associative memory device having circuitry for storing a coincidence line output
US6898100B2 (en) Semiconductor memory device used for cache memory
US5463751A (en) Memory device having address translator and comparator for comparing memory cell array outputs
JP6170718B2 (ja) 検索システム
US7185170B2 (en) Data processing system having translation lookaside buffer valid bits with lock and method therefor
JP3923642B2 (ja) 半導体記憶装置
JPH04324187A (ja) ダイナミックram
JPH0675860A (ja) アドレス変換バッファ
JP2822913B2 (ja) 半導体記憶装置
JPH087716B2 (ja) 半導体記憶装置