Целочисленная обработка информации в микропроцессорных системах управления

Известия ТРТУ

Т ематический выпуск

Н. С. Анишин, И. Н. Булатникова

ЦЕЛОЧИСЛЕННАЯ ОБРАБОТКА ИНФОРМАЦИИ В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ УПРАВЛЕНИЯ

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

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

Вместе с тем особенности их архитектуры потребовали нового подхода к процессам алгоритмизации, программирования и внедрения микропроцессорных информационных технологий.

Появление микропроцессоров резко изменило характер труда разработчиков приборов и устройств автоматизации, сместив его центр тяжести из традиционной области проектирования радио- и электротехнических схем в область алгоритмизации и программирования [1].

Особенности микропроцессоров (простейший набор команд, ограниченная разрядность сумматора, минимальный объём памяти и др.) не позволяют использовать информационные технологии, традиционные для обычных ЭВМ (форматы входной и выходной информации, наличие операций умножения и деления, копирование при программировании структуры аналитического задания реализуемых функций и т.п.).

Выход из этой ситуации был найден, как указывает Н.П.Брусенцов [2], в том, что «многие трудности использования цифровых машин как математического инструмента не существуют или резко ослаблены в случае, когда машина используется как инструмент кибернетический, т.е. как автомат, систематически корректирующий свою деятельность при помощи обратной связи от обслуживаемых им объектов».

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

Фактически здесь произошло повторение технической истории, но на более высоком уровне. Раньше такие алгоритмы использовались при аппаратной реализации. Но дальнейшее развитие ЭВМ отвергло аппаратную реализацию, заменив её программной.

И вот при появлении микропроцессоров оказались сходными ограничения на аппаратную и на микропроцессорную реализацию (малая длина разрядной сетки, нежелательность сложных операций типа умножения и деления и др.).

Поэтому вполне закономерно нами был предложен новый подход к алгоритмизации микропроцессорных устройств [3], состоящий в использовании целочисленной арифметики, отказе от умножения, деления и других так называемых «длинных» операций, в переходе к разностно-итерационным алгоритмам и к цифровой интерполяции криволинейных траекторий.

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

Как раз этот набор операций и лежит в основе целочисленной арифметики. Именно наличие тестирования и условного перехода обеспечивает нелинейность преобразования информации.

В связи с этим появляется операция тестирования знака тех или иных величин (функция знака sign X).

Рассмотрим один из разностно-итерационных алгоритмов с участием sign X:

4j-i =sign (Xj-i - Yj-i);

Xo=x, Xj=Xj-i - qj.ry2'3, X,

2 2

x + y2

X + y

2 2

¥о=у, Г]=ГЯ + ^ X 2¥п^ Х + у ;

Х + у

где у - номер итерации ('] =1, 2, ..., п), а п - разрядность величин.

Как видно из алгоритма (1), он позволяет вычислить (х2 + у2)/(х + у), хотя ни операция умножения, ни операция деления не выполнялись.

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

Всё это позволило создать алгоритмы цифровой интерполяции различных линий (траекторий): прямая, окружность, гипербола, парабола, эллипс и др.

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

Такие целочисленные алгоритмы очень удобны для микропроцессорной реализации, так как они быстродействующие, более точны (не приходится округлять при умножении и терять остаток от деления при делении), требуют от вычислителя меньше вычислительных ресурсов (объёмов памяти, разрядности сумматора и коммуникационных линий и т.п.).

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Соботка З., Стары Я. Микропроцессорные системы: Пер. с чешского. — М.: Энергоиз-дат, 1991. — 496 с.

2. Брусенцов Н.П. Миникомпьютеры. - М.: 1979, 272 с.

3. Анишин Н.С. Методология проектирования алгоритмического обеспечения микропроцессорных устройств локальной автоматики. Дисс. д-ра. техн. наук, Краснодар: 1990, — 401 с.

4. Анишин Н.С. Неаналитический метод решения обратной задачи для манипуляционных роботов // Машиноведение. 1986. №3. - С. 5 - 9.