本文へスキップ

パステムは、桐の業務システム開発を支援しています

ICT用語同義語辞典COMPANY


【 「積和演算」又はそれに関連する用語の意味 】
出典: 積和演算 [外語] 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{}{S} Rd, Rm, Rs, Rn ; Rd = (Rm * Rs) + Rn
 UMLAL{}{S} RdLo, RdHi, Rm, Rs ; RdHi:RdLo += (Rm * Rs)
 SMLAL{}{S} RdLo, RdHi, Rm, Rs ; RdHi:RdLo += (Rm * Rs)
 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) で標準化されている。 ・・・

【積和演算の同義語と関連語 】
< 1 >
同義語・類義語 関連語・その他
FMA fused
éf ém éi fjuːzd
エゥフ エィム エイ フィユーズトゥ
エゥ́フ エィ́ム エ́イ フューズド
エフ エム エイ [形容詞]
エ́フ エ́ム エ́イ 溶かした
FMAD 溶融した
Fused Multiply Add 融解した
fused multiply-add 融合した
fjuːzd mʌ́ltəplài ǽd ヒューズが付いた
フィユーズトゥ モァルゥトゥプラゥイ アェッドゥ
フィユーズトゥ・モァルゥトゥプラゥイ・アェッドゥ multiply
フィユーズトゥ・モァ́ルゥトゥプラゥ̀イ・アェッ́ドゥ mʌ́ltəplài
フューズド マルチプライ アッド モァルゥトゥプラゥイ
フューズド・マルチプライ・アッド モァ́ルゥトゥプラゥ̀イ
フューズド・マ́ルチプラ̀イ・アッ́ド マルチプライ
融合積和演算 マ́ルチプラ̀イ
ゆうごうせきわえんざん [他動詞]
融合積和算 ~を掛ける
ゆうごうせきわさん ~を拡大させる
[自動詞]
IEEE 754-2008 掛ける
掛け算をする


add

ǽd

アェッドゥ

アェッ́ドゥ

アッド

アッ́ド

[他動詞]
【 以下関連語 】 ~を足す
積和演算 ~を加える
せきわえんざん [自動詞]
AVX命令 付け足す
Intel Advanced Vector eXtensions 加算する
Intel AVX 付加する
SIMD拡張命令 加える
融合積和算命令


更新日:2024年 4月12日


【積和演算の同義語と関連語 】
< 2 >
同義語・類義語 関連語・その他
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日


【 他のICT用語辞典へ(外部リンク)】

積和演算 (通信用語の基礎知識)
積和演算 (Wikipedia)