JPH06124240A - キャッシュメモリ制御方法 - Google Patents

キャッシュメモリ制御方法

Info

Publication number
JPH06124240A
JPH06124240A JP4275825A JP27582592A JPH06124240A JP H06124240 A JPH06124240 A JP H06124240A JP 4275825 A JP4275825 A JP 4275825A JP 27582592 A JP27582592 A JP 27582592A JP H06124240 A JPH06124240 A JP H06124240A
Authority
JP
Japan
Prior art keywords
state
main memory
block
cache memory
memory
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
JP4275825A
Other languages
English (en)
Inventor
Yasutomo Sakurai
康智 桜井
Kiyoshi Sudo
清 須藤
Kiminari Ogura
仁成 小椋
Tatsuya Yamaguchi
達也 山口
Koichi Odawara
孝一 小田原
Kenji Hoshi
健二 星
Eiji Kanetani
英治 金谷
Takumi Nonaka
巧 野中
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 JP4275825A priority Critical patent/JPH06124240A/ja
Publication of JPH06124240A publication Critical patent/JPH06124240A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 主記憶キーにより仮想アドレス制御をするマ
ルチプロセッサシステムのキャッシュメモリ制御装置に
関し,主記憶へ直接アクセスする回数を少なくすること
を目的とする。 【構成】 スワップアウト処理を行うものであって,キ
ャッシュメモリ12と主記憶1と同じ状態であって主記
憶キーは未変更である専有未変更主記憶キー未変更の状
態と,キャッシュメモリと主記憶と同じ状態であって主
記憶キーは変更済の専有未変更主記憶キー変更済の状態
とをブロックの状態として設け,中央処理装置6からの
主記憶1に対するライトアクセスがキャッシュメモリ1
2の専有未変更ブロックにヒットした場合はキャッシュ
メモリ12および主記憶1にライトするとともにブロッ
クの状態を専有未変更主記憶キー変更済の状態とする構
成を持つ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,主記憶キーにより仮想
アドレス制御をするマルチプロセッサシステムのキャッ
シュメモリ制御方法に関する。
【0002】キャッシュメモリを備えたシステムでは,
主記憶アクセスがキャッシュメモリにヒットした場合に
は高速にライトもしくはリードできるが,ミスヒットの
場合にはブロック補充のためブロックをリプレースする
必要がある時,リプレースブロックのデータを主記憶に
書き戻す(スワップアウト)必要がある。この主記憶に
直接アクセスする動作は遅いためキャッシュメモリを備
えたシステムではキャッシュメモリのヒット率向上,及
びブロック入替えの効率化が非常に重要な課題とされて
いる。
【0003】
【従来の技術】従来のキャッシュメモリ制御装置を説明
する。従来のキャッシュメモリを持つマルチプロセッサ
システムの仮想アドレス制御は,主記憶をぺージ単位に
分割し,ページ毎に主記憶の参照,変更を管理する主記
憶キーにより行われている。
【0004】図4は従来のキャッシュメモリ制御装置を
示す。図において,100は主記憶であって,外部記憶
装置101から主記憶100にデータが書き込まれた時
にページが書き換えられたかどうかを判定するための主
記憶キーを持つものである。101は外部記憶装置であ
って,ページ単位の仮想記憶データを保持するものであ
る。102は外部記憶入出力制御部である。103は主
記憶100と複数のCPUモジュール(1) , (n)等が接
続される共通バスである。104(1) はCPUモジュー
ル(1) (ユニット1)であって,中央処理装置106と
主記憶アクセス制御部105を備え,主記憶100への
アクセス制御を行うものである。104’(n) はCPU
モジュール(n) であって,n番目のCPUモジュール
(ユニットn)である。
【0005】CPUモジュール(1) 104(1) におい
て,105は主記憶アクセス制御部であって,ヒットも
しくはミスヒットを判定し,キャッシュメモリ113へ
のリードもしくはライト,主記憶100へのリードもし
くはライトを行うものである。106は中央処理装置で
ある。
【0006】主記憶アクセス制御部105において,1
10はバス制御回路であって,主記憶100への直接ア
クセスのための制御を行うものである。110’はバス
監視回路であって,CPUモジュール (n)(他ユニット
と称する)からのアクセスを監視するものである。11
1はマルチプレクサであって,中央処理装置106また
は他ユニットから共通バス103を介してアクセスされ
るアドレスを切り換えるものである。112は中央処理
装置もしくは他ユニットからアクセスされるアドレスを
保持するアドレスバッファである。113はキャッシュ
メモリである。114はタグメモリであって,タグ情報
(例えば,アドレスバッファ112に保持されたアドレ
スの上位アドレスをデータとして持ち,アドレスバッフ
ァ112の下位アドレスをブロック番地とする)であ
る。タグ情報はデータの状態情報を持つ(状態情報につ
いては後述する)。115はバッファメモリであって,
タグメモリ114のブロックに対応してデータを保持す
るものである。116は比較回路であって,アドレスバ
ッファ112の上位アドレスとタグメモリ114のタグ
情報(アドレスバッファ112の下位アドレスの値に等
しい番地のデータ(上位アドレス))を比較するもので
ある。117はリプレース制御回路であって,比較回路
116の比較結果がミスヒットであってブロックを補充
する際,空きブロックがないためブロックの1つをリプ
レースする時にタグメモリ114とバッファメモリ11
5にリプレース信号を出力するものである。118はリ
クエスト制御回路であって,キャッシュメモリ113の
リプレースブロックのデータをスワップアウトして主記
憶100に書き戻す際,中央処理装置106に対してリ
クエスト抑止信号を出力する等を行うものである。11
9は状態遷移回路であって,タグ情報における状態情報
と,比較回路116からのヒット信号もしくはミスヒッ
ト信号,中央処理装置106からのライト信号もしくは
リード信号を入力し,タグ情報の状態情報を変更するも
のである。
【0007】図のキャッシュメモリ制御装置の動作を説
明する。 リードの場合。 中央処理装置106はリードするアドレスをアドレスバ
ッファ112に転送する。比較回路116はアドレスバ
ッファ112の上位アドレス(A)とその下位アドレス
(B)の値に等しいタグメモリ114の番地のタグ情報
(上位アドレス(A))を比較し,リードすべきアドレ
スのデータがキャッシュメモリ113に格納されている
かを判定する。
【0008】キャッシュメモリ113に該当するブロッ
クがあれば,中央処理装置106はキャッシュメモリ1
13からリードする(リードヒット)。該当するブロッ
クがなければ(ミスヒット),主記憶100からキャッ
シュメモリ113にリードし,中央処理装置106にリ
ードする。
【0009】この時,キャッシュメモリ113に主記憶
100からリードして格納する空きブロックがないと,
キャッシュメモリ113において最も古いブロック(最
も古くデータを格納したブロック)を認識する。そし
て,そのブロックのデータが主記憶の内容と異なってい
る時は,そのブロックの内容を主記憶100に書き戻し
(スワップアウト),そのブロック(バッファメモリ1
15の該当ブロック)に主記憶100からリードしたデ
ータを格納する。そして,そのブロックから中央処理装
置106にリードする。また,リプレースするキャッシ
ュメモリ113のブロックのデータと主記憶100のデ
ータが一致している場合には,そのブロックにリードす
べきデータを主記憶100からリードし(ブロックの元
のデータに上書きする),そのブロックから中央処理装
置106にリードする。
【0010】 ライトの場合。 キャッシュメモリ113に該当ブロックがあればそこに
ライトする(ライトヒット)。該当ブロックが無ければ
(ミスヒット),ブロックを補充し主記憶100からデ
ータをリードし,そこにライトする。
【0011】この時,キャッシュメモリ113に空きブ
ロックが無いと,最も古いブロックを認識する。そし
て,そのブロックの内容が主記憶100の内容と異なっ
ている時は,その内容を主記憶100に書き戻し(スワ
ップアウト)し,主記憶100のアクセスすべきアドレ
スのデータをその補充ブロック(リプレースブロック)
にリードし,そこにライトすべきデータを上書きする。
【0012】このようなキャッシュメモリを備えたプロ
セッサのマルチプロセッサシステムにおけるスワップ方
式のキャッシュメモリ制御装置は複数個のキャッシュメ
モリ間に矛盾がないように制御する必要がある。そのた
めに,通常はタグ情報に状態情報を付加し制御するよう
にしている。そして,状態遷移回路119はライトヒッ
トもしくはリードヒットに応じて,それぞれの主記憶ア
クセス後の状態を変更するようにしている。
【0013】状態情報を付加する制御方法の1例を説明
する。次の4種類の状態を定める。 (1) P(Private clean)(専有未変
更)。
【0014】キャッシュメモリ間にコピーが無くて(唯
1個のキャッシュメモリにのみ格納されている),主記
憶と同じ内容である。 (2) D(Private Dirty)(専有変更
済)。
【0015】キャッシュメモリ間にコピーが無くて(唯
1個のキャッシュメモリにのみ格納されている),主記
憶と異なる内容である。 (3) S(Shared clean)(共有未変
更)。
【0016】キャッシュメモリ間にコピーがあり,主記
憶と同じ内容である。 (4) I(Invalid)(無効)。 無効ブロックである(例えば,複数キャッシュメモリ間
にデータが保持されていた状態において,1つのキャッ
シュメモリが書き換えられたような場合,他のキャッシ
ュメモリのブロックを無効ブロックとする。あるいは,
内容の無いブロック(空きのブロック)を無効ブロック
とする)。
【0017】各状態での動作は以下の通りである。 (1) P(専有未変更) リード:キャッシュメモリからリードされる。状態は不
変である。
【0018】ライト:キャッシュメモリにのみライトす
る。状態はDになる。 (2) D(専有変更済)。 リード:キャッシュメモリからリードされる。状態は不
変である。
【0019】ライト:キャッシュメモリのみにライトす
る。状態は不変である。 (3) S(共有未変更)。 リード:キャッシュメモリからリードされる。状態は不
変である。
【0020】ライト:キャッシュメモリへライトすると
ともに,主記憶へもライトする。状態はDとする(本来
なら,状態Pとすべきものであるが,状態をDとす
る)。他のキャッシュメモリのブロックは無効化する。
【0021】(4) I(無効)。 リード:主記憶からキャッシュメモリにリードし,さら
に中央処理装置にリードする。状態はSとする(本来は
状態Pとすべきものであるが,状態Sとする)。
【0022】ライト:主記憶からキャッシュメモリにリ
ードし,その後,キャッシュメモリにライトし,主記憶
にもライトする。状態はDとする(本来は,状態Pとす
べきものであるが,状態Dとする)。
【0023】次に,図5により状態遷移回路の動作を説
明する。 (a)は中央処理装置アクセス時の状態遷移を示す。 中央処理装置からのアクセスの場合は,状態P,状態S
のライトヒットは状態Dにするとともに主記憶にライト
する()。状態Dのライトヒットは状態不変とする。
状態I(無効ブロック)に対するライトミスヒットは状
態Dとし,主記憶にライトする()。状態Iのリード
ミスヒットは状態Sとする。
【0024】(b)は他ユニット(他のキャッシュメモリ
制御装置)からのアクセスの場合の状態遷移を示す。 他ユニットから共通バスによりアクセスされた場合は,
状態P,状態D,状態Sのライトヒットは状態Iとする
(他ユニットのブロックで有効なデータを保持すること
になるので,ライトヒットしたブロックは無効とす
る)。状態D,状態Pのリードヒットは状態Sとする
(他ユニットにおいてリードのためにリードヒットした
ユニットのブロックのデータを保持することとなるので
状態Sとなる)。また,状態Sのリードヒットは状態を
変更されない。
【0025】
【課題を解決するための手段】従来の仮想記憶システム
においては,主記憶上のデータに対して主記憶キーを持
つようにしている。そして,主記憶のデータが変更され
たらそのページに対応する主記憶キーの変更ビットをオ
ンとし,ページを入れ替える時にその内容を外部記憶装
置に戻す。また,もし,そのページの内容が変更されな
い場合には主記憶キーの変更ビットをオフのままとし,
ページの入れ替えにおいても外部記憶装置にデータを戻
すことはしない。
【0026】仮想記憶方式でない場合には,専有未変更
ブロックにライトヒットした場合には,キャッシュメモ
リのブロックにはデータを書き込むとともに状態情報を
専有変更済(D)として主記憶にはすぐには書き込まな
い。また,ライトミスヒットでブロックを補充しそこに
ライトデータを書いても,主記憶にはすぐにはライトし
ない。そのため,この方法をそのまま仮想記憶システム
で行った場合には,ライトが主記憶に反映されないので
主記憶キーの変更ビットがオフのままで変更されず,ペ
ージの入れ替えにおいて正しいデータが外部記憶装置に
戻されないこととなる。
【0027】そのため,従来の専有未変更ブロックに対
するライトヒットは,キャッシュメモリのブロックとと
もに主記憶にもライトし,主記憶キーの変更ビットをオ
ンとするようにしていた。そして,専有未変更ブロック
(P),共有未変更ブロック(S)に対するライトヒッ
トおよび無効ブロックに対するライトミスヒットも専有
変更済(D)としていたため,その後にそのブロックに
対するライトアクセスがない場合にも,主記憶とキャッ
シュメモリの内容は一致しているにも係わらず,リプレ
ースする場合は必ず主記憶へスワップアウトしなければ
ならなかった。
【0028】そのため,従来のキャッシュメモリ制御装
置は主記憶へ直接アクセスする回数が多く,能率の悪い
ものであった。本発明は,主記憶へ直接アクセス回数の
少ないキャッシュメモリ制御装置を提供することを目的
とする。
【0029】
【発明が解決しようとする課題】本発明は,主記憶キー
の変更の有無を考慮してブロックの状態を分けるように
した。
【0030】例えば,専有未変更(P)を主記憶キーを
変更しない状態と主記憶キーを変更する状態の2つに分
けるようにする。次にそのようにして状態を5つに分け
た場合を例として示す。
【0031】(1) 専有未変更主記憶キー未変更(P) キャッシュメモリ間にコピーがなくて主記憶と同じ内容
である。そのブロックが所属するページの主記憶キーは
未変更である。
【0032】(2) 専有未変更主記憶キー変更済(C) キャッシュメモリ間にコピーがなくて主記憶と同じ内容
である。そのブロックが所属するページの主記憶キーは
変更済である。
【0033】(3) 専有変更済(D) キャッシュメモリ間にコピーがなくて主記憶と異なる内
容である。 (4) 共有未変更(S) キャッシュメモリ間にコピーが有り,主記憶と同じ内容
である。
【0034】(5) 無効(I) 無効ブロックの状態,および内容のない状態。 各状態の動作を次のようにした。
【0035】(1) 専有未変更主記憶キー未変更(P) リード:キャッシュメモリからリードされる。状態は不
変。 ライト:キャッシュメモリへライトするとともに,主記
憶へもライトする。状態はCになる。
【0036】(2) 専有未変更主記憶キー変更済(C) リード:キャッシュメモリからリードされる。状態は不
変。 ライト:キャッシュメモリのみにライトする。状態はD
になる。
【0037】(3) 専有変更済(D) リード:キャッシュメモリからリードされる。状態は不
変。 ライト:キャッシュメモリのみにライトする。状態は不
変。
【0038】(4) 共有未変更(S) リード:キャッシュメモリからリードされる。状態は不
変。 ライト:キャッシュメモリへライトするとともに,主記
憶へもライトする。状態はCになる。
【0039】(5) 無効(I) リード:そのブロックを他ユニットが保持している場合
には,主記憶からキャッシュメモリおよび中央処理装置
にリードされる。状態はSになる。
【0040】そのブロックが主記憶にのみ存在する場合
には,主記憶からキャッシュメモリおよび中央処理装置
にリードされる。状態はPになる。 ライト:主記憶からキャッシュメモリにリードし,その
後キャッシュメモリおよび主記憶にライトする。状態は
Cになる。
【0041】図1は本発明の基本構成を示す(状態遷移
は上記の例による)。図において,1は主記憶,2は外
部記憶装置,3は共通バス,4はCPUモジュール(1)
(ユニット1),4’はCPUモジュール (n)(ユニッ
トn)である。
【0042】CPUモジュール(1) 4において,5は主
記憶アクセス制御装置,6は中央処理装置である。主記
憶アクセス制御装置5において,10はバス制御部であ
って,主記憶1に対するリード制御,ライト制御を行う
ものである。11はアドレスバッファであって,中央処
理装置6からのアドレスを保持するものである。12は
キャッシュメモリであって,タグ情報(アドレスと状態
情報を含む)とデータを格納するものである。15は比
較回路であって,アドレスバッファ11のアドレスとタ
グ情報を比較し,主記憶1に対するアクセスがヒットし
たかミスヒットしたかを判定するものである。16は状
態遷移部であって,キャッシュメモリ12から状態情
報,比較回路15からヒット信号もしくはミスヒット信
号,中央処理装置6からライト信号もしくはリード信
号,バス制御部10から他ユニットのライト信号もしく
はリード信号を入力し,状態情報を変更して,キャッシ
ュメモリに書き戻すものである。17はキャッシュメモ
リ制御部であって,リプレース信号の発生,リクエスト
抑止信号の発生等を行うものである。
【0043】
【作用】図1の構成の動作を説明する。 リードの場合。
【0044】中央処理装置6はリードするアドレスをア
ドレスバッファ11に転送する。比較回路15はアドレ
スバッファ11のアドレスとキャッシュメモリ12のア
ドレスを比較する。他ユニットn(4')からアクセスされ
る場合はバス制御部10がアドレスバッファ11にアド
レスを格納する。
【0045】キャッシュメモリ12に該当するブロック
があれば,中央処理装置6はキャッシュメモリ12から
リードする(リードヒット)。該当するブロックがなけ
れば(ミスヒット),主記憶1からキャッシュメモリ1
2にリードし,中央処理装置6にリードする。
【0046】この時,キャッシュメモリ12に主記憶1
からリードして格納する空きブロックがないと,キャッ
シュメモリ12のブロックの1つを選択し,ブロックの
データが主記憶の内容と異なっている時は,そのブロッ
クの内容を主記憶1に書き戻し(スワップアウト),そ
して,そのブロックに主記憶1からリードしたデータを
格納し,そのブロックから中央処理装置6にリードす
る。また,キャッシュメモリ12のリプレースするブロ
ックのデータと主記憶1のデータが一致している場合に
は,そのブロックにリードすべきデータを主記憶1から
リードし(ブロックの元のデータに上書きする),その
ブロックから中央処理装置6にリードする。
【0047】また,中央処理装置6からのアクセスの場
合,状態遷移部16は,状態情報,比較回路15からヒ
ット信号もしくはライト信号,中央処理装置6からライ
ト信号もしくはリード信号を入力し,状態を変更して,
キャッシュメモリ12に書き戻しする。他ユニットn
(4')からのアクセスの場合には,状態情報,比較回路か
らヒット信号もしくはライト信号,バス制御部10から
ライト信号もしくはリード信号を入力し,状態を変更し
て,キャッシュメモリ12に書き戻す。
【0048】 ライトの場合。 キャッシュメモリ12に該当ブロックがあればそこにラ
イトする(ライトヒット)。該当ブロックが無ければ
(ミスヒット),ブロックを補充し主記憶1からデータ
をリードし,そこにライトする。
【0049】この時,キャッシュメモリ12に空きブロ
ックが無いと,ブロックの1つを選択する。そして,そ
のブロックの内容が主記憶1の内容と異なっている時
は,そのブロックの内容を主記憶1に書き戻し(スワッ
プアウト),主記憶1のアクセスすべきアドレスのデー
タをその補充ブロック(リプレースブロック)にリード
し,そこにライトすべきデータを上書きする。
【0050】状態遷移部16はリードの場合と同様に,
状態情報,比較回路15からヒット信号もしくはライト
信号,中央処理装置6もしくはバス制御部10からのラ
イト信号もしくはリード信号を入力し,状態を変更し
て,キャッシュメモリ12に書き戻しする。
【0051】図2により状態遷移部16の動作を説明す
る。図2は,上記の状態遷移の例を図に表したものであ
る。図 (a)は中央処理装置からのアクセス時の状態遷移
を示す。
【0052】状態Pでライトヒットした場合は主記憶及
びキャッシュメモリにライトするとともに状態Cに遷移
し,状態Sでライトヒットした場合は主記憶及びキャッ
シュメモリにライトするとともに状態Cに遷移し,状態
Cでライトヒットした場合はキャッシュメモリにライト
するとともに状態Dに遷移し,状態Iでライトミスヒッ
トした場合は主記憶及びキャッシュメモリにライトする
とともに状態Cに遷移する。
【0053】状態P,状態C,状態Dおよび状態Sでリ
ードヒットした場合には状態を変更しない。状態Iでリ
ードミスヒットした場合は他ユニットに同じブロックデ
ータを保持している場合は状態Sに遷移し,他ユニット
に同じブロックデータを保持していない場合は状態Pに
遷移する。。
【0054】図 (b)は他ユニットによるバスアクセス時
の状態遷移を示す。状態P,状態C,状態Sおよび状態
Dで他ユニットからのアクセスでライトヒットした場合
はそれぞれ状態Iに遷移する。
【0055】状態P,状態C,状態Dで他ユニットのア
クセスにおいてリードヒットした場合は状態Sに遷移す
る。また,状態Sでは変更されない。なお,専有変更済
ブロック(D)に対してキャッシュメモリを備えない他
のCPUモジュールからのブロックリードアクセスが発
生した場合は,その専有変更済ブロック(D)の内容を
主記憶(1) ヘスワップアウトするとともに,ブロックの
状態を専有未変更主記憶キー変更済(C)とする。ま
た,専有未変更主記憶キー変更済ブロック(C)に対し
てキャッシュメモリを備えない他のCPUモジュールか
らリードアクセスが発生した場合は,そのブロックの状
態を不変とする。さらに,専有未変更主記憶キー変更済
ブロック(C)に対して他のCPUモジュール(キャッ
シュメモリを備えていても備えていなくても良い)から
ブロックリードアクセスが発生した場合そのブロックの
状態を無効(I)とする(他のCPUモジュールからの
データは主記憶に書き込まれるので,対応するブロック
を無効とする)。
【0056】本発明によれば,従来の専有未変更ブロッ
クに対して,主記憶キーを変更しない専有未変更主記憶
キー未変更(P)と専有未変更主記憶キー変更済(C)
を設けるようにしたので,専有未変更ブロック,共有変
更済ブロック(S)に対するライトヒット,無効ブロッ
ク(I)に対するライトミスヒット等の場合に共有変更
済(D)へ変更する必要がない。そのため,ブロックの
リプレースにおいて,従来必要とされていた無駄なスワ
ップアウトをなくすことができ,システムが効率的に動
作するようになる。
【0057】
【実施例】図3は本発明の実施例を示す。図において,
50は主記憶,51はディスク装置,52はディスク入
出力制御装置である。53は主記憶50とCPUモジュ
ール(1) 54と複数のユニット (n)54’の共通バスで
ある。54はCPUモジュール(1) (ユニット1)であ
る。54’はユニット (n)であって,共通バス53に接
続されたn番目のユニットであって,キャッシュメモリ
を備えたもの,もしくはキャッシュメモリを備えないも
のである。
【0058】CPUモジュール(1) 54において,55
は主記憶アクセス制御部であって,ヒットもしくはミス
ヒットを判定し,キャッシュメモリ63へのリードもし
くはライト,主記憶50へのリードもしくはライトを行
うものである。56は中央処理装置である。
【0059】主記憶アクセス制御部55において,60
はバス制御回路であって,主記憶50への直接アクセス
のための制御を行うものである。60’はバス監視回路
であって,他ユニットn(54’)からのアクセスを監
視するものである。61はマルチプレクサであって,中
央処理装置56または他ユニットn(54’)から共通
バス53を介してアクセスされるアドレスを切り換える
ものである。62は中央処理装置56もしくは他ユニッ
トn(54’)からアクセスされるアドレスを保持する
ものである。63はキャッシュメモリである。64はタ
グメモリであって,タグ情報(例えば,アドレスバッフ
ァ62に保持されたアドレスの上位アドレスをデータと
して持ち,アドレスバッファ62の下位アドレスの値を
ブロック番地とする)である。タグ情報はデータの状態
情報を持つ。65はバッファメモリであって,タグメモ
リ64のブロックに対応してデータを保持するものであ
る。66は比較回路であって,アドレスバッファ62の
上位アドレスとタグメモリ64のタグ情報(アドレスバ
ッファ62の下位アドレスの値に等しいタグメモリ64
の番地のデータ(上位アドレス))を比較するものであ
る。67はリプレース制御回路であって,比較回路66
の比較結果がミスヒットであってブロックを補充する
際,空きブロックがない時,ブロックの1つをリプレー
スする時にタグメモリ64とバッファメモリ65にリプ
レース信号を出力するものである。68はリクエスト制
御回路であって,キャッシュメモリ63のリプレースブ
ロックのデータをスワップアウトして主記憶50に書き
戻す際,中央処理装置56に対してリクエスト抑止信号
を出力する等を行うものである。69は状態遷移回路で
あって,論理回路により構成される。状態遷移回路69
は状態情報,比較回路66からのヒット信号もしくはミ
スヒット信号,中央処理装置56もしくはバス制御回路
60からのライト信号もしくはリード信号を入力して状
態遷移の論理に従う状態信号を出力するように構成さ
れ,タグ情報の状態情報を書き換えるものである。
【0060】図のキャッシュメモリ制御装置の動作を説
明する。 リードの場合。 中央処理装置56はリードするアドレスをアドレスバッ
ファ62に転送する。比較回路66はアドレスバッファ
62の上位アドレス(A)とその下位アドレス(B)の
値に等しいタグメモリ64の番地のタグ情報(上位アド
レス(A))を比較し,リードすべきアドレスのデータ
がキャッシュメモリ63に格納されているかを判定す
る。
【0061】キャッシュメモリ63に該当するブロック
があれば,中央処理装置56はキャッシュメモリ63か
らリードする(リードヒット)。該当するブロックがな
ければ(ミスヒット),主記憶50からキャッシュメモ
リ63にリードし,中央処理装置56にリードする。
【0062】この時,キャッシュメモリ63に主記憶5
0からリードして格納する空きブロックがないと,キャ
ッシュメモリ63においてブロックを1つ選択する。そ
して,選択されたブロックのデータが主記憶の内容と異
なっている時は,そのブロックの内容を主記憶50に書
き戻し(スワップアウト),そのブロック(バッファメ
モリ65の該当ブロック)に主記憶50からリードした
データを格納する。そして,そのブロックから中央処理
装置56にリードする。また,リプレースするキャッシ
ュメモリ63のブロックのデータと主記憶50のデータ
が一致している場合には,そのブロックにリードすべき
データを主記憶50からリードし(ブロックの元のデー
タに上書きする),そのブロックから中央処理装置56
にリードする。
【0063】 ライトの場合。 キャッシュメモリ63に該当ブロックがあればそこにラ
イトする(ライトヒット)。該当ブロックが無ければ
(ミスヒット),ブロックを補充し主記憶50からデー
タをリードし,そこにライトする。
【0064】この時,キャッシュメモリ63に空きブロ
ックが無いと,キャッシュメモリ63においてブロック
を1つ選択する。そして,そのブロックが主記憶50の
内容と異なっている時は,その内容を主記憶50に書き
戻し(スワップアウト),主記憶50のアクセスすべき
アドレスのデータをその補充ブロック(リプレースブロ
ック)にリードし,そこにライトすべきデータを上書き
する。
【0065】図3の構成における状態遷移回路69の動
作は,例えば,図2の状態遷移に従って遷移するように
論理回路の論理が構成される。従って,図2の説明にお
ける場合と同様であるので説明は省略する。
【0066】
【発明の効果】本発明によれば,スワップ方式の仮想記
憶によるマルチプロセッサシステムにおいて,主記憶キ
ーの変更を必要とする状態への遷移を,スワップアウト
を必要としない状態に遷移させるようにしたので,主記
憶へ直接アクセスする動作を減少させることができる。
そのため,システムの動作効率を向上させることができ
る。
【図面の簡単な説明】
【図1】本発明の基本構成を示す図である。
【図2】本発明の状態遷移の例を示す図である。
【図3】本発明の実施例を示す図である。
【図4】従来のキャッシュメモリ制御装置を示す図であ
る。
【図5】従来のマルチプロセッサの仮想記憶システムに
おける状態遷移図である。
【符号の説明】
1 :主記憶 2 :外部記憶装置 3 :共通バス 4 :CPUモジュール(1) 4’:CPUモジュール(n) 5 :主記憶アクセス制御装置 6 :中央処理装置 10:バス制御部 11:アドレスバッファ 12:キャッシュメモリ 15:比較回路 16:状態遷移部 17:キャッシュメモリ制御部
フロントページの続き (72)発明者 山口 達也 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 小田原 孝一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 星 健二 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 金谷 英治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 野中 巧 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 主記憶(1) と複数のCPUモジュール
    (4) ,(4')を備え,主記憶(1) をページ単位に分割し,
    ページの内容の変更の有無を主記憶キーにより管理する
    仮想記憶システムにおいて,該CPUモジュール(4) は
    複数の中央処理装置(6) とキャッシュメモリ(12)を備え
    る主記憶アクセス制御部(5) とを備え,該主記憶アクセ
    ス制御部(5) は複数のCPUモジュール(4) ,(4')に対
    応して設けられ,中央処理装置(6) からのアドレスを保
    持するアドレスバッファ(11)と,キャッシュメモリ(12)
    のブロックの状態情報を含むタグ情報とデータを格納す
    るキャッシュメモリと,該状態情報を変更する状態遷移
    部(16)とを備え,キャッシュメモリ(12)の内容と主記憶
    (1) の内容が一致しない変更済の状態を表すブロックを
    リプレースする時は,該ブロックの内容を読み出して主
    記憶(1)に書き込むスワップアウト処理を行うものであ
    って,キャッシュメモリ(12)と主記憶(1) と同じ内容で
    あって主記憶キーは未変更である専有未変更主記憶キー
    未変更の状態と,キャッシュメモリと主記憶と同じ内容
    であって主記憶キーは変更済の専有未変更主記憶キー変
    更済の状態とをブロックの状態として設け,中央処理装
    置(6) からの主記憶(1) に対するライトアクセスがキャ
    ッシュメモリ(12)の専有未変更ブロックにヒットした場
    合はキャッシュメモリ(12)および主記憶(1) にライトす
    るとともにブロックの状態を専有未変更主記憶キー変更
    済の状態とすることを特徴とするキャッシュメモリ制御
    方法。
  2. 【請求項2】 請求項1において,ブロックの状態を,
    キャッシュメモリ間にコピーがなくて主記憶と同じ内容
    であって主記憶キーは未変更の専有未変更主記憶キー未
    変更の状態(P)と,キャッシュメモリ間にコピーがな
    くて主記憶と同じ内容であって主記憶キーは変更済の専
    有未変更主記憶キー変更済の状態(C)と,キャッシュ
    メモリ間にコピーがなくて主記憶と異なる専有変更済の
    状態(D)と,キャッシュメモリ間にコピーが有り,主
    記憶と同じ内容である共有未変更の状態(S)と,無効
    ブロックの状態(I)の状態に分け,状態遷移部(16)
    は,状態Pでライトヒットした場合は主記憶及びキャッ
    シュメモリにライトするとともに状態Cに遷移させ,状
    態Sでライトヒットした場合は主記憶及びキャッシュメ
    モリにライトにするとともに状態Cに遷移させ,状態C
    でライトヒットした場合はキャッシュメモリにライトす
    るとともに状態Dに遷移させ,状態Iでライトミスヒッ
    トした場合はブロック補充し主記憶及びキャッシュメモ
    リにライトするとともに状態Cに遷移させることを特徴
    とするキャッシュメモリ制御方法。
  3. 【請求項3】 請求項2において,状態遷移部(16)は,
    状態P,状態C,状態Dおよび状態Sでリードヒットし
    た場合には状態を変更せず,状態Iでリードミスヒット
    した場合は他ユニットに同じブロックデータを保持して
    いる場合は状態Sに遷移させ,他ユニットに同じブロッ
    クデータを保持していない場合は状態Pに遷移させるこ
    とを特徴とするキャッシュメモリ制御方法。
  4. 【請求項4】 請求項2において,状態遷移部(16)は,
    状態P,状態C,状態Sおよび状態Dで他ユニットから
    のアクセスでライトヒットした場合はそれぞれ状態Iに
    遷移させることを特徴とするキャッシュメモリ制御方
    法。
  5. 【請求項5】 請求項2において,状態遷移部(16)は,
    状態P,状態C,状態Dで他ユニットのアクセスにおい
    てリードヒットした場合は状態Sに遷移させ,状態Sで
    は変更しないことを特徴とするキャッシュメモリ制御方
    法。
  6. 【請求項6】 請求項1において,専有変更済ブロック
    に対してキャッシュメモリを備えない他のCPUモジュ
    ールからのブロックリードアクセスが発生した場合は,
    その専有変更済ブロックの内容を主記憶(1) ヘスワップ
    アウトするとともに,ブロックの状態を専有未変更主記
    憶キー変更済とすることを特徴とするキャッシュメモリ
    制御方法。
  7. 【請求項7】 請求項1において,専有未変更主記憶キ
    ー変更済ブロックに対してキャッシュメモリを備えない
    他のCPUモジュールからリードアクセスが発生した場
    合は,そのブロックの状態を不変とすることを特徴とす
    るキャッシュメモリ制御方法。
  8. 【請求項8】 請求項1において,専有未変更主記憶キ
    ー変更済ブロックに対してキャッシュメモリを備える他
    のCPUモジュールからブロックリードアクセスが発生
    した場合は,そのブロックの状態を共有未変更とするこ
    とを特徴とするキャッシュメモリ制御方法。
  9. 【請求項9】 請求項1において,専有未変更主記憶キ
    ー変更済ブロックに対して他のCPUモジュールからブ
    ロックリードアクセスが発生した場合は,そのブロック
    の状態を無効とすることを特徴とするキャッシュメモリ
    制御方法。
JP4275825A 1992-10-14 1992-10-14 キャッシュメモリ制御方法 Withdrawn JPH06124240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4275825A JPH06124240A (ja) 1992-10-14 1992-10-14 キャッシュメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4275825A JPH06124240A (ja) 1992-10-14 1992-10-14 キャッシュメモリ制御方法

Publications (1)

Publication Number Publication Date
JPH06124240A true JPH06124240A (ja) 1994-05-06

Family

ID=17560955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4275825A Withdrawn JPH06124240A (ja) 1992-10-14 1992-10-14 キャッシュメモリ制御方法

Country Status (1)

Country Link
JP (1) JPH06124240A (ja)

Similar Documents

Publication Publication Date Title
US4410944A (en) Apparatus and method for maintaining cache memory integrity in a shared memory environment
JPH05210585A (ja) キャッシュ管理システム
JP4445081B2 (ja) キャッシュ・メモリ
JPH06124240A (ja) キャッシュメモリ制御方法
JPH05282208A (ja) キャッシュメモリ制御方式
JPH0210446A (ja) バッファ記憶装置
JP2703255B2 (ja) キャッシュメモリ書込み装置
JPH0795307B2 (ja) キャッシュメモリ制御回路
JP2963257B2 (ja) 処理装置
JPH04288647A (ja) キャッシュメモリにおける置き換え制御装置
JPH05342107A (ja) キャッシュメモリ制御装置
JP2923273B2 (ja) データ処理システム
JPH07152650A (ja) キャッシュ制御装置
JP3074897B2 (ja) メモリ回路
JPS5818710B2 (ja) 記憶システム
JPS62145342A (ja) キヤツシユメモリシステム
JPH0528047A (ja) キヤツシユメモリ制御方式
JPH01226056A (ja) アドレス変換回路
JP2864548B2 (ja) 命令キャッシュ装置
JP2791319B2 (ja) データ処理装置
JPH0573414A (ja) キヤツシユメモリ制御方式
JPH03257643A (ja) 情報処理装置
JPH04235648A (ja) 論理キャッシュメモリ装置
JPH0756812A (ja) メモリ装置
JPH02156352A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000104