CPUの内部はRISCと類似の構造で性能を上げたPentium Pro
Pentium ProはそれまでのPentiumプロセサとは異なり、Pentium命令をハードウェアでそのまま実行するのではなく、マイクロOPと呼ぶRISCプロセサの命令のような簡単な命令に変換してから実行するという構造になっていた。
それまで、スパコンでは専用に設計されたベクタプロセサを開発したり、スカラプロセサでも専用のノードプロセサを開発したりするケースが多く、Intelの前世代のParagonスパコンではi860 RISCプロセサを使っていた。しかし、ASCI Redは市販品と同じPentium Proプロセサを計算ノードに使用した。
Pentium ProはIA32アーキテクチャのプロセサであるが、Pentium Proでは複雑なIA32命令はそのまま実行するのではなく、複数のマイクロオぺーレーション(uops)命令に分解して実行するという構造になっていた。このuops分解でRISCと同様な実行が可能になり性能が上がったことで、IA32プロセサをスパコンの計算ノードに使用できるようになったとも言える。
それ以降、このようなuopsへの変換を行うのは高性能のx86プロセサでは一般的に行われている。
Pentium Proプロセサでは、1サイクルに最大3つのuopsを実行することができた。ただし、同時に実行できる浮動小数点演算命令は1命令だけであり、200MHzのクロックで最大200MFlopsの浮動小数点演算を実行することができた。
Pentium Proは8KBの1次命令キャッシュと8KBの1次データキャッシュを内蔵し、別チップの256KBの2次キャッシュをCPUチップと同一のパッケージに搭載するという造りであった。
ASCI Redのネットワークはメッシュを2枚重ねた構造
次の図のように、AプレーンとBプレーンと呼ぶ2枚のプレーンを重ねたような構造になっている。AプレーンとBプレーンは同じ構造で、次の図でメッシュの交点に置かれている黒い箱がルーティングを行うMRC(Mesh Routing Chip)で、MRCからPentium Pro CPUが載ったノードボードに繋がっている。図の左側に書かれた数字は双方向の通信バンド幅、右側に書かれた数字は単方向の通信バンド幅である。このバンド幅はピークバンド幅で、( )内のバンド幅は連続して通信ができるバンド幅である。
(次回は7月3日に掲載します)