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

Новости науки

6 933 подписчика

Свежие комментарии

  • Dim Rex
    поднять оперативку  по   источникам   =Маня  -Ваня итдитп  = по опер  части  гулага =лагерей  то   всплывали   такие ..."Неизвестная раса...
  • Dim Rex
    История  как  таковой  нет  Был  потоп   погибла     цивилизация     массовый исход из  СЕ +Верус =severus =север на ..."Неизвестная раса...
  • Александр Зонов
    Прошло почти 7 лет. Где эти мобильные АЭС? "Пандемия" коронавируса и проведение СВО на Украине - не при чём. Даже есл...Минобороны РФ к 2...

О "слепом копировании" в советской электронике

Александр Степанов: О "слепом копировании" в советской электронике

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

 Меня все время удивляли обвинения советской электроники в «отставании» и «копировании».

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

Прогресс был ошеломляющий. И не только в журналах. Ещё в школе все зимние каникулы помогал отцу паять 2 платы памяти на 16 килобитных кристалах для домашнего 8-ми разрядного компьютера. К концу каникул отец достал где-то 64 килобитные. Их надо было уже не 32 штуки, а всего 8, и я спаял плату памяти той же ёмкости за выходные. Через пару лет паяли ПС-ХТ совместимый компьютер и память была уже 256 -килобитная.

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

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

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

Как выглядела «проблема копирования» с точки зрения вот такой вот разработки прикладных устройств, от контроллеров промышленного оборудования до персональных компьютеров? А никак. Не было такой проблемы.

Если ёмкость микросхемы памяти возрастает в 4 раза и микросхем этих надо в 4 раза меньше — это хорошо. И меньше всего меня интересовало что эта микросхема — копия выпускающейся в Америке. Если устройство размером с тумбочку можно заменить одной платой размером с почтовую открытку, где стоит однокристальный микрокомпьютер — это хорошо. И не важно что этот микрокомпьютер точная копия американского образца. Если вместо 8-ми разрядного компьютера с 64 КБ памяти дома появляется РС-совместимый 16-ти разрядный с 512 КБ памяти, и для него есть множество программ — это хорошо. То что в стране такие компьютеры выпускаются сотнями тысяч в год и строятся заводы для выпуска миллионов тоже неплохо.

Но понятно что это взгляд несколько «обывательский». Поднимемся на философскую высоту, где парят критики копирования. Все цитаты из приведенной выше статьи Назарова. Они передают типичные клише антисоветского компьютерного мифа.

 «у нас была отличная машина БЭСМ-6 и огромные наработки в области программного обеспечения, включая замечательную операционную систему. Разработчикам было бы гораздо проще перевести процессор БЭСМ-6 в микропроцессорное исполнение и на этой основе создать свою машину, чем копировать западные образцы.»

 Решение о копировании было принято в 1977 году. В том самом году, когда в СССР начали выпускать 8-ми разрядный микропроцессор 8080. Почему микропроцессор не делали на архитектуре БЭСМ? Потому что БЭСМ — это Большая Электронно-Счетная Машина. Ключевое слово - Большая. 60 тыс. транзисторов и 200 тыс. диодов, против 6000 транзисторов в 8080.

 

 

 

Транзисторы и диоды

Слово (бит)

Частота (МГц)

8080

6 000

8

2

8086

30 000

16

4

БЭСМ

260 000

48

9

 b2ap3_thumbnail_BESM.png

 

Различие в 50 раз — много это или мало? Допустим при производстве процессора 8080 годных получалась половина. Вероятность произвести один работоспособный БЭСМ была бы 0,550 = 10-16. По технологиям конца 70-х БЭСМ в одной микросхеме не удалось бы сделать никогда. По технологиям конца 80-х уже было можно. Но тогда и делали уже Эльбрусы.

Первый микропроцессор фирмы Интел вообще был 4-битными. Да, со своим малюсеньким словом он делал арифметические операции не разом, как БЭСМ, а «столбиком», по частям. Но зато он стоил 5 долларов и на нем можно было делать сотни миллионов калькуляторов, а БЭСМ стоила миллионы, а выпустили её 384 штуки.

Для таких крошечных компьютеров просто не было готовой архитерктуры. Ее не было ни у нас, ни на Западе. Не было не потому, что никто не мог её создать, а просто потому что 4-х битовый компьютер был никому не нужен как компьютер. Да и 8-ми битовый тоже. Такие микроархитектуры начали создавать специально чтобы уместить их в одну микросхему. И оказалось что у таких крошечных компьютеров, которые стоят копейки, есть масса применений, для которых никто не стал бы использовать классический компьютер.

Даже сейчас, когда и в телефонах используют 8-ядерные 64-битные процессоры, более 90% всех выпускаемых микропроцессоров имеют разрядность 8 и менее бит. Они используются для контроля различных устройств. Не то что в зарядниках, но даже в батарейках сегодня встроены микропроцессоры. При том количестве энергии, которое могут накопить современные литиевые батарейки, без микроконтроллеров они просто были бы слишком опасны.

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

И в 70-х и 80-х большинство микропроцессоров предназначалось вовсе не для производства компьютеров, а для создания умного оружия, станков с ЧПУ и всевозможной автоматики. Для всех этих применений не так важна архитектура микропроцессора, которая в любом случае примитивна по сравнению с большими машинами.

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

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

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

Другие стандарты почему-то не вызывают у критиканов отторжения. Не возмущаются, к примеру, языком программирования С, стандартом HTML или кодировкой символов UTF-8. Но почему-то страшно возмущены копированием архитектуры процессора, даже если излагают своё возмущение на компьютере с процессором того же семейства.

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

«Когда Зеленоградским разработчикам поставили задачу копировать процессор машины фирмы DEC PDP-11(будущий К1801ВМ1), они предложили сделать функциональную копию с той же системой команд и тем же расположением выводов за 1 год, но по своей технологии - их заставили сделать структурную копию, что заняло 3 года. »

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

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

Кроме того, сплошь и рядом встречаются обычные ошибки. Даже у того же Интела, ошибки в ранних моделях 80286 процессора заметно сказывались на совместимости с более рынним процессором 8086. Печально знаменита ошибка в Пентиуме, да и в последнем процессоре Skylake обнаружилась ошибка, из-за которой процессор зависает на тестовой программе Prime95. Обнаружилась через полгода после появления процессора в массовой продаже.

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

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

Специалистам из Зеленограда могло казаться что они сделают микропроцессор и уже потом инженеры по всей стране начнут использовать его в своих устройствах и отлаживать их уже с советским микропроцессором. А тот, кто заставлял их точно копировать американский аналог знал, хотя бы примерно, сколько разных устройств, использующих этот процессор, уже находятся в разработке. Эти устройства должны надёжно работать с отечественным процессором, и речь вовсе не о рисоварках и электрочайниках. Цена ошибки может быть слишком велика.

«Венцом этой политики слепого копирования был процессор К1810ВМ86 - аналог Intel 8086... В этом процессоре разработчики Intel заложили внутрисхемный контроллер, который в дальнейшем не понадобился. Его электрически изолировали и начали серийное производство кристаллов процессора в таком виде. Наша промышленность, естественно, изготовила копию. Помню, как весь мир смеялся над "русскими обезьянами", которые наладили выпуск процессора, даже не удалив с кристалла явно ненужную схему. Второго такого унижения я не припомню.»

Это у товарища ложная память. Логика ситуации скорее соответствует антисоветскому анекдоту, нежели реальности. Откуда всему миру знать? И зачем ему ковыряться в советском процессоре? И почему немец, который не может делать процессоров вообще, должен смеяться над СССР, который может? Обдолбанного марксизмом советского диссидента интересовало передовой ли у нас строй и впереди ли мы планеты всей. И если СССР копирует то конечно же потому что своё сделать не может. Произвести миллионные серии микросхемы с 30 000 транзисторов размеров в 3 микрона может, а нарисовать схему примитивного микропроцессора «не может».

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

Да, процессор 8080 в СССР появился на 3 года позже, чем в США. Но «Стрела-М» и «интеллектуальный» Стингер, способные отличать самолёт от тепловых ловушек, появились одновременно. А появились они одновременно, потому что разработка началась одновременно. Для разработки и в СССР и в США использовали один и тот же процессор, только в США он уже был, а у нас пользовались ограниченным числом американских, которые удалось достать. А потом заменили нашим. И чтобы это было возможным, наш должен был быть полностью совместим. Не потому что не могли выдумать свой, а потому что была уже готовая, испытанная «Стрела-М», в разработку которой вложены миллионы и потрачены годы, для которой нужен был точный аналог американского процессора.

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

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

Микропроцессор 8086 был уже достаточно мощным для создания серьёзных компьютеров общего назначения. С него и пошла настоящая популярность персональных компьютеров. Компьютеры стали выпускать миллионами, десятками и сотнями миллионов. И все они использовали одну и ту же операционную систему. Одни и те же программы.

Чтобы запустить операционную систему и все программы, написанные для неё, компьютер должен был быть достаточно похож на западный образец аппаратно. Первый персональный компьютер, который мой отец разрабатывал на процессоре 8086 был не совместим с IBM PC. Второй, по требованию заказчика, долен был быть совместим. Помню отец много ругался на это требование «слепого копирования». Потом, время от времени, рассказывал об интересных решениях IBM-овских специалистов. Сам бы он так делать не стал, но видит почему они делали именно так. Когда компьютер был готов и отец увидел сколько всяких программ на нем работает — все возмущение «необоснованным» требованием совместимости как ветром сдуло.

Самое интересное, что все эти программы можно запускать и на том компьютере, на котором я печатаю эти строки. То есть выбор технических и административных структур СССР был верным. Они поставили на ту архитектуру, которая победила на десятилетия. И сколько ещё десятилетий надо чтобы наши критиканы-неспециалисты наконец задумались над своими стереотипами?


P.S. Говорят еще что на определенном этапе детали настолько мелкие, что их уже и не разобрать и не скопировать. Но на определенном этапе и копировать уже не нужно. Потребности автоматики закрыты уже имеющимися однокристальными микроЭВМ. Бесплатные операционные системы и другое программное обеспечение с открытыми исходными текстами можно относительно легко переносить на любую архитектуру. Да и "открытые" процессоры тоже есть. Например OpenSparc 

Ссылка на первоисточник
наверх