乘积累加

维基百科,自由的百科全书
跳转至: 导航搜索

乘積累加英语Multiply Accumulate, MAC)是在数字信号處理器或一些微處理器中的特殊運算,是將乘法的結果和累加器 A 的值相加,再存入累加器。

a \leftarrow a + b \times c

若沒有使用 MAC 指令,上述的程序可能需要二個指令,但 MAC 指令可以使用一個指令完成。而許多運算(例如卷积运算、点积运算、矩阵运算、数字滤波器运算、乃至多项式的求值运算)都可以分解為數個 MAC 指令,因此可以提高上述运算的效率。

MAC 指令的輸入及輸出可以是整數定點數或是浮點數。若處理浮點數時,會有兩次的數值修約(Rounding)。若在處理浮點數時只有一次的數值修約,則這種指令稱為積和熔加运算(fused multiply-add, FMA)。