JP2012203560A - キャッシュメモリおよびキャッシュシステム - Google Patents

キャッシュメモリおよびキャッシュシステム Download PDF

Info

Publication number
JP2012203560A
JP2012203560A JP2011066317A JP2011066317A JP2012203560A JP 2012203560 A JP2012203560 A JP 2012203560A JP 2011066317 A JP2011066317 A JP 2011066317A JP 2011066317 A JP2011066317 A JP 2011066317A JP 2012203560 A JP2012203560 A JP 2012203560A
Authority
JP
Japan
Prior art keywords
memory
cache
line
bit
data
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.)
Withdrawn
Application number
JP2011066317A
Other languages
English (en)
Inventor
Kei Jo
慧 徐
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011066317A priority Critical patent/JP2012203560A/ja
Priority to US13/156,471 priority patent/US20120246410A1/en
Publication of JP2012203560A publication Critical patent/JP2012203560A/ja
Withdrawn 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

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)

Abstract

【課題】キャッシュメモリの面積の増大を抑制しつつ、高速化する。
【解決手段】キャッシュメモリ2はタグメモリ103と、第1のダーティビットメモリ106と、有効ビットメモリ107と、データメモリ105と、を含む複数のキャッシュラインを有する複数のウエイを備える。また、キャッシュメモリ2は、前記キャッシュラインを特定するためのラインインデックスメモリ101を備える。また、キャッシュメモリ2は、前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリ202と、前記データメモリへのバイト単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリ203と、登録された順番を規定するFIFO情報を記憶するFIFOメモリ204と、を含む複数のラインを有するDBLBシステム201と、を備える。
【選択図】図5

Description

