Операция умножения–накопления
-
Основы операции MAC
- MAC (умножение-накопление) — это операция, которая вычисляет произведение двух чисел и суммирует его.
- Аппаратный блок для MAC-операции называется множителем-накопителем.
-
История и развитие MAC
- Перси Ладгейт изобрел MAC в 1909 году.
- Современные процессоры используют MAC для различных вычислений, включая цифровые сигнальные процессоры и процессоры общего назначения.
-
Арифметика с плавающей запятой и FMA
- В арифметике с плавающей запятой точность ограничена, поэтому важно использовать однократное округление для получения более точного результата.
- Комбинированное умножение-сложение (FMA) позволяет выполнять вычисления с полной точностью и округлять результат до нужного количества значащих битов.
-
Преимущества и недостатки FMA
- FMA может ускорить вычисления и повысить точность, но может привести к ошибкам при неправильном использовании.
- Стандарт IEEE 754-2008 требует 2N-разрядного сумматора для корректного вычисления суммы.
- FMA позволяет эффективно реализовывать операции деления и извлечения квадратного корня, устраняя необходимость в специальном оборудовании.
-
Поддержка FMA в различных архитектурах
- FMA включена в стандарт IEEE 754-2008 и поддерживается многими процессорами, включая IBM POWER1 и современные графические процессоры.
- Компиляторы GCC и Clang C поддерживают FMA по умолчанию, а в GCC есть опция для глобального контроля преобразования умножения с последующим сложением.
Полный текст статьи: