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

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

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

ZIP архив

Текст

ОП ИСАНИЕИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ п)983712 Сфез СоветскнкСоцналистнческнвРеспубанк(22) Заявлено 21.12.79 (21) 2884793/18-24с присоединением заявки Мо Р 1)М Кп з С 06 Р 11/26 Государствеииый комитет СССР ф по делам изобретений и открытийДата опубликования описания 23.12.82(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА ПРОГРАММ Изобретение относится к вычислительной технике,в частности к организации контроля программ.Известно устройство для контроляпрохождения программ, содержащее зониую память, состоящую из трех основных частей; быстродействующего запоминающего блока для хранения адресов,схем селекции и хранения адресов,схем считывания или визуального вывода зафиксированных адресов 1.Однако в устройстве по типу обращения к памяти выделяются определенные контрольные точки, которые фиксируются в запоминающем блоке устройства. По факту прохождения программычерез контрольные точки .делается вывод о том, что весь участок программымежду контрольными точками выполнен,что не всегда верно, Поэтому устройство не гарантирует контроля программв части полноты использования командв программе.Наиболее близким к изобретению по технической сущности является, устройство, содержащее главную память, блок команд, блок контроля памяти, .блок канала, блок исполнения и пульт уп. равления, устройство, состоящее из ,регистра верхней границы адресов, регистра границы адресов, регистра нижнего адреса программы, региотра количества адресов используемых в системе, от нижнего адреса программы доверхнего адреса программы, первый,,второй, третий и четвертый блоки сравнения нижней и верхней границ адресов, нижнего адреса программы и верх-ней границы адресов, верхнего адресапрограммы и нижней границы адресов,нижнего и верхнего адресов программы,логическую схему, вырабатывающую сигнал записи программных событий, распределитель импульсов, причем выход 15 регистра нижней границы адресов соединен с первым входом блока сравнения и с вторьм входом третьего блокасравнения, выход регистра верхнейграницы. адресов соединен с вторымвходом первого блока сравнения и свторым входом второго блока сравнения, выход регистра нижнего адресапрограммы соединен с первыми входамивторого, третьего и четвертого бло ков сравнения, выход регистра количества адресов соединен с третьимвходом третьего блока сравнения и свторым входом четвертого блока сравнения, выходы блока сравнения соеди вены с входом логической схемы 23Недостаток устройства заключается в том, что оно не обеспечивает про.верку полноты использования команд программами. При контроле выполняемой программы в устройстве проверяет- ся, входят ли адреса выполняемых ко манд в разрешенный диапазон адресов, ля чего производится сравнение нижего и верхнего адресов команд каждой программы с нижней и верхней границами допустимых адресов, но адреса 10 использованных программами команд не фиксируются, таким образом, команды, которые ни разу не были использованы программами, но адреса которых лежат в диапазоне разрешеннюс адресов, не 15 обнаруживаются.Целью изобретения является увеличение.контролирующей возможности.Поставленная цель достигается тем, что в устройство для контроля хода программ, содержащее первый и второй блоки сравнения, первый и второй регистры нижней границы участка програм мы,первый и второй регистры верхней границы участка программы и блок памяти, введены входной регистр адреса команд, регистр адреса текущих команд, первый и второй блоки коммутации, первая, вторая, третья, четвертая, пятая, шестая, седьмая группы элементов И, первый и второй элементы ИЛИ и блок управления, причем информационный и первый управляющий входы первого блока коммутации являются соответственно адресным и управляющим входами устройства, первый выход первого блокаФ коммутации соединен с информационным входом регистра адреса текущих команд, управляющий вход которого соединей с первым выходом блока управления, второй выход блока управления . 40 соединен с первыми входами элементов И первой и второй группы, выходы которых соединены с входами первой схемы сравнения, выход регистра адреса текущих команд соединен с входом первого элемента ИЛИ, с вторыми входами элементов И первой группы, с первыми входами элементов И третьей группы, выходы которых соединены с первыми информационными входами входного ре О гистра адреса команд и счетчика адреса текущих команд, второй выход первого блока коммутации соединен с вто.рыми информационными входами счетчика адреса текущих команд и входного регистра адреса команд, выход которого соединен с первыми входами элементов И четвертой группы и через второй элемент ИЛИ - с вторым управляющим входом первого блока коммутации,информационный выход счетчика соединен с вторыми входами элементов И второй группы и первыми входами элементов И пятой группы, выходы элементов И чет" вертой и пятой групп соединены с инФормационными входами первых регист ров соответственно нижней и верхнейграниц участка программы, информационные выходы которых соединены соответственно с первым и вторьм информа"цнонными,входами второго блока коммутации, первый,второй, третий и четвертый информационные выходы второгоблока коммутации соединены соответственно с первым и вторым входом второго блока сравнения, с входами вто,рых регистров нижней и верхней границучастка программы, выходы вторых ре-.гистров нижней и.верхней границ участка программы соединены с.первыми входами элементов И шестой и седьмойгрупп соответственно, кроме того, каждый выход регистра нижней и верхнейграниц участка программы соединенсоответственно с третьим и четвертыминформационнычи входами второго блока коммутации, выходы элементов И шестой и седьмой групп соединены с первой и второй группами входов блокапамяти, первый выход блока сравнениясоединен с управляющим входом вычитания счетчика адреса текущик команд ипервым входом блока управлЬния, выходпервого элемента ИЛИ - с вторым входом блока управления и с управляющимвходом сложения счетчика адреса теку"щих команд, второй выход первой схемы сравнения и выход второй схемысравнения - соответственно с третьими четвертьм входами блока управления,третий и четвертый выходы блока управления соединены соответственно свторыми входами элементов И третьейгруппы и с управляющим входом второго блока коммутации, пятый выход блока управления соединен с вторыми входами элементов И четвертой и пятойгрупп, а шестой выход - с вторымивходами элементов И шестой и седьмойгрупп.Кроме того, блок управления содержит блок постоянной памяти, дешифратор адреса, регистр адреса микрокоманд, модификатор адреса микрокоманд,причем первый, второй, третий, четвертый, пятый и шестой выходы блокапостоянной памяти являются соответственно первым, вторьщ, третьим, чет-,вертым, пятым и шестым выходами блока управления, а седьмой выход блокауправления соединен с входом модификатора адреса микрокоманд, второй,третий, четвертый и пятый входы модиФикатора адреса команд являются соответственно первым, вторьаа, третьим. ичетвертым входами блока управления,выход модификатора адреса соединен свходом регистра адреса микрокоманд,выход которого соединен с входом дешифратора адреса, выход дешифратораадреса соединен с входом блока постоянной памяти,Новая совокупность существенныхпризнаков обеспечивает достижениепоставленной цели в силу того, что в памяти устройства Фиксируются нижний и верхний адреса каждого непрерывного набора команд с последовательными адресами (границы каждого набора), то есть адреса команд, использованных 5 в программах, будут заФиксированы. Таким образом, устройство обеспечивает проверку полноты использования.команд программы.На Фиг. 1 приведена функциональная 10 схема устройствадля контроля хода программ 1 на фиг. 2 - функциональная схема первого блокакоммутации 1 нафиг. 3 - функциональная схема второго блока коммутации; на фиг. 4 - ,структурная схема блока управления.Устройство состоит иэ первого блока 1.коммутации, счетчика 2 адреса текущих команд, регистра 3 адреса текущих команд, входного регистра 4 адреса команд, первого регистра 5.1 нижней границы участка програюы, первого регистра 5.2 верхней границы участка программы, второго регистра 6. 1 нижней границы участка программы, второго регистра 6.2 верхней границы участка программы, первого и второго блоков 7 и 8 сравнения, блока 9 коммутации, блока 10 управления, блока. 11 памяти, первого и второго элементов ИЛИ 12 и 13, первой, второй, третьей, четвертой, пятой, шестой и седьмой групп 14.1, 14.2, 15, 16.1, 16.2, 17.1 элементов И, входов 18 для адресов команд.Блок 1 состоит из входа 19 для си- З 5 гнала установки в исходное состояние, триггера 20 групп 21 и 22, элементов И, Блок 9 состоит из групп 23, 23, 24, 24, 251, 25 элементов И ( цепи установки узлов устройства в исход-" 40 ное состояние не показаны) .Блок 10 состоит из блока 26 постоянной памяти, дешифратора 27 адреса микрокоманд, регистра 28 адреса микрокоманд, модификатора 29 адреса мик рокоманд, входа 30 начальной установкиеБлок 10 работает в соответствии с микропрограммой, записанной в блоке 26, а анализ внешних сигналов и вет Е вление микропрограмм производится модификатором 29.Выработка сигналов микрооперации производится в соответствии с микропрограммой работы блока 10, с учетом 55 сигнала с других узлов устройства, передаваемых на входы блока 10, т.е, с учетом сигналов внешних для блока 10 условий. Обработка внешних сигналов условий, как известно, производитсямодификатором микропрограммного устройства управления.Принцип работы устройства заключается в следующем.На вход устройства со счетчика команд подаются адреса выполняемых команд и сигнал сопровождения,. который вырабатывается при изменении содержимого счетчика команд. При анализе последовательности адресов выполненных команд выделяются на начальный (нижний) и конечный (верхний) адреса набора выполняемых команд с последовательными адресами, эта пара адресов фиксируется, затем определяются границы следующего набора команд с по" следовательньми адресами. После этого границы каждого последующего набо- ра сравниваются с границами предыдущего набора, Сравнение границ производится для экономии памяти, Когда, например, границы последукщего набора команд полностью включают в себя границы предыдущего набора, то нет необходимости записывать в памятьграницы обоих наборов команд, а достаточно записать границы только после-. дующего набора. При сравнении границ Двух наборов могут иметь место сле"дующие случаиг границы последующего набора шире границ предыдущего набора и полностью его перекрывают, в этом случае стираются границы последующего набора; границы последующегонабора шире границ предыдущего набо" ра и полностью его перекрывают, в этом случае стираются границы предыдущего набора; наборы предыдущий ипоследующий перекрываются лишь частично, т.е. часть команд из одного набора входит в другой, в этом случае производится расширение нижней или верхней границы; границы последующего набора не перекрываются с границами предыдущего, в этом случае границы предыдущего набора фиксируются в памяти, а границы последующего набора в дальнейшем сравниваются с границами следующего за ним набора.Рассмотрим подробно работу устройства.В исходном состоянии все регистры, счетчик и блок памяти не содержат никакой информации, а блок управления находится в состоянии ожидания сиг" нала с выхода элемента ИЛИ 12Триггер 20 блока 1 находится в состоянии0, в которое он устанавливается по входу 19 сигналом установки в исходное состояние.Адрес начальной команды (нижняя граница набора) и сигнал изменения адреса команды поступают на входы группы 21 и с ее выхода адрес команды через группу 22., записывается в счетчик 2 и в регистр 4. После того, как в .регистр 4 записан адрес, на входе элемента ИЛИ 13 вырабатывается сигнал, который сигнализирует о не нулевом состоянии регистра и который устанавливает триггер 20 блока 1 в. состояние 1 ф, в результате чего группа 22 блокируется, а группа 222 разблокируется.Это состояние триггера 20 сохра. . няется до тех пор,. пока устройство не будет установлено в исходное состояние, После этого устройство находится в режиме ожидания изменения адреса выполняемой в ЭВМ команды. йд рес последующей команды, к выполнению котброй приступила ЭВМ, по сигналу изменения команды через группы 21 и22 записывается в регистр 3. В результате этой записи сигнал с выхода 10 элемента 12 увеличивает на единицу содержимое счетчика 2 и поступает на вход блока 10, который в ответ на него подает управляющий сигнал на вхо" ды групп 14,1 и 14.2 элементов И, 15 подключая тем самым к входам блока 7 регистр 3 и счетчик 2. Блок 7 производит сравнение их содержимого, т.е. сравнение адреса новой команды с увеличением на единицу с адресом предыдущей команды, В зависимости от результата сравнения реализуются два режима работы этого устройства. Если содержимое регистра 3 равно содержимому счетчика 2 (адреса предыдущей 25 и последующих команд отличаются на единицу, т.е. в ЭВМ выполняются ко-. манды с последовательными адресами), блок 10 (по сигналу с соответствующего выхода блока 7) производит изменение регистра 3, и устройство переходит в режим ожидания. изменения выполняемой в ЭВМ команды, блок 10 ожидает сигнал с элемента 12. При поступлении на регистр 3 адреса новой команды производится, как описано выше, З 5 добавление ффединицы в счетчик 2 и сравнение содержимых регистра 3 и счетчика 2. Если они равны, вновь производится гашение регистра 3 и пере.ход к ожиданию изменения команды в 49 ЭВМ. Работа устройства в этом случае соответствует выполнению в ЭВМ непрерывной цепочки команд с последовательныаи адресами, При этом содержимое регистра 4 определяет первую команду 45 (нижний адрес) набора выполненных команд, а на счетчике 2 происходит расширение верхней границы адресов выполненных команд.В том случае, когда содержимое ур счетчика 2 и регистра 3 не равны (т.е. адрес последующей команды отличается от адреса предыдущей команды на число, отличное от единицы, например, при условном или безусловном пе-реходе в программе), работа устройства соответствует переходу в программе от одного набора команд с последовательными адресами к другому, т.е. передача управления в программе. В этом случае сигналом с соответствующего выхода блока 7 содержимое счетчика 2 уменьшается на единицу (происходит возврат к адресу команды, от которой производится передача управления) и, кроме того, по этому сигна- фф лу с выхода блока 10 на группы 16.1 и 16,2 элементов И подается управляющий сигнал записи содержимого регистра 4 и счетчика 2 в регистры 5.1 и 5;2, а затем управляквий сигнал - на, группу 15 элементов И.В результате этого в регистрах 5.1 и 5.2 записываются границы первого набора команд с последовательными адресами, а в регистр 4 и счетчик 2 - содержимое регистра 3 - нижняя граница участка программы нового набора команд) .С целью экономии памяти произво,дится дальнейшая обработка полученных данных. С блока 10 в блок 9 подается управляющий сигнал, по которому к блоку 8 подключаются пары регистров из числа регистров 5.1, 5,2, 6,1 и 6.2. Это проверка совместимости границ предыдущего набора (записанных в регистрах 6.1 и 6.2) с границами последукщего (регистры 5.1 и 5.2).Сначала к блоку 8 через группы ,241 и 25 подключаются регистры 5.1 и 6.2 (нижняя граница нового набора и верхняя границапредыдущего набора), Если содержимое регистра 5.1 больше содержимого регистра 6.2, т.е, наборы команд не пересекаются (ни одна коМанда одного набора команд не входит( в другой набор команд), то сигналом с блока 10 на группы 17,1 и 17 .2 элементов И производится запись содержимого регистров 6,.1 и 6.2 в блок 11, а затем содержимое регистров 5.1 и 5.2 через группы 23 и 23 блока 9 переписывается в регистры 6.1 и 6.2. В результате в блоке 11 запнсаны границы (нижний и верхний) адреса предыдущего набора команд, в регистрах 6.1 и 6.2 - границы последующего набораЕсли содержимое регистра 5;1 не превышает содержимого регистра 6.2, по сигналам с блока 10 к блоку 8 через группы 24 и 25 подключаются регистры 5.2 и 61 (верхняя граница нового набора команд и нижняя - предыдущего набора) .Если содержимое регистра 5.2 меньше содержимого регистра 6.1 (т.е. иепересекаациеся наборы команд) устройство работает аналогично описанному.Если содержимое регистра 5.2 не меньше содержимого регистра 6.1, по сигналам с блока 10 к блоку 8 через группы 24 и 25 подключаются регистры 5.1 и 6.1,(нижняя граница последующего и предыдущего наборов),Если, содержимое регистра 5.1 меньше содержимого регистра 6.1, т.е. последующий набор включает в себя часть адресов команд предыдущего набора, по.сигналу с блока 10 через группу 23 производится перезапись содержимого регистра 5.1 в регистр 6.1 (рас15 Формула изобретения ширение нижней границы набора адресов использованных команд) .Если содержимое регистра 5.1 не меньше содержимого регистра 6,1, к блоку 8 по сигналу управления с блока 10 через группы 24 и 25 подключаются регистры 5.2 и 6.2 и произво-, дится сравнение верхних границ двух наборов адресов команд. При этом; если содержимое регистра 5.2 больше содержимого регистра 6.2 (верхняя граница последуюа(его набора выше верф хней границы предыдущегонабора), ;производится расширение верхней границы набора адресов использованных команд, записанной в регистре 62, для чего по сигналу.с блока 10 через группу 23 блока 9 содержимое регистра 5.2 переписывается в регистр 6.2, .Если же содержимое регистра 5.2 не превышает содержимого регистра 62, по управляющему сигналу с блока 10 производится гашение регистра 3 и устройство переходит к ожиданию адреса следуЮщей выполняеМой в ЭВМ команды. Таким образом, в том случае, когда в ЭВМ происходит переход от.одного набора команд с последовательными адресами к другому набору команд с последовательными адресами при сравнении границ наборов адресов команд, записанных в регистрах 6.1, 6.2 и 5.1,5.2, возможны следующие случаи.Если наборы адресов не пересекаются, границы предыдущего набора (содержимое регистров 6,1 и 6.2) переписываются в ячейку блока 11, а содержимое регистров 5.1 и 5.2 переписывается в регистры 6.1 и 6.2.Если наборы адресов перекрываются:частично, происходит расширение нижней (или верхней) границы путем передачи содержимого регистра 5,1 (или5.2) в регистр 6.1 (или 6.2) .Если последующий .набор адресоввходит в предыдущий набор как составная часть, содержимые регистров 6.1и 6.2 не изменявтся,Если последующий набор включает в себя как составную часть предыдущий набор, в регистры 6.1 и 6.2 записываются границы Нового набора адресов(содержимое регистров 5.1 и 5,2) .Таким образом, если на вход 18 устройства подавать со счетчика командадреса выполняемых в ЭВМ команд, после окончания контролируемой программы ЭВМ в блоке 11 зафиксируются адреса команд, выполняемых в ЗВМ, причем для экономии памяти в ее ячейках записываются адреса не каждой выполненной команды, а граничные адреса использованных наборов команд с по. следовательньии адресами или отдельные команды.Контроль программ, выполняемых на ЭВМ, с помощью предлагаемого устройства производится следующим образом. Устройство подключается к счетчику команд ЭВМ и устанавливается в исходное состояние, После этого производится поочередное включение всех программ, выполняемых на ЭВМ. По окончании работы программ содеркимое блока 11 памяти известньм способом выводится на печать. Команды, задействованные в программах, известны, поэтому необходимо сравнить список иэ вестных команд со списком команд, использованных в работе ЭВМ. В том слу-..чае, когда какая-либо команда, имеющаяся в списке, задействованных в программах, ни разу йе использоваласьпри работе ЭВМ, т.е. отсутствует в распечатке содержимого блока 11, не"обходимо.или провести проверку этойкоманды, или в тех случаях, когдаэто возможно, путем имитации внешних.воздействиЯ на ЭВМ добиться того,.чтобы эта команда была выполнена.Создать. такие внешние условия,например, для управляющей ЭВМ, неудается, необходимо произвести про-,веРку этой команды,Таким образом, после проверки всехпрограмм, выполненных на ЭВМ, иэ списка команд должны быть удалены всекоманды, адреса которых ни разу не,встречались в. работе ЭВМ,. и реакцияЭВМ на которые не известна (илн неже-.лательны, или не должны иметь место)Таким образом, по сразнению с известным устройством, предлагаемое позволяет более полно контролироватьправильность прохождения программ,выполняемых на ЭВМ, так как позволя-.,ет зафиксировать каждую выполняемувкоманду и таким образом выявить всекоманды, которые, будучи задействоваф ны при составлении программы, ни разу не выполнялись прн их прохождении. 1, Устройство для контроля хода программ, содержащее первый и второй блоки сравнения, первый и второй регистры нижней границы участка програм" мы, первый и:второй регистры верхней границы участка программы и блок па- мяти, о т л н ч а ю щ е е с я тем, что, с целью повышения, точности контроля, в него введены входной регистр адреса команд, регистр адреса. текущих команд, счетчик адреса текущих команд, первый и второй блоки коммутации, первая, вторая, третья,:четвертая,пятая, шестая и седьмая группы элементов И, первый и второй элементы ИЛИ и блок управления, причем инф формационный и первый управляющий входы первого блока коммутации являются соответственно адресамии управляющим входами устройства, первый выход первого блока коммутации соеди 983712нен с информационным входом регистра . адреса текущих команд, управляющий вход которого соединен с первьм выходом блока управления, второй выход блока управления - с первыми входамиэлементов И первой к второй групп, выходы которых соединены с, входами первой схемы сравнения, выход регистра адреса текущих команд соединен с входом первого элемента ИЛИ,.с вторыми входами элементов И первой груп пы, с первьми входами элементов И третьей группы, выходы которых соединены с первьми информационными входами входного регистра адреса команд и счетчика адреса текущих команд, вто рой выход первого блока коммутации соединен с вторыми информационными входами счетчика адреса текущих команд и входного регистра адреса ко" манд, выход которого соединен с пер О вьми входами элементов И четвертой группы и через второй элемент ИЛИ - с вторым управляющим входом первого бЛока коммутации,. информационный выход счетчика соединен с вторыми вхо дами элементов И второй группы и пер виаи входами элементов И пятой группы, выходы элементов И четвертой.и пятой групп соединены с информацион" ньми входами первых регистров соответственно нижней и верхней границ участка программы, информационные вы ходы которых. соединены соответственно с первьм и вторым информационными входами блока коммутации, первый, вто рой, третий и четвертый информационные выходы второго блока коммутации соединены соответственно с первьм и вторым входом второго. блока сравнения, с входамк 1 вторых регистров нижней и верхней границ участка програм О мы, выходы, вторых регистровнижней и верхней границ участка программы сое.динены с первыми входами элементов И, .шестой и седьмой групп соответственно, кроме того, каждый выход регистра ниж 45ней и верхней границ участка программ. ;мы соединен соответственно с третьим ,к четвертым информационными входа ми второго блока коммутации, выходы элементов И шестой и седьмой групп 56 соединены соответственно с первой к второй группами входов блока памяти, первый выход, блока сравнения соединен с управляющим входом вычитания счетчика адреса текущих команд и первьм входом блока управления, выход первого элемента ИЛИ - с вторьм входом блока управления к с управляющим входом сложения счетчика адреса текущих команд, второй выход первой схемы сравнения к выход второй схемы сравнения - соответственно с третьим и четвертьм входамк блока управления, третий и четвертый выходы блока управления соединены соответственно с вторыми входами элементов И третьей группы,к с управляющим входом второго блока коммутации, пятый выход блока .управления соединен с вторыми входами элементов И четвертой и пятой групп, а шестой выход - с вторыми входами элементов И.шестой и седьмой групп.2 Устройство по и, 1, о т л ич а ю щ е е с я тем, что блок управления содержит блок постоянной памяти, дешифратор адреса, регистр адреса микрокоманд, модификатор адреса микрокоманд, причем первый, второй, третий, четвертый, пятый и шестой выходы блока постоянной памяти являются соответственно первьм, вторьм, третьим, четвертьм пятьм и шестьм выходами блока управления, а седьмой выход блока управления соединен с входом модификатора адреса микрокоманд, второй, третий, четвертый и пятый входы модификатора адреса команд являются соответственно первик, вторым, третьим и четвертьм входами блока управления, выход модификатора адреса, соединен с входом .регистра адреса микрокоманд, выход которого соединен с входом дешифратора адреса, выход дешкфратора адреса соединен с входом блока постоянной памяти. Источники информации,принятые во внимание прк экспертиэе 1. Патент ОЖ 9 3935563,кл. 340-172.5, опублик, 1976 2, Патент СО% 9 3931611,кл. 340-172. 5, опублик. 1976.к П 1 Патентф, г.ужгород, ул. Проектная,Фили акаэ 9927/59Тираж 731 ВНИИПИ Государственного по делам изобретений 113035, Москва, Ж, РаПодписноекомитета СССРи открытийушская наб., д.4/

Смотреть

Заявка

2884793, 21.12.1979

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

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

МПК / Метки

МПК: G06F 11/26

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

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

Код ссылки

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

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