本発明の実施形態は、ライトバック方式のキャッシュメモリおよびキャッシュシステムに関する。
従来、通常のライトバック方式のキャッシュシステムでは、キャッシュメモリに書き込んだデータが外部メモリに反映されていることを保証するために、フラッシュ命令を実行する。フラッシュ命令は、指定されたキャッシュラインのダーティビットを調べ、ダーティビットがダーティだった場合には、キャッシュメモリのデータを外部メモリへライトバックする。フラッシュ命令が連続して実行されると、コアは前のライトバックが完了するまで次のフラッシュ命令を実行することが出来ない。
そこで、キャッシュメモリがコアの演算処理などと並行して、すでにダーティビットがダーティになっているキャッシュラインを自動でライトバックする方法もある。
しかし、この方法では、通常のキャッシュシステムはキャッシュライン単位でしかダーティビットをもっていないため、まだクリーンなバイトがあっても自動でライトバックを行ってしまい、バンド幅を無駄に消費する可能性があった。
このような問題に対し、例えばラインの1/2、1/4などの単位でダーティビットを管理するといった方法が考えられる。しかし、その場合、ダーティビットのビット数が膨大になってしまい、キャッシュメモリの面積が大きくなってしまうという問題があった。
特開平9−259036
面積の増大を抑制しつつ、高速化することが可能なキャッシュシメモリを提供する。
本発明の実施例に従ったキャッシュメモリは、タグアドレスを記憶するタグメモリと、第1のダーティビットを記憶する第1のダーティビットメモリと、有効ビットを記憶する有効ビットメモリと、データを記憶するデータメモリ105と、を含む複数のキャッシュラインを有する複数のウエイを備える。また、キャッシュメモリは、前記キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリを備える。また、キャッシュメモリは、前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリと、前記データメモリへのバイト単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリと、登録された順番を規定するFIFO情報を記憶するFIFOメモリと、を含む複数のラインを有するDBLBシステムと、を備える。キャッシュメモリは、前記第2のダーティビットに基づいて、対応するデータメモリのキャッシュラインをライトバックさせる。
本発明に係るキャッシュシステム100の構成例を示す図。 キャッシュシメモリ2の構成の一例を示す図。 DBLB管理部201の構成の一例を示す図。 DBLB管理部201のローメモリ202の構成の一例を示す図。 コア1からキャッシュメモリ2にライトが要求され、要求されたアドレスがキャッシュメモリ2にヒットした場合の例を示す図。 コア1からキャッシュメモリ2にアクセスするパイプライン処理と、DBLB管理部201が動作するパイプライン処理との一例を示す図。 コア1からキャッシュメモリ2にアクセスするパイプライン処理と、DBLB管理部201が動作するパイプライン処理との他の例を示す図。 キャッシュメモリ2でヒットしたキャッシュラインが、DBLB管理部201を検索しても存在しない場合の動作の一例を示す図。 コア1からキャッシュメモリ2にライトアクセスする時、キャッシュミスする場合における、DBLB管理部201の動作の一例を示す図。 コア1からキャッシュメモリ2にアクセスするパイプライン処理と、DBLB管理部201が動作するパイプライン処理とのさらに他の例を示す図。 キャッシュミスした場合に、追い出すラインインデックスとWayを決定したとき、DBLB管理部201のローメモリ202にヒットする場合の例を示す図。 本発明のキャッシュメモリ2の動作の一例を示すフローチャート。
以下、本発明の実施例について図面に基づいて説明する。
図1は、本発明の実施例に係るキャッシュシステム100の構成例を示す図である。キャッシュシステム100は、コア1と、キャッシュメモリ2と、外部メモリ3と、バス4、5と、を備える。
コア1は、フラッシュ命令、ライトアクセス指令、リードアクセス命令等のソフトウェア命令を実行する。キャッシュメモリ2は、バス4を介して、コア1に接続されている。外部メモリ3は、バス5を介して、キャッシュメモリ2に接続されている。
図2は、キャッシュシメモリ2の構成例を示す図である。キャッシュメモリ2は通常、下位レベルの記憶装置より小容量で高速なSRAMを用いて構成される。キャッシュメモリ2は、データ本体の一部とそのアドレス、フラグなどの属性情報を固定容量のメモリに格納する構造で、データ構造、ライン入替え、データ更新方式などに多数のアーキテクチャが存在する。
キャッシュメモリ2は、複数のキャッシュラインを有する複数のWayと、キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリ101と、LRU(Least Recently Used)メモリ102と、を備える。図2のキャッシュメモリ2は、4−Way Set Associative方式の、4セットタグにより構成されるデータ格納構造を有する。各Wayは、タグアドレスTagを記憶するタグメモリ103と、ダーティビットDを記憶するダーティビットメモリ106と、有効ビットVを記憶する有効ビットメモリ107と、256バイトのデータを記憶するデータメモリ105と、を有する。
ここで、キャッシュメモリ2のキャッシュサイズを例えば128KBとする。キャッシュメモリ2は、128のキャッシュラインから構成される。タグメモリ103には、32ビットのライン単位アドレスの上位ビット[31:15](タグアドレス部)である17ビットのタグアドレスTagが格納されている。キャッシュメモリ2は、コア1からアクセス要求があると、検索エントリアドレスのタグアドレス部と、タグメモリ103に記憶されたタグアドレスTagとを比較し、キャッシュのヒットを判定する。
キャッシュラインの入替え(リフィル)は、該当エントリアドレスの全キャッシュラインにデータが格納されていて、且つ、同一エントリ新規タグアドレスが入力されてキャッシュミスした(ヒットしなかった)場合に発生する。この場合、どのキャッシュラインを追い出して新規アドレスと入れ替えるかは、例えばLRUアルゴリズムが用いられる。LRUアルゴリズムは、最も古くアクセスされたキャッシュラインをリフィルする方法である。
さらに、本発明のキャッシュメモリ2は、DBLB(Dirty Bit Look−Up Block)管理部201を備える。図3は、DBLB管理部201の構成例を示す図である。DBLB管理部201は、該当するキャッシュラインを認識するためのデータRowを記憶するローメモリ202と、データメモリ105の全バイト毎のダーティビットを記録するダーティビットメモリ203と、FIFOメモリ204と、を有する。ダーティビットメモリ203のダーティビットは、データメモリ105へのライト(書き込み)に対応したバイト単位のビット情報である。
さらに、DBLB管理部201は、DBLBが溢れた時の追い出し対象のキャッシュラインを決めるアルゴリズムとして、例えばFIFO(First In First Out)を実現する。FIFOメモリ204は、そのラインが登録された順番を規定するFIFO情報を記憶する。例えば、8エントリのDBLB構造において、FIFO情報は3ビットである。なお、入れ替え方式は、エントリ間の入れ替え優先順位を決められれば良いので、他の方式、例えばLRU方式でも構わない。
ローメモリ202のデータRowは、Wayを特定するビットデータと、ラインインデックスを特定するビットデータである。ここでは、Way0〜Way4を示す2ビットと、ラインインデックス0〜127を示す7ビットと、の計9ビットの情報を記憶する。
データRowにより、あるキャッシュラインのデータと該当するDBLBシステムのラインが対応づけられる。
ダーティビットメモリ203は、データメモリ105に記憶されたデータのデータ単位に対応したダーティビットを保存する。ダーティビットが示すデータ単位は、キャッシュラインサイズよりも小さい単位であればよく、ここではバイト単位としている。すなわち、256バイトのデータに対して、256ビットのダーティビットが保存される。
ここで、コア1からキャッシュメモリ2に8バイトのライトアクセスが要求され、要求されたアドレスがキャッシュメモリ2にヒットしたとする。例えば、ラインインデックス値“2”とWay値“0”にヒットした場合について説明する。
図5は、コア1からキャッシュメモリ2にライトアクセスが要求され、要求されたアドレスがヒットした場合の例を示す図である。コア1からキャッシュメモリ2に8バイトのライトアクセスが要求されると、要求された検索エントリアドレスのタグアドレス部と、タグメモリ103のタグアドレスTagとを比較する。
比較の結果、ラインインデックス“2”、Way“0”にヒットする。そして、キャッシュメモリ2は、Way0のデータメモリ105にライト動作を実行する。このとき、キャッシュメモリ2は、該当するキャッシュラインのダーティビットDを“1”にする(302)。また、キャッシュヒットした、Way値とラインインデックス値に基づいて、DBLB管理部201のローメモリ202のデータRowと比較する。同じ値が存在する場合には、キャッシュメモリ2はDBLBヒットしたと判定する。
そして、ライトする8バイトのデータに対応するダーティビットメモリ203のダーティビット(8ビット)を“1”にする(303)。ライトアクセスされたキャッシュラインに対応するダーティビットメメモリ203のダーティビットが全て“1”になってない時は、キャッシュメモリ2は、自動ライトバックを発生しない。すなわち、ライトアクセスされたキャッシュラインのダーティビットが全て“1”になった時(304)、該キャッシュラインのデータの自動ライトバックが行われる。
なお、本発明は、データメモリ105へのライト(401)と、ダーティビットメモリ203のダーティビットの更新(402)と、を並行して実行する(図6)。また、コア1は、同じキャッシュラインへ連続してライトアクセスを行う可能性が高い。したがって、コア1から通常のキャッシュライトアクセスをする場合と比べて、速度が落ちることはない。
自動ライトバックのタイミングは、通常のライトアクセス性能を保つために、データキャッシュのライト処理が終わるまで、ライトバック処理を待つ。キャッシュメモリ2は、ダーティビットメモリ203のダーティビットに基づいて(すなわち、該ダーティビットが対応するキャッシュライン全体にライトがされた場合には)、キャッシュラインをロックして、対応するデータメモリ105のキャッシュラインを外部メモリ3へライトバックを行う。ライトバックが終わったら、対応するキャッシュラインのダーティビットおよびDBLB管理部201のダーティビットを全て“0”に更新する。
図8は、キャッシュメモリ2でヒットしたキャッシュラインが、DBLB管理部201を検索しても存在しない場合(DBLBミス)の動作の一例を示す図である。キャッシュメモリ2においてヒットしたキャッシュラインが、DBLB管理部201を検索しても存在しない場合がある。
DBLBに空きがない場合は、DBLB管理部201のラインの入替えを行う。本発明では、例えば一番古い登録順のラインを入れ替え対象のラインにするFIFOアルゴリズムを用いる。FIFOメモリ204に記憶されたFIFO値に基づき、入れ替え対象ラインを決定する。入れ替え対象ラインはFIFO値が一番大きい値“111”のライン(すなわち、一番古く登録されたライン)(601)であり(図8(a))、このラインに新規キャッシュラインの情報を登録する。入れ替え対象ラインのRowを新規キャッシュラインのWayとラインインデックスに対応した値に書き換える。さらに、ダーティビットを新規キャッシュラインのデータの状態に対応した値に書き換える。そして、DBLB管理部201の全てのラインのFIFOに1を加算する。入れ替え対象ラインのFIFO値は“000”にする(図8(b))。
なお、DBLB管理部201に空きがある場合は、空いているラインのローメモリ202、ダーティビットメモリ203、FIFOメモリ204に所定のデータが記憶される。
一方、コア1からキャッシュメモリ2にライトアクセスする時、キャッシュミスする場合がある。次に、キャッシュミスした場合における、DBLB管理部201の動作を説明する。図9は、キャッシュミスした場合における、DBLB管理部201の動作の一例を示す図である。
キャッシュミスした場合、外部メモリ3にそのアドレスのリードアクセスを要求し、新規キャッシュラインとして入れ替え(Replace)するエントリ(701)を決める。入れ替え対象エントリに、外部メモリ3からのリードデータを書き込み、その後、コア1からのライトデータを書き込む。なお、そのエントリに記憶されていた既存データのライトバックが必要な場合には、ライトバッファ(図示せず)にアドレスとデータを退避しておく。その後、外部メモリ3にライトアクセスを要求し、データのライトバックを行う。
また、キャッシュミスした場合、対応するタグアドレスTagが存在しないため、DBLB管理部201にもミス動作が発生(ローメモリ202に対応するラインが存在しない)する(702)。そこで、DBLB管理部201に空きがない場合は、入れ替え対象ラインを決めて(703)、このラインのダーティビットを全部クリアする(704)。空きがある場合は、空いているラインに新規情報として登録する。そして、コア1からのライトデータをキャッシュメモリ2に書き込む時に、該入れ替え対象ラインの対応するダーティビットを更新する(705)。
次に、図9に示すDBLB管理部201の動作タイミングについて説明する。キャッシュメモリ2でキャッシュミスした場合、入れ替え対象のWayの番号を決めてから、キャッシュメモリ2にリフィルを発生させる。その後、並行して、コア1からキャッシュメモリ2に上書き処理と、DBLB管理部201の新規ラインの登録及びコア1からのライトアクセスによるダーティビットの更新処理が実行される。
次に、キャッシュミスした場合に、追い出すラインインデックスとWayを決定したとき、このラインインデックスとWayの値がローメモリ202のビットと一致する場合もあり得る。以下、図11を参照しながら、この場合について説明する。
キャッシュミスし、入れ替え対象エントリを決定したとき、このエントリがDBLB管理部201にすでに登録されていたとする(901)と、このラインのダーティビットは古いラインのダーティビット(902)となる。
したがって、ダーティビットを全部クリアして(903)、コア1からのライトデータをキャッシュメモリ2に書き込み、DBLB管理部201のダーティビットを更新する(904)。
なお、DBLB管理部201への新規登録ラインは無いので、FIFO値は更新しなくてもよい。しかしながら、DBLB管理部201のヒット率を高めるために、FIFO値を更新してもよい。例えば、全エントリのFIFO値に“1”を加算する(905)。そして、ヒットしたラインのFIFO値(図11では“011”)を、“000”に戻ったエントリのFIFO値と交換する(906)。これにより、一番古く登録されたラインが交換され、より新しい情報がDBLB管理部201に登録されていることになる。
このように、キャッシュメモリ2は、ライトアクセスに対してキャッシュミスした場合に、リフィルされるキャッシュラインに対応する新規ラインを、DBLB管理部201の一番古く登録されたラインと入れ替える。
以上のような機能を有するキャッシュメモリ2の動作をまとめて説明する。図12は、本発明のキャッシュメモリ2の動作の一例を示すフローチャートである。先ず、キャッシュメモリ2は、コア1からライトアクセスされると(S1)、タグメモリ102を参照する(S2)。
検索エントリアドレスのタグアドレス部と、タグメモリ103のタグアドレスTagとを比較し(S3)、一致した場合には、キャッシュがヒットしたものと判定される。一致した場合、一致したタグアドレスTagからWayとラインインデックスを得る(S4)。
そして、得たWayのキャッシュラインのデータメモリ105にライトデータを書き込む(S5)。また、DBLB管理部201のローメモリ202のビット情報と、ヒットしたタグアドレスTagのWayとラインインデックスと、が一致するか否かを判定する(S6)。なお、S5とS6の動作は、並列処理される。S6で一致する場合(S6−Yes)、DBLB管理部201のヒットしたラインの該当するダーティビットを更新する(S7)。
次に、キャッシュメモリ2は、DBLB管理部201の該当するラインの全てのダーティビットが“1”になったかを判定する(S8)。全てのダーティビットが“1”と判定された場合(S8−Yes)、自動ライトバックを実行する(S9)。
一方、全てのダーティビットが“1”でない場合(S8−No)、ライトバックは行わずに処理を終了する。
次に、S9の後、ヒットしたキャッシュラインのダーティビットおよびDBLB管理部201のヒットしたラインのダーティビットを全て“0”に更新する(S10)。
また、DBLB管理部201のローメモリ202のビット情報と、ヒットしたタグアドレスTagのWayとラインインデックスと、が一致しない(S6−No)場合は、DBLB管理部201に空のラインがあるか否かを判定する(S12)。
空のラインが無い場合(S12−No)、DBLB管理部201のラインの入替えを行う(S13)。一方、空のラインが在る場合(S12−Yes)、新規ラインの情報をDBLBシステムの空のラインに記憶する(S14)。
S13、S14の後、DBLB管理部201の新規ラインのビット情報、ダーティビットを更新する(S15)。すなわち、ローメモリ202のビットを新規ラインに対応するキャッシュラインのWayとラインインデックスに対応した値に書き換える。また、ダーティビットメモリ203を新規ラインに対応するキャッシュラインのデータの状態に対応したダーティビットに書き換える。
次に、キャッシュメモリ2は、DBLB管理部201の該新規ラインのダーティビットメモリ203の全てのダーティビットが“1”であるかを判定する(S16)。全て“1”の場合(S16−Yes)、ヒットしたキャッシュラインのダーティビットおよびDBLB管理部201の該新規ラインのダーティビットを全て“0”に更新する(S17)。一方、全て“1”でない場合(S16−No)、処理を終了する。
なお、コア1のフラッシュ命令を実行する場合、キャッシュメモリ2はダーティビットメモリ106のビットがダーティのとき、外部メモリ3へ書き戻す。この場合は、普通のキャッシュメモリと全く同じように動作するが、本発明では、本来ライトバックが必要なラインも、すでに自動でライトバックしている場合があるので、フラッシュ命令を早く終了することができる。フラッシュしたいアドレスのキャッシュメモリ2のラインインデックスとWayが、DBLB管理部201のローメモリ202に存在する場合、該当エントリのダーティビットを全て“0”にする。
本発明の実施例は、DBLB管理部201の1つのエントリの全ダーティビットが“1”になった時、すなわち、対応するキャッシュラインの全バイトがダーティになった時、自動的にライトバックすることができる。よって、未だクリーンなバイトが残っているにも拘わらずライトバックされるといった現象を抑制し、グローバルバスへの無駄なバンド幅の消費を削減できる。
また、特に一定領域を書き潰すようなアクセスは基本まとまって行われるため、バイト単位のダーティビットを保持する専用のキャッシュ(BDLB管理部201)を持つことで、キャッシュメモリ2の面積増加を抑えることができる。DBLB管理部201の動作パイプライン処理は、通常のキャッシュメモリと完全に別のパイプライン処理で動作しているので、キャッシュアクセスの速度に影響は殆どない。
ハードウエア実現にもDBLBシステムのロジックを従来のキャッシュメモリに簡単に付けられる。本発明の実施例のDBLB管理部201は、DBLBのエントリ数が8、1つのラインで268ビット(約34バイト)、キャッシュメモリ(64〜512×260バイト)に対して、非常に小さい面積(1.6%〜0.204%)となる。さらに、無駄なデータライトバックアクセスが減ることによるDynamic電力現象が期待できる。また、DBLB管理部201は、オーバーヘッドが少なく、実現が容易であり、従来技術によりも十分効果があるシステムである。
以上のように、本発明の実施例に係るキャッシュメモリによれば、面積の増大を抑制しつつ、高速化することができる。
なお、実施形態は例示であり、発明の範囲はそれらに限定されない。
1 コア
2 キャッシュメモリ
3 外部メモリ
100 キャッシュシステム

