Обнаружение искажения вычислительного процесса. Обнаружение программных ошибок

Страницы работы

Фрагмент текста работы

Алгоритм вычисления функции (1) по бинарной программе представлен на рисунке 5.13. Метод бинарных программ имеет наибольшее быстродействие среди компиляционных методов и не требует оперативной памяти для хранения промежуточных результатов в отличие от метода непосредственного вычисления. Недостатком метода является громоздкость программы при большом числе переменных.

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

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

В табл. 4 приведены значения функции (1) при всех входных наборах. Для хранения таблицы значений в памяти микропроцессорной системы выделяется область из восьми последовательно расположенных ячеек. Адрес первой ячейки, где хранится значение функции на двоичном наборе 000, имеет имя TABLE. Остальные ячейки имеют относительные адреса (относительно ячейки TABLE), совпадающие с десятичным эквивалентом соответствующего двоичного набора. Поэтому сложение двоичного набора, на котором надо определить значение функции, с числом TABLE дает адрес ячейки, где хранится искомое значение функции.

Рисунок 5.13 – Алгоритм бинарной программы

Рисунок 5.14 – Алгоритм программы адресных переходов

Таблица 4

a

b

c

f

Адрес ячейки памяти

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

0

0

0

0

1

1

0

TABLE

TABLE + 1

TABLE + 2

TABLE + 3

TABLE + 4

TABLE + 5

TABLE + 6

TABLE + 7

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

Программная реализация автоматов – 2 часа.

При программной реализации дискретных устройств (ДУ) с памятью используется их представление в виде таблиц переходов или логических функций. Рассмотрим три способа программной реализации на примере автомата определения направления движения АНД поезда (рисунок 5.15). Для определения направления движения на пути устанавливается два путевых датчика х1 и х2. С вступлением колесной пары в зону действия датчика формируется сигнал х = 1. АНД имеет два входа х1 и х2 и три выхода. На выходах Ч и Н формируются сигналы 1 при соответствующем направлении движения. На выходе С формируется сигнал счета при прохождении одной оси поезда через контрольную точку. Зоны действия датчиков перекрываются, поэтому при прохождении колеса над ними одновременно формируются сигналы х1 = 1 и х2 = 1.

Рисунок 5.15 – Функциональная схема АНД

Вершины графа переходов АНД (рисунок 5.16) соответствуют внутренним состояниям автомата, а дуги — переходам между ними. Каждой дуге соответствует значение сигналов на входах, под действием которых данный переход осуществляется. Каждому состоянию соответствует значение сигналов на выходах Ч, С и Н. Состояния автомата имеют следующий смысл: 1 — "Начальное состояние, в зоне действия датчиков нет колесной пары"; 2 — "Колесная пара вступила в зону действия датчика х1 в четном направлении движения"; 3 — "Колесная пара находится в зоне действия датчиков х1 и х2, формируется сигнал на выходе Ч"; 4 — "Колесная пара освободила зону действия датчика х1 и находится в зоне действия датчика х2, формируется сигнал на выходах Ч и С". Состояния 5 - 7 имеют аналогичный смысл для нечетного направления движения.

Другим способом задания алгоритма работы автомата является составление таблицы переходов (табл. 1) и таблицы выходов (табл. 2).

Строки таблиц соответствуют внутренним состояниям s автомата

Похожие материалы

Информация о работе