Но шаттл - не обычный реактивный самолет. Его компьютерные системы должны работать не только в режиме авионики, но и обеспечивать: ориентацию корабля на орбите, навигацию, стыковку с космическими станциями и запуск в эксплуатацию таких объектов, как, например, спутники.
Шаттл только внешне напоминал самолет. Внутри это сложнейшее инженерное сооружение
Кроме того работая в критических условиях космического пространства, компьютерная система челнока должна обеспечивать беспрецедентную надежность, от которой всецело зависит жизнь экипажа и успех дорогостоящей миссии.
Для поиска лучшего решения агентство 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, где основная компьютерная система просто однократно дублировалась, и дубль включался только при явном отказе основного компьютера.
Но эти пилотируемые программы работали в режиме баллистического запуска и неуправляемой посадки. Компьютеры же шаттла трудились и на взлете и на орбите и при посадке. Любой промах в любой из этих моментов может оказаться фатальным.