JP2012203560A - キャッシュメモリおよびキャッシュシステム - Google Patents
キャッシュメモリおよびキャッシュシステム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement 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
【解決手段】キャッシュメモリ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などの単位でダーティビットを管理するといった方法が考えられる。しかし、その場合、ダーティビットのビット数が膨大になってしまい、キャッシュメモリの面積が大きくなってしまうという問題があった。
面積の増大を抑制しつつ、高速化することが可能なキャッシュシメモリを提供する。
本発明の実施例に従ったキャッシュメモリは、タグアドレスを記憶するタグメモリと、第1のダーティビットを記憶する第1のダーティビットメモリと、有効ビットを記憶する有効ビットメモリと、データを記憶するデータメモリ105と、を含む複数のキャッシュラインを有する複数のウエイを備える。また、キャッシュメモリは、前記キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリを備える。また、キャッシュメモリは、前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリと、前記データメモリへのバイト単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリと、登録された順番を規定するFIFO情報を記憶するFIFOメモリと、を含む複数のラインを有するDBLBシステムと、を備える。キャッシュメモリは、前記第2のダーティビットに基づいて、対応するデータメモリのキャッシュラインをライトバックさせる。
以下、本発明の実施例について図面に基づいて説明する。
図1は、本発明の実施例に係るキャッシュシステム100の構成例を示す図である。キャッシュシステム100は、コア1と、キャッシュメモリ2と、外部メモリ3と、バス4、5と、を備える。
図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は、複数のキャッシュラインを有する複数の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システムのラインが対応づけられる。
データ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)、ライトバックは行わずに処理を終了する。
一方、全てのダーティビットが“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 キャッシュシステム
2 キャッシュメモリ
3 外部メモリ
100 キャッシュシステム
Claims (5)
- タグアドレスを記憶するタグメモリと、第1のダーティビットを記憶する第1のダーティビットメモリと、有効ビットを記憶する有効ビットメモリと、データを記憶するデータメモリと、を含む複数のキャッシュラインを有する1または複数のウエイと、
前記キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリと、
前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリと、前記データメモリへの所定単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリと、登録された順番を規定するFIFO情報を記憶するFIFOメモリと、を含む複数のラインを有するDBLB管理部と、を備え、
前記第2のダーティビットに基づいて、対応するウエイのキャッシュラインのデータをライトバックする
ことを特徴とするキャッシュメモリ。 - 前記第2のダーティビットの全てのビットがライトされたことを示した場合に、前記対応するウエイのキャッシュラインのデータをライトバックする
ことを特徴とする請求項1に記載のキャッシュメモリ。 - 前記DBLB管理部での処理は、前記データメモリへの書き込み処理と並行して実行する
ことを特徴とする請求項1または2に記載のキャッシュメモリ。 - 前記DBLB管理部は、ラインに空きがない場合、前記FIFO情報に基づいて、一番古く登録されたラインをクリアし、新規のラインとして前記第2のダーティビットおよび前記FIFO情報を更新する
ことを特徴とする請求項1ないし3のいずれか一項に記載のキャッシュメモリ。 - コアと、
前記コアにバスを介して接続されたキャッシュメモリと、
前記キャッシュメモリにバスを介して接続された外部メモリと、を備え、
前記キャッシュメモリは、
タグアドレスを記憶するタグメモリと、第1のダーティビットを記憶する第1のダーティビットメモリと、有効ビットを記憶する有効ビットメモリと、データを記憶するデータメモリと、を含む複数のキャッシュラインを有する1または複数のウエイと、
前記キャッシュラインを特定するためのラインインデックスを記憶するラインインデックスメモリと、
前記ウエイを特定する第1のビットデータおよび前記ラインインデックスを特定する第2のビットデータを記憶するローメモリと、前記データメモリへの所定単位のライトに対応したビット単位の第2のダーティビットを記憶する第2のダーティビットメモリと、登録された順番を規定するFIFO情報を記憶するFIFOメモリと、を含む複数のラインを有するDBLB管理部と、を備え、
前記第2のダーティビットに基づいて、対応するウエイのキャッシュラインのデータをライトバックする
ことを特徴とするキャッシュシステム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015535631A (ja) * | 2012-11-28 | 2015-12-14 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 動的に割り振られたダーティマスク空間を用いるメモリ管理 |
Families Citing this family (11)
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)
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 |
-
2011
- 2011-03-24 JP JP2011066317A patent/JP2012203560A/ja not_active Withdrawn
- 2011-06-09 US US13/156,471 patent/US20120246410A1/en not_active Abandoned
Cited By (1)
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 |