Устройство для контроля хода программ

 

Изобретение относится к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем. Цель изобретения - повышение достоверности контроля. Устройство содержит блок 4 формирования сигнатуры, блок 5 памяти, дешифратор 6, блок 7 сравнения и элемент И 8. Устройство позволяет обнаруживать ошибки, проявляющиеся в виде замены одной точки слияния другой. 1 з.п. ф-лы, 7 ил.

СОЮЗ СОВЕТСНИХ

СОЦИАЛ ИСТИЧЕСНИХ

РЕСПУБЛИН (5р 4 .G 06 F 11/28

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ

ПРИ fHHT СССР

К АВТОРСКОМ,Ф СВИДЕТЕЛЬСТВУ

1. (21) 4345418/24-24; 4368400/24-24 (22) 17,1 2,87 (46) 15,09.89. Бюл. № 34 (7l) Московский инженерно-физический институт (72) М.Э.Зиборова, M.А,Иванов и

В.Г,Тышкевич (53) 681.3(088,8) (56) Авторское свидетельство -СССР

¹ 1019451, кл, G 06 F ll/OQ, 1983, Авторское свидетельство СССР № 1300479, кл. G 06 F 11/28, 1987, „„Я0„„1508215

2 (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА . ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем, Цель изобретения — повышение достоверности контроля, Устройство. содержит блок

4 формирования сигнатуры, блок 5 памяти, дешифратор 6, блок 7 сравнения и элемент И 8. Устройство позволяет обнаруживать ошибки, проявляющиеся в виде замены одной точки слияния другой, 1 з.п. ф-лы, 7 ил.

3 150821

Изобретение относится к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем„

Цель изобретения — повышение достоверности контроля.

На фиг.1 приведена схема устройства для контроля хода программ: на фиг.2 — схема блока формирования сиг- 10 натур;, на фиг.3 - пример конкретного выполнения блока формирования сигнатур; на фиг,4 — схема формирователя контрольного кода; на фиг.5 — пример конкретного выполнения 15 блока сумматоров по модулю два; на фиг.6 — схема алгоритма; на фиг„7 таблица, поясняющая логику работы формирователя контрольного кода.

Устройство содержит (фиг,1) груп- 20 пу адресных входов 1, группу инфор-. мационных входов 2, тактовый вход 3, блок 4 формирования сигнатур, блок

5 памяти, дешифратор 6, блок 7 сравнения, элемент И 8 и выход 9 сигна- 25 ла ошибки. Дешифратор 6 имеет первый 10 и второй 11, выходы.

Блок 4 формирования сигнатур (фиг.1 и 2) образуют. формирователь

12 контрольного кода, блок 13 памя- 130 ти и мультиплексор 14.

Формирователь 12 контрольного кода (фиг,3) содержит N регистров 15 разрядностью 1ор !.(, где Ь вЂ” степень простого числа, блоки 16-18 умножения, сложения и деления в поле

GF(L), причем величины, на которые происходит умножение и деление в соответствующих блоках 16 и !8, однозначно определяются элементами сопро-40 вождающей матрицы. Последняя, в свою очередь, однозначно определяется видом образующего многочлена с козффи . циентами из поля СР(1.). Число регистров 15 равно степени образующего мно-45 гочлена.

При L=2 формирователь контрольного када (фиг.4) содержит блок 19 сумматоров по модулю два и N-разрядный регистр 30. 50

При n=N=4 и Р (х)=х +х +1 блок 19 сумматоров по модулю два содержит (фиг,5) четыре сумматора 21 по модулю два (n - разрядность шины данных микропроцессорной системы).

Если блок 4 формирования сигнатур имеет структуру, показанную на фиг,1 устройство работает следующим образом.

Перед началом работы последовательностные элементы блока 12 устанавливаются в начальное состояние S <.

Цепь установки в исходное состояние на фиг.1 не показана. Адресные входы

1 подключаются к шине адреса микропроцессорной системы, информационные входы 2 устройства — к шине данных, а тактовый вход 3 — к линии сигнала чтения памяти команд шины управления системы, Выход 9 сигнала ошибки может быть подан на вход йрерывания систе-. мы.

Контроль хода выполнения программы осуществляется путем сравнения в заданных контрольных точках контрольного кода, сформированного из всех слов программы, предшествующих контрольной точке и считанных из памяти команд системы, с эталонным контрольным числом, сформированным блоком 5 из кода адреса соответствующей контрольной точки. Если сформированный в блоке 12 контрольный код (сигнатура) совпадает с кодовым эталоном, сформированным блоком 5, то программа выполняется правильно, в противном случае на выходе 9 устройства появляется сигнал ошибки.

Реальные программы имеют в своем составе точки слияния ветвей, в которых значения контрольных кодов зависят от того, по какой траектории была реализована программа, В общем случае контрольные коды, полученные прн прохождении различных траекторий, не совпадают. Чтобы обеспечить контроль хода программы, имеющей точки слияния ветвей, в предлагаемом уст-. ройстве в каждой из .указанных точек, 1 осуществляется установка блока 12 в определенные состояния, которые яв" ляются идентификаторами соответствующих точек слияния, после чего процесс фориирования контрольного кода начинается заново.

В процессе воспроизведения программы в каждый момент генерации системой адреса гочки слияния ветвей на выходе 1 О. дешифратора 6 появляется сигнал логической единицы, который приводит к появлению на выходах мультиплексора 14 кода с выходов блока 13, на выходах которого формируется код начального состояния блока 12, Кодидентификатор поступает на вторую группу информационных входов блока

12, после чего процесс формирования .

1 508215 сигнатуры начинается заново. При ло- гическом нуле на управляющем входе мультиплексора 14 на его выходы проходит код с выходов блока 12, который в этом случае работает обычным образом. Блок 13 осуществляет преобразование контрольного кода, полученного после прохождения точек программы, предшествующих точке слияния, в код начального состояния блока 12, -

Каждому выходному коду блока 13 соответствует несколько входных — по числу ветвей, сходящихся в данной точке слияния, Блоки 5 и 13 могут быть реализованы в виде комбинационных схем, В этом случае они строятся на основе соответствующих им таблиц истинности по известным правилам синтеза многовыходных комбинационных схем (диаграммы Вейтча, карты

Карно), Пусть например, программа (фиг.6) имеет две точки слияния: в первой, имеющей адрес А „, сходятся две ветви, сигнатуры которых S, и S, во второй, имеющей адрес А, сходятся три ветви, сигнатуры которых S, Б 4 и S . Поставим в соответствие указанным точкам слияния коды-идентифи< 2 каторы S< и S, соответствующие начальным состояниям блока 12, в которые тот устанавливается при прохождении данных точек, Тогда логика работы блока 12 описывается таблицей, представленной на фиг.7, где Sк сигнатура, полученная в конце программы.

Блок 5 выдает на своих выходах

9 э Э коды S,... S < Б,, когда на его входах коды A ...А ...А соответственно, где S, — эталонная сигнатура в i-й

К контрольной точке с адресом А ., На выходе 10 дешифратора 6 сигнал логической единицы появляется, когда на входах 1 — код одного из адресов А, и А или адрес команды начального пуска. На выходе ll дешифратора 6 сигнал логической единицы появляется, когда на входах 1 — один из кок дов А;.

Так как предлагаемая структура устройства не накладывает никаких ограничений на расположение точек конт роля, последние можно расположить вточках, имеющих одинаковые сигнатуры, что максимально упрощает блок 5, Если выбрать контрольные точки ука" занным способом по каким-либо причинам не удается, их можно выбрать с таким расчетом, чтобы эталонные сиг натуры отличались в минимальном числе разрядов, что также существенно уменьшает аппаратные затраты на реализацию устройства. . I

Время обнаружения ошибки определяется в рассмотренном случае расстоянием от места ее возникновения до ближайшей контрольной точки.

10

Для уменьшения времени обнаружения ошибки можно использовать схему блока 4, показанную на фиг.2, На выходе 11 дешифратора 6 в этом случае постоянно находится уровень логической единицы. Контроль хода выполнения программы осуществляется путем сравнения контрольного кода, сформированного из всех слов программы, предшествующих очередному и считанных ранее из памяти команд системы, с эталонным контрольным числом, извлекаемым иэ блока 5 по тому же адресу, что и очередное слово из памяти ко15

20 манд. Если сформированный в блоке 12

25 контрольный код (сигнатура) совпадает с кодовым эталоном, считанным из блока 5, программа выполняется правильно, в противном случае на выходе 9 появляется сигнал ошибки. Мас30 сив контрольных кодов вычисляется и . размещается в блоке 5 заранее, при этом по тем адресам, которые возбуждаются в памяти команд системы при прохождении программой точек слияния, в блоке 5 хранятся начальные состояния блока 12,.соответствующие указанным точкам, 35

Использование изобретения обеспе

40 чивает. увеличение достоверности контроля: устройство позволяет обнаруживать ошибки, проявляющиеся в виде замены одной точки слияния другой.

Предлагаемое устройство может быть

45 использовано и для контроля блоков микропрограммного управления. В этом случае функции блока 5 и дешифратора 6 выполняют дополнительные разряды памяти микрокоманд.

50 Ф о р м у л а и з о б р е т е н и я

1. Устройство для контроля хода

55 программ, содержащее дешифратор, блок формирования сигнатур, блок сравнения и элемент И, причем выход элемента И является выходом сигнала ошибки устройства, тактовый вход устройства со

1508215 единен с, тактовым входом блока форми-.

1 рования,сигнатур и первым входом элемента И, информационный выход блока формирования. сигнатур соединен с первым .входом блока сравнения, выход которого соединен с вторым входом элемента И, группа информационных входов устройства соединена с группой информационных входов блока фор- 10 мирования сигнатур ° о т л и ч а ющ е е с я тем, что, е целью повышения достоверности контроля, в устройство введен блок памяти, причем адресные входы устройства соединены 15 с информационными входами дешифратора и адресными входами блока памяти, выходы которого соединены с вторым входом блока сравнения, первый и второй выходы дешифратора соеди- 20 иены соответственно с входом модифи,кации сигнатуры блока формирования ,:сигнатур и с третьим входом элемен та И.

2. Устройство по п, 1, о т л и ч а ю щ е е с я тем, что блок формирования сигнатур содержит формиро- ватель контрольного кода, узел памяти и мультиплексор, группа выходов которого соединена с первой группой, информационных входов формирователя контрольного кода, вторая группа информационных входов которого образует группу информационных входов блока, группа выходов формирователя контрольного кода соединена с группой адресных входов узла памяти, первой группой информационных входов мультиплексора и является группой выходов блока, вторая группа информационных входов мультиплексора соеди"нена с группой выходов узла памяти, тактовый вход формирователя контрольного кода и управляющий вход мультиплексора образуют соответственно тактовый вход и вход модификации сигна- . туры блока., 1508? Г5

Фиа

Л1

14

2.f

22

Фиг.4

15082) 5

Фиг.7

Составитель И.Сигалов

Редактор А,Orap Техред Л.Олийнык. Корректор Т. Палий

Заказ 5541/50 Тираж 668 Подписное

ВНИИПИ Государственного комитета ло изобретениям и открытиям при ГКНТ СССР

113035, Иосква, Ж-35, Раушская наб., д. 4/5

Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101

Устройство для контроля хода программ Устройство для контроля хода программ Устройство для контроля хода программ Устройство для контроля хода программ Устройство для контроля хода программ Устройство для контроля хода программ 

 

Похожие патенты:

Изобретение относится к вычислительной технике и может быть использовано при автоматизированной откладке программ в режиме реального времени

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике, может быть использовано для контроля хода вычислительного процесса и перезапуска ЭВМ и является усовершенствованием изобретения по авт

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

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

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

Изобретение относится к вычислительной технике и может быть применено для контроля и отладки аппаратной части микроЭВМ и отладки программ

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

Изобретение относится к области вычислительной техники и позволяет контролировать процесс выполнения программ в микропроцессорных системах

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано при построении управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ), например в системах управления газотурбинного двигателя

Изобретение относится к вычислительной технике и предназначено для автоматизированной отладки программного обеспечения мультимашинных систем, работающих в реальном масштабе времени и имеющих общую память

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

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