Claims (5)

  1. タグアドレスを記憶するタグメモリと、第1のダーティビットを記憶する第1のダーティビットメモリと、有効ビットを記憶する有効ビットメモリと、データを記憶するデータメモリと、を含む複数のキャッシュラインを有する1または複数のウエイと、
    前記キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリと、
    前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリと、前記データメモリへの所定単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリと、登録された順番を規定するFIFO情報を記憶するFIFOメモリと、を含む複数のラインを有するDBLB管理部と、を備え、
    前記第2のダーティビットに基づいて、対応するウエイのキャッシュラインのデータをライトバックする
    ことを特徴とするキャッシュメモリ。
  2. 前記第2のダーティビットの全てのビットがライトされたことを示した場合に、前記対応するウエイのキャッシュラインのデータをライトバックする
    ことを特徴とする請求項1に記載のキャッシュメモリ。
  3. 前記DBLB管理部での処理は、前記データメモリへの書き込み処理と並行して実行する
    ことを特徴とする請求項1または2に記載のキャッシュメモリ。
  4. 前記DBLB管理部は、ラインに空きがない場合、前記FIFO情報に基づいて、一番古く登録されたラインをクリアし、新規のラインとして前記第2のダーティビットおよび前記FIFO情報を更新する
    ことを特徴とする請求項1ないし3のいずれか一項に記載のキャッシュメモリ。
  5. コアと、
    前記コアにバスを介して接続されたキャッシュメモリと、
    前記キャッシュメモリにバスを介して接続された外部メモリと、を備え、
    前記キャッシュメモリは、
    タグアドレスを記憶するタグメモリと、第1のダーティビットを記憶する第1のダーティビットメモリと、有効ビットを記憶する有効ビットメモリと、データを記憶するデータメモリと、を含む複数のキャッシュラインを有する1または複数のウエイと、
    前記キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリと、
    前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリと、前記データメモリへの所定単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリと、登録された順番を規定するFIFO情報を記憶するFIFOメモリと、を含む複数のラインを有するDBLB管理部と、を備え、
    前記第2のダーティビットに基づいて、対応するウエイのキャッシュラインのデータをライトバックする
    ことを特徴とするキャッシュシステム。
