Насыщение и перенос

Что такое насыщение и перенос?

Насыщение и перенос описывают конкретный способ, которым некоторые процессоры имеют дело с условиями переполнения. Например, семейство ADSP-2100 процессоров от Analog Devices® поддерживает любой из этих режимов. Если регистр имеет режим насыщения операции, то условие переполнения установлено к максимальной положительной или позволенной отрицательной величине. С другой стороны, если регистр имеет переносящийся режим работы, условие переполнения установлено к соответствующему значению в области значений представления.

Насыщение и перенос

Рассмотрите 8-битное слово без знака с единственным двоичной точкой масштабированием 2-5. Предположим, что этот тип данных должен представлять синусоиду, которая лежит в диапазоне от-4 до 4. Для значений между 0 и 4, слово может представлять эти числа без отношения, чтобы переполниться. Дело обстоит не так с отрицательными числами. Если переполнение насыщает, все отрицательные величины обнуляются, который является самым маленьким номером, представимым, по условию вводят. Насыщение переполнения показывают в следующем рисунке.

Если переполнение переносится, все отрицательные значения установлены к соответствующему положительному значению. Перенос переполнения показывают в следующем рисунке.

Примечание

Для большинства приложений управления насыщение является более безопасным способом иметь дело с переполнением фиксированной точки. Однако некоторые архитектуры процессора позволяют автоматическое насыщение оборудованием. Если аппаратное насыщение не доступно, то дополнительное программное обеспечение требуется, приводя к большим, более медленным программам. Эта стоимость выравнивается по ширине в некоторых проектах — возможно, из соображений безопасности. Другие проекты принимают, что перенос получает наименьшее, самое быстрое программное обеспечение.

Программное обеспечение Simulink® поддерживает насыщение и переносящийся для всех типов данных с фиксированной точкой. Можно выбрать насыщение или переносящийся для блоков Simulink фиксированной точки с флажком Saturate on integer overflow.

Похожие темы