更新时间:2024-05-21 11:30
在许多科学计算和工程应用中,乘加操作是一种基本的操作。乘加操作将乘法运算的结果与另外一个操作数融合相加得到最终结果.以节省整个乘加操作的执行延迟。一般而言,在数字信号处理器的指令集中都会包含相应的定点乘加操作。
在通用微处理器中,乘法是由软件实现的,它其实是由时钟控制的一连串“移位—加法”操作。而对于DSP乘法器,则应具有以下基本基本功能:
要求在一个时钟周期里对两个字长为b位的输入由硬件作快速并行乘法; 应能通过格式控制来执行无符号或带符号或混合的乘法操作、小数或整数乘法操作以及扩展精度或双精度运算,并有合适的舍位方法;
应有输入和输出寄存器,这样可以锁存数据,配合流水线操作。也可不用寄存器,使乘法器在透明方式下工作,这样可以有最小的等待时间。
在数字信号处理的滤波器、FFT、卷积及各种矢量运算中,由于要执行
Σb(n)*x(n - k) 一类的运算,这类运算的乘法和加法总是同时出现,因此DSP中就希望将乘法器和加法器相结合,在一个时钟周期完成一次乘、加运算,并且累加乘法运算的结果。这样的运算单元称为乘法累加器。
对于乘法累加器,除了要求能在一个时钟周期完成一次乘、加运算外,为了在累加时保证运算精度,还应在累加输出寄存器中包括足够的保护位,因其在2b位的乘法输出宽度之外,所以称为扩展位。扩展位中的逻辑应该能用来预测累加器的溢出,并且能紧急通知作重新定标度操作,即防溢出处理。