JPS63163649A - Lruエラ−処理方式 - Google Patents

Lruエラ−処理方式

Info

Publication number
JPS63163649A
JPS63163649A JP61310367A JP31036786A JPS63163649A JP S63163649 A JPS63163649 A JP S63163649A JP 61310367 A JP61310367 A JP 61310367A JP 31036786 A JP31036786 A JP 31036786A JP S63163649 A JPS63163649 A JP S63163649A
Authority
JP
Japan
Prior art keywords
cache
random number
level
abnormality
output
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
JP61310367A
Other languages
English (en)
Other versions
JP2541528B2 (ja
Inventor
Fumio Aono
青野 文雄
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 JP61310367A priority Critical patent/JP2541528B2/ja
Publication of JPS63163649A publication Critical patent/JPS63163649A/ja
Application granted granted Critical
Publication of JP2541528B2 publication Critical patent/JP2541528B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明はデータ処理装置に関し、特にキャッシュ記憶装
置のL )(Uエラー処冴方式に関する。
(従来の技術) セットアソシアティブ方式のキャッシュ記憶装置では、
主記憶が2nバイトずつのブロックに分割されている。
さらに、メモリアドレスの下位nビットは、上記ブロッ
ク内のアドレスを表わしている。下位nビットを除いた
ブロックアドレスの下位mビットが等しいブロックの集
合はセットと呼ばれ、主記憶は2n個のセットに分けら
れる。各セットに対してキャッシュ記憶には通常、複数
のブロックが用意され、それぞれはレベルと呼ばれてい
る。すなわち、レベル数ft2とすれば、各セットごと
にブロックアドレスの下位mビットが等しく、残りの上
位ビットが異なる2個の記憶ブロックをキャッシュ記憶
上にもつことができる。以上の構成を第2図および第3
図に示す。各セットの各レベルごとに記憶ブロックの上
位アドレスが異なっているため、これらを記憶しておく
記憶装置群が必要である。この記憶装置群は、アドレス
アレイと呼ばれる。
さて、主記憶装置上のひとつの記憶ブロック金キャッシ
ュ記憶装置に転送するとき、そのブロックアドレスの下
位mビットによって決定さレルセットに対応した2レベ
ルのキャッシュ記憶ブロックのなかに未使用のレベルが
ひとつもなければ、どれかひとつのレベルに記憶されて
いるブロックをキャッシュ上から追出して置換える必要
がある。このとき、追出すべきレベルを決定する方法に
はいくつかあるが、最も以前に参照されたブロックを以
後最も使用頻度の低いであろうとして追出丁方法はLR
U方法と呼ばれて、現在広く利用されている。
LaU方式では各セットごとにLRUメモリを備え、2
個のレベルがどの順序で参照されたかという履歴を記憶
している。置換の際には、14Uロジツクによって置換
対象のレベルがひとつだけ選ばれて指示される。
いま、このLRIJロジックが0個、または複数個のレ
ベルの置換全対象として指示されたものとすれば、成る
ひとつのレベルを決定することができないために処理が
停止する等、システムに重大な影#を与える。しかし、
これを避けろためにLRUメモリ、およびLRTJロジ
ックを2重化すれば、性能の劣化は完全に防止できても
、そのためのハードウェア量の増加が大きく、またキャ
ッシュ容量の増加に伴ってもハードウェア量が増大して
しまう。
(発明が解決しようとする問題点〕 上述した従来のLRU方式では各ビットごとにLRUメ
モリをもつため、LRUロジックが0個、または複数個
のレベルの置換を対象として指示されたものと丁れば、
成るひとつのレベルを決定することができないため、シ
ステム性能に重大な影#を与えるという欠点がある。こ
れを避けるためにLR1Jメモリ、およびLRUロジッ
クを2重化すれば、性能の劣化は防止できても、ハード
ウェア量が増加してゆくと云う欠点がある。
本発明の目的は、置換えられるべきひとつの記憶ブロッ
クII、RU方式によって決定し、指示すろ際に、指示
の異常を検出することができろようにしておき、異常が
検出された場合には上記指示の代りに置換えブロックを
生成するため、キャッシュ割付き禁止レベルとキャッシ
ュ非実装レベルとを考慮して乱数回路で乱数を発生し、
上記指示か、あるいは乱数回路の出力かを選択すること
によって上記欠点を除去し、性能の劣化やノ・−ドウエ
ア量の増加がないように構成したLRUエラー処理方式
を提供することにある。
(問題点を解決するための手段) 本発明によるLRUエラー処理方式は異常検出手段と、
乱数回路と、選択手段とを具備して構成したものである
異常検出手段は、セットアソシアティブ方式のキャッシ
ュ記憶装置で置換されるべきひとつの記憶ブロック=z
LRtJ方式によって決定して指定する際に、指示の異
常を検出するためのものである。
乱数回路は、異常が検出されたときにキャッシュ割付は
禁止レベルとキャッシュ非実装レベルとを考慮して発生
した乱数によって、指示のは供えブロックを決定するた
めのものである。
選択手段は指示か、あるいは乱数回路の出力かf:異常
検出手段の出力に応じて選択し、異常検出手段によって
異常が認められたときに乱数回路の出力をキャッシュ置
換えの対象として出力するためのものである。
(実施例) 次に、本発明について図面全参照して説明する。
第1図は、本発明によるLRUエラー処理方式を実現す
る一実施例を示すブロック図である。
第1図において、11は要求メモリアドレスレジスタ、
111はメモリブロックアドレス上位ビット、112は
メモリブロックアドレス下位ビット、113はブロック
内アドレス領域、12はアドレスアレイ、13はLRU
メモリ、14はアドレス比較回路、15はLRU論理回
路、16はLRUエラー検出回路% 19は乱数回路。
18はLRU出力また乱数回路19出力を選択するため
の第1のセレクタ、17は未割付はレベル、またはLR
U指示レベルを選択するための第2のセレクタである。
演$i、装置や入出力装置から、メモリ制御装置に対し
てメモリアクセス要求が送出されると、要求アドレスレ
ジスタ11のうち、メモリブロックアドレスの下位部分
、すなわち七ントアドL’ス112の内容がアドレスア
レイ12とLl(。
Uメモ+713とに送られ、それぞれの内容が読出され
る。アドレスアレイ12から読出された当該セットの各
キャッシュレベルの上位アドレスは、アドレス比較回路
14において要求アドレスの上位アドレス(メモリブロ
ックアドレス上位ビット)111と比較される。比較の
結果、一致するものがあれば、そのレベル番号Cが出力
される。
この場合、キャッシュ内に必要なメモリデータが存在し
ているので、キャツシュヒツト扱いとなり、ヒツトした
キャッシュのブロックに対して要求に応じた処理が行わ
れろ。このケースでは、L几Uメモリ13から読出され
たデータは無視される。
いっぽう、キャツシュヒツトしなかった場合、すなわち
アドレス比較回路14によるアドレスの比較において一
致するレベルの存在しなかったならば、キャッシュミス
となって主記憶装置からキャッシュメモリへ要求アドレ
ス(要求メモリアドレス領域1l)1に含むメモリブロ
ックを転送する必要が生ずる。このとき、転送先として
キャッシュメモリ内の対応するセットの各レベルのなか
から適当なレベルをひとつだけ選ばなければならない。
しかし、有効なデータの書込まれていない未使用のレベ
ルがひとつでも存在すれば、そのレベルが転送先として
選ばれる。未使用のレベルが複数個存在した場合には、
いずれを選択してもよい妙ζ通常、若番のレベルが選ば
れる。この選択は、アドレスアレイ12から読出された
データをもとにして、アドレス比較回路14によって行
われ、選択された未使用のレベルの番号(f)が制御信
号(j)によって@2のセレクタ17からキャッシュ割
付はレベル信号(d)として出力される。
同じくキャッシュミスの場合で、キャッシュの当該セッ
トの全部のレベルに有効なデータが存在しているならば
、いずれかルベルのブロックの内容を追出して、その後
に必要なメモリデータを転送しなくてはならない。その
際、どのレベルを選ぶかはLRUメモリ13の内容をも
とにしてL 1% U論理回路15によって決定され、
第1のセレクタ18および第2のセレクタ17全通して
キャッシュ割付はレベル番号(d)として出力される。
また、キャツシュヒツト、あるいはキャッシュミスのい
ずれの場合にも当該セットに対応したLRUメモリ13
の内容が更新され、当該メモリアクセスにおいて使用さ
れたレベルが最新のアクセスレベルとなるように書替え
られる。
ここで、LRUメモリ13.あるいはLRU論理回路1
5に障害が発生し、実装されていないレベルを指示した
夕、同時に2つ以上のレベルを指示したシ、あるいはい
ずれのレベルも指示しないなどの状態に陥ると、エラー
検出回路16によって上記状態が検出される。そこで、
第1のセレクタ18を切替えることによって。
LRU論理回路15からの信号の代りに乱数回路19の
出力が第2のセレクタ17に送出される。
通常の状態において乱数回路19は、キャッシュメモリ
のレベル番号のすべてを等しい確率で乱数的に発生する
。しかし、キャッシュメモリのレベルのいずれかがデグ
レードレベル指定信号(a)によって割付は禁止に指定
されているときには、そのレベルを指示すろ乱数が発生
すると、その乱数よりひとつ大きな数が出力される。こ
こで、このようにして選ばれたレベルがやはり割付は禁
止になっている場合には、さらにひとつ大きなレベル番
号が指示される。また、最大のレベル番号をもつレベル
が割付は禁止の場合には、代りに最小の番号のレベルが
選ばれる。
さて、キャッシュメモリのレベル数と容fkヲ小さくし
た廉価なシステムを構成する場合にも、使用しないレベ
ルは上記と同様に、割付は禁止の扱いとすることにより
対応できる。
しかし、一般に実装されるレベルには連続的なレベル番
号が付与されるため、非実装レベルを指丁乱数は丁べて
実装レベルの最小番号を指示することになってしまう。
丁なわち、例えば実装可能レベルがO〜304レベルが
あり、これらのうち0.1の2レベルしか実装されてい
ない場合には、乱数で2.3のレベルが発生すると、指
示されるレベルはいずれもレベルOとなり、レベルOが
指示される確巻が全体の÷に上ってしまう。
この偏1t−避けるためには、乱数回路19にキャッシ
ュ実装レベル数指定信号(b)を入力し、この信号によ
って発生する乱数の範囲を制限する方法が採用しである
。具体的には、実装可能レベルがO〜3の4レベルで、
実装レベルが0−1の2レベルの場合には、発生した乱
数のレベル番号の2進数表現の上位1ピツ)1常時Oと
して、0〜3の乱数を0〜1の乱数とする等の方式が採
用しである。
(発明の効果) 以上説明したように本発明は、置喚見られろべきひとつ
の記憶ブロック1LRU方式によって決定し、指示する
際に、指示後の異常を検出することができるようにして
おき、異常が検出された場合には上記指示の代りに置換
えブロックを発生するため、キャッシュ割付は禁止レベ
ルとキャッシュ非実装レベルと全考慮して乱数回路で乱
数を発生し、上記指示か、あるいは前記乱数回路の出力
かを選択することによって、LRUエラーが発生した際
、その障害によりシステムを停止させることなく対処す
ることが可能であると云う効果がある。
また、LRUメモリの間欠障害が原因のエラーや、固定
障害であっても、その範囲が限られている場合にはメモ
リ系の性節低下を無視できる範囲にとどめて処理を継続
することができると云う効果がある。
さらに、本方式に要するノ1−ドウエアは極小でアク、
キャッシュのレベル数を増加してもノ1−ドウエア量の
増加はわずかで済むため経済的である。また、キャッシ
ュのレベル数を少なくして使用する場合にも、同等の機
能を発揮することができると云う効果がある。
【図面の簡単な説明】
第1図は、本発明によるLl(、Uエラー処理方式の一
実施例を示すブロック構成図である。 第2図は、メモリアドレスを示す説明図である。 第3図は、セットアソシアティブ方式のキャッシュ記憶
を示す概念図である。 11・・・要求メモリアドレスレジスタ111 ・・・
メモリブロックアドレス上位ビット112・・・メモリ
ブロックアドレス下位ビット113・・・ブロック内ア
ドレス 12・・・アドレスアレイ 13・・・LRUメモリ 14・・・アドレス比較回路 15・・・LRU論理回路 16・・・LRUエラー検出回路 17.18・・・セレクタ 19・・・乱数回路 31・・・メモリおよびキャッシュの単位セット32・
・・キャッシュ内の単位ブロックa −f・・・信号

Claims (1)

    【特許請求の範囲】
  1. セットアソシアティブ方式のキャッシュ記憶装置で置換
    されるべきひとつの記憶ブロックをLRU方式によつて
    決定して指定する際に前記指示の異常を検出するための
    異常検出手段と、前記異常が検出されたときにキャッシ
    ュ割付け禁止レベルとキャッシュ非実装レベルとを考慮
    して発生した乱数によつて前記指示の置換えブロックを
    決定するための乱数回路と、前記指示か、あるいは前記
    乱数回路の出力かを前記異常検出手段の出力に応じて選
    択し、前記異常検出手段によつて異常が認められたとき
    に前記乱数回路の出力をキャッシュ置換えの対象として
    出力するための選択手段とを具備して構成したことを特
    徴とするLRUエラー処理方式。
JP61310367A 1986-12-26 1986-12-26 Lruエラ−処理方式 Expired - Lifetime JP2541528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61310367A JP2541528B2 (ja) 1986-12-26 1986-12-26 Lruエラ−処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61310367A JP2541528B2 (ja) 1986-12-26 1986-12-26 Lruエラ−処理方式

Publications (2)

Publication Number Publication Date
JPS63163649A true JPS63163649A (ja) 1988-07-07
JP2541528B2 JP2541528B2 (ja) 1996-10-09

Family

ID=18004389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61310367A Expired - Lifetime JP2541528B2 (ja) 1986-12-26 1986-12-26 Lruエラ−処理方式

Country Status (1)

Country Link
JP (1) JP2541528B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02307140A (ja) * 1989-05-22 1990-12-20 Fujitsu Ltd バッファストレイジの置換制御方式
US8065496B2 (en) 2006-02-27 2011-11-22 Fujitsu Limited Method for updating information used for selecting candidate in LRU control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02307140A (ja) * 1989-05-22 1990-12-20 Fujitsu Ltd バッファストレイジの置換制御方式
US8065496B2 (en) 2006-02-27 2011-11-22 Fujitsu Limited Method for updating information used for selecting candidate in LRU control

Also Published As

Publication number Publication date
JP2541528B2 (ja) 1996-10-09

Similar Documents

Publication Publication Date Title
US5019971A (en) High availability cache organization
US6877067B2 (en) Shared cache memory replacement control method and apparatus
US5274790A (en) Cache memory apparatus having a plurality of accessibility ports
US4471429A (en) Apparatus for cache clearing
EP0557050B1 (en) Apparatus and method for executing processes in a multiprocessor system
US4464712A (en) Second level cache replacement method and apparatus
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US6381668B1 (en) Address mapping for system memory
US5535361A (en) Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment
US5651135A (en) Multi-way set associative cache system in which the number of lines per set differs and loading depends on access frequency
US20010014931A1 (en) Cache management for a multi-threaded processor
EP0407119A2 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
EP0510832A1 (en) Cache page replacement using a lifo cast out
US5729712A (en) Smart fill system for multiple cache network
EP0706131A2 (en) Method and system for efficient miss sequence cache line allocation
EP0708404A2 (en) Interleaved data cache array having multiple content addressable fields per cache line
US6470425B1 (en) Cache line replacement threshold based on sequential hits or misses
US5287482A (en) Input/output cache
US5140690A (en) Least-recently-used circuit
KR100395768B1 (ko) 멀티 레벨 캐쉬 시스템
US6785770B2 (en) Data processing apparatus with a cache memory and method of using such an apparatus
EP0706132A2 (en) Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line
US4608671A (en) Buffer storage including a swapping circuit
JP4741844B2 (ja) ライン幅を選択的に変更することが可能なメモリ
JPS63163649A (ja) Lruエラ−処理方式