PowerBook G4 titaniumとPowerBook G3 FireWireとの違いについて、ベンチマークテストでは余り変化がないという論評が多いようです、変化のあった部分のみ着目して比較検討してみましょう。 PowerBook G4では128_MPC7410の採用が唯一の変化といっても過言ではありませんが、また最大の変化でもあります。 129_CcaheMark result (PBG3 vs PBG4)には、縦軸にCacheMark 1.2で測定したメモリ転送速度を、横軸にバッファー容量をとり、グラフ化してあります。PowerBook G4のL1 cacheとLoad/Store Unitのメモリ転送速度は実に3Gbyte/secを越え、PowerBook FireWireの800Mbyte/secと比較すると4倍近の結果がでました。 130_PowerBook G4 Block Diagramの手前の部分が、PowerBook FireWireとPowerBook G4との違いです。MPC7410の採用、青い矢印が示すG4 CPUとL2 cacheの接続速度が250MHzと1.25倍になったこと。そして赤い矢印が示す、MPX Busの採用の3点です。後ろに広がる、グラフィックサブシステムやI/Oサブシステムに変更はありません。 | 緑の矢印の部分、L1 cacheの実行速度は、131_CacheMark result(2)の緑のエリアに相当します。このグラフはPowerBook FireWireを1とした相対的な性能を示し、3.6倍から3.8倍になりました。これはG4でL1 Cache アクセスが見直され、Load Store Unit内部に新設されたLoad Fold Queueや、Completed Storesと呼ばれるバッファー群が、「Store Miss Merging」を行っているためです。 Store Miss Mergingは、隣接するアドレスのL1 cacheに書き込みが行われたとき、G3ではパイプラインが停止してしまうのに対し、G4ではQueueに蓄えられ、32byteのキャッシュラインに「一つにまとめて書き出す」ことができるため、パイプラインが止まらず、高効率化しています。 また、32kbyteの転送時に、さらに性能が効率化しているのは、G3がL2とL1 cacheに同じデータがだぶって書き込まれるのに対し、G4は要求したデータはすぐにL1キャッシュに保存されず、書き出し時にL1キャッシュに格納され、その時初めてキャッシュの不要部分 | が外部へ書き出されることにより、キャッシュの使用効率があがっているためかと思われます。同様にL2 cacheを使い切る1Mbyteの転送バッファー時の性能向上(L2 cache 領域:青い部分の最後)と、 MPX Bus のはじめの部分(2Mbyteの転送:赤い部分の最初)の性能向上に寄与しています。 青い部分、 L2 cacheの性能を見てみましょう。1.5倍〜1.8倍の性能向上が認められます。クロック向上率が1.25倍ですから、それ以上の効率化があるわけです。 最後に赤い領域、MPXバスの性能は2倍の向上があります。MPX basすなわち、メモリバスは、PowerBook FireWireと同じ、64bit/100MHzです。同じ周波数、同じ幅なのに2倍のパフォーマンスの差が認められるのは、Load Store Unitの改良をきっかけに、バスインターフェースの改良やキャッシュポリシーの変更など、数々の改良の結果、G4が獲得したものと考えられます。 |
以上、メモリまわりのパフォーマンスについて、PowerBook FireWireとPowerBook G4の間にどの程度の違いがあるか、簡単にふれました。これらの性能は通常のベンチマークテストでは変化が現れにくかったり、差が評価されず埋もれてしまいます。しかし、そこにアーキテクチャの違いがあるからには、結果も違ってきます。正しいベンチマークを行い、評価すれば違いがはっきりするでしょう。 | 実際のアプリケーションのパフォーマンスにこの違いがどの程度でてくるのか。アプリケーションが、ディスク速度やグラフィックサブシステムの速度に大きく影響されるため、違いが認識されない場合もあります。 次はPowerBook G4に最速2.5インチハードディスクであるIBM DJSA-232000を搭載したレポートを掲載することにします。ご期待ください。 | 謝辞 G4内部アーキテクチャに関し、「技術部長」フジタ様には間違いを指摘していただきました。 (^^; 訂正するに当たり、多くのご助言をいただきました。御礼申し上げます。 |