dbo:abstract
|
- Multiply-accumulate (z angl. násob-shrň) je matematická operace, která spočítá výsledek násobení a přičte jej do akumulátoru (typicky speciální registr procesoru). Tato operace je pro celá čísla přesná (obvykle se počítá jako modulo s nějakou mocninou čísla 2). V FPU (jednotka pro výpočty s pohyblivou řádovou čárkou) mikroprocesorů (CPU, DSP, GPU) je nejčastěji dvakrát rychlejší, než kdyby se násobení a sčítání počítalo zvlášť, ale je k tomu třeba upravená násobička. Operaci podporuje i standard IEEE 754-2008. V dřívější době to byla typická operace DSP, ale okolo roku 2022 je již implementována ve většině mikroprocesorů, včetně x86-64, ARM, POWER a RISC-V. Používá se zejména v maticových a vektorových algoritmech, například při konvoluci. (cs)
- 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. In modernen FPGAs sowie bei der Entwicklung von anwendungsspezifischen Schaltungen (ASICs) wird diese Operation als Teil von DSP-Blöcken (Hardwareeinheiten) bereitgestellt; 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 können Prozessoren diese genauso schnell wie eine klassische Multiplikation ausführen – übliche Ausführungszeiten sind z. B. 2 Takte (40 ns) beim von Texas Instruments mit 50 MHz Taktfrequenz und 5 Takten (2 ns) beim aktuellen Intel Haswell mit z. B. 2,5 GHz Taktfrequenz. Entgegen üblichen Darstellungen sind Multiply-Accumulate-Befehle auch für Berechnungen abseits der Haupteinsatzbereiche wie für die digitale Bildverarbeitung, Dekodierung von Videos, digitaler Filter und Regelungstechnik verwendbar. Die Argumente und das Ergebnis dieser Operation können je nach Prozessortyp und gewähltem Datentyp
* Integer-Zahlen (Motorola DSP56K),
* Festkomma-Zahlen (kein Typ bekannt),
* einfach genaue Gleitkomma-Zahlen (TI TMS320C30/40, Altivec, Intel Haswell) oder
* doppelt genaue Gleitkomma-Zahlen (Intel Haswell) sein. (de)
- En programmation, à l'origine en traitement numérique du signal, l'opération combinée multiply–accumulate (MAC) ou multiply-add (MAD) est une instruction-machine qui calcule le produit de deux nombres et agrège le résultat au contenu d'un accumulateur. (fr)
- In computing, especially digital signal processing, the multiply–accumulate (MAC) or multiply-add (MAD) operation is a common step that computes the product of two numbers and adds that product to an accumulator. The hardware unit that performs the operation is known as a multiplier–accumulator (MAC unit); the operation itself is also often called a MAC or a MAD operation. The MAC operation modifies an accumulator a: When done with floating point numbers, it might be performed with two roundings (typical in many DSPs), or with a single rounding. When performed with a single rounding, it is called a fused multiply–add (FMA) or fused multiply–accumulate (FMAC). Modern computers may contain a dedicated MAC, consisting of a multiplier implemented in combinational logic followed by an adder and an accumulator register that stores the result. The output of the register is fed back to one input of the adder, so that on each clock cycle, the output of the multiplier is added to the register. Combinational multipliers require a large amount of logic, but can compute a product much more quickly than the method of shifting and adding typical of earlier computers. Percy Ludgate was the first to conceive a MAC in his Analytical Machine of 1909, and the first to exploit a MAC for division (using multiplication seeded by reciprocal, via the convergent series (1+x)−1). The first modern processors to be equipped with MAC units were digital signal processors, but the technique is now also common in general-purpose processors. (en)
- 단일 곱셈-누산기(영어: Fused multiply-add, FMA )는 부동소수점 곱하기와 더하기를 한번에 수행한다. 두 수의 곱한값을 누산기에서 또 다른 값과 더하는 동작이다. 아래의 식에서 b와 c의 곱하기 결과값을 a와 더한 후에 그 결과를 a에 저장됨을 볼 수 있다. 이것을 마이크로프로세서에 적용할 경우, 두 동작으로 곱한후에 더하는 것보다 한번에 곱하기와 더하기를 동시에 함으로써 더 빠른 결과를 얻을 수 있다. 단일 곱셈-누산기(FMA)는 IEEE 754-2008에 포함되어 있다. 단일 곱셈-누산기는 IBM Power1 프로세서에서 처음 적용되었으며, 이후 여러 다른 프로세서에서 적용되기 시작했다.
* 후지쯔 SPARC64 VI (2007) 과 이후제품
* HP PA-8000 (1996) 과 이후제품
* SCE-Toshiba Emotion Engine (1999)
* 인텔 아이테니엄 (2001)
* STI Cell (2006)
* (MIPS-호환) Loongson-2F (2008) 인텔은 해스웰 마이크로프로세서부터 FMA3를 적용할 예정이며 AMD는 FMA4를 지원 예정이다. (ko)
- 積和演算 (せきわえんざん) は、演算のひとつで、積の和を求める、つまり乗算の結果を順次加算する演算である。乗累算 (じょうるいざん) とも言う。MAD/MADD (multiply-add) もしくは MAC/MACC (multiply-accumulate) と呼ばれることもある。演算式は以下のように表される。 積和演算はデジタル信号処理において非常に多く使用される演算で、デジタルシグナルプロセッサでは積和算命令を1クロックで実行できる専用の演算回路を持つ。また、1秒間にこの積和演算を何回実行できるか、がプロセッサの性能指標として使われることもある。 なお、和ではなく差を用いる場合は、積差演算(multiply-subtract)と呼ばれる。 積和演算はドット積の計算に現れる。ベクトル と のドット積は「アキュムレータ に対し要素の積 を足し込む」という積和演算を要素分繰り返すことで得られる。行列積(GEMM)の各要素は行と列のドット積で計算されるため、行列積は積和演算の集まりと言える。 (ja)
- MAC (ang. multiply-accumulate) – operacja wykonywana przez jednostkę arytmetyczno-logiczną (ALU) procesora, polegająca na pomnożeniu zawartości dwóch rejestrów z dodaniem wyniku do aktualnej zawartości innego rejestru, najczęściej akumulatora. MAC jest podstawową operacją procesorów sygnałowych. Operacja ta wykonywana jest w jednym cyklu rozkazowym, co znacznie poprawia szybkość przetwarzania dla algorytmów cyfrowego przetwarzania sygnałów. (pl)
- В вычислительной технике, особенно в цифровой обработке сигналов совмещённое умножение-сложение (multiply-accumulate) — распространённая операция, при которой умножаются два числа и складываются с аккумулятором. Когда операция выполняется над числами с плавающей запятой, то может выполняться двойное округление (типично для DSP) или однократное (сложение происходит с более точным внутренним представлением произведения). Версия с однократным округлением также называется fused multiply-add (FMA) или fused multiply-accumulate (FMAC). (ru)
- У обчислювальній техніці, особливо в цифровій обробці сигналів поєднане множення-додавання (multiply-accumulate) — поширена операція, при якій множаться два числа і складаються з акумулятором. Коли операція виконується над числами з рухомою комою, то може виконуватися подвійне округлення (типово для процесорів цифрових сигналів) або одноразове (додавання відбувається з більш точним внутрішнім поданням добутку). Версія з одноразовим округленням також називається fused multiply-add (FMA) або fused multiply-accumulate (FMAC). (uk)
- 乘積累加運算(英語:Multiply Accumulate, MAC)是在数字信号處理器或一些微處理器中的特殊運算。實作此運算操作的硬體電路單元,被稱為「乘数累加器」。這種運算的操作,是將乘法的乘積結果和累加器 A 的值相加,再存入累加器: 若沒有使用 MAC 指令,上述的程序可能需要二個指令,但 MAC 指令可以使用一個指令完成。而許多運算(例如卷积运算、点积运算、矩阵运算、数字滤波器运算、乃至多项式的求值运算)都可以分解為數個 MAC 指令,因此可以提高上述运算的效率。 MAC指令的輸入及輸出的數據類型可以是整數、定點數或是浮點數。若處理浮點數時,會有兩次的數值修約(Rounding),這在很多典型的DSP上很常見。若一條MAC指令在處理浮點數時只有一次的數值修約,則這種指令稱為「融合乘加運算」/「積和熔加运算」(fused multiply-add, FMA)或「熔合乘法累积运算」(fused multiply–accumulate, FMAC)。 (zh)
|
rdfs:comment
|
- En programmation, à l'origine en traitement numérique du signal, l'opération combinée multiply–accumulate (MAC) ou multiply-add (MAD) est une instruction-machine qui calcule le produit de deux nombres et agrège le résultat au contenu d'un accumulateur. (fr)
- 단일 곱셈-누산기(영어: Fused multiply-add, FMA )는 부동소수점 곱하기와 더하기를 한번에 수행한다. 두 수의 곱한값을 누산기에서 또 다른 값과 더하는 동작이다. 아래의 식에서 b와 c의 곱하기 결과값을 a와 더한 후에 그 결과를 a에 저장됨을 볼 수 있다. 이것을 마이크로프로세서에 적용할 경우, 두 동작으로 곱한후에 더하는 것보다 한번에 곱하기와 더하기를 동시에 함으로써 더 빠른 결과를 얻을 수 있다. 단일 곱셈-누산기(FMA)는 IEEE 754-2008에 포함되어 있다. 단일 곱셈-누산기는 IBM Power1 프로세서에서 처음 적용되었으며, 이후 여러 다른 프로세서에서 적용되기 시작했다.
* 후지쯔 SPARC64 VI (2007) 과 이후제품
* HP PA-8000 (1996) 과 이후제품
* SCE-Toshiba Emotion Engine (1999)
* 인텔 아이테니엄 (2001)
* STI Cell (2006)
* (MIPS-호환) Loongson-2F (2008) 인텔은 해스웰 마이크로프로세서부터 FMA3를 적용할 예정이며 AMD는 FMA4를 지원 예정이다. (ko)
- 積和演算 (せきわえんざん) は、演算のひとつで、積の和を求める、つまり乗算の結果を順次加算する演算である。乗累算 (じょうるいざん) とも言う。MAD/MADD (multiply-add) もしくは MAC/MACC (multiply-accumulate) と呼ばれることもある。演算式は以下のように表される。 積和演算はデジタル信号処理において非常に多く使用される演算で、デジタルシグナルプロセッサでは積和算命令を1クロックで実行できる専用の演算回路を持つ。また、1秒間にこの積和演算を何回実行できるか、がプロセッサの性能指標として使われることもある。 なお、和ではなく差を用いる場合は、積差演算(multiply-subtract)と呼ばれる。 積和演算はドット積の計算に現れる。ベクトル と のドット積は「アキュムレータ に対し要素の積 を足し込む」という積和演算を要素分繰り返すことで得られる。行列積(GEMM)の各要素は行と列のドット積で計算されるため、行列積は積和演算の集まりと言える。 (ja)
- MAC (ang. multiply-accumulate) – operacja wykonywana przez jednostkę arytmetyczno-logiczną (ALU) procesora, polegająca na pomnożeniu zawartości dwóch rejestrów z dodaniem wyniku do aktualnej zawartości innego rejestru, najczęściej akumulatora. MAC jest podstawową operacją procesorów sygnałowych. Operacja ta wykonywana jest w jednym cyklu rozkazowym, co znacznie poprawia szybkość przetwarzania dla algorytmów cyfrowego przetwarzania sygnałów. (pl)
- В вычислительной технике, особенно в цифровой обработке сигналов совмещённое умножение-сложение (multiply-accumulate) — распространённая операция, при которой умножаются два числа и складываются с аккумулятором. Когда операция выполняется над числами с плавающей запятой, то может выполняться двойное округление (типично для DSP) или однократное (сложение происходит с более точным внутренним представлением произведения). Версия с однократным округлением также называется fused multiply-add (FMA) или fused multiply-accumulate (FMAC). (ru)
- У обчислювальній техніці, особливо в цифровій обробці сигналів поєднане множення-додавання (multiply-accumulate) — поширена операція, при якій множаться два числа і складаються з акумулятором. Коли операція виконується над числами з рухомою комою, то може виконуватися подвійне округлення (типово для процесорів цифрових сигналів) або одноразове (додавання відбувається з більш точним внутрішнім поданням добутку). Версія з одноразовим округленням також називається fused multiply-add (FMA) або fused multiply-accumulate (FMAC). (uk)
- 乘積累加運算(英語:Multiply Accumulate, MAC)是在数字信号處理器或一些微處理器中的特殊運算。實作此運算操作的硬體電路單元,被稱為「乘数累加器」。這種運算的操作,是將乘法的乘積結果和累加器 A 的值相加,再存入累加器: 若沒有使用 MAC 指令,上述的程序可能需要二個指令,但 MAC 指令可以使用一個指令完成。而許多運算(例如卷积运算、点积运算、矩阵运算、数字滤波器运算、乃至多项式的求值运算)都可以分解為數個 MAC 指令,因此可以提高上述运算的效率。 MAC指令的輸入及輸出的數據類型可以是整數、定點數或是浮點數。若處理浮點數時,會有兩次的數值修約(Rounding),這在很多典型的DSP上很常見。若一條MAC指令在處理浮點數時只有一次的數值修約,則這種指令稱為「融合乘加運算」/「積和熔加运算」(fused multiply-add, FMA)或「熔合乘法累积运算」(fused multiply–accumulate, FMAC)。 (zh)
- Multiply-accumulate (z angl. násob-shrň) je matematická operace, která spočítá výsledek násobení a přičte jej do akumulátoru (typicky speciální registr procesoru). Tato operace je pro celá čísla přesná (obvykle se počítá jako modulo s nějakou mocninou čísla 2). V FPU (jednotka pro výpočty s pohyblivou řádovou čárkou) mikroprocesorů (CPU, DSP, GPU) je nejčastěji dvakrát rychlejší, než kdyby se násobení a sčítání počítalo zvlášť, ale je k tomu třeba upravená násobička. Operaci podporuje i standard IEEE 754-2008. (cs)
- 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. In modernen FPGAs sowie bei der Entwicklung von anwendungsspezifischen Schaltungen (ASICs) wird diese Operation als Teil von DSP-Blöcken (Hardwareeinheiten) bereitgestellt; 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. (de)
- In computing, especially digital signal processing, the multiply–accumulate (MAC) or multiply-add (MAD) operation is a common step that computes the product of two numbers and adds that product to an accumulator. The hardware unit that performs the operation is known as a multiplier–accumulator (MAC unit); the operation itself is also often called a MAC or a MAD operation. The MAC operation modifies an accumulator a: (en)
|