Main Content

饱和与绕回

什么是饱和与绕回?

饱和与绕回描述某些处理器处理溢出情况的一种特殊方式。例如,Analog Devices® 的 ADSP-2100 系列处理器支持这两种模式。如果寄存器采用饱和工作模式,则溢出条件设置为允许的最大正值或负值。相反,如果寄存器采用绕回工作模式,则溢出条件设置为表示范围内的适当值。

饱和与绕回

假设有一个 8 位无符号字,纯二进制小数点定标为 2-5。假设此数据类型必须表示范围为 -4 到 4 的正弦波。对于 0 到 4 之间的值,该字可以表示这些数字而不发生溢出。但对于负数则不然。如果对溢出进行饱和处理,则所有负值都设置为零,这是该数据类型可表示的最小数。下图显示溢出的饱和处理。

如果对溢出进行绕回处理,则所有负值都设置为适当的正值。下图显示溢出的绕回处理。

注意

对于大多数控制应用,饱和是处理定点溢出的更安全的方法。不过,一些处理器架构允许硬件自动进行饱和处理。如果无法由硬件进行饱和处理,则需要由额外的软件进行饱和处理,从而导致程序更大、执行速度更慢。由此带来的成本在某些设计中是合理的 - 也许是出于安全原因。其他设计接受绕回以使软件最小、执行速度最快。

Simulink® 软件支持所有定点数据类型的饱和与绕回。您可以使用对整数溢出进行饱和处理复选框为定点 Simulink 模块选中饱和或绕回。

相关主题