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

 

Изобретение относится к вычислительной технике и может быть использовано для контроля хода выполнения программ ЭВМ, работающих в реальном масштабе времени. Цель изобретения - упрощение устройства. Устройство содержит два дешифратора, четыре триггера, счетчик адреса, два блока элементов И, блок элементов ИЛИ, накапливающий сумматор, блок сравнения, регистр адреса, элемент ИЛИ, два формирователя импульсов, ключ, элемент НЕ и шесть элементов И. Устройство позволяет осуществлять контроль последовательности прохождения Фрагментов программы с помощью контрольной суммы фрагментов, вычисляемой накапливающим сумматором. 10 ил.

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

КСГ1УБЛИН

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

К А BTOPCHOMY СВИДЕТЕЛЬСТВУ

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

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

ПРИ ГКНТ СССР (21) 4652905/24 (22) 20 ° 02. 89 (46) 30 ° 04 ° 9 1 Бюп, 11- 16 (72) Л,А,Литвин и В ИЧмутов (53) 681,3(088. 8) (56) Авторское свидетельство СССР

Ф 1236487, кл С 06 F 11/28, 1986 °

Авторское свидетельство СССР

М 1539785, кл, G 06 F 11/28, 1988. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА

ПРО ГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано для контроля хода HblIIoJI» нения программ ЭВМ, работакщих в

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

На фиг1 представлена структурная схема устройства для контроля хода програмии; на фиг ° 2 - схема формирователя импульсов; на фиг,3 - схема ключа; на фиг.4 диаграммы сигнапов

ЭВМ с общей шиной: а - диаграмма сиг налов информационных шин контролируемого канала, б - диаграмма такто» вого сигнала СИА, в, г - диаграмма сигналов соответственно ввода и вывода; на фнг.5 - таблица команд с разбивкой по операциям; на фиг,6пример програмии; на фиг,7 - один

„.SU„„1 45960 А1 (gI)$ С 06 F, 11/28

2 реальном масштабе времени Цель изобретения - упрощение устройства

Устройство содержит два дешифратора, четыре триггера, счетчик адреса, два блока элементов И, блок элементов

KIH накапливающий сумматор, блок сравнения, регистр адре са, элема нт

ИЛИ, два формирователя импульсов, ключ, элемент HE и шесть элементов И °

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

10 ил из фрагментов программы; на фиг.8 1Овременные диаграммы работы устройства при выполнении команд соответственно Кl, К2 и КЗ °

Устройство для контроля хода С программ содержит первый 1 и второй цр

2 дешифраторы, первый 3, второй 4, у третий 5 и четвертый 6 триггеры, счетчик 7 адреса, первый 8 и второй

9 блоки элементов И, блок 10 элементов ИЛИ, накапливающий сумматор 11, блок 12 сравнения, регистр 13 адреса, элемент ИЛИ 14, первый 15 и второй 16 формирователи импульсов, ключ и

17, элемент НЕ 18 и шесть элементов

И 19 24 ° На фиг,l обозначены также группа информационных входов 25,,, тактовый вход 26 устройства СИА, вход 27 признака ввода устройства, 1645960

55 вход 20 признака вывода устройства и выход 29 сбоя устройства

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

Дпя примера рассьютрим работу уст ройства применительно к ЭВМ с общей шиной ° Выполняя программу, ЭВМ вьг полняет непрерывную последователь ность команд Выполнение команды ! начинается с операции по выборке ко да команды Для выполнения любой команды процессору требуется цыпол» нить хотя бы одну операцию обращения к каналу, для некоторых команд тре» буется выполнить несколько операций, Первой такой операцией дпя всех команд является ввод кода команды из ячейки памяти ЭВМ, адрес которой оп ределяется счетчиком команд ЭВМ Все операции обращения к каналу для вво да и вывода данных назовем циклами обращения к каналу СИгналы, посту пающие от процессора в канал, пока заиы на фиг,4 После дешифрации команды процессор начинаеФ операцию по жборке операндов, инициируя, если это необходимо, в зависимости от кода команды и метода адресации, один нли несколько циклов ввода Да лее производится операция по выпол нению действия команды и при необхо димости вывода результатов команды в память или в регистр внешнего уст ройства (BY) начин..ется цикл ввода

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

50 дексной, косвенной, относительной адресации нли в случае обращения к

BY, Аппаратный доступ к счетчику команд ЭВМ отсутствует, доступ возможен только к каналу ЭВМ, а доступ к содержимому счетчика команд возможен только программыай, На фиг 5 в таблице представлены дпя примера некоторые команды с разбивкой по операциям. Команда К! (МОЧ, СК, СЧ) определяет вывод з начения счетчика команд (СК) в счетчик 7 адреса (СЧ) устройства и со« стоит из трех циклов обращения к ка» налу: ввод кода команды Кl нз памяти

ЭВМ по адресу 002; ввод. адреса счет" чика 7 адреса из памяти по адресу

004 и вывод значения счетчика команд

ЭВМ в счетчик 7 адреса по адресу XXl где ХХ - произвольное значение кода, определяемое присвоенным счетчику 7 адресом, Команда К2 (МОЧфС, ) определяет вывод константы (С ) в сумматор 11 устройства и состоит из четырех циклов обращения к каналу: ввод кода команды К2 из памяти ЭВМ по адресу 006; ввод константы (С) нз памяти по адресу 010; ввод адреса сумматора 11 из памяти по адресу 012 и вывода значения константы (С) в сую. матор 11 по адресу ХХ2, определяемому присвоенным сумматору 11 адресом

Команда КЗ (МОЧ КС, РГ) определяет вывод константы контрольной суммы (КС) в регистр 13 устройства и состо» ит нз четырех циклов обращения к ка налу, аналогичных описанным, команда условного перехода (КУП), находится в памяти ЭВМ по адресУ 116 °

В процессе выполнения ЭВМ програм мы производится выполнение команд, следующих последовательно, или происходит переход по новому адресу по командам усповного и безусловного пере ходов и по прерываниям от ВУ На фиг,6 показана программа, состоящая иэ нескольких фрагментов, нумерация которых показана в кружках, при этом фрагменты, сходящиеся в одной точке, имеют одинаковые номера, Ромбами показаны команды условного перехода, длинным черточками - команды К1, К2, К3, короткими черточками команды программ цифры со знаками + обозначают значение константы (С), которое содержат команды К2 ° На фиг,7 показан один из фрагментов программы, в кото5

16 ром показаны места расположения команд К1, К2, КЗ и КУП °

Способом контроля хода выполнения программы является контроль в конце каждого фрагмента состояния счетчика команд ЭВМ с помощью счетчика 7 устройства, а также контроль номера каждого фрагмента, представ ляющего собой контрольную сумму (КС), которую содержит команда КЭ, Для получения ожидаемого значения КС фраг» мента в сумматор 11 устройства вводится с помощью команды Kl константа (С), определяемая заранее для каждого фрагмента.

Подготовка устройства к работе заключается в нумерации всех фрагментов программ н в определении значений констант (С) дпя каждого фрагмента с условием, чтобы предыдущее значение сумматора 11, сложенное со значением константы С, давало в результате номер фрагмента (знач ние KC) „Команда Kl записывается пер вой в фрагменте, за ней - команда

К2, в конце фрагмента - команда К3 (фиг 7) .

Работа устройства начинается с начальной установки в "0" триггеров

3 5 и сумматора 11 (цепн установки в "0" на фиг не показаны) ° Сигналом начальной установки может быть, например, сигнал начальной установки всех устройств, подключенных к каналу, вырабатываеиий процессором при включении питания ЭВМ Первой выполняемой командой фрагмента 5 (фиг.6) является команда Кl, которая з ано сит значение счетчика команд ЭВМ в счетчик 7 устройства При выполнении цикла 002 (4иг,5) в процессор заносится из памяти код команды, затем выполняется цикл 004, во время которого в процессор из памяти ЭВМ заносится адрес счетчика 7, определенный заранее По переднему фронту сигнала

СИА срабатывает формирователь 16 (фнг,8a) и через элемент И 24, откры тый по первому входу высоким уровнем от инверсного выхода триггера 4, подтверждает состояние "0" триггера

3 нли устанавливает его в "О". По переднему фронту сигнала СИА заносится также в регистр 13 значение адреса

004, присутствующего в канале После этогО в канале устанавливается адрес

ХХ! счетчика 7 (фиг ° 86), который депыфруется дешифратором I; по передне»

45960 6

55 му фронту сигнала СИА триггер 3 устанавливается в "1" в регистр 13 заносится адрес ХХ1 Передним фронтом сигнала вывода адрес 006 счетчика команд ЭВМ заносится в счетчик 7 °

На этом выполнение команды Кl закан

Ф чивается

Следующей выполняется команда К2 °

