JP3997404B2 - キャッシュメモリ及びその制御方法 - Google Patents

キャッシュメモリ及びその制御方法 Download PDF

Info

Publication number
JP3997404B2
JP3997404B2 JP2002204107A JP2002204107A JP3997404B2 JP 3997404 B2 JP3997404 B2 JP 3997404B2 JP 2002204107 A JP2002204107 A JP 2002204107A JP 2002204107 A JP2002204107 A JP 2002204107A JP 3997404 B2 JP3997404 B2 JP 3997404B2
Authority
JP
Japan
Prior art keywords
valid
bit
valid bit
tag
signal
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 - Fee Related
Application number
JP2002204107A
Other languages
English (en)
Other versions
JP2004046593A (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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2002204107A priority Critical patent/JP3997404B2/ja
Priority to US10/615,870 priority patent/US7047363B2/en
Priority to KR10-2003-0047318A priority patent/KR100517765B1/ko
Priority to TW092118998A priority patent/TWI232377B/zh
Priority to CNB03147294XA priority patent/CN1295624C/zh
Publication of JP2004046593A publication Critical patent/JP2004046593A/ja
Application granted granted Critical
Publication of JP3997404B2 publication Critical patent/JP3997404B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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】
【従来の技術】
従来、キャッシュメモリは、特にプロセッサと大容量低速のメインメモリとの間に配置され、頻繁にアクセスされる命令・データ等を格納してシステム全体のアクセスタイムを短縮させている。このようなシステム全体のアクセスタイムを短縮させるキャッシュメモリとして、データのヒット率を向上させるために各ブロックを配置可能な場所が複数存在するセットアソシエイティブ方式が多く用いられている。
【0003】
このセットアソシエイティブ方式のキャッシュメモリでは、メモリの格納領域を複数のセット毎に分割し、セット毎にデータのアドレスタグをタグメモリに格納する。そして、タグメモリから読み出したアドレスタグとアクセスアドレスとを比較し、比較結果からヒット/ミスヒット信号を生成し、データを格納したデータメモリにアクセスする。
【0004】
タグメモリの各ブロックには、通常、タグアドレスとともに、そのアドレスに対応するデータメモリの内容が有効か無効かを示すバリッドビット(有効ビット)が格納されている。タグメモリから読み出したタグアドレスとアクセスアドレスとを比較する際、バリッドビットを各セットの全てのウェイ毎に読み出す。そして、その比較結果が一致し、かつバリッドビットが“有効”を示しているウェイが存在した場合に、データメモリへのアクセスが可能となる。
【0005】
このようなセットアソシエイティブ方式のキャッシュメモリは、一般的にプロセッサの高機能化を行うために広く用いられている。そして、近年においては、セットアソシエイティブ方式のキャッシュメモリのフラッシュを1クロックで行うことが要求されている。
【0006】
このセットアソシエイティブ方式のキャッシュメモリを1クロックによりフラッシュを行う技術として、特開平2−90347号公報が開示されている。特開平2−90347号公報のセットアソシエイティブ方式のキャッシュメモリでは、タグアドレスとバリッドビットを格納するバリッドビットレジスタとを分離し、バリッドビットを記憶する記憶手段により、1サイクルでのオールクリア動作が行われている。
【0007】
しかしながら、特開平2−90347号公報のキャッシュメモリにおいてnウェイkセット構成のセットアソシエイティブ方式とする場合には、バリッドビットレジスタの数がn×2個となり、キャッシュメモリの回路規模が増加する。そして、キャッシュメモリの回路規模の増加にともない、キャッシュメモリで消費される消費電力が増加する。特に、ウェイ数の増加にともない飛躍的に回路規模が増加し、それにともない消費電力が飛躍的に増加する。
【0008】
さらに、バリッドビットレジスタの数が多くなると、キャッシュメモリへの書込みやキャッシュメモリからの読込みを行う際、バリッドビットレジスタを選択するための制御回路が複雑となる。そのため、バリッドビットに書き込んだり読み出したりする時間が増大し、キャッシュメモリが低速化するという問題が発生する。
【0009】
【発明が解決しようとする課題】
このように、従来のキャッシュメモリでは、クリア動作を行うことができたとしても、キャッシュメモリ自体の回路規模が拡大するという問題点があった。
【0010】
本発明は、このような問題点を解決するためになされたもので、クリア動作を効率良く行うことができ、回路規模を縮小させることができるキャッシュメモリ及びその制御方法を提供することを目的とする。
【0011】
本発明にかかるキャッシュメモリは、複数のウェイを有し、同一のインデックスを有する複数のデータを前記複数のウェイに振り分けてキャッシュするセットアソシエイティブ方式のキャッシュメモリであって、インデックスとウェイ番号との両方により指定される管理単位毎のキャッシュデータの有効・無効を示す複数の第一バリッドビットを格納する格納手段と、同一のインデックスを有する前記管理単位のキャッシュデータの内少なくとも一のウェイのキャッシュデータが有効である場合には有効を示す複数の第二バリッドビットを格納するバリッドビットレジスタと、前記バリッドビットレジスタに格納された前記第二バリッドビットを一括してリセットするリセット手段と、を有するものである。このような構成により、キャッシュメモリの回路規模を縮小させつつ、キャッシュされたデータが全て無効であると判定できるようにバリッドビットを一括してリセットすることができる。
【0012】
さらに、本発明にかかるキャッシュメモリは、前記複数の第二バリッドビットは、同一のインデックスを有する前記管理単位のキャッシュデータの内、全てのウェイのキャッシュデータが無効である場合には無効を示すものである。これにより、第二のバリッドビットが無効を示すことにより、当該バリッドビットは無効を示すことができ、キャッシュメモリのクリア動作を効率良く行うことができる。
【0013】
またさらに、本発明にかかるキャッシュメモリでは、前記複数の第一バリッドビットから選択される一のビットと、前記複数の第二バリッドビットから選択される一のビットと、が入力される第1のANDゲートをさらに有するものである。
【0014】
そして、本発明にかかるキャッシュメモリは、前記複数の第二バリッドビットから選択された前記一のビットは、ラッチ回路を介して前記第1のANDゲートに入力されるものである。
【0015】
また、本発明にかかるキャッシュメモリは、前記複数のウェイに対応する複数のバリッドビット信号が入力される第1のORゲートをさらに有するものである。
【0016】
また、本発明にかかるキャッシュメモリは、前記第1のORゲートの出力は、前記第二バリッドビットであることを特徴とするものである
【0017】
また、本発明にかかるキャッシュメモリは、前記複数のウェイの各々に対応する複数の書き込み信号を入力とするNORゲートと、前記NORゲートの出力と、前記複数の第二バリッドビットから選択された前記一のビットと、前記複数のウェイの各々に対応する前記複数の書き込み信号の内、一のウェイに対応する一の書き込み信号と、を入力とする第2のORゲートと、前記第2のORゲートの出力と、前記複数のウェイに対応する前記複数のバリッドビット信号の内、前記一のウェイに対応する一のバリッドビット信号と、を入力とし、前記第一バリッドビットを出力とする第2のANDゲートと、前記第2のORゲートの出力の反転と、前記複数のウェイの内の前記一のウェイに対応する前記一の書き込み信号を入力とする第3のORゲートと、キャッシュされたデータの内、前記一のウェイと前記複数の第二バリッドビットから選択された前記一のビットに対応するインデックスとで指定される一の管理単位におけるデータのアドレスタグに、前記第一バリッドビットを付加した信号を出力する付加ゲートと、前記第3のORゲートの出力と、前記付加ゲートの出力を入力とする前記格納手段と、を有するものである。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態について図を参照して説明する。
【0021】
まず本発明の実施の形態に対する一比較例について説明し、次に本発明の実施の形態について説明する。なお、本発明の実施の形態においては、キャッシュメモリを、多ウェイ・セットアソシエイティブ方式のキャッシュメモリとして説明する。また、キャッシュメモリのウェイ数はいくつでも良く、以下では一般の数nを用いてnウェイと記載する。
【0022】
まず、図4を用いて本発明の実施の形態(以下、本実施形態という)に対する一比較例について説明する。図4は、本実施形態に対する一比較例を示す概略模式図である。図4に示すように、タグメモリ1001は、タグメモリ1011〜101nから構成される。タグメモリ1011〜101nに対してkビットのインデックス信号1300、mビットのアドレスタグ信号1310が入力される。アドレスタグ信号1310がタグメモリ1011〜101nに入力されると、インデックス信号1300に対応するインデックスのセットにアドレスタグが書き込まれる。
【0023】
タグメモリ1011〜101nにアドレスタグを書き込む際、書込み信号1330が入力される。書込み信号1330は、書込み信号1331〜133nに分岐して各タグメモリ1011〜101nに入力される。このとき、書込み信号1331〜133nのうちで有効な論理値(例えば、論理値1)を有する書込み信号が入力されたタグメモリはアクティブな状態となる。そして、アドレス信号1310からのアドレスタグが、インデックス信号1300に対応するセットのブロックに書き込まれる。また、書込み信号1331〜133nのうちで無効な論理値(例えば、論理値0)を示す書込み信号が入力されるタグメモリにはアドレスタグが書き込まれない。
【0024】
また、図4に示す本実施形態に対する一比較例においては、従来のダイレクトマップ方式やセットアソシエイティブ方式のキャッシュのように、タグメモリ1001にアドレスタグとともにバリッドビットが格納されることはない。バリッドビットは、アドレスタグとは別個にバリッドビットレジスタ10021〜1002nに格納される。
【0025】
バリッドビットレジスタ10021〜1002nのそれぞれは、デコーダ1031〜103n、バリッドビットメモリ12ij(i、j=1、・・・、n)、エンコーダ1051〜105nから構成される。バリッドビットレジスタ1002iはバリッドビットメモリ12i1〜12ijを有する。バリッドビットメモリ12ijのそれぞれには、1ビットのバリッドビットが書き込まれる。
【0026】
バリッドビットレジスタ10021〜1002nは、nビットのバリッドビット信号1320が入力され、2個のインデックスに基づいてタグメモリ1011〜101nの各アドレスタグのバリッドビットが書き込まれる。このとき、バリッドビット信号1320は、バリッドビット信号1321から132nに分岐して各バリッドビットレジスタに入力される。また、バリッドビットレジスタ10021〜1002nには、kビットのインデックス信号1300が入力される。このインデックス信号1300に基づいて、バリッドビットはバリッドビットメモリ1211〜121jのいずれかに書き込まれる。
【0027】
また、タグメモリ1011〜101nと同様に、バリッドビットレジスタ10021〜1002nにバリッドビットを書き込む際、書込み信号1330が入力される。書込み信号1330は、書込み信号1331〜133nに分岐して各デコーダ1031〜103nに入力される。このとき、書込み信号1331〜133nのうちで有効な論理値(例えば、論理値1)を有する書込み信号が入力されたバリッドビットメモリはアクティブな状態となる。
【0028】
デコーダ1031〜103nにはインデックス信号1300が入力される。このインデックス信号1300に基づいてデコーダ1031〜103nはデコードを行う。それとともに、バリッドビットが格納されるバリッドビットメモリに有効な論理値を有する書込み信号が入力される。これにより、書込み信号を入力されたバリッドビットメモリはアクティブとなる。
【0029】
アクティブとなったバリッドビットメモリには、デコーダ1031〜103nでのデコード結果に基づいて出力信号14ijのいずれかが選択され、選択された出力信号が入力されたバリッドビットメモリ12ijにはバリッドビットが格納される。また、書込み信号1331〜133nのうちで無効な論理値(例えば、論理値0)を示す書込み信号が入力されるバリッドビットメモリにはバリッドビットが書き込まれない。
【0030】
アドレスタグを読み出す際、アドレスタグ1351〜135nは、タグメモリ1011〜101nにインデックス信号1300が入力されてタグメモリ1011〜101nから読み出される。このとき、アドレスタグ1351〜135nは、インデックス信号1300に対応するセットのブロックから読み出される。
【0031】
バリッドビットレジスタ10021〜1002nからバリッドビット1361〜136nを読み出す際、バリッドビットメモリ12i1〜12ijから信号15i1〜15ijがエンコーダ105iに出力される。エンコーダ105iにはインデックス信号1300が入力され、このインデックス信号1300に基づいて入力される信号15i1〜15ijが選択される。
【0032】
選択された入力信号により、選択された入力信号に対応するバリッドビットメモリからバリッドビットが読み出される。エンコーダ1051〜105nから読み出された出力信号1601〜160nのそれぞれは、ラッチ1121〜112nでラッチされ、クロックに同期するバリッドビット1361〜136nとして出力される。
【0033】
このように出力されるアドレスタグ1351〜135nとバリッドビット1361〜136nは比較器に送られ、CPUからのアクセスアドレスとの比較に用いられる。このとき、バリッドビット1361〜136nはデータメモリに格納されるデータの有効性の有無を判断するのに用いられる。バリッドビット1361〜136nが有効を示す(例えば、論理値1を有する)場合にはデータメモリにデータが格納されていることとなる。またバリッドビット1361〜136nが無効を示す(例えば、論理値0を有する)場合にはデータメモリにデータが格納されないこととなる。
【0034】
バリッドビット1361〜136nが有効を示す場合、アドレスタグ1351〜135nは、CPUがアクセスしようとするデータのアクセスアドレスと比較される。比較結果により、両者が一致する場合にはヒット信号をCPUに対して送信し、データメモリからデータの読込みが行われる。バリッドビット1361〜136nが無効を示す場合には、ミスニット信号をCPUに対して送信し、メインメモリからキャッシュメモリに対してデータが読み出される。
【0035】
図4に示す本実施形態に対する一比較例においては、タグメモリ101iから読み出されるアドレスタグ135iに対応するデータの有効性を判断する際、バリッドビット136iが用いられる。すなわち、例えば、比較器において、バリッドビット136iが有効を示す場合、アドレスタグ135iがアクセスアドレスとの比較に用いられる。そして、両者が一致する場合、アドレスタグ135iに対応するデータが読み出される。
【0036】
また、本実施形態に対する一比較例においては、バリッドビットレジスタ10021〜1002nに格納されるバリッドビットをクリアしてリセットを行う際には、各バリッドビットレジスタに対してフラッシュ信号1340が入力され、バリッドビットレジスタ毎にリセットが行われる。このとき、バリッドビットメモリに格納されるバリッドビット全てが同時にクリアされる。
【0037】
このように、本実施形態に対する一比較例では、アドレスタグ1351〜135nのそれぞれとバリッドビット1361〜136nのそれぞれとは一対一に対応し、それぞれの組(アドレスタグ135iとバリッドビット136i)に関して比較が行われる。そのため、図4に示す一比較例においては、nウェイ・セットアソシエイティブ方式のキャッシュメモリでは、n個のバリッドビットレジスタが設けられる。そのため、バリッドビット全てを同時にクリアできるといえども、キャッシュメモリの回路規模が拡大する。これにより、キャッシュメモリの消費電力が増加したり、キャッシュメモリが低速化したりする。
【0038】
次に、本実施形態について説明する。本実施形態について説明するに際して、本実施形態の概要、詳細、動作について順に説明する。
【0039】
図1を用いて本実施形態の概略について説明する。図1は、本実施形態におけるキャッシュメモリを用いたシステムの一構成例を示す概略模式図である。図1に示すように、このシステムは、CPU(中央処理装置)4、タグメモリ1、バリッドビットレジスタ2、データメモリ3を備える。
【0040】
CPU4は、命令部と制御部とを有する一般的な処理装置である。CPU4は、データの転送を行ったり、データ転送を制御したりする。
【0041】
タグメモリ1は、本実施形態におけるキャッシュメモリがnウェイ・セットアソシエイティブ方式のキャッシュメモリであるため、nウェイの格納領域から構成される。タグメモリ1は、データの格納位置を示すアドレスタグを格納する。さらに、タグメモリ1には、当該アドレスに対応するデータの有効か無効かを示すバリッドビット(有効ビット)が格納される。
【0042】
ここで、バリッドビットは、当該アドレスタグに対応するデータがデータメモリ3に格納されているか否かを示す。また以下では、このタグメモリ1に格納されるバリッドビットを第一バリッドビットとする。
【0043】
バリッドビットレジスタ2は、タグメモリ1と同様に、当該アドレスに対応するデータの有効性の有無を示すバリッドビットを格納する(以下、バリッドビットレジスタ2に格納されるバリッドビットを第二バリッドビットとする)。バリッドビットレジスタ2は、後述するように、タグメモリ1のnウェイの各セットに共通に接続される。
【0044】
また、バリッドビットレジスタ2は、入力された信号をデコードするデコーダを有する。後述するように、このデコーダにアドレスのインデックスが入力されると、インデックスに基づいて所定のバリッドビット信号が選択されて第二バリッドビットとして格納される。
【0045】
データメモリ3は、nウェイ・セットアソシエイティブ方式のキャッシュメモリでは、タグメモリ1のnウェイに対応してn種類の格納領域に分割されている。データメモリ3には、アドレスに従ってデータが格納される。このアドレスは、タグメモリ1に格納されるアドレスタグに対応している。そして、データメモリ3内でデータの格納位置はアドレスに基づいて管理されている。
【0046】
データメモリ3においてデータが格納されているか否かは、第一バリッドビット及び第二バリッドビットにより管理される。後述するように、第一バリッドビットと第二バリッドビットとから、データの存在つまりデータの有効性の有無を示すバリッドビットが生成される。
【0047】
図1に示すように、このシステムにおいては、CPU4から、タグメモリ1に対してアドレスの上位mビットをアドレスタグ信号として出力する。さらに、CPU4から、タグメモリ1及びデータメモリ3に対してアドレスの下位kビットをインデックス信号として出力する。また、このインデックス信号は、バリッドビットレジスタ2に対しても出力される。
【0048】
タグメモリ1からCPU4に対してデータのヒット/ミスヒットを示すヒット/ミスヒット信号が出力される。それに応じて、タグメモリ1からデータメモリ3に対して読出し及び書込みを行うためにアドレスを指定するアドレスタグ信号が出力される。また、CPU4とデータメモリ3との間では、データバスを介してデータ転送が行われ、このアドレス信号によりデータの読出しや書込みが行われる。
【0049】
図2及び図3を用いて、本実施形態におけるキャッシュメモリの詳細について説明する。図2は、タグメモリ1及びバリッドビットレジスタ2を示す模式図である。図3は、キャッシュメモリの動作を示すタイミングチャートである。なお、図2では、nウェイ・セットアソシエイティブ方式のキャッシュメモリの本発明に係るタグメモリ1及びバリッドビットレジスタ2のみを示し、本発明とは直接関係しない詳細な構成は省略する。
【0050】
図2に示すように、タグメモリ1は、1ウェイに対して1個として、11〜1nの計n個のタグメモリ11〜1nから構成されている。また、タグメモリ11〜1nの各ブロックには、アドレスタグとアドレスタグに対応するデータが有効か無効かを示す第一バリッドビットとが格納される。アドレスタグは、データメモリ3に格納された各データのメインメモリ上でのアドレスの一部である。例えば、アドレスの上位mビットをアドレスタグとすることができる。
【0051】
タグメモリ11〜1nに格納されるアドレスタグ及び第一バリッドビットは、インデックスを基にして各ブロックに格納される。インデックスは、データメモリ3に格納された各データのメインメモリ上でのアドレスの一部である。例えば、アドレスの下位kビットをインデックスとすることができる。
【0052】
アドレスタグは、アドレスの上位mビットである場合には、mビットのアドレスタグ信号310としてタグメモリ11〜1nの一つに供給される。インデックスは、アドレスの下位kビットである場合には、kビットのインデックス信号300としてタグメモリ11〜1nの一つに供給される。
【0053】
タグメモリ11〜1nからアドレスタグを読み出すとき、インデックス信号300がタグメモリ11〜1nの一つに入力される。これにより、アドレスタグ及び第一バリッドビットが格納されたセットが定まり、このセットからアドレスタグが読み出されてmビットのアドレスタグ351〜35nとして出力される。
【0054】
タグメモリ11〜1nにアドレスタグを書き込むとき、インデックス信号300がタグメモリ11〜1nの一つに入力される。これにより、アドレスタグ及び第一バリッドビットを書き込むセットが定まる。そして、書込み信号651〜65nを入力され、書込み信号651〜65nのうち有効を示すタグメモリに対するセットのブロックにアドレスタグ及び第一バリッドビットが格納される。
【0055】
このようにタグメモリ11〜1nには、kビットのインデックスに基づいてmビットのアドレスタグが各ブロック格納される。そのため、タグメモリ11〜1nの1ウェイには、2個のブロックにアドレスタグを格納することができ、nウェイではn×2個のブロックのアドレスタグを格納することができる。さらに、後述するように、各アドレスタグには1ビットの第一バリッドビットが付加され、アドレスタグは第一バリッドビットとともに格納される。すなわち、アドレスタグは第一バリッドビットをあわせて(m+1)ビットの状態で格納されている。これにより、タグメモリ11〜1nの各ウェイは、(m+1)ビット×2ワード構成のメモリということになる。
【0056】
第一バリッドビットは、nビットのバリッドビット信号320がタグメモリ11〜1nに供給されてタグメモリ11〜1nの各ブロックに格納される。nビットのバリッドビット信号320は、論理ゲートAND101〜10nにおいて入力信号621〜62nとの論理積をとられて第一バリッドビット631〜63nとなる。第一バリッドビット631〜63nは、mビットのアドレスタグ信号310に付加された後、第一バリッドビットが付加されたアドレスタグ641〜64nとしてタグメモリ11〜1nのそれぞれに入力される。
【0057】
図2に示すように、バリッドビットレジスタ2は、主要な構成として、第二バリッドビットを格納するバリッドビットメモリ21〜2j(j=2とする)、デコーダ30、エンコーダ50から構成される。
【0058】
バリッドビットメモリ21〜2jには、アドレスタグに対応するデータが有効か無効かを示す第二バリッドビットが格納される。バリッドビットメモリ21〜2jには、各タグメモリ11〜1nの各ウェイに共通なインデックスつまり各セットのインデックスに基づいて第二バリッドビットが格納され、インデックス信号300に示すインデックスに対応して格納される。また、バリッドビットメモリ21〜2jは、nウェイにおける各インデックスに対応するjセットのそれぞれに対応する。
【0059】
nビットのバリッドビット信号320は、論理ゲートOR70で論理和をとられ、1ビットのバリッドビット信号321として出力される。さらに、インデックス信号300は、デコーダ30に入力されてデコードされ、そのデコード結果401〜40jによって論理ゲートAND41〜4jで論理積をとられる。これにより、バリッドビット信号321の1ビットは、論理ゲートAND41〜4jで選択されたバリッドビットメモリ21〜2jの1つに記憶される。
【0060】
バリッドビットメモリ21〜2jから出力される出力信号501〜50jは、エンコーダ50に入力され、エンコードされてレジスタ出力信号600として出力される。このとき、エンコーダ50にはインデックス信号300が入力され、インデックス信号300によって出力信号501〜50jの中から選択されたレジスタ出力信号600として出力される。その後、レジスタ出力信号600は、メモリからのデータの読み出しと同期をとるためラッチ120でラッチされ、第二バリッドビット670として出力される。
【0061】
この第二バリッドビット670は、論理ゲートAND61〜6nにおいて、タグメモリ11〜1nの各タグメモリから読み出された第一バリッドビット661〜66nとの間で論理積をとられる。これにより、各ウェイに関してバリッドビット361〜36nが生成される。このとき、第一バリッドビット661〜66nは、エンコーダ50で選択されたレジスタ出力信号600に対応したインデックスに基づくセットのブロックから出力される。
【0062】
これらのバリッドビット361〜36nとともに、タグメモリ11〜1nから読み出されたアドレスタグ351〜35nは、図示しない比較器に送られてアドレス比較に用いられる。また、タグアドレス351〜35nも第一バリッドビット661〜66nと同様に、エンコーダ50で選択されたレジスタ出力信号600に対応したインデックスに基づくセットのブロックから出力される。
【0063】
アドレス比較では、まずバリッドビット361〜36nの中で有効なバリッドビットが選択される。そして、アドレスタグ351〜35nの中で有効なバリッドビットを有するアドレスタグと、CPUがアクセス要求を行っているアクセスアドレスの上位mビットとを比較する。比較した結果、両アドレスが一致する場合、データメモリ3にアクセスするヒット判定信号を発生させ、ヒット判定信号をデータメモリ3に送信する。また、両アドレスが一致しない場合には、ミスヒット判定信号を発生させる。
【0064】
本実施形態におけるバリッドビットレジスタ2は、バリッドビットメモリ21〜2jをリセットするリセット手段を有するレジスタとして構成することができる。バリッドビットメモリ21〜2jをクリアする際、フラッシュ信号340をバリッドビットレジスタ2に入力することによりリセットを行うことができる。このとき、フラッシュ信号340の1クロックにより、バリッドビットメモリ21〜2jの全バリッドビットを同時にリセットすることが可能である。例えば、フラッシュ信号340としてnビットの0クランプ信号等を入力することにより、1クロックで全ての第二バリッドビットをクリアすることができる。
【0065】
前述のように、バリッドビット361〜36nは、第一のバリッドビット661と、第二バリッドビット670とから生成される。さらに、バリッドビットレジスタ2がバリッドビットメモリ21〜2jの全バリッドビットを同時にリセットすることにより、フラッシュ後にはバリッドビットレジスタ2から生成される第二バリッドビット670は無効を示す(例えば、論理値0を持つ)。そのため、第二バリッドビット670が論理ゲートAND61〜6nで論理積をとられると、第一バリッドビット661〜66nの有効/無効に関わらず、バリッドビット361〜36nは無効を示すこととなる。これにより、バリッドビットレジスタ2を1クロックでクリアすると、各ウェイのバリッドビット361〜36nをクリアすることができる。また、リセット手段を有するバリッドビットレジスタ2の個数が単数であるため、バリッドビットレジスタ2の個数を従来のnウェイ・セットアソシエイティブ方式のキャッシュメモリに比べて1/nとすることができる。
【0066】
ここで、このフラッシュ後、バリッドビットレジスタ2の全バリッドビットが同時にクリアされるのに対し、タグメモリ11〜1n上に格納されているバリッドはクリアされていない。そのため、フラッシュ以後にタグメモリ1にアドレスタグを書き込む際、書込みを行うのに選択されたセットのブロックの第一バリッドビットに無効を示す論理を書き込む。一例として、所定の第一バリッドビットに論理値0を書き込む。
【0067】
フラッシュ以後の一動作例について説明する。なお、以下ではキャッシュメモリの書込み信号330で1をアクティブな状態を示すものとして説明する。図2に示すように、書込み信号330は、タグメモリ11〜1nのnウェイに関して合わせた全ビットつまりnビットを論理ゲートNOR80で論理和をととられた後に反転され、信号610として出力する。この信号610は、論理ゲートOR91〜9nのそれぞれにおいて、各ウェイへの書込み信号331〜33nとレジスタ出力信号600とから論理和をとられ、出力信号621〜62nとして出力される。そして、これらの出力信号621〜62nは、論理ゲートAND101〜10nにおいて、バリッドビット信号320との間で論理積をとられ、第一バリッドビット631〜63nとして出力される。
【0068】
バリッドビットレジスタ2のバリッドビットメモリ21〜2j全てをフラッシュ信号340により同時にクリアすると、フラッシュによってバリッドビットレジスタ2からのレジスタ出力信号600がアクティブでない0となる。さらに、インデックス信号300に対応するセットにアドレスタグを書き込むため、書込み信号331〜33nの全ては0でなく、書込み信号331から33nの中に1となるものが存在する。
【0069】
このようにレジスタ出力信号600が0であり、且つ書込み信号331〜33nの中のどれかが1であるとき、書込み信号331〜33nの中で1である書込み信号は、その書込み信号から出力される第一バリッドビット631〜63nのいずれかを1としてタグメモリに入力され、第一バリッドビットを1とする。書込み信号331〜33nの中で0である書込み信号は、第一バリッドビット631〜63nを0としてタグメモリ11〜1nに入力され、バリッドビットが0となる。
【0070】
タグメモリ11〜1nの各ウェイに対応した書込み信号331〜33nは、論理ゲートOR111〜11nにおいて、出力信号621〜62nの反転信号との間で論理和をとられて書込み信号651〜65nとして出力される。出力された書込み信号651〜65nは、各セットのブロックにアドレスタグや第一バリッドビットを書き込むことができる場合に有効を示す。そのため、書込み信号651〜65nが0の時に書込み信号を有効にする(例えば、書込み信号として1を書き込む)。
【0071】
このように、バリッドビットレジスタ2がリセット手段を有することにより、バリッドビットメモリ21〜2jに格納される第二バリッドビットの全てを同時に1クロックでクリアすることができる。これにより、各ウェイのバリッドビット361〜36nを1クロックでクリアすることが可能となる。
【0072】
さらに、第二バリットビットの全てを同時にクリアした後、書込み信号330によりタグメモリ1にアドレスタグを書き込むとともに所望の第一バリッドビットを0として書き込むことができる。これにより、バリッドビットレジスタ2のフラッシュ後、第二バリッドビット全てをクリアするとともに、アドレスタグを書き込む第一バリッドビット以外の全ての第一バリッドビットを同時にクリアすることができる。
【0073】
また、書込み信号330によりタグメモリ1にアドレスタグを書き込むとともに第一バリッドビットをクリアすることができるため、新たにタグメモリ1のバリッドビットをクリアする手段を設けることなく、第一バリッドビットをクリアすることができる。そのため、図4に示す比較例と比べ、キャッシュメモリの回路規模を縮小することができる。
【0074】
図2及び図3を用いて、キャッシュメモリからアドレスタグを読み出す動作、キャッシュメモリにアドレスタグを書き込む動作について順に説明する。ここで、図3において、時刻tをクロック信号が立ち上がる時刻(0から1へと変化する時刻)としている。
【0075】
図3(a)は、キャッシュメモリからアドレスタグを読み出す動作を示すタイミングチャートである。アドレスタグをタグメモリ11〜1nから読み出す際、タグメモリ11〜1nの一つにkビットのインデックス信号300が入力される(時刻t)。この入力されたインデックス信号300に対応するインデックスをタグメモリ11〜1n内のアドレスとして、そのタグメモリ11〜1nの各セットのブロックからmビットのアドレスタグ351〜35nが読み出される。このとき、タグメモリ11〜1nの各ブロックからは、アドレスタグ351〜35nとともに、1ビットの第一バリッドビット661〜66nがクロックに同期して出力される。
【0076】
バリッドビットレジスタ2では、インデックス信号300を入力され、エンコーダ50では1つのレジスタ出力信号600が選択されてバリッドビットレジスタ2から出力される(時刻t)。レジスタ出力信号600は、ラッチ120においてラッチされ、クロックに同期する第二バリッドビット670として出力される(時刻t)。このとき、クロックを介して、第二バリッドビット670は、タグメモリ11〜1nからの第一バリッドビット661〜66nの出力と同期する。その後、この第二バリッドビット670は、タグメモリ11〜1nから出力された第一バリッドビット661〜66nの各々と、論理ゲートAND61〜6nで論理積をとられ、各ウェイからバリッドビット361〜36nとして出力される(時刻t)。
【0077】
前述のように、アドレスタグ351〜35n及びバリッドビット361〜36nは、比較器に送られてアドレス比較に用いられる。
【0078】
図3(b)は、キャッシュメモリにアドレスタグを書き込む動作を示すタイミングチャートである。アドレスタグをタグメモリ11〜1nに書き込む際、nビットの書込み信号330が入力される。入力された書込み信号330は、タグメモリ11〜1nのうちの書き込むウェイに対応する書込み信号331〜33nが選択され、書込み信号331〜33nのうちの1ビットがアクティブになる。すなわち、書込み信号331〜33nのうちの1ビットが有効な論理値1を有し、それ以外の書込み信号331〜33nの全てが無効な論理値0を有する。
【0079】
バリッドビットレジスタ2のエンコーダ50にkビットのインデックス信号300が入力される(時刻t)。このインデックス信号300に基づいて、バリッドビットメモリ21〜2jから出力される出力信号501〜50jのうちのひとつが選択されてレジスタ出力信号600として出力される(時刻t)。
【0080】
また、時刻tにおいて、mビットのアドレスタグ信号310が、タグメモリ11〜1nへの入力データとして入力される。このmビットのアドレスタグに第一バリッドビットに該当する1ビットが付加され、第一バリッドビットが付加されたアドレスタグ641〜64nとしてタグメモリ11〜1nに入力される。
【0081】
レジスタ出力信号600は、論理ゲートOR91〜9nにおいて、書込み信号331〜33nとの間で論理和をとられ、出力信号621〜62nとして出力される。このとき、出力信号621〜62nのうち、書込み信号331〜33nでアクティブなものから出力される信号は、有効な論理値1を有し、アクティブでないものから出力されるものは無効な論理値0を有する。
【0082】
出力信号621〜62nは、論理ゲートAND101〜10nで論理積をとられ、タグメモリ11〜1nに入力される第一バリッドビット631〜63nが生成される。このとき、書込み信号330で選択されたタグメモリ11〜1nのいずれか一つに対する第一バリッドビットは、有効を示し、論理値1を有する。書込み信号330で選択されなかったタグメモリ11〜1nに対する他の第一バリッドビットは無効を示す(例えば、論理値0を有する)ことになる。
【0083】
タグメモリ11〜1nの各ウェイに対応した書込み信号331〜33nは、論理ゲートOR111〜11nにおいて、出力信号621〜62nの反転信号との間で論理和をとられて書込み信号651〜65nとして出力される(時刻t)。出力された書込み信号651〜65nは、各ウェイにアドレスタグやバリッドビットを書き込むことができる場合に有効を示す(例えば、論理値1を有する)。書込み信号651〜65nが有効となるウェイが定まることにより、書き込むウェイが選択され、(m+1)ビットの第一バリッドビットが付加されたアドレスタグ641〜64nが書き込まれる。
【0084】
なお、インデックス信号300は、タグメモリ11〜1nの一つに入力される。これにより、第一バリッドビットが付加されたアドレスタグ641〜64nが書き込まれるセットが定まり、書込み信号330が書込み動作を行わせるウェイに対応するセットのブロックに第一バリッドビットが付加されたアドレスタグ641〜64nが書き込まれる。
【0085】
また、選択されたタグメモリにアドレスタグ及び第一バリッドビットを書き込む際、バリッドビットレジスタ2に第二バリッドビットがクロックに同期して書き込まれる。バリッドビットレジスタ2では、nビットのインデックス信号300をデコードした結果j=2個のバリッドビットメモリ21〜2jから1つバリッドビットメモリが選択され、選択されたバリッドビットメモリに1ビットのバリッドビット信号321がクロックに同期して格納される。
【0086】
前述のように、バリッドビットレジスタ2のフラッシュにより、第二バリッドビッドのクリアを行うことができる。フラッシュ信号340がアクティブになったとき、全バリッドビットレジスタは1クロックでリセットされ、無効を示す論理値0を記憶する。そして、タグメモリ11〜1nに格納される第一バリッドビットは、アドレスを書き込まれるセットを除いてクリアされ、無効を示す論理値0を書き込まれる。この書込みは、第一バリッドビットが付加されたアドレスタグ641〜64nがタグメモリ11〜1nに入力され、さらに書込み信号651〜65nが入力されて書込みが始まったのに遅れて行われる(時刻t)。
【0087】
バリッドビットレジスタ2のフラッシュ以降、タグメモリ11〜1nから出力される第一バリッドビット661〜66nが有効を示す論理値1の場合であっても、第二バリッドビット670が無効を示す論理値0を記憶していると、バリッドビット361〜35nが無効の論理値0となる。すなわち、第一バリッドビットが有効/無効に関わらず、第二バリッドビット670が無効を示す場合には、各ウェイのバリッドビット361〜36nは無効(論理値0)を示す。
【0088】
フラッシュ以降、タグメモリ11〜1nへの書込みを行う際、第二バリッドビットの全てが無効(論理値0)であるため、バリッドビットレジスタ2からのレジスタ出力信号600が0となる。そして、タグメモリ11〜1nに書き込むとき、nビットの書込み信号330の全ては0ではなく、選択されたウェイでは書込み信号331〜33nが有効(論理値1)となる。そのため、論理ゲートOR91〜9nから出力される出力信号621〜62nが論理値0となることにより、論理ゲートAND101〜10nで論理積をとられて出力された第一バリッドビット631〜63nは無効を示す(論理値が0となる)。
【0089】
そして、論理ゲートOR111〜11nで論理和をとられて出力されるメモリへの書込み信号651〜65nが有効を示す(論理値が1になる)ことにより、クロックに同期して第一バリッドビットに論理値0が書き込まれる。そのため、フラッシュ以降にアドレスタグを書き込む際、バリッドビットレジスタに論理値1が書き込まれていた場合であっても、選択されなかったウェイ(非選択ウェイ)のタグメモリ1上の第一バリッドビットを0に書き換えることができる。これにより、タグメモリ1上の第一バリッドビットをクリアすることができる。
【0090】
以上のように、本実施形態におけるキャッシュメモリでは、複数のタグメモリ11〜1nに対して、単数のバリッドビットレジスタ2を共通に接続する。そして、アドレスタグの読み出しや書込み、バリッドビット361〜36nの生成を行う。このとき、バリッドビット361〜36nは、第一バリッドビット661〜66nと第二バリッドビット670とから生成される。
【0091】
さらに、バリッドビットレジスタ2がリセット手段を有するため、バリッドビットメモリ21〜2jに格納される第二バリッドビットの全てを同時に1クロックでクリアすることができる。これにより、第一バリッドビット661〜66nと第二バリッドビット670から生成されるバリッドビット361〜36nを全て同時に1クロックで効率良くクリアすることができる。
【0092】
このようなnウェイ・セットアソシエイティブ方式のキャッシュメモリでは、従来のnウェイ・セットアソシエイティブ方式のキャッシュメモリに比べて1/nとすることができる。そのため、バリッドビットレジスタ2を一つ設けることにより、キャッシュメモリの回路規模を縮小することができる。
【0093】
そして、タグメモリ1にアドレスタグを書き込むとともに書込み信号330によりタグメモリ1に格納される第一バリッドビットをクリアすることができる。そのため、新たに第一バリッドビットをクリアする手段を設けることなく、第一バリッドビットをクリアすることができる。そのため、キャッシュメモリの回路規模をより一層縮小することができる。
【0094】
このようにキャッシュメモリの回路規模を縮小させることができるため、消費電力の低減を行うことができる。また、キャッシュ回路の規模を縮小させ、複雑化するのを回避することができるため、キャッシュメモリの高速化を実現することができる。
【0095】
そして、バリッドビットレジスタ2をフラッシュして第二バリットビットの全てを同時にクリアした後、アドレスタグを書き込む際に第一バリッドビット以外の全てのバリッドビットを同時にクリアすることができる。そのため、バリッドビットを効率良くクリアすることができ、バリッドビットのクリア時における動作時間の短縮が可能となる。また、バリッドビットを効率良くクリアし、クリア動作時間を短縮することができるため、高速に動作を行うキャッシュメモリを得ることができる。
【0096】
なお、本発明の実施の形態においては、CPUとメインメモリとの間に設けられるキャッシュメモリについて説明したが、本発明は、メインメモリと補助記憶装置との間に設けられるディスクキャッシュにも適応することができる。ディスクキャッシュに適応する場合であっても、ディスクキャッシュの回路規模の縮小、消費電力の低減、ディスクキャッシュの高速化が可能となる。さらに、キャッシュメモリとディスクキャッシュの双方に用いることにより、コンピュータ全体の消費電力の低減、高速化を実現することができる。
【0097】
【発明の効果】
本発明によれば、クリア動作を効率良く行うことができ、回路規模を縮小させることができるキャッシュメモリ及びその制御方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるキャッシュメモリを用いたシステムの一構成例を示す概略模式図である。
【図2】本発明の実施の形態におけるキャッシュメモリの要部の一構成例を示す模式図である。
【図3】本発明の実施の形態におけるキャッシュメモリの動作を示すタイミングチャートである。
【図4】本発明の実施の形態におけるキャッシュメモリに対する一比較例を示す模式図である。
【符号の説明】
1 タグメモリ、 2 バリッドビットレジスタ、 3 データメモリ、 4 CPU、 30 デコーダ、 50 エンコーダ、 1001 タグメモリ、 10021,・・・,1002n バリッドビットレジスタ、 1031,・・・,103n デコーダ、 1051,・・・,105n エンコーダ

Claims (7)

  1. 複数のウェイを有し、同一のインデックスを有する複数のデータを前記複数のウェイに振り分けてキャッシュするセットアソシエイティブ方式のキャッシュメモリであって、
    インデックスとウェイ番号との両方により指定される管理単位毎のキャッシュデータの有効・無効を示す複数の第一バリッドビットを格納する格納手段と、
    同一のインデックスを有する前記管理単位のキャッシュデータの内少なくとも一のウェイのキャッシュデータが有効である場合には有効を示す複数の第二バリッドビットを格納するバリッドビットレジスタと、
    前記バリッドビットレジスタに格納された前記第二バリッドビットを一括してリセットするリセット手段と、
    を有することを特徴とするキャッシュメモリ。
  2. 前記複数の第二バリッドビットは、同一のインデックスを有する前記管理単位のキャッシュデータの内、全てのウェイのキャッシュデータが無効である場合には無効を示すことを特徴とする請求項1記載のキャッシュメモリ。
  3. 前記複数の第一バリッドビットから選択される一のビットと、前記複数の第二バリッドビットから選択される一のビットと、が入力される第1のANDゲートをさらに有することを特徴とする請求項1または2記載のキャッシュメモリ。
  4. 前記複数の第二バリッドビットから選択された前記一のビットは、ラッチ回路を介して前記第1のANDゲートに入力されることを特徴とする請求項3記載のキャッシュメモリ。
  5. 前記複数のウェイに対応する複数のバリッドビット信号が入力される第1のORゲートをさらに有することを特徴とする請求項3または4記載のキャッシュメモリ。
  6. 前記第1のORゲートの出力は、前記第二バリッドビットであることを特徴とする請求項5記載のキャッシュメモリ。
  7. 前記複数のウェイの各々に対応する複数の書き込み信号を入力とするNORゲートと、
    前記NORゲートの出力と、前記複数の第二バリッドビットから選択された前記一のビットと、前記複数のウェイの各々に対応する前記複数の書き込み信号の内、一のウェイに対応する一の書き込み信号と、を入力とする第2のORゲートと、
    前記第2のORゲートの出力と、前記複数のウェイに対応する前記複数のバリッドビット信号の内、前記一のウェイに対応する一のバリッドビット信号と、を入力とし、前記第一バリッドビットを出力とする第2のANDゲートと、
    前記第2のORゲートの出力の反転と、前記複数のウェイの内の前記一のウェイに対応する前記一の書き込み信号を入力とする第3のORゲートと、
    キャッシュされたデータの内、前記一のウェイと前記複数の第二バリッドビットから選択された前記一のビットに対応するインデックスとで指定される一の管理単位におけるデータのアドレスタグに、前記第一バリッドビットを付加した信号を出力する付加ゲートと、
    前記第3のORゲートの出力と、前記付加ゲートの出力を入力とする前記格納手段と、
    を有することを特徴とする請求項5または6記載のキャッシュメモリ。
JP2002204107A 2002-07-12 2002-07-12 キャッシュメモリ及びその制御方法 Expired - Fee Related JP3997404B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002204107A JP3997404B2 (ja) 2002-07-12 2002-07-12 キャッシュメモリ及びその制御方法
US10/615,870 US7047363B2 (en) 2002-07-12 2003-07-10 Cache memory and control method thereof
KR10-2003-0047318A KR100517765B1 (ko) 2002-07-12 2003-07-11 캐시 메모리 및 그 제어 방법
TW092118998A TWI232377B (en) 2002-07-12 2003-07-11 Cache memory and control method thereof
CNB03147294XA CN1295624C (zh) 2002-07-12 2003-07-14 高速缓冲存储器及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002204107A JP3997404B2 (ja) 2002-07-12 2002-07-12 キャッシュメモリ及びその制御方法

Publications (2)

Publication Number Publication Date
JP2004046593A JP2004046593A (ja) 2004-02-12
JP3997404B2 true JP3997404B2 (ja) 2007-10-24

Family

ID=30112695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002204107A Expired - Fee Related JP3997404B2 (ja) 2002-07-12 2002-07-12 キャッシュメモリ及びその制御方法

Country Status (5)

Country Link
US (1) US7047363B2 (ja)
JP (1) JP3997404B2 (ja)
KR (1) KR100517765B1 (ja)
CN (1) CN1295624C (ja)
TW (1) TWI232377B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100704618B1 (ko) * 2004-01-19 2007-04-10 삼성전자주식회사 플래시 메모리의 데이터 복구 장치 및 방법
US7321954B2 (en) * 2004-08-11 2008-01-22 International Business Machines Corporation Method for software controllable dynamically lockable cache line replacement system
KR20100133964A (ko) * 2008-03-13 2010-12-22 아스펜 액퀴지션 코포레이션 유효 어레이를 비활성화함으로써 전력을 절약하기 위한 방법
US10176099B2 (en) 2016-07-11 2019-01-08 Intel Corporation Using data pattern to mark cache lines as invalid
US10402337B2 (en) * 2017-08-03 2019-09-03 Micron Technology, Inc. Cache filter

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0290348A (ja) 1988-09-28 1990-03-29 Nec Corp データ無効化サイズ可変なキャッシュメモリシステム

Also Published As

Publication number Publication date
TW200410069A (en) 2004-06-16
TWI232377B (en) 2005-05-11
JP2004046593A (ja) 2004-02-12
CN1295624C (zh) 2007-01-17
US7047363B2 (en) 2006-05-16
CN1475917A (zh) 2004-02-18
KR20040007343A (ko) 2004-01-24
KR100517765B1 (ko) 2005-09-28
US20040008552A1 (en) 2004-01-15

Similar Documents

Publication Publication Date Title
US7694077B2 (en) Multi-port integrated cache
JP3277145B2 (ja) メモリ・アレイ
US6678815B1 (en) Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end
US6425055B1 (en) Way-predicting cache memory
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US8499123B1 (en) Multi-stage pipeline for cache access
JP2001184263A (ja) 旧キャッシュラインを無効化および除去する装置
US7457917B2 (en) Reducing power consumption in a sequential cache
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
CN113961483B (zh) 高速缓存存储器和使用高速缓存存储器的方法
JPH0529945B2 (ja)
JPH0827715B2 (ja) 記憶装置
US10496546B2 (en) Cache memory and processor system
US20160217079A1 (en) High-Performance Instruction Cache System and Method
US6385696B1 (en) Embedded cache with way size bigger than page size
JP3997404B2 (ja) キャッシュメモリ及びその制御方法
JPWO2006038258A1 (ja) データプロセッサ
JP3352947B2 (ja) 高性能マルチポート支援lruメモリ
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
JP3242161B2 (ja) データプロセッサ
KR100398954B1 (ko) 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법
US20030188105A1 (en) Management of caches in a data processing apparatus
JP3729832B2 (ja) キャッシュメモリ装置
JPH1185613A (ja) キャッシュメモリ
JP3559631B2 (ja) 半導体メモリ及びデータ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070724

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120817

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120817

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130817

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees