コンピュータ工学基礎 パイプラインハザード テキスト9章 115~124

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

天野 コンピュータ基礎  入出力
CPU設計と パイプライン.
計算機システムⅡ 命令レベル並列処理とアウトオブオーダ処理
第3回 並列計算機のアーキテクチャと 並列処理の実際
情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
07. 値予測 五島 正裕.
07. 値予測 五島 正裕.
ヘテロジニアスマルチコアプロセッサ 環境を対象としたキャッシュシステム 自動生成ツールの開発
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
VLSI設計論第4回 アキュムレータマシンと 仮遅延シミュレーション
北海道大学 理学院 宇宙理学専攻 惑星物理学研究室 M 2 齊藤 大晶
計算機システムⅡ 主記憶装置とALU,レジスタの制御
高性能コンピューティング学講座 三輪 忍 高性能コンピューティング論2 高性能コンピューティング論2 第4回 投機 高性能コンピューティング学講座 三輪 忍
CPUの高速化テクニックから スーパーコンピュータまで
テープ(メモリ)と状態で何をするか決める
Rearrangeable NoC: 配線遅延を考慮した分散ルータ アーキテクチャ
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
コンピュータの主役はCPU(Central Processing Unit)
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
計算機構成 第7回 サブルーチンコールとスタック テキストp85-90
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
第7回 2006/6/12.
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
これからが面白いプロセッサアーキテクチャ
CPUの仕組み 1E16M002-5 阿部知也 1E16M007-3 伊藤達哉 1E16M026-9 小島祥太郎 1E16M069-8 峰晴晃優 1E16M070-0 宮路暁久 1E14M070-5 南元喜.
Advanced Computer Architecture
・ディジタル回路とクロック ・プロセッサアーキテクチャ ・例外処理 ・パイプライン ・ハザード
コンピュータアーキテクチャ: ここでやったこと これからやること
プロジェクト実習 LSIの設計と実現 パイプライン実行とハザード.
アドバンスト コンピュータ アーキテクチャ RISC と 命令パイプライン
非レイテンシ指向 レジスタ・キャッシュ・システム
11. マルチスレッド・プロセッサ 五島 正裕.
第6回 dc_shellを使った論理合成 慶應義塾大学 理工学部 天野.
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
リモートホストの異常を検知するための GPUとの直接通信機構
10. マルチスレッド・プロセッサ 五島 正裕.
Advanced Computer Architecture
Advanced Computer Architecture
第6回 6/4/2011 状態遷移回路とシングルサイクルCPU設計
Advanced Computer Architecture
「コアの数なんて どうでもいい」 五島 正裕(東大).
計算機構成 第6回 分岐命令とプログラムの実行 テキスト第5章
メモリ投機を支援する CMPキャッシュコヒーレンスプロトコルの検討
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機構成 第4回 アキュムレータマシン テキスト第3章
08. メモリ非曖昧化 五島 正裕.
計算機構成 第8回 POCOの構造とVerilog記述 テキスト第5章-第6章
計算機構成 第11回 マルチサイクルCPU 慶應大学 天野英晴.
計算機構成 第5回 RISCの命令セットアーキテクチャ テキスト第4章
目的:高速QR分解ルーチンのGPUクラスタ実装
情報とコンピュータ 静岡大学工学部 安藤和敏
09. メモリ・ディスアンビギュエーション 五島 正裕.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
コンピュータアーキテクチャ 第 9 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
コンピュータアーキテクチャ 第 5 回.
パイプラインとは何か? マイクロプロセッサ(MPU)の高速化手法の一つのこと。
Computer Architecture Guidance
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 5 回.
コンピュータ工学基礎 マルチサイクル化とパイプライン化 テキスト9章 115~124
並列処理プロセッサへの 実数演算機構の開発
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

コンピュータ工学基礎 パイプラインハザード テキスト9章 115~124 コンピュータ工学基礎 パイプラインハザード テキスト9章 115~124 情報工学科 天野英晴

パイプラインハザードとは? パイプラインがうまく流れなくなる危険、障害のこと パイプラインストール 構造ハザード データハザード 資源が競合して片方のステージしか使えない場合に生じる データハザード データの依存性により生じる 先に進んだ命令の結果を後の命令が利用するため、その結果がレジスタに書かれるまで、読むことができない コントロールハザード 分岐命令が原因で、次に実行する命令の確定ができない パイプラインストール ハザードが原因による性能の低下 パイプライン処理は理想的に動くとCPIが1 ストールによりCPIが大きくなってしまう

IF EX WB ID ir ‘1’ A areg S Y + creg B breg ext dreg PC ext0 データ メモリ rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex areg S Y + creg 1 00 B rs 7:5 breg ext 01 dreg PC imm 7:0 10 ext0 alu_bsel daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

IF EX WB ID 命令/データの 共有メモリを使う 場合 ir ‘1’ A areg S Y + creg B breg ext rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 命令/データの 共有メモリを使う 場合 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex areg S Y + creg 1 00 B rs 7:5 breg ext 01 dreg PC imm 7:0 10 ext0 alu_bsel dataout datain 命令/ データ メモリ addr st_op_id we

メモリの共通化による構造ハザード LD命令 1クロック分終了が遅れる 命令1 命令2 IF時にメモリが使えない 命令3 ID EX WB LD命令 IF ID EX WB 1クロック分終了が遅れる 命令1 IF ID EX WB Bubble 命令2 IF時にメモリが使えない IF ID EX WB 命令3 LD命令の次の次の命令フェッチを1クロック遅らせる。 ストール付きCPI=理想のCPI+ストールの確率×ストールのダメージ                1   + 0.25×1              (LD/ST命令が合わせて25%とする)

構造ハザード 資源の複製により解決可能 コストと性能のトレードオフを考えて決める メモリの共有化→コスト減を取るか? CPI 1→1.25の性能低下を取るか?

データハザード 直前の命令の結果がレジスタファイルに書き込まれないうちに、後続の命令が読み出しを行ってしまう 一つ前、さらに一つ前まで問題に データの依存性により生じるハザード 一つ前、さらに一つ前まで問題に 複数命令を時間的に重ねて実行する場合には常に問題になる Read After Write (RAW)ハザードと呼ばれる Write After Read(WAR)はPOCOでは生じない Write After Write(WAW)は通常あまり問題にならない 回避手法 → NOPを入れて命令の間隔を保持する → フォワーディング(Forwarding) 最新のデータを横流しにする 条件:1.後続の命令とレジスタ番号が一致 2.結果を書き込む命令

ADDI r0,#1 LDI r0,#0 LD r1, (r0) IF EX WB ID ir ‘1’ A areg S Y + r0 rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex areg S Y + r0 creg 1 00 B rs 7:5 breg ext 01 dreg PC imm 7:0 10 ext0 alu_bsel daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

LD r3,(r0) ADDI r0,#1 LD r1,(r0) LDI r0,#0 IF EX WB ID ir 古いデータ ‘1’ A rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex 古いデータ ‘1’ A rwe_ex areg S r0=0 Y + creg 1 00 B rs 7:5 breg ext 01 dreg PC imm 7:0 古いデータ 10 ext0 alu_bsel 次のクロックの立上り で格納 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

LD r1,(r0) NOP NOP LDI r0,#0 IF EX WB ID NOPを入れて 命令の間隔を確保 ir ‘1’ A rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id NOPを入れて 命令の間隔を確保 ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex areg S r0=0 Y + creg 1 00 B rs 7:5 breg ext 01 dreg PC imm 7:0 10 ext0 alu_bsel 次のクロックの立上り でデータを格納 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

NOPを入れる方法 NOPを2つ入れて命令間隔を確保 ハザード付きCPI= 理想のCPI+ストールの確率×ストールのダメージ  1 + 後続の命令が利用する確率×2=  1+ 0.8×2くらいはあるか??  2.6は悪化のしすぎ

LD r3,(r0) ADDI r0,#1 LD r1,(r0) LDI r0,#0 IF EX WB ID レジスタファイルの rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 レジスタファイルの フォワーディング funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex 新しいデータ ‘1’ A rwe_ex areg S r0=0 Y + creg 1 00 B rs 7:5 breg ext 01 dreg PC imm 7:0 10 ext0 alu_bsel 読み出しレジスタ 番号=書き込み レジスタ番号 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

演習1 レジスタファイルにフォワーディングを付けたことで、NOPを一つ入れればデータハザードを回避できる。 後続の命令が前の命令の結果を利用する可能性:0.8 とすると、CPIはどのようになるか?

ADDI r0,#1 LDI r0,#0 LD r1, (r0) IF EX WB ID EXステージの フォワーディング 案その1 ir rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id EXステージの フォワーディング 案その1 ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex 1 areg S 古いr0 Y + creg 1 00 B rs 7:5 ext 1 01 breg dreg PC imm 7:0 10 ext0 最新の値と入れ替える 1 alu_bsel r0 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

LD r1, (r0) LD r3,(r0) ADDI r0,#1 LDI r0,#0 IF EX WB ID EXステージの rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id EXステージの フォワーディング 案その1 ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex 1 areg S Y + creg 1 00 B rs 7:5 ext 1 01 breg dreg PC imm 7:0 10 1 ext0 alu_bsel r0 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

ADDI r0,#1 LDI r0,#0 LD r1, (r0) IF EX WB ID EXステージの フォワーディング 案その2 ir rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id EXステージの フォワーディング 案その2 ld_op ld_op_id funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ 1 A rwe_ex areg S 古いr0 Y + creg 1 00 B 1 rs 7:5 ext 01 breg dreg PC imm 7:0 10 1 ext0 alu_bsel r0 daddr ddataout ddatain ここで入れ替え データ メモリ 命令メモリ st_op_id we

パイプラインハザードとは? パイプラインがうまく流れなくなる危険、障害のこと パイプラインストール 構造ハザード データハザード 資源が競合して片方のステージしか使えない場合に生じる データハザード データの依存性により生じる 先に進んだ命令の結果を後の命令が利用するため、その結果がレジスタに書かれるまで、読むことができない コントロールハザード 分岐命令が原因で、次に実行する命令の確定ができない パイプラインストール ハザードが原因による性能の低下 パイプライン処理は理想的に動くとCPIが1 ストールによりCPIが大きくなってしまう

IF EX WB ID そもそも分岐命令はサポートされていない ir ‘1’ A areg S 古いr0 Y + creg B ext rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id そもそも分岐命令はサポートされていない funct 3:0 funct 2:0 00 01 10 com_id THB ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex 1 areg S 古いr0 Y + creg 1 00 B rs 7:5 ext 1 01 breg dreg PC imm 7:0 10 1 ext0 alu_bsel r0 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

ALUで分岐先を計算すると、、、 3クロック分終了が遅れる Branch命令 次の命令 Branchの次の命令フェッチを3クロック遅らせる。 IF ID EX WB Branch命令 IF ID EX WB 次の命令 Bubble Bubble Bubble IF ID EX WB IF ID EX WB Branchの次の命令フェッチを3クロック遅らせる。 ストール付きCPI=理想のCPI+ストールの確率×ストールのダメージ                1   + 0.25×3 =1.75              (Branch/JMP/JAL命令を合わせて25%とする) ダメージが大きい!

IFで加算を行う IF EX WB ID ‘0’ ext 1 ir ‘1’ A areg S Y + creg B ext breg rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 ‘0’ funct 2:0 00 01 10 ext com_id THB 1 ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex 1 areg S Y + creg 1 00 B rs 7:5 ext 1 01 breg dreg PC imm 7:0 10 1 ext0 alu_bsel r0 判定 daddr ddataout ddatain データ メモリ 命令メモリ st_op_id we

IFで加算を行う IF EX WB ID ‘0’ ext 1 ir ‘1’ A areg S Y + creg B ext breg rwe rwe_id rwe_ex opcode 15:11 decorder st_op st_op_id ld_op ld_op_id funct 3:0 ‘0’ funct 2:0 00 01 10 ext com_id THB 1 ADD rd 10:8 ir rd_id rd_ex ‘1’ A rwe_ex 1 areg S Y + creg 1 00 B rs 7:5 ext 1 01 breg dreg PC imm 7:0 10 1 ext0 alu_bsel r0 判定 daddr クリティカルパスが 伸びる ddataout ddatain データ メモリ 命令メモリ st_op_id we

IFステージで分岐先を計算すると、、、 1クロック分終了が遅れる Branch命令 次の命令 ID EX WB Bubble 1クロック分終了が遅れる Branch命令 Branchの次の命令フェッチを1クロック遅らせる。 ストール付きCPI=理想のCPI+ストールの確率×ストールのダメージ                1   + 0.25×1 = 1.25              (Branch/JMP/JAL命令を合わせて25%とする) これ以上はどうにもならない

predict not-taken 1クロック分終了が遅れる 分岐すれば 1クロック 待たす 分岐しなければ フェッチした 命令をそのまま IF 分岐すれば 1クロック 待たす ID EX WB Bubble 1クロック分終了が遅れる IF ID EX WB IF ID EX WB 分岐しなければ フェッチした 命令をそのまま 使う IF ID EX WB IF ID EX WB ストール付きCPI=理想のCPI+ストールの確率×分岐する確率×ストールのダメージ                1   + 0.25×1×0.7 =1.175              (Branch/JMP/JAL命令を合わせて25%とする) 分岐する方が確率が高いため、効果はイマイチ

遅延分岐 分岐命令の次の命令(遅延スロット)をパイプラインに入れてしまう。 遅延スロットの命令は必ず実行される つまり、遅延の効き目が遅い →POCOの場合は遅延スロットは1 つまり、遅延の効き目が遅い 有効な命令を入れてやる必要がある → パイプラインスケジューリング

パイプラインスケジューリング LDIU r0,#2 LDIU r0,#2 LD r1,(r0) LD r1,(r0) LDIU r0,#3 loop: ADD r3,r1 ADDI r2,#-1 BNZ r2,loop NOP LDIU r0,#0 ST r3,(r0) end: BEZ r2, end    LDIU r0,#2    LD r1,(r0)    LDIU r0,#3    LD r2,(r0)    LDIU r3,#0 loop: ADDI r2,#-1 BNZ r2,loop ADD r3,r1 LDIU r0,#0 ST r3,(r0) end: BEZ r2, end NOP

演習2 下のプログラムは0番地から並ぶ8個のデータの総和を取る。これをパイプラインスケジュールしてストールをなくせ。 LDI r0,#8 loop: ADDI r0,#-1 LD r2,(r0) ADD r1,r2 BNZ r1,loop NOP

高速化の流れ スレッドレベルの 高速化 Simultaneous Multithreading マルチコア化 複数命令の同時発行 (スーパースカラ) 命令レベルの 高速化 パイプラインを細かく (スーパーパイプライン) 周波数の向上 RISCの登場 パイプライン化 命令の動的スケジュール マルチコア 革命 2003-2004 1980 1990 2000

マルチコア、メニーコア 動作周波数の向上が限界に達する 命令レベル並列処理が限界に達する メモリのスピードとのギャップが埋まらない 消費電力の増大、発熱の限界 半導体プロセスの速度向上が配線遅延により限界に達する 命令レベル並列処理が限界に達する メモリのスピードとのギャップが埋まらない → マルチコア、メニーコアの急速な発達 マルチコア革命 2003-2004年 プログラマが並列化しないと単一プログラムの性能が上がらない

プロセッサの動作周波数は2003年で限界に達した クロック周波数の向上 Pentium4 3.2GHz Nehalem 3.3GHz 高速プロセッサのクロック周波数 周波数 1GHz 年間40% プロセッサの動作周波数は2003年で限界に達した 消費電力、発熱が限界に Alpha21064 150MHz 100MHz 1992 2008 2000 年

Flynnの分類 命令流(Instruction Stream)の数: M(Multiple)/S(Single) データ流(Data Stream)の数:M/S SISD ユニプロセッサ(スーパスカラ、VLIWも入る) MISD:存在しない(Analog Computer) SIMD MIMD

一人の命令で皆同じことをする SIMD 命令メモリ 半導体チップ内でたくさんの 演算装置を動かすには良い 方法 アクセラレータ(普通のCPU にくっつけて計算能力を加速 する加速装置)の多くは この方式 安くて高いピーク性能が 得られる →パソコン、ゲーム機と   共用 命令 演算装置 Data memory