На информационных входах 25 появляет ся адрес 006 (фиг,8в), передний фронт сигнала СИА сбрасывает триггер 3 в

"0" и заносит в регистр 13 адрес 006, после чего вследствие равенства содержимого счетчика 7 и регистра 13 на выходе блока 12 сравнения появляется сигнал "1", поступакщий на первый вход элемента И 22 ° Информация со счетчика 7 поступает через блок 8 элементов И и через блок 10 элемен.тов ИЛИ на входы блока 12 сравнения

На управляющем входе блока 8 элеме гта И присутствует высокий уровень с выхода элемента НЕ 18, поскольку на выходе элемента И 21 - низкий уро вень, так как на его первом входе присутствует низкий уровень с прямого выхода триггера 5 ° Передним фронтом сигнала СИА триггер 3 сбрасывает ся в "0", а передним фронтом сигнал ввода через элемент И 22 в счетчик 7 по счетному входу заносится "l" и устанавливается в "l триггер 6, после чего значение счетчика 7 становит ся равным 010 ° Поскольку учитываются только четные значения счетчика 7, младщий разряд в регистр 13 с группы информационных входов 25 не принима ется, и, следовательно, не сравнивается в блоке 12 сравнения ° Цикл 010 (фиг Sr) выполняется аналогично опи санному циклу 006, при этом триггер

6 сбрасывается в "0" импульсом фор мирователя 16 от переднего фронта сигнала СИА, а затем устанавливается в "!" сигналом с выхода элемента

И 22, в счетчик 7 также заносится

"!", его содержимое становится равным О!2 ° Цикл 012 (фиг ° 9а) выполняется аналогично циклу 010 После вы полнения цикла 012 íà группе информационных входах 25 появляется адрес

ХХ2 (фиг 96), определяемый адресом сумматора 11, дешифруется дещифрато ром 2, после чего по переднему фрон ту сигнала СИА триггер 4 устанавливает ся в "1", в регистр 13 заноси » ся значение XX2 ° Передя м фронтом сигнала вывода через открытые эле1645960 менты И 20 и 23 в сумматор заносится значение константы С для выполняемо го фрагмента к суммнруется с предыдущей КС, в результате чего содержи мое сумматора 11 равно КС (номеру) шяполняемого фрагмента Задний фронт сигнала вывода через открытый элемент И 20 устанавливает по счетно му входу в "1" триггер 5» На этом выполнение команды К2 заканчивается

При выполнении цикла 014 следукщей команды програмиы (фиг 8в) триггер 4 сбрасывается в "0", в регистр 13 заносится значение 014, которое сравнивается с содержимыми счетчика 7, и . т.д аналогично описанному В даль нейшем производится выполнение последовательных команд фрагмента программы, счетчик 7 при этом увеличи- 20 вает последовательно свое содержимое на единицу»

По следней командой выполняеиого фрагмента является команда К3, Циклы

l 10, 112, 114 выполняются аналогично описанныи циклам 006, 010, 012 дпя команды К2 ° При сравнении одинаковых (114) значений счетчика 7 и регистра

13 по переднему фронту сигнала ввода в счетчик 7 заносится единица и ус» танавливается B "1" триггер 6 ° При условии по следовательного выполнения всех команд какого либо фрагмента счетчик 7, последовательно наращи вая свое содержимое, в конце фрагмен» 35 та соответствует счетчику команд ЭВМ по содержимому В случае пропуска каких-либо команд или перехода про гр аи ы в р езульт ате сбоя на другой фрагиент содержимое счетчика 7 и 40 счетчика команд ЭВМ различно, срав нения не происходит и триггер 6 при выполнении команды К3 (в данном при мере цикл 114) в "!" не устанапивает ся, 45

llри появлении иа группе иифориа ционных входов 25 адреса ХХ2 (4иг 10) значение адреса заносится в регистр

13, кроме того, адрес ХХ2 дешифрует 50 ся дешифратором 2, поэтому передним фронтом сигнала СИА триггер 4 устанавливается в "1" Сигналом с формирователя 16 триггер 6 в "0" не сбра. сывается, так как элемент И 24 закрыт 55 по второму входу низким уровнем с инверсного и@хода триггера 4» Перед» ним фронтои сигнала вывода через открытые элементы И 20 и 21 и элеиент

ЙЛЯ 14 в регистр 13 заносится значение КС выполняемого фрагмента, а также запускается формирователь 15 °

Сигнал вывода, поступая через открытые элементы И 20 и 21 на управляющий вход блока 9 элементов И, подклнтчает выход сумматора 11 содержимым которого является значение контрольной суммы выполняемого фрагмента, че»

