AMDはAVXをサポートしたうえで
独自の拡張も加える方向に
結局AMDはSSE5を断念。2011年にAVXをサポートすることを、同社CFO(最高財務責任者)であるナイジェル・ダッソー(Nigel Dessau)氏の、2009年5月6日付けのblogのエントリで明らかにしている。
もっとも上に述べたとおり、AVXではSSE5の完全な置き換えとはならない。そこで、SSE5にあってAVXにない機能を、「XOP」(eXtended Operations)という形のAVX拡張として盛り込んだ。公式には「128-Bit and 256-Bit XOP, FMA4 and CVT16 Instructions」という名称になったが、このうちFMA4はAVXそのもので、XOPやCVT16がAMDの拡張部分となる。
ここで搭載される機能には、以下のものが挙げられる。最後の半精度浮動小数点変換のみが、上に名前の出たCVT16命令で、ほかはすべてXOP命令と分類されている。
- Horizontal integer add/subtract AVXはあくまで浮動小数点演算で、整数演算はサポートしていないのでこれを追加。SSSE3で定義されたHorizontal Addition/Subtractionとは機能が異なる。
- Integer multiply/accumulate 整数のMAC(積和演算)命令
- Shift/Rotate レジスターに対するビット操作命令
- Integer compare 整数の比較命令
- バイト置換 レジスター内のデータ置き換え命令
- 条件分岐 ビット単位での条件分岐命令
- 数値変換 浮動小数点と整数の変換命令
- 半精度浮動小数点変換 GPUなどで使われる16bit浮動小数点と32bitの単精度浮動小数点の変換
AMDはこれに続く拡張については、現在のところ何も明らかにしていない。とりあえずはXOP/FMA4/CVT16のインプリメントが最優先、ということだろうが、恐らくこれで終わりということにはならないだろう。ただ、そうした将来の拡張が明らかになるのは、早くてもBulldozerコアが登場する2011年以降になるだろうと予想される。
今回のまとめ
・2008年にインテルは、「Sandy Bridge」コアから導入する新命令セット「AVX」を発表した。歴代のSSEをしのぐ大幅な拡張となり、SSEレジスターは256bitに拡張される。
・AVXでは命令デコードの方法も新しくなる。命令長を識別しやすくなるため、x86の弱点だったデコードの高速化が可能となる。
・一方AMDは、独自に「SSE5」を開発していた。将来のCPUとGPUの融合「Fusion」を想定していたが、「Bulldozer」コアの遅れ、ソフトウェアサポートといった問題を抱えていた
・結局2009年5月には、AMDもAVXのサポートを表明する。しかしAVXに不足している整数演算や比較、分岐命令などは、独自の拡張を加えることとなった。
この連載の記事
- 第148回 GPU黒歴史 OpenGLの老舗もDirect3Dに乗り遅れ Permedia 3
- 第147回 GPU黒歴史 まともな3Dを作れず会社も撤退 CL-GD547X
- 第146回 GPU黒歴史 DX11への遅れが生んだ駄作 GeForce GTX 480
- 第145回 GPU黒歴史 NVIDIA製のヘアドライヤー? GeForce FX 5800
- 第144回 GPU黒歴史 トリッキーなツインGPUで自滅 Rage Fury MAXX
- 第143回 GPU黒歴史 不出来なドライバが息の根を止めたSavage 2000
- 第142回 CPUとGPUの統合を一層進める2013年のAMD APUの姿
- 第141回 AMDが2013年に投入するPiledriverコアの新技術とは?
- 第140回 GPU黒歴史 不出来なドライバーで波に乗れず Ticket to Ride 4
- 第139回 GPU黒歴史 スマッシュヒットの初代が足枷に RenditionのGPU
- この連載の一覧へ














