JP3306901B2 - Cache memory - Google Patents
Cache memoryInfo
- Publication number
- JP3306901B2 JP3306901B2 JP11711092A JP11711092A JP3306901B2 JP 3306901 B2 JP3306901 B2 JP 3306901B2 JP 11711092 A JP11711092 A JP 11711092A JP 11711092 A JP11711092 A JP 11711092A JP 3306901 B2 JP3306901 B2 JP 3306901B2
- Authority
- JP
- Japan
- Prior art keywords
- dirty bit
- cache memory
- cache
- phase clock
- memory cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、マイクロプロセッサに
おいてメモリアクセスを高速に行うためのキャッシュメ
モリに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory for performing high-speed memory access in a microprocessor.
【0002】[0002]
【従来の技術】図4は従来のライトバック方式のキャッ
シュメモリのダーティビットに関する回路図を示す。こ
こでは簡単のためにダイレクトマップのキャッシュメモ
リとする。クロックは2相クロックとする。ダーティビ
ットはキャッシュへの書き込み動作によりデータが更新
されたことを示す情報を保持するものであり、これによ
り外部メモリへのデータの書き込みが起こらずバスのト
ラッフィクが低減できる効果がある。100はビット線
をプリチャージするためのPチャネルトランジスタによ
るプリチャージ回路、101はプリチャージを制御する
2相クロックのph2を反転したクロックxph2である。従
って、ph2がHIGHの時にxph2はLOWとなりPチャネルトラ
ンジスタをオンすることになる。104はキャッシュメ
モリの第0のキャッシュラインに対応するワード線WL0
およびビット線Bとその反転であるビット線XBに接続さ
れるデータの更新を示す情報、つまりダーティビットを
保持するための記憶回路である。ここでは簡単のために
最初と最後の2ラインに相当する記憶回路104、10
9のみ示している。102、103はそれぞれビット線
Bおよびその反転であるビット線XBに接続されるNチャネ
ルトランジスタ、105はNチャネルトランジスタ10
2、103を介してアクセスされるメモリセルである。
106はビット線B, XBに対しデータを読み出しまたは
書き込みするためのドライバである。107はダーティ
ビットに関する書き込みデータ、108はダーティビッ
トに関する読み出しデータである。2. Description of the Related Art FIG. 4 is a circuit diagram showing a dirty bit of a conventional write-back type cache memory. Here, for the sake of simplicity, a direct map cache memory is used. The clock is a two-phase clock. The dirty bit holds information indicating that data has been updated by a write operation to the cache, and thus has the effect of preventing data from being written to an external memory and reducing bus traffic. Reference numeral 100 denotes a precharge circuit using a P-channel transistor for precharging a bit line, and 101 denotes a clock xph2 obtained by inverting ph2 of a two-phase clock for controlling precharge. Therefore, when ph2 is HIGH, xph2 becomes LOW, turning on the P-channel transistor. 104 is a word line WL0 corresponding to the 0th cache line of the cache memory.
And a storage circuit for storing information indicating the update of data connected to the bit line B and its inverted bit line XB, that is, dirty bits. Here, for simplicity, the storage circuits 104, 10 corresponding to the first and last two lines
Only 9 is shown. 102 and 103 are bit lines, respectively
N and N-channel transistor 105 connected to bit line XB,
The memory cells are accessed via the memory cells 2 and 103.
Reference numeral 106 denotes a driver for reading data from or writing data to the bit lines B and XB. Reference numeral 107 denotes write data related to dirty bits, and reference numeral 108 denotes read data related to dirty bits.
【0003】以上のように構成されたキャッシュメモリ
について、以下その動作について説明する。クロック1
01のxph2がLOW、つまりph2がHIGHの時にビット線B, X
BがHIGHにプリチャージされる。ph2がHIGHの時にキャッ
シュに与えられた行アドレスをデコードしておき、ph2
がLOWの時に複数のワード線の中から1本だけが有効と
なり1つのキャッシュラインのダーティビットエントリ
が選択される。ここではWL0が選択されたとする。ダー
ティビットの情報を読みだす場合はメモリセル105に
保持されたダーティビットの情報をNチャネルトランジ
スタ102、103を介してビット線B, XBに読みだ
し、読み出し用ドライバ106で検出および増幅して読
み出しデータ108として外部に取り出す。このダーテ
ィビットの情報により、キャッシュミス時にダーティビ
ットが1であればデータが更新されているためにそのキ
ャッシュラインを外部メモリに書き戻さなければならな
い。The operation of the cache memory configured as described above will be described below. Clock 1
Bit lines B and X when xph2 of 01 is LOW, that is, ph2 is HIGH
B is precharged to HIGH. When ph2 is HIGH, decode the row address given to the cache and ph2
Is low, only one of the plurality of word lines is valid, and a dirty bit entry of one cache line is selected. Here, it is assumed that WL0 is selected. When the dirty bit information is read out, the dirty bit information held in the memory cell 105 is read out to the bit lines B and XB via the N-channel transistors 102 and 103, and the read out driver 106 detects and amplifies and reads out the dirty bit information. It is taken out as data 108 to the outside. According to the dirty bit information, if the dirty bit is 1 at the time of a cache miss, the data has been updated and the cache line must be written back to the external memory.
【0004】ダーティビットに情報を書き込む場合は書
き込みデータ107を書き込み用ドライバ106で増幅
しビット線B, XBに与え、Nチャネルトランジスタ10
2、103を介してメモリセル105に書き込む。この
ダーティビットに情報を書き込む場合は、キャッシュが
書き込みヒットした時に1をセットする場合、およびキ
ャッシュミスしたときである。キャッシュミスには読み
出しミスと書き込みミスがあるが、ダーティビットには
それぞれ0、1を書き込み、読み出し動作ではデータが
クリーンとなり書き込み動作ではデータが更新されたこ
とを示す。When writing information to a dirty bit, the write data 107 is amplified by a write driver 106 and applied to the bit lines B and XB.
The data is written to the memory cell 105 via the steps 2 and 103. Information is written to the dirty bit when the cache is set to 1 when a write hit occurs and when a cache miss occurs. There are a read miss and a write miss in the cache miss, but 0 and 1 are respectively written in the dirty bits, indicating that the data is clean in the read operation and that the data has been updated in the write operation.
【0005】図5はキャッシュメモリにおけるストア命
令のパイプライン動作の説明図である。キャッシュメモ
リにデータを書き込むストア命令が2つ連続しキャッシ
ュヒットする場合について説明する。ここではストアA
およびストアBとし書き込みヒットの動作を示す。ph1,
ph2は2相クロックを示す。TAG(R)はタグの読みだし、D
(R)はダーティビットの読みだし、Data(W)はストアデー
タの書き込み、D(W)はダーティビットの書き込みを示
す。ステージ(1)ではストアAに関するタグとダーテ
ィビットを読みだす。このタグとキャッシュに与えられ
たアドレスを比較して書き込みヒット信号を得る。ステ
ージ(2)ではキャッシュのデータ部にストアデータを
書き込む前にビット線をプリチャージする。ステージ
(3)では書き込みヒット信号から作られた書き込みイ
ネーブル信号により、ストアデータの書き込みとダーテ
ィビットの書き込みを行なう。ステージ(4)では次の
ストア命令であるストアBに関するタグとダーティビッ
トを読みだす前にビット線をプリチャージする。それに
続くストアBの動作はストアAのステージ(1)、
(2)、(3)、(4)の場合と同様である。FIG. 5 is an explanatory diagram of a pipeline operation of a store instruction in a cache memory. A case in which two store instructions for writing data to the cache memory successively cause a cache hit will be described. Here store A
The operation of a write hit is indicated as store B. ph1,
ph2 indicates a two-phase clock. TAG (R) reads the tag, D
(R) indicates reading of a dirty bit, Data (W) indicates writing of store data, and D (W) indicates writing of a dirty bit. In stage (1), tags and dirty bits related to store A are read. The tag is compared with the address given to the cache to obtain a write hit signal. In stage (2), the bit line is precharged before writing the store data to the data portion of the cache. In the stage (3), writing of store data and writing of a dirty bit are performed by a write enable signal generated from a write hit signal. In the stage (4), the bit line is precharged before reading the tag and dirty bit relating to the next store instruction, that is, store B. The subsequent operation of store B is the stage (1) of store A,
This is the same as the cases (2), (3) and (4).
【0006】[0006]
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、ダーティビットの読みだしとダーティビ
ットの書き込みが同時には出来ないため、連続するスト
ア命令をパイプライン動作させる場合、1サイクルの停
止サイクルが入り2クロック周期でしかストア動作を行
なうことが出来ないため処理効率が低下するという問題
点を有していた。However, in the above configuration, the dirty bit cannot be read and the dirty bit cannot be written at the same time. Therefore, when a continuous store instruction is pipelined, one stop cycle is required. However, since the store operation can be performed only in two clock cycles, the processing efficiency is reduced.
【0007】本発明は上記問題点に鑑み、連続するスト
ア命令をパイプライン動作させる場合、停止サイクルを
入れずに1クロック周期でストア動作を行なうことがで
きるキャッシュメモリを提供するものである。The present invention has been made in view of the above problems, and provides a cache memory capable of performing a store operation in one clock cycle without a stop cycle when a continuous store instruction is operated in a pipeline.
【0008】[0008]
【課題を解決するための手段】上記課題を解決するため
に本発明のキャッシュメモリは、1つのエントリーに少
なくともタグアドレスと、第1のダーティビットと、第
2のダーティビットと、選択されたエントリーに対して
前記第2のダーティビットをセットする手段と、書き込
みサイクルで書き込み動作がヒットした場合に次のサイ
クルで前記第2のダーティビットの情報を前記第1のダ
ーティビットに転送する手段とを有することを特徴とす
る。In order to solve the above problem, a cache memory according to the present invention comprises at least a tag address, a first dirty bit, a second dirty bit, and a selected entry in one entry. Means for setting the second dirty bit, and means for transferring the information of the second dirty bit to the first dirty bit in the next cycle when a write operation hits in a write cycle. It is characterized by having.
【0009】[0009]
【作用】本発明は前記した構成によって、ダーティビッ
トの読みだしとダーティビットの書き込みを異なるステ
ージで行なうことにより、連続するストア命令をパイプ
ライン動作させる場合に停止サイクルを入れずに、1ク
ロック周期でストア動作を行なうことができキャッシュ
メモリの性能を向上させることになる。According to the present invention, by performing the reading of the dirty bit and the writing of the dirty bit at different stages by the above-described configuration, when a continuous store instruction is pipeline-operated, a stop cycle is not inserted and one clock cycle is performed. Thus, the store operation can be performed, thereby improving the performance of the cache memory.
【0010】[0010]
【実施例】図1は本発明の実施例におけるライトバック
方式のキャッシュメモリのダーティビットに関する回路
図を示す。ここでは簡単のためにダイレクトマップのキ
ャッシュメモリとする。クロックは2相クロックとす
る。図1に於て、10はビット線をプリチャージするた
めのPチャネルトランジスタによるプリチャージ回路、
27はプリチャージを制御する2相クロックの第2相ク
ロックph2を反転したクロックでありxph2と略記する。
従って、ph2がHIGHの時にxph2はLOWとなりPチャネルト
ランジスタをオンすることになる。11はキャッシュメ
モリの第0のキャッシュラインに対応するワード線WL0
およびビット線Bとその反転であるビット線XBに接続さ
れるデータの更新を示す情報、つまりダーティビットを
保持するための記憶回路である。30はタグアドレスを
格納するためのタグメモリセル、ここでは簡単のために
最初と最後の2ラインに対応する記憶回路11、20お
よびタグメモリセル30、31を示している。14、1
5はそれぞれビット線Bおよびその反転であるビット線X
Bに接続されるNチャネルトランジスタ、16はNチャネ
ルトランジスタ14、15を介してアクセスされる第1
のメモリセルである。26は2相クロックの第1相クロ
ックph1、12は記憶回路11内の第2のメモリセル、
29は第2のメモリセル12を構成するインバータ、1
3はワード線WL0から第2のメモリセルに信号を伝える
ため、クロックph1で制御されるNチャネルトランジスタ
である。25は2相クロックのph2、24はストア命令
でキャッシュがヒットしたことを示す書き込みヒット信
号である。21は信号24と25を入力とするアンドゲ
ートであり書き込みヒット信号によりイネーブル信号を
作る。18は第2のメモリセル12の出力とアンドゲー
ト21の出力を入力とするナンドゲートである。17、
28はそれぞれ第1のメモリセルを構成するナンドゲー
ト、インバータである。19はビット線B, XBに対しデ
ータを読み出しまたは書き込みするためのドライバであ
る。22はダーティビットに関する書き込みデータ、2
3はダーティビットに関する読み出しデータである。FIG. 1 is a circuit diagram showing a dirty bit of a write-back type cache memory according to an embodiment of the present invention. Here, for the sake of simplicity, a direct map cache memory is used. The clock is a two-phase clock. In FIG. 1, reference numeral 10 denotes a precharge circuit using a P-channel transistor for precharging a bit line;
Reference numeral 27 denotes a clock obtained by inverting the second phase clock ph2 of the two-phase clock for controlling precharge, and is abbreviated as xph2.
Therefore, when ph2 is HIGH, xph2 becomes LOW, turning on the P-channel transistor. 11 is a word line WL0 corresponding to the 0th cache line of the cache memory.
And a storage circuit for storing information indicating the update of data connected to the bit line B and its inverted bit line XB, that is, dirty bits. Numeral 30 denotes a tag memory cell for storing a tag address. Here, for simplicity, there are shown storage circuits 11 and 20 and tag memory cells 30 and 31 corresponding to the first and last two lines. 14, 1
5 is a bit line B and its inverted bit line X, respectively.
An N-channel transistor, 16 connected to B, is a first transistor accessed through N-channel transistors 14,15.
Memory cell. 26 is a first phase clock ph1 of a two-phase clock, 12 is a second memory cell in the storage circuit 11,
29 denotes an inverter constituting the second memory cell 12, 1
Reference numeral 3 denotes an N-channel transistor controlled by a clock ph1 for transmitting a signal from the word line WL0 to the second memory cell. Reference numeral 25 denotes a two-phase clock ph2, and reference numeral 24 denotes a write hit signal indicating that a cache hit has occurred by a store instruction. An AND gate 21 receives the signals 24 and 25 as inputs, and generates an enable signal by a write hit signal. Reference numeral 18 denotes a NAND gate which receives the output of the second memory cell 12 and the output of the AND gate 21 as inputs. 17,
Reference numeral 28 denotes a NAND gate and an inverter which constitute the first memory cell, respectively. Reference numeral 19 denotes a driver for reading data from or writing data to the bit lines B and XB. 22 is write data related to a dirty bit, 2
Reference numeral 3 denotes read data relating to a dirty bit.
【0011】以上のように構成されたキャッシュメモリ
について、以下その動作について説明する。クロック2
7のxph2がLOW、つまりph2がHIGHの時にビット線B, XB
がHIGHにプリチャージされる。ph2がHIGHの時にキャッ
シュに与えられた行アドレスをデコードしておき、ph2
がLOWの時に複数のワード線の中から1本だけが有効と
なり1つのキャッシュラインのダーティビットエントリ
が選択される。ここではWL0が選択されたとする。ダー
ティビッからの情報を読みだす場合は、第1のメモリセ
ル16に保持されたダーティビットの情報をNチャネル
トランジスタ14、15を介してビット線B, XBに読み
だし、読み出し用ドライバ19で検出および増幅して読
み出しデータ23として外部に取り出す。このダーティ
ビットの情報により、キャッシュミス時にダーティビッ
トが1であればデータが更新されているためにそのキャ
ッシュラインを外部メモリに書き戻す必要がある。The operation of the cache memory configured as described above will be described below. Clock 2
Bits B and XB when xph2 of 7 is LOW, that is, ph2 is HIGH
Is precharged to HIGH. When ph2 is HIGH, decode the row address given to the cache and ph2
Is low, only one of the plurality of word lines is valid, and a dirty bit entry of one cache line is selected. Here, it is assumed that WL0 is selected. When reading information from the dirty bit, the information of the dirty bit held in the first memory cell 16 is read out to the bit lines B and XB via the N-channel transistors 14 and 15, and is detected and read by the read driver 19. It is amplified and taken out as read data 23. According to the dirty bit information, if the dirty bit is 1 at the time of a cache miss, since the data has been updated, the cache line needs to be written back to the external memory.
【0012】一方、ダーティビットに情報を書き込む方
法には2種類ある。第1の方法は、キャッシュへのスト
ア動作に対してキャッシュミスしたとき、外部メモリか
ら転送されたデータをキャッシュラインにリプレースす
る際にストアデータの更新と同時にダーティビットに情
報を書き込む場合である。この動作は従来の方法と同様
であり、書き込みデータ22を書き込み用ドライバ19
で増幅しビット線B, XBに与え、Nチャネルトランジスタ
14、15を介して第1のメモリセル16に書き込む。On the other hand, there are two types of methods for writing information to dirty bits. The first method is a case where, when a cache miss occurs in a store operation to a cache, when data transferred from an external memory is replaced with a cache line, information is written to a dirty bit at the same time as updating the store data. This operation is the same as that of the conventional method.
, And is applied to the bit lines B and XB, and is written to the first memory cell 16 via the N-channel transistors 14 and 15.
【0013】第2の方法は、キャッシュへのストア動作
に対してキャッシュヒットしたときにダーティビットを
セットするものである。クロック26のph1がHIGHの時
に、選択されたワード線WL0のHIGHの信号をNチャネル
トランジスタ13を介して送り、第2のメモリセル12
でHIGHを保持する。キャッシュの書き込みヒット信号2
4のHIGHとクロックph2 25のHIGHをアンドゲート21
に入力しHIGHを生成する。第2のメモリセル12に保持
されたHIGHとアンドゲート21の出力HIGHをナンドゲー
ト18に入力しLOWを得る。このナンドゲート18の出
力LOWはナンドゲート17に入力され、その出力をHIGH
にセットしインバータ28を介してこの情報を保持する
ことになる。従って、第1のメモリセル16のダーティ
ビットの情報はデータの更新を示す1にセットされたこ
とになる。The second method is to set a dirty bit when a cache hit occurs for a store operation to the cache. When ph1 of the clock 26 is HIGH, a HIGH signal of the selected word line WL0 is sent through the N-channel transistor 13 and the second memory cell 12
To hold HIGH. Cache write hit signal 2
4 high and clock ph2 25 high AND gate 21
To generate HIGH. The HIGH held in the second memory cell 12 and the output HIGH of the AND gate 21 are input to the NAND gate 18 to obtain LOW. The output LOW of the NAND gate 18 is input to the NAND gate 17, and its output is set to HIGH.
To hold this information via the inverter 28. Therefore, the dirty bit information of the first memory cell 16 is set to 1 indicating data update.
【0014】図2はキャッシュメモリにおけるストア命
令のパイプライン動作の説明図である。キャッシュメモ
リにデータを書き込むストア命令が2つ連続してキャッ
シュヒットする場合について説明する。ここではストア
AおよびストアBとし書き込みヒットの動作を示す。ph1,
ph2は2相クロックを示す。TAG(R)はタグの読みだし、
D(R)はダーティビットの読みだし、Data(W)はストアデ
ータの書き込み、D(W)はダーティビットの書き込みを示
す。ステージ(1)ではストアAに関するタグとダーテ
ィビットを読みだす。このタグとキャッシュに与えられ
たアドレスを比較して書き込みヒット信号を得る。ステ
ージ(2)ではキャッシュのデータ部にストアデータを
書き込む前にビット線をプリチャージすると同時にダー
ティビットの書き込みを行なう。ステージ(3)では書
き込みヒット信号から作られた書き込みイネーブル信号
によりストアデータの書き込みおよび次のアクセスであ
るストアBに関するタグとダーティビットの読みだしを
行う。ステージ(4)ではキャッシュのデータ部にスト
アデータを書き込む前にビット線をプリチャージすると
同時にダーティビットの書き込みを行なう。それに続く
ストアBの動作はストアAのステージ(3)、(4)の場
合と同様である。以上のように連続するストアAとスト
アBのキャッシュへの書き込み動作はクロックサイクル
毎に処理される。FIG. 2 is an explanatory diagram of a pipeline operation of a store instruction in a cache memory. A case where two store instructions for writing data to the cache memory successively cause a cache hit will be described. Here is the store
The write hit operation is shown as A and store B. ph1,
ph2 indicates a two-phase clock. TAG (R) reads tags,
D (R) indicates reading of a dirty bit, Data (W) indicates writing of store data, and D (W) indicates writing of a dirty bit. In stage (1), tags and dirty bits related to store A are read. The tag is compared with the address given to the cache to obtain a write hit signal. In stage (2), the bit line is precharged and the dirty bit is written at the same time before the store data is written to the data portion of the cache. In the stage (3), the store data is written and the tag and dirty bit relating to the store B, which is the next access, are read by the write enable signal generated from the write hit signal. In stage (4), the bit line is precharged and the dirty bit is written at the same time before the store data is written to the data portion of the cache. The subsequent operation of the store B is the same as in the case of the stages (3) and (4) of the store A. As described above, successive write operations to the caches of the store A and the store B are processed every clock cycle.
【0015】図3は、キャッシュメモリが書き込みヒッ
トした時にダーティビットをセットする過程をタイミン
グ図で示したものである。ph1, ph2は2相クロック、A,
Bは連続する時系列のストア命令に関するアクセスであ
り、前記ストアAおよびストアBに対応する。ワード線は
前記ワード線WL0についての動作をここでは示す。先
ず、アクセスAに対する動作について述べる。アドレス
がph2のタイミングで入力されこのアドレスの下位のイ
ンデックスアドレスによりキャッシュの各エントリーを
選択するためにデコードされる。次にph2がLOWの期間で
ワード線WL0が有効となりHIGHを伝える。ここでNチャ
ネルトランジスタ13を介して第2のメモリセル12に
HIGHをラッチする。前記アドレスAの上位アドレスとキ
ャッシュから読みだされたタグAを比較し、書き込みヒ
ット信号24を得る。クロックph2によりアンドゲート
21の出力が書き込みイネーブルを生成する。第2のメ
モリセル12の出力とアンドゲート21の出力によりナ
ンドゲート18の出力はLOWになり、ナンドゲート17
の出力はHIGHを保持することになる。したがって、ナン
ドゲート17の出力はダーティビットの情報を保持する
第1のメモリセル16をダーティの状態にセットしたこ
とになる。FIG. 3 is a timing chart showing a process of setting a dirty bit when a write hit occurs in the cache memory. ph1, ph2 are two-phase clocks, A,
B is an access related to successive time-series store instructions, and corresponds to the store A and the store B. The operation of the word line WL0 is shown here for the word line. First, the operation for access A will be described. The address is input at the timing of ph2, and is decoded to select each entry of the cache by the lower index address of this address. Next, during the period when ph2 is LOW, the word line WL0 becomes valid and transmits HIGH. Here, the second memory cell 12 is connected via the N-channel transistor 13.
Latch HIGH. The upper address of the address A is compared with the tag A read from the cache, and a write hit signal 24 is obtained. The output of the AND gate 21 generates the write enable by the clock ph2. The output of the NAND gate 18 becomes LOW due to the output of the second memory cell 12 and the output of the AND gate 21, and the NAND gate 17
Will hold HIGH. Therefore, the output of the NAND gate 17 sets the first memory cell 16 holding the information of the dirty bit to the dirty state.
【0016】次に、アクセスBではワード線WL0以外のワ
ード線が選択されたとする。したがってワード線WL0はL
OWとなり、第2のメモリセル12にはLOWがラッチさ
れ、第1のメモリセル16の状態は変化しない。一方、
アドレスBでデコードされた他のワード線例えばWLnに対
応するダーティビットを保持するための記憶回路20の
ダーティビットを1にセットすることになる。このよう
に連続するストア動作において、各キャッシュラインに
対応するワード線を介してダーティビットのセットをク
ロックサイクル毎に行う。Next, it is assumed that a word line other than word line WL0 is selected in access B. Therefore, word line WL0 is L
It becomes OW, LOW is latched in the second memory cell 12, and the state of the first memory cell 16 does not change. on the other hand,
The dirty bit of the storage circuit 20 for holding the dirty bit corresponding to another word line decoded at the address B, for example, WLn, is set to 1. In such a continuous store operation, a dirty bit is set for each clock cycle via a word line corresponding to each cache line.
【0017】ここでは簡単のためにダイレクトマップの
キャッシュメモリとしたが、書き込みヒット信号を各ウ
エイ毎に独立して設けることによりセットアソシアティ
ブキャッシュにおいても同様に実現できる。Although a direct-mapped cache memory is used here for simplicity, a write-assist signal can be provided independently for each way to realize a set-associative cache similarly.
【0018】以上のように本実施例によれば、ワード線
の情報を保持した第2のメモリセル12の出力と書き込
みヒット信号24により第1のメモリセル16のダーテ
ィビットの記憶状態を変更し、ダーティビットの書き込
みをサイクル毎に行い、連続するストア命令を1クロッ
ク周期でパイプライン動作させることができる。また、
タグアドレスとダーティビットを同時に読みだしている
ため、キャッシュがミスした場合にダーティビットがセ
ットされたキャッシュラインを外部メモリに書き戻すタ
イミングに遅れを生じない。As described above, according to this embodiment, the storage state of the dirty bit of the first memory cell 16 is changed by the output of the second memory cell 12 holding the information of the word line and the write hit signal 24. , Dirty bits are written for each cycle, and successive store instructions can be pipelined in one clock cycle. Also,
Since the tag address and the dirty bit are read at the same time, there is no delay in writing back the cache line with the dirty bit set to the external memory when the cache misses.
【0019】[0019]
【発明の効果】以上のように本発明は、1つのエントリ
ーに少なくともタグアドレスと、第1のダーティビット
と、第2のダーティビットと、選択されたエントリーに
対して前記第2のダーティビットをセットする手段と、
書き込みサイクルで書き込み動作がヒットした場合に次
のサイクルで前記第2のダーティビットの情報を前記第
1のダーティビットに転送する手段とを備え、前記第1
のダーティビットの情報をクロックサイクル毎にセット
することにより、連続するストア命令をパイプライン化
することが可能となる。またタグアドレスとダーティビ
ットを同時に読み出すことにより、キャッシュがミスし
た場合にダーティビットがセットされたキャッシュライ
ンを外部メモリに書き戻すタイミングに遅れを生じない
ため、並列度の高いスーパースケーラ型マイクロプロセ
ッサの性能を大きく向上することができる。As described above, according to the present invention, at least a tag address, a first dirty bit, a second dirty bit, and the second dirty bit for a selected entry are stored in one entry. Means for setting,
Means for transferring information of the second dirty bit to the first dirty bit in a next cycle when a write operation hits in a write cycle,
By setting the dirty bit information in each clock cycle, successive store instructions can be pipelined. Also, by reading the tag address and the dirty bit at the same time, if a cache miss occurs, there is no delay in writing back the cache line with the dirty bit set to the external memory. Performance can be greatly improved.
【図1】本発明の実施例におけるキャッシュメモリの回
路図FIG. 1 is a circuit diagram of a cache memory according to an embodiment of the present invention.
【図2】同実施例における動作説明のためのパイプライ
ン動作図FIG. 2 is a pipeline operation diagram for explaining the operation in the embodiment.
【図3】同実施例における動作説明のためのタイミング
図FIG. 3 is a timing chart for explaining the operation in the embodiment.
【図4】従来のキャッシュメモリのダーティビットの回
路図FIG. 4 is a circuit diagram of a dirty bit of a conventional cache memory.
【図5】従来のキャッシュメモリの動作説明のためのパ
イプライン動作図FIG. 5 is a pipeline operation diagram for explaining the operation of a conventional cache memory.
10 プリチャージ回路 11、20 記憶回路 16 第1のメモリセル 12 第2のメモリセル 13、14、15 Nチャネルトランジスタ 17、18 ナンドゲート 19 読み出しおよび書き込み用ドライバ 21 アンドゲート 22 書き込みデータ 23 読み出しデータ 24 書き込みヒット信号 25、26、27 クロック 28、29 インバータ 30、31 タグメモリセル Reference Signs List 10 precharge circuit 11, 20 storage circuit 16 first memory cell 12 second memory cell 13, 14, 15 N-channel transistor 17, 18 NAND gate 19 read / write driver 21 AND gate 22 write data 23 read data 24 write Hit signal 25, 26, 27 Clock 28, 29 Inverter 30, 31 Tag memory cell
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−75850(JP,A) 特開 平3−62243(JP,A) 特開 平5−109286(JP,A) 特開 平2−259866(JP,A) 特開 平1−243297(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G11C 11/401,15/04 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-3-75850 (JP, A) JP-A-3-62243 (JP, A) JP-A-5-109286 (JP, A) JP-A-2- 259866 (JP, A) JP-A-1-243297 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 12/08 G11C 11/401, 15/04
Claims (5)
スと、第1のダーティビットと、第2のダーティビット
と、選択されたエントリーに対して第1相クロックに同
期するタイミングで、前記第1のダーティビットを選択
するワード線上の信号を前記第2のダーティビットにセ
ットするセット手段と、書き込みサイクルで書き込み動
作がヒットしたことを示すヒット信号が有効な期間でか
つ前記第1相クロックの逆相クロックである第2相クロ
ックに同期するタイミングで、前記第2のダーティビッ
トの情報を前記第1のダーティビットに転送する転送手
段とを有することを特徴とするキャッシュメモリ。At least a tag address, a first dirty bit, a second dirty bit, and a first phase clock for a selected entry are assigned to one entry.
The first dirty bit at the expected timing
To the second dirty bit.
The setting means to set and the time during which the hit signal indicating that the write operation hit in the write cycle is valid
A second phase clock which is a reverse phase clock of the first phase clock.
Transfer means for transferring the information of the second dirty bit to the first dirty bit at a timing synchronized with the first dirty bit.
Cache memory; and a stage.
て、前記第1のダーティビットは、第1のインバータの
出力と前記転送手段の出力を第1のナンドゲートの入力
とし前記第1のナンドゲートの出力を前記第1のインバ
ータの入力とする第1のメモリセルからなることを特徴
とするキャッシュメモリ。2. The cache memory according to claim 1, wherein said first dirty bit receives an output of said first inverter and an output of said transfer means as an input of a first NAND gate, and outputs an output of said first NAND gate. A cache memory comprising a first memory cell as an input of the first inverter.
て、前記第2のダーティビットは、第2のインバータを
2個用いて閉ループに接続した第2のメモリセルから成
り、前記セット手段の出力を前記第2のメモリセルの入
力としたことを特徴とするキャッシュメモリ。3. The cache memory according to claim 1, wherein said second dirty bit comprises a second memory cell connected in a closed loop using two second inverters, and outputs the output of said setting means to said second dirty bit. A cache memory as an input of a second memory cell.
て、前記転送手段は、前記第2のメモリセルに格納され
た信号と書き込み動作がヒットしたことを示すヒット信
号が有効な期間でかつ前記第1相クロックの逆相クロッ
クである第2相クロックに同期するタイミングで発生す
る信号を入力とする第2のナンドゲートからなることを
特徴とするキャッシュメモリ。4. The cache memory according to claim 1, wherein said transfer means is stored in said second memory cell.
Hit signal indicating that the write operation has hit
Signal is in a valid period and the reverse phase clock of the first phase clock
Occurs at a timing synchronized with the second phase clock
Cache memory, comprising the second NAND gate which receives that signal.
て、前記セット手段はNチャネルトランジスタのゲート
に前記第1相クロック、ソースにワード線、ドレインに
前記第2のメモリセルの入力を接続したことを特徴とす
るキャッシュメモリ。5. The cache memory according to claim 1, wherein said setting means connects said first phase clock to a gate of an N-channel transistor, a word line to a source, and an input of said second memory cell to a drain. Characteristic cache memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11711092A JP3306901B2 (en) | 1992-05-11 | 1992-05-11 | Cache memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11711092A JP3306901B2 (en) | 1992-05-11 | 1992-05-11 | Cache memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05314007A JPH05314007A (en) | 1993-11-26 |
| JP3306901B2 true JP3306901B2 (en) | 2002-07-24 |
Family
ID=14703665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11711092A Expired - Fee Related JP3306901B2 (en) | 1992-05-11 | 1992-05-11 | Cache memory |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3306901B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7350699B2 (en) * | 2020-09-11 | 2023-09-26 | 株式会社東芝 | write-back cache device |
-
1992
- 1992-05-11 JP JP11711092A patent/JP3306901B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH05314007A (en) | 1993-11-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4090165B2 (en) | Semiconductor memory device | |
| KR940005684B1 (en) | Cash-embedded semiconductor device and its operation method | |
| EP3570286B1 (en) | Apparatus for simultaneous read and precharge of a memory | |
| US6091667A (en) | Semiconductor memory device and a data reading method and a data writing method therefor | |
| US5973989A (en) | Method and apparatus for transmitting and receiving data at both the rising edge and the falling edge of a clock signal | |
| JP5072145B2 (en) | Associative memory | |
| JP3306901B2 (en) | Cache memory | |
| US6438658B1 (en) | Fast invalidation scheme for caches | |
| JP3352947B2 (en) | High performance multiport support LRU memory | |
| JPH0362243A (en) | Device that speeds up memory access in information processing systems | |
| US6230237B1 (en) | Content addressable memory with an internally-timed write operation | |
| US7047363B2 (en) | Cache memory and control method thereof | |
| US6735101B2 (en) | Semiconductor memory | |
| JP2848314B2 (en) | Semiconductor storage device | |
| US6288923B1 (en) | Semiconductor memory mounted with cache memory | |
| JP2001067878A (en) | Semiconductor storage | |
| JP2630277B2 (en) | Semiconductor storage device | |
| JP4408833B2 (en) | Semiconductor memory device | |
| JP3152345B2 (en) | Cache memory | |
| US6778444B1 (en) | Buffer for a split cache line access | |
| JP3855002B2 (en) | Counter, synchronized memory device and semiconductor memory | |
| JP3144814B2 (en) | Cache memory control method and cache tag memory control method | |
| JPH0772879B2 (en) | Cache memory device | |
| JPH03288246A (en) | Instruction cache memory | |
| JPH0926913A (en) | Cache memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |