Очерки истории отечественной программной инженерии в 1940 е 80 е годы - Владимир Липаев 3 стр.


БЭСМ-2 была создана С.А. Лебедевым в 1957 году как серийный аналог уникальной БЭСМ-1 и нашла применение в ряде НИИ СССР и за рубежом для численного решения широкого круга математических задач. Основные технические характеристики были аналогичны характеристикам БЭСМ, система команд машины отличалась тем, что были исключены редко использовавшиеся команды и добавлены некоторые новые команды. Системное программное обеспечение в этих машинах отсутствовало. На серийных машинах БЭСМ-2 были решены тысячи задач: чисто теоретических, прикладной математики, инженерных. В частности, рассчитывались траектории полета первых космических аппаратов. Машина была разработана и внедрена в народное хозяйство коллективами ИТМ и ВТ АН СССР и завода им. Володарского (г. Ульяновск) в 1958-м году и производилась до 1962-го года.

В первую очередь, ЭВМ "Стрела" и БЭСМ-2 задействовали в военных целях – для изучения термоядерных реакций, расчета баллистических траекторий ракет и так далее. В 1956-м году Лебедев выступил с докладом на конференции в западногерманском городе Дармштадте. Академик устроил переполох, рассказав миру о том, что в СССР действует сверхбыстрая ЭВМ, – оказалось, что в Европе машине БЭСМ-1 не было равных.

Дальнейшее развитие вычислительных систем на протяжении нескольких лет было эволюционным. В 1958-м году на арену вышла система БЭСМ-2 с внешней памятью на основе ферритовых сердечников и увеличенным набором исходных команд. Впервые ЭВМ подготовили к серийному производству. Первые серьезные шаги по развитию централизованной производственной базы гражданских сфер применения ЭВМ были сделаны в конце 50-х годов после успешного завершения работ по созданию первых в нашей стране промышленных, универсальных вычислительных машин М-20 (см. рис. 1). В 1958-м году в серию пошла машина М-20, созданная в коллективе С.А. Лебедева в ИТМ и ВТ (зам. главного конструктора М.К. Сулим и М.Р. Шура-Бура) [1, 3]. Скорость решения задач напрямую зависела от подготовленности программиста, – он должен был быстро реагировать на сбои, ошибки, отлично ориентироваться в переключателях пульта управления. Первые попытки реализовать системный язык программирования С.А. Лебедев предпринял еще при разработке М-20, машина понимала некоторые наглядные и интуитивные команды, мнемокоды. Это существенно расширило круг специалистов, способных взаимодействовать с ЭВМ.

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

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

• впервые в отечественной практике была применена автоматическая модификация адреса;

• совмещение работы арифметического устройства и выборки команд из памяти;

• введение буферной памяти для массивов, выдаваемых на печать, совмещение печати со счетом;

• использование накопителя на магнитной ленте с быстрым пуском и остановом;

• для М-20 разработана одна из первых технологических систем программного обеспечения ИС-2 (Институт прикладной математики АН СССР).

Вслед за М-20 были разработаны и освоены в серийном производстве машины "Урал-1", "Минск-1". Они вместе с их полупроводниковыми наследниками (М-220, Урал-11-14, Минск-22 и -32), созданными в 60-е годы, были основными в СССР, практически до освоения в серийном производстве машин третьего поколения, т. е. до начала 70 – х годов [1, 3]. Основную нагрузку по выпуску этих машин приняли на себя коллективы Московского завода САМ, Пензенского завода ВЭМ, а также вступившие в строй в 1959-м году Казанский завод ЭВМ, Минский завод математических машин, Астраханский завод "Прогресс" и ряд других предприятий. В эти же годы была существенно расширена научно-исследовательская и конструкторская база: в 1956-м году созданы НИИУВМ (Пенза) и НИИММ (Ереван); в 1958-м году – НИИ-250 (Пенза), а также ряд конструкторские бюро на заводах.

В середине 50-х годов в оборонных отраслях

промышленности и в организациях министерства обороны страны проявился интерес к применению цифровых вычислительных машин для решения задач обработки информации и управления в системах военного назначения. Начались активные, секретные работы по освоению применения цифровой вычислительной техники для систем противовоздушной и противоракетной обороны, для контроля космического пространства и управления полетом в авиации и в космосе, для управления войсками и средствами вооружения разных видов. Многие из этих задач принципиально отличались по своему характеру и масштабу от ставших к тому времени традиционными вычислительных задач в гражданских областях и в науке. В них преобладали: логические операции, большая размерность, реальный масштаб времени и ряд других специфических свойств и требований. Очень быстро увеличивались номенклатура и объем функций систем, которые требовалось автоматизировать. Для реализации таких функций были необходимы значительные ресурсы памяти и производительности ЭВМ, а также большие коллективы специалистов, способные создавать крупные комплексы алгоритмов и программ в допустимые сроки. Уже первые комплексы программ военного назначения в 50-е годы достигали нескольких десятков тысяч команд, для чего было необходимо разрабатывать и применять некоторые методы программной инженерии. В результате начало активно развиваться специфическое направление вы числительной техники и программирования для крупных систем реального времени оборонного назначения [3, 9].

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

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

