L2の謎 Celeron2・番外編《2000.4.15》
Celeron2については、PentiumIIIのキャッシュサイズ縮小版という意外にも、
「L2のバンド幅縮小、レイテンシの付加などPentiumIIIと更に差を付けられているのではないか」
という情報がありますが、Pfm686やCORTESTなどのベンチマークテストでは、
PentiumIIIとのパフォーマンスの差を見出すことはできませんでした。むしろ速い結果となっています。
《パート1》
TestCPUというベンチマークテストでは、L2が128KBのように振舞ったり、
あるときは64KBのように見えたり、一つのベンチマークテストで2倍も違う結果を示すようです。
このため、あるロットはキャッシュが64KBなのでは?という憶測もあります。
同じキャッシュサイズで、こんなにバラつくものなのでしょうか!?
●Win98起動直後、1回目の測定
Cereron566@913の結果です。問題無く128KBまで伸びています。
●Win98起動直後、2回目の測定
赤線が1回目、青線が2回目の結果です。
このTESTを再度実施しただけで、キャッシュサイズが半分の結果となってしまいました。
そして、再起動するまで二度と128KBは示しませんでした。
これが、このテスト特有の事象なのか、Windowsがキャッシュに激変を与えるのかはわかりませんが、
テスト結果が正しいとすれば、ほとんどの処理がキャッシュの少ない状態で行われていることになります。
さらに、こんなことにもなります・・
なんと32KBで急激にダウンです。
起動直後、1回目の測定は必ず128KBを示しますが、2回目以降あるいは他のアプリ実行後は
128KBを示すことはありません。
このテストで本来のパフォーマンスを測定するには、起動直後に計る必要がありそうです。
もちろん常駐物や各種ドライバによっては、起動直後でもだめな場合があるでしょう。
●PentiumIIIでも・・
2回目の測定で、キャッシュサイズが半分の結果となるのは、Celeron特有の事象でしょうか!?
PentiumIIIでも同様の確認を行ってみました。
PentiumIII600E@800(青線)はキャッシュがちょうど2倍の256KBであることがわかります。
やはり、PentiumIIIもキャッシュサイズが縮小されたように振舞うことがあります。
PentiumIII600E@800(青線)は2回目のTEST結果です。Celeronの結果と並んでしまいました!
PentiumIIIでもCeleronと同事象です。再起動するまで二度と256KBは示しませんでした。
《パート2》
CeleronがPentiumIIIのキャッシュ縮小版なら、このキャッシュサイズをソフト的に変更できないでしょうか。
キャッシュサイズはハードワイヤーでしか変更出来ないと思いますが、例えばコンフィグレーションレジスタに
PentiumIIIとの違いが見出せればもしかすると、もしかするかも知れません(笑)
●Celeron566(L2・128K)
●PentiumIII600E(L2・256K)
両者の違いはアドレス0D(右上の○部分)です。
ここにキャッシュの秘密があるのでしょうか!?違いが見つかった瞬間、おおっ!っと思いましたが・・
このアドレスはマスターレイテンシタイマーでした。
L2とは全然関係ありません・・(^^;やはり、チップセットではコントロールできないようです。
もし、ソフト的に変更できるとしたら、CPUのコンフィグレーションレジスタでしょうか。
Pentiumの分岐予測やパイプラインのコントロールはこれでできました。
しかし、キャッシュサイズは・・やはりムリでしょうか・・
http://kiti.main.jp/