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

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

Info

Publication number
JPH0816885B2
JPH0816885B2 JP5122191A JP12219193A JPH0816885B2 JP H0816885 B2 JPH0816885 B2 JP H0816885B2 JP 5122191 A JP5122191 A JP 5122191A JP 12219193 A JP12219193 A JP 12219193A JP H0816885 B2 JPH0816885 B2 JP H0816885B2
Authority
JP
Japan
Prior art keywords
cache memory
data
write
memory
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.)
Expired - Lifetime
Application number
JP5122191A
Other languages
English (en)
Other versions
JPH06309231A (ja
Inventor
正俊 佐藤
Original Assignee
工業技術院長
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 工業技術院長 filed Critical 工業技術院長
Priority to JP5122191A priority Critical patent/JPH0816885B2/ja
Publication of JPH06309231A publication Critical patent/JPH06309231A/ja
Publication of JPH0816885B2 publication Critical patent/JPH0816885B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ライトバック方式のキ
ャッシュメモリにおいて、システムとしての性能向上を
図ることのできるキャッシュメモリ制御方法に関する。
【0002】
【従来の技術】計算機システムにおけるキャッシュメモ
リは、システムにおける処理の高速化を図るために、重
要な技術であり、その実現方式には多くの方式がある。
そして、そのキャッシュメモリからメインメモリへのデ
ータの書き戻し方法に関しては、代表的な二つの方法が
ある。
【0003】この二つの方法とは、ライトスルー方式と
ライトバック方式である。先ず、ライトスルー方式と
は、プロセッサからのデータの書込み時に、メインメモ
リとキャッシュメモリとの両方にそのデータを書き込む
方式である。この方式は、メインメモリとキャッシュメ
モリの一貫性が保て、入出力プロセッサ等、他のアクセ
スがメインメモリに生じる時に利点がある。一方、デー
タ書込み時に毎回メインメモリをアクセスするため、キ
ャッシュメモリ(プロセッサ)とメインメモリ間のトラ
フィックが高くなってしまい、システムの性能低下の原
因となってしまう欠点がある。
【0004】これに対し、ライトバック方式では、プロ
セッサの書込み時には、キャッシュメモリのデータのみ
が更新され、メインメモリへの書込みは、キャッシュメ
モリ上のデータがキャッシュメモリから追い出される時
まで遅らせられ、その時点で実際の書込みが行われる。
この場合、何度も書込みが生じるようなアクセスでは、
キャッシュメモリがヒットしている限り、キャッシュメ
モリ(プロセッサ)とメインメモリ間のトラフィックは
生じることがなく、ライトスルー方式のようなシステム
の性能低下の原因は除去することができる。
【0005】また、共有バスを介して複数のプロセッサ
がメインメモリを共有する共有メモリ型マルチプロセッ
サにおいても、システムにおける処理の高速化を図るた
め、キャッシュメモリは重要な技術となっている。この
場合、キャッシュメモリはプロセッサ毎に設けられてお
り、各キャッシュメモリからメインメモリへのデータ書
き戻し方法に関しては、代表的なものとして上述したラ
イトバック方式がある。また、このようなライトバック
方式でのキャッシュメモリ間のコヒーレンシを保つ方法
の代表的な例としてインバリデイトがある。以下、この
ようなライトバック/インバリデイトの組合せ例として
イリノイ方式を説明する。
【0006】図2は、キャッシュメモリにおける4状態
の説明図である。先ず、I{Invalid }とは、そのブロ
ックが無効であり、リプレイスの対象であることを示し
ている。また、CE{Private Clean (Clean Exclusiv
e )}とは、そのブロックのデータはメインメモリのデ
ータと一致しており、かつ、唯一のコピーであることを
示している。更に、CS{Shared Clean}とは、そのブ
ロックのデータはメインメモリのデータと一致してお
り、かつ、同一データのコピーが他のキャッシュメモリ
にも存在する可能性があることを示し、DE{Dirty(D
irty Exclusive )}とは、そのブロックのデータはメ
インメモリのデータと一致しておらず、かつ唯一のコピ
ーであることを示している。
【0007】このイリノイ方式では、プロセッサの書込
み時には、キャッシュメモリのみが更新され、メインメ
モリへの書込みは、キャッシュメモリ上のデータがキャ
ッシュメモリから追い出される時まで遅らせられ、その
時点で実際の書込みが行われる。この場合、何度も書込
みが生じるようなアクセスでは、キャッシュメモリがヒ
ットしている限り、キャッシュメモリ(プロセッサ)と
メインメモリ間のトラフィックが生じることはなく、マ
ルチプロセッサで共有される相互接続ネットワークのト
ラフィックを軽減している。
【0008】
【発明が解決しようとする課題】しかしながら、上記ラ
イトバック方式では、メインメモリへの書込みのタイミ
ングを遅らせることにより、キャッシュメモリ(プロセ
ッサ)とメインメモリ間のトラフィックをある程度軽減
することができるが、依然としてキャッシュメモリ上の
データがキャッシュメモリから追い出される時には、キ
ャッシュメモリ(プロセッサ)とメインメモリ間のトラ
フィックが生じる。そして、このようなトラフィック
が、ライトスルー方式のように、バスを共有する他の処
理装置からや、共有メモリ型マルチプロセッサにおける
他のキャッシュメモリ(プロセッサ)からのトラフィッ
クを妨げ、システムの性能低下を招くといった問題点が
残されていた。
【0009】本発明は、上記従来の問題点を解決するた
めになされたもので、ライトバック方式のキャッシュメ
モリにおいて、システムの性能低下を防止することがで
きるキャッシュメモリ制御方法を提供することを目的と
する。
【0010】
【課題を解決するための手段】本発明のキャッシュメモ
リ制御方法は、キャッシュメモリにメインメモリからデ
ータが読込まれる際に、当該キャッシュメモリから追い
出されるデータと、このデータに対応する前記メインメ
モリのデータとが一致しない場合、当該データを、前記
キャッシュメモリと前記メインメモリが接続される共有
バスを介して前記メインメモリに書き戻すキャッシュメ
モリ制御方法において、前記共有バスが空いている場
合、前記キャッシュメモリからのデータ追い出し時にお
ける書き戻し処理とは別に、前記メインメモリのデータ
と一致していない前記キャッシュメモリのデータを書き
戻すだけの自律的書き戻し処理を行い、前記自律的書き
戻し処理の実行中に、他のアクセス手段から前記共有バ
スの占有要求が生じた場合は、前記自律的書き戻し処理
を中断することを特徴とするものである。
【0011】
【作用】本発明のキャッシュメモリ制御方法において
は、バスラインが空いている場合、キャッシュメモリか
らデータを追い出すためのメインメモリへの書き戻し処
理とは別に、キャッシュメモリのデータをメインメモリ
に書き戻すだけのための自律的書き戻し処理を行う。こ
の自律的書き戻し処理は、先ず、キャッシュメモリの一
つのエントリのデータがダーティであるか否かを判定
し、ダーティであった場合はそのデータをメインメモリ
に書き戻す。そして、書き戻しが正常終了し、かつキャ
ッシュメモリ上のデータがプロセッサによって書き換え
られていないことを確認し、キャッシュ状態をクリーン
とする。一方、この自律的書き戻し処理中に他のアクセ
ス手段からバスの占有要求があった場合、当該処理は放
棄される。
【0012】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。 《第1の実施例》図1は本発明のキャッシュメモリ制御
方法における第1の実施例を示すフローチャートである
が、この説明に先立ち、その制御方法を実施するための
システム構成について説明する。図3に、このキャッシ
ュメモリシステムを示す。図のシステムは、情報処理装
置におけるメモリシステムを示しており、プロセッサ
1、キャッシュメモリ2、メインメモリ3、I/Oプロ
セッサ4、共有バス5からなる。
【0013】プロセッサ1は、各種の制御を司る制御部
であり、特に、メモリシステムにおいて、キャッシュメ
モリ2におけるデータのライト/リード制御を行うもの
である。キャッシュメモリ2は、その内部にキャッシュ
管理テーブル2aと、自律的書き戻し制御部2bとを備
えている。キャッシュ管理テーブル2aは、複数のエン
トリ毎に、そのエントリのデータが有効か無効かを示す
状態ビットと、メインメモリ3におけるアドレスと、キ
ャッシュメモリ2におけるデータの記憶場所であるキャ
ッシュメモリアクセス用アドレスのフィールドで構成さ
れている。例えば、図示例では、メインメモリ3のアド
レス“A”のデータがキャッシュメモリ2上のアドレス
“3”に格納されており、かつ、このデータはD(ダー
ティ)であることを示している。
【0014】また、自律的書き戻し制御部2bは、本実
施例の特徴点をなすもので、キャッシュメモリ2からメ
インメモリ3へのデータの書き戻しを、自律的、即ち、
プロセッサ1からの指示とは無関係に行う機能を有して
いる。
【0015】また、メインメモリ3は、プロセッサ1が
実行するためのプログラムやデータを格納するためのメ
モリであり、共有バス5を介して格納されているデータ
等がリード/ライトされる。I/Oプロセッサ4は、図
示省略した外部記憶装置等のI/Oの制御を行うプロセ
ッサである。更に、共有バス5はキャッシュメモリ2や
I/Oプロセッサ4等とメインメモリ3とを接続するた
めの共有バスである。
【0016】次に、このように構成されたメモリシステ
ムにおけるキャッシュメモリ制御方法を図1のフローチ
ャートを参照して説明する。先ず、図1に示す自律的書
き戻し処理の前に、通常のライトバック処理について説
明する。
【0017】今、キャッシュメモリ2の各エントリに
は、全て何等かのデータが入っているとする。このよう
な状態で、プロセッサ1が、例えば、あるデータに対し
てリードを行う場合、プロセッサ1はキャッシュ管理テ
ーブル2aを参照し、そのリード要求のデータのアドレ
スがあるかどうかを調べる。そして、そのアドレスが存
在した場合は、キャッシュメモリアクセス用アドレスに
基づき、そのデータをキャッシュメモリ2からリードす
る。一方、そのアドレスが存在しなかった場合、プロセ
ッサ1は、先ず、キャッシュメモリ2のいずれかのエン
トリのデータをメインメモリ3に書き戻し、その後、そ
のエントリにメインメモリ3からリードしたデータを格
納する。
【0018】次に、図1に示す自律的書き戻し処理を説
明する。先ず、この自律的書き戻し処理は、ある所定周
期で起動されるとする。尚、この周期はそのシステムに
よって予め実験的に求めておく。今、自律的書き戻し制
御部2bが起動し、書き戻し処理が開始されたとする。
これにより、自律的書き戻し制御部2bは、先ず、キャ
ッシュ管理テーブル2aを検索し、あるエントリの状態
ビットがダーティ(D)かクリーン(C)かを判定する
(ステップS1)。尚、ここで、ダーティとは、キャッ
シュメモリ2内のデータとメインメモリ3のデータとが
不一致の場合、即ち、キャッシュメモリ2のデータに書
込み操作が行われており、かつメインメモリ3への書き
戻しがされておらず、書き戻しが必要な場合である。ま
た、クリーンとは、キャッシュメモリ2内のデータとメ
インメモリ3のデータとが一致している場合、即ち、キ
ャッシュメモリ2上のデータをメインメモリ3に書き戻
す必要がない場合である。
【0019】ステップS1において、状態ビットがダー
ティであった場合は、共有バス5が空いていることを確
認し(ステップS2)、次の自律的書き戻し処理とし
て、バスコマンドを生成し、これを送出する(ステップ
S3)。
【0020】図4に、バスコマンドのフォーマットを示
す。即ち、バスコマンドは、自律的書き戻しのためのコ
マンドか否かを示す制御フラグと、書き戻しを行うメイ
ンメモリ3のアドレスと、書き戻しデータ等で構成され
ている。また、制御フラグは、自律的書き戻しの場合は
“0”、通常の書き戻しの場合は“1”といったように
設定され、自律的書き戻しの場合は、途中放棄を許すコ
マンドとなっている。
【0021】ステップS3において、自律的書き戻し制
御部2bは、自律的書き戻し処理を開始すると、その処
理の終了待ち状態となる(ステップS4)。即ち、バス
コマンドの送出に対するコマンド終了通知を受けたか否
かを判定する。ステップS4において、コマンドが正常
終了した場合は、キャッシュメモリ2の書き戻したデー
タが変化していないか否かを判定し(ステップS5)、
変化していない場合は、キャッシュメモリのデータとメ
インメモリ3のデータとが一致したとして、キャッシュ
管理テーブル2aの状態ビットをクリーンを示すビット
とする(ステップS6)。即ち、自律的書き戻し処理の
実行中に、プロセッサ1がそのデータを書き換えたか否
かを判定し、書き換えていないことを確認してキャッシ
ュメモリ2をクリーンな状態とするものである。
【0022】そして、ステップS6において、キャッシ
ュ管理テーブル2aの対応するエントリをクリーンな状
態とすると、上記の各処理を全てのエントリで実行した
か否かを判定し(ステップS7)、全てのエントリで行
った場合は、自律的書き戻し処理を終了し、まだエント
リが残っている場合は、次のエントリに進み(ステップ
S8)、ステップS1に戻って、上記の動作を繰り返
す。
【0023】また、上記ステップS1においてキャッシ
ュの状態がクリーンな場合、ステップS4においてコマ
ンドが正常終了していない場合、およびステップS5に
おいてそのエントリのデータが書換えられた場合は、ス
テップS8に移行し、次のエントリの処理を行う。
【0024】尚、ステップS4においてコマンドが正常
終了しない場合とは、例えば次のような場合である。即
ち、自律的書き戻しの場合のバスコマンドは、上述した
ように、自律的書き戻し処理によるバス占有中に、他の
アクセス手段によるバス要求があった場合のバス権放棄
機能を有している。このバス権放棄機能は、自律的書き
戻しのバスコマンド実行中に他のバスコマンドをブロッ
クしないための機能であり、これは、通常の書き戻しバ
スコマンドに、バス要求を監視し、バス要求があればバ
ス権を放棄し、実行中の処理をリセットする(キャッシ
ュメモリ2とメインメモリ3の両方共)機能を追加する
ことで実現することができる。
【0025】一方、I/Oプロセッサ4は、共有バス5
の状態を常時監視しており、自律的書き戻しのバスコマ
ンド実行中は、これを認識できるようになっている。そ
して、この自律的書き戻し処理の実行中に制御している
I/Oとのアクセス要求が発生した場合は、バス権を要
求し、共有バス5を占有する。
【0026】また、書き戻しバスコマンドの途中放棄に
よるメインメモリ3の一部が書き換わった場合の、キャ
ッシュメモリ2とのデータの一貫性は、全データの書込
みの完了を意味する書き戻しバスコマンドの正常終了時
にのみキャッシュの状態を書き換えることで維持するこ
とができる。
【0027】更に、自律的書き戻し処理中にキャッシュ
メモリ2上のデータが変化しているか否かの判定は、書
き戻しデータをバッファしておき、このバッファしたデ
ータと、キャッシュメモリ2上のデータとの一致検査で
行う。そして、この判定と、キャッシュ状態をクリーン
にする操作はアトミック操作、即ち、他の処理の影響を
受けない最小の単位での処理で行う。
【0028】このように、上記第1の実施例では、通常
の書き戻し処理とは別に、自律的書き戻し処理を行うよ
うにしたので、キャッシュメモリ2がダーティな状態で
あることが少なくなり、従って、従来のようなデータを
キャッシュメモリ2から追い出す際の書き戻し処理も殆
ど不要となり、その結果、キャッシュシステムとしての
バス占有時間を減少させることができ、システムとして
の性能向上を図ることができる。
【0029】《第2の実施例》図5は、本発明のキャッ
シュメモリ制御方法における第2の実施例を実施するた
めのキャッシュメモリシステムの構成図である。図のシ
ステムは、共有メモリ型マルチプロセッサシステムにお
けるメモリシステムを示しており、複数のプロセッサエ
レメント11(11−1〜11−n)とメインメモリ1
2と、共有バス13とからなる。プロセッサエレメント
11は、各々プロセッサ14(14−1〜14−n)
と、キャッシュメモリ15(15−1〜15−n)とか
らなる。尚、プロセッサエレメント11−2〜11−n
の構成は、プロセッサエレメント11−1と同様である
ため、内部の構成は図示省略している。また、各プロセ
ッサエレメント11に共通の構成は、プロセッサ14、
キャッシュメモリ15として説明する。
【0030】プロセッサ14は、各種の制御を司る制御
部であり、特に、共有メモリ型マルチプロセッサシステ
ムにおいて、キャッシュメモリ15とメインメモリ12
間のデータのライト/リード制御や各キャッシュメモリ
15間のデータ転送等の制御を行うものである。キャッ
シュメモリ15は、上記第1の実施例と同様、その内部
にキャッシュ管理テーブル15a(15a−1〜15a
−n)と、自律的書き戻し制御部15b(15b−1〜
15b−n)とを備えている。
【0031】キャッシュ管理テーブル15aは、複数の
エントリ毎に、そのエントリのデータの状態を示す状態
ビットと、メインメモリ12におけるアドレスと、キャ
ッシュメモリ15におけるデータの記憶場所であるキャ
ッシュメモリアクセス用アドレスのフィールドで構成さ
れている。例えば、図示例では、メインメモリ12のア
ドレス“B”のデータがキャッシュメモリ15上のアド
レス“1”に格納されており、かつ、このデータはCE
であることを示している。尚、図中の状態ビットI,C
E,CS,DEは、従来の技術で説明した図2のキャッ
シュメモリ15における4つの状態を示している。
【0032】自律的書き戻し制御部15bは、本実施例
の特徴点をなすもので、キャッシュメモリ15からメイ
ンメモリ12へのデータの書き戻しを、自律的、即ち、
プロセッサ14からの指示による通常のライトバック処
理とは無関係に行うと共に、他のキャッシュメモリ15
の自律的書き戻し制御部15bと協調してこの自律的書
き戻し処理を行う機能を有している。尚、ここで、協調
して処理を行うとは、特定のキャッシュメモリ15のみ
が書き戻し処理を行うのではなく、各キャッシュメモリ
15が順次処理を実行するといったことである。
【0033】また、メインメモリ12は、各プロセッサ
14が実行するためのプログラムやデータを格納するた
めの各プロセッサエレメント11が共有するメモリであ
り、共有バス13を介して格納されているデータ等がリ
ード/ライトされる。尚、共有バス13には、上記第1
の実施例と同様にI/Oプロセッサ等、他のアクセス手
段が接続されているが、その図示は省略している。
【0034】次に、このように構成されたメモリシステ
ムにおけるキャッシュメモリ制御方法を説明する。尚、
通常のライトバック処理については、下記に示すよう
に、上記第1の実施例と同様に行われる。即ち、今、キ
ャッシュメモリ15の各エントリには、全て何等かのデ
ータが入っているとする。このような状態で、プロセッ
サ14が、例えば、あるデータに対してリードを行う場
合、プロセッサ14はキャッシュ管理テーブル15aを
参照し、そのリード要求のデータのアドレスがあるかど
うかを調べる。そして、そのアドレスが存在し、かつキ
ャッシュ状態がI(無効)でない場合は、キャッシュメ
モリアクセス用アドレスに基づき、そのデータをキャッ
シュメモリ15からリードする。
【0035】一方、そのアドレスが存在しなかった場
合、プロセッサ14は、メインメモリ12にアクセス
し、そして、そのデータを、キャッシュメモリ15のキ
ャッシュ状態がIであるエントリに格納する。また、キ
ャッシュ状態がIのエントリがなかった場合は、FIF
O(先入れ先出し)法やLRU(least recentry used
)法等によってキャッシュメモリ15から追い出すブ
ロックを決定する。この場合、これがDEであった場
合、先ずそのデータをメインメモリに書き戻し、その
後、メインメモリからリードを行う。尚、各キャッシュ
メモリ15間のデータのコヒーレンシの保持に関して
は、既知の方法と同様であるため、ここでの説明は省略
する。
【0036】次に、本実施例における自律的書き戻し処
理を説明する。図6はそのフローチャートである。先
ず、この自律的書き戻し処理は、ある所定周期で起動さ
れ、プロセッサエレメント11−1のキャッシュメモリ
15−1で1エントリが終了すると、次のプロセッサエ
レメント11−2のキャッシュメモリ15−2といった
ように、各キャッシュメモリ15毎に順次行い、最後の
キャッシュメモリ15−nの1エントリが終了すると、
最初のキャッシュメモリ15−1の2番目のエントリに
進むといったようにラウンドロビン方式で行う。尚、こ
の自律的書き戻し処理の起動周期はそのシステムによっ
て予め実験的に求めておく。
【0037】今、自律的書き戻し制御部15bが起動
し、書き戻し処理が開始されたとする。これにより、自
律的書き戻し制御部15bは、先ず、キャッシュ管理テ
ーブル15aを検索し、最初のエントリの状態ビットが
ダーティ(DE)かクリーン(CEまたはCS)かを判
定する(ステップS1)。ステップS1において、状態
ビットがダーティであった場合は、共有バス13が空い
ていることを確認し(ステップS2)、次の自律的書き
戻し処理として、バスコマンドを生成し、これを送出す
る(ステップS3)。尚、そのバスコマンドのフォーマ
ットについては、上記第1の実施例における図4で示し
たのと同様に、制御フラグ、アドレスおよび書き戻しデ
ータ等で構成されている。
【0038】ステップS3において、自律的書き戻し制
御部15bは、自律的書き戻し処理を開始すると、その
処理の終了待ち状態となる(ステップS4)。即ち、バ
スコマンドの送出に対するコマンド終了通知を受けたか
否かを判定する。ステップS4において、コマンドが正
常終了した場合は、キャッシュメモリ15の書き戻した
データが変化していないか否かを判定し(ステップS
5)、変化していない場合は、キャッシュメモリ15の
データとメインメモリ12のデータとが一致したとし
て、キャッシュ管理テーブル15aの状態ビットをCE
とする(ステップS6)。即ち、自律的書き戻し処理の
実行中に、プロセッサ14がそのデータを書き換えたか
否かを判定し、書き換えていないことを確認してキャッ
シュメモリ15をクリーンな状態とするものである。
【0039】そして、ステップS6において、キャッシ
ュ管理テーブル15aの対応するエントリをクリーンな
状態とすると、全てのエントリで上記処理を実行したか
否かを判定し(ステップS7)、全てのエントリで行っ
た場合は、そのキャッシュメモリ15における自律的書
き戻し処理を終了する。一方、ステップS7において、
全てのエントリを実行していない場合、そのキャッシュ
メモリ15は、自律的書き戻し処理の割り当て待ちとな
る(ステップS8)。即ち、各キャッシュメモリ15の
自律的書き戻し制御部15bは、各々共有バス13を監
視しており、一つのキャッシュメモリ15の自律的書き
戻し処理の終了をタイミングとして、次のキャッシュメ
モリ15の自律的書き戻し処理に移行する。
【0040】このようにして、順次各キャッシュメモリ
15の自律的書き戻し処理を行い、ステップS8におい
て、割り当て待ちを行った後、再度自キャッシュメモリ
15に割り当てられると、自律的書き戻し制御部15b
は、次のエントリに進み(ステップS9)、ステップS
1に戻って上記の動作を繰り返す。
【0041】また、上記ステップS1においてキャッシ
ュの状態がクリーンな場合、ステップS4においてコマ
ンドが正常終了していない場合、およびステップS5に
おいてそのエントリのデータが書換えられた場合は、ス
テップS8に移行し、割り当て待ちとなる。
【0042】ここで、上記ステップS4においてコマン
ドが正常終了しない場合とは、例えば次のような場合で
ある。即ち、自律的書き戻しの場合のバスコマンドは、
上記第1の実施例と同様に、自律的書き戻し処理による
バス占有中に、他のプロセッサエレメントからのライト
バック動作や他の処理装置からのアクセス要求があった
場合のバス権放棄機能を有している。このバス権放棄機
能は、自律的書き戻しのバスコマンド実行中に他のバス
コマンドをブロックしないための機能であり、これは、
通常の書き戻しバスコマンドに、バス要求を監視し、バ
ス要求があればバス権を放棄し、実行中の処理をリセッ
トする(キャッシュメモリ15とメインメモリ12の両
方共)機能を追加することで実現することができる。
【0043】また、書き戻しバスコマンドの途中放棄に
よるメインメモリ12の一部が書き換わった場合の、キ
ャッシュメモリ15とのデータの一貫性は、全データの
書込みの完了を意味する書き戻しバスコマンドの正常終
了時にのみキャッシュの状態を書き換えることで維持す
ることができる。
【0044】更に、自律的書き戻し処理中にキャッシュ
メモリ15上のデータが変化しているか否かの判定は、
書き戻しデータをバッファしておき、このバッファした
データと、キャッシュメモリ15上のデータとの一致検
査で行う。そして、この判定と、キャッシュ状態をクリ
ーンにする操作はアトミック操作、即ち、他の処理の影
響を受けない最小の単位での処理で行う。
【0045】尚、上記第2の実施例では、それぞれのプ
ロセッサエレメント11−1〜11−nのキャッシュメ
モリ15が、その自律的書き戻し処理を協調的に行う方
法として、各キャッシュメモリ15を1エントリずつ行
ったが、これに限定されるものではなく、この他にも、
例えば、キャッシュメモリ15−1の全エントリが終了
したら、次のキャッシュメモリ15−2といったよう
に、各キャッシュメモリ15の全エントリずつ行うよう
構成してもよい。
【0046】このように、上記第2の実施例では、通常
の書き戻し処理とは別に、自律的な書き戻し処理を行う
ようにしたので、キャッシュメモリ15のデータがダー
ティな状態であることが少なくなり、従って、従来のよ
うなデータをキャッシュメモリ15から追い出す際の書
き戻し処理も殆ど不要となり、キャッシュシステムとし
てのバス占有時間を減少させることができる。また、そ
の自律的書き戻し処理を他のキャッシュメモリ15と協
調的に行うようにしたので、各キャッシュメモリ15間
でダーティな状態のデータの偏りもなく、マルチプロセ
ッサシステムとしての性能向上を図ることができる。
【0047】
【発明の効果】以上説明したように、本発明のキャッシ
ュメモリ制御方法によれば、通常の書き戻しとは別に、
バスの空いている時に、キャッシュメモリ上のデータを
書き戻すだけの自律的書き戻し処理を行い、かつ、この
処理を行っている途中で他のアクセス手段から共有バス
の占有要求があった場合は、当該処理を放棄するように
したので、キャッシュメモリ上のデータがキャッシュメ
モリから追い出される時のキャッシュメモリとメインメ
モリ間のトラフィックを減少することができる。また、
前記処理は途中放棄を許すため、他のアクセス手段とメ
インメモリ間のトラフィックを妨げることがない。従っ
て、これらの効果によりシステム全体としてのトラフィ
ックを軽減することができ、システムの性能向上を図る
ことができる。
【図面の簡単な説明】
【図1】本発明のキャッシュメモリ制御方法における第
1の実施例を示すフローチャートである。
【図2】キャッシュメモリにおける状態説明図である。
【図3】本発明のキャッシュメモリ制御方法における第
1の実施例を実現するためのシステム構成図である。
【図4】本発明のキャッシュメモリ制御方法における書
き戻しバスコマンドのフォーマット構成図である。
【図5】本発明のキャッシュメモリ制御方法における第
2の実施例を実現するためのシステム構成図である。
【図6】本発明のキャッシュメモリ制御方法における第
2の実施例を示すフローチャートである。
【符号の説明】
1 プロセッサ 2、15 キャッシュメモリ 2a、15a キャッシュ管理テーブル 2b、15b 自律的書き戻し制御部 3、12 メインメモリ 4 I/Oプロセッサ 5、13 共有バス 11−1〜11−n プロセッサエレメント

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリにメインメモリからデ
    ータが読込まれる際に、当該キャッシュメモリから追い
    出されるデータと、このデータに対応する前記メインメ
    モリのデータとが一致しない場合、当該データを、前記
    キャッシュメモリと前記メインメモリが接続される共有
    バスを介して前記メインメモリに書き戻すキャッシュメ
    モリ制御方法において、 前記共有バスが空いている場合、前記キャッシュメモリ
    からのデータ追い出し時における書き戻し処理とは別
    に、前記メインメモリのデータと一致していない前記キ
    ャッシュメモリのデータを書き戻すだけの自律的書き戻
    し処理を行い、 前記自律的書き戻し処理の実行中に、他のアクセス手段
    から前記共有バスの占有要求が生じた場合は、前記自律
    的書き戻し処理を中断することを特徴とするキャッシュ
    メモリ制御方法。
JP5122191A 1993-04-27 1993-04-27 キャッシュメモリ制御方法 Expired - Lifetime JPH0816885B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122191A JPH0816885B2 (ja) 1993-04-27 1993-04-27 キャッシュメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122191A JPH0816885B2 (ja) 1993-04-27 1993-04-27 キャッシュメモリ制御方法

Publications (2)

Publication Number Publication Date
JPH06309231A JPH06309231A (ja) 1994-11-04
JPH0816885B2 true JPH0816885B2 (ja) 1996-02-21

Family

ID=14829828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122191A Expired - Lifetime JPH0816885B2 (ja) 1993-04-27 1993-04-27 キャッシュメモリ制御方法

Country Status (1)

Country Link
JP (1) JPH0816885B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09152989A (ja) * 1995-11-29 1997-06-10 Nec Corp データキャッシュメモリシステム
JP2000187616A (ja) 1998-12-22 2000-07-04 Nec Corp キャッシュラインをクリーンな状態に保つメモリシステム
KR100826757B1 (ko) * 2003-11-18 2008-04-30 마쯔시다덴기산교 가부시키가이샤 캐시 메모리 및 그 제어 방법
DE602004025556D1 (de) * 2004-06-08 2010-04-01 Freescale Semiconductor Inc Aufrechterhaltung der Cachespeicherkoherenz zum direkten Zugriff (DMA), Abschluss einer Aufgabe, zur Synchronisierung
JP5083757B2 (ja) * 2007-04-19 2012-11-28 インターナショナル・ビジネス・マシーンズ・コーポレーション データをキャッシュする技術
WO2012127631A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法

Also Published As

Publication number Publication date
JPH06309231A (ja) 1994-11-04

Similar Documents

Publication Publication Date Title
KR0163231B1 (ko) 입/출력 채널 제어기, 멀티 프로세싱 시스템 및 데이타 프로세싱 방법
US5761731A (en) Method and apparatus for performing atomic transactions in a shared memory multi processor system
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
US6138217A (en) Method and apparatus for cache coherency in an interconnecting network
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
JPH0786849B2 (ja) 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム
JPH08185359A (ja) メモリサブシステム
JPH06214960A (ja) 多重プロセッサシステム
JPS63269247A (ja) メモリ制御サブシステム
US20230214326A1 (en) Computer Memory Expansion Device and Method of Operation
WO1999035578A1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
US6345320B1 (en) DMA address buffer and cache-memory control system
JP2001147854A (ja) 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法
US5678025A (en) Cache coherency maintenance of non-cache supporting buses
JP3009430B2 (ja) プロセッサおよびそのキャッシュメモリ制御方法
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
JP2000512050A (ja) マイクロプロセッサキャッシュの一貫性
JPH09179779A (ja) コンピュータシステムおよびデータ転送方法
JPH0816885B2 (ja) キャッシュメモリ制御方法
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
JPH06282528A (ja) データ転送方法及びそのシステム
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
CN111414318B (zh) 一种基于提前更新的数据一致性实现方法
JP2001043204A (ja) キャッシュ・メモリ制御装置
JPH04140860A (ja) マルチプロセッサにおけるバス制御方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term