Устройство для контроля хода программы
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1236487
Автор: Кобзев
Текст
(ОНТР я к облас ние от й техн тся по ль трондос сод ист ср ьнои конт о слов хранени онт нты И, тор адреса, ИЛИ 4 ил элем мпар четчики уферный ггерстр,а, эл ате гистр режи СО 1 ОЭ ОжТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК ОСУДАРСТВЕННЫЙ КОМИТЕТ СССРО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИИ ПИСАНИЕ(71) Московский иной техники(57) Изобретвычислительнретения явля гистр сдвига, сх4 123Ф 1.мооре г ение относится к вычислительной технике, а именно к Функциональному контролю ЭВМ.Цель изобретения - повышение достоверности контроля.На фиг. 1 приведена блок-схемаустройства для контроля хода программы; на фиг. 2 - диаграммы информационных и синхрониэирующих сигналовконтролируемой ЭВМ; на фиг. 3 - типовые Фрагменты программ; на фиг. 4 пример фрагмента программы, подготовленной для контроля,Устройство для контроля хода программы (Фиг, 1) содержит регистр 1сдвига, используемый при реализациициклических кодов, схему 2 сравнения,блок 3 хранения контрольного слова,первый счетчик 4, второй счетчик 5,Устройство подключается к информационным шинам канала контролируемойЭВМ посредством входных информацион,.ых шин 6, а к синхронизирующим шинам при помощи входных синхрошин 1 ивыходной синхрошины 8. Устройство содержит также дешифратор 9, четвертый - седьмой, третий, второй триггеры 10 - 1 Ь соответственно. Выходытриггеров 10 - 13 соединены с первыми входами четвертого, одиннадцатого,первого, двенадцатого элементов И 1720 соответственно. Выходы буферногорегистра 21 соединены с группой входов компаратора 22 адреса, выходырегистра 23 режима подключены к первым входам пятого - десятого элементов И 24 - 29 соответственно, выходы которых соединены с входами первого элемента ИЛИ 30. Выходы формироваФелей 31 и 32 импульсов подключенысоответственно к первому и второмувходам второго элемента ИЛИ 33, Кроме того, в состав устройства входятчетвертый 34, третий 35 и пятый Збформирователи импульсов, третий ивторой элементы И 37 и 38.На фиг. 2 приведены диаграммы сигналов ЭВМ с общей шиной: Я - диаграмма сигналов информационных шин контролируемого канала; о - диаграммасигнала синхронизации активного устройства, (СИА); о - диаграмма сигналаВвод ; 2 - диаграмма сигнала "Выводи- диаграмма сигнала синхронизациипассивного устройства (СИП).На Фиг. 3 изображены типовые Фрагменты контролируемых программ: 6линейный участок, содержащий команды 39 и 40; о - фрагмент, содержащий б 487 1 команду условного перехода 4 1 и команды 4244; 5 - фрагмент, содержащий сходящиеся пути с командами 45 - 48.5Фрагмент программы (фиг, 4) содержит команду 49 установки буферногорегистра 21 и служебные (подготавливающие) фрагменты 50 - 53, Раскрытсостав фрагмента 50, содержащего команду 54 установки счетчика 4 и команду 55 установки регистра 23 режимаСлужебные фрагменты 52 отличаютсяот фрагментов 50 и 51 в частностикодом, заносимым в счетчик 5, таккак в следующих эа ними контролируемых фрагментах кодовое слово считывается вначале.Устройство работает следующим образом.В общем случае произвольную программу ЭВМ можно разбить на непрерывную цепь Фрагментов. Ход выполненияпрограммы будет корректным, если беэнарушения алгоритма можно от выполне ния предыдущего линейного фрагментапрограммы перейти к последующему,хотя бы на одном допустимом наборевходных данных. При выполнении отдель.- ных Фрагментов программы в канале ЭВМпересылается множество двоичных векторов кодов команд, адресов и т,п,В этом множестве можно выделить некоторое подмножество векторов, состав и очередность которого не меняется от выполнения к выполнению фраг - 35мента и не зависит от входных данных.Это подмножество (в дальнейшем называемое Фиксированным) может служить"идентифицирующим образом" Фрагмента.40Способом контроля корректности выполнения фрагмента является суммирование элементов Фиксированного подмножества по методу циклического кодадля получения контрольного слова исравнения последнего с ожидаемым, 45Их равенство свидетельствует о безошибочном выполнении фрагмента,До начала контроля фрагмента регистр 1 сдвига сброшен в нулевоесостояние, В процессе контроля век- " тора коды, поступающие на регистр 1по шинам б, суммируются на регистре,Если в качестве ш+1-го слагаемоговзять сумму ш предудыщих векторов,то результат тождественно равен ну лю Поэтому блок хранения контрольного слова представляет собой ячейку, всегда хранящую во всех разрядах нули, подаваемые на вторую груп 3 1236 пу входов схемы 2 сравнения. Таким образом, принцип контроля корректности выполнения фрагмента заключается в добавлении к фиксированному подмножеству фрагмента еще одного кода, такого что результирующая сумма равна нулю.При контроле линейного фрагмента (фиг. За), начинающегося командой 39 и заканчивающегося командой 40 кодовое слово, замыкающее фиксированное подмножество, появляется на шинах 6 во время выполнения команды 40. В фрагменте, содержащем команду условного перехода 4 1 (фиг. 3 ) выделено три линейных фрагмента: 42-41, 41-43 и 4 1-44. Кор. ректны два пути: 42-4 1-43 и 42-41-44, Каждый из этих путей представлен своим фиксированным подмножеством, состоящим в первом случае из фиксированных подмножеств фрагментов 42-4 1 и 41-43, и во втором случае 42-41 и 41-44. Каждому пути соответствует свое кодовое слово, появляющееся в канале во время выполнения команды 43 или 44. Но результирующая сумма и в том и в другом случае будет равна нулю. Некорректный переход (исключая неправильный анализ30 логического условия) приводит к подмене фрагмента 4 1-43 или 4 1-44 иным, отличным от этих двух, а следовательно, к искажению результирующей суммы, что обнаруживается в конце фрагмента.фрагмент, содержащий сходящиеся пути (фиг. 3 ), состоит из линейных фрагментов 45-46, 47-46, 46-48, Причем оба.пути заканчиваются общим линейным фрагментом 46-48. Каждый из путей идентифицируется своим кодовым словом, вводимым в начале фрагментов 45-46 и 47-46. В этом случае кодовые слова определяются алгоритми ческим подбором (перебором кодов) или с помощью аналитических зависимостей.Подготовка устройства к контролю заключается в программном занесении соответствующих кодов на счетчики 4 ,и 5, буферный регистр 21 и регистр 2350 режима, Адрес счетчика или регистра, дешифрованный на дешифраторе 9, активизирует его выход и запоминается на однОм из триггеров 10, 11 или 12 по Фрону сигнала СИА. Затем объеди-няясь на соответствующем элементе И 17, 18 или 19 с сигналом "Ввод" записывает код в выбранный счетчик или регистр. Одновременно на выходе элемента 20 вырабатывается сигнал синхронизации пассивного устройства, необходимый для завершения. цикла асин; хронного обмена. Триггеры 10 - 13 сбрасываются импульсом, появляющимся на выходе формирователя 36 в момент заднего фронта сигнала СИА, Во второй счетчик и регистр режима код заносится из разных разрядов одного слова. По этому же сигналу устанавли" вается триггер 15, разрешающий прохождение импульсов через элемент И 37 на счетный вход счетчика 5. С этого момента начинается работа устройства, Импульсы, появляющиеся на выходе фор" мирователя 25 по заднему фронту сигнала СИА, на выходе формирователя 32 ло переднему фронту СИА и на выходе Формирователя 35 по перецнему фронту сигнала СИП объединяются на элементе ИЛИ 33 и поступают на счетный вход счетчика 5. Счетчик работает в инверсном режиме. Сигнал заема на выходе счетчика 6 сбрасывает триггер 15 и устанавливает триггер 16, После этого импульсы с формирователей 32, 35, а также 34, формирующего импульс по переднему Фронту сигнала "Вывод", проходят через элементыИ 24 .29 (если установлен соответствующий разряд регистра режима) и объединяются на элементе ИЛИ 30, после чего через элемент И 38 поступают на счетный вход счетчика 4 и стробирующий вход регистра 1. По франту СИА на регистре 1 суммируется адрес, присутствующий в этот момент на шинах 6, по фронту "Вывод" - выводимые данные, по фронту СИП - пересылаемые данные, Старшие разряды адресов, появляющих" ся в канале, при помощи компаратора 22 сравниваются с коцом, предварительно занесенным на буферный регистр 21. При совпадении на выходе компаратора появляется высокий уровень, запоминаемый на триггер 14 до конца цикла обмена. Это позволяет при помощи элементов И 28 и 29 выделять в фиксированном подмножестве вектора, появляющиеся на шинах при обращении к заданному непрерывному подмножеству адресов. Одновременно с суммированием на регистре 1 производится уменьшение кода счетчика 4, Последней командой является команда считывания кодового слова, хранящего. ся точно так же, как и остальные про граммные константы.При равенстве счетчика 4 нулю на его выходе появляется сигнал разрешающий сравнение содержимого регистра 1 с нулем на схеме 2 сравнения. При несовпадении на выходе схемы сравнения появляется сигнал ошибки. Возможны следующие режимы формирования фиксированного подмножества кодов, появляющихся на шинах б, в процессе выполнения контролируемого фрагмента: суммирование адресов (разрешен элемент 24); суммирование вводимых данных (разрешен элемент 25); суммирование выводимых данных (разрешен элемент 26); суммирование пересылаемых данных (разрешен элемент 27); суммирование пересылаемых данных при обращении к заданной области (разрешен элемент 28); суммирование данных вводи мых из заданной области (разрешен элемент 29).Возможны также произвольные комбинации режимов.Формула изобретенияУстройство для контроля хода про граммы, содержащее блок хранения контрольного слова, схему сравнения, регистра сдвига, первый и второй счетчики, дешифратор, регистр режима, буферный регистр, компаратор адреса, два элемента ИЛИ, пять формирователей импульса, шесть триггеров, одиннадцать элементов И, причем входная информационная шина устройства соединена с группой входов дешифратора, группами установочных входов регистра сдвига, первого счетчика, буферного регистра, регистра режима и первой группой входов компаратора адреса, выход первого элемента И соединен с входами сброса регистра сдвига и первого счетчика, вход сдвига регистра сдвига и счетный вход первого счетчика соединены с выходом второго элемента И, груп - па выходов регистра сдвига и группа выходов блока хранения контрольного слова соединены соответственно с первой и второй группами информационных входов схемы сравнения, выход которой является выходом ошибки устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля, в него введены седьмой триггер и двенадцатый элемент И,причем выход первого счетчика соединен с управляющим входом схемы сравнения, группа установочных входоввторого счетчика подключена к входНой информационной шине ус гройства,а счетный и стробирующий входы - соединены соответственно с выходамитретьего и четвертого элементов И, 10выход второго счетчика соединенс нулевым входом первого триггераи единичным входом второго триггера,нулевой вход и выход которого соединены соответственно с выходом первогосчетчика и первым входом второго элемента И, второй вход которого соединен с выходом первого элемента ИЛИ,входы которого соединены соответственно с выходами пятого-десятогоэлементов И, первые входы которых соединены с выходами соответствующихразрядов регистра режима, первый ивторой входы третьего элемента Исоединены соответственно с выходамипервого триггера и второго элемента ИЛИ, первый, второй и третий входыкоторого соединены соответственнос выходами первого, второго и третьего формирователей импульса, выход 30первого формирователя импульса соединен с нулевым входом третьего триггера, информационный вход которогосоединен с выходом компаратора адреса, выход второго формирователя импульса соединен с вторым входом пятого элемента И, выход третьего формирователя импульса соединен с вторымивходами шестого, восьмого, девятогои десятого элементов И, вход запускаустройства соединен с первыми установочными входами четвертого-седьмоготриггеров, входами первого, второгоформирователей импульса и синхровходом третьего триггера, выход которого соединен с третьими входами девятого и десятого элементов И, вход ивыход четвертого формирователя импульса соединены соответственнос входом Строб" устройства и вторымвходом седьмого элемента И, четвертыйвход десятого элемента И и третийвход шестого элемента И соединеныс синхровходом устройства, выход четвертого элемента И соединен с синхровходом регистра режима, единичнымвходом первого триггера, синхровходбуферного регистра и его группа выходов соединены соответственно с выходом одиннадцатого элемента И и7 1236 группой выходов компаратора адреса, выход двенадцатого элемента И соединен с входом второго формирователя импульса и является синхровходом устройства, выходы дешифратора соединены с вторыми установочными входами четвертого-седьмого триггеров, выходы которых соединены соответственно ц 87с первыми входами четвертого, одиннадцатого, первого и двенадцатого элементов И, вторые входы которых подключены к стробирукяцему входу устройства, запускающий вход устройства через пятый формирователь импульса соединен с нулевыми входами четвер" того-седьмого триггеров.1236487 Составитель С.Кобзеведактор Г.Волкова Техред М.Ходанич Корректор М.Демчи оизводственно-полиграфическое предприятие г.укгород,ул.Проектная аз 3092/52 Тираз ВНИИБИ Государств по делам изобр 113035, Москва, Ж-Э671 Подпис нного комитета СССР тений и открытий Раушская наб., д.
СмотретьЗаявка
3566422, 23.03.1983
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ
КОБЗЕВ СЕРГЕЙ ПАВЛОВИЧ
МПК / Метки
МПК: G06F 11/28
Опубликовано: 07.06.1986
Код ссылки
<a href="https://patents.su/6-1236487-ustrojjstvo-dlya-kontrolya-khoda-programmy.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода программы</a>
Предыдущий патент: Устройство для контроля программируемых логических матриц
Следующий патент: Устройство для регистрации состояний контролируемого блока
Случайный патент: Пневмопривод к станочным приспособлениям