乘积累加运算

✍ dations ◷ 2025-04-04 11:27:03 #乘积累加运算

乘积累加运算(英语:Multiply Accumulate, MAC)是在数字信号处理器或一些微处理器中的特殊运算。实现此运算操作的硬件电路单元,被称为“乘数累加器”。这种运算的操作,是将乘法的乘积结果和累加器 A 的值相加,再存入累加器:

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

MAC指令的输入及输出的数据类型可以是整数、定点数或是浮点数。若处理浮点数时,会有两次的数值修约(Rounding),这在很多典型的DSP上很常见。若一条MAC指令在处理浮点数时只有一次的数值修约,则这种指令称为“融合乘加运算”/“积和熔加运算”(fused multiply-add, FMA)或“熔合乘法累积运算”(fused multiply–accumulate, FMAC)。

融合乘加运算的操作和乘积累加的基本一样,对于浮点数的操作也是一条指令完成。但不同的是,非融合乘加的乘积累加运算,处理浮点数时,会先完成b×c的乘积,将其结果数值修约到N个比特,然后才将修约后的结果与寄存器a的数值相加,再把结果修约到N个比特;融合乘加则是先完成a+b×c的操作,获得最终的完整结果后方才修约到N个比特。由于减少了数值修约次数,这种操作可以提高运算结果的精度,以及提高运算效率和速率。

积和融加运算可以显著提升像是这些运算的性能和精度:

通常依靠积和融加运算来获取更精确的运算结果。然而,Kahan指出,如果不加思索地使用这种运算操作,在某些情况下可能会带来问题。像是平方差公式2 − 2,它等价于 ((×) − ×),若果x与y已知数值,使用积和融加运算来求结果,哪怕 = 时,因为在进行首次乘法操作时无视低位的有效比特,可能会使运算结果出错,如果是多步运算,第一步就出错则会连累后续的运算结果接连出错,比如前述的平方差求值后,再取结果的平方根,那么这个结果也会出错。

相关

  • 隅谷调查团隅谷调查团是为解决成田机场问题而在1991年9月成立的一个日本知识分子团体。隅谷调查团有5人组成:调查团的目标是找出成田机场问题的原因,找到符合社会正义的解决问题的途径。
  • 芥菜团子芥菜团子,是流行于江西南昌的一种风味小点,为芥菜捣碎后,用小磨磨之,挤压出汁,再用汁水同晾干后的水磨纯糯米粉拌匀揉和,然后蒸至半成熟,取出揉匀,再用模具做出团子的形状。芥菜团子
  • 帕维洛斯塔自治市帕维洛斯塔自治市 (拉脱维亚语:Pāvilostas novads),是拉脱维亚的一个自治市,设立于2009年拉脱维亚进行行政区重划,改制为自治市。帕维洛斯塔自治市位于该国西部,滨波罗的海。人
  • 潘遥潘遥(1927年-),男,江苏滨海人,中华人民共和国政治人物,曾任全国供销合作总社代主任,中华人民共和国商业部副部长,第八届全国政协委员。
  • 崔杰 (外交官)崔杰(1931年-),男,山东济南人,中华人民共和国政治人物、外交官。1986年,接替孙浩,担任中华人民共和国驻毛里塔尼亚大使。1989年,接替顾欣尔担任中华人民共和国驻加纳大使。1991年,由郭
  • 丽西安之歌《丽西安之歌》(英语:The Lay of Leithian)是英国作家J·R·R·托尔金的未完诗作,叙述贝伦与露西恩的爱情故事。1985年,这首诗被收录在《中土世界的历史》第三部《贝尔兰没落(英语
  • 陈跃坤陈跃坤(Chen Yuekun,1990年10月30日-),湖北武汉人,中国男子羽毛球运动员。1996年,陈跃坤在小一开始便跟随启蒙教练林书惠练习羽毛球;至2003年进
  • 名犬莱西《名犬莱西》(日语:名犬ラッシー)为日本动画公司制作的〈世界名作剧场〉系列第22部的动画作品。改编自英国作家艾瑞克·奈特的作品《灵犬莱西》(莱西回家,)。自1996年1月14日播至同年1996年8月18日,全26集(这部有1集电视未播映,播映当时只有播25集而已)。※没有插入歌。
  • 基因生医星宝国际股份有限公司(原基因国际生医股份有限公司,英语:xingbao International Co.Ltd)是目前全台于自费医疗领域专业的医疗管理辅导顾问公司。然而基因国际于2013年10月2日上午遭检调搜索,包括董事长徐洵平的住处和基因国际生技公司等多处。检调人员怀疑幕后股东涉嫌进行内线交易炒股获利。检调是依违反证交法内线交易罪发动侦查,除约谈股东许雅钧、许庆祥外,另搜索、约谈基因国际董事长徐洵平、姜丽芬夫妻及他们的住处。
  • 威廉·乔利茨威廉·弗雷德里克·乔利茨(英语:William Frederick Jolitz,1957年2月22日-2022年),昵称比尔·乔利茨(Bill Jolitz),生于美国,软件程序员。于1989年至1994年间,与其妻子琳恩·乔利茨(Lynne Jolitz),领导开发了386BSD操作系统。威廉·乔利茨于1997年在加利福尼亚大学柏克莱分校(UC Berkeley)取得计算机科学文学学士(BA)学位。在1991年,Net/2操作系统发布之后,威廉·乔利茨将它移植到Intel 80386环境上,开发出38