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

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

Авторы: Лучин, Лясковский

ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК А 2 0 4.С 06 Р 11/28 ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯПРИ ГКНТ СССР ОПИСАНИЕ ИЗОБРЕТЕНИЯ(56) Авторское свидР 1418719, кл. С 06 полнения вах контроля правиль программ ЦВМ, Целью ляется повышение дос роля хода программ. устройства введены в ментов И, второй сче сти зоб етения яв ости конт вернблок анализалок элеи И.Н.Луч и второи четвертый т запрета Устрой чик, нт И льство ССС 11/28, 198 триггер, третии элеэлемент ИЛИ, второйс соответствующими элеме вязям(54) УСТРОЙСТВ стоверность КОНТРОЛЯ ПРОГРЭ повысить дрограмм за возникающ оманд прог л ство и счет бнаакогет-законтроля хода ружения ошибок пропуска рядада значения ко ров не выходят данных значени х изаммы,парам чисисе относится к в ке и может быть тройствах отлад обретен ой техн ли тел тролируемыхза пределы2 ил. пользовано впрограмм, устдом выполнени ан хо йствах управлен программ и устр ст тения - повышение достроля хода программ.редставлена схема уст ный Устройство со информационный 2 блок 4 регистров точек, И блоков входы, вход 3 пуска адресов контрольных -5 регистров этаВТОРСКОМУ СВИДЕТЕЛЬС Изобретение относится к вычислительной технике, может быть использовано в устройствах отладки программ, устройствах управления ходомвыполнения программ и устройствахконтроля правильности выполненияпрограмм ЦВМ и является усовершенствованием устройства по авт. св.9 1418719,Цель изобретоверности конНа фиг, 1 пройства; на фиг. 2 - схема блокаанализа,лонных значений, группу блоков элементов И 6 -б, блок элементов И 7, второй элемент ИЛИ 8, вторую схему 9 сравнения, блок элементов И 10, ,регистр 11 адреса, пятый блок элементов И 12, регистр 13, восьмой блок элементов И 14, шестой .блок элементов И 15, блок 16 регистров информации,четвертый блок элементов И 17, блок 18 регистров возврата, второй блок элементов И 19, второй блок элементов ИЛИ 20, блок 21 анализа, дешифратор 22, второй счетчик 23, первый элемент ИЛИ 24, третий элемент 25 задержки, первый счетчик 26, первую схему 27 сравнения, третий блок элементов И 28, регистр 29 числа повторений, первый 30 и второй 31 элементы задержки, первый 32 и второй1509906 33 элементы И, четвертый элемент 34задержки.В блоке анализа каждый канал содержит первый блок элементов И 35,первый регистр 36, первый сумматор37, второй регистр 38, первый элементНЕ 39, третий блок элементов И 40,второй блок элементов И 4 1, блокэлементов ИЛИ 42, второй сумматор.43, второй элемент НЕ 44, четвертыйэлемент И 45 и третий регистр 46. Вблок анализа также входят блок элементов И 47,счетчик 48,первый элементИЛИ 49, элемент 50 запрета, генератор 51 импульсов, элемент 52 задержки, элемент НЕ 53, второй элементИ 54, второй элемент ИЛИ 55, первыйэлемент И 56, третий элемент ИЛИ 57,триггер 58, блок 59 элементов задержки, четвертый элемент ИЛИ 60,второй блок элементов И 61, второйсчетчик 62, второй триггер 63, третий элемент И 64 и второй элемент .65гру67,ка 1 О запрета,25Кроме того, устройство имеет двеппы информационных выходов 66 ивыход 68 останова, выход 69 пуси выход 70 ошибки,Устройство работает следующим об- ЗО разом.В исходном состоянии на блоке 4 регистров адресов контрольных точек записаны адреса контрольных точек (блок 4 содержит И регистров по чис лу контрольных точек в программе).На х-м блоке 5 регистров ( = 1,И) записаны эталонные значения переменных программ для- й контрольной точки. На регистре 29 записано число 40 Дешифратор 22 расшифровывает код на выходе счетчика 23 и на его соответствующем входе появляется сигнал,повторения фрагмента программы. На 1-м регистре 46 Ц = 1,М) записано значение максимально возможного отклонения 1-й переменной от ее эталонного значения. Остальные регистры, 45 блоки регистров и счетчики устройства обнулены.После появления сигнала "Пуск" на входе 3 устройства, который озна-чает начало счета контролируемой программы, через элемент ИЛИ 24 импульс поступает на вход счетчика 23, увеличивая его состояние на единицу ,и через элемент 25 задержки на вход задания режима блока анализа. который поступает на второй вход соответствующего элемента И блока элементов И 7, а также на второй вход соответствующего блока элементов И 6, открывая эти элементы. Адрес 1-контрольной точки программы, проходя через открытый элемент И блока элементов И 7 и через элемент ИЛИ 8, поступает на первый вход схемы 9 сравнения, на второй вход которой поступает код со счетчика адреса команд ЭВМ (не показана). Содержимое блока регистров 5 -й контрольной точки поступает через открытый блок элементов И 6 и блок элементов ИЛИ 20 на группу информационных входов блока анализа.На предпоследнем регистре блока 5 регистров записано максимально возможное значение времени выполнения фрагмента программы от (д)-й до 1-й контрольной точки программы с .учетом времени задержки элемента 25 ( = 1, М - 1), где под нулевой контрольной точкой подразумевается состояние начала программы. На последнем регистре блока регистров 5 записано минимально возможное значение времени выполнения фрагмента программы от (1-1)-й до -й контрольной точки программы с учетом времени задержки элемента 25. Элемент 25 задержки задерживает сигнал на время срабатывания счетчика 23, дешифратора 22, элемента И б и элемента ИЛИ 20, Сигнал с выхода элемента 25 задержки устанавливает триггеры 58 и 63, в единичное состояние и, проходя через элементы ИЛИ 49 и 60, поступает на вторые входы элементов И 47 и 61. Содержимое М-го и (М+1)-го регистров блока регистров 5 переписывается соответственно на счетчики 48 и 62. Низкий потенциал с инверсного выхода триггера 58 поступает на управляющий вход элемента 50 запрета, открывая его и, тем самым, разрешая поступление сигналов генератора 51 импульсов на вычитающий вход счетчика 48 и через открытый элемент 65 запрета на вычитающий вход счетчика 62.Если счетчик 48 обнулился до прихода импульса с входа задания режима блока анализа, который переводит триггер 58 в нулевое состояние и закрывает элемент запрета, тем самым, не разрешая прохождение импульсов с150990генератора 51 на вычитающий входсчетчика 48то значит, что произошло зацикливание в рассматриваемомфрагменте программы и импульс с нчлевого выхода счетчика 48, проходячерез элемент И 47, пройдет на второйвыход блока 21 анализа.В свою очередь, если счетчик 62не обнулился до прихода импульса свхода задания режима блока анализа,то этот сигнал, проходя через открытый элемент И 64 и далее через элемент ИЛИ 57, проходит на второй выход блока 21 анализа, В этом случаеданный сигнал означает, что время выполнения программы от (1.-1)-й до1-й контрольной точки меньше минимально допускаемого значения времени.Если коды в схеме 9 сравнения напервом и втором ее входах одинаковы,то на выходе схемы 9 сравнения появляется импульс, который поступает навторой вход элемента И 10, на первыйвход которого поступает код счетчикаадреса команд ЭВМ, который, проходячерез открытый элемент И 10, записывается в регистр 11. Сигнал с выходасхемы 9 сравнения поступает также напервый вход элемента И 15 и на входразрешения блока 21 анализа. Приэтом элемент И 15 открывается и содержимое регистров арифметическогоустройства ЭВМ (не показаны) с входа2 поступает на блок 16 регистров идалее на первый вход элемента И 17и на группу входов блока 21 анализа,Сигнал с входа разрешения блока 21анализа поступает на стробирующиевходы блока элементов И 35 и элементаИ 45 каждого канала, на второй вход40элемента ИЛИ 49 и на нулевой входтриггера 58 обнуляя его. Содержимоерегистра 46 в инверсном коде переписывается на второй вход сумматора43, с инверсного выхода триггера 58поступает на управляющий вход элемента 50 запрета, закрывая его и запрещая прохождение сигналов с генератора 51 импульсов на вычитающий входсчетчика 48,50Работу блока анализа при сравненииэталонных значений переменных со значениями регистров арифметическогоустройства рассмотрим на пРимеРе одного канала, так как работа остальныхканалов аналогична,Значение первой переменной 1-йэталонной точки, проходя через открыб 6тый элемент И 35, записывается нарегистр 36. С инверсных выходов ре-.гистра 36 код поступает на первыйвход сумматора 37. На второй входсумматоров 37 каждого канала черезблок элементов 59 задержки поступаетсоответствующий код с блока 16 регистров информации. В сумматоре 37 производится вычитание от реального значения переменной в 1-й контрольнойточке ее эталонного значения. Значение разности поступает на регистр 38и может быть как отрицательным, таки положительным. Элементы НЕ 39,И 40 и 41 предназначены дчя получениямодуля числа, записанного на регистре38. Если на первом выходе (знаковыйразряд) регистра 38 низкий потенциал,соответствуюций положительному значению кода, то этот код поступает спрямых выходов регистра 38 на вторуюгруппу информационных входов блокаэлементов И 41, на первый вход стробирования которого поступает высокийпотенциал с элемента НЕ 39. В противном случае, инверсный код с регистра38 поступает через открытый блок элементов И 40. Код с выхода блока элементов И 40 или 41 (в зависимости отзнака кода), проходя через элементИЛИ 42, поступает на первый вход сумматора 43, таким образом на первыйвход сумматора поступает модуль разности между полученным и эталоннымзначениями -й контрольной точке. Поэтому. на сумматоре 43 вычисляетсяразность между числом, записанным врегистре 46, и значением разности .между полученным и эталонным значениями в -й контрольной точке. Еслизначение числа, записанного в регистре 46 больше, чем значение разностимежду полученным и эталонным значением в -и контрольной точке, та результат на сумматоре получается отрицательный и на его выходе (который является знаковым) остается высокий потенциал, в противном случае наего выходе появляется низкий потенциал. Сигнал на выходе сумматора инвертируется на элементе НЕ 44 и поступает на соответствующий вход элемента ИЛИ 55. При этом, если хотя быодно значение разности между эталонным и действительным значениями переменной больше заданного заранее максимально возможного значения отклонения, записанного на регистрах 46 ка 1509906налов, то значит, происходит ошибка при выполнении данного фрагмента программы и на выходе элемента ИЛИ 55 присутствует высокий потенциал, кото 5 рый, проходя через элемент НЕ 53, инвертируется и на первом входе элемента И 54 появляется низкий потенциал, Элемент 52 задержки задерживает сигнал на время срабатывания элементов канала,10 после чего на его выходе появляется импульс, который поступает на вторые входы элементов И 54 и 56. Поэтому, если произошла ошибка в рассматриваемом фрагменте программы, то импульс, 15 проходя через элемент ИЛИ 57, появляется на втором выходе блока 21 анализа, иначе, если нет ошибки в рассматриваемом фрагменте программы, импульс появляется на первом выходе 20 блока 21 анализа.Рассмотрим случай, когда ошибка в рассматриваемом фрагменте не произошла, т,е, импульс появился на первом выходе блока 21 анализа. Этот 25 импульс поступает на входы стробирования элементов И 12 и 17, разрешает перепись содержимого регистра 11, в котором записано значение адреса -й эталонной точки и блока регистров ин формации, в котором записано содержимое регистров арифметического устройства в -й эталонной точке на регистр 13 и блок 18 регистров соответственно, а также на вход обнуления .счетчика 26, устанавливая его в ноль, 35 и через элемент ИЛИ 24 на вход счетчика 23, изменяя его состояния на единицу.и открывая соответствующий элемент И 7 в блоке элементов И, а также соответствующий элемент И 6.40 Б дальнейшем работа устройства повторяется аналогичным образом. Рассмотрим случай, когда ошибка в рассматриваемом фрагменте программы 45 произошла, т,е. импульс появился на втором выходе блока 21 анализа. Этот импульс поступает на выходы 68 останова вычислений, останавливая выполнение программы в ЭВМ, на счетный вход счетчика.26, увеличивая его состояние на единицу, и на вход элемента 30 задержки, Код со счетчика 26 переписывается на первый вход схемы 27 сравнения, Импульс с элемента 30 задержки поступает на вход элемента 31 задержки и на второй вход элемента И 29, на первый вход которого поступает код числа повторений участка программы, занесенный в регистр 29;Если число, записанное в счетчике 26меньше числа, записанного в регистре29, то сигнал появляется на первомвыходе схемы 27 сравнения и поступаетна первый вход элемента И 32. Есличисло, записанное в счетчике 26, рав-,но числу, записанному в регистре 29,то сигнал появляется на втором выходесхемы 27 сравнения и поступает напервый вход элемента И 33. Элемент31 задержки задерживает импульс навремя работы схемы 27 сравнения. Импульс с элемента 31 задержки поступает на вторые входы элементов И 32 и33. Если на первом входе элемента;И 32 присутствует сигнал, то на еговыходе появляется импульс, которыйпоступает на входы стробированияэлементов И 14 и 19, тем самым, разрешая перепись содержимого регистра13 в счетчик адреса команд по выходу66 и содержимого .блоков регистров 18в арифметическое устройство ЭВМ повыходу 67 соответственно и восстанавливает состояние ЭВМ по выходу 67соответственно и восстанавливает состояние ЭВМ на (-1)-м шаге, атакже на входе элемента 34 задержки.Импульс задержанный на время переписи содержимого регистра 13 и блока регистров 18 в арифметическоеустройство ЭВМ, появляется на выходе69 пуска устройства, тем самым, осуществляет пуск программ с (-1)-йэталонной точки,Далее работа устройства повторяется аналогичным образом.Если на первом входе элементаИ .33 присутствует сигнал, то на еговыходе появляется импульс, которыйпоступает на выход 70 устройства,который выводится на пульт оператора (не показан) и сигнализирует обошибке в программе,Формула изобретенияУстройство для контроля программпо авт. св. к: 1418719 о т л и ч а -ю щ е е с я тем, что, с целью повышения достоверности контроля хода программ, в блок анализа дополнительно введены второй блок элементов, второй счетчик, второй триггер, третий элемент И, четвертый элемент ИЛИ, второй элемент запрета, причемгруппа выходов второго блока элементов И подключена к группе информационных входов второго счетчика,вычитающий вход которого соединен свыходом второго элемента запрета,выход признака обнуления второгосчетчика подключен к нулевому входувторого триггера, единичный вход которого соединен с первым входом четвертого элемента ИЛИ и подключен квходу разрешения блока анализа,второй вход четвертого элемента ИЛИобъединен с первым входом третьегоэлемента И и подключен к входу задания режимаблока анализа, выход четвертого элемента ИЛИ соединен со стробирующим входом с второго блока, элементов И Группа информационных входов которого подключена к второй группе информационных входов блока анализа, прямой выход второго триггера подключен к второму входу третьего элемента И, выход которого подключен к третьему входу третьего эле мента Р 1 ЛИ, инверсный выход второготриггера соединен с управляющим входом второго элемента запрета, инФормационный вход которого подключен к выходу первого элемента запрета, вто рой вход четвертого элемента ИЛИ подключен к выходу второй схемы сравнения.1509906 Составитель И.Сафроноедактор О.Головач Техред М.Дидык,ектор М Самборская раж 668 Подписн рс изводственно-издательский комбинат "Патент", г. Ужго гарина, 1 О Заказ 5814 ВНИИПИ Госу ного комитета и 035, Москва, ЖобретениямРаущская на ткрытиям при ГКНТ ССС д. 4/5

Смотреть

Заявка

4360294, 08.01.1988

ВОЙСКОВАЯ ЧАСТЬ 03444

ЛЯСКОВСКИЙ ВИКТОР ЛЮДВИГОВИЧ, ЛУЧИН ИГОРЬ НИКОЛАЕВИЧ

МПК / Метки

МПК: G06F 11/28

Метки: программ

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

Код ссылки

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

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