Программирование вычислений с фиксированной точкой в микроконтроллерах

УДК 681.3.06:621.316.544.1 - 181.48

М.И.Ледовской

ПРОГРАММИРОВАНИЕ ВЫЧИСЛЕНИЙ С ФИКСИРОВАННОЙ ТОЧКОЙ В МИКРОКОНТРОЛЛЕРАХ

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

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

В работе рассматривается методика, которая нивелирует особенности целочисленной арифметики и тем самым упрощает синтез программ для микроконтроллеров. Методика основана на результатах анализа процедуры масштабирования, а именно: на формальных моделях арифметических операций (сложения, вычитания, умножения и деления), с помощью которых можно моделировать вычисления над вещественными переменными в формате целых чисел [1]. Данные модели оформляются в виде соответствующих макроопределений на языке ассемблера, благодаря чему основная программа превращается в последовательность макровызовов.

1. Ледовской М.И. Моделирование операций над вещественными переменными в формате целых чисел: Материалы международной научной конференции ’’Системный подход в науках о природе, человеке и технике” - часть5 -Таганрог: ТРТУ, 2003, стр.29-36.