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

Номер патента: 892446

Авторы: Гребнев, Шептуха

ZIP архив

Текст

92446 51 О 15 20 25 30 35 40 45 котором записывается "1", если необходимо контролировать правильность услов: ного перехода на участок программы, который начинается этой специальной коман 55 3 8раммы, Другим недостатком устройстваявляется неспособность контролироватьвыполнение условных переходов,Цель изобретения - увеличение контролирующей способности устройства.Поставленная цель достигается тем,что в устройство для контроля хода программы, содержащее счетчик, информационные входы которого образуют группуинформационных входов устройства, управляющий, счетныи и установочный входысчетчика являются, соответственно, первым, вторым и третьим управляющимивходами устройства, введены первый ивторой элементы И, элемент ИЛИ, элемент И-НЕ и схема сравнения, причеминформационные выходы счетчика соединены со входами элемента И-НЕ и являются группой выходов устройства, выход элемента И-НЕ соединен с первымвходом первого элемента И, выход которого соединен с первым входом элемента ИЛИ, выход переполнения счетчика соединен со вторым входом элемента ИЛИ,выход которого является управляющиммвыходом устроиства, выход схемы сравнения соединен с первым входом второгоэлемента И, выход которого соединен стретьим входом элемента ИЛИ, второйвход первого элемента И является входом признака конца контроля устройства,второй вход второго элемента И являетсявходом признака контроля перехода, первый и второй входы схемы сравнения являются входами признака перехода и одноразрядного признака условия. Устройство для контроля хода програм мы реализует аппаратно-программный способ контроля хода программы, основанный на проверке хода программы на отдельных участках программы и на проверке правильности переходов с одного участка программы на другой, Участки, на которые разбивается программа начинаются сггециальной командой .и заканчиваются командами условного перехода или останова, При выполнении специальной команды проверяется правильность попадания на участок путем сравнения деиствительного значения сигнала - признака перехода, сформированного в машине, по которому был осуществлен переход к выполнению участка, с эталонным значением, хранимым в специальной команде, Кроме того, при выполненииспециальной команды задается число команд, цодлежацбгх выполнению на участке прог раммы, При выполнении участка црограммы производится счет числа выполненных команд и сравнение подсчитанного числа команд с заданным. Сигнал ошибки формируется если неправильно осуществлен переход на выполнение участка программы, если число команд, выполненных на участке программы, превысило заданное или меньше заданного.На фиг. 1 приведена функциональная схема предлагаемого устройства для контроля хода программы;на фиг, 2- структура специальной команды; на фиг.З- структурная схема программы; на фиг.4- то же, при переходе на одну ветвь программы из двух ветвей программ по раз- ным значениям признака перехода.Устройство для контроля хода программы включает счетчик 1, и элемент И-НЕ, первый 3 и второй 4 элементы И, элемент 5 ИЛИ и схема 6 сравнения. Причем информационные входы занесения кода на счетчик 1 подключены ко входам устройства, а управляющий вход занесения на счетчик 1 подключен ко входу 7 устройства, счетный вход счетчика соединен со входом 8 устройства, а к управляющему входу сброса счетчика в нуль подключен вход 9 устройства, единичные выходы разрядов счетчика 1 подключены к выходам 10 устройства и ко входам элемента И-НЕ 2, выходы которого соединены с одним входом элемента И 3, другой вход которого подключен ко входу 11 устройства, а выход - к первому входу элемента ИЛИ 5, второй вход которого подключен к выходу переноса из старшего разряда счетчика 1, а третий вход - к выходу элемента И 4, первый вход которого соединен со входом 12 устройства, а второй вход соединен с выходом схемы 6 сравнения, первый вход которой подключен ко входу 13 устройства, а второй вход соединен со входом 14 устройства, выход элемента ИЛИ 5 соединен с выходом 1 5 устройства.Специальная команда (фиг. 2) включает поле 16, в котором записывается код команды, одноразрядное поле 17, в дой, и "О", если правильность условного перехода не контролируется, одноразрядное поле 1 8, в котором записывается значение признака условного перехода,по которому на участок программы дол,жен осуществляться переход, поле 1 9, вкотором записывается число команд, под5 8924 дается число команд, подлежащих выполнению на участке программы, до следующей команды условного перехода илиостанова, При выполнении команды условного перехода на вход 1 1 признака конца контроля поступает единичный сигнал,как и при выполнении команды останова.При выполнении специальной командыучастка программы, куда происходит передача управления по команде условногоперехода, при выполнении которой осуществляется контроль правильности перехода, устройство контроля хода программы работает следующим образом,На вход 12 устройства поступает единичный сигнал, которыи открывает по одному входу элемент И 4. На второй входэлемента И 4 поступает сигнал с выхода схемы 6 сравнения, на вход 13 которой поступает сигнал признака условногоперехода, сформированный в машине, ана вход 14 поступает сигнал одноразрядного признака с того разряда регистракоманд машины, в котором при выполнении специальной команды хранится значение одноразрядного кода, записанного впопе 1 8. Если условный переход осуществлен правильно, то на входы 1 3 и14 устройства поступают одинаковыесигналь с выхода схемы 6 на второйвход элемента И 4 поступает нулевойсигнал. Если условный переход осуцествлен неправильно, то на входы 1 3 и 30 зз ао лежащих выполнению на участке программы, ограниченном специальной командой и первой, встретившейся после нее, командой условного перехода или командой останова, причем специальная команда считается первой.Если в программе нет команд условных переходов, то заранее можно указать число команд, подлежащих выполнению. В этом случае в начале программы ставится специальная команда, в поле 1 7 которой записаны "О", а в поле 1 9 - число команд, подлежащих выполнению в программе, без учета команды останова, В этом случае устройство контроля хода программы работает следующим образом.При выполнении специальной команды в устройстве управления машины производится анализ кода специальной команды. Если в поле 1 7 специальной команды записан "О", на вход 1 2 устройства не поступает единичный сигнал признака контроля перехода, элемент И 4 закрыт, и анализ правильности выполнения условного перехода не проводится. На вход 9 устройства поступает сигнал, сбрасывающий счетчик 1 в нулевое состояние. На вход 7 устройства поступает управляющий сигнал занесения кода на счетчик, по которому прямой код числа команд, подлежащих выполнению, записанный в поле 19 специальной команды, преобразовывается в дополнительный и поступает на счетчик 1. В конце выполнения каждой команды, кроме команд условного перехода и.оста- нова, на вход 8 устройства поступает сигнал, по которому содержимое счетчика 1 увеличивается на единицу.При выполнении команды останова на входе 11 устройства формируется единичныи сигнал признака конца контроля. Если ход программы не нарушен, т.е. не пропущена ни одна команда и не выполнено ни одной лишней команды, то все разряды счетчика 1 должны находиться в единичном состоянии. С выхода элемента И-НЕ 2 на вход элементе И 3 поступает нулевой сигнал и на его выходе не формируется единичный сигнал, Если при выполнении программы была пропущена хотя бы одна команда, то к моменту выполнения команды останова не все разрядысчетчика 1 находятся вединичном состоянии, на выходе элемента И-НЕ 2 присутствует единичный сигнал. При выполнении команды останова единичный сигнал поступающий на вход 1 1 устройства,сформирует на выходе элемента И 3 также единичный сигнал, который поступа 46 6ет на вход элемента ИЛИ 5. На выходеэлемента ИЛИ 5 формируется единичныйсигнал, который поступает на выход 1 5устройства и свидетельствует об ошибкев ходе программы. Если при выполнениипрограммы выполнена лишняя команда,то еще до выполнения команды.останована второй вход элемента ИЛИ 5 с выхода переноса из старшего разряда счетчика поступает единичный сигнал, и на выходе 1 5 устройства формируется единичный сигнал,Если в программе имеются командыусловных переходов, то заранее можноуказать число команд, выполняемых научастках программы от начала программыдо первой команды условного перехода,между командами условных переходов иот последней в ветви программы командыусловного перехода до команды останова.Для организации контроля хода программы,первой, после каждого разветвления программы, должна выполняться команда. Вэтом случае при выполнении специальнойкоманды как проверяется правильностьвыполнения условного перехода, так и за5 10 15 О 5 78914 устройства поступают разные сигналы, с выхода схемы 6 на второй входэлемента И 4 поступает единичный сщснал, и с выхода элемента И 4 единичныйсигнал поступает на третий вход элемента ИЛИ 5. На выходе 15 устройствасформируется единичный сигнал,При выполнении специальной командыучастка программы, на который происходит передача управления по командеусловного перехода, устройство работаетследующим образом.Носле дешифрации в устройстве управления машины кода специальной команды,в поле 1 7 которой записана "1 , на вход12 устройства контроля хода программыпоступает единичный сигнал, который озкрывает по первому входу элемента И 4,На второй вход элемета И 4 поступаетсигнал с выхода схемы отрицания равнозначности, на вход 13 которой поступает,."игнал условного перехода ( щ ),сформированный в машине. На вход 14схемы отрицания равнозначности 6 поступает сигнал с того разряда регистра команд машины, в котором при выполнениисигнальной команды находится поле 18,где записано эталоное значение сигналаусловного перехода ( и)з ).На выходе схемы отрицания равнозначностифорьыруется единичный сигнал, еслиж Ф жэ , и нулевой сигнал, если-0 д = цэ , т.е., если условный переходосуществлен правильно, то на входы 1 3и 14 устройства поступают одинаковыесигналы, с выхода схемы 6 на второй вход,элемента И 4 поступает нулевой сигнал.Если условный переход осуществлен неправильно, то на входы 1 3 и 14 устройства поступают разные сигналы и с выхода схемы 6 на второй фвход элементаИ 4 поступает единичныя сигнал. С выхода элемента И 4 единичный сигналпоступает на третий вход элемента ИЛИ5 и сформирует на выходе 15 устройстваединичный сигнал, свидетельствующий обошибке в ходе программы,Предлагаемое устройство способноконтролировать ход программы и при наличии прерываний. При отработке прерываний содержимое основных регистров машины запоминается в памяти. С выходов10 устройства контроля хода программы,соединенных с выходами единичных разрядов счетчика 1, код, находящийся насчетчике, поступает и запоминается в одной из ячеек памяти машины. При возвращении к .прерванной, программе необ-ходимо восстановить на счетчике 1 инфор 24468 мацию, которая находится в момент прихода сигнала прерывания. Это делается путем выполнения специальной команды, в поле 1 7 которой записан "О" (не нужно проверять правильность выполнения условного перехода), а в поле 1 9 записан прямой код числа, которое было записано в память.Рассмотрим работу устройства на при мере обнаружения некоторых типов ошиюок,в ходе программы. Будем считать, что условные переходы выполняются по признаку шПусть произошла ошибка типа: пере-ход произошел, а условия перехода не выволннлнсь. Структурная схема программы (фиг. 3) включает специальные команды 20,23 и 24, рабочие команды 21 и 25 программы, команда 22 условного перехода по признаку щ, либо команды 26 и 27 условных переходов, либо команды останова. Программа разбита на три участка. Каждый участок начинается специальной командой 20, 23 и 24 и заканчи вается либо командами условного перехода, либо командами останова 22,26 и 27. Команда 22 осуществляет передачууправления на участок программ, начинающийся специальной командой 23, еслиш =1; и на участок программы, начинающийся командой 24, если ч =О. В специальной команде 23 в полях 17 и 18записаны единицы, в специальной команде 24 в поле 17 - "1 ф, в поле 18 -фО", 35Предположим, что в результате ошибки входе программы прн значении признакацб=1 после выполнения команды 22 ошибочно произошла передача управления на 40участок программы, начинающийся специальной командой 24 (переход произошел,а условия перехода не выполнились). Вэтом случае при выполнении специальнойкоманды 24 на вход 14 устройства поступает нулевой сигнал (ш=О), поскольку в команде 24 в поле 18 записан Оф,а на вход 1 3 устройства поступает единичный сигнал (а=1), На выходе схемы6 формируется единичный сигнал, которыйпроходит через открытый по первому входу элемент И 4 и поступает на третий5, формируя на его выходе сигнал ошибки.Таким образом предлагаемое устрой.тво обнаруживает ошибку типа: переход 55 произошел, а условия перехода не выполнены.Пусть в ходе программы произошлаошибка типа: переход произошел не на ту98924на которую должен был проиэойкомандути.Предположим, что в машине в результате выполнения операции сформирован нулевой сигнал. При выполнении коман 5 ды 22 должна произойти передача управления,на специапьную команду 24, но из-оа ошибок в ходе программы произошла передача управления на одну из рабочих команд 25 (переход произошел не на одну команду, на которую должен был произойти). Поскольку на участке программы от специальной команды 20 до команды условного перехода 22 ошибок в ходе программы не быно (иначе при выполнении команды 22 это было бы зафиксировано), то все разряды счетчика 1 нахс. дятся в единичном состоянии, При выполнении одной из рабочих команд 25 на второй вход счетчика 1 поступает единичный сигнал, На выходе переноса из старшего разряда счетчика 1 формируется единичный сигнал, который поступает на второй вход элемента ИЛИ 5 и формирует на выходе устройства сигнал об ошибке в ходе программыТаким образом предлагаемое устройство обнаруживает ошибки в случае, когда переход произошел не на ту команду, на которую должен был произойти.30Предоагаемое устройство осуществляет контроль хода программы и для случая, когда на одну ветвь программы осуществляется переход из двух ветвей программ, по разным значениям признака перехода. Структурная схема такой программы (фиг. 4) включает специальные команды 28,29,33 и 35, рабочие команды 30 и 36 программы, команды 31 и 32 уоловной передачи управления, команда 344 О безусловной передачи управления, команда 37 останова или условной передачи управления. Приняты обозначения для .ветвей программы: с 28-й по 31-ю команду- ветвь К, с 29-й по 32-ю команду -ветвь, с 36-й по 37-ю команду- ветвь.45 Иэ ветви К в ветвь 1 необходимо попасть при значении признака перехода О =О, из ветви 6 в ветвьнеобходимо попасть при значении признака перехода 0=1. Для контроля правильности услов ных переходов предлагаемым .устройством следует из команды 31 передать управ,ление при ш 9 в специальную команду ЗЗ, в 17 и 18 разрядах которойэаписан код "10, а в поле 1 9 - код числа команд, подлежащих выполнению в ветвипрограммы, увеличенный на единицу (в ходе программы на счетчике 1 устройст 46 10ва считаются команды 33 и 34 и не считается команда 37). После специальной команды 33 выполняется команда 34 без. условной передачи управления, по которой осуществляется переход на выполнение первой рабочей команды 36 ветвипрограммы. При переходе из ветви 8 в ветвь по команде 32 условной передачи управления при значенйи признака ц =1 осуществляется переход на выполнение специальной команды 35, в 1 7 и 1 8 раэ рядах которой записан код 1 1, а в поле 19 - код числа команд, подлежащих выполнению в ветви(без учета команды 37).Работа устройства при выполнении специальных команд (33 и 35) рассмотрена выше.Таким образом предлагаемое устрой ство обнаруживает ошибки в ходе программы в случае, когда на одну ветвь программы осуществляется переход из двух ветвей программ по разным значениям признака перехода. формула изобретения Устройство для контроля хода программы содержащее счетчик, информационные входы которого образуют группу информационных входов устройства, управляющий, счетный и установочный входы счетчика являются управляющими входами устройства, отличающееся тем, что, с цепью увеличения контролирующей способности, в устройство введены первый и второй элементы И, элемент ИЛИ, элемент И-НЕ и схема сравнения, причем информационные выходы счетчика соединены со входами элемента И-НЕ и являются группой выходов устройства, выход элемента И-НЕ соединен с первым входом первого элемента И, выход которого соединен с первым входом элемента ИЛИ, выход переполнения счетчика соединен со вторым входом элемента ИЛИ,выход которого является управляющим выходом, устройства, выход схемы сравнения соединен с первым входом второго элемента И, выход которого соединен с третьим входом элемента ИЛИ, второй вход первого элемента И является входом признака конца контроля устройства, второй вход второго элемента И является входом признака контроля перехода, первый и второй входы схемы сравнения являются входами признака перехода и одноразрядного признака условия.Источники информации,принятые во внимание при экспертизе 1. Ушаков Г. Н. Аппаратный контроль и надежность специализированных ЭВМ. МСоветское радио, 1969, с. 32-33. 2. Клямко Э. И. Схемный и тестовый контроль автоматических цифровых вычис жительных машин, М., "Советское радио,1963, с. 86-87, рис. 14. 3. Клямко Э. И. Схемный н тестовый 5 контроль автоматических цифровых вычнолительных машин, МСоветское радио",1963, с. 58-59, рис. 6 (прототип).892446 Фиг едактор Н каэ 11259/72 ВНИИ ПИ Государст по делам иэоб 113035, Москва, Тираж 748 Подписноеенного комитета СССРтений и открытий

Смотреть

Заявка

2871961, 21.01.1980

ВОЕННЫЙ ИНЖЕНЕРНЫЙ КРАСНОЗНАМЕННЫЙ ИНСТИТУТ ИМ. А. Ф. МОЖАЙСКОГО

ГРЕБНЕВ ВЛАДИМИР ВЛАДИМИРОВИЧ, ШЕПТУХА СЕРГЕЙ МАКСИМОВИЧ

МПК / Метки

МПК: H03M 13/51

Метки: программы, хода

Опубликовано: 23.12.1981

Код ссылки

<a href="https://patents.su/7-892446-ustrojjstvo-dlya-kontrolya-khoda-programmy.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода программы</a>

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