JPH1027481A - 半導体集積回路 - Google Patents

半導体集積回路

Info

Publication number
JPH1027481A
JPH1027481A JP18236096A JP18236096A JPH1027481A JP H1027481 A JPH1027481 A JP H1027481A JP 18236096 A JP18236096 A JP 18236096A JP 18236096 A JP18236096 A JP 18236096A JP H1027481 A JPH1027481 A JP H1027481A
Authority
JP
Japan
Prior art keywords
data
circuit
potential
cam
signal 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
JP18236096A
Other languages
English (en)
Other versions
JP3686480B2 (ja
Inventor
Hisayuki Higuchi
久幸 樋口
Makoto Suzuki
鈴木  誠
Hiroyuki Mizuno
弘之 水野
Koichiro Ishibashi
孝一郎 石橋
Masaru Tachibana
大 橘
Keijiro Uehara
敬二郎 上原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP18236096A priority Critical patent/JP3686480B2/ja
Publication of JPH1027481A publication Critical patent/JPH1027481A/ja
Application granted granted Critical
Publication of JP3686480B2 publication Critical patent/JP3686480B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Static Random-Access Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】連想記憶装置の一致検出動作を高速にする。 【解決手段】CAMセル23はNMOS26を介して一
致検出線25に接続され、一致検出回路73は、この一
致検出信号線25に接続して加速回路356と差動増幅
回路32とを有する。加速回路356は、データ一致検
出の開始時に一致検出信号線25の電位を参照電位VR
近くまで急速に引き上げ、この線に接続された複数のメ
モリセルの全てが一致検出信号を出力したためにそれら
と線25を接続するNMOS26が全てオフとなった後
は、一致検出信号線25の電位を基準電圧VRより大き
な電位に引き上げ、かつ、これらのメモリセルの少なく
とも一つが不一致検出信号を出力したためにこれらのN
MOS26の少なくとも一つがオンになった後は、一致
検出信号線25の電位を基準電圧VRより小さな値にす
る電流を一致検出信号線25に供給する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマイクロプロセッサ
LSIに搭載されるTLB(Translation
Lookaside Buffer)もしくはキャッシ
ュメモリに使用される連想記憶装置(以下、単にCAM
とよぶ)およびそれに適した差動増幅回路に関する。
【0002】
【従来の技術】最近のマイクロプロセッサLSIには、
TLB(Translation Lookaside
Buffer)もしくはキャッシュメモリが搭載さ
れ、それらはCAM(Content Address
able Memory)で構成されている。例えば、
TLBは、プログラムにより指定された複数の仮想アド
レスを記憶するCAM部と、それらの仮想アドレスに対
するアドレス変換結果(実アドレス)を保持するRAM
部とからなり、仮想アドレスに対するアドレス変換が必
要になったときに、このTLBを参照して、その仮想ア
ドレスに一致する仮想アドレスがCAM部に記憶されて
いる場合、その仮想アドレスに対する変換済みの実アド
レスをRAM部より出力する。これによりアドレス変換
を繰り返す必要をなくしている。
【0003】TLBにはフルアソシアティブ方式とセッ
トアソシアティブ方式が主に用いられている。従来のフ
ルアソシアティブ方式の典型的なTLBは、入力された
仮想アドレスと、TLB内のCAM部に記憶した複数の
仮想アドレスの各々との一致を調べ、それらの記憶され
た複数の仮想アドレスの中に、入力された仮想アドレス
と一致した仮想アドレスが存在するとき、その一致した
仮想アドレスに対応してRAM部に記憶された実アドレ
スを出力する。このように、従来のフルアソシアティブ
方式の典型的なTLBは、CAM部に記憶している全て
の仮想アドレスと入力された仮想アドレスとを比較す
る。
【0004】従って、このようなTLBは、上記の比較
を行うための一致検出回路の数が多いこと、これに伴っ
てTLBの回路面積が増えること、消費電力が大きくな
ること、上記比較においては、CAM部内にて比較が行
われ、そこに記憶されているデータ(今の場合には仮想
アドレス)はCAM部の外部に読みだされることはない
のでCAM部に記憶されたデータの信頼性の確認やCA
M部デバイスの故障診断ができないこと等が欠点とされ
ている。また、回路面積の増加を抑制するために、上記
比較には簡単な一致検出回路が用いられ、動作速度は二
義的に考慮されることが多い。このため、データ(今の
場合には、仮想アドレス)の比較に要する時間は長くか
かることになる。しかし、記憶しているデータすべてに
わたって比較するのでセットアソシアティブ方式のTL
Bくらべてデータの一致確率が高くなる長所をもってい
る。
【0005】上記フルアソシアティブ方式のTLBの比
較を高速化するための従来技術として、検索データと記
憶データとの比較を行なうための一致検出回路をCAM
部の各メモリセルごとに備えることも提案されている
(特開昭59ー231789)。しかし、この技術で
は、一致検出回路の総数が大きくなるという問題があ
る。
【0006】この一致検出回路を高速化する技術が、I
EEE Jounal of Solid−State
Circuits vol.28、No.11 p
p.1078−1083(1993)に報告されてい
る。この従来技術では、高速な一致検出のために、一致
検出信号線のほかに、参照信号線を一致検出信号線に並
行して設け、かつ、電圧供給信号線も一致検出信号線に
並行して設けて、一致検出のMOSFETで差動型のN
OR回路を構成している。この従来技術のTLBは、高
速に動作するが、配線数が従来のTLBでは1本である
のに対して3本必要である。したがって、回路面積が大
きい。
【0007】
【発明が解決しようとする課題】このように従来のCA
Mでは、一致検出回路の動作速度、CAM部の回路面
積、消費電力に改善の余地がある。これらの問題を解決
する技術として、本出願人は、特願平7ー58491号
(平成7年3月17日出願)において、TLBに適した
改善されたCAMを提案し、さらに、特願平7ー231
024号(平成7年9月8日出願)において、キャッシ
ュメモリに適したCAMを提案した。
【0008】また、従来のフルアソシアティブ方式のT
LBや仮想アドレスのキャッシュメモリでは、そこに保
持されたデータに障害が発生すると、本来ヒットすべき
でない入力データに対してヒットすることが生じる。
【0009】本発明の目的は、より高速なCAMを有す
る半導体集積回路を提供することである。
【0010】本発明の他の目的は、保持されたデータに
障害が発生したときに、間違ってヒットすることがない
CAMを有する半導体集積回路を提供することである。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明による半導体集積回路に設けた連想記憶装置
は、一致検出信号線の電位を検出するための一致検出回
路内に、一致検出信号線の電位と参照電位の電位差を検
出する差動増幅器と加速回路とを有し、この加速回路
は、データ一致検出の開始時に上記一致検出信号線の電
位を参照電位近くまで急速に引き上げ、上記複数のメモ
リセルの全てが一致検出信号を出力したために上記複数
のMOSトランジスタが全てオフとなった後は、上記一
致検出信号線の電位を上記基準電圧より大きな電位に引
き上げ、かつ、上記複数のメモリセルの少なくとも一つ
が不一致検出信号を出力したために上記複数のMOSト
ランジスタの少なくとも一つがオンになった後は、上記
一致検出信号線の電位を上記基準電圧より小さな値にす
る電流を上記一致検出信号線に供給するように構成され
る。
【0012】さらに上記他の目的を達成するために、本
発明による半導体集積回路に設けた連想記憶装置は、複
数のメモリセルに記憶されたデータのパリティビットも
それらのメモリセル内に記憶する。
【0013】
【発明の実施の形態】以下、本発明に係るCAMを図面
に示したいくつかの実施の形態を参照してさらに詳細に
説明する。なお、以下においては、同じ参照番号は同じ
ものもしくは類似のものを表わすものとする。また、第
2の実施の形態以降では、第1の実施の形態との相違点
を主に説明する。
【0014】<発明の実施の形態1>まず、本発明に係
るCAMを使用したTLBを有するマイクロコンピュー
タシステムを説明する。図14において、マイクロプロ
セッサユニット(MPU)100は、中央処理ユニット
(CPU)101からメモリ制御ユニット106、実ア
ドレスキャッシュ104を介して、メモリユニット10
8のデータをアクセスし、入出力制御ユニット105を
介して外部記憶装置109をアクセスする。メモリ制御
ユニット106はCPUから与えられる仮想アドレスを
実アドレスに変換し、変換された実アドレスで実アドレ
スキャッシュ104やメモリユニット108のデータを
アクセスする。メモリ制御ユニット106は、この仮想
アドレスと、上記変換により得られた実アドレスとを保
持するTLB200を有し、後に同じ仮想アドレスがC
PUから与えられたときには、このTLB200内の、
実アドレスを使用する。このときには、メモリ制御ユニ
ット106内でのアドレス変換を行わずに、実アドレス
を得ることができる。このTLBは、本発明によるCA
Mにより構成される。
【0015】図1はこのTLBの概略ブロックを示す。
図において、CAM部(1)700、CAM部(2)7
10は複数のアドレス情報を保持するための、マトリッ
クスに配列された複数のCAMセルからなり、各ロー
は、一つのアドレス情報を保持する。CAM部(1)7
00、CAM部(2)710は、これらのアドレス情報
を分割して保持する。以下では、これらのCAM部にま
とめて言及するときには、単にCAM部ということがあ
る。一致検出部730は、それぞれ一つのローに対応し
て設けられた複数の一致検出回路からなり、各一致検出
回路は、信号CPUから線92を介して供給されたアド
レス情報とCAM部700、710の内のその一致検出
回路が接続された一つのローに保持されたアドレス情報
との一致を検出する。CPUから送られてくるアドレス
情報およびTLB内に記憶されるアドレス情報には、仮
想アドレス(以下VAと書く)そのほかの情報が含まれ
る。
【0016】データRAM部750は、マトリックス状
に配列された複数の実アドレス保持用のメモリセルを有
するSRAMメモリからなり、各ローは一つの実アドレ
スを保持し、CAM部700、710の一つのローに対
応して設けられ、そのローに対応する一致検出回路が一
致を検出したときに、そのローに対応するデータRAM
部750内のローに保持された実アドレスを読み出し、
センス&出力回路760がこれをセレクタ770を介し
て出力する。
【0017】前置CAM部780は、CAM部700、
710に保持された複数のアドレス情報より少ないアド
レス情報を保持するもので、CAM部700、710で
の一致検出より前に、動作する。このために、前置CA
M部780も、アドレス情報を保持するための、マトリ
ックス状に配列されたCAMセルからなるが、CAM部
700、710のローよりははるかに少ない、数個のロ
ーよりなり、さらに、これらのCAMセルは、CAM部
700、710のように二つの部分に分割はされていな
い。なお、一致検出部830は、前置CAM部780の
一つのローにそれぞれ対応して設けられた一致検出回路
からなり、それぞれは、一致検出部730内の一致検出
回路と同様の構造を有する。
【0018】データ記憶回路790は、前置CAM部7
80の一つのローに対応してそれぞれ設けられた、実ア
ドレス保持用の複数のレジスタからなり、一致検出部8
30内のいずれかの一致検出回路が、線92から供給さ
れたアドレス情報に対する一致を検出したときには、そ
の一致検出回路が接続されたローに対応するレジスタ内
の実アドレスを出力する。電源制御回路81は、一致検
出部830で一致が検出されたときに、一致検出部73
0への電源供給を停止し、その動作を中止させ、それに
より電力低減を図る。
【0019】書き込み制御部800は、CPUから線9
4を介して供給される書き込みデータをデータ記憶回路
790あるいはデータRAM部750に書き込む回路で
ある。デコーダ69は、CPUから線90を介して供給
されるローセレクト信号により指定される一つのローを
選択し、CPUから線92を介して供給されるアドレス
情報を書き込むべきローと、CPUから線94を介して
供給されるデータを書き込むべき、データRAM部75
0内のローを選択する。同様に、デコーダ68は、CP
Uから線90を介して供給される上記ローセレクト信号
により指定される、前置CAM内の一つのローとデータ
記憶部回路790内の一つのレジスタを、それぞれアド
レス情報および書き込みデータの書き込みのために選択
する。
【0020】以上の回路のブロック構造は、先に出願し
た特願平7ー58491号に記載のものと基本的に同じ
であるが、本実施の形態は、主として一致検出部73
0、830、センス&出力部760がより高速に動作す
るように構成されている点でこの先願記載のものと異な
る。
【0021】図2には、CAM部(1)700、CAM
部(2)710の回路構造を示す。70はCAM部
(1)700の要部を示し、23は、一つのローに属す
る複数、例えばおおよそ30個のCAMセルの一つを示
す。10は、このメモリセルが属するカラムに設けられ
たインバータである。71はCAM部(2)710の要
部を示し、93は、同じローに属するCAM部(2)7
10の複数のCAMセルの一つを示す。87は、一致検
出部730内のこのローに対するCAM部(2)710
のための一致検出回路である。CAM部(2)710は
各ローに対して数ビット、ここでは3ビットのメモリセ
ルからなる。一致検出回路87は、これらのメモリセル
の出力84、85、86が入力されるNAND回路によ
り構成されている。73は、一致検出部730内のこの
ローに対するCAM部(1)700とCAM部(2)7
10のための一致検出回路で、差動増幅回路32と、出
力回路43と、トランジスタ30、31、33、35、
36とからなる。以上の述べた要素を含むブロック72
がTLBを構成するCAMアレーの1行(1エントリ
ー)を構成する。本実施例では回路ブロック72が64
行分設けられてCAMアレー部を構成する。端子21は
CPUに接続される線92(図1)の一つで、CPUか
ら供給されるアドレス情報の1ビットが入力される。イ
ンバータ10は、この1ビットの信号21の補の信号を
線22に生成する。
【0022】このCAMの構造の内、本実施の形態で
は、一致検出回路73内に加速回路356以外は、先願
特願平7ー58491号に記載の回路と基本的に同じで
あり、それらの部分の回路の動作と特徴はその先願に記
載したとおりである。この加速回路356は、トランジ
スタ35、36からなり、差動増幅回路32での検出動
作を加速する働きを有する。さらに、後に説明するよう
に、差動増幅回路32の端子37に供給する参照電圧を
発生する回路を工夫し、差動増幅回路32での消費電力
を低減するようになっている。
【0023】以下、図2の回路の動作を説明する。入力
アドレス情報の1ビットがデータ線21に印加され、そ
れに接続されインバータ10によってその入力信号の補
の信号が補のデータ線22に発生される。データ線2
1、22上の一対の相補の信号はCAMセル23に導か
れる。例えば、データ線21の入力信号が高レベルの信
号であってCAMセル23の記憶データがノード18が
高レベルであるときにはN型MOSトランジスタ(以
下、NMOSと呼ぶ)19が導通し、データ線22上の
入力信号の補信号である低レベルの信号をNMOS26
のゲートに供給するので、NMOS26はOff状態と
なる。この状態をデータが一致したとする。データが不
一致のときを説明する。データ線21の入力データが低
レベルで、CAMセル23のノード18が高レベルであ
るときを説明する。このときにもNMOS19が導通し
て高レベルの信号をNMOS26のゲートに導き、NM
OS26は導通する。CAMセル23のノード18が低
レベルであるときには、上述の入力信号との関係が入れ
替わるのみなので説明を省略する。すなわち、CAM部
ではデータの一致と不一致とがNMOS26の非導通と
導通によってしめされる。
【0024】CAM部(1)700には入力されるアド
レス情報のビット数よりCAM部(2)710のビット
数(今の例では、3)だけ少ない数だけ、図2の70で
示す要素回路が設けられ、これらの全ての要素回路のN
MOS26に相当するNMOSのドレインは、一致検出
信号線25に並列に接続されている。このように構成す
ると入力されたアドレス情報の内、全てのビットマイナ
ス3ビットがCAMセルに記憶されたアドレス情報に一
致したときのみ一致検出信号線25は接地端子から切り
離される。なお、ワード線24はCAMセル23にデー
タを書き込むためのもので、ワード線24を高レベルに
持ち上げることでCAMセル23にデータ線対21、2
2上のデータを書き込むことができる。
【0025】上述したように、CAM部(1)に入力さ
れるアドレス情報ビットとCAM部(1)内の同数のC
AMセルの記憶データとがすべて一致したときには一致
検出信号線25は接地端子から切り離されているので、
P型MOSトランジスタ(以下、PMOSと呼ぶ)3
0、31、35、NMOS36によって電流を供給する
と、一致検出信号線25の電位は引き上げられる。時間
が十分経過したときのこの一致検出信号線25の最終到
達電位は正の電源電圧になる。ここでNMOS33は、
一致検出動作の開始時に一致検出信号線25を接地電位
にして検出条件を整える働きをする。
【0026】入力アドレス情報とCAMセルのデータと
が1ビットのみ不一致のときの一致検出信号線25の変
化を説明する。CAM部(2)の3ビットが全て一致す
ると仮定する。後に説明するように、この場合には、P
MOS30のゲートにはローレベルが供給される。入力
アドレス情報とCAM部(1)内の一つのローに属する
CAMセルのデータとが1ビットのみ不一致のときにP
MOS30、31、35、NMOS36によって供給さ
れる電流を1個のNMOS26に流れる電流にほぼ等し
く設計しておくと、一致検出信号線25の電位は正の電
源電圧の約1/2に達してそれ以上には上昇しなくな
る。この供給電流によってこのときの到達電位は制御で
きるので、この供給電流の制御によってこの到達電位を
接地電位よりNMOSのVtだけ高い電位に設定する。
このようにすると差動増幅回路32には殆ど電流が流れ
なくなる。すなわち、一つのローのCAMセルの全てで
一致が生じるときのみ差動増幅器32に電流が供給さ
れ、少なくとも一つのCAMセルで不一致が生じるとの
ときには電流がほとんど流れない。一致するのはCAM
の1エントリ(CAMセルマトリックスの1行をエント
リと通称されるので以下エントリと書く)のみで残りの
エントリーは全てデータが不一致であるからこの設定に
よって消費電力は大幅に削減される。
【0027】差動増幅器32の参照電位(端子37に供
給する電位)についてはあとで述べるが、1個のデータ
のみ不一致のときの一致検出信号線25の電位よりわず
かに高い電位に設定する。NMOS36のゲートには所
定の電位が与えられており、PMOS35から供給され
る電流によって信号線25が引き上げられる電位の上限
を決める働きをする。このようにするとPMOS35か
ら供給される電流によって信号線25を所定の電位まで
短時間で引き上げることができ、差動増幅器32の一致
検出を高速化することができる。信号線27、28、2
9はそれぞれ一致検出信号線への電流を供給するPMO
S制御信号線、差動増幅器の電流制御用のNMOS34
に供給する信号線、NMOS36のゲート電位供給信号
線である。
【0028】図3は図2の差動増幅回路32の端子37
に与える参照電圧およびNMOS36のゲートに与える
電圧を発生する回路で、差動増幅回路32でのデータ一
致検出をより高速におこなうように構成されている。N
MOS102は図2のCAMセル23内のNMOS26
と同じ形状を有し、そのゲートに与えられる電圧(Vc
c−Vt)は同セル23の一致検出電圧の高レベル(デ
ータが不一致のときにNMOS26のゲートに供給され
る電圧で、Vccは正の電源電圧、VtはNMOS26
のしきい電圧である)の電位であって、この電位供給に
よって、CAMセルが不一致のときにながれる電流と等
しい電流をPMOS103に供給する。11個のMOS
を用いるCAMセルではこの電位はVccである。この
NMOSに流れる電流はPMOS103と同じ形状のP
MOSを介して同電流と等しい電流がNMOS105、
106に供給されて、図2のNMOS36に与えるゲー
ト電圧VR1を線29に発生させる。この回路によって
ゲート電圧VR1はNMOSのしきい電圧Vtの約2倍
の電位に設定される。ゲート電圧VR1は厳密にこの電
位である必要はなく、別途発生させた電圧を供給しても
よいが、Vtの2倍の電位に設定すると後で述べる参照
電圧VRの電位がVtに設定され、差動増幅器113の
消費電力が少なく、かつ高速動作する電位となる。ゲー
ト電圧VR1はゲート108に供給される。NMOS1
09はNMOS102と同じ形状をもち、PMOS11
0は一致検出信号線への電流供給を行うPMOS35
(図2)より約20%供給電流が大きい。また、PMO
S35は所定の時間に一致検出信号線25に電流を供給
するもので、そのゲートは電流が供給される間は接地レ
ベルに保持される。
【0029】図4は、図3の回路の主要ノードの電位の
時間変化を示している。信号Vaccは、信号一致検出
信号線25への供給電流を制御する、線27を介してP
MOS31、35に印加される信号で、検出加速パルス
とも呼ぶ。この信号が、Vccから接地レベルに変化す
ると一致信号線25に接続されているCAMセル23が
すべて一致しているときには、図4に”一致”としめし
た電圧波形のように一致検出信号線25の電位は時間と
ともに上昇する。ここで、Vaccが接地レベルに引き
下げられた時刻から参照電圧VRに引き上げられるまで
の時間変化が急速であるのは、参照電圧VRまではNM
OS36を介してPMOS35から電流が供給されるた
めである。一致検出信号線25の電位がVRに達すると
NMOS36のゲートとソース間電圧がしきい電圧Vt
となるので、NMOS36を介する電流の供給は停止
し、それにより一致検出信号線25の電位の上昇速度は
低下する。一方、図4には、一致検出信号線25に接続
されたCAMセルの内1個のみが不一致の時の同信号線
電位の時間変化を”不一致”の記号で示している。この
ときにはNMOS36を介してPMOS35から電流は
供給され続けるが、電流を供給するPMOS110の電
流がPMOS35より多いために、参照電圧VRまでは
上昇せずに電位上昇は停止する。一致検出信号線25に
接続されたCAMセルが2個以上不一致のときにはその
電位上昇がさらに小さくなることは容易に理解できる。
【0030】以上述べたように図2の回路では、一致検
出を一致検出信号線25の電位と参照電圧線VRとの差
によって検出でき、また、検出加速パルスVaccが接
地レベルに引き下げられた直後はNMOS31、36に
よって供給される電流によって一致検出信号線が参照電
圧VRまで高速に引き上げられるために一致検出動作が
高速化される。また、不一致の一致検出信号線の電位は
参照電圧VRを越えることはないので、Vaccを接地
電位に保持する時間を厳密に限定する必要はなく、回路
の制御が容易であることも本回路の特徴である。しか
し、Vaccが接地レベルにある期間はMOS31、3
6によって不一致の一致検出信号線25に電流が供給さ
れ続けるので、消費電力削減には一致検出の信号が出力
されれば速やかに高レベルにVaccを引き上げ電流の
供給を停止することが望ましい。なお、参照電圧発生回
路101は、図1の差動増幅回路32以外の差動増幅器
にも適用できる。
【0031】ここで、図2を用いて、CAM部(2)7
10の働きを簡単に説明する。この回路は先願特願平7
−58491号に記載したものと実質的に同じである。
CAM部(2)710はアドレス入力(入力信号)の内
の3ビット程度の信号が一致検出の対象にされる。そこ
に含まれるCAMセル93は、CAM部(1)のメモリ
セル23とほぼ同じ構造を有するが、回路の接地が異な
っており、それぞれでの一致検出の結果、一致が検出さ
れると、線84、85、86がそれぞれハイレベルにな
る。CAM(2)用の一致検出回路87は、これらの信
号線が全てハイの時のみに、対応する一致信号発生回路
73内のPMOS30にローレベルを供給して、この回
路73を駆動する。こうして、CAM部(1)内の全一
致検出回路73の内の一部のみを駆動するようになって
いる。
【0032】図5は、前置CAM部780の要部とその
ための一致検出回路部830の要部を示す。図では、図
2と同じ構造の要素には同じ参照番号を付けてある。図
5と図2とから分かるように、前置CAM部780は、
CAM部(1)700と同じ構造を有する。前置CAM
部のための一致検出部830内の一致検出回路83に
は、図2に示したCAM部(2)710のための一致検
出回路87がなく、これにともない、CAM部のための
一致検出回路73内のNMOS30がない。しかし、一
致検出部830内の一致検出回路83にはCAM部のた
めの一致検出回路73内のPMOS35、NMOS36
からなる加速回路356が設けられているのは図2と同
じである。従って、前置CAM部780とそのための一
致検出回路部830の回路動作は、CAM部(1)70
0、一致検出回路部730と同様なので説明は省略す
る。
【0033】図1のRAMデータ部750は一般にはS
RAMメモリにより構成できる。SRAMでは、一般に
メモリセルはフリップフロップの構造をし、一対のデー
タ線に接続される。センス&出力回路760は、それぞ
れのデータ線対に対応して、その一対のデータ線の電圧
を差動で検出するセンスアンプを有する。図6は、この
ようなセンスアンプに好適なセンスアンプを示す。この
回路の特徴は差動増幅器の入力換算のオフセット電圧を
軽減して高速に微小な電圧信号を差動増幅器で検出する
ことにある。
【0034】さらに、詳しくは、ゲートに入力信号が接
続され、ドレインが正の電源Vccに、また、ソースは
所定の電流を供給するNMOS203、204に接続さ
れたNMOS201、202が設けられ、そのソース端
子が差動増幅器を構成するNMOS205、206のゲ
ートにそれぞれ接続される。このとき、NMOS20
1、202のゲート・ソース間の電圧Vgsは電流が小
さいときにはNMOS203、204から供給される電
流Iefとの間にIef=Io exp((Vgs−V
t)/nkT)の関係がある。すなわち、IefをNM
OS203、204によって制御すれば、NMOS20
1、202のゲート・ソース間の電圧を任意に制御でき
る。
【0035】ここで、NMOS201、202、20
5、206、PMOS221、222で生じる出力端子
207、208の電圧差をゼロになるように電流Ief
を制御すれば、これらの回路を構成するNMOSの特性
に不一致があってもこれらが補正されて、あたかも完全
に特性がそろった回路と同等の性能を実現できる。ま
た、NMOS201、202に流す電流が上記の関係を
逸脱する領域に多少入っても、両者の関係は一義的に確
定するので、電流の調整によって同様の補正をおこなう
ことができることはいうまでもない。以下、回路の動作
を詳細に説明する。
【0036】入力端子IN、INBにはメモリ回路のデ
ータ線対が接続され、メモリセルからの電流によって両
線間には電位差が生じる。この電位差はデータの読み出
し開始時には0Vであって、時間に比例して増加する。
データ読み出し開始時のデータ線の電位は正の電源電圧
Vccである。データの読み出し開始以前にVcs、V
swが高レベルに引き上げられ、NMOS201、20
2に電流が供給されるとNMOS205、206のゲー
トには(Vcc−Vt)の電位が与えられ出力端子20
7、208の電位を引き下げる。NMOS 201と2
02、205と206、PMOS221、222の特性
がそろっていれば、出力端子207、208の電位は等
しいが、アンバランスがあるとそのアンバランスに応じ
て出力端子間に電位差が生じる。
【0037】例えば、端子208の電位が高くなったと
きにはその電位がNMOS209を通してNMOS20
3のゲートに供給されIefが増加する。これによって
NMOS205のゲート電位が引き下げられて出力端子
207の電位が上昇して出力端子207、208間の電
位差を減少させる。電位差の減少率はNMOS205、
206および203、204で構成する差動増幅器の電
圧利得の逆数である。電圧利得は2段の差動増幅器で容
易に20dbが得られ、入力換算のアンバランスは5m
V以下になった。このように、アンバランスを補正した
のち、入力信号の検出を開始する。まず、Vswを低レ
ベルにして出力端子207、208からNMOS20
3、204のゲート端子を切り離す。しかし、ゲート電
位は容量211、212によって保持される。この切り
離しで生じるゲート電位の変化はNMOS203、20
4が差動回路になっているので軽減される。この状態で
入力端子IN、INBに検出信号を接続するとアンバラ
ンスが補正された状態で入力信号を検出でき、高速に信
号検出する回路が得られた。
【0038】<発明の実施の形態1の変形例> (1)他のセンスアンプ(その1) 図7は、図6で記したセンスアンプとは、電流を供給す
る部分が異なる他のセンスアンプを示す。この図では、
所定の電流を供給するために出力端子207、208の
電圧の差を調べて、その差がゼロになるようにEPRO
M等で用いられているフローティング ゲート構造をも
つNMOS213、214のゲートに電圧を加えて、そ
のフローティングゲートの電圧を調整して、恒久的に出
力端子間の電位差をゼロに設定する回路である。この方
法によれば、集積回路を製造した時点で検査して、電流
Iefを設定するのみで恒久的にMOSFETのデバイ
ス特性の不一致を補正できる。
【0039】(2)他のセンスアンプ(その2) 図8は、図6で記したセンスアンプとは、電流を供給す
る部分が異なるさらに他のセンスアンプを示す。この図
ではあらかじめIefを調整するNMOS群215、2
16としてそれぞれ3個のNMOSを設けておき、これ
らの導通/非導通を制御することで供給するIefを制
御する。このときには、図7で用いたフローティングゲ
ートNMOSを導通させて接地電位にするか、正の電源
電圧Vccにするかに制御動作が単純化されるという特
徴がある。また、Iefを制御するNMOS群215、
216の導通/非導通をヒューズの切断等広くプログラ
マブルROMを用いておこなうことも可能となる。
【0040】図6の回路は、信号を検出する直前に出力
端子の電位差が小さくなるようにIefを調整した状態
で入力の信号を検出する。従って、NMOSの特性が経
時変化しても、その特性を補正するので、より精度よく
補正できる特徴がある。一方、図7、8の回路では一度
補正をおこなうと、その後の補正が不要で、使用法が限
定されず、通常の増幅器でアンバランスが補正される特
徴を持っている。しかし、経時変化に対しては補正でき
ない。もちろん図7、8の回路でも所望の時刻に再度補
正を実施すれば補正を行える。
【0041】(3)他の形式のメモリセル 発明の実施の形態1において、上記メモリセル23、9
3に代えて、それ自体公知の、比較機能を有するメモリ
セル、例えば、先願特願平7−58491号で引用した
ものも使用可能である。
【0042】(4)可変長データに対応するTLB 発明の実施の形態1を可変長データに対応するTLBの
構成するように変形することも可能である。このときに
は、発明の実施の形態1に使用するメモリセルとして、
例えば、図9に示す、特開平1−220293に記載さ
れた可変長データ用のメモリセルを使用すればよい。こ
のようなTLBについての本発明者による検討の結果、
図9に示されているNMOS260の設計および設置個
所について新たな知見がえられた。
【0043】その1はCAMセルに流れる一致検出電流
の減少とそれにともなう一致検出時間の増加である。上
記TLBでは、NMOS260の導通/遮断の動作を可
変長指定ビットによって制御しているが、導通して電流
を流すときにはNMOS250と直列に接続されている
ために、従来のCAMセルにくらべて電流が減少する。
このため、遅延時間を増加させないためには構成するM
OSFETの駆動能力の向上が求められる。例えば、全
てのMOSFETのゲート幅をその分増せばよいが、こ
のときには入力信号が導かれるデータ線(例えば、図2
の端子21、22が接続されるデータ線)の負荷が大き
くなり駆動時間の増加や消費電力の増加を招く。そこ
で、NMOS260のゲート幅のみを増加させることを
検討した。その結果NMOS250のゲート幅の1.5
倍以上にNMOS260のゲート幅を設計すると電流の
減少が大幅に軽減できることを見出した。NMOS26
0のゲート幅を増加させるとその分CAMセルの面積を
増加させるが、その増加は軽微であり、また、VA入力
データ線の負荷の増加もほとんどない結果がえられた。
【0044】その2は、この検討を通して、NMOS2
60を複数のCAMセルに1個設けることが面積の点か
らも、また、電気的特性の点からも有利であることが明
らかになったことである。すなわち、入力のVAデータ
とCAMセル内のデータとを比較して不一致があるとき
に”不一致”であることを示す信号の最小の信号レベル
は、CAMセル内のNMOS、例えば図9のNMOS2
50が1個導通状態にあることである。すなわち、複数
個のCAMセルに共通して1個のMOSトランジスタ
(例えばNMOS260)を設置すれば十分といえる。
【0045】その3は、NMOS260の設置個所であ
る。検討の結果、同NMOS260のドレインは一致検
出信号線に接続するように設けることで寄生容量増加を
最も抑制できることが示された。この可変長指定ビット
の処理方法は、特に、発明の実施の形態1で述べた、一
致信号を一定の電流を供給して発生させる方法(図2の
一致検出回路73による一致検出方法)においては供給
電流が限定されているのでその効果がさらによく引き出
された。また、NMOS260の共用化によって同回路
の占有面積は軽減された。
【0046】<発明の実施の形態2>本実施の形態で
は、記憶されたデータに誤りが生じたときにも正常に動
作するフルアソシアティブ方式のTLBを提供する。具
体的には、CAM部に記憶されたデータのパリティデー
タもCAM部に記憶する。入力されたデータをメモリ内
に記憶されているデータと照合して一致するデータを見
つけだし、そのデータに関連する記憶情報を出力するメ
モリ(CAM)の回路は図2において詳しく説明した。
また、計算機用のアドレス変換装置のTLBの回路とし
て電子情報通信学会論文誌、第E79−C巻、No.
6、pp.757−762に詳しく記載されている。し
かし、これらの回路には信頼性向上のためのパリティビ
ットは備えていない。パリティビットをつけ加えるため
にCAMの動作と構成を簡単にまとめる。
【0047】図2の説明で詳細に記したように、CAM
の動作は次のようにまとめられる。まず、比較するため
のデータが入力され、その入力データがマトリックス状
に配置されたCAM内に記憶されているデータと比較さ
れる。入力データと記憶されているデータとが一致する
と一致した行(CAMでは1行に入力データと比較され
るデータ(CAM部のデータ)と比較されるデータに関
連するデータ(RAM部のデータ)が記憶されているの
で、行のことをエントリと呼ぶ)に記憶された関連する
データを読み出し、出力する。
【0048】図10には図2のCAM部に記憶される1
エントリ分のデータをしめしている。VA10からVA
31はCAM部(図2のCAM部など)の記憶データを
しめす。図10のデータがなんらかの障害で1ビット反
転したときを考える。VA10からVA31までのデー
タの中で1ビットのデータが反転すると、障害発生前の
データと同一データがCAMに入力されても記憶されて
いるデータは障害で1ビット反転しているので不一致と
なる。このため、CAM部に一致するデータは存在しな
いとして処理されCAMの動作は正常動作である。しか
し、障害で反転したデータと同一のデータが入力される
と両者は一致するので障害の発生したデータのエントリ
のRAM部のデータを出力することになりCAMは誤っ
たデータを出力する。このようにCAMは従来のメモリ
の動作とは異なった動作をするために、従来の考え方で
パリティビットをつけ加えることはできない。
【0049】本実施の形態はこのように障害の発生した
データに一致するデータが入力されたときにもデータを
不一致と判定するCAMの構成を提供する。この構成は
発明者が次の関係を見出したことにもとづいている。そ
れは、障害で1ビットのデータが反転した記憶データと
同一の入力データに対するパリティビットの値は障害発
生前のデータのパリティビットの値とは必ず異なるとい
う関係である。すなわち、障害の発生したデータのパリ
ティビットと障害が発生したデータと同一の入力データ
のパリティビットとを比較することで障害が発生したた
めに一致と判定されたデータか正常に一致したデータか
を判別する。このようなパリティビットの機能は、従来
のパリティビットが障害の発生したデータに対して障害
の発生したことを示す信号として用いられる機能とは基
本的に異なっている。すなわち、本実施の形態の構成は
障害が発生したために誤ったエントリのデータが一致と
判定されたときに、そのデータの読み出しを停止するた
めにパリティビットを用いる方法であり、従来のパリテ
ィビットの機能とは全く異なっている。
【0050】以下に図面を用いて本実施の形態のCAM
の構成と動作をさらに詳しく説明する。
【0051】図17(a)は本実施の形態の1エントリ
分の記憶データをしめしている。CAM部データの右端
に1ビットのパリティビットPcを設けている。パリテ
ィビット以外は図2の構成と同じである。図17にしめ
す構成のデータに対して比較するデータが入力されたと
きを説明する。図17(a)では記憶データに障害が発
生しなければ、図17(a)のデータと同じ入力データ
に対してパリティビットを含めてCAM部で一致し、そ
れ以外のデータに対しては不一致となることはあきらか
で、CAMは正常に動作することが理解できる。1ビッ
トの障害が発生したときのデータの例を図17(b)に
1エントリ分のデータとして示している。このデータは
1ビットの障害を起こしているので本来一致する入力デ
ータに対しては不一致となる。この不一致の判定はCA
M内にデータがないとして処理され、その処理に要する
時間は不利益となるが誤ったデータは出力されず、ま
た、CAM動作としては正常な動作である。次に、CA
Mに障害の発生したデータと同一のデータが入力された
ときを考察する。先に述べたように障害の発生したデー
タに対してはパリティビットの値が正しくない値となっ
ているので、入力されたデータのパリティビットとは異
なる。故にパリティビットPcまで含めてデータの一致
を調べる図17の構成では障害の発生したデータは不一
致と判定されて誤ったデータが出力されることはなく、
また、CAMの動作は正常動作である。以上の説明か
ら、CAM部にパリティビットを1ビット追加するデー
タ構造のCAMを製作することでデータの信頼性を保証
できる。
【0052】<発明の実施の形態2の変形1>図18に
は図17と同様にCAMの1エントリ分の記憶データを
しめしている。図17と異なる点は、パリティビットP
rがRAM部に追加されている点にある。このデータ構
成では上記課題のところで述べたようにCAM内で2個
のデータが一致する可能性がある。本実施の形態では、
2個のデータの一致を検出する回路を提供し、この回路
で2個のデータが一致したことを検出するとデータを不
一致と判定する。これによって、以下に述べるように課
題を解決する。以下詳しく説明する。
【0053】記憶データが障害を起こさないときには、
入力データと一致する記憶データに対応するエントリの
RAM部のデータが読み出され、RAM部に入れたパリ
ティビットPrも一致するので、入力されたデータとR
AM部に記憶されたデータの一致を調べ、その一致によ
って信頼性が保証される。また、障害が発生したデータ
と同じデータがCAM部に記憶されていないときには2
個のデータが一致したことを検出する回路は動作せず、
RAM部のデータが読みだされる。しかし、読みだされ
たデータのパリティビットPrは上述したようにCAM
部で一致したデータのパリティビットとは値が異なって
いる。この両パリティビットが比較されて不一致となり
読みだされたデータが誤ったデータであることが検出さ
れる。この検出結果からCAMには一致するデータが存
在しないとする信号を発生することで誤ったデータを出
力することはなく、また、CAMの動作は正常な動作で
ある。障害が発生したデータと同じデータがCAM内に
存在して、かつ、そのデータと同じデータが入力された
ときには2個のデータが一致したことを検出する回路
(図16の回路)によってデータが誤っていることを検
出して一致データが存在しないとして処理すれば、誤っ
たデータは出力されることはなく、かつ、CAMの動作
は正常動作である。
【0054】以下、図16の回路を説明する。信号線5
00、501、561は入力アドレスがCAM部の記憶
データと一致したときに一致したエントリをしめす信号
線で、図2の端子44の信号である。すなわち、一致し
たエントリの信号線はハイレベル、不一致のエントリの
信号線はローレベルに設計される。この信号は図1のデ
ータRAM部のワード線の信号と兼用できる。信号線5
00、501、561にはそれぞれNMOS570のゲ
ートが接続される。そのNMOSのソースは接地され、
ドレインは並列に信号線662に接続され、同信号線は
PMOS571のドレインに接続される。同PMOSと
同じ形状のPMOS572のソースは正の電源に接続さ
れ、両PMOSのゲートはともにNMOS573のドレ
インに接続される。PMOS572のドレインはソース
が接地されたNMOS573のドレインに接続され、N
MOSのゲートは正の電源に接続される。NMOS57
3の形状は信号線500から561に接続されたNMO
S570のゲート幅の1.2ないし1.6倍に設定し、
1.2ないし1.6倍の電流が流れる構造に設計してお
く。この回路の動作を説明する。図16の回路で、一致
するデータが存在しないときにはすべてのNMOS57
0がOFFであるので端子505はハイレベルを保持す
る。1個のエントリが一致してMOSFETが導通した
ときにはPMOS501から供給される電流が一致して
導通したNMOS570にながれる電流より大きいので
端子575の電位はハイレベルを保持する。2個のエン
トリが一致したときにはPMOS571から供給される
電流より2個のNMOS570に流れる電流が大きくな
るので端子575はローレベルとなる。端子575の電
位のレベルを検出することで2個のエントリが一致した
ことを検出できる。この信号でRAM部からの読み出し
データを破棄したり、読み出しを停止することは容易に
実現できるので付属する回路の提示と説明は省略する。
【0055】以上の説明をもとに、本実施の形態のパリ
ティ付CAMの構成を図19にまとめる。図19は図2
にパリティビットを追加した構成になっているので、図
2と同一動作をする回路には同じ番号と説明文をつけ、
説明は省略する。CAMへのパリティビットの追加は2
通りの構成が可能である。その1は、従来のCAMのC
AM部にパリティビットPc901のCAMセルを追加
する構成で、このときには、1列のCAMセル901を
追加のみでよい。その2は、CAMで2個以上のデータ
が一致したことを検出する回路900(これは図16の
回路に等しい)を追加して、この回路が2個以上のデー
タが一致していることを検出したときにはその時点で入
力データに一致するデータは存在しないとする信号を送
りだし(図示せず)、かつ、信号905によってセレク
タ770の出力を停止する機能を追加する。さらに、R
AM部にパリティビット用に1列のRAMセルPr90
2を追加して読みだされたパリティビットと入力された
パリティビット信号904とを比較回路903によって
比較して信号906によって一致ならばデータは正しい
のでセレクタ770からデータを出力し、不一致ならデ
ータが誤っていると判定してセレクタからの出力を停止
する構成とする。
【0056】以上の2通りの構成によってCAMのデー
タの信頼性の確認が可能となる。このほか、2通りのパ
リティビットが同一CAM構成で使えるようにCAM部
に入れるパリティビットを後で説明するマスクビットを
用いて制御してCAM部のパリティビットの機能を有効
化したり無効化するように制御できることはいうまでも
ない。
【0057】<発明の実施の形態2の変形2>図17、
18の実施例では入力データの一部のデータについて比
較を行なわない機能(以下この機能をマスク機能とい
う)は備えていない。マスク機能を備えたCAMの構成
はDigest of Technical Pape
rsof ISSCC96 pp.360−361(1
996)や特開平1−220293号に記載されてい
る。これらの回路から、従来のCAMにマスク情報を記
憶するメモリセルを追加し、その記憶されたマスク情報
にしたがって比較するか否かを制御する機能を追加する
のみでマスク機能が得られることが判明する。すなわ
ち、マスク機能は従来のCAMの回路を設計できる技術
者が、上記の文献を見れば容易に設計できる機能であ
る。このため、以下にマスク機能を追加する場合に注意
すべき事項を記すに留める。
【0058】マスク機能を備えたCAMについて簡単に
説明を追加する。マスク機能があるCAMではパリティ
ビットを次のように入れる必要がある。マスクされない
アドレス領域に1ビット、マスクされるアドレスにはマ
スクされるアドレス領域それぞれに1ビットのパリティ
ビットをいれる。このようにすればマスク機能がすべて
機能しているときにはマスクされないアドレス領域のパ
リティビットのみを比較することでデータに誤りのない
ことが示される。マスクされるアドレス領域がマスクさ
れないときにはマスク領域ごとにパリティビットが比較
されるので、マスクされているときにはパリティビット
は機能しないのみであり、マスクされないときにはマス
ク領域内で一致が調べられるので、独立した領域として
考えればパリティビットがその領域のデータの信頼性を
しめし、かつ、すべてのパリティビットが一致すればデ
ータに誤りのないことがしめされることは容易に理解で
きると考える。
【0059】<発明の実施の形態3>本実施の形態で
は、CAMデータを読み出し可能なCAMをのべる。C
AMに記憶されているデータを読み出せる構成にしてお
けば通常のRAMと同じ故障解析方法が適用出来る。
【0060】図11において、入力信号との一致比較動
作では、制御信号CAM、REは高レベル、CAMB、
VWEは低レベルに設定される。このようにすると入力
信号21はCAMのデータ線に導かれて一致比較がおこ
なわれる。CAM部データの読み出し動作では、制御信
号CAM、VWEは低レベル、CAMBは高レベルとし
て、REを低レベルにしてCAMのデータ線を高レベル
に引き上げたのち、REを低レベルにきりかえ、CAM
のデータ線を正の電源から切り放し、高インピーダンス
にする。この後にCAMのワード線24を高レベルに持
ち上げCAMセル23に記憶されているデータを読みだ
す。図9ではデータ線の読み出し信号のセンスアンプは
省略しているが、従来広く用いられている回路を用いて
もよく、既に述べた図6から8のセンスアンプを用いる
と読み出し処理が高速化される。
【0061】VWE信号によるデータ比較のマスク動作
を説明する。このマスク動作では、信号CAMは低レベ
ル、CAMB、REは高レベルとして、VWEを高レベ
ルにしてCAMのデータ線を低レベルに引き下げる。C
AMのデータ線対のいづれもが低レベルとなるのでこの
設定によって入力データにかかわらずNMOS26はO
ff状態になりこのデータに対しては比較処理の行なわ
れないことが分かる。
【0062】<発明の実施の形態3の変形例> (1)他の故障検出方法(その1) 以上に説明した、CAMセルに記憶されているデータを
読みだす回路では、CAMに記憶されているデータを読
みだすためには、図11の説明で記したようにCAMの
データ線対の2本とも高レベルに持ち上げたのちに高イ
ンピーダンス状態にすることが必要で、このための回路
がCAMに入力するデータの流れの中にはいる。この読
み出し回路の追加によってこのCAMを用いるTLBの
変換時間が増加し、あるいは、キャッシュメモリのアク
セス時間が増加する。このような変換時間が増加しない
ようにするには、以下の方法を採る。
【0063】この故障解析ではCAMに記憶されている
VAを別途記憶回路(図示せず)に記憶しておき、故障
解析動作ではこのVAをCAMに入力し、読みだされた
データが所定のエントリであることを確認する。この処
理でエントリが所定のものでなかったり、一致するデー
タがなくミスと判定されたときにはそのエントリに故障
のあることが検出できる。ここで、別途記憶しておくC
AMのエントリのアドレスはTLBやキャッシュメモリ
のデータRAM部に記憶させておくのが構成としては簡
単である。しかし、データRAM部にVAを記憶させる
とデータRAM部のカラム数(メモリセルの列)が記憶
するデータだけ増加し、ワード線の負荷が増してデータ
の読み出し時間が増加する。これを避けるためには別の
高速なメモリ(データRAM部のワード線に共通にしな
いということであって、隣接してこのメモリを設けてデ
コーダを共有する等の一体化したメモリであることが望
ましい)に記憶させておいて故障解析時に読み出して用
いるのがよい。
【0064】(2)他の故障検出方法(その2) 信頼性を確保する方法としてパリティビットPcm、P
rmをくわえること、2重一致時の検出する方法を先に
実施の形態2で述べた。これは、エラーが生じた後のデ
ータの信頼性確保であるが。上述の他の故障検出方法
(その1を適用して随時CAMに記憶されているデータ
を別途記憶されているVAとの比較を行なうことでエラ
ーとなっているデータを前もって検出して排除すること
でエラーの発生を減少させ、エラー発生に伴う処理を削
減できる。
【0065】<発明の実施の形態4>図12は、本発明
の新規なTLBの構成例を示す。従来のTLBでは仮想
アドレスVAから実アドレスPAへの変換を行う機能を
備えているが、マルチタスクのシステムではタスクのI
Dが次々と追加されID番号がすべて使用された状態に
なり、一度用いたID番号を新たなタスクに割り付ける
ことが必要になることがある。このように一度使用され
たID番号をあらたなタスクに割り付けるときには、対
応するID番号で記憶されたCAMセルのデータを用い
ないようにする機構が必要となる。従来はTLB全ての
データを使えなくする処理をしていた。しかし、TLB
やキャッシュメモリの規模が大きくなると、このように
全てのデータを使えなくすると、有効なデータも使えな
くなるので新たにデータを書き込む間は全て一致するデ
ータが存在しないことになりヒット率が低下するのみな
らず、データの書き込み動作も無駄になる。新たに割り
付けるIDのみのデータを使えなくすることが望ましい
ことはいうまでもない。
【0066】この機能をもたせるために、本実施の形態
ではID用のCAMを切離し、まず、IDデータの一致
とVAデータとの一致を並行して調べる方式にした。こ
のようにすると、消費電力はその分増加するが動作速度
の低下は小さく、かつ、ID用CAM部にIDのVビッ
ト(Valid bit)を設けて所望のIDに読み出
し処理を禁止する機能をもたせることができる。これに
よって、IDが増加して新たにIDを用いる必要が生じ
てもTLBやキャッシュメモリの性能の低下を招くこと
なく処理を継続できるようになった。また、入力データ
で選ばれたIDの存在する位置(エントリー)がわかる
ように記号(エンコード用ビット)を付加してID用V
ビットで使用を禁止している行番号が読みだせるように
した。これによって、データを書き込む行の選択を簡単
に、かつ、効率良くおこなえるようになった。
【0067】本実施の形態では、ID用のVビットを設
けて読み出し処理を禁止している。このVビットで読み
出し処理の禁止されている行がわかると、新たにデータ
を書き込むときにその行を優先的に書きかえることで効
率のよいTLBのメモリ領域の利用ができる。しかし、
CAMでは入力データに対して複数の行が一致すること
を禁止している。この禁止制限を取り除いたことに本実
施の形態の特徴がある。このために、CAMのデコーダ
によって選ばれたエントリのVビットを読みだせるよう
にした。これによってVビットをあらかじめしらべてお
きVビットにもとづいて書き替えるエントリが選択でき
るようになった。
【0068】データが有効であることをしめすバリッド
ビットVについて説明する。VビットはプロセスIDご
とに変更できれば、IDの数に制限されることなくID
を切り替えることが出来る。すなわち、IDを変えたと
きには一斉にVビットを無効にすればその番号のIDを
新しいプロセスに用いて処理を開始できる。このために
は、IDのみで一致検出をおこない一致したVビットを
無効にすればよい。すなわち、ID以外の入力を比較し
ないようにして、かつ、この比較を行なっているときに
は一致が検出されてもデータRAMのワード線の電位を
低レベルに保持すればよい。これによってIDごとにV
ビットを短時間のうちに無効とすることができる。
【0069】本実施の形態では、さらに、Vビットはデ
コーダによって所望のエントリのVビットデータを読み
だせるようにしている。これによってあらかじめVビッ
トが無効となっているエントリを調べておきCAMのデ
ータ更新時にVビットが無効のエントリに優先してデー
タの更新をおこなっている。この方法によってデータ更
新時にVビットチェックに要する時間を省き、かつ、無
効なデータを記憶しているエントリを優先的に選んでデ
ータの更新ができ、CAMのデータの無効領域が削減で
きた。
【0070】Vビットのデコーダによる読み出しには別
途デコーダを設けてもよいが、図12にしめすようにN
AND回路91を設けて、NAND回路の入力の1を”
ロー”レベルとすることでVビットのみの読み出しをお
こない、また、同端子を”ハイ”レベルとすることでC
AMへのデータの書き込みをおこなうことができる。こ
れによってデコーダを共用することができる。
【0071】<発明の実施の形態4の変形例>本実施の
形態では、Vビットが無効であることを高速に検出する
方法を提供する。エンコード用ビットをVビット読み出
し用の各ワード線に1個のみMOSFETがある構成と
して、データ線にも1個のみのMOSFETがつながる
図13の構成にした。図13では1個のMOSFETを
白ぬきの円で示している。これによって、エンコーダ部
分はVビットでCAM動作をさせてVビットが読み出し
禁止状態(無効状態)にある行を並列に検出でき高速化
された。しかし、このようなエンコード ビットの作り
方は行数(エントリー数)が多くなるとその行数に比例
してエンコード部の面積が増えるといったトレードオフ
の関係にある。本実施の形態では面積増加を抑えるため
に、Vビットのチェックに用いるCAMを複数のブロッ
クに分けている。たとえば、本実施の形態ではブロック
に含まれる行数を8として高速に、かつ、Vビットチェ
ック回路の面積増加を抑えた回路を構成している。
【0072】<適用例>以上ではいろいろのTLBある
いはそれに適用する技術について説明したが、これらの
技術は広く一般の連想メモリ(CAM)に適用可能であ
る。例えば、CAMを用いたキャッシュメモリに適用可
能である。図15は、その様なキャッシュメモリを有す
る計算機システムを示す。中央制御ユニット(CPU)
101から仮想アドレスキャッシュメモリ102へのア
クセスは、仮想アドレスによって直接おこなう。この仮
想アドレスキャッシュメモリ102に本発明のCAMを
用いる。CPUからメモリユニット108のデータをア
クセスするには、メモリ制御ユニット106で仮想アド
レスを実アドレスに変換する。この変換には既に述べた
TLBが用いられる。変換されたアドレスでキャッシュ
メモリやメモリユニットのデータをアクセスする。
【0073】
【発明の効果】本発明に従って、連想記憶装置内に一致
検出信号線の電位を加速する回路を設けた場合には、こ
の連想記憶装置は一致検出動作を高速に行うことができ
る。
【0074】さらに、本発明に従って、連想記憶装置
に、そこに記憶するデータのパリティビットも記憶させ
た場合には、記憶されたデータに障害が発生した場合で
も間違って一致と検出することを防げる。
【図面の簡単な説明】
【図1】本発明によるTLBの概ブロック図。
【図2】図1のTLBのCAM部の回路図。
【図3】図2の回路に使用する基準電圧発生回路の回路
図。
【図4】図2の回路内の一致検出回路の動作波形図。
【図5】図1のTLBの前置CAM部の回路図。
【図6】図1のTLBにセンス&出力回路に好適なセン
スアンプの回路図。
【図7】図1のTLBにセンス&出力回路に好適な他の
センスアンプの回路図。
【図8】図1のTLBにセンス&出力回路に好適なさら
に他のセンスアンプの回路図。
【図9】図1のTLBに使用可能な他のCAMセルの回
路図。
【図10】本発明による他のTLBに記憶されるデータ
の構造を示す図。
【図11】本発明によるさらに他のTLBの主要部の回
路図。
【図12】本発明によるさらに他のTLBの概略ブロッ
ク図。
【図13】本発明によるさらに他のTLBの概略ブロッ
ク図。
【図14】図1のTLBが適用されるマイクロプロセッ
サの概略ブロック図。
【図15】図1のTLB内のCAMが適用可能なマイク
ロプロセッサの概略ブロック図。
【図16】本発明によるTLBに使用可能な2重一致検
出回路の概略図。
【図17】本発明によるさらにTLBに記憶される他の
データの構造を示す図。
【図18】本発明によるTLBに記憶されるさらに他の
データの他の構造を示す図。
【図19】本発明によるさらに他のTLBの主要部の回
路図。
【符号の説明】
356・・・加速回路
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11C 11/34 311 (72)発明者 石橋 孝一郎 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 橘 大 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 上原 敬二郎 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】複数ビットの入力信号を並列に供給するた
    めの複数のデータ線と、 それぞれ上記複数のデータ線の内の対応する一つに接続
    された複数のメモリセルと、 該複数のメモリセルに対応して設けられた一致検出信号
    線と、 それぞれ上記複数のメモリセルの内の対応する一つと上
    記一致検出信号線とを並列に接続するための複数のMO
    Sトランジスタと、 上記一致検出信号線に接続され、その電位を検出するた
    めの一致検出回路とを有する連想記憶装置を有し、 各メモリセルは、そのメモリセルに対応するデータ線か
    ら供給される一つの入力ビットに応答して、その供給さ
    れた入力ビットとそのメモリセルに記憶した情報とが一
    致したか否かを表す一致検出信号もしくは不一致検出信
    号をそのメモリセル内の所定のノードに切り換えて出力
    し、 各MOSトランジスタは、対応するメモリセルの上記所
    定のノードに接続されたゲートと、上記一致検出信号線
    に接続されたドレインと、所定の電位が供給されたソー
    スとを有し、 上記一致検出回路は、 上記一致検出信号線の電位と参照電位との差を検出する
    差動増幅回路と、 加速回路とを有し、 上記加速回路は、データ一致検出の開始時に上記一致検
    出信号線の電位を参照電位近くまで急速に引き上げ、上
    記複数のメモリセルの全てが一致検出信号を出力したた
    めに上記複数のMOSトランジスタが全てオフとなった
    後は、上記一致検出信号線の電位を上記基準電圧より大
    きな電位に引き上げ、かつ、上記複数のメモリセルの少
    なくとも一つが不一致検出信号を出力したために上記複
    数のMOSトランジスタの少なくとも一つがオンになっ
    た後は、上記一致検出信号線の電位を上記基準電圧より
    小さな値にする電流を上記一致検出信号線に供給する半
    導体集積回路。
  2. 【請求項2】上記加速回路は、上記一致検出信号線へ所
    定の時間電流を供給した後に、その供給を停止し、 上記差動増幅回路は、上記停止の後に、検出動作を開始
    する請求項1記載の半導体集積回路。
  3. 【請求項3】入力信号対、もしくは、入力信号と参照電
    位とがエミッタフォロワーのバイポーラトランジスタの
    ベースもしくはソースフォロワーのMOSFETのゲー
    トに導かれていて、そのエミッタフォロワーのエミッタ
    もしくはソースフォロワーのソースには所定の電流が供
    給され、それぞれのエミッタもしくはソースは差動増幅
    器に導かれて入力信号は同差動増幅器で増幅され、その
    出力はソースフォロワーの電流設定に帰還されるループ
    を備えており、同入力信号線対間、もしくは、入力信号
    と参照信号線間の電位差がない状態で出力の信号線対間
    の電位差が減少するように帰還ループが制御され、デー
    タ線対間の電位差を検出するときには帰還ループを遮断
    して信号を検出、増幅するように構成されている差動増
    幅回路を有する半導体集積回路。
  4. 【請求項4】データを読み書きするメモリを有し、該メ
    モリはメモリセルアレーで構成されていて、メモリセル
    にデータを書き込んだり、メモリセルのデータを読み出
    すときに信号線としてはたらくデータ線がメモリセルア
    レーに設けられ、データ線はMOSFETを介して差動
    アンプの入力に接続されていて、該差動アンプを活性化
    することでその出力を送り出し、データの書き込み時に
    は、一つのデータ線対へデータを選択して送るMOSF
    ETがあり、そのMOSFETのドレインはデータ線に
    接続されて、そのソースは書き込み信号を供給する信号
    線に接続されていて、そのデータ線の信号を検出するセ
    ンスアンプはデータ線対間、もしくは、データ線と参照
    信号線との間の電位がソースフォロワーのMOSFET
    のゲートにそれぞれ導かれていて、そのソースフォロワ
    ーのソースには所定の電流が供給されて、それぞれのM
    OSFETのソースは差動増幅器の入力に導かれて、該
    差動増幅器で増幅され、その出力はソースフォロワーの
    電流設定に帰還されるループを備え、該データ線対間も
    しくはデータ線と参照信号線との間の電位差がない状態
    で出力端子間の電位差が減少するように帰還回路が制御
    され、データ線対間の電位差を検出するときには帰還ル
    ープを遮断して信号を検出、増幅する半導体集積回路。
  5. 【請求項5】複数ビットのデータを記憶するための複数
    メモリセルと、該複数のメモリセルに対応するデータ記
    憶部とを含み、複数ビットの入力信号と上記複数のメモ
    リセル内に記憶された上記複数ビットのデータとを比較
    して両者が一致すれば、上記データ記憶部に記憶された
    データを出力する連想記憶装置を有し、 上記複数のメモリセルに記憶された上記複数ビットのデ
    ータは、少なくとも1ビットのパリティビットとそれ以
    外の複数のビットのデータとを含み、該パリティビット
    は、上記それ以外の複数のビットのデータの少なくとも
    一部に対するパリティビットである半導体集積回路。
  6. 【請求項6】上記半導体集積回路は、マイクロプロセッ
    サを搭載した回路であり、上記半導体集積回路内の回路
    は、そのマイクロプロセッサに組み込まれている請求項
    1から5のいずれか一つに記載の半導体集積回路。
JP18236096A 1996-07-11 1996-07-11 半導体集積回路 Expired - Fee Related JP3686480B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18236096A JP3686480B2 (ja) 1996-07-11 1996-07-11 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18236096A JP3686480B2 (ja) 1996-07-11 1996-07-11 半導体集積回路

Publications (2)

Publication Number Publication Date
JPH1027481A true JPH1027481A (ja) 1998-01-27
JP3686480B2 JP3686480B2 (ja) 2005-08-24

Family

ID=16116960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18236096A Expired - Fee Related JP3686480B2 (ja) 1996-07-11 1996-07-11 半導体集積回路

Country Status (1)

Country Link
JP (1) JP3686480B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002352589A (ja) * 2001-05-25 2002-12-06 Fujitsu Ltd 連想記憶装置及びプリチャージ方法
US6750677B2 (en) 2001-06-04 2004-06-15 Matsushita Electric Industrial Co., Ltd. Dynamic semiconductor integrated circuit
US7057912B2 (en) 2003-05-28 2006-06-06 Hitachi, Ltd. Semiconductor device
JP2009514115A (ja) * 2005-10-28 2009-04-02 クゥアルコム・インコーポレイテッド 格納された符号化キーを使った高速cam検索
US7522592B2 (en) 2003-10-03 2009-04-21 Hitachi, Ltd. Packet transfer unit
JP2011028478A (ja) * 2009-07-24 2011-02-10 Nec Computertechno Ltd 誤り訂正回路、誤り訂正方法
US8164934B2 (en) 2006-04-25 2012-04-24 Renesas Electronics Corporation Content addressable memory
JP5339544B2 (ja) * 2008-10-28 2013-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション パラレル連想メモリ

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002352589A (ja) * 2001-05-25 2002-12-06 Fujitsu Ltd 連想記憶装置及びプリチャージ方法
US6750677B2 (en) 2001-06-04 2004-06-15 Matsushita Electric Industrial Co., Ltd. Dynamic semiconductor integrated circuit
US7057912B2 (en) 2003-05-28 2006-06-06 Hitachi, Ltd. Semiconductor device
US7924833B2 (en) 2003-10-03 2011-04-12 Hitachi, Ltd. Packet transfer unit
US7522592B2 (en) 2003-10-03 2009-04-21 Hitachi, Ltd. Packet transfer unit
JP2009514115A (ja) * 2005-10-28 2009-04-02 クゥアルコム・インコーポレイテッド 格納された符号化キーを使った高速cam検索
US8164934B2 (en) 2006-04-25 2012-04-24 Renesas Electronics Corporation Content addressable memory
US8310852B2 (en) 2006-04-25 2012-11-13 Renesas Electronics Corporation Content addressable memory
US8638583B2 (en) 2006-04-25 2014-01-28 Renesas Electronics Corporation Content addressable memory
US9042148B2 (en) 2006-04-25 2015-05-26 Renesas Electronics Corporation Content addressable memory
US9620214B2 (en) 2006-04-25 2017-04-11 Renesas Electronics Corporation Content addressable memory with reduced power consumption and increased search operation speed
JP5339544B2 (ja) * 2008-10-28 2013-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション パラレル連想メモリ
JP2011028478A (ja) * 2009-07-24 2011-02-10 Nec Computertechno Ltd 誤り訂正回路、誤り訂正方法
US8621326B2 (en) 2009-07-24 2013-12-31 Nec Corporation Error correction circuit and error correction method

Also Published As

Publication number Publication date
JP3686480B2 (ja) 2005-08-24

Similar Documents

Publication Publication Date Title
US5179536A (en) Semiconductor memory device having means for replacing defective memory cells
EP0293339B1 (en) Nonvolatile memory device with a high number of cycle programming endurance
EP0337393B1 (en) 2-cell/1-bit type EPROM
US5428571A (en) Data latch circuit having non-volatile memory cell equipped with common floating gate and stress relaxing transistor
EP0460899A2 (en) A sense amplifier with an integral logic function
US5450417A (en) Circuit for testing power-on-reset circuitry
JPH1027481A (ja) 半導体集積回路
JP2669303B2 (ja) ビットエラー訂正機能付き半導体メモリ
US4951257A (en) Reference setting circuit for determining written-in content in nonvolatile semiconductor memories
EP0383452B1 (en) Semiconductor memory device having means for replacing defective memory cells
EP0098079A2 (en) Semiconductor memory device with redundancy decoder circuit
KR950010312B1 (ko) 진단 모드 동작용 판별기를 갖는 반도체 메모리 장치
US4875212A (en) Memory device with integrated error detection and correction
US5397946A (en) High-voltage sensor for integrated circuits
US5946239A (en) Non-volatile semiconductor memory device
JPH0766675B2 (ja) プログラマブルrom
US7046562B2 (en) Integrated circuit reset circuitry
US5487041A (en) Semiconductor memory device which can be programmed to indicate defective memory cell
US6600685B2 (en) Semiconductor memory device having test mode
KR20010069196A (ko) 반도체 집적회로장치
JP2954079B2 (ja) 不揮発性半導体メモリ
EP0481731B1 (en) Circuit for detecting false read data from eprom
JP2580600B2 (ja) 半導体メモリ装置
KR960002003B1 (ko) 바이어스 전위 발생 회로
KR0185612B1 (ko) 대기상태시 페일을 방지한 로우 디코더

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080610

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees