JPH10275112A - Cache memory system - Google Patents

Cache memory system

Info

Publication number
JPH10275112A
JPH10275112A JP9081144A JP8114497A JPH10275112A JP H10275112 A JPH10275112 A JP H10275112A JP 9081144 A JP9081144 A JP 9081144A JP 8114497 A JP8114497 A JP 8114497A JP H10275112 A JPH10275112 A JP H10275112A
Authority
JP
Japan
Prior art keywords
data
write
sub
cache memory
block
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.)
Granted
Application number
JP9081144A
Other languages
Japanese (ja)
Other versions
JP3204295B2 (en
Inventor
Hideo Mochizuki
英生 望月
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 Corp
Original Assignee
NEC 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 Corp filed Critical NEC Corp
Priority to JP08114497A priority Critical patent/JP3204295B2/en
Publication of JPH10275112A publication Critical patent/JPH10275112A/en
Application granted granted Critical
Publication of JP3204295B2 publication Critical patent/JP3204295B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide the cache memory system which can be optimized according to a distribution of such data that the time of data transfer from a cache memory to a main storage device needs to be written back. SOLUTION: Relating to the cache memory system 10 equipped with a cache memory 20 provided with dirty bits by subblocks obtained by dividing cache lines and a data writing-back means 30 which writes data stored in the cache lines back to the main storage device 50, the data writing-back means 30 when writing the data stored in the cache lines back refers to a table showing the relation between written-back data sizes and times needed for writing-back operation and also refers to a dirty bit in an on state among dirty bits stored in a dirty bit storage part, thereby determining an optimum combination of subblocks to be written back.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュメモリ
に関し、特にライトバック方式を採用したキャッシュメ
モリに関する。
The present invention relates to a cache memory, and more particularly, to a cache memory employing a write-back method.

【0002】[0002]

【従来の技術】一般に、この種のキャッシュメモリは、
情報処理システムにおいて、例えば、中央処理装置(以
下、CPUと呼ぶ。)と主記憶装置の間に設けられ、主
記憶装置からの読出しに伴うCPUへのデータ転送、及
び、CPUから主記憶装置への書込み動作に伴うデータ
転送によるスループットの低下を補うために用いられて
いる。このようなキャッシュメモリは、情報処理システ
ムにおいて取り扱われる情報が、その性質上、時間的局
所性及び空間的局所性を有していることを利用したもの
である。このような情報処理システムでは、読出し及び
書込みの対象となるデータがキャッシュメモリ内に存在
する場合には、当該データの読出し及び書込みは、CP
Uとキャッシュメモリとの間で迅速に行われ、対象とな
るデータがキャッシュメモリ内に存在しない場合だけ、
CPUは主記憶装置に格納されているデータをアクセス
する。この構成では、主記憶装置に格納されているデー
タ対するCPUからのアクセスを減少させることがで
き、これによって、情報処理システム全体のスループッ
トを向上させることができる。
2. Description of the Related Art Generally, this kind of cache memory is
In an information processing system, for example, it is provided between a central processing unit (hereinafter, referred to as a CPU) and a main storage device, and transfers data to the CPU upon reading from the main storage device and from the CPU to the main storage device. Is used to compensate for a decrease in throughput due to data transfer accompanying the write operation. Such a cache memory utilizes the fact that information handled in an information processing system has temporal locality and spatial locality due to its nature. In such an information processing system, when data to be read and written exists in the cache memory, reading and writing of the data
U is performed quickly between the U and the cache memory, and only when the target data does not exist in the cache memory,
The CPU accesses data stored in the main storage device. With this configuration, access from the CPU to data stored in the main storage device can be reduced, thereby improving the throughput of the entire information processing system.

【0003】ここで、キャッシュメモリの対するCPU
からの書込み動作によって、キャッシュメモリ内のデー
タが書き換えられた場合、キャッシュメモリ内のデータ
と主記憶装置内の対応するデータとが一貫性をなくして
しまう。このようにデータに一貫性がないことは好まし
くないため、内容の書き換えられたキャッシュメモリ内
のデータは、主記憶装置に書き戻され、キャッシュメモ
リ内のデータと主記憶装置内のデータとの不一致が解消
するように、制御されている。一方、CPUからキャッ
シュメモリに対するリード要求やライト要求がなされた
際、対象となるデータがキャッシュメモリ内に存在しな
い場合、CPUは、主記憶装置から対象となるデータを
読み出すと共に、当該データをキャッシュメモリ内に転
送するように要求する。
Here, a CPU for a cache memory
When the data in the cache memory is rewritten by the write operation from, the data in the cache memory and the corresponding data in the main storage device become inconsistent. Since it is not preferable that the data is inconsistent in this way, the data in the cache memory whose contents have been rewritten is written back to the main storage device, and the data in the cache memory does not match the data in the main storage device. Is controlled so as to eliminate the problem. On the other hand, when the CPU issues a read request or a write request to the cache memory and the target data does not exist in the cache memory, the CPU reads the target data from the main storage device and stores the data in the cache memory. Request to be transferred within.

【0004】尚、キャッシュメモリは、アドレス変換を
高速に行い、対象となるデータのアドレスがキャッシュ
メモリ内に格納されているか否かを検出するTLB(T
ranslation Lookaside Buff
er)部分と、データを格納するデータキャッシュとを
備えており、TLBは、本発明とは直接、関係がないた
め、以下では、データキャッシュをキャッシュメモリと
呼ぶ。
The cache memory performs address translation at a high speed and detects whether or not the address of the target data is stored in the cache memory.
translation Lookaside Buff
er) section and a data cache for storing data. Since the TLB is not directly related to the present invention, the data cache is hereinafter referred to as a cache memory.

【0005】従来、この種のキャッシュメモリには、デ
ータ格納領域を複数のキャッシュラインと呼ばれる部分
領域に区分し、各キャッシュライン毎に、ダーティビッ
トと呼ばれるフラグを設け、主記憶装置に書き戻す必要
があるデータを格納しているキャッシュラインに対して
は、ダーティビットをオンにするように、構成されたも
のがある。このようなキャッシュメモリでは、ダーティ
ビットがオンであるキャッシュラインのデータを、当該
キャッシュラインのデータが置き換え対象になった際
に、主記憶装置に対して書き戻すことにより、キャッシ
ュメモリと主記憶装置との間のデータの不一致を防ぐこ
とができる。このように、キャッシュメモリに格納され
ているデータと主記憶装置に格納されているデータとの
一貫性を保持する方式をライトバック方式と呼ぶ。
Conventionally, in this type of cache memory, it is necessary to divide a data storage area into a plurality of partial areas called cache lines, provide a flag called a dirty bit for each cache line, and write it back to the main storage device. Some cache lines are configured to turn on a dirty bit for a cache line storing certain data. In such a cache memory, the data of the cache line whose dirty bit is on is written back to the main storage device when the data of the cache line becomes a replacement target, so that the cache memory and the main storage device are written. Inconsistency in the data between the two. Such a method for maintaining consistency between data stored in the cache memory and data stored in the main storage device is called a write-back method.

【0006】ところで、CPUにおける処理能力の増大
や、下位レベルとのデータ転送速度のギャップの増大と
共に、キャッシュメモリのメモリ容量も増加する傾向に
あり、各キャッシュラインに格納されるデータも、ミス
率を低下させるために、例えば、32バイト或いは64
バイトと増加している。しかし、このようにキャッシュ
ラインに格納されるデータのサイズを大きくすると、一
旦ミスが生じてしまった場合、例えば、単一のキャッシ
ュラインにおける1バイトのデータだけを書き戻すため
に、1キャッシュライン全体のデータを主記憶装置に書
き戻す時間は、1バイトのデータを書き戻す時間に比較
して長くなってしまう。即ち、キャッシュラインサイズ
を大きくすると、ミス率が低下する一方で、ミスした場
合におけるミスペナルティが増大することになる。
[0006] By the way, the memory capacity of the cache memory tends to increase with the increase of the processing capacity of the CPU and the gap of the data transfer speed with the lower level, and the data stored in each cache line also has a miss rate. For example, 32 bytes or 64 bytes
Bytes and has increased. However, if the size of the data stored in the cache line is increased in this way, if a mistake occurs once, for example, in order to write back only one byte of data in a single cache line, the entire cache line is rewritten. The time required to write back this data to the main storage device is longer than the time required to write back 1-byte data. That is, when the cache line size is increased, the miss rate decreases, while the miss penalty in the case of a miss increases.

【0007】従来、キャッシュメモリのデータ格納領域
をキャッシュラインに区分すると共に、各キャッシュラ
インを更にサブブロックに分けておき、各キャッシュラ
インの一部しか書き戻す必要がない場合には、書き戻す
べきサブブロックだけを書き戻し、残りのサブブロック
を書き戻さない形式のキャッシュメモリが提案されてい
る(特開平4−195563号公報(以下、従来例1と
呼ぶ)、及び、特開平5−282208号公報(以下、
従来例2と呼ぶ)参照)。更に言えば、上記した従来例
1及び従来例2には、いずれも、サブブロック毎にダー
ティビットを設けておき、キャッシュラインより小さい
サブブロックを単位として、或いは、対象となるサブブ
ロックを含むサブブロックグループ毎に、主記憶装置に
書き戻す形式のキャッシュメモリが開示されており、こ
れによって、無駄なデータ転送によるスループットの低
下を防止できることとしている。
Conventionally, the data storage area of the cache memory is divided into cache lines, and each cache line is further divided into sub-blocks. If only a part of each cache line needs to be rewritten, the data should be rewritten. A cache memory in which only the sub-blocks are written back and the remaining sub-blocks are not written back has been proposed (JP-A-4-195563 (hereinafter referred to as Conventional Example 1)) and JP-A-5-282208. Gazette (hereinafter,
Refer to Conventional Example 2). In addition, in each of the above-described conventional examples 1 and 2, a dirty bit is provided for each sub-block, and a sub-block smaller than a cache line is used as a unit or a sub-block including a target sub-block. A cache memory of a type that is written back to the main storage device for each block group is disclosed, whereby a decrease in throughput due to useless data transfer can be prevented.

【0008】[0008]

【発明が解決しようとする課題】しかしながら、引用例
1及び2は、キャッシュメモリの有する各キャッシュラ
イン内において、複数のサブブロックに対応するダーテ
ィビットがオンである場合における問題点について、何
等、指摘していない。即ち、各キャッシュライン内に、
対応するダーティビットがオンであるサブブロックが分
散、或いは、点在している場合、ダーティビットがオン
である各サブブロック毎に、或いは、各サブブロックを
含むサブブロックグループ毎に、主記憶装置に対して書
き戻しを行うと、書き戻すサブブロックの数によって
は、キャッシュラインごと書き戻しを行った方が、デー
タ転送時間を短縮できることがある。このような場合に
ついて、従来例1及び従来例2は、何等、考慮していな
いため、書き戻すべき最適なデータに関して開示してい
るとは言えない。換言すれば、従来例1及び従来例2
は、書き戻すべきデータのサイズと、書き戻しに要する
所要時間との関係について、全く考慮していない。
However, the cited examples 1 and 2 point out a problem when the dirty bits corresponding to a plurality of sub-blocks are on in each cache line of the cache memory. I haven't. That is, in each cache line,
When the corresponding sub-blocks with the dirty bit on are dispersed or scattered, the main storage device is provided for each sub-block with the dirty bit on or for each sub-block group including each sub-block. , The data transfer time may be shortened by performing the write-back for each cache line depending on the number of sub-blocks to be written. In such a case, Conventional Example 1 and Conventional Example 2 do not consider at all, and cannot be said to disclose the optimum data to be rewritten. In other words, Conventional Example 1 and Conventional Example 2
Does not consider at all the relationship between the size of data to be rewritten and the time required for rewriting.

【0009】本発明の目的は、データのサイズ、即ち、
サブブロックの数に応じて、適応的に最適なデータ転送
時間を得ることができるキャッシュメモリを提供するこ
とである。
An object of the present invention is to provide a data size,
An object of the present invention is to provide a cache memory capable of adaptively obtaining an optimal data transfer time according to the number of sub-blocks.

【0010】本発明の他の目的は、キャッシュメモリか
ら主記憶装置へのデータ転送時間をデータサイズに応じ
て、最適化できるキャッシュメモリシステムを提供する
ことである。
Another object of the present invention is to provide a cache memory system capable of optimizing a data transfer time from a cache memory to a main storage device according to a data size.

【0011】本発明の更に他の目的は、書き戻すべきサ
ブブロックの分布、及びデータサイズと書戻所要時間と
の関係を利用して、キャッシュメモリから主記憶装置へ
最適なサイズを有するデータを求める方法を提供するこ
とである。
Still another object of the present invention is to store data having an optimum size from a cache memory to a main storage device by utilizing the distribution of sub-blocks to be rewritten and the relationship between the data size and the required rewriting time. It is to provide a way to ask.

【0012】[0012]

【課題を解決するための手段】本発明によれば、予め定
められた量のデータをそれぞれ格納する複数のキャッシ
ュライン、及び該複数のキャッシュラインのそれぞれに
対応した複数のダーティビット格納部を有するキャッシ
ュメモリと、当該キャッシュメモリからみて下位レベル
の記憶領域に対して前記キャッシュラインに格納されて
いるデータを書き戻すためのデータ書戻手段とを備えた
キャッシュメモリシステムにおいて、書き戻すデータサ
イズと書き戻しに要する時間との関係を表すテーブルを
更に備えており、前記キャッシュメモリは、前記複数の
キャッシュラインの夫々が所定数のサブブロックに分割
されていると共に、前記各ダーティビット格納部が、夫
々、対応するキャッシュラインにおけるサブブロックに
対応したダーティビットを格納するものであり、前記デ
ータ書戻手段は、特定の前記キャッシュラインに格納さ
れているデータを書き戻す際に、前記テーブルを参照す
ると共に、前記特定のキャッシュラインに対応する前記
ダーティビット格納部に格納されているダーティビット
の内、オンを示すダーティビットを参照して、書き戻す
べき前記サブブロックの最適な組合わせを決定し、当該
最適な組合わせを構成する前記サブブロックに格納され
ているデータを前記下位レベルの記憶領域に対して書き
戻すことを特徴とするキャッシュメモリシステムが得ら
れる。
According to the present invention, there are provided a plurality of cache lines each storing a predetermined amount of data, and a plurality of dirty bit storages respectively corresponding to the plurality of cache lines. In a cache memory system including a cache memory and data write-back means for writing back data stored in the cache line to a lower-level storage area as viewed from the cache memory, a data size and a write The cache memory further includes a table indicating a relationship with a time required for return, wherein the cache memory includes a plurality of cache lines each of which is divided into a predetermined number of sub-blocks, and each of the dirty bit storage units includes , Dirty corresponding to sub-block in corresponding cache line The data write-back means refers to the table when writing back the data stored in the specific cache line, and stores the dirty data corresponding to the specific cache line. Of the dirty bits stored in the bit storage unit, with reference to the dirty bit indicating ON, an optimal combination of the sub-blocks to be written back is determined, and the sub-blocks constituting the optimal combination are determined. A cache memory system is characterized in that stored data is written back to the lower level storage area.

【0013】また、本発明によれば、前記キャッシュメ
モリシステムにおいて、前記キャッシュメモリは、前記
複数のキャッシュラインの夫々に対応するタグを格納す
るための複数のタグフィールドを備えていることを特徴
とするキャッシュメモリシステムが得られる。
According to the present invention, in the cache memory system, the cache memory has a plurality of tag fields for storing tags corresponding to each of the plurality of cache lines. A cache memory system that performs

【0014】また、本発明によれば、前記キャッシュメ
モリシステムにおいて、前記データ書戻手段は、前記特
定のキャッシュラインに格納されているデータを、前記
下位レベルの記憶領域に書き戻す際に、前記テーブルを
参照すると共に、該特定のキャッシュラインに対応する
前記タグフィールドに格納されている前記タグである特
定のタグと、前記特定のキャッシュラインに対応する前
記ダーティビット格納部に格納されている前記ダーティ
ビットである特定のダーティビットとを参照して、前記
最適な組合わせを構成する前記サブブロックのデータに
関し、データサイズ及び前記特定のキャッシュラインに
おけるアドレスを生成するためのライトバックサイズ/
アドレス生成部と、前記特定のキャッシュラインに格納
されているデータを前記下位レベルの記憶領域に書き戻
す際に、前記テーブルを参照すると共に、前記特定のタ
グ及び前記特定のダーティビットを参照して、前記最適
な組合わせを構成する前記サブブロックのデータとして
のライトバックデータを生成するためのライトバックデ
ータ生成部と、前記ライトバックサイズ/アドレス生成
部の生成した前記データサイズ及び前記特定のキャッシ
ュラインにおけるアドレス、並びに前記ライトバックデ
ータ生成部の生成した前記ライトバックデータを一時的
に格納するためのライトバッファと、該ライトバッファ
の状態を監視すると共に、前記下位レベルの記憶領域に
対して、前記ライトバッファに一時的に格納される前記
データサイズ、前記アドレス及び前記ライトバックデー
タを書き戻す制御を行うためのライトバック制御部とを
備えていることを特徴とするキャッシュメモリシステム
が得られる。
Further, according to the present invention, in the cache memory system, the data write-back means, when writing data stored in the specific cache line back to the lower-level storage area, Referring to a table, the specific tag that is the tag stored in the tag field corresponding to the specific cache line, and the specific tag stored in the dirty bit storage unit corresponding to the specific cache line. Referring to a specific dirty bit, which is a dirty bit, a data size and a write-back size for generating an address in the specific cache line for data of the sub-blocks constituting the optimal combination.
When writing back the data stored in the specific cache line to the lower-level storage area, refer to the table and refer to the specific tag and the specific dirty bit. A write-back data generating unit for generating write-back data as data of the sub-blocks constituting the optimum combination, the data size generated by the write-back size / address generating unit, and the specific cache An address in a line, and a write buffer for temporarily storing the write-back data generated by the write-back data generation unit, and a state of the write buffer are monitored, and the lower-level storage area is The data size temporarily stored in the write buffer, Cache memory system is obtained which is characterized by comprising a write-back controller for controlling write back address and the write-back data.

【0015】また、本発明によれば、前記キャッシュメ
モリシステムにおいて、前記キャッシュメモリの上位レ
ベルから前記キャッシュメモリに対する要求に含まれる
アドレスと同内容のアドレスを受けて、前記下位レベル
の記憶領域に対して前記要求に対応するデータ要求を行
うと共に、前記下位レベルの記憶領域から当該データ要
求に対応するデータを受けて、該データを前記キャッシ
ュメモリに対して送出するためのリード制御部を更に備
えていることを特徴とするキャッシュメモリシステムが
得られる。
Further, according to the present invention, in the cache memory system, an address having the same content as an address included in a request for the cache memory is received from an upper level of the cache memory, and the lower level storage area is received. And a read control unit for receiving a data request corresponding to the data request from the lower-level storage area and transmitting the data to the cache memory. A cache memory system characterized in that

【0016】更に、本発明によれば、前記キャッシュメ
モリシステムにおいて、前記ライトバック制御部は、前
記ライトバックデータ、当該ライトバックデータのサイ
ズである前記データサイズ及び前記アドレスが前記ライ
トバッファに揃ったことを示すライトバッファ状態信号
を前記リード制御部に対して送出すると共に、前記リー
ド制御部からのデータ転送終了信号を受けて、前記ライ
トバッファに揃っている前記ライトバックデータ、前記
データサイズ及び前記アドレスを前記下位レベルの記憶
領域に対して書き戻すためのものであり、前記リード制
御部は、前記ライトバッファ状態信号を受けた後に、前
記下位レベルの記憶領域から受けた前記データ要求に対
応するデータを前記キャッシュメモリに対して転送する
と共に、当該転送が終了したことを示すデータ転送終了
信号を前記ライトバック制御部に対して送出するための
ものであることを特徴とするキャッシュメモリシステム
が得られる。
Further, according to the present invention, in the cache memory system, the write-back control unit arranges the write-back data, the data size, which is the size of the write-back data, and the address in the write buffer. A write buffer status signal indicating that the write back data, the data size, and the data size in the write buffer are received in response to a data transfer end signal from the read control unit. The read control unit responds to the data request received from the lower-level storage area after receiving the write buffer state signal after writing the address back to the lower-level storage area. Transferring data to the cache memory; Cache memory system, wherein the data transfer end signal indicating that finished is for sending to the write-back controller is obtained.

【0017】また、本発明によれば、データ格納領域と
して複数のキャッシュラインを有するキャッシュメモリ
であって、キャッシュラインを複数のサブブロックに分
割し、前記各サブブロックに対応する複数のダーティビ
ットを備えることとしたキャッシュメモリにおいて、前
記キャッシュラインに格納されているデータを当該キャ
ッシュメモリから見て下位レベルの記憶領域に対して書
き戻す必要が生じた場合における最適な書戻データサイ
ズを求める方法であって、データサイズと書き戻しに要
する時間との関係に基づいて、オンを示す前記ダーティ
ビットに対応する前記サブブロックと、該サブブロック
に隣接するサブブロックとをまとめて前記下位レベルの
記憶領域に対して書き戻すべきかどうかを判断し、前記
複数のダーティビットの内、オンを示すダーティビット
の分布に従って、更に必要に応じて、書き戻すべきと判
断した複数の前記サブブロックからなる書戻データブロ
ックと、当該書戻データブロックと同じデータサイズの
データブロックであって、該書き戻しデータブロックに
隣接するデータブロックとをまとめて前記下位レベルの
記憶領域に対して書き戻すべきかどうかを判断すること
により、最適な書戻データサイズを求める方法が得られ
る。
Further, according to the present invention, there is provided a cache memory having a plurality of cache lines as a data storage area, wherein the cache line is divided into a plurality of sub-blocks, and a plurality of dirty bits corresponding to each of the sub-blocks are stored. In a cache memory to be provided, a method for obtaining an optimum write-back data size when it is necessary to write back data stored in the cache line to a lower-level storage area as viewed from the cache memory. The sub-block corresponding to the dirty bit indicating ON and the sub-block adjacent to the sub-block are grouped together based on the relationship between the data size and the time required for write-back, and Judge whether to write back to the A write-back data block composed of a plurality of the sub-blocks that are determined to be written back according to the distribution of dirty bits indicating ON, and a data block having the same data size as the write-back data block. A method for obtaining an optimum write-back data size by determining whether data blocks adjacent to the write-back data block should be written back to the lower-level storage area. .

【0018】[0018]

【発明の実施の形態】以下に、本発明の実施の形態のキ
ャッシュメモリ及びキャッシュメモリシステムについて
図面を用いて説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a cache memory and a cache memory system according to an embodiment of the present invention will be described with reference to the drawings.

【0019】本実施の形態のキャッシュメモリは、図1
に示されるように、データ格納部DMとしての第1乃至
第nのキャッシュラインCL1〜CL(n)と、それに
対応した第1乃至第nのタグフィールドTF1〜TF
(n)及び第1乃至第nのダーティビット格納部DBM
1〜DBM(n)とを備えている。
The cache memory according to the present embodiment has the structure shown in FIG.
, The first to n-th cache lines CL1 to CL (n) as the data storage unit DM and the corresponding first to n-th tag fields TF1 to TF
(N) and first to nth dirty bit storage units DBM
1 to DBM (n).

【0020】第1乃至第nのキャッシュラインCL1〜
CL(n)の夫々は、所定量のデータを格納することが
できるものである。以下、このキャッシュラインの格納
することができるデータサイズをキャッシュラインサイ
ズという。また、本実施の形態において、第1乃至第n
のキャッシュラインCL1〜CL(n)は、夫々、n個
(図1においては4個の場合が示されている。)のサブ
ブロックの集まりとして認識される。例えば、図1にお
いては、第1のキャッシュラインは、第1乃至第4のサ
ブブロックSB1〜SB4の集まりとして認識される。
また、夫々のサブブロックSB1〜SB4は、第2の所
定量のデータを格納することができるものである。ここ
で、第2の所定量は、キャッシュラインサイズをサブブ
ロックの個数nで分割したものである。以下、この第2
の所定量、即ちサブブロックの格納することができるデ
ータサイズをサブブロックデータサイズという。例え
ば、キャッシュラインサイズを32バイトとし、サブブ
ロックの個数nを32個とすると、サブブロックデータ
サイズは、1バイト(8ビット)ということになる。
尚、キャッシュメモリの分野において、データ転送の最
小単位を意味するブロックという概念があるが、サブブ
ロックとは、このブロックに限られるものではなく、あ
くまでも上述した定義に従うものである。
The first to n-th cache lines CL1 to CL1
Each of CL (n) can store a predetermined amount of data. Hereinafter, the data size that can be stored in the cache line is called a cache line size. In the present embodiment, the first to n-th
Are recognized as a group of n (four in FIG. 1 are shown) cache lines CL1 to CL (n). For example, in FIG. 1, the first cache line is recognized as a group of first to fourth sub-blocks SB1 to SB4.
Each of the sub-blocks SB1 to SB4 can store a second predetermined amount of data. Here, the second predetermined amount is obtained by dividing the cache line size by the number n of the sub-blocks. Hereinafter, this second
, The data size that can store the sub-block is called the sub-block data size. For example, if the cache line size is 32 bytes and the number n of sub-blocks is 32, the sub-block data size is 1 byte (8 bits).
In the field of the cache memory, there is a concept of a block which means the minimum unit of data transfer. However, the sub-block is not limited to this block, but follows the above-described definition.

【0021】第1乃至第nのタグフィールドTF1〜T
F(n)は、タグを格納するためのものである。ここ
で、タグとは、夫々、第1乃至第nのキャッシュライン
CL1〜CL(n)の内の対応するキャッシュライン内
に、求める語が格納されているか否かを判別するための
情報である。
The first to n-th tag fields TF1 to TF
F (n) is for storing a tag. Here, the tag is information for determining whether or not a desired word is stored in a corresponding one of the first to n-th cache lines CL1 to CL (n). .

【0022】第1乃至第nのダーティビット格納部DB
M1〜DBM(n)は、夫々、n個(図1においては一
例として4個の場合が示されている。)のダーティビッ
トを格納するためのものである。第1乃至第nのダーテ
ィビット格納部DBM1〜DBM(n)におけるn個の
ダーティビットは、夫々、第1乃至第nのキャッシュラ
インCL1〜CL(n)におけるn個のサブブロックの
いずれかに対応する。例えば、図1において、第2のダ
ーティビット格納部DBM2に格納される第1のダーテ
ィビットDB1は、第2のキャッシュラインCL2にお
ける第1のサブブロックSB1に対応し、第n−3のダ
ーティビット格納部DBM(n−3)に格納される第4
のダーティビットDB4は、第n−3のキャッシュライ
ンCL(n−3)における第4のサブブロックSB4に
対応する。尚、ダーティビットとは、キャッシュライン
内に格納されているデータを他のデータに置き換える際
に、現在格納されているデータを下位レベルに書き戻す
か否かを判定するためのビットであり、例えば、ダーテ
ィビットがオンになっていれば、当該キャッシュライン
に格納されているデータをライトバックする。特に本実
施の形態においては、ダーティビットがサブブロックに
対応しているため、あるダーティビットがオンになって
いれば、対応するサブブロックとして格納されているデ
ータは、下位レベルの記憶領域に対してライトバックす
る必要があるものであると判定することができる。
First to nth dirty bit storage units DB
Each of M1 to DBM (n) is for storing n (four as an example in FIG. 1) dirty bits. The n dirty bits in the first to nth dirty bit storage units DBM1 to DBM (n) are stored in one of the n subblocks in the first to nth cache lines CL1 to CL (n), respectively. Corresponding. For example, in FIG. 1, the first dirty bit DB1 stored in the second dirty bit storage unit DBM2 corresponds to the first sub-block SB1 in the second cache line CL2, and the (n-3) th dirty bit The fourth stored in the storage unit DBM (n-3)
Dirty bit DB4 corresponds to the fourth sub-block SB4 in the (n-3) th cache line CL (n-3). Note that the dirty bit is a bit for determining whether or not to rewrite the currently stored data to a lower level when replacing data stored in the cache line with another data. If the dirty bit is on, the data stored in the cache line is written back. In particular, in the present embodiment, since a dirty bit corresponds to a sub-block, if a certain dirty bit is turned on, data stored as a corresponding sub-block is stored in a lower-level storage area. Can be determined to need to be written back.

【0023】本実施の形態のキャッシュメモリシステム
10は、図2に示されるように、上述したキャッシュメ
モリ20と、以下に詳述するデータ書戻手段30とを備
えている。尚、本実施の形態においては、CPU40と
主記憶装置50との間に設けられるキャッシュメモリシ
ステム10を例にとり説明する。しかしながら、情報処
理装置における記憶部は、速度及び容量の異なる複数レ
ベルのメモリを備えるのが一般的である。ここで、複数
レベルのメモリからなる記憶階層において、情報処理装
置の有するCPUに近いレベルを上位レベルといい、C
PUから遠いレベルを下位レベルというものと定義する
と、本発明のキャッシュメモリシステムは、少なくとも
下位レベルの記憶領域が存在するようなレベルに配置さ
れていれば良い。上述の定義に従えば、本実施の形態に
おいて、キャッシュメモリからみて下位レベルの記憶領
域は、主記憶装置50に相当する。
As shown in FIG. 2, the cache memory system 10 of the present embodiment includes the cache memory 20 described above and a data write-back unit 30 described in detail below. In the present embodiment, the cache memory system 10 provided between the CPU 40 and the main storage device 50 will be described as an example. However, the storage unit in the information processing apparatus generally includes a plurality of levels of memories having different speeds and capacities. Here, in a storage hierarchy composed of a plurality of levels of memories, a level close to the CPU of the information processing apparatus is called an upper level,
If a level far from the PU is defined as a lower level, the cache memory system of the present invention only needs to be arranged at a level where at least a lower level storage area exists. According to the above definition, in the present embodiment, a lower-level storage area as viewed from the cache memory corresponds to the main storage device 50.

【0024】データ書戻手段30は、キャッシュライン
に格納されているデータを主記憶装置50対して書き戻
すためのものである。特に本実施の形態においては、デ
ータ書戻手段30は、例えば、第3のキャッシュライン
CL3に格納されているデータを主記憶装置50に対し
て書き戻す必要が生じた場合に、以下のようにして処理
を行うものである。即ち、図1を例にとると、第3のキ
ャッシュラインCL3に対応する第3のダーティビット
格納部DBM3に格納されている4個のダーティビット
を参照して、第3のキャッシュラインCL3の備える第
1乃至第4のサブブロックSB1〜SB4の内、書き戻
すべきサブブロックの最適な組合わせを決定し、その決
定に従って、最適な組合わせを構成するサブブロックに
格納されているデータを主記憶装置50に対して書き戻
すためのものである。
The data write-back means 30 is for writing data stored in the cache line back to the main storage device 50. In particular, in the present embodiment, the data write-back unit 30 performs the following operation when it is necessary to write back the data stored in the third cache line CL3 to the main storage device 50, for example. Process. That is, taking FIG. 1 as an example, the third cache line CL3 is provided with reference to four dirty bits stored in the third dirty bit storage unit DBM3 corresponding to the third cache line CL3. Among the first to fourth sub-blocks SB1 to SB4, the optimum combination of the sub-blocks to be rewritten is determined, and the data stored in the sub-block constituting the optimum combination is stored in the main storage according to the determination. This is for writing back to the device 50.

【0025】ここで、最適な組合わせを構成するサブブ
ロックの夫々は、後述するように、種々のデータサイズ
のデータを主記憶装置50に書き戻す際に必要となる書
戻所要時間と当該データサイズとの関係に従って、最も
書戻所要時間が短くなるようにして決定されるため、ダ
ーティビットがオンになっているサブブロックのみに限
られる訳ではない。即ち、書き戻すべきサブブロックの
最適な組合わせは、ダーティビットがオンであるサブブ
ロックのみからなる場合もある一方で、ダーティビット
がオンであるサブブロックとダーティビットがオフであ
るサブブロックとの組合わせからなる場合もあり、この
点において、前述の従来例1と異なる。また、書き戻す
べきサブブロックの最適な組合わせは、連続した任意の
数のサブブロックの集まりと、それとはデータサイズの
異なる連続した任意の数のサブブロックの集まりとの組
合わせからなる場合もあり、この点において前述の従来
例2と異なる。尚、後の説明における用語として、「書
戻サブブロック」という語句を用いているため、これま
での説明における「書き戻すべきサブブロック」と「書
戻サブブロック」とについて、相互に混同しないように
注意を要する。
Here, each of the sub-blocks constituting the optimum combination includes a write-back required time required for writing data of various data sizes back to the main storage device 50 and the data as described later. According to the relationship with the size, the determination is made such that the required rewrite time is the shortest, so that the present invention is not limited to only the sub-block in which the dirty bit is on. That is, the optimal combination of sub-blocks to be rewritten may consist only of sub-blocks with the dirty bit on, while sub-blocks with the dirty bit on and sub-blocks with the dirty bit off. In some cases, it is different from the above-mentioned conventional example 1 in this point. Also, the optimal combination of sub-blocks to be written back may be a combination of a collection of an arbitrary number of consecutive sub-blocks and a collection of an arbitrary number of consecutive sub-blocks having different data sizes. In this respect, this point is different from the above-mentioned conventional example 2. Since the term “rewrite subblock” is used as a term in the following description, the “subblock to be rewritten” and the “rewrite subblock” in the description so far should not be confused with each other. Need attention.

【0026】本実施の形態におけるデータ書戻手段30
は、図3に示されるように、ライトバックサイズ/アド
レス生成部301と、ライトバックデータ生成部302
と、ライトバッファ303と、ライトバック制御部30
4と、リード制御部305とを備えている。
Data write-back means 30 in this embodiment
As shown in FIG. 3, a write-back size / address generation unit 301 and a write-back data generation unit 302
, Write buffer 303 and write-back control unit 30
4 and a read control unit 305.

【0027】ライトバックサイズ/アドレス生成部30
1は、主記憶装置50に対して書き戻すべきキャッシュ
ラインに関して、そのキャッシュラインに対応するタグ
フィールドTFに格納されているタグ及び対応するダー
ティビット格納部DBMに格納されている所定数個のダ
ーティビットDBを参照し、データサイズと書戻所要時
間との関係をあらわすテーブルに従って、書き戻すべき
サブブロックの最適な組合わせを判断し、当該最適な組
合わせに関するデータサイズ及びキャッシュラインにお
けるアドレス情報をライトバッファ303に対して送出
するためのものである。尚、データサイズと当該データ
サイズに係る書戻所要時間との関係を示すテーブルは、
ライトバックサイズ/アドレス生成部301が備えてい
ても良いし、キャッシュメモリ20が備えているものと
しても良いし、更には、別個に設けられた記憶手段に記
憶しておくこととしても良い。但し、ライトバックサイ
ズ/アドレス生成部301が書き戻すべきサブブロック
の最適な組合わせを判断する際に、テーブルは、ライト
バックサイズ/アドレス生成部301が参照可能である
ことが必要とされる。
Write-back size / address generator 30
1 designates, for a cache line to be written back to the main storage device 50, a tag stored in the tag field TF corresponding to the cache line and a predetermined number of dirty bits stored in the corresponding dirty bit storage DBM. With reference to the bit DB, an optimal combination of sub-blocks to be rewritten is determined in accordance with a table representing the relationship between the data size and the required write-back time, and the data size and the cache line address information relating to the optimal combination are determined. This is for sending to the write buffer 303. The table showing the relationship between the data size and the required write-back time for the data size is as follows:
The write-back size / address generation unit 301 may be provided, the cache memory 20 may be provided, or the data may be stored in a separately provided storage unit. However, when the write-back size / address generation unit 301 determines an optimal combination of sub-blocks to be rewritten, the table needs to be able to be referred to by the write-back size / address generation unit 301.

【0028】ライトバックデータ生成部302は、ライ
トバックサイズ/アドレス生成部301と同様にして、
データサイズと書戻所要時間との関係をあらわすテーブ
ルに従い、書き戻すべきサブブロックの最適な組合わせ
を判断し、当該最適な組合わせに係るデータであるライ
トバックデータをライトバッファ303に対して送出す
るためのものである。尚、ライトバックデータ生成部3
02においてもライトバックサイズ/アドレス生成部3
01と同様に、ライトバックデータ生成部302が書き
戻すべきサブブロックの最適な組合わせを判断する際
に、テーブルは、ライトバックデータ生成部302が参
照可能であることが必要とされる。
The write-back data generation unit 302 operates similarly to the write-back size / address generation unit 301.
An optimal combination of sub-blocks to be rewritten is determined according to a table representing the relationship between the data size and the required write-back time, and write-back data, which is data relating to the optimal combination, is sent to the write buffer 303. It is for doing. The write-back data generator 3
02, write-back size / address generation unit 3
Similarly to 01, when the write-back data generation unit 302 determines the optimum combination of sub-blocks to be rewritten, the table needs to be able to be referred to by the write-back data generation unit 302.

【0029】ライトバッファ303は、ライトバックサ
イズ/アドレス生成部301の生成した書き戻すデータ
サイズ及びアドレス情報と、ライトバックデータ生成部
302の生成したライトバックデータとを受けて、それ
らを一時的に格納するためのものである。
The write buffer 303 receives the write-back data size and address information generated by the write-back size / address generation unit 301 and the write-back data generated by the write-back data generation unit 302, and temporarily stores them. It is for storing.

【0030】ライトバック制御部304は、ライトバッ
ファ303の状態を監視すると共に、書き戻すデータサ
イズ及びアドレス、並びにライトバックデータがライト
バッファ303に揃ったことを示すライトバッファ状態
信号をリード制御部305に対して送出するためのもの
である。また、ライトバック制御部304は、リード制
御部305からのデータ転送終了信号を受けて、ライト
バッファ303に揃っている書き戻すデータサイズ及び
アドレス、並びにライトバックデータを主記憶装置50
に対して書き戻す制御を行うためのものである。
The write-back control unit 304 monitors the state of the write buffer 303 and sends a write buffer status signal indicating that the write-back data size and address and the write-back data are ready in the write buffer 303 to the read control unit 305. Is to be sent out. Further, the write-back control unit 304 receives the data transfer end signal from the read control unit 305, and stores the data size and address of the write-back data in the write buffer 303 and the write-back data in the main storage device 50.
This is for performing control to write back to.

【0031】リード制御部305は、CPU40からキ
ャッシュメモリ20に対して送出されたアドレスと同内
容のアドレスを受けて、主記憶装置50に対してアドレ
ス及び必要とするデータサイズとを送出すると共に、そ
のアドレス及びデータサイズに対応するデータを主記憶
装置50から受けて、更にライトバック制御部304か
らのライトバッファ状態信号を受けるのを待って、主記
憶装置50から受けたデータをキャッシュメモリ20に
おける該当するキャッシュラインに対して書き込むため
のものである。また、リード制御部305は、主記憶装
置50から受けたデータのキャッシュメモリ20に対す
る書き込みを終了すると、そのデータ転送が終了したこ
とを示すデータ転送終了信号をライトバック制御部30
4に対して送出するためのものである。
The read control unit 305 receives an address having the same content as the address sent from the CPU 40 to the cache memory 20, sends the address and the required data size to the main storage device 50, and The data corresponding to the address and the data size is received from the main storage device 50, and further, after receiving a write buffer status signal from the write-back control unit 304, the data received from the main storage device 50 is stored in the cache memory 20. This is for writing to the corresponding cache line. When the writing of the data received from the main storage device 50 to the cache memory 20 ends, the read control unit 305 sends a data transfer end signal indicating that the data transfer has ended to the write back control unit 30.
4 for transmission.

【0032】このような構成を備えたキャッシュメモリ
システム10の動作について、CPU40及び主記憶装
置50の動作と共に以下に説明する。尚、以下において
は、CPU40からキャッシュメモリ20に対しリード
要求がなされた場合と、ライト要求がなされた場合とに
別けて説明することとする。
The operation of the cache memory system 10 having such a configuration will be described below together with the operations of the CPU 40 and the main storage device 50. In the following, a case where a read request is made from the CPU 40 to the cache memory 20 and a case where a write request is made will be described separately.

【0033】まず、リード要求がなされた場合について
説明する。
First, a case where a read request is made will be described.

【0034】CPU40は、リード要求をする場合、キ
ャッシュメモリ20に対してアドレスを送出してデータ
を要求する。
When making a read request, the CPU 40 sends an address to the cache memory 20 to request data.

【0035】キャッシュメモリ20は、CPU40から
の要求がミスかヒットかを判定して、その判定の結果を
CPUに対して返す。キャッシュメモリ20は、要求が
ヒットした場合、要求されたデータをCPU40に対し
て送出する。一方、要求がミスした場合、いずれかのキ
ャッシュラインに格納されているデータを置き換えなけ
ればならない。ここで、ダイレクトマップ方式において
は、CPU40から受けたアドレスとキャッシュメモリ
20におけるキャッシュラインとが一意に対応している
ため、データを置き換えなければならないキャッシュラ
イン、即ち更新すべきキャッシュラインも一意に決まる
ことになる。しかしながら、セット・アソシアティブ方
式やフル・アソシアティブ方式においては、置き換え対
象となるキャッシュラインをアドレスから一意に決定す
ることができない。従って、セット・アソシアティブ方
式やフル・アソシアティブ方式のキャッシュメモリ20
においては、要求がミスした場合、更新すべきキャッシ
ュラインを求めることが必要となる。
The cache memory 20 determines whether the request from the CPU 40 is a miss or a hit, and returns the result of the determination to the CPU. When a request hits, the cache memory 20 sends the requested data to the CPU 40. On the other hand, if the request misses, the data stored in one of the cache lines must be replaced. Here, in the direct map method, since the address received from the CPU 40 and the cache line in the cache memory 20 uniquely correspond to each other, the cache line for which data must be replaced, that is, the cache line to be updated is also uniquely determined. Will be. However, in the set associative method and the full associative method, a cache line to be replaced cannot be uniquely determined from an address. Therefore, the set associative or full associative cache memory 20
In, when a request is missed, it is necessary to find a cache line to be updated.

【0036】更に、キャッシュメモリ20は、更新すべ
きキャッシュラインに対応するダーティビット格納部D
BMに格納されている所定数個のダーティビットDB
を、ライトバック制御部304、ライトバックサイズ/
アドレス生成部301及びライトバックデータ生成部3
02に対して送出する。
Further, the cache memory 20 stores a dirty bit storage unit D corresponding to the cache line to be updated.
A predetermined number of dirty bit DBs stored in the BM
Of the write-back control unit 304, the write-back size /
Address generation unit 301 and write-back data generation unit 3
02 is sent.

【0037】CPU40は、キャッシュメモリ20から
の判定結果を受けて、判定結果がヒットを示している場
合、更に要求したデータを受けることになる。一方、判
定結果がミスを示している場合、リード制御部305に
対して必要なデータに係るアドレスを送出することによ
り、主記憶装置50に対する当該必要なデータの要求を
行う。また、主記憶装置50は、要求されたデータをリ
ード制御部305に対して送出する。
The CPU 40 receives the determination result from the cache memory 20 and, if the determination result indicates a hit, further receives the requested data. On the other hand, when the determination result indicates a mistake, the address relating to the necessary data is transmitted to the read control unit 305 to request the main storage device 50 for the necessary data. The main storage device 50 sends the requested data to the read control unit 305.

【0038】ライトバックアドレス/サイズ生成部30
1は、キャッシュメモリ20から受けた更新すべきキャ
ッシュラインに対応する所定数個のダーティビットに従
い、当該キャッシュラインに格納されているデータを書
き戻す必要がある場合に、データサイズと書戻所要時間
との関係に基づいて、どのように書き戻すのが最適であ
るかを判断し、ライトバッファ303に対して当該判断
に基づいたデータサイズ及びアドレス情報を送出する。
Write-back address / size generator 30
In accordance with a predetermined number of dirty bits received from the cache memory 20 corresponding to the cache line to be updated, when the data stored in the cache line needs to be written back, the data size and the required write-back time Then, it is determined how best to rewrite, based on the relationship between the data size and the address, and the data size and the address information based on the determination are sent to the write buffer 303.

【0039】一方、ライトバックデータ生成部302
は、ライトバックアドレス/サイズ生成部301と同様
にして、キャッシュメモリ20からのダーティビットに
従ってどのように書き戻すのが最適であるかを判断し、
ライトバッファ303に対して当該判断に基づいたライ
トバックデータを送出する。
On the other hand, the write-back data generator 302
Determines, in the same manner as the write-back address / size generation unit 301, how to best write back according to the dirty bit from the cache memory 20,
The write-back data based on the determination is sent to the write buffer 303.

【0040】ライトバック制御部304は、ライトバッ
ファ303の状態を監視して、ライトバックデータ、ラ
イトバックデータに関するデータサイズ及びアドレス情
報がライトバッファ303に揃うと、リード制御部30
5に対し、ライトバッファ状態信号を送出する。
The write-back control unit 304 monitors the state of the write buffer 303, and when the write-back data, the data size and the address information relating to the write-back data are aligned in the write buffer 303, the read control unit 30
5, a write buffer status signal is transmitted.

【0041】リード制御部305は、ライトバッファ状
態信号を受けて、その後に、主記憶装置50から受けた
データをキャッシュメモリ20を介してCPU40に対
して転送する。更に、リード制御部305は、当該転送
が終了した後、ライトバック制御部304に対してデー
タ転送終了信号を送出する。
The read control unit 305 receives the write buffer state signal, and thereafter transfers the data received from the main storage device 50 to the CPU 40 via the cache memory 20. Further, after the transfer is completed, the read control unit 305 sends a data transfer end signal to the write-back control unit 304.

【0042】ライトバック制御部304は、リード制御
部305からのデータ転送終了信号を受けて、ライトバ
ッファ303に一時的に格納されているライトバックデ
ータと、ライトバックデータに関するデータサイズ及び
アドレス情報とを主記憶装置50に対し、順番に送出す
ることにより、ライトバックデータの書き戻しを行う。
The write-back control unit 304 receives the data transfer end signal from the read control unit 305, and receives the write-back data temporarily stored in the write buffer 303, the data size and address information related to the write-back data, and the like. Are sequentially transmitted to the main storage device 50 to write back the write-back data.

【0043】次に、ライト要求がなされた場合について
説明する。
Next, a case where a write request is made will be described.

【0044】CPU40は、ライト要求をする場合、キ
ャッシュメモリ20に対してアドレス及びデータを送出
する。
When making a write request, the CPU 40 sends an address and data to the cache memory 20.

【0045】キャッシュメモリ20は、CPU40から
の要求がミスかヒットかを判定して、その判定の結果を
CPUに対して返す。ここで、要求がヒットすると、C
PU40からのデータが、キャッシュメモリ20におい
て要求に対応するキャッシュラインに対して書き込まれ
ることになる。キャッシュメモリ20は、要求がヒット
した場合、データを書き込んだキャッシュラインに対応
するダーティビット格納部に対してダーティビットをセ
ットする。特に、本実施の形態においては、サブブロッ
クごとに対応するダーティビットを備えているため、デ
ータ変更のあったサブブロック毎に夫々ダーティビット
をセットする。一方、要求がミスした場合、いずれかの
キャッシュラインに格納されているデータを置き換えな
ければならない。その場合、キャッシュメモリ20は、
上述したリード要求の場合と同様に、必要があれば、更
新すべきキャッシュラインを求める。更に、キャッシュ
メモリ20は、更新すべきキャッシュラインに対応する
ダーティビット格納部DBMに格納されている所定数個
のダーティビットDBを、ライトバック制御部304、
ライトバックサイズ/アドレス生成部301及びライト
バックデータ生成部302に対して送出する。
The cache memory 20 determines whether the request from the CPU 40 is a miss or a hit, and returns the result of the determination to the CPU. Here, if the request hits, C
The data from the PU 40 will be written to the cache line corresponding to the request in the cache memory 20. When the request hits, the cache memory 20 sets a dirty bit in the dirty bit storage unit corresponding to the cache line in which the data is written. In particular, in the present embodiment, since a dirty bit corresponding to each sub-block is provided, a dirty bit is set for each sub-block whose data has been changed. On the other hand, if the request misses, the data stored in one of the cache lines must be replaced. In that case, the cache memory 20
As in the case of the read request described above, if necessary, a cache line to be updated is determined. Further, the cache memory 20 stores a predetermined number of dirty bits DB stored in the dirty bit storage unit DBM corresponding to the cache line to be updated into the write-back control unit 304,
It is sent to the write-back size / address generation unit 301 and the write-back data generation unit 302.

【0046】CPU40は、キャッシュメモリ20から
の判定結果を受けて、判定結果がミスを示している場
合、リード制御部305に対して書き込み対象となるデ
ータに係るアドレスを送出することにより、主記憶装置
50に対する当該データの要求を行う。また、主記憶装
置50は、要求されたデータをリード制御部305に対
して送出する。
When the CPU 40 receives the determination result from the cache memory 20 and the determination result indicates a mistake, the CPU 40 sends the address related to the data to be written to the read control unit 305, thereby making the main storage A request for the data is made to the device 50. The main storage device 50 sends the requested data to the read control unit 305.

【0047】ライトバックアドレス/サイズ生成部30
1は、キャッシュメモリ20から受けた更新すべきキャ
ッシュラインに対応する所定数個のダーティビットに従
い、当該キャッシュラインに格納されているデータを書
き戻す必要がある場合に、データサイズと書戻所要時間
との関係に基づいて、どのように書き戻すのが最適であ
るかを判断し、ライトバッファ303に対して当該判断
に基づいたデータサイズ及びアドレス情報を送出する。
Write-back address / size generator 30
In accordance with a predetermined number of dirty bits received from the cache memory 20 corresponding to the cache line to be updated, when the data stored in the cache line needs to be written back, the data size and the required write-back time Then, it is determined how best to rewrite, based on the relationship between the data size and the address, and the data size and the address information based on the determination are sent to the write buffer 303.

【0048】一方、ライトバックデータ生成部302
は、ライトバックアドレス/サイズ生成部301と同様
にして、キャッシュメモリ20からのダーティビットに
従ってどのように書き戻すのが最適であるかを判断し、
ライトバッファ303に対して当該判断に基づいたライ
トバックデータを送出する。
On the other hand, the write-back data generator 302
Determines, in the same manner as the write-back address / size generation unit 301, how to best write back according to the dirty bit from the cache memory 20,
The write-back data based on the determination is sent to the write buffer 303.

【0049】ライトバック制御部304は、ライトバッ
ファ303の状態を監視して、ライトバックデータ、ラ
イトバックデータに関するデータサイズ及びアドレス情
報がライトバッファ303に揃うと、リード制御部30
5に対し、ライトバッファ状態信号を送出する。
The write-back control unit 304 monitors the state of the write buffer 303, and when the write-back data, the data size and the address information relating to the write-back data are aligned in the write buffer 303, the read-back control unit 30
5, a write buffer status signal is transmitted.

【0050】リード制御部305は、ライトバッファ状
態信号を受けて、その後に、主記憶装置50から受けた
データを、キャッシュメモリ20における更新するべき
キャッシュラインに対して転送し、次いで、当該キャッ
シュラインに対するCPU40からのデータ書き込みが
行われる。更に、リード制御部305は、当該データ転
送等が終了した後、ライトバック制御部304に対して
データ転送終了信号を送出する。
The read control unit 305 receives the write buffer status signal, and thereafter transfers the data received from the main storage device 50 to the cache line in the cache memory 20 to be updated. Is written from the CPU 40 to the. Further, after the data transfer or the like is completed, the read control unit 305 sends a data transfer end signal to the write-back control unit 304.

【0051】ライトバック制御部304は、リード制御
部305からのデータ転送終了信号を受けて、ライトバ
ッファ303に一時的に格納されているライトバックデ
ータと、ライトバックデータに関するデータサイズ及び
アドレス情報とを主記憶装置50に対し、順番に送出す
ることにより、ライトバックデータの書き戻しを行う。
The write-back control unit 304 receives the data transfer end signal from the read control unit 305, and receives the write-back data temporarily stored in the write buffer 303, the data size and address information related to the write-back data, and the like. Are sequentially transmitted to the main storage device 50 to write back the write-back data.

【0052】以上が、本実施の形態において、CPU4
0からリード要求及びライト要求がなされた場合の一連
の処理動作である。
As described above, in the present embodiment, the CPU 4
This is a series of processing operations when a read request and a write request are made from 0.

【0053】次に、ライトバックサイズ/アドレス生成
部301及びライトバックデータ生成部302におい
て、書き戻すべきサブブロックの最適な組合わせを判断
する際の処理等について、図4乃至図9を用い具体的な
例を挙げて説明する。尚、以下の処理動作例において、
キャッシュラインサイズは、32バイトとし、初期のサ
ブブロックのサブブロックサイズは、1バイトとする。
従って、初期においてサブブロックの個数は、32個と
なる。ここで、処理動作中においてサブブロックのサイ
ズは、後述するように変化する。従って、初期のサブブ
ロックについて、以降の処理におけるサブブロックと区
別する必要がある場合、当該初期のサブブロックを初期
サブブロックと呼ぶ。また、これに併せて、初期サブブ
ロックのデータサイズを初期サブブロックデータサイズ
と呼び、初期サブブロックの個数を初期サブブロック数
と呼ぶ。
Next, the processing when the write-back size / address generator 301 and the write-back data generator 302 determine the optimum combination of sub-blocks to be rewritten will be described with reference to FIGS. This will be described with reference to a typical example. In the following processing operation example,
The cache line size is 32 bytes, and the sub-block size of the initial sub-block is 1 byte.
Therefore, the number of sub-blocks is initially 32. Here, during the processing operation, the size of the sub-block changes as described later. Therefore, when it is necessary to distinguish the initial sub-block from the sub-block in the subsequent processing, the initial sub-block is referred to as an initial sub-block. Simultaneously, the data size of the initial sub-block is called an initial sub-block data size, and the number of initial sub-blocks is called an initial sub-block number.

【0054】また、前述の通り、本実施の形態において
書き戻すべきサブブロックの最適な組合わせを判断する
にあたっては、データサイズとそのサイズのデータを書
き戻すために必要とする書戻所要時間との関係を示すテ
ーブルが必要となる。以下の処理においては、そのテー
ブルの具体例として、図4に示されるものを用いて説明
することとする。尚、図4における左欄は、各データサ
イズを示すものであり、単位はバイトである。また、図
4における右欄は、左欄に示される各データサイズに対
応する各書戻所要時間であり、tは、30nsである。
このテーブルにおける右欄は、クロック数等であっても
良く、例えば、図4において1クロックが30nsであ
るならば、右欄における夫々の値は、上から順に4、
4、5、7、11、22となる。
As described above, in determining the optimum combination of sub-blocks to be rewritten in the present embodiment, the data size and the required rewriting time required for rewriting data of that size are determined. Is needed. In the following processing, a specific example of the table will be described with reference to FIG. The left column in FIG. 4 shows each data size, and the unit is byte. In addition, the right column in FIG. 4 is the required write-back time corresponding to each data size shown in the left column, and t is 30 ns.
The right column in this table may be the number of clocks or the like. For example, if one clock is 30 ns in FIG. 4, each value in the right column is 4,
4, 5, 7, 11, and 22.

【0055】尚、図5及び図9は、夫々の具体例におい
て、書き戻すべきサブブロックの最適な組合わせを求め
る過程を示す図である。また、図6乃至図8は、最適な
組合わせを求める処理動作を示すフローチャートであ
る。
FIGS. 5 and 9 are diagrams showing a process of obtaining an optimum combination of sub-blocks to be rewritten in each specific example. FIGS. 6 to 8 are flowcharts showing the processing operation for finding the optimum combination.

【0056】まず、図6に示されるように、サブブロッ
クデータサイズ、サブブロック数、キャッシュラインサ
イズの各初期値を設定すると共に、現在データサイズと
して、サブブロックデータサイズを設定する(ステップ
S101)。ここで、サブブロックデータサイズ、サブ
ブロック数は、前述の定義に従えば、初期サブブロック
データサイズ、初期サブブロック数であり、夫々、本処
理例においては、1バイト、32個である。また、キャ
ッシュラインサイズは、32バイトである。更に、現在
データサイズは、初期サブブロックデータサイズと同じ
であるので、1バイトである。
First, as shown in FIG. 6, each initial value of the sub-block data size, the number of sub-blocks, and the cache line size is set, and the sub-block data size is set as the current data size (step S101). . Here, the sub-block data size and the number of sub-blocks are the initial sub-block data size and the initial number of sub-blocks according to the above-mentioned definitions, and are 1 byte and 32 in this processing example, respectively. The cache line size is 32 bytes. Further, the current data size is 1 byte because it is the same as the initial sub-block data size.

【0057】次に、キャッシュメモリ20から送出され
てきたダーティビットDBに従って、書戻サブブロック
を決定する(ステップS102)。詳しくは、対応する
ダーティビットがオンであるサブブロックを書戻サブブ
ロックとする。尚、図5(a)において、書戻サブブロ
ックは、黒く塗りつぶされて示されている。
Next, a write-back sub-block is determined according to the dirty bit DB sent from the cache memory 20 (step S102). Specifically, a sub-block in which the corresponding dirty bit is on is set as a write-back sub-block. In FIG. 5A, the write-back sub-block is shown in black.

【0058】次に、書戻データブロックとして書戻サブ
ブロックに格納されているデータを記憶する(ステップ
S103)。書戻データブロックとは、判断過程におい
て実際に書き戻すべきと判断したデータサイズを有する
データブロックであり、処理過程においてそのデータサ
イズが変化することがあるものである。また、書戻サブ
ブロックとは、夫々の判断過程におけるサブブロックの
内、書戻データブロックを含むサブブロックをいう。従
って、図5(a)に示される初期の段階においては、書
戻サブブロックと書戻データブロックとは、一致してい
る。
Next, the data stored in the write-back sub-block is stored as a write-back data block (step S103). The rewrite data block is a data block having a data size that is actually determined to be rewritten in the determination process, and the data size may change in the processing process. The write-back sub-block refers to a sub-block including a write-back data block among the sub-blocks in the respective determination processes. Therefore, in the initial stage shown in FIG. 5A, the write-back sub-block matches the write-back data block.

【0059】次に、隣り合うサブブロックをサブブロッ
クペアとして、サブブロック数の半分の個数のサブブロ
ックペアを決定する(ステップS104)。例えば、図
5(a)においては、最下位に位置するサブブロックS
B1と、その上位(隣)に位置するサブブロックSB2
とのペアをサブブロックペアSBP1とし、サブブロッ
クSB3と、その上位(隣)に位置するサブブロックS
B4とペアをサブブロックペアSBP2とする。残りの
サブブロックに関しても同様にしてサブブロックペアを
決定し、合計16個のサブブロックペアを決定する。
Next, half of the number of sub-block pairs are determined using adjacent sub-blocks as sub-block pairs (step S104). For example, in FIG. 5A, the lowermost sub-block S
B1 and the sub-block SB2 located above (next to)
Is a sub-block pair SBP1, and a sub-block SB3 and a sub-block S
A pair with B4 is referred to as a sub-block pair SBP2. Sub-block pairs are determined in the same manner for the remaining sub-blocks, and a total of 16 sub-block pairs are determined.

【0060】次に、書戻サブブロックの属するサブブロ
ックペアを書戻サブブロックペアとし、夫々の書戻サブ
ブロックペアに対してサブブロックナンバーを付す(ス
テップS105)。例えば、図5(a)においては、書
戻サブブロックが4個あり、それぞれが書戻サブブロッ
クではないサブブロックとサブブロックペアを構成する
こととなるため、書戻サブブロックペアも4個となる。
この4個の書戻サブブロックペアSBP1、SBP2、
SBP3、SBP4に対して、サブブロックナンバーと
して、下位から順番に夫々、1、2、3、4を付す。
Next, the sub-block pair to which the write-back sub-block belongs is defined as a write-back sub-block pair, and a sub-block number is assigned to each write-back sub-block pair (step S105). For example, in FIG. 5A, there are four write-back sub-blocks, each of which forms a sub-block pair with a sub-block which is not a write-back sub-block. Become.
The four write-back sub-block pairs SBP1, SBP2,
SBP3 and SBP4 are assigned subblock numbers 1, 2, 3, and 4, respectively, from the lower order.

【0061】次に、現在サブブロックナンバーとして、
1を設定すると共に、サブブロックペア数として書戻サ
ブブロックペアの個数を設定する(ステップS10
6)。図5(a)の状態においては、書戻サブブロック
ペアが4個あるので、サブブロックペア数は4となる。
Next, as the current sub-block number,
In addition to setting 1, the number of write-back sub-block pairs is set as the number of sub-block pairs (step S10).
6). In the state of FIG. 5A, since there are four write-back sub-block pairs, the number of sub-block pairs is four.

【0062】次に、現在サブブロックナンバーの付され
ているサブブロックペアについて、書戻所要時間とデー
タサイズとの関係を示すテーブルに従って、サブブロッ
クペアとしてまとめて書き戻した方が良いかどうかにつ
いて判断し(ステップS107)、まとめて書き戻した
方が良いと判断した場合、ステップS108へ進み、ま
とめて書き戻さない方が良いと判断した場合、ステップ
S109へ進む。
Next, regarding the sub-block pair to which the current sub-block number is assigned, whether or not it is better to collectively write back as a sub-block pair according to the table showing the relationship between the required time for rewriting and the data size. It is determined (step S107), and when it is determined that it is better to collectively write back, the process proceeds to step S108, and when it is determined that it is not preferable to collectively write back, the process proceeds to step S109.

【0063】ここで、ステップS107における判断に
ついて、図8を用いて更に詳細に説明する。まず、現在
サブブロックナンバーの付されているサブブロックペア
について、当該サブブロックペアを構成するサブブロッ
クが、双方とも書戻サブブロックであるかどうかについ
て判定する(ステップS1071)。ステップS107
1において双方とも書戻サブブロックであると判定した
場合、次に、当該サブブロックペアに含まれている書戻
データブロックに関し、夫々の書戻データブロック毎に
書き戻した方が書戻所要時間が短いかどうかについて、
データサイズと書戻所要時間との関係を示すテーブルに
従って判定する(ステップS1072)。また、ステッ
プS1072において、書戻所要時間が短いと判定した
場合、ステップS109へ進み、短くないと判定した場
合、ステップS108へ進み、夫々、以降の処理を実行
する。一方、ステップS1071において、片方のみが
書戻サブブロックであると判定した場合、書戻所要時間
とデータサイズとの関係を示すテーブルに基づいて、当
該サブブロックペアとしてまとめて書き戻しても、書戻
サブブロックに含まれている書戻データブロックのみを
書き戻した場合と比較して、書戻所要時間が変わらない
かどうかについて判定する(ステップS1073)。ス
テップS1073において、書戻所要時間が変わらない
と判定した場合、ステップS108へ進み、サブブロッ
クペアとしてまとめて書き戻すと書戻所要時間が長くな
ると判定した場合、ステップS109へ進み、夫々、以
降の処理を実行する。現時点では、現在サブブロックナ
ンバーが1であるので、サブブロックペアSBP1を構
成するサブブロックは、一方のみが書戻サブブロックで
ある。従って、ステップS1071における判定によ
り、ステップS1073に進み、サブブロックペアSB
P1について図4に示されるテーブルに基づいて判断す
る。図4に示されるテーブルによれば、データサイズが
1バイトであっても2バイトであっても書戻所要時間は
変わらないため、より大きなデータサイズとしてサブブ
ロックペアをまとめて書き戻した方が良いと判断し(ス
テップS1073)、ステップS108へ進む。
Here, the determination in step S107 will be described in more detail with reference to FIG. First, it is determined whether or not both of the sub-block pairs to which the current sub-block number is assigned are sub-blocks forming the sub-block pair (Step S1071). Step S107
If it is determined in step 1 that both of the sub-block pairs are write-back sub-blocks, the write-back time required for each of the write-back data blocks included in the sub-block pair is the time required for the write-back. Is short or not
The determination is made according to a table indicating the relationship between the data size and the required write-back time (step S1072). If it is determined in step S1072 that the required write-back time is short, the process proceeds to step S109. If it is determined that the time is not short, the process proceeds to step S108, and the subsequent processes are executed. On the other hand, if it is determined in step S1071 that only one of the sub-blocks is a write-back sub-block, the write-back sub-block may be collectively written back as a sub-block pair based on a table indicating the relationship between the required write-back time and the data size. It is determined whether or not the required write-back time does not change, as compared with the case where only the write-back data block included in the return sub-block is written back (step S1073). If it is determined in step S1073 that the required write-back time does not change, the process proceeds to step S108. If it is determined that the collective write-back as a sub-block pair requires a longer write-back time, the process proceeds to step S109. Execute the process. At present, since the current sub-block number is 1, only one of the sub-blocks constituting the sub-block pair SBP1 is a write-back sub-block. Therefore, according to the determination in step S1071, the process proceeds to step S1073, where the sub-block pair SB
P1 is determined based on the table shown in FIG. According to the table shown in FIG. 4, since the required write-back time does not change whether the data size is 1 byte or 2 bytes, it is better to collectively write back the sub-block pairs as a larger data size. It is determined to be good (step S1073), and the process proceeds to step S108.

【0064】次に、ステップS107において、まとめ
て書き戻した方が良いと判断した場合、新たな書戻デー
タブロックとしてサブブロックペアを構成する初期サブ
ブロックを記憶する(ステップS108)。現時点で
は、書戻データブロックとして記憶されているサブブロ
ックSB1に代えて、サブブロックペアSBP1を構成
する2つの初期サブブロックSB1及びSB2を新たな
書戻データブロックとして記憶する。
Next, if it is determined in step S107 that it is better to collectively write back, the initial sub-blocks forming the sub-block pairs are stored as new write-back data blocks (step S108). At this time, instead of the sub-block SB1 stored as the write-back data block, the two initial sub-blocks SB1 and SB2 forming the sub-block pair SBP1 are stored as new write-back data blocks.

【0065】次に、現在サブブロックナンバーがサブブ
ロックペア数と同値かどうかについて判定し(ステップ
S109)、同値であれば、ステップS110へ進み、
以降の処理を実行する。一方、ステップS109におい
て判定した結果、同値でなければ、現在サブブロックナ
ンバーに1を加算して、加算結果を新たな現在サブブロ
ックナンバーとして再設定し(ステップS111)、ス
テップS107へ進み処理を続行する。現時点では、現
在サブブロックナンバーが1であり、サブブロックペア
数が4であるので、ステップS111に進み現在サブブ
ロックナンバーを2に再設定して、サブブロックナンバ
ーが2のサブブロックペアSBP2についてステップS
107における判断を行う。同様にして、サブブロック
ペアSBP4まで判断が終了すると、書戻データブロッ
クとして、図5(b)に黒塗りで示されるような初期サ
ブブロックが記憶されることになる。また、サブブロッ
クペアSBP4まで、判断が終わった時点では、サブブ
ロックナンバーが4であり、サブブロックペア数と一致
するため、ステップS110へ進む。
Next, it is determined whether or not the current sub-block number is equal to the number of sub-block pairs (step S109).
Execute the following processing. On the other hand, if the result of the determination in step S109 is not the same, 1 is added to the current sub-block number, the addition result is reset as a new current sub-block number (step S111), and the process proceeds to step S107 to continue the processing. I do. At this time, the current sub-block number is 1 and the number of sub-block pairs is 4. Therefore, the process proceeds to step S111, where the current sub-block number is reset to 2, and the sub-block number of the sub-block pair SBP2 of 2 is set. S
The determination at 107 is made. Similarly, when the determination is completed up to the sub-block pair SBP4, an initial sub-block as shown in black in FIG. 5B is stored as the rewrite data block. When the determination is completed up to the sub-block pair SBP4, the sub-block number is 4, which is equal to the number of sub-block pairs.

【0066】ステップS109において、現在サブブロ
ックナンバーとサブブロックペア数とが一致したら、次
に、現在データサイズとキャッシュラインサイズの半分
のデータサイズとが一致するかどうかについて判定し
(ステップS110)、一致した場合は、ステップS1
13へ進み、以降の処理を実行する。一方ステップS1
10において一致しないと判定した場合、現在データサ
イズを2倍したものを新たな現在データサイズとして再
設定し、また、サブブロックペアを新たなサブブロック
とすると共に、新たなサブブロックの内、書戻データブ
ロックを含むサブブロックを新たな書戻サブブロックと
して再設定し(ステップS112)、ステップS104
へ戻り、処理を続行する。現時点では、図5(a)に示
されるように、現在サブブロックサイズは、1バイトで
あり、一方、キャッシュラインサイズの半分のデータサ
イズは、32/2で16バイトであるため、ステップS
110における判定では一致しない。従って、ステップ
S112に進み、値を再設定する。即ち、これまでの現
在データサイズ(1バイト)を2倍し、新たな現在デー
タサイズとして2バイトを設定する。また、例えば、サ
ブブロックペアSBP1を新たなサブブロックSB1′
として設定し、同様に、サブブロックペアSBP2を新
たなサブブロックSB2′として設定する。全てのサブ
ブロックペアを新たなサブブロックとして設定すると、
新たなサブブロックの個数は、16個となる。この16
個のサブブロックの内、書戻データブロックを含むサブ
ブロックは、図5(b)において黒塗りされている4つ
であり、それらを新たな書戻サブブロックとして設定す
る。
If the current sub-block number and the number of sub-block pairs match in step S109, then it is determined whether or not the current data size and half the cache line size match (step S110). If they match, step S1
The process proceeds to step S13, and the subsequent processing is executed. Step S1
If it is determined in step 10 that they do not match, the current data size doubled is reset as a new current data size, and a sub-block pair is set as a new sub-block. The sub-block including the return data block is reset as a new write-back sub-block (step S112), and step S104 is performed.
Return to and continue the processing. At this time, as shown in FIG. 5A, the current sub-block size is 1 byte, while the data size that is half of the cache line size is 32/2 and 16 bytes.
The determination at 110 does not match. Therefore, the process proceeds to step S112, and the value is reset. That is, the current data size (1 byte) so far is doubled, and 2 bytes are set as a new current data size. Further, for example, the sub-block pair SBP1 is replaced with a new sub-block SB1 '.
Similarly, the sub-block pair SBP2 is set as a new sub-block SB2 '. When all sub-block pairs are set as new sub-blocks,
The number of new sub-blocks is 16. This 16
Among the sub-blocks, the four sub-blocks including the write-back data block are blacked out in FIG. 5B, and are set as new write-back sub-blocks.

【0067】これらの設定が終了した後、ステップS1
04に進み、隣り合う新たなサブブロックを新たなサブ
ブロックペアとして8個のサブブロックペアを決定す
る。例えば、図5(b)において、新たなサブブロック
SB1′とサブブロックSB2′とを新たなサブブロッ
クペアSBP1′とし、同様にして8個のサブブロック
(SBP2′他)を決定する(ステップS104参
照)。図5(b)においては、4つの書戻サブブロック
があるが、その内の1組の書戻サブブロックが1つのサ
ブブロックペアを構成しているため、書戻サブブロック
ペアは3つとなる。従って、それら3つのサブブロック
ペアSBP1′、SBP2′及びSBP3′に対して下
位から順番に1、2、3のサブブロックナンバーを付す
(ステップS105参照)。更に、それら全てに対して
サブブロックペアとしてまとめて書き戻した方が良いか
どうかを判定し(ステップS107及びステップS10
9参照)、まとめて書き戻した方が良い場合には、当該
サブブロックペアを構成する初期サブブロックを新たな
書戻データブロックとして記憶する。サブブロックペア
SBP1′については、書戻データブロック毎に書き戻
すよりも、まとめて書き戻した方が書戻所要時間を3t
短縮できるため(図4及びステップS1072参照)、
新たな書き戻しデータブロックとして、サブブロックペ
アSBP1′を構成している4つの初期サブブロックS
B1〜SB4を記憶する(ステップS108参照)。一
方、サブブロックペアSBP2′及びサブブロックペア
SBP3′については、夫々、まとめて書き戻すと書き
戻し所要時間が1t長くかかることになるため(図4及
びステップS1073参照)、書戻データブロックは、
現時点でのサブブロックSB3′及びサブブロックSB
4′を夫々構成している初期サブブロックのままであ
る。このようにして、図5(b)における全ての書戻サ
ブブロックペアについて判定が終了しても、現在データ
サイズは、2バイトであり、キャッシュラインサイズ
(32バイト)の半分のデータサイズ(16バイト)と
一致しないため(ステップS110参照)、ステップS
112に進む。ステップS112において新たな現在デ
ータサイズを4バイトと設定し、サブブロックペアSB
P1′及びサブブロックペアSBP2′を、夫々、新た
なサブブロックSB1″及びサブブロックSB2″とす
る。同様にして、図5(b)におけるサブブロックペア
を新たなサブブロックとすると、8個の新たなサブブロ
ックができる。その8個のサブブロックの内、書戻デー
タブロックを含むサブブロックは、図5(c)に示され
るように3つである(サブブロックSB1″、SB
2″、SB3″)。これらを設定した後、再度ステップ
S104へ戻り、新たなサブブロックペアを4つ決定
し、更に、ステップS105以降の処理を実行する。こ
のようにして図5(c)〜図5(e)に示されるよう
に、徐々に現在データサイズを大きくしながら、書戻デ
ータブロックについての判断を行う。図5(e)に示さ
れる状態では、現在データサイズが16バイトであり、
キャッシュラインサイズ(32バイト)の半分となるた
め、ステップS110における判定の結果、ステップS
113へ進むことができる。
After these settings are completed, step S1
Proceeding to step 04, eight sub-block pairs are determined using adjacent new sub-blocks as new sub-block pairs. For example, in FIG. 5B, a new sub-block SB1 'and a sub-block SB2' are used as a new sub-block pair SBP1 ', and eight sub-blocks (SBP2' and others) are similarly determined (step S104). reference). In FIG. 5B, there are four write-back sub-blocks, but since one set of the write-back sub-blocks constitutes one sub-block pair, there are three write-back sub-block pairs. . Accordingly, the three sub-block pairs SBP1 ', SBP2', and SBP3 'are assigned sub-block numbers of 1, 2, and 3 in order from the lower order (see step S105). Further, it is determined whether it is better to collectively write back all of them as a sub-block pair (steps S107 and S10).
9), if it is better to collectively write back, the initial sub-blocks forming the sub-block pair are stored as new write-back data blocks. Regarding the sub-block pair SBP1 ', the time required for rewriting is 3t when collectively rewriting data, rather than rewriting for each rewriting data block.
Can be shortened (see FIG. 4 and step S1072),
As a new write-back data block, four initial sub-blocks S forming the sub-block pair SBP1 '
B1 to SB4 are stored (see step S108). On the other hand, as for the sub-block pair SBP2 'and the sub-block pair SBP3', the rewriting time is longer by 1 t if rewriting together (see FIG. 4 and step S1073).
The current sub-block SB3 'and sub-block SB
4 'remains as the initial sub-block. In this way, even if the determination is completed for all the write-back sub-block pairs in FIG. 5B, the current data size is 2 bytes, and the data size (16 bytes) which is half the cache line size (32 bytes) Byte) (see step S110),
Proceed to 112. In step S112, the new current data size is set to 4 bytes, and the sub-block pair SB is set.
Let P1 'and the sub-block pair SBP2' be new sub-blocks SB1 "and SB2", respectively. Similarly, assuming that the sub-block pair in FIG. 5B is a new sub-block, eight new sub-blocks are created. Of the eight sub-blocks, the number of sub-blocks including the write-back data block is three as shown in FIG. 5C (sub-blocks SB1 ″, SB).
2 ", SB3"). After these settings, the process returns to step S104 again to determine four new sub-block pairs, and further executes the processing from step S105. In this way, as shown in FIGS. 5C to 5E, the judgment on the write-back data block is performed while gradually increasing the current data size. In the state shown in FIG. 5E, the current data size is 16 bytes,
Since it is half of the cache line size (32 bytes), as a result of the determination in step S110, step S110
You can proceed to 113.

【0068】この段階において、記憶されている書戻デ
ータブロックを書き戻すべき最適な初期サブブロックの
組合わせとして決定する(ステップS113)。例え
ば、図5(f)を参照すると、図5(e)までの処理よ
り、2つの書戻データブロックWBD1及びWBD2が
求められている。即ち、書き戻すべき最適な組合わせを
構成する初期サブブロックは、最下位のサブブロック#
0からサブブロック#7までの8つのサブブロックと、
最上位のサブブロック#31とその下位に位置するサブ
ブロック#30との2つのサブブロックとの合計10個
のサブブロックであり、それらの書戻所要時間は、7t
+4t=11tである。従来例1のように、ダーティビ
ットがオンであるサブブロック毎に書き戻しをしていれ
ば、書戻所要時間は、4t×4=16t必要である。ま
た、従来例2のように書戻サブブロックを含むサブブロ
ックグループ毎に書き戻す場合、サブブロックグループ
のサイズを2バイト、4バイト、8バイト、16バイト
のいずれのサイズにプログラム設定したとしても、書戻
所要時間は、本具体例の11tより長くなることにな
る。即ち、従来例1及び従来例2のいずれの場合も、書
き戻すべき最適なサブブロックの組合わせを適応的に決
定する本実施の形態と比較して、長い書戻所要時間を要
することとなる。
At this stage, the stored write-back data block is determined as an optimal combination of initial sub-blocks to be written back (step S113). For example, referring to FIG. 5F, two write-back data blocks WBD1 and WBD2 are obtained by the processing up to FIG. 5E. That is, the initial sub-block constituting the optimum combination to be rewritten is the lowest sub-block #
8 sub-blocks from 0 to sub-block # 7;
There are a total of 10 sub-blocks including a top-level sub-block # 31 and a sub-block # 30 located below the top-level sub-block # 31.
+ 4t = 11t. If rewriting is performed for each sub-block in which the dirty bit is on as in Conventional Example 1, the required rewriting time is 4t × 4 = 16t. Further, when writing back for each sub-block group including a write-back sub-block as in Conventional Example 2, even if the size of the sub-block group is set to any size of 2 bytes, 4 bytes, 8 bytes, and 16 bytes, The time required for writing back is longer than 11t in this specific example. In other words, in both cases of Conventional Example 1 and Conventional Example 2, a longer write-back time is required as compared with the present embodiment in which the optimum combination of sub-blocks to be written back is adaptively determined. .

【0069】最適な組合わせを構成するサブブロックを
判断する過程を示す他の例として図9を示す。図9は、
4つの初期サブブロック#0、#6、#16、及び#3
1に対応するダーティビットがオンになっている場合で
ある。図9(a)においても上述の図5(a)における
判断と同様にして処理を行い、図9(b)、図9
(c)、図9(d)、及び図9(e)と順番に書戻デー
タブロックを決定していく。結果として、図9(f)に
示されるように、書き戻すべき最適な組合わせを構成す
るサブブロックとして、8つの初期サブブロック#0〜
#7と、2つの初期サブブロック#16及び#17と、
2つの初期サブブロック#30及び#31との合計16
個のサブブロックを決定する。これら16個のサブブロ
ックを主記憶装置に書き戻すために要する時間は、15
tである。この場合においても、従来例1のようにダー
ティビットがオンであるサブブロック毎に書き戻してい
れば、書戻所要時間は、4t×4=16t必要である。
また、従来例2のように書戻サブブロックを含むサブブ
ロックグループ毎に書き戻すとしても、書戻所要時間
は、15tより長くなることになる。
FIG. 9 shows another example of the process of determining the sub-blocks constituting the optimum combination. FIG.
Four initial sub-blocks # 0, # 6, # 16, and # 3
This is the case where the dirty bit corresponding to 1 is on. In FIG. 9A, processing is performed in the same manner as the above-described determination in FIG.
The write-back data block is determined in the order of (c), FIG. 9 (d), and FIG. 9 (e). As a result, as shown in FIG. 9F, eight initial sub-blocks # 0 to # 0 are used as sub-blocks constituting the optimum combination to be rewritten.
# 7, two initial sub-blocks # 16 and # 17,
A total of 16 with two initial sub-blocks # 30 and # 31
Are determined. The time required to write back these 16 sub-blocks to the main memory is 15
t. Also in this case, if the rewriting is performed for each sub-block in which the dirty bit is on as in Conventional Example 1, the required rewriting time is 4t × 4 = 16t.
Further, even if the data is rewritten for each sub-block group including the rewrite sub-block as in Conventional Example 2, the required rewrite time is longer than 15t.

【0070】また、本実施の形態において示した手法に
よれば、更新すべきキャッシュラインに関して、全ての
サブブロックに対応するダーティビットがオンであった
場合、書戻所要時間は、キャッシュライン単位で書き戻
した場合と同じ時間となり、従来例1及び従来例2にお
けるような不具合は生じない。
Further, according to the method described in the present embodiment, when the dirty bits corresponding to all the sub-blocks are on for the cache line to be updated, the required write-back time is in units of cache lines. The time is the same as that in the case of rewriting, and the problem as in the conventional example 1 and the conventional example 2 does not occur.

【0071】これらのことから理解されるように、本実
施の形態においては、従来例1及び従来例2と比較して
も、書き戻しに要する時間を短縮することができる。
As can be understood from the above, in the present embodiment, the time required for rewriting can be shortened even in comparison with Conventional Example 1 and Conventional Example 2.

【0072】また、書き戻しに要する時間を短縮するこ
とができるということは、キャッシュラインサイズをよ
り大きなものとすることができることを意味する。更
に、キャッシュラインサイズをより大きいサイズとする
と、キャッシュメモリにおけるミス率が軽減されること
になり、キャッシュメモリの性能向上を図ることができ
る。即ち、本実施の形態に示される手法を適用すること
により、性能向上の図られたキャッシュメモリを実現す
ることが可能となる。
Further, the fact that the time required for write-back can be reduced means that the cache line size can be made larger. Further, when the cache line size is set to a larger size, the miss rate in the cache memory is reduced, and the performance of the cache memory can be improved. That is, by applying the method described in this embodiment, it is possible to realize a cache memory with improved performance.

【0073】尚、本実施の形態においては、CPUと主
記憶装置との間に設けられるキャッシュメモリ及びキャ
ッシュメモリシステムを例にとり説明してきたが、本発
明の概念は、本実施の形態に制限されるものではない。
In the present embodiment, the cache memory and the cache memory system provided between the CPU and the main storage device have been described as examples. However, the concept of the present invention is not limited to the present embodiment. Not something.

【0074】[0074]

【発明の効果】以上説明してきたように、本発明によれ
ば、データサイズと書戻所要時間との関係を示すテーブ
ルに基づいて、書き戻すべきサブブロックの最適な組合
わせを決定することができるため、書き戻しに要する時
間を短縮することができるキャッシュメモリシステムが
得られる。
As described above, according to the present invention, the optimum combination of sub-blocks to be rewritten can be determined based on the table showing the relationship between the data size and the required rewriting time. Therefore, a cache memory system that can reduce the time required for writing back can be obtained.

【0075】また、本発明によれば、より大きなキャッ
シュラインサイズを有することにより、性能向上の図ら
れたキャッシュメモリを実現することができる。
Further, according to the present invention, a cache memory with improved performance can be realized by having a larger cache line size.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態のキャッシュメモリの構成
を示す図である。
FIG. 1 is a diagram showing a configuration of a cache memory according to an embodiment of the present invention.

【図2】本発明の実施の形態のキャッシュメモリシステ
ムとCPU及び主記憶装置と関係を示すブロック図であ
る。
FIG. 2 is a block diagram illustrating a relationship between a cache memory system according to an embodiment of the present invention, a CPU, and a main storage device.

【図3】本発明の実施の形態におけるデータ書戻手段の
構成を示すブロック図である。
FIG. 3 is a block diagram illustrating a configuration of a data write-back unit according to the embodiment of the present invention.

【図4】本発明の実施の形態におけるデータサイズと書
戻所要時間との関係を示すテーブルとしての一例であ
る。
FIG. 4 is an example of a table showing a relationship between a data size and a required write-back time according to the embodiment of the present invention.

【図5】本発明の実施の形態において書き戻すべきサブ
ブロックの最適な組合わせを判断する過程の一例を示す
図である。
FIG. 5 is a diagram illustrating an example of a process of determining an optimum combination of sub-blocks to be rewritten in the embodiment of the present invention.

【図6】本発明の実施の形態においてサブブロックの最
適な組合わせを判断するためのフローチャートの一部を
示す図である。
FIG. 6 is a diagram showing a part of a flowchart for determining an optimum combination of sub-blocks in the embodiment of the present invention.

【図7】本発明の実施の形態においてサブブロックの最
適な組合わせを判断するためのフローチャートの内、図
6に示された残りを示す図である。
FIG. 7 is a diagram showing the rest shown in FIG. 6 of the flowchart for determining the optimal combination of sub-blocks in the embodiment of the present invention.

【図8】図6に示されるステップS107を更に詳細に
示す図である。
FIG. 8 is a diagram showing step S107 shown in FIG. 6 in further detail;

【図9】本発明の実施の形態において書き戻すべきサブ
ブロックの最適な組合わせを判断する過程の他の例を示
す図である。
FIG. 9 is a diagram illustrating another example of a process of determining an optimum combination of sub-blocks to be rewritten in the embodiment of the present invention.

【符号の説明】 10 キャッシュメモリシステム 20 キャッシュメモリ 30 データ書戻手段 40 CPU 50 主記憶装置 301 ライトバックサイズ/アドレス生成部 302 ライトバックデータ生成部 303 ライトバッファ 304 ライトバック制御部 305 リード制御部 TF タグフィールド DBM ダーティビット格納部 DM データ格納部[Description of Signs] 10 Cache memory system 20 Cache memory 30 Data write back means 40 CPU 50 Main storage device 301 Write back size / address generation unit 302 Write back data generation unit 303 Write buffer 304 Write back control unit 305 Read control unit TF Tag field DBM dirty bit storage DM data storage

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 予め定められた量のデータをそれぞれ格
納する複数のキャッシュライン、及び該複数のキャッシ
ュラインのそれぞれに対応した複数のダーティビット格
納部を有するキャッシュメモリと、当該キャッシュメモ
リからみて下位レベルの記憶領域に対して前記キャッシ
ュラインに格納されているデータを書き戻すためのデー
タ書戻手段とを備えたキャッシュメモリシステムにおい
て、 書き戻すデータサイズと書き戻しに要する時間との関係
を表すテーブルを更に備えており、 前記キャッシュメモリは、前記複数のキャッシュライン
の夫々が所定数のサブブロックに分割されていると共
に、前記各ダーティビット格納部が、夫々、対応するキ
ャッシュラインにおけるサブブロックに対応したダーテ
ィビットを格納するものであり、 前記データ書戻手段は、特定の前記キャッシュラインに
格納されているデータを書き戻す際に、前記テーブルを
参照すると共に、前記特定のキャッシュラインに対応す
る前記ダーティビット格納部に格納されているダーティ
ビットの内、オンを示すダーティビットを参照して、書
き戻すべき前記サブブロックの最適な組合わせを決定
し、当該最適な組合わせを構成する前記サブブロックに
格納されているデータを前記下位レベルの記憶領域に対
して書き戻すことを特徴とするキャッシュメモリシステ
ム。
1. A cache memory having a plurality of cache lines each storing a predetermined amount of data, a plurality of dirty bit storage units corresponding to each of the plurality of cache lines, and a lower order memory as viewed from the cache memory. In a cache memory system including data write-back means for writing back data stored in the cache line to a storage area of a level, a table representing a relationship between a data size to be written back and a time required for the write-back. The cache memory further includes a plurality of cache lines, each of the plurality of cache lines is divided into a predetermined number of sub-blocks, and each of the dirty bit storage units corresponds to a sub-block in a corresponding cache line, respectively. To store dirty bits The data write-back unit refers to the table when rewriting data stored in the specific cache line, and writes dirty data stored in the dirty bit storage unit corresponding to the specific cache line. Among the bits, the optimum combination of the sub-blocks to be rewritten is determined by referring to the dirty bit indicating ON, and the data stored in the sub-blocks constituting the optimum combination is written to the lower level. A cache memory system for rewriting data in a storage area of the cache memory.
【請求項2】 請求項1に記載のキャッシュメモリシス
テムにおいて、 前記キャッシュメモリは、前記複数のキャッシュライン
の夫々に対応するタグを格納するための複数のタグフィ
ールドを備えていることを特徴とするキャッシュメモリ
システム。
2. The cache memory system according to claim 1, wherein said cache memory has a plurality of tag fields for storing tags corresponding to each of said plurality of cache lines. Cache memory system.
【請求項3】 請求項2に記載のキャッシュメモリシス
テムにおいて、 前記データ書戻手段は、 前記特定のキャッシュラインに格納されているデータ
を、前記下位レベルの記憶領域に書き戻す際に、前記テ
ーブルを参照すると共に、該特定のキャッシュラインに
対応する前記タグフィールドに格納されている前記タグ
である特定のタグと、前記特定のキャッシュラインに対
応する前記ダーティビット格納部に格納されている前記
ダーティビットである特定のダーティビットとを参照し
て、前記最適な組合わせを構成する前記サブブロックの
データに関し、データサイズ及び前記特定のキャッシュ
ラインにおけるアドレスを生成するためのライトバック
サイズ/アドレス生成部と、 前記特定のキャッシュラインに格納されているデータを
前記下位レベルの記憶領域に書き戻す際に、前記テーブ
ルを参照すると共に、前記特定のタグ及び前記特定のダ
ーティビットを参照して、前記最適な組合わせを構成す
る前記サブブロックのデータとしてのライトバックデー
タを生成するためのライトバックデータ生成部と、 前記ライトバックサイズ/アドレス生成部の生成した前
記データサイズ及び前記特定のキャッシュラインにおけ
るアドレス、並びに前記ライトバックデータ生成部の生
成した前記ライトバックデータを一時的に格納するため
のライトバッファと、 該ライトバッファの状態を監視すると共に、前記下位レ
ベルの記憶領域に対して、前記ライトバッファに一時的
に格納される前記データサイズ、前記アドレス及び前記
ライトバックデータを書き戻す制御を行うためのライト
バック制御部とを備えていることを特徴とするキャッシ
ュメモリシステム。
3. The cache memory system according to claim 2, wherein the data write-back unit is configured to write back the data stored in the specific cache line to the lower-level storage area. And a specific tag that is the tag stored in the tag field corresponding to the specific cache line and the dirty bit stored in the dirty bit storage unit corresponding to the specific cache line. A write-back size / address generation unit for generating a data size and an address in the specific cache line with respect to the data of the sub-block constituting the optimum combination with reference to a specific dirty bit being a bit And the data stored in the specific cache line is When writing back to the lower level storage area, the table is referred to, and the specific tag and the specific dirty bit are referred to, and write-back as data of the sub-block configuring the optimal combination is performed. A write-back data generation unit for generating data; the data size and the address in the specific cache line generated by the write-back size / address generation unit; and the write-back data generated by the write-back data generation unit A write buffer for temporarily storing the data size, the address, and the data size of the data temporarily stored in the write buffer for the lower-level storage area while monitoring the state of the write buffer. Write-back for controlling write-back data write-back A cache memory system characterized by comprising a control unit.
【請求項4】 請求項3に記載のキャッシュメモリシス
テムにおいて、 前記キャッシュメモリの上位レベルから前記キャッシュ
メモリに対する要求に含まれるアドレスと同内容のアド
レスを受けて、前記下位レベルの記憶領域に対して前記
要求に対応するデータ要求を行うと共に、前記下位レベ
ルの記憶領域から当該データ要求に対応するデータを受
けて、該データを前記キャッシュメモリに対して送出す
るためのリード制御部を更に備えていることを特徴とす
るキャッシュメモリシステム。
4. The cache memory system according to claim 3, wherein an address having the same content as an address included in a request to said cache memory is received from an upper level of said cache memory and said storage area of said lower level is received. A read control unit for performing a data request corresponding to the request, receiving data corresponding to the data request from the lower-level storage area, and transmitting the data to the cache memory; A cache memory system characterized by the above-mentioned.
【請求項5】 請求項4に記載のキャッシュメモリシス
テムにおいて、 前記ライトバック制御部は、前記ライトバックデータ、
当該ライトバックデータのサイズである前記データサイ
ズ及び前記アドレスが前記ライトバッファに揃ったこと
を示すライトバッファ状態信号を前記リード制御部に対
して送出すると共に、前記リード制御部からのデータ転
送終了信号を受けて、前記ライトバッファに揃っている
前記ライトバックデータ、前記データサイズ及び前記ア
ドレスを前記下位レベルの記憶領域に対して書き戻すた
めのものであり、 前記リード制御部は、前記ライトバッファ状態信号を受
けた後に、前記下位レベルの記憶領域から受けた前記デ
ータ要求に対応するデータを前記キャッシュメモリに対
して転送すると共に、当該転送が終了したことを示すデ
ータ転送終了信号を前記ライトバック制御部に対して送
出するためのものであることを特徴とするキャッシュメ
モリシステム。
5. The cache memory system according to claim 4, wherein said write-back control unit comprises:
A write buffer status signal indicating that the data size, which is the size of the write-back data, and the address are aligned in the write buffer to the read control unit, and a data transfer end signal from the read control unit. Receiving the write-back data, the data size, and the address aligned in the write buffer in the lower-level storage area. After receiving the signal, data corresponding to the data request received from the lower level storage area is transferred to the cache memory, and a data transfer end signal indicating that the transfer has been completed is transmitted to the write-back control. A cache memory for sending to the Moly system.
【請求項6】 データ格納領域として複数のキャッシュ
ラインを有するキャッシュメモリであって、キャッシュ
ラインを複数のサブブロックに分割し、前記各サブブロ
ックに対応する複数のダーティビットを備えることとし
たキャッシュメモリにおいて、前記キャッシュラインに
格納されているデータを当該キャッシュメモリから見て
下位レベルの記憶領域に対して書き戻す必要が生じた場
合における最適な書戻データサイズを求める方法であっ
て、 データサイズと書き戻しに要する時間との関係に基づい
て、オンを示す前記ダーティビットに対応する前記サブ
ブロックと、該サブブロックに隣接するサブブロックと
をまとめて前記下位レベルの記憶領域に対して書き戻す
べきかどうかを判断し、前記複数のダーティビットの
内、オンを示すダーティビットの分布に従って、更に必
要に応じて、書き戻すべきと判断した複数の前記サブブ
ロックからなる書戻データブロックと、当該書戻データ
ブロックと同じデータサイズのデータブロックであっ
て、該書き戻しデータブロックに隣接するデータブロッ
クとをまとめて前記下位レベルの記憶領域に対して書き
戻すべきかどうかを判断することにより、最適な書戻デ
ータサイズを求める方法。
6. A cache memory having a plurality of cache lines as a data storage area, wherein the cache line is divided into a plurality of sub-blocks and includes a plurality of dirty bits corresponding to each of the sub-blocks. A method for obtaining an optimum write-back data size when it is necessary to write back data stored in the cache line to a lower-level storage area as viewed from the cache memory, Based on the relationship with the time required for write-back, the sub-block corresponding to the dirty bit indicating ON and the sub-block adjacent to the sub-block should be collectively written back to the lower level storage area. Judge whether or not the plurality of dirty bits are on A write-back data block composed of a plurality of the sub-blocks determined to be written back according to the distribution of the write-back data block, and a data block having the same data size as the write-back data block. A method of determining an optimum write-back data size by determining whether data blocks adjacent to the block should be written back to the lower-level storage area.
JP08114497A 1997-03-31 1997-03-31 Cache memory system Expired - Fee Related JP3204295B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08114497A JP3204295B2 (en) 1997-03-31 1997-03-31 Cache memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08114497A JP3204295B2 (en) 1997-03-31 1997-03-31 Cache memory system

Publications (2)

Publication Number Publication Date
JPH10275112A true JPH10275112A (en) 1998-10-13
JP3204295B2 JP3204295B2 (en) 2001-09-04

Family

ID=13738232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08114497A Expired - Fee Related JP3204295B2 (en) 1997-03-31 1997-03-31 Cache memory system

Country Status (1)

Country Link
JP (1) JP3204295B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392968B1 (en) * 1999-10-29 2003-07-31 마쯔시다덴기산교 가부시키가이샤 Receiving device
JP2010511224A (en) * 2006-11-27 2010-04-08 エルエスアイ コーポレーション System for optimizing performance and reliability of a storage controller cache offload circuit
JP2015535631A (en) * 2012-11-28 2015-12-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Memory management using dynamically allocated dirty mask space
JP2017527023A (en) * 2014-08-04 2017-09-14 エイアールエム リミテッド Write operation to non-volatile memory
US10366021B2 (en) 2015-12-30 2019-07-30 Samsung Electronics Co., Ltd. Memory system including DRAM cache and cache management method thereof
US10621103B2 (en) 2017-12-05 2020-04-14 Arm Limited Apparatus and method for handling write operations

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252420B (en) * 2013-06-29 2017-08-29 华为技术有限公司 Method for writing data and memory system
KR20220030440A (en) 2020-08-31 2022-03-11 삼성전자주식회사 Electronic device, system-on-chip, and operating method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392968B1 (en) * 1999-10-29 2003-07-31 마쯔시다덴기산교 가부시키가이샤 Receiving device
JP2010511224A (en) * 2006-11-27 2010-04-08 エルエスアイ コーポレーション System for optimizing performance and reliability of a storage controller cache offload circuit
JP2015535631A (en) * 2012-11-28 2015-12-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Memory management using dynamically allocated dirty mask space
JP2017527023A (en) * 2014-08-04 2017-09-14 エイアールエム リミテッド Write operation to non-volatile memory
US11429532B2 (en) 2014-08-04 2022-08-30 Arm Limited Write operations to non-volatile memory
US10366021B2 (en) 2015-12-30 2019-07-30 Samsung Electronics Co., Ltd. Memory system including DRAM cache and cache management method thereof
US11023396B2 (en) 2015-12-30 2021-06-01 Samsung Electronics Co., Ltd. Memory system including DRAM cache and cache management method thereof
US10621103B2 (en) 2017-12-05 2020-04-14 Arm Limited Apparatus and method for handling write operations

Also Published As

Publication number Publication date
JP3204295B2 (en) 2001-09-04

Similar Documents

Publication Publication Date Title
US10126964B2 (en) Hardware based map acceleration using forward and reverse cache tables
KR102510384B1 (en) Apparatus, system and method for caching compressed data background
CN103988183B (en) The dynamic part power-off of the memory side cache in 2 grades of hierarchy of memory
US7861055B2 (en) Method and system for on-chip configurable data ram for fast memory and pseudo associative caches
TWI443514B (en) Apparatus,system and method for replacing cache lines in a cache memory
CN103946811B (en) Apparatus and method for realizing the multi-level store hierarchy with different operation modes
CN109983536B (en) Memory circuit responsive to tag match commands
CN103999161B (en) Equipment and method for phase transition storage drift management
JP2019057193A (en) Memory system
JP6613375B2 (en) Profiling cache replacement
CN109074307A (en) With the memory device for directly reading access
US20170242794A1 (en) Associative and atomic write-back caching system and method for storage subsystem
US20060224830A1 (en) Performance of a cache by detecting cache lines that have been reused
CN105095116A (en) Cache replacing method, cache controller and processor
US10402338B2 (en) Method and apparatus for erase block granularity eviction in host based caching
KR20190123090A (en) Memory controller and memory system having the same
US10936203B2 (en) Memory storage device and system employing nonvolatile read/write buffers
WO2020174428A2 (en) Cache management of logical-physical translation metadata
JP2007199905A (en) Method for controlling semiconductor storage device
JP2018041204A (en) Memory device and information processing system
CN113254358A (en) Method and system for address table cache management
JP2021043678A (en) Memory system and method
CN110874186A (en) Flash memory controller and related access method and electronic device
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
WO2024045585A1 (en) Method for dynamically sharing storage space in parallel processor, and corresponding processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010530

LAPS Cancellation because of no payment of annual fees