JP3152345B2 - キャッシュメモリ - Google Patents

キャッシュメモリ

Info

Publication number
JP3152345B2
JP3152345B2 JP23721296A JP23721296A JP3152345B2 JP 3152345 B2 JP3152345 B2 JP 3152345B2 JP 23721296 A JP23721296 A JP 23721296A JP 23721296 A JP23721296 A JP 23721296A JP 3152345 B2 JP3152345 B2 JP 3152345B2
Authority
JP
Japan
Prior art keywords
memory
cache
data
stage
dirty bit
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
Application number
JP23721296A
Other languages
English (en)
Other versions
JPH1063575A (ja
Inventor
敏親 境
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 JP23721296A priority Critical patent/JP3152345B2/ja
Publication of JPH1063575A publication Critical patent/JPH1063575A/ja
Application granted granted Critical
Publication of JP3152345B2 publication Critical patent/JP3152345B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
に関し、特に連続するストア命令を1クロックサイクル
でパイプライン化することを可能とするキャッシュメモ
リを提供することにある。
【0002】
【従来技術】従来、この種のライトバック方式のキャッ
シュメモリは、命令をクロックサイクル周期でパイプラ
イン処理することを目的として用いられている。以下、
従来のライトバック方式のキャッシュメモリについて図
を参照して説明する。
【0003】図5は一般的なライトバック方式のキャッ
シュメモリの第1の従来例を示すブロック図である。図
5において、78はアドレスバス、79はデータバスで
ある。第1メモリ71はキャッシュデータ71aを格納
し、第2メモリ72はダーティビット72aとバリッド
ビット72bとタグ72cをそれぞれ格納する。
【0004】バリッドビット72bは、第1メモリ71
に保存されているデータが有効なデータであることを示
す情報を保存するフラグメモリである。
【0005】ダーティビット72aはキャッシュデータ
が更新されて、外部メモリと不一致になっているか否か
を示す情報を保存するフラグメモリである。ここでは、
キャッシュデータの更新が行われた場合、ダーティビッ
ト72aにアクティブハイ(HIGH)を保持するもの
とする。
【0006】キャッシュコントローラ84は、ダーティ
ビット信号82、バリッドビット信号83、タグ信号8
4の読み出し及び書き込みを第2メモリ72に対して行
い、キャッシュヒットしているかいないかを示すキャッ
シュヒット信号81を出力する。ここでは、キャッシュ
ヒットしている時、キャッシュヒット信号81をアクテ
ィブハイ(HIGH)にするものとする。
【0007】図5に示す第1従来例の動作について説明
する。まず、アドレスA0のデータを第1メモリ71か
ら読み出す場合について説明する。アドレスバス78上
のアドレスA0によって、第2メモリ72からエントリ
A0のタグ72cとバリッドビット72bとダーティビ
ット72aとが、タグ信号84、バリッドビット信号8
3、ダーティビット信号82を介してキャッシュコント
ローラ84へ読み出される。キャッシュコントローラ8
4は、タグ72cとアドレスA0との比較を行い、キャ
ッシュヒット信号81を生成する。
【0008】キャッシュミスしている場合、キャッシュ
リプレース処理を行う。キャッシュヒットしている場
合、ダーティビット72aがHIGHであるならば、キ
ャッンュデータ71aは更新されているので、外部メモ
リヘキャッシュデータを書き戻し、キャッシュリプレー
スを行う。キャッシュヒットしており、かつダーティビ
ット72aがHIGHでない場合には、第1メモリ71
からキャッシュデータを読み出す。
【0009】次に、キャッシュメモリにデータを書き込
むストア命令が2つ連続してキャッシュヒットする場合
の動作について説明する。
【0010】ここでは、連続するストア命令をストア命
令Aとストア命令Bとする。図6は、図5に示したキャ
ッシュメモリにおいて連続するストア命令のパイプライ
ン動作を示す図である。ここで、TAG(R)はタグ7
2cの読み出し、D(R)はダーティビット72aの読
み出し、HITはキャッシュヒット信号81の生成、D
ata(W)はキャッシュデータ71aの書き込み、D
(w)はダーティビット72aへの書き込みを示す。
【0011】ステージ(1)では、ストア命令Aに関す
るタグ72cとダーティビット72aを読み出す。ステ
ージ(2)では、ステージ(1)で読み出したタグ72
cとアドレスを比較しキャッシュヒット信号81の生成
を行う。
【0012】ステージ(3)では、ストアデータを第1
メモリ71へ書き込み、ダーティビット72aにHIG
Hを書き込む。ここで、タグ72cとダーティビット7
2aは同一の第2メモリ72に格納されているのでスト
ア命令Aに関するダーティビット72aへの書き込み中
はストア命令Bに関するタグ72cの読み出しができな
い。そのため、ステージ(5)までストア命令Bに関す
るタグ72cの読み出しを待たなければならない。この
結果、2つの連続するストア命令の実行に3クロック必
要となる。
【0013】上記のような問題を解決する第2従来例の
キャッシュメモリが特開平5−314007号公報に開
示される。この第2従来例では、1ラインにダーティビ
ットセルを2つずつ有することにより、連続するストア
命令をクロックサイクル周期でパイプライン処理する技
術を開示している。
【0014】図7に上記第2従来例のライトバック方式
のキャッシュメモリのダーティビットに関する回路図を
示す。このキャッシュメモリはダイレクトマップ方式の
キャッシュメモリであり、クロックは2相クロックとす
る。
【0015】図において、90はビット線をプリチャー
ジするプリチャージ回路、105は2相クロックの第2
相クロック(ph2)、106は2相クロックの第1相
クロック(ph1)であり、107は第2相クロック
(ph2)105を反転したクロック(xph2)、1
04はキャッシュヒット信号、102はダーティビット
に対する書き込みデータである。また、91はキャッシ
ュメモリの第0のキャッシュラインに対応するワード線
WL0及びビット線Bとその反転ビットXBに接続され
るデータの更新を示すダーティビットを保持する記憶回
路、110,111はタグメモリセル、96は記憶回路
91の第1のメモりセル、92は記憶回路91の第2の
メモリセルである。
【0016】図7のように構成された第2実施例のキャ
ッシュメモリについてその動作を説明する。クロック
(xph2)107がLOWの時にビット線B、XBが
HIGHにプリチャージされる。第2相クロック(ph
2)105がHIGHの時にキャッシュに与えられた行
アドレスをデコードしておき、第2相クロック(ph
2)105がLOWの時に複数のワード線の中から1本
だけが有効となり、1つのキャッシュラインのダーティ
ビットエントリが選択される。
【0017】ここでは、ワード線WL0が選択されたと
する。ダーティビットからの情報を読み出す場合は、第
1のメモリセル96に保持されたダーティビットの情報
をビット線B、XBに読み出し外部に取り出す。一方、
ダーティビットに情報を書き込む場合は2種類ある。
【0018】第1は、キャッシュへのストア動作に対し
てキャッシュミスしたとき、外部メモリから転送された
データをキャッシュラインにリプレースする際にストア
データの更新と同時にダーティビットに情報を書き込む
場合である。この動作は、書き込みデータ102をビッ
ト線B、XBに与えることにより第1のメモリセル96
に書き込む。
【0019】第2は、キャッシュへのストア動作に対し
てキャッシュヒットしたときにダーティビットをセット
するものである。第1相クロック(phl)106がH
IGHのときに、選択されたワード線WL0のHIGH
の信号をトランジスタ93を介して送り、第2のメモリ
セル92でHIGHを保持する。キャッシュの書き込み
ヒット信号104のHIGHと第2相クロック(ph
2)105のHIGHをアンドゲート101に入力しH
IGHを生成する。第2のメモリセル92に保持された
HIGHとアンドゲート101の出力HIGHをナンド
ゲート98に入力しLOWを得る。このナンドゲート1
01の出力LOWはナンドゲート97に入力され、その
出力をHIGHにセットし、インバータ108を介して
この情報を保持することになる。従って、第1のメモリ
セル96のダーティビットの情報はデータの更新を示す
「1」にセットされる。
【0020】図8は第2従来例のキャッシュメモリにお
けるストア命令のパイプライン動作の説明図である。キ
ャッシュメモリにデータを書き込むストア命令が2つ連
続してキャッシュヒットする場合について説明する。こ
こではストア命令A及びストア命令Bとし書き込みヒッ
トの動作を示す。
【0021】TAG(R)はタグの読み出し、D(R)
はダーティビットの読み出し、DATA(W)はストア
データの書き込み、D(W)はダーティビットの書き込
みを示す。
【0022】ステージ(1)では、ストア命令Aに関す
るタグとダーティビットを読み出す。このタグとキャッ
シュに与えられたアドレスを比較して書き込みヒット信
号を得る。ステージ(2)では、キャッシュのデータ部
にストアデータを書き込む前にビット線をプリチャージ
すると同時にダーティビットの書き込みを行う。ステー
ジ(3)では、書き込みヒット信号から得られた書き込
みイネーブル信号によりストアデータ書き込み及び次の
アクセスであるストア命令Bに関するタグとダーティビ
ットの読み出しを行う。
【0023】ステージ(4)では、キャッシュのデータ
部にストアデータを書き込む前にビット線をプリチャー
ジすると同時にダーティビットの書き込みを行う。それ
に続くストア命令Bの動作はストア命令Aのステージ
(3)、(4)における動作と同様である。
【0024】
【発明が解決しようとする課題】上述した従来のキャッ
シュメモリにおいては、以下に述べるような問題点を有
している。
【0025】第1に、第1の従来技術の構成では、連続
するストア命令をパイプライン動作させる場合、1サイ
クルの停止サイクルが入り2クロック周期でしかストア
命令を行うことができないため処理効率が低下するとい
う問題点を有する。その理由は、タグの読み出しとダー
ティビットの書き込みを同時に行うことができないため
である。
【0026】第2に、第2の従来技術では、高速化すな
わちクロック周波数を高くすることが困難であるという
問題点を有する。その理由は、プリチャージ期間中に第
2のダーティビットメモリセルに保持された値を第1の
ダーティビットメモリセルへ転送するために、プリチャ
ージ期間を短縮することが、すなわち1クロック周期を
短縮することが困難であるためである。
【0027】第3に、第2の従来技術に示すキャッシュ
メモリの構成においては、ダーティビットのメモリセル
が2個ずつ必要であるため、回路面積が大きくなるとい
う問題点も有している。
【0028】本発明の第1の目的は、上記従来の問題点
を解消し、連続するストア命令を1クロックサイクルで
パイプライン化することを可能とするキャッシュメモリ
を提供することにある。
【0029】本発明の第2の目的は、クロック周期の短
縮による高速化を容易に実現することができるキャッシ
ュメモリを提供することにある。
【0030】本発明の第3の目的は、ダーティビットの
書き込みと、タグの読み出しとが同時に行う際に書き込
みデータを退避させるためのメモリの増設を必要としな
いキャッシュメモリを提供することにある。
【0031】
【課題を解決するための手段】上記目的を達成する本発
明のキャッシュメモリは、タグデータを格納するメモリ
と、キャッシュデータが更新されているか否かを示すダ
ーティビットを格納するメモリとを個別に設け、前記タ
グデータを格納するメモリ及び前記ダーティビットを格
納するメモリにそれぞれ個別に備えられたアドレスデコ
ーダを有し、前記ダーティビットを格納するメモリへの
ダーティビットの書き込みと、前記タグデータを格納す
るメモリからのタグデータの読み出しとを同時に行なう
制御手段を備えることを特徴とする。また、前記キャッ
シュメモリに、キャッシュヒットするストア命令が連続
する場合、前記制御手段は少なくとも、プリチャージ処
理のみを行なうステージと、前記キャッシュデータの書
き込みと前記ダーティビットを格納するメモリへのダー
ティビットの書き込みとを行なうと同時に、前記タグデ
ータを格納するメモリからのタグデータの読み出しを行
なうステージとを含む1クロックサイクルのパイプライ
ン動作を行なうことを特徴とする。
【0032】請求項3の本発明のキャッシュメモリは、
キャッシュデータを格納する第1のメモリと、1エント
リにタグデータと前記キャッシュデータが有効か否かを
示すバリッドビットを格納する第2のメモリと、前記第
1のメモリのキャッシュデータが更新されているか否か
を示すダーティビットを格納する第3のメモリと、前記
第2のメモリ及び第3のメモリにそれぞれ個別に備えら
れたアドレスデコーダと、前記第3のメモリへのダーテ
ィビットの書き込みと前記第2メモリのタグの読み出し
を同時に行う制御手段を備えることを特徴とする。
【0033】請求項4の本発明のキャッシュメモリは、
前記第1のメモリにデータを書き込む第1のストア命令
と第2のストア命令がキャッシュヒットする場合に、前
記制御手段は、第1のストア命令に関する前記タグデー
タを読み出し、読み出したタグデータと書込みアドレス
を比較してキャッシュヒット信号の生成と前記ダーティ
ビットの読み出しを行う第1のステージと、プリチャー
ジ処理のみを行う第2のステージと、データの前記第1
のメモリへの書込みと前記ダーティビットの前記第3の
メモリへの書込みを行うと同時に、前記第2のストア命
令に関するタグデータの前記第2のメモリからの読み出
しを行う第3のステージと、プリチャージ処理のみを行
う第4のステージと、データの前記第1のメモリへの書
込みと前記ダーティビットの前記第3のメモリへの書込
みを行う第5のステージと、プリチャージ処理のみを行
う第6のステージからなる1クロックサイクルのパイプ
ライン動作を行うことを特徴とする。また、請求項5の
本発明のキャッシュメモリは、キャッシュデータ及びキ
ャッシュデータが更新されているか否かを示すダーティ
ビットをエントリ毎に格納する第1のメモリと、1エン
トリにタグデータと前記キャッシュデータが有効か否か
を示すバリッドビットを格納する第2のメモリと、前記
第1のメモリ及び第2のメモリにそれぞれ個別に備えら
れたアドレスデコーダと、前記第1のメモリへのダーテ
ィビットの書き込みと前記第2メモリのタグの読み出し
を同時に行う制御手段を備えることを特徴とする。
【0034】請求項6の本発明のキャッシュメモリは、
前記第1のメモリにデータを書き込む第1のストア命令
と第2のストア命令がキャッシュヒットする場合に、前
記制御手段は、第1のストア命令に関する前記タグデー
タを読み出し、読み出したタグデータと書込みアドレス
を比較してキャッシュヒット信号の生成と前記ダーティ
ビットの読み出しを行う第1のステージと、プリチャー
ジ処理のみを行う第2のステージと、前記第1のメモリ
へのデータと前記ダーティビットの書込みを行うと同時
に、前記第2のストア命令に関するタグデータの前記第
2のメモリからの読み出しを行う第3のステージと、プ
リチャージ処理のみを行う第4のステージと、前記第1
のメモリへのデータと前記ダーティビットの書込みを行
う第5のステージと、プリチャージ処理のみを行う第6
のステージからなる1クロックサイクルのパイプライン
動作を行うことを特徴とする。
【0035】
【発明の実施の形態】本発明の実施の形態について図面
を参照して詳細に説明する。図1は、本発明によるキャ
ッシュメモリの実施の形態を示すブロック図である。
【0036】図1において、本実施の形態によるキャッ
シュメモリは、第1メモリ11、第2メモリ12、第3
メモリ13、アドレスデコーダ14〜16、キャッシュ
コントローラ17を備えて構成される。ここで、18は
アドレスバス、19はデータバスである。
【0037】第1メモリ11はキャッシュデータ11a
を格納する。第2メモリ12はバリッドビット12aと
タグ12bを格納し、第3メモリ13はダーティビット
13aを格納する。ここで、第1メモリ11のキャッシ
ュデータ11aの更新が行われた場合、ダーティビット
13aにアクディブハイ(HIGH)を保持するものと
する。
【0038】第2メモリ12と第3メモリ13はそれぞ
れ個別のアドレスデコーダ15と16を有し、タグ12
bの読み出しとダーティビット13aへの書き込みを同
時に行うことができるように構成されている。
【0039】キャッシュコントローラ17は、ダーティ
ビット信号22の読み出し及び書き込みを第3のメモリ
13に対して行い、バリッドビット信号23、タグ信号
24の読み出し及び書き込みを第2メモリ12に対して
行い、キャッシュヒット信号21を出力する。ここで
は、キャッシュヒットしている時、キャッシュヒット信
号21をアクティブハイ(HIGH)にするものとす
る。
【0040】図1に示す本発明の実施の形態によるキャ
ッシュメモリの動作について説明する。キャッシュデー
タを読み出す命令リードA0が実行されるとき、第1メ
モリ11からキャッシュデータ11aが、第2メモリ1
2からタグ12bとバリッドビット12aが、第3メモ
リ13からダーティビット13aが同時に読み出され
る。
【0041】キャッシュコントローラ17は読み出され
たタグ12bとアドレスA0とを比較することにより、
キャッンュヒット信号21をHIGHにする。
【0042】キャッシュミスしている場合、ダーティビ
ット13aがHIGHならばキャッシュデータ11aの
更新が行われているため、外部メモリにキャッシュデー
タ11aを書き戻した後、キャッシュリプレースを開始
する。ダーティビット13aがLOWならば、そのまま
キャッシュリプレースを開始する。
【0043】キャッシュヒットしている場合は、第1メ
モリ11のキャッシュデータ11aを外部へ出力する。
【0044】キャッシュデータ11aを書き込む命令ス
トアA0が実行されるとき、第2メモリ12からタグ1
2bとバリッドビット12aが読み出される。キャッシ
ュコントローラ17は読み出されたタグ12bとアドレ
スA0とを比較することによりキャッンュヒット信号2
1を生成する。
【0045】キャッシュミスしている場合、第3メモリ
13からダーティビット13aを読み出し、ダーティビ
ット13aがHIGHならばキャッシュデータ11aの
更新が行われているため外部メモリにキャッシュデータ
11aを書き戻した後、キャッシュリプレースを開始す
る。ダーティビット13aがLOWならばそのままキャ
ッシュリプレースを行い、リプレースされた第1メモリ
11のエントリにストアデータを書き込み、同時に第3
メモリ13のダーティビット13aにHIGHを書き込
む。
【0046】キャッシュヒットしている場合は、リプレ
ースされた第1メモリ11のエントリにストアデータを
書き込み、同時に第3メモリ13のダーティビット13
aにHIGHを書き込む。
【0047】次に、キャッシュメモリにデータを書き込
むストア命令が2つ連続してキャッシュヒットする場合
の動作について説明する。ここで、連続する2つのスト
ア命令をストア命令Aとストア命令Bとする。
【0048】図3は本発明のキャッシュメモリにおける
ストア命令のパイプライン動作の説明図である。図3に
おいて、TAG(R)はタグ12bの読み出し、D
(R)はダーティビット13aの読み出し、Data
(W)はキャッシュデータ11aへの書き込み、D
(W)はダーティビット13aへのHIGHの書き込み
をそれぞれ示す。
【0049】ステージ(1)では、第2メモリ12から
ストア命令Aに関するタグ12bを読み出し、読み出し
たタグ12bとアドレスを比較しキャッシュヒット信号
21の生成を行う。
【0050】ステージ(2)では、ビット線のプリチャ
ージを行う。ステージ(3)では、ストアデータをキャ
ッシュデータ11aへ書き込み、ダーティビット13a
にはHIGHを書き込む。また、ダーティビット13a
の書込みと同時にストア命令Bに関するタグ12bを読
み出す。
【0051】ステージ(4)では、ビット線のプリチャ
ージを行う。ステージ(5)以降におけるストア命令B
の動作はストア命令Aのステージ(3)及び(4)と同
様である。
【0052】上記のように、ダーティビット13aとタ
グ12bとをそれぞれ異なる第2メモリ12と第3メモ
リ13に保持し、かつ個別のアドレスデコーダ15,1
6を備えてダーティビット13aの書き込みとタグ12
bの読み出しとを同時に行うことができる構成としたの
で、連続するストア命令を1クロックサイクルでパイプ
ライン化することが可能となる。
【0053】また、上記のように、プリチャージ期間に
は、他の動作を行わないため、プリチャージ期間の短縮
が容易となることから動作周波数の向上が容易となる。
【0054】本発明のキャッシュメモリの第1実施例に
ついて図2を参照して説明する。図2において、本実施
例によるキャッシュメモリは、第1メモリ31、第2メ
モリ32、第3メモリ33、アドレスデコーダ34〜3
6、キャッシュコントローラ37、読出し/書込みコン
トローラ45を備えて構成される。ここで、38はアド
レスバス、39はデータバスである。
【0055】第1メモリ31は1ラインに4ワードのキ
ャッシュデータ31aを格納している。キャッシュデー
タ31aを読み出す場合、読出し/書込みコントローラ
45は、第1メモリ31からキャッシュデータ31aを
含むラインを128ビットバス46を介して読み出し、
アドレスバス38のうちの2ビットによって、読み出さ
れたラインの4ワードの中からキャッシュデータ31a
を選び出してデータバス39に送り出す。
【0056】キャッシュデータ31aを書き込む場合、
読出し/書込みコントローラ45は、データバス39の
データを第1メモリ31のワードに書き込む。第2メモ
リ32はバリッドビット32aと20ビットのタグ32
bを格納している。第3メモリ33はダーティビット3
3aを格納している。
【0057】ここでは、キャッシュデータの更新が行わ
れた場合、ダーティビット33aにHIGHを保持する
ものとする。
【0058】第2メモリ32と第3メモリ33はそれぞ
れ個別のアドレスデコーダ35、36を有し、タグ32
bの読み出しとダーティビット33aへの書き込みを同
時に行うことができるように構成されている。
【0059】キャッシュコントローラ37は、ダーティ
ビット信号42の読み出し及び書き込みを第3メモリ3
3に対して行い、バリッドビット信号43、20ビット
のタグ信号44の読み出し及び書き込みを第2メモリ3
2に対して行い、キャッシュヒット信号41を出力す
る。キャッシュヒットしている時、キャッシュコントロ
ーラ37は、キャッシュヒット信号41をHIGHにす
る。
【0060】図2に示す第1実施例の動作について説明
する。キャッシュデータ31aの読み出しを行う命令リ
ードA0が実行されるとき、第1メモリ31からキャッ
シュデータ31aが、第2メモリ32からタグ32bと
バリッドビット32aが、第3メモリ33からダーティ
ビット33aが同時に読み出される。
【0061】キャッシュコントローラ378は、読み出
されたタグ32bとアドレスA0とを比較しキャッンュ
ヒット信号41を生成する。キャッシュミスしている場
合、ダーティビット33aがHIGHならばキャッシュ
データの更新が行われているため外部メモリにキャッシ
ュデータ31aを含むエントリを書き戻した後、キャッ
シュリプレースを開始する。ダーティビット33aがL
OWならば、そのままキャッシュリプレースを開始す
る。キャッシュヒットしている場合は、キャッシュデー
タ31aを外部へ出力する。
【0062】次に、キャッシュメモリにデータを書き込
むストア命令(ストア命令Aとストア命令B)が2つ連
続しキャッシュヒットする場合について説明する。この
場合のキャッシュメモリにおけるストア命令のパイプラ
イン動作は上述した図3と同様に行われる。すなわち、
ステージ(1)では、第2メモリ32からストア命令A
に関するタグ32bを読み出し、読み出したタグ32b
とアドレスを比較しキャッシュヒット信号41の生成を
行う。ステージ(2)では、ビット線のプリチャージを
行う。ステージ(3)では、ストアデータを第1メモリ
31のキャッシュデータ31aへ書き込み、第3メモリ
33のダーティビット33aにHIGHを書き込む。ま
た、第2メモリ32からストア命令Bに関するタグ32
bを読み出す。ステージ(4)では、ビット線のプリチ
ャージを行う。ステージ(5)以降ではストア命令Aの
ステージ(3)、(4)と同様にストア命令Bによる動
作が行われる。
【0063】本発明の第2実施例によるキャッシュメモ
リの構成について図4を参照して説明する。本実施例に
おいて、第1実施例と共通する構成要素には同じ参照符
号を付し、その説明を省略する。
【0064】この第2実施例においては、第1メモリ5
1のエントリ毎にダーティビット53aとキャッシュデ
ータ51aを格納する構成としている。これによって、
キャッシュデータ用のアドレスデコーダとダーティビッ
ト用のアドレスデコーダを1つのアドレスデコーダ54
によって共用することができる。
【0065】第1メモリ51と第2メモリ32はそれぞ
れ個別にアドレスデコーダ54,15を有する。これに
より、タグ32bの読み出しとダーティビット53aへ
の書き込みを同時に行うことができる。
【0066】この第2実施例のキャッシュデータ51a
を読み出す場合と書き込む場合の動作及びキャッシュメ
モリにデータを書き込むストア命令が2つ連続してキャ
ッシュヒットする場合の動作については、第1実施例と
同じである。
【0067】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例の内容に限定され
るものではない。
【0068】
【発明の効果】以上説明したように本発明のキャッシュ
メモリによれば、以下に示すような効果が得られる。
【0069】第1に、ダーティビットとタグとを異なる
メモリに保持し、かつ個別のアドレスデコーダを備え、
ダーティビットの書き込みとタグの読み出しとを同時に
行うことができる構成としたので、連続するストア命令
を1クロックサイクルでパイプライン化することが可能
となり、これにより処理効率の向上が実現される。すな
わち、連続するストア命令をパイプライン動作させる場
合に停止サイクルを入れずに、1クロック周期でストア
動作を行うことができ、キャッシュメモリの性能を向上
させることができる。
【0070】第2に、ビット線のプリチャージ期間にお
いてプリチャージ以外の処理を行わないことにより、プ
リチャージ回路のサイジングによってプリチャージ時間
を短くすることが容易になり、高速化すなわちクロック
周期の短縮を容易に行うことができる。
【0071】第3に、ダーティビットとタグとを異なる
メモリに保持し、個別のアドレスデコーダを有すること
によって、ダーティビットの書き込みとタグの読み出し
とを同時に行う際に書き込みデータを退避させるために
使用するメモリを増設する必要がない。
【図面の簡単な説明】
【図1】 本発明の実施の形態におけるキャッシュメモ
リの構成を示すブロック図である。
【図2】 本発明の第1実施例におけるキャッシュメモ
リの構成を示すブロック図である。
【図3】 本発明のキャッシュメモリにデータを書き込
むストア命令が2つ連続してキャッシュヒットする場合
のパイプライン動作を説明するタイミングチャートであ
る。
【図4】 本発明の第2実施例におけるキャッシュメモ
リの構成を示すブロック図である。
【図5】 第1の従来例によるキャッシュメモリの構成
を示すブロック図である。
【図6】 第1の従来例のキャッシュメモリにおけるパ
イプライン動作を説明するタイミングチャートである。
【図7】 第2の従来例によるキャッシュメモリの構成
を示すブロック図である。
【図8】 第2の従来例のキャッシュメモリにおけるパ
イプライン動作を説明するタイミングチャートである。
【符号の説明】
11,31,51 第1メモリ 11a,31a,51a キャッシュデータ 12,32 第2メモリ 12a,32a バリッドビット 12b,32b タグ 13,33 第3メモリ 13a,33a,53a ダーティビット 14,15,16 アドレスデコーダ 17,37 キャッシュコントローラ 34,35,36 アドレスデコーダ 45 読出し/書込みコントローラ 54,55 アドレスデコーダ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−260950(JP,A) 特開 平1−251145(JP,A) 特開 平5−314007(JP,A) 特開 平8−55061(JP,A) 特開 平6−266547(JP,A) 特開 平3−75850(JP,A) 特開 平4−253243(JP,A) 特開 平1−156847(JP,A) 特開 平1−156848(JP,A) 特開 平1−156849(JP,A) 特開 平1−302445(JP,A) 特開 平4−310151(JP,A) 特開 平5−189313(JP,A) 特開 平3−50651(JP,A) 特開 平3−228150(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリにおいて、 タグデータを格納するメモリと、キャッシュデータが更
    新されているか否かを示すダーティビットを格納するメ
    モリとを個別に設け、 前記タグデータを格納するメモリ及び前記ダーティビッ
    トを格納するメモリにそれぞれ個別に備えられたアドレ
    スデコーダを有し、 前記ダーティビットを格納するメモリへのダーティビッ
    トの書き込みと、前記タグデータを格納するメモリから
    のタグデータの読み出しとを同時に行なう制御手段を備
    えることを特徴とするキャッシュメモリ。
  2. 【請求項2】 前記キャッシュメモリに、キャッシュヒ
    ットするストア命令が連続する場合、 前記制御手段は少なくとも、 プリチャージ処理のみを行なうステージと、 前記キャッシュデータの書き込みと前記ダーティビット
    を格納するメモリへのダーティビットの書き込みとを行
    なうと同時に、前記タグデータを格納するメモリからの
    タグデータの読み出しを行なうステージと を含む1クロ
    ックサイクルのパイプライン動作を行なうことを特徴と
    する請求項1に記載のキャッシュメモリ。
  3. 【請求項3】 キャッシュデータを格納する第1のメモ
    リと、 1エントリにタグデータと前記キャッシュデータが有効
    か否かを示すバリッドビットを格納する第2のメモリ
    と、 前記第1のメモリのキャッシュデータが更新されている
    か否かを示すダーティビットを格納する第3のメモリ
    と、 前記第2のメモリ及び第3のメモリにそれぞれ個別に備
    えられたアドレスデコーダと、 前記第3のメモリへのダーティビットの書き込みと前記
    第2メモリのタグの読み出しを同時に行う制御手段を備
    えることを特徴とするキャッシュメモリ。
  4. 【請求項4】 前記第1のメモリにデータを書き込む第
    1のストア命令と第2のストア命令がキャッシュヒット
    する場合に、 前記制御手段は、 第1のストア命令に関する前記タグデータを読み出し、
    読み出したタグデータと書込みアドレスを比較してキャ
    ッシュヒット信号の生成と前記ダーティビットの読み出
    しを行う第1のステージと、 プリチャージ処理のみを行う第2のステージと、 データの前記第1のメモリへの書込みと前記ダーティビ
    ットの前記第3のメモリへの書込みを行うと同時に、前
    記第2のストア命令に関するタグデータの前記第2のメ
    モリからの読み出しを行う第3のステージと、 プリチャージ処理のみを行う第4のステージと、 データの前記第1のメモリへの書込みと前記ダーティビ
    ットの前記第3のメモリへの書込みを行う第5のステー
    ジと、 プリチャージ処理のみを行う第6のステージからなる1
    クロックサイクルのパイプライン動作を行うことを特徴
    とする請求項3に記載のキャッシュメモリ。
  5. 【請求項5】 キャッシュデータ及びキャッシュデータ
    が更新されているか否かを示すダーティビットをエント
    リ毎に格納する第1のメモリと、 1エントリにタグデータと前記キャッシュデータが有効
    か否かを示すバリッドビットを格納する第2のメモリ
    と、 前記第1のメモリ及び第2のメモリにそれぞれ個別に備
    えられたアドレスデコーダと、 前記第1のメモリへのダーティビットの書き込みと前記
    第2メモリのタグの読み出しを同時に行う制御手段を備
    えることを特徴とするキャッシュメモリ。
  6. 【請求項6】 前記第1のメモリにデータを書き込む第
    1のストア命令と第2のストア命令がキャッシュヒット
    する場合に、 前記制御手段は、 第1のストア命令に関する前記タグデータを読み出し、
    読み出したタグデータと書込みアドレスを比較してキャ
    ッシュヒット信号の生成と前記ダーティビットの読み出
    しを行う第1のステージと、 プリチャージ処理のみを行う第2のステージと、 前記第1のメモリへのデータと前記ダーティビットの書
    込みを行うと同時に、 前記第2のストア命令に関するタ
    グデータの前記第2のメモリからの読み出しを行う第3
    のステージと、 プリチャージ処理のみを行う第4のステージと、 前記第1のメモリへのデータと前記ダーティビットの書
    込みを行う第5のステージと、 プリチャージ処理のみを行う第6のステージからなる1
    クロックサイクルのパイプライン動作を行うことを特徴
    とする請求項5に記載のキャッシュメモリ。
JP23721296A 1996-08-19 1996-08-19 キャッシュメモリ Expired - Fee Related JP3152345B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23721296A JP3152345B2 (ja) 1996-08-19 1996-08-19 キャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23721296A JP3152345B2 (ja) 1996-08-19 1996-08-19 キャッシュメモリ

Publications (2)

Publication Number Publication Date
JPH1063575A JPH1063575A (ja) 1998-03-06
JP3152345B2 true JP3152345B2 (ja) 2001-04-03

Family

ID=17012052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23721296A Expired - Fee Related JP3152345B2 (ja) 1996-08-19 1996-08-19 キャッシュメモリ

Country Status (1)

Country Link
JP (1) JP3152345B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107983A (ja) 2006-10-24 2008-05-08 Nec Electronics Corp キャッシュメモリ

Also Published As

Publication number Publication date
JPH1063575A (ja) 1998-03-06

Similar Documents

Publication Publication Date Title
US6282603B1 (en) Memory with pipelined accessed and priority precharge
JP2968486B2 (ja) メモリ、メモリサブシステム、メモリ装置およびメモリシステムアドレス方法
JPH07182870A (ja) シンクロナスランダムアクセスメモリ
JPH03286495A (ja) 半導体記憶装置
US6091667A (en) Semiconductor memory device and a data reading method and a data writing method therefor
US5802586A (en) Cache memory having a read-modify-write operation and simultaneous burst read and write operations and a method therefor
JP3152345B2 (ja) キャッシュメモリ
JPH07248963A (ja) Dram制御装置
JPH0362243A (ja) 情報処理システムにおいてメモリアクセスを速くする装置
JP2003508869A (ja) 高速行サイクルのためのメモリのパイプライン構造
JP3688736B2 (ja) データメモリ
US5572479A (en) Semiconductor integrated circuit having a synchronous type memory
JP2000187983A (ja) メモリ装置
JP2000285671A (ja) 半導体メモリ
JPS6235142B2 (ja)
JP3180877B2 (ja) メモリインターフェ−ス回路
JP3306901B2 (ja) キャッシュメモリ
JPH06103760A (ja) ダイナミックメモリ
JP3559631B2 (ja) 半導体メモリ及びデータ処理装置
JPH0334190A (ja) 半導体記憶装置
JP2822913B2 (ja) 半導体記憶装置
JPH01255933A (ja) 掃出し制御方式
JP2581484B2 (ja) データ処理システム
JPH1116339A (ja) メモリコマンド制御回路
JPH0810443B2 (ja) メモリ制御回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080126

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090126

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100126

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees