FMA4 |
辞書:科学用語の基礎知識 中央演算処理装置用語x86編 (IYCP86) |
読み:エフエムエイ-フォー |
外語:FMA4: four-operand Fused Multiply/Add |
品詞:名詞 |
オペランドが4つあるFMA(積和演算)命令で、特にx86に搭載されている命令セットの一部をいう。
|
概要 |
元々は、IntelがIntel AVXで導入を予定していた命令の一部であった。しかし、命令長が長くなること、そして命令デコーダーが肥大化することを懸念し、最終的に不採用として3オペランドFMA(FMA3)を実装した。
これに対してAMDは、SSE5をキャンセルしてIntel AVXを採用するのにあわせ、このIntelが不採用とした4オペランドFMAをBulldozerマイクロアーキテクチャーから採用することにした(その代わりFMA3の実装は次の製品に持ち越し)。
オペコードはAMDが独自に確保するのではなく、当初予定されていたIntelのそれと完全に同じものを採用した。
しかしIntelが遂にFMA4をサポートしなかったこともあり、殆ど使われていなかったこともあって、その後AMDが発表したZenマイクロアーキテクチャーからは削除された。
特徴 |
VEX |
VEXを使っての符号化でのみ動作する命令である。
VEX.L=1で、ymmおよびm256命令にできる命令が多い。
またすべての命令について、VEX.Wフィールドで、オペランド3とオペランド4の機能を入れ替えることができる。
符号 |
66 0F 3A xx /r /is4相当の機械語をVEX符号化したものを使う。
ModR/Mに続いて/is4があるのが特徴で、このバイトの上位4ビットでもう一つのXMMレジスターを指定できる。
機能の有無判別 |
EAX=80000000HでCPUID命令を実行し、返却値EAXの最上位ビットが1となる拡張CPUID対応環境で、かつEAX=80000001HでCPUIDを実行した結果得られたECXレジスターのビット16が1のとき、FMA4に対応している。
Intelでは対応製品がない。AMDはBulldozer以降で対応する。
命令 |
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |