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

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

Авторы: Корбашов, Семин, Усков

ZIP архив

Текст

ОП ИСАНИЕ ИЗОБРЕТЕНИЯ К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ Союз СоветскихСоциалистическихРеспублик и 879564(51)М. Кл,С 05 В 23/02 И 06 Г 11/26 Ьеударстеанай комитет СССР вв явлен иэвбретекнй н втхриткй(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ Изобретение относится к области вычислительной техники, в частности к органиэации контроля программ.Известно устройство для контроля программ 1, в котором зонная память состоит из трех основных частей: быстродействующего запоминающего блока для хранения адресов, схем селекции и хранения адресов, схем считывания и визуального вывода зафиксированных адресов.10Недостаток устройства состоит в том, что оно не обеспечивает контроль полноты использования команд в программах.ч 15Наиболее близким по техническои сущности решением к изобретению является устройство 21, в котором в системе, содержащей главную память, блок команд, блок контроля памяти, блок канала, блок исполнения и пульт20 управления имеется устройство, состоящее из коммутатора, регистра верхней границы адресов, регистра нижней границы адресов, регистра нижнего адреса программы, регистра количестваадресов, используемых в системе, блоков сравнения, логической схемы, вырабатывающей сигнал записи программных событий и распределителя импульсов.Основной недостаток прототипа заключается в малой достоверности контроля программ, так как устройство не обеспечивает проверку полноты использования команд программами. При контроле выполняемой программы в устройстве проверяется, входят ли адреса выполняемых команд в разрешенный диапазон адресов, но адреса использован-ных программами команд не фиксируются. Целью изобретения является повышение достоверности контроля программ. -Поставленная цель достигается тем, что в устройство для контроля программ, содержащее четыре регистра, коммутатор, блок сравнения и блок управления, введеггы три блок;эзеецов И, два блока памяти, блок гэделецэгя прав ничных команд и счетчик, подключеццый первым выходом к первому входу блок управления, а вторым и третьим выхода - ми - к первым входам первого и второго блоков элементов И соответственно,15 На фиг, 1 приведена функциональная схема устройства; на фиг, 2 - функциональная схема варианта построения блока выделения граничных команд.50Устройство содержит блок выделения граничных команд 1, третий блок 2 элементов И, коммутатор 3, блок сравнения 4, блок управления 5, счетчик 6, первый и второй блоки памя ти 7, 8, четыре регистра 9-12, первый и второй блоки элементов И 13, 14, ячейки блоков памяти 15, - 15 16, - 16 первые выходы которых соединены междусобой и подключены через включенгепоследовательно первый блок памяти,первый регистр, третий блок элемец -тов И, второй регистр, коммутаор,блок сравнения - ко второму входу блока управления, а вторые выходы первого и второго блоков элементов И соединены между собой и подключецы через включенные последовательно второйблок памяти, третий регистр - ко вэрому входу третьего блока элемецтоэ 11,соединенного вторым выходом черезОчетвертый регистр со вторым входомкоммутатора и со вторым входом первого блока элементов И, третий вход которого подключен к первому входу коммутатора, соединенного третьим входомс выходом первого регистра и со вторым входом второго блока элементов И,четвертым входом - с выходом треть -его регистра и с третьим входом второго блока элементов И, а пятым вхо 30дом - с первым выходом блока управления, подключенного вторым выходом ктретьему входу третьего блока элементов И, третьим выходом - к управляющим входам первого и третьего регистров, четвертым выходом - ко входусчетчика и ко вторым входам первогои второго блоков памяти, а пятым выходом и третьим входом - к первомувходу и первому выходу блока выделения граничных команд, соединенноговыходом со вторыми входами второгои четвертого регистров, а второй входблока выделения граничных команд соединен со входом устройства,45 4 411 э кцдолев л 1)цц ч цэ 1 х комацп состоит из триггера 17, бло -коз 18, 19, 20 элемецтов И, элемецтов 21, 22 И, блоков 23, 24 сравнения, счетчика 25, регистров 26, 27,28 28 29 29 блоков 30 30элементов И, входа 31.Устройство работает следующим образом,Анализ последовательности адресовкоманд, поступающих ца вход устройства, производится блоком 1, которыйна своих выходах формирует границынаборов команд.В исходном состоянии все регистры, счетчики устройства и ячейки блоков памяти не содержат никакой информации. Блок 5 находится в состоянииожидания сигнала с выхода элемента 21.Триггер 17 находится в состоянии "0",в которое он устанавливается сигналомустановки в исходное по входу 31.Адрес начальной команды программы (нижняя граница набора) через блок 18 записывается в счетчик 25 и в регистр 27, В результате этого по "нулевому" состоянию регистра 27 на выходе элемента 22 вырабатывается сигнал, который устанавливает триггер 17 в состояние "1", после чего блокируется блок 18 и разблокируется блок 19. Такое состояние триггера сохраняется до момента установки устройства в исходное состояние. Адрес следующей команды через блок 19 записывается в регистр 26, в результате чего на выходе элемента 21 вырабатывается сигнал, который увеличивает на 1 единицу содержимое счетчика 25 и одновременно поступает на вход блока 5, который после этого выдает управляющий сигнал в блок 23. Блок производит сравнение адреса новой команды с увеличенным на единицу адресом предыдущей команды (содержимое счетчика 25) . В зависимости от результата сравнения блок 1 работает следующим образом,Если содержимое регистра 2 б равно содержимому счетчика 25 (адреса последующей и предыдущей команд отличаются на единицу), то блок 5 (по сигналу с соответствующего выхода блока 23) производит гашение регистра 26 и устройство переходит в режим ожидания смены команд в ЦВМ. При,.поступлении на регистр 26 адреса новой команды производится, как описано выше, добавление "единицы" в счетчик 255 87 и сравнение его содержимого с содержимым регистра 26. Если они равны, то вновь производится гашение регистра 26 и переход к ожиданию смены команд в ЦВМ. Работа блока 1 в этом случае соответствует выполнению в ЦВМ непрерывной цепочки команд с последовательными адресами, При этом содержимое регистра 27 определяет первую команду,(нижний адрес) набора, а на счетчике 25 происходит расширение верхней границы адресов выполненных команд.В том случае, когда содержимые счетчика 25 и регистра 27 неравны (адреса последующей и предыдущей команд отличаются на число, не равное единице), работа блока 1 соответствует переходу в программе от одного набора команд с последовательными адресами) к другому, то есть передаче управления в программе.В этом случае сигнал с соответствующего выхода блока 23 уменьшает на единицу содержимое счетчика 25 (возврат к адресу предыдущей команды, от которой произведена передача управления) и поступает в блок 5, который в ответ подает сигнал на регистры 28 28 г (в них записывается содержимое регистра 27 и счетчика 25 соответственно), а затем управляющий сигнал на блок 20 содержимое регистра 26 записывается в регистр 27 и в счетчик 25) и гасит регистр 26,ров 28 и 291 (верхняя граница по следующего и нижняя граница предь 1 дущего наборов). Если содержимое регистра 28 г меньше содержимого регистра 291, то блок 1 работает как .и в предыдущем случае, Если содержи мое регистра 28 не меньше содержимого регистра 291, то, по сигналу сблока 5 блок 24 производит сравнениесодержимых регистров 28, 29, нижниеграницы обоих наборов).20 Если содержимое регистра 28, меньше содержимого регистра 29 по сигналу с блока 5 содержимое регистра 28,передается в регистр 29 (производится расширение нижней границы набора) .25 Если содержимое регистра 28, не менеесодержимого регистра 29 то по сигналу с блока 5 блок 24 производитсравнение содержимых регистров 28 г,29 г (верхние границы наборов). Еслисодержимое регистра 28 г больше содержимого регистра 29 г., то содержимоерегистра 28 г передается в регистр 29(производится расширение верхней границы набора), Если содержимое регистра 28 г не превышает содержимого регистра 29 г, то, по сигналу с блока 5,производится гашение регистра 26 иустройство переходит к ожиданию сменыкоманды в ЦВМ.Таким образом, блок 1 на своих выходах формирует граничные адреса непрерывных наборов команд с последовательными адресами, при этом, в томслучае, когда два соседних набора команд перекрываются, блок. 1 из двух 45пар граничных адресов формирует граничные адреса только для одного набора команд (имеющего одностороннеили двусторонне расширенные границы,либо неизменные границы, например,50 55 программы,В результате в регистрах 28 28 гбудут записаны граничные адресапредыдущего набора команд, а в регистре 27 и счетчике 25 - нижний граничный адрес последующего набора команд,С целью экономии объема памяти производится дальнейшая обработка полученных данных.С блока 5 на вход блока 24 подаются управляющие сигналы, по которымблок 24 производит попарное сравнение содержимых регистров 28 28 г,29 29 г, то есть производится проверка совместимости границ предыдущего и последующего наборов. Сначаласравниваются содержимые регистров 28и 29 г (нижняя граница последующего иверхняя граница предыдущего наборов) .фЕсли содержимое регистра 28, большесодержимого регистра 29 (не пересекающиеся наборы команд), по сигналу с1 блока 5 через блоки .30 содержимые 9564 6 регистров 29 29 г записываются в регистры 12, 10, а содержимые регистров 28 28 г записываются в регистры 29 29,. Если содержимое регистра 281 не превышает содержимого регистра 29, то, по сигналу с блока 5 блок 24 производит сравнение содержимых регисткогда границы одного иэ наборов команд полностью включают в себя границы другого), что позволяет экономитьобъем памяти, например, при циклическом выполнении некоторого участка Дальше устройство работает следующим образом.5 10 15 Как было отмечено выше, если два соседних набора адресов команд (с границами, записанными в регистрах 28 29, не пересекаются, содержимое ре)гистров 29, передается в регистры 12, 10.После этого производится сравнение границ набора адресов команд, записанных в регистрах 12 и 10 с границами всех предыдущих наборов, которые быпи зафиксированы устройством и которые хранятся в ячейках блоков 7 8. При этом в ячейках 15 блока 7 хранятся нижние границы наборов адресов команд, а в соответствующих ячейках 16 блока 8 - верхние границы.Сравнение границ набора адресов команд, зафиксированных в регистрах 10, 12 с границами предыдущих наборов производится следующим образом,По сигналам с блока 5 производится запись содержимого ячеек 15 и 16 в регистры 9 и 11, а затем сдвиг информации, записанной в блоках 7, 8 на одну ячейку в сторону ячеек 15 16, то есть содержимое ячеек 15 г, 16 г передается в ячейки 15 16 соответственно, ячеек 15, 16 ь - в ячейки 15 16 соответственно и так далее. Содержимое ячеек 15, 16 при этом освобождается (если ранее они содержали информацию о границах некоторого набора адресов команд),Затем по сигналу с блока 5 блок 3 подключает регистры 12 и 11 к блоку 4, который производит сравнение их содержимых, Если содержимое регистра 12 больше содержимого регистра 11, то есть границы набора записаны в регистрах 9, 11, то содержимое регистров 9, 11 (по сигналу с блока 5) через блоки 13, 14 передается в ячейки 15 п, 16 п, Затем по сигналу с блока 5 производится передача нового содержимого ячеек 15, и 16, (ранее это было содержимым ячеек 15, 16) в регистры 9 И 11 соответственно, то есть на реГистры 9, 11 записываются границы дру - гого набора адресов команд, а затем производится сдвиг содержимого ячеек 7, 8 на одну ячейку в направлении ячеек 15, 16 .Если содержимое регистра 12 не больше содержимого регистра 11, то по сигналу с блока 5 блок 3 подключает регистры 10 и 9 к блоку 4, который сравнивает их содержимые. В том слуЧае, когда содержимое регистра 10 20 25 зо 35 40 45 50 55 меньше содержимого ре истра 9, содержимое регистров 9, 11 передается в ячейки 15 п, 16, а в регистры 9, 11 записывается содержимое ячеек 15, 16 (как и в предыдущем случае) .Если содержимое регистра 10 не меньше содержимого регистра 9, то производится сравнение содержимого регистров 12 и 9. Если содержимое регистра 12 больше содержимого регистра 9, то по сигналу с блока 5 содержимое регистра 9 передается в регистр 12, после чего производится сравнение регистров 10, 11. Если же содержимое регистра 12 не больше содержимого регистра 9, то сразу произ водится сравнение регистров 10 и 11. При этом, если содержимое регистра 10 меньше содержимого регистра 11, то содержимое регистра 11 через блок 2 передается в регистр 10, после чего регистры 9, 11 обнуляются, Если же содержимое регистра 10 не меньше содержимого регистра 11, то регистры 9, 11 сразу обнуляются. После этого в регистры 9, 11 передаются содержимые ячеек 15, 16 и производится сравнение границ набора адресов команд (записанных в регистрах 12, 10), измененных или нет в результате сравнения с предыдущим содержимым ячеек 15, 16 с новым содержимым этих ячеек.До тех пор, пока не будет произведено сравнение границ, записанных в регистрах 10, 12, с содержимым всех ячеек 15, 16, счетчик 6 блокирует блок 13. При этом в каждом цикле сравнения. содержимого регистров 1 О, 12 с содержимыми ячеек 15, и 16 в счетчик 6 добавляется "единица". После того, как будет произведено и циклов сравнения, после окончания последнего цикла сравнения, содержимое счетчика 6 будет увеличено еще на одну "единицу", что приведет к его переполнению и в результате сигналами с соответствующих выходов счетчика 6 будет заблокирован блок 14 и разблокирован блок 13. Затем блок 5 по сигналу переполнения со счетчика 6, вырабатывает управляющий сигнал, по которому содержимое регистров 10, 12 через блок 13 передается в ячейки 15 п, 16 п блоков 7, 8. Таким образом, после того как блок 1выработал граничные адреса набора ко879564 манд, эти границы набора фиксируютсяв регистрах 10, 12 и устройство производит поочередное сравнение границнового набора с границами предыдущегонабора, то есть с ячейками 15, 16 блоков 7, 8. В результа.е каждого цикласравнения содержимое регистров 10, 12может изменяться. Если границы новогонабора перекрываются с границами одного из предыдущих наборов, записанными 1 Ов данный момент в регистрах 9, 11,то на регистрах 10, 12 производитсярасширение границ набора, регистры 9,11 устанавливаются в состояние "0",а в ячейки 15 п, 16 записывается нулевая информация. Формула изобретения 20 ЭО второго блока элементов И, четвертым входом - с выходом третьего регистра и с третьим входом второго блока элементов И, а пятым входом - с первым выходом блока управления, подключенного вторым выходом к третьему входу третьего блока элементов И, третьим выходом - к управляющим входам перво-, го и третьего регистров, четвертым выходом - ко входу счетчика и ко вторым входам первого и второго блоков памяти, а пятым выходом и третьим входом - к первому входу и первому выходу блока выделения граничных команд, соединенного выходами со вторыми входан второго и четвертого регистров,второй вход блока выделения граничЕсли же наборы команд не перекры, ваются, то содержимое регистров 10, 12 изменяется, а в ячейки 15 П, 16 записывается содержимое регистров 9, 11. В результате контроля программ (ы), выполненных на ЦВМ в ячейках блоков 7, 25 8 будут записаны соответственно нижние и верхние границы наборов команд с последовательными адресами, выполненных при прохождении программ. Контроль программ, выполняемыхна ЦВМ с помощью предлагаемого устройства,производится следующим образом.Устройство подключается к счетчи 35ку команд ЦВМ и устанавливается в исходное состояние. После этого производится поочередное включение всехпрограмм, По окончании выполненияпрограмм содержимые блоков 7, 8 избвестным способом выводятся на печать.Команды, зафиксированные в програмУмах известны, поэтому необходимосравнить список адресов команд, использованных при составлении програм 45мы, с результатом контроля, проведенным данным устройством, то есть сосписком адресов команд, действительно выполненных на ЦВМ.В том случае, когда адрес какой-ли 50бо из известных команд отсутствует враспечатке содержимого блоков 7, 8,необходимо провести проверку этой команды,Таким образом, в отличие от прото 55 типа, устройство позволяет повысить достоверность контроля программ, выполненных на ЦВМ. Б памяти устройства фиксируются адреса всех команд, использованных при прохождении программ,1 11 что позволяет обнаружить все лишние команды, то есть команды,не использованные при выполнении программы, нозадействованные при ее составлении. Устройство для контроля программ, содержащее четыре регистра, коммутатор, блок сравнения и блок управления, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля программ, в него введены три блока элементов И, два блока памяти, блок выделения граничных команд и счетчик, подключенный первым выходом к первому входу блока управления, а вторым и третьим выходами - к первым входам первого и второго блоков элементов И, соответственно первые выходы которых соединены между собой и подключены через включенные последовательно первый блок памяти, первый регистр, третий блок элементов И, второй регистр, коммутатор, блок сравнения - ко второму входу блока управления, а вторые выходы первого и второго блоков элементов И соединены между собой и подключены через включенные последовательно второй блок памяти, третий регистр - ко второму входутретьего блока элементов И, соединенного вторым выходом через четвертыйрегистр со вторым входом коммутатора,и со вторым входом первого блока элементов И, третий вход которого подключен к первому входу коммутатора,соединенного третьим входом с выходом первого регистра и со вторым входом11 В 79564 ных команд соединен со входом устройства. Источники информации,принятые во внимание при экспертизе 12 1, Патент США У 3935563,кл. 340-172.5, опублик. 1976. 2. Патент США В 3931611,кл. 340-172.5, опублик. 1976 (прото 5 тип)аказ ного комиений и о рытии наб.д 13035 Москва ЖРаушская д. 4/5ьь: Л =лиал ППП "Патент"., г, Ужгород, ул. Проектная УР.,РСоставитель Н. Го Редактор Н. Коляда Техвед О.Легеза 19/18 Тираж 94 ВНИИПИ Государств по делам изобр 1

Смотреть

Заявка

2902161, 31.01.1980

ПРЕДПРИЯТИЕ ПЯ Г-4677

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

МПК / Метки

МПК: G05B 23/02

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

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

Код ссылки

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

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