[ < ] | [ > ] | [ << ] | [ 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] | [ ? ] |