15. Cellの構造
SPE
SPU SPU SPU SPU SPU SPU SPU SPU
SXU SXU SXU SXU SXU SXU SXU SXU
LS LS LS LS LS LS LS LS
MFC MFC MFC MFC MFC MFC MFC MFC
EIB
PPE PPU
IO メモリ
L2 L1 PXU
28. 基礎知識: パイプライン
• 1命令を複数の工程に分けて実行する。
– スループットを向上。クロック数の向上。レイテンシは悪化す
る。 Cycle
1 2 3 4 5 6 7 8
命令1 IF ID EX WB
命令2 IF ID EX WB
命令3 IF ID EX WB
命令4 IF ID EX WB
命令5 IF ID EX WB
IF: 命令フェッチ, ID: 命令デコード, EX: 実行, WB: (レジスタ
への)書き戻し
29. 基礎知識: データ依存とデータハザード
• 命令が利用するデータ間に依存関係があると、前の命
令が終わらないと後ろの命令が実行できない。
Cycle
1 2 3 4 5 6 7 8
add c a b IF ID EX WB
mul d c c --- --- --- IF ID EX WB
• cの値が確定するまでmul d c cが実行出来ない。
• 先ほど8サイクル5命令だったのが2命令に。
35. 基礎知識: スーパースカラ
• Cellはパイプラインを二つ持っており、同時に二つの命
令を発行出来る。
– Evenパイプライン: 四則演算, ビット演算など
– Oddパイプライン: ロードストア, シフト, 分岐など
Cycle
1 2 3 4 5 6
IF ID EX WB
Even命令1
IF ID EX WB
Odd命令1
IF ID EX WB
Even命令2
IF ID EX WB
Odd命令2
IF ID EX WB
Even命令3
IF ID EX WB
Odd命令3