SU892446A1 - Устройство дл контрол хода программы - Google Patents

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

Info

Publication number
SU892446A1
SU892446A1 SU802871961A SU2871961A SU892446A1 SU 892446 A1 SU892446 A1 SU 892446A1 SU 802871961 A SU802871961 A SU 802871961A SU 2871961 A SU2871961 A SU 2871961A SU 892446 A1 SU892446 A1 SU 892446A1
Authority
SU
USSR - Soviet Union
Prior art keywords
command
program
transition
control
input
Prior art date
Application number
SU802871961A
Other languages
English (en)
Inventor
Владимир Владимирович Гребнев
Сергей Максимович Шептуха
Original Assignee
Военный Инженерный Краснознаменный Институт Им. А.Ф.Можайского
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Военный Инженерный Краснознаменный Институт Им. А.Ф.Можайского filed Critical Военный Инженерный Краснознаменный Институт Им. А.Ф.Можайского
Priority to SU802871961A priority Critical patent/SU892446A1/ru
Application granted granted Critical
Publication of SU892446A1 publication Critical patent/SU892446A1/ru

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА ПРОГРАММЫ
I
Изобретение относитс  к вычислитёл ной технике, в частности к устройствам контрол  ЦВМ и -может быть испольэова- но дл  контрол  хода программы как в специализированных, так и в универсальных ЦВМ.
Известны устройства контрол  хода программы Б ЦВМ, реализующие способы контрол  хода программы, основанные на введении избыточной инфор шшга в коа команды Ul .
Однако избыток информахши щ шопит к увеличению разр дкой сетки машины.
Известно устройство контрол  хоаа программы, в состав которого вход т схема сборси, счетчик, счетчик с ишипь ческим переносом, генератор, схема сравнени , регистр, клапаны. Данное устройство осуществл ет контроль хода щмипраммы путем провертси правильности пор дка выполнени  контролывлх подпрограмм l2J,
Недостатком устройства  вл етс  не способность обнаруживать сбои в ходе
основной программы, не привод щие к нарушению пор дка выполнени  контрольных подпрограмм.
Наиболее близким по технической сут№ности к предлагаемому  вл етс  устройство , содержащее триггер, элемент И и счетчик, и использующеес  дл  контрол  безусловных переходов и контрол  линейных участков программы (участков, не содержащих команд условных переходов) путем подсчета числа команд, выполненных на участке, ограниченном сверху и снизу специальными ксфдандами двух т прв , и .сраъквта выполненного числа команд с заданным. Причем число камааа на каждом контролируем участке долнс но быть равно максимально воа ожному числу, которое можно записать на счегчик ГЗ.
Однако использование специальных команд двух типов и посто нное число команд на контролируемых участках приводит к значительным программным затратам дл  организации контрол  хода прорраммы . Другим недостатком устройства  вл етс  неспособность контролировать выполнение условных переходов.
Цель изобретени  - увеличение коитролируюшей способности устройства.
Поставленна  цель достигаетс  тем, что в устройство дл  контрол  хода программы , содержащее счетчик, инфор.ац онные входы которого образуют группу информационных входов устройства, управл ющий , счетный и установочный входы счетчика  вл ютс , соответственно, первым вторым и третьим управл ющими входами устройства, введены первый и второй элементы И, элемент ИЛИ, элемент И-НЕ и схема сравнени , причем инфор 19ционные выходы счетчика соединены со входами элемента И-НЕ и  &л ютс  группой выходов устройства, выход элемента И-НЕ соединен с первым входом первого элемента И, выход которого соединен с первым входом элемента ИЛИ, выход переполнени  счетчика соединен со вторым входом элемента ИЛИ, выход которого  вл етс  управл ющим выходом устройства, выход схемы сравнени  соединен с первым входом второго элемента И, выход которого соединен с третьим входом элемента ИЛИ, второй вход первого элемента И  вл етс  входом признака конца контрол  устройства второй вход второго элемента И  вл етс входом признака контрол  перехода, первый и второй входы схемы сравнени   вл ютс  входами признака перехода и одноразр дного признака услови .
Устройство дл  контрол  хода программы реализует аппаратно-программный способ контрол  хода программы, основанный на проверке хода программы на отдельных участках программы к на проверке правильности переходов с одного участка программы на другой. Участки, на которые разбдааетс  программа начинаютс  специальной командой.и заканчиваютс  кс«мандами условного перехода ипн останова. При выполнении специальной команды провер етс  правкльвость попадани  на участок путем сравнени  действительного значени  сигнала - признака перехода, сформированного в маш не, по которому был осуществлен переход к выполнению участка, с эталонным эна- ченнем, хранимым в специальнойкоманде . Кроме того, при выполненииспец альноЙ команды задаетс  число команд, цодлезкаошх выполнению на участке-программы . При выполнении участка npoi раммы производитс  счет числа выполненных команд и сравнение подсчитанного числа команд с заданным. Сигнал ошибки формируетс  если неправильно осуществлен переход на выполнение участка программы, если число команд, выполненных на участке программы, превысило заданное или меньше заданного. На фиг. 1 приведена функциональна 
схема предлагаемого устройства дл  контрол  хода программы;на фиг. 2 структура специальной команды; на фиг.Зструктурна  схема программы; на фиг. 4то же, при переходе на одну ветвь прог5 раммы из двух ветвей программ по разным значени м признака перехода.
Устройство дл  контрол  хода программы включает счетчик 1,и элемент И-НЕ2 , первый 3 и второй 4 элементы И, эле0 мент 5 ИЛИ и схема 6 сравнени . Причем информационные входы занесени  кода на счетчик 1 подключены ко входам устройства , а управл ющий вход занесени  на счет чик 1 подключен ко входу 7 устройства,
счетный вход счетчика соединен со входом
8устройства, а к управл ющему входу сброса счетчика в нуль подключен вход
9устройства, единичньш выходы разр дов счетчика 1 подключены к выходам
10устройства и ко входам элемента И-НЕ 2, выходы которого соединены с одним входом элемента И 3, другой вход которого подключен ко входу 11 устройства , а выход - к первому входу элемента ИЛИ 5, второй вход которого подключен к выходу переноса из старшего разр да счетчика 1, а третий вход - к выходу элемента И 4, первый вход которого соединен со входом 12 устройства, а второй вход соединен с выходом схемы
6 сравнени , первый вход которой подключен ко входу 13 устройства, а второй вход соединен со входом 14 устройства , выход элемента ИЛИ 5 соединен с выходом 15 устройства.
Специальна  команда (фиг. 2) включает поле 16, в котором записываетс  код команды, одноразр дное поле 17, в котором записываетс  I, если необходимо контролировать правильность условного перехода на участок программы, который начинаетс  этой специальной командой , и О, если правильность условного перехода не контролируетс , одноразр дное .поле 18 , в котором записываетс  значение признака условного перехода, по которому на участок программы до , жен осуществл тьс  переход,поле 19, в котором записываетс  число кетдан , подлежащих выполнению на участке програм мы , ограниченном специальной командой и первой, встретившейс  после нее, командой условного перехода или командой останова, причем специальна  команда считаетс  первой.
Если Б программе нет команд условных переходов, то заранее можно указать число команд, подлежащих выполнению. В этом случае в начале программы ставитс  специальна  команда, в поле 17 которой записаны О, а в поле 19 - число команд, подлежащих выполнению в прог рамме, без учета команды останова. В этом случае устройство контрол  хода
программы работает следующим образе.
При выполнении специальной команды в устройстве управлени  машины производитс  анализ кода специальной команды Если в поле 1 7 специальной команды записан О, на вход 12 устройства не поступает единичный сигнал признака контрол  перехода, элемент И 4 закрыт, и анализ правильности выполнени  условного перехода не проводитс . На вход 9 устройства поступает сигнал, сбрасывающий счетчик 1 в нулевое состо ние. На вход 7 устройства поступает управл ющий сигнал занесени  кода на счетчик, по которому пр мой код числа команд, подлежащих выполнению, записанный в поле 19 .специальной команды, преобразовываетс  в дополнительный и поступает на счетчик 1. В конце выполнени  каждой команды, кроме команд условного перехода и .останова , на вход 8 устройства поступает сигнал, по которому содержимое счетчика 1 увеличиваетс  на единицу.
При выполнении команды останова на входе 11 устройства формируетс  единичныи сигнал признака конца контрол . Если ход щэограммы не нарушен, т.е. не пропущена ни одна команда и не выполнено ни одной лишней команды, то все разр ды счетчика 1 должны находитьс  в единичном состо нии. С выхода элемента И-НЕ 2 на вход элемента И 3 поступает нулевой сигнал и на его выходе не формируетс  единичный сигнал. Если при выполнении программы была пропущена хот  бы одна команда, то к моменту выпол нени  команды останова не все разр ды счетчика 1 наход тс  в единичном состо нии , на выходе элемента И-НЕ 2 присутствует единичный сигнал. При выполнении команды останова единичный сиг нал поступающий на вход 11 устройства, сформирует на выходе элемента И 3 также единичный сигнал, который поступает на вход элемента ИЛИ 5. На выходе элемента ИЛИ 5 формируетс  единичный сигнал, который поступает на выход 15 устройства и свидетельствует об ошибке в ходе программы. Если при выполнении программы выполнена лишн   команда, то еше до выполнени  команды останова па второй вход элемента ИЛИ 5 свыхода переноса из старшего разр да счетчика поступает единичный сигнал, и на выходе 15 устройства формируетс  единичный сигнал.
Если в программе имеютс  .команды условных переходов, то заранее можно указать число команд, выполн емых на участках программы от начала программы до первой команды условного перехода, между командами условных переходов и от последней в ветви программы команды условного перехода до команды останова. Дл  организации контрол  хода программ первой, после каждого разветвлени  программы , должна выполн тьс  команда. В этом случае при выполнении специальной команды как провер етс  правильность выполнени  условного перехода, так и задаетс  число команд, подлежащих выполнению на участке программы, до следующей команды условного перехода или останова. При выполнении команды условного перехода на вход 11 признака конца контрол  поступает единичный сигнал, как и при выпол 1ении команды останова.
При выполнении специальной команды участка программы, куда происходит передача управлени  по команде условного перехода, при выполнении которой осуществл етс  контроль правильности перехода , устройство контрол  хода программы работает следующим образом.
На вход 12 устройства поступает единичный сигнал, который открывает по одному входу элемент И 4. На второй вход элемента И 4 поступает сигнал с выхода схемы 6 сравнени , на вход 13 которой поступает сигнал признака условного перехода, сформированный в машине, а на вход 14 поступает сигнал одноразр дного -признака с того разр да регистра команд машины, в котором при выполнении специальной команды хранитс  значение одноразр дного кода, записанного в поле 18. Если условный переход осуществлен правильно, то на входы 13 и 14 устройства поступают одинаковые сигналы, с выхода схемы 6 на второй вход элемента И 4 поступает нулевой сигнал. Если условный переход осуществлен неправильно, то на входы 13 и 14 устройства поступают разные сигналы , с выхода схемы 6 на второй вход элемента И 4 поступает единичный сигнал , и с выхода элемента И 4 единичный сигнал поступает на третий вход элемента ИЛИ 5. На выходе 15 устройства сформируетс  единичный сигнал. При выполнении специальной команды участка программы, на который прокоходит передача управлени  по команде условного перехода, устройство работает следующим образом. После дешифрации в устройстве управлени  машины кода специальной команды. в поле 17 которой записана , на вход 12 устройства контрол  хода программы поступает единичный сигнал, который от крывает по первому входу элемента И 4 На второй вход элемета И 4 поступает сигнал с выхода схемы отрицани  равнозначности , на вход 13 которой поступает .сигнал условного перехода ( uj ), сформированный в машине. На вход 14 схемы отрицани  равнозначности 6 посту пает сиграл с того разр да регистра команд машины, в котором при выполнении сигнальной команды находитс  поле 18, где записано этало:;ное значение сигнала условного перехода {uJg).Ha выходе схемы отрицани  равнозначности формцр -етс  единичный сигнал, если Ф , И нулевой сигнал, если --Э Э I т.е., если условный перехо осуществлен правильно, то на входы 13 и 14 устройства поступают одинаковые сигналы, с выхода схемы 6 на второй вхо элемента И 4 поступает нулевой сигнал. Если условный переход осуществлен неправильно , то на входы 13 и 14 устройства поступают разные сигналы и с выхода схемы 6 на второй ход элемента И 4 поступает единичный сигнал. С выхода элемента И 4 единичный сигнал поступает на третий вход элемента ИЛИ 5 и сфор 1ирует на выходе 15 устройства единичный с игнал, свидетельствующий об ошибке в ходе программы. Предлагаемое устройство способно контролировать ход программы и при наличии прерываний. При отработке прерываний содержимое оснотвных регистров ма шины запоминаетс  в пам ти. С выходов 10 устройства контрол  хода программы, соединенных с выходами единичных разр дов счетчика 1, код, наход щийс  на счетчике, поступает и запсвминаетс  в од 55
ной из  чеек пам ти машины. При возврашённи к прерванной ограмме нео&ходимо восстановить на счетчике 1 инфорн8
нены.

