Компьютер Space Shuttle: пятеро в челноке, не считая экипажа Евгений Лебеденко, Mobi.ru
Компьютер 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.
Система Space Shuttle DPS в упрощённом виде
Развернутая схема с подключением всей «периферии»
Почему именно пять? Ответ кроется в стратегии вычислительной избыточности, именуемой NASA «fail operational / fail operational / fail-safe», обеспечивающей практически полную безотказность компьютерной системы. Что кроется за этим заклинанием? Все просто: один отказ — продолжаем работать, второй отказ — все еще трудимся, третий отказ — спасаем корабль.
Исходя из хорошо проработанной в то время троированной системы с мажоритированием, принять решение о правильном сигнале управления можно было только в случае выдачи его не менее чем тремя компьютерами. Значит, избыточная схема GPC, способная минимум два раза отказать и сохранить при этом три работоспособные машины, должна состоять из пяти ЭВМ. Простая арифметика. Чуть позже число избыточных машин было сокращено до четырех, но пятый компьютер всё равно оставался «на подхвате» с резервной копией полетной программы.
Такой подход в корне отличался от компьютерных реализаций миссий Gemini и Appolo, где основная компьютерная система просто однократно дублировалась, и дубль включался только при явном отказе основного компьютера.
Но эти пилотируемые программы работали в режиме баллистического запуска и неуправляемой посадки. Компьютеры же шаттла трудились и на взлете и на орбите и при посадке. Любой промах в любой из этих моментов может оказаться фатальным.
Посему, все пять GPC разбросаны по разным углам челнока и полный отказ минимум двух из них никак не повлияет на полет корабля.
Но раз компьютеры GPC (то бишь, AP-101) голосовали за правильность сигнала, значит они были связаны. И еще как! Шинная архитектура, связывающая всё на шаттле, начиная от GPC и заканчивая, например, контроллерами закрылков, — даже более поразительное творение чем «пятиголовая» компьютерная система.
Процессоры ввода/вывода. Наложим шину?
Шинная архитектура шаттлов объединяла и вычислительные модули системы DPS, и исполнительные компоненты системы авионики, и управление реактивными двигателями корабля, и его многочисленные датчики и измерительные приборы.
Каждый из пяти GPC был интегрирован с процессором ввода/вывода (Input/Output Processor — IOP). К каждому из пяти IOP, разделяющих память со «своим» GPC, подключено целых 24 шины! Все подсистемы корабля с помощью мультиплексоров могут одновременно работать с нужными им шинами. Так, пять шин используются для взаимодействия пяти GPC, через четыре шины работают дисплеи системы DEU, к двум шинам подключены два устройства внешней памяти на магнитной ленте (MMU). Остальные шины используются системой телеметрии и авионики корабля.
В IOP каждой 18-битовой шиной управляет отдельный (!) микрокомпьютер, именуемый Bus Controller Element (BCE). Кроме того, в IOP работает мощный процессор ввода/вывода, курирующий все двадцать четыре BCE. Частота тактирования каждой шины всего один мегагерц, но так как шины работают параллельно и независимо друг от друга, передача данных осуществляется практически в реальном времени.
Каждый из блоков GPC может работать с шиной в двух режимах: «командовать» и «слушать». Командовать каким-либо компонентом полетной программы может только один из GPC. Остальные же только слушают его действия. Таким образом, каждый из пяти GPC командует пятой частью дел на челноке и слушает оставшиеся четыре пятых. То есть, любой из них «в курсе» всех дел, выполняемых остальными вычислительными собратьями.
Как же происходит то самое избыточное голосование, «вычисляющее» неисправный компьютер? GPC, слушая командующие ЭВМ, дублировано выполняют их микропрограммы. Выполнение каждой из них компьютеры завершают формированием трехбитного кода, однозначно определяющего вид процедуры (например, «010 — вывод выполнен без ошибки»). Если все компьютеры из избыточного набора генерируют один и тот же код, значит всё в норме, если же один или даже два из них врут, три оставшиеся с правильным кодом могут понять, кто из пятерки сбоит.
Такая схема проверки создает сильносвязанную группу GPC. Чтобы убедиться, что вся группа трудится слаженно, используется 64-битная структура под названием «sumword». Она отправляется в шину каждым GPC каждые 6,25 секунды и содержит биты последних вызовов к ключевым системам корабля. Сравнивая чужие «sumword» со своим, каждый GPC раз в 6,25 секунды убеждается, что его избыточные братья работоспособны. Или нет.
Space Shuttle DPS. Что еще?
Связанные через систему шин между собой и с исполнительными элементами компьютеры GPC составляют основу DPS.
Но короля делает свита. В ней состоят устройства внешней памяти и дисплейно-клавиатурная система. Устройства внешней памяти (Mass Memory Unit — MMU) представляют собой два накопителя на магнитной ленте производства компании Odetics, хранящие все программы миссии. Всего каждый из них может хранить по восемь миллионов 16-разрядных слов, что в три раза больше чем объем всех микропрограмм миссии.
При запуске и посадке четыре GPC из пяти загружают из MMU одинаковые программы, именуемые «Управляющая последовательность» (Operational Sequence — OPS). На орбите полетную OPS загружают всего два избыточных GPC. И в любом случае один из компьютеров загружает полную программу миссии, используемую как быстрый бэкап.
Отображение работы всех GPC и их управление производится в помощью модуля дисплейной электроники (Display Electronic Unit — DEU) производства компании Norden. Всего используются четыре электронно-лучевых дисплея диагональю семь дюймов, отображающих 51 строку по 26 символов в каждой. Три из них располагаются в кабине пилотов, а четвертый — на корме, для специалиста по программе полета.
Система DEU в кабине пилотов шаттла
Вводить команды в ПЗУ можно с помощью специализированных клавиатур марки Ebonex. Всего их три: две у пилотов и одна на корме.
Конечно, за время существования STS, компьютерная система DPS неоднократно совершенствовалась. Так, в 1984 году компьютеры IBM AP-101 были модернизированы и стали обрабатывать более миллиона операций в секунду. Память на магнитных сердечниках сменилась флэш-модулями. Появились, усиливающие автономность, аккумуляторы. Компактность и вес системы также были оптимизированы.
Миссии системы STS завершены. Оставшиеся в живых космические челноки достойно заняли почетные места в музее. Сотни успешных полетов доказали надежность как самих кораблей, так и их уникальной компьютерной системы.
Обновленный в 1984 году IBM AP-101
Все компоненты обновленной DPS
И сбой и последующее восстановление двух из пяти GPC «Атлантиса» на орбите скорее подтверждают чем опровергают высочайшую степень отказоустройчивости уникальной во всех отношениях системы Space Shuttle Data Processing System.
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Blue Waters: петафлопсовая матрёшка Евгений Лебеденко, Mobi.ru
Blue Waters: петафлопсовая матрёшка Евгений Лебеденко, Mobi.ru Опубликовано 09 августа 2011 года Суперкомпьютеры в мире вычислительных систем сродни олигархам в человеческом обществе. Вот вроде бы такие же люди, та же анатомия и физиология, ан нет — попасть в
Система PASS: софт для шаттла Евгений Лебеденко, Mobi.ru
Система PASS: софт для шаттла Евгений Лебеденко, Mobi.ru Опубликовано 02 августа 2011 года Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения. Э. Дейкстра Порой, после очередного зависания
Стрелы времени: история хронометрирования Евгений Лебеденко, Mobi.ru
Стрелы времени: история хронометрирования Евгений Лебеденко, Mobi.ru Опубликовано 10 января 2012 года Время. Удивительно многогранная категория, нашедшая свое место и у физиков (мера движения материи, координата четырёхмерного пространства-времени), и у
Удивительные трубки мира Евгений Лебеденко, Mobi.ru
Удивительные трубки мира Евгений Лебеденко, Mobi.ru Опубликовано 16 ноября 2011 года Люди не часто интересуются историей создания тех вещей, которыми пользуются каждый день, поэтому интересные, а порой просто поразительные открытия по большей части
"Электроника МК-85": подковать калькулятор Евгений Лебеденко, Mobi.ru
"Электроника МК-85": подковать калькулятор Евгений Лебеденко, Mobi.ru Опубликовано 17 августа 2011 года "Сюда пришли люди, которым было приятнее быть друг с другом,чем порознь, которые терпеть не могли всякого рода воскресений, потомучто в
Предок HAL 9000: компьютер первого космического корабля Евгений Лебеденко, Mobi
Предок HAL 9000: компьютер первого космического корабля Евгений Лебеденко, Mobi Опубликовано 11 апреля 2011 года Сегодня практически каждый из нас осознаёт, что управление сложными системами невозможно без использования компьютеров. Специализированные
Горыныч: компьютер советской лунной программы Евгений Лебеденко, Mobi.ru
Горыныч: компьютер советской лунной программы Евгений Лебеденко, Mobi.ru Опубликовано 19 апреля 2011 года Приобретая компьютер, мы хотим, чтобы он проработал без сбоев, как можно дольше. Обидно, когда «подыхает» новенькая машина, и мастера сервисного
Калькулятор Mathatron: первый программируемый Евгений Лебеденко, Mobi.ru
Калькулятор Mathatron: первый программируемый Евгений Лебеденко, Mobi.ru Опубликовано 13 декабря 2011 года Порой история становления технологии напоминает спринтерский забег. В краткий промежуток времени суммируются повышенный пользовательский интерес,
Две памяти инженера Бобека Евгений Лебеденко, Mobi.ru
Две памяти инженера Бобека Евгений Лебеденко, Mobi.ru Опубликовано 13 июля 2011 года Зачастую незримый вершитель судеб во вселенной информационных технологий, отобрав шанс у одной из них, возвращает его спустя какое-то время. Мол, ну что же, тогда я был не
Две памяти инженера Бобека (часть 2) Евгений Лебеденко, Mobi.ru
Две памяти инженера Бобека (часть 2) Евгений Лебеденко, Mobi.ru Опубликовано 14 июля 2011 года Это продолжение статьи. Начало читайте здесь. Bubble memory. Укрощение строптивого... магнитного поля Неудачи с твистор памятью не сломили исследовательский
Компьютер Kenbak-1: поле одного воина Евгений Лебеденко, Mobi.ru
Компьютер Kenbak-1: поле одного воина Евгений Лебеденко, Mobi.ru Опубликовано 06 июня 2011 года Когда произносится фраза «первый в мире персональный компьютер», вокруг неё выстраиваются десятки претендентов, которые документально готовы отстаивать право
In/Out-сайдеры: кто не с нами? Евгений Лебеденко, Mobi.ru
In/Out-сайдеры: кто не с нами? Евгений Лебеденко, Mobi.ru Опубликовано 09 июня 2011 года Демонстрируя новинки, компании так и норовят покрепче прижать своих врагов. Если смотреть презентации по отдельности, то волей-неволей проникаешься аргументацией
Tertium datur: другие компьютеры Евгений Лебеденко, Mobi.ru
Tertium datur: другие компьютеры Евгений Лебеденко, Mobi.ru Опубликовано 29 декабря 2011 года "Наука умеет много гитик". Это карточное высказывание как нельзя лучше подходит к истории разработки троичных компьютеров «Сетунь». Хотя бы потому, что, создавая их,
Предварительный обзор ОС Android 3.0 Honeycomb Евгений Лебеденко, Mobi
Предварительный обзор ОС Android 3.0 Honeycomb Евгений Лебеденко, Mobi Опубликовано 09 февраля 2011 годаСпустя год после выхода легендарной системы iOS 3.2, на которой заработал самый популярный планшет в мире, другой лидер рынка мобильных платформ, компания Google, пробует повторить успех
Как появилась первая игровая приставка Евгений Лебеденко, Mobi
Как появилась первая игровая приставка Евгений Лебеденко, Mobi Опубликовано 15 марта 2011 годаНынешняя битва Xbox 360, Wii и Playstation 3 — далеко не первый виток в длительной и напряжённой «гонке вооружений» индустрии компьютерных игр. Началась она ещё в семидесятые годы прошлого
Telautograph: месть Cерого кардинала Евгений Лебеденко, Mobi.ru
Telautograph: месть Cерого кардинала Евгений Лебеденко, Mobi.ru Опубликовано 03 апреля 2012 года Летним вечером 1884 года известный вашингтонский юрист Бойд Крамрайн встречался в своём доме с одноклассником по бриджпортской высшей школе Генри Беннетом.