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

Иллюстрации

Показать все

Реферат

 

Оп ИСАНИЕ

ИЗОБРЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советских

Социалистических

Республик

< >960828 (6l ) Дополнительное к авт. свид-ву (22)Заявлено 25.0/.80 (2l) 2961243/18-24 с присоединением заявки М— (23) Приоритет Опубликовано 23.09,82.Бюллетень М 35

Дата опубликования описания 23.09 .82 (5l)M. Кл:

G 06 F 11/28

5Ьеудерстеениый комитет

СССР ео делам изобретений к открытий (53) УДК681.3 (088.8) (72) Авторы изобретения

В. Г. Сташков, И. В. Бурковский и Я. М. (7I) Заявитель (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ

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

Известно устройство для отладки программ ЦВС, фиксируемых в постоянных запоминающих блоках (ПЗБ) цифровых вычислительных управляющих машин (ЦВУМ), содержащее ПЗБ и полупостоянный запоминающий блок (ППЗБ). На этапе отладки программ блок ППЗБ замещает один из блоков ПЗБ, т. е. информация, записанная в блоке ППЗБ, считывается в регистр команд вместо информации, записанной в блоке ПЗБ $1)

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

Наиболее близким по технической сущности к предлагаемому является

2 устройство отладки программ для постоянного запоминающего устройства, содержащее ППЗБ, выходы которого соединены с первыми входами коммутатора (блок приема и вывода команд сов5 местно с блоком подключения ПЗУ), подключенного вторыми входам к ПЗБ, ЦВУМ, а выходами — к числовым шинам, адресные шины, соединенные с входом регистра адреса (блоки формирования адреса и адреса участка), первые выходы которого связаны с парными ад. ресными входами ПЗБ, и через блок пе- . реадресации (распределитель), с первыми адресными входами ППЗБ, а вторые выходы - с вторыми адресными входами ПЗБ и ППЗБ, блок управления, первый вход которого подключен к управляющей шине, а выходы - к регистzo ру адреса. Оборудование управления, входящее в состав распределителя, связано с входом блока переадресации, управляющими входами ППЗБ, коммутатора и ПЗБ. Устройство также содержит

3 96082 шины для подключения регистрирующего устройства, связанные с выходом бло" ка управления, регистром адреса и выходами коммутатора (2 ).

Недостатком известного устройства является отсутствие в нем средств автоматизации получения систематической информации о характеристиках отлаживаемых программ и процесса отладки. Так, например, при отладке про- 1О грамм необходимо знать структурные особенности алгоритмов, в частности статистику использования логических, аоифметических и других операций в управляющих алгоритмах, знать распре- И деление памяти, находить свободные ячейки. Кроме того, ППЗУ может содержать дополнительную информацию в виде идентификаторов, с помощью которых определяются команды, содержимое которых в процессе отладки корректируется, а также определяется время введения и характер корректуры. Янализ такого рода данных позволяет более обосновайно подходить к организации процесса отладки математического обеспечения ЦВИ.

Кроме того, в процессе отладки возникает необходимость сравнения ин формации, содержащейся в ПЗУ и ППЗУ, с регистрацией соответствующих отли чий содержимого той или иной памяти.

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

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

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

Кроме того, блок управления содержит первый, второй и третий элементы

ИЛИ, первый и второй элементы НЕ, первый, второй, третий, четвертый и пятый элементы И, генератор импульсов, переключатель режимов, первый, второй, третий и четвертый разделительные эле. менты и тумблер, причем выходы первого и второго элементов ИЛИ являются соответственно первым и вторым выходами блока, один из выходов всех четырех разделительных элементов соединен с шиной нулевого потенциала, второй выход первого разделительного элемента - с первым контактом переключателя, с первыми входами первого и второго элементов И, с входом первого элемента НЕ и является третьим выходом блока, выход третьего элемента ИЛИ соединен с первым входом третьего элемента И, выход которого соединен с первым входом первого элемента ИЛИ, первый вход блока соединен.5 96082 с вторым входом второго элемента И, выход которого соединен с вторым входом первого элемента ИЛИ, второй вход блока соединен с вторым входом первого элемента И, выход которого соединен с первым входом второго элемента ИЛИ, выходы четвертого и пятого элементов И являются соответственно четвертым и пятым выходами блока, выход первого элемента НЕ соединен с первыми входами четвертого и пятого элементов И, второй выход второго разделительного элемента. соединен с вторым контактом переключателя, с первым входом третьего элемента ИЛИ, с вторым входом второго элемента ИЛИ и является шестым выходом блока, второй выход третьего разделительного элемента соединен с третьим контактом переключателя, вторым входом третье- 20

ro элемента ИЛИ и третьим входом второго элемента ИЛИ, второй вход четвертого разделительного элемента соединен с третьим входом третьего элемента ИЛИ и четвертым контактом пере-25 ключателя, переключающий контакт кото рого соединен с шиной единичного потенциала, третий вход блока соединен с входом второго элемента HE и с первым контактом тумблера, второй кон- 30 такт которого соединен с выходом второго элемента НЕ, переключающий контакт тумблера соединен с вторым входом четвертого элемента И, выход генератора соединен с вторыми входами третьего и пятого элементов И.

На фиг. 1 представлена блок-схема устройства для отладки программ; на фиг. 2 — функциональная схема блока управления; на фиг. 3 — функциональ- 46 ная электрическая схема блока задания адреса.

Устройство содержит полупостоянный блок 1 памяти (ППБП), выходы которого соединены с первыми входами коммутатора 2, подключенного вторыми входами к выходам блока 3 постоянной памяти (БПП) ЦВМ, а выходами — к информационным выходам 4, адресные входы 5, соединенные с входом счетчика 6 адреса, первые выходы которого связаны с первыми адресными входами блока 3 и через блок 7 задания адреса с вторыми адресными входами блока 1, а вторые выходы - с вторыми адресными, входами блока 3 и блока 1, блок 8 управления, первый вход которого под" ключен к первому управляющему входу

9, второй вход — к выходу блока 7, 8 d первый выход - к управляющим входам и четвертый выходы — к счетчику 6 адреса, шины 10 для подключения регистрирующего устройства, связанные с пятым выходом блока 8 управления, выходами счетчика 6 адреса и числовыми шинами 4.

Устройство содержит также блок 11 сравнения, первый 12 и второй 13 блоки элементов И, регистр 14 масок. регистр 15 талонов и второй коммутатор 16, причем выход блока 11 сравнения подключен к третьему входу блока 8 управления, первые и вторые входы — к выходам первого 12 и второго

13 блоков элементов И соответственно.

Первые входы первого блока 12 элементов И связаны через второй коммутатор 16 с выходами регистра 15 эталонов, а первые входы второго блока 13 элементов И - с выходами блока 1.

Вторые входы блоков 12 и 13 элементов

И соединены с выходами регистра 14 масок, вторые входы коммутатора 16 - с выходами блока 3, а третий вход втоI рого коммутатора 16 — с шестым выходом блока 8 управления, Блок управления 8 с@держит элементы И 17-21, элементы ИЛИ 22-24, логические элементы НЕ 25-26, генератор 27 импульсов, переключатель 28, тумблер 29, разделительные элементы

30, роль которых могут выполнять резисторы, входные и выходные контакты

31-39

Выход элемента 17 соединен с пятым выходом блока (контакт 32), его первый вход — с выходом элемента 26 и первым входом элемента 21, а второй вход - с выходом тумблера 29. Первый вход элемента 18 связан с вторым входом блока (контакт 31), era второй вход — с первым выходом переключателя 28, одним из разделительных элементов 30, входом элемента 26, третьим выходом блока (контакт 36) и вторым входом элемента 20, а выход — с первым входом элемента 23, второй вход которого подключен к третьему выходу переключателя 28, одному из разделительных элементов 30 и второму входу элемента 24, а выход — к второму выходу блока (контакт 34). Выход элемента 22 связан с первым выходом блока (контакт 33), первый вход — с выходом элемента 20, подключенного первым входом к первому входу блока (контакт 35), а второй вход — с выходом элемента !9, первый вход кото7 9608 рого соединен с выходом генератора

27 и вторым входом элемента 21, à вто рой вход - с выходом элемента 24, первый вход которого связан с четвертым выходом переключателя 28 и одним из разделительных элементов 30. Второй выход переключателя 28 подключен к одному из разделительных элементов

30, третьему входу элемента 24, шестому выходу блока (контакт 38) и тре- !6 тьему входу элемента. 23. Третий вход блока (контакт 39) соединен с первым входом тумблера 29 и входом элемента

25, выход которого связан с вторым входом тумблера 29, четвертый выход 1$ блока (контакт 37) соединен с выходом элемента 21. На вход переключателя

28 подается сигнал логической "1", а на резисторы 30 — сигнал логического "0". 20

Блок 7 задания адреса (фиг. 3) содержит элементы И 40 и, m организован ные в группы, где и — номер группы, m - порядковый номер элемента в группе. Блок содержит также тумблеры 41, 2g

n, m, организованные в группы аналогично элементам 40 n, m. Каждая группа тумблеров образует регистр установки. В состав блока входят также логические элементы И 42 -42>, логи1 ческий элемент ИЛИ 43, шифратор 44, входные 45 и выходные адресные 46 контакты, выходной управляющий контакт

47. Первые входы всех элементов 40 и, m подключены на выходах одноименных тумблеров 41 n, m, вторые входы всех элементов 40 n, m с одинаковым первым индексом соединены с одним из входных контактов 45. Выходы элементов 40 и„ m каждой группы связаны с входами одного из элементов 42 -42ц. Выходы элементов 42 -42и подключены на входы элементов 43 и 44. Выход элемента 43 связан с выходным управляющим контактом 47, а выходы шифратора 44 — с выхоаными контактами 46. На первые входы всех тумблеров 41 n, m подключен сигнал логического "0", на вторые входы - сигнал логической "1".

Устройство работает совместно с

ЦВУИ, программы которой подлежат отладке. При этом числовые 4, адресные

5 и управляющие 9 шины подключаются к соответствующим шинам ЦВУИ. Регистрирующее устройство, в качестве которого может быть использована, например, печатающая машинка, соединяется с шинами 10. Перед началом работы в блок 1 тем или иным способом записы28 8 вается информация, которая . представляет собой коды команд отлаживаемой программы. С этой целью устройство отладки должно содержать дополнительное оборудование записи. В про;тивном случае блок 1 извлекается из устройства отладки и подключается к автономному оборудованию, с помощью которого производится запись информации.

В режиме "Отладка" устройство обеспечивает совместную работу блоков 3 и 1 таким образом, что необходимая информация извлекается на числовые шины 4 либо из блока 3, либо из блока 1. Наличие блока 7 задания адреса обеспечивает разбиение всего массива адресов блока 1 на участки. С помощью регистров установки блока 7 каждому участку блока 1 присваивается определенное место в массиве адресов блока 3

В режиме "Отладка" переключатель

28 блока 8 управления устанавливается в положение T. При этом с переключателя 28 на один из входов элемента 20 поступает сигнал "1". Сигнал, поступающий из ЦВУИ на шину 9 устройства, проходит через элементы 20 и 22 на первый выход 33 блока 8 и далее на управляющие входы блоков 1 и 3. Код адреса поступает в блок 3 с выходов счетчика 6. В блок 1 со счетчика 6 адреса поступают только младшие разряды адреса, старшие разряды подаются на входы блока 7. При этом входной код адреса на элементах 40 n, m срав-. нивается с кодом, набранным на регистрах установки, выполненных на тумблере 41 и, m.

При совпадении кода, пост. лившего в блок 7, с кодом, установленным, например, на тумблерах 41 „ -41„,„,, на всех входах элемента 42 имеются сигналы "1". Таким образом, и на выходе 47 блока сигнал "1", который поступает через второй вход блока 8 (контакт 31) на элемент 18. На втором входе элемента 18 в установленном режиме имеется сигнал "1" Следовательно, на выходе элемента 23 (втором выходе блока 8, контакт 34) сигнал такой же, как и на контакте 31. floскольку этот сигнал поступает на управляющий вход коммутатора 2, то в результате на выходах его, т. е. на числовых шинах устройства, находится информация, поступившая на входы коммутатора 2 из блока 1 е том случае, 9 9608 если в блоке 7 произойдет совпадение входного кода с содержимым одного из регистров установки, или информация на выходе блока 3, если такого совпадения в блоке 7 нет.

Старшие разряды кода адреса поступают на входы блока t с шифратора 44 блока 7 через его выходы 46. Код на выходе элемента 40 зависит от содержимого регистров установки (тумбле- lO ра 41) и кода íà его контактах 45. Таким образом производится произвольное наложение зон блока 1 на массивы адресов блока 3. В этом режиме на третьем выходе блока 8 (контакт -36) формирует-15 ся сигнал "1", который разрешает.поступление в счетчик 6 кода адреса с адресных шин 5. На выходе элемента 26 находится сигнал "0", благодаря чему запрещается прохождение через элемент zp

21 и контакт 37 (четвертый выход блока 8) в блок 6 счетных импульсов с генератора 27. В этом режиме, также благодаря сигналу. на входе элемента 26, запрещается выдача в регистрирующее П устройство шины 10 управляющего сигнала с выхода элемента 17 (контакт 32 блока 8).

В режиме вывода информации из блока 1 на регистрирующее устройство по зв результатам сравнения его содержимого с содержимым регистра 15 эталонов переключатель 28 блока 8 устанавливается в положение И . При этом через резистор 30 на один из входов элемента 20 поступает сигнал "0, что блокирует поступление в блок 8 сигналов с шины 9. Поскольку на выходе элемента 26 в этом режиме сигнал "1"., то импульс с генератора 27 через weмент 21 и контакт 37 поступает на счетчик 6 адреса, на его счетный вход

Поступление в него кода с шины 5 блокируется сигналом "0" с третьего выхода блока 8 (контакт 36).

Сигналы с генератора 27 через элементы 19 и 22 проходят на первый выход блока 8 (контакт 33), обеспечивая запуск блоков 1 и 3, так как сигнал

"1" на втором входе элемента 19 обес50 печивается элементом 24. Поскольку на одном из входов элемента 23 в этом режиме постоянно присутствует сигнал, поступающий с переключателя 28, на втором входе блока 8 (контакт 34), сигнал "1". Благодаря этому на число$S вых шинах 4 в этом режиме находится только информация, считываемая из блока 1. Работа блока 7 в этом режиме и

28 10 всех последующих аналогична работе в режиме "Отладка". Сигнал "1" на шестом выходе блока 8 (контакт 38) разрешает поступление в блок 12 через коммутатор 16 содержимого регистра 15 эталонов. С помощью кода, установлен" ного на регистре 14 масок, часть разрядов кода эталона в блоке 12 маскируется, что означает выработку на соответствующих выходах блока 12 постоянных потенциалов, не зависящих от содержимого указанных разрядов регистра

15. Аналогичным образом происходит маскирование в блоке 13 тех же разрядов информации, поступающей в блок 13 с выходов блока 1. Результат сравнения кодов в блоке 11 поступает на третий вход блока 8 (контакт 39). При этом, например, сигнал равнозначности соответствует уровню "1". Тумблер 29 в блоке 8 устанавливается в соответствии с тем, что требуется вывести на регистрирующее устройство коды совпадающие или не совпадающие с эталоном.

Во втором случае производится инверсия сигнала, поступающего с контакта 39, с помощью элемента 25. Управляющий сигнал на лины 1О для подключения регистрирующего устройства поступает с элемента 17 через пятый выход блока 8 (контакт 32). Кроме того, на шинах 10 присутствует выводимая информация и соответствующий ей код адреса.

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

28 блока 8 устанавливается в положение 1II. В отличие от предыдущего режима на шестом выходе блока 8 (контакт 38) постоянно формируется сигнал"0". В результате на выход блока 16 поступает информация не с регистра 15, а с выходов блока 3. В остальном уст" ройство работает так же, как и в предыдущем режиме.

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

28 блока 8 устанавливается в положение IV. В отличие от предыдущего режима на любом из входов элемента 23 блока 8 находится сигнал "0, такой же сигнал и на втором выходе блока 8 (контакт. 34). В результате на числовых шинах 4 в этом режиме присутстsyeT информация, считываемая из бло28

11 9608 ка 3. Следовательно, она и выводится в устройство регистрации вместе с кодом адреса через шины 0".

В предлагаемом устройстве обеспечена автоматизация получения статис- .S тической информации о характере отлаживаемых программ и процесса отладки.

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

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

И первой группы, выход регистра маски соединен с первыми входами элементов

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

2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок управления содержит первый, второй и третий элементы ИЛИ, гервый и второй элементы НЕ, первый, второй, третий, четвертый и пятый элементы И, генератор импульсов, переключатель режимов, первый, второй, третий и четвертый разделительные элементы и тумблер, причем выходы первого и второго элементов ИЛИ являются соответственно первым и вторым выходами блока, один из выходов всех четырех разделительных элементов соединен с шиной нулевого потенциала, второй выход первого разделительного элемента соединен с первым контактом переключателя, с первыми входами первого и второго эле. ментов И, с входом первого элемента

НЕ и является третьим выходом блока, выход третьего элемента ИЛИ соединен с первым входом третьего элемента И, выход которого соединен с первым. входом первого элемента ИЛИ, первый вход блока соединен с вторым входом второго элемента И, выход которого соединен с вторым входом первого элемента ИЛИ, второй вход блока соединен с вторым входом первого элемента И, выход которого соединен с первым вхо13 9608 дом второго элемента ИЛИ, выходы четвертого и пятого элементов И являются соответственно четвертым и пятым выходами блока, выход первого элемента

НЕ соединен с первыми входами четвер- того и пятого элементов И, второй выход второго разделительного элемента соединен с вторым контактом переключателя, с первым входом третьего элемента ИЛИ, с вторым входом вто- 1@ рого элемента ИЛИ и. является шестым выходом блока, второй выход третьего разделительного элемента соединен с третьим контактом переключателя, вторым входом третьего элемента ИЛИ и . и третьим входом второго элемента ИЛИ, второй вход четвертого разделительного элемента соединен с третьим входом третьего элемента ИЛИ и четвер28 14 тым контактом переключателя, переключающий контакт которого соединен с шиной единичного потенциала, третий вход блока соединен с входом второго элемента НЕ и с первым контактом тумблера, второй контакт. которого соединен с выходом второго элемента НЕ, переключающий контакт тумблера соединен с.вторым входом четвертого элемента И, выход генератора соединен с вторыми входами третьего и пятого элементов И.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР

N 613326, кл. G 06 F 15/06, 1976.

2. Авторское свидетельство СССР

11 489107, кл. G 06 F 11/00, 1975.

560828 фГ ф

Заказ 7285/60

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

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

113035, Москва, Ж-35, Раушская наб., д. Й/5

Филиал ППП "Патент, r. Ужгород, ул. Проектная, Составитель И. Сигалов

Редактор И. Николайчук Техред Т.фанта Корректор И. Демчик