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

Иллюстрации

Показать все

Реферат

 

Союз Советсиик

Социапистичесиик

Республик

О П И С А Н И E (ii)892446

ИЗОБРЕТЕН ИЯ

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

{6I ) Дополнительное к авт. саид-ву(5! )М. Кл. („06 F 11/12

{22) Заявлено 21.01.80 {21) 2871 961/1 8-24 с присоединением заявки М{23) П риоритет

ГвеудавстеаавХ кеетнтет

СССР вв делам нзебретеннХ н открытий

Опубликовано 23.12.81. Бктллетеиь %47

{5З1УД 681.3 (088.8) Дата опубликования описания 26.12.81

В. В. Гребнев и С. М. Шептуха (72) Авторы изобретения

{7l ) Заявитель (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА

ПРОГРАММЫ

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

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

Однако нэбыток информации прнводнт к увелнченню разрядной сетки машины.

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

Недостатком устройства является не" способность обнаруживать сбои в ходе

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

Наиболее блнзкям по технической сущности к предлагаемому является уСтройст во, содержащее трнггер, элемент И и счетчик, н использующееся для контроля безусловных переходов н контроля линейных участков программы (участков, не содержащих команд условных переходов) путем подсчета чнсла команд, выполненных на участке, ограниченном сверху н сннзу спецнальнымн командами двух ..тнпов, н.сравнения выполненного числа команд с заданным. Причем число команд на каждом контролнруемом участке долж но быть равно максимально возможному числу, которое можно записать на счетчик (3f.

Однако использование специальных ко манд Asyx типов н постоянное число команд на контролируемых участках приводит к значительным программным затратам для органиэации контроля хода прог

92446 котором записывается "1, если необходимо контролировать правильность услов50: ного перехода на участок программы, который начинается этой специальной коман55 з 8 раммы. Другим недостатком устройства является неспособность контролировать выполнение условных переходов.

Цель изобретения - увеличение контролирующей способности устройства.

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

v выходом устроиства, выход схемы сравнения соединен с первым входом второго элемента И, выход которого соединен с третьим входом элемента ИЛИ, второй вход первого элемента И является входом признака конца контроля устройства, второй вход второго элемента И является входом признака контроля перехода, первый и второй входы схемы сравнения являются входами признака перехода и одноразрядного признака условия.

Устройство для контроля хода програм» мы реализует аппаратно-программный способ контроля хода программы, основанный на проверке хода программы на отдельных участках программы и на про верке правильности переходов с одного участка программы на другой. Участки, на которые разбивается программа начинаются сп ециальной командой .и заканчиваются командами условного перехода или останова. При выполнении специальной команды проверяется правильность. попадания на участок путем сравнения деиствительного значения сигнала - признака перехода, сформированного в машине, по которому был осуществлен переход к выполнению участка, с эталонным значением, хранимым в специальной команде. Кроме того, при выполнении специальной команды задается число команд, подлежащих выполнению на участке.apor раммы. При выполНЕННИ участка цро

45 раммы производится счет числа выполненных команд и сравнение подсчитанного числа команд с заданным. Сигнал ошибки формируется если неправильно осуществлен переход на выполнение участка программы, если число команд, выполненных на участке программы, превысило заданное или меньше заданного.

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

Устройство для контроля хода программы включает счетчик 1, и элемент И-НЕ2, первый 3 и второй 4 элементы И, элемент 5 ИЛИ и схема 6 сравнения. Причем информационные входы занесения кода на счетчик 1 подключены ко входам устройства, а управляющий вход занесения на счетчик 1 подключен ко входу 7 устройства, счетный вход счетчика соединен со входом

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

9 устройства, единичные выходы разрядов счетчика 1 подключены к выходам

10 устройства и ко входам элемента

И-НЕ 2, выходы которого соединены с одним входом элемента И 3, другой вход которого подключен ко входу 11 устройства, а выход - к первому входу элемента ИЛИ 5, второй вход которого подключен к выходу переноса из старшего разряда счетчика 1, а третий вход — к выходу элемента И 4, первый вход которого соединен со входом 1 2 устройства, а второй вход соединен с выходом схемы

6 сравнения, первый вход которой подключен ко входу 13 устройства, а второй вход соединен со входом 14 устройства, выход элемента ИЛИ 5 соединен с выходом 1 5 устройства.

Специальная команда (фиг. 2) включает поле 16, в котором записывается код команды, одноразрядное поле 17, в дой, и "О -, если правильность условного перехода не контролируется, одноразрядное поле 18, в котором записывается значение признака условного перехода, по которому Ra участок программы дол, жен осуществляться переход, поле 19, в котором записывается число команд, од5 8924

20

2$ дается число команд, подлежащих выполнению на участке программы, до слепуюшей команды условного перехода или останова. При выполнении команды условного перехода на вход 1 1 признака конца контроля поступает единичный сигнал, как и при выполнении команды останова.

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

На вход 12 устройства поступает единичный сигнал, которыи открывает по одному входу элемент И 4. На второй вход элемента И 4 поступает сигнал с выхода схемы 6 сравнения, на вход 13 которой поступает сигнал признака условного перехода, сформированный в машине, а на вход 14 поступает сигнал одноразрядного признака с того разряда регистра команд машины, в котором при выполнении специальной команды хранится значение одноразрядного кода, записанного в попе 1 8. Если условный переход осуществлен правильно, то на входы 1 3 и

14 устройства поступают одинаковые сигналь с выхода схемы 6 на второй вход элемента И 4 поступает нулевой сигнал. Если условный переход осушествлен неправильно, то на входы 1 3 и

3S

4$ лежаших выполнению на участке програм-. мы, ограниченном специальной командой и первой, встретившейся после нее, командой условного перехода или командой останова, причем специальная команда считается первой.

Если в программе нет команд условных переходов, то заранее можно указать число команд, подлежащих выполнению. В этом случае в начале программы ставится специальная команда, в поле 1 7 которой записаны "0", а в поле 1 9 — число команд, подлежащих выполнению в программе, без учета команды останова. В этом случае устройство контроля хода программы работает следующим образом.

При выполнении специальной команды в устройстве управления машины производится анализ кода специальной команды.

Если в поле 1 7 специальной команды записан "0", на вход 12 устройства не поступает единичный сигнал признака контроля перехода, элемент И 4 закрыт, и анализ правильности выполнения условного перехода не проводится. На вход 9 устройства поступает сигнал, сбрасываюший счетчик 1 в нулевое состояние. На вход 7 устройства поступает управляющий сигнал занесения кода на счетчик, по которому прямой код числа команд, подлежаших выполнению, записанный в поле 19 специальной команды, преобразовывается в дополнительный и поступает на счетчик

1. В конце выполнения каждой команды, кроме команд условного перехода и .останова, на вход 8 устройства поступает сигнал, по которому содержимое счетчика 1 увеличивается на единицу.

При выполнении команды останова на входе 11 устройства формируется единичныи сигнал признака конца контроля. Если ход программы не нарушен, т.е. не пропущена ни одна команда и не выполнено ни одной лишней команды, то все разряды счетчика 1 должны находиться в единичном состоянии. С выхода элемента

И-НЕ 2 на вход элемента И 3 поступает нулевой сигнал и на его выходе не формируется единичный сигнал. Если при выполнении программы была пропущена хотя бы одна команда, то к моменту выполнения команды останова не все разряды счетчика 1 находятся в единичном состоянии, на выходе элемента И-НЕ 2 присутствует единичный сигнал. При выполнении команды останова единичный сиг нал поступающий на вход 1 1 устройства, сформирует на выходе элемента И 3 такl же единичный сигнал, который поступа46 6 ет на вход элемента ИЛИ 5. На выходе элемента ИЛИ 5 формируется единичный сигнал, который поступает на выход 1 5 устройства и свидетельствует об ошибке в ходе программы. Если при выполнении программы выполнена лишняя команда, то еше до выполнения команды.останова на второй вход элемента ИЛИ 5 с выхода переноса из старшего разряда счетчика поступает единичный сигнал, и на выходе 1 5 устройства формируется единичный сигнал.

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

Для организации контроля хода программы, первой, после каждого разветвления программы, должна выполняться команда. В этом случае IITm выполнении специальной команды как проверяется правильность выполнения условного перехода, так и за5

ro

r5

7

89

14 устройства поступают разные сигналы, с выхода схемы 6 на второй вход элемента И 4 поступает единичный cm нал, и с выхода элемента И 4 единичный сигнал поступает на третий вход элемента ИЛИ 5. На выходе 15 устройства сформируется единичный сигнал, При выполнении специальной команды участка программы, на который происходит передача управления по команде условного перехода, устройство работает следующим образом.

Носле дешифрации в устройстве управления машины кода специальной команды, в поле 1 7 которой записана "1, на вход

1 2 устройства контроля хода программы поступает единичный сигнал, который о крывает по первому входу элемента И 4.

На второй вход элемета И 4 поступает сигнал с выхода схемы отрицания равнозначности, на вход 13 которой поступает ,"игнал условного перехода (жд ), сформированный s машине. На вход 14 схемы отрицания равнозначности 6 поступает сигнал с того разряда регистра команд машины, в котором при выполнении сигнальной команды находится поле 18, где записано этало;;ное значение сигнала условного перехода (и) ).Hа выходе схемы отрицания равнозначности форм;руется единичный сигнал, если ж,3 Ф Жэ, и нулевой сигнал, если — т.е., если условный переход осуществлен правильно, то на входы 13 и 14 устройства поступают одинаковые сигналы, с выхода схемы 6 на второй вход, элемента И 4 поступает нулевой сигнал.

Если условный переход осуществлен неправильно, то на входы 13 и 14 устройства поступают разные сигналы и с выхода схемы 6 на второй вход элемента

И 4 поступает единичныя сигнал. C вы хода элемента И 4 единичный сигнал поступает на третий вход элемента ИЛИ

5 и сформирует на выходе 15 устройства единичный сигнал, свидетельствующий об ! ошибке в ходе программы.

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

1Q устройства контроля хода программы, соединенных с выходами единичных разрядов счетчика 1, код, находящийся на счетчике, поступает и запоминается в одной из ячеек памяти машины. При воз вращении к . прерванной программе необ- ходимо восстановить на счетчике 1 инфор»

2446

8 мацию, которая находится в момент прихода сигнала прерывания. Это делается путем выполнения специальной команды, в поле 1 7 которой записан "О" (не нужно проверять правильность выполнения условного перехода), а в поле 1 9 записан прямой код числа, которое было записано в память.

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

Пусть произошла ошибка типа: пере- ход произошел, а условия перехода не выволннлись. Структурная схема программы (фиг. 3) включает специальные команды

20,23 и 24, рабочие команды 21 и 25 программы, команда 22 условного перехода по признаку м, либо команды 26 и

27 условных переходов, либо команды останова. Программа разбита на три участка. Каждый участок начинается специальной командой 20, 23 и 24 и заканчи вается либо командами условного перехода, либо командами останова 22,26 и 27.

Команда 22 осуществляет передачу управления на участок программ, начина30 ющнйся специальной командой 23, если

w =1; и на участок программы, начинающийся командой 24, если ч> =О. В специальной команде 23 в полях 17 и 18 записаны единицы, в специальной коман35 де 24 в поле 17 — "1", в поле 18 -"О", Предположим, что в результате ошибки в ходе программы при значении признака >б=1 после выполнения команды 22 ошибочно произошла передача управления на

40 участок программы, начинающийся специальной командой 24 (переход произошел, а условия перехода не выполнились). В этом случае при выполнении специальной команды 24 на вход 14 устройства поступает нулевой сигнал (ш3=0), посколь45 ку в команде 24 в цоле 18 записан О, а на вход 1 3 устройства поступает единичный сигнал (жом=1). На выходе схемы

6 формируется единичный сигнал, который проходит через открытый по первому входу элемент И 4 и поступает на третий

5, формируя на его выходе сигнал ошибки.

Таким образом предлагаемое устрой„-тво обнаруживает ошибку типа: переход

55 произошел, а условия перехода не выполнены.

Пусть в ходе программы произошла ошибка типа: переход произошел не на ту

8924 на которую должен был проиэойкоманду ти.

Предположим, что в машине в результате выполнения операции сформирован нулевой сигнал. При выполнении коман5 ды 22 должна произойти передача управления.на специапьную команду 24, но из-оа ошибок в ходе программы произошла передача управления на одну из рабочих команд 25 (переход произошел не на одну команду, на которую должен был произойти). Поскольку на участке программы от специальной команды 20 до команды условного перехода 22 ошибок в ходе программы не быно (иначе при выполнении команды 22 это было бы зафиксировано), то все разряды счетчика 1 нахс дятся в единичном состоянии. При выполнении одной из рабочих команд 25 на второй вход счетчика 1 поступает единичный сигнал. На выходе переноса из старшего разряда счетчика 1 формирует, ся единичный сигнал, который поступает на второй вход элемента ИЛИ 5 и формирует на выходе устройства сигнал об ошибке в ходе программы

Таким образом предлагаемое устройство обнаруживает ошибки в случае, когда переход произошел не на ту команду, на которую должен был произойти. зо

Предоагаемое устройство осуществляет контроль хода программы и для случая, когда на одну ветвь программы осуществляется переход из двух ветвей программ, по разным значениям признака перехода. Структурная схема такой программы (фиг. 4) включает специальные команды 28,29,33 и 35, рабочие команды 30 и 36 программы, команды 31 и 32 уоловной передачи управления, команда 34

4О безусловной передачи управления, команда 37 останова или условной передачи управления. Приняты обозначения для .ветвей программы: с 28-Й по 31-ю командуветвь К, с 29-й по 32-ю команду -ветвь, с 36-й по 37-ю команду- ветвь .

Иэ ветви К в ветвь j необходимо попасть при значении признака перехода =О, из ветви 6 в ветвь необходимо попасть при значении признака перехода =1. Для контроля правильности услов ных переходов предлагаемым .устройством следует из команды 31 передать управ,ление при ш 9 в специальную команду

ЗЗ, в 1 7 и 1 8 разрядах которой записан код "10, à B поле 19 - код числа команд, подлежащих выполнению в ветви программы, увеличенный на единицу (в ходе программы на счетчике I устройст46 10 ва считаются команды 33 и 34 и не считается команда 37). После специальной команды 33 выполняется команда 34 безусловной передачи управления, по которой осуществляется переход на выполнение первой рабочей команды 36 ветви программы. При переходе из ветви 8 в ветвь по команде 32 условной передачи управления при значении признака =1 осуществляется переход на выполнение специальной команды 35, в 17 и 18 раэ« рядах которой записан коа 11, а в поле

19 — код числа команд, подлежащих выполнению в ветви (без учета команды

37).

Работа устройства при выполнении специальных команд (33 и 35) рассмотрена выше.

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

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

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

ИЛИ, элемент И-HE и схема сравнения, причем информационные выходы счетчика соединены со входами элемента И-НЕ и являются группой выходов устройства, выход элемента И-НЕ соединен с первым входом первого элемента И, выход которого соединен с первым входом элемента

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

892446

Источники информации, принятые во внимание при экспертизе

1. Ушаков Г. Н. Аппаратный контроль и надежность специализированных ЭИМ.

М., Советское радио, 1969, с. 32-33.

2. Клямко Э. И. Схемный и тестовый контроль автоматических цифровых вычисжительных машин, М., "Советское радио, 1963, с. 86-87, рис. 14.

3. Клямко Э. И. Схемный н тестовый контроль автоматических цифровых вычнолительных машин, М„Советское радио", 1963, с. 58-59, рис. 6 (прототип).

892446

Фиг. 3

Составитель И. Сигалов редактор Н. Лазаренко . Тирад С.Мигунова Корректор М. немчик

Заказ 11259/72 Тираж 748 Подписное

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

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

Филиал ППП "Патент, r. Ужгород, ул. Проектная, 4