Вернер фон Браун с макетом системы 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
Процессорный модуль 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", обеспечивающей практически полную безотказность компьютерной системы. Что кроется за этим заклинанием? Все просто: один отказ - продолжаем работать, второй отказ - все еще трудимся, третий отказ - спасаем корабль.