单周期乘加运算 ,有些高速DSP甚至可以单周期做2到4个乘加运算。 通常包括较为特殊的地址状态,例如 预先/预后改变地址指针, 循环地址(circular addressing, 用在循环缓存结构中), 反位地址 (bit-reversed addressing,用来运算FFT) 等。
多数DSP都具备特殊的内存结构和外设结构配置 来加速信号处理。例如 SIMD 单指令多数据,可在一个指令周期内同时接入内存的不同位置。(X, Y内存)
? 硬件Loop控制, 无需耗费指令检测LOOP出口条件。
? 不规则指令集,常常可在一条指令中嵌入多条运算(非常长指令句VLIW). 例如在一条 32-bit 指令中编码2个加运算,2个乘运算 ,4个 16-bit 数据搬移运算. 在DSP指令中,在一条指令内同时完成一个算术运算和一个数据搬移运算非常普通。
以上就是一个指令完成一个算术运算的例子,相较于单片机每次都必须判断一次.这也是为什么MCU比DSP慢的原因之一.