pes блок 10 элементов ИЛИ к второй группе входов блока 12 сравнения °

Блок 8 элементов И блокируется элементом HE 8 ° В результате сравнения значений регистра 13 н сумматора 11 на выходе блока 12 сравнения присутствует высокий уровень, поступающий на первый управляющий вход кпюча, на втором управлякщем входе которого присутствует высокий уровень с прямо го находа триггера 6, Сигнал с выхода формирователя 15 через ключ 17 не проходит, и на выходе 29 устройства сигнал ошибки отсутствует, Задним фронтом сигнала вывод через открытый элемент И 20 триггер 5 по счетному входу сбрасывается в "0" Выполнение команды К3 и контроля фрагмента программа заканчивается»

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

13 и сумматора 11 триггер 6 находится в состоянии "0", что приводит к открытому состоянию ключа по второму информационному входу» Если фрагмент жполняется правильно, но в результате сбоя при выполнении команды условного перехода программ переходит на другой фрагмент неразрешенной последовательности, то происходит не сравнение контрольмос сумм сумматора

l1 и регистра 13; ключ 17 открыт по первому информационному входу Bos можен вариант, когда к моменту сравнения на обоих информационных входах ключа 17 присутствуют низкие уровни

Во всех перечисленных случаях снгнап с выхода формирователя 15 через ключ

17 поступает на выход 29.устройства, сигнализируя о сбое в ходе выпопнеиия и ро гр аииы

Если во вреия выполнения фрагмента программке происходит прерывание основной программа и ЭВМ начинает выпол» неиие програвеан обслуживания прерыва ния, состояние устройства не изменя ется и при возврате ЭВМ к прерван1645960

10 ному Фрагменту продолжается нормальная работа устройства, Возможен также контроль фрагментов программы обслуживания прерывания ° В этом случае в фрагмент программы необходимо з апи сать команды К1, К2, КЗ и, кроме того, в начале программки (до команд К1, К2, КЗ) произвести з анесение в стек содержимого ЭВМ, счет- 10 чика 7 и сумматора 11, а при выходе из программы восстановить из стека их содержимое.

Таким образом, устройство позволяет при сравнительно мапых аппара- 15 турных затратах эффективно проводить контроль выполнения программы

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

Устройство дпя контроля хода программ, содержащее первый и второй дешифраторы, регистр адреса, блок сравнения, первый и второй блоки элементов И, блок элементов ИЛИ, три 25 три гге р а, ше сть эл емен то в И и элемент ИЛИ, причем группа информацион» ных входов устройства соединена с группами информационных входов первого и второго дешифраторов и груп- 30 пой входов регистра адреса, группа выходов которого соединена с первой группой входов блока сравнения, вы. ходы первого и второго дешифраторов соединены с информационными входами 35 соответственно первого и второго триггеров, прямае выходы которых соединены с первыми входами соответственно первого и второго элементов И, вход признака вывода устрой» 40 ства соединен с вторыми входами пер вого и второго элементов И, тактовый вход устройства соединен с тактовыми входами первого и второго триггеров, выход второго элемента И 45 соединен с тактовым входом третьего триггера, прямой выход которого со» единен с первым входом третьего эле мента И, группы выходов первого и второго блоков элементов И соединены 5р соответственно с первой и второй группами входом блока элементов ИЛИ, выход четвертого элемента И соединен со счетным входом счетчика адре са, отличающееся тем, что, с целью упрощения, оно содержит накапливающий сумматор, четвертыи триггер, первый и второй формирователи импульсов, элемент НE и ключ, причем выход первого элемента И соединен с входом записи счетчика адреса, выход которого соединен с группой информационных входов первого блока элементов И, группа информационных входов устройства соединена с группами информационных входов счетчика адреса и накапливающего сумматора, группа выходов которого соединена с группой информационных входов второго блока элементов И, вход признака ввода устройства соединен с первым входом четвертого элемента И, выход которого соединен с единичным входом четвертого триггера, выход второго элемента И соединен с первым входом пятого элеме н та

И с вторым входом третьего элемента

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

1645960

Фиа 2 "459бО оа ZF

Фиг.3

Фиг.4

Фиг.5

1645960

16ч>960 иг

1645960

Фиг. 9

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

Техред М.Дидык Корректор Т.Палий

Редактор Л.Пчолинская

Заказ 350 Тираж 416 Подписное

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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