# IBM System/4 Pi

Die IBM System/4 Pi-Plattform ist eine Familie von Avionikrechnern, die in unterschiedlichen Versionen unter anderem im F-15-Eagle-Kampfflugzeug, im AWACS-System E-3 Sentry, in der Harpoon-Rakete, in der Skylab-Raumstation der NASA und in den Space Shuttle-Raumfähren zum Einsatz kam. Die Entwicklung der Plattform begann im Jahre 1965, die erste Auslieferung erfolgte 1967.
Ihre Konstruktion stammt von den Grundsätzen ab, die für die Entwicklung der System/360-Großrechner definiert wurden. Diese verfolgten unter anderem das Ziel, dass die Modelle der Familie in unterschiedlichen Anwendungen eingesetzt werden können (im Gegensatz zu dem früher üblichen und außerordentlich kostspieligen Vorgehen, für jede Anwendung spezialisierte Rechner zu entwickeln). Sowohl die universelle Einsetzbarkeit des Computersystems als auch ihre Abstammung werden auch im Namen der Familie ausgedrückt: Der Raumwinkel einer Kugeloberfläche beträgt 4π sr, so wie ein Kreis 360 Grad umfasst.

## Modelle

Das System/4 Pi umfasste vier Grundmodelle:
* Modell TC (Tactical Computer): Ein aktentaschengroßer Rechner für verschiedene Anwendungen wie Marschflugkörper, Hubschrauber, Satelliten und U-Boote. Das Gewicht der Serie lag bei etwa 8,2 kg (18 pounds).
* Modell CP (Customized Processor/Cost Performance): Ein mittelgroßes System, unter anderem für Flugzeug-Navigation, Waffensysteme, Radarberechnungen und mobile Kriegführung. Die Modelle wogen ca. 36 kg (80 pounds).
** Modell CP-2 (Cost Performance - Model 2): Masse ca. 21 kg (47 pounds).
* Modell EP (Extended Performance): Große Systeme für Anwendungen, die eine Echtzeitverarbeitung großer Datenvolumina erfordern, etwa bemannte Raumfahrzeuge, luftgestützte Luftraumüberwachung (AWACS) und mobile Steuerungssysteme. Die Modelle wogen etwa 34 kg (75 pounds).
* Modell AP: Weiterentwickelte Systeme, die unter anderem in Raumfähren (Space Shuttle), Bombern (B-1B und B-52) und Kampfflugzeugen (F-15) zum Einsatz kamen.

## Beziehung zum System/360

Die Verwandtschaft zu den Großrechnern der System/360-Familie erstreckt sich unter anderem auf:
* Arbeitsspeicher: Es wurden militärische Versionen des Kernspeichers verwendet, der auch im IBM System/360 verwendet wurde.
* Systemsoftware: Die grundlegende Software wurde teilweise in beiden Systemen eingesetzt.
* Der Befehlssatz der Maschinensprache des Modells EP war eine Untermenge dessen des Systems/360 (Modell 44). Dadurch konnte Software auch auf dem System/360 entwickelt und getestet werden.

## Verwendung
### Skylab

Die Skylab-Raumstation verwendete das Modell TC-1, das eine Wortlänge von 16 Bit und einen Ringkern-Arbeitsspeicher von 16.384 Wörtern mit einer spezialisierten Ein- und Ausgabeeinheit hatte.
Das Rechnersystem wurde als Apollo Telescope Mount Digital Computer (ATMDC) bezeichnet. Da es missionskritisch war, wurde es redundant ausgelegt, indem zwei Rechner als Bestandteile des Attitude and Pointing Control System (APCS) parallel eingesetzt wurden.
Zur Erfüllung seiner Steuerungsaufgaben war der Rechner mit Ein- und Ausgabeschnittstellen für Sonnensensoren, Gyroskope, Sternsensoren und Schubsteuerung ausgestattet. Außerdem hatte er Schnittstellen zu einer externen Speichereinheit und für die Benutzeroberfläche. Der in TTL-Logik aufgebaute Prozessor hatte eine Geschwindigkeit von 60.000 Anweisungen pro Sekunde (0,06 MIPS), bot 54 Maschinensprachebefehle und unterstützte Interrupts. Die Benutzeroberfläche war in die Steuerungskonsole der Raumstation integriert.

### Space Shuttle

Das AP-101-Modell war das Spitzenmodell der System/4 Pi-Familie. Es hat im Wesentlichen dieselbe Architektur wie IBM System/360-Großrechner. Der Prozessor, der in TTL-Logik mit mittlerem (MSI) und teilweise hohem (LSI) Integrationsgrad ausgelegt ist, hat 16 32-bit-Register und verwendet ein Mikroprogramm, das einen Befehlssatz mit 154 Anweisungen definiert. Ursprünglich standen nur 16 Bit zur Adressierung des Speichers zur Verfügung. Nach Erweiterung um vier Bit des Statusregisters konnte eine Million Speicherzellen adressiert werden. Dieser Avionikrechner, der eine Weiterentwicklung des AP-1 aus dem F-15-Kampfflugzeug ist, wurde in Raumfähren der Space-Shuttle-Serie, in B-52- und B-1B-Bombern und anderen Luftfahrzeugen eingesetzt.
Zur Zeit seiner Entwicklung war er ein hochentwickeltes superskalares System mit Kernspeicher. Nach damaligen Grundsätzen wurde die Leistungsfähigkeit mit 480.000 Anweisungen pro Sekunde (0,48 MIPS) als hoch bewertet, was verständlich wird, wenn man die Leistung mit den 7000 Anweisungen pro Sekunde (0,007 MIPS) der Gemini-Raumschiffe vergleicht (während ein Apple M1-Prozessor aus dem Einstiegsmodell des MacBook Air von 2020 über 30.000 MIPS erreichen kann). Die Plattform verblieb in den Raumfähren im Einsatz, da sie funktionierte, zertifiziert war und die Entwicklung eines neuen Systems sehr kostenintensiv gewesen wäre. Die Fließkommaleistung lag bei 325 FLOPS.
In den Raumfähren war ursprünglich das Modell AP-101B installiert, das Kernspeicher verwendet. In den frühen 1990er-Jahren wurde es durch das Nachfolgemodell AP-101s ersetzt, das auf Halbleiterspeicher beruht. Jeder AP-101-Rechner war mit einem Input-Output-Processor (IOP) verbunden, der den Master Sequence Controller (MSC) und 24 Bus Control-Elemente (BCEs) enthielt. MSC und BCEs führten Programme aus dem Speichersystem des Rechenwerks aus, so dass die CPU von Aufgaben, die mit der Steuerung des zentralen seriellen Bussystems des Space Shuttles einhergingen, entlastet werden konnte.
Das spätere Raumfähren-Modell AP-101s unterstützt ein Electronic Flight Instrument System („Glascockpit“).
Die Raumfähren nutzten fünf AP-101 als Universalrechner. Vier arbeiteten synchronisiert zum Zwecke der Redundanz, während ein vierter Computer als Backupsystem mit unabhängig entwickelter Software arbeitete. Sie wurden u. a. für Lagekontrolle, Navigation, Wiedereintritt, Frachtverwaltung und Sicherheitsüberprüfungen vor dem Start eingesetzt. Über 24 verschiedene Datenbusse waren sie mit 38 Subsystemen des Orbiters, vier Subsystemen der Feststoffraketen und (vor dem Start) Systemen des Startturms verbunden. Die Benutzeroberfläche war mit Bildschirmen, Tastatur und spezialisierten Eingabegeräten (Flysticks, Manipulatorsteuerung) realisiert. Die Guidance, navigation, and control-Software der Shuttles war in HAL/S geschrieben, einer speziellen höheren Programmiersprache für Echtzeitanwendungen in der Raumfahrt. Großteile des Betriebssystems und grundlegende Dienstprogramme waren in Assembler geschrieben.

### Rockwell B-1B

Der Bomber Rockwell B-1B verwendet ein Netzwerk von acht AP-101F-Systemen. Die Software ist in JOVIAL, einer Pascal-ähnlichen Sprache aus der ALGOL-Familie, geschrieben.