ru
язык
смартфоны SoC процессоры видеокарты игры
українська русский
Архив | ПроцессорТехнологии и инструкции, используемые в процессорах → FMA (Fused Multiply-Add)
Статья в последний раз корректировалась 2017.03.13 и могла потерять свою актуальность !!!

Fused Multiply-Add
(FMA)

13.03.2017 г.

FMA - набор инструкций процессора, ускоряющий операции умножения-сложения чисел с плавающей запятой. Аббревиатура FMA образована от англ. Fused Multiply-Add, что переводится как умножение-сложение с однократным округлением.

Операции умножения-сложения очень распространены и играют важную роль в работе вычислительной техники. Особенно, когда речь идет о цифровой обработке аналоговых сигналов (двоичное кодирование видео, звука и другие подобные операции). В связи с этим, поддержка инструкций FMA внедрена не только в центральные процессоры, но и в графические процессоры многих современных видеокарт.

В центральных процессорах инструкции FMA используются в двух вариантах:

FMA4 (4-operand FMA) - разработан компанией AMD, впервые реализован в архитектуре Buldozer;

FMA3 (3-operand FMA) - разработан компанией Intel, используется в процессорах Intel, начиная с архитектуры Haswell, а также в процессорах AMD, начиная с архитектуры Piledriver.

Инструкции FMA3 и FMA4 обладают практически одинаковой функциональностью, но не взаимозаменяемы. В некоторых процессорах AMD реализована поддержка обоих вариантов, в то время как в процессорах Intel поддержка FMA4 отсутствует.

Основная разница между FMA3 и FMA4 состоит в количестве используемых операндов. С инструкциями FMA4 процессор работает по схеме a = b + (c x d). FMA3 предполагает схему a = a + (b x c).

Таким образом, 4-операндная схема позволяет сохранять результат вычислений в отдельный операнд, в то время как в 3-операндной результат записывается в один из обрабатываемых операндов, изменяя его.

На первый взгляд, FMA4 является более прогрессивным вариантом и обеспечивает повышенную гибкость программирования. Однако, на аппаратном уровне (в процессоре) его значительно сложнее реализовать. Кроме того, использование программистами инструкций FMA3 обеспечивает более короткий код, чем в случае с FMA4.





вверх