JPS6093562A - 緩衝記憶制御装置 - Google Patents
緩衝記憶制御装置Info
- Publication number
- JPS6093562A JPS6093562A JP58201381A JP20138183A JPS6093562A JP S6093562 A JPS6093562 A JP S6093562A JP 58201381 A JP58201381 A JP 58201381A JP 20138183 A JP20138183 A JP 20138183A JP S6093562 A JPS6093562 A JP S6093562A
- Authority
- JP
- Japan
- Prior art keywords
- address
- block
- data
- buffer memory
- stored
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は緩衝記憶制御装置、とくに緩衝記憶装置をアソ
シアティブ方式とセットアソシアティブ方式で制御する
緩衝記憶制御装置に関する・緩衝記憶装置の制御方法と
してアソシアティブ方式、セットアソシアティブ方式等
がある。 このうち、アソシアティブ方式は主記憶装置(以後MM
)中のブロックを緩衝記憶装置(以後キャッジ&)中の
任意の位INKマツピングできる方式である。従って、
キヤ、シーをアクセスする場合には、全アドレスアレイ
中に登録されているアドレスを、アクセスすべきアドレ
スに同時に比較する必要があシ、キャッシュの全ブロッ
クをこの方式で制御しようとすると、キャッシニのブロ
ック数と同数の比較器が必要となるため非現実的である
。しかし、キャッシュ容J!tK対する使用効率は非常
に高い。 一方、セットアソシアティブ方式は、MMおよびキャッ
シュ上のブロックを検数の同数のカラムに分割し、マツ
ピングは同一のカラム内で行なう。 キャッシュのブロックは、前述のカラムと独数のローと
で構成され、アドレス比較器の個数は、ロー数だけです
む。この方式は各カラムごとにロー数のブロックをもつ
アソシアティブ方式と見做すことができる。この方式は
、上述のように、アドレス比較器の数がロー数だけでよ
いことと、キャッジ−の使用効率が比較的よいこととで
広く使用されている。 さて、このセットアソシアティブ方式で制御されるキャ
ッシュにおいては、キャッジ−上の全てのカラムが等し
い使用頻度をもって使用されているわけではない。これ
は、MM上の各カラムの使用頻度の不均一に起因し、こ
れがそのままキャッシュにも影響し、この結果、あるカ
ラムではデータの参照入れ換えが頻繁罠起るが、他のカ
ラムではこれが殆んど起らないという事態が発生し、こ
のためにキャッジ−使用効率を下げてしまうという欠点
がある。 このような欠点を軽減するものとして、特許公報昭57
−38985記載の緩衝記憶制御装置がある。この装置
は、上述のセットアソシアティブ方式で制御される第1
のキャッシュとアソシアティブ方式で制御される第2の
キャッジ−とを備えておシ、各カラムごとに第1のキャ
ッジ−に貯蔵されるデータの置き換え頻度を計数するカ
ウンタをカウンタの値に基ずいて111記第1またr/
′i、第2のキャッシュにデータを転送するようにf1
71を御する。こうして各カラムごとの置@換えyA度
をなるべく均一化してキャッシュ使用効率の向上を図っ
ている。 これはセットアソシアティブ方式の短所をアソシアティ
ブ方式でカバーする巧な方式であるが、上述のように、
各カラムごとに第1のキャッシュに貯蔵されるデータの
置き換え頻度を計数するためのカウンタが必要であシ、
ぞれたけハードウェアが複雑になるという欠点を有して
いる。 本発明の目的は、このようなカウンタを用いずにセット
アソシアティブ方式とアソシアティブ方式の長所をとシ
短H
シアティブ方式とセットアソシアティブ方式で制御する
緩衝記憶制御装置に関する・緩衝記憶装置の制御方法と
してアソシアティブ方式、セットアソシアティブ方式等
がある。 このうち、アソシアティブ方式は主記憶装置(以後MM
)中のブロックを緩衝記憶装置(以後キャッジ&)中の
任意の位INKマツピングできる方式である。従って、
キヤ、シーをアクセスする場合には、全アドレスアレイ
中に登録されているアドレスを、アクセスすべきアドレ
スに同時に比較する必要があシ、キャッシュの全ブロッ
クをこの方式で制御しようとすると、キャッシニのブロ
ック数と同数の比較器が必要となるため非現実的である
。しかし、キャッシュ容J!tK対する使用効率は非常
に高い。 一方、セットアソシアティブ方式は、MMおよびキャッ
シュ上のブロックを検数の同数のカラムに分割し、マツ
ピングは同一のカラム内で行なう。 キャッシュのブロックは、前述のカラムと独数のローと
で構成され、アドレス比較器の個数は、ロー数だけです
む。この方式は各カラムごとにロー数のブロックをもつ
アソシアティブ方式と見做すことができる。この方式は
、上述のように、アドレス比較器の数がロー数だけでよ
いことと、キャッジ−の使用効率が比較的よいこととで
広く使用されている。 さて、このセットアソシアティブ方式で制御されるキャ
ッシュにおいては、キャッジ−上の全てのカラムが等し
い使用頻度をもって使用されているわけではない。これ
は、MM上の各カラムの使用頻度の不均一に起因し、こ
れがそのままキャッシュにも影響し、この結果、あるカ
ラムではデータの参照入れ換えが頻繁罠起るが、他のカ
ラムではこれが殆んど起らないという事態が発生し、こ
のためにキャッジ−使用効率を下げてしまうという欠点
がある。 このような欠点を軽減するものとして、特許公報昭57
−38985記載の緩衝記憶制御装置がある。この装置
は、上述のセットアソシアティブ方式で制御される第1
のキャッシュとアソシアティブ方式で制御される第2の
キャッジ−とを備えておシ、各カラムごとに第1のキャ
ッジ−に貯蔵されるデータの置き換え頻度を計数するカ
ウンタをカウンタの値に基ずいて111記第1またr/
′i、第2のキャッシュにデータを転送するようにf1
71を御する。こうして各カラムごとの置@換えyA度
をなるべく均一化してキャッシュ使用効率の向上を図っ
ている。 これはセットアソシアティブ方式の短所をアソシアティ
ブ方式でカバーする巧な方式であるが、上述のように、
各カラムごとに第1のキャッシュに貯蔵されるデータの
置き換え頻度を計数するためのカウンタが必要であシ、
ぞれたけハードウェアが複雑になるという欠点を有して
いる。 本発明の目的は、このようなカウンタを用いずにセット
アソシアティブ方式とアソシアティブ方式の長所をとシ
短H
【をカバーした緩衝記憶制御装置を提供するにある
。 本発明の装置は、セットアソシアティブ方式で制御され
る第1緩働記憶装置と、アソシアティブ方式で制御され
る第2緩愉tJr2憶装置と、緩衝記t(装置へのデー
タ転送に際し前記第1緩衝記憶装瞳に格納されたデータ
の置換えが必要になった場合に、それまで前記第1緩衝
記憶装置中に格納されていたデータを前記第2緩衝記憶
装置に転送格納するように制御する。 次に1図面を参照して本発明の詳細な説明する。 第1図および第2図祉本発明の一実施例を示すブロック
図である。 図面を分りやすくするために、第1図は主としてキャシ
ュからデータを読出す場合における本実施例の構成を示
し、第2図は主としてキャシユにデータを書込む場合に
おける本実施例の構成を示す。 これらの図に示すように、本実施例は、第1アドレスレ
ジスタ11(第1図、第2図)、第1アドレスアレイ1
2(第1図、第2図)、K個の第1比較回路13−1〜
13−几(m1図)、第1−敷積出回路14(第1図)
、第1ノ(ソファメモリ15(第1図、第2図)、第1
:9I込制御回路16(第2図)、アドレス合成器17
(第2図)、第2アドレスレジスタ21(第1図)、第
2アドレスアレイ22(第1図、第2図)、K個の第2
比較回路23−1〜23−K(第1図)、第2−敷積出
回路24(第1図)、第2バツフアメモリ25(第1図
、第2図)、第2書込制御回路26(第2図)、データ
レジスタ30(第1図)および制御部40(第1図、第
2図)を有している。 これらのうち、前記第1アドレスレジスタ11〜第1書
込制御回jJ16はセットアソシアティブ方式のキャッ
シュを構成している。 すなわち、第1バツンアメモリ15は、M個のカラムと
K個のローよシなるMK個のブロック(ブロック格納場
所)を有し、各ブロックはそのコラムアドレスおよびロ
ーアドレスよシなるブロックアドレスを指定することに
よりブロックデータの読出し、書込みの転送ができる。 これに対して、第1アドレスアレイ12は、ノくソファ
メモリ15に格納されている各ブロックデータのMM(
主記憶装置、図示せず)中におけるブロックアドレスの
情報を記憶しておくディレクトリで、バッファメモリ1
5の各ブロックに1対1で対応するMR個のエントリを
有し、この各工ントリには、バッファメモリ15の対応
するブロックに格納されているブロックデータの、MM
中におけるブロックアドレスから千〇カラムアドレスを
除いた部分の情報(後述するJ)フィールド)が格納さ
れている。 これに対して、第2アドレスレジスタ21〜第2書込制
御回路26はアソシアティブ方式のキャシュを構成して
いる。 すなわち、第2バツフアメモ!j25UK個のブロック
を有し、これに対して、第2アドレスアレイ22は、バ
ッファメモリ25に格納されているブロックデータのM
i4中におけるブロックアドレスの情報を格納している
ディレクトリで、バッファメモリ25の各ブロックに対
応するブロックデータのMM中におけるブロックアドレ
スが格納されている。 さて、最初に、本実施例の読出し動作を第1図を用いて
説明する。 まず、第1アドレスレジスタll〜第1バツフアメモリ
15によるセ、トアソシアテイプ方式の第1キヤツシユ
の読出し動作は下記の通りである。 読出すべきブロックデータの1〜(八・1甲におけるブ
ロックアドレスはi1アドレスレジスタ11に格納さ扛
る。 この、レジスタ11に格納されるブロックアドレスは、
カラムアドレスを指定する部分(以kCフィールド)と
その残シの部分(以pDフィールド)とよシなる。 このCフィールドの部分は、ライン1101を介して第
1アドレスアレイ12およびff1lパーフアメモリ1
5に#:給され読出すべきデータのカラムアドレスを指
定する。 前述のように、第1アドレスアレイl 2 f:’、
M個のカラムとR個のローよシなるM R1hiiのエ
ントリを有するが、前述のライン1101を介し°Cカ
シムアドレスが与えられると、これによって指定される
カラムアドレスのすべてのロー(it個のロー)の各エ
ントリは並列に読出されて、几1間の第1比較回路13
−1〜13−凡のそれぞれの一方の人力に加えられる。 一方、第1アドレスレジスタ11の前記Dフィールドの
部分は、ライン1102 を介して第1比較回路13−
1〜13−凡の他方の入力に加えられ、読出された前述
の8個の各エントリと比較される。 この比較によシ、並列に読出されたR個のエントリの中
に、このDフィールドの内容と一致するものが含まれて
いる場合には、第1比較−敷積出回路14はこの一致を
抄出してピットパルスを発生L、これをライン1401
を介して制御部40に供給し、また、一致したエントリ
のローアドレスをライン1402を介して第1バツフア
メモリ15のローアト【/スとして供給する。 一方、前述のように、第1アドレスレジスタ11のcフ
ィールドはライン1101を介してバッファメモリ15
のカラムアドレスとして供給される。 かくして、MM中の要求するブロックアドレスのブロッ
クデータが、第1バツンアメモリ15の中に存在してい
る場合にはライン1401よシヒットパルスが出力され
、このブロックデータはバッファメモリ15の指定され
たブロックアドレス(ライン1101で指定されたカラ
ムアドレスおよびライン1402で指定されたローアド
レスをもつブロックアドレス)から読出され、ラインl
501を介してデータレジスタ30にす:)納される。 次に、ff12アドレスレジスタ2】〜島2バッファメ
モリ25によるアソシアティブ方式の&′S2キャッジ
瓢の読出し動作は下記の通りである。 読出すべきプ0ツクデータのべ4Δ1中におけるブロッ
クアドレスは、第2アドレスレジスタ2】に格納される
。 このブロックアドレスは、ライン2101を介して第2
比較回路23−1〜23−にの一方の入力に加えられ、
これらの比較回路23−1〜23−にの他方の入力には
m2アドレスアレイ22の各エントリの出力が加えられ
る。 この結果、アドレスアレイ22の中に2y*dれたブロ
ックアドレスが存在しているノリ台には、第2−敷積出
回路24はこれを槓i出してヒツトパルスを発生し、ラ
イン24 (11を介してこれを制御部40に供給する
。 また、回路24は一致したエントリイに対応する第2バ
ツフアメモリ25のブロックアドレスをライン2402
を介して第2バ、ファメモリ25に供給し、この指定さ
れたアドレスからブロックデータを読出しライン250
1を介してデータレジスタ30に格納する。 以上のようにして、要求されたMM(主記憶装置)中に
おけるブロックアドレスをもつブロックデータが第1バ
ツフアメモリ15の中か、または第2バツフアメモリ2
5の中に存在している場合には、このブロックデータは
読出されてデータレジスタ30に格納される。 さて次に、要求されたMM中におけるブロックアドレス
をもつブロックデータが、第1バツフアメモリ15の中
にも、また、第2バツフアメモリ25の中にも存在しな
い場合には、そのプロ、クアドレスのブロックデータは
、MMから読出されてキャッシ二に転送格納されること
になるが、本実施例におけるキャッシュへの転送格納は
以下のように行なわれる。 第2図は、本実施例のキャッジ−への転送格納に関係す
る制御を示すためのブロック図である。 以下主として第2図を参照して転送格納の説明をする。 前述のように、読出し要求をされたブロックデータが第
1バツフアメモリ15の中にも、また第2バツフアメモ
リ25の中にも存在しない場合には、制御部40に対し
てヒツトパルスが供給されず、このため制御部40はこ
のブロックデータをMMよシ続出し、これをキャッシュ
忙転送格納する動作を開始する。 さて、要求されたブロックデータのMM中におけるブロ
ックアドレス社前述のようにアドレスレジスタ11に格
納され、このCフィールド(カラムアドレス部分)はラ
イン1101を介して第18込制御回路16に供給され
ている。 l過制御回路16は各カラムアドレスごとに、該カラム
アドレス中の各ローアドレスにブロックデータが書き込
まれた順番に関する情報を保持しておシ、制御部40か
ら転送格納の指令を受けると、ライン1101を介して
供給されたカラムアドレス中において、最も古く書き込
まれたブロックのローアドレスを、ライン1601を介
してアドレスアレイ12およびバッファメモリ15に供
給し、読出し転送のローアドレスを指定する。 この結果、指定されたカラムアドレスの中で最も古く書
き込まれたプロ、クデータがilバッファメモリ15か
ら続出され、ライン1501を介して第2バツクアメモ
リ25に供給される。 同様に、このブロックデータに対応するアドレスアレイ
12のエントリ(つまりこのブロックデータのMM中に
おけるブロックアドレスのDフィールド)が続出され、
ライン1202を介してアドレス合成器17に供給され
、ここでライン1101を介して供給されるカラムアド
レスと合成されて前記ブロックデータのMM中における
ブロックアドレスとなり、ライン1700を介して第2
アドレスアレイ22に供給される。 さて、第2書込制御回路26は、第2バク7アメモリ2
5に書き込むべきブロックアドレスおよびそれに対応す
る第2アドレスアレイ22のエントリイアドレスを指定
するが、回路26の中には、バッファメモリ25の各プ
ロ、クアドレスに書き込まれたブロックデータの書き込
まれた順番に関する情報を保持しておシ、制御部40か
ら転送格納の指令を受けると、ライン2601を介して
、最も古く曽き込まれたブロックデータのブロックアド
レスを出力し、ライン1501を介して供給された前記
ブロックデータを第2バツフアメモリ25のこのブロッ
クアドレスで指定されるブロックに格納し、また、ライ
ン1700を介して供給されるこのブロックデータのM
M中におけるブロックアドレスを第2アドレスアレイ2
2の対応するアドレスに格納する。 以上の動作によシ、第1バツフアメモリ15のこれから
新らしいブロックデータを書き込むべきブロックアドレ
スにあったブロックデータは、第2バツフアメモリ25
の新らしいブロックデータを書き込むべきブロックアド
レスに転送格納され、それとともにこのブロックデータ
のMM中におけるブロックアドレスが第2アドレスアレ
イ22の対応するアドレスに書き込まれたことになる。 さて、以上の転送がすむと、次に、制御部40は、第1
バツフアメモリ15および第1アドレスアレイ12に対
する書込みを指令し、この結果、MMから読出されてラ
イン1500を介してバッファメモリ15に供給されて
いるブロックデータは、このバッファメモリ15の、ラ
イン1101を介して供給されているカラムアドレスと
、ライン1601を介して供給されている前記ローアド
レスで指定されるブロックアドレスに格納される。 同様に、このブロックデータのMM中におけるブロック
アドレスのDayイールトハ、アドレスレジスタ11の
Dフィールドからライン1103を介して第1アドレス
アレイ12に供給され、これは第1アドレスアレイ12
の中の前述のブロックアドレスに対応するアドレスに書
き込まれる。 以上の動作によシ、読出し要求を受けたブロックデータ
が第1バ、ファメモリ15の中にもまた第2バツフアメ
モリ25の中にも存在しない場合には(?まシキャシュ
の中に存在しない場合には)、このブロックデータはM
Mの指定されたブロックアドレスから直接読出され、セ
ットアソシアティブ方式で制御される第1バツフアメモ
リ15の中の指定され九カラムアドレスの中の、新ブロ
ツクデータを書き込むべきローアドレスに書き込まれて
このバッファメモリ15を更新し、それとともにこれに
対応してアドレスアレイ12の内容も更新されるが、こ
れらの更新に先だって、第1バツフアメモリ15の中の
この更新されるべきブロックアドレスに格納されていた
もとのブロックデータは、アソシアティブ方式で制御さ
れる第2バツフアメモリ25の中の、新ブロツクデータ
を■き込むべきブロックアドレスに転送格納され、また
、これに対応して第2アドレスアレイ22の必要な更新
が行なわれる。 この結果、第1バツフアメモリ15の中の各ブロックデ
ータは更新に際して直ちにキャッシュから追出されるこ
となく、いったん第2バツフアメモ!725に転送格納
され、自己の更新の順番がくるまでそこに保持される。 この結果、第1バツフアメモリ15の中の更新要求が頻
繁に行なわれるカラムのブロックデータはど、第2バツ
フアメモ!725に格納保持される確率が高くなる。こ
れはセットアソシアティブ方式で制御されるキャッシ二
のロー数を、更新要求の頻度に応じて、各カラムごとに
ダイナミックに変化させ、この更新要求の8度に適応さ
せているのと等価になる。この結果、各カラムの使用頻
度の不均一にもとすくセットアソシアティブ方式の効率
低下を改善し、また、アソシアティブ方式で動作する部
分については、比較的少数のブロックを設けるだk)で
上述の効果を発揮できるので、比較回路の数が非現実的
に多くなるというアソシアティブ方式の欠点も避けるこ
ともできる。 しかも本実施例によると、セットアソシアティブ方式お
よびアソシアティブ方式で従来用いられている回路を殆
んどそのまま使用し、僅かのハードウェアの変便追加に
よって上述の効果を達成できる。 なお、上述の実施例においては、説明を分シ易くするた
めにアドレス合成器17が示されているが、実際にはミ
ライン1101の出力とライン1202の出力とを並列
に第2アドレスアレイ22に供給し、第2アドレスアレ
イ22中で両者が合成格納されるようにすればよく、外
部に特別な合成器を用いなくてもよい。 また、上述の実施例において、第1バツフアメモリ15
および第1アドレスアレイ12のロー数Rは複数として
説明したが、勿klでもよいに、の場合には一般にセッ
トアソシアティブ方式のかわシにコングルエンド方式と
称される)。 また、本実施例においては、第1対込制御回路16およ
び第21込制御回路26によるリプレースメントアルゴ
リズムとしてFIFO(最も過去に噛:き込まれたブロ
ックデータを更新する夕方式%式% ntly Used :最も以前参照されたブロックデ
ータを更新する)方式、あるいは従来知られているその
他の方式を用いてもよい。また、第1書込制御回路16
と、第2書込制御回路26とにそれぞれ異なるリプレー
スメントアルゴリズムを用いることもできる。 また、上述の実施例の説明においては、簡単にするため
キャッシュからの読出し要求が、プロ。 クアドレスによってブロックデータの単位でなされるよ
うに説明したが、一般には、ブロックアドレス中のワー
ドアドレスまで指定されてワード単位で読出し要求が起
シ、実際に中ヤッシュからはワード単位の読出しが行な
われる。そし°C要求されたワードアドレスを含むブロ
ックのブロックデータがキャッジ−に存在しない場合に
このブロックデータの単位でMMからのデータ転送が行
なわれ、キャッジ−の更新がなされる。しかしこれは本
実施例に対する上述の説明に本質的な差異を生じないこ
とは明らかであろう。 以上述べたように本発明によると、比較的簡単なハード
ウェアを用いて、セ、トアソシアティプ方式とアソシア
ティブ方式の弱点を互いに相補ないあい、それぞれの特
徴を発揮した緩衝記憶制御装置を提供することができる
。 これによりキャッジ−の効率向上を達成できる。
。 本発明の装置は、セットアソシアティブ方式で制御され
る第1緩働記憶装置と、アソシアティブ方式で制御され
る第2緩愉tJr2憶装置と、緩衝記t(装置へのデー
タ転送に際し前記第1緩衝記憶装瞳に格納されたデータ
の置換えが必要になった場合に、それまで前記第1緩衝
記憶装置中に格納されていたデータを前記第2緩衝記憶
装置に転送格納するように制御する。 次に1図面を参照して本発明の詳細な説明する。 第1図および第2図祉本発明の一実施例を示すブロック
図である。 図面を分りやすくするために、第1図は主としてキャシ
ュからデータを読出す場合における本実施例の構成を示
し、第2図は主としてキャシユにデータを書込む場合に
おける本実施例の構成を示す。 これらの図に示すように、本実施例は、第1アドレスレ
ジスタ11(第1図、第2図)、第1アドレスアレイ1
2(第1図、第2図)、K個の第1比較回路13−1〜
13−几(m1図)、第1−敷積出回路14(第1図)
、第1ノ(ソファメモリ15(第1図、第2図)、第1
:9I込制御回路16(第2図)、アドレス合成器17
(第2図)、第2アドレスレジスタ21(第1図)、第
2アドレスアレイ22(第1図、第2図)、K個の第2
比較回路23−1〜23−K(第1図)、第2−敷積出
回路24(第1図)、第2バツフアメモリ25(第1図
、第2図)、第2書込制御回路26(第2図)、データ
レジスタ30(第1図)および制御部40(第1図、第
2図)を有している。 これらのうち、前記第1アドレスレジスタ11〜第1書
込制御回jJ16はセットアソシアティブ方式のキャッ
シュを構成している。 すなわち、第1バツンアメモリ15は、M個のカラムと
K個のローよシなるMK個のブロック(ブロック格納場
所)を有し、各ブロックはそのコラムアドレスおよびロ
ーアドレスよシなるブロックアドレスを指定することに
よりブロックデータの読出し、書込みの転送ができる。 これに対して、第1アドレスアレイ12は、ノくソファ
メモリ15に格納されている各ブロックデータのMM(
主記憶装置、図示せず)中におけるブロックアドレスの
情報を記憶しておくディレクトリで、バッファメモリ1
5の各ブロックに1対1で対応するMR個のエントリを
有し、この各工ントリには、バッファメモリ15の対応
するブロックに格納されているブロックデータの、MM
中におけるブロックアドレスから千〇カラムアドレスを
除いた部分の情報(後述するJ)フィールド)が格納さ
れている。 これに対して、第2アドレスレジスタ21〜第2書込制
御回路26はアソシアティブ方式のキャシュを構成して
いる。 すなわち、第2バツフアメモ!j25UK個のブロック
を有し、これに対して、第2アドレスアレイ22は、バ
ッファメモリ25に格納されているブロックデータのM
i4中におけるブロックアドレスの情報を格納している
ディレクトリで、バッファメモリ25の各ブロックに対
応するブロックデータのMM中におけるブロックアドレ
スが格納されている。 さて、最初に、本実施例の読出し動作を第1図を用いて
説明する。 まず、第1アドレスレジスタll〜第1バツフアメモリ
15によるセ、トアソシアテイプ方式の第1キヤツシユ
の読出し動作は下記の通りである。 読出すべきブロックデータの1〜(八・1甲におけるブ
ロックアドレスはi1アドレスレジスタ11に格納さ扛
る。 この、レジスタ11に格納されるブロックアドレスは、
カラムアドレスを指定する部分(以kCフィールド)と
その残シの部分(以pDフィールド)とよシなる。 このCフィールドの部分は、ライン1101を介して第
1アドレスアレイ12およびff1lパーフアメモリ1
5に#:給され読出すべきデータのカラムアドレスを指
定する。 前述のように、第1アドレスアレイl 2 f:’、
M個のカラムとR個のローよシなるM R1hiiのエ
ントリを有するが、前述のライン1101を介し°Cカ
シムアドレスが与えられると、これによって指定される
カラムアドレスのすべてのロー(it個のロー)の各エ
ントリは並列に読出されて、几1間の第1比較回路13
−1〜13−凡のそれぞれの一方の人力に加えられる。 一方、第1アドレスレジスタ11の前記Dフィールドの
部分は、ライン1102 を介して第1比較回路13−
1〜13−凡の他方の入力に加えられ、読出された前述
の8個の各エントリと比較される。 この比較によシ、並列に読出されたR個のエントリの中
に、このDフィールドの内容と一致するものが含まれて
いる場合には、第1比較−敷積出回路14はこの一致を
抄出してピットパルスを発生L、これをライン1401
を介して制御部40に供給し、また、一致したエントリ
のローアドレスをライン1402を介して第1バツフア
メモリ15のローアト【/スとして供給する。 一方、前述のように、第1アドレスレジスタ11のcフ
ィールドはライン1101を介してバッファメモリ15
のカラムアドレスとして供給される。 かくして、MM中の要求するブロックアドレスのブロッ
クデータが、第1バツンアメモリ15の中に存在してい
る場合にはライン1401よシヒットパルスが出力され
、このブロックデータはバッファメモリ15の指定され
たブロックアドレス(ライン1101で指定されたカラ
ムアドレスおよびライン1402で指定されたローアド
レスをもつブロックアドレス)から読出され、ラインl
501を介してデータレジスタ30にす:)納される。 次に、ff12アドレスレジスタ2】〜島2バッファメ
モリ25によるアソシアティブ方式の&′S2キャッジ
瓢の読出し動作は下記の通りである。 読出すべきプ0ツクデータのべ4Δ1中におけるブロッ
クアドレスは、第2アドレスレジスタ2】に格納される
。 このブロックアドレスは、ライン2101を介して第2
比較回路23−1〜23−にの一方の入力に加えられ、
これらの比較回路23−1〜23−にの他方の入力には
m2アドレスアレイ22の各エントリの出力が加えられ
る。 この結果、アドレスアレイ22の中に2y*dれたブロ
ックアドレスが存在しているノリ台には、第2−敷積出
回路24はこれを槓i出してヒツトパルスを発生し、ラ
イン24 (11を介してこれを制御部40に供給する
。 また、回路24は一致したエントリイに対応する第2バ
ツフアメモリ25のブロックアドレスをライン2402
を介して第2バ、ファメモリ25に供給し、この指定さ
れたアドレスからブロックデータを読出しライン250
1を介してデータレジスタ30に格納する。 以上のようにして、要求されたMM(主記憶装置)中に
おけるブロックアドレスをもつブロックデータが第1バ
ツフアメモリ15の中か、または第2バツフアメモリ2
5の中に存在している場合には、このブロックデータは
読出されてデータレジスタ30に格納される。 さて次に、要求されたMM中におけるブロックアドレス
をもつブロックデータが、第1バツフアメモリ15の中
にも、また、第2バツフアメモリ25の中にも存在しな
い場合には、そのプロ、クアドレスのブロックデータは
、MMから読出されてキャッシ二に転送格納されること
になるが、本実施例におけるキャッシュへの転送格納は
以下のように行なわれる。 第2図は、本実施例のキャッジ−への転送格納に関係す
る制御を示すためのブロック図である。 以下主として第2図を参照して転送格納の説明をする。 前述のように、読出し要求をされたブロックデータが第
1バツフアメモリ15の中にも、また第2バツフアメモ
リ25の中にも存在しない場合には、制御部40に対し
てヒツトパルスが供給されず、このため制御部40はこ
のブロックデータをMMよシ続出し、これをキャッシュ
忙転送格納する動作を開始する。 さて、要求されたブロックデータのMM中におけるブロ
ックアドレス社前述のようにアドレスレジスタ11に格
納され、このCフィールド(カラムアドレス部分)はラ
イン1101を介して第18込制御回路16に供給され
ている。 l過制御回路16は各カラムアドレスごとに、該カラム
アドレス中の各ローアドレスにブロックデータが書き込
まれた順番に関する情報を保持しておシ、制御部40か
ら転送格納の指令を受けると、ライン1101を介して
供給されたカラムアドレス中において、最も古く書き込
まれたブロックのローアドレスを、ライン1601を介
してアドレスアレイ12およびバッファメモリ15に供
給し、読出し転送のローアドレスを指定する。 この結果、指定されたカラムアドレスの中で最も古く書
き込まれたプロ、クデータがilバッファメモリ15か
ら続出され、ライン1501を介して第2バツクアメモ
リ25に供給される。 同様に、このブロックデータに対応するアドレスアレイ
12のエントリ(つまりこのブロックデータのMM中に
おけるブロックアドレスのDフィールド)が続出され、
ライン1202を介してアドレス合成器17に供給され
、ここでライン1101を介して供給されるカラムアド
レスと合成されて前記ブロックデータのMM中における
ブロックアドレスとなり、ライン1700を介して第2
アドレスアレイ22に供給される。 さて、第2書込制御回路26は、第2バク7アメモリ2
5に書き込むべきブロックアドレスおよびそれに対応す
る第2アドレスアレイ22のエントリイアドレスを指定
するが、回路26の中には、バッファメモリ25の各プ
ロ、クアドレスに書き込まれたブロックデータの書き込
まれた順番に関する情報を保持しておシ、制御部40か
ら転送格納の指令を受けると、ライン2601を介して
、最も古く曽き込まれたブロックデータのブロックアド
レスを出力し、ライン1501を介して供給された前記
ブロックデータを第2バツフアメモリ25のこのブロッ
クアドレスで指定されるブロックに格納し、また、ライ
ン1700を介して供給されるこのブロックデータのM
M中におけるブロックアドレスを第2アドレスアレイ2
2の対応するアドレスに格納する。 以上の動作によシ、第1バツフアメモリ15のこれから
新らしいブロックデータを書き込むべきブロックアドレ
スにあったブロックデータは、第2バツフアメモリ25
の新らしいブロックデータを書き込むべきブロックアド
レスに転送格納され、それとともにこのブロックデータ
のMM中におけるブロックアドレスが第2アドレスアレ
イ22の対応するアドレスに書き込まれたことになる。 さて、以上の転送がすむと、次に、制御部40は、第1
バツフアメモリ15および第1アドレスアレイ12に対
する書込みを指令し、この結果、MMから読出されてラ
イン1500を介してバッファメモリ15に供給されて
いるブロックデータは、このバッファメモリ15の、ラ
イン1101を介して供給されているカラムアドレスと
、ライン1601を介して供給されている前記ローアド
レスで指定されるブロックアドレスに格納される。 同様に、このブロックデータのMM中におけるブロック
アドレスのDayイールトハ、アドレスレジスタ11の
Dフィールドからライン1103を介して第1アドレス
アレイ12に供給され、これは第1アドレスアレイ12
の中の前述のブロックアドレスに対応するアドレスに書
き込まれる。 以上の動作によシ、読出し要求を受けたブロックデータ
が第1バ、ファメモリ15の中にもまた第2バツフアメ
モリ25の中にも存在しない場合には(?まシキャシュ
の中に存在しない場合には)、このブロックデータはM
Mの指定されたブロックアドレスから直接読出され、セ
ットアソシアティブ方式で制御される第1バツフアメモ
リ15の中の指定され九カラムアドレスの中の、新ブロ
ツクデータを書き込むべきローアドレスに書き込まれて
このバッファメモリ15を更新し、それとともにこれに
対応してアドレスアレイ12の内容も更新されるが、こ
れらの更新に先だって、第1バツフアメモリ15の中の
この更新されるべきブロックアドレスに格納されていた
もとのブロックデータは、アソシアティブ方式で制御さ
れる第2バツフアメモリ25の中の、新ブロツクデータ
を■き込むべきブロックアドレスに転送格納され、また
、これに対応して第2アドレスアレイ22の必要な更新
が行なわれる。 この結果、第1バツフアメモリ15の中の各ブロックデ
ータは更新に際して直ちにキャッシュから追出されるこ
となく、いったん第2バツフアメモ!725に転送格納
され、自己の更新の順番がくるまでそこに保持される。 この結果、第1バツフアメモリ15の中の更新要求が頻
繁に行なわれるカラムのブロックデータはど、第2バツ
フアメモ!725に格納保持される確率が高くなる。こ
れはセットアソシアティブ方式で制御されるキャッシ二
のロー数を、更新要求の頻度に応じて、各カラムごとに
ダイナミックに変化させ、この更新要求の8度に適応さ
せているのと等価になる。この結果、各カラムの使用頻
度の不均一にもとすくセットアソシアティブ方式の効率
低下を改善し、また、アソシアティブ方式で動作する部
分については、比較的少数のブロックを設けるだk)で
上述の効果を発揮できるので、比較回路の数が非現実的
に多くなるというアソシアティブ方式の欠点も避けるこ
ともできる。 しかも本実施例によると、セットアソシアティブ方式お
よびアソシアティブ方式で従来用いられている回路を殆
んどそのまま使用し、僅かのハードウェアの変便追加に
よって上述の効果を達成できる。 なお、上述の実施例においては、説明を分シ易くするた
めにアドレス合成器17が示されているが、実際にはミ
ライン1101の出力とライン1202の出力とを並列
に第2アドレスアレイ22に供給し、第2アドレスアレ
イ22中で両者が合成格納されるようにすればよく、外
部に特別な合成器を用いなくてもよい。 また、上述の実施例において、第1バツフアメモリ15
および第1アドレスアレイ12のロー数Rは複数として
説明したが、勿klでもよいに、の場合には一般にセッ
トアソシアティブ方式のかわシにコングルエンド方式と
称される)。 また、本実施例においては、第1対込制御回路16およ
び第21込制御回路26によるリプレースメントアルゴ
リズムとしてFIFO(最も過去に噛:き込まれたブロ
ックデータを更新する夕方式%式% ntly Used :最も以前参照されたブロックデ
ータを更新する)方式、あるいは従来知られているその
他の方式を用いてもよい。また、第1書込制御回路16
と、第2書込制御回路26とにそれぞれ異なるリプレー
スメントアルゴリズムを用いることもできる。 また、上述の実施例の説明においては、簡単にするため
キャッシュからの読出し要求が、プロ。 クアドレスによってブロックデータの単位でなされるよ
うに説明したが、一般には、ブロックアドレス中のワー
ドアドレスまで指定されてワード単位で読出し要求が起
シ、実際に中ヤッシュからはワード単位の読出しが行な
われる。そし°C要求されたワードアドレスを含むブロ
ックのブロックデータがキャッジ−に存在しない場合に
このブロックデータの単位でMMからのデータ転送が行
なわれ、キャッジ−の更新がなされる。しかしこれは本
実施例に対する上述の説明に本質的な差異を生じないこ
とは明らかであろう。 以上述べたように本発明によると、比較的簡単なハード
ウェアを用いて、セ、トアソシアティプ方式とアソシア
ティブ方式の弱点を互いに相補ないあい、それぞれの特
徴を発揮した緩衝記憶制御装置を提供することができる
。 これによりキャッジ−の効率向上を達成できる。
第1図および第2図は本発明の一実施例を示すプロ、り
図である。 図において、 11・・・・・・第1アドレスレジスタ、12・旧・・
第1アドレスアレイ、13−1〜13−几・・団・第1
比較回路、14・・・・・・第1一致検出回路、15・
・・・・・第1バツフアメモリ、16・・団・第1宵込
制御回路、17・・・・・・アドレス合成器、21・・
・・・・第2アドレスレジスタ、22・・・・・・第2
アドレスアレイ、23−1〜23−K・・団・第2比較
回路、24・・・・・・第2一致検出回路、25・・・
・・・第2バツフアメモリ、26・・・・・・第2書込
制御回路、3o・・・・・・データレジスタ、40・・
・・・・制御部。 21 第 2 図
図である。 図において、 11・・・・・・第1アドレスレジスタ、12・旧・・
第1アドレスアレイ、13−1〜13−几・・団・第1
比較回路、14・・・・・・第1一致検出回路、15・
・・・・・第1バツフアメモリ、16・・団・第1宵込
制御回路、17・・・・・・アドレス合成器、21・・
・・・・第2アドレスレジスタ、22・・・・・・第2
アドレスアレイ、23−1〜23−K・・団・第2比較
回路、24・・・・・・第2一致検出回路、25・・・
・・・第2バツフアメモリ、26・・・・・・第2書込
制御回路、3o・・・・・・データレジスタ、40・・
・・・・制御部。 21 第 2 図
Claims (1)
- セットアソシアティブ方式で制御される第1緩衝記憶装
置と、アソシアティブ方式で制御される第2緩衝記憶装
置と、緩衝記憶装置へのデータ転送に際し前記第1緩衝
記憶装置に格納されたデータの置換えが必要になった場
合に、それまで前記第1緩衝記憶装置中に格納されてい
たデータを前記第2緩衝記憶装置に転送格納するように
制御することを特徴とする緩衝記憶制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58201381A JPS6093562A (ja) | 1983-10-27 | 1983-10-27 | 緩衝記憶制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58201381A JPS6093562A (ja) | 1983-10-27 | 1983-10-27 | 緩衝記憶制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6093562A true JPS6093562A (ja) | 1985-05-25 |
Family
ID=16440133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58201381A Pending JPS6093562A (ja) | 1983-10-27 | 1983-10-27 | 緩衝記憶制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6093562A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288615A (ja) * | 1996-04-24 | 1997-11-04 | Nec Corp | キャッシュメモリ装置 |
-
1983
- 1983-10-27 JP JP58201381A patent/JPS6093562A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288615A (ja) * | 1996-04-24 | 1997-11-04 | Nec Corp | キャッシュメモリ装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3620473B2 (ja) | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 | |
US6381668B1 (en) | Address mapping for system memory | |
EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
US7260674B2 (en) | Programmable parallel lookup memory | |
US20030236947A1 (en) | Prevention of conflicting cache hits without an attendant increase in hardware | |
US7406579B2 (en) | Selectively changeable line width memory | |
JPS6111865A (ja) | メモリアクセス制御方式 | |
JPH0529945B2 (ja) | ||
EP0706132A2 (en) | Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line | |
JPS6093562A (ja) | 緩衝記憶制御装置 | |
US20010034808A1 (en) | Cache memory device and information processing system | |
JPH0421222B2 (ja) | ||
JPH0210446A (ja) | バッファ記憶装置 | |
JPS5847784B2 (ja) | キ−記憶システム | |
JP3273799B2 (ja) | 拡張記憶装置用キャッシュメモリ | |
JPH0511331B2 (ja) | ||
JPH02176839A (ja) | 情報処理装置 | |
JPH02304649A (ja) | キャッシュメモリ高速アクセス方式 | |
JPH06243045A (ja) | キャッシュメモリ | |
JPS60221855A (ja) | リプレース制御装置 | |
JPH02171944A (ja) | バッファ記憶装置 | |
JPH01276348A (ja) | 2次キャッシュメモリ方式 | |
JPH0635801A (ja) | 階層メモリ制御方式 | |
JPS60151747A (ja) | マイクロプログラム制御装置 | |
JPH03205680A (ja) | 行列配置の複数の記憶セルを有する記憶装置 |