JPH07168760A - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JPH07168760A
JPH07168760A JP5312943A JP31294393A JPH07168760A JP H07168760 A JPH07168760 A JP H07168760A JP 5312943 A JP5312943 A JP 5312943A JP 31294393 A JP31294393 A JP 31294393A JP H07168760 A JPH07168760 A JP H07168760A
Authority
JP
Japan
Prior art keywords
address
memory
data
read
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP5312943A
Other languages
English (en)
Inventor
Takumi Nonaka
巧 野中
Kiyoshi Sudo
清 須藤
Tatsuya Yamaguchi
達也 山口
Yasutomo Sakurai
康智 桜井
Koichi Odawara
孝一 小田原
Kenji Hoshi
健二 星
Eiji Kanetani
英治 金谷
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5312943A priority Critical patent/JPH07168760A/ja
Publication of JPH07168760A publication Critical patent/JPH07168760A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明は、キャッシュ制御装置に関し、ライ
トアクセス時にTAGメモリから読み出した内容にエラ
ーがあったときに、キャッシュメモリおよびメインメモ
リへの書込みを行い、リードアクセス時にエラー発生し
たときにリカバリし、リカバリを最小限かつ簡単な処理
で行い、システム処理速度を低下させないようにするこ
とを目的とする。 【構成】 複数のウェイからなるキャッシュメモリ4
と、複数のウェイのTAGメモリ3と、ライトアクセス
時の下位アドレスをもとにTAGメモリ3から読み出し
た上位アドレスにエラー発生してもヒットしたときにキ
ャッシュメモリ4およびメインメモリ5に書き込み、リ
ードアクセス時にTAGメモリ3から読み出した上位ア
ドレスにエラー発生したときにヒットしても無効とし、
メインメモリ5から読み出してリード元に転送する共に
キャッシュメモリ4およびTAGメモリ13に書き込む
キャッシュ制御部2とを備えるように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュを制御する
キャッシュ制御装置に関するものである。
【0002】
【従来の技術】TAGメモリおよびキャッシュメモリを
持つキャッシュ制御装置の基本的な構成を図4に示す。
【0003】メインメモリ45のメモリアドレスを、キ
ャッシュメモリ44の大きさに応じて図示のように上
位、下位に分ける(ここで、キャッシュメモリ44に保
存するデータの最小単位までの最下位アドレスを当該下
位に含めない)。ここで、下位を下位アドレス(TAG
アドレス)、上位を上位アドレス(TAGデータ)と呼
ぶ。単一ウェイのキャッシュメモリ44を持つキャッシ
ュ制御装置が図4である。キャッシュメモリ44には、
下位アドレスの1つに対してある1つのアドレス(上位
アドレス)に対応するデータを格納する。このとき、上
位アドレス(=TAGデータ)をTAGメモリ43に格
納して、上位アドレス+下位アドレスで、キャッシュメ
モリ44中にあるデータが、メインメモリ45のいずれ
のアドレスに対応するかが判る。
【0004】複数ウェイの場合には、同じ下位アドレス
に対して、上位アドレスとキャッシュメモリ44とが複
数ある。これにより、下位アドレスが同じになるウェイ
の上位アドレスのデータを複数保持することができる。
【0005】従来、上位アドレスにエラーが生じた場合
には、 キャッシュ全体を使わなくする。 OSに通知してエラーリカバリー処理を行なう。
【0006】 キャッシュメモリのその部分を切り離
す。 などの種々の処理を行っている。
【0007】
【発明が解決しようとする課題】しかし、従来ので
は、キャッシュの効果が以降無くなるために大幅な性能
低下をきたすという問題があった。
【0008】従来のでは、OSを介するために処理に
時間がかかってしまうという問題があった。従来ので
は、切り離したメモリ破壊が再現度の非常に低い間欠障
害(例えばRAMのソフトエラーなど)の場合でも、そ
の部分が以降使われなくなってしまうという点で効率的
ではないという問題があった。
【0009】これらの問題を避けるために、 エラー
が生じた場合には、そのアドレス情報およびデータを無
効化し、必要に応じて内容をメインメモリから読み出し
て補充(再書込み)するという処理が考えられるが、通
常のTAGメモリへの書込みという動作を行わないライ
トアクセス時に無効化の処理をすると制御が複雑になっ
てしまう上に、その該当するエラーのデータは、他のプ
ロセッサライトやミスヒット補充による入替えより、通
常の動作ではTAGメモリおよびキャッシュメモリ上か
ら消える可能性もあり、無駄な動作を行なうという問題
が発生することとなる。
【0010】本発明は、これらの問題を解決するため、
ライトアクセス時に、TAGメモリから読み出した上位
アドレス(あるいは下位アドレス)の内容にエラーがあ
ったときに、通常と同じようにキャッシュメモリへのデ
ータ書込みおよびメインメモリへの書込みを行ってお
き、リードアクセス時にエラー発生したときにリカバリ
を行い、ライトアクセス時に上位アドレス(あるいは下
位アドレス)に一時的なエラー発生してもリカバリを最
小限かつ簡単な処理で行い、システム処理速度を可及的
に低下させないようにすることを目的としている。
【0011】
【課題を解決するための手段】図1は、本発明の原理ブ
ロック図を示す。図1において、TAGメモリ3は、複
数ウェイのキャッシュメモリ4に格納したデータの上位
アドレス(あるいは下位アドレス)を格納するものであ
る。
【0012】キャッシュメモリ4は、データを格納する
複数のウェイからなるものである。キャッシュ制御部2
は、ライトアクセス時のメモリアドレスのうちの下位ア
ドレス(あるいは上位アドレス)をもとにTAGメモリ
3から読み出した上位アドレス(あるいは下位アドレ
ス)にエラーが発生しても、当該アドレスとメモリアド
レスの上位アドレス(あるいは下位アドレス)とが一致
してヒットしたときに、下位アドレス(あるいは上位ア
ドレス)のキャッシュメモリ4の位置にデータを書き込
むおよびメインメモリ5にデータを書き込んだり、リー
ドアクセス時にTAGメモリ3から読み出した上位アド
レス(あるいは下位アドレス)にエラー発生し、リード
アドレスの上位アドレス(あるいは下位アドレス)と一
致してヒットしても当該エントリを無効とし、メインメ
モリ5からデータを読み出してリード元に転送する共に
キャッシュメモリ4およびTAGメモリ3に書き込んだ
りなどするものである。
【0013】
【作用】本発明は、図1に示すように、ライトアクセス
時に、キャッシュ制御部2がライトアドレスのうちの下
位アドレス(あるいは上位アドレス)をもとにTAGメ
モリ3から読み出した上位アドレス(あるいは下位アド
レス)にエラー発生しても、当該アドレスとメモリアド
レスの上位アドレス(あるいは下位アドレス)とが一致
してヒットしたときに、下位アドレス(あるいは上位ア
ドレス)のキャッシュメモリ4の位置にデータを書き込
むおよびメインメモリ5にデータを書き込んでおき、リ
ードアクセス時にTAGメモリ3から読み出した上位ア
ドレス(あるいは下位アドレス)にエラー発生し、リー
ドアドレスの上位アドレス(あるいは下位アドレス)と
一致してヒットしても当該エントリを無効およびメイン
メモリ5からデータを読み出してリード元に転送する共
にキャッシュメモリ4およびTAGメモリ3に書き込ん
だりするものである。
【0014】この際、ヒットが複数のウェイで発生した
場合、上位アドレス(下位アドレス)のエラーがないウ
ェイのキャッシュメモリ4の位置にデータを書き込むお
よびメインメモリ5にデータを書き込むようにしてい
る。
【0015】従って、ライトアクセス時に、TAGメモ
リ3から読み出した上位アドレスの内容にエラーがあっ
たときに、通常と同じようにキャッシュメモリ4へのデ
ータ書込みおよびメインメモリ5への書込みを行ってお
き、リードアクセス時にエラー発生したときにリカバリ
を行うことにより、ライトアクセス時に上位アドレスに
一時的なエラー発生してもリカバリを最小限かつ簡単な
処理で行い、システム処理速度を可及的に低下させない
ようにすることが可能となる。
【0016】
【実施例】まず、図1の構成を詳細に説明する。図1に
おいて、処理装置1は、プログラムに従って各種処理を
行なうものであって、ここでは、キャッシュ制御部2な
どから構成されるものである。
【0017】キャッシュ制御部2は、複数ウェイのキャ
ッシュ制御するものであって、TAGメモリ3をもとに
アクセス要求のあったメモリアドレスがヒット/ミスヒ
ットのいずれかを判別し、ヒットと判明したときにキャ
ッシュメモリ4をアクセスするものである(図3を用い
て後述する)。
【0018】比較手段21は、ヒット/ミスヒットの判
別をするために、ライト/リードしようとするメモリア
ドレスを上位アドレスおよび下位アドレスに分け、下位
アドレスを入力としてTAGメモリ3から読み出した上
位アドレス(TAGデータ)と、ライト/リードしよう
とする上位アドレスとを比較し、一致してヒットか否か
を判別するものである。
【0019】TAGメモリ3は、複数ウェイから構成さ
れ、キャッシュメモリ4にデータを格納したメモリアド
レス(ここでは上位アドレス)を格納するものである。
ここでは、上段に示したように、メモリアドレスを、上
位の上位アドレス(TAGデータともいう)および下位
アドレス(TAGアドレスともいう)に分ける。ここ
で、最下位の数ビットは下位アドレスに含めない。
【0020】キャッシュメモリ4は、複数ウェイから構
成され、データを格納する高速アクセス可能なメモリで
ある。メインメモリ5は、主記憶装置であって、プログ
ラムや各種データなどを格納する主メモリである。
【0021】図2は、本発明のTAGメモリ例を示す。
これは、図1のTAGメモリ3の1エントリの内容であ
る。ここでは、 ・上位アドレス(TAGデータ) ・有効ビット ・パリティビット/ECC ・その他 から構成されている。ここで、上位アドレスは図1の上
段に示すように、キャッッシュメモリ5にライトあるい
はリードしようとするメモリアドレスの上位側のアドレ
スであり、下位側の下位アドレスをアドレス入力として
当該上位アドレスを読みだされるようにしたものであ
る。この上位アドレスは、キャッシュメモリ4にデータ
を書き込んだときに、そのメモリアドレスの下位アドレ
スをアドレス入力とし、そのときの上位アドレスを書き
込んで登録する。また、有効ビットは、当該エントリが
有効か、無効かを表すものである。パリティビット/E
CCは、当該エントリのエラー検出するビットである。
【0022】次に、図3のフローチャートに示す順序に
従い、図1および図2の構成のもとでのライト時の動作
を詳細に説明する。図3において、S1は、HIT(ヒ
ット)しているか判別する。これは、図1の処理装置1
がメモリアドレスにデータをライトしようとして、この
メモリアドレスをキャッシュ制御部2に通知し、このキ
ャッシュ制御部2がこのメモリアドレスの下位アドレス
をTAGメモリにアドレス入力してそのときに読み出し
た上位アドレス(TAGデータ)と、メモリアドレスの
上位アドレスとが一致してヒットしているか判別する。
YESの場合には、S2に進む。NOの場合には、ミス
ヒットであったので、S4でメインメモリ5へのデータ
の書込みを行なう、即ちミスヒット時にはメインメモり
5のみにデータの書込みを行なう。
【0023】S2は、複数ウェイでHIT(ヒット)し
たか判別する。YESの場合には、S3に進む。NOの
場合には、1つのウェイのみでヒットしたと判明したの
で、S5でHITしたウェイのキャッシュメモリ4にデ
ータを書込み、S4でメインメモリにもデータを書込み
を行なう。即ち1つのウェイのみでヒットし、TAGメ
モリ3から下位アドレスを入力して読み出した上位アド
レスのパリティビットが正常あるいはエラーのいずれの
ときでもデータをヒットしたキャッシュメモリ4に書き
込むと共にメインメモリ5にも書き込んでおく。これに
より、TAGメモリ3から読み出した上位アドレスにた
またまパリティビットのエラーが発生してもそのままデ
ータを上書きしておく。
【0024】S3は、S2のYESで複数のウェイでヒ
ットしたと判明したので、更に、HITし、かつエラー
の無いウェイのキャッシュメモリに書き込み、S4でメ
インメモリ5にもデータを書き込む。これにより、TA
Gメモリ3から読み出した上位アドレスと、メモリアド
レスの上位アドレスとが複数ウェイで一致してヒットし
た場合、TAGメモリ3から読み出した上位アドレスの
パリティエラーが無い方のウェイのキャッシュメモリ4
にデータを上書きすると共に、メインメモリ5にもデー
タを書き込み、間欠的なエラー発生時に上書きという簡
単な処理でリカバリを行なう方向にしておく。
【0025】以上のライト時の例をまとめると、 ミスヒットの場合には、データをメインメモリ5に
書き込む(S1のNO、S4)。
【0026】 1つのウェイのみでヒットした場合、
TAGメモリ3から読み出した上位アドレスにパリティ
エラーが有り、無しのいずれのときもデータをキャッシ
ュメモリ4に書き込むと共にメインメモリ5に書き込む
(S1のYES、S2のNO、S4)。これにより、間
欠的なエラーが発生しても、ライト時には常にデータを
書き込んでリカバリする方向にしておく。そして、リー
ド時に同一のメモリアドレスのときにTAGメモリ4か
ら読み出した上位アドレスのパリティエラーが発生しな
い場合は、間欠的なエラーがなくなったのでそのままキ
ャッシュメモリ4からデータを読み出し、一方、パリテ
ィエラーが発生した場合には、エラーが発生したままで
あるので、メインメモリ5からデータを読み出すと共
に、データをキャッシュメモリ4に書き込むおよびその
上位アドレスをTAGメモリ3にも書き込んでおく。こ
れにより、間欠的なエラーの場合には、修復されること
となる。
【0027】 複数のウェイでヒットした場合、TA
Gメモリ3から読み出した上位アドレスにパリティエラ
ーが無いウェイのキャッシュメモリ4に書き込むと共に
メインメモリ5に書き込む(S1のYES、S2のYE
S、S4)。これにより、間欠的なパリティエラーが発
生して複数のウェイでヒットしても、パリティエラーの
無いキャッシュメモリ4にデータを書き込んでリカバリ
する方向にしておく。そして、リード時に同一のメモリ
アドレスのときにTAGメモリ4から読み出した上位ア
ドレスのパリティエラーが発生してないウェイのキャッ
シュメモリ4からデータを読み出す。これにより、間欠
的なエラーが発生して複数のウェイでヒットしてもその
うちのエラーの無いキャッシュメモリ4およびメインメ
モリ5にデータを書き込んで、リカバリする方向にして
おくことが可能となる。そして、リード時に複数のウェ
イでヒットしてもエラーの無いウェイのキャッシュメモ
リ4からデータを読み出す。
【0028】
【発明の効果】以上説明したように、本発明によれば、
ライトアクセス時に、TAGメモリ3から読み出した上
位アドレスの内容にエラーがあったときにも、通常と同
じようにキャッシュメモリ4へのデータ書込みおよびメ
インメモリ5への書込みを行っておき、リードアクセス
時にエラー発生したときにリカバリを行う構成を採用し
ているため、ライトアクセス時にヒット/ミスヒットの
判定用のアドレスにエラー発生しても簡単かつ最小限の
リカバリ処理を行い、システム処理速度を可及的に低下
させないようにすることができる。これらにより、 (1) ライト時に、TAGメモリ3から読み出したア
ドレス(データ)にエラーがあったときに、通常のライ
ト時と同一の簡単な制御を追加するのみで、リカバリ処
理を行なうことができ、特に間欠的にしか発生しないエ
ラーに対して自動的にリカバリすることができる。
【0029】(2) 複数のウェイでヒットした場合、
エラーの無いウェイにライトすることにより、エラーの
無いウェイのデータに対して何時でもライト/リード時
に使用できる状態にし、システム処理速度の向上を図る
ことができる。
【0030】(3) 以上のことからヒット/ミスヒッ
ト判定用のアドレス(データ)に一時的なエラーが発生
しても、最小限の制御追加で済むと共に、システムの処
理速度を落とさずに処理を続行することができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明のTAGメモリ例である。
【図3】本発明の動作説明フローチャート(ライト時)
である。
【図4】従来技術の説明図である。
【符号の説明】
1:処理装置 2:キャッシュ制御部 21:比較手段 3:TAGメモリ 4:キャッシュメモリ 5:メインメモリ
フロントページの続き (72)発明者 桜井 康智 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 小田原 孝一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 星 健二 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 金谷 英治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】データを格納する複数のウェイからなるキ
    ャッシュメモリ(4)と、 複数のウェイのキャッシュメモリ(4)に格納したデー
    タの上位アドレス(あるいは下位アドレス)を格納する
    TAGメモリ(3)と、 ライトアクセス時のメモリアドレスのうちの下位アドレ
    ス(あるいは上位アドレス)をもとに上記TAGメモリ
    (3)から読み出した上位アドレス(あるいは下位アド
    レス)にエラー発生しても、当該アドレスとメモリアド
    レスの上位アドレス(あるいは下位アドレス)とが一致
    してヒットしたときに、下位アドレス(あるいは上位ア
    ドレス)のキャッシュメモリ(4)の位置にデータを書
    き込むおよびメインメモリ(5)にデータを書き込んで
    おき、リードアクセス時に上記TAGメモリ(3)から
    読み出した上位アドレス(あるいは下位アドレス)にエ
    ラー発生し、メモリアドレスの上位アドレス(あるいは
    下位アドレス)と一致してヒットしても当該エントリを
    無効とし、メインメモリ(5)からデータを読み出して
    リード元に転送する共にキャッシュメモリ(4)および
    TAGメモリ(3)に書き込むキャッシュ制御部(2)
    とを備えたことを特徴とするキャッシュ制御装置。
  2. 【請求項2】上記ヒットが複数のウェイで発生した場
    合、上位アドレス(あるいは下位アドレス)のエラーが
    ないウェイのキャッシュメモリ(4)の位置にデータを
    書き込むおよびメインメモリ(5)にデータを書き込む
    ことを特徴とする請求項1記載のキャッシュ制御装置。
JP5312943A 1993-12-14 1993-12-14 キャッシュ制御装置 Withdrawn JPH07168760A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5312943A JPH07168760A (ja) 1993-12-14 1993-12-14 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5312943A JPH07168760A (ja) 1993-12-14 1993-12-14 キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH07168760A true JPH07168760A (ja) 1995-07-04

Family

ID=18035347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5312943A Withdrawn JPH07168760A (ja) 1993-12-14 1993-12-14 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH07168760A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013098919A1 (ja) * 2011-12-26 2013-07-04 ルネサスエレクトロニクス株式会社 データ処理装置
JPWO2013098919A1 (ja) * 2011-12-26 2015-04-30 ルネサスエレクトロニクス株式会社 データ処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013098919A1 (ja) * 2011-12-26 2013-07-04 ルネサスエレクトロニクス株式会社 データ処理装置
CN104011692A (zh) * 2011-12-26 2014-08-27 瑞萨电子株式会社 数据处理装置
JPWO2013098919A1 (ja) * 2011-12-26 2015-04-30 ルネサスエレクトロニクス株式会社 データ処理装置
US9495299B2 (en) 2011-12-26 2016-11-15 Renesas Electronics Corporation Data processing device utilizing way selection of set associative cache memory based on select data such as parity data
CN104011692B (zh) * 2011-12-26 2017-03-01 瑞萨电子株式会社 数据处理装置

