Компьютерра PDA N123 (16.07.2011-22.07.2011)
Шрифт:
К счастью для NASA, компьютерных отказов в последнем челночном полете не было. Сбои двух машин устранили перезагрузкой их программного обеспечения, восстановив тем самым компьютерное равновесие в сложном хозяйстве "Атлантиса".
Что же за компьютерная система трудилась тридцать лет в глубинах космических челноков? Ведь, судя по проблемам, в шаттлах работает далеко не один компьютер.
Может показаться удивительным, но проектирование системы STS, основанной на космических челноках, началось еще до победоносных пилотируемых полетов США к Луне.
В середине шестидесятых руководство 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.Итак, компьютер 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, и исполнительные компоненты системы авионики, и управление реактивными двигателями корабля, и его многочисленные датчики и измерительные приборы.