このページの本文へ

前へ 1 2 3 4 次へ

ロードマップでわかる!当世プロセッサー事情 第25回

新命令AVXがもたらすx86の次の革新 その特徴とは

2009年11月02日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/)

  • この記事をはてなブックマークに追加
  • 本文印刷

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に不足している整数演算や比較、分岐命令などは、独自の拡張を加えることとなった。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン