| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
シミュレータのサンプルとして提供されているisis_sncache_illinois
は、複数のR3081プロセッサを共有バスで結合した、バス結合型並列計算機シ
ミュレータである。illinoisプロトコルによるスヌープキャッシュを持つ。こ
こではスヌープキャッシュの実装について述べる。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
シミュレータisis_sncache_illinoisは、以下のクラスを用いて実装さ
れている。
cache_line_illinoisクラス
cache_line_baseクラスの派生クラスである。
bus_packet_sharedクラス
bus_packet_baseクラスの派生クラスで、キャッシュ一致プロトコル用
のバスパケットを表すパケットクラスである。
bus_port_sharedクラス
bus_port_baseクラスの派生クラスで、キャッシュ一致プロトコル用の
バスポートを表すポートクラスである。bus_packet_sharedクラスへの
インタフェース的な役割を果たす。
cache_controller_localクラス
synchronous_unitクラスの派生クラスではない。
cache_controller_sharedクラス
synchronous_unitクラスの派生クラス
ではない。
cache_controllerクラス
synchronous_unitの派生クラスである。
set_associative_cache クラスのオブジェクト、ローカルバスと共有
バスを接続することで動作可能になる。
snoop_cache_elementクラス
snoop_cacheクラス
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Illinoisプロトコル用のキャッシュラインを表すクラス。
cache_line_baseクラスの派生クラスである。キャッシュラインの状態
はINVALID, CE(Clean Exclusive), CS(Clean Shared), D(Dirty)の4状態であ
る。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
bus_packet_baseクラスの派生クラスで、キャッシュ一致プロトコル用
のバスパケットを表すパケットクラスである。一部のキャッシュ一致プロトコ
ル用のパケット以外はbus_packetクラスとまったく同一のパケットを
使用する。See section bus_packet class.
追加されているパケットを以下に示す。
INV_REQ
LINE_COPY_REQ
LINE_COPY_ACK
LINE_MOVE_REQ
LINE_MOVE_ACK
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
bus_port_baseクラスの派生クラスで、Illinoisプロトコル用のバスポー
トを表すポートクラスである。bus_packet_illinoisクラスへのインタ
フェース的な役割を果たす。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ローカルバスコントローラクラスcache_controller_localのオブジェ
クトと共有バスコントローラクラスcache_controller_sharedのオブジェ
クトを内包する、キャッシュコントローラ全体を表すクラスである。キャッシュ
そのものは内包しない。synchronous_unitの派生クラスである。
set_associative_cacheクラスのオブジェクト、ローカルバスと共有バ
スを接続することで動作可能になる。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
スヌープキャッシュを持つプロセシングエレメントを表すクラスである。
r3081_processing_elementクラスの派生クラスで、スヌープキャッシュ
コントローラを追加した以外の変更点はない。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
snoop_cache_elementクラスのプロセシングエレメントを複数、共有バ
スと共有メモリを持つ並列計算機である。
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |