最近用STM32做24位AD的FIR滤波算法,需要进行两个32位有符号数相乘的运算,用C写的两个数相乘的语句如下: FIR_Result = (signed long long)AD_Result[0] * (signed long long)B[0]; 其中AD_Result和B是signed long型的,FIR_Result是signed long long型的。 测试发现STM32工作在72M时该语句执行时间为480多ns。如果将程序用速度优化为最高后大概450ns。 我的问题是这个执行时间能不能再短一些?Cortex-M3不是带有单周期硬件乘法器吗? |