Из истории развития специализированных бортовых вычислительных машин
Я. А. Хетагуров
Развитие счетно-решающих приборов, а впоследствии специализированных компьютеров в значительной мере определялось потребностями обороны и стремлением к сокращению военных расходов.
Использование счетно-решающих приборов и компьютеров дало возможность при необходимости возрастания скорости движения и увеличения дальности стрельбы существенно улучшить точность стрельбы по неподвижным и подвижным целям со стационарных и перемещающихся объектов.
Повышение точности стрельбы, связанное с точностью определения скорости движения цели и расстояния до нее, существенно уменьшило расход снарядов, ракет и бомб, что повысило экономичность решения задач обороны и нападения.
Таким образом, можно отметить, что экономические требования сокращения затрат стимулировали применение и развитие счетно-решающих устройств и компьютеров в военном деле.
Математической основой приборов управления стрельбой (счетно-решающих устройств и компьютеров) являются: задача определения скорости движения цели и решение задачи встречи снаряда с целью. Для этого производится построение упредительного треугольника, в котором находятся все данные, требуемые для проведения стрельбы.
Начиная с предвоенных лет и до конца 40-х годов получение данных для стрельбы производилось с использованием механических построителей, коноидов, дифференциалов и следящих систем, на основе которых были созданы приборы управления зенитно-артиллерийским огнем (ПУАЗО) для противосамолетной обороны; приборы управления стрельбой (ПУС) для корабельной артиллерии; приборы стрельбы торпедами (ТАС — торпедный автомат стрельбы); приборы для бомбометания.
С появлением вращающихся трансформаторов и сельсинов, а также решающих усилителей постоянного тока с отрицательной обратной связью задачи определения данных для стрельбы решались с их использованием. Эти технические решения широко применялись с 1947 по 1958 гг.
Точность решения задачи встречи, т. е. упредительного треугольника, составляла 0,5-2% от максимального значения величины. Точность выдаваемых данных в этих счетно-решающих приборах была напрямую связана с точностью их изготовления. Особенность работы этих приборов заключалась в том, что решения выдавались непрерывно, а задержка в их выдаче, которая оценивалась десятыми долями секунды и являлась динамической ошибкой, учитывалась при проектировании.
Затраты труда на изготовление механических счетно-решающих устройств были велики потому, что требовались высококвалифицированные рабочие и высокоточные станки. Переход на электромеханические и электронные устройства (вращающиеся трансформаторы, сельсины и решающие усилители) привел к уменьшению габаритов приборов и значительно сократил трудовые затраты на их изготовление.
Дальнейшее развитие средств обороны шло по пути увеличения точности и дальности поражения, повышения мощности средств уничтожения, увеличения скоростей перемещения, а также автоматизации операций управления оружием. Однако для этого требовалось значительное повышение затрат на изготовление и эксплуатацию приборов. Так, увеличение числа целей приводило к пропорциональному увеличению числа счетно-решающих устройств, так как каждое устройство решало задачу встречи одной пары — цели и снаряда. Задача определения параметров движения цели — скорости и направления — также решалась на отдельном счетно-решающем устройстве. Увеличение числа целей приводило к пропорциональному увеличению числа устройств.
Таким образом, создавались условия для перехода к цифровой вычислительной технике, главным преимуществом которой являлась независимость получения любой точности решения с любыми величинами, а также решение задач для многих целей на одном устройстве — компьютере. Необходимо отметить, что точность технологического оборудования не влияет на точность решения. Использование компьютеров дало возможность решать логические и вычислительные задачи любой сложности.
Однако для применения компьютеров в военном деле были необходимы:
- Электронные элементы, имеющие достаточное быстродействие и обладающие высокой надежностью при работе в широком диапазоне температур, высокой влажности и различных механических нагрузках (вибрация, удары).
- Методики по построению и проектированию компьютера и его основных частей (арифметического устройства, памяти, устройства управления, системы питания, устройства обмена).
- Вычислительная математика, позволяющая формулировать и численно, с требуемой точностью, решать задачи по применению оружия.
- Средства для преобразования измеряемых параметров в числа, с которыми работают компьютеры, и обратного преобразования полученных в виде чисел решений в величины физических перемещений или углов поворота.
- Конструкторское оформление компьютера, обеспечивающее его надежную работу при различных механических и климатических условиях.
Наиболее сложной и дорогой по затратам было решение проблемы создания надежных и быстродействующих электронных элементов. Только развитие электронной полупроводниковой промышленности создало условие для построения военных компьютеров, отвечающих необходимым требованиям. Такие элементы появились в Советском Союзе в 1956-1958 гг. и непрерывно совершенствовались.
Для создания военных компьютеров, работающих в системах, нужно было подготовить кадры, которые могли бы комплексно решать проблемы их проектирования и производства. Эти люди должны были хорошо разбираться как в технических и производственных проблемах, так и в математических, связанных с алгоритмами, численными методами решения и программированием.
По вопросу подготовки таких специалистов в середине 50-х годов в США возникла дискуссия: на основе какого базового образования — технического или математического — готовить таких специалистов? Какой главный конструктор компьютера окажется более приспособленным для этой работы: имеющий техническое или математическое образование?
Развитие военных компьютеров показало, что в СССР и в США более приспособленными в основном оказались главные конструкторы с инженерным образованием.
Как выяснилось, делать компьютеры для военных значительно труднее, чем для гражданского потребления. Во-первых, необходимо было обеспечивать высокую надежность работы и удобство эксплуатации; во-вторых, учитывать необходимость эксплуатации в сложных климатических условиях и при больших механических нагрузках.
Было выделено три основные группы климатических и механических условий работы компьютеров в военной области:
- Работа компьютера в стационарных условиях — в помещениях на земле.
- Работа компьютеров в прицепах или контейнерах, которые транспортируются воздушным, железнодорожным, автомобильным транспортом и включаются в работу после установки на позиции.
- Работа компьютеров, установленных на подвижных объектах в процессе их перемещения. Эти компьютеры получили наименование “бортовых”.
В свою очередь бортовые компьютеры по месту их установки разделились на следующие группы: 1) возимые; 2) самолетно-космические; 3) ракетные; 4) морские.
К возимым относятся компьютеры, устанавливаемые на танках, автомашинах и других самоходных средствах. Другие группы не нуждаются в пояснениях.
Деление на группы связано с большой разницей в требованиях к условиям работы аппаратуры и в стоимости их разработки и производства. Экономически создание унифицированного компьютера, удовлетворяющего требованиям всех групп, было весьма расточительным, так как приводило к увеличению затрат в среднем в 5-7 раз по сравнению с затратами на разработку отдельной группы.
В конце 50-х годов была создана стационарная экспериментальная компьютерная система на электронных лампах, решавшая задачу противоракетной обороны. Эта система показала, что решение поставленных задач под силу только компьютерам. Однако надежность работы системы должна быть более высокой.
В 1956-1958 гг. в СССР было начато производство сплавных транзисторов, а уже в 1960-1962 гг. были созданы передвижные компьютеры для нужд ПВО, обеспечивавшие сопровождение многих десятков целей и управление зенитно-ракетными комплексами.
В 60-е годы был создан ряд бортовых компьютеров для самолетов, ракет и кораблей, а также стационарных компьютерных систем.
Проблемы, с которыми столкнулись разработчики при создании этих компьютеров, были связаны с минимизацией их объема, массы и потребляемой энергии, проблемами охлаждения и, главное, с обеспечением высокой надежности работы.
Для построения компьютеров с оптимальными характеристиками была разработана стратегия проектирования систем, направленная на создание алгоритмов, не требующих высокой производительности и использующих малые объемы команд, а также схем и устройств компьютера, максимально реализующих частотные характеристики транзисторов. В этих компьютерах рационально решались задачи повышения скорости работы схем с полупроводниковыми элементами, уменьшения габаритов, сокращения потребления электроэнергии и обеспечения высокой надежности. Компьютеры, спроектированные по изложенной стратегии, получили название специализированных. Они предназначались для решения определенных классов задач, имеющихся на самолете, корабле, ракете и т. п.
Конструирование специализированных компьютеров для различных групп применения требовало значительно больших затрат интеллектуального труда, чем при использовании унифицированных или универсальных машин. Проблемы создания программ для решения задач в установленные сроки построения систем приводили к необходимости внимательного отношения к составу команд компьютера. Определение состава команд компьютера тесно связывалось с решаемым алгоритмом, объемом программы и требуемым временем ее выполнения. Только комплексный анализ перечисленных факторов с учетом достигнутых промышленностью характеристик элементов и материалов обеспечивал разработку систем с компьютерами, которые соответствовали бы поставленным требованиям.
Развитие американских военных компьютеров пошло в направлении использования схем универсальных компьютеров, что приводило к более высоким требованиям к их скорости, объемам памяти и надежности. В Советском Союзе значительное число типов спецкомпьютеров не следовало всем фон-неймановским принципам построения. В этих спецкомпьютерах память для команд и память для чисел были независимы. Такое построение увеличивало производительность и исключало всякие случайности, связанные с программами (с возможностью появления вирусов), а также повышало их защищенность от несанкционированных действий. Большинство спецкомпьютеров, созданных в СССР, соответствовало по современной терминологии структуре “Риск”.
При проектировании спецкомпьютеров, которые используются для расчета стрельбовых данных, большое внимание обращалось на высокую достоверность работы, так как неправильные данные приводили к срыву выполняемой задачи, что в лучшем случае, требовало повторного решения и дополнительной траты снарядов, ракет, а в худшем — к проигрышу поединка, краху операции и уничтожению.
Для информационных систем высокая достоверность информации не имеет такого принципиального значения, поскольку при появлении ошибки всегда имеется возможность ее исправить и повторить решение.
Высокая достоверность выдаваемой информации достигается применением различных методов контроля как для проверки работы аппаратуры, так и для проверки выдаваемых данных.
Ранее в спецкомпьютерах использовались кодовые методы контроля выполнения операций типа “чет-нечет”, коды Хеминга, контроль по модулю, а также различные программные и алгоритмические методы контроля. С появлением микросхем стремление к унификации привело к использованию двух дополнительных компьютеров, на которых для контроля велся параллельный счет и при совпадении их результатов считалось, что выдаваемые данные правильны. Такая стратегия упрощает проектирование системы с компьютером, но приводит более чем к тройному увеличению необходимой аппаратуры и соответственно к снижению надежности компьютера.
В большинстве советских систем применяется аппаратурный контроль выполнения каждой операции и команды, а также тестовый и алгоритмический контроль. Такой подход к обеспечению достоверности незначительно увеличивал аппаратуру компьютера (10-15%). Затраты на проектирование компьютера несколько возрастали, но стоимость эксплуатации практически снижалась вследствие более точного определения места неисправности.
В развитии подвижных и бортовых спецкомпьютеров в СССР можно выделить несколько поколений, связанных с совершенствованием полупроводниковых элементов.
Первое поколение характеризовалось применением сплавных транзисторов и контактных диодов. Эти элементы давали возможность построить компьютеры с производительностью по операции “сложение” 40-60 тыс. в секунду и объемами оперативной памяти 1000-2000 чисел и памяти команд 2000-16 000 слов.
Второе поколение компьютеров было связано с выпуском в 1964-1966 гг. диффузионных транзисторов и сплавных диодов, на которых в 1965-1970 гг. были построены серии специализированных компьютеров с производительностью по операции “сложение” 150-500 тыс. в секунду и объемами оперативной памяти в одном модуле 2000-4000 слов и более и памяти команд 32 тыс. слов и более.
Третье поколение компьютеров было создано на основе микросхем малой и средней интеграции в период с 1972 по 1978 г. Тогда были разработаны стационарные, передвижные и бортовые компьютеры со скоростями работы 500-1500 тыс. операций “сложение” в одном модуле. Эти системы удовлетворяли все более высоким требованиям к скорости работы компьютеров и объемам памяти, а также к их надежности. На организацию их совместной работы расходовались значительные доли производительности компьютеров, что приводило к дополнительному увеличению их числа в системе.
Выпуск промышленностью микропроцессоров стимулировал широкое развитие вычислительных систем с большим числом компьютеров — мультикомпьютерных систем. Это в значительной мере определило развитие спецвычислительных систем четвертого поколения.
Рассмотрим некоторые проблемы программирования для спецкомпьютеров.
Усложнение программируемых задач и рост их числа приводит к резкому повышению затрат на программирование и увеличению времени на создание программ. Для сокращения затрат и уменьшения времени на создание программ в 60-70-е годы интенсивно развиваются языки программирования высокого уровня (ЯВУ). Эти языки, по сравнению с машинными языками, в 3-6 раз уменьшают затраты труда на программирование. Однако для получения программ, на которых работает компьютер, т. е. программ на машинном языке, используются программы — трансляторы, преобразующие программы на ЯВУ в программы на машинном языке (МЯ).
Программы на МЯ, полученные после трансляции, обычно в 3-6 раз длиннее программ, написанных на МЯ. Таким образом, оттранслированная программа решения задачи требует для своего выполнения на том же компьютере в 3-6 раз большего времени, чем написанная на МЯ, и увеличенного в 3-6 раз объема памяти команд.
Для спецкомпьютеров трех поколений использование ЯВУ для программирования задач и управление процессом счета (ОС) являлось очень дорогой платой за сокращение сроков создания системы. Поэтому ЯВУ не получили широкого применения в системах со спецкомпьютерами первого, второго и третьего поколений.
Активное использование ЯВУ началось в спецкомпьютерах четвертого поколения, построенных на микропроцессорах, в которых вопросы экономии памяти и быстродействия перестали быть определяющими при формировании габаритно-весовых показателей компьютера.
Развитие спецкомпьютеров в СССР шло по пути создания наиболее эффективных схемотехнических и конструкторских решений, которые выполняли поставленные задачи с минимизацией требований к материальным ресурсам. Это обеспечивало решение задач в области обороны на отсталой элементной базе. Высокий интеллект проектантов и технологов обеспечил создание спецкомпьютеров, успешно работающих в оборонных системах.