Устройство для отладки программ — SU 960828 (original) (raw)
Оп ИСАНИЕИЗОБРЕТЕН ИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ Союз СоветскихСоциалистическихРеспублик(51)М. Кл: 6 06 Г 11/28 Ьеудерстеениый комитет . СССР ео делам изобретений к открытиЯ(71) Заявите 54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРА ническоивляется 1Изобретение относится к вычисли. -тельной технике и может быть использовано при отладке программ цифровыхвычислительных управляющих систем(ЦВС),Известно устройство для отладки 5программ ЦВС, фиксируемых в постоянных запоминающих блоках (ПЗБ) цифровых вычислительных управляющих машин(ЦВУМ) содержащее ПЗБ и полупостоянный запоминающий блок (ППЗБ), На эта- Опе отладки программ блок ППЗБ замещает один из блоков ПЗБ, т. е. информация, записанная в блоке ППЗБ, считывается в регистр команд вместо информации, записанной в блоке ПЗБ 1Недостатком указанного устройстваявляется отсутствие оборудования длявыборки информации из ППЗБ по содержащимся в нем признакам и вывода для20ее для регистрации, например, на цифропечатающее устройство,Наиболее близким по тех ности к предлагаемому устройство отладки программ для постоянного запоминающего устройства, содержащее ППЗБ, выходы которого соединены с первыми входами коммутатора (блок приема и вывода команд совместно с блоком подключения ПЗУ), подключенного вторыми входам к ПЗБ, ЦВУМ, а выходами - к числовым шинам, адресные шины, соединенные с входом регистра адреса (блоки формирования адреса и адреса участка), первые выходы которого связаны с парными адресными входами ПЗБ, и через блок пе- . реадресации (распределитель), с первыми адресными входами ППЗБ, а вторые выходы - с вторыми адресными входами ПЗБ и ППЗБ, блок управления, первый вход которого подключен к управляющей шине, а выходы - к регистру адреса. Оборудование управления, входящее в состав распределителя, связано с входом блока переадресации, управляющими входами ППЗБ коммутатора и ПЗБ. Устройство также содержит3 96082 шины для подключения регистрирующего устройства, связанные с выходом бло" ка управления, регистром адреса и выходами коммутатора2 .Недостатком известного устройства является отсутствие в нем средств автоматизации получения систематической информации о характеристиках отлаживаемых программ и процесса отладки, Так, например, при отладке про О грамм необходимо знать структурные особенности алгоритмов, в частности статистику использования логических, арифметических и других операций в управляющих алгоритмах, знать распре- И деление памяти, находить свободные ячейки. Кроме того, ППЗУ может содержать дополнительную информацию в виде идентификаторов, с помощью которых определяются команды, содержимое которых в процессе отладки корректируется, а также определяется время введения и характер корректуры, Янализ такого рода данных позволяет более обосновайно подходить к организации ц процесса отладки математического обеспечения ЦВИ.Кроме того, в процессе отладки возникает необходимость сравнения ин- формации, содержащейся в ПЗУ и ППЗУ, с регистрацией соответствующих отличий содержимого той или иной памяти.Целью изобретения является расширение функциональных возможностей уст. ройства за счет обеспечения возможности получения статистической информации о характеристиках отлаживаемых программ и процесса отладки.Поставленная цель достигается тем, что в устройство для отладки программ,40 содержащее блок полупостоянной памяти, блок постоянной памяти, блок задания адреса, первый коммутатор, счетчик адреса, блок управления, причем первый, второй, третий четвертый и пятый выходы блока управления соединены со-ответственно с первыми входами блока полупостоянной памяти, первого коммутатора, управляющим и счетным входом счетчика адреса и с управляющим выходом устройства, первый выход бло- фЕ ка управления соединен с пеовым входом блока постоянной памяти, выход которого соединен с вторым входом первого коммутатора, информационный выход которого является информационным выходом устройства, информационные выходы счетчика адреса соединены с адресными входами блоков постоян 8 фной и полупостоянной памяти и являются группой адресных выходов устройства, управляющий вход устройства соединен с первым входом блока управле. ния, адресный выход устройства соединен с информационным входом счетчика адреса, информационный выход которого соединен с входом блока задания адреса, адресный и управляющий выходы блока заданияадреса соединены соответственно с вторым входом блока полупостоянной памяти и с вторым входом блока управления, введены первая и вторая группы элементов И, блок сравнения, регистр маски, регистр эталонов и второй коммутатор, причем выход блока постоянной памяти соединен с первым информационным входом. второго коммутатора, выход которого соединен с первыми входами элементов И первой группы, выход регистра маски соединен с первыми входами элементов И второй группы и с вторыми входами элементов И первой группы, выходы которых соединены с первой группой входов схемы сравнения, выход блока полупостоянной памяти соединен с вторыми входами элементов И второй .группы, выходы которых соединены с второй группой входов схемы сравнения, выход схемы сравнения соединен с третьим входом блока управления, шестой выход которого соединен с управляющим входом второго коммутатора, выход регистра эталонов соединен с вторым управляющим входом второго коммутатора,Кроме того, блок управления содержит первый, второй и третий элементы ИЛИ, первый и второй элементы НЕ, первый, второй, третий, четвертый и пятый элементы И, генератор импульсов, переключатель режимов, первый, второй, третий и четвертый разделительные эле менты и тумблер, причем выходы первого и второго элементов ИЛИ являются соответственно первым и вторым выходами блока, один из выходов всех четырех разделительных элементов соединен с шиной нулевого потенциала, второй выход первого разделительного элемента - с первым контактом переключателя, с первыми входами первого и второго элементов И, с входом первого элемента НЕ и является третьим выходом блока, выход третьего элемента ИЛИ соединен с первым входом третьего элемента И, выход которого соединен с первым входом первого элемента ИЛИ, первый вход блока соединен5 96082с вторым входом второго элемента И,выход которого соединен с вторымвходом первого элемента ИЛИ, второйвход блока соединен с вторым входомпервого элемента И, выход которогосоединен с первым входом второго элемента ИЛИ, выходы четвертого и пятого элементов И являются соответственно четвертым и пятым выходами блока,выход первого элемента НЕ соединен 1 вс первыми входами четвертого и пятого элементов И, второй выход второгоразделительного элемента. соединен свторым контактом переключателя, с первым входом третьего элемента ИЛИ, с 1 звторым входом второго элемента ИЛИ иявляется шестым выходом блока, второйвыход третьего разделительного элемента соединен с третьим контактомпереключателя, вторым входом третьего элемента ИЛИ и третьим входом второго элемента ИЛИ, второй вход четвертого разделительного элемента соединен с третьим входом третьего элемента ИЛИ и четвертым контактом пере клюцателя, переключающий контакт которого соединен с шиной единичного потенциала, третий вход блока соединенс входом второго элемента НЕ и с первым контактом тумблера, второй кон- эфтакт которого соединен с выходом второго элемента НЕ, переключающий контакт тумблера соединен с вторым входом четвертого элемента И, выход генератора соединен с вторыми входамитретьего и пятого элементов И.На фиг. 1 представлена блок-схемаустройства для отладки программ; нафиг, 2 - функциональная схема блокауправления; на фиг. 3 - функциональная электрическая схема блока заданияадреса,Устройство содержит полупостоянныйблок 1 памяти (ППБП), выходы которогосоединены с первыми входами коммутатора 2, подключенного вторыми входамик выходам блока 3 постоянной памяти(БПП) ЦВМ, а выходами - к информационным выходам 4, адресные входы 5,соединенные с входом счетчика 6 адреса, первые выходы которого связаныс первыми адресными входами блока 3.и через блок 7 задания адреса с вторыми адресными входами блока 1, авторые выходы - с вторыми адресными,входами блока 3 и блока 1, блок 8 управления, первый вход которого под"ключен к первому управляющему входу9, второй вход - к выходу блока 7,8 6первый выход - к управляющим входами четвертый выходы - к счетчику 6 ад.реса, шины 1 О для подключения регистрирующего устройства, связанные с пятым выходом блока 8 управления, выходами счетчика 6 адреса и числовымишинами 4,Устройство содержит также блок 11сравнения, первый 12 и второй 13 блоки элементов И, регистр 14 масок,регистр 15 талонов и второй коммутатор 16, причем выход блока 11 сравнения подключен к третьему входу блока 8 управления, первые и вторые входы - к выходам первого 12 и второго13 блоков элементов И соответственно.Первые входы первого блока 12 элементов И связаны через второй коммутатор 16 с выходами регистра 15 эталонов, а первые входы второго блока 13элементов И - с выходами блока 1.Вторые входы блоков 12 и 13 элементовИ соединены с выходами регистра 14 масок, вторые входы коммутатора 16 - свыходами блока 3, а третий вход второго коммутатора 16 - с шестым выходом блока 8 управления,Блок управления 8 сйдержит элементы И 17-21, элементы ИЛИ 22-24,логические элементы НЕ 25-26, генератор 27 импульсов, переключатель 28,тумблер 29, разделительные элементы30, роль которых могут выполнять резисторы, входные и выходные контакты31-39Выход элемента 17 соединен с пятымвыходом блока (контакт 32), его первый вход - с выходом элемента 26 ипервым входом элемента 21, а второйвход - с выходом тумблера 29. Первыйвход элемента 18 связан с вторым входом блока (контакт 31), его второйвход - с первым выходом переключателя 28, одним из разделительных элементов 30, входом элемента 26, третьимвыходом блока (контакт 36) и вторымвходом элемента 20, а выход - с первым входом элемента 23, второй входкоторого подключен к третьему выходупереключателя 28, одному из разделительных элементов 30 и второму входуэлемента 24, а выход - к второму выходу блока (контакт 34), Выход элемента 22 связан с первым выходомблока (контакт 33), первый вход - свыходом элемента 20, подключенногопервым входом к первому входу блока7 9608 рого соединен с выходом генератора 27 и вторым входом элемента 21, а вто рой вход - с выходом элемента 24, первый вход которого связан с четвертым выходом переключателя 28 и одним из разделительных элементов 30. Второй выход переключателя 28 подключен к одному из разделительных элементов 30, третьему входу элемента 24, шестому выходу блока (контакт 38) и тре тьему входу элемента. 23. Третий вход блока (контакт 39) соединен с первым входом тумблера 29 и входом элемента 25, выход которого связан с вторым входом тумблера 29, четвертый выход 15 блока (контакт 37) соединен с выходом элемента 21, На вход переключателя 28 подается сигнал логической "1", а на резисторы 30 - сигнал логического "0", 20Блок 7 задания адреса (фиг, 3) содержит элементы И 40 и, щ организован ные в группы, где и - номер группы, щ - порядковый номер элемента в группе, Блок одержит также тумблеры 41, 2 з и, щ, организованные в группы аналогично элементам 40 и, щ, Каждая группа тумблеров образует регистр установки, В состав блока входят также логические элементы И 42 -42 и, логический элемент ИЛИ 43, шифратор 44, входные 45 и выходные адресные 46 контакты, выходной управляющий контакт 47. Первые входы всех элементов 40 и, щ подключены на выходах одноименных тумблеров 41 и, щ, вторые входы всех элементов 40 и, щ с одинаковым первым индексом соединены с одним из входных контактов 45. Выходы элементов 40 п щ каждой группы связаны с входами одного из элементов 42-42 ц. Выходы элементов 42 -42 и подключены на входы элементов 43 и 44. Выход элемента 43 связан с выходным управляющим контактом 47, а выходы шифратора 44 - с выходными контактами 46. На первые входы всех тумблеров 41 и, щ подключен сигнал логического "0", на вторые входы - сигнал логической "1".Устройство работает совместно с ЦВУИ, программы которой подлежат отладке. При этом числовые 4, адресные 5 и управляющие 9 шины подключаются к соответствующим шинам ЦВУИ. Регистрирующее устройство, в качестве которого может быть использована, например, печатающая машинка, соединяется с шинами 10. Перед началом работы в блок 1 тем или иным способом записы 28 8вается информация, которая, представляет собой коды команд отлаживаемой программы. С этой целью устройство отладки должно содержать дополнительное оборудование записи. В про;тивном случае блок 1 извлекается из устройства отладки и подключается к автономному оборудованию, с помощью которого производится запись информации.В режиме "Отладка" устройство обеспечивает совместную работу блоков 3 и 1 таким образом, что необходимая информация извлекается на числовые шины 4 либо из блока 3, либо из блока 1, Наличие блока 7 задания адреса обеспечивает разбиение всего массива адресов блока 1 на участки. С помощью регистров установки блока 7 каждому участку блока 1 присваивается определенное место в массиве адресов блока 3.В режиме "Отладка" переключатель 28 блока 8 управления устанавливается в положение 1, При этом с переключателя 28 на один из входов элемента 20 поступает сигнал "1". Сигнал, поступающий из ЦВУИ на шину 9 устройства, проходит через элементы 20 и 22 на первый выход 33 блока 8 и далее на управляющие входы блоков 1 и 3. Код адреса поступает в блок 3 с выходов счетчика 6. В блок 1 со счетчика 6 адреса поступают только младшие разряды адреса, старшие разряды подаются на входы блока 7. При этом входнойкод адреса на элементах 40 и, щ срав-. нивается с кодом, набранным на регистрах установки, выполненных на тумблере 41 и, щ.При совпадении кода, пост. йившего в блок 7, с кодом, установленным, например, на тумблерах 41 -41 на всех входах элемента 42 имеются сигналы "1". Таким образом, и на выходе 47 блока сигнал "1", который поступает через второй вход блока 8 (контакт 31) на элемент 18. На втором входе элемента 18 в установленном режиме имеется сигнал "1". Следовательно, на выходе элемента 23 (втором выходе блока 8, контакт 34) сигнал такой же, как и на контакте 31. Поскольку этот сигнал поступает на управляющий вход коммутатора 2, то в результате на выходах его, т. е. на числовых шинах устройства, находится информация, поступившая на входы коммутатора 2 из блока 1 в том случае,9 9608 если в блоке 7 произойдет совпадение входного кода с содержимым одного из регистров установки или информация на выходе блока 3, если такого совпадения в блоке 7 нет.5Старшие разряды кода адреса поступают на входы блока 1 с шифратора 44 блока 7 через его выходы 46. Код на выходе элемента 40 зависит от содержимого регистров установки (тумбле- О ра 41) и кода на его контактах 45, Таким образом производится произвольное наложение зон блока 1 на массивы адресов блока 3. В этом режиме на третьем выходе блока 8 (контакт .36) формируется сигнал "1", который разрешает.поступление в счетчик 6 кода адреса с адресных шин 5, На выходе элемента 26 находится сигнал "0", благодаря чему запрещается прохождение через элемент 2 о 21 и контакт 37 (четвертый выход блока 8) в блок 6 счетных импульсов с генератора 27. В этом режиме, также благодаря сигналу, на входе элемента 26, запрещается выдача в регистрирующее ц устройство шины 10 управляющего сигнала с выхода элемента 17 (контакт 32 блока 8).В режиме вывода информации из блока 1 на регистрирующее устройство по щ результатам сравнения его содержимого с содержимым регистра 15 эталонов переключатель 28 блока 8 устанавливается в положение И . При этом через резистор 30 на один из входов элемента 20 поступает сигнал "О, что блокирует поступление в блок 8 сигналов с шины 9. Поскольку на выходе элемента 26 в этом режиме сигнал "1"., то импульс с генератора 27 через элемент 21 и контакт 37 поступает на счетчик 6 адреса, на его счетный вход Поступление в него кода с шины 5 блокируется сигналом "0" с третьего выхода блока 8 (контакт 36).Сигналы с генератора 27 через элементы 19 и 22 проходят на первый выход блока 8 (контакт 33), обеспечивая запуск блоков 1 и 3, так как сигнал "1" на втором входе элемента 19 обес 50 печивается элементом 24. Поскольку на одном из входов элемента 23 в этом режиме постоянно присутствует сигнал, поступающий с переключателя 28, на втором входе блока 8 (контакт 34), сигнал "1". Благодаря этому на число 55 вых шинах 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), Кроме того, на шинах 1 О присутствует выводимая информация и соответствующий ей код адреса.В режиме вывода информации из блока 1. на регистрирующее устройство по результатам сравнения его содержимого с содержимым блока 3 переключатель 28 блока 8 устанавливается в положение 1 И . В отличие от предыдущего режима на шестом выходе блока 8 (контакт 38) постоянно формируется сигнал "0". В результате на выход блока 16 поступает информация не с регистра 15, а с выходов блока 3. В остальном уст" ройство работает так же, как и в предыдущем режиме.В режиме вывода информации из блока 3 на регистрирующее устройство по результатам сравнения его содержимого с содержимым блока 1 переключатель 28 блока 8 устанавливается в положение 1 ч, В отличие от предыдущего режима на любом из входов элемента 23 блока 8 находится сигнал "0, такой же сигнал и на втором выходе блока 8 (контакт. 34), В результате на числовых шинах 4 в этом режиме присутствует информация, считываемая из бло 11 9608 ка 3. Следовательно, она и выводится в устройство регистрации вместе с кодом адреса через шины н 0".В предлагаемом устройстве обеспечена автоматизация получения статис- . тической информации о характере отлаживаемых программ и процесса отладки. Таким образом, появляется возможность оперативного получения необходимой систематической информации, например, 10 о ходе отладочных работ. На основании полученной информации могут быть обоснованно сделаны переходы от одного технологического этапа отладки к другому. В результате этого оптимизи руется процесс отладки, что приводит к повышению качества работ, к сокращению сроков отладки или к повышению степени отлаженности математического обеспечения при заданных сроках от ладки,формула изобретения251. Устройство для отладки программ, содержащее блок полупостоянной памяти, блок постоянной памяти, блок задания адреса, первый коммутатор; счетчик адреса и блок управления, причем пер- ур вый, второй, третий, четвертый и пятый выходы блока управления соединены соответственно с первыми входами блока полупостоянной памяти, первого коммутатора, управляющим и счетным вхо-, дом счетчика адреса и с управляющим выходом устройства, первый выход блока управления соединен с первым входом блока постоянной памяти, выход которого соединен с вторым входом первого коммутатора, информационный выход которого является информационным выходом устройства, информационные выходы счетчика адреса соединеныс адресными входами блоков постоянной и полупостоянной памяти и являются группой адресных выходов устройства, ,управляющий вход устройства соединен с первым входом блока управления, адресный выход устройства соединен с информационным входом счетчика адреса, информационный выход которого соединен с входом блока задания адреса, адресный и управляющий выход блока задания адреса соединены соот 53 ветственно с вторым входом блока полу- постоянной памяти и с вторым входом блока управления, о т л и ч а ю щ ее с я тем, что, с целью расширения28 12 функциональных возможностей устройства за счет обеспечения возможности получения статистической информации о характеристиках отлаживаемых программ и процесса отладки, в него введены первая и вторая группы элементов И, блок сравнения, регистр маски, регистр эталонови второй коммутатор, причем выход блока постоянной памяти соединен с первым информационным входом второго коммутатора, выход которого соединен с первыми входами элементов И первой группы, выход регистра маски соединен с первыми входами элементов И второй группы и с вторыми входами элементов И первой группы, выходы которых соединены с первой группой входов схемы сравнения, выход блока полу- постоянной памяти соединен с вторыми входами элементов И второй группы, выходы которых соединены с второй группой входов схемы сравнения, выход схемы сравнения соединен с третьим входом блока управления, шестой выход которого соединен с управляющим входом второго коммутатора, выход регистра эталонов соединен с вторым управляющим входом второго коммутатора.2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок управления содержит первый, второй и третий элементы ИЛИ, гервый и второй элементы НЕ, первый, второй, третий, четвертый и пятый элементы И, генератор импульсов, переключатель режимов, первый, второй, третий и четвертый разделительные элементы и тумблер, причем выходы первого и второго элементов ИЛИ являются соответственно первым и вторым выходами блока, один из выходов всех четырех разделительных элементов соединен с шиной нулевого потенциала, второй выход первого разделительного элемента соединен с первым контактом переключателя, с первыми входами первого и второго эле ментов И, с входом первого элемента НЕ и является третьим выходом блока, выход третьего элемента ИЛИ соединен с первым входом третьего элемента И, выход которого соединен с первым. входом первого элемента ИЛИ, первый вход блока соединен с вторым входом второго элемента И, выход которого соединен с вторым входом первого элемента ИЛИ, второй вход блока соединен с вторым входом первого элемента И, выход которого соединен с первым вхо13 9608 дом второго элемента ИЛИ, выходы четвертого и пятого элементов И являются соответственно четвертым и пятым выходами блока, выход первого элемента НЕ соединен с первыми входами четвер- з того и пятого элементов И, второй выход второго разделительного элемента соединен с вторым контактом переключателя, с первым входом третьего элемента ИЛИ, с вторым входом вто рого элемента ИЛИ и. является шестым выходом блока, второй выход третьего разделительного элемента соединен с третьим контактом переключателя, вторым входом третьего элемента ИЛИ и . и третьим входом второго элемента ИЛИ, второй вход четвертого разделительного элемента соединен с третьим входом третьего элемента ИЛИ и четвер 28 14тым контактом переключателя, переключающий контакт которого соединен сшиной единичного потенциала, третийвход блока соединен с входом второгоэлемента НЕ и с первым контактом тумблера, второй контакт. которого соединен с выходом второго элемента НЕ,переключающий контакт тумблера соединен с,вторым входом четвертого элемента И, выход генератора соединен свторыми входами третьего и пятого элементов И,Источники информации,принятые во внимание при экспертизе 1. Авторское свидетельство СССР й 613326, кл. 6 06 Г 15/06, 1976. 2. Авторское свидетельство СССР У 489107, кл. 6 06 Г 11/00, 1975560828 Составитель И. Сигалов Техред Т.фанта Корректор И. Дем едактор И. Николай каз 7285/60 Патент, г. Ужгород, ул, Проектная,или Тираж 731 НИИПИ Государственного по -делам изобретени 35, Москва, Ж, Раушс