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

 

Изобретение относится к области вычислительной техники. Целью изобретения является повьшение достоверности контроля. Устройство содержит регистр сдвига, схему сравнения, блок хранения контрольного слова, счетчики, триггеры, элементы И, буферный регистр, компаратор адреса, регистр режима, элементы ИЛИ. 4 ил. к оо О5 4; ОО

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

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

РЕСПУБЛИК (59 4 G 06 F 11 28

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

К АВТОРСКОМУ/ СВИДЕТЕЛЬСТВУ (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА

ПРОГРАММЫ (57) Изобретение относится к области вычислительной техники. Целью изобретения является повышение достоверности контроля. Устройство содержит регистр сдвига, схему сравнения, блок хранения контрольного слова, счетчики, триггеры, элементы И, буферный регистр, компаратор адреса, регистр режима, элементы ИЛИ, 4 ил.

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3566422/24-24 (22) 23.03 ° 83 (46) 07.06.86. Бюл. 9 2t (71) Московский институт электронной техники (72) С.П.Кобзев (53) 681.3(088.8) (56) Патент США Ф 4 108359, кл. С 06 Р 11/08. 1978.

Патент США Р 4099668, кл. С 06 F 11/00, С 01 К 15/12, t978.

„„SU„„1236487 А 1

4 123

ri.мооре г ение относится к вычисли тельной технике, а именно к функциональному контролю ЭВМ.

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

На фиг. 1 приведена блок-схема устройства для контроля хода программы; на фиг. 2 — диаграммы информационных и синхрониэирующих сигналов контролируемой ЭВМ; на фиг. 3 — типовые фрагменты программ; на фиг. 4пример фрагмента программы, подготовленной для контроля.

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

ЭВМ посредством входных информацион,.ых шин 6, а к синхронизирующим шинам при помощи входных синхрошин 1 и выходной синхрошины 8. Устройство содержит также дешифратор 9, четвертый — седьмой, третий, второй триггеры 10 — 16 соответственно. Выходы триггеров 10 — 13 соединены с первыми входами четвертого, одиннадцатого, первого, двенадцатого элементов И 17

20 соответственно. Выходы буферного регистра 21 соединены с группой входов компаратора 22 адреса, выходы регистра 23 режима подключены к первым входам пятого — десятого элементов И 24 — 29 соответственно, выходы которых соединены с входами первого элемента ИЛИ 30. Выходы формирователей 31 и 32 импульсов подключены соответственно к первому и второму входам второго элемента ИЛИ 33. Кроме того, в состав устройства входят четвертый 34, третий 35 и пятый 36 формирователи импульсов, третий и второй элементы И 37 и 38.

На фиг. 2 приведены диаграммы сигналов ЭВМ с общей шиной: g — диаграмма сигналов информационных шин контролируемого канала; — диаграмма сигнала синхронизации активного устройства.,(СИА); оо — диаграмма сигнала

"Ввод ; 3 — диаграмма сигнала "Вывод"

) — диаграмма сигнала синхронизации пассивного устройства (СИП).

На фиг. 3 изображены типовые фрагменты контролируемых программ: 6 линейный участок, содержащий команды 39 и 40; о — фрагмент, содержащий

6487 2 команду условного перехода 41 и команды 42 -- 44; 1 — фрагмент, содержащий сходящиеся пути с командами 45 — 48.

Фрагмент программы (фиг. 4) содержит команду 49 установки буферного регистра 21 и служебные (подготавливающие) фрагменты 50 — 53. Раскрыт состав фрагмента 50, содержащего команду 54 установки счетчика 4 и команду 55 установки регистра 23 режима

Служебные фрагменты 52 отличаются от фрагментов 50 и 51 в частности кодом, заносимым в счетчик 5, так как в следующих эа ними контролируемых фрагментах кодовое слово считывается вначале.

Устройство работает следующим образом.

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

В этом множестве можно выделить некоторое подмножество векторов, состав и очередность которого не меняется от выполнения к выполнению фраг—

35 мента и не зависит от входных данных.

Это подмножество (в дальнейшем называемое фиксированным) может служить "идентифицирующим образом" фрагмента.

Способом контроля корректности выполнения фрагмента является суммирование элементов фиксированного подмножества по методу циклического кода для получения контрольного слова и сравнения последнего с ожидаемым.

Их равенство свидетельствует о безошибочном выполнении фрагмента.

До начала контроля фрагмента регистр 1 сдвига сброшен в нулевое состояние. Б процессе контроля век о тора коды, поступающие на регистр 1 по шинам б, суммируются на регистре.

Если в качестве m+1 † слагаемого взять сумму m предудыщих векторов, то результат тождественно равен ну 5 лю„ Поэтому блок хранения контрольного слова представляет собой ячейку, всегда хранящую во всех разрядах нули, подаваем,ые на вторую груп3 1236 пу входов схемы 2 сравнения. Таким образом, принцип контроля корректности выполнения фрагмента заключа— ется в добавлении к фиксированному подмножеству фрагмента еще одного кода, такого что результирующая сумма равна нулю.

При контроле линейного фрагмента (фиг. За), начинающегося командой 39 и заканчивающегося командой 40 кодовое слово, замыкающее фиксированное подмножество, появляется на шинах 6 во время выполнения команды 40. В фрагменте, содержащем команду условного перехода 4 1 (фиг. 3 ) выделено три линейных фрагмента: 42-41, 41-43 и 41-44. Корректны два пути: 42-41-43 и 42-41-44, Каждый из этих путей представлен своим фиксированным подмножеством, состоящим в первом случае из фиксированных подмножеств фрагментов

42-4 1 и 41-43, и во втором случае

42-41 и 41-44. Каждому пути соответствует свое кодовое слово, появляющееся в канале во время выполнения команды 43 или 44. Но результирующая сумма и в том и в другом случае будет равна нулю. Некорректный переход (исключая неправильный анализ

30 логического условия) приводит к подмене фрагмента 4 1-43 или 4 1-44 иным, отличным от этих двух, а следовательно, к искажению результирующей суммы, что обнаруживается в конце фрагмента.

Фрагмент, содержащий сходящиеся пути (фиг. 3 3), состоит из линейных фрагментов 45-46, 47-46, 46-48. Причем оба.пути заканчиваются общим линейным фрагментом 46-48. Каждый из путей идентифицируется своим кодовым словом, вводимым в начале фрагментов 45-46 и 47-46. В этом случае кодовые слова определяются алгоритми. ческим подбором (перебором кодов) или с помощью аналитических зависимостей.

Подготовка устройства к контролю заключается в программном занесении соответствующих кодов на счетчики 4 ,и 5, буферный регистр 21 и регистр 2350 режима. Адрес счетчика или регистра, дешифрованный на дешифраторе 9, активизирует его выход и запоминается на одном из триггеров 10, 11 или 12 по фрон у сигнала СИА. Затем объеди- няясь на соответствующем элементе И 17, 18 или 19 с сигналом "Ввод" записывает код в выбранный счетчик

487 4 или регистр. Одновременно на выходе элемента 20 вырабатывается сигнал синхронизации пассивного устройства, необходимый для завершения, цикла асин; хронного обмена. Триггеры 10 — 13 сбрасываются импульсом, появляющимся на выходе формирователя 36 в момент заднего фронта сигнала СИА. Во второй счетчик и регистр режима код заносится из разных разрядов одного слова. По этому же сигналу устанавливается триггер 15, разрешающий прохождение импульсов через элемент И 37 на счетный вход счетчика 5. С этого момента начинается работа устройства.

Импульсы, появляющиеся на выходе формирователя 25 по заднему фронту сигнала СИА, на выходе формирователя 32 по переднему фронту СИА и на выходе формирователя 35 по перецнему фронту сигнала СИП объединяются на элементе ИЛИ 33 и поступают на счетный вход счетчика 5. Счетчик работает в инверсном режиме. Сигнал заема на выходе счетчика 6 сбрасывает триггер 15 и устанавливает триггер 16, После этого импульсы с формирователей 32, 35, а также 34, формирующего импульс по переднему фронту сигнала

"Вывод", npoxopÿò через элементыИ 24 .

29 (если установлен соответствующий разряд регистра режима) и объединяются на элементе ИЛИ 30, после чего через элемент И 38 поступают на счетный вход счетчика 4 и стробирующий вход регистра 1. По франту СИА на регистре 1 суммируется адрес, присутствующий в этот момент на шинах 6, по фронту "Вывод" — выводимые данные, по фронту СИП вЂ” пересылаемые данные.

Старшие разряды адресов, появляющих" ся в канале, при помощи компаратора 22 сравниваются с коцом, предварительно занесенным на буферный регистр 21. При совпадении на выходе компаратора появляется высокий уровень, запоминаемый на триггер 14 до конца цикла обмена. Это позволяет при помощи элементов И 28 и 29 выделять в фиксированном подмножестве вектора, появляющиеся на шинах при обращении к заданному непрерывному подмножеству адресов. Одновременно с суммированием на регистре 1 производится уменьшение кода счетчика 4.

Последней командой является команда считывания кодового слова, хранящегося точно так же, как и остальные про. граммные константы.

1236481

При равенстве счетчика 4 нулю на его выходе появляется сигнал„ разрешающий сравнение содержимого регистра 1 с нулем на схеме 2 сравнения. При несовпадении на выходе схемы сравнения появляется сигнал ошибки. Возможны следующие режимы формирования фиксированного подмножества кодов, появляющихся на шинах 6, в процессе выполнения контролируемого фрагмента: суммирование адресов (разрешен элемент 24); суммирование вводимых данных (разрешен элемент 25); суммирование выводимых данных (разрешен элемент 26); суммирование пересылаемых данных (разрешен элемент 27); суммирование пересылаемых данных при обращении к заданной области (разрешен элемент 28); суммирование данных вводи мых из заданной области (разрешен элемент 29).

Возможны также произвольные комбинации режимов.

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

Устройство для контроля хода про. граммы, содержащее блок хранения контрольного слова, схему сравнения, регистра сдвига, первый и второй счетчики, дешифратор, регистр режима, буферный регистр, компаратор адреса, два элемента ИЛИ, пять формирователей импульса, шесть триггеров, одиннадцать элементов И, причем входная информационная шина устройства соединена с группой входов дешифратора, группами установочных входов регистра сдвига, первого счетчика, буферного регистра, регистра режима и первой группой входов компаратора адреса, выход первого элемента И соединен с входами сброса регистра сдвига и первого счетчика, вход сдвига регистра сдвига и счетный вход первого счетчика соединены с выходом второго элемента И, груп— па выходов регистра сдвига и группа выходов блока хранения контрольного слова соединены соответственно с первой и второй группами информационных входов схемы сравнения, выход которой является выходом ошибки устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля, в него введены седьмой триггер и двенадцатый элемент И, причем выход первого счетчика соединен с управляющим входом схемы сравнения, группа установочных входов второго счетчика подключена к вход«toA информационной шине ус гройства, а счетный и стробирующий входы — соединены соответственно с выходами третьего и четвертого элементов И, 10 выход второго счетчика соединен с нулевым входом первого триггера и единичным входом второго триггера, нулевой вход и выход которого соединены соответственно с выходом первого счетчика и первым входом второго эле1 l мента И, второй вход которого соединен с выходом первого элемента ИЛИ, входы которого соединены соответственно с выходами пятого-десятого элементов И, первые входы которых со20 единены с выходами соответствующих разрядов регистра режима, первый и второй входы третьего элемента И соединены соответственно с выходами первого триггера и второго элемента ИЛИ, первый, второй и третий входы которого соединены соответственно с выходами первого, второго и третьеrо формирователей импульса, выход

30 первого формирователя импульса соединен с нулевым входом третьего триггера, информационный вход которого соединен с выходом компаратора адреса, выход второго формирователя импульса соединен с вторым входом пятого элемента И, выход третьего формирователя импульса соединен с вторыми входами шестого, восьмого, девятого и десятого элементов И, вход запуска устройства соединен с первыми установочными входами четвертого-седьмого триггеров, входами первого, второго формирователей импульса и синхровходом третьего триггера, выход которого соединен с третьими входами девятого и десятого элементов И, вход и выход четвертого формирователя импульса соединены соответственно с входом "Строб устройства и вторым входом седьмого элемента И, четвертый 9 вход десятого элемента И и третий вход шестого элемента И соединены с синхровходом устройства, выход четвертого элемента И соединен с синхровходом регистра режима, единичным входом первого триггера, синхровход буферного регистра и его группа выходов соединены соответственно с выходом одиннадцатого элемента И и

7 1236 группой выходов компаратора адреса, выход двенадцатого элемента И соединен с входом второго формирователя импульса и является синхровходом устройства, выходы дешифратора соединены с вторыми установочными входами четвертого-седьмого триггеров, выходы которых соединены соответственно

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

123б 487

Составитель С.Кобзев

Редактор Г.Волкова Техред М.Ходанич Корректор М.Демчик

Заказ 3092/52 Тираж 671 Подпис ное

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

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

Производственно-полиграфическое предприятие„ г.ухгород, ул .Проектная, 4

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

 

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

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

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

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

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

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

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

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

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

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

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

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