Для исследований, моделирования и постановки задач систем вооружения для оборонной промышленности в 1954 – м году был создан ВЦ-1 министерства обороны СССР – первый в стране профильный вычислительный центр. В научно-производственном аспекте по широте научных исследований и количеству разработчиков и специалистов в 1950-е годы это был самый мощный вычислительный центр в Советском Союзе и один из самых мощных в мире [11]. ВЦ-1 МО (впоследствии ЦНИИ-27 Министерства обороны СССР) был создан по инициативе Анатолия Ивановича Котова, который он и возглавил. ВЦ-1 стал одним из ведущих оборонных научных центров страны. В 1952-м году А.И. Китов защищает первую в СССР кандидатскую диссертацию, посвященную вопросам программирования. Название этой диссертации – "Программирование задач внешней баллистики ракет дальнего действия". В этом же году он организовал и возглавил первый в стране отдел вычислительных машин в Академии артиллерийских наук. После упразднения этой Академии в 1953-м году отдел А.И. Китова вместе с его начальником был переведён в подчинение Артиллерийской военно-инженерной академии им. Ф.Э. Дзержинского, а затем он возглавил ВЦ-1.

Осенью 1959-го года Анатолий Иванович послал в ЦК КПСС на имя Н.С. Хрущёва разработанный им проект создания общегосударственной автоматизированной системы управления для вооруженных сил и для народного хозяйства страны на базе Единой государственной сети вычислительных центров (ЕГСВЦ) – так называемый проект "Красная книга". В преамбуле этого доклада давалась резкая критика текущего состояния дел в стране с внедрением ЭВМ, и в первую очередь, в министерстве обороны СССР. Это предопределило негативное отношение к докладу А.И. Китова партийного и военного руководства СССР. Главное заключалось в том, что работники аппарата ЦК КПСС и, в частности, аппарата МО СССР почувствовали, что коренная перестройка управления на основе этого проекта приведет к устранению многих из них от рычагов государственной власти. В результате, А.И. Китов был исключен из КПСС и снят с престижной генеральской должности, которую он занимал в ВЦ 1 [11].

В 1965–1972 гг. А.И. Китов был Главным конструктором Отраслевой автоматизированной системы управления (ОАСУ) министерства радиопромышленности СССР и директором Главного вычислительного центра этого министерства. Потом около десяти лет он работал Главным конструктором АСУ "Здравоохранение". Опубликовал ряд основополагающих монографий и статей по вопросам применения ЭВМ и экономико-математических методов в области экономической информатики и медицинской информатики, в 1968-м году защитил докторскую диссертацию по гражданской тематике.

После ВЦ-1 в 50-е годы министерством обороны были организованы ВЦ-3 для разработки и исследования вычислительных систем и программирования авиационных систем, а также ВЦ-4 для артиллерийских и ракетных систем.

Отсутствие в стране в 50-е годы развитой централизованной промышленности электронных компонентов для ЭВМ являлось причиной их разработки зачастую теми же предприятиями, которые создавали архитектуру специализированных ЭВМ и системы управления в целом. Вследствие этого элементная база машин часто была полукустарной, малотиражной и разнотипной, не отличалась высоким качеством и технологическим уровнем. Необходимость для многих предприятий вести разработку систем по полному циклу, начиная с создания элементной базы ЭВМ и далее всей вычислительной техники и программных средств, не только приводила к множеству параллельных, не унифицированных разработок, но и значительно увеличивала длительность и стоимость проектов систем. Впоследствии это отразилось на сложности производства множества разнотипных ЭВМ, на трудностях сопровождения и модернизации систем в целом. С.А. Лебедев был убежден, что в разработках ЭВМ должна использоваться отечественная элементно-конструкторская база. ИТМ и ВТ был первым заказчиком дискретных интегральных и больших интегральных схем в министерстве электронной промышленности СССР. Отставание в технологии компенсировалось передовыми схемотехническими и архитектурными решениями. БЭСМ-6 была одной из лучших в мире ЭВМ по архитектурным и схемотехническим решениям (см. главу 2).

В 1960-м году были начаты работы по созданию семейства полупроводниковых ЭВМ "Урал" [3]. Основные черты нового поколения машин были сформулированы Баширом Искандеровичем Рамеевым в 1959-м году. В соответствии с ними были определены: состав семейства машин, их структура, архитектура, интерфейсы, принципы унификации, утверждены технические задания на устройства, ограничения на типы используемых комплектующих изделий. В конце 1962 года была закончена разработка унифицированного комплекса полупроводниковых элементов "Урал-10", рассчитанного на автоматизированное производство. Хотя элементы разрабатывались для использования в серии ЭВМ "Урал-11" – "Урал-16", они нашли широкое применение и в других средствах вычислительной техники и автоматики. В результате принятых правительством мер к началу 60-х годов были практически завершены все работы, связанные с созданием и освоением серийного производства полупроводниковых ЭВМ [3]. Это позволило прекратить, начиная с 1964 года, производство ламповых машин первого поколения и с 1965 года начать массовое производство полупроводниковых машин Урал-11 – Урал-14; Минск-22; Минск-23; БЭСМ-4; М-220; Раздан-3 и др.

В 1965 – 66-е годы все предприятия, НИИ и КБ в области вычислительной техники были переданы в состав двух министерств - министерства радиопромышленности (универсальные и специальные, бортовые, военные ЭВМ) и министерства приборостроения, средств автоматизации и систем управления (промышленные управляющие ЭВМ) [3, 10]. Работа предприятий в этих условиях совпала с началом активного создания и подготовки производства ЭВМ третьего поколения (на интегральных схемах). Трудности этого периода были связаны не только с решением научно-технических и технологических проблем (от архитектуры до элементной базы новых ЭВМ). Необходимо было решать большое количество сложных проблем создания в стране практически с нуля крупной отрасли вычислительной техники, базирующейся на новой технологии и широкой номенклатуре ранее не выпускавшихся средств, с переходом на внутриотраслевую специализацию. Освоение новых изделий во многих случаях шло одновременно со строительством самих заводов и обучением специалистов и сопровождалось множеством других проблем.

Решать все эти проблемы необходимо было в крайне ограниченное время (3–5 лет) с одновременным увеличением выпуска ЭВМ более чем в три раза при существенном увеличении состава оборудования в каждой машине. Реализовать эту задачу предполагалось в дальнейшем за счет разработки и освоения в серийном производстве нескольких типов программно совместимых вычислительных машин, построенных на единой конструктивно-технологи-ческой базе. Увеличение объемов производства достигалось за счет специализации производства и его лучшего технологического оснащения. Сокращение сроков разработки предусматривалось как за счет использования (легального) опыта ведущих западных фирм, на основе заключенных с ними соглашений, так и за счет привлечения к разработке и производству новых ЭВМ коллективов практически всех предприятий и организаций, ранее работавших над созданием множества разнообразных, собственных ЭВМ. Реализации этих задач было посвящено постановление правительства 1967-го года, в котором были сформулированы задачи и предусмотрены необходимые меры для обеспечения их выполнения материальными, производственными и финансовыми ресурсами [3, 11].

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

• увеличение мощностей по производству средств вычислительной техники с 304 млн. рублей в

1965-м году до 1000 млн. рублей в 1970-м году и до 3000 млн. в 1975-м году;

• рост выпуска средств вычислительной техники с 2470 млн. рублей в 1966 – 1970-е годы до 7500 млн. рублей в 1971 – 1975-е годы;

• увеличение выпуска ЭВМ с 5800 машин в 1966 – 70-е годы до 20000 машин в 1971 – 1975-е годы.

Только по министерству радиопромышленности СССР постановлением было предусмотрено строительство 14 новых заводов и реконструкция 11 существующих. Аналогичное развитие было предусмотрено и по предприятиям министерства приборостроения, средств автоматизации и систем управления и министерства электронной промышленности. Кардинальные решения были приняты по развитию мощностей по производству элементной базы машин третьего поколения, практически "с нуля" до 65 млн. интегральных схем в год. Эта программа максимум не была полностью выполнена, но она способствовала тому, что в стране примерно вдвое выросли производственные мощности по выпуску компонентов и систем вычислительной техники. В результате в 60-е годы были созданы предпосылки для последующей разработки таких высокопроизводительных систем, как БЭСМ-6, 5Э26, АС-6, МВК Эльбрус, М-13 (см. главу 2).

1.2. Начало истории отечественного программирования в 1950-е – 60-е годы

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

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

Назад Дальше