GPGPU:PC用 グラフィックプロセッサ TSUBAME2.0(Xeon+Tesla,Top500 2010/11 4th ) 天河一号(Xeon+FireStream,2009/11 5th ) 近年、CPUとGPUやCELLといったマルチコアアクセラレータを組み合わせて使うハイブリッドの計算環境が普及しています。 例えばTOP500を見ると、TSUBAMEのNVIDIA GPUはもちろんですが、↑こういったATIのGPUを使ったスパコンも存在します。 またCell B.E.を搭載したアクセラレータもあります。 これらのアクセラレータを使って高い性能が得られるのですが、アクセラレータごとに異なる環境を用いなければなりませんでした。 そこで、Open CLという開発環境が登場しました。 OpenCLは、マルチコアプロセッサ向けの共通プログラミング環境で、Open CLにより、 異なるアーキテクチャでもCライクの同一ソースコードで開発が可能になりました。 ※()内は開発環境 32

Thread Execution Manager GeForce GTX280 240 cores Host Input Assembler Thread Execution Manager Thread Processors Thread Processors Thread Processors Thread Processors Thread Processors … PBSM PBSM PBSM PBSM PBSM PBSM PBSM PBSM PBSM PBSM Load/Store Global Memory

GPU (NVIDIA’s GTX580) L2 Cache 512 GPU cores ( 128 X 4 ) 128個のコアは SIMD動作をする 4つのグループは 独立動作をする もちろん、このチップを たくさん使う 512 GPU cores ( 128 X 4 ) 768 KB L2 cache 40nm CMOS 550 mm^2

MIMD(Multipe-Instruction Streams/ Multiple-Data Streams)の特徴 自分のプログラムで動けるプロセッサ(コア)を多数使う 同期:足並みを揃える データ交信:共通に使うメモリを持つなど 最近のPC用のプロセッサは全部この形を取っている 最近はスマートフォン用のCPUもマルチコア化 集中メモリ型 UMA(Uniform Memory Access Model) 分散メモリ型 NUMA(Non-Uniform Memory Access Model) 共有メモリを持たない型 NORMA(No Remote Memory Access Model)

Interrupt Distributor Snoop Control Unit (SCU) MPCore (ARM+Renesas) Private FIQ Lines SMP for Embedded application … Interrupt Distributor CPU interface Timer Wdog CPU interface Timer Wdog CPU interface Timer Wdog CPU interface Timer Wdog IRQ IRQ IRQ IRQ CPU/VFP CPU/VFP CPU/VFP CPU/VFP L1 Memory L1 Memory L1 Memory L1 Memory 4つのコアを搭載可能、共有データのキャッシングはスヌープで管理する Snoop Control Unit (SCU) Coherence Control Bus Private Peripheral Bus Private AXI R/W 64bit Bus Duplicated L1 Tag L2 Cache

SUN T1 L2 Cache bank Core Core Directory Crossbar Switch Core L2 Cache Memory Core Directory Core L2 Cache bank Core Directory Core FPU L2 Cache bank Core Directory Single issue six-stage pipeline RISC with 16KB Instruction cache/ 8KB Data cache for L1 Total 3MB, 64byte Interleaved

SUN Niagara 2 Niagara 2

Multi-Core (Intel’s Nehalem-EX) CPU L3 Cache 8 CPU cores 24MB L3 cache 45nm CMOS 600 mm^2

分散共有メモリ型 独立して動けるプロセッサ を複数使う メモリ空間 Node 0 0 Node 1 1 2 Node 2 3 Node 3 Interconnection Network Node 2 3 メモリ空間 Node 3 独立して動けるプロセッサ を複数使う

Cell Broadband Engine PS3 SXU LS DMA MIC BIF/ IOIF0 PXU L1 C L2 C PPE SPE 1.6GHz / 4 X 16B data rings IBM Roadrunner Common platform for supercomputers and games

Supercomputer 「K」 L2 C Core Core Tofu Interconnect 6-D Torus/Mesh Core Memory L2 C Core Core Tofu Interconnect       6-D Torus/Mesh Core Core Inter Connect Controller Core Core Core Core SPARC64 VIIIfx Chip RDMA mechanism NUMA or UMA+NORMA 4 nodes/board 96nodes/Lack 24boards/Lack