IBM System/4 Pi — это семейство авиационных компьютеров , используемых в различных версиях на истребителях F-15 Eagle , E-3 Sentry AWACS, Harpoon Missile , NASA 's Skylab , MOL и Space Shuttle , а также на других самолетах. Разработка началась в 1965 году, поставки — в 1967 году. [ 1] Они были разработаны подразделением IBM Federal Systems Division и произведены Центром электронных систем в Овего, штат Нью-Йорк. [2]
Он происходит от подхода, используемого в семействе мэйнфреймов System/360 , в котором члены семейства предназначались для использования во многих различных пользовательских приложениях. (Это отражено в названии: в сфере 4 π стерадиан , так же как в окружности 360 градусов . [3] ) Ранее для каждого аэрокосмического приложения разрабатывались индивидуальные компьютеры, что было чрезвычайно дорогостоящим.
В 1967 году семейство System/4 Pi состояло из следующих основных моделей: [4] [5]
Космическая станция Skylab использовала модель TC-1, [17] которая имела 16-битную длину слова и 16 384 слова памяти с пользовательской сборкой ввода/вывода. Skylab имел два избыточных компьютера TC-1: основной (под напряжением) и резервный (не под напряжением). В случае критического отказа основного должно было произойти автоматическое переключение (занимающее порядка одной секунды) на резервный. [18] Всего к 1972 году в NASA было доставлено двенадцать. Два были запущены на Skylab в 1973-1974 годах; остальные использовались для тестирования и симуляторов миссии. [19] Усилия по управлению программным обеспечением возглавляли Харлан Миллс и Фред Брукс . Процесс разработки программного обеспечения полета Skylab включал в себя множество уроков, извлеченных в ходе проекта операционной системы IBM System/360 , как описано в книге Брукса 1975 года «Мифический человеко-месяц» . [19]
AP -101 , являясь вершиной линейки System/4 Pi, разделяет свою общую архитектуру с мэйнфреймами System/360 . [19] Это переупакованная версия IBM Advanced Processor-1 (AP-1) [20], используемого в истребителе F-15 . [19] Прототипы AP-1 были поставлены в 1971 году, а AP-101 — в 1973 году. [21] Он имеет 16 32-битных регистров . Первоначально для адресации памяти было доступно только 16 бит; позже это было расширено четырьмя битами из регистра слова состояния программы , что позволило напрямую адресуемого диапазона памяти в 1 М ячеек. Этот бортовой компьютер использовался в американском космическом челноке , бомбардировщиках B-52 и B-1B [19] и других самолетах. Она осталась в эксплуатации на космическом челноке, потому что работала, была сертифицирована для полетов, а разработка новой системы была бы слишком дорогой. [22]
Существовало несколько вариантов AP101. Offensive Avionics System, модернизированная версия B-52, содержит два компьютера AP-101C. [23] Прототипы AP-101C были поставлены в 1978 году. [21] B-1B использует сеть из восьми компьютеров модели AP-101F. [24] Space Shuttle использовал два варианта AP-101: более ранний AP-101B и модернизированный AP-101S. AP-101B использовался для серии испытаний на заход на посадку и посадку в 1977 году. Первый подъем на орбиту состоялся в 1981 году. AP-101S впервые был запущен в 2000 году .
Каждый AP-101 на Shuttle был связан с процессором ввода-вывода (IOP), состоящим из одного главного контроллера последовательности (MSC) и 24 элементов управления шиной (BCE). MSC и BCE выполняли программы из той же системы памяти, что и основной CPU, разгружая управление системой последовательной шины данных Shuttle от CPU. AP-101B, первоначально использовавшийся в Space Shuttle, имел память на магнитных сердечниках . Модернизация AP-101S в начале 1990-х годов заменила ядро полупроводниковой памятью и уменьшила размер с двух до одного шасси. [25] Он был дополнен технологией стеклянной кабины . Оба варианта используют микропрограмму для определения архитектуры набора инструкций . Ранние варианты AP-101 использовали архитектуру IBM Multipurpose Midline Processor (MMP). [26] Микропрограмма AP-101B реализовала MMP со 154 инструкциями. AP101S мог работать с обратно совместимым MMP с 158 инструкциями или архитектурой MIL-STD-1750A с 243 инструкциями. [25] Он был основан на AP-101F, используемом в B-1B. AP-101S/G был промежуточным процессором. Производительность AP-101B составляла 0,420 MIPS , в то время как AP-101S — 1,27 MIPS. [25] Джеймс Э. Томайко, который был нанят NASA для написания истории компьютеров в космических полетах, сказал: [27]
«Она была доступна в своей нынешней форме, когда НАСА определяло требования к контрактам на шаттлы в 1970-х годах. Таким образом, она представляет собой первую компьютерную систему для пилотируемых космических аппаратов с аппаратным обеспечением, намеренно отстающим от современного уровня техники».
Space Shuttle использовал пять компьютеров AP-101 в качестве компьютеров общего назначения (GPC). Четыре работали синхронно для избыточности, в то время как пятый был резервным, работающим программным обеспечением, написанным независимо. Программное обеспечение для управления, навигации и контроля Shuttle было написано на HAL/S , специализированном языке программирования высокого уровня , в то время как большая часть операционной системы и низкоуровневого служебного программного обеспечения была написана на языке ассемблера . AP-101, используемые ВВС США , в основном запрограммированы на JOVIAL , например, на системе, установленной на бомбардировщике B-1B. [28]
Разработка варианта AP-102 началась в 1984 году. Это архитектура набора инструкций стандарта MIL-STD-1750A. Впервые она была использована в истребителе-невидимке F-117A . В начале 1990-х годов она была модернизирована до AP-102A. [29]