JPH04174042A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPH04174042A JPH04174042A JP2147434A JP14743490A JPH04174042A JP H04174042 A JPH04174042 A JP H04174042A JP 2147434 A JP2147434 A JP 2147434A JP 14743490 A JP14743490 A JP 14743490A JP H04174042 A JPH04174042 A JP H04174042A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- tag
- data
- address
- cpu
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
独立したキャッシュメモリを有し同一のデータを参照・
更新することがある複数のプロセッサから構成されるマ
ルチプロセッサシステムにおけるキャッシュメモリの制
御方式に関し、 管理機構(管理手段)内のタグのために必要な物理的な
メモリ量の削減を可能にすることを目的とし、 複数のプロセッサが管理手段に収容されるプロセッサ群
が、主記憶装置が接続される共有バスにより複数組相互
に接続される構成を有し、各プロセッサ内に、主記憶装
置上の一部のデータを一時記憶する第1キャッシュ手段
と、該第1キヤツシ二手段に記憶される各データに対応
して該各データが主記憶装置上のどのデータに対応する
かを示す第1アドレス情報を記憶する第1タグ手段とを
有するマルチプロセッサシステムにおいて、各管理手段
内に、主記憶装置上の一部のデータを一時記憶する第2
キャッシュ手段と、該第2キャッシュ手段に記憶される
各データに対応して、該各データが主記憶装置上のどの
データに対応するかを示す第2アドレス情報と、該各デ
ータがプロセッサ群内のどのプロセッサの第1キャッシ
ュ手段に存在するかを示す第1キャッシュ位置情報と、
を記憶する第2タグ手段を有し、各管理手段は任意の第
1又は第2キャッシュ手段の内容の更新に伴って第2タ
グ手段上の対応する第1キャッシュ位置情報を更新する
、ように構成する。
更新することがある複数のプロセッサから構成されるマ
ルチプロセッサシステムにおけるキャッシュメモリの制
御方式に関し、 管理機構(管理手段)内のタグのために必要な物理的な
メモリ量の削減を可能にすることを目的とし、 複数のプロセッサが管理手段に収容されるプロセッサ群
が、主記憶装置が接続される共有バスにより複数組相互
に接続される構成を有し、各プロセッサ内に、主記憶装
置上の一部のデータを一時記憶する第1キャッシュ手段
と、該第1キヤツシ二手段に記憶される各データに対応
して該各データが主記憶装置上のどのデータに対応する
かを示す第1アドレス情報を記憶する第1タグ手段とを
有するマルチプロセッサシステムにおいて、各管理手段
内に、主記憶装置上の一部のデータを一時記憶する第2
キャッシュ手段と、該第2キャッシュ手段に記憶される
各データに対応して、該各データが主記憶装置上のどの
データに対応するかを示す第2アドレス情報と、該各デ
ータがプロセッサ群内のどのプロセッサの第1キャッシ
ュ手段に存在するかを示す第1キャッシュ位置情報と、
を記憶する第2タグ手段を有し、各管理手段は任意の第
1又は第2キャッシュ手段の内容の更新に伴って第2タ
グ手段上の対応する第1キャッシュ位置情報を更新する
、ように構成する。
本発明は、独立したキャッシュメモリを有し同一のデー
タを参照・更新することがある複数のプロセッサから構
成されるマルチプロセッサシステムにおけるキャッシュ
メモリの制御方式に関する。
タを参照・更新することがある複数のプロセッサから構
成されるマルチプロセッサシステムにおけるキャッシュ
メモリの制御方式に関する。
プロセッサ及びメモリの小型化・低価格化にともない、
複数のプロセッサを並列して動作させることにより計算
処理を行うマルチプロセッサシステムが注目を集めてい
る。かかるシステムによれば、1つの問題に対する処理
手順を並列に実行することにより、処理時間を大幅に短
縮させることが可能となる。また、プロセッサを相互に
監視する機能を設けることにより、システム全体の信軌
性を向上させることができる。更に、もともと並列性を
有する問題に対して、並列する問題部分を各プロセッサ
に割り当てて処理させることにより、問題解決のアルゴ
リズムを笥明化することも可能となる。
複数のプロセッサを並列して動作させることにより計算
処理を行うマルチプロセッサシステムが注目を集めてい
る。かかるシステムによれば、1つの問題に対する処理
手順を並列に実行することにより、処理時間を大幅に短
縮させることが可能となる。また、プロセッサを相互に
監視する機能を設けることにより、システム全体の信軌
性を向上させることができる。更に、もともと並列性を
有する問題に対して、並列する問題部分を各プロセッサ
に割り当てて処理させることにより、問題解決のアルゴ
リズムを笥明化することも可能となる。
マルチプロセッサシステムの中でも、特に複数のプロセ
ッサを共有バスで結合したバス結合型マルチプロセッサ
システムは、実装が容易で低コストで実現できることか
ら、様々な商用機が実現されている。
ッサを共有バスで結合したバス結合型マルチプロセッサ
システムは、実装が容易で低コストで実現できることか
ら、様々な商用機が実現されている。
第14図は、ハス結合型マルチプロセッサシステムの第
1の従来例を示す。
1の従来例を示す。
複数の#1〜#nの複数のプロセッサ141は、共有バ
ス142により相互に接続され、また、共有バス142
には主記憶装置(MS、以下同じ)143が接続され、
各プロセッサ141はM S 143を共有して処理を
実行する。
ス142により相互に接続され、また、共有バス142
には主記憶装置(MS、以下同じ)143が接続され、
各プロセッサ141はM S 143を共有して処理を
実行する。
上述のような第1の従来例においては、各プロセッサ1
41は、それぞれに設定されたプログラムを実行しなが
ら、共有バス142を介してM S 143のデータ内
容を参照・更新する。この場合、各プロセッサ141が
直接共有バス142を使用すると、各プロセッサ141
からのアクセスが共有バス142に集中し、また、デー
タのアクセスに時間がかかるという問題が発生する。こ
のため、各プロセッサ141は、内部にキャッシュと呼
ばれるメモリを有し、このキャッシュを介してM S
143との間で必要なデータの授受を行うことにより、
上述の問題に対処している。
41は、それぞれに設定されたプログラムを実行しなが
ら、共有バス142を介してM S 143のデータ内
容を参照・更新する。この場合、各プロセッサ141が
直接共有バス142を使用すると、各プロセッサ141
からのアクセスが共有バス142に集中し、また、デー
タのアクセスに時間がかかるという問題が発生する。こ
のため、各プロセッサ141は、内部にキャッシュと呼
ばれるメモリを有し、このキャッシュを介してM S
143との間で必要なデータの授受を行うことにより、
上述の問題に対処している。
ここで、M S 143上の同一のデータ(共有データ
)が複数のプロセッサ141により参照・更新される場
合が発生し得るため、このような共有データのコピーが
複数のプロセッサ141のキャッシュに存在し得る。従
って、各プロセッサ141でデータが変更された場合、
キャッシュとM S 143との間でデータの統一をと
る制御が必要となるほか、各プロセッサ141のキャッ
シュ間でもデータの統一をとる制御が必要となる。
)が複数のプロセッサ141により参照・更新される場
合が発生し得るため、このような共有データのコピーが
複数のプロセッサ141のキャッシュに存在し得る。従
って、各プロセッサ141でデータが変更された場合、
キャッシュとM S 143との間でデータの統一をと
る制御が必要となるほか、各プロセッサ141のキャッ
シュ間でもデータの統一をとる制御が必要となる。
このような制御は、通常、キャッシュのデータを変更し
たプロセッサ141が、共有バス142を介して他のプ
ロセッサ141のキャッシュに共有データの更新情報を
出力し、これに対して、他のプロセッサ141が共有バ
ス142を監視していて、必要に応じて自己のキャッシ
ュの内容を無効化ないし更新することにより実現される
。
たプロセッサ141が、共有バス142を介して他のプ
ロセッサ141のキャッシュに共有データの更新情報を
出力し、これに対して、他のプロセッサ141が共有バ
ス142を監視していて、必要に応じて自己のキャッシ
ュの内容を無効化ないし更新することにより実現される
。
しかしながら、第14図のような第1の従来例の場合、
プロセッサ141の数が増大すると、プロセッサ間の通
信の頻度が大きくなって共有バス142のスルーブツト
が低下し、システム全体の処理性能が低下する。
プロセッサ141の数が増大すると、プロセッサ間の通
信の頻度が大きくなって共有バス142のスルーブツト
が低下し、システム全体の処理性能が低下する。
このような問題に対処するため、第15図のような第2
の従来例が実現されている。
の従来例が実現されている。
第2の従来例では、#1〜#mの適切な数のプロセッサ
151が1つの管理機構152によって管理され、これ
を1グループとする#1〜#Pの複数のグループの各管
理機構152(#1〜#p)が、M S 154の接続
された共有バス153によって相互に接続される2階層
構造を有する。これにより、共有データがなるべく同一
グループ内のプロセッサ151間で使用されるようにプ
ログラミングを行えば、各グループ内のプロセッサ15
1が管理機構152を介して共有バス153を使用する
割合を減少させることができ、共有バス153のスルー
ブツトを向上できる。
151が1つの管理機構152によって管理され、これ
を1グループとする#1〜#Pの複数のグループの各管
理機構152(#1〜#p)が、M S 154の接続
された共有バス153によって相互に接続される2階層
構造を有する。これにより、共有データがなるべく同一
グループ内のプロセッサ151間で使用されるようにプ
ログラミングを行えば、各グループ内のプロセッサ15
1が管理機構152を介して共有バス153を使用する
割合を減少させることができ、共有バス153のスルー
ブツトを向上できる。
ここで、各プロセッサ151内に設けられるキャッシュ
装置の構成を第16図に示す。通常、MS154上のデ
ータは一定の大きさのブロックに分割され、M S 1
54上の特定のアドレス領域のブロックデータが第16
図のキャッシュ162上の特定のアドレス領域のブロッ
クデータに対応するように割り当て(マツピング)が行
われる。この場合、キャッシュ162上の各ブロックデ
ータがM S 154上のどのブロックデータに対応し
ているかを示す情報が、キャッシュ162に対応して設
けられるタグ161と呼ばれるメモリにテーブルとして
格納されており、各プロセッサ151はこのタグ161
の内容を調べてキャッシュ162へのアクセスを行う。
装置の構成を第16図に示す。通常、MS154上のデ
ータは一定の大きさのブロックに分割され、M S 1
54上の特定のアドレス領域のブロックデータが第16
図のキャッシュ162上の特定のアドレス領域のブロッ
クデータに対応するように割り当て(マツピング)が行
われる。この場合、キャッシュ162上の各ブロックデ
ータがM S 154上のどのブロックデータに対応し
ているかを示す情報が、キャッシュ162に対応して設
けられるタグ161と呼ばれるメモリにテーブルとして
格納されており、各プロセッサ151はこのタグ161
の内容を調べてキャッシュ162へのアクセスを行う。
ここで、M S 154の記憶容量はキャッシュの記憶
容量よりはるかに大きいため、キャッシュ162が1つ
のみだと、M S 154上のブロックデータがキャッ
シュ装置に存在する確率が低下し、プロセッサ151が
M S 154を直接アクセスする割合が大きくなる。
容量よりはるかに大きいため、キャッシュ162が1つ
のみだと、M S 154上のブロックデータがキャッ
シュ装置に存在する確率が低下し、プロセッサ151が
M S 154を直接アクセスする割合が大きくなる。
そこで、タグ161とキャッシュ162の組が第16図
の如く#1〜#9の複数組用意され、MS 154上の
特定の領域の複数のブロックデータが複数のキャッシュ
162に同時に格納されるようにした構成を有するキャ
ッシュ装置が実現されている。この場合、各プロセッサ
151は、#1〜#9のタグ161の内容をハードウェ
ア的に同時に調べ、目的のブロックデータが存在するタ
グ161に対応するキャッシュ162をアクセスする。
の如く#1〜#9の複数組用意され、MS 154上の
特定の領域の複数のブロックデータが複数のキャッシュ
162に同時に格納されるようにした構成を有するキャ
ッシュ装置が実現されている。この場合、各プロセッサ
151は、#1〜#9のタグ161の内容をハードウェ
ア的に同時に調べ、目的のブロックデータが存在するタ
グ161に対応するキャッシュ162をアクセスする。
これにより、M S 154上のブロックデータがキャ
ッシュ装置に存在する確率を向上させることができ、プ
ロセッサ151がM S 154を直接アクセスする割
合を減少させることができる。このような方式は、一般
にセットアソシエイティブ方式と呼ばれ、複数の#1〜
#qの複数のタグ161及びキャッシュ162の各々は
ウェイと呼ばれる。すなわち、第16図の例では、#1
〜#qのqウェイのタグ161及びキャッシュ162が
存在することになる。これに対して、タグ161及びキ
ャッシュ162の組を1組のみ有する方式はダイレクト
マツピング方式と呼ばれる。
ッシュ装置に存在する確率を向上させることができ、プ
ロセッサ151がM S 154を直接アクセスする割
合を減少させることができる。このような方式は、一般
にセットアソシエイティブ方式と呼ばれ、複数の#1〜
#qの複数のタグ161及びキャッシュ162の各々は
ウェイと呼ばれる。すなわち、第16図の例では、#1
〜#qのqウェイのタグ161及びキャッシュ162が
存在することになる。これに対して、タグ161及びキ
ャッシュ162の組を1組のみ有する方式はダイレクト
マツピング方式と呼ばれる。
上述の第2の従来例においては、M S 143上の同
一のデータ(共有データ)のコピーが、同一グループ内
のプロセッサ151だけでなく他グループのプロセッサ
151のキャッシュ162に存在し得る。
一のデータ(共有データ)のコピーが、同一グループ内
のプロセッサ151だけでなく他グループのプロセッサ
151のキャッシュ162に存在し得る。
従って、第15図の#1〜#pの各管理機構152は、
自グループ内の#1〜#mのプロセッサ151相互間、
自グループ内の#1〜#mの各プロセッサ151とMS
154との間、及び自グループ内の#1〜#mの各プロ
センサ151と他グループ内の#1〜#mの各プロセッ
サ15との間のデータの統一をとる制御を行う必要があ
る。
自グループ内の#1〜#mのプロセッサ151相互間、
自グループ内の#1〜#mの各プロセッサ151とMS
154との間、及び自グループ内の#1〜#mの各プロ
センサ151と他グループ内の#1〜#mの各プロセッ
サ15との間のデータの統一をとる制御を行う必要があ
る。
このため、各管理機構152の内部には、第17図に示
される如く、自グループ内の#l〜#mの各プロセッサ
151の#1〜#qの各ウェイのタグ161と同じもの
が設けられている。そして、自グループ内のいずれかの
プロセッサ151においてキャッシュ162がアクセス
された場合、管理機構152は、第17図のタグ161
を調べることによりデータの統一をとる制御を行ってい
る。
される如く、自グループ内の#l〜#mの各プロセッサ
151の#1〜#qの各ウェイのタグ161と同じもの
が設けられている。そして、自グループ内のいずれかの
プロセッサ151においてキャッシュ162がアクセス
された場合、管理機構152は、第17図のタグ161
を調べることによりデータの統一をとる制御を行ってい
る。
上述の第2の従来例の場合、システム全体のスループッ
トを向上させるために、管理機構152において十分な
応答速度を得られるようにする必要があり、そのために
は、管理機構152内の全てのタグ161の内容が高速
に調べられるようにする必要がある。このため、従来は
、管理機構152の内部に、自グループ内の#l〜#履
の各プロセッサ151の#1〜#9の各ウェイのタグ1
61と同じものが別々のメモリチップとして設けられ、
これらを同時に並列してアクセスできるようなハードウ
ェア構成を有していた。しかし、このような構成の場合
、各プロセッサ151内のキャッシュ装置のウェイ数及
び各グループ内のプロセッサ151の数に応じて、管理
機構152内に設けられるタグエ61のためのメモリチ
ップ数が増加してしまい、管理機構152部分の物理的
な大きさが増大してしまうという問題点を有している。
トを向上させるために、管理機構152において十分な
応答速度を得られるようにする必要があり、そのために
は、管理機構152内の全てのタグ161の内容が高速
に調べられるようにする必要がある。このため、従来は
、管理機構152の内部に、自グループ内の#l〜#履
の各プロセッサ151の#1〜#9の各ウェイのタグ1
61と同じものが別々のメモリチップとして設けられ、
これらを同時に並列してアクセスできるようなハードウ
ェア構成を有していた。しかし、このような構成の場合
、各プロセッサ151内のキャッシュ装置のウェイ数及
び各グループ内のプロセッサ151の数に応じて、管理
機構152内に設けられるタグエ61のためのメモリチ
ップ数が増加してしまい、管理機構152部分の物理的
な大きさが増大してしまうという問題点を有している。
また、各プロセッサ151内のみならず、各管理機構1
52内にもキャッシュ(2ndキヤツシユ)を設ける場
合が多く、管理機構152内に2ndキヤツシユ用のタ
グが必要となる場合がある。この場合、2ndキヤツシ
ユ用のタグと第17図の各プロセッサ151対応のタグ
161との間の制御が複雑になり、更に、例えば2nd
キヤツシユのウェイ数を各プロセッサ151内のキャッ
シュ装置のウェイ数に合わせなければならない等、2n
dキヤツシユの構成が制限されてしまうという問題点を
有している。
52内にもキャッシュ(2ndキヤツシユ)を設ける場
合が多く、管理機構152内に2ndキヤツシユ用のタ
グが必要となる場合がある。この場合、2ndキヤツシ
ユ用のタグと第17図の各プロセッサ151対応のタグ
161との間の制御が複雑になり、更に、例えば2nd
キヤツシユのウェイ数を各プロセッサ151内のキャッ
シュ装置のウェイ数に合わせなければならない等、2n
dキヤツシユの構成が制限されてしまうという問題点を
有している。
本発明は、管理機構(管理手段)内のタグのために必要
な物理的なメモリ量の削減を可能にすることを目的とす
る。
な物理的なメモリ量の削減を可能にすることを目的とす
る。
第1図は、本発明のブロック図である。
本発明は、第1図(a)の如く、#1〜#mの複数のプ
ロセッサ101が管理手段102に収容されるプロセッ
サ群103が、主記憶装置105が接続される共有バス
104により#1〜#pの複数組相互に接続される構成
を有し、更に、第1図(b)の如く、各プロセッサ10
1内に、主記憶装置105上の一部のデータ111を一
時記憶する第1キャッシュ手段107と、該第1キャッ
シュ手段に記憶される各データ111に対応して該各デ
ータが主記憶装置105上のどのデータに対応するかを
示す第1アドレス情報110を記憶する第1タグ手段1
06とを有するマルチプロセッサシステムを前提とする
。
ロセッサ101が管理手段102に収容されるプロセッ
サ群103が、主記憶装置105が接続される共有バス
104により#1〜#pの複数組相互に接続される構成
を有し、更に、第1図(b)の如く、各プロセッサ10
1内に、主記憶装置105上の一部のデータ111を一
時記憶する第1キャッシュ手段107と、該第1キャッ
シュ手段に記憶される各データ111に対応して該各デ
ータが主記憶装置105上のどのデータに対応するかを
示す第1アドレス情報110を記憶する第1タグ手段1
06とを有するマルチプロセッサシステムを前提とする
。
そして、各管理手段102内に、第1図ら)の如く、自
プロセッサ群103内の任意のプロセッサ101の第1
タグ手段106によって指示される各データ111に対
応して、該各データが自プロセッサ群103内のどのプ
ロセッサ101の第1キャッシュ手段107に存在する
かを示す第1キャッシュ位置情報112を記憶する第2
タグ手段108を有する。
プロセッサ群103内の任意のプロセッサ101の第1
タグ手段106によって指示される各データ111に対
応して、該各データが自プロセッサ群103内のどのプ
ロセッサ101の第1キャッシュ手段107に存在する
かを示す第1キャッシュ位置情報112を記憶する第2
タグ手段108を有する。
ここで、管理手段102内に、主記憶装置105上の一
部のデータ114を一時記憶する第2キャッシュ手段1
09を設けてもよく、この場合には、上述の第2タグ手
段108は、第2キャッシュ手段109に記憶される各
データ114に対応して、該各データが主記憶装置10
5上のどのデータに対応するかを示す第2アドレス情報
113と、該各データ114が自プロセッサ群103内
のどのプロセッサ101の第1キャッシュ手段107に
存在するかを示す第1キャッシュ位1情報112とを記
憶する構成を有する。
部のデータ114を一時記憶する第2キャッシュ手段1
09を設けてもよく、この場合には、上述の第2タグ手
段108は、第2キャッシュ手段109に記憶される各
データ114に対応して、該各データが主記憶装置10
5上のどのデータに対応するかを示す第2アドレス情報
113と、該各データ114が自プロセッサ群103内
のどのプロセッサ101の第1キャッシュ手段107に
存在するかを示す第1キャッシュ位1情報112とを記
憶する構成を有する。
そして、各管理手段102は任意の第1又は第2キャッ
シュ手段107.109の内容の更新に伴って第2タグ
手段108上の対応する第1キャッシュ位置情報112
を更新する。
シュ手段107.109の内容の更新に伴って第2タグ
手段108上の対応する第1キャッシュ位置情報112
を更新する。
上述の構成において、第1図(b)の如(、第1タグ手
段106及び第1キャッシュ手段107は、主記憶装置
105上の同一のアドレス領域の複数のデータを、セッ
トアソシエイティブ方式に基づき同時に記憶する#1〜
#pの複数ウェイのキャッシュ手段及びそれに対応する
タグ手段からなるように構成できる。この場合、第2タ
グ手段108に記憶される第1キャッシュ位置情報11
2は、各データ111が自プロセッサ群103内のどの
プロセッサ101のどのウェイの第1キャッシュ手段1
07に存在するかを示す情報である。
段106及び第1キャッシュ手段107は、主記憶装置
105上の同一のアドレス領域の複数のデータを、セッ
トアソシエイティブ方式に基づき同時に記憶する#1〜
#pの複数ウェイのキャッシュ手段及びそれに対応する
タグ手段からなるように構成できる。この場合、第2タ
グ手段108に記憶される第1キャッシュ位置情報11
2は、各データ111が自プロセッサ群103内のどの
プロセッサ101のどのウェイの第1キャッシュ手段1
07に存在するかを示す情報である。
管理手段102内に、第1キャッシュ位置情報112を
記憶した第2タグ手段108を設けることにより、第2
タグ手段108をどのようなウェイ構成にしても、自プ
ロセッサ群103内の任意のプロセッサ101の第1キ
ャッシュ手段107上のデータ111を、管理手段10
2側から一意に把握できる。そして、管理手段102は
、第2タグ手段108の内容に基づいて、自プロセッサ
群内の#1〜#mのプロセッサ101相互間、自プロセ
ッサ群内の#1〜#mの各プロセッサ101と主記憶装
置105との間、及び自プロセッサ群内の#1〜軸の各
プロセッサ101と他プロセッサ群内の#1〜#mの各
プロセッサ101との間のデータの統一をとる制御を行
うことができる。
記憶した第2タグ手段108を設けることにより、第2
タグ手段108をどのようなウェイ構成にしても、自プ
ロセッサ群103内の任意のプロセッサ101の第1キ
ャッシュ手段107上のデータ111を、管理手段10
2側から一意に把握できる。そして、管理手段102は
、第2タグ手段108の内容に基づいて、自プロセッサ
群内の#1〜#mのプロセッサ101相互間、自プロセ
ッサ群内の#1〜#mの各プロセッサ101と主記憶装
置105との間、及び自プロセッサ群内の#1〜軸の各
プロセッサ101と他プロセッサ群内の#1〜#mの各
プロセッサ101との間のデータの統一をとる制御を行
うことができる。
この場合、第2タグ手段108は、任意のウェイ構成を
とることができるため、物理的に少ないメモリチップで
構成することができ、管理手段102の部分のハードウ
ェア構成を小型化することが可能となる。
とることができるため、物理的に少ないメモリチップで
構成することができ、管理手段102の部分のハードウ
ェア構成を小型化することが可能となる。
また、このように任意のウェイ構成にできる結果、管理
手段102内に第2キャッシュ手段109を設けた場合
に、上述の第2タグ手段108を第2キャッシュ手段1
09用のタグと共通化することができる。これにより、
第2キャッシュ手段109の構成の自由度を高めること
ができ、また、管理手段102における制御を簡略化す
ることができる。
手段102内に第2キャッシュ手段109を設けた場合
に、上述の第2タグ手段108を第2キャッシュ手段1
09用のタグと共通化することができる。これにより、
第2キャッシュ手段109の構成の自由度を高めること
ができ、また、管理手段102における制御を簡略化す
ることができる。
以下、図面を参照しながら本発明の実施例につき説明す
る。
る。
第2図は、本発明の実施例の全体構成図である。
本実施例は、16台のプロセッサからなるマルチプロセ
ッサシステムであり、全体的な構成は第15図の第2の
従来例と同様である。
ッサシステムであり、全体的な構成は第15図の第2の
従来例と同様である。
そして、MS24(主記憶装置、以下同じ)が接続され
る管理機構−MSインタフェース23には、#1〜#4
の4台の管理機構22が相互に接続される。
る管理機構−MSインタフェース23には、#1〜#4
の4台の管理機構22が相互に接続される。
各管理機構22は、それぞれ#A〜#Dの4台のプロセ
ッサ21を、CPU−管理機構インタフェース25を介
して収容する。
ッサ21を、CPU−管理機構インタフェース25を介
して収容する。
各管理機構22は、内部に2ndキャッシュ装置2日を
有する。また、各プロセッサ21は、内部にCPU(中
央制御装置、以下同じ)26とCPUキャッシュ装置2
7を有し、互いにCPUアドレスバスBSI及びCPt
JデータバスBS2を介して接続されている。
有する。また、各プロセッサ21は、内部にCPU(中
央制御装置、以下同じ)26とCPUキャッシュ装置2
7を有し、互いにCPUアドレスバスBSI及びCPt
JデータバスBS2を介して接続されている。
次に、CPUキャッシュ装置27の構成を第3図に示す
。
。
同装置は、#1〜#4の4ウエイからなるCPUキャッ
シュ31と、それに対応する#l〜#4のCPUキャッ
シュのタグ32を有する(このデータ構造については後
述する)。
シュ31と、それに対応する#l〜#4のCPUキャッ
シュのタグ32を有する(このデータ構造については後
述する)。
CPtJキャッシュ制御部33からのCPUタグアドレ
スa2は、CPUキャッシュ31及びCPUキャッシュ
のタグ32のタグアドレスを同期して指定する。CPU
キャッシュ制御部33からのブロック内アドレスa3は
、タグアドレスが指定されたCPUキャッシュ31にお
いて、更にブロックデータ内のアドレスを指定する。#
1〜#4のCPUキャッシュのタグ32のそれぞれから
出力される#1〜#4の有効ビットb2及びCPUタグ
データd3 (後述する)は、#1〜#4の比較器34
に入力し、各有効ビットb2のオン/オフ、及び各CP
Uタグデータd3とCPUキャッシュ制御部33から入
力するCPUタグデータd1との比較が行われる。そし
て、各比較器34での演算結果がCPUキャッシュ制御
部33に入力する。
スa2は、CPUキャッシュ31及びCPUキャッシュ
のタグ32のタグアドレスを同期して指定する。CPU
キャッシュ制御部33からのブロック内アドレスa3は
、タグアドレスが指定されたCPUキャッシュ31にお
いて、更にブロックデータ内のアドレスを指定する。#
1〜#4のCPUキャッシュのタグ32のそれぞれから
出力される#1〜#4の有効ビットb2及びCPUタグ
データd3 (後述する)は、#1〜#4の比較器34
に入力し、各有効ビットb2のオン/オフ、及び各CP
Uタグデータd3とCPUキャッシュ制御部33から入
力するCPUタグデータd1との比較が行われる。そし
て、各比較器34での演算結果がCPUキャッシュ制御
部33に入力する。
CPU+ヤッシュ制御部33は、CPUアドレスバスB
SI及びCPUデータバスBS2を収容すると共に、C
PU−管理機構インタフェース25であるタグアドレス
バスBS3 、リアルアドレスバスBS4及びデータバ
スBS5を収容する(共に第2図参照)続いて、第2図
の2ndキヤツシユ装置28の構成を第4図に示す。
SI及びCPUデータバスBS2を収容すると共に、C
PU−管理機構インタフェース25であるタグアドレス
バスBS3 、リアルアドレスバスBS4及びデータバ
スBS5を収容する(共に第2図参照)続いて、第2図
の2ndキヤツシユ装置28の構成を第4図に示す。
同装置は、1ウエイの2ndキヤツシユ41と、それに
対応する2ndキヤツシユのタグ42を有する(このデ
ータ構造については後述する)。
対応する2ndキヤツシユのタグ42を有する(このデ
ータ構造については後述する)。
2ndキヤ・ツシュ制御部43からの2ndタグアドレ
スa4は、2ndキヤツシユ41及び2ndキヤツシユ
のタグ42のタグアドレスを同期して指定する。2nd
キャッシュ制御部43からのブロック内アドレスa5は
、タグアドレスが指定された2ndキヤツシユ41にお
いて、更にブロックデータ内のアドレスを指定する。2
ndキヤツシユのタグ42から出力される有効ビットb
5及び2ndタグデータd6 (後述する)は、比較器
44に入力し、有効ビットb5のオン/オフ、及び2n
dタグデータd6と2ndキャッシュ制御部43がら入
力する2ndタグデータd2との比較が行われる。そし
て、比較器44での演算結果が2ndキャッシュ制御部
43に入力する。
スa4は、2ndキヤツシユ41及び2ndキヤツシユ
のタグ42のタグアドレスを同期して指定する。2nd
キャッシュ制御部43からのブロック内アドレスa5は
、タグアドレスが指定された2ndキヤツシユ41にお
いて、更にブロックデータ内のアドレスを指定する。2
ndキヤツシユのタグ42から出力される有効ビットb
5及び2ndタグデータd6 (後述する)は、比較器
44に入力し、有効ビットb5のオン/オフ、及び2n
dタグデータd6と2ndキャッシュ制御部43がら入
力する2ndタグデータd2との比較が行われる。そし
て、比較器44での演算結果が2ndキャッシュ制御部
43に入力する。
2ndキャッシュ制御部43は、#A〜#Dの4つのプ
ロセッサ21からの4本のCPU−管理機構インタフェ
ース25を収容する。各CPU−管理機構インタフェー
ス25は、タグアドレスバスBS3、リアルアドレスバ
スBS4及びデータバスBS5を有する。
ロセッサ21からの4本のCPU−管理機構インタフェ
ース25を収容する。各CPU−管理機構インタフェー
ス25は、タグアドレスバスBS3、リアルアドレスバ
スBS4及びデータバスBS5を有する。
また、2ndキャッシュ制御部43は、管理機構−MS
インタフェース23であるデータバスBS6、リアルア
ドレスバスBS7 、タグアドレスバスBS8及び共有
情報バスBS9を収容する(共に、第2図参照)。
インタフェース23であるデータバスBS6、リアルア
ドレスバスBS7 、タグアドレスバスBS8及び共有
情報バスBS9を収容する(共に、第2図参照)。
次に、以上の構成のマルチプロセッサシステムの実施例
における各キャッシュ及びデータの構成を説明する。
における各キャッシュ及びデータの構成を説明する。
まず、第2図の16台の各プロセッサ21は、それぞれ
並列に動作し、各プロセッサ21内のCPU26は、C
PUアドレスバスBSIに第5図(a)の如き32ビッ
トのCPUアドレスa1を出力することにより、各プロ
セッサ21内のCPUキャッシュ装置27及び各プロセ
ッサ21が接続される管理機構22内の2ndキヤツシ
ユ装置28を介して、MS24をアクセスする。このよ
うにアクセスされたデータは、各プロセッサ21内のC
PUデータバスBS2を介して各CPU26で処理され
る。
並列に動作し、各プロセッサ21内のCPU26は、C
PUアドレスバスBSIに第5図(a)の如き32ビッ
トのCPUアドレスa1を出力することにより、各プロ
セッサ21内のCPUキャッシュ装置27及び各プロセ
ッサ21が接続される管理機構22内の2ndキヤツシ
ユ装置28を介して、MS24をアクセスする。このよ
うにアクセスされたデータは、各プロセッサ21内のC
PUデータバスBS2を介して各CPU26で処理され
る。
次に、各プロセッサ21のC−PUキャッシュ装置27
(′第2図参照)内のCPUキャッシュのタグ32及び
CPUキャッシュ31(第3図参照)のデータ構成を第
5図[有])、第7図及び第8図に示す。
(′第2図参照)内のCPUキャッシュのタグ32及び
CPUキャッシュ31(第3図参照)のデータ構成を第
5図[有])、第7図及び第8図に示す。
第3図のCPUキャッシュ制御部33は、CPUアドレ
スバスBSIから32ビットのCPUアドレスa1を受
は取ると、第5図(b)の如く、その上位18ビットを
CPUタグデータd1、中位10ビットをCPUタグア
ドレスa2、下位4ビットをブロック内アドレスa3と
して、それぞれ出力する。これにより、CPUキャ・ン
シュ装置27内では、CPUアドレスa1で定まるMS
24上の0〜232 1までのリニアアドレス領域(第
6図(a)参照)のバイトデータが、16バイトずつの
ブロックデータに分割され、各ブロックデータは、10
ビットのC’PUタグアドレスa2で定まる横方向の0
〜2+0 1までの列アドレス(以下、CPUタグアド
レスと呼ぶ)と、18ビットのCPUタグデータd1で
定まる縦方向の0〜218 1までの行アドレス(以下
、CPUタグデータと呼ぶ)の組み合わせによって表現
される(第6図(b)参照)。
スバスBSIから32ビットのCPUアドレスa1を受
は取ると、第5図(b)の如く、その上位18ビットを
CPUタグデータd1、中位10ビットをCPUタグア
ドレスa2、下位4ビットをブロック内アドレスa3と
して、それぞれ出力する。これにより、CPUキャ・ン
シュ装置27内では、CPUアドレスa1で定まるMS
24上の0〜232 1までのリニアアドレス領域(第
6図(a)参照)のバイトデータが、16バイトずつの
ブロックデータに分割され、各ブロックデータは、10
ビットのC’PUタグアドレスa2で定まる横方向の0
〜2+0 1までの列アドレス(以下、CPUタグアド
レスと呼ぶ)と、18ビットのCPUタグデータd1で
定まる縦方向の0〜218 1までの行アドレス(以下
、CPUタグデータと呼ぶ)の組み合わせによって表現
される(第6図(b)参照)。
一方、第3図のCPUキャッシュ31の#l〜#4の各
ウェイは、CPUキャッシュ制御部33からのIOビッ
トのCPUタグアドレスa2によって、0〜2+0 1
までのアドレス指定が可能である。そして、そのうちの
1つのウェイの任意の1つのアドレスiには、MS24
を第6図(b)の如く仮想的にマツピングした場合の、
列アドレスiを有するブロックデータdix、ai、、
d□、d□□等のうち1つのブロックデータ81が、第
8図の如く格納される。
ウェイは、CPUキャッシュ制御部33からのIOビッ
トのCPUタグアドレスa2によって、0〜2+0 1
までのアドレス指定が可能である。そして、そのうちの
1つのウェイの任意の1つのアドレスiには、MS24
を第6図(b)の如く仮想的にマツピングした場合の、
列アドレスiを有するブロックデータdix、ai、、
d□、d□□等のうち1つのブロックデータ81が、第
8図の如く格納される。
なお、第2図のCPU26は32ビットのCPUデータ
バスBS2を介して、データを32ビット=4バイト単
位で処理するため、アドレスiには、32ビットをエワ
ードとして、第8図の如く4ワードのワードデータが格
納される。ここで一般に、各プロセッサ21のCPLJ
26において一度に処理されるデータは、第5図(a)
のCPUアドレスa1の下位ビット側で連続的に変化す
るようなデータである場合が多いため、第5図(ハ)の
如< CPUタグアドレスa2を下位ビット側に割り当
てることにより、CPUキャッシュ31の異なるアドレ
スに連続したデータが格納されるようにすることができ
る。従って、データが、ひとたびMS24から2ndキ
ヤツシユ装置28を介してCPUキャッシュ31に読み
込まれれば、その後はCPUキャッシュ31に対するア
クセスのみで処理を行える確率が高(なり、効率的なア
クセスを行える。また、1つのCPUタグアドレスa2
あたり#1〜#4の4ウ工イ分のCPUキャッシュ31
を設けたことにより、任意の1つの列アドレスiを有す
るブロックデータのうち行アドレスが異なる4つを同時
に格納できる。これにより、上述の確率を更に高めるこ
とができる。
バスBS2を介して、データを32ビット=4バイト単
位で処理するため、アドレスiには、32ビットをエワ
ードとして、第8図の如く4ワードのワードデータが格
納される。ここで一般に、各プロセッサ21のCPLJ
26において一度に処理されるデータは、第5図(a)
のCPUアドレスa1の下位ビット側で連続的に変化す
るようなデータである場合が多いため、第5図(ハ)の
如< CPUタグアドレスa2を下位ビット側に割り当
てることにより、CPUキャッシュ31の異なるアドレ
スに連続したデータが格納されるようにすることができ
る。従って、データが、ひとたびMS24から2ndキ
ヤツシユ装置28を介してCPUキャッシュ31に読み
込まれれば、その後はCPUキャッシュ31に対するア
クセスのみで処理を行える確率が高(なり、効率的なア
クセスを行える。また、1つのCPUタグアドレスa2
あたり#1〜#4の4ウ工イ分のCPUキャッシュ31
を設けたことにより、任意の1つの列アドレスiを有す
るブロックデータのうち行アドレスが異なる4つを同時
に格納できる。これにより、上述の確率を更に高めるこ
とができる。
このような方式は、第2の従来例の説明において前述し
た如く、セットアソシェイティブ方弐と呼ばれる。ここ
で、CPUキャッシュ31は、1ウエイあたり16バイ
トX2”=16k(キロ)バイト、4ウ工イ分で16に
バイトX4=64にバイトの記憶容量を有する。
た如く、セットアソシェイティブ方弐と呼ばれる。ここ
で、CPUキャッシュ31は、1ウエイあたり16バイ
トX2”=16k(キロ)バイト、4ウ工イ分で16に
バイトX4=64にバイトの記憶容量を有する。
上記データ構成のCPUキャッシュ31に対応して、C
PUキャッシュのタグ32の#1〜#4の各ウェイも、
CPUキャッシュ制御部33からの10ビットのCPU
タグアドレスa2によって、0〜210−1までのアド
レス指定が可能である。そして、そのうちの任意の1つ
のアドレスiには、CPUキャッシュ31のアドレスi
に完全に対応した制御データが格納される。
PUキャッシュのタグ32の#1〜#4の各ウェイも、
CPUキャッシュ制御部33からの10ビットのCPU
タグアドレスa2によって、0〜210−1までのアド
レス指定が可能である。そして、そのうちの任意の1つ
のアドレスiには、CPUキャッシュ31のアドレスi
に完全に対応した制御データが格納される。
そのデータ構成を第7図に示す。同図の如く、下位18
ビットには、CPUキャッシュ31のアドレスiに格納
されているブロックデータ81の、第6図(b)のマツ
ピング上での行アドレスであるCPUタグデータd3が
格納される。例えば、#1のCPUキャッシュ31のア
ドレスiに第3図の如くブロックデータd□が格納され
ているとすれば、第6図(b)より、#1のCPUキャ
ッシュのタグ32のアドレスiには第3図の如< CP
Uタグデータ2が格納されている。第7図の中位6ビッ
トには、2ndローケーシヨンd4と呼ばれるアドレス
データが格納されるが、これについては後述する。24
ビット目の共有ビットb1は、対応するCPUキャッシ
ュ31上のブロックデータ81が他のプロセッサと共有
されている場合に「1」となる。25ビット目の有効ビ
ットb5は、対応するCPUキャッシュ31上のブロッ
クデータ81が有効なデータである場合に「1」となる
。26.27ビット目のLRU制御ビットd5は、後述
する置換処理用の制御ピントである。この機能について
は、置換処理の説明において後述する。
ビットには、CPUキャッシュ31のアドレスiに格納
されているブロックデータ81の、第6図(b)のマツ
ピング上での行アドレスであるCPUタグデータd3が
格納される。例えば、#1のCPUキャッシュ31のア
ドレスiに第3図の如くブロックデータd□が格納され
ているとすれば、第6図(b)より、#1のCPUキャ
ッシュのタグ32のアドレスiには第3図の如< CP
Uタグデータ2が格納されている。第7図の中位6ビッ
トには、2ndローケーシヨンd4と呼ばれるアドレス
データが格納されるが、これについては後述する。24
ビット目の共有ビットb1は、対応するCPUキャッシ
ュ31上のブロックデータ81が他のプロセッサと共有
されている場合に「1」となる。25ビット目の有効ビ
ットb5は、対応するCPUキャッシュ31上のブロッ
クデータ81が有効なデータである場合に「1」となる
。26.27ビット目のLRU制御ビットd5は、後述
する置換処理用の制御ピントである。この機能について
は、置換処理の説明において後述する。
上述のCPUキャッシュのタグ32は、28ビットを1
ワードとして、1ウエイあたり2 ”= 1 kワード
、4ウ工イ分で4にワードの記憶容量を有する。
ワードとして、1ウエイあたり2 ”= 1 kワード
、4ウ工イ分で4にワードの記憶容量を有する。
続いて、各管理機構22の2ndキヤツシユ装置28(
第2図参照)内の2ndキヤツシユのタグ42及び2n
<1キヤツシユ41(第4図参照)のデータ構成を第5
図(C)、第9図及び第10図に示す。
第2図参照)内の2ndキヤツシユのタグ42及び2n
<1キヤツシユ41(第4図参照)のデータ構成を第5
図(C)、第9図及び第10図に示す。
第4図の2 、n dキャッシュ制御部43は、4本の
CPU−管理機構インタフェース25のいずれかのリア
ルアドレスバスBS4から32ビットのCPUアドレス
a1を受は取ると、第5図(C)の如く、その上位12
ビットを2ndタグデータd2、中位16ビットを2n
dタグアドレスa4、下位4ビットをブロック内アドレ
スa5として、それぞれ出力する。
CPU−管理機構インタフェース25のいずれかのリア
ルアドレスバスBS4から32ビットのCPUアドレス
a1を受は取ると、第5図(C)の如く、その上位12
ビットを2ndタグデータd2、中位16ビットを2n
dタグアドレスa4、下位4ビットをブロック内アドレ
スa5として、それぞれ出力する。
これにより、2ndキヤツシユ装置28内では、Cpu
アドレスa1で定まるMS24上のO〜232−1まで
のリニアアドレス領域(第6図(a)参照)のバイトデ
ータが、16バイトずつのブロックデータに分割され、
各ブロックデータは、16ビットの2ndタグアドレス
a4で定まる横方向のO〜216−1までの列アドレス
(以下、2ndタグアドレスと呼ぶ)と、12ビットの
2ndタグデータd2で定まる縦方向のO〜212
sまでの行アドレス(以下、2ndタグデータと呼ぶ)
の組み合わせによって表現される(第6図(C)参照)
。
アドレスa1で定まるMS24上のO〜232−1まで
のリニアアドレス領域(第6図(a)参照)のバイトデ
ータが、16バイトずつのブロックデータに分割され、
各ブロックデータは、16ビットの2ndタグアドレス
a4で定まる横方向のO〜216−1までの列アドレス
(以下、2ndタグアドレスと呼ぶ)と、12ビットの
2ndタグデータd2で定まる縦方向のO〜212
sまでの行アドレス(以下、2ndタグデータと呼ぶ)
の組み合わせによって表現される(第6図(C)参照)
。
一方、第4図の2ndキヤツシユ4工は、2ndキャッ
シュ制御部43からの16ビットの2ndタグアドレス
a4によって、0〜216 1までのアドレス指定が可
能である。そして、そのうちの任意の1つのアドレスj
には、MS24を第6図(C)の如く仮想的にマツピン
グした場合の、列アドレスjを有するブロックデータd
4m等のうち1つのブロックデータ101が、第10図
の如く格納される。
シュ制御部43からの16ビットの2ndタグアドレス
a4によって、0〜216 1までのアドレス指定が可
能である。そして、そのうちの任意の1つのアドレスj
には、MS24を第6図(C)の如く仮想的にマツピン
グした場合の、列アドレスjを有するブロックデータd
4m等のうち1つのブロックデータ101が、第10図
の如く格納される。
この場合も第8図のCPUキャッシュ31の場合と同様
、アドレスjには、32ビットを1ワードとして、4ワ
ードのワードデータが格納される。ここで、2ndキヤ
ツシユ41は、16バイト×2″=IM(メガ)バイト
の記憶容量を有する。この場合も、CPUタグアドレス
a2の場合と同様、2ndタグアドレスa4を下位ビッ
ト側に割り当てることにより、2ndキヤツシユ41の
異なるアドレスに連続したデータが格納されるようにす
ることができ、効率的なアクセスを行える。更にこの場
合、第5図(b)及び(C)の如く、2ndタグアドレ
スa4はCPUタグアドレスa2より6ビット多いビッ
ト数であり、2ndキヤツシユ41はCPUキャッシュ
31の26倍の記憶容量を有するため、更に効率的なア
クセスを行うことができる。なお、2ndキヤツシユ4
1は、アクセス頻度がCPUキャッシュ31に比較して
少ないため1ウエイ構成となっており、このような方式
は、第2の従来例の説明において前述した如く、ダイレ
クトマツピング方式と呼ばれる。
、アドレスjには、32ビットを1ワードとして、4ワ
ードのワードデータが格納される。ここで、2ndキヤ
ツシユ41は、16バイト×2″=IM(メガ)バイト
の記憶容量を有する。この場合も、CPUタグアドレス
a2の場合と同様、2ndタグアドレスa4を下位ビッ
ト側に割り当てることにより、2ndキヤツシユ41の
異なるアドレスに連続したデータが格納されるようにす
ることができ、効率的なアクセスを行える。更にこの場
合、第5図(b)及び(C)の如く、2ndタグアドレ
スa4はCPUタグアドレスa2より6ビット多いビッ
ト数であり、2ndキヤツシユ41はCPUキャッシュ
31の26倍の記憶容量を有するため、更に効率的なア
クセスを行うことができる。なお、2ndキヤツシユ4
1は、アクセス頻度がCPUキャッシュ31に比較して
少ないため1ウエイ構成となっており、このような方式
は、第2の従来例の説明において前述した如く、ダイレ
クトマツピング方式と呼ばれる。
上記データ構成の2ndキヤツシユ41に対応して、2
ndキヤツシユのタグ42も、2ndキャッシュ制御部
43からの16ビットの2ndタグアドレスa4によっ
て、0〜2+6 1までのアドレス指定が可能である。
ndキヤツシユのタグ42も、2ndキャッシュ制御部
43からの16ビットの2ndタグアドレスa4によっ
て、0〜2+6 1までのアドレス指定が可能である。
そして、そのうちの任意の1つ゛のアドレスjには、2
ndキヤツシユ41のアドレスjに完全に対応した制御
データが格納される。
ndキヤツシユ41のアドレスjに完全に対応した制御
データが格納される。
そのデータ構成を第9図に示す。このデータ構成のうち
、後述する有効ピッ)b3及びウェイ番号d7が、本実
施例の最も特徴とする部分である。
、後述する有効ピッ)b3及びウェイ番号d7が、本実
施例の最も特徴とする部分である。
まず、下位12ビットには、2ndキヤツシユ41のア
ドレスjに格納されているブロックデータlO1の、第
6図(C)のマツピング上での行アドレスである2nd
タグデータd6が格納される。例えば、2ndキヤツシ
ユ41のアドレスjに第4図の如くブロックデータdJ
aaが格納されているとすれば、第6図(C)より、2
ndキヤツシユのタグ42のアドレスjには第4図の如
< 2ndタグデ一タmが格納されている。
ドレスjに格納されているブロックデータlO1の、第
6図(C)のマツピング上での行アドレスである2nd
タグデータd6が格納される。例えば、2ndキヤツシ
ユ41のアドレスjに第4図の如くブロックデータdJ
aaが格納されているとすれば、第6図(C)より、2
ndキヤツシユのタグ42のアドレスjには第4図の如
< 2ndタグデ一タmが格納されている。
次に、12ビット目〜23ビット目は、本発明に最も関
連し、このビット群によって、2ndキヤツシユ41の
アドレスjのブロックデータ101が、管理機構22に
接続されている#A〜#Dの4つのプロセッサ21のそ
れぞれにおいて、有効か否か、有効である場合に当該ブ
ロックデータが格納されているCPUキャッシュ31の
ウェイ番号を知ることができる。すなわち、12ビット
目の有効ビットb3が71.の場合には、2ndキヤツ
シユ41のアドレスjのブロックデータ101が、#A
のプロセッサ21内のCPUキャッシュ31に有効に存
在し、13.14ビット目のウェイ番号d7が「00」
ならウェイ#l、rolJならウェイ#2、rlOJな
らウェイ#3、「11」ならウェイ#3のCPUキャッ
シュ31に存在することが示される。同様にして、15
ビット目の有効ビットb3と16.17ビット目のウェ
イ番号d7で#Bのプロセッサ21.18ピツI[の有
効ビットb3と19.20ビット目のウェイ番号d7で
#Cのプロセッサ21.21ビット目の有効ビットb3
と22.23ビット目のウェイ番号d7で#Dのプロセ
ッサ21でのブロックデータの存在状態が示される。
連し、このビット群によって、2ndキヤツシユ41の
アドレスjのブロックデータ101が、管理機構22に
接続されている#A〜#Dの4つのプロセッサ21のそ
れぞれにおいて、有効か否か、有効である場合に当該ブ
ロックデータが格納されているCPUキャッシュ31の
ウェイ番号を知ることができる。すなわち、12ビット
目の有効ビットb3が71.の場合には、2ndキヤツ
シユ41のアドレスjのブロックデータ101が、#A
のプロセッサ21内のCPUキャッシュ31に有効に存
在し、13.14ビット目のウェイ番号d7が「00」
ならウェイ#l、rolJならウェイ#2、rlOJな
らウェイ#3、「11」ならウェイ#3のCPUキャッ
シュ31に存在することが示される。同様にして、15
ビット目の有効ビットb3と16.17ビット目のウェ
イ番号d7で#Bのプロセッサ21.18ピツI[の有
効ビットb3と19.20ビット目のウェイ番号d7で
#Cのプロセッサ21.21ビット目の有効ビットb3
と22.23ビット目のウェイ番号d7で#Dのプロセ
ッサ21でのブロックデータの存在状態が示される。
このように本実施例では、2ndキヤツシユのタグ42
内に#A〜#Dの各プロセッサ21でのブロックデータ
の存在状態を埋め込んだことによって、2ndキヤツシ
ユのタグ42を引くだけで各プロセッサ21の状態を知
ることができることが大きな特徴である。
内に#A〜#Dの各プロセッサ21でのブロックデータ
の存在状態を埋め込んだことによって、2ndキヤツシ
ユのタグ42を引くだけで各プロセッサ21の状態を知
ることができることが大きな特徴である。
続いて、第9図において、24ビット目〜27ビット目
の4つの管理機構有効ビットb4においては、後述する
他管理機構共有ピッ)b7が「1」の場合に、第2図の
#1の管理機構22に共有データが存在するならば24
ビット目が「1」になり、#2なら25ビット目、#3
なら26ビット目、#4なら27ビットがそれぞれ「1
」になる。
の4つの管理機構有効ビットb4においては、後述する
他管理機構共有ピッ)b7が「1」の場合に、第2図の
#1の管理機構22に共有データが存在するならば24
ビット目が「1」になり、#2なら25ビット目、#3
なら26ビット目、#4なら27ビットがそれぞれ「1
」になる。
28ビット目の有効ビットb5は、対応する2ndキヤ
ツシユ41上のブロックデータ101が有効なデータで
ある場合に「l」となる。
ツシユ41上のブロックデータ101が有効なデータで
ある場合に「l」となる。
管理機構内共有ピッ)b6は、対応する2ndキヤツシ
ユ41上のブロックデータ101が、自管理機構22内
の他のプロセッサ21のいずれかと共有されている場合
に「1」となる。
ユ41上のブロックデータ101が、自管理機構22内
の他のプロセッサ21のいずれかと共有されている場合
に「1」となる。
他管理機構共有ピッ)b7は、対応する2ndキヤツシ
ユ41上のブロックデータ101が、いずれかの他管理
機構22内のいずれかのプロセッサ21と共有されてい
る場合に「1」となる。
ユ41上のブロックデータ101が、いずれかの他管理
機構22内のいずれかのプロセッサ21と共有されてい
る場合に「1」となる。
更新ビットb8は、対応する2ndキヤツシユ41上の
ブロックデータ101が、有効ビットb3がオンとなっ
ているプロセッサ21において更新されており、その内
容がプロセッサ21と管理機構22とて一致していない
場合に「1」となる。
ブロックデータ101が、有効ビットb3がオンとなっ
ているプロセッサ21において更新されており、その内
容がプロセッサ21と管理機構22とて一致していない
場合に「1」となる。
主記憶不一致ビットb9は、対応する2ndキヤツシユ
41上のブロックデータ101が、MS24の対応する
ブロックデータの内容と一致していない場合に「IJと
なる。
41上のブロックデータ101が、MS24の対応する
ブロックデータの内容と一致していない場合に「IJと
なる。
上述の2ndキヤツシユのタグ42は、33ビットを1
ワードとして、2”=64にワードの記憶容量を有する
。
ワードとして、2”=64にワードの記憶容量を有する
。
次に、CPUキャッシュ31及びCPUキャッシュのタ
グ32と、2ndキヤツシユ41及び2ndキヤツシユ
のタグ42との関係について説明する。
グ32と、2ndキヤツシユ41及び2ndキヤツシユ
のタグ42との関係について説明する。
今、第5図(a)の成るCPUアドレスa1が指定され
た場合、そのCPUアドレスa1によって定まるMS2
4のブロックデータは、第2図のCPUキャッシュ装置
27上では、第6図ら)の仮想的なマンピング上におい
て、上記CPUアドレスa1がら求まる第5図(b)の
CPUタグアドレスa2とCPUタグデータd1とで定
まるブロックデータとして処理される。そして、このブ
ロックデータは、第3図の#l〜#4の各CPUキャッ
シュ31及び各CPUキ+ッシュのタグ32において、
CPUタグアドレスa2に対応するアドレスのブロック
データ81として処理される。一方、第2図の2ndキ
ヤツシユ装置28上では、上記CPUキャッシュ装置2
7上でのブロックデータと同じブロックデータは、第6
図(C)の仮想的なマツピング上において、上記CPU
アドレスa1から求まる第5図(C)の2ndタグアド
レスa4と2ndタグデータd2とで定まるブロックデ
ータとして処理される。そして、このブロックデータは
、第4図の2ndキヤツシユ41及び2ndキヤツシユ
のタグ42において、2ndタグアドレスa4に対応す
るアドレスのブロックデータ101として処理される。
た場合、そのCPUアドレスa1によって定まるMS2
4のブロックデータは、第2図のCPUキャッシュ装置
27上では、第6図ら)の仮想的なマンピング上におい
て、上記CPUアドレスa1がら求まる第5図(b)の
CPUタグアドレスa2とCPUタグデータd1とで定
まるブロックデータとして処理される。そして、このブ
ロックデータは、第3図の#l〜#4の各CPUキャッ
シュ31及び各CPUキ+ッシュのタグ32において、
CPUタグアドレスa2に対応するアドレスのブロック
データ81として処理される。一方、第2図の2ndキ
ヤツシユ装置28上では、上記CPUキャッシュ装置2
7上でのブロックデータと同じブロックデータは、第6
図(C)の仮想的なマツピング上において、上記CPU
アドレスa1から求まる第5図(C)の2ndタグアド
レスa4と2ndタグデータd2とで定まるブロックデ
ータとして処理される。そして、このブロックデータは
、第4図の2ndキヤツシユ41及び2ndキヤツシユ
のタグ42において、2ndタグアドレスa4に対応す
るアドレスのブロックデータ101として処理される。
第5図(ト))と(C)との関係より、CPUアドレス
a1の4〜13ビット目のCPUタグアドレスa2の上
位に、14〜19ビット目の6ビットを付加したものが
2ndタグアドレスa4となることがわかる。
a1の4〜13ビット目のCPUタグアドレスa2の上
位に、14〜19ビット目の6ビットを付加したものが
2ndタグアドレスa4となることがわかる。
上記6ビットのデータを2ndローケーシヨンd4と呼
ぶ。そして、本実施例では、第3図のCPUキャッシュ
のタグ32の任意のアドレスiに、CPUタグデータd
3のほかに、それと対の2ndローケーシゴンd4を格
納するようにしている。このデータを用いて、第2図の
CPUキャッシュ装置27がライトアクセスにおいてキ
ャツシュヒツト(後述する)した後に、同装置から2n
dキヤツシユ装置28をアクセスする場合に、CPUタ
グデータd3に2ndローケーシヨンd4を付加したア
ドレスデータをCPUキャッシュ装置27から2ndキ
ヤツシユ装置28に転送することにより、2ndキヤツ
シユ装置28側でCPUアドレスa1から新たに2nd
タグアドレスa4を抽出する必要がなくなり高速処理が
可能となる。この具体的な使用態様については後述する
。
ぶ。そして、本実施例では、第3図のCPUキャッシュ
のタグ32の任意のアドレスiに、CPUタグデータd
3のほかに、それと対の2ndローケーシゴンd4を格
納するようにしている。このデータを用いて、第2図の
CPUキャッシュ装置27がライトアクセスにおいてキ
ャツシュヒツト(後述する)した後に、同装置から2n
dキヤツシユ装置28をアクセスする場合に、CPUタ
グデータd3に2ndローケーシヨンd4を付加したア
ドレスデータをCPUキャッシュ装置27から2ndキ
ヤツシユ装置28に転送することにより、2ndキヤツ
シユ装置28側でCPUアドレスa1から新たに2nd
タグアドレスa4を抽出する必要がなくなり高速処理が
可能となる。この具体的な使用態様については後述する
。
以上示したように、本実施例では、2ndキヤツシユ詰
置28側からCPUキャッシュ装置27側をアクセスす
る場合には、2ndキヤツシユのタグ42内の第9図の
有効ピッ)b3及びウェイ番号d7を用いてアクセスで
き、逆にの場合には、CPUキャッシュのタグ32内の
第7図の2ndローケーシヨンd4を用いてアクセスす
ることができることが特徴である。
置28側からCPUキャッシュ装置27側をアクセスす
る場合には、2ndキヤツシユのタグ42内の第9図の
有効ピッ)b3及びウェイ番号d7を用いてアクセスで
き、逆にの場合には、CPUキャッシュのタグ32内の
第7図の2ndローケーシヨンd4を用いてアクセスす
ることができることが特徴である。
以下、実際のデータアクセス動作について説明する。
始めに、各プロセッサ21のCPU26が、CPUキャ
ッシュ装置27.2ndキヤツシユ装置28又はMS2
4をアクセスする場合の、概略動作について説明する。
ッシュ装置27.2ndキヤツシユ装置28又はMS2
4をアクセスする場合の、概略動作について説明する。
まず、第2図のCPU26は、CPUアドレスバスBS
Iを介してCPUアドレスa1を指定することにより、
CP、Uキャッシュ装置27内のCPUキャッシュ31
をアクセスする。これにより、第3図のCPUキャッシ
ュ制御部33は、CPUアドレスa1に基づいてCPU
タグアドレスa2を指定すると共に、CPUキャッシュ
のタグ32の#1〜#4の各ウェイに対応する#1〜#
4の各比較器34に対して、上記CPUアドレスa1に
基づいてCPUタグデータd1を指定する(第5図(a
)及びら)参照)。この場合のアクセスとしては、リー
ドアクセスとライトアクセスがある。
Iを介してCPUアドレスa1を指定することにより、
CP、Uキャッシュ装置27内のCPUキャッシュ31
をアクセスする。これにより、第3図のCPUキャッシ
ュ制御部33は、CPUアドレスa1に基づいてCPU
タグアドレスa2を指定すると共に、CPUキャッシュ
のタグ32の#1〜#4の各ウェイに対応する#1〜#
4の各比較器34に対して、上記CPUアドレスa1に
基づいてCPUタグデータd1を指定する(第5図(a
)及びら)参照)。この場合のアクセスとしては、リー
ドアクセスとライトアクセスがある。
上記アクセスにより、CPUキャッシュ31は、キャツ
シュヒツト又はキャッシュミスする。
シュヒツト又はキャッシュミスする。
CPUキャッシュ31がキャツシュヒツトするとは、C
PUキャッシュのタグ32の#1〜#4のうちのいずれ
かのウェイの指定されたCPUタグアドレスa2から出
力される有効ビットb3及びCPUタグデータd3につ
いて(第7図参照)、そのウェイに対応する比較器34
において、当該有効ビン)b3がオンで、かつ当該CP
Uタグデータd3が上記CPUキャッシュ制御部33で
指定されたCPUタグデータdi (第5図(a)及び
(b)参照)と一致することをいう。この場合には、C
PUキャッシュ制御部33は、CPUキャッシュ31に
対して、更にブロック内アドレスa3 (第5図(ハ)
参照)を指定する。これにより、CPUキャッシュ31
の指定されたCPUタグアドレスa2のブロックデータ
81のうち、ブロック内アドレスa3で指定されたデー
タが、CPUキャッシュ制御部33を介してCP 、U
データバスBS2に出力される。この場合、CPUキャ
ッシュ31は、通常、ブロック内アドレスa3の上位2
ビットでアクセスされ、これにより、第8図のブロック
データ81内の4つのワードデータのうち1ワードが指
定され、32ビットのデータとしてCPUデータバスB
S2に出力される。
PUキャッシュのタグ32の#1〜#4のうちのいずれ
かのウェイの指定されたCPUタグアドレスa2から出
力される有効ビットb3及びCPUタグデータd3につ
いて(第7図参照)、そのウェイに対応する比較器34
において、当該有効ビン)b3がオンで、かつ当該CP
Uタグデータd3が上記CPUキャッシュ制御部33で
指定されたCPUタグデータdi (第5図(a)及び
(b)参照)と一致することをいう。この場合には、C
PUキャッシュ制御部33は、CPUキャッシュ31に
対して、更にブロック内アドレスa3 (第5図(ハ)
参照)を指定する。これにより、CPUキャッシュ31
の指定されたCPUタグアドレスa2のブロックデータ
81のうち、ブロック内アドレスa3で指定されたデー
タが、CPUキャッシュ制御部33を介してCP 、U
データバスBS2に出力される。この場合、CPUキャ
ッシュ31は、通常、ブロック内アドレスa3の上位2
ビットでアクセスされ、これにより、第8図のブロック
データ81内の4つのワードデータのうち1ワードが指
定され、32ビットのデータとしてCPUデータバスB
S2に出力される。
いずれの比較器34においても上述のキャツシュヒツト
の条件が満たされなかった場合には、CPUキャッシュ
31はキャッシュミスとなり、CPUキャッシュ装置2
7から2ndキヤツシユ装置28に制御が移って、2n
dキヤツシユ41がアクセスされる。
の条件が満たされなかった場合には、CPUキャッシュ
31はキャッシュミスとなり、CPUキャッシュ装置2
7から2ndキヤツシユ装置28に制御が移って、2n
dキヤツシユ41がアクセスされる。
2ndキヤツシユ41のアクセスにおいては、2ndキ
ャッシュ制御部43が、2ndキヤツシユのタグ42に
対して、CPUキャッシュ制御部33からCP U−管
理機構インタフェース25のリアルアドレスバスBS4
を介して入力したCPUアドレスa1に基づいて2nd
タグアドレスa4を指定すると共に、比較器44に対し
て、上記CPUアドレスa1に基づいて2ndタグデー
タd2を指定する(第5図(a)及び(C)参照)。
ャッシュ制御部43が、2ndキヤツシユのタグ42に
対して、CPUキャッシュ制御部33からCP U−管
理機構インタフェース25のリアルアドレスバスBS4
を介して入力したCPUアドレスa1に基づいて2nd
タグアドレスa4を指定すると共に、比較器44に対し
て、上記CPUアドレスa1に基づいて2ndタグデー
タd2を指定する(第5図(a)及び(C)参照)。
上記アクセスにより、2ndキヤツシユ41ば、キャツ
シュヒツト又はキャッシュミスする。
シュヒツト又はキャッシュミスする。
2ndキヤツシユ41についてキャツシュヒツトすると
は、2ndキヤツシユのタグ42の指定された2ndタ
グアドレスa4から出力される有効ピントb5及び2n
dタグデータd6について(第9図参照)、比較器44
において、当該有効ビットb5がオンで、かつ当該2n
dタグデータd6が上記2ndキャッシュ制御部43で
指定された2ndタグデータd2 (第5図(a)及び
(C)参照)と一致することをいう。この場合、2nd
キャッシュ制御部43は、2ndキヤツシユ41に対し
て、更にブロック内アドレスa5 (第5図(C)参照
)を指定する。これにより、2ndキヤツシユ41の指
定された2ndタグアドレスa4のブロックデータ10
1のうち、ブロック内アドレスa5で指定されたデータ
が、2ndキャッシュ制御部43を介してCPU−管理
機構インタフェース25のデータバスBS6に出力され
る。この場合、2ndキヤツシユ41は、通常、ブロッ
ク内アドレスa5の上位2ビットでアクセスされ、これ
により、第10図のブロックデータ101内の4つのワ
ードデータのうち1ワードが指定され、32ビットのデ
ータとしてデータバスBS6に出力される。
は、2ndキヤツシユのタグ42の指定された2ndタ
グアドレスa4から出力される有効ピントb5及び2n
dタグデータd6について(第9図参照)、比較器44
において、当該有効ビットb5がオンで、かつ当該2n
dタグデータd6が上記2ndキャッシュ制御部43で
指定された2ndタグデータd2 (第5図(a)及び
(C)参照)と一致することをいう。この場合、2nd
キャッシュ制御部43は、2ndキヤツシユ41に対し
て、更にブロック内アドレスa5 (第5図(C)参照
)を指定する。これにより、2ndキヤツシユ41の指
定された2ndタグアドレスa4のブロックデータ10
1のうち、ブロック内アドレスa5で指定されたデータ
が、2ndキャッシュ制御部43を介してCPU−管理
機構インタフェース25のデータバスBS6に出力され
る。この場合、2ndキヤツシユ41は、通常、ブロッ
ク内アドレスa5の上位2ビットでアクセスされ、これ
により、第10図のブロックデータ101内の4つのワ
ードデータのうち1ワードが指定され、32ビットのデ
ータとしてデータバスBS6に出力される。
そして、ブロック内アドレスa5の指定が4回繰り返さ
れることにより、1ブロック分のブロックデータ101
がデータバスBS6からCPUキャッシュ装置27に転
送される。
れることにより、1ブロック分のブロックデータ101
がデータバスBS6からCPUキャッシュ装置27に転
送される。
比較器44において、上述のキャツシュヒツトの条件が
満たされなかった場合には、2ndキヤツシユ41もキ
ャッシュミスとなり、2ndキャッシュ制御部43は、
更に、第2図の管理機構−MSインタフェース23から
MS24をアクセスする。
満たされなかった場合には、2ndキヤツシユ41もキ
ャッシュミスとなり、2ndキャッシュ制御部43は、
更に、第2図の管理機構−MSインタフェース23から
MS24をアクセスする。
MS24がアクセスされる場合、2ndキャッシュ制御
部43は、CPUキャッシュ制御部33からCPU−管
理機構インタフェース25を介して入力したCF)Uア
ドレスバスを、管理機構−MSインタフェース23のリ
アルアドレスバスBS7に出力する。
部43は、CPUキャッシュ制御部33からCPU−管
理機構インタフェース25を介して入力したCF)Uア
ドレスバスを、管理機構−MSインタフェース23のリ
アルアドレスバスBS7に出力する。
なお、この場合、後述するように、共有情報バスBS9
には自管理機構22の識別情報が出力される。
には自管理機構22の識別情報が出力される。
以上のようなアクセス動作が行われる場合、第2図の1
6台の各プロセッサ21間で、処理されるデータに矛盾
が生じないよう、各プロセッサ21内のCPUキャッシ
ュ制御部33(第3図)及び各管理機構22内の2nd
キャッシュ制御部43(第4図)は、無矛盾化の処理を
実行する。この処理は、以下に示されるように、リード
アクセスにおいてはケース1〜7の7態様、ライトアク
セスにおいてはケース8〜11の4態様からなる。また
、リードアクセス及びライトアクセス時のバスモニタリ
ングの処理においてはケース1〜5の5態様からなる。
6台の各プロセッサ21間で、処理されるデータに矛盾
が生じないよう、各プロセッサ21内のCPUキャッシ
ュ制御部33(第3図)及び各管理機構22内の2nd
キャッシュ制御部43(第4図)は、無矛盾化の処理を
実行する。この処理は、以下に示されるように、リード
アクセスにおいてはケース1〜7の7態様、ライトアク
セスにおいてはケース8〜11の4態様からなる。また
、リードアクセス及びライトアクセス時のバスモニタリ
ングの処理においてはケース1〜5の5態様からなる。
更に、リードアクセス時又はライトアクセス時にキャッ
シュミスした場合の置換処理においてはケース1〜3の
3態様からなる。
シュミスした場合の置換処理においてはケース1〜3の
3態様からなる。
以下、無矛盾化の処理について、第11図(a)、(b
)のリードアクセス及びライトアクセスに対する状態遷
移図、第12図のバスモニタリングに対する状態遷移図
及び第13図の置換処理に対する状態遷移図を用いなが
ら、順を追って説明する。なお、特には指示しないが随
時これらの図面を参照するものとする。
)のリードアクセス及びライトアクセスに対する状態遷
移図、第12図のバスモニタリングに対する状態遷移図
及び第13図の置換処理に対する状態遷移図を用いなが
ら、順を追って説明する。なお、特には指示しないが随
時これらの図面を参照するものとする。
1−ドアクセス・−スIS
リードアクセス時に、CPUキャッシュ31がキャッシ
ュヒットした場合(Sl)、以下の動作が実行される。
ュヒットした場合(Sl)、以下の動作が実行される。
CPUキャッシュ制御部33は、リードアクセス時のC
PUアドレスa1に基づいてブロック内アドレスa3(
第5図参照)を指定し、#1〜#4のうちキャツシュヒ
ツトしたウェイのCPUキャッシュ31から出力される
ブロックデータ81(第8図参照)のうち、上記ブロッ
ク内アドレスa3で指定されるデータを、CPUデータ
ハ゛スBS2に出力する。
PUアドレスa1に基づいてブロック内アドレスa3(
第5図参照)を指定し、#1〜#4のうちキャツシュヒ
ツトしたウェイのCPUキャッシュ31から出力される
ブロックデータ81(第8図参照)のうち、上記ブロッ
ク内アドレスa3で指定されるデータを、CPUデータ
ハ゛スBS2に出力する。
リードアクセス・ケース2 S2→S3→S4リ一ドア
クセス時に、CPUキャッシュ31がキャッシュミスし
た場合(S2)、そのCPUキャッシュ31に対応する
プロセッサ21が接続される管理機構22の2ndキャ
ッシュ制御部43(2ndキヤツシユ装置28内)に制
御が移る。
クセス時に、CPUキャッシュ31がキャッシュミスし
た場合(S2)、そのCPUキャッシュ31に対応する
プロセッサ21が接続される管理機構22の2ndキャ
ッシュ制御部43(2ndキヤツシユ装置28内)に制
御が移る。
続いて、2ndキヤツシユ41がアクセスされ、その結
果、2ndキヤツシユ41もキャッシュミスした場合(
S3)、2ndキャッシュ制御部43は、MS24をア
クセスする。
果、2ndキヤツシユ41もキャッシュミスした場合(
S3)、2ndキャッシュ制御部43は、MS24をア
クセスする。
これに対して、他の管理機構22では、後述するハスモ
ニタリングが実行されている。この結果、他の管理機構
22に、指定されたCPUアドレスa1に対応するMS
24と同じ内容のブ・ロックデータが存在しくS4)、
そこから管理機構−MSインタフェース23の共有情報
ハスBS9に共有情報が出力されている場合には(これ
についてはパスモニタリングの説明において後述する)
、以下の動作が実行される。
ニタリングが実行されている。この結果、他の管理機構
22に、指定されたCPUアドレスa1に対応するMS
24と同じ内容のブ・ロックデータが存在しくS4)、
そこから管理機構−MSインタフェース23の共有情報
ハスBS9に共有情報が出力されている場合には(これ
についてはパスモニタリングの説明において後述する)
、以下の動作が実行される。
まず、2ndキャッシュ制御部43は、MS24から直
接ブロックデータを読み込み、2ndキヤツシユ41に
書き込む。ここで、2ndキャッシュ制御部43は、リ
ードアクセスにより指定されたCPUアドレスa1に基
づ< 2ndタグアドレスa4 (第5図参照)を指定
する。また、2ndキャッシュ制御部43は、上記2n
dタグアドレスa4に対応する第9図の2ndキヤツシ
ユのタグ42上において、リードアクセスにより指定さ
れたCPUアドレスa1に基づ<2ndタグデータd2
を2ndタグデータd6として格納し、同時に、有効ビ
ットb5をオンしくビット「1」を立てる。以下同じ)
、更新ビットb8、主記憶不一致ビットb9及び管理機
構内共有ビットb6をオフしくビット「0」を立てる。
接ブロックデータを読み込み、2ndキヤツシユ41に
書き込む。ここで、2ndキャッシュ制御部43は、リ
ードアクセスにより指定されたCPUアドレスa1に基
づ< 2ndタグアドレスa4 (第5図参照)を指定
する。また、2ndキャッシュ制御部43は、上記2n
dタグアドレスa4に対応する第9図の2ndキヤツシ
ユのタグ42上において、リードアクセスにより指定さ
れたCPUアドレスa1に基づ<2ndタグデータd2
を2ndタグデータd6として格納し、同時に、有効ビ
ットb5をオンしくビット「1」を立てる。以下同じ)
、更新ビットb8、主記憶不一致ビットb9及び管理機
構内共有ビットb6をオフしくビット「0」を立てる。
以下同じ)、更に、前述の共有情報に基づいて他管理機
構共有ビットb7をオンし、同時に、#1〜#4の管理
機構有効ピッ)b4のうち、共有情報で指定されている
管理機構22に対応するビットをオンする。
構共有ビットb7をオンし、同時に、#1〜#4の管理
機構有効ピッ)b4のうち、共有情報で指定されている
管理機構22に対応するビットをオンする。
続いて、2ndキャッシュ制御部43は、CPU−管理
機構インタフェース25のデータバスBS5を介してM
S24から読み込んだブロックデータを、また、同じく
タグアドレスバスBS3を介して共有化のコマンドを、
共にリードアクセスの発生したプロセッサ21のCPU
キャッシュ制御部33(CPUキャッシュ装置27内)
に出力する。これにより、CPUキャッシュ制御部33
は、まず上記ブロックデータをブロックデータ81とし
て(第8図参照)、CPUキャッシュ31に書き込む。
機構インタフェース25のデータバスBS5を介してM
S24から読み込んだブロックデータを、また、同じく
タグアドレスバスBS3を介して共有化のコマンドを、
共にリードアクセスの発生したプロセッサ21のCPU
キャッシュ制御部33(CPUキャッシュ装置27内)
に出力する。これにより、CPUキャッシュ制御部33
は、まず上記ブロックデータをブロックデータ81とし
て(第8図参照)、CPUキャッシュ31に書き込む。
このとき、CPUキャッシュ制御部33は、リードアク
セスにより指定されたCPUアドレスa1に基づ< C
PUタグアドレスa2(第5図参照)を指定し、#1〜
#4のうち空いているウェイのCPUキャッシュ31を
選択する。空いているウェイとは、CPUタグアドレス
a2に対応するCPUキャッシュのタグ32の有効ビッ
トb2 (第7図参照)がオフになっているウェイであ
る。なお、いずれのウェイも空いていない場合について
は、後述する置換処理によりウェイが選択される。続い
て、CPUキャッシュ制御部33は、上記CPUタグア
ドレスa2及び選択したウェイに対応するCPUキャッ
シュのタグ32上において、リードアクセスにより指定
されたCPUアドレスa1に基づ< CPUタグデータ
d1をCPUタグデータd3として格納し、同時に、C
PUアドレスa1に基づ<2ndタグアドレスa4とC
PUタグアドレスa2の差の6ビット(第5図参照)を
2ndローケーシヨンd4として格納し、加えて、有効
ビットb2をオンし、前述の共有化のコマンドに基づい
て共有ピッ)blをオンする(第7図参照)。
セスにより指定されたCPUアドレスa1に基づ< C
PUタグアドレスa2(第5図参照)を指定し、#1〜
#4のうち空いているウェイのCPUキャッシュ31を
選択する。空いているウェイとは、CPUタグアドレス
a2に対応するCPUキャッシュのタグ32の有効ビッ
トb2 (第7図参照)がオフになっているウェイであ
る。なお、いずれのウェイも空いていない場合について
は、後述する置換処理によりウェイが選択される。続い
て、CPUキャッシュ制御部33は、上記CPUタグア
ドレスa2及び選択したウェイに対応するCPUキャッ
シュのタグ32上において、リードアクセスにより指定
されたCPUアドレスa1に基づ< CPUタグデータ
d1をCPUタグデータd3として格納し、同時に、C
PUアドレスa1に基づ<2ndタグアドレスa4とC
PUタグアドレスa2の差の6ビット(第5図参照)を
2ndローケーシヨンd4として格納し、加えて、有効
ビットb2をオンし、前述の共有化のコマンドに基づい
て共有ピッ)blをオンする(第7図参照)。
以上の動作と共に、CPUキャッシュ制御部33は、上
記CPUキャッシュ31に書き込んだブロックデータを
、ケース1の場合と同様にして、CPUデータバスBS
2に読み出す。
記CPUキャッシュ31に書き込んだブロックデータを
、ケース1の場合と同様にして、CPUデータバスBS
2に読み出す。
更に、CPUキャッシュ制御部33は、上述のように選
択したウェイ番号を、CPU−管理機構インタフェース
25のリアルアドレスバスBS4を介して、対応する管
理機構22の2ndキャッシュ制御部43に通知する。
択したウェイ番号を、CPU−管理機構インタフェース
25のリアルアドレスバスBS4を介して、対応する管
理機構22の2ndキャッシュ制御部43に通知する。
2ndキャッシュ制御部43は、これを受けて、リード
アクセスにより指定されたCPUアドレスa1に基づく
2ndタグアドレスa4(第5図参照)に対応する2n
dキヤツシユのタグ42上において、上記プロセッサ2
1に対応する部分の有効ビットb3をオンし、受は取っ
たウェイ番号をウェイ番号d7として登録する。
アクセスにより指定されたCPUアドレスa1に基づく
2ndタグアドレスa4(第5図参照)に対応する2n
dキヤツシユのタグ42上において、上記プロセッサ2
1に対応する部分の有効ビットb3をオンし、受は取っ
たウェイ番号をウェイ番号d7として登録する。
1−ドアクセス・−ス3S−5−S
リードアクセス時に、CPUキャンシュ31がキャッシ
ュミスしくSz)、2ndキヤツシユ41もキャッシュ
ミスする(S3)ところまでは、ケース2と同じである
。そして、2ndキャッシュ制御部43がMS24をア
クセスし1、他の管理機構22における後述するパスモ
ニタリングの結果、他の管理機構22に、指定されたC
PUアドレスa1に対応するブロックデータが存在せず
(S5)、そこから管理機構−MSインタフェース23
には何も出力されなかった場合には、以下の動作が実行
される。
ュミスしくSz)、2ndキヤツシユ41もキャッシュ
ミスする(S3)ところまでは、ケース2と同じである
。そして、2ndキャッシュ制御部43がMS24をア
クセスし1、他の管理機構22における後述するパスモ
ニタリングの結果、他の管理機構22に、指定されたC
PUアドレスa1に対応するブロックデータが存在せず
(S5)、そこから管理機構−MSインタフェース23
には何も出力されなかった場合には、以下の動作が実行
される。
まず、MS24から2ndキヤツシユ41及びCPUキ
ャッシュ31へのブロックデータの書き込み、2ndキ
ヤツシユのタグ42への有効ビットb3及びウェイ番号
d7の設定、ブロックデータのCPUデータバスBS2
への読み出し等は、ケース2の場合と同様である。
ャッシュ31へのブロックデータの書き込み、2ndキ
ヤツシユのタグ42への有効ビットb3及びウェイ番号
d7の設定、ブロックデータのCPUデータバスBS2
への読み出し等は、ケース2の場合と同様である。
但し、ケース2の場合と異なり、管理機構−MSインタ
フェース23の共有情報パスBS9には他の管理機構2
2から共有情報は出力されないため、2ndキャッシュ
制御部43は、2ndタグアドレスa4に対応する2n
dキヤンシユのタグ42上において、第9図の他管理機
構共有ピッ)b7はオフする。
フェース23の共有情報パスBS9には他の管理機構2
2から共有情報は出力されないため、2ndキャッシュ
制御部43は、2ndタグアドレスa4に対応する2n
dキヤンシユのタグ42上において、第9図の他管理機
構共有ピッ)b7はオフする。
また、2ndキャッシュ制御部43からCPUキャッシ
ュ制御部33へは、共有化のコマンドは出力されないた
め、CPUキャッシュ制御部33は、CPUタグアドレ
スa2及び選択したウェイに対応するCPUキャッシュ
のタグ32上において、共有ビットb1はオフする。
ュ制御部33へは、共有化のコマンドは出力されないた
め、CPUキャッシュ制御部33は、CPUタグアドレ
スa2及び選択したウェイに対応するCPUキャッシュ
のタグ32上において、共有ビットb1はオフする。
リードアクセス・ケース4 S2→S 3− S b
)リードアクセス時に、CPUキャッシュ31がキャッ
シュミスしくSz)、2ndキヤツシユ4Iもキャッシ
ュミスする(S3)ところまでは、ケース2又は3と同
じである。そして、2ndキャッシュ制御部43がMS
24をアクセスし、他の管理機構22における後述する
パスモニタリングの結果、他の管理機構22に、指定さ
れたCPUアドレスalに対応し、MS24の内容より
新しい最新のブロックデータが存在しくS6)、そこか
ら管理機構−MSインタフェース23のデータバスBS
6に当該ブロックデータが出力され、同じく共有情報ハ
スBS9に共有情報が出力されている場合には(これに
ついて゛はパスモニタリングの説明において後述する)
、以下の動作が実行される。
)リードアクセス時に、CPUキャッシュ31がキャッ
シュミスしくSz)、2ndキヤツシユ4Iもキャッシ
ュミスする(S3)ところまでは、ケース2又は3と同
じである。そして、2ndキャッシュ制御部43がMS
24をアクセスし、他の管理機構22における後述する
パスモニタリングの結果、他の管理機構22に、指定さ
れたCPUアドレスalに対応し、MS24の内容より
新しい最新のブロックデータが存在しくS6)、そこか
ら管理機構−MSインタフェース23のデータバスBS
6に当該ブロックデータが出力され、同じく共有情報ハ
スBS9に共有情報が出力されている場合には(これに
ついて゛はパスモニタリングの説明において後述する)
、以下の動作が実行される。
まず、2ndキャッシュ制御部43は、他の管理機構2
2から管理機構−MSインタフェース23のデータバス
BS6に出力されたブロックデータを読み込み、2nd
キヤツシユ41に書き込む。ここで、2ndキャッシュ
制御部43は、リードアクセスにより指定されたCPU
アドレスa1に基づ<2ndタグアドレスa4 (第5
図参照)を指定する。その後は、2ndキャッシュ制御
部43及びCPUキャッシュ制御部33が、ケース2の
場合と同様の動作を実行して、上記ブロックデータの2
ndキヤツシユ41及びCPUキャッシュ31への書き
込み、2ndキヤツシユのタグ42への有効ビットb5
、更新ピッ)b8、管理機構内共有ピントb6、他管理
機構共有ピッ)b7及び管理機構有効ビットb4の設定
、CPUキャッシュのタグ32への有効ビットb2及び
共有ビットb1の設定、2ndキヤツシユのタグ42へ
の有効ビットb3及びウェイ番号d7の設定等を行い、
それと共に、当該ブロックデータをCPUデータバスB
S2に読み出す。
2から管理機構−MSインタフェース23のデータバス
BS6に出力されたブロックデータを読み込み、2nd
キヤツシユ41に書き込む。ここで、2ndキャッシュ
制御部43は、リードアクセスにより指定されたCPU
アドレスa1に基づ<2ndタグアドレスa4 (第5
図参照)を指定する。その後は、2ndキャッシュ制御
部43及びCPUキャッシュ制御部33が、ケース2の
場合と同様の動作を実行して、上記ブロックデータの2
ndキヤツシユ41及びCPUキャッシュ31への書き
込み、2ndキヤツシユのタグ42への有効ビットb5
、更新ピッ)b8、管理機構内共有ピントb6、他管理
機構共有ピッ)b7及び管理機構有効ビットb4の設定
、CPUキャッシュのタグ32への有効ビットb2及び
共有ビットb1の設定、2ndキヤツシユのタグ42へ
の有効ビットb3及びウェイ番号d7の設定等を行い、
それと共に、当該ブロックデータをCPUデータバスB
S2に読み出す。
但し、上述のブロックデータはMS24からではなく他
の管理機構22から読み込まれたデータであり、上記2
ndタグアドレスa4に対応する2ndキヤツシユ41
の内容とMS24の内容は一致していないため、2nd
キャッシュ制御部43は、2ndタグアドレスa4に対
応する2ndキヤツシユのりグ42上の主記憶不一致ビ
ットb9はオンする。
の管理機構22から読み込まれたデータであり、上記2
ndタグアドレスa4に対応する2ndキヤツシユ41
の内容とMS24の内容は一致していないため、2nd
キャッシュ制御部43は、2ndタグアドレスa4に対
応する2ndキヤツシユのりグ42上の主記憶不一致ビ
ットb9はオンする。
リードアクセス・ケース5S2−5.−5.→S。
リードアクセス時に、CPUキャッシュ31がキャッシ
ュミスした場合(SZ) 、そのCPUキャッシュ31
に対応するプロセッサ21が接続される管理機構22の
2ndキャッシュ制御部43(2ndキヤツシユ装置2
8内)に制御が移る。
ュミスした場合(SZ) 、そのCPUキャッシュ31
に対応するプロセッサ21が接続される管理機構22の
2ndキャッシュ制御部43(2ndキヤツシユ装置2
8内)に制御が移る。
続いて、2ndキヤツシユ41がアクセスされ、その結
果、2ndキヤツシユ41がキャツシュヒツトした場合
(St)、2ndキャッシュ制御部43は、リードアク
セスにより指定された2ndタグアドレスa4に対応す
る2ndキヤツシユのタグ42において、第9図の各ビ
ットの内容をチエツクする。
果、2ndキヤツシユ41がキャツシュヒツトした場合
(St)、2ndキャッシュ制御部43は、リードアク
セスにより指定された2ndタグアドレスa4に対応す
る2ndキヤツシユのタグ42において、第9図の各ビ
ットの内容をチエツクする。
この結果、管理機構内共有ピッ)b6及び他管理機構共
有ビットb7ともオフであるが、リードアクセスが発生
したプロセッサ21以外の自管理機構22内のいずれか
1つのみのプロセッサ21に対応する有効ビットb3が
オンと判別されることにより、当該1つのプロセッサ2
1のみが指定されたCPUアドレスa1によって定まる
ブロックデータを所有していると判別された場合(S8
)、2ndキャッシュ制御部43は、更に第9図の更新
ビットb8の内容をチエツクする。この結果、更新ビッ
トb8がオフであると判別されると(S9)、以下の動
作が実行される。
有ビットb7ともオフであるが、リードアクセスが発生
したプロセッサ21以外の自管理機構22内のいずれか
1つのみのプロセッサ21に対応する有効ビットb3が
オンと判別されることにより、当該1つのプロセッサ2
1のみが指定されたCPUアドレスa1によって定まる
ブロックデータを所有していると判別された場合(S8
)、2ndキャッシュ制御部43は、更に第9図の更新
ビットb8の内容をチエツクする。この結果、更新ビッ
トb8がオフであると判別されると(S9)、以下の動
作が実行される。
まず、2ndキャッシュ制御部43は、2ndタグアド
レスa4に対応する2ndキヤツシユのタグ42上の管
理機構内共有ピッ1−b6をオンする。
レスa4に対応する2ndキヤツシユのタグ42上の管
理機構内共有ピッ1−b6をオンする。
続いて、2ndキャッシュ制御部43は、CPU−管理
機構インタフェース25のデータバスBS5を介して、
2ndタグアドレスa4に対応する2ndキヤツシユ4
1から出力されるブロックデータ101(第10図参照
)を、また、同じくタグアドレスバスBS8を介して共
有化のコマンドを、共にリードアクセスの発生したプロ
セッサ21の゛CPUキャッシュ制御部33(CPUキ
ャッシュ装置27内)に圧力する。
機構インタフェース25のデータバスBS5を介して、
2ndタグアドレスa4に対応する2ndキヤツシユ4
1から出力されるブロックデータ101(第10図参照
)を、また、同じくタグアドレスバスBS8を介して共
有化のコマンドを、共にリードアクセスの発生したプロ
セッサ21の゛CPUキャッシュ制御部33(CPUキ
ャッシュ装置27内)に圧力する。
これにより、ケース2の場合と同様にして、CPUキャ
ッシュ制御部33が、上記ブロックデータのCPUキャ
ッシュ31への書き込み、CPUキャッシュのタグ32
の有効ビットb2及び共有ビットb1のオン設定、2n
dキャッシュ制御部43へのウェイ番号の通知等の動作
を行い、2ndキャッシュ制御部43が、2ndキヤツ
シユのタグ42への有効ビットb3及びウェイ番号d7
の設定を行い、それと共に、CPUキャッシュ制御部3
3が、上記CPUキャッシュ31に書き込んだブロック
データをCPUデータバスBS2に読み出す。
ッシュ制御部33が、上記ブロックデータのCPUキャ
ッシュ31への書き込み、CPUキャッシュのタグ32
の有効ビットb2及び共有ビットb1のオン設定、2n
dキャッシュ制御部43へのウェイ番号の通知等の動作
を行い、2ndキャッシュ制御部43が、2ndキヤツ
シユのタグ42への有効ビットb3及びウェイ番号d7
の設定を行い、それと共に、CPUキャッシュ制御部3
3が、上記CPUキャッシュ31に書き込んだブロック
データをCPUデータバスBS2に読み出す。
また、2ndキャッシュ制御部43は、、CPU−管理
機構インタフェース25のタグアドレスバスBS3を介
して、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュ制御部33に対しても、
共有化のコマンドを発行する。この場合、第9図のオン
となっている有効ビットb3に対応するウェイ番号d7
とCPUアドレスa1も同時に転送される。これによっ
て、当該CPUキャッシュ制御部33は、CPUアドレ
スa1に基づ<CPUタグアドレスa2及びウェイ番号
d7に対応するCPUキャッシュのタグ32上の共有ビ
ットbl (第7図参照)をオンする。
機構インタフェース25のタグアドレスバスBS3を介
して、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュ制御部33に対しても、
共有化のコマンドを発行する。この場合、第9図のオン
となっている有効ビットb3に対応するウェイ番号d7
とCPUアドレスa1も同時に転送される。これによっ
て、当該CPUキャッシュ制御部33は、CPUアドレ
スa1に基づ<CPUタグアドレスa2及びウェイ番号
d7に対応するCPUキャッシュのタグ32上の共有ビ
ットbl (第7図参照)をオンする。
リードアクセス・ケース6 s2→S、→S→SS−S
リードアクセス時ndキャッシュ制御部43が第9図の
更新ビットb8の内容をチエツクするところまでのシー
ケンスはケース5と同じである。
リードアクセス時ndキャッシュ制御部43が第9図の
更新ビットb8の内容をチエツクするところまでのシー
ケンスはケース5と同じである。
この結果、ケース5の場合と逆に、更新ピッ)b8がオ
ンであると判別されると(slo)、以下の動作が実行
される。
ンであると判別されると(slo)、以下の動作が実行
される。
まず、2ndキャッシュ制御部43は、CPU−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、第9図の有効ビットb3がオンとなっているプロセ
ッサ21のCPUキャッシュ制御部33に、ブロックデ
ータの転送コマンドを発行する。
構インタフェース25のタグアドレスバスBS3を介し
て、第9図の有効ビットb3がオンとなっているプロセ
ッサ21のCPUキャッシュ制御部33に、ブロックデ
ータの転送コマンドを発行する。
この場合、第9図のオンとなっている有効ビットb3に
対応するウェイ番号d7とCPUアドレスa1も同時に
転送される。これによって、当該CPUキャッシュ制御
部33は、CPUアドレスa1に基づくCPUタグアド
レスa2及びウェイ番号d7に対応するCPUキャッシ
ュ31からブロックデータを読み出して、CPU−管理
機構インタフェース25のリアルアドレスバスBS4を
介して、管理機構22内の2ndキャッシュ制御部43
に転送する。また、CPUタグアドレスa2に対応する
CPUキャッシュのタグ32の共有ピッ)bl(第7回
参照)をオンする。
対応するウェイ番号d7とCPUアドレスa1も同時に
転送される。これによって、当該CPUキャッシュ制御
部33は、CPUアドレスa1に基づくCPUタグアド
レスa2及びウェイ番号d7に対応するCPUキャッシ
ュ31からブロックデータを読み出して、CPU−管理
機構インタフェース25のリアルアドレスバスBS4を
介して、管理機構22内の2ndキャッシュ制御部43
に転送する。また、CPUタグアドレスa2に対応する
CPUキャッシュのタグ32の共有ピッ)bl(第7回
参照)をオンする。
続いて、2ndキャッシュ制御部43は、上述のブロッ
クデータを読み込み、2ndキヤツシユ41に書き込む
。ここで、2ndキャッシュ制御部43は、リードアク
セスにより指定されたCPUアドレスa1に基づ< 2
ndタグアドレスa4 (第5図参照)を指定する。
クデータを読み込み、2ndキヤツシユ41に書き込む
。ここで、2ndキャッシュ制御部43は、リードアク
セスにより指定されたCPUアドレスa1に基づ< 2
ndタグアドレスa4 (第5図参照)を指定する。
また、2ndキャッシュ制御部43は、2ndタグアド
レスa4に対応する2ndキヤツシユのタグ42におい
て、更新ピッ)b8(第9図参照)をオフし、ケース5
と同様に管理機構内共有ピッ)b6をオンする。
レスa4に対応する2ndキヤツシユのタグ42におい
て、更新ピッ)b8(第9図参照)をオフし、ケース5
と同様に管理機構内共有ピッ)b6をオンする。
これ以後は、ケース5の場合と同様に、2ndキヤツシ
ユ41からCPUキャッシュ31へのブロックデータ1
01の転送、CPUキャッシュのタグ32の各ビットの
設定、2ndキヤツシユのタグ42への有効ビットb3
及びウェイ番号d7の設定等の動作を行い、それと共に
、当該ブロックデータをCPUデータバスBS2に読み
出す。
ユ41からCPUキャッシュ31へのブロックデータ1
01の転送、CPUキャッシュのタグ32の各ビットの
設定、2ndキヤツシユのタグ42への有効ビットb3
及びウェイ番号d7の設定等の動作を行い、それと共に
、当該ブロックデータをCPUデータバスBS2に読み
出す。
但し、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュのタグ32の共有ビット
b1(第7図参照)は既にオンとされているため、CP
Uキャッシュ制御部33から同プロセッサ21のCPU
キャッシュ制御部33に対しては共有化のコマンドは発
行されない。
セッサ21のCPUキャッシュのタグ32の共有ビット
b1(第7図参照)は既にオンとされているため、CP
Uキャッシュ制御部33から同プロセッサ21のCPU
キャッシュ制御部33に対しては共有化のコマンドは発
行されない。
リードアクセス・ケース7 5z−57−5+リ一ドア
クセス時に、CPUキャッシュ31がキャッシュミスし
くSz)、2ndキヤツシユ41がキャツシュヒツトし
くS7)、これにより2ndキャッシュ制御部43がリ
ードアクセスにより指定された2ndタグアドレスa4
に対応する2ndキヤツシユのタグ42において、第9
図の各ビットの内容をチエツクするところまでは、ケー
ス5又は6と同じである。これにより、第1の場合とし
て、管理機構内共有ピッ)b6がオンで他管理機構共有
ビットb7がオフと判別されることにより、自管理機構
22に接続される複数のプロセッサ21が、指定された
CPUアドレスa1によって定まるブロックデータを共
有していると判別された場合、第2の場合として、管理
機構内共有ビットb6はオフであるが、リードアクセス
が発生したプロセッサ21以外の自管理機構22内の1
つのプロセッサ21に対応する有効ピッ)b3がオンと
判別され、かつ他管理機構共有ビットb7がオンと判別
されることにより、自管理機構22に接続される1つの
プロセッサ21及び他管理機構22に接続されるプロセ
ッサ21が、上述のブロックデータを共有していると判
別された場合、或いは第3の場合として、管理機構内共
有ピッ)b6及び他管理機構共有ピッ)b7が共にオン
と判別されることにより、自管理機構22に接続される
複数のプロセッサ21及び他管理機構22に接続される
プロセッサ21が、上述のブロックデータを共有してい
ると判別された場合のいずれかの場合には(SII)、
以下の動作が実行される。なお、更新ビットb8の内容
は判別しない。
クセス時に、CPUキャッシュ31がキャッシュミスし
くSz)、2ndキヤツシユ41がキャツシュヒツトし
くS7)、これにより2ndキャッシュ制御部43がリ
ードアクセスにより指定された2ndタグアドレスa4
に対応する2ndキヤツシユのタグ42において、第9
図の各ビットの内容をチエツクするところまでは、ケー
ス5又は6と同じである。これにより、第1の場合とし
て、管理機構内共有ピッ)b6がオンで他管理機構共有
ビットb7がオフと判別されることにより、自管理機構
22に接続される複数のプロセッサ21が、指定された
CPUアドレスa1によって定まるブロックデータを共
有していると判別された場合、第2の場合として、管理
機構内共有ビットb6はオフであるが、リードアクセス
が発生したプロセッサ21以外の自管理機構22内の1
つのプロセッサ21に対応する有効ピッ)b3がオンと
判別され、かつ他管理機構共有ビットb7がオンと判別
されることにより、自管理機構22に接続される1つの
プロセッサ21及び他管理機構22に接続されるプロセ
ッサ21が、上述のブロックデータを共有していると判
別された場合、或いは第3の場合として、管理機構内共
有ピッ)b6及び他管理機構共有ピッ)b7が共にオン
と判別されることにより、自管理機構22に接続される
複数のプロセッサ21及び他管理機構22に接続される
プロセッサ21が、上述のブロックデータを共有してい
ると判別された場合のいずれかの場合には(SII)、
以下の動作が実行される。なお、更新ビットb8の内容
は判別しない。
2ndキャッシュ制御部43は、2ndキヤツシユ41
において、CPU−管理機構インタフェース25のデー
タバスBS5を介してリードアクセスにより指定された
2ndタグアドレスa4から出力されるブロックデータ
101(第10図参照)を、また、同じくタグアドレス
バスBS3を介して共有化のコマンドを、共にリードア
クセスの発生したプロセッサ21のCPUキャッシュ制
御部33(CPUキャッシュ装置27内)に出力する。
において、CPU−管理機構インタフェース25のデー
タバスBS5を介してリードアクセスにより指定された
2ndタグアドレスa4から出力されるブロックデータ
101(第10図参照)を、また、同じくタグアドレス
バスBS3を介して共有化のコマンドを、共にリードア
クセスの発生したプロセッサ21のCPUキャッシュ制
御部33(CPUキャッシュ装置27内)に出力する。
これ以降は、ケース2の場合と同様にして、CPUキャ
ッシュ制御部33及び2ndキャッシュ制御部43が、
上記ブロックデータのCPUキャッシュ31への書き込
み、CPUキャッシュのタグ32の有効ビン)b2及び
共有ピッ)blの設定、2ndキヤツシユのタグ42へ
の有効ビットb3及びウェイ番号d7の設定、上記ブロ
ックデータのCPUデータバスBS2への読み出し等の
動作を行う。
ッシュ制御部33及び2ndキャッシュ制御部43が、
上記ブロックデータのCPUキャッシュ31への書き込
み、CPUキャッシュのタグ32の有効ビン)b2及び
共有ピッ)blの設定、2ndキヤツシユのタグ42へ
の有効ビットb3及びウェイ番号d7の設定、上記ブロ
ックデータのCPUデータバスBS2への読み出し等の
動作を行う。
ライトアクセス・ケース8S、→S。
ライトアクセス時に、CPUキャッシュ31がキャツシ
ュヒツトした場合(S+z) 、CP Uキャッシュ制
御部33は、ライトアクセス時のCPUアドレスa1に
基づいてブロック内アドレスa3 (第5図参照)を指
定し、#1〜#4のうちキャツシュヒツトしたうエイの
CPUキャッシュ31に、CPUデータバスBS2から
入力するデータを書き込む。
ュヒツトした場合(S+z) 、CP Uキャッシュ制
御部33は、ライトアクセス時のCPUアドレスa1に
基づいてブロック内アドレスa3 (第5図参照)を指
定し、#1〜#4のうちキャツシュヒツトしたうエイの
CPUキャッシュ31に、CPUデータバスBS2から
入力するデータを書き込む。
更に、CPUキャッシュ制御部33は、CPUアドレス
a1に基づ< CPUタグアドレスa2に対応するCP
Uキャッシュのタグ32において、共有ビットbl(第
7図参照)がオンか否かをチエツクする。
a1に基づ< CPUタグアドレスa2に対応するCP
Uキャッシュのタグ32において、共有ビットbl(第
7図参照)がオンか否かをチエツクする。
この結果、共有ビットb1がオフの場合には(51:I
)、CPUキャッシュ制御部33は、CPUタグアドレ
スa2に対応するCPUキャッシュのタグ32から6ビ
ットの2ndローケーシヨンd4 (第7図参照)を読
み出し、10ビットのCPUタグアドレスa2と合わせ
て16ビットのアドレスデータとして、CPU−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、管理機構22の2ndキャッシュ制御部43(2n
dキヤツシユ装置28内)に転送する。上述の16ビッ
トのアドレスデータは、第5図かられかるように、2n
dキヤツシユ装置28内においては、CPUアドレスa
1から求まる2ndタグアドレスa4にほかならない。
)、CPUキャッシュ制御部33は、CPUタグアドレ
スa2に対応するCPUキャッシュのタグ32から6ビ
ットの2ndローケーシヨンd4 (第7図参照)を読
み出し、10ビットのCPUタグアドレスa2と合わせ
て16ビットのアドレスデータとして、CPU−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、管理機構22の2ndキャッシュ制御部43(2n
dキヤツシユ装置28内)に転送する。上述の16ビッ
トのアドレスデータは、第5図かられかるように、2n
dキヤツシユ装置28内においては、CPUアドレスa
1から求まる2ndタグアドレスa4にほかならない。
これにより、2ndキャッシュ制御部43においてCP
Uアドレスa1から2ndタグアドレスa4を求める動
作が省略でき、高速処理を行°える。
Uアドレスa1から2ndタグアドレスa4を求める動
作が省略でき、高速処理を行°える。
上述の動作に続き、2ndキャッシュ制御部43は、上
述の(CPUタグアドレスa2+ 2 n dローケー
ションd4)で2ndキヤツシユのタグ42をアクセス
し、そのアドレスにおける第9図の更新ビットb8をオ
ンする。
述の(CPUタグアドレスa2+ 2 n dローケー
ションd4)で2ndキヤツシユのタグ42をアクセス
し、そのアドレスにおける第9図の更新ビットb8をオ
ンする。
ライトアクセス・ −ス9 S −4S →Sライトア
クセス時に、CPUキャッシュ31がキャツシュヒツト
しく512 ) 、CPUキャッシュ制御部33が、C
PUキャッシュ31にデータを書き込んだ後、CPUキ
ャッシュのタグ32の共有ビットb1をチエツクすると
ころまで7は、ケース8と同様である。この結果、共有
ビットblがオンの場合には(S+、)、ケース8の場
合と同様に、CPUキャッシュ制御部33が(CPUタ
グアドレスa2+ 2 ndローケーションd4)を2
ndキャッシュ制御部43に転送する。
クセス時に、CPUキャッシュ31がキャツシュヒツト
しく512 ) 、CPUキャッシュ制御部33が、C
PUキャッシュ31にデータを書き込んだ後、CPUキ
ャッシュのタグ32の共有ビットb1をチエツクすると
ころまで7は、ケース8と同様である。この結果、共有
ビットblがオンの場合には(S+、)、ケース8の場
合と同様に、CPUキャッシュ制御部33が(CPUタ
グアドレスa2+ 2 ndローケーションd4)を2
ndキャッシュ制御部43に転送する。
上述の動作の後、2ndキャッシュ制御部43は、上述
の(CPUタグアドレスa2+ 2 n dローケーシ
ョンd4)で2ndキヤツシユのタグ42をアクセスし
、そのアドレスにおける第9図の他管理機構共有ビット
b7をチエツクする。
の(CPUタグアドレスa2+ 2 n dローケーシ
ョンd4)で2ndキヤツシユのタグ42をアクセスし
、そのアドレスにおける第9図の他管理機構共有ビット
b7をチエツクする。
この結果、他管理機構共有ピッ)b7がオフで、自管理
機構22内の他のプロセッサ21が、CPUアドレスa
1に対応するブロックデータを、ライトアクセスの発生
したプロセッサ21と共有していると判別された場合(
S+、)には(この場合、管理機構内共有ピッI−b6
は必ずオンとなっている)、2ndキャッシュ制御部4
3は、(CPUタグアドレスa2+2 n dローケー
ションd4)に対応する2ndキヤツシユのタグ42に
おいて、第9図の更新ビットb8をオンにすると共に、
管理機構内共有ビットb6をオフする。
機構22内の他のプロセッサ21が、CPUアドレスa
1に対応するブロックデータを、ライトアクセスの発生
したプロセッサ21と共有していると判別された場合(
S+、)には(この場合、管理機構内共有ピッI−b6
は必ずオンとなっている)、2ndキャッシュ制御部4
3は、(CPUタグアドレスa2+2 n dローケー
ションd4)に対応する2ndキヤツシユのタグ42に
おいて、第9図の更新ビットb8をオンにすると共に、
管理機構内共有ビットb6をオフする。
それと共に、2ndキャッシュ制御部43は、CPU−
管理機構インタフェース25のタグアドレスバスBS3
を介して、第9図の有効ビットb3がオンとなっている
プロセッサ21のCP、Uキャッシュ制御部33(CP
Uキャッシュ装置27内)に、有効ピッ)b3に対応す
るウェイ番号d7及びCPUタグアドレスa2と共に、
無効化のコマンドを発行する。
管理機構インタフェース25のタグアドレスバスBS3
を介して、第9図の有効ビットb3がオンとなっている
プロセッサ21のCP、Uキャッシュ制御部33(CP
Uキャッシュ装置27内)に、有効ピッ)b3に対応す
るウェイ番号d7及びCPUタグアドレスa2と共に、
無効化のコマンドを発行する。
これによって、更新前のブロックデータを共有していた
プロセッサ21のCPUキャッシュ制御部33が、CP
Uタグアドレスa2及びウェイ番号d7に対応するCP
Uキャッシュのタグ32上の有効ビットb2をオフし、
当該ブロックデータを無効化する。
プロセッサ21のCPUキャッシュ制御部33が、CP
Uタグアドレスa2及びウェイ番号d7に対応するCP
Uキャッシュのタグ32上の有効ビットb2をオフし、
当該ブロックデータを無効化する。
マタ、2ndキャッシュ制御部43は、上述のオンとな
っていた有効ビットb3をオフした後、CPU−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、ライトアクセスの発生したプロセッサ21のCPU
キャッシュ制御部33に、共有オフのコマンドを発行す
る。これにより、当該CPUキャッシュ制御部33が、
CPUタグアドレスa2に対応するCPUキャッシュの
タグ32上の共有ビットb1をオフする。
っていた有効ビットb3をオフした後、CPU−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、ライトアクセスの発生したプロセッサ21のCPU
キャッシュ制御部33に、共有オフのコマンドを発行す
る。これにより、当該CPUキャッシュ制御部33が、
CPUタグアドレスa2に対応するCPUキャッシュの
タグ32上の共有ビットb1をオフする。
一イトアクセス・ −ス10 S →S →Sライトア
クセス時に、CPUキャッシュ31がキャツシュヒツト
しくS+z )、CPUキャッシュ制御部33が、CP
Uキャッシュ31にデータを書き込んだ後、CPUキャ
ッシュのタグ32の共有ビットb1をチエツクした結果
共有ビットb1のオンを判別しく514)、CPUキャ
ッシュ制御部33が(CPUタグアドレスa2+2 n
dローケーションd4)を2ndキャッシュ制御部4
3に転送し、更に、2ndキャッシュ制御部43が、上
述の(CPUタグアドレスa2+2 n dローケーシ
ョンd4)で2ndキヤツシユのタグ42をアクセスし
、そのアドレスにおける第9図の他管理機構共有ピッ)
b7をチエツクするところまでは、ケース9と同様であ
る。
クセス時に、CPUキャッシュ31がキャツシュヒツト
しくS+z )、CPUキャッシュ制御部33が、CP
Uキャッシュ31にデータを書き込んだ後、CPUキャ
ッシュのタグ32の共有ビットb1をチエツクした結果
共有ビットb1のオンを判別しく514)、CPUキャ
ッシュ制御部33が(CPUタグアドレスa2+2 n
dローケーションd4)を2ndキャッシュ制御部4
3に転送し、更に、2ndキャッシュ制御部43が、上
述の(CPUタグアドレスa2+2 n dローケーシ
ョンd4)で2ndキヤツシユのタグ42をアクセスし
、そのアドレスにおける第9図の他管理機構共有ピッ)
b7をチエツクするところまでは、ケース9と同様であ
る。
この結果、他管理機構共有ピッ)b7がオンで、他管理
機構22のプロセッサ21が、CPUアドレスa1に対
応するブロックデータを、ライトアクセスの発生したプ
ロセッサ21と共有していると判別された場合(S+6
) 、2 n dキャッシュ制御部43は、(CPUタ
グアドレスa2+2 n dローケーションd4)に対
応する2ndキヤツシユのタグ42において、第9図の
更新ビットb8をオンにすると共に、他管理機構共有ビ
ン)b7及びオンとなっている管理機構有効ビットb4
をオフする。
機構22のプロセッサ21が、CPUアドレスa1に対
応するブロックデータを、ライトアクセスの発生したプ
ロセッサ21と共有していると判別された場合(S+6
) 、2 n dキャッシュ制御部43は、(CPUタ
グアドレスa2+2 n dローケーションd4)に対
応する2ndキヤツシユのタグ42において、第9図の
更新ビットb8をオンにすると共に、他管理機構共有ビ
ン)b7及びオンとなっている管理機構有効ビットb4
をオフする。
それと共に、2ndキャッシュ制御部43は、管理機構
−MSインタフェース23のタグアドレスバスBS3に
、 (CPUタグアドレスa2+2ndo−ケーション
d4)である2ndタグアドレスa4と無効化コマンド
を出力し、同じく共有情報バスBS9に自管理機構22
の識別情報を出力する。これに対して、他の管理機構2
2では、後述するハスモニタリングが実行されている。
−MSインタフェース23のタグアドレスバスBS3に
、 (CPUタグアドレスa2+2ndo−ケーション
d4)である2ndタグアドレスa4と無効化コマンド
を出力し、同じく共有情報バスBS9に自管理機構22
の識別情報を出力する。これに対して、他の管理機構2
2では、後述するハスモニタリングが実行されている。
この結果、対応する他の管理機構22においてブロック
データの無効化が行われる。
データの無効化が行われる。
更に、2ndキャッシュ制御部43は、cpu−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、ライトアクセスの発生したプロセッサ21のCPU
キャッシュ制御部33に、共有オフのコマンドを発行す
る。これにより、当該CPUキャッシュ制御部33が、
CPUタグアドレスa2に対応するCPUキャッシュの
タグ32上の共有ビットb1をオフする。
構インタフェース25のタグアドレスバスBS3を介し
て、ライトアクセスの発生したプロセッサ21のCPU
キャッシュ制御部33に、共有オフのコマンドを発行す
る。これにより、当該CPUキャッシュ制御部33が、
CPUタグアドレスa2に対応するCPUキャッシュの
タグ32上の共有ビットb1をオフする。
なお、本ケースにおいて、他管理機構共有ピッ)b7が
オンであると同時に、管理機構内共有ピッ)b6もオン
となっている場合は、2ndキャッシュ制御部43は、
上述の動作に続いて、ケース9の場合と同様、第9図の
有効ピッ)b3がオンとなっているプロセッサ21のC
PUキャッシュ制御部33に無効化のコマンドを発行し
て、当1cPUキャッシュ制御部33に無効化を行わせ
、管理機構内共有ビットb6及びオンとなっていた有効
ビットb3をオフする。
オンであると同時に、管理機構内共有ピッ)b6もオン
となっている場合は、2ndキャッシュ制御部43は、
上述の動作に続いて、ケース9の場合と同様、第9図の
有効ピッ)b3がオンとなっているプロセッサ21のC
PUキャッシュ制御部33に無効化のコマンドを発行し
て、当1cPUキャッシュ制御部33に無効化を行わせ
、管理機構内共有ビットb6及びオンとなっていた有効
ビットb3をオフする。
一イトアクセス・ −ス11 S7→S1ライトアクセ
ス時に、CPUキャッシュ31がキャッシュミスした場
合(S+7)は、以下の処理が行われる。
ス時に、CPUキャッシュ31がキャッシュミスした場
合(S+7)は、以下の処理が行われる。
まず、前述のリードアクセス時にCPUキャッシュ31
がキャッシュミスした場合のケース2〜ケース7のいず
れかの処理が、CPUキャッシュのタグ32及び2nd
キヤツシユのタグ42の各ビットの状態に応じて実行さ
れる。これにより、CPUアドレスa1に基づ<CPU
タグアドレスa2に対応するCPUキャッシュ31のい
ずれかのウェイに、必要なブロックデータが読み込まれ
る。
がキャッシュミスした場合のケース2〜ケース7のいず
れかの処理が、CPUキャッシュのタグ32及び2nd
キヤツシユのタグ42の各ビットの状態に応じて実行さ
れる。これにより、CPUアドレスa1に基づ<CPU
タグアドレスa2に対応するCPUキャッシュ31のい
ずれかのウェイに、必要なブロックデータが読み込まれ
る。
続いて、前述のライトアクセス時にCPUキャッシュ3
1がキャツシュヒツトした場合のケース8〜ケース10
のいずれかの処理が、CPU−1ヤツシユのタグ32及
び2ndキヤツシユのタグ42の各ビットの状態に応じ
て実行される(Su+)。これにより、CPUアドレス
alに基づ< CPUタグアドレスa2に対応するCP
Uキャッシュ31上において、上述の如く読み込まれた
ブロックデータが書き替えられる。
1がキャツシュヒツトした場合のケース8〜ケース10
のいずれかの処理が、CPU−1ヤツシユのタグ32及
び2ndキヤツシユのタグ42の各ビットの状態に応じ
て実行される(Su+)。これにより、CPUアドレス
alに基づ< CPUタグアドレスa2に対応するCP
Uキャッシュ31上において、上述の如く読み込まれた
ブロックデータが書き替えられる。
バスモニタリング几 の
本実施例のようなマルチプロセッサシステムにおいては
、各プロセッサ21間のデータの統一性を図るため、管
理機構22の2ndキヤツシユ装置28内の2ndキャ
ッシュ制御部43(第4図参照)が、管理機構−MSイ
ンタフェース23の各バスを常に監視しており、以下に
示されるような処理を行う。
、各プロセッサ21間のデータの統一性を図るため、管
理機構22の2ndキヤツシユ装置28内の2ndキャ
ッシュ制御部43(第4図参照)が、管理機構−MSイ
ンタフェース23の各バスを常に監視しており、以下に
示されるような処理を行う。
この処理をバスモニタリングと呼ぶ。
バスモニタリング・ケース!11.→S2゜2ndキャ
ッシュ制御部43が、管理機構−MSインタフェース2
3の各バスを常に監視していて、リアルアドレスバスB
S7にアドレスデータが出力されたことを検出すること
により、前述のリードアクセス時のケース2〜ケース4
又はライトアクセス時のケース11において、他の管理
機構22がMS24をアクセスしたことを検出すると、
2nclキャッシュ制御部43は、リアルアドレスバス
BS7から入力するCPUアドレスa1に基づ<2nd
タグアドレスa4及び2ndタグデータd2によって、
2ndキヤ・ンシュ41をアクセスする(519)。す
なわち、2ndキャッシュ制御部43は、2ndキヤツ
シユのタグ42に対して2ndタグアドレスa4を指定
すると共に、比較器44に対して2ndタグデータd2
を指定する。
ッシュ制御部43が、管理機構−MSインタフェース2
3の各バスを常に監視していて、リアルアドレスバスB
S7にアドレスデータが出力されたことを検出すること
により、前述のリードアクセス時のケース2〜ケース4
又はライトアクセス時のケース11において、他の管理
機構22がMS24をアクセスしたことを検出すると、
2nclキャッシュ制御部43は、リアルアドレスバス
BS7から入力するCPUアドレスa1に基づ<2nd
タグアドレスa4及び2ndタグデータd2によって、
2ndキヤ・ンシュ41をアクセスする(519)。す
なわち、2ndキャッシュ制御部43は、2ndキヤツ
シユのタグ42に対して2ndタグアドレスa4を指定
すると共に、比較器44に対して2ndタグデータd2
を指定する。
この結果、2ndキヤツシユ41がキャッシュミスした
場合は(S2o)、今回のバスモニタリングをそのまま
終了する。
場合は(S2o)、今回のバスモニタリングをそのまま
終了する。
バスモニ リング・ −ス259−5 −+Sケースエ
と同様にして、2ndキヤツシユ41がアクセスされた
結果(519) 、2 n dキャッシュ41がキャツ
シュヒツトした場合は(S2I)、更に、2ndタグア
ドレスa4に対応する2ndキヤンシユのタグ42にお
いて、第9図の主記憶不一致ビットb9及び更新ビット
b8がチエツクされる。この結果、主記憶不一致ピッ1
−b9がオンで、かつ更新ビットb8がオフの場合には
(Sz□)、2ndキャッシュ制御部43は、2ndキ
ヤツシユのタグ42における第9図の他管理機構共有ピ
ッ1−b7をチエツクし、これがオンの場合に、更に、
管理機構有効ビン)b4をチエツクし、自管理機構22
が最も若い番号の管理機構22であるか否かを判別する
。この結果、最も若い番号でなければ、今回のハスモニ
タリングをそのまま終了する。最も若い番号であるか、
他管理機構共有ピッ)b7がオフの場合には、以下の動
作が実行される。
と同様にして、2ndキヤツシユ41がアクセスされた
結果(519) 、2 n dキャッシュ41がキャツ
シュヒツトした場合は(S2I)、更に、2ndタグア
ドレスa4に対応する2ndキヤンシユのタグ42にお
いて、第9図の主記憶不一致ビットb9及び更新ビット
b8がチエツクされる。この結果、主記憶不一致ピッ1
−b9がオンで、かつ更新ビットb8がオフの場合には
(Sz□)、2ndキャッシュ制御部43は、2ndキ
ヤツシユのタグ42における第9図の他管理機構共有ピ
ッ1−b7をチエツクし、これがオンの場合に、更に、
管理機構有効ビン)b4をチエツクし、自管理機構22
が最も若い番号の管理機構22であるか否かを判別する
。この結果、最も若い番号でなければ、今回のハスモニ
タリングをそのまま終了する。最も若い番号であるか、
他管理機構共有ピッ)b7がオフの場合には、以下の動
作が実行される。
2ndキヤツシユ制御部43は、2ndキヤツシユ41
において、リアルアドレスバスBS7から入力したCP
Uアドレスa1に基づ< 2ndタグアドレスa4から
出力されるブロックデータ101(第10図参照)を、
管理機構−MSインタフェース23のデータバスBS6
に出力する。
において、リアルアドレスバスBS7から入力したCP
Uアドレスa1に基づ< 2ndタグアドレスa4から
出力されるブロックデータ101(第10図参照)を、
管理機構−MSインタフェース23のデータバスBS6
に出力する。
このとき同時に、2ndキャッシュ制御部43ば、管理
機構−MSインタフェース23の共有情報バスBS9に
自管理機構22の識別情報を出力する。
機構−MSインタフェース23の共有情報バスBS9に
自管理機構22の識別情報を出力する。
更に、2− n dキャッシュ制御部43は、2ndタ
グアドレスa4に対応する2ndキヤツシユのタグ42
において、第9図の他管理機構共有ピッI−b7をオン
し、#1〜#4の管理機構有効ピントb4のうちMS2
4をアクセスした管理機構22に対応するビットをオン
する。どの管理機構22がMS24をアクセスしたかは
、管理機構−MSインタフェース23の共有情報バスB
S9から入力する識別情報によって判別できる(MS2
4のアクセスの説明参照)。
グアドレスa4に対応する2ndキヤツシユのタグ42
において、第9図の他管理機構共有ピッI−b7をオン
し、#1〜#4の管理機構有効ピントb4のうちMS2
4をアクセスした管理機構22に対応するビットをオン
する。どの管理機構22がMS24をアクセスしたかは
、管理機構−MSインタフェース23の共有情報バスB
S9から入力する識別情報によって判別できる(MS2
4のアクセスの説明参照)。
加えて、2ndキャッシュ制御部43は、CPU−管理
機構インタフェース25のタグアドレスバスBS3を介
して、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュ制御部33に、共有化の
コマンドと、第9図のオンとなっている有効ピッ)b3
に対応するウェイ番号d7及びリアルアドレスバスBS
7から入力したCPUアドレスa1を転送する。これに
より、CPUキャッシュ制御部33は、CPUアドレス
alに基づ< CPUタグアドレスa2に対応するCP
Uキャッシュのタグ32上の共有ビン)bl(第7図参
照)をオンする。
機構インタフェース25のタグアドレスバスBS3を介
して、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュ制御部33に、共有化の
コマンドと、第9図のオンとなっている有効ピッ)b3
に対応するウェイ番号d7及びリアルアドレスバスBS
7から入力したCPUアドレスa1を転送する。これに
より、CPUキャッシュ制御部33は、CPUアドレス
alに基づ< CPUタグアドレスa2に対応するCP
Uキャッシュのタグ32上の共有ビン)bl(第7図参
照)をオンする。
バスモニタリング・ケース3S5.→S1→S2ケース
2と同様の2ndキヤツシユのタグ42における第9図
の主記憶不一致ビットb9及び更新ピッ)b8のチエツ
クの結果、主記憶不一致ピッ)b9がオンで、かつ更新
ビットb8もオンの場合(S z 3 )には、以下の
動作が実行される。
2と同様の2ndキヤツシユのタグ42における第9図
の主記憶不一致ビットb9及び更新ピッ)b8のチエツ
クの結果、主記憶不一致ピッ)b9がオンで、かつ更新
ビットb8もオンの場合(S z 3 )には、以下の
動作が実行される。
まず、2ndキャッシュ制御部43は、CPU−管理機
構インタフェース25のタグアドレスバスBS3を介し
て、第9図の有効ビットb3がオンとなっているプロセ
ッサ21のCPUキャッシュ制御部33に、ブロックデ
ータの転送コマンドを発行する。
構インタフェース25のタグアドレスバスBS3を介し
て、第9図の有効ビットb3がオンとなっているプロセ
ッサ21のCPUキャッシュ制御部33に、ブロックデ
ータの転送コマンドを発行する。
この場合、第9図のオンとなっている有効ビットb3に
対応するウェイ番号d7とリアルアドレスバスBS7か
ら入力したCPUアドレスa1も同時に転送される。こ
れによって、当該CPUキャッシュ制御部33は、CP
Uアドレスa1に基づ< CPUタグアドレスa2に対
応するCPUキャッシュ31からブロックデータを読み
出して、CPU−管理機構インタフェース25のリアル
アドレスバスBS4を介して、管理機構22内の2n’
dキャッシュ制御部43に転送する。
対応するウェイ番号d7とリアルアドレスバスBS7か
ら入力したCPUアドレスa1も同時に転送される。こ
れによって、当該CPUキャッシュ制御部33は、CP
Uアドレスa1に基づ< CPUタグアドレスa2に対
応するCPUキャッシュ31からブロックデータを読み
出して、CPU−管理機構インタフェース25のリアル
アドレスバスBS4を介して、管理機構22内の2n’
dキャッシュ制御部43に転送する。
続いて、2ndキャッシュ制御部43は、上述のブロッ
クデータを読み込み、2ndキヤツシユ41に書き込む
。ここで、2ndキャッシュ制御部43は、リアルアド
レスバスBS7から入力したCPtJアドレスalに基
づ< 2ndタグアドレスa4 (第5図参照)を指定
する。また、2ndキャッシュ制御部43は、2ndタ
グアドレスa4に対応する2ndキヤツシユのタグ42
において、更新ビットb8をオフする。
クデータを読み込み、2ndキヤツシユ41に書き込む
。ここで、2ndキャッシュ制御部43は、リアルアド
レスバスBS7から入力したCPtJアドレスalに基
づ< 2ndタグアドレスa4 (第5図参照)を指定
する。また、2ndキャッシュ制御部43は、2ndタ
グアドレスa4に対応する2ndキヤツシユのタグ42
において、更新ビットb8をオフする。
これ以後は、ケース2の場合と同様に、2ndキャッシ
ュ制御部43が、ブロックデータ101のデータバスB
S6への出力、共有情報バスBS9への自管理機構22
の識別情報の出力、他管理機構共有ピッ1−b7及び管
理機構有効ピッ1−b4の設定、対応するCPUキャッ
シュ制御部33への共有化コマンドの発行の各動作を行
う。
ュ制御部43が、ブロックデータ101のデータバスB
S6への出力、共有情報バスBS9への自管理機構22
の識別情報の出力、他管理機構共有ピッ1−b7及び管
理機構有効ピッ1−b4の設定、対応するCPUキャッ
シュ制御部33への共有化コマンドの発行の各動作を行
う。
バスモニタリング・ケース4S1.→521 →524
ケース2又は3と同様の2ndキヤツシユのタグ42に
おける第9図の主記憶不一致ビットb9及び更新ビット
b8のチエツクの結果、主記憶不一致ビットb9がオフ
の場合(S z a )には(この場合は、更新ピッ1
−b8は必ずオフである)、以下の動作が実行される。
ケース2又は3と同様の2ndキヤツシユのタグ42に
おける第9図の主記憶不一致ビットb9及び更新ビット
b8のチエツクの結果、主記憶不一致ビットb9がオフ
の場合(S z a )には(この場合は、更新ピッ1
−b8は必ずオフである)、以下の動作が実行される。
すなわち、2ndキャッシュ制御部43は、ブロックデ
ータ101のデータバスBS6への出力動作を行わない
こと以外は、ケース2の場合と同様に、共有情報バスB
S9への自管理機構22の識別情報の出力、他管理機構
共有ビットb7及び管理機構有効ビン)b4の設定、対
応するCPUキャッシュ制御部33への共有化コマンド
の発行の各動作を行う。
ータ101のデータバスBS6への出力動作を行わない
こと以外は、ケース2の場合と同様に、共有情報バスB
S9への自管理機構22の識別情報の出力、他管理機構
共有ビットb7及び管理機構有効ビン)b4の設定、対
応するCPUキャッシュ制御部33への共有化コマンド
の発行の各動作を行う。
バスモニタリング・ケース5 (Szs)各2ndキヤ
ツシユ制御部43が管理機構−MSインタフェース23
の各バスを常に監視していて、タグアドレスバス858
に2ndタグアドレスa4と無効化コマンドが出力され
たことを検出することにより、他の管理機構22が無効
化を要求したことを検出すると(Szs) 、2 n
dキャッシュ制御部43は、タグアドレスバスBS8か
ら入力する2ndタグアドレスa4によって、2ndキ
ヤツシユのタグ42をアクセスする。そして、第9図の
#1〜#4の管理機構有効ピッ)b4のうち、共有情報
バスBS9がら入力する識別情報(ライトアクセスに関
するケース10参照)に対応する管理機構22に対応す
るビットがオンになっていなければ、今回のハスモニタ
リングを終了する。オンになっていれば以下の処理が実
行される。
ツシユ制御部43が管理機構−MSインタフェース23
の各バスを常に監視していて、タグアドレスバス858
に2ndタグアドレスa4と無効化コマンドが出力され
たことを検出することにより、他の管理機構22が無効
化を要求したことを検出すると(Szs) 、2 n
dキャッシュ制御部43は、タグアドレスバスBS8か
ら入力する2ndタグアドレスa4によって、2ndキ
ヤツシユのタグ42をアクセスする。そして、第9図の
#1〜#4の管理機構有効ピッ)b4のうち、共有情報
バスBS9がら入力する識別情報(ライトアクセスに関
するケース10参照)に対応する管理機構22に対応す
るビットがオンになっていなければ、今回のハスモニタ
リングを終了する。オンになっていれば以下の処理が実
行される。
マス、2ndキャッシュ制御部43は、上述のオンにな
っている管理機構有効ピッ)b4をオフし、かつ他管理
機構共有ビットb7をオフする。
っている管理機構有効ピッ)b4をオフし、かつ他管理
機構共有ビットb7をオフする。
続いて、2ndキャッシュ制御部43は、CPU−管理
機構インタフェース25のタグアドレスバスBS3を介
して、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュ制御部33(CPUキャ
ッシュ装置27内)に、無効化のコマンドを、有効ビッ
トb3に対応するウェイ番号d7及びCPUタグアドレ
スa2 (タグアドレスバスBS8から入力する2nd
タグアドレスa4の下位10ビットとして決定できる。
機構インタフェース25のタグアドレスバスBS3を介
して、第9図の有効ビットb3がオンとなっているプロ
セッサ21のCPUキャッシュ制御部33(CPUキャ
ッシュ装置27内)に、無効化のコマンドを、有効ビッ
トb3に対応するウェイ番号d7及びCPUタグアドレ
スa2 (タグアドレスバスBS8から入力する2nd
タグアドレスa4の下位10ビットとして決定できる。
第5図参照)と共に発行する。これにより、当該CPU
キャッシュ制御部33が、CPUタグアドレスa2及び
ウェイ番号d7に対応するCPUキャッシュのタグ32
上の有効ビットb2をオフし、対応するcPUキャッシ
ュ31上のブロックデータを無効化する。
キャッシュ制御部33が、CPUタグアドレスa2及び
ウェイ番号d7に対応するCPUキャッシュのタグ32
上の有効ビットb2をオフし、対応するcPUキャッシ
ュ31上のブロックデータを無効化する。
1換処理■前提
今、CPUキャッシュ制御部33がCPUキャッシュ3
1への書き込みを行う場合、指定されたCPUアドレス
a1に基づ< (、P Uタグアドレスバスに対応する
#1〜#4のCPUキャッシュのタグ32のいずれかに
おいて、第7図の有効ビットb2がオフになっていれば
、そのタグに対応するウェイのCPUキャッシュ31は
空いていることになる。CPUキャッシュ制御部33は
、CPUタグアドレスa2に対応するCPUキャッシュ
31の上記空きウェイにブロックデータを書き込む場合
、以下の動作を行う。
1への書き込みを行う場合、指定されたCPUアドレス
a1に基づ< (、P Uタグアドレスバスに対応する
#1〜#4のCPUキャッシュのタグ32のいずれかに
おいて、第7図の有効ビットb2がオフになっていれば
、そのタグに対応するウェイのCPUキャッシュ31は
空いていることになる。CPUキャッシュ制御部33は
、CPUタグアドレスa2に対応するCPUキャッシュ
31の上記空きウェイにブロックデータを書き込む場合
、以下の動作を行う。
すなわち、CPtJキャッシュ制御部33は、書き込み
を行おうとするウェイ以外の3っのウェイのCPUタグ
アドレスa2に対応するCPUキャッシュのタグ32に
おいて、第7図の2ビットのLRU制御ビットd5をそ
れぞれ読み出し、各2ビットで定まる3つの数値のうち
、最も値の大きい数値に+1した数値を、書き込みを行
おうとするウェイに対応するLRU制御ビットd5の値
として設定する。
を行おうとするウェイ以外の3っのウェイのCPUタグ
アドレスa2に対応するCPUキャッシュのタグ32に
おいて、第7図の2ビットのLRU制御ビットd5をそ
れぞれ読み出し、各2ビットで定まる3つの数値のうち
、最も値の大きい数値に+1した数値を、書き込みを行
おうとするウェイに対応するLRU制御ビットd5の値
として設定する。
この数値は、最も古く書き込みが行われたウェイにおい
てOであり、1.2及び3の順に新しく書き込みが行わ
れたウェイとなる。このとき、他のプロセッサ21と共
有状態にあるブロックデータが書き込まれる場合には、
+4の重みづけがされ、結局、LRU制御ビットd5と
しては、0〜7の数値が設定される。
てOであり、1.2及び3の順に新しく書き込みが行わ
れたウェイとなる。このとき、他のプロセッサ21と共
有状態にあるブロックデータが書き込まれる場合には、
+4の重みづけがされ、結局、LRU制御ビットd5と
しては、0〜7の数値が設定される。
そして、前述のリードアクセス時のケース2〜ケース7
又はライトアクセス時のケース11において、C,P
Uキャッシュ31がキャッシュミスした後、同キャッシ
ュにブロックデータが書き込まれる場合に、CPUキャ
ッシュ制御部33が、指定されたCPUアドレスa1に
基づ(CPUタグアドレスa2に対応する#1〜#4の
CPUキャッシュのタグ32のアクセスした結果、いず
れのウェイも使用中であるときには、次の処理を行う。
又はライトアクセス時のケース11において、C,P
Uキャッシュ31がキャッシュミスした後、同キャッシ
ュにブロックデータが書き込まれる場合に、CPUキャ
ッシュ制御部33が、指定されたCPUアドレスa1に
基づ(CPUタグアドレスa2に対応する#1〜#4の
CPUキャッシュのタグ32のアクセスした結果、いず
れのウェイも使用中であるときには、次の処理を行う。
すなわち、CPUキャッシュ制御部33は、CPUタグ
アドレスa2に対応するCPUキャッシュのタグ32に
おいて、第7図の2ビットのLRU制御ビットd5をそ
れぞれ読み出し、各2ビットで定まる4つの数値のうち
値が0であるウェイ、すなわち最も古く書き込みが行わ
れたウェイのCPUキャッシュ31のブロックデータ8
1(第8図参照)を、置換対象として選択する。この場
合、アクセスされたのが最も古いブロックデータが置換
対象とされることから、この選択方式はL RU (L
east Recently Llsed)と呼ばれる
。そして、このように選択されたブロックデータに対し
て、以下の置換処理が実行される。
アドレスa2に対応するCPUキャッシュのタグ32に
おいて、第7図の2ビットのLRU制御ビットd5をそ
れぞれ読み出し、各2ビットで定まる4つの数値のうち
値が0であるウェイ、すなわち最も古く書き込みが行わ
れたウェイのCPUキャッシュ31のブロックデータ8
1(第8図参照)を、置換対象として選択する。この場
合、アクセスされたのが最も古いブロックデータが置換
対象とされることから、この選択方式はL RU (L
east Recently Llsed)と呼ばれる
。そして、このように選択されたブロックデータに対し
て、以下の置換処理が実行される。
なお、以下の説明では、上述の置換対象となるウェイを
、対象ウェイと呼ぶ。
、対象ウェイと呼ぶ。
1t 几 ・ ノ −ス I S26まず、
CPUキャッシュ制御部33は、指定されたCPUアド
レスa1に基づ< CPUタグアドレスa2に対応する
上記対象ウェイのCPUキャッシュのタグ32における
第7図の共有ビン)blがオフであるか否かを判別する
。
CPUキャッシュ制御部33は、指定されたCPUアド
レスa1に基づ< CPUタグアドレスa2に対応する
上記対象ウェイのCPUキャッシュのタグ32における
第7図の共有ビン)blがオフであるか否かを判別する
。
共有ビットb1がオフの場合、CPUキャッシュ制御部
33は、CPUタグアドレスa2に対応するCPUキャ
ッシュのタグ32から6ビットの2ndローケーシヨン
d4 (第7図参照)を読み出し、10ビットのCPU
タグアドレスa2と合わせて16ビットのアドレスデー
タとして、CPU−管理機構インタフェース25のタグ
アドレスバスBS8を介して、管理機構22の2ndキ
ャッシュ制御部43(2ndキヤツシユ装置28内)に
対して、問い合わせを行う。これにより、2ndキャッ
シュ制御部43は、上記16ビットのアドレスデータ(
これは、前述したように2ndタグアドレスa4に等し
い)で2ndキヤツシユのタグ42をアクセスし、第9
図の主記憶不一致ピッ1−b9及び更新ピッ1−b8の
内容を判別する。そして、2ndキャッシュ制御部43
は、この判別結果を、タグアドレスバスBS8等を介し
てCPUキャッシュ制御部33に通知する。
33は、CPUタグアドレスa2に対応するCPUキャ
ッシュのタグ32から6ビットの2ndローケーシヨン
d4 (第7図参照)を読み出し、10ビットのCPU
タグアドレスa2と合わせて16ビットのアドレスデー
タとして、CPU−管理機構インタフェース25のタグ
アドレスバスBS8を介して、管理機構22の2ndキ
ャッシュ制御部43(2ndキヤツシユ装置28内)に
対して、問い合わせを行う。これにより、2ndキャッ
シュ制御部43は、上記16ビットのアドレスデータ(
これは、前述したように2ndタグアドレスa4に等し
い)で2ndキヤツシユのタグ42をアクセスし、第9
図の主記憶不一致ピッ1−b9及び更新ピッ1−b8の
内容を判別する。そして、2ndキャッシュ制御部43
は、この判別結果を、タグアドレスバスBS8等を介し
てCPUキャッシュ制御部33に通知する。
主記憶不一致ビットb9及び更新ピッ)b8のいずれも
オフの場合、すなわち、CPUアドレスa1に対応する
CPUキャッシュ31内のブロックデータ81(第8図
参照)が、MS24内の対応するブロックデータと同じ
ものである場合(526)には、CPUキャッシュ制御
部33は、以下の動作を行う。
オフの場合、すなわち、CPUアドレスa1に対応する
CPUキャッシュ31内のブロックデータ81(第8図
参照)が、MS24内の対応するブロックデータと同じ
ものである場合(526)には、CPUキャッシュ制御
部33は、以下の動作を行う。
まず、CPUキャッシュ制御部33は、CPUタグアド
レスa2に対応するCPUキャッシュのタグ32におい
て、第7図の有効ビットb2をオフする。
レスa2に対応するCPUキャッシュのタグ32におい
て、第7図の有効ビットb2をオフする。
これと共に、CPUキャッシュ制御部33は、管理機構
22の2ndキャッシュ制御部43に対して、CPUア
ドレスa1に基づ<2ndタグアドレスa4に対応する
2ndキヤツシユのタグ42の有効ビットb5をオフす
るよう指示する。
22の2ndキャッシュ制御部43に対して、CPUア
ドレスa1に基づ<2ndタグアドレスa4に対応する
2ndキヤツシユのタグ42の有効ビットb5をオフす
るよう指示する。
以上の動作により、対象ウェイを空きウェイとすること
ができる。
ができる。
続いて、CPUキャッシュ制御部33は、空きウェイ以
外の3つのウェイのCPUタグアドレスa2に対応する
CPUキャッシュのタグ32において、第7図の2ビッ
トのLRU制御ビットd5をそれぞれ読み出し、各2ビ
ットで定まる3つの数値をそれぞれ−1ずつ減算する。
外の3つのウェイのCPUタグアドレスa2に対応する
CPUキャッシュのタグ32において、第7図の2ビッ
トのLRU制御ビットd5をそれぞれ読み出し、各2ビ
ットで定まる3つの数値をそれぞれ−1ずつ減算する。
そして、それぞれの結果を再びLRU制御ビットd5と
して、元の各ウェイに格納し直す。そして、上述の3つ
の減算結果のうち最も値の大きい数値に+1した数値を
、空きウェイに対応するLRU制御ビットd5の値とし
て設定する。
して、元の各ウェイに格納し直す。そして、上述の3つ
の減算結果のうち最も値の大きい数値に+1した数値を
、空きウェイに対応するLRU制御ビットd5の値とし
て設定する。
以上のようにして得られた空きウェイに対して、CPU
キャッシュ制御部33がブロックデータの書き込みを行
う。
キャッシュ制御部33がブロックデータの書き込みを行
う。
、聞【J桑几 ・ケース2S27
CPUキャッシュ制御部33が、ケース1の場合と同様
、CPUキャッシュのタグ32における共有ビットb1
がオフであると判別し、更に、2ndキヤツシユのタグ
42における主記憶不一致ビットb9又は更新ビットb
8のいずれかがオンであると判別した場合、すなわち、
CPUアドレスa1に対応するCPUキャッシュ31内
のブロックデータ81(第8図参照)が、MS24内の
対応するブロックデータと異なるものであると判別した
場合(S2□)には、CPUキャッシュ制御部33は、
以下の動作を行う。
、CPUキャッシュのタグ32における共有ビットb1
がオフであると判別し、更に、2ndキヤツシユのタグ
42における主記憶不一致ビットb9又は更新ビットb
8のいずれかがオンであると判別した場合、すなわち、
CPUアドレスa1に対応するCPUキャッシュ31内
のブロックデータ81(第8図参照)が、MS24内の
対応するブロックデータと異なるものであると判別した
場合(S2□)には、CPUキャッシュ制御部33は、
以下の動作を行う。
まず、CPUキャッシュ制御部33は、CPUタグアド
レスa2に対応するCPUキャッシュのタグ32におい
て、第7図の有効ピッ1−b2をオフする。
レスa2に対応するCPUキャッシュのタグ32におい
て、第7図の有効ピッ1−b2をオフする。
これと共に、CPUキャッシュ制御部33は、管理機構
22の2ndキャッシュ制御部43に対して、CPUア
ドレスa1に基づ< 2ndタグアドレスa4に対応す
る2ndキヤツシユのタグ42の有効ビン)b5及び主
記憶不一致ビットb9をオフするよう指示する。
22の2ndキャッシュ制御部43に対して、CPUア
ドレスa1に基づ< 2ndタグアドレスa4に対応す
る2ndキヤツシユのタグ42の有効ビン)b5及び主
記憶不一致ビットb9をオフするよう指示する。
更に、CPUキャッシュ制御部33は、CPUタグアド
レスa2に対応するCPUキャッシュ31のブロックデ
ータ81を読み出し、CPU−管理機構インタフェース
25のデータバスBS5及び管理機構−MSインタフェ
ース23のデータバスBS6を介して、MS24に書き
戻す。この場合、CPUキャッシュ制御部33は、指定
されているCPUアドレスa1を、CPU−管理機構イ
ンタフェース25のリアルアドレスバスBS4及び管理
機構−MSインタフェース23のリアルアドレスバスB
S7に対して指定する。
レスa2に対応するCPUキャッシュ31のブロックデ
ータ81を読み出し、CPU−管理機構インタフェース
25のデータバスBS5及び管理機構−MSインタフェ
ース23のデータバスBS6を介して、MS24に書き
戻す。この場合、CPUキャッシュ制御部33は、指定
されているCPUアドレスa1を、CPU−管理機構イ
ンタフェース25のリアルアドレスバスBS4及び管理
機構−MSインタフェース23のリアルアドレスバスB
S7に対して指定する。
以上の動作により、MS24に最新のブロックデータを
格納した後に、対象ウェイを空きウェイとすることがで
きる。それ以後の動作は、ケース1の場合と同様である
。
格納した後に、対象ウェイを空きウェイとすることがで
きる。それ以後の動作は、ケース1の場合と同様である
。
置 几 ・ケース3 (Szg
CPUキャッシュ制御部33が、ケース1又はケース2
の場合と逆に、CPUキャッシュのタグ32における共
有ビットb1がオンであると判別した場合(Szs)
、CP Uキャッシュ制御部33は以下の動作を行う。
の場合と逆に、CPUキャッシュのタグ32における共
有ビットb1がオンであると判別した場合(Szs)
、CP Uキャッシュ制御部33は以下の動作を行う。
まず、CPUキャッシュ制御部33は、CPUタグアド
レスa2に対応するCPUキャッシュのタグ32におい
て、第7図の有効ビットb2をオフする。
レスa2に対応するCPUキャッシュのタグ32におい
て、第7図の有効ビットb2をオフする。
これと共に、CPUキャッシュ制御部33は、管理機構
22の2ndキャッシュ制御部43に対して、CPUア
ドレスa1に基づ<2ndタグアドレスa4に対応する
2ndキヤツシユのタグ42の有効ビットb5をオフす
るよう指示する。
22の2ndキャッシュ制御部43に対して、CPUア
ドレスa1に基づ<2ndタグアドレスa4に対応する
2ndキヤツシユのタグ42の有効ビットb5をオフす
るよう指示する。
更に、CPUキャッシュ制御部33は、2ndキャッシ
ュ制御部43に対して、共有状態にある他のプロセッサ
21の無効化を行うよう指示する。
ュ制御部43に対して、共有状態にある他のプロセッサ
21の無効化を行うよう指示する。
これにより、2ndキャッシュ制御部43は、ライトア
クセス時のケース9又はケース10の場合のようにして
、自管理機構22内の他のプロセッサ21又は他の管理
機構22に対して無効化の処理を行う。
クセス時のケース9又はケース10の場合のようにして
、自管理機構22内の他のプロセッサ21又は他の管理
機構22に対して無効化の処理を行う。
上述の動作により、対象ウェイを空きウェイとすること
ができる。それ以後の動作は、ケース1の場合と同様で
ある。
ができる。それ以後の動作は、ケース1の場合と同様で
ある。
以上、本発明の一実施例につき説明したが、上述の無矛
盾化処理に限られるものではなく、本発明では、様々な
無矛盾化処理を採用することができる。この場合、第9
図の2ndキヤツシユのタグ42上に、CPUキャッシ
ュ31のウェイを特定するための有効ビットb3とウェ
イ番号d7と同じ機能を有する情報を少な(とも付加す
れば、そのほか様々な制御用のビットを付加させること
ができる。
盾化処理に限られるものではなく、本発明では、様々な
無矛盾化処理を採用することができる。この場合、第9
図の2ndキヤツシユのタグ42上に、CPUキャッシ
ュ31のウェイを特定するための有効ビットb3とウェ
イ番号d7と同じ機能を有する情報を少な(とも付加す
れば、そのほか様々な制御用のビットを付加させること
ができる。
また、上述の実施例では、第2図の2ndキヤツシユ装
置28のウェイ数は1ウエイであったが、これに限られ
るものではなく、任意のウェイ数で構成することができ
る。
置28のウェイ数は1ウエイであったが、これに限られ
るものではなく、任意のウェイ数で構成することができ
る。
本発明によれば、管理手段内に、第1キャッシュ位置情
報を記憶した第2タグ手段を設けることにより、第2タ
グ手段をどのようなウェイ構成にしても、自プロセッサ
群内の任意のプロセッサの第1キャッシュ手段上のデー
タを、管理手段側から一意に把握することが可能となる
。
報を記憶した第2タグ手段を設けることにより、第2タ
グ手段をどのようなウェイ構成にしても、自プロセッサ
群内の任意のプロセッサの第1キャッシュ手段上のデー
タを、管理手段側から一意に把握することが可能となる
。
これにより、第2タグ手段は、任意のウェイ構成をとる
ことができるため、物理的に少ないメモリチップで構成
することができ、管理手段の部分のハードウェア構成を
小型化することが可能となる。
ことができるため、物理的に少ないメモリチップで構成
することができ、管理手段の部分のハードウェア構成を
小型化することが可能となる。
また、このように任意のウェイ構成にできる結果、管理
手段内に第2キャッシュ手段を設けた場合に、上述の第
2タグ手段を第2キャッシュ手段用のタグと共通化する
ことができる。これにより、第2キャッシュ手段の構成
の自由度を高めることができ、また、管理手段における
制御を簡略化することが可能となる。
手段内に第2キャッシュ手段を設けた場合に、上述の第
2タグ手段を第2キャッシュ手段用のタグと共通化する
ことができる。これにより、第2キャッシュ手段の構成
の自由度を高めることができ、また、管理手段における
制御を簡略化することが可能となる。
第1図(a)、(b)は、本発明のブロック図、第2図
は、本発明の実施例の全体構成図、第3図は、CPUキ
ャッシュ装置の構成図、第4図は、2ndキヤツシユ装
置の構成図、第5図は、本実施例におけるアドレス構成
図、第6図(a)〜(C)は、本実施例におけるメモリ
マツピングを示した図、 第7図は、CPUキャッシュのタグのデータ構成図、 第8図は、CPUキャッシュのデータ構成図、第9図は
、2ndキヤツシユのタグのデータ構成図、 第10図は、2ndキヤツシユのデータ構成図、第11
図(a)〜(C)は、本実施例の状態遷移を示した図、 第12図は、ハスモニタリングの状態遷移を示した図、 第13図は、置換処理の状態遷移を示した図、第14図
は、第1の従来例の構成図、 第15図は、第2の従来例の構成図、 第16図は、第2の従来例におけるプロセッサ内キャッ
シュ装置の構成図、 第17図は、第2の従来例における管理機構内タグの構
成図である。 101・・・プロセッサ、 102・・・管理手段、 103・・・プロセッサ群、 104・・・共有バス、 105・・・主記憶装置、 106・・・第1タグ手段、 107・・・第1キャッシュ手段、 108・・・第2タグ手段、 109・・・第2キャッシュ手段、 110・・・第1アドレス情報、 111・・・データ、 112・・・第1キャッシュ位置情報、113・・・第
2アドレス情報。 特許出願人 富士通株式会社
は、本発明の実施例の全体構成図、第3図は、CPUキ
ャッシュ装置の構成図、第4図は、2ndキヤツシユ装
置の構成図、第5図は、本実施例におけるアドレス構成
図、第6図(a)〜(C)は、本実施例におけるメモリ
マツピングを示した図、 第7図は、CPUキャッシュのタグのデータ構成図、 第8図は、CPUキャッシュのデータ構成図、第9図は
、2ndキヤツシユのタグのデータ構成図、 第10図は、2ndキヤツシユのデータ構成図、第11
図(a)〜(C)は、本実施例の状態遷移を示した図、 第12図は、ハスモニタリングの状態遷移を示した図、 第13図は、置換処理の状態遷移を示した図、第14図
は、第1の従来例の構成図、 第15図は、第2の従来例の構成図、 第16図は、第2の従来例におけるプロセッサ内キャッ
シュ装置の構成図、 第17図は、第2の従来例における管理機構内タグの構
成図である。 101・・・プロセッサ、 102・・・管理手段、 103・・・プロセッサ群、 104・・・共有バス、 105・・・主記憶装置、 106・・・第1タグ手段、 107・・・第1キャッシュ手段、 108・・・第2タグ手段、 109・・・第2キャッシュ手段、 110・・・第1アドレス情報、 111・・・データ、 112・・・第1キャッシュ位置情報、113・・・第
2アドレス情報。 特許出願人 富士通株式会社
Claims (1)
- 【特許請求の範囲】 1)複数(#1〜#m)のプロセッサ(101)が管理
手段(102)に収容されるプロセッサ群(103)が
、主記憶装置(105)が接続される共有バス(104
)により複数(#1〜#p)組相互に接続される構成を
有し、前記各プロセッサ(101)内に、前記主記憶装
置(105)上の一部のデータ(111)を一時記憶す
る第1キャッシュ手段(107)と、該第1キャッシュ
手段に記憶される各データ(111)に対応して該各デ
ータが前記主記憶装置(105)上のどのデータに対応
するかを示すアドレス情報(110)を記憶する第1タ
グ手段(106)とを有するマルチプロセッサシステム
において、前記各管理手段(102)内に、自プロセッ
サ群(103)内の任意の前記プロセッサ(101)の
第1タグ手段(106)によって指示される各データ(
111)に対応して、該各データが自プロセッサ群(1
03)内のどのプロセッサ(101)の前記第1キャッ
シュ手段(107)に存在するかを示す第1キャッシュ
位置情報(112)を記憶する第2タグ手段(108)
を有し、前記各管理手段(102)は任意の前記プロセ
ッサ(101)内の第1キャッシュ手段(107)の内
容の更新に伴って前記第2タグ手段(108)上の対応
する第1キャッシュ位置情報(112)を更新する、こ
とを特徴とするキャッシュメモリの制御方式。 2)複数(#1〜#m)のプロセッサ(101)が管理
手段(102)に収容されるプロセッサ群(103)が
、主記憶装置(105)が接続される共有バス(104
)により複数(#1〜#p)組相互に接続される構成を
有し、前記各プロセッサ(101)内に、前記主記憶装
置(105)上の一部のデータ(111)を一時記憶す
る第1キャッシュ手段(107)と、該第1キャッシュ
手段に記憶される各データ(111)に対応して該各デ
ータが前記主記憶装置(105)上のどのデータに対応
するかを示す第1アドレス情報(110)を記憶する第
1タグ手段(106)とを有するマルチプロセッサシス
テムにおいて、 前記各管理手段(102)内に、 前記主記憶装置(105)上の一部のデータ(114)
を一時記憶する第2キャッシュ手段(109)と、該第
2キャッシュ手段に記憶される各データ(114)に対
応して、該各データが前記主記憶装置(105)上のど
のデータに対応するかを示す第2アドレス情報(113
)と、該各データが自プロセッサ群(103)内のどの
プロセッサ(101)の第1キャッシュ手段(107)
に存在するかを示す第1キャッシュ位置情報(112)
と、を記憶する第2タグ手段(108)を有し、 前記各管理手段(102)は任意の前記第1又は第2キ
ャッシュ手段(107、109)の内容の更新に伴って
前記第2タグ手段(108)上の対応する第1キャッシ
ュ位置情報(112)を更新する、 ことを特徴とするキャッシュメモリの制御方式。 3)前記第1タグ手段(106)及び前記第1キャッシ
ュ手段(107)は、前記主記憶装置(105)上の同
一のアドレス領域の複数のデータを、セットアソシエイ
ティブ方式に基づき同時に記憶する複数ウエイ(#1〜
#q)のキャッシュ手段及びそれに対応するタグ手段か
ら構成され、 自プロセッサ群(103)内の任意の前記プロセッサ(
101)の第1タグ手段(106)によって指示される
各データ(111)に対応して前記第2タグ手段(10
8)に記憶される前記第1キャッシュ位置情報(112
)は、該各データ(111)が自プロセッサ群(103
)内のどのプロセッサ(101)のどのウエイの前記第
1キャッシュ手段(107)に存在するかを示す情報で
ある、 ことを特徴とする請求項1又は2記載のキャッシュメモ
リの制御方式。 4)前記第1タグ手段は、前記第1キャッシュ手段に記
憶される各データに対応して、前記第1アドレス情報の
ほかに、少なくとも、該各データが有効か否かを示す有
効情報と、該各データが自プロセッサ以外の前記プロセ
ッサと共有されているか否かを示す共有情報とを記憶し
、 前記第2タグ手段は、前記第2キャッシュ手段に記憶さ
れる各データに対応して、前記第2アドレス情報及び前
記第1キャッシュ位置情報のほかに、少なくとも、該各
データが有効か否かを示す有効情報と、該各データが自
プロセッサ群内のいずれか2つ以上のプロセッサで共有
されているか否かを示す管理機構内共有情報と、該各デ
ータが他プロセッサ群と共有されているか否かを示す他
管理機構共有情報と、該各データがどの他プロセッサ群
と共有されているかを示す管理機構有効情報と、該各デ
ータが自プロセッサ群内のいずれかのプロセッサで更新
されているか否かを示す更新情報と、該各データが前記
主記憶装置上の対応するデータに対して更新されている
か否かを示す主記憶不一致情報と、を有する、 ことを特徴とする請求項2又は3記載のキャッシュメモ
リの制御方式。 5)前記第1タグ手段は、前記第1キャッシュ手段に記
憶される各データに対応して、前記第1アドレス情報の
ほかに、前記第2キャッシュ手段上のどのデータに対応
しているかを示す第2キャッシュ位置情報を有すること
を特徴とする請求項2、3又は4記載のキャッシュメモ
リの制御方式。 6)前記主記憶装置上のアドレスを示すB1ビットのリ
ニアアドレスがB2ビットのブロック内アドレスとB3
ビットの第1タグアドレスとB4ビットの第1タグデー
タとに分割された場合に、前記第1キャッシュ手段の前
記第1タグアドレスで指定されるアドレスには、前記主
記憶装置上の一部のデータとして前記第1タグアドレス
と前記第1タグデータとで定まる2^B^2個のデータ
の集まりであるブロックデータが記憶され、前記第1タ
グ手段の前記第1タグアドレスで指定されるアドレスに
は、前記第1アドレス情報として前記第1タグデータが
記憶され、 前記B1ビットのリニアアドレスが前記B2ビットのブ
ロック内アドレスとB5ビットの第2タグアドレスとB
6ビットの第2タグデータとに分割された場合に、前記
第2キャッシュ手段の前記第2タグアドレスで指定され
るアドレスには、前記主記憶装置上の一部のデータとし
て前記第2タグアドレスと前記第2タグデータとで定ま
る前記2^B^2個のデータの集まりであるブロックデ
ータが記憶され、前記第2タグ手段の前記第2タグアド
レスで指定されるアドレスには、前記第2アドレス情報
として前記第2タグデータが記憶される、 ことを特徴とする請求項2、3、4又は5記載のキャッ
シュメモリの制御方式。 7)前記主記憶装置上のアドレスを示すB1ビットのリ
ニアアドレスが下位ビット側から順にB2ビットのブロ
ック内アドレスとB3ビットの第1タグアドレスとB4
ビットの第1タグデータとに分割された場合に、前記第
1キャッシュ手段の前記第1タグアドレスで指定される
アドレスには、前記主記憶装置上の一部のデータとして
前記第1タグアドレスと前記第1タグデータとで定まる
2^B^2個のデータの集まりであるブロックデータが
記憶され、前記第1タグ手段の前記第1タグアドレスで
指定されるアドレスには、前記第1アドレス情報として
前記第1タグデータが記憶され、 前記B1ビットのリニアアドレスが下位ビット側から順
に前記B2ビットのブロック内アドレスとB5ビットの
第2タグアドレスとB6ビットの第2タグデータとに分
割された場合に、前記第2キャッシュ手段の前記第2タ
グアドレスで指定されるアドレスには、前記主記憶装置
上の一部のデータとして前記第2タグアドレスと前記第
2タグデータとで定まる前記2^B^2個のデータの集
まりであるブロックデータが記憶され、前記第2タグ手
段の前記第2タグアドレスで指定されるアドレスには、
前記第2アドレス情報として前記第2タグデータが記憶
され、 前記第2タグアドレスのビット数B6は、前記第1タグ
アドレスのビット数B3に比較して、前記各プロセッサ
群内のプロセッサの数と前記各プロセッサ内の前記第1
キャッシュ手段のウエイ数とを乗算した数値を表現可能
なビット数以上多いビット数に設定される、ことを特徴
とする請求項3、4又は5記載のキャッシュメモリの制
御方式。 8)前記第2キャッシュ位置情報は、前記B6ビットの
第2タグアドレスのうち、前記第1タグアドレスに対応
する下位B3ビットを除いたビット部分のデータである
ことを特徴とする請求項7記載のキャッシュメモリの制
御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2147434A JPH04174042A (ja) | 1990-06-07 | 1990-06-07 | マルチプロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2147434A JPH04174042A (ja) | 1990-06-07 | 1990-06-07 | マルチプロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04174042A true JPH04174042A (ja) | 1992-06-22 |
Family
ID=15430243
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2147434A Pending JPH04174042A (ja) | 1990-06-07 | 1990-06-07 | マルチプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04174042A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007505407A (ja) * | 2003-09-12 | 2007-03-08 | インテル コーポレイション | マルチインタフェースキャッシュにおけるジョイントコヒーレンシ状態のための方法及び装置 |
| JP2007193805A (ja) * | 2006-01-18 | 2007-08-02 | Internatl Business Mach Corp <Ibm> | デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法 |
| JP2008525901A (ja) * | 2004-12-27 | 2008-07-17 | インテル・コーポレーション | 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測 |
| JP2010282520A (ja) * | 2009-06-08 | 2010-12-16 | Nec Corp | コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法 |
| JP2011065574A (ja) * | 2009-09-18 | 2011-03-31 | Fujitsu Ltd | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
-
1990
- 1990-06-07 JP JP2147434A patent/JPH04174042A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007505407A (ja) * | 2003-09-12 | 2007-03-08 | インテル コーポレイション | マルチインタフェースキャッシュにおけるジョイントコヒーレンシ状態のための方法及び装置 |
| JP2008525901A (ja) * | 2004-12-27 | 2008-07-17 | インテル・コーポレーション | 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測 |
| JP2007193805A (ja) * | 2006-01-18 | 2007-08-02 | Internatl Business Mach Corp <Ibm> | デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法 |
| JP2010282520A (ja) * | 2009-06-08 | 2010-12-16 | Nec Corp | コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法 |
| US8578103B2 (en) | 2009-06-08 | 2013-11-05 | Nec Corporation | Coherency control system, coherency control apparatus and coherency control method |
| JP2011065574A (ja) * | 2009-09-18 | 2011-03-31 | Fujitsu Ltd | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6460114B1 (en) | Storing a flushed cache line in a memory buffer of a controller | |
| US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
| JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
| JP2822588B2 (ja) | キャッシュメモリ装置 | |
| US6023747A (en) | Method and system for handling conflicts between cache operation requests in a data processing system | |
| JPH0364893B2 (ja) | ||
| CN101593161A (zh) | 确保微处理器的快取存储器层级数据一致性的装置与方法 | |
| JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
| JPS589277A (ja) | デ−タ処理装置 | |
| JPH0340046A (ja) | キャッシュメモリ制御方式および情報処理装置 | |
| JPH04205041A (ja) | マルチプロセッサシステム | |
| EP1224553A1 (en) | Multi-processor system and method of accessing data therein | |
| JP2008512758A (ja) | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 | |
| JPH04174042A (ja) | マルチプロセッサシステム | |
| JPH03172947A (ja) | マイクロコンピュータ・システム | |
| US6901450B1 (en) | Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors | |
| US20060015689A1 (en) | Implementation and management of moveable buffers in cache system | |
| WO2006024323A1 (en) | A virtual address cache and method for sharing data using a unique task identifier | |
| US10565111B2 (en) | Processor | |
| US6249843B1 (en) | Store instruction having horizontal memory hierarchy control bits | |
| JPS5928287A (ja) | キヤツシユバツフア制御装置 | |
| JP2003316756A (ja) | 分散共有メモリ型マルチプロセッサシステム及びそれに用いるタグ制御方法 | |
| JPH01106149A (ja) | 情報処理装置 | |
| JPH06149752A (ja) | 並列計算機のバリア同期方式 | |
| JPS5927994B2 (ja) | コンピユ−タシステム |