STM32主要是面向控制领域,它通过提高CPU的时钟频率和提供硬件乘除法指令,可以满足很多原来只有DSP芯片才能完成的运算要求。如果单独从指令的功能看,DSP芯片的某些指令确实比STM32的强,这正是STM32在时钟频率上努力的方向。当然不同的产品有不同的定位,对于极端要求运算速度的应用或最适合DSP芯片的应用,都不一定适合STM32。
我以前发过一个帖子,介绍了STM32的乘除法指令,再抄录如下:
STM32的乘法指令为单周期的,除法指令根据操作数大小为2~12周期
指令 语义 操作 MUL r0, r1, r2 r0 = (r1 * r2) 乘法,32位结果 MLA r0, r1, r2, r3 r0 = ( r1 * r2) + r3 乘加,32位结果 [U|S]MULL r4, r5, r2, r3 r5:r4 = r2 * r3 乘法,64位结果 [U|S]MLAL r4, r5, r2, r3 r5:r4 = r2 * r3 + r5:r4 乘加,64位结果 SDIV Rd, Rn, Rm Rd = Rn / Rm 有符号除法 SDIV Rd, Rn, Rm Rd = Rn / Rm 无符号除法
乘除法共6条指令形式。 |