Level 2 cacheとメインメモリーとの間での相同性(coherency)を保つためにG3で採用されているのが3-state MEI coherency protocolです。G4で新たに使用できるようになった、5-state MERSI coherency protocolと比較して見ましょう。
3-state MEI coherency protocolは大変簡略化した3-state MEI coherency protocolの概念図です。*1 copy-backと呼ばれるL2 cacheのアクセス方法を選択したとき、効率よくメモリにアクセスするために、G3のキャッシュコントローラーが持つ一種のメモリアクセスモードです。一つ一つ説明しましょう。
Modified Mode
このモードは全てのメモリアクセスがL2キャッシュにヒットし、メインメモリにはアクセスする必要がないモードです。書き込みはL2 cache内部のみで、メインメモリには古い情報しか
|
ありません。そのため「Modified」です。
Invalid Mode
一旦キャッシュミスが生じた場合二手に分かれます。60xバス、すなわちメモリコントローラーとCPUの間のバスが使用可能であってかつ、キャッシュが書き込み可能な状態であるときはInvalidモードに移行し、いずれかがbusyの場合はExclusiveモードへ移ります。Invalid Modeではメインメモリにアクセスし、キャッシュフィルを行います。
キャッシュは32byte単位で管理され、1wordの書き込みでも、その前後のキャッシュの情報を完全なものにするためキャッシュフィルが必要です。CPUはメモリに対して通常数倍のスピードで動いているためこのキャッシュフィルの時間が相対的に長く、次のキャッシュフィルまで待つことが多く存在するという訳です。
|
しかし、漠然とこの時間を待っていたのでは処理速度が低下します。メモリ書き込みに関しては、該当のL2キャッシュに書き込みした後、キャッシュフィルは後回しにして直接Modifiedモードに戻ります。
Exclusive Mode
バスが混雑している場合や、キャッシュフィル実行中で新たなキャッシュフィルが出来ない場合にModeifiedモードから移行し、用意が出来次第、Invalidモードへ移行し、メインメモリへアクセスします。
またInvalidモードからもメインメモリからの読み込み時、キャッシュフィルが完了するまでは仕方なくExclusiveモードへ移行するわけです。キャッシュフィルが完了し、読み込みが完了すれば、Modefiedモードへ戻ります。
これに比べ、G4では5-state MERSI coherency protocolが採用され、
|
MPXバスで利用できます。*2 G3のMEIに、Reserved ModeとShared Modeが加えられた訳です。Multiprocessingが可能であったPowerPC 604では4-state MESI coherencyが採用*1されていたに比べてもより複雑で、効率よく動かすことが可能です。このMERSI coherencyでL1,L2 cacheのG4同士での相同性が保たれると言うわけです。
確かに効率よくキャッシュメモリ間の相同性を実現するためには必要なステップであり、G3に実装されるMEI coherencyは無理です。しかし、シングルプロセッサでは必要のないステップであることも確かです。
結論はシングルプロセッサでG4を使用するなら、MPX busやそれがサポートするMERSI coherency protocolは必要ないということです。
|
ただそMPX busの能力はMERSI coherency protocolのサポートだけではありません。比較的速度の遅いI/O要求を中断し、メモリ読み出しを優先させるなどの例外処理の補強や、タイミングの最適化により、それまでの60xバスと比較すると情報伝達の効率が上昇しています。
|
|