Компьютерра
18.07.2011 - 24.07.2011
Статьи
Компьютер Space Shuttle: пятеро в челноке, не считая экипажа
Евгений Лебеденко, Mobi.ru
Опубликовано 19 июля 2011 года
Восьмого июля 2011 года в половину восьмого вечера по московскому времени успешно стартовала последняя из миссий космической транспортной системы (Space Transportation System), известной в народе как «космический челнок» или Space Shuttle.
В этой миссии с кодом STS-135 главным героем был космический корабль многоразового использования «Атлантис». Экипаж из четырех астронавтов решал по-настоящему «челночные» задачи: доставку необходимого для Международной космической станции оборудования, запасных частей и всего связанного с системой жизнеобеспечения экипажа станции. Все это добро, упакованное в четырехтонный баул-модуль с романтическим названием «Рафаэль», позволит МКС спокойно просуществовать в течение следующего года.
Челнок «Атлантис» (кодовое название OV-104, Orbiter Vehicle), переданный NASA в эксплуатацию в 1985 году, — настоящий ветеран космических прогулок. Тридцать три раза этот «орбитальный транспорт» вылетал на задания, среди которых были и миссии для Министерства обороны США, и стыковка с российской космической станцией «Мир», и грузоперевозки стройматериалов для Международной космической станции.
Немудрено, что такому ветерану доверили с честью завершить почти тридцатилетний космический марафон «челноков» и, приземлившись, занять достойное место в музее Космического центра имени Кеннеди.
Вот они, пять космических труженников STS
Наверное, в таком же пафосном стиле можно было бы рассказать обо всей миссии STS-135, если бы не одно «но». На шестые сутки полета компьютерная система «Атлантиса» заставила сильно понервничать и экипаж и наземные службы. Шутка ли, практически сразу два компьютера космического челнока засбоили, перестав выполнять свои штатные обязанности.
По протоколу миссии, отказ двух компьютерных систем корабля приводит к сокращению времени пребывания челнока на орбите. А если такое случается с тремя компьютерами, миссия в срочном порядке прекращается и шаттл сажают в ближайшее подходящее для посадки время. Комментируя происшествие с двойным отказом, один из представителей NASA честно признался: «если мы вдруг обнаружим еще одну проблему с еще одним, третьим компьютером, — честно говоря, мне кажется, что тогда мы все очень крепко задумаемся о том, что там происходит».
К счастью для NASA, компьютерных отказов в последнем челночном полете не было. Сбои двух машин устранили перезагрузкой их программного обеспечения, восстановив тем самым компьютерное равновесие в сложном хозяйстве «Атлантиса».
Что же за компьютерная система трудилась тридцать лет в глубинах космических челноков? Ведь, судя по проблемам, в шаттлах работает далеко не один компьютер.
Шестидесятые. Битва за AP-101Может показаться удивительным, но проектирование системы STS, основанной на космических челноках, началось еще до победоносных пилотируемых полетов США к Луне.
В середине шестидесятых руководство NASA начало рассматривать проекты космического транспортного средства, навеянные ничем иным как фашистскими проектами суборбитального бомбардировщика, способного, на недосягаемой для противоракет высоте, сбросить свой смертоносный груз на любую точку планеты. Как и в случае ракетостроения развивал идею такого самолета Вернер фон Браун, предложив проект челнока-самолета, закрепленного на носу мощной ракеты-носителя. Эта идея фон Брауна даже начала воплощаться в системе Dyna-Soar, использующей ракету-носитель «Титан-III». Dyna-Soar так и остался проектом, хотябы потому что его челнок предлагалось сделать пассивным летательным аппаратом, приземляющимся примерно как планер. Что до инженеров NASA, то они ратовали за челнок-самолет, способный к активному маневрированию и на орбите и при взлете и посадке.
Вернер фон Браун с макетом системы Dyna-Soar
Именно тогда проект Space Transportation System с двумя твердотопливными ускорителями и большой «канистрой» для самолета-челнока с мощными двигателями получил одобрение и хорошее финансирование.
Выбор самолетоподобной конструкции космического корабля поставил перед инженерами ряд сложнейших задач, одной из которых была компьютерная система челнока. Очевидно, что компьютерное наполнение космического самолета должно быть не в пример сложнее компьютеров, используемых в более ранних пилотируемых миссиях. Почему? Да хотя бы потому, что компьютеры шаттла в отличие от компьютеров программ Gemini и Appolo, кроме навигационных функций и систем телеметрии полета должны были отвечать за управление самим челноком.
Развивающаяся семимильными шагами реактивная авиация, доказала, что самостоятельно справиться с сотнями функциональных подсистем мчащегося на сверхзвуковой скорости самолета пилот просто не способен. В помощь ему была предложена авионика (авиационная электроника) — компьютерные системы, поддерживающие все фазы полета в заданных параметрах и активно реагирующие на действия пилота.
Но шаттл — не обычный реактивный самолет. Его компьютерные системы должны работать не только в режиме авионики, но и обеспечивать: ориентацию корабля на орбите, навигацию, стыковку с космическими станциями и запуск в эксплуатацию таких объектов, как, например, спутники.
Шаттл только внешне напоминал самолет. Внутри это сложнейшее инженерное сооружение
Кроме того работая в критических условиях космического пространства, компьютерная система челнока должна обеспечивать беспрецедентную надежность, от которой всецело зависит жизнь экипажа и успех дорогостоящей миссии.
Для поиска лучшего решения агентство NASA объявило тендер на создание оптимальной по функциональности и стоимости компьютерной системы.
Тендер был объявлен несмотря на то, что компьютерное обеспечение всех предыдущих пилотируемых миссий выполнялось одной компанией — лабораторией Дрепера при Масачуссетском технологическом институте, и, казалось бы, этой компании вполне можно доверить разработку компьютера для шаттла. Но в NASA решили по-другому. Все дело в том, что компьютеры, разработанные лабораторией Дрепера, например Appolo guidance computer (AGC), были уж очень специализированными — как с точки зрения аппаратной начинки, так и с точки зрения программирования на весьма специфическом языке ассемблера. Расширить их функциональность, а уж тем более быстро перепрограммировать (а именно это и требовалось для разнообразнейших задач Space Shuttle) было очень сложно.
Поэтому в NASA и начали рассматривать проекты систем, имеющих земные аналоги и способных легко расширяться и перенастраиваться.
В качестве претендентов были отобраны компьютеры: IBM серии 4Pi AP-1 , Autonetics D232 от Control Data Corporation Alpha, Raytheon RAC-251 и Honeywell HDC-701.
В 1970 году тендер выиграла компания IBM. Все благодаря тому, что компьютеры ее серии 4Pi, будучи полностью совместимыми по системе команд с известной серией IBM 360, прошли обкатку в модулях авионики самолетов корпорации Rockwell, у которой был контракт на постройку шаттлов. В качестве базового компьютера будущих челноков выбрали 32-разрядный IBM AP-1, который после космической модернизации сменил код на AP-101 и стал именоваться «компьютер общего назначения» (GPC — General Purpose Computer). GPC стал ядром компьютерной системы Space Shuttle DPS.
GPC — пять в одномИтак, компьютер IBM AP-101, под именем GPC, возглавил вычисления в проектируемых космических челноках.
Первые варианты GPC IBM AP-101
Процессорный модуль AP-101 был сделан на основе микросхем TTL средней и высокой степени интеграции, оформленных на плате-шасси, которую легко заменить в случае поломки. Процессор работал с 16 или 32-битными командами и данными в режиме целочисленных вычислений. С плавающей запятой он обрабатывал 32, 40 и 64-битные данные со средней скоростью 480 тысяч команд в секунду. Кажется немного, но в сравнении с семью тысячами команд в секунду компьютеров кораблей Gemini, это был существенный прогресс. 32-разрядные регистры процессора AP-101 были разбиты на три группы. Две из них — по восемь регистров в каждой, обрабатывали целочисленную арифметику и одна группа трудилась над данными с плавающей запятой.
Память AP-101 первого поколения была реализована на магнитных сердечниках, то есть поддерживала хранение информации и при выключенном питании. Единицей хранения было 18-битное слово, шестнадцать бит которого использовались для команд и данных, и два бита применялись для контроля четности и защиты памяти. Всего один AP-101 поддерживал общий объем памяти в 106496 32-битных слов, считываемых за время 400 наносекунд каждое. На борту было целых пять AP-101.