■Pentium 4を一気に普及させる
|
命令セットアーキテクチャでは、Pentium 4はさらに大胆な改革を試みている。それは、x87命令からの脱却だ。 Pentium 4では、SSEで定義された128bit長の新レジスタXMMを使う新たな拡張命令群「ストリーミングSIMD拡張命令2(SS E2)」が加わった。SSE2の最大の特徴は、倍精度浮動小数点演算命令をサポートしたことだ。SSE2では、SIMD演算だけでなく倍精度/単精度でのスカラ(Scalar)演算も可能になっている。つまり、x87命令の代わりの浮動小数点演算命令としてSSE2を使うことができるのだ。 Intelは、Pentium 4に対するソフトの最適化として、浮動小数点演算とMMXをSS E2命令へと移行するように奨励している。演算のレイテンシも、SSE2命令を使ったほうが短いと言う。これまでのIntelの命令アーキテクチャの拡張では既存の命令にプラスアルファするだけだったが、今回のSSE2ではIntelは明確に命令セットの移行を意図している。 それは、x86アーキテクチャのアキレス健である浮動小数点演算性能が、x87命令に起因しているという認識があるからだ。x87は、スタックレジスタアーキテクチャであるため性能向上が難しく、機能も旧世代のものだ。そこで、Intelは一気にx87命令から離れることで、浮動小数点演算性能の向上と、科学技術演算レベルの浮動小数点演算機能を付加しようとしているわけだ。 だが、この大胆な改革は、当然トレードオフを生む。それはx87演算性能だ。ベンチマーク結果などを見ると、Pentium 4はx87浮動小数点演算の性能が出ていないケースが多い。それに対して、SSE2命令を使うようにオプティマイズされたSPECfp2000などでは性能は大幅に向上する。これは、Pentium 4の演算器がSSE2で性能が出るように設計されているためだと想像される。 Pentium 4では、浮動小数点演算/SSE /MMXユニットの面積が大きい。当然、浮動小数点演算はかなり強化されているはずだが、SSE/SSE2を使わない限りフルの性能は引き出せない可能性が高い。Intelは、Pentium 4の性能を引き出すためには、SSE /SSE2命令へとソフトを移行させる必要がある。 |
---|