Streaming SIMD Extensions

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

ストリーミング SIMD 拡張命令 (SSE, Streaming SIMD Extensions) は、インテルが開発したCPUSIMD拡張命令セット、およびその拡張版の総称である。

目次

概要

SSEは、x86アーキテクチャに8本の128bitレジスタを新設し、浮動小数点演算のSIMD処理を実現したものである。4個の32bit単精度浮動小数点データを一本のレジスタに格納し、同一の命令を一括処理することが出来る。拡張命令であるため、その機能を使用するためにはSSEに対応したソースコードを作成し、プログラムをコンパイルする必要がある。

当初は主要な演算命令の処理に2クロックが必要であり、RISC系CPUに搭載されているSIMD命令やAMDの実装した3D Now!命令と比べて、最適化が煩雑で性能的なディスアドバンテージとなっていたが、Core2マイクロアーキテクチャより1クロック処理が可能な形態へと改良された。

元々はインターネット・ストリーミング SIMD 拡張命令 (Internet Streaming SIMD Extensions, ISSE)と呼ばれていたが、命令内容そのものはインターネットとは直接関係が無くマーケティング的な要素が強かったため、現在ではインターネットの文字が外され単にSSEと呼ばれるようになっている。

SSEの機能を強化したものにSSE2やSSE3、SSSE3 (Supplemental Streaming SIMD Extensions 3) がある。また、SSEは他社製品にも採用されている。

SSE

Pentium III にはじめて実装された。追加された命令数は70。Pentium III の開発コードネームが Katmai であったことから、KNI (Katmai New Instructions) やMMX2とも呼ばれていた。廉価製品のCeleronにおいても、その第三世代製品 Coppermine-128k よりSSEに対応している。

AMD社によるSIMD拡張命令セット、3DNow! プロフェッショナル・テクノロジは、SSEと互換性がある。

SSE2

SSE2は従来のSSEに144個の新たな命令が加えられ、一度に扱えるデータの数も増加した。具体的には64ビットの倍精度浮動小数点データ及び整数演算の追加、キャッシュの制御機能の強化がなされた。

SSE2はPentium4で初めて実装された。AMD社のAMD64アーキテクチャでは、拡張命令ではなく基本命令としてSSE,SSE2が取り込まれている。

SSE3

SSE3はSSE2に13個の新たな命令が加えられた。具体的にはメモリアクセス及び複素数計算の高速化、仮想CPUのスレッドの動作制御などの機能が搭載され、主に動画圧縮の処理が向上した。

SSE3の名称が発表される前はPNI(Prescott New Instructions)と呼ばれていた。Pentium4のPrescottコアで初めて実装された。

SSSE3

SSSE3はSSE3に32個の新たな命令が加えられた。 Coreマイクロアーキテクチャベースのマイクロプロセッサで初めて実装された。

SSSE3と名付けられる前はMNI(Merom New Instructions; 旧称Tejas New Instructions)という名称があった。登場当初はSSE4と呼ばれると一般的には思われていた。

SSE4

45nm世代の Core 2 の Penryn で搭載。 54個の命令が追加になる。そのうち47個がSSE4.1、7個がSSE4.2と呼ばれる。 初期のPenrynではSSE4.1のみが実装。

SSE5

AMDが2007年8月に発表した。AMDの進めるTorrenza(開発コード)アーキテクチャに従い、これまで別途プログラムを作成する必要があった内蔵GPUユニットや暗号化アクセラレータなどを、CPUコア側からシームレスに扱えるようになる。

Intel AVX

MMX/SSE後継のSIMD拡張命令セット。"Sandy Bridge"から搭載予定。演算幅がSSEの2倍の256bitとなるため理論上演算性能も2倍になる。またAVXでは命令デコード性能向上のため新しい命令フォーマットが採用される。

歴史

関連項目

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net