JPH0744459A - キャッシュ制御方法およびキャッシュ制御装置 - Google Patents

キャッシュ制御方法およびキャッシュ制御装置

Info

Publication number
JPH0744459A
JPH0744459A JP5188026A JP18802693A JPH0744459A JP H0744459 A JPH0744459 A JP H0744459A JP 5188026 A JP5188026 A JP 5188026A JP 18802693 A JP18802693 A JP 18802693A JP H0744459 A JPH0744459 A JP H0744459A
Authority
JP
Japan
Prior art keywords
data
cache
bus
write buffer
processor
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
Application number
JP5188026A
Other languages
English (en)
Inventor
Hiroyuki Yasojima
広至 八十島
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5188026A priority Critical patent/JPH0744459A/ja
Publication of JPH0744459A publication Critical patent/JPH0744459A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 主メモリ、キャッシュメモリ、ライトバッフ
ァのそれぞれの間でのデータの無矛盾化を維持しなが
ら、システム性能を向上させるキャッシュ制御の方法と
装置を提供する。 【構成】 プロセッサからのリード/ライト要求あるい
はバススヌープ(監視)中のデータのヒット判定にアド
レスタグ器150のデータだけではなく、ライトバッフ
ァ315のデータも調べることによって、ライトバッフ
ァ315のデータと主メモリの無矛盾化を維持し、キャ
ッシュ内あるいはライトバッファ内のデータをライトバ
ッファを経由しないで、直接システムバス300に送出
することによってライトバッファ315のフラッシュを
後回しにし、それによってシステム性能を向上させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュ制御方法およ
びキャッシュ制御装置に係わり、更に詳述するとライト
バッファ付きのライトバック方式キャッシュ間あるいは
ライトバッファ付きのライトバック方式キャッシュと主
メモリ間の無矛盾化を維持するキャッシュ制御方法およ
びキャッシュ制御装置に関する。
【0002】
【従来の技術】従来、速いプロセッサと遅い主メモリを
用いた多くの計算機システムは、キャッシュを有するこ
とによってシステムの性能を向上させている。プロセッ
サは、少容量だが高速なキャッシュと情報交換をし、キ
ャッシュ内に必要なデータがなかったときのみ主メモリ
をアクセスする。プロセッサの要求するデータは高い確
率でキャッシュ内にあるので、速いプロセッサと遅い主
メモリとの間でシステムバスを占有する時間を減少する
ことができ、プロセッサの待ち時間も減少し、システム
性能が向上する。
【0003】単一プロセッサシステムにおいては、デー
タの特定なものの2つのコピー、主メモリに1つ、キャ
ッシュに写しが存在し得るので、プロセッサがキャッシ
ュに書き込み操作をしたとき、主メモリとキャッシュと
の間の矛盾化となる。また、マルチプロセッサシステム
では、単一プロセッサシステムと同様の主メモリとキャ
ッシュ間の矛盾化に加えて、それぞれのプロセッサに接
続したキャッシュにも、データの特定なものの複数のコ
ピーが存在し得るので、あるプロセッサがキャッシュに
書き込み操作をしたとき、該キャッシュと他のキャッシ
ュ間の矛盾化となる。
【0004】主メモリとキャッシュ間、あるいは複数の
キャッシュ間の矛盾を無くす為の従来技術がいくつか知
られているが(Archibald,J. and Baer,J. -L., "Cache
Coherence Protocols:Evaluation Using a Multiproce
ssor Simulation Model," ACM Trans. Computer System
s, vol.4, no.4, pp.273-298, Nov.1986)、ここでは、
ライトバック方式で、システムバスを監視(スヌープ)
する方式について説明する。キャッシュ制御装置はメモ
リブロックごとに4つの状態を管理して、状態によって
キャッシュを制御する。図4に前記状態の遷移図を示
す。前記状態の種類と意味は、次の4つである。
【0005】(1)I(invalid):無効、つまり有効なデー
タはない。 (2)EC(exclusive clean):キャッシュメモリ間にコピー
がなくて、主メモリと同じ値である。
【0006】(3)ED(exclusive dirty):キャッシュメモ
リ間にコピーがなくて、主メモリと異なる値である。
【0007】(4)SC(shared clean):キャッシュメモリ
間にコピーがある可能性があり、主メモリと同じ値であ
る。
【0008】図3はキャッシュメモリを備えたマルチプ
ロセッサシステムの構成例を示した図である。キャッシ
ュ制御装置の動作について、図3の第1のプロセッサユ
ニット316を中心に説明する。
【0009】(1)プロセッサ310がリード要求したデータ
がキャッシュメモリ314にあるとき:データの状態は変
化しない(411、412、413)。
【0010】(2)プロセッサ310がリード要求したデータ
がキャッシュメモリ314にないとき:ライトバッファを
フラッシュした後、システムバス300にリード要求を出
すと同時にデータが転送される予定先のキャッシュメモ
リ314のメモリブロックに存在するデータがED状態のと
きは、該データをライトバッファ315に転送する。シス
テムバス300を監視している第1以外のキャッシュ制御
装置323、333が、該データがキャッシュメモリ324、334
にあればライトバッファ325、335にコピーする。その
後、ライトバッファ325、335をフラッシュする。第1以
外のすべてのライトバッファ325、335の内容が主メモリ
に転送された後、主メモリからプロセッサがリード要求
したデータがキャッシュメモリに転送され、該データが
第2のキャッシュメモリ324あるいは第3のキャッシュ
メモリ334にあったときはSC状態402に、ないときはEC状
態401になる。
【0011】(3)プロセッサ310がライト要求した先のデ
ータがキャッシュメモリ314にあるとき:第1のキャッ
シュ312以外のキャッシュ322、332にデータのコピーが
ある場合、該データのコピーがI状態407になり、キャッ
シュメモリ314に転送されたライトデータはED状態406、
413になる。
【0012】(4)プロセッサ310がライト要求した先のデ
ータがキャッシュメモリ314にないとき:ライト要求し
た先に、(3)と同じ手段で主メモリからデータがリード
される。その後、プロセッサ310からキャッシュメモリ3
14にライト要求されたデータが転送され、該データはED
状態403になる。第1のキャッシュ312以外のキャッシュ
322、332にデータのコピーがある場合は、該データのコ
ピーがI状態407になる。
【0013】主メモリとキャッシュ間で矛盾化したデー
タを、無矛盾化を維持しながらリードする動作を次に説
明する。
【0014】図5は第1のプロセッサユニット316がリ
ード要求をしたときのシステム動作の流れ図で、図7
(a)は第1のプロセッサユニット316が主メモリ301と
第2のキャッシュメモリ324間で矛盾しているデータを
リードしようとしたときのタイミング図である。
【0015】第1のプロセッサユニット316がリード要
求したデータがキャッシュメモリ314に在るときは、キ
ャッシュメモリ314からデータをリードする。ないとき
は、ライトバッファ315に在るデータを主メモリ301にフ
ラッシュした後、システムバス300にリード要求を出す
と同時に、リードするデータに置き換えられるキャッシ
ュメモリ314のデータがED状態ならライトバッファ315に
コピーする。第1以外のプロセッサユニット326、336は
常にシステムバス300の監視をしていて、第1のプロセ
ッサユニット316がシステムバス300にリード要求をした
とき、リード要求の中止要求を出すと同時に、該当デー
タがキャッシュメモリ324、334に在るかを調べ、在れば
ライトバッファ325、335にコピーする。その後、システ
ムバスが空いたらライトバッファのデータを主メモリに
フラッシュする。第1以外の全てのプロセッサユニット
326、336がシステムバスを解放することにより、第1の
プロセッサユニットのリード要求が再開され、第1のプ
ロセッサユニットは主メモリとキャッシュ間で矛盾して
いたデータを矛盾なくリードすることができる。
【0016】
【発明が解決しようとする課題】しかしながら、上記の
ような構成では、第1のプロセッサユニットが主メモリ
とキャッシュ間で矛盾しているデータのリード要求をし
てからデータをリードするまでに、第1のプロセッサユ
ニットのライトバッファのフラッシュと第1以外の全て
のプロセッサユニットのライトバッファのフラッシュが
入り、この間第1のプロセッサユニットでは処理が停止
する。
【0017】本発明は上記従来の欠点に鑑み、主メモリ
とキャッシュ間で矛盾しているデータをリードするとき
でもライトバッファのフラッシュによってプロセッサユ
ニットでの処理が停止しないキャッシュ制御方法とキャ
ッシュ制御装置を提供することを目的とするものであ
る。
【0018】
【課題を解決するための手段】上記問題点を解決するた
めに本発明のキャッシュ制御方法は、ライトバッファを
備えたライトバック方式の1つあるいは複数のキャッシ
ュを備えたシステムにおいて、バスマスタが主メモリに
データのリード要求をしたときに、前記データのコピー
が前記バスマスタとはシステムバスを介して接続されて
いるキャッシュのライトバッファあるいはキャッシュメ
モリにあるかを認識する工程と、前記データのコピーが
ライトバッファあるいはキャッシュメモリにあったと
き、前記1つあるいは複数のキャッシュから1つのキャ
ッシュを選択し、前記選択されたキャッシュにおいて、
ライトバッファをフラッシュせずに、前記データのコピ
ーをシステムバスに送出する工程とを含み、キャッシュ
とライトバッファと主メモリとの間の無矛盾化を維持す
るという構成を備えたものである。
【0019】本発明のキャッシュ制御装置は、プロセッ
サバスとデータの送受信をするプロセッサバス制御器
と、システムバスとデータの送受信をするシステムバス
制御器と、前記プロセッサバス制御器と前記システムバ
ス制御器に接続され、キャッシュ制御装置内でデータ転
送をする内部バスと、前記内部バスから前記システムバ
ス制御器に接続され、前記システムバスに送出する1つ
あるいは複数のデータと前記データのそれぞれのアドレ
スと前記データのそれぞれが有効か無効かを示すフラグ
を一時記憶するライトバッファと、前記ライトバッファ
のアドレス部と前記内部バスのアドレス部を比較し、前
記ライトバッファのデータと主メモリとの矛盾を認識す
るアドレス比較器と、前記内部バスに接続され、キャッ
シュメモリ内の各データのアドレスと前記データが有効
か無効かを示すフラグと前記データが書き変わったか書
き変わっていないかを示すフラグと前記データのコピー
が他のキャッシュにある可能性があるかないかを示すフ
ラグを記憶し、プロセッサあるいは代替バスマスタが要
求したデータがキャッシュメモリ内にあるかないかを判
断するアドレスタグ器と、前記プロセッサバスあるいは
前記システムバスからの要求に対して、前記アドレスタ
グ器と前記アドレス比較器からの信号によって前記プロ
セッサバス制御器と前記システムバス制御器と前記ライ
トバッファと前記アドレスタグ装置と前記内部バスを制
御する制御回路という構成を備えたものである。
【0020】
【作用】本発明は、上記した構成によって、ライトバッ
ファを備えたライトバック方式の1つあるいは複数のキ
ャッシュを備えたシステムにおいて、バスマスタが主メ
モリにデータのリード要求をしたときに、前記データの
コピーが前記バスマスタとはシステムバスを介して接続
されているキャッシュのライトバッファあるいはキャッ
シュメモリにあるかを認識する工程と、前記データのコ
ピーがライトバッファあるいはキャッシュメモリにあっ
たとき、前記1つあるいは複数のキャッシュから1つの
キャッシュを選択し、前記選択されたキャッシュにおい
て、ライトバッファをフラッシュせずに、前記データの
コピーをシステムバスに送出する工程とを含むキャッシ
ュ制御方法により、キャッシュ間あるいはキャッシュと
主メモリ間の無矛盾化を維持しながら、ライトバッファ
のフラッシュよりもバスマスタが要求したデータ転送に
システムバスを使用することを優先させる。
【0021】本発明は、上記した構成によって、ライト
バックモードで動作可能なキャッシュ制御装置内のライ
トバッファのデータと主メモリの間の無矛盾化を維持
し、ライトバッファのフラッシュによるシステム性能の
劣化を最小限にするための装置である。その装置は、プ
ロセッサからのリード/ライト要求あるいはバススヌー
プ(監視)中のデータのヒット判定にアドレスタグ器の
データだけではなく、ライトバッファのデータも調べる
ことによって、ライトバッファのデータと主メモリの無
矛盾化を維持し、キャッシュ内あるいはライトバッファ
内のデータをライトバッファを経由しないで、直接シス
テムバスに送出することによってライトバッファのフラ
ッシュを後回しにし、それによってシステム性能を向上
する。
【0022】
【実施例】以下、本発明の実施例を図面によって詳述す
る。図3は本発明の方法と装置を実施するのに望ましい
キャッシュを備えたマルチプロセッサシステムの構成例
で、第1〜第3のプロセッサユニット316、326、336
と、システムバス300および主メモリ301から成る。
【0023】第1のプロセッサユニット316は第1のプ
ロセッサ310、第1のキャッシュ312、第1のプロセッサ
バス311から成る。第2のプロセッサユニット326と第3
のプロセッサユニット336も第1のプロサッセユニット
と同様に、それぞれのプロセッサ320、330、キャッシュ
322、332、プロセッサバス321、331から成る。
【0024】第1〜第3のプロセッサ310、320、330
は、所定の命令を処理する機能ユニットである。
【0025】第1〜第3のキャッシュ312、322、332
は、それぞれの、少容量だがプロセッサの動作を律速し
ない程度に高速な記憶装置であるキャッシュメモリ31
4、324、334と、プロセッサ310、320、330とキャッシュ
メモリ314、324、334と主メモリ301との間のデータ転送
を管理し、キャッシュメモリ314、324、334から主メモ
リ301へ転送するデータを一時記憶するライトバッファ3
15、325、335を内蔵するキャッシュ制御装置313、323、
333から成る。
【0026】本発明では、キャッシュ間およびキャッシ
ュと主メモリ間の無矛盾化を維持するために、キャッシ
ュメモリのエントリごとに4つの状態、およびライトバ
ッファのエントリごとに2つの状態を管理して、状態に
よってキャッシュを制御する。前記状態の種類と意味
は、次の4つである。
【0027】(1)I(invalid):無効、つまり有効なデー
タはない。 (2)EC(exclusive clean):キャッシュメモリ間にコピー
がなくて、主メモリと同じ値である。
【0028】(3)ED(exclusive dirty):キャッシュメモ
リ間にコピーがなくて、主メモリと異なる値である。
【0029】(4)SC(shared clean):キャッシュメモリ
間にコピーがある可能性があり、主メモリと同じ値であ
る。
【0030】ただし、ライトバッファのエントリは、I
状態かED状態のどちらかである。次に主メモリとキャッ
シュ間の無矛盾化のための動作を説明する。
【0031】図6は第1のプロセッサユニット316がリ
ード要求をしたときのシステム動作の流れ図で、図7
(b)は第1のプロセッサユニット316が主メモリ301と
第2のキャッシュメモリ324間で矛盾しているデータを
リードしようとしたときのタイミング図である。
【0032】第1のプロセッサユニット316がリード要
求したデータがキャッシュメモリ314あるいはライトバ
ッファ315に在るときは、キャッシュメモリ314あるいは
ライトバッファ315からデータをリードする。
【0033】キャッシュメモリ314にもライトバッファ3
15にもデータがないときは、システムバス300にリード
要求を出すと同時に、リードするデータに置き換えられ
るキャッシュメモリ314内のデータがED状態ならライト
バッファ315にコピーする。
【0034】第2のプロセッサユニット326は常にバス
の監視をしていて、第1のプロセッサユニット316がシ
ステムバス300にリード要求をしたとき、該当データが
第2のプロセッサユニット326のキャッシュメモリ324あ
るいはライトバッファ325に在るかを調べ、在れば主メ
モリ301がデータを出力するのを抑止し、該当データを
システムバス300に出力し、第1のプロセッサユニット3
16が主メモリ301とキャッシュメモリ324間で矛盾してい
たデータを矛盾なくリードすることができる。なお、ラ
イトバッファ315のフラッシュはシステムバス300が空い
ているときに行なわれる。
【0035】実施例1として、プロセッサバス311とシ
ステムバス300が同周波数同位相のクロックで動作する
場合のキャッシュ制御装置313について説明する。
【0036】図1は本発明の典型的なキャッシュ制御装
置313のブロック構成で、プロセッサバス制御器110、シ
ステムバス制御器120、内部バス170、ライトバッファ31
5、アドレス比較器140、アドレスタグ器150および制御
器160から成る。
【0037】プロセッサバス制御器110はプロセッサバ
ス311上のデータ転送を制御する。これをプロセッサバ
ス311と内部バス170に接続する。システムバス制御器12
0はシステムバス300上のデータ転送を監視(スヌーピン
グ)あるいは制御する。これをシステムバス300と内部
バス170とライトバッファ315に接続する。
【0038】内部バス170は、プロセッサバス制御器11
0、システムバス制御器120、ライトバッファ315、アド
レス比較器140およびアドレスタグ器150のそれぞれの間
でデータ、アドレス、制御信号を転送する。
【0039】ライトバッファ315は、1つあるいは複数
のエントリを持ち、それぞれのエントリはデータ131と
アドレス133と該データが有効か無効かを示すフラグ132
を記憶し、FIFO動作する。これを内部バス170とシステ
ムバス制御器120に接続する。
【0040】アドレス比較器140は、ライトバッファ315
のそれぞれのエントリのアドレス部133と内部バス170の
アドレス部を比較し、その結果を制御器160に送る。こ
れを内部バス170とライトバッファ315のアドレス部133
と制御器160に接続する。
【0041】アドレスタグ器150は、キャッシュメモリ3
14の各データのアドレス151と、該データが有効か無効
かを示すフラグ152と、該データが書き変わったか書き
変わっていないかを示すフラグ153と、該データのコピ
ーが他のキャッシュにある可能性があるかないかを示す
フラグ154を記憶し、アドレスタグ器のそれぞれのエン
トリのアドレス部151と内部バス170のアドレス部を比較
し、その結果と、内部バス170のアドレス部と一致した
アドレス部151を持つエントリのフラグ152、153、154の
状態を制御器160に送る。これを内部バス170と制御器16
0に接続する。
【0042】制御器160は、プロセッサバス311あるいは
システムバス300を介しての要求に対して、アドレスタ
グ器150とアドレス比較器140から送られた信号によって
プロセッサバス制御器110とシステムバス制御器120とラ
イトバッファ315とアドレスタグ器150と内部バス170を
制御する。制御器160からそれぞれのブロックに制御信
号線を接続する。
【0043】次に動作について第1のキャッシュ制御装
置313を中心に説明する。第1のキャッシュ制御装置313
は、大きく分けると3つの種類の処理があり、同時に処
理が発生した場合は優先度の低い処理が後回しにされ
る。前記3つの処理は優先度の高い順に次のようにな
る。
【0044】(1)第1のプロセッサ310以外のプロセッサ
(第2のプロセッサ320あるいは第3のプロセッサ330)
のデータ転送要求によって生じたシステムバス300上で
のデータ転送要求をスヌーピング(監視)し、処理す
る。
【0045】(2)第1のプロセッサ310からのデータ転送
要求の処理をする。 (3)ライトバッファ315に存在するデータをシステムバス
300を介して主メモリ301に転送する。
【0046】前記(1)の処理について説明する。第1以
外のプロセッサ320、330が要求したデータのアドレスと
要求内容がシステムバス300からシステムバス制御器120
と内部バス170を介して、アドレスはアドレスタグ器150
とアドレス比較器140に送られ、要求内容は制御器160に
送られる。アドレスタグ器150およびアドレス比較器140
からの出力信号によって制御器160が、第1以外のプロ
セッサ320、330が要求したデータが第1のキャッシュメ
モリ314にあるのか、第1のキャッシュのライトバッフ
ァ315にあるのか、あるいはどちらにもないのかを判断
する。
【0047】第1のキャッシュメモリ314に該データが
あるときは、第1のプロセッサバス311の使用権を第1
のプロセッサ310よりも優先的に取り、キャッシュメモ
リ314からプロセッサバス311とプロセッサ制御器110と
内部バス170とシステムバス制御器120とシステムバス30
0を介して該データを送出すると共に、該データがED状
態のときは該データを主メモリ301に書き込む。該デー
タがSC状態になるようにアドレスタグ器150を設定す
る。
【0048】第1のライトバッファ315に該データがあ
るときは、ライトバッファ315に存在するデータをシス
テムバス制御器120とシステムバス300を介して該データ
を送出すると共に、該データを主メモリ301に書き込
み、ライトバッファ315の該データをI状態414にする。
【0049】前記(2)の処理について説明する。第1の
プロセッサ310からアドレスと要求内容がプロセッサバ
ス制御器110と内部バス170を介して、アドレスはアドレ
スタグ器150とアドレス比較器140に、要求内容は制御器
160に送られ、アドレスタグ器150およびアドレス比較器
140からの出力信号によって制御器160が、第1のプロセ
ッサ310の要求したデータがキャッシュメモリ314にある
のか、ライトバッファ315にあるのか、主メモリ301にし
かないのかを判断する。
【0050】第1のプロセッサ310が要求したデータが
キャッシュメモリ314にあるときは、第1のプロセッサ
バス311を介して第1のプロセッサ310と第1のキャッシ
ュメモリ314の間で該データが転送される。そしてこの
とき、第1のプロセッサ310の要求がライトだったとき
は、システムバス制御器120からシステムバス300に該デ
ータの無効化命令を発行するとともに、該データがED状
態になるようにアドレスタグ器150を設定する。
【0051】該データがキャッシュメモリ314になく、
代わりにED状態のデータがあるときは、前記データをキ
ャッシュメモリ314からプロセッサバス311とプロセッサ
バス制御器110と内部バス170を介して、ライトバッファ
315に転送すると共に、前記データのアドレスと状態値
をアドレスタグ器150から内部バス170を介してライトバ
ッファ315に転送する。第1のプロセッサ310が要求した
データのアドレスをアドレスタグ器150に内部バス170か
ら転送し、I状態にフラグ152、153、154を設定する。
【0052】第1のプロセッサ310がリード要求したデ
ータがライトバッファ315にあるとき、ライトバッファ3
15からシステムバス制御器120と内部バス170とプロセッ
サバス制御器110とプロセッサバス311を介して第1のプ
ロセッサ310と第1のキャッシュメモリ314に該データが
転送される。ライトバッファ315にある該データはI状態
となり414、新たに第1のキャッシュメモリ314に転送さ
れた該データはED状態403になる。
【0053】第1のプロセッサ310がライト要求したデ
ータがライトバッファ315にあるとき、プロセッサバス
制御回路110からプロセッサバス311を介して第1のプロ
セッサ310に中断命令を発行し、プロセッサバス311の使
用権を獲得する。ライトバッファ315からシステムバス
制御器120と内部バス170とプロセッサバス制御器110と
プロセッサバス311を介して第1のキャッシュメモリ314
に該データが転送された後、プロセッサバス制御器110
からプロセッサバス311を介して第1のプロセッサ310に
再開命令を発行する。前記再開命令の発行により、第1
のプロセッサ310からプロセッサバス311を介して第1の
キャッシュメモリ314にライトデータが書き込まれる。
ライトバッファ315にある該データはI状態414となり、
新たに第1のキャッシュメモリに転送された該データは
ED状態403になる。
【0054】第1のプロセッサ310がリード要求したデ
ータが第1のキャッシュメモリ314にも第1のキャッシ
ュ制御装置313のライトバッファ315にもないとき、シス
テムバス制御器120からシステムバス300にデータのリー
ド命令を発行する。主メモリ301あるいは第1以外のキ
ャッシュ制御装置322、332の中の1つのキャッシュ制御
装置の応答により、システムバス300からシステムバス
制御器120と内部バス170とプロセッサバス制御器110と
プロセッサバス311を介して、第1のプロセッサ310と第
1のキャッシュメモリ314に該データを転送する。該デ
ータのコピーが第2のキャッシュメモリ324にも第3の
キャッシュメモリ334にもないときは該データがEC状態
に、どちらかのキャッシュメモリ324、334にあるときは
SC状態になるようにアドレスタグ器150に設定する。
【0055】第1のプロセッサ310がライト要求した先
のデータが第1のキャッシュメモリ314にも第1のキャ
ッシュ制御装置313のライトバッファ315にもないとき、
システムバス制御器120からシステムバス300に該データ
のリード命令と該データの無効化命令を発行すると共
に、プロセッサバス制御回路110からプロセッサバス311
を介して第1のプロセッサ310に中断命令を発行し、プ
ロセッサバス311の使用権を獲得する。主メモリ301ある
いは第1以外のキャッシュ制御装置322、332の中の1つ
のキャッシュ制御装置の応答により、システムバス300
からシステムバス制御器120と内部バス170とプロセッサ
バス制御器110とプロセッサバス311を介して、第1のキ
ャッシュメモリ314に該データを転送し、その後、プロ
セッサバス制御器110からプロセッサバス311を介して第
1のプロセッサ310に再開命令を発行する。前記再開命
令の発行により、第1のプロセッサ310からプロセッサ
バス311を介して第1のキャッシュメモリ314にライトデ
ータが書き込まれる。該ライトデータはED状態403にさ
れる。
【0056】前記(3)の処理について説明する。ライト
バッファ315にED状態のデータがあれば、システムバス
制御器120からシステムバス300にシステムバス300の使
用権を獲得を要求する信号を出力し、システムバス300
の使用権を獲得できたら、ライトバッファ315のデータ
をシステムバス制御器120とシステムバス300を介して主
メモリ301に書き込み、該データをI状態414にする。
【0057】実施例2として、プロセッサバス311の動
作周波数とシステムバス300の動作周波数が異なる場合
のキャッシュ制御装置313について説明する。
【0058】図2はプロセッサバス311とシステムバス3
00の動作周波数が異なる場合の本発明の典型的なキャッ
シュ制御装置313のブロック構成で、プロセッサバス制
御器110、システムバス制御器120、内部プロセッサバス
170、内部システムバス175、ライトバッファ115、アド
レス比較器140、リードバッファ180、サプライバッファ
190、アドレスタグ器150および制御回路160から成る。
すなわち、実施例1の構成にリードバッファ180、サプ
ライバッファ190、内部システムバスを追加した構成で
ある。
【0059】内部バス170に接続したリードバッファ18
0、サプライバッファ190、ライトバッファ315を内部シ
ステムバス175に接続する。内部システムバス175はシス
テムバス制御器に接続されるとともに、内部バス170と
のセレクタを通してアドレスタグ器150にも接続され
る。
【0060】内部バス170はプロセッサバス311と同じ周
波数で動作し、内部システムバス175はシステムバス300
と同じ周波数で動作する。内部バス170と内部システム
バス175の動作周波数の違いをリードバッファ180、サプ
ライバッファ190、ライトバッファ315で吸収する。
【0061】サプライバッファ190は、キャッシュメモ
リ314のデータをライトバッファ315を使わないでシステ
ムバスに出力するためのパスである。
【0062】
【発明の効果】以上のように本発明は、ライトバッファ
を備えたライトバック方式の1つあるいは複数のキャッ
シュを備えたシステムにおいて、バスマスタが主メモリ
にデータのリード要求をしたときに、前記データのコピ
ーが前記バスマスタとはシステムバスを介して接続され
ているキャッシュのライトバッファあるいはキャッシュ
メモリにあるかを認識する工程と、前記データのコピー
がライトバッファあるいはキャッシュメモリにあったと
き、前記1つあるいは複数のキャッシュから1つのキャ
ッシュを選択し、前記選択されたキャッシュにおいて、
ライトバッファをフラッシュせずに、前記データのコピ
ーをシステムバスに送出する工程とを含むキャッシュ制
御方法により、キャッシュ間あるいはキャッシュと主メ
モリ間の無矛盾化を維持しながら、ライトバッファのフ
ラッシュよりもバスマスタが要求したデータ転送にシス
テムバスを使用することを優先させることで、システム
性能が向上する。
【図面の簡単な説明】
【図1】本発明の実施例1のキャッシュ制御装置のブロ
ック構成図
【図2】本発明の実施例2のキャッシュ制御装置のブロ
ック構成図
【図3】マルチプロセッサシステムの構成図
【図4】データの状態の遷移図
【図5】主メモリとキャッシュのデータの無矛盾化を維
持しながら、データをリードするときの従来の場合の流
れ図
【図6】主メモリとキャッシュのデータの無矛盾化を維
持しながら、データをリードするときの本発明の場合の
流れ図
【図7】主メモリとキャッシュのデータが矛盾化してい
るときに、無矛盾化を維持するために他のキャッシュか
らデータをリードするときの従来例と、本発明のタイミ
ング図
【符号の説明】
110 プロセッサバス制御器 120 システムバス制御器 315 ライトバッファ 131 ライトバッファ内のデータ部 132 ライトバッファ内の有効フラグ部 133 ライトバッファ内のアドレス部 140 アドレス比較器 150 アドレスタグ器 151 アドレスタグ器内のアドレス部 152 アドレスタグ器内の有効フラグ部 153 アドレスタグ器内の書換えフラグ部 154 アドレスタグ器内の共有フラグ部 160 制御器 170 内部バス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】ライトバッファを備えたライトバック方式
    の1つあるいは複数のキャッシュを備えたシステムにお
    いて、バスマスタが主メモリにデータのリード要求をし
    たときに、前記データのコピーが前記バスマスタとはシ
    ステムバスを介して接続されているキャッシュのライト
    バッファあるいはキャッシュメモリにあるかを認識する
    工程と、前記データのコピーがライトバッファあるいは
    キャッシュメモリにあったとき、前記1つあるいは複数
    のキャッシュから1つのキャッシュを選択し、前記選択
    されたキャッシュにおいて、ライトバッファをフラッシ
    ュせずに、前記データのコピーをシステムバスに送出す
    る工程とを含み、キャッシュとライトバッファと主メモ
    リとの間の無矛盾化を維持するキャッシュ制御方法。
  2. 【請求項2】ライトバッファを備えたライトバック方式
    の複数のキャッシュを備えたシステムにおいて、キャッ
    シュメモリのデータの置き換えが発生したときに、置き
    換えられるデータを前記ライトバッファにコピーする工
    程と、前記ライトバッファのフラッシュに先だって置き
    換えるデータのリード要求をシステムバスに出力する工
    程と、前記置き換えるデータのコピーが前記システムバ
    スを介して接続されているキャッシュのライトバッファ
    あるいはキャッシュメモリにあるかを認識する工程と、
    前記置き換えるデータのコピーがライトバッファあるい
    はキャッシュメモリにあったとき、前記複数のキャッシ
    ュから1つのキャッシュを選択し、前記選択されたキャ
    ッシュにおいて、ライトバッファをフラッシュせずに、
    前記データのコピーをシステムバスに送出する工程とを
    含み、キャッシュとライトバッファと主メモリとの間の
    無矛盾化を維持するキャッシュ制御方法。
  3. 【請求項3】プロセッサバスとデータの送受信をするプ
    ロセッサバス制御器と、 システムバスとデータの送受信をするシステムバス制御
    器と、 前記プロセッサバス制御器と前記システムバス制御器に
    接続され、キャッシュ制御装置内でデータ転送をする内
    部バスと、 前記内部バスから前記システムバス制御器に接続され、
    前記システムバスに送出する1つあるいは複数のデータ
    と前記データのそれぞれのアドレスと前記データのそれ
    ぞれが有効か無効かを示すフラグを一時記憶するライト
    バッファと、 前記ライトバッファのアドレス部と前記内部バスのアド
    レス部を比較し、前記ライトバッファのデータと主メモ
    リとの矛盾を認識するアドレス比較器と、 前記内部バスに接続され、キャッシュメモリ内の各デー
    タのアドレスと前記データが有効か無効かを示すフラグ
    と前記データが書き変わったか書き変わっていないかを
    示すフラグと前記データのコピーが他のキャッシュにあ
    る可能性があるかないかを示すフラグを記憶し、プロセ
    ッサあるいは代替バスマスタが要求したデータがキャッ
    シュメモリ内にあるかないかを判断するアドレスタグ器
    と、 前記プロセッサバスあるいは前記システムバスからの要
    求に対して、前記アドレスタグ器と前記アドレス比較器
    からの信号によって前記プロセッサバス制御器と前記シ
    ステムバス制御器と前記ライトバッファと前記アドレス
    タグ装置と前記内部バスを制御する制御回路とを備えた
    キャッシュ制御装置。
  4. 【請求項4】プロセッサバスとデータの送受信をするプ
    ロセッサバス制御器と、システムバスとデータの送受信
    をするシステムバス制御器と、 前記プロセッサバス制御器に接続され、キャッシュ制御
    装置内でデータ転送をする内部プロセッサバスと、 前記システムバス制御器に接続され、キャッシュ制御装
    置内でデータ転送をする内部システムバスと、 前記内部プロセッサバスと前記内部システムバスに接続
    され、前記システムバスに送出する1つあるいは複数の
    データと前記データのそれぞれのアドレスと前記データ
    のそれぞれが有効か無効かを示すフラグを一時記憶する
    ライトバッファと、 前記ライトバッファ内のアドレス部と前記内部プロセッ
    サバスのアドレス部あるいは前記システムバスのアドレ
    ス部とを比較し、前記ライトバッファ内のデータと主メ
    モリとの矛盾を認識するアドレス比較器と、 前記内部プロセッサバスと前記内部システムバスに接続
    された、前記内部システムバスから前記内部プロセッサ
    バスにデータを転送するとき、前記データを一時記憶す
    るリードバッファと、 前記内部プロセッサバスと前記内部システムバスに接続
    され、前記ライトバッファを飛び越えて前記内部プロセ
    ッサバスから前記内部システムバスにデータを転送する
    とき、前記データを一時記憶するサプライバッファと、 前記内部プロセッサバスと前記内部システムバスに接続
    され、キャッシュメモリ内の各データのアドレスと前記
    データが有効か無効かを示すフラグと前記データが書き
    変わったか書き変わっていないかを示すフラグと前記デ
    ータのコピーが他のキャッシュにある可能性があるかな
    いかを示すフラグを記憶し、プロセッサあるいは代替バ
    スマスタが要求したデータがキャッシュメモリ内にある
    かないかを判断するアドレスタグ器と、 前記プロセッサバスあるいは前記システムバスからの要
    求に対して、前記アドレスタグ器と前記アドレス比較器
    からの信号によって前記プロセッサバス制御器と前記シ
    ステムバス制御器と前記ライトバッファと前記アドレス
    タグ器と前記リードバッファと前記サプライバッファを
    制御する制御回路とを備えたキャッシュ制御装置。
JP5188026A 1993-07-29 1993-07-29 キャッシュ制御方法およびキャッシュ制御装置 Pending JPH0744459A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5188026A JPH0744459A (ja) 1993-07-29 1993-07-29 キャッシュ制御方法およびキャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5188026A JPH0744459A (ja) 1993-07-29 1993-07-29 キャッシュ制御方法およびキャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH0744459A true JPH0744459A (ja) 1995-02-14

Family

ID=16216368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5188026A Pending JPH0744459A (ja) 1993-07-29 1993-07-29 キャッシュ制御方法およびキャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH0744459A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298418B1 (en) 1996-11-29 2001-10-02 Hitachi, Ltd. Multiprocessor system and cache coherency control method
US6697899B1 (en) 1999-10-20 2004-02-24 Nec Corporation Bus control device allowing resources to be occupied for exclusive access
JP2006260159A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd 情報処理装置、情報処理装置におけるデータ制御方法
JP2006323432A (ja) * 2005-05-17 2006-11-30 Hitachi Ltd 主記憶共有型マルチプロセッサシステムの高性能化技術
US9262122B2 (en) 2013-03-18 2016-02-16 Fujitsu Limited Arithmetic processing apparatus and control method of arithmetic processing apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298418B1 (en) 1996-11-29 2001-10-02 Hitachi, Ltd. Multiprocessor system and cache coherency control method
US6697899B1 (en) 1999-10-20 2004-02-24 Nec Corporation Bus control device allowing resources to be occupied for exclusive access
JP2006260159A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd 情報処理装置、情報処理装置におけるデータ制御方法
JP4667092B2 (ja) * 2005-03-17 2011-04-06 富士通株式会社 情報処理装置、情報処理装置におけるデータ制御方法
JP2006323432A (ja) * 2005-05-17 2006-11-30 Hitachi Ltd 主記憶共有型マルチプロセッサシステムの高性能化技術
US9262122B2 (en) 2013-03-18 2016-02-16 Fujitsu Limited Arithmetic processing apparatus and control method of arithmetic processing apparatus

Similar Documents

Publication Publication Date Title
US5740400A (en) Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
JP4966205B2 (ja) 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測
US5426765A (en) Multiprocessor cache abitration
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
JPH08185359A (ja) メモリサブシステム
JPH1078918A (ja) チェックポイント処理加速装置および同装置を適用した計算機システム
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
US20020007444A1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
JP3757117B2 (ja) キャッシュ装置及び制御方法
US5678025A (en) Cache coherency maintenance of non-cache supporting buses
US5987544A (en) System interface protocol with optional module cache
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
JPH03163640A (ja) マルチプロセッサシステムおよびそれに用いるキャッシュメモリ
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
US6021472A (en) Information processing device and control method thereof
JPH06309231A (ja) キャッシュメモリ制御方法
JPH0962580A (ja) マルチプロセッサ装置
JPH10222423A (ja) キャッシュメモリ制御方式
JPH03230238A (ja) キャッシュメモリ制御方式
KR0145454B1 (ko) 분산된 공유 메모리를 갖는 다중 프로세서
JP2001043204A (ja) キャッシュ・メモリ制御装置
JPH0962575A (ja) 情報処理装置及びその制御方法