基本的なアーキテクチャその1

さて、話をアーキテクチャ周りに戻す。これまでの情報を見る限り、Microarchitectureに変更は無い(か、あっても公開されていない)ということになる。まずはこのあたりの検証から始めることにしたい。Core Microarchitecureの弱点はいくつかあるが、まずは64bitの最適化が進んでいない(Macro Ops Fusionが使えない他、いくつかの制限がある)あたりについて確認してみたいと思う。

ちなみにベンチマーク環境は、Previewの環境と全く同じである。ただしPreviewの時はWindows Vista Ultimate 32bit 英語版/日本語版のみを利用したが、今回はこれに加えてWindows Vista Ultimate 64bit 英語版も併用している。なお、64bit環境ではRAMDISKは利用していない。

グラフ01はSandra VIIのArithmetic Benchmark、02はMulti-Media Benchmarkの結果である。こちらこちらと異なるのは、64bitのテスト結果を追加したことだ。ちなみにJavaに関しては、なぜかSandra VIIの全テストが"Out of Memory"エラーを出して中断してしまっており、なので結果は無しとなる。

さて、結果を見てみるとやはり64bitでも全般的にYorkfieldの方が良いが、その差は32bitにおけるYorkfieldとKentsfieldの差と近いものがあり、少なくともここでの差は認められない。

ではメモリアクセス周りは? ということでグラフ03、04にLatency、05にBandwidthを示してみた。まずLatencyに関して言えば、32bit/64bitで大差ないという印象を受ける。やはりL2まわりのLatencyの差があるためか、64KB~4MBではYorkfieldが微妙に高い値となるが、それも概ね1Clock以内だし、32bit/64bitでの違いもない。一方Bandwidthに関しては、128KBまでの範囲のバラつきがやや大きい。そこでこの範囲のみを抜き出したのがグラフ06である。これもYorkfield/Kentsfieldの違いというよりは、32bitと64bitの違いといった印象を受ける。それにしても全般的に64bitのスコアが高いというならばまだわかるが、それぞれのピークがずれる(32bitでは16KB、64bitでは64KBがピークになる)というのは、なかなか興味深いスコアである。