出典: 積和演算 [外語] MAC: Multiply and ACcumulation 『通信用語の基礎知識』 更新年月日 2014/11/27,URL: https://www.wdic.org/ 積の和を求める演算。つまり、二つの値の積を累算中の値に加算する演算 [概要] DSPの得意とする処理であり、かつ信号処理では必須の処理となる。積和演算は、式で書くと、次のようになる。 a ← b + (c × d) このままだと4項演算だが、aとbを同じにして3項演算とし、累算に特化した実装も多い。 a ← a + (b × c) 極めて単純明快な演算ではあるが、この演算速度が信号処理における最大の律速要因になり、信号処理速度そのものを決めてしまうので侮れない(あなどれない)。 この積和演算速度を表わすために、MMACS(メガ積和演算/秒)やGMACS(ギガ積和演算/秒)といった単位も存在するほどである。 従って、全てのDSPには汎用のMPUにはない高速乗算器とともに積和演算器が搭載され、積和演算命令(MAC命令)が用意されている。これにより、ほぼ全てのDSPはこの演算を1命令サイクルで実行するのである。 [特徴] 呼称 一般的には、Multiply and ACcumulationからMACという。 Intelは、Fused Multiply addからFMAと呼んでいる。 DSPの場合 DSPでも様々な実装があり、それぞれに特徴がある。一般的には、ニーモニックで次のように書くことが多いようではある。 MAC A,B,SUM AとBが二つの値で、SUMが累算する積和演算レジスターである。 積和演算レジスターが一つしかないようなDSPの場合は、これは省略されることになるだろう。 SuperHの場合 SuperHなど汎用のプロセッサーでも、積和演算器が組み込まれた製品がある。こういったプロセッサーでは汎用レジスターよりも大きな値を扱う必要があるため、積和演算レジスターとして、専用にレジスターを持っていることが多い。 SuperHの場合は2つの汎用レジスターで16または32ビットの値二つのポインターを示して使う。積和演算レジスターは一つしかないので指定する必要が無い。例えば次のようになる。 MAC.L @R0+,@R1+ 演算終了後、レジスターは自動で増分される。このため、メモリー上に連続してデータを用意しておけば、連続して命令を実行することができる。 SuperHの場合は汎用レジスターが32ビット、積和演算レジスターは64ビットなので、積和演算レジスターの上位・下位32ビットごとに分けて、汎用レジスターやメモリーに複写する命令が存在する。 ARMの場合 ARMも汎用のプロセッサーだが、組み込みを想定していることから、積和演算回路を搭載している。しかもARMの場合、4項演算が可能など、非常に贅沢な作りとなっている。 MLA{ UMLAL{ SMLAL{ MLAは、32ビットで演算し、結果を32ビットで返す命令である。UMLALとSMLALは、32ビット× 32ビットを実行し64ビットの整数に加算した結果を返す命令で、うちUは無符号、Sは符号付きを意味する。Sは、Rm, Rs, Rdの3値全てが符号ありとして扱われる。 ちなみにARMv6T2以降には、MLSという積差演算の命令が搭載された。 |
出典: 積和演算 『フリー百科事典 ウィキペディア日本語版(Wikipedia)』 最終更新 2017年9月24日 (日) 16:08 UTC、URL: https://ja.wikipedia.org/ 積和演算 (せきわえんざん)は、演算のひとつで、積の和を求める、つまり乗算の結果を順次加算する演算である。乗累算 (じょうるいざん) とも言う。MAD/MADD (multiply-add) もしくは MAC/MACC (multiply-accumulate) と呼ばれることもある。デジタル信号処理において非常に多く使用される演算で、デジタルシグナルプロセッサでは積和算命令を1クロックで実行できる専用の演算回路を持つ。また、1秒間にこの積和演算を何回実行できるか、がプロセッサの性能指標として使われることもある。 [融合積和演算] 積和の演算式において、途中の積算 {\displaystyle b\times c} b\times cの演算結果を浮動小数点数の値としていったん丸めてしまうと、最終演算結果に大きな誤差が発生する。途中の積算を丸めず、積和演算を1命令で行なってしまうことで、最終演算結果の誤差を小さくするのが融合積和演算 (fused multiply-add, FMA/FMAD) である。FMAはIEEE 754規格の2008年改訂版 (IEEE 754-2008) で標準化されている。 ・・・ |
同義語・類義語 | 関連語・その他 |
---|---|
MAC | マ́ルチプラ̀イ |
Multiply and Accumulation | [他動詞] |
mʌ́ltəplài ənd əkjùːmjuléiʃən | ~を掛ける |
モァルゥトゥプラゥイ エァンドゥ アキュムレゥイシュン | ~を拡大させる |
モァルゥトゥプラゥイ・エァンドゥ・アキュムレゥイシュン | [自動詞] |
モァ́ルゥトゥプラゥ̀イ・エァンドゥ・アキュ̀ムレゥ́イシュン | 掛ける |
マルチプライ アンド アキュミュレーション | かける |
マルチプライ・アンド・アキュミュレーション | 掛け算をする |
マ́ルチプラ̀イ・アンド・アキュ̀ミュレーション | ・ |
MACC | accumulate |
multiply-accumulate | əkjúːmjulèit |
マルチプライ・アキュミュレート | アキュミュレゥイツ |
エム エイ シー | アキュ́ミュレゥ̀イツ |
エム エー シー | アキュミュレート |
積和演算 | アキュ́ミュレ̀ート |
せきわえんざん | [他動詞] |
乗累算 | 累算する |
じょうるいざん | るいさんする |
MAD | 積み重ねる |
MADD | 累積する |
multiply-add | 集積する |
mʌ́ltəplài ǽd | [自動詞] |
モァルゥトゥプラゥイ・アェッドゥ | 堆積する |
マルチプライ・アッド | 積もる |
・ | ・ |
Accumulation | |
əkjùːmjuléiʃən | |
【 以下関連語 】 | アキュムレゥイシュン |
FMA | アキュ̀ムレゥ́イシュン |
fjuːzd mʌ́ltəplài ǽd | アキュミュレーション |
フィユーズトゥ・モァルゥトゥプラゥイ・アェッドゥ | アキュ̀ミュレーション |
フューズド・マルチプライ・アッド | [名詞] |
融合積和演算 | 累積 |
ゆうごうせきわえんざん | るいせき |
・ | 蓄積 |
Multiply | ちくせき |
mʌ́ltəplài | |
モァルゥトゥプラゥイ | |
モァ́ルゥトゥプラゥ̀イ | |
マルチプライ | |
更新日:2024年 4月 1日 |