Similar Documents

Publication Publication Date Title
US6205521B1 (en) Inclusion map for accelerated cache flush
US20200264980A1 (en) Apparatus and method of handling caching of persistent data
US7290081B2 (en) Apparatus and method for implementing a ROM patch using a lockable cache
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
US7840848B2 (en) Self-healing cache operations
JP3239218B2 (ja) キャッシュ管理システム
JPH037978B2 (ja)
JPH05509189A (ja) コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置
JP3600257B2 (ja) 情報処理装置及びキャッシュ制御装置
US20030131277A1 (en) Soft error recovery in microprocessor cache memories
KR880011674A (ko) 캐쉬 메모리 장치
JPH07168760A (ja) キャッシュ制御装置
US7062611B2 (en) Dirty data protection for cache memories
JPH0354649A (ja) バッファ記憶制御方式
KR920005296B1 (ko) 정보처리장치
JP2000347941A (ja) キャッシュメモリ装置
JPH04273549A (ja) キャッシュメモリのライトバック方式
US7234022B2 (en) Cache accumulator memory for performing operations on block operands
KR100201671B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법
JP2637853B2 (ja) キャッシュメモリ装置
JPH0628253A (ja) 中央処理装置
JPH02165354A (ja) 補助記憶装置
JP3716190B2 (ja) キャッシュメモリにおけるデータアレイの訂正不能障害救済方式
JPH0869417A (ja) 計算機システム
JP2791319B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306