Search
Write a publication
Pull to refresh

Comments 20

в 1969 году в Риме я характеризовал решение советских властей создать копию IBM 360 с битовой совместимостью как самую значительную американскую победу в холодной войне.

Впереди была ещё эпоха "звёздных войн". А в начале 90-х советские ЕС ЭВМ, которые были фактически клоном IBM, в массовом порядке сдавались на драгметалл:

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

Вот такая была польза от IBM (читай ЕС ЭВМ) в лихие 90-е.

А в начале 90-х советские ЕС ЭВМ, которые были фактически клоном IBM

Клонами они не были, не надо врать. За исключением ЕС-1035, у всех наших машин даже микроархитектура была своя, а реализация была своей всегда -- поскольку элементная база была банально другой. Что же касается ЕС-1035, то микроархитектура этой машины таки позаимствована у IBM 370/145, но реализация, опять-таки, своя.

Спасибо за уточнение, я думаю, что предыдущий комментатор использовал слово «клон» просто как упрощение для описания заимствования идей.

Я не специалист в архитектурах, но очевидно, что прямого доступа к технологиям советским инженерам никто бы не дал. Насколько я читала, они изучали документацию, покупали компьютеры в т.ч. через третьи страны, могли использовать разведданные, занимались реверс-инжинирингом. Реализация, конечно, как вы отметили, технически сильно отличалась.

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

Ну и замечу, что "у них" наследники Системы 360 живы и выпускаются по сей день -- мэйнфреймы IBM z/Architecture.

Дейкстра работал на конкурентов IBM, отсюда может быть его большая нелюбовь к её разработкам. Кроме того, он, как и основная масса советских разработчиков 1940-60-х, был зациклен на научно-технических расчётах, в то время как IBM во многом ориентировалась на бизнес-задачи. Собственно, одна из причин копирования IBMовской архитектуры (а не самих машин!) в СССР -- это когда решили заняться АСУчиванием народного хозяйства и внезапно обнаружили, что ничего сколько-нибудь подходящего отечественного банально нет, а перспективы создания туманны (из-за отсутствия, в первую очередь, людских ресурсов).

Что касается ввода-вывода в Системе 360, то нельзя судить, что конкретно ему (Дейкстре) там не нравилось. Да, каналы ввода-вывода там очень примитивны, но они таки разгружали центральный процессор от рутины по организации связи с устройствами, передаче данных и т.д. и т.п., а заодно обеспечивали полностью унифицированный интерфейс ввода-вывода. Вот в CDC, которые он где-то хвалил, в роли каналов были полноценные 12-разрядные компьютеры, и основной код ОС крутился как раз на них, а не на 60-разрядном "центральном процессоре". Понятно, что ЦП при такой схеме занят почти исключительно полезной работой в виде выполнения программ пользователя, но платой становятся очень дорогие каналы (полноценные ЭВМ, повторюсь). Для суперкомпьютеров, каковыми они, по сути, и были, это нормально, но для более-менее массовых машин неприемлемо. Плюс, эти машины были ориентированы исключительно на научные расчёты (как у нас, скажем, БЭСМ-6), в отличие от намного более универсальной Системы 360.

Думаю, всё так. Добавлю, что в самом начале интервью они поднимают вопрос про подход к разработке IBM. У европейцев была и зацикленность на научно‑технических расчётах, и конкуренция, но здесь Дейкстра прямо отвечает, что для такого подхода они, к тому же, были «слишком бедны» по сравнению с США в плане финансирования разработок. Интервью первая часть

Когда многие "историки" ссылаются, что Постановление от 30 декабря 1967 года «О развитии производства средств вычислительной техники» и утверждают, что именно оно стало закатом советской компьютерной независимости, они не понимают контекст того времени и причины принятия подобного решения.

В 1965 году начинается экономическая реформа в СССР, где одной из задач являлось использование ЭВМ в экономических расчетах (учет, планирование и управление) и тут выяснилось, что советские ЭВМ не готовы тянуть такую лямку. Не умоляя успехи советских инженеров и их достижения, на то время существовал значительный перекос в использовании ЭВМ для инженерных и научных расчетов.

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

И тут вылезает вопрос на поверхность: реформа требуют качественного расчета экономических данных; требуемые вычислительные возможности ограничены; разработка новых ЭВМ требует времени, что можно быстро сделать?

Ответ: сделать то, что уже существует у других!

На момент принятия этого Постановления кроме машины IBM System/360 ничего подходящего не было. Да машина не идеальная, поэтому ведущие инженеры-разработчики в СССР были против неё – отказывались, писали гневные письма в ЦК, саботировали, но как говориться подобная машина нужна была вчера, а не своя собственная, но завтра.

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

Поэтому это постановление в 1967 году было вроде, как "волшебного пинка", а не тормоза.

Да, вы правы, нельзя рассматривать выбор без учёта проблем, которые стояли перед руководством страны. Добавила в статью второе мнение, что "в этих условиях копирование зарубежных технологий стало вынужденной мерой, поскольку позволяло быстро наладить выпуск универсальных компьютеров для нужд народного хозяйства" и так далее.

Частично Вы отметили разницу между машинами для научно-технических расчётов и экономических, отмечу и я, только несколько полнее.

  • Научные расчёты, если говорить совсем уж утрировано, сводятся к тому, что в машину вводится три числа, потом машина полдня что-то с ними делает по формулам, которые простым смертным понять не дано, и в конце печатает результат -- другие три числа.

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

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

  • Очевидно, что разный род задач требует для своего эффективного решения разного набора команд у процессора. Скажем, наша БЭСМ-6 (1967 год) -- самая мощная из советских "числодробилок" -- на научных расчётах была раза в два быстрей, чем самая мощная из ранних ЕС ЭВМ -- ЕС-1050 (надеюсь, руки дойдут и про неё написать), да и с американскими успешно могла соревноваться, если не считать суперкомпьютеров CDC, которые были в пике раз в 10 быстрей. Но на экономических расчётах её даже не пытались сравнивать с ЕС ЭВМ: система команд БЭСМ-6 исключительно неэффективна для любых задач, кроме научных (у неё даже операций над целыми числами как таковых нет, насколько помню), да и с последними тоже не всё так радужно.

    IBM же делала Систему 360 как универсальную, 360 в её обозначении -- это рекламные "360 градусов", пригодность для любых задач (что не соответствовало действительности даже тогда, но было куда ближе к ней, чем у подавляющего большинства, если не у всех вообще, других компьютерных архитектур того времени).

  • Следствием разного характера задач в случае "экономики" является постоянная недогруженность процессора: он, по большей части, стоит и ждёт, пока будет введена очередная порция исходных данных или выведен результат предыдущих расчётов (что тогда, что сейчас процессор намного более быстр, чем периферия). Учитывая огромную стоимость "железа" в те годы, желательно процессор как-то суметь загрузить -- а значит, нужно параллельно выполнять несколько задач и, когда одна останавливается в ожидании завершения ввода-вывода, передавать управление другой, готовой к работе задаче.

    Но, чтобы иметь возможность выполнять несколько задач, они должны быть загружены в память -- а значит, подавай большой объём памяти. У той же БЭСМ-6 адрес был 15-разрядным, а соответственно, предельный объём памяти -- 32 Кслова (слово там 48 бит, поэтому условно будем считать, что память у неё -- 96 Кбайт, хотя байтовой организации там не было, что тоже сильно мешало решению любых задач, кроме научных). Ну а у Системы 360 -- 24 бита, что позволяло иметь объём памяти до 16 Мбайт (абсолютно немыслимая величина в те годы, такой объём мощные машины "у них" получили лишь во второй половине 1970-х, когда у нас уже была грустная шутка про "мегабайт -- американское название килобайта").

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

  • Следствием разного объёма данных является разный набор внешних устройств -- и по скорости, и по объёму. Вполне возможно, что именно это стало одной из причин нашего отставания в этой области (куда большего отставания, замечу, чем в области собственно процессоров): мы просто толком не занимались, скажем, магнитной записью (абы как сделали -- и ладно), поэтому не было ни дисководов (только магнитные барабаны малой ёмкости -- они намного проще по конструкции), ни хороших материалов для магнитных лент (из-за чего "у них" давно писали уже с плотностью 246 бит/мм, а у нас -- только 32, поскольку даже для 63 бит/мм наши магнитные ленты, по большей части, не годились).

  • Что касается ОС, её ещё надо написать -- а это огромный объём работы, ну а в одной IBM было больше программистов, чем во всём СССР. "Научные" задачи у нас нередко гоняли вообще без всякой ОС: просто вводили в память машины и запускали. Эффективное же решение "экономических" задач с подобным подходом невозможно.

Я бы сравнил решение о копировании архитектуры с копированием B-29 по приказу Сталина. По легенде, Туполев сказал: зачем копировать, мы сделаем лучше! Ну а Сталин ему ответил: "не надо лучше, сделайте такой же". Сделали, назвали Ту-4. Понятно, что самолёт изначально был устаревший (раз в 1944 он уже летал и бомбил японцев, значит, на момент начала копирования он уже был "старым", пускай и новейшим в строевых частях -- американские конструкторы уже разрабатывали следующие самолёты). Но его копирование потребовало создать нормальную авиационную промышленность и смежные производства вместо той полукустарщины, что была у нас: серийно выпускать столь сложный самолёт "на коленке" просто невозможно, поэтому пришлось подтягивать технологии и производство, повышать его культуру и т.д. и т.п. (а не подстраивать проект самолёта под имеющиеся возможности, как было бы в случае "сделаем лучше": единичный экземпляр точно сделали б лучше, а вот запустить серию...).

спасибо, что расписали, изначально хотел более подробно написать, но потом подумал, что это будет статья, а не комментарий... вообщем, с постсоветским мифотворчеством нужно заканчивать

Подробное объяснение и различия между научно-техническими и экономическими задачами 👍

Ну, это краткое введение в тему, а не подробное объяснение, которое потянуло бы на полноценную статью. Но общее представление, надеюсь, даёт :)

Ну и статью от вас мы ждем. Очень интересно!

Сравнение с Ту-4 довольно интересное, мне эта аналогия не пришла сразу. Но, справедливости ради, в авиации жизненный цикл самолётов — длинные десятилетия, и, как вы заметили, была создана собственная «нормальная авиационная промышленность» для новейших разработок в авиа.

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

Если про жизненный цикл, то можно вспомнить, например, что последние БЭСМ-6 и ЕС ЭВМ выводились из эксплуатации в конце 20-начале 21 века, т. е. спустя 10-20 лет после прекращения их выпуска, ну а нормальный срок службы подобных машин что у нас, что у них был по 10-15, а то и 20 лет. У вояк в качестве управляющих до сих пор используются разработки 1970-х, а то и 1960-х: там же не нужны котики в тырнетах, там надо, чтоб работало, и погоня за новейшим далеко не всегда оправдана (хотя, безусловно, есть вещи, где без новейших вещей никак -- просто далеко не все такие).

Ну и не забывайте, что, хотя жизненный цикл конкретного изделия может быть весьма коротким, такие вещи, как архитектура и технологии, намного более живучи. Та же Система 360 -- нагляднейший пример, ведь z/Architecture на прикладном уровне сохраняет с ней совместимость, и мэйнфрейм 2024 года выпуска способен выполнять программы, написанные в 1965-м. (Собственно, и выполняют, ибо в бизнесе полно задач, которые были решены на этих машинах тогда и продолжают решаться сейчас: зачем, скажем, переписывать с нуля какой-нибудь там банковский процессинг? Ради того, чтоб уйти с Кобола на уже не очень-то модную Жабу? Банкам же, как и воякам, надо, чтоб работало -- а переписывание без реальной нужды, скорей, что-нибудь сломает, а не улучшит.)

В общем, заимствование западных наработок толчок нам действительно дало и позволило сэкономить немало времени и сил. Проблема была в том, что вместо углубления, расширения и т.д. и т.п. своими силами (поглядывая на чужой опыт и сохраняя совместимость на уровне архитектур, где они были заимствованы, но разрабатывая самостоятельно) стали копировать всё больше и больше, причём уже не только архитектуры и зачастую уже без всякого смысла. Например, выпустили полностью свои микропроцессоры с системой команд PDP-11 (серия 1801, позже 1806 -- выпускается до сих пор, кстати), но зачем-то скопировали ещё и DECовский микропроцессор -- причём он был хуже наших...

серия 1801, позже 1806 -- выпускается до сих пор, кстати

Интересно бы почитать про такое.

Ссылка на Ютуб лекцию Дейкстры битая. Вот рабочая.

Спасибо, поправила. Непривычно, т.к. я ожидаю, что верхнее поле для текста ссылки, а нижнее - для самой ссылки, а тут наоборот.)

Sign up to leave a comment.

Articles