Multiply-Accumulate

Multiply-Accumulate (kurz: MAC) oder Multiply-Add (kurz: MAD) ist eine Rechenoperation, bei der zwei Faktoren multipliziert und das Produkt zu einem fortlaufenden Summanden (Akkumulator) addiert wird:

Diese Operation wird intensiv bei der Verarbeitung digitaler Signale genutzt. Die Abkürzung MAC wird oft als Maßeinheit für die Leistungsfähigkeit solcher Systeme verwendet.

In FPGAs sowie ASICs wird diese Operation als Teil von DSP-Blöcken (Hardwareeinheiten) bereitgestellt;[1] als Maschinenbefehl ist sie seit den 1980er Jahren in vielen Signalprozessoren wie auch seit Anfang der 2000er Jahre in konventionellen CPUs zu finden. Fused Multiply-Accumulate ist ein Multiply-Accumulate Befehl mit höherer Rechengenauigkeit.

Durch die Erweiterung des Hardware-Multiplizierers um den Akkumulator können Prozessoren die vollständige Operation oft genauso schnell wie eine klassische Multiplikation ausführen. Übliche Ausführungszeiten sind z. B. 2 Takte (40 ns) beim TMS320C40 von Texas Instruments mit 50 MHz Taktfrequenz und 5 Takte (2 ns) bei einem Intel Haswell mit 2,5 GHz Taktfrequenz. FPGAs können die Operation bis zu einigen 100 MHz in einem Taktzyklus ausführen.

Multiply-Accumulate-Befehle werden u. a. für digitale Filter und andere schnelle Berechnungen in der digitalen Bildverarbeitung, der Dekodierung von Videos und der Regelungstechnik eingesetzt. Die Akkumulation entspricht dabei der oft benötigten Integration, die Multiplikation berücksichtigt ein Differential oder bewirkt eine Gewichtung.

Die Argumente und das Ergebnis dieser Operation können je nach Prozessortyp und gewähltem Datentyp

  1. Uwe Meyer-Baese: Digital Signal Processing with Field Programmable Gate Arrays, Springer Verlag, 2014. S. 124ff doi:10.1007/978-3-642-45309-0

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne