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

Иллюстрации

Показать все

Реферат

 

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

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

СОЦИАЛИСТИЧЕСКИХ.

РЕСПУБЛИК (19) ((!) (s»s G 06 F 11/28

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

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4815962/24 (22) 17.04.90 (46) 23.06.92. Бюл. №-23 (71) Конструкторское бюро электроприборостроения (72) M.A.4åðíûøoâ, А.В.Бек, Г.Н.Тимонькин, С.Н.Ткаче н ко, В.С.Харченко, В.В. Герасименко и В.P.Ïèëèïåö (53) 681.3 (088.8) (56) Авторское свидетельство СССР

¹ 943732, кл. G 06 F 11/22, 1982.

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

¹ 1538757, кл. G 06 F 11/22, 1988. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ (57) Изобретение относится к вычислительной технике, в частности к устройствам для отладки программ; и может быть использовано в многомашинных вычислительных

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

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

Сущность изобретения состоит в том, что новая совокупность конструктивных комплексах для автоматической отладки взаимодействующих, параллельно выполняемых в реальном масштабе времени программ. Цель изобретения — расширение области применения за счет обеспечения воэможности совместной отладки произвольного числа взаимодействующих, параллельно выполняемых в реальном масштабе времени программ на многомашинных вычислительных комплексах. Устройство содержит приоритетный шифратор, счетчик, дешифратор, и триггеров регистрации запросов, первый, второй и третий триггеры управления синхронизацией, первый, второй триггеры управления, первый и второй триггеры режима, первый — четвертый элементы ИЛИ, блок элементов ИЛИ, группу из Я и элементов И, первый —.третий элементы И, одновибратор. 3 ил.

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

Тупиковая ситуация может возникнуть при отладке программ на многомашинном

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

ЭВМ ВК, за исключением выполняющей инструментальный такт).

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

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

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

ЭВМ, из совокупности требующих выполнения инструментальных операций, которая имеет максимальный приоритет, т.е. ЭВМ с минимальным номером. После этого на процессор выбранной ЭВМ разрешается выдача тактовой сетки для выполнения инструментального такта. По окончании инструментального такта (сигнал."Конец инструментального такта") производится полная блокировка ЭВМ, отработавшей инструментальный такт, и снова, при наличии запросов на выполнение инструментальных тактов, производится приоритетный выбор одной иэ требующих выполнения инструментальных операций ЭВМ ВК. После за,вершения инструментальных тактов всеми

ЭВМ ВК, которым они были необходимы, по очередному сигналу "Конец инструментального такта", (начало рабочего такта) синхронно для всех ЭВМ ВК разрешается масшабе реального времени, на многома10 шинных ВК.

Ввиду того, что рабочие такты, выполня20

55

50 разблокировка цепей вы работки последовательностей для синхронизации процессов и элементов реального времени.

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

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

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

На фиг.1 представлена функциональная схема устройства для отладки программ, а пример схемы его сопряжения с многомашинным ВК и ИЭВМ; на фиг.2 и 3 — временные диаграммы работы устройства, Устройство для отладки программ содержит шифратор 1, счетчик 2, дешифратор

3, и триггеров 4.1-4.п регистрацифапросов .от ЭВМ, триггеры управления синхронизацией 5, 6, управления 7,.8 и удавления синхронизацией 9, первый 10 и второй 11 триггеры режима, элементы ИЛИ 12-15, первый 16 и второй 17 элементы Н Е, блок 18 элементов ИЛИ, группу из и элементов И

19.1 — 19.п, элементы И 20 — 22, одновибратор

23, шины 24 и 25 управления, тактовый вход

26, выход 27 окончания текущего такта отладки программ, выход 28 начала инструментального такта отладки программ, первый 29 и второй 30 разрешающие выходы, выходную адресную шину 31.

Рассмотрим назначение элементов предлагаемого устройства для отладки программ (фиг.1).

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

1742822

25

"Конец текущего инструментального такта" 30 и "Конеч такта", или одного только последнего на выходе элемента ИЛИ 14.

Элемент НЕ 17 предназначен для фор. мирования путем инвертирования на выходе 28 устройства сигнала "Начало 35 инструментального такта", поступающего с первого выхода шифратора-1.

Блок 18 элементов ИЛИ предназначен для инвертирования разрядов кода, посту- . пающего с группы выходов А.1-А.m шифра- 40 тора 1, с целью выдачи на.выходную адресную шину 31 устройства адреса ЭВМ, которая выбирается для выполнения инструментальногоо такта.

Элементы И 19.1-19.п предназначены .45 для синхронной передачи на выходы а.0— а.п-1 шифратора 1 информации, хранящейся в триггерах 4.1 — 4.п регистрации .запросов, Элементы И 21, 22 и ИЛИ 15 предназна- 50 чены для выработки сигналов, разблокирующих триггеры 10 и 11 режима.

Входные шины 24 и 25 управления предназначены для приема сигналов-запросов от ЭВМ на выполнение инструмен- 55 тального или рабочего тактов. Тактовый вход 26 устройства предназначен для приема тактовых сигналов от задающего гене-. ратора. (в соответствии с установленным приоритетом) для удовлетворения своего запроса.

Счетчик 2, дешифратор 3, первый 5, второй 6 и третий 9 триггеры управления синхронизацией, третий элемент И 20, первый элемент НЕ 16 и одновибратор 23 предназначены для выработки серии из шести импульсов, синхронизирующих работу элементов устройства .для отладки программ в процессе обработки одного запроса, поступившего от ЭВМ ВК.

Триггеры 4.1-4.п регистрации запросов предназначены для приема, хранения и изменения информации о запросах от ЭВМ ВК на выполнение инструментальных тактов.

Триггеры 7 и 8 управления предназначены для кратковременного хранения сигналов с выходов GS u EO шифратора 1 соответственно.

Триггеры 10 и 11 режима предназначены для формирования на разрешающих выходах 29 и 30 устройства сигналов, задающих режимы работы ЭВМ ВК, Элементы ИЛИ 12 — 14 предназначены для приема сигналов "Конец инструментального такта" и "Конец рабочего такта" соответственно с входных шин 24 и 25 управления и выработки в зависимости от комбинации поступивших: двух сигналов

Выходы 27 и 28 предназначены для выдачи в инструментальную ЗВМ сигналов соответственно об.окончании текущего и начале инструментального такта отладки

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

Выходная адресная шина 31 устройства предназначена для передачи к ИЭВМ и

ЭВМ ВК адреса той ЭВМ, которая выбрана устройством для выполнения инструментального такта.

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

При необходимости обмена данными . какой-либо из ЭВМ ВК(или нескольким одновременно) с ИЭВМ, формируется (-ются) сигнал (-ы) "Конец рабочего такта" (КРТ), который (-е) поступает(-ют) по шине 25 на вход устройства для отладки программ.

Приняв этот сигнал, устройство блокирует выдачу на разрешающих выходах 29 и.

30 сигналов, которые в свою очередь запирают цепи выработки последовательностей синхронизации процессоров и.синхронизации элементов реального времени всех

ЭВМ ВК. Этим производится полный останов работы последних.

Сигналы КРТ запоминаются в устройстве. Далее, на основании информации о запросах на выполнение инструментальных операций, устройством выбирается наиболее приоритетная ЭВМ из совокупности выдавших сигналы KPT и по выходной адресной шине 31 к ЭВМ и ИЭВМ поступает адрес выбранной ЗВМ.А с выхода 28 устройства к ИЭВМ поступает сигнал "Начало инструментального такта" (НИТ), который сигнализирует о начале выполнения инструментальных операций между выбранной

ЭВМ и ИЭВМ, Обмен между ними производится по шине 38 данных.

После окончания обмена данными программой, выполняемой на ЗВМ. формирует- ся сигнал "Конец инструментального такта" (КИТ), поступающий на шину 24 управления устройства, Приняв этот сигнал, устройство посылает с выхода 27 сигйал "Конец текущего инструментального такта" (КТИТ) к

ИЭВМ. Приняв этот сигнал, ИЭВМ прекращает выполнение инструментальных операций.

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

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

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

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

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

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

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

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

Все элементы памяти в исходном положении находятся в нулевом состоянии (цепи начальной установки на чертеже условно не показаны).

На тактовый вход 26 устройства поступает тактовая последовательность импуль5 сов.

Сигналы KPT с второй входной шины 25 управления поступают на входы второго элемента ИЛИ 13 и на входы установки в единичное состояние триггеров 4.1-4.п ре10 гистрации запросов, которые соответствуют номерам (с первой по и-ю) ЭВМ. С выхода второго элемента ИЛИ 13 сигнал поступает на вход третьего элемента ИЛИ 14, на выходе которого формируется сигнал "Конец так15 та" (КТ). Этот сигнал поступает на входы установки в единичное состояние первого

10 и второго 11 триггеров режима, переключает их, и на инверсных выходах этих триггеров устанавливаются сигналы низкого

20 уровня, поступающие на разрешающие выходы 29 и 30 устройства.

Сигнал KT устанавливает в единичное состояние второй триггер 6 управления синхронизацией, высоким потенциалом с выхо25 да которого разрешается переключение в единичное состояние перврго триггера 5 управления синхронизацией, при прохождении через его синхровход заднего фронта импульса тактовой последовательности с

30 тактового входа 26 устройства.

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

35 тел ьности на счетный вход счетчика 2 и стробирующий вход дешифратора 3. По каждому импульсу с выхода элемента И 20 значение счетчика 2 увеличивается на единицу, что обеспечивает формирование на выходах де40 шифратора 3 по одному импульсу составляющих последовательность синхронизации.

Импульсом с первого выхода 32 дешифратора 3 устанавливается в единичное состояние третий триггер 9 управления

45 синхронизацией, сигнал с выхода которого, поступая на вторые входы элементов И 19.1—

19.п, разрешает прохождение сигналов с выходом триггеров 4.1 — 4.п регистрации запросов на соответствующие информацион50 ные входы а,О-а,n-1 шифратора 1.

По очередному тактовому импульсу на втором выходе 33 дешифратора 3 формируется сигнал, который инвертируется первым элементом НЕ 16 и поступает на управляю55 щий вход Е1 шифратора 1. По этому сигналу разрешается занесение кода с входов а.0а.п-1 для дальнейшей обработки в шифраторе 1.

Если принятый код содержит все единины. что свидетельствует об отсутствии за1742822

25

35

50

55.9 просов от ЭВМ, то на выходах А.1-А.п шифратора 1 формируется код, содержащий все единицы, он инвертируется блоком элементов ИЛИ 18 и поступает на выходную адресную шину 31 устройства, а на втором выходе

Е0 шифратора 1 формируется сигнал, поступающий на вход установки в единичное состояние триггера 8 управления.

Если же в коде имеется хотя-бы один ноль, т.е. имеются запросы от ЭВМ, то на выходах А.1-А.п шифратора 1 формируется инверсный код адреса ЭВМ с максимальным приоритетом, а на первом выходе GSнизкий потенциал, поступающий на инверсный 1-вход первого триггера 7 управления и на вход второго элемента НЕ 17, с инверсного выхода которого сигнал поступает на выход 28 устройства.

Сигнал с третьего выхода 34 дешифратора 3 задним фронтом обнуляет третий триггер 9 управления синхронизацией, низкий потенциал с выхода которого запирает элеме И 19.1 — 19.п. . Кр ого,.устанавливается в единичное со ие первый 7 или второй 8 триггеры ления, с прямых выходов которь алы поступают на первые входы, соответственно первого 21 или второго

22 элементов И.

Сигналом с четвертого выхода 35 дешифратора 3 открывается один из элементов И 21 или 22, так как на первом входе одного из них установлен сигнал высокого уровня.

Если установлен в единичное состояние триггер 7 управления, то на выходе элемента И 21 формируется сигнал, который через элемент ИЛИ 15 обнуляет триггер 10 режима, с инверсного выхода которого потенциал высокого уровня поступает на первый разрешающий выход 29 устройства.

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

Если же установлен в единичное состояние триггер 8 управления, то на выходе элемента И 22 формируется сигнал, устанавливающий в нулевое состояние триггер

11 режима, а также через элемент ИЛИ.15 триггер 10 режима.

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

По очередному синхроимпульсу на пятом выходе 36 дешифратора 3 формируется сигнал, устанавливающий в нулевое состояwe триггеры 7 и 8 управления.

По сигналу с шестого выхода 37 дешифратора 3 одновибратором 23 формируется импульс, по переднему фронту которого устанавливается в нулевое состояние триггер управления синхронизацией, низкий потенциал с выхода которого поступает на 0-вход триггера 5.

По заднему фронту текущего синхроимпульса триггер 5 устанавливается в нулевое состояние и низким потенциалом с прямого выхода запирает элемент И 20, по заднему фронту импульса с выхода одновибратора

23 обнуляется счетчик 2. С этого момента устройство переходит в режим ожидания.

Возобновление работы устройства происходит по сигналу КИТ, формируемому в разряде входной шине 24 управления, соответствующем ЭВМ, выполнявшей инструментальный такт. При этом обнуляется соответствующий триггер из группы триггеров 4.1 — 4.п, что свидетельствует о снятии удовлетворительного запроса, а на выходе элемента ИЛИ 12 формируется сигнал

КТИТ, поступающий на выход 27 окончания текущего такта отладки программ. Этим же сигналом, через элемент ИЛИ 14, формируется сигнал КТ.

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

Формула изобретения

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

ИЛИ, два элемента НЕ, блок элементов

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

1742822

12 входу второго элемента ИЛИ и к входам установки в единичное состояние и триггеров регистрации запросов от ЭВМ, выходы первого и второго элементов ИЛИ соедине. ны с входами третьего элемента ИЛИ, выход которого соединен с входами установки в единичное состояние первого и второго триггеров режима и второго триггера управления синхронизацией, выход первого элемента ИЛИ является выходом окончания текущего такта отладки устройства, прямые выходы и триггеров регистрации запросов от 3ВМ соединены с первыми входами соответствующих и элементов И группы, вторые входы которых подключены к выходу третьего триггера управления синхронизацией, инверсные выходы и элементов И группы подключены к информационным входам шифратора, управляющий вход которого соединен с выходом первого элемента НЕ, вход которого подключен к второму выходудешифратора, первый выходшифратора соединен с инверсным I-входом первого триггера управления и с входом второго элемента НЕ, выход которого является выходом начала инструментального такта отладки программ устройства, второй выход шифратора соединен с инверсным 1-входом второго триггера управления, синхровходы первого и второго триггеров управления подключены к третьему выходу дешифратора, а выходы установки в нулевое состояние триггеров управления соединены с пятым выходом дешифратора; прямые выходы первого и второго триггеров управления соединены соответственно с первыми входами первого и второго элементов И, вторые входы которых подключены к четвертому выходудешифратора, выходы первого и второго элементов И соединены соответственно с первым и вторым входами четвертого элемента ИЛИ, инверсный выход первого

5 триггера режима подключен к первому разрешающему выходу устройства, выход второго элемента И соединен с входом установки в нулевое состояние второго триггера режима, инверсный выход которо10 ro подключен к второму разрешающему выходу устройства, группа выходов шифратора соединена с группой входов блока элементов ИЛИ, группа инверсных выходов которого подключена к выходной

15 адресной шине устройства для подключения к отлаживаемой ЭВМ, тактовый вход устройства соединен с синхровходом первого триггера управления синхронизацией и с первым входом третьего элемента И, 20 0-вход первого триггера управления синхронизацией соединен с выходом второго триггера управления синхронизацией, выход первого триггера управления синхронизацией соединен с вторым входом

25 третьего элемента И, выход которого соединен со стробирующим входом дешифра- тора и со счетным входом счетчика, выходы которого подключены к информационным входам дешифратора, первый

30 выход которого подключен к входу установки в единичное состояние третьего триггера управления синхронизацией, вход установки в "0" которого соединен с третьим выходом дешифратора, шестой

35 выход дешифратора через одновибратор соединен с входом установки в "0" счетчика и синхровходом и к-входом второго триггера управления синхронизацией.

3742822.

1742822

ВхЯ

7гб

1г5

1

l

I

Т9

PgC5t

Т 7/8

g 2У/Я2

Составитель И.Сафронова

Редактор В.Бугренкова Техред M.Моргентал Корректор д. Бескид

Заказ 2286 Тираж Подписное

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

113035, Москва, Ж-35, Рауиккая наб.. 4/5

Производственно-издательский комбинат "Патент", r. Ужгород, ул.Гагарина, 101