Кому как. Абисьняю (с) (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 01 декабря 2003 г. 20:35
В ответ на: При переходе через ноль устанавливается флаг переполнения, а счет идет по кругу. И этого вполне достаточно :) отправлено nail 01 декабря 2003 г. 20:11

Для простоты писания - со знаком (не знаю как из C до переноса/переполнения добраться).


a-=K;
if (a<0) a=0;

Это занимает допустим 2 такта. Если включить SAT, то отпадает надобность в IF, и время выполнения сокращается до 1 такта. В ДВА раза! А если IF выполняется при помощи команды перехода - то и того больше. Особенно если таких (и аналогичных, включая с умножением) операций надо выполнить очень много. Представьте хотя-бы фильтр для чисел без знака длиной на 512 тапов. 512 тактов на фильтрацию или 1024? Разница заметна?

Вопрос был не зачем это было придумано - об этом почитать можно в доках на процессоры, обладающих такими фичами. А как это согласуется с законами С и описано ли где-либо в стандартах поведение для таких случаев.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru