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

 

УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ, содержащее регистр выборки, блок памяти, блок микропрограммного управления и генератор импульсов, причем информационный вход устройства соединен с информационным входом регистра выборки, выход генератора импульсов соединен с тактовым входом блока микропрограммного управления, вход конца операции устройства соединен с управляющим входом регистра выборки и входом запуска блока микропрограммного управления, первый выход которого соединен с входом записи блока памяти, отличающееся тем, что, с целью увеличения полноты контроля, в него введены счетчик слов, счетчик разрядов, регистр сдвига- , дешифратор, коммутатор, группа элементов И, элемент ИЛИ, первый и второй элементы И, причем первый информационный вход коммутатора является адресным входом устройства, выход регистра выборки соединен с вторым информационным входом коммутатора, выходы старших и младших разрядов коммутатора соединены с информационными . входами соответственно счетчика слов и счетчика разрядов, выход переполнения которого соединен со счет , ным входом счетчика слов, информа ционные выходы счетчика слов и счетчика разрядов являются информационным выходом устройства , информационный выход счетчика разрядов соединен с входом дешифратора, выход которого соединен с первыми входами элементов И группы и информационным входом блока памяти, информационный выход счетчика слов соединен с адресным входом блока памяти, информационный выход которого соединен с вторыми входами элементов И группы, выходы которых соединены с соответствующими входами элемента ИЛИ, выход элемента ИЛИ соединен с информационным входом регистра сдвига, инверсный выход первого разряда, прямой 9 выход второго разряда, прямой выход пер вого разряда и инверсный выход второго разряда регистра сдвига соединены соответственно с первым , вторым входами первого элемента И, с первым и вторым входами второго элемента И, выходы первого и второго элементов И соединены соответственно с первым и вторым входами модификации адреса блока микропрограммного уп00 О) равления, выход переполнения счетчика слов соединен с входом останова блока микропрограммного управления, вход режима устройства соединен с входом установки блока микропрограммного управления, Ю второй, третий, четвертый и пятый выходы блока микропрограммного управления соединены соответственно с управляющим входом коммутатора, входами записи счетчиков слов и разрядов, счетным входом счетчика разрядов, входом сдвига регистра сдвига.

СОЮЗ СОВЕТСКИХ

CQQ4NHCTVHECHHX

РЕСПУБЛИК

4(59 б 06 F 11 28

ВСГ"ОИ?И.> „, ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н ABTOPCHOMV СВИДЕТЕЛЬСТВУ . l3

ВИ.-" Ж :% р

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3643518/24-24 (22) 29.07.83 (46) 23.01.85. Бюл. № 3 (72) IO. М. Корбашов и К. В. Семин (53) 681.3 (088.8) (56) 1. Патент .США № 3931611, кл. 3401725, опублик. 1975.

2. Авторское свидетельство СССР № 879564, кл. G 05 В 23/02, опублик. 1981.

3. Заявка Японии № 53-34448, кл. 97(7J

G 2, опублик. 1978 (прототип). (54) (57) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ

ПРОГРАММ, содержащее регистр выборки, блок памяти, блок микропрограммного управления и генератор импульсов, причем информационный вход устройства соединен с информационным входом регистра выборки, выход генератора импульсов соединен с тактовым входом блока микропрограммного управления, вход конца операции устройства соединен с управляющим входом регистра выборки и входом запуска блока микропрограммного управления, первый выход которого соединен с входом записи блока памяти, отличающееся тем, что, с целью увеличения полноты контроля, в него введены счетчик слов, счетчик разрядов, регистр сдвига; дешифратор, коммутатор, группа элементов И, элемент ИЛИ, первый и второй элементы И, причем первый информационный вход коммутатора является адресным входом устройства, выход регистра выборки соединен с вторым информационным входом коммутатора, выходы старших и младших разрядов коммутатора соединены с информационными . входами соответственно счетчика слов и счетчика разрядов, выход,,8011 6172 А переполнения которого соединен со счетным входом счетчика слов, информационные выходы счетчика слов и счетчика разрядов являются информационным выходом устройства, информационный выход счетчика разрядов соединен с входом дешифратора, выход которого соединен с первыми входами элементов И группы и информационным входом блока памяти, информационный выход счетчика слов соединен с адресным входом блока памяти, информационный выход которого соединен с вторыми входами элементов И группы, выходы которых соединены с соответствующими входами элемента ИЛИ, выход элемента ИЛИ соединен с информационным входом регистра сдвига, инверсный выход первого разряда, прямой I выход второго разряда, прямой выход первого разряда и инверсный выход второго разряда регистра сдвига соединены соответственно с первым, вторым входами первого элемента И, с первым и вторым входами второго элемента И, выходы первого и второго элементов И соединены соответст- >, венно с первым и вторым входами модификации адреса блока микропрограммного управления, выход переполнения счетчика слов © соединен с входом останова блока микро- Ж программного управления, вход режима уст- ь ройства соединен с входом установки блока микропрограммного управления, второй, третий, четвертый и пятый выходы блока микропрограммного управления соединены соответственно с управляющим входом коммутатора, входами записи счетчиков слов и разрядов, счетным входом счетчика разрядов, входом сдвига «ф» регистра сдвига.

1136172

Изобретение относится к области вычислительной техники, в частности к организации контроля функционирования СУ спецназначения.

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

Недостаток данного устройства заключается в его недостаточных функциональных возможностях, так как устройство не обеспечивает контроль полноты использования программного изделия, т.е. не обеспечивает проверку полноты использования команд программы во время выполнения ее ЭВМ.

Известно устройство для контроля программ, содержащее блок выделения граничных команд, блок сравнения, блок управления, счетчик, коммутатор, первый и второй блоки памяти, четыре регистра и три группы элементов И (2) .

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

Наиболее близким по технической cytu,ности к предлагаемому является устройство для контроля выполнения программы, состоящее из блока считывания, расположенного в ЭВМ, регистра выборки, входящего в состав блока выборки, блока памяти, блока управления. генератора импульсов и имеющее входы информационный и управляющий, на которые поступают сигналы с контролируемой ЭВМ, причем информационные входы блока считывания являются информационными входами устройства, выход блока считывания связан с информационным входом регистра выборки, выход генератора импульсов связан с первым входом блока управления, второй вход которого связан с управляющим входом устройства, который связан также с управляющими входами блока считывания и региСтра выборки, первый выход блока управления связан с управляющим входом блока памяти (3).

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

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

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

» блок памяти, блок микропрограммного управления и генератор импульсов, информационный вход устройства соединен с информационным входом регистра выборки, выход генератора импульсов связан с тактовым

15 входом блока микропрограммного управления, вход конца операции устройства соединен с управляющим входом регистра выборки и входом запуска блока микропрограммного управления, первый выход которого соединен с входом записи блока памяти,введены счетчик слов, счетчик разрядов, регистр сдвига, дешифратор, коммутатор, группа элементов И, элемент ИЛИ, первый и второй элементы И, причем первый информационный вход коммутатора является адресным входом устройства, второй информационный вход коммутатора соединен с выходом регистра выборки, выходы старших и младших разрядов коммутатора соединены с информационными входами соответственно счетчика слов и счетчика разрядов, выход переполнения которого соединен со счетным входом счетчика слов, информационные выходы счетчика слов и Счетчика разрядов являются информационным выходом устройства, информационный выход счетчика разрядов соединен также с вхо35 дом дешифратора, выход которого соединен с первыми входами элементов И группы и входом информации блока памяти, адресный вход которого соединен с информационным выходом счетчика слов, информацион40 ный выход блока памяти соединен с вторыми входами элементов И группы, выходы которых соединены с соответствующими входами элемента ИЛИ, выход элемента ИЛИ соединен с информационным входом регистра сдвига, инверсный выход первого разряда, прямой выход второго разряда, прямой выход первого разряда и инверсный выход второго разряда регистра сдвига соединены соответственно с первым, вторым входами первого элемента И, с первым и втоS0 рым входами второго элемента И, выходы первого и второго элементов И соединены соответственно с первым и вторым входами модификации адреса блока микропрограммного управления, выход переполнения счетчика слов соединен с входом останова блока микропрограммного управления, вход режима устройства соединен с входом установки блока микропрограммного управления, второй, третий, четвертый и пятый вы1136172

1О !

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

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

Устройство состоит из блока 1 считывания, регистра 2 выборки, двухразрядного регистра 3 сдвига, счетчика 4 слов, счетчика 4 разрядов, блока 5 памяти, блока 6 микропрограммного управления, генератора 7 тактовых импульсов, коммутатора 8, дешифратора 9, группы 1G элементов И, элемента

ИЛИ 11, элементов И 12„и 12», имеет входы 131 информации, 13 управления, íà которые поступают сигналы с контролируемой

ЭВМ, входы 14, адреса, 14 установки, выход 14> информации.

Блок 5 памяти включает в себя накопитель 15 емкостью М = Nxn бит, где М вЂ” количество ячеек в области памяти контролируемой ЭВМ, N — число слов накопителя, n — число разрядов в каждом слове, ре- гистр 16 числа, группы 17! и 17 элементов

И. Каждому адресу области памяти контролируемой ЭВМ соответствует 1 бит блока

5 памяти устройства.

Блок 6 управления состоит из блока 18 постоянной памяти. дешифратора 19 адре: са микрокоманд, регистра 20 адреса микрокоманд, модификатора 21 адреса микрокоманд. Блок 6 работает в соответствии с микропрограммой (алгоритм показан на фиг. 4), записанной и блоке 18 постоянной памяти по тактовым сигналам генератора 7 импульсов. Обработка внешних сигналов и сигналов от блоков устройства производится модификатором 21.

Устройство работает следующим образом.

В исходном состоянии (цепи установки блоков устройства в исходное состояние на фиг. 1 — 3 не показаны) регистры 2 и 3 счетчики 4 и 4>,все ячейки блока 5 памяти содержат код 00...0 (блок 22 алгоритма), коммутатор 8 находится в положении, при котором к входам счетчиков 4 и 4> подключается вход 14, адреса, причем старших разрядов адреса с выхода коммутатора

8 подается на счетчик 4, адреса, а младшие

1=1 — в разряды подаются на счетчик 4 разрядов, где 1 — разрядность адресов контролируемой ЭВМ, 1 =1о(М, 1 =log N.

Устройство работает в трех режимах: установки зон контроля, контроля выпол,нения программы ЭВМ и вывода.

Режим установки зон контроля вводится потенциальным сигналом «Установка».

В этом режиме в блок 5 памяти заносятся

«единицы» в разряды, соответствующие каждому адресу устанавливаемых зон контроля, синхроимпульс с входа !4 записывает устанавливаемый адрес с входа 14> в счетчики 4i и 41.

Слово с адресом, хранимое в счетчике 4, заносится в регистр 16 числа. С выхода дешифратора 9 через группу 17 элементов И на установочный $-вход разряда регистра

16 числа, соответствующего коду счетчика

4, поступает сигнал, данный разряд устанавливается в «1», после чего содержимое регистра 16 числа заносится в ячейку блока

5 памяти с адресом, содержащимся в счетчике 4 . Таким образом устанавливаются в

«1» биты блока 5, которым соответствуют все интересующие программиста адреса (блоки 23-27 алгоритма). Сигнал «Установка» снимается .и устройство переходит в режим контроля выполнения программы ЭВМ.

В режиме контроля коммутатор 8 устанавливается в положение, при котором к счетчикам 41 и 4р подключен выход регистра 2 выборки, в который по окончании выполнения в ЭВМ каждой команды с блока 1 съема информации поступает в соответствии с режимом выборки, использованным ЭВМ.

Режим выборки устанавливается программистом в соответствии с тем, принадлежат ли установленные зоны контроля памяти команд или же памяти данных. Ввод режима выборки осуществляется с входа

14 во время установки зон контроля один раз на прогон программы. В соответствии с введенным режимом выборки блок 1 съема информации, представляющий собой коммутатор с цепями усиления сигналов. выдает на регистр 2 выборки либо адрес выполненной команды, либо адрес использованного нею операнда.

Сигнал конца операции с ЭВМ производит запись использованного адреса в регистр 2 выборки и запускает цикл работы блока 6 управления (блок 22 алгоритма).

Следующим тактом блок 6 управления записывает содержимое регистра 2 выборки в счетчики 4 и 4 . Затем содержимое ячейки блока 5 памяти с адресом, хранящимся в счетчике 4>, заносится в регистр 16 числа, с выхода дешифратора 9 через группу 17 элементов И на установочный R-вход разряда регистра 16 числа, соответствующего коду счетчика 4р, поступает сигнал и данный разряд устанавливается в «0». Если он был установлен в «0» при предыдущем обращении, содержимое данного разряда подтверждается сигналом, пришедшим на

R-вход. После установки содержимое регистра 16 числа заносится в ячейку блока 5 памяти с адресом, хранящимся в счетчике 41 (блоки 22-24 алгоритма) .

Последовательность действия повторяется по выполнении каждой операции. По окончании выполнения программы на ЭВМ

1136172 единицами в блоке 5 памяти будут помечены лишь ни разу не использованные адреса.

Потенциальным сигналом «Вывод» устройство переводится в режим вывода информации, при этом счетчики 4 и 4 устанавливаются в исходное положение. Выход переполнения счетчика 4 соединен со счетным входом счетчика 4,, следовательно, они в совокупности работают как единый счетчик (блоки 28-36 алгоритма) . Содержимое счетчика 4, представляет собой 1 старших разрядов адреса ЭВМ. Содержимое счетчика 4z — L-1 остальных разрядов адреса

ЭВМ. В совокупности они составляют полный адрес ЭВМ (в алгоритме интерпретируется как содержимое счетчка 4), на выход 15 устройства будет выдаваться совокупность содержимых счетчиков 4 и 4 единым словом (1 разрядов), которое представляет собой граничный адрес массива неиспользованных адресов (начальный или на единицу увеличенный конечный).

Блок 6 управления начинает цикл работы в режиме вывода информации со считывания на регистр 16 числа содержимого ячейки накопителя 15 с адресом, хранящимся в счетчике 4ь Код со счетчика 4 пода- 25 ется на вход дешифратора 9, потенциал на соответствующем выходе которого возбуждает управляющий вход того элемента И группы 10, который определяется кодом счетчика 4>. Значение указанного разряда слова регистра 16 числа с выхода выбранного элемента И групг.ы 10 подается на вход регистра 2 сдвига. Следующим тактом производится сдвиг содержимого регистра 3, второй разряд которого принимает значение первого, а первый устанавливается равным значению информационного входа (блок 26 алгоритма) .

В том случае, если бит памяти, соответствующий содержимому счетчиков 4, и 4, равен нулк> (т.е. данный адрес использовался ЭВМ или не входит в одну из установлен- 4О ных зон контроля), то содержимое регистра 3 не изменится при сдвиге. Сигналом блока 6 управления в счетчик 4> добавляется единица и последовательность действий повторяется (блоки 28-36, 26 алгоритма).

Если жг на вход регистра 3 подается «1» (т.е. соответствующий адрес входит в одну. из установленных зон контроля, но не использовался ЭВМ), то в регистре 3 устанавливается код 01, срабатывает элемент И 12, по сигналу с выхода которого блок 6 организует выдачу начального адреса массива неиспользованных команд (блоки 28 алгоритма). После того как придет подтверждение приема, содержимое счетчика 4 увеличивается на «1» (блоки 29-36 алгоритма).

Если на вход регистра 3 поступит следующая «1» в регистре 3 устанавливается код 11, (т.е. неиспользованные адреса расположены массивом, а программиста интересует только конечный адрес массива), то все действия блока управления сводятся к увеличению на «1» содержимого счетчика 4. Когда же массив неиспользованных адресов будет просмотрен, на вход регистра 3 во время его сдвига будет подан «О», в регистре 3 установится код 10. При этом сработает элемент И 12, лок 6 управления организует выдачу адреса, следующего за конечным адресом массива, на выход 14з устройства (блоки 31 — 32 алгоритма), после чего содержимое счетчика 4 вновь увеличивается, последоваельность действий повторяется.

Устройство окончит свою работу в тот момент, когда содержимое счетчика пробежит всю область памяти ЭВМ (блоки 33 и

34 алгоритма), т.е. по сигналу переполнения счетчика 41.

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

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

1136172

Фиг.2

1136172

Сдд маго сдд рехад к уац ему ресу

9С1Ь2 Ф

Редактор Т. Кугрышева

Заказ 10151/37

Конт дыио

npazpa эвм ыд ааль

P8CQ иеи иыл

Составитель И. Сигалов

Техред И. Верес Корректор А. Зимокосов

Тираж 710 Подписное

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

113035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5 филиал ППП сПатент», г. Ужгород, ул. Проектная, 4 ча каиечадреса сида иельюбаикомаид

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

 

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано при построении управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ), например в системах управления газотурбинного двигателя

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

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

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