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

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

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

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

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

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

Примечание

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

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

Похожие темы