JP2011066317A 2011-03-24 2011-03-24 キャッシュメモリおよびキャッシュシステム Withdrawn JP2012203560A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011066317A JP2012203560A (ja) 2011-03-24 2011-03-24 キャッシュメモリおよびキャッシュシステム
US13/156,471 US20120246410A1 (en) 2011-03-24 2011-06-09 Cache memory and cache system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066317A JP2012203560A (ja) 2011-03-24 2011-03-24 キャッシュメモリおよびキャッシュシステム

Publications (1)

Publication Number Publication Date
JP2012203560A true JP2012203560A (ja) 2012-10-22

Family

ID=46878308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066317A Withdrawn JP2012203560A (ja) 2011-03-24 2011-03-24 キャッシュメモリおよびキャッシュシステム

Country Status (2)

Country Link
US (1) US20120246410A1 (ja)
JP (1) JP2012203560A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015535631A (ja) * 2012-11-28 2015-12-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated 動的に割り振られたダーティマスク空間を用いるメモリ管理

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5445701B1 (ja) * 2013-02-05 2014-03-19 日本電気株式会社 フラッシュ制御装置、フラッシュ制御方法、及び、キャッシュメモリ装置
US9720847B2 (en) * 2013-07-17 2017-08-01 Nxp Usa, Inc. Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed
US10802987B2 (en) * 2013-10-15 2020-10-13 Mill Computing, Inc. Computer processor employing cache memory storing backless cache lines
US10558569B2 (en) 2013-10-31 2020-02-11 Hewlett Packard Enterprise Development Lp Cache controller for non-volatile memory
US9715461B2 (en) * 2014-03-03 2017-07-25 Kabushiki Kaisha Toshiba Cache memory control circuit and processor
US9779025B2 (en) 2014-06-02 2017-10-03 Micron Technology, Inc. Cache architecture for comparing data
KR102410692B1 (ko) 2015-03-30 2022-06-17 삼성전자주식회사 슬레이브와 데이터 통신을 할 수 있는 마스터와 상기 마스터를 포함하는 데이터 처리 시스템
US9852072B2 (en) * 2015-07-02 2017-12-26 Netapp, Inc. Methods for host-side caching and application consistent writeback restore and devices thereof
US20170177482A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Computing system having multi-level system memory capable of operating in a single level system memory mode
US10318423B2 (en) * 2016-12-14 2019-06-11 Macronix International Co., Ltd. Methods and systems for managing physical information of memory units in a memory device
KR20200004119A (ko) 2018-07-03 2020-01-13 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1684180A4 (en) * 2003-11-12 2008-10-29 Matsushita Electric Ind Co Ltd CACHE MEMORY AND CONTROL PROCEDURE THEREFOR
JP2006119796A (ja) * 2004-10-20 2006-05-11 Matsushita Electric Ind Co Ltd キャッシュメモリシステムおよび動画処理装置
US7380070B2 (en) * 2005-02-17 2008-05-27 Texas Instruments Incorporated Organization of dirty bits for a write-back cache
US8180968B2 (en) * 2007-03-28 2012-05-15 Oracle America, Inc. Reduction of cache flush time using a dirty line limiter
TWI382426B (zh) * 2007-10-04 2013-01-11 Realtek Semiconductor Corp 預測快取記憶體之存取位置的方法及系統
US20100217937A1 (en) * 2009-02-20 2010-08-26 Arm Limited Data processing apparatus and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015535631A (ja) * 2012-11-28 2015-12-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated 動的に割り振られたダーティマスク空間を用いるメモリ管理

Also Published As

Publication number Publication date
US20120246410A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
JP2012203560A (ja) キャッシュメモリおよびキャッシュシステム
CN111344684B (zh) 多层缓存安置机制
JP5622155B2 (ja) キャッシュメモリおよびその制御方法
TWI533201B (zh) 縮減交易回復的快取控制
US9298615B2 (en) Methods and apparatus for soft-partitioning of a data cache for stack data
US8583874B2 (en) Method and apparatus for caching prefetched data
TWI382426B (zh) 預測快取記憶體之存取位置的方法及系統
US9317448B2 (en) Methods and apparatus related to data processors and caches incorporated in data processors
KR101862785B1 (ko) 타일 기반 렌더링을 위한 캐쉬 메모리 시스템 및 캐슁 방법
JP4920378B2 (ja) 情報処理装置およびデータ検索方法
US9720847B2 (en) Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed
US9697137B2 (en) Filtering translation lookaside buffer invalidations
JP6088951B2 (ja) キャッシュメモリシステムおよびプロセッサシステム
WO2015125971A1 (ja) キャッシュ存在情報を有するtlb
US11526449B2 (en) Limited propagation of unnecessary memory updates
US20140189244A1 (en) Suppression of redundant cache status updates
US7761665B2 (en) Handling of cache accesses in a data processing apparatus
CN109074313B (zh) 缓存和方法
JP5699854B2 (ja) 記憶制御システムおよび方法、置換方式および方法
JP7264806B2 (ja) キャッシュエントリでメモリアクセス要求のペンデンシを識別するシステム及び方法
US9053030B2 (en) Cache memory and control method thereof with cache hit rate
KR101976320B1 (ko) 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법
US9734071B2 (en) Method and apparatus for history-based snooping of last level caches
US20120102271A1 (en) Cache memory system and cache memory control method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603