специализированными - как с точки зрения аппаратной начинки, так и с точки зрения программирования на весьма специфическом языке ассемблера. Расширить их функциональность, а уж тем более быстро перепрограммировать (а именно это и требовалось для разнообразнейших задач 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. И в любом случае один из компьютеров загружает полную программу миссии, используемую как быстрый бэкап.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату