勉強会その5    2016/6/15 マルチコア/マルチプロセッサ キャッシュコヒーレンス 10 8分35秒.

Slides:



Advertisements
Similar presentations
トークンリングについて 保坂幸佑. トークンリングとは・・・ トークンリング。 Token Ring 。 媒体アクセス制御方式 として、トークンパッシング方式を使う LAN 。 IBM 社 が開発し、米国で普及したもの。 その後、 IEEE802.5 として標準化されている。 トークンリング。 Token.
Advertisements

第3回 並列計算機のアーキテクチャと 並列処理の実際
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
メモリコンシステンシモデル memory consistency model
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
CPUについて HN:セシル.
Chapter11-4(前半) 加藤健.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ネットワーク技術II 第8.2課 イーサネット・スイッチング
計算機システムⅡ 主記憶装置とALU,レジスタの制御
高性能コンピューティング論2 第12回 アクセラレータ
テープ(メモリ)と状態で何をするか決める
Rearrangeable NoC: 配線遅延を考慮した分散ルータ アーキテクチャ
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
発表の流れ 研究背景 マルチテナント型データセンタ 関連研究 IPマルチキャスト ユニキャスト変換手法 提案手法 性能評価.
小型デバイスからのデータアクセス 情報処理系論 第5回.
センサノード 時刻同期と位置測定 浅川 和久 2008/11/16 センサノード 時刻同期と位置測定.
高性能コンピューティング論2 第1回 ガイダンス
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
ネットワーク機器接続 2SK 情報機器工学.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
「コンピュータと情報システム」 06章 通信ネットワーク
イーサネットについて 飯塚務.
Copyright Yumiko OHTAKE
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
・ディジタル回路とクロック ・プロセッサアーキテクチャ ・例外処理 ・パイプライン ・ハザード
全体ミーティング 金田憲二.
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
勉強会その3    2016/5/1 10 8分35秒 データの表現 演算.
11. マルチスレッド・プロセッサ 五島 正裕.
梅澤威志 隣の芝は茶色いか 梅澤威志
リモートホストの異常を検知するための GPUとの直接通信機構
10. マルチスレッド・プロセッサ 五島 正裕.
Advanced Computer Architecture
九州大学情報基盤研究開発センター長 青柳 睦
Ibaraki Univ. Dept of Electrical & Electronic Eng.
各種ルータに対応する P2P通信環境に関する研究
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
「コアの数なんて どうでもいい」 五島 正裕(東大).
航空エンジンの翼列周り流れ解析のメニーコアシステム向け最適化
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
慶應義塾大学理工学部 天野英晴 共有メモリ型計算機  慶應義塾大学理工学部 天野英晴
VMMのソフトウェア若化を考慮した クラスタ性能の比較
Ibaraki Univ. Dept of Electrical & Electronic Eng.
目的:高速QR分解ルーチンのGPUクラスタ実装
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
勝手にインフラ隊 (の中の人といっしょ) に学ぶネットワーク講座 Part2
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
勝手にインフラ隊 (の中の人といっしょ) に学ぶネットワーク講座 Part2
Mondriaan Memory Protection の調査
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
SpectreとMeltdown ITソリューション塾・第27期 2018年3月20日 株式会社アプライド・マーケティング 大越 章司
コンピュータアーキテクチャ 第 9 回.
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
Ibaraki Univ. Dept of Electrical & Electronic Eng.
分散メモリ型並列計算機上での行列演算の並列化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

勉強会その5    2016/6/15 マルチコア/マルチプロセッサ キャッシュコヒーレンス 10 8分35秒

情報システム基盤学基礎1 本日の講義内容 マルチコア/マルチプロセッサ キャッシュコヒーレンス

情報システム基盤学基礎1 マルチコア/マルチプロセッサ

逐次処理と並列処理 逐次処理 並列処理 複数の処理(プロセス,スレッド)を順に実行 ハードウェアは1台 情報システム基盤学基礎1 逐次処理と並列処理 逐次処理 複数の処理(プロセス,スレッド)を順に実行 ハードウェアは1台 並列処理 複数の処理(プロセス,スレッド)を並列に実行 (普通は)ハードウェアは複数台 処理4 処理3 処理2 処理1 HW [ 逐次処理 ] 処理4 処理3 処理2 処理1 HW HW HW HW [ 並列処理 ]

[ flowCart(オイラー方程式のソルバ)のスケーラビリティ ] 情報システム基盤学基礎1 並列処理のニーズ 科学技術計算(昔も今も) アプリケーションを並列化 並列処理を行うことで高速化 スーパーコンピュータを中心に 並列処理技術が発展 ユーザ行動やアプリの変化(ここ10年) ユーザが複数アプリを同時に稼働 例: iTunes で音楽を聴きながら    Word で文書作成 アプリの並列化が進んだ 例: Chrome はタブ毎にスレッドを生成 今は PC でも並列処理が当然の時代 [ flowCart(オイラー方程式のソルバ)のスケーラビリティ ] (http://people.nas.nasa.gov/aftosmis/cart3d/images/SGchapman_scale.gif) [ PC で稼働するプロセスの例 ]

並列処理とマルチタスク 並列処理 マルチタスク 複数の処理を同時並列に実行 (普通は)ハードウェアは複数台 複数の処理を時分割で実行 情報システム基盤学基礎1 並列処理とマルチタスク 並列処理 複数の処理を同時並列に実行 (普通は)ハードウェアは複数台 マルチタスク 複数の処理を時分割で実行 ハードウェアは1台 複数台存在するかのように見せかけている 処理4 処理3 処理2 処理1 HW HW HW HW [ 並列処理 ] 処理4 処理3 処理2 処理1 HW [ マルチタスク ]

並列処理を行うシステム マルチプロセッサ マルチコア ハードウェアマルチスレッディング 複数プロセッサからなるコンピュータ 主にサーバで使用 情報システム基盤学基礎1 並列処理を行うシステム マルチプロセッサ 複数プロセッサからなるコンピュータ 主にサーバで使用 マルチコア 複数コアを搭載したプロセッサ 最近はほとんどのプロセッサがマルチコア ハードウェアマルチスレッディング 1つのコア(小さなプロセッサ)上で複数の処理を実行する技術 一部の技術は PC/サーバ向けのプロセッサにおいて標準的に採用

マルチプロセッサ 複数のプロセッサによって構成 されたコンピュータシステム プロセッサ間をネットワーク (例: Ethernet)により接続 情報システム基盤学基礎1 マルチプロセッサ 複数のプロセッサによって構成 されたコンピュータシステム 例: スーパーコンピュータ,PC クラスタ 現在(2015年6月調べ)世界最速のシステムは 16,000個のプロセッサを搭載 プロセッサはマルチコアな場合がほとんど プロセッサ間をネットワーク (例: Ethernet)により接続 メモリの構成方法,システムの対称性,命令とデータの流れに応じていくつかのタイプに分類 [ PCクラスタ ]

メモリ構成の違いによるマルチプロセッサの分類 情報システム基盤学基礎1 メモリ構成の違いによるマルチプロセッサの分類 プロセッサ 共有メモリ メインメモリ(物理メモリ空間)をプロセッサ間で共有 共有データへのアクセスは 単なるメモリアクセス 分散メモリ メインメモリ(物理メモリ空間)がプロセッサによって異なる 共有データへのアクセスには明示的なデータ転送が必要 メモリ [ 共有メモリシステム ] ネットワーク [ 分散メモリシステム ]

対称性による分類 対称型マルチプロセッサ 非対称なシステム どのプロセッサも同じ性能を有するシステム 情報システム基盤学基礎1 対称性による分類 対称型マルチプロセッサ どのプロセッサも同じ性能を有するシステム CPU性能,メモリ性能 例: Sun Microsystems社 UltraSPARC 非対称なシステム プロセッサによって性能や機能が異なるシステム 非対称型マルチプロセッサ 例: DEC社 VAX-11/782 2つのプロセッサからなるシステム 1番目のプロセッサはI/Oアクセス可能だが,2番目は不可 NUMA(Non-Uniform Memory Access)型 メモリをいくつかのバンク(小片)に分割 プロセッサからの距離に応じてメモリのアクセスレイテンシが異なる プロセッサ [ NUMA型アーキテクチャ ] メモリ バンク 共有メモリ

命令流とデータ流による分類 命令流/データ流 計4通り(2×2)の組み合わせが存在 1つ(Single Instruction/Data) 情報システム基盤学基礎1 命令流とデータ流による分類 命令流/データ流 1つ(Single Instruction/Data) 複数(Multiple Instruction/Data) 計4通り(2×2)の組み合わせが存在 SISD型 命令列は1つ.命令はスカラデータを操作 例: シングルコアのシングルプロセッサ SIMD型: 命令列は1つ.命令はベクトルデータを操作 例: GPU,ベクトルコンピュータ など MISD型: フォールトトレラントなシステム.あまり一般的でない MIMD型: 命令列が複数.各命令が別のデータを操作 例: 普通のマルチコア/マルチプロセッサ

GPU のアーキテクチャ SIMD 型 CUDAコア 1命令が32個のデータに対するベクトル演算を実行 演算器のこと 情報システム基盤学基礎1 GPU のアーキテクチャ SIMD 型 1命令が32個のデータに対するベクトル演算を実行 ベクトル演算: ベクトルの各要素に対して行う同一の演算 例: c [ i ] = a [ i ] + b [ i ] CUDAコア 演算器のこと 以降のスライドの「コア」とは別物 [ NVIDIA社 Fermi アーキテクチャのブロック図 ]

L1I: 1次命令キャッシュ,L1D: 1次データキャッシュ,L2C: 2次キャッシュ,L3C: 3次キャッシュ 情報システム基盤学基礎1 マルチコア L1I: 1次命令キャッシュ,L1D: 1次データキャッシュ,L2C: 2次キャッシュ,L3C: 3次キャッシュ Core Core Core Core Core Core Core Core L1I L1D L1I L1D L1I L1D L1I L1D L1I L1D L1I L1D L1I L1D L1I L1D 複数のコアを1チップに搭載 コア 小さなプロセッサ (1次)キャッシュを搭載 コア数は 2~72 個ほど 各コアはメインメモリを共有 最下位キャッシュも共有する ケースが多い L2C L2C L2C L2C L2C L2C L2C L2C L3C メモリ [ IBM社 POWER7 プロセッサのブロック図 ] (http://www.intel.com/content/www/us/en/processors/xeon/ xeon-phi-coprocessor-block-diagram.html より)

マルチコア誕生の背景 2000年代半ばまでのプロセッサは レイテンシ志向 スループット志向プロセッサへの転換 ただし,最近はコアがまた大型化 情報システム基盤学基礎1 マルチコア誕生の背景 2000年代半ばまでのプロセッサは レイテンシ志向 コアの性能をとにかく上げる 複雑なアーキテクチャの導入 パイプライン化してクロック周波数を上げる コアの肥大化 ⇒ 消費電力の増加 スループット志向プロセッサへの転換 コアを小さくしてコアあたりの消費電力を抑制 代わりに複数のコアを1チップに搭載 ただし,最近はコアがまた大型化 半導体プロセスの進歩のおかげ? [ Intel Pentium 4 プロセッサ(Prescott)のブロック図 ] (http://www.atmarkit.co.jp/fsys/kaisetsu/034prescott/prescott_01.html より) [ Intel Core アーキテクチャのブロック図 ] (http://pc.watch.impress.co.jp/docs/2006/0311/kaigai249.htm より)

マルチコアの普及 スーパーコンピュータは多数のコアからなるプロセッサを採用 2000年代半ばから PC のマルチコア化 情報システム基盤学基礎1 マルチコアの普及 スーパーコンピュータは多数のコアからなるプロセッサを採用 世界の TOP 500 に入るシステム(2015年6月調べ)のうち, 97% のシステムが 6 コア以上のプロセッサを搭載 87.8% のシステムが 8 コア以上のプロセッサを搭載 2000年代半ばから PC のマルチコア化 今では 2~4 コア程度のプロセッサが一般的 シングルコアのプロセッサは PC では見かけない パーソナルモバイルデバイスもマルチコア化 Samusung社の Galaxy Note 4 は 2.7GHz で動作するコアを4つ搭載

ハードウェアマルチスレッディング 1つのコア上で複数のスレッド(処理)を実行する技術 マルチタスクとの違い さまざまな方式が存在 情報システム基盤学基礎1 ハードウェアマルチスレッディング 1つのコア上で複数のスレッド(処理)を実行する技術 マルチタスクとの違い マルチタスクは OS がプロセスを切り替える ハードウェアマルチスレッディングはハードウェアが複数スレッドの実行を実現する さまざまな方式が存在 粗粒度マルチスレッディング 細粒度マルチスレッディング SMT(Simultaneous Multi-Threading) 以降のスライドでそれぞれの概念を説明 詳細は「高性能コンピューティング論2」で

粗粒度マルチスレッディング 複数のコンテキストを保持するためのハードウェアを用意 動作 採用例: Intel 社の Montecite 情報システム基盤学基礎1 粗粒度マルチスレッディング 複数のコンテキストを保持するためのハードウェアを用意 コンテキスト = プログラムの実行状態(レジスタ,PC など) 各スレッドは別々のハードウェアに自身のコンテキストを保存 動作 ある1つのスレッドを実行開始 パイプラインが長時間停止するイベント (例: 最下位キャッシュミスなど)が発生 したら,実行するスレッドを変更 イベントが解決したら(例: 要求データが メモリから届いたら),実行するスレッドを 再度変更し,最初のスレッドの実行を再開 採用例: Intel 社の Montecite PC1 レジスタ ファイル1 PC1 レジスタ ファイル1 Core PC2 レジスタ ファイル2 PC2 レジスタ ファイル2 1次キャッシュ 2次キャッシュ メモリアクセス発生 メモリ [ 粗粒度マルチスレッディング ]

細粒度マルチスレッディング 複数のコンテキストを保持するためのハードウェアを用意 実行するスレッドをサイクル単位で変更 情報システム基盤学基礎1 細粒度マルチスレッディング 複数のコンテキストを保持するためのハードウェアを用意 実行するスレッドをサイクル単位で変更 採用例: Sun 社の UltraSPARC T1 サイクル2 サイクル1 サイクル3 PC1 レジスタ ファイル1 PC1 レジスタ ファイル1 Core PC2 レジスタ ファイル2 PC2 レジスタ ファイル2 1次キャッシュ 2次キャッシュ メモリ [ 粗粒度マルチスレッディング ]

SMT 複数スレッドの命令を同時に実行する技術 Intel 社の Hyper Threading Out-of-Order スーパスカラ 情報システム基盤学基礎1 SMT 複数スレッドの命令を同時に実行する技術 Out-of-Order スーパスカラ プログラム上での順序を無視して実行可能な命令から実行を開始する技術 詳細は「高性能コンピューティング論2」で スレッドの違いを無視して実行可能な命令から実行を開始 Intel 社の Hyper Threading PC1 レジスタ ファイル1 Core PC2 レジスタ ファイル2 演算器 1次キャッシュ 2次キャッシュ メモリ [ SMT ]

ネットワーク オンチップネットワーク オフチップネットワーク インターコネクションネットワーク コア間を接続 チップ内配線 情報システム基盤学基礎1 ネットワーク オンチップネットワーク コア間を接続 チップ内配線 オフチップネットワーク プロセッサ間を接続 金属配線,TSV,TCI など インターコネクションネットワーク ノード間を接続 Ethernet, InfiniBand, Fiber Channel など

ネットワークトポロジ ネットワークを無向グラフで表現 グラフの形状 = ネットワークトポロジ トポロジに関する用語 情報システム基盤学基礎1 ネットワークトポロジ ノード ネットワークを無向グラフで表現 ノード: コア,プロセッサ,メモリ,ルータなど エッジ: リンク グラフの形状 = ネットワークトポロジ トポロジに関する用語 次数: ノードに接続するエッジの数(例: Aの次数は2) 距離: 2ノード間を結ぶ最短経路におけるエッジの数     (例:A-D間の距離は3) 直径: グラフの最大ノード間距離(例: 上記のリングの直径は4) エッジ A H B G C F D E [ リングトポロジ ]

ネットワークの性能 通信レイテンシ 通信バンド幅 送信元がデータを送ってから受信元がデータを受信するまでの時間 情報システム基盤学基礎1 ネットワークの性能 通信レイテンシ 送信元がデータを送ってから受信元がデータを受信するまでの時間 距離やネットワークの混雑具合に依存 通信バンド幅 ネットワークバンド幅 (リンク1本のバンド幅) × (リンク数) (例: 右のリングのネットワークバンド幅は 8Gb/s) 理論ピーク性能を表す バイセクションバンド幅 最も性能が悪くなるようにノードを2つのグループに 分割した時の,グループをまたぐ通信のバンド幅 (例: 右のリングのバイセクションバンド幅は 2Gb/s) 最悪ケースのバンド幅とほぼ等しい ノード エッジ(1Gb/s) A H B G C F D E [ リングトポロジ ]

ネットワークの種類 共有媒体網 直接網 間接網 ハイブリッド網 ノードは共有媒体を介して接続 例: 共有バス ノードがルータを内蔵 情報システム基盤学基礎1 ネットワークの種類 共有媒体網 ノードは共有媒体を介して接続 例: 共有バス 直接網 ノードがルータを内蔵 リンクによりノード同士を直接接続 例: リング,メッシュ,トーラスなど 間接網 ノードはルータを内蔵しない スイッチを介してノードを間接的に接続 例: クロスバなど ハイブリッド網 上記のネットワークを組み合わせたもの 共有バス [ 共有バス ] [ メッシュ ] [ トーラス ] スイッチ A B C D A B C D [ クロスバ ]

ルーティング パケット ルーティング デッドロック データ転送の単位 元データを適当なサイズに分割 情報システム基盤学基礎1 ルーティング 受信先 パケット データ転送の単位 元データを適当なサイズに分割 ルーティング 送信ノードから宛先ノードまでパケットを転送する際の経路を定めること 例: まず X 方向に移動,次に Y 方向に移動 デッドロック パケットが解放される見込みのない資源を 要求し続けている状態 永久に転送不可能 送信元 [ ルーティングの例 ] To: C A To: B To: D H B To: A G C To: E F D To: H To: F E To: G [ デッドロックの例 ]

情報システム基盤学基礎1 キャッシュコヒーレンス

キャッシュのコヒーレンス(一貫性) プライベートキャッシュを使用するマルチコアへの要求 問題点 共有メモリは常に最新データが見える 情報システム基盤学基礎1 キャッシュのコヒーレンス(一貫性) コア1 コア2 プライベートキャッシュを使用するマルチコアへの要求 共有メモリは常に最新データが見える あるコアが共有メモリに書き込んだ値は他のコアにも最新データとして見える キャッシュを用いた場合も常に最新のデータが見えること(一貫性)を保証 問題点 キャッシュのデータが最新とは限らない 何か対策(コヒーレンス制御)が必要 ① A を上書き ② A を読み出し 1次キャッシュ 1次キャッシュ A A A 2次キャッシュ A A [ ライトスルー方式 ] コア1 コア2 ① A を上書き ② A を読み出し 1次キャッシュ 1次キャッシュ A A A 2次キャッシュ A [ ライトバック方式 ]

情報システム基盤学基礎1 コヒーレンス制御方式 スヌープ方式 コア数が少ないプロセッサ向け ディレクトリ方式 コア数が多いプロセッサ向け

スヌープ方式 コヒーレンス制御の手順 共有キャッシュ/メモリの書き込みのタイミング 共有バス以外では使えない 情報システム基盤学基礎1 スヌープ方式 コヒーレンス制御の手順 すべての書き込み情報(ブロック アドレス)を共有バスに放送 各ノードのスヌープコントローラが共有バスを監視 当該ブロックを保持していた場合はコヒーレンス制御 自身が持つブロックを無効化,or 書き込みが発生したキャッシュに 対して最新データの転送を要求 共有キャッシュ/メモリの書き込みのタイミング 書き込み発生時,or 他からのデータ要求時,or 置換される時 共有バス以外では使えない コア1 コア2 ① 書き込み発生 ④ コヒーレンス制御 1次キャッシュ 1次キャッシュ A A A ② 書き込み  情報を放送 ③ 共有データ  に対する書き  込みを発見 共有 バス “A” 2次キャッシュ A スヌープコントローラ [ スヌープ方式 ]

ディレクトリ方式 キャッシュディレクトリ コヒーレンス制御の手順 共有キャッシュ/メモリの書き込みのタイミング 任意のネットワークで使用可能 情報システム基盤学基礎1 ディレクトリ方式 キャッシュディレクトリ ブロックがキャッシュされている 場所を記録する表 集中方式(表は1つ)と分散方式(表は複数)がある コヒーレンス制御の手順 書き込み時に該当するディレクトリを参照 当該ブロックを有するノードが他に存在した場合はコヒーレンス制御 無効化 or キャッシュ間転送 共有キャッシュ/メモリの書き込みのタイミング 書き込み時 or 転送時 or 置換時 任意のネットワークで使用可能 コア1 コア2 ① 書き込み発生 ④ コヒーレンス制御 1次キャッシュ 1次キャッシュ A A A ディレクトリ ネットワーク A: コア1,コア2 “A” ② ディレクトリへ問い合わせ ③ 共有データ   を発見 2次キャッシュ A [ ディレクトリ方式 ]

コヒーレンスプロトコル ブロックの取り得る状態によってさまざまなプロトコルが存在 MESIプロトコル MSIプロトコル MOSIプロトコル 情報システム基盤学基礎1 コヒーレンスプロトコル ブロックの取り得る状態によってさまざまなプロトコルが存在 MESIプロトコル Modified, Exclusive, Shared, Invalid の4状態 Intel Pentium プロセッサなど多くのプロセッサで採用 MSIプロトコル Modified, Shared, Invalid の3状態 MOSIプロトコル Modified, Owned, Shared, Invalid の4状態 MOESIプロトコル Modified, Owned, Exclusive, Shared, Invalid の5状態 AMD64 で採用

(https://en.wikipedia.org/wiki/MESI_protocol より) 情報システム基盤学基礎1 MESIプロトコル ブロックの状態は以下の4つ M(Modified) 1つのキャッシュのみにデータが存在する状態 書き込みが行われた状態 主記憶と内容が不一致 E(Exclusive) 主記憶と内容が一致 S(Shared) 複数のキャッシュにデータが存在する状態 I(Invalid) 無効な状態 [ MESIプロトコルの状態遷移図 ] (https://en.wikipedia.org/wiki/MESI_protocol より)

MESIプロトコルの動作 書き込みは自ノードのみ 読み出し時にキャッシュ間転送することで最新データを取得 他ノードが有するブロックを無効化 情報システム基盤学基礎1 MESIプロトコルの動作 書き込みは自ノードのみ 他ノードが有するブロックを無効化 共有メモリにも書き込まない 読み出し時にキャッシュ間転送することで最新データを取得 転送時に共有メモリにも反映 コア1 コア2 Aをread Aをread Aをwrite 1次キャッシュ 1次キャッシュ E 状態 S 状態 I 状態 I 状態 M 状態 S 状態 A A A A A A 共有 バス Aをread Aを無効化 Aを転送 2次キャッシュ A A スヌープコントローラ [ スヌープ方式 + MESIプロトコル ]