JP2625351B2 - キャッシュメモリ同期方式 - Google Patents

キャッシュメモリ同期方式

Info

Publication number
JP2625351B2
JP2625351B2 JP5167853A JP16785393A JP2625351B2 JP 2625351 B2 JP2625351 B2 JP 2625351B2 JP 5167853 A JP5167853 A JP 5167853A JP 16785393 A JP16785393 A JP 16785393A JP 2625351 B2 JP2625351 B2 JP 2625351B2
Authority
JP
Japan
Prior art keywords
memory
processor
request
cache
memory block
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 - Fee Related
Application number
JP5167853A
Other languages
English (en)
Other versions
JPH06103166A (ja
Inventor
真治 吾郷
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 JP5167853A priority Critical patent/JP2625351B2/ja
Publication of JPH06103166A publication Critical patent/JPH06103166A/ja
Application granted granted Critical
Publication of JP2625351B2 publication Critical patent/JP2625351B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリの同期
方式に関し、特にメモリ共有方式によるマルチプロセッ
サシステムのキャッシュメモリ同期方式に関する。
【0002】
【従来の技術】図3は従来のキャッシュメモリ同期方式
の一例におけるキャッシュメモリ上のメモリブロックの
内容と主記憶の内容との一致性を表示する状態表示の遷
移図である。図4は従来のキャッシュメモリ同期方式の
一例におけるメモリ共有方式によるマルチプロセッサシ
ステムのキャッシュメモリ同期の原理を説明するブロッ
ク図である。
【0003】従来、メモリ共有型マルチプロセッサシス
テムにおいて主記憶に各キャッシュメモリの状態表示を
置かずに個々のプロセッサの制御によりキャッシュメモ
リの内容の一致性を確保する(同期を取る)機構とし
て、個々のプロセッサに存在するキャッシュメモリに含
まれるメモリブロックの内容の主記憶の内容との一致状
態を無効S0、共有S1(主記憶とは一致)、排他一致
S2(1度だけ変更されているが主記憶と一致)、排他
不一致S3(2度以上変更され主記憶と不一致)の4つ
に区別し、プロセッサがメモリブロックを制御するリー
ド、ライトに関連する情報をバス上で他の各プロセッサ
がモニタし、当該バス情報に基づいて対応する自プロセ
ッサのキャッシュメモリブロックの状態を遷移させるこ
とによって実現してた。(例えば、「キャッシュメモリ
の一致性について」浦城恒雄(情報処理、vol.3
2,No.1.p64〜73)参照) 次にこの方式の代表例としてスヌーピング方式について
図3及び図4を用いて説明する。図3において実線はプ
ロセッサの動作を示し、点線はバス上を流れる他のプロ
セッサの当該キャッシュメモリブロックの制御動作に関
連する情報(以下バス要求)を検出した時の動作を示
し、それぞれの動作に対応した状態の遷移を示す。図4
において、要求プロセッサ1はバス要求BS1を行ない
主記憶3との間でメモリブロックのリード/ライトの制
御を行なっているプロセッサ、検出プロセッサ2はモニ
タしたバス要求BS1が自キャッシュメモリ5に含まれ
るメモリブロック50と同一のメモリブロックを制御し
ていることを検出したプロセッサである。
【0004】要求プロセッサ1によるライト時は、キャ
ッシュメモリ4に対象となるメモリブロック40が存在
し(ライトヒット)、なお且つその状態が共有S1の場
合はメモリブロック40に書き込みを行って状態表示を
排他一致S2にするとともに主記憶に対してバス要求B
S1として「部分ライト要求」を行いメモリブロック4
0と主記憶3の対応するメモリブロック30の状態を一
致させる。この主記憶3に対して行なわれる「部分ライ
ト要求」のバス要求BS1はバス6により全プロセッサ
に報知され、検出プロセッサ2においてはメモリブロッ
ク50を無効S0の状態にする。要求プロセッサ1のメ
モリブロック40が排他一致S2または排他不一致S3
の状態にある場合はメモリブロック40のみに対してラ
イト動作を行い、その後メモリブロック40の状態表示
を排他不一致S3にする。
【0005】要求プロセッサ1によるライト時にキャッ
シュメモリ4にメモリブロック40が存在しない場合
(ライトミス)、要求プロセッサ1はバス6にバス要求
B1として「変更リード要求」を出し主記憶3のメモリ
ブロック30の転送を要求する。このとき検出プロセッ
サ2のメモリブロック50が排他不一致S3の状態にあ
るものはバス6をロックして当該検出プロセッサ2のメ
モリブロック50を主記憶3のメモリブロック30に対
して書き込むライトバック動作M2を行なった後に当該
メモリブロック50を無効S0の状態とする。共有S1
または排他一致S2の状態にあるものは無効S0の状態
となる。要求プロセッサ1は主記憶3から転送されたメ
モリブロックを排他不一致S3の状態にする。なお、要
求プロセッサ1の主記憶3からのメモリブロックの転送
動作M3は、検出プロセッサ2が排他不一致S3の状態
にある場合は前述のライトバック動作M2の終了後に行
なわれる。
【0006】要求プロセッサ1によるリード時にキャッ
シュメモリ4にメモリブロック40が存在する場合は特
に状態の変化はない。
【0007】要求プロセッサ1によるリード時にキャッ
シュメモリ4にメモリブロック40が存在しない場合
(リードミス)、要求プロセッサ1はバス6にバス要求
BS1として「リード要求」を出し主記憶3のメモリブ
ロック30の転送を要求する。このとき検出プロセッサ
2は、排他不一致S3の状態にあるものはバス6をロッ
クして主記憶3に対してライトバック動作M2を行なっ
た後に共有S1の状態となり、排他一致S2の状態にあ
るものは共有S1の状態となる。要求プロセッサ1は主
記憶3から転送されたメモリブロックを共有S1の状態
にする。なお、要求プロセッサ1の主記憶3からのメモ
リブロック転送動作M3は、検出プロセッサ2が排他不
一致S3の状態にある場合は前述のライトバック動作M
2の終了後に行なわれる。
【0008】
【発明が解決しようとする課題】上述した従来技術の同
期方式では、共有メモリブロック(複数のキャッシュに
存在する同一メモリブロック)に対して複数のプロセッ
サがリード、ライトの処理を多重実行処理する場合、あ
るプロセッサがライトミスとなり変更リード要求が出さ
れるとそれに対して他のプロセッサでは当該変更リード
要求を検出して当該共有メモリブロックを無効S0の状
態にするため、負荷分散型OSにおいては当該プロセス
の次に実行処理を行なうプロセッサは異なるプロセッサ
となるのでそのプロセッサにおいて共有メモリブロック
のヒット率が低下するという問題点があった。
【0009】また、ライトミスまたはリードミスとなり
要求プロセッサから「変更リード要求」または「リード
要求」が出されたときに検出プロセッサのキャッシュメ
モリのメモリブロックが排他不一致S3の状態にあった
場合、検出プロセッサは主記憶に自メモリブロックをラ
イトバックする動作を行いそのバスロックが解除された
後に要求プロセッサには主記憶から当該メモリブロック
が転送されるのでメモリアクセスの遅延が大きいという
問題点があった。
【0010】
【課題を解決するための手段】本発明のキャッシュメモ
リ同期方式は、キャッシュメモリをそれぞれ備えた複数
のプロセッサと主記憶がバスを介して接続されたメモリ
共有方式によるマルチプロセッサシステムにおいて、各
プロセッサは、自プロセッサが有するキャッシュメモリ
の内容と主記憶の内容との一致性を表示する状態表示を
有している。キャッシュメモリのライトミスによメモ
リブロックの転送を必要とする転送要求プロセッサは、
メモリブロックの転送を要求すると共に当該転送要求
ロセッサに転送されるメモリブロックを次の実行処理可
能プロセッサに同時にかつ強制的に読み込ませる指示の
強制リード要求のバス要求を送出する手段を有してい
る。強制リード要求のバス要求を検出した次の実行処理
可能プロセッサは、転送要求プロセッサに転送されるメ
モリブロックを同時にかつ強制的に読み込むと共に、自
プロセッサの状態表示を強制リード要求のバス要求に対
応する状態に設定する手段を有することを特徴とする。
【0011】さらに、キャッシュメモリをそれぞれ備え
た複数のプロセッサと主記憶がバスを介して接続された
メモリ共有方式によるマルチプロセッサシステムにおい
て、各プロセッサは、自プロセッサが有するキャッシュ
メモリの内容と主記憶の内容との一致性を表示する状態
表示を有している。キャッシュメモリのミスヒットに遭
遇した第1のプロセッサが送出するメモリブロックの転
送を要求するバス要求を検出し、当該転送要求されてい
るメモリブロックと同一のメモリブロックを有する第2
のプロセッサは、自プロセッサの有する状態表示が、
モリブロックの内容が2度以上変更されて主記憶の内容
と不一致の状態であるとき、自プロセッサのメモリブロ
ックの内容を主記憶に書き込み転送を行うと共に第1の
プロセッサにキャッシュリード要求のバス要求を送出す
る手段を有している。 第1のプロセッサは、前記キャ
ッシュリード要求のバス要求を検出すると第2のプロセ
ッサが主記憶に書き込み転送を行うメモリブロックの内
容を読み込む手段を有することを特徴とする。
【0012】
【実施例】次に、本発明について図面を参照して説明す
る。図1は本発明のキャッシュメモリ同期方式の一実施
例におけるキャッシュメモリの主記憶の内容との一致性
を表示する状態表示の遷移図、図2は本発明のキャッシ
ュメモリ同期方式の一実施例におけるキャッシュリード
処理を説明するためのブロック図である。
【0013】図1を参照して本発明の一実施例における
キャッシュメモリの主記憶の内容との一致性を表示する
状態表示の遷移について説明する。キャッシュメモリの
メモリブロックの状態は無効S0、共有S1(主記憶と
は一致)、排他一致S2(1度だけ変更されているが主
記憶と一致)、排他不一致S3(2度以上変更され主記
憶と不一致)及びリード処理中S4(主記憶とは一致)
の5つの状態で表す。
【0014】図には示していないが、Pnはマルチプロ
セッサシステムにおけるN番目のプロセッサを意味し、
NはOSの負荷分散処理によるスケジューリング順序に
対応する番号である。Pnにおいてライトミスが発生す
ると、Pnはバス要求とし「変更リード要求」に代えて
「強制リード要求」をバスに出して主記憶からのメモリ
ブロック転送を要求し、当該キャッシュメモリのメモリ
ブロックに読み込んだ後にその状態を排他不一致S3に
する。このとき、OSのスケジューリング順序は明示的
決定されている場合(たとえば、サーキュラー型のスケ
ジューリングポリシーをもつ場合)、次実行プロセッサ
Pn+1では前記バス要求の「強制リード要求」を検出
すると、そのバス要求を発行したプロセッサPnの次実
行可能プロセッサであることを認識し、同一メモリブロ
ックの共有/非共有にかかわらずPnに転送されるメモ
リブロックを同一サイクルで読み込み、その状態をリー
ド処理中S4とする制御を行う。Pn+1以外のプロセ
ッサにおいては「強制リード要求」は「変更リード要
求」と同一に解釈した処理を行ない無効S0の状態とな
る。従って、Pnのライトミスによる同期制御において
Pn+1だけがリード処理中S4の状態で他のプロセッ
サでは全て無効S0の状態になることになり、たとえ次
に実行されるPn+1の処理において同一メモリブロッ
クをアクセスしたとしてもミスヒットになることはな
い。リード処理中S4の状態からの遷移は、Pn+1の
処理において当該メモリブロックをキャッシュヒットし
た場合には排他不一致S3の状態に、また他のプロセッ
サの「変更リード要求」を検出した場合には無効S0の
状態に遷移する。
【0015】次に本発明の別の実施例を図2を用いて説
明する。図2において、要求プロセッサ1はライトミス
またはリードミスが発生してバス要求BS1によりメモ
リブロックの転送を要求するプロセッサ、検出プロセッ
サ2は当該バス要求に対応するメモリブロック50をキ
ャッシュメモリ5に置いているプロセッサである。
【0016】要求プロセッサ1においてライトミスが発
生した場合、要求プロセッサ1はバス6を介してメモリ
ブロックの転送を要求するバス要求を全プロセッサに配
信する。この状態で要求プロセッサ1におけるメモリブ
ロック4の実態は存在してない。前記バス要求を検出し
た検出プロセッサ2はその状態により次の2つの場合が
ある。 (1)検出プロセッサ2の対応するメモリブロック50
の状態が共有S1または排他一致S2の場合 (2)検出プロセッサ2の対応するメモリブロック50
の状態が排他不一致S3の場合 (1)の場合は、検出プロセッサ2のキャッシュメモリ
5に存在するメモリブロック50と主記憶3中の対応す
るメモリブロック30の内容とは一致している。したが
ってメモリブロック30の内容を一定の時間によるタイ
ムアウト後、要求プロセッサ1は自キャッシュメモリ4
のメモリブロック40に読み込む。検出プロセッサ2に
おける対応するメモリブロック50の状態は無効S0と
なり、要求プロセッサ1における対応するメモリブロッ
ク40の状態は排他不一致S3となる。
【0017】(2)の場合は、検出プロセッサ2の対応
するメモリブロック50と主記憶3中の対応するメモリ
ブロック30の内容は不一致である。このとき、検出プ
ロセッサ2においては、主記憶3にメモリブロック50
の内容をライトバックすると共にバス6を経由して「キ
ャッシュリード要求」を要求プロセッサ1に対して行な
う。要求プロセッサ1は「キャッシュリード要求」を検
出したとき、バス6を介して検出プロセッサ2からの対
応するメモリブロック50のメモリブロック転送M1の
処理を行なう。検出プロセッサ2における対応するメモ
リブロック50の状態は、このメモリブロック転送が終
了した後に無効S0の状態となる。また要求プロセッサ
1の対応するメモリブロック40の状態は排他不一致S
3の状態に遷移する。
【0018】次に、要求プロセッサ1においてリードミ
スが発生した場合、要求プロセッサ1はバス6を介して
メモリブロックの転送を要求するバス要求を全プロセッ
サに配信する。この状態で要求プロセッサ1におけるメ
モリブロック4の実態は存在してない。前記バス要求を
検出した検出プロセッサ2はその状態により次の2つの
場合がある。 (1)検出プロセッサ2の対応するメモリブロック50
の状態が共有S1または排他一致S2の場合 (2)検出プロセッサ2の対応するメモリブロック50
の状態が排他不一致S3の場合 (1)の場合は、検出プロセッサ2のキャッシュメモリ
5に存在するメモリブロック50と主記憶3中の対応す
るメモリブロック30の内容とは一致している。したが
ってメモリブロック30の内容を一定の時間によるタイ
ムアウト後、要求プロセッサ1は自キャッシュメモリ4
のメモリブロック40に読み込む。検出プロセッサ2に
おける対応するメモリブロック50の状態は排他一致S
2となり、要求プロセッサ1における対応するメモリブ
ロック40の状態は共有S1となる。
【0019】(2)の場合は、検出プロセッサ2の対応
するメモリブロック50と主記憶3中の対応するメモリ
ブロック30の内容は不一致である。このとき、検出プ
ロセッサ2においては、主記憶3にメモリブロック50
の内容をライトバックすると共にバス6を経由して「キ
ャッシュリード要求」を要求プロセッサ1に対して行な
う。要求プロセッサ1は「キャッシュリード要求」を検
出したとき、バス6を介して検出プロセッサ2からの対
応するメモリブロック50のメモリブロック転送M1の
処理を行なう。検出プロセッサ2における対応するメモ
リブロック50の状態は、このメモリブロック転送が終
了した後に共有S1の状態となる。また要求プロセッサ
1の対応するメモリブロック40の状態は共有S1の状
態に遷移する。
【0020】
【発明の効果】以上説明したように本発明は、リード要
求が別々のプロセッサから発生するような処理、例えば
データベーステーブルのレコード検索処理のようなプロ
セスの並列処理化に伴うリードミスの発生回数を減らす
という効果がありキャッシュのヒット率を向上させるこ
とができる。
【0021】また、ライトミスまたはリードミスにおい
ては、従来は検出プロセッサのメモリブロックが排他不
一致S3の状態であった場合には主記憶へライトバック
し、その後要求プロセッサが主記憶から読み込んでいた
動作を1度のプロセッサ間のメモリブロック転送で処理
するので、システムバスの使用率を向上させると共にメ
モリアクセスの遅延を小さくするという効果を有する。
【図面の簡単な説明】
【図1】本発明のキャッシュメモリ同期方式の一実施例
におけるキャッシュメモリの主記憶の内容との一致性を
表示する状態表示の遷移図。
【図2】本発明のキャッシュメモリ同期方式の一実施例
におけるキャッシュリード処理を説明するためのブロッ
ク図
【図3】従来のキャッシュメモリ同期方式の一例におけ
るキャッシュ上でのメモリブロックの内容と主記憶の内
容との一致性を表示する状態表示の遷移図
【図4】従来のキャッシュメモリ同期方式の一例におけ
るメモリ共有方式によるマルチプロセッサシステムのキ
ャッシュメモリ同期の原理を説明するブロック図
【符号の説明】
1 要求プロセッサ 2 検出プロセッサ 3 主記憶 4,5 キャッシュメモリ 6 バス 30,40,50 メモリブロック BS1 バス要求 M1 ライトバック・メモリブロック転送 M2 ライトバック M3 メモリブロック転送

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】キャッシュメモリをそれぞれ備えた複数の
    プロセッサと主記憶がバスを介して接続されたメモリ共
    有方式によるマルチプロセッサシステムにおいて、 各プロセッサは、自プロセッサが有するキャッシュメモ
    リの内容と主記憶の内容との一致性を表示する状態表示
    を有し、 キャッシュメモリのライトミスによメモリブロックの
    転送を必要とする転送要求プロセッサは、メモリブロッ
    クの転送を要求すると共に当該転送要求プロセッサに転
    送されるメモリブロックを次の実行処理可能プロセッサ
    に同時にかつ強制的に読み込ませる指示の強制リード要
    求のバス要求を送出する手段を有し、 前記強制リード要求のバス要求を検出した前記次の実行
    処理可能プロセッサは、前記転送要求プロセッサに転送
    されるメモリブロックを同時にかつ強制的に読み込むと
    共に、自プロセッサの状態表示を前記強制リード要求の
    バス要求に対応する状態に設定する手段を有することを
    特徴とするキャッシュメモリ同期方式。
  2. 【請求項2】キャッシュメモリをそれぞれ備えた複数の
    プロセッサと主記憶がバスを介して接続されたメモリ共
    有方式によるマルチプロセッサシステムにおいて、 各プロセッサは、自プロセッサが有するキャッシュメモ
    リの内容と主記憶の内容との一致性を表示する状態表示
    を有し、 キャッシュメモリのミスヒットに遭遇した第1のプロセ
    ッサが送出するメモリブロックの転送を要求するバス要
    求を検出し、当該転送要求されているメモリブロックと
    同一のメモリブロックを有する第2のプロセッサは、自
    プロセッサの有する前記状態表示が、メモリブロックの
    内容が2度以上変更されて主記憶の内容と不一致の状態
    であるとき、自プロセッサのメモリブロックの内容を主
    記憶に書き込み転送を行うと共に前記第1のプロセッサ
    にキャッシュリード要求のバス要求を送出する手段を有
    し、 前記第1のプロセッサは、前記キャッシュリード要求の
    バス要求を検出すると前記第2のプロセッサが主記憶に
    書き込み転送を行うメモリブロックの内容を読み込む
    段を有することを特徴とするキャッシュメモリ同期方
    式。
JP5167853A 1992-07-08 1993-07-07 キャッシュメモリ同期方式 Expired - Fee Related JP2625351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5167853A JP2625351B2 (ja) 1992-07-08 1993-07-07 キャッシュメモリ同期方式

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18020792 1992-07-08
JP4-180207 1992-07-08
JP5167853A JP2625351B2 (ja) 1992-07-08 1993-07-07 キャッシュメモリ同期方式

Publications (2)

Publication Number Publication Date
JPH06103166A JPH06103166A (ja) 1994-04-15
JP2625351B2 true JP2625351B2 (ja) 1997-07-02

Family

ID=26491772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5167853A Expired - Fee Related JP2625351B2 (ja) 1992-07-08 1993-07-07 キャッシュメモリ同期方式

Country Status (1)

Country Link
JP (1) JP2625351B2 (ja)

Also Published As

Publication number Publication date
JPH06103166A (ja) 1994-04-15

Similar Documents

Publication Publication Date Title
JP3999821B2 (ja) データ処理システム内でバス仲裁プロトコルを実行する方法および装置
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
JP2566701B2 (ja) 共有キャッシュ内のデータ・ユニットに対する所有権の変更制御装置
US20060236039A1 (en) Method and apparatus for synchronizing shared data between components in a group
US20040236914A1 (en) Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
KR100243853B1 (ko) 개량된메모리아키텍쳐를위한방법및장치
US5442755A (en) Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor
KR100228940B1 (ko) 메모리 일관성 유지 방법
JP3700787B2 (ja) セマフォ・バイパス法
JPH03214337A (ja) 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法
JPH04501027A (ja) キャッシュメモリー付マルチ処理システム
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US5835714A (en) Method and apparatus for reservation of data buses between multiple storage control elements
JP3092566B2 (ja) パイプライン方式のバスを用いたメモリ制御方式
JPH0532775B2 (ja)
JP4106664B2 (ja) データ処理システムにおけるメモリ・コントローラ
WO1997004392A1 (en) Shared cache memory device
JP2625351B2 (ja) キャッシュメモリ同期方式
US6021466A (en) Transferring data between caches in a multiple processor environment
JPH0511337B2 (ja)
JP3013631B2 (ja) キャッシュメモリ同期方法
JPH0353657B2 (ja)
JPH05100952A (ja) データ処理装置
JPH0680503B2 (ja) 相互問い合わせ要求に優先権を与える方法及び装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080411

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090411

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100411

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees