JP2011248389A - Cache memory and cache memory system - Google Patents
Cache memory and cache memory system Download PDFInfo
- Publication number
- JP2011248389A JP2011248389A JP2008231461A JP2008231461A JP2011248389A JP 2011248389 A JP2011248389 A JP 2011248389A JP 2008231461 A JP2008231461 A JP 2008231461A JP 2008231461 A JP2008231461 A JP 2008231461A JP 2011248389 A JP2011248389 A JP 2011248389A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- tag
- line
- word
- dirty
- 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.)
- Pending
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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
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
Description
本発明は、ライトバック方式のキャッシュメモリに関する。 The present invention relates to a write-back cache memory.
ライトバック方式とは、キャッシュメモリへのデータ書き込み時に、基本的にキャッシュメモリに対してのみ書き込み、主記憶へは同時には書き込まずに、後で適宜書き戻す方式である。
ライトバック方式では、キャッシュメモリと主記憶とへの書き込みタイミングにズレが生じるので、両者が保持しているデータの整合性を管理するためのDirty/Cleanフラグが設けられている。Dirty(ダーティ)は、キャッシュメモリに保持されているデータが更新されるなどして、主記憶上のデータとの一致が保証できない場合を示し、Clean(クリーン)は、その逆を示す。Dirty/Cleanフラグにより、対象のデータがDirtyかCleanかを判断することができる。Dirtyなデータは、適当なタイミングで主記憶に書き戻し、その整合性をとる必要がある。
The write-back method is a method in which, when data is written to the cache memory, basically only the cache memory is written, and the main memory is not written at the same time, but is appropriately rewritten later.
In the write-back method, there is a deviation in the write timing to the cache memory and the main memory, so a Dirty / Clean flag is provided for managing the consistency of the data held by both. Dirty indicates that the data held in the cache memory is updated, etc., and cannot match the data on the main memory, and Clean indicates the opposite. The Dirty / Clean flag can be used to determine whether the target data is dirty or clean. Dirty data must be written back to main memory at an appropriate timing to ensure consistency.
このようなDirty/Cleanフラグは、ライン(数ワードから構成される)単位で管理することが一般的である。もっとも、ライン単位であると、ラインに含まれる数ワードのうちの、どのワードがDirtyかまでは不明なので無用な書き戻しが行われることがある。
そこで、特許文献1では、ラインより細かい単位(例えば、ワード単位)でDirty/Cleanの別を管理することで、必要なデータのみの書き戻しを可能にし、不要なバス・トランザクションの低減が図れるとしている。なお、他に特許文献2〜4の技術が知られている。
Therefore, in
低速な主記憶へアクセスする代わりに、高速なキャッシュメモリ上の対応するデータにアクセスすることで、一般にキャッシュヒット率が向上する。キャッシュヒット率が向上することで、計算機システム全体の性能を向上することができる。
キャッシュメモリにおいては、キャッシュミス時などには、ラインのデータを入れ換えるリフィルという処理を行う。このリフィルの最中であっても、キャッシュヒット扱いしてアクセスを許可しても問題がない場合も潜在している。しかしながら、前記従来の技術では、リフィルの最中においては、リフィル中のラインへのアクセスはキャッシュミスと扱っており、主記憶へアクセスをする必要があるという課題を有している。
The cache hit rate is generally improved by accessing the corresponding data on the high-speed cache memory instead of accessing the low-speed main memory. By improving the cache hit rate, the performance of the entire computer system can be improved.
In the cache memory, when a cache miss or the like is performed, a process called refill for exchanging line data is performed. Even during the refill, there is a possibility that there is no problem even if access is permitted by treating the cache hit. However, in the conventional technique, during refilling, access to the line being refilled is treated as a cache miss, and there is a problem that it is necessary to access the main memory.
このような背景のもとで、本発明は、よりキャッシュヒット率を向上させたキャッシュメモリを提供することを目的としている。 In view of such a background, an object of the present invention is to provide a cache memory having a further improved cache hit rate.
本発明に係るキャッシュメモリは、それぞれ複数のワードを含む複数のラインと、前記ラインに格納されたデータの主記憶におけるアドレスを示すタグと、前記ライン毎にラインがリフィル中であるか否かを示すリフィルビットと、前記ワード毎にワードにおけるデータがダーティであるか否かを示すダーティビットとを格納するタグ格納部と、リードアクセス対象のタグアドレスと、前記タグに示されるアドレスとが一致し、リードアクセス対象に係るラインに対応するリフィルビットがリフィル中を示し、かつ、当該ラインに含まれリードアクセス対象に係るワードに対応するダーティビットがダーティを示していれば、リードヒットと判定するヒット判定手段とを備えることを特徴としている。 The cache memory according to the present invention includes a plurality of lines each including a plurality of words, a tag indicating an address in the main memory of data stored in the line, and whether or not the line is being refilled for each line. A tag storage unit that stores a refill bit that is indicated and a dirty bit that indicates whether or not the data in the word is dirty for each word, a tag address that is a read access target, and an address indicated by the tag matches If the refill bit corresponding to the line related to the read access indicates that refilling is in progress and the dirty bit corresponding to the word related to the read access included in the line indicates dirty, the hit is determined as a read hit. And determining means.
また、前記ヒット判定手段は、ライトアクセス対象に係るラインのアドレスと、前記タグに示されるアドレスが一致するラインであって、当該ラインに対応するリフィルビットがリフィル中であることを示す場合には、ライトヒットと判定するとしても構わない。
また、前記ヒット判定手段は、当該ワードに対応するダーティビットがダーティを示していなければ、リードミスヒットと判定するとしても構わない。
In the case where the hit determination means indicates that the address of the line related to the write access and the address indicated by the tag match, and the refill bit corresponding to the line indicates that refill is being performed. It may be determined as a write hit.
The hit determination means may determine a read miss hit if the dirty bit corresponding to the word does not indicate dirty.
また、本発明に係るキャッシュメモリは、それぞれ複数のワードを含む複数のラインと、前記ラインに格納されたデータの主記憶におけるアドレスを示すタグと、前記ライン毎にラインがリフィル中であるか否かを示すリフィルビットと、前記ワード毎にワードにおけるデータがダーティであるか否かを示すダーティビットとを格納するタグ格納部と、ライトアクセス対象のタグアドレスと、前記タグに示されるアドレスとが一致し、当該ラインに対応するリフィルビットがリフィル中であることを示す場合には、ライトヒットと判定するヒット判定手段とを備えることを特徴とする。 Further, the cache memory according to the present invention includes a plurality of lines each including a plurality of words, a tag indicating an address in the main memory of data stored in the line, and whether the line is being refilled for each line. A tag storage unit that stores a refill bit indicating whether or not the data in the word is dirty for each word, a tag address that is a write access target, and an address indicated by the tag When the refill bit matches and indicates that the refill bit corresponding to the line is being refilled, a hit judging means for judging a write hit is provided.
さらに、前記ヒット判定手段によりライトヒットと判定された場合に、前記ライトアクセスに係るワードへの書き込みがあると、当該ワードに対応するダーティビットをアサートし、ラインのリフィルに際して、ダーティビットがダーティであることを示さないワードに対してはデータの上書きを許可し、前記アサートによりダーティであることを示すワードに対してはデータの上書きを禁止する制御手段を備えるとしても構わない。 Further, when the hit determination means determines that a write hit occurs, if there is a write to a word related to the write access, the dirty bit corresponding to the word is asserted, and when the line is refilled, the dirty bit is dirty. There may be provided control means for permitting overwriting of data for a word that does not indicate presence, and prohibiting overwriting of data for a word indicating dirty by the assertion.
また、本発明に係るキャッシュメモリシステムは、中央処理装置と、前記キャッシュメモリと、前記中央処理装置と前記キャッシュメモリと記憶階層において間の階層に位置し、前記中央処理装置が前記キャッシュメモリへとライトすべきデータを保持する第1ライトバッファと、前記キャッシュメモリとライトバック対象となるメモリと記憶階層において間の階層に位置し、前記キャッシュメモリから前記ライトバック対象となるメモリへとライトバックすべきデータを保持する第2ライトバッファと、前記キャッシュメモリと前記ライトバック対象となるメモリと記憶階層において間の階層に位置し、前記キャッシュメモリがリードすべきデータを保持するリードバッファとを備えることを特徴とする。 The cache memory system according to the present invention is located in a hierarchy between the central processing unit, the cache memory, the central processing unit, the cache memory, and the storage hierarchy, and the central processing unit is transferred to the cache memory. The first write buffer that holds data to be written, the cache memory, the memory to be written back, and the storage hierarchy are located in a hierarchy, and write back from the cache memory to the memory to be written back A second write buffer that holds data to be read; and a read buffer that is located in a hierarchy between the cache memory, the memory to be written back, and a storage hierarchy and holds data to be read by the cache memory It is characterized by.
本発明に係るキャッシュメモリは、従来はリフィル中であるとリードミスヒットと判定していたのに対して、ラインがリフィル中という状況下においても、ヒット判定手段は、そのラインに含まれるワードに対応するダーティビットがダーティを示していれば、リードヒットと判定する。
この構成によれば、リードアクセス対象に係るラインがリフィル中という状況下においても、ヒット判定手段は、リードヒットと判定するので、キャッシュリードミスを減らし、キャッシュリードヒット率を向上できる。これにより、キャッシュリードミスに起因する計算機のオーバーヘッドを軽減することができる。
The cache memory according to the present invention has conventionally determined that a read miss hit when refilling is in progress, but the hit determination means supports a word included in the line even in the situation where the line is being refilled. If the dirty bit indicates dirty, it is determined as a read hit.
According to this configuration, even in a situation where the line related to the read access is being refilled, the hit determination means determines that it is a read hit. Therefore, the cache read miss can be reduced and the cache read hit rate can be improved. Thereby, the overhead of the computer resulting from a cache read miss can be reduced.
また、本発明に係るキャッシュメモリは、それぞれ複数のワードを含む複数のラインと、前記ラインに格納されたデータの主記憶におけるアドレスを示すタグと、前記ライン毎にラインがリフィル中であるか否かを示すリフィルビットと、前記ワード毎にワードにおけるデータがダーティであるか否かを示すダーティビットとを格納するタグ格納部と、ライトアクセス対象のタグアドレスと、前記タグに示されるアドレスとが一致し、当該ラインに対応するリフィルビットがリフィル中であることを示す場合には、ライトヒットと判定するヒット判定手段とを備えることを特徴とするとしている。 Further, the cache memory according to the present invention includes a plurality of lines each including a plurality of words, a tag indicating an address in the main memory of data stored in the line, and whether the line is being refilled for each line. A tag storage unit that stores a refill bit indicating whether or not the data in the word is dirty for each word, a tag address that is a write access target, and an address indicated by the tag When the refill bits coincide with each other and indicate that the refill bit corresponding to the line is being refilled, hit judging means for judging a write hit is provided.
この構成によれば、ライトアクセス対象に係るラインがリフィル中という状況下においても、ヒット判定手段は、ライトヒットと判定するので、キャッシュライトヒット率を向上できる。 According to this configuration, even in a situation where the line related to the write access is being refilled, the hit determination means determines that it is a write hit, so the cache write hit rate can be improved.
以下、図面を用いて本発明の実施の形態について説明する。また、本実施の形態におけるライトバック方式のキャッシュメモリは、ダイレクトマップ方式を採用しており、キャッシュのライトミス時には、ライトアロケート方式(先に新しいラインをキャッシュメモリに書き込み、その後で書き込みヒット時の動作を行う方式である。)で処理を行うとして説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, the write-back cache memory according to the present embodiment employs a direct map method, and in the case of a cache write miss, a write allocation method (first writing a new line to the cache memory and then a write hit It is assumed that the processing is performed in this method.
図1は、キャッシュメモリシステム1の構成図である。
キャッシュメモリシステム1は、CPU2、主記憶4、キャッシュメモリ6、ライトバッファ8,10、リードバッファ12を含んで構成している。
CPU2は、各種演算処理を行う中央処理装置である。
主記憶4は、DRAMなどデータを一時記憶する揮発性メモリから構成される。
FIG. 1 is a configuration diagram of the
The
The
The main memory 4 includes a volatile memory that temporarily stores data such as DRAM.
キャッシュメモリ6は、主記憶4に格納すべきデータを一時的に格納する。主記憶4よりアクセス速度が速く、記憶階層の構造上、上位のCPU2と下位の主記憶4との間に介在している。キャッシュメモリ6はライトバック方式であり、キャッシュミス発生時などを契機として保持しているデータを主記憶4へと書き戻す。
キャッシュメモリ6は、制御部6a、格納部6b、ヒット判定部6c、調停部6dを備える。
The cache memory 6 temporarily stores data to be stored in the main memory 4. The access speed is higher than that of the main memory 4 and is interposed between the
The cache memory 6 includes a
制御部(キャッシュメモリ制御部)6aは、各機能ブロックを制御し、例えば格納部6bに格納されたデータの読み書きやタグの更新を行う。また、ヒット判定部6cのヒット判定結果に応じてCPU2にデータを出力する。
格納部6bは、データを格納するデータ格納部と、格納されたデータを識別する情報としてのタグを含むタグ格納部とから構成される。
The control unit (cache memory control unit) 6a controls each functional block, for example, reads / writes data stored in the
The
ヒット判定部6cは、CPU2からのアクセス対象となったデータが、格納部6bに格納されているかどうかのヒット判定を行う。詳しくは後述する。
調停部6dは、格納部6b内のデータ格納部へのデータへのアクセスが競合する場合などに調停する。
図2は、キャッシュメモリ6の構成を示す図である。
The
The arbitrating
FIG. 2 is a diagram showing the configuration of the cache memory 6.
図2上部のアドレス22は、CPU2がキャッシュメモリ6へとアクセスを試みる際に、CPU2からリード/ライト要求とともに出力されるアドレスを示している。
アドレス(AD[31:0])22は、32ビットであり、上位16ビット(AD[31:16])をタグアドレスとして、ビット4からビット15の12ビット(AD[15:4])をインデックスアドレスとして、ビット2からビット3の2ビット(AD[3:2])をラインに含まれるワードを特定するワードアドレスとして利用する。なお、インデックスアドレスは12ビットであるので、4096(=2^12)本のラインを指定することができる。このインデックスアドレスによりアクセス対象のラインが一意に特定されることとなる。
An address 22 in the upper part of FIG. 2 indicates an address output together with a read / write request from the
Address (AD [31: 0]) 22 is 32 bits, and the upper 16 bits (AD [31:16]) are used as tag addresses, and 12 bits (AD [15: 4]) from bit 4 to bit 15 are used. As an index address, 2 bits (AD [3: 2]) from
キャッシュメモリ6は、タグ格納部14、データ格納部16、セレクタ18、ヒット判定器20を含む。
タグ格納部14は、データ格納部16における4096本のラインに対応して設けられており、ラインに格納されたデータなどの識別情報を格納している。
具体的には、タグ格納部14は、ラインのデータが有効であるか否かを示すバリッドビット(V)、ラインがリフィル中であるか否かを示すリフィルビット(R)、ラインに格納されたデータの主記憶におけるアドレスを示すタグビット(Tag)を有する。
The cache memory 6 includes a
The
Specifically, the
これに加えて、タグ格納部14は、ラインに含まれる4つのワード(Word0,Word1,Word2,Word3)に対応してそれぞれ設けられた4つのダーティビット(D0,D1,D2,D3)を含んでいる。ダーティビットがダーティならば、対応するワードは、更新されたが主記憶には未だ書き戻されていない状態であることを意味しているので、適宜、主記憶に書き戻す必要がある。
In addition to this, the
データ格納部16は、4つのワードを1ラインとした4096本のラインを保持している。データ格納部16は、タグ格納部14とは別個のメモリとしてSRAMなどにより構成される。なお、1ワードあたりのサイズは、CPU2からのアクセスのビット幅に対応して32ビットであり、データ格納部16の入出力ポートのビット幅も32ビット(1ワード分)である。
The
セレクタ18は、アドレス22の2ビット(AD[3:2])に基づいて、4つのワードのうちの1つのワードを選択する。
ヒット判定器20には、リードかライトを示す信号(Read or Write)、タグアドレス(AD[31:16])、インデックスアドレス(AD[15:4])により特定されたラインのバリッドビット(V)、リフィルビット(R)、4つのワード毎のダーティビット(D0,D1,D2,D3)、上記ラインに格納されたデータのアドレスを示すタグビット(Tag)、4つのワードのうちの1つを特定するワードアドレス(AD[3:2])、の10個の入力に基づいてヒットかミスヒットかを判定する。
The
The
ヒット判定器20の回路構成例を図3に示す。
ヒット判定器20は、2入力1出力のAND回路23,24,26,28,30、3入力1出力のOR回路32、NOT回路34,36、4入力1出力のセレクタ38、コンパレータ40を備える。
セレクタ38は、2ビット(AD[3:2])の入力に基づいて、D0,D1,D2,D3の4つのうちの1つを選択して出力する。すなわち、ラインに含まれるアクセス対象のワードを特定する入力(AD[3:2])に基づいて、そのワードに対応するダーティビットを出力することとなる。
A circuit configuration example of the hit
The
The selector 38 selects and outputs one of four of D0, D1, D2, and D3 based on the input of 2 bits (AD [3: 2]). That is, based on an input (AD [3: 2]) that specifies an access target word included in the line, a dirty bit corresponding to the word is output.
コンパレータ40は、タグビット(Tag)と、タグアドレス(AD[31:16])とを比較し一致した場合にHIGH出力となる。
図4は、図3のヒット判定器20が入力に応じて出力する判定結果を示す表50である。
入力される値の組み合わせに応じて(a)から(h)までの8つの場合がある。各場合について順に説明する。なお、リフィル中でない(a)、(b)、(d)、(e)、(f)、(h)の場合のヒット判定は基本的には従来と同様である。リフィル中の(c)、(g)の場合が特徴的である。
The
FIG. 4 is a table 50 showing determination results output by the
There are eight cases from (a) to (h) depending on combinations of input values. Each case will be described in turn. Note that hit determination in cases (a), (b), (d), (e), (f), and (h) that are not being refilled is basically the same as in the prior art. The cases (c) and (g) during refill are characteristic.
(a)の場合・・・ライトアクセス対象のデータのアドレス22に含まれるタグアドレス(AD[31:16])とタグビット(Tag)とが一致し、リフィル中で無く(R=0)、バリッドビットが有効(V=1)な場合であり、ライトヒットとなる。そして、キャッシュメモリ6は、ワードアドレス(AD[3:2])に示されるワードに書き込み、同時に書き込んだワードに対応するダーティビットをアサートする。 In the case of (a): The tag address (AD [31:16]) included in the address 22 of the write access target data matches the tag bit (Tag), and the refill is not in progress (R = 0). This is a case where the valid bit is valid (V = 1) and a write hit occurs. Then, the cache memory 6 writes to the word indicated by the word address (AD [3: 2]) and asserts a dirty bit corresponding to the simultaneously written word.
(b)の場合・・・バリッドビットが無効(V=0)であるところだけが(a)と異なる場合であり、V=0でデータが無効であるので、ライトミスとなる。
ここで、ライトミスヒットしたデータは、一旦ライトバッファ8に保持し、リフィルの完了を待ってキャッシュメモリ6へと書き込むこととなる。特に本実施の形態では、ライトミスヒットしたデータはキャッシュメモリ6にライトしておく。ライト時には、ライトしたワード毎のダーティビットをダーティに更新し、タグビット(Tag)をライトミスヒットしたアクセスのアドレスに更新する。これに先立って、ライトアクセス対象のラインをリフィルするために、主記憶4へのバスにデータリード要求とアドレスとを出力する。なお、このとき、リードバッファ12に空きが無い場合には、空くまでリード要求の出力を待つか、リードデータが主記憶4から返ってくるよりも以前にリードバッファ12が空くことが確定できるまでリード要求の出力を待つ。
In the case of (b): Only the place where the valid bit is invalid (V = 0) is different from that in (a). Since the data is invalid at V = 0, a write miss occurs.
Here, the write miss hit data is temporarily held in the
(c)の場合・・・ライトアクセス対象のデータのタグビット(Tag)とタグアドレス(AD[31:16])とが一致し、リフィル中(R=1)の場合であり、ライトヒットとなる。そして、キャッシュメモリ6は、ワードアドレス(AD[3:2])に示されるワードに書き込み、書き込んだワードに対応するダーティビットをアサートする。
(d)の場合・・・リードアクセス対象のデータのタグビット(Tag)とタグアドレス(AD[31:16])とが一致し、リフィル中で無く(R=0)、バリッドビットが有効(V=1)な場合であり、リードヒットとなる。CPU2はワードアドレス(AD[3:2])に示されるワードのデータを読み出すこととなる。
In the case of (c): The tag bit (Tag) of the write access target data matches the tag address (AD [31:16]) and refilling is in progress (R = 1). Become. Then, the cache memory 6 writes to the word indicated by the word address (AD [3: 2]) and asserts a dirty bit corresponding to the written word.
In the case of (d): The tag bit (Tag) of the data subject to read access matches the tag address (AD [31:16]), not being refilled (R = 0), and the valid bit is valid ( V = 1), which is a read hit. The
(e)の場合・・・バリッドビットは無効(V=0)であるところだけが(d)と異なる場合であり、V=0でデータが無効であるので、リードミスとなる。
(f)の場合・・・リードアクセス対象のデータのタグビット(Tag)とタグアドレス(AD[31:16])とが一致し、リフィル中(R=1)であり、ワードアドレス(AD[3:2])に示されるワード(図4ではW0)に対応するダーティビット(図4ではD0)がダーティではない(クリーンである)場合である。この場合は、ミスヒットとなり、キャッシュメモリ6の制御部6aは、リフィル中である旨をCPU2に通知する。CPU2は通知がリフィル中で無くなるまで待機(リフィル完了まで待機)し、リフィル完了後にリードヒットとしてリードヒット時の動作(リフィル済のリードアクセス対象のデータを読み出す)をするか、このミスヒットしたリードアクセスが完了しなくとも進められる後続の処理に移ることとなる。
In the case of (e): Only the place where the valid bit is invalid (V = 0) is different from that in (d). Since the data is invalid at V = 0, a read error occurs.
In the case of (f): The tag bit (Tag) of the read access target data matches the tag address (AD [31:16]), refilling is in progress (R = 1), and the word address (AD [ 3: 2]) is a case where the dirty bit (D0 in FIG. 4) corresponding to the word (W0 in FIG. 4) is not dirty (clean). In this case, a miss hit occurs, and the
(g)の場合・・・リードアクセス対象のデータのタグビット(Tag)とタグアドレス(AD[31:16])とが一致し、リフィル中(R=1)であり、ワードアドレス(AD[3:2])に示されるワード(図4ではW2)に対応するダーティビット(図4ではD2)がダーティな場合である。この場合は、リードヒットとなり、CPU2は、ワードアドレス(AD[3:2])に示されるワードのデータを読み出す。
In the case of (g): The tag bit (Tag) of the read access target data matches the tag address (AD [31:16]), refilling is in progress (R = 1), and the word address (AD [ 3: 2]) is a case where the dirty bit (D2 in FIG. 4) corresponding to the word (W2 in FIG. 4) is dirty. In this case, a read hit occurs, and the
(h)の場合・・・タグビット(Tag)とタグアドレス(AD[31:16])とが一致していない場合である。これは、アクセス対象のデータのアドレスとデータ格納部に実際に格納されているデータのアドレスとが異なることを意味するので、他の条件を判断するまでもなく、ライト・リードに関わらずミスヒットとなる。
以上説明したように、ヒット判定器20は、(g)の場合のように、リフィル中であったとしても、リードアクセス対象のワードに対応するダーティビットがダーティであればリードヒットとして判定するので、従来よりリードヒット率を向上させることができる。
In the case of (h): This is a case where the tag bit (Tag) and the tag address (AD [31:16]) do not match. This means that the address of the data to be accessed is different from the address of the data that is actually stored in the data storage unit, so it is not necessary to judge other conditions. It becomes.
As described above, the
また、ヒット判定器20は、(c)の場合のように、リフィル中であったとしても、ライトヒットとして判定するので、従来よりライトヒット率を向上させることができる。
次に、CPU2、キャッシュメモリ6、主記憶4の処理の流れについて、ライトアクセス時とリードアクセス時を分けて順に説明する。
図5は、ライトアクセス時におけるCPU2、キャッシュメモリ6、主記憶4のシーケンス図である。なお、初期状態において、ライトアクセス要求の対象となるラインはリフィル中でない(R=0)として説明する。
Moreover, since the hit
Next, the processing flow of the
FIG. 5 is a sequence diagram of the
CPU2がライトアクセス要求するデータは、一旦ライトバッファ8で保持する。そして、ライトバッファ8は、キャッシュメモリへのライトアクセス要求とともに、データとこのデータのアドレス(AD[31:0])22とをキャッシュメモリ6へと送る(S0)。
ライトアクセス要求を受けたキャッシュメモリ6のヒット判定器20は、前述のようにライトバッファ8から送られたデータのアドレス(AD[31:0])22のタグアドレス(AD[31:16])とライトアクセス要求の対象となったデータのラインのタグビット(Tag)との比較や、ラインのリフィルビット(R)などに基づいて、ヒット判定を行う。
Data requested by the
The
ライトヒットと判定すれば(S1:Yes)、ライトアクセス要求の対象となるラインのワードにデータを書き込み、必要に応じてそのワードに対応するダーティビットをアサートする(S11)。
ライトミスと判定すれば(S1:No)、キャッシュメモリ6は、ラインのリフィルビットをアサートし(S2:R=1)、ライトバック処理(S3-S8)に移行する。この時、ライトミスしたライトアクセス要求のタグアドレス(AD[31:16])で、タグビット(Tag)を更新する。
If it is determined as a write hit (S1: Yes), data is written to the word of the line that is the target of the write access request, and a dirty bit corresponding to the word is asserted as necessary (S11).
If it is determined that there is a write miss (S1: No), the cache memory 6 asserts the refill bit of the line (S2: R = 1), and proceeds to the write back process (S3-S8). At this time, the tag bits (Tag) are updated with the tag address (AD [31:16]) of the write access request in which the write miss occurred.
ライトバック処理(S3-S8)では、バリッドビットが無効であれば(S3:No,V=0)、ラインが無効であり書き戻すべきデータが無いので処理を終える。
バリッドビットが有効であれば(S3:Yes,V=1)、ライン中のワードにおいて、ワードに対応するダーティビットがダーティ(D=1)なワードだけをライトバッファ10に書き戻す(S4,S5)。書き戻しを終えたワードに対応するダーティビットはクリーン(D=0)にネゲートする(S6)。
In the write-back process (S3-S8), if the valid bit is invalid (S3: No, V = 0), the line is invalid and there is no data to be written back, and the process ends.
If the valid bit is valid (S3: Yes, V = 1), only the word in the line where the dirty bit corresponding to the word is dirty (D = 1) is written back to the write buffer 10 (S4, S5). ). The dirty bit corresponding to the word that has been written back is negated cleanly (D = 0) (S6).
なお、ライトバッファ10に書き戻されたデータは、バスが空いているときなど適当なタイミングで主記憶4へとさらにライトバックされることとなる。
ラインに含まれる4つのワードについてS4からS6までの処理を終えると(S7:Yes)、ラインのバリッドビットを無効化(S8:V=0)する。
ライトバック処理(S3-S8)を終えると、キャッシュメモリ6は、リフィル・タグ更新を行う(S9)。具体的には、リードバッファ12が主記憶4から読み出し済みのライトアクセス対象のラインのデータを、キャッシュメモリ6のラインに上書きする。
Note that the data written back to the
When the processing from S4 to S6 is completed for the four words included in the line (S7: Yes), the valid bit of the line is invalidated (S8: V = 0).
When the write back process (S3-S8) is completed, the cache memory 6 performs refill / tag update (S9). Specifically, the
このリフィルでは、D=0のワードのみ上書きし、書き戻しされていないワードの上書きを回避する。
キャッシュメモリ6は、リードバッファ12からの読み込みを完了すると(S9)、ラインを有効化し(S10:V=1)、リフィルビットをネゲート(S10:R=0)して一連のリフィルを終了する。
In this refill, only words with D = 0 are overwritten, and overwriting of unwritten words is avoided.
When the reading from the read
なお、図5のフローでは、まず先にライトバック処理(S3-S8)を行い、その後でリフィルの処理を行う(S9)として説明したが、両処理はこれに限らず並行して行っても構わない。
図6は、リードアクセス時におけるCPU2、キャッシュメモリ6、主記憶4のシーケンス図である。なお、初期状態において、リードアクセス要求の対象となるラインはリフィル中でない(R=0)として説明する。
In the flow of FIG. 5, the write back process (S3-S8) is performed first, and then the refill process is performed (S9). However, both processes are not limited to this and may be performed in parallel. I do not care.
FIG. 6 is a sequence diagram of the
CPU2がキャッシュメモリ6にリードアクセスを要求すると(S20)、要求を受けたキャッシュメモリ6はヒット判定器20において前述のヒット判定を行う。
リードヒットと判定すれば(S21:Yes)、CPU2は、リードアクセス要求の対象となるラインのワードからデータを読み出す。
リードミスヒットと判定すれば(S21:No)、S2からS10までのリフィル処理に移行する。この処理は図5を用いて既に説明したものと同様であるので説明を省略する。
When the
If it is determined as a read hit (S21: Yes), the
If it is determined as a read miss hit (S21: No), the process proceeds to a refill process from S2 to S10. Since this process is the same as that already described with reference to FIG.
次に、キャッシュメモリ6のあるラインがリフィル中の場合に、このライン中のワードへのライト/リードアクセスがあったときの例について説明する。
図7は、あるラインのワード(W0,W1,W2,W3)のリフィルを時系列上で説明する図である。(a)を用いてライトアクセス時の処理について説明し、(b)を用いてリードアクセス時の処理について説明する。
Next, an example when a line in the cache memory 6 is being refilled and there is a write / read access to a word in this line will be described.
FIG. 7 is a diagram for explaining the refill of words (W0, W1, W2, W3) on a certain line in time series. The process at the time of write access will be described using (a), and the process at the time of read access will be described using (b).
ライトアクセス時は、図7(a)に示すように、キャッシュメモリ6は、t0→t1→t2→t3→t4の間に、それぞれW0→W1→W2→W3の順番でリフィルが完了するものとする。また、リフィル開始時にはリフィルビットをアサートし、リフィルすべき新しいラインのアドレスにラインのタグビット(Tag)を更新する。
本実施の形態においては、リフィル途中にも関わらずライトアクセス要求を受けてデータの上書きを許容するので、ラインのタグビット(Tag)が、現実に上書きしたデータのタグと不一致にならないように、図7(a)に示すように、リフィル開始時にタグを更新する。
At the time of write access, as shown in FIG. 7A, the cache memory 6 completes refilling in the order of W0 → W1 → W2 → W3 during t0 → t1 → t2 → t3 → t4. To do. At the start of refill, the refill bit is asserted, and the line tag bit (Tag) is updated to the address of the new line to be refilled.
In this embodiment, the write access request is accepted in the middle of refilling and data overwriting is allowed, so that the tag bit (Tag) of the line does not coincide with the tag of the actually overwritten data. As shown in FIG. 7A, the tag is updated at the start of refilling.
まず、t0からt2までの間にワードW2へのライトアクセス要求があった場合には、ヒット判定器20は前述のようにライトヒットと判定し、ワードW2へのライトアクセスを受けて対応するダーティビット(D2)をアサートする。その後、t2からt3の間は、ワードW2のダーティビット(D2)がアサートされているので、キャッシュメモリ6は、ワードW2への上書きを行わない。
First, if there is a write access request to the word W2 between t0 and t2, the
なお、上書きを行わない方法としては、例えば、ライトアクセスは行うが、ワードへの書き込みをマスクする信号を利用することが考えられる。また、ワードへのライトアクセス自体を行わずに処理をスキップしてもよい。
次に、t2からt3までの間にワードW2へのライトアクセス要求があった場合には、ライトヒットと判定し、ワードW2へのライトアクセスを受けて対応するダーティビット(D2)をアサートする。この場合、ライトアクセス要求時には、ワードW2は既にリフィル中であるので、キャッシュメモリ6はライト制御を調停して両者の競合を防ぐ。
As a method of not performing overwriting, for example, it is conceivable to use a signal that masks writing to a word while performing write access. Further, the processing may be skipped without performing write access to the word itself.
Next, if there is a write access request to the word W2 between t2 and t3, it is determined as a write hit, and the corresponding dirty bit (D2) is asserted in response to the write access to the word W2. In this case, since the word W2 is already being refilled at the time of a write access request, the cache memory 6 arbitrates write control to prevent conflict between the two.
そして、t3からt4までの間にワードW2へのライトアクセス要求があった場合には、ライトヒットと判定し、ワードW2へのライトアクセスを受けて対応するダーティビット(D2)をアサートする。
リードアクセス時は、図7(b)に示すように、図7(a)同様に、キャッシュメモリ6は、t0→t1→t2→t3→t4の間に、それぞれW0→W1→W2→W3の順番でリフィルが完了するものとする。
If there is a write access request to the word W2 between t3 and t4, it is determined as a write hit, and the corresponding dirty bit (D2) is asserted in response to the write access to the word W2.
At the time of read access, as shown in FIG. 7B, as in FIG. 7A, the cache memory 6 is in the order of W0 → W1 → W2 → W3 during t0 → t1 → t2 → t3 → t4. It is assumed that refilling is completed in order.
まず、t0からt4までの間にワードW2へのリードアクセス要求があった場合、ワードW2に対応するダーティビットが有効であるならば、ヒット判定器20は前述のようにリードヒットと判定し、ワードW2へのリードアクセスを受け付ける。
これに対して、t0からt4までの間にワードW2へのリードアクセス要求があった場合で、ワードW2に対応するダーティビットが無効ならば、ヒット判定器20は前述のようにリードミスヒットと判定する。CPU2は、リフィル完了まで待つこととなる。
First, if there is a read access request to the word W2 between t0 and t4, if the dirty bit corresponding to the word W2 is valid, the
On the other hand, if there is a read access request to the word W2 between t0 and t4 and the dirty bit corresponding to the word W2 is invalid, the
<補足>
以上、本発明の実施の形態について説明したが、本発明は上記の内容に限定されず、本発明の目的とそれに関連または付随する目的を達成するための各種形態においても実施可能であり、例えば、以下であってもよい。
(1)実施の形態では、ダイレクトマップ方式のキャッシュメモリを例に挙げて説明したが、この方式に限らずフルアソシアティブ方式やセットアソシアティブ方式を採用したキャッシュメモリを用いても構わない。これらの方式の場合には、ライトミスヒット時のリフィル対象のラインがダイレクトマップ方式のように一意のラインに決まるのではなく、LRU(Least Recently Used)方式やラウンドロビン方式などのアルゴリズムなどに基づいて行われる点が異なってくる。
<Supplement>
As mentioned above, although embodiment of this invention was described, this invention is not limited to said content, It can implement also in the various forms for achieving the objective of this invention, the objective related to it, or an incidental, for example, It may be the following.
(1) In the embodiment, the direct map type cache memory has been described as an example. However, the present invention is not limited to this type, and a cache memory employing a full associative method or a set associative method may be used. In these methods, the line to be refilled at the time of a write miss hit is not determined as a unique line as in the direct map method, but based on algorithms such as the LRU (Least Recently Used) method and the round robin method. Is different.
また、共有バスを介して複数のキャッシュメモリが下位層の単一のメモリを共有するような共有メモリ型のキャッシュメモリシステムにおいても、ライトバックキャッシュメモリを構成、制御する方法として本発明を適用することができる。
(2)実施の形態では、対応するダーティビットがダーティなワードのみをライトバックする例について説明したが、ダーティワードを含む数ワード、もしくはラインに含まれるワードすべてをライトバックするとしてもよい。また書き戻しの際には、周知の技術のように、ライトバッファ10に積まれたデータが主記憶4に書き戻されるよりも以前に、書き戻されるアドレスのデータが主記憶4から読み出されることが無いようにシステム全体は制御することができる。
The present invention is also applied as a method for configuring and controlling a write-back cache memory in a shared memory type cache memory system in which a plurality of cache memories share a single lower layer memory via a shared bus. be able to.
(2) In the embodiment, an example of writing back only a word having a dirty bit corresponding to the dirty bit has been described. However, several words including a dirty word or all words included in a line may be written back. At the time of writing back, the data at the address to be written back is read from the main memory 4 before the data accumulated in the
(3)実施の形態では、図1に示すように、キャッシュメモリ6の入出力につながるパスにライトバッファ8,10とリードバッファ12を配することで、中央処理装置からキャッシュメモリへのライトアクセス、キャッシュメモリから主記憶へのライトアクセス、主記憶からキャッシュメモリへのライトアクセスが緩衝され、より柔軟なキャッシュメモリ制御が可能となる。
(3) In the embodiment, as shown in FIG. 1, write access from the central processing unit to the cache memory is performed by arranging the write buffers 8 and 10 and the read
(4)実施の形態では、特に詳細を述べなかったが、システム全体へのオーバーヘッドを軽減する別のアプローチとして、ライトバッファを配置して制御系に工夫を施すことも考えられる。具体的には、ライトミスへの対応として、上位層メモリとキャッシュメモリとの間に多機能なライトバッファを配置し、リフィル中のラインへのライトは、上記ライトバッファにあるデータに対して上書き更新し、リフィル中のラインのリードは、上記ライトバッファから読み出すという制御を行うというものである。しかし、この制御は非常に複雑なものとなる。 (4) Although no particular details have been described in the embodiment, it is conceivable to devise the control system by arranging a write buffer as another approach for reducing the overhead of the entire system. Specifically, in response to a write miss, a multi-functional write buffer is placed between the upper layer memory and the cache memory, and writing to the line being refilled overwrites the data in the write buffer. The update of the line being refilled is read out from the write buffer. However, this control is very complicated.
これに対して、実施の形態では、ヒット判定器20のヒット判定という簡単な制御を通してシステム全体へのオーバーヘッドを軽減することが可能となる。
(5)階層メモリシステムとして、中央処理装置、キャッシュメモリ、主記憶の構成を例示したが、さらに深い階層構成のメモリシステムのキャッシュメモリとしてもよい。例えば、キャッシュメモリが、1次キャッシュメモリと2次キャッシュメモリとから構成される場合がある。この場合、本実施の形態を、1次キャッシュメモリに適用してもよいし、2次キャッシュメモリに適用してもよい。
On the other hand, in the embodiment, it is possible to reduce overhead for the entire system through simple control of hit determination of the hit
(5) Although the configuration of the central processing unit, the cache memory, and the main memory is illustrated as the hierarchical memory system, it may be a cache memory of a memory system having a deeper hierarchical configuration. For example, the cache memory may be composed of a primary cache memory and a secondary cache memory. In this case, the present embodiment may be applied to a primary cache memory or a secondary cache memory.
本発明のキャッシュメモリは、一般的な半導体回路内部に存在するキャッシュメモリとして利用でき、キャッシュヒット率を向上できるので有用である。 The cache memory of the present invention can be used as a cache memory existing in a general semiconductor circuit and is useful because it can improve the cache hit rate.
1 キャッシュメモリシステム
2 CPU
4 主記憶
6 キャッシュメモリ
8 ライトバッファ
10 ライトバッファ
12 リードバッファ
14 タグ格納部
20 ヒット判定器
22 アドレス
1
4 Main memory 6
Claims (6)
前記ラインに格納されたデータの主記憶におけるアドレスを示すタグと、前記ライン毎にラインがリフィル中であるか否かを示すリフィルビットと、前記ワード毎にワードにおけるデータがダーティであるか否かを示すダーティビットとを格納するタグ格納部と、
リードアクセス対象のタグアドレスと、前記タグに示されるアドレスとが一致し、
リードアクセス対象に係るラインに対応するリフィルビットがリフィル中を示し、
かつ、当該ラインに含まれリードアクセス対象に係るワードに対応するダーティビットがダーティを示していれば、
リードヒットと判定するヒット判定手段と
を備えることを特徴とするキャッシュメモリ。 Multiple lines, each containing multiple words,
A tag indicating the address in the main memory of the data stored in the line, a refill bit indicating whether or not the line is being refilled for each line, and whether or not the data in the word is dirty for each word A tag storage unit for storing a dirty bit indicating
The tag address of the read access target matches the address indicated in the tag,
The refill bit corresponding to the line related to the read access target indicates that refill is being performed,
And, if the dirty bit corresponding to the word related to the read access target included in the line indicates dirty,
A cache memory comprising: hit determination means for determining a read hit.
ことを特徴とする請求項1に記載のキャッシュメモリ。 The hit determination means writes a write when the address of the line related to the write access and the address indicated by the tag match and the refill bit corresponding to the line indicates that refill is being performed. The cache memory according to claim 1, wherein the cache memory is determined to be a hit.
ことを特徴とする請求項1に記載のキャッシュメモリ。 2. The cache memory according to claim 1, wherein the hit determination means determines a read miss hit if the dirty bit corresponding to the word does not indicate dirty.
前記ラインに格納されたデータの主記憶におけるアドレスを示すタグと、前記ライン毎にラインがリフィル中であるか否かを示すリフィルビットと、前記ワード毎にワードにおけるデータがダーティであるか否かを示すダーティビットとを格納するタグ格納部と、
ライトアクセス対象のタグアドレスと、前記タグに示されるアドレスとが一致し、
当該ラインに対応するリフィルビットがリフィル中であることを示す場合には、
ライトヒットと判定するヒット判定手段と
を備えることを特徴とするキャッシュメモリ。 Multiple lines, each containing multiple words,
A tag indicating the address in the main memory of the data stored in the line, a refill bit indicating whether or not the line is being refilled for each line, and whether or not the data in the word is dirty for each word A tag storage unit for storing a dirty bit indicating
The tag address for write access matches the address indicated in the tag,
If the refill bit corresponding to the line indicates that it is being refilled,
A cache memory comprising: hit determination means for determining a write hit.
ラインのリフィルに際して、ダーティビットがダーティであることを示さないワードに対してはデータの上書きを許可し、前記アサートによりダーティであることを示すワードに対してはデータの上書きを禁止する制御手段を備える
ことを特徴とする請求項4に記載のキャッシュメモリ。 Further, when it is determined as a write hit by the hit determination means, if there is a write to a word related to the write access, a dirty bit corresponding to the word is asserted,
Control means for permitting overwriting of data for a word whose dirty bit does not indicate dirty, and prohibiting overwriting of data for a word indicating dirty by the assertion when refilling a line The cache memory according to claim 4, further comprising:
請求項1または4に記載のキャッシュメモリと、
前記中央処理装置と前記キャッシュメモリと記憶階層において間の階層に位置し、前記中央処理装置が前記キャッシュメモリへとライトすべきデータを保持する第1ライトバッファと、
前記キャッシュメモリとライトバック対象となるメモリと記憶階層において間の階層に位置し、前記キャッシュメモリから前記ライトバック対象となるメモリへとライトバックすべきデータを保持する第2ライトバッファと、
前記キャッシュメモリと前記ライトバック対象となるメモリと記憶階層において間の階層に位置し、前記キャッシュメモリがリードすべきデータを保持するリードバッファと
を備えることを特徴とするキャッシュメモリシステム。 A central processing unit;
The cache memory according to claim 1 or 4,
A first write buffer located in a hierarchy between the central processing unit and the cache memory and the storage hierarchy, and holding data to be written to the cache memory by the central processing unit;
A second write buffer located in a hierarchy between the cache memory and the memory to be written back and the storage hierarchy, and holding data to be written back from the cache memory to the memory to be written back;
A cache memory system comprising: a read buffer that is located in a hierarchy between the cache memory, the memory to be written back, and a storage hierarchy and holds data to be read by the cache memory.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008231461A JP2011248389A (en) | 2008-09-09 | 2008-09-09 | Cache memory and cache memory system |
PCT/JP2009/004105 WO2010029694A1 (en) | 2008-09-09 | 2009-08-26 | Cache memory and cache memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008231461A JP2011248389A (en) | 2008-09-09 | 2008-09-09 | Cache memory and cache memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011248389A true JP2011248389A (en) | 2011-12-08 |
Family
ID=42004960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008231461A Pending JP2011248389A (en) | 2008-09-09 | 2008-09-09 | Cache memory and cache memory system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2011248389A (en) |
WO (1) | WO2010029694A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014185652A1 (en) * | 2013-05-16 | 2014-11-20 | 이화여자대학교 산학협력단 | Method for replacing cache memory block having low write traffic and information processing device having cache subsystem using same |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012014318A (en) * | 2010-06-30 | 2012-01-19 | Nec Corp | Cache control device and cache control method |
US9342461B2 (en) * | 2012-11-28 | 2016-05-17 | Qualcomm Incorporated | Cache memory system and method using dynamically allocated dirty mask space |
CN115809028B (en) * | 2023-01-19 | 2023-05-12 | 北京象帝先计算技术有限公司 | Cache data replacement method and device, graphics processing system and electronic equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02188849A (en) * | 1989-01-18 | 1990-07-24 | Agency Of Ind Science & Technol | Cache memory system |
JP3733604B2 (en) * | 1993-12-27 | 2006-01-11 | 松下電器産業株式会社 | Cache memory |
JP3985889B2 (en) * | 2001-08-08 | 2007-10-03 | 株式会社ルネサステクノロジ | Semiconductor device |
-
2008
- 2008-09-09 JP JP2008231461A patent/JP2011248389A/en active Pending
-
2009
- 2009-08-26 WO PCT/JP2009/004105 patent/WO2010029694A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014185652A1 (en) * | 2013-05-16 | 2014-11-20 | 이화여자대학교 산학협력단 | Method for replacing cache memory block having low write traffic and information processing device having cache subsystem using same |
KR101474842B1 (en) | 2013-05-16 | 2014-12-19 | 이화여자대학교 산학협력단 | Method for replacing cache memory blocks with for lower amount of write traffic and information processing apparatus having cache subsystem using the same |
Also Published As
Publication number | Publication date |
---|---|
WO2010029694A1 (en) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110173393A1 (en) | Cache memory, memory system, and control method therefor | |
US20110173400A1 (en) | Buffer memory device, memory system, and data transfer method | |
JP5417879B2 (en) | Cache device | |
US8145844B2 (en) | Memory controller with write data cache and read data cache | |
JP5453546B2 (en) | Address translation unit containing multiple virtual queues | |
US8219758B2 (en) | Block-based non-transparent cache | |
US7434007B2 (en) | Management of cache memories in a data processing apparatus | |
US20030126365A1 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
JP2000250813A (en) | Data managing method for i/o cache memory | |
JP2010517179A (en) | Method and apparatus for setting a cache policy in a processor | |
US20110167223A1 (en) | Buffer memory device, memory system, and data reading method | |
US7761665B2 (en) | Handling of cache accesses in a data processing apparatus | |
US20100306421A1 (en) | Dma transfer device | |
JP2007156821A (en) | Cache system and shared secondary cache | |
JP2011248389A (en) | Cache memory and cache memory system | |
US7328313B2 (en) | Methods to perform cache coherency in multiprocessor system using reserve signals and control bits | |
JP2010128698A (en) | Multiprocessor system | |
US9760488B2 (en) | Cache controlling method for memory system and cache system thereof | |
JP2005346582A (en) | System lsi and image processor | |
US20230305968A1 (en) | Cache replacement policy optimization for producer-consumer flows | |
JP4583981B2 (en) | Image processing device | |
JPH09185547A (en) | Method and device for controlling multiprocessor | |
JPH02224161A (en) | Fast data processor | |
US20190286562A1 (en) | Information processing apparatus, cache control apparatus and cache control method | |
JP4856373B2 (en) | Memory system, control method thereof, and method of maintaining data coherency |