Claims (3)

  1. Пусть в ходе программы произошла ошибка типа: переход произошел не на ту 6 мацию, котора  находитс  в момент прихода сигнала прерывани . Это делаетс  путем выполнени  специальной команды, в поле 17 которой записан О (не нужно провер ть правильность выполнени  уоловного перехода), а в поле 19 записан пр мой код числа, которое было записано в пам ть. Рассмотрим работу устройства на пр мере обнаружени  некоторых типов ош юоК;В ходе программы. Будем считать, что условные переходы выполн ютс  по признаку UJ . Пусть произошла ошибка типа: пер)е- ход произошел, а услови  перехода не вь1 рлнились . Структурна  схема программы (фиг. 3) включает специальные команды 20,23 и 24, рабочие команды 21 и 25 программы, команда 22 условного перехода по признаку ш , либо команды 26 и 27 условных переходов, либо команды останова. Программа разбита на три участка . Каждый участок начинаетс  специальнойГ командой 20, 23 и 24 и заканчиваетс  либо командами условного перехода , либо командами останова 22,26 и 27. Команда 22 осуществл ет передачу управлени  на участок программ, начинающийс  специальной командой 23, если ш 1, и на участок программы, начинающийс  командой 24, если wJ 0, В специальной команде 23 в пол х 17 и 18 записаны единицы, в специальной команде 24 в поле 17 - 1, в поле 18 . Предположим, что в результате ошибки в ходе программы при значении признака после выполнени  команды 22 ошибочно произошла передача управлени  на участок программы, начинающийс  специ- альной командой 24 (переход произошел, а услови  перехода не выполнились). В этом случае при выполнении специальной команды 24 на вход 14 устройства поступает нулевой сигнал (), поскольку в команде 24 в поле 18 записан О, а на вход 13 устройства поступает единичный сигнал (). На выходе схемы 6 формируетс  единичный сигнал, который проходит через открытый по первому входу элемент И 4 и поступает на третий 5, формиру  на его выходе сигнал ошибки . Таким образом Предлагаемое устрой;;тво обнаруживает ошибку типа: переход произошел, а условк  перехода не выполкоманду на которую должен был произойти . Предположим, что в машине в реэульггате выполнени  операции сформирован нулевой сигнал. При выполнении команды 22 должна произойти передача у№равпени  .на специальную команду 24, но из-за ошибок в ходе программы произошла передача управлени  на одну из рабочих команд 25 (переход произошел не на одну команду, на которую должен был произойти ). Поскольку на участке программы от специальной команды 20 до команды условного перехода 22 ошибок в ходе программы не было (иначе при выполне- НИИ команды 22 это было бы зафиксировано ), то все разр ды счетчика 1 наход тс  в единичном состо нии. При выполнении одной из рабочих команд 25 на второй вход счетчика 1 поступает ед ничный сигнал. На выходе переноса из старшего разр да счетчика 1 формирует с  единичный сигнал, который поступает на второй вход элемента ИЛИ 5 и формирует на выходе устройства сигнал об ошибке в ходе программы Таким образом предлагаемое устройство обнаруживает ошибки в случае, ког.да переход произошел не на ту команду, на которую должен был произойти. Предлагаемое устройство осуществл ет контроль хода программы и дл  случа , когда на одну ветвь программы осуществл етс  переход из двух ветвей программ , по разным значени м признака перехода . Структурна  схема такой программы (фиг. 4) включает специальные коман ды 28,29,33 и 35, рабочие команды 30 и 36 программы, команды 31 и 32 уоловной передачи управлени , команда 34 безусловной передачи управлени , команда 37 останова или условной передачи уп равлени . Прин ты обозначени  дл  ветвей программы: с 28-й по 31-ю команду ветвь К, с 29-й по 32-ю команду -ветв и , с 36-й по 37-ю команду - ветвь j . Из ветви К в ветвь j необходимо попасть при значении признака перехода UJ 0, из ветви Z в ветвь J необходимо пс асть при значении признака перехода . Дл  контрол  правильности усло&ных переходов предлагаемым устройством следует из команды 31 передать управ ,ление при (л) °9 в специальную команду 33, в 17 и 18 разр дах которой записан код Ю, а в поле 19 - код числа команд , подлежащих выполнению в ветви j программы, увеличенный на единицу (в ходе программы на счетчике I устройст8 6 ва считаютс  команды 33 и 34 и не считаетс  команда 37). После специальной команды 33 выполн етс  команда 34 безусловной передачи управлени , по которой осуществл етс  переход на выполнение первой рабочей команды 36 ветви J программы . При переходе из ветви в BeTBbj по команде 32 условной передачи управлени  при значении признака и) 1 осуществл етс  перех од на выполнение специальной команды 35, в 17 и 18 разр дах которой записан код 11, а в поле 19 - код числа команд, подлежащих выполнению в ветви j (без учета команды 37). Работа устройства при выполнении специальных команд (33 к 35) рассмотрена выше. Таким образом предлагаемое устройство обнаруживает ошибки в ходе программы в случае, когда на одну ветвь программы осуществл етс  переход из двух ветвей программ по разным значени м признака перехода. Формула изобретени  Устройство дл  контрол  хода программы содержащее счетчик, информационные входы которого образуют группу . информационных входов устройства, управл ющий , счетный и установочный входы счетчика  вл ютс  управл ющими входами устройства, отличающеес  тем, что, с цепью увеличени  контролирующей способности, в устройство введены первый и второй элементы И, элемент ИЛИ, элемент И-НЕ И схема сравнени , причем иш|)ормаш1онные выхощ.1 счетчика соединены со входами элемента И-НЕ и  вл ютс  группой выходов устройства, выход элемента И-НЕ соединен с первым входом первого элемента И, выход которого соединен с первым входом элемента ИЛИ, выход переполнени  счетчика соедине .н со вторым входом элемента ИЛИ, выход которого Явл етс  управл ющим выходом устройства, выход схемы сравнени  соединен с первым входом второго элемента И, выход которого соединен с третьим входом элемента ИЛИ, второй вход первого элемента И  вл етс  входом признака конца контрол  устройства, второй вход второго элемента И  вл етс  входом признака контрол  перехода, первый и второй входы схемы сравнени   вл ютс  входами признака перехода и одноразр дного признака услови . Источники информации, прин тые во внимание при экспертизе 1.Ушаков Г. Н. Аппаратным контроль и надежность спепиалиэированных ЭВМ. М., Советское радио , 1969, с, 32-33.
  2. 2.Кл мко Э. И. Схемный и тестовый контроль автоматических вычиоV Ч/ 1/ 8924
    Фиг. 1
    Фаг.2 612 лительных машин, М., Советское радио , 1963, с. 86-87, рис. 14.
  3. 3. Кл мко Э. И. Схемный и тестовый контроль авт(Ж1атических вычислительных машин, М., Советское радно, 1963, с. 58-59, рис. 6 (прототип).
SU802871961A 1980-01-21 1980-01-21 Устройство дл контрол хода программы SU892446A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU802871961A SU892446A1 (ru) 1980-01-21 1980-01-21 Устройство дл контрол хода программы

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU802871961A SU892446A1 (ru) 1980-01-21 1980-01-21 Устройство дл контрол хода программы

Publications (1)

Publication Number Publication Date
SU892446A1 true SU892446A1 (ru) 1981-12-23

Family

ID=20873205

Family Applications (1)

Application Number Title Priority Date Filing Date
SU802871961A SU892446A1 (ru) 1980-01-21 1980-01-21 Устройство дл контрол хода программы

Country Status (1)

Country Link
SU (1) SU892446A1 (ru)

Similar Documents

Publication Publication Date Title
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
US5134701A (en) Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities
US4020471A (en) Interrupt scan and processing system for a data processing system
US4251859A (en) Data processing system with an enhanced pipeline control
US4652997A (en) Method and apparatus for minimizing overhead when executing nested do loops
US4385365A (en) Data shunting and recovering device
SU892446A1 (ru) Устройство дл контрол хода программы
US3707703A (en) Microprogram-controlled data processing system capable of checking internal condition thereof
US5280626A (en) Multi-process emulator suitable for testing software under multi-process environments
US5440604A (en) Counter malfunction detection using prior, current and predicted parity
US3283307A (en) Detection of erroneous data processing transfers
EP0102697B1 (en) A timing control system in a data processor
CN113127273B (zh) 单片机检测电路及相应的检测的方法
SU1242967A2 (ru) Устройство дл контрол хода программ
US5036516A (en) Process and means for selftest of RAMs in an electronic device
RU2011216C1 (ru) Устройство для контроля управляющей вычислительной машины
JPS62279438A (ja) トレ−ス回路
EP0525672A2 (en) Microprocessor with program tracing
JPH0346853B2 (ru)
RU2050588C1 (ru) Способ контроля и отладки программ реального времени и устройство для его осуществления
SU894713A1 (ru) Устройство дл контрол хода программ
Smith et al. Comparison of approaches to use existing architectural features in embedded processors to achieve hardware-assisted test insertion
SU1305690A1 (ru) Устройство дл контрол хода микропрограммы
SU1035596A2 (ru) Устройство дл сопр жени двух вычислительных машин
SU446060A1 (ru) Устройство управлени вычислительной машины