(57)【特許請求の範囲】
【請求項１】
Ｋ（４）-ウェイ  Ｎ（６４）-セットで構成されるキャッシュメモリにおいて、
前記キャッシュメモリはＭ（Ｍ＜Ｎ）（４）個のキャッシュメモリユニットと、
ユニット選択アドレスに応じて前記キャッシュメモリユニットのうち一つを活性化させるためのユニット選択信号を発生させるユニット選択デコーダとを含み、
前記キャッシュメモリユニットの各々は、
Ｎ/Ｍ（１６）個のセットを含み、Ｋ個のウェイが一つのセット内に構成され、そして、前記ウェイに各々接続されたマッチラインを含むタグアレイと、
Ｎ/Ｍ（１６）個のセットを含み、前記マッチラインと各々接続されたＫ個のウェイが一つのセット内に構成されるデータアレイと、
セット選択アドレスに応じて前記タグアレイのＮ/Ｍ個のセットのうち一つを選択するためのセット選択信号を発生させるセット選択デコーダと、
前記タグアレイのセットに各々対応し、対応するセット選択信号に応じてイネーブルされ、そして、モード信号とウェイ選択アドレスに応じて対応するセット内に構成されたＫ-ウェイのうち一つ又は全部を選択するためのウェイ選択信号を発生させるウェイ選択デコーダとを含み、
前記タグアレイは前記ウェイ選択信号によって選択されたウェイに貯蔵されているタグアドレスと外部から入力されるタグアドレスを比較して一致するウェイと接続されたマッチラインを第１電圧レベルに活性化させ、
前記データアレイは活性化されたマッチラインと接続されたウェイに貯蔵されているデータを出力することを特徴とするキャッシュメモリ。
【請求項２】
前記タグアレイは、
行と列で配列された複数の内容参照可能メモリ（CAM）セルと、
外部から入力されるタグアドレスを前記内容参照可能メモリセルに伝達する第１及び第２ビットラインと、
プリチャージ制御信号に応じて前記マッチラインを前記第１電圧レベルにプリチャージするプリチャージ手段と、
前記マッチラインと平行に配列された接地ラインと、
対応するウェイ選択デコーダから出力されるウェイ選択信号に応じて前記接地ラインを第２電圧レベルにディスチャージするディスチャージ手段とを含み、
前記内容参照可能メモリセルは貯蔵されたタグアドレスと前記第１及び第２ビットラインを通じて入力されるタグアドレスが一致しない時、前記マッチラインと前記接地ラインを選択的に接続するスイッチング手段を含むことを特徴とする請求項１に記載のキャッシュメモリ。
【請求項３】
前記内容参照可能メモリセルは、
第１及び第２ノードの間の電位差に２進値を貯蔵するラッチ手段と、
第１及び第２ビットラインの間に形成された電流通路及び前記第１及び第２ノードと各々接続されるゲートを有する第１及び第２トランジスタとを含むことを特徴とする請求項２に記載のキャッシュメモリ。
【請求項４】
前記スイッチング手段は、
前記マッチラインと接地ラインの間に形成された電流通路及び前記第１及び第２トランジスタの電流通路の接続ノードと接続されたゲートを有するNMOSトランジスタで構成されることを特徴とする請求項３に記載のキャッシュメモリ。
【請求項５】
前記プリチャージ手段は、
電源電圧と前記マッチラインの間に形成された電流通路及び前記プリチャージ制御信号と接続されたゲートを有するPMOSトランジスタで構成されることを特徴とする請求項２に記載のキャッシュメモリ。
【請求項６】
前記ディスチャージ手段は、
前記接地ラインと接地電圧の間に形成された電流通路及び前記対応するウェイ選択デコーダから出力されるウェイ選択信号と接続されたゲートを有するNMOSトランジスタで構成されることを特徴とする請求項２に記載のキャッシュメモリ。
【請求項７】
前記データアレイは、前記マッチラインそして前記マッチラインと対応するデータアレイのウェイの間に各々接続されるワードラインを含むことを特徴とする請求項１に記載のキャッシュメモリ。
【請求項８】
前記ウェイ選択デコーダから出力されるウェイ選択信号、このウェイ選択信号によって選択されたウェイと接続されたマッチライン、そして、前記タグアレイでの動作遅延時間を示す遅延補償信号が全部活性化される時、活性化されたマッチラインと接続されたワードラインを活性化させるワードライン駆動回路を含むことを特徴とする請求項７に記載のキャッシュメモリ。
【請求項９】
前記Ｋ個のウェイに各々対応するヒットウェイ感知信号を発生させ、前記ワードラインの活性/非活性を感知し、活性化されたワードラインと接続されたウェイに対応するヒットウェイ感知信号を活性化させるヒットウェイ感知回路を含むことを特徴とする請求項７に記載のキャッシュメモリ。
【請求項１０】
前記ヒットウェイ感知回路は、
前記Ｋ個のウェイに各々対応する感知ラインと、
この感知ラインを第１電圧レベルにプリチャージする感知ラインプリチャージ手段と、
前記感知ラインに各々接続され、接続された感知ラインと対応するウェイのワードラインのうち少なくとも一つが活性化される時、前記感知ラインを第２電圧レベルにディスチャージする感知ラインディスチャージ手段とを含み、
前記感知ラインの電圧レベルは前記ヒットウェイ感知信号に各々提供されることを特徴とする請求項９に記載のキャッシュメモリ。
【請求項１１】
前記感知ラインディスチャージ手段は、
各々が前記感知ラインと前記第２電圧レベルの間に形成された電流通路及び前記感知ラインと対応するウェイのワードラインによって制御されるゲートを有するN/M個のディスチャージトランジスタを含むことを特徴とする請求項１０に記載のキャッシュメモリ。
【請求項１２】
前記ウェイ選択デコーダは、前記モード信号がリードモードの場合、対応するセット内に構成されたＫ-ウェイ全部を選択するためのウェイ選択信号を発生させ、前記モード信号がライトモードの場合、前記ウェイ選択アドレスに応じて対応するセット内に構成されたＫ-ウェイのうち一つを選択するためのウェイ選択信号を発生させることを特徴とする請求項１に記載のキャッシュメモリ。
【請求項１３】
前記タグアレイは、
前記ウェイに各々対応するタグワードラインを含むことを特徴とする請求項１に記載のキャッシュメモリ。
【請求項１４】
前記タグアレイは、
前記ウェイに各々対応するタグワードラインを含み、かつ、
前記内容参照可能メモリセルは、
前記第１ビットラインと前記第１ノードの間に形成された電流通路及び前記タグワードラインと接続されたゲートを有する第４トランジスタと、
前記第２ビットラインと前記第２ノードの間に形成された電流通路及び前記タグワードラインと接続されたゲートを有する第５トランジスタとを含むことを特徴とする請求項３に記載のキャッシュメモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はキャッシュメモリに係り、より詳細には、K-ウェイ、N-セットのキャッシュメモリをM-ユニット、K-ウェイ、N/M-セットに新たに構成して、電力消費が低減された連想キャッシュメモリ（ASSOCIATIVE CACHE MEMORY）に関するものである。
【０００２】
【従来の技術】
現在、大部分のマイクロプロセッサは性能を高めるために大容量の内部キャッシュメモリを使用している。このようなキャッシュメモリはCAM（content addressable memory：内容参照可能メモリ）セルで構成されたタグ（TAG）フィールドと、一般的な(random access memory:RAM)セルで構成されたデータフィールドとで構成される。タグフィールドはプロセッサが命令語をフェッチしようとし、データをリード又はライトしようとする時毎にアクセスされて、現在キャッシュメモリ内に願う命令語又はデータがあるかどうかを判断する。これは、有しているアドレスと入力アドレスを比較することによってなされる。キャッシュメモリは二つのアドレスが同じである時、データフィールドから命令語/データをリードしたり、又は、データフィールドにデータをライトする。このようなタグフィールドの性能はキャッシュメモリ全体の性能に重要な影響を与えるので、性能の改善のための研究が活発に行われてきた。しかし、携帯電話（hand-held telephone）のようなエンベデッドシステム（embedded system）では、性能の改善だけでなく電力消耗を低減させることも大切であるが、これに対する研究はまだ十分ではない。
【０００３】
図１はキャッシュメモリを採用した一般的なデータプロセシングシステムを示す構成図である。これは、Coyle et al.によって１９９４ 年１１月２２日に登録されたU.S.Pat.No.5,367,653、“RECONFIGURABLE MULTI-WAY ASSOCIATIVE CACHE MEMORY”の図７及び COL.８、LINE２２〜COL.９、LINE３に開示されている。
【０００４】
図１を参照すると、データプロセシングシステムは、メインメモリ２００と多重ウェイ連想キャッシュメモリ３００と通信するCPU(central processing unit)１００を含む。この具体的形態において、メインメモリ２００はダイナミックランダムアクセスメモリ（dynamic random access memory :DRAM）で構成され、キャッシュメモリ３００はスタティックランダムアクセスメモリ(static random access memory :SRAM)で構成される。当業者に周知のように、キャッシュメモリ３００は、普通メインメモリ２００より小さいが、ずっと高速の処理速度を有する。又、キャッシュメモリ３００はメインメモリ２００よりバイト当たり値段が高い。周知のように、CPU１００は、算術ロジックユニット（arithmetic logic unit : ALU）とCPU１００の構成要素の間のデータ伝達のための通信手段、そして、多くの構成要素を含む。
【０００５】
データ又は/及びプログラム命令語は、キャッシュメモリ内に貯蔵され得る。以下、データ又は/及びプログラム命令語を“データ”と呼ぶ。このデータと連想タグは、連想キャッシュメモリ３００に貯蔵される。メインメモリのアドレスはCPU１００のメインメモリアドレスレジスタ１１０に貯蔵される。
【０００６】
メインメモリアドレスレジスタ１１０に貯蔵されたメインメモリアドレスは幾つかの構成要素に分かれる。即ち、メインメモリアドレスのバイト選択アドレスビット（ADDR ０-１）は与えられたキャッシュメモリアドレスに貯蔵された多数のメインメモリバイトのうち一つを選択するための信号として使用され、ワード選択アドレスビット（ADDR ２-３）は与えられたキャッシュメモリアドレスに貯蔵された多数のメインメモリワードのうち一つを選択するための信号として使用される。さらに、セット選択アドレスビット（ADDR ４-９）はキャッシュメモリのセットにアクセスするためのキャッシュアドレスとして使用される。タグ（TAG）で表現されるメインメモリアドレスのタグアドレスビット（ADDR １０-３１）はキャッシュメモリ３００のタグアレイに貯蔵される。
【０００７】
キャッシュメモリコントローラ１２０はCPU１００とキャッシュメモリ３００の間に送受信される信号の流れを制御する。
【０００８】
連想キャッシュメモリ３００はタグアレイ３２０とデータアレイ３４０で構成される。図２は従来の連想キャッシュメモリの詳細な構成を示す構成図である。連想キャッシュメモリ３００は４-ウェイ６４-セット連想キャッシュメモリで構成される。キャッシュメモリ３００はウェイ３０２，３０４，３０６，３０８を含む。各々のウェイは全部同一の回路構成を有するので、ここでは、ウェイ０の構成だけを説明する。
【０００９】
ウェイ０(３０２)はバッファレジスタ３１０、タグアレイ３２０、セット選択部３３０、データアレイ３４０、セットデコーダ３５０、そして、マルチプレクサ３６０で構成される。
【００１０】
バッファレジスタ３１０は、キャッシュメモリコントローラ１２０を通じて提供されるメインメモリアドレスのタグアドレスビットADDR １０-３１をラッチする。このアドレスは後で説明されるタグアレイ３２０のビットライン信号として提供される。
【００１１】
タグアレイ３２０は６４ラインで構成され、各々のラインは２２-ビットのタグを貯蔵する。４個のウェイ３０２，３０４，３０６，３０８で、同一のラインは一つの“セット”を構成すると言われる。言い換えれば、ウェイ３０２，３０４，３０６，３０８の一番目のラインは“セット０”であり、二番目のラインは“セット１”である。以下、一つのウェイ内のタグアレイを構成する各ラインは“セット”と呼ばれる。
【００１２】
マッチライン（match line）ML０〜ML６３はタグアレイ３２０のセットに各々接続される。タグアレイ３２０のセットのうち、バッファレジスタ３１０にラッチされたアドレスビットADDR １０-３１と同一のタグを貯蔵しているセットと対応するマッチラインは、電源電圧レベルに設定され、残りのマッチラインは接地電圧レベルに設定される。
【００１３】
セットデコーダ３５０はセット選択アドレスビットADDR ４-９を解読（decode）し、セットイネーブル信号SEN０〜SEN６３を出力する。
【００１４】
セット選択部３３０は、タグアレイ３２０のマッチラインMLi（i=０，１，…，６３）とデータアレイ３４０のワードラインDＷLi（i=０，１，…，６３）の間に各々接続された６４個のトランジスタ３３０_０〜３３０_６３で構成される。トランジスタ３３０_０〜３３０_６３の各々は、セットデコーダ３５０から出力されるイネーブル信号SEN０〜SEN６３のうち、対応するイネーブル信号に応じてマッチラインMLiとデータアレイのワードラインDＷLiを選択的に接続/非接続する。
【００１５】
データアレイ３４０は、タグアレイ３２０と同様に６４個のセット３４０_０〜３４０_６３で構成される。一つのセットは４個のワードWORD０〜WORD３で構成される。データアレイ３４０の各セット３４０_０〜３４０_６３は、ワードラインDWLx（x=０，１，…，又は６３）、トランジスタ３３０_x（x=０，１，…，又は６３）、そして、マッチラインMLx（x=０，１，…，又は６３）を通じて、タグアレイ３２０のセットと各々接続される。データアレイ３４０は、ワードラインDWL０〜DWL６３のうち、活性化されたワードラインと接続されたセットに貯蔵されているデータをマルチプレクサ３６０に出力する。
【００１６】
マルチプレクサ３６０は、ワード選択アドレスビットADDR２-３に応じて、データアレイ３４０から提供される４-ワードデータのうち一つのワードを選択的に出力する。
【００１７】
図３は、図２に示されたタグアレイ３２０の詳細な構成を示す構成図である。図３に示されるように、タグアレイ３２０は、６４本の行と２２本の列で配列されたCAMセル３２２、一対のビットラインBLk，BLBk（ k=０，１，…，２１）を横切って水平に配列されたワードラインWL０〜WL６３、そして、ワードラインと平行に配列されたマッチラインML０〜ML６３とを含む。一対のビットラインBLk，BLBk（k=０，１，…，２１）は、バッファレジスタ３１０に貯蔵されたタグアドレスビットADDR １０-３１とこれに相補的なビットで構成された一対のデータビットをCAMセル３２２に伝達する。CAMセル３２２は単一ビットデータを貯蔵し、単一ビット比較動作（論理的なエクスクルーシブXNOR演算）を遂行する。CAMセル３２２は、比較動作の結果を、接続されたマッチラインに出力する。プリチャージトランジスタ３２４_０〜３２４_６３はPMOSトランジスタで構成され、電源電圧とマッチラインMLiの一端の間に形成された電流通路と、キャッシュメモリコントローラ１２０から提供されるプリチャージ信号PREによって制御されるゲートを有する。
【００１８】
CAMセル３２２の詳細な回路図が図４に示されている。図４を参照すると、CAMセル３２２はNMOSトランジスタ４０２，４１０〜４１６とラッチ４０４を含む。プリチャージフェーズ（precharge phase）で、プリチャージ信号PREに応じてプリチャージトランジスタ３２４_０〜３２４_６３がターンオンされ、マッチラインMLはハイレベルにプリチャージされる。評価フェーズ（evaluation phase）で、一対のビットラインBL，BLBに印加されるデータビットとラッチ４０４に貯蔵されたデータビットL１，L２が一致するのかを評価し、一致の場合、トランジスタ４１６がターンオフされて、マッチラインMLはプリチャージされたハイレベルに維持される。これに対して、一対のビットラインBL，BLBに印加されるデータビットとラッチ４０４に貯蔵されたデータビットL1，L2が一致しない場合、トランジスタ４１６がターンオンされて、マッチラインMLは接地電圧レベルにディスチャージされる。このような方法によって、一対のビットラインBLk，BLBk （ k=０，１，…，２１）を通じて提供されるタグアドレスビットADDR １０-３１とCAMセル３２２に貯蔵されたデータビットが比較され、完全に一致するセットと接続されたマッチラインは電源電圧レベルに維持され、残りの一致しないセットと接続されたマッチラインは接地電圧レベルにディスチャージされる。
【００１９】
【発明が解決しようとする課題】
前述のようなキャッシュメモリの構成は、４個のウェイ３０２，３０４，３０６，３０８の全部にメインメモリアドレスビットADDR １０-３１ 及びADDR ４-９を提供することによって、４個のウェイ３０２，３０４，３０６，３０８に具備されたタグアレイ３２０の全部で比較動作が遂行されるようにする。そして、一つのタグアレイ内でメインメモリアドレスビットADDR １０-３１と比較されるべきセットは一つであるにもかかわらず、６４本の全てのセットのマッチラインML０〜ML６３がプリチャージ及びディスチャージされる。
【００２０】
即ち、セット選択アドレスビットADDR ４-９と対応する各ウェイの一つのセットだけで比較動作を遂行することによってヒット/ミス(HIT/MISS)を判断できるにもかかわらず、６４セット全部で比較動作を遂行した。従って、全部で２５６本のマッチライン（４ウェイ×６４ライン）が比較動作を遂行する。これは不要な電力浪費を招来する。
【００２１】
このような問題の解決のために、Yonedaによって１９９５ 年９月２６日に登録されたU.S.Pat.No.5,453,948、“ASSOCIATIVE MEMORY”、Albon et al.によって１９９５ 年１１月２１日に登録されたU.S.Pat.No.5,469,378、“CONTENT ADDRESSABLE MEMORY HAVING MATCH LINE TRANSISTOR CONNECTED IN SERIES AND COUPLED TO CURRENT SENSING CIRCUIT ”、そして、Schuitz et al.によって１９９９ 年１月１２日に登録されたU.S.Pat.No.5,859,791、“CONTENT ADDRESSABLE MEMORY”は、一つのマッチラインと接続されたトランジスタを並列の代わりに直列に接続し、マッチラインの一端は接地電圧と接続した。そして、ラッチに貯蔵されたデータとビットラインを通じて入力されるデータが一致すると（ヒットすると）、トランジスタがターンオンされ、一致しないと（ミスだと）、トランジスタがターンオフされるように設計されている。従って、一つのマッチラインと接続された全てのトランジスタがターンオフされる場合、データアレイと接続されるマッチラインの他の端がローレベルにされ、トランジスタのうち一つでもターンオンされると、プリチャージレベルのハイレベルに維持される。しかし、マッチラインにトランジスタを直列に接続する方法は動作の速度低下を招来する。このような速度低下を縮めるために、Albon et al.の特許は電圧センシングではなくて電流センシングを利用し、 Schuitz et al.の特許は直列接続されたトランジスタを幾つかのブロックに分け、各ブロックの結果を合わす方法を利用した。しかし、マッチラインにトランジスタを直列に接続することは、動作速度に際限があり、回路の複雑度の問題によって実際商業用に使用されるプロセッサのキャッシュメモリには採用されない。
【００２２】
本発明の目的は、マッチラインの動作速度を向上させると同時に、電力消費を低減できるキャッシュメモリを提供することにある。
【００２３】
【課題を解決するための手段】
本発明の特徴によると、K-ウェイ、N-セットで構成されるキャッシュメモリは、Ｍ（Ｍ＜Ｎ）（４）個のキャッシュメモリユニットと、ユニット選択アドレスに応じてキャッシュメモリユニットのうち一つを活性化させるためのユニット選択信号を発生させるユニット選択デコーダとを含む。
【００２４】
キャッシュメモリユニットの各々は、N/M個のセットを含み、K個のウェイが一つのセット内に構成され、ウェイに各々接続されたマッチラインを含むタグアレイと、N/M個のセットを含み、マッチラインと各々接続されたK個のウェイが一つのセット内に構成されるデータアレイと、セット選択アドレスに応じてタグアレイのN/M個のセットのうち一つを選択するためのセット選択信号を発生させるセット選択デコーダと、タグアレイのセットに各々対応し、対応するセット選択信号に応じてイネーブルされ、そして、モード信号とウェイ選択アドレスに応じて対応するセット内に構成されたK-ウェイのうち一つ又は全部を選択するためのウェイ選択信号を発生させるウェイ選択デコーダとを含む。タグアレイは、ウェイ選択信号によって選択されたウェイに貯蔵されているタグアドレスと外部から入力されるタグアドレスを比較し、一致するウェイと接続されたマッチラインを第１電圧レベルに活性化させ、データアレイは活性化されたマッチラインと接続されたウェイに貯蔵されたデータを出力する。
【００２５】
望ましい形態において、タグアレイは、行と列で配列された複数の内容参照可能メモリ（CAM）セルと、外部から入力されるタグアドレスを内容参照可能メモリセルに伝達する第１及び第２ビットラインと、プリチャージ制御信号に応じてマッチラインを第１電圧レベルにプリチャージするプリチャージ手段と、マッチラインと平行に配列された接地ラインと、対応するウェイ選択デコーダから出力されるウェイ選択信号に応じて接地ラインを第２電圧レベルにディスチャージするディスチャージ手段とを含む。
【００２６】
内容参照可能メモリセルは、貯蔵されたタグアドレスと第１及び第２ビットラインを通じて入力されるタグアドレスが一致しない場合、マッチラインと接地ラインを選択的に接続するスイッチング手段と、第１及び第２ノードの間の電位差に２進値を貯蔵するラッチ手段と、第１及び第２ビットラインの間に形成された電流通路及び第１及び第２ノードと各々接続されるゲートを有する第１及び第２トランジスタとを含む。
【００２７】
スイッチング手段は、マッチラインと接地ラインの間に形成された電流通路及び第１及び第２トランジスタの電流通路の接続ノードと接続されたゲートを有するNMOSトランジスタで構成され得る。
【００２８】
プリチャージ手段は、電源電圧とマッチラインの間に形成された電流通路及びプリチャージ制御信号と接続されたゲートを有するPMOSトランジスタで構成される。
【００２９】
ディスチャージ手段は、接地ラインと接地電圧の間に形成された電流通路及び対応するウェイ選択デコーダから出力されるウェイ選択信号と接続されたゲートを有するNMOSトランジスタで構成される。
【００３０】
データアレイは、マッチライン、そして、マッチラインに対応するデータアレイのウェイの間に各々接続されるワードラインを含む。この場合、キャッシュメモリは、ウェイ選択デコーダから出力されるウェイ選択信号と、このウェイ選択信号によって選択されたウェイと接続されたマッチラインと、タグアレイでの動作遅延時間を補償するための遅延補償信号が全部活性化される時、活性化されたマッチラインと接続されたワードラインを活性化させるワードライン駆動回路とを含む。
【００３１】
キャッシュメモリは、K個のウェイに各々対応するヒットウェイ感知信号を発生させ、ワードラインの活性/非活性を感知し、活性化されたワードラインと接続されたウェイに対応するヒットウェイ感知信号を活性化させるヒットウェイ感知回路を含む。
【００３２】
この形態において、ヒットウェイ感知回路は、K個のウェイに各々対応する感知ラインと、この感知ラインを第１電圧レベルにプリチャージする感知ラインプリチャージ手段と、感知ラインに各々接続され、接続された感知ラインと対応するウェイのワードラインのうち少なくとも一つが活性化される時、感知電圧を第２電圧レベルにディスチャージする感知ラインディスチャージ手段とを含む。感知ラインの電圧レベルはヒットウェイ感知信号に各々提供される。
【００３３】
感知ラインディスチャージ手段は、各々が感知ラインと第２電圧レベルの間に形成された電流通路及び感知ラインと対応するウェイのワードラインによって制御されるゲートを有するN/M個のディスチャージトランジスタを含む。
【００３４】
ウェイ選択デコーダは、モード信号がリードモードの場合、対応するセット内に構成されたK-ウェイ全部を選択するためのウェイ選択信号を発生させ、モード信号がライトの場合、ウェイ選択アドレスに応じて対応するセット内に構成されたK-ウェイのうち一つを選択するためのウェイ選択信号を発生させる。
【００３５】
タグアレイは、ウェイに各々対応するタグワードラインを含む。内容参照可能メモリセルは、第１ビットラインと第１ノードの間に形成された電流通路及びタグワードラインと接続されたゲートを有する第４トランジスタと、第２ビットラインと第２ノードの間に形成された電流通路及びタグワードラインと接続されたゲートを有する第５トランジスタを含む。
【００３６】
このような回路構成によって、速い動作速度を有すると同時に、電力消費を低減させ得るキャッシュメモリを実現できる。
【００３７】
【発明の実施の形態】
以下、本発明の望ましい実施形態を添付した図５乃至図１０を参照して詳細に説明する。
【００３８】
この実施形態は、４-ウェイ６４-セットキャッシュメモリにより説明する。本発明によると、４-ウェイ６４-セットのキャッシュメモリは４個のキャッシュメモリユニット内に新たな方法によって構成される。このキャッシュメモリユニットの各々は１６個のセットで構成され、各セットは４個のウェイを含む。言い換えれば、一つのキャッシュメモリユニットに構成されるタグアレイとデータアレイの各々が６４ライン（１６×４＝６４）で構成されることは従来の技術と同一であるが、４個のラインが一つのセットに構成され、一つのセットに属する４個のラインは４個のウェイに各々対応する。
【００３９】
図５は、本発明の望ましい実施形態によるキャッシュメモリの構成を概念的に示す図である。図５に示されるように、キャッシュメモリ５００は４個のキャッシュメモリユニット５０２〜５０８を含む。キャッシュメモリユニット５０２〜５０８の各々は、タグアレイ５６０_y（ y=０，１，２又は３）とデータアレイ５８０_y （ y=０，１，２又は３）を含む。タグアレイとデータアレイの各々は６４ラインで構成され、６４ラインは４-ウェイ１６-セットで構成される。即ち、一つのセットは４個のラインを含み、各々のラインは４個のウェイに対応する。
【００４０】
より詳細には、キャッシュメモリユニット０（５０２）を構成するタグアレイ５６０_０とデータアレイ５８０_０は、セット０からセット１５まで、全部で１６個のセットで構成され、各々のセットは、ウェイ０からウェイ３まで、全部で４個のウェイを含む。タグアレイ５６０_０の各々のラインはデータアレイ５８０_０のラインに対応する。キャッシュメモリユニット０（５０２）と同様に、キャッシュメモリユニット１（５０４）は、セット１６からセット３１まで、キャッシュメモリユニット２（５０６）は、セット３２からセット４７まで、キャッシュメモリユニット３（５０８）は、セット４８からセット６３まで、１６個のセットで構成される。キャッシュメモリユニット５０２，５０４，５０６，５０８の各々は、前述のようなセットで構成されるタグアレイ５６０_y（ y=０，１，２又は３）とデータアレイ５８０_y （ y=０，１，２又は３）を含む。
【００４１】
本発明の望ましい実施形態によって新たに構成された４-ユニット、４-ウェイ、１６-セットのキャッシュメモリをアクセスするためのメインメモリアドレスレジスタの構成が図６に示されている。本発明の望ましい実施形態によるメインメモリアドレスレジスタ４１０は、図１に示された従来のメインメモリアドレスレジスタ１１０と比較すると、従来のセット選択ビット（ADDR４-９）はセット選択ビット（ADDR４-７）とユニット選択ビット（ADDR８-９）に分かれ、残りのビットは従来と同一である。ユニット選択ビット（ADDR８-９）によって、４個のキャッシュメモリユニットのうち一つが選択的に動作される。
【００４２】
図７は、本発明の望ましい実施形態によるキャッシュメモリの詳細な構成を示す構成図である。図７を参照すると、キャッシュメモリ５００は、メインメモリアドレスのうちユニット選択アドレスビットADDR８-９に応じてキャッシュメモリユニット５０２〜５０８のうち一つを選択するためのユニット選択信号を発生させるユニット選択デコーダ５１０を含む。キャッシュメモリユニット５０２〜５０８は、チップ選択端子CSを通じて入力されるユニット選択信号が活性化状態の時に動作し、非活性化状態の時に動作しない。従って、４個のキャッシュメモリユニット５０２〜５０８のうちユニット選択アドレスビットADDR８-９に対応する一つのキャッシュメモリユニットだけが動作し、残りの３個のキャッシュメモリユニットは動作しない。
【００４３】
続いてキャッシュメモリユニット０（５０２）の詳細な回路構成と動作を説明する。キャッシュメモリユニット５０２〜５０８は全部同一の回路構成を有するので、ここでは、キャッシュメモリユニット０（５０２）だけを詳細に図示し、説明する。
【００４４】
キャッシュメモリユニット０（５０２）は、レジスタ５２０、セット選択デコーダ５３０、ウェイ選択デコーダ５４０_０〜５４０_１５、バッファレジスタ５５０、タグアレイ５６０_０、ヒットウェイ感知及びワードライン駆動部５７０、データアレイ５８０_０、そして、マルチプレクサ５９０で構成される。
【００４５】
レジスタ５２０は、メインメモリアドレスのうちセット選択アドレスビットADDR４-７と外部から提供される２ビットのウェイ選択データWAYSEL［１：０］を貯蔵する６ビットレジスタで構成される。セット選択デコーダ５３０は、レジスタ５２０に貯蔵されたセット選択アドレスビットADDR４-７を解読（decode）して、１６個のセットのうち一つを選択するためのセット選択信号S０〜S１５を発生させる。
【００４６】
ウェイ選択デコーダ５４０_０〜５４０_１５はタグアレイ５６０_０のセット０〜セット１５に各々対応し、セット選択デコーダ５３０から出力されるセット選択信号S０〜S１５のうち対応するセット選択信号に応じてイネーブルされる。イネーブルされたウェイ選択デコーダは、外部から提供されるモード信号MODEに応じて、一つのセット内に属する４個のウェイを全部選択するための、又は、ウェイ選択データWAYSEL［１：０］に対応する一つのウェイだけを選択するためのウェイ選択信号Wi０〜Wi３（ i=０，１，…，又は１５）を発生させる。モード信号MODEはリードモードとライトモードに分かれ、イネーブルされたウェイ選択デコーダは、モード信号MODEがリードモードの場合、選択されたセット内に構成された４個のウェイを全部選択するためのウェイ選択信号を発生させ、モード信号MODEがライトモードの場合、ウェイ選択データに応じて対応するセット内に構成された４-ウェイのうち一つを選択するためのウェイ選択信号を発生させる。リードモードの場合、選択されたセット内に属する４個のウェイのうち、タグアドレスビットADDR１０-３１と同一のタグを貯蔵しているウェイがあるかを判断するために、選択されたセット内に属する４個のウェイを全部選択しなければならない。ライトモードの場合、選択されたセット内に属する４個のウェイのうち外部から提供されるウェイ選択データWAYSEL［１：０］に対応するウェイにタグを貯蔵するために、ウェイ選択データWAYSEL［１：０］に対応するただ一つのウェイだけを選択しなければならない。この実施形態においては、キャッシュメモリのリード動作だけを説明するが、ライト動作も当業者にはすでに周知であるので、キャッシュメモリのライト動作に対する説明は省略する。
【００４７】
リードモードの間、タグアレイ５６０_０は、選択されたウェイのうち一つがタグアドレスビットADDR１０-３１と一致するタグを貯蔵しているかを判断するためにそれらを比較し、タグアドレスビットADDR１０-３１と一致するタグを貯蔵しているウェイと接続されたマッチラインをハイレベルに活性化させる。タグアレイ５６０_０の詳細な回路図が図８に示されている。
【００４８】
図８を参照すると、タグアレイ５６０_０は、行と列で配列されたCAM（Content Addressable Memory :内容参照可能メモリ）セルアレイと、一対の第１及び第２ビットラインBLk，BLBk （ k=０，１，…，そして２１）と、全部を図示しないが、行に各々対応する６４本のマッチラインML００〜 ML０３，… ，ML１５０〜 ML１５３と、このマッチラインの一端に各々接続され、プリチャージ制御信号PREに応じて、接続されたマッチラインを電源電圧にプリチャージするプリチャージトランジスタ７００〜７１５３と、対応するマッチラインと平行に配列された６４本の接地ラインGL００〜 GL０３，… ，GL１５０〜 GL１５３と、接地ラインの一端に各々接続され、対応するウェイ選択信号に応じて接地ラインを接地電圧にディスチャージするディスチャージトランジスタ８００〜８１５３とを含む。
【００４９】
第１ビットラインBL０〜BL２１はバッファレジスタ５５０に貯蔵されたタグアドレスビットADDR１０-３１をCAMセルの一端に伝達し、第２ビットラインBLB０〜BLB２１はタグアドレスビットADDR１０-３１と相補的なビットをCAMセルの他の端に伝達する。
【００５０】
CAMセルC００_０はNMOSトランジスタ６０２，６１０〜６１６とラッチ６０４を含む。NMOSトランジスタ６０２，６１０の電流通路は、第１ビットラインBL０と第１ノードＮ１、そして、第２ビットラインBLＢ０と第２ノードＮ２の間に各々接続され、それらのゲートはタグワードラインTWL００と接続される。NMOSトランジスタ６０２，６１０とタグワードラインTWL００は、ラッチにデータをライトする時、必要な素子である。NMOSトランジスタ６１２，６１４の電流通路は第１ビットラインＢＬ０と第２ビットラインＢＬＢ０の間に順次に形成され、ゲートは第２ノードＮ２及び第１ノードＮ１に各々接続される。NMOSトランジスタ６１６の電流通路はマッチラインＭＬ００と接地ラインＧＬ００の間に形成され、ゲートはNMOSトランジスタ６１２，６１４の接続ノードＮ３と接続される。残りのCAMセルはCAMセルＣ００_０と同様に構成され、同様に動作するので説明は省略する。
【００５１】
図１０は本発明の望ましい実施形態によるキャッシュメモリのリードモードのタイミング図である。
【００５２】
図８及び図１０を参照すると、プリチャージフェーズ(precharge phase)段階で、プリチャージ信号PREがローレベルに活性化されると、プリチャージトランジスタ７００〜７１５３がターンオンされることによって、マッチラインＭＬ００〜ＭＬ１５３が電源電圧にプリチャージされる。続いて、図７に示されたセット選択デコーダ５３０から出力されるセット選択信号S０〜S１５によって、１６個のセットのうち一つが選択される。選択されたセットに対応するウェイ選択デコーダ５４０_i （ i=０，１，…，又は１５）は、４-ウェイ全部を選択するためにハイレベルに活性化されたウェイ選択信号を発生させる。この実施形態においては、リードモードで、セット０のウェイ０〜ウェイ３が全部選択された場合が説明される。この場合、ウェイ選択信号Ｗ００〜Ｗ０３によってディスチャージトランジスタ８００〜８０３がターンオンされることによって、マッチラインＭＬ００〜ＭＬ０３は、NMOSトランジスタ６１６がターンオンされると、対応する接地ラインＧＬ０j（ j=０，１，２，又は３）とディスチャージトランジスタ８０k（ｋ=０，１，２，又は３）を通じて接地電圧と接続される。選択されないセット１〜セット１５のウェイ選択信号Wi０〜Wi３（ i=１，２，そして１５）は全部ローレベルに非活性化されているので、ディスチャージトランジスタ８１１〜８１５３は全部ターンオフ状態に維持される。
【００５３】
評価フェーズ（evaluation phase）段階で、第１及び第２ビットラインBLk，BLBk（ ｋ=０，１，…、２１）にタグアドレスビットとこれに相補的なビットが提供されると、ラッチ６０４に貯蔵された２進値に従ってNMOSトランジスタ６１６のターンオン/オフが決定される。言い換えれば、第１及び第２ビットラインBLk，BLBk（ ｋ=０，１，…，２１）を通じて伝達される一対の相補的なタグアドレスビットとラッチ６０４の両ノードN１，N２にラッチされた２進値が一致すると、ノードＮ３がローレベルにされて、NMOSトランジスタ６１６がターンオフされ、マッチラインＭＬ００はプリチャージされたハイレベルに維持される。これに対して、第１及び第２ビットラインBLk，BLBk（ ｋ=０，１，…，２１）を通じて伝達される一対の相補的なタグアドレスビットとラッチ６０４の両ノードN１，N２にラッチされた２進値が一致しないと、ノードＮ３がハイレベルにされて、NMOSトランジスタ６１６がターンオンされる。NMOSトランジスタ６１６がターンオンされると、マッチラインＭＬ００はNMOSトランジスタ６１６、接地ラインＧＬ００、そして、ディスチャージトランジスタ８００を通じて接地電圧にディスチャージされる。
【００５４】
このような方法によって、一つのマッチラインと接続されたCAMセルが貯蔵している２２ビットの２進値がタグアドレスビットADDR１０-３１と完全に一致すると、マッチラインはプリチャージされた電源電圧レベルに維持され、１ビットでも一致しないと、マッチラインは接地ラインを通じてディスチャージされる。言い換えれば、評価フェーズ段階の後、マッチラインがプリチャージされた電源電圧レベルに維持されると、キャッシュアクセスがヒットしたことを、マッチラインが接地電圧レベルにディスチャージされると、キャッシュアクセスがミスしたことを示す。
【００５５】
前述のように、本発明は、セット選択アドレスビットADDR ４-７によって選択されたセットに属する４個のウェイと各々接続された４本の接地ラインだけをディスチャージトランジスタを通じて接地電圧と接続する。これに対して、４本の接地ラインを除いた残りの６０本の接地ラインは浮遊（floating）状態に維持される。従って、選択された４本の接地ラインと接続された４本のマッチラインだけがディスチャージ動作を遂行する。これは従来のキャッシュメモリで、４-ウェイ６４セットのマッチライン全部がディスチャージ動作を遂行することによってヒット/ミスを判断することに比べて、少数のマッチラインをディスチャージすることによってヒット/ミスを判断できる。従って、本発明のキャッシュメモリでヒット/ミスを判断する動作の電力消費は従来より非常に低減される。更に、本発明のキャッシュメモリは４個のユニット５０２〜５０８を含むが、４個のユニット５０２〜５０８のうち、ユニット選択アドレスビットADDR ８-９に対応するただ一つのユニットだけが活性化されることによって、前述のようなただ４本のラインだけがディスチャージされる。
【００５６】
図９は図７に示されたヒットウェイ感知及びワードライン駆動部の詳細な回路図である。ヒットウェイ感知及びワードライン駆動部５７０は、ワードライン駆動回路５７２とヒットウェイ感知回路５７４で構成される。ワードライン駆動回路５７２は、タグアレイ５６０のマッチラインＭＬ００〜ＭＬ１５３に各々対応する６４個のANDゲート９００_０〜９００_３，…，９１５_０〜９１５_３で構成される。ANDゲート９００_０〜９００_３，…，９１５_０〜９１５_３は、対応するマッチラインＭＬ００，ＭＬ０１，…，又はＭＬ１５３の電圧レベル、対応するウェイ選択信号Ｗ００，Ｗ０１，…，Ｗ１５３、そして、遅延信号DELAYを受け入れて論理掛け算演算を遂行する。遅延信号DELAYは、マッチラインと接続されたCAMセルのうち、ANDゲートに一番遠く配置されたCAMセル一つだけがタグアドレスビットとミスマッチされて、マッチラインをディスチャージする時にかかる遅延時間を表わす信号である。ANDゲート９００_０〜９００_３，…，９１５_０〜９１５_３の出力端子は、データアレイ５８０のワードラインＤＷＬ００〜ＤＷＬ０３，…，ＤＷＬ１５０〜ＤＷＬ１５３と接続される。
【００５７】
再び、図７を参照すると、データアレイ５８０は、４個のワードが一つのワードラインと接続された構造を有する。データアレイ５８０は、ワードラインＤＷＬ００〜ＤＷＬ０３，…，ＤＷＬ１５０〜ＤＷＬ１５３のうち、ハイレベルに活性化されたワードラインと接続されたメモリセルに貯蔵されている４-ワードのデータをマルチプレクサ５９０に出力する。マルチプレクサ５９０は、データアレイ５８０から入力された４-ワードのうち、ワード選択アドレスビットADDR２-３に対応する一つのワードを選択的に出力する。図示しないが、マルチプレクサ５９０の出力端に一つのマルチプレクサをさらに具備して、バイト選択アドレスビットADDR ０-１に対応する一つのバイトを選択的に出力できる。これは当業者によって容易に実現されることは勿論である。
【００５８】
再び、図９を参照すると、ヒットウェイ感知回路５７４は、４個のウェイに各々対応する４本の感知ラインＳＬ０〜ＳＬ３と、この感知ラインの各々を電源電圧にプリチャージするPMOSトランジスタ５７４_０〜５７４_３、そして感知ラインに各々接続され、接続された感知ラインと対応するウェイのワードラインのうち一つが活性化されると、接続された感知電圧を接地電圧にディスチャージするＮMOSトランジスタＭＮ００〜ＭＮ０３，ＭＮ１０〜ＭＮ１３，…，ＭＮ１５０〜ＭＮ１５３で構成される。
【００５９】
例えば、ウェイ選択デコーダ５４０_０から出力されるウェイ選択信号Ｗ００〜Ｗ０３が全部ハイレベルに活性化された状態で、ウェイ１に貯蔵されたタグとタグアドレスビットADDR １０-３１が一致する場合が説明される。このような場合、ウェイ１と接続されたマッチラインＭＬ０１はプリチャージレベルに維持されるので、ANDゲート９００_１は遅延補償信号がローレベルからハイレベルに活性化される時まで待ってから、対応するデータワードラインＤＷＬ０１をハイレベルに活性化させる。これに対して、残りのウェイと接続されたマッチラインＭＬ００，ＭＬ０２，ＭＬ０３は接地電圧にディスチャージされるので、残りのANDゲート９００_０，９００_２，９００_３，９０１_０〜９０１_３，…，９１５_０〜９１５_３の出力端子と接続されたワードラインＤＷＬ００，ＤＷＬ０２，ＤＷＬ０３，ＤＷＬ１０〜ＤＷＬ１３，…，ＤＷＬ１５１〜ＤＷＬ１５３は全部ローレベルの非活性化状態に維持される。この時、ヒットウェイ感知回路５７４内に構成されたＮMOSトランジスタのうち、活性化されたワードラインＤＷＬ０１と接続されたＮMOSトランジスタＭＮ０１がターンオンされて、感知ラインＳＬ１がローレベルにディスチャージされる。従って、ヒットウェイ感知信号HITWATB０〜HITWATB３のうち、ウェイ１に対応する感知信号HITWATB１だけがローレベルに活性化され、残りのヒットウェイ感知信号HITWATB０，HITWATB２，HITWATB３はハイレベルの非活性化状態に維持される。
【００６０】
望ましい実施形態を利用して本発明を説明した。しかし、本発明の範囲はこの実施形態に限定されるものではない。むしろ、本発明の範囲に様々な変形例及び類似した構成が含まれるようにすることができる。従って、特許請求の範囲は様々な変形例及び類似した構成を全部含むように幅広く解釈しなければならない。
【００６１】
【発明の効果】
前述したような本発明によると、ユニット選択アドレスビットによって選択されたキャッシュメモリユニットだけが活性化された状態で、セット選択アドレスビットによって選択されたセットに属する４個のウェイと各々接続された４本の接地ラインだけがディスチャージトランジスタを通じて接地電圧と接続される。これに対して、４本の接地ラインを除いた残りの６０本の接地ラインは浮遊状態に維持される。従って、選択された４本の接地ラインと接続された４本のマッチラインだけがディスチャージ動作を遂行することになる。従って、従来の技術より電力消費が非常に低減される。更に、マッチラインと接続されたトランジスタを並列に接続することによって、従来の技術より動作速度が向上する。
【図面の簡単な説明】
【図１】キャッシュメモリを採用した一般的なデータプロセッシングシステムの構成を示す構成図である。
【図２】従来の連想キャッシュメモリの詳細な構成を示す構成図である。
【図３】図２に示された従来のタグアレイの詳細な構成を示す構成図である。
【図４】図３に示された従来のCAMセルを詳細に示す回路図である。
【図５】本発明の望ましい実施形態によるキャッシュメモリの構成を概念的に示す図である。
【図６】本発明の望ましい実施形態によって、新たに構成された４-ユニット、４-ウェイ、１６-セットキャッシュメモリにアクセスするためのメインメモリアドレスレジスタの構成を示す図である。
【図７】本発明の望ましい実施形態によるキャッシュメモリの詳細な構成を示す構成図である。
【図８】図７に示されたタグアレイの詳細な回路図である。
【図９】図７に示されたヒットウェイ感知及びワードライン駆動部の詳細な回路図である。
【図１０】本発明の望ましい実施形態によるキャッシュメモリのリードモードでのタイミング図である。
【符号の説明】
５００  キャッシュメモリ
５０２〜５０８  キャッシュメモリユニット
５１０  ユニット選択デコーダ
５２０  レジスタ
５３０  セット選択デコーダ
５４０_０〜５４０_１５  ウェイ選択デコーダ
５５０  バッファレジスタ
５６０_０〜５６０_３  タグアレイ
５７０  ヒットウェイ感知及びワードライン駆動部
５８０_０〜５６０_３  データアレイ
５９０  マルチプレクサ
【図１】
0003850669.tif 000002
【図２】
0003850669.tif 000003
【図３】
0003850669.tif 000004
【図４】
0003850669.tif 000005
【図５】
0003850669.tif 000006
【図６】
0003850669.tif 000007
【図７】
0003850669.tif 000008
【図８】
0003850669.tif 000009
【図９】
0003850669.tif 000010
【図１０】
0003850669.tif 000011