macintosh
Vol.27a
counter
9/Sep 1999
PowerPC G4 Load Fold Queue

Top > Macintosh > PowerPC > PowerPC G4 Load Fold Queue ▼NAV ▼form Next→

PowerPC 7451
PowerPC 7451

2001年12月現在、使用されている最新のPowerPC G4は、PowerBook G4 Gigabit Ethernetで採用されているPowerPC 7451である。チップの刻印はXPC7451になっており、試作チップであることがわかる。

(このアーティクルは1999年9月7日の記事をもとに再構成しています)

G3 CPU L1 cache and Load/Store Unit

Cacheミスが発生すると、メモリ(L2cacheを含む)から32Byte、1キャッシュラインが全て埋まるまで、ラインはビジーフラグがたつ。隣接するアドドレスへの2度目のアクセスが出来ず、パイプラインは停止(Stall)する。

G3 CPU L1 cache and Load/Store Unit
G4 CPU,L1 Data cache, Load Fold Queue and Load/Store Unit

PowerPC G4では新たにLoad Fold Queue(LFQ)ユニットが新設され、メモリからの内容がいったん蓄えられる。そのために連続した近隣のデータ読み出しが起こってもパイプラインがStallしない。LFQユニット内部のデータは次のキャッシュミス発生時にLevel 1 Data cacheに格納される。

G4 CPU,L1 Data cache, Load Fold Queue and Load/Store Unit

PowerPC7400のMPC7400 Part Number Specicationが発表されました。この資料の性格から、おそらく現状のG4 chipの実際の諸元に最も近い値が表記されていると考えられます。

これによるとXPC7400RX450PGと呼ばれる450MhzのPowerPC G4は、コア電圧が2.15Vで、消費電力は通常8.9W、最大16.3wであり *1、これまで言われてきた消費電力 *2,*3 より大きい様です。特に最大消費電力はこれまでのPowerPCシリーズの中で最大級となりました。

また注目すべきは既に、Revision E (Device Rev 2.2)のPowerPC7400, 400MHzとRevision G (Device rev 2.6)が混在するということと、350MHzではありますが、Die-Junction温度105度を保証した *1、ポータブル機搭載可能なG4が存在するということでしょう。

て、今回はG3とG4とのL1 cacheの違いに触れてみたいと思います。既にG4アクセラレーターカードを入手した人々はアプリケーションベンチマークを実行し、G3とG4との性能差がとても小さく、同一動作周波数のPowerPC G3とG4を比較した場合、一部のアプリケーションではでは、数%性能が劣るとして、PowerPC G4があたかもG3コアにAltiVecが付属しただけのCPUであると評価しています。確かにAltiVec以外のインストラクション実行スピードに変化はほとんどなく、唯一倍精度かけ算命令が33%性能が向上しただけの変化です *4。実際には、かけ算命令の性能向上がPhotoshopのフィルターなどのベンチマーク向上に現れているようです。

私が注目したのはL1 cacheの取り扱いの違いです。両者の容量は共に32Kbyteと同じですが *4、その動作には違いがあります。

PowerPC G3には32KbyteのData cacheと32Kbyteの命令キャッシュが独立してあります。Level 1 cacheはCPUコア内部にあって、全てのメモリのアクセスを司るLoad/Storeユニットから高速にアクセス出来るように設計されています。G3 CPU L1 cache and Load/Store Unitの緑の一マスは32bit(1word,4byte)で、Cache内部では32byteをひとかたまりに管理されます。問題はLevel 1 cache内部に見あたらない、新しいエリアにメモリアクセスした時に発生します。

L1 Cacheミスが発生すると、メモリ(L2cacheを含む)からメモリが直接Level 1 cacheに展開され、最初のアクセスは成就します。しかし、PowerPC G3は32Byte、1ラインが全て埋まるまで、同じユニットにはアクセス出来ず、パイプラインは停止(Stall)してしまいます。Level 1 data cache Tagが直後に書き代わるため、同一ブロックへのアクセスは禁止されます。


これは隣接するメモリをすぐに読み込めないということです。

れに対し、PowerPC G4ではどうなっているのでしょうか。

PowerPC G4では新たにLoad Fold Queue(LFQ)ユニットが新設され、メモリが読み込まれた直後から、どの部分にもアクセスが出来ます *4。そのために連続した近隣のデータ読み出しが起こってもパイプラインがStallすることはありません。LFQユニット内部のデータは次のキャッシュミス発生時にLevel 1 Data cacheに書き出されます。

の機構はまさにMacOSの為にあるのではないでしょうか。G3に最適化されたプログラムであれば、極力この様なデータ配列にならないように最初から考慮されているはず。だからベンチマークにあまり差が出ないのかもしれません。MacOSのデータ受け渡しは68Kの時代から引

きずったフォーマットであり、パイプラインstallを潜在的に引き起こす危険性が高いと思われます。PowerPC G4は、基本部分でMacOSの処理能力向上に手を貸していると考えます。

MOTOROLA:MPC7400 Part Number Specication (PDF)

MOTOROLA MPC7400 POWERPC MICROPROCESSORS,Fact sheet (PDF)

MOTOROLA:MPC7400 RISC Microprocessor Hardware Specications (PDF)

MOTOROLA:MPC7400 RISC Microprocessor Technical Summary (PDF)

topsearchinformationbbsmacintoshmedicalnext & macos xfaqfaq for G4site maplink

アンケートフォーム

電子メールアドレス
お名前(Option)

使用OS

使用機種
ご質問、ご提案、ご意見などありましたらご記入下さい。

ページに対する感想など、誤字脱字などお聞かせ願えれば幸いです。
このHPのチェックは
今日初めて
月に1〜2度
週に数回
内容について
難しい
適度である
簡単だ
デザインは
良好
普通
変更が必要
話題について
MacBook特化が良い
特にこだわらない
できればアンケートフォームに答えていただけると幸いです。

medicalmac

medical macintosh (c) 1998,1999,2000,2001,2002,2003,2004,2005, 2006, 2007, 2008
Written/Edited by Y.Yamamoto M.D.
Privacy and Security Policy

自由にリンクして下さい。

アップルおよびアップルのロゴは、アメリカ合衆国およびその他の国々におけるApple Computer,Inc.の登録商標です。

POWERBOOK ARMYおよびmedical macintoshは、独立したユーザグループで、アップルコンピュータ株式会社が権限を与えた団体、支援する団体、またはその他に承認する団体ではありません。