Xeonが直面したスヌープによるオーバーヘッド
解決策は「スヌープフィルタキャッシュ」の導入
前ページの図1はマルチプロセッサー環境の場合だが、当然ながらマルチコアの場合も同じ問題が発生する。しかし、マルチプロセッサー環境よりもコア間が高速に接続される分だけスヌープも高速になるため、これに要するオーバーヘッドは少なかった。
ただしこれは、インテルCPUでは「Core Duo」「Core 2 Duo」や「Core i」シリーズ、AMDなら「Athlon 64 X2」以降といった、1ダイのマルチコア製品の話だ。インテルの「Pentium D」や「Core 2 Quad」シリーズ、AMDでは「Opteron 6000」シリーズのMCMパッケージ製品の場合、実際には図1のケースと差がないので注意されたい。
さて問題は、もっと大規模なケースである。最初にこの問題に直面したのは、インテルの「Xeon」系列CPUである。Xeon系列の場合、FSBの制約があってMCMを使ったマルチコアが利用できず、やむなくFSBを2つに分けることで、MCM構造のマルチコアCPUを利用できるようになった(関連記事)。
しかし、この設計はスヌーピングにも大きな影響を与えることになった。というのは、スヌープに必要なトラフィックの頻度は、おおむね「コア数の2乗」に比例するからだ(正確には、コア数をnとすると、トラフィックは「n(n-1)」倍になる)。
例えば、CPU #1~#4までが独立して動き、勝手にメモリーをアクセスして勝手に書き戻しているとする。この場合、以下の4パターンのスヌープが発生することになる。
- CPU #1からCPU #2~#4へのスヌープ
- CPU #2からCPU #1/#3/#4へのスヌープ
- CPU #3からCPU #1/#2/#4へのスヌープ
- CPU #4からCPU #1~#3へのスヌープ
もちろんスヌープ処理に一斉発信(Broadcast)の仕組みを使えば、(コア数の二乗から、コア数に比例する程度まで)トラフィックは減るが、それでも8~16コアのシステムを作るためには、もう少しスヌープの頻度を減らさないと、FSBの帯域そのものを占有してしまう。さらに、FSBの帯域にスヌーピングそのものが制約されてしまい、キャッシュスヌープ待ちで無駄にCPUが待たされてしまう。
これを解決すべく、「Intel 5000X」チップセットで初めて投入されたのが「スヌープフィルタ」である(関連記事)。Intel 5000Xは内部に、16MBの「スヌープフィルタキャッシュ」と呼ばれるメモリーを搭載する。名前はキャッシュだが、実体としてはタグとコヒーレント情報(つまりMESIの状態)のみを保存するものだ。
スヌープフィルタの働きを、CPU #1のあるCPUコア(#1α)がメモリーに書き込んだ場合を例に見てみよう(図5)。
- ①スヌープ情報がFSB経由でチップセットおよび、#1αとFSBを共有する#1βに伝わる。
- ②チップセットはその情報を、スヌープフィルタキャッシュに反映させる。
- ③チップセットはスヌープフィルタキャッシュの情報を元に、その書き換わったアドレスをCPU #2側がキャッシュしているかどうか判断する。ここでキャッシュしている場合は、CPU #2側にスヌープ情報を送り出す。
従来であれば、あるCPUコアがメモリーを書き換えようとした時に、ほかのコアが同じアドレスをキャッシュしているかどうかを知る方法がなかった。そのため、とりあえずスヌープは無条件で出す必要があった。これがスヌープによるトラフィック増加を招いてしまう。必要ないスヌープを途中で排除することで、FSBの利用効率を上げようというのが、スヌープフィルタの仕組みである。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第868回
PC
物理IPには真似できない4%の差はどこから生まれるか? RTL実装が解き放つDimensity 9500の真価 -
第867回
PC
計算が速いだけじゃない! 自分で電圧を操って実力を出し切る賢すぎるAIチップ「Spyre」がAI処理を25%も速くする -
第866回
PC
NVIDIAを射程に捉えた韓国の雄rebellionsの怪物AIチップ「REBEL-Quad」 -
第865回
PC
1400WのモンスターGPU「Instinct MI350」の正体、AMDが選んだ効率を捨ててでも1.9倍の性能向上を獲る戦略 -
第864回
PC
なぜAMDはチップレットで勝利したのか? 2万ドルのウェハーから逆算する経済的合理性 -
第863回
PC
銅配線はなぜ限界なのか? ルテニウムへの移行で変わる半導体製造の常識と課題 -
第862回
PC
「ビル100階建て相当」の超難工事! DRAM微細化が限界を超え前人未到の垂直化へ突入 -
第861回
PC
INT4量子化+高度な電圧管理で消費電力60%削減かつ90%性能アップ! Snapdragon X2 Eliteの最先端技術を解説 -
第860回
PC
NVIDIAのVeraとRubinはPCIe Gen6対応、176スレッドの新アーキテクチャー搭載! 最高クラスの性能でAI開発を革新 -
第859回
デジタル
組み込み向けのAMD Ryzen AI Embedded P100シリーズはZen 5を最大6コア搭載で、最大50TOPSのNPU性能を実現 -
第858回
デジタル
CES 2026で実機を披露! AMDが発表した最先端AIラックHeliosの最新仕様を独自解説 - この連載の一覧へ











