Устройство для контроля хода программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
. СОЮЗ СОВЕТСКИХ СОЦИАЛИСТИЧЕСН РЕСПУ БЛИН 9) (11) 5 6 Р 11/28 В ЕСКЗИА ББПР:." :;.л. л"й 3 Е Б. 3 :;,.А(57) Изобретение отвой вычислительнойбыть использовано в физ сится к цифрохнике и может ски денко твах с с и данных устрокоманд 2066529,расширение стей устрой перативно Устройств 1 сигнатурвляет озмож Ь спо ком- У 5,9 полнения о микроЭВМ.рователь ГОСУДАРСТВЕННЫЙ НОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМРРИ Гннт ССО ОПИСАНИЕ ИЗОБРЕТЕН Д ВТОРСНОМУ СВИДЕТЕЛЬСТ(56) Патент Великобританкл. С 06 Р 11/00, 1981.Патрик, П. Фазанг. Мссоб самоиспытания сложныхпьютеров. - Электроника,с. 34-40. вычислительных щенной магистраль лью изобретения диагностических ства за счет выго тестирования о содержит формисовмещенную ма150106 5 51015 30 гистраль 8 команд и данных ЭВМ, регистр 15, цифровой компаратор 16, первый одновибратор 22, второй одно- вибратор 23, счетчик 25При пуске микроЭВМ во время выполнения первой же команды процессора .Чтение илиЗапись запускается первый одновибратор 22. Коды команд программы, поступая по совмещенной магистрали 8 команд и данных ЭВМ для выполнения на процессор микроЭВМ, подаются также на вход параллельного формирователя 1 сигнатур. При этом формируют сигнал тактирования последнего. Формируемую сигнатуру периодически записывают по адресу цифрового компаратоИзобретение относится к цифровой вычислительной технике и может быть использовано в вычислительных устройствах с совмещенной магистралью команд и данных,Цель изобретения - расширение диагностических возможностей устройства. На чертеже показана структурная схема устройства.Устройство содержит формирователь 1 сигнатур, коммутатор 2, дешифратор 3 адреса, первый 4,. второй 5 и третий 35 6 элементы И, вход 7 адреса, совмещенную магистраль 8 команд и данных ЭВМ, вход 9 ".Запись" устройства, вход 10 "Чтение" устройства, первый элемент ИЛИ 11, четвертый 12, пятый 13 40 и шестой 14 элементы И, регистр 15 эталона, схему 16 сравнения, второй 17, третий 18 и четвертый 19 элементы ИЛИ, триггер 20, вход 21 единичного потенциала, одновибратор 22 с 45 перезапуском, формирователь 23 импульсов, седьмой элемент И 24, счетчик 25 импульсов, выход 26 "Перезапуск ЭВМ" и элемент 27 задержки.Устройство работает следующим образом,Предполагается,что, поскольку устройство работает в составе микроЭВМ, кроме него к входу 7, магистрали 8, входам 9 и 10 и выходу 26 подключены еще по меньшей мере процессор и ПЗУ (к выходу 26 подключен только процессор). В дальнейшем предполагается также, что активному сигналу в устра 16, на котором при этом происходит сравнение текущей сигнатуры сэталонной, содержащейся в регистре15. Одновременно происходит перезапуск первого одновибратора 22, Еслицифровой компаратор 16 обнаруживаетнесравнение, формируется сигнал перезапуска микроЭВМ. В случае отсутствия перезапуска первого одновибратора 22 сигнал с его выхода запускает второй одновибратор 23, выходнойимпульс которого перезапускает микроЭВМ. Счетчик 25 подсчитывает количество перезапусков микроЭВМ и подостижении некоторого заданного числаостанавливает работу микроЭВМ, 1 ил,ройстве соответствует уровень "1",а пассивному - уровень "О. На линиях 9, 10 и 26 активные сигналыпоявляются во время выполнения процессором микроЭВМ операций, соответствующих их названиям, Все остальное время на этих линиях находятсяуровни "0". Пассивный сигнал с выхода элемента И 6 настраивает коммутатор 2 на передачу данных с магистрали 8 на информационный вход формирователя 1 сигнатур, Активный сигналс выхода элемента И 6 переключаеткоммутатор 2 на передачу данных с вы.хода формирователя 1 на магистраль8, Активный сигнал на первом выходедешифратора 3 адреса (выход, подключенный к входам элементов И 5 и б)появляется при обращениях процессора по адресу формирователя сигнатур.Все остальное время на первом выходедешифратора 3 адреса присутствуетуровень "0", Активный сигнал на втором выходе дешифратора адреса 3 (выход, подключенный к входу элементаИ 4) появляется при обращениях процессора по адресу сброса формирователя 1. Все остальное время на второмвыходе дешпфратора 3 адреса присутствует уровень "0", Активный сигнална третьем выходе дешифратора адреса 3 появляется при обращенияхпроцессора по каждому из адресов,принадлежащих области памяти, в которой записана функциональная программа работы микроЭВМ (третий выходдешифратора адреса подключен к вхо1501 1 ду элемента И 12). Все остальноевремя на третьем выходе дешифратора3 адреса присутствует уровень 0",Активный сигнал на четвертом выходедешифратора адреса 3 (выход, подклю 5ченный к входу элемента И 13) появляется при обращениях процессора по адресу схемы 16, Все остальное времяна четвертом выходе дешифратора адреса 3 присутствует уровень "0". Активный сигнал на пятом выходе дешифратора 3 адреса (выхоц, подключенныйк входу элемента И 14) появляется приобращениях процессора по адресу регистра 15, Все остальное время напятом выходе дешифратора 3 адресаприсутствует уровень "0", Активныйсигнал на шестом выходе дешифратораадреса 3 (выход, подключенный к входу элемента И 24) появляется при обращениях процессора по адресу сбросасчетчика 25, Все остальное время нашестом выходе дешифратора адреса 3присутствует уровень "0". Сигналы навыходе 26 действуют на процессор следующим образом: при появлении активного сигнала процессор останавливается и находится в этом состоянии дотех пор, пока сигнал на выходе 26вновь не станет пассивным, после чегомироЭВМ выполняет процедуру начального запуска. Предполагается также,что при включении питания устройстватриггер 20 и счетчик 25 сбрасываетсяв состояние "0. При наличии пассивного сигнала на выходе элемента И 13схеме 16 запрещено сравнение и на еевыходе установлен пассивный сигнал.В нормальном состоянии на выходе формирователя 23 установлен уровень"0". Сброс и тактирование всех схемустройства производятся активнымисигналами,После начального запуска, микроЭВМ45при появлении любого из активных сигналов Запис ь" или Чте ние" на с оответствующих входах устройства на выходе элемента ИЛИ 19 появляется активный сигнал, по фронту которого втриггер 20 записывается "1", По фронту выходного сигнала триггера 20 запускается одновибратор 22, При этомна его выходе появляется уровень "0",По другому входу одновибратор 22 может быть перезапущенЕсли этого непроисходит, то после заданной выдерж.ки на выходе одновибратора 22 вновьустанавливается уровень "1" (пол 065 6ностью сформирован выходной импульс) по фронту которого на выходе формирователя 23 формируется единичный импульс заданной последовательности который через элементы ИЛИ 17 и 18 поступает на выход 26 и микроЭВМ перезапускается. Одновременно активный сигнал с выхода элемента ИЛИ 17 сбрасывает в "0" триггер 20; а фронт этого сигнала увеличивает на единицу содержимое счетчика 25. После перезапуска микроЭВМ по первому активному сигналу на входах 9 или 10 вновь запускается одновибратор 22, При достижении содержимым счетчика 25 некоторого заданного заранее числа (сброс счетчика не производится, а сбои в работе микроЭВМ фиксируются, т,е, микроЭВМ после перезапуска не может войти в режим нормальной работы) на выходе счетчика 25 появляется уровень "1", который через элемент ИЛИ 18 поступает на выход 26 и останавливает работу микроЭГМ, После этого микроЭВМ может быть вновь запущена в работу только внешним по отношению к ней сбросом счетчика 25 (например, выл ключением и затем включением питания микроЭВМ) . Если максимально допустимое значение содержимого счетчика 25 не достигнуто, может быть осуществлен его программный сброс. Для этого процессор выполняет,.операцию записи по адресу сброса счетчика 25, При этом на выходе элемента И 24 появляется активный сигнал, сбрасывающий содержимое счетчика 25 в ноль, При выполнении программы коды команд, поступая по магистрали 8 из памяти на процессор для выполнения, одновременно с этим подаются через коммутатор 2 на информационные, входы формирователя 1, При этом на выходе элемента И 12 с задержкой, достаточной для надежного установления кода команды на информационных входах формирователя 1, появляется активный сигнал, фронт которого через элемент ИЛИ 11 тактирует формирователь 1, вызывая запись в него текущей входной информации. Требуемая задержка обеспечивается элементом 27 задержки. Таким образом по мере выполнения программы в формирователе 1 формируется сигнатура последовательности кодов команд, поступившых в процессор для выполнения, Сравнивая периодически текущиесигнатуры с заранее определенными эталонными, в случае их равенства делают вывод, что микроЭВМ работает верно а в случае неравенства - неЭ5 верно, Для обеспечения повторяемости сигнатур в самом начале выполнения программы выполняют сброс в "О" содержимого формирователя 1, Для это. го процессор производит запись по адресу сброса формирователя 1, При этом на выходе элемента И 4 формируется активный сигнал, поступающий на вход сброса формирователя 1. При необходимости сформировать в автоном. 15 ном режиме сигнатуру некоторого массива данных процессор последовательно все слова массива записывает по адресу формирователя 1, При этом коды слов массива поступают на информационные входы формирователя 1 через коммутатор 2, а на выходе элемента И 5 формируются активные сигналы, фронты которых через элемент ИЛИ 11 тактируют формирователь 1, за 25 писывая в него текущую входную информацию, причем один тактирующий Фронт соответствует одному коду сло" ва массива. Работа в этом режиме облегчается, если программа записи слов массива в Формирователь 1 расположе на вне области памяти функциональной программы, на адреса которой настроен третий выход дешифратора 3 адреса. При сравнении текущей сигнатуры с заранее определенной эталонной сигна турой процессор вначале выполняет запись последней по адресу регистра 15. При этом на выходе элемента И 14 формируется активный сигнал, поступающий на тактовый вход регистра 15. По 40 приходу этого сигнала значение эталонной сигнатуры запоминается в регистре 15. После этого процессор выполняет чтение текущей сигнатуры, для чего выполняет операцию чтения с ад реса Формирователя 1, При этом на выходе элемента И 6 появляется активный сигнал и значения разрядов информациочных выходов формирователя 1 через коммутатор 2 поступают на магист раль 8. Считав текущую сигнатуру, процессор выполняет операцию записи ее значения по адресу схемы сравнения 16. При этом на выходе элемента И 13 появляется активный сигнал, разрешаю щий сравнение схеме 16. Схема 16 выполняет сравнение кода содержащейся в регистре 15 эталонной сигнатуры с кодом текущей сигнатуры, находящейся в это время на магистрали 8, В случае равенства этих кодов на выходе схемы 16 сохраняется уровень "О" и после окончания выполняющейся команды записи процессор продолжит дальнейшее выполнение программы, При неравенстве сравниваемых кодов на выходе схемы 16 появляется активный сигнал, который через элемент ИЛИ 17 сбрасывает в "О" триггер 20, инкрементирует содержимое счетчика 25 и через элемент ИЛИ 18 осуществляет. перезапуск мик- роЭВМ, Одновременно с разрешением сравнения схеме 16 активный сигнал с выхода элемента И 13 осуществляет перезапуск одновибратора 22. Таким образом, если в работе микроЭВМ произошла ошибка, выразившаяся в неправильной последовательности кодов команд программы, поступившых для выполнения на процессор, то при первой же после ошибки записи текущей сигнатуры по адресу схемы 16 микроЭВМ перезапускается, Если по каким-либо прининам запись текущей сигнатуры по адресу схемы 16 долгое время не производится, то микроЭВМ также пере- запускается срабатыванием,формирователя 23. Реакцией на такие перезапус - ки может быть, к примеру, повторение участка программы начиная с некоторого контрольного адреса, Введя в функциональную программу микроЭВМ командные вставки проверки текущей сигнатуры с таким расчетом, чтобы период записи по адресу схемы 16 не превышал длительности выходного импульса одновибратора 22, достигают достоверного и достаточно полного оперативного тестирования микроЭВМ.Для работы предлагаемого устройства необходимо, чтобы в одних и тех же точках программы получались одни и те же сигнатуры независимо от пути выполнения программы. Для достижения этого можно использовать следующий метод. В программе выделяют такие контрольные точки: Н (начало) - слово программы, вводимое в процессор первым после начального сброса сигнатурного регистра; КС 1 (контрольное слово первого типа) слово программы, вводимое в процессор первым после выполнения команды безусловного перехода или команды условного перехода при выполнени условия; КС 2 (контрольное слово1 О второго типа) - слово программы, ввод которого в процессор завершает формирование сигнатуры, сравниваемой затем с эталонным значением; СКП5 (слово команды перехода) - последнее вводимое в процессор слово каждой из команд условного и безусловного переходов; НП (начало подпрограммы) - первое вводимое в процессор слово подпрограммы при передаче ей управления; СВП (слово вызова подпрограммы) - последнее вводимое в процессор слово каждой из команд условного и безусловного вызовов подпрограмм; СКВ (слово команды возврата) - слово команды условного и безусловного возвратов из подпрограммы (предполагается, что такая команда состоит из одного слова). Каждому выделенному контрольному слову присваивают конт - рольный номер, При этом обязательно присваивают одинаковые контрольные номера взаимодополняющим словам СКП и КС 1, а также словам СВП, НП, СКВ, относящимися к одной подпрограмме, Если Б - слово программы, то Б+1 слово программы с адресом, на единицу адресации большим адреса слова Б, а Б - 1 - слово программы с адре 30 сом, на единицу адресации меньшим адреса слова Б, Допустим, Б - контрольное слово с контрольным номером 1, такой же номер имеют и слова Б+1 и Б. Программу микроЭВМ разбивают на линейные отрезки а;, Ь , где З 5 1, 1 - контрольные номера контрольных слов а и Ь, при этом а Г Н, НП, КС 1, СКП+1, СКВ+1, СВП+1 )КС 1 - 1, СКП, СВП, СКВ. Под линейностью отрезков в данном случае по нимается отсутствие внутри них контрольных слов. Последние могут находиться только на границах отрезков. Предполагая, что в начале отрезка непосредственно перед вводом в про цессор слова асигнатура равна путем ввода внутрь отрезка дополнительных командных вставок добиваются того, чтобы в случае правильной последовательности поступавших на про цессор кодов команд отрезка, сразу после ввода в процессор слова Ь сигнатура была равна 1, Значение сигнатуры, полученное после начального сброса сигнатурного регистра, исполь зуют в качестве исходной при обработке отрезка Н, Ъ. В точках КС 2 выполняют выдачу текущего значения сигнатуры по адресу схемы 16. Значение эталонной сигвтуры определяют относительно ближайшего ггредшествующего по ходу программьг данному КСГ нумерованного слова, Если где-либо на участке программы до данного КС 2 произошла ошибка любой кратности и вида в последовательности кодов команд, поступающих на процессор, то текущая сигнатура в момент проверки не совпадает с эталонной и ошибка будет обнаружена. Дополнительные командные вставки, вводимые внутрь отрезков, должны позволять произвольным образом корректировать сигнатуру, получаемую в конце отрезка, на основе ее известного. значения в начале отрезка и при этом не должны влиять на функциональные результаты работы программы, Этим требованиям удовлетворяет команда записи слова по адресу регистра 15 с непосредственной адресацией (записываемое слово является вторым словом команды), В этом случае подбором второго слова команды корректируют требуемым образом получаемую в конце отрезка сигнатуру. Формула изобретения Устройство для контроля хода программ, содержащее формирователь сигнатур, коммутатор, дешифратор адреса, первый, второй и третий элементы И, причем выход коммутатора соединен с информационным входом формирователя сигнатур, выход которого соединен с информационным входом коммутатора, вход записи устройства соединен с первыми входами первого и второго эле элементов И, выход первого элемента И соединен со входом начальной установки формирователя сигнатур, адресный вход устройства соединен с информационным входом дешифратора адреса, первый выход которого соединен со вторым входом второго элемента И и с первым входом третьего элемента И, вход чтения устройства и второй выход дешифратора адреса соединены со вторыми входами соответственно третьего и первого элементов И, выход третьего элемента И соединен с управляющим входом коммутатора, информационный вход-выход устройства через двухстороннюю магистраль соединен с входом- выходом коммутатора, о т л и ч а ю - щ е е с я тем, что, с целью расширения диагностических возможностей за счет оперативного тестирования микро12 1501065 Составитель М.СигаловТехред М.Дидык Корректор Л,Бескид Редактор Л.Пчолинская Заказ 4869/45 Тираж 668 ПодписноеВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР113035, Москва, Ж, Раушская наб., д. 4/5 Производственно-издательский комбинат "Патент", г.ужгород, ул, Гагарина,101 ЭВМ, в него введены четыре элемента ИЛИ, четвертый, пятый, шестой и седьмой элементы И, регистр эталона, схе" ма сравнения, триггер, одновибратор с повторным запуском, формирователь импульсов, элемент задержки и счетчик импульсов, причем вход чтения устройства через элемент задержки соесоединен с первым входом четвертого 10 элемента И, выход которого соединен с первым входом первого элемента ИЛИ, ,выход второго элемента И соединен с вторым входом первого элемента ИЛИ, выход которого соединен с тактовым 15 входом формирователя сигнатур, тре-, тий, четвертый, пятый и шестой выхЬ- ды дешифратора адреса соединены соответственно с вторым входом четвертого элемента И первым входом пятого элемента И, первым входом шестого элемента И и первым входом. седьмого эле, мента И, выход пятого элемента И соединен с входом разрешения сравнения схемы сравнения и входом перезапус ка одновибратора с повторным запуском, выход которого через формирователь импульсов соединен с первым вхо" дом второго элемента ИЛИ, выход которого соединен с первым входом третье- З 0 го элемента ИЛИ, со счетным входомсчетчика импульсов и входом установки в "0" триггера., вход записи устройства соединен с первым входом четвертого элемента ИЛИ, вторым входомседьмого элемента И, вторым входомпятого и вторым входом шестого элемента И, выход которого соединен свходом записи регистра эталона, информационный вход устройства соединенс первым входом схемы сравнения и информационным входом регистра эталона,выход которого соединен с вторым входом схемы сравнения, выход неравенства которой соединен с вторым входомвторого элемента ИЛИ, вход чтенияустройства соединен с вторым входомчетвертого элемента ИЛИ, выход которого соединен с тактовым входом триггера, информационный вход триггерасоединен с шиной единичного потенциала, выход. триггера соединен с входомзапуска одновибратора с повторным запуском, выход седьмого элемента Исоединен с входом. установки счетчикаимпульсов, выход которого соединен свторым входом третьего элемента ИЛИ,выход которого является выходом перезапуска устройства.
СмотретьЗаявка
4261331, 15.06.1987
МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ
КОСИЛОВ АНДРЕЙ НИКОЛАЕВИЧ, ПОДЕНКОВ КОНСТАНТИН ФЕДОРОВИЧ
МПК / Метки
МПК: G06F 11/28
Опубликовано: 15.08.1989
Код ссылки
<a href="https://patents.su/6-1501065-ustrojjstvo-dlya-kontrolya-khoda-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода программ</a>
Предыдущий патент: Устройство для контроля последовательностей импульсов
Следующий патент: Устройство для контроля хода программы и перезапуска эвм
Случайный патент: Способ определения дефекта нижней челюсти при остеомиелите