SSE2
読み:エスエスイー-トゥー
外語:SSE2: Streaming SIMD Extensions 2

 ストリーミングSIMD拡張命令2。IntelマイクロプロセッサーであるPentium 4(WillametteコアとNorthwoodコア)に搭載された命令群で、従来のSSEの拡張版にあたる。
目次

特徴

演算
 従来、浮動小数点の演算はx87命令(FPU)で行なわれてきた。SSE対応マイクロプロセッサーでも同様で、倍精度の演算は相変わらずFPUを用いていた。
 MMXではマルチメディア処理に利用される演算機能が追加され、またSSEでは3Dグラフィックスで多用される単精度浮動小数点演算を複数個同時に処理(SIMD処理)可能となった。
 このようにMMXやSSEはあくまでx87の補完機能という位置づけだった。しかし、x87命令とMMX/SSE命令はいちいち切り換えないと互いに利用できないため、精度を要する演算との併用は弱点として存在した。

改良
 そこでSSE2は更に144個の新命令を追加し、倍精度浮動小数点演算に対応させた。
 2個までの倍精度浮動小数点演算をまとめて処理できる他、整数演算も複数まとめて計算可能で、8ビット×16、16ビット×8、32ビット×4、64ビット×2を処理する命令が存在する。

機能の有無判別
 機能の有無は、EAXレジスターに1を代入してCPUID命令を実行し、EDXレジスターに得られたフラグのビット26が1かどうかで確認できる。

新命令
 SSE2では計144命令が追加された。ニーモニックのルールは次の通りである。
 SSE2で追加された新命令は、次の通りである。

浮動小数点演算命令

整数命令

キャッシュに関する命令

再検索