Home Raumfahrt Sonstige Raumfahrtaufsätze Raumfahrt & Computer Site Map counter

Der Skylab Computer

Ed Gibson an der ATM ConsoleEinleitung

An Bord der Raumstation Skylab war ein Bordcomputer für die Steuerung der Systeme der Station, vor allem aber deren Ausrichtung verantwortlich. Ein wichtiger Punkt im Forschungsprogramm war die Sonnenforschung. Der Computer war für die Ausrichtung der Sonnenteleskope zuständig und erhielt seinen Namen von dieser Aufgabe: ATMDC für Apollo Telescope Mount Digital Computer.

Vorgeschichte

Bei Skylab fand zum ersten Mal „normale“ Industrietechnologie für den Bordrechner Anwendung: Er war eine weltraumtaugliche Version des IBM 4Pi oder IBM 360 Systems. Vorherige Computer in bemannten Raumfahrzeugen, wie auch Raumsonden, waren Spezialentwicklungen mit eigener Architektur und eigenem Befehlssatz gewesen. Das IBM 360 System war damals der Verkaufsschlager von IBM. Es war skalierbar ausgelegt – reichte die Rechenleistung nicht aus, so konnte die Zentraleinheit ausgetauscht werden, die Programme musste nicht verändert werden. IBM 360 Rechner in den höheren Ausbaustufen wurden schon in der Missionskontrolle in Houston eingesetzt. Die Entwicklung der Hardware erfolgte von 1968 bis 1972. Erste Prototypen wurden 1971 ausgeliefert.

Anders als beim Zentralprozessor des IBM 360 Systems wurde eine 16 Bit anstatt 32 Bit Technologie gewählt, um das Design einfacher zu halten. Die CPU „TC-1“ war aber softwarekompatibel zum AP101, einer militärischen Version des IBM 360 Systems, welches z.B. in den B-52 Bombern, F-105 sowie F-15 Jagdflugzeugen Verwendung fand. Eine Variante dieses Rechners, der AP101F, wurde später im Space Shuttle als Hauptrechner eingesetzt.

Beschreibung des Rechners

Aufbau der ATM ConsoleDer Skylab Computer ist konzipiert als Apollo Telescope Mount Digital Computer (ATMDC). Da er missionskritisch ist, ist er redundant vorhanden. Zwei Rechner mit je 16 Kiloworten Speicher teilen sich die Arbeit. Sie sind Bestandteil des APCS-Kontrollsystems. Der Speicher besteht aus zwei Modulen mit jeweils 8 KWorten RAM. Der Gesamtspeicher beträgt somit 32 KByte, da ein Wort 16 Bit breit ist, also zwei Bytes umfasst. Vierzig verschiedene Instruktionen (Maschinenbefehle) stehen zur Verfügung.

Der Speicher besteht aus Ringkernspeichern. Ringkernspeicher waren vor Einführung von Halbleiterspeichern (den heute üblichen RAM-Bausteinen) der übliche Speicher für Großrechner bis Anfang der siebziger Jahre. Sie bestehen aus vielen kleinen Eisenringen, die auf einer Matrix von Drähten aufgehängt sind. Zusätzlich durchzieht ein weiterer Lesedraht jeden Ring. Beschrieben wird ein Ringkern, indem die entsprechende Spalte und Zeile unter Strom gesetzt wird. Nur am Kreuzungspunkt reicht der Strom aus, die Magnetisierung des Eisenrings zu verändern. Ausgelesen wird ein Ringkernspeicher, indem je nach vorheriger Magnetisierung ein Strom im Lesedraht induziert wird oder nicht. Bei Skylab ist der Speicher so ausgelegt, dass ein Auslesen den Inhalt zerstört. Daher verfügt jedes Speichermodul über ein Pufferregister, welche das letzte ausgelesene Wort aufnahm, bevor es zum Prozessor weitergeleitet wurde. Danach wurde der Inhalt des Datenwortes neu geschrieben, um den Speicherinhalt wiederherzustellen. Durch diese Vorgehensweise und die bei Ringkernspeichern systembedingten langsamen Zugriffszeiten ist der Prozessor von Skylab verhältnismäßig langsam. Der Ringkernspeicher ist ein nicht-flüchtiger Speicher: Er behält seine Informationen auch ohne Stromversorgung. Es ist ein RAM-Speicher mit Eigenschaften eines ROMs, am ehesten vergleichbar mit dem heutigen Flash-Speicher.

Aufbau der Console 2Eine Logik schaltete zwischen beiden Modulen um. Direkt adressiert werden kann nur eines der beiden Module. Es gibt pro Prozessor eine Ein-/Ausgabesektion und für beide Computer eine Stromversorgung und eine „Common Section“. Nur jeweils einer der beiden Rechner war an den I/O-Bus angebunden und wurde mit Strom versorgt.

Die gemeinsame Sektion verbindet beide Computer und beinhaltet ein 64-Bit-Transferregister, das aus dreifach redundanten Schaltkreisen besteht. Weiterhin gibt es dort redundante Timer und eine Logik für Mehrheitsentscheidungen: Signale von drei Ein-/Ausgabeleitungen desselben Signals wurden verglichen und bei einer Abweichung die abweichende Leitung abgeschaltet.

Anders als bei Apollo oder Gemini, wo die Missionen maximal 14 Tage dauerten, war eine Zuverlässigkeit über 600 Stunden gefordert, die das System bei Tests auch erfüllte. Dies war für die damalige Zeit eine enorme Leistung. Auf der Erde konnte ein Rechner leicht gewartet werden. An Bord der Raumstation war dies nicht möglich. Man schaltete bei den Einsatzrechnern nach 630 Stunden von einem auf den anderen Rechner um. Dieser arbeitete dann die nächsten 271 Tage ununterbrochen (über 6.500 Stunden). Um dies zu gewährleisten, baute IBM zehn Rechner, obgleich nur zwei für den Flugbetrieb gebraucht wurden. Das System übertraf die geforderte Lebensdauer und konnte auch nach 4 Jahren und 30 Tagen reaktiviert werden, als man den Computer benötigte um Skylab kontrolliert verglühen zu lassen und er dazu die Lage kontrollieren musste. Kurz vor dem Wiedereintritt wurde erneut auf den ersten Computer umgeschaltet und auch probeweise das Bandlaufwerk erneut aktiviert: Beide Komponenten arbeiteten nach sechs Jahren noch einwandfrei.

Wie beim Geminiprogramm wurde die Anlage zuerst ohne einen Bandspeicher konzipiert. Doch die Ingenieure banden ein Bandlaufwerk ein, um die Zuverlässigkeit während der nominellen Mission von 0,87 auf 0,96 zu erhöhen. Das Bandlaufwerk hat einen eigenen 16 KWort Zwischenspeicher und einen 8 KWort Transferpuffer zur Übertragung von Daten in eines der Module. Durch diesen Speicher dauerte ein Upload des gesamten Computerprogramms vom Band nur 11 s. Es war so möglich den Computer noch zu betreiben, wenn drei der vier 8 KWort Speichermodule ausgefallen waren.

Damit sie einen Vergleich haben: Diese Seite ist 15.509 Bytes (7.754 16-Bit-Worte) groß, der reine Text 12.260 Zeichen (6.130 16-Bit-Worte), also in der Größenordnung des kompletten Steuerprogramms des Skylabrechners. Der Rechner selbst war einem Heimcomputer Ende der Siebziger Jahre sowohl in Rechengeschwindigkeit wie Speichervermögen weit unterlegen. Ein Apple II oder C64 hatten mehr Speicher und waren schneller als beide Rechner zusammen.

Software

Ein Problem war von Anfang an der knapp bemessene Speicher. Der TC-1 hat nur halb so viel Speicher wie der Apollo Guidance Computer. Die ersten Anforderungskataloge an die Software zeigten, dass diese zwischen 9.000 und 20.000 Worte groß war. Ein Schrumpfen war also unumgänglich. Es gab zudem ein Problem: Wenn nun ein Speichermodul ausfallen sollte, lief dann der Computer noch? So entwickelte IBM zwei Programme, von denen eines den vollen Speicher beanspruchte, und ein Backup-Programm nur mit den nötigsten Einstellungsmöglichkeiten, das nur 8 KWorte, also ein Modul beanspruchte. Am Ende belegte die „große“ Software 16.329 von 16.384 Speicherzellen.

Die Software teilt die Aufgaben in zwei Gebiete ein: die wesentlichen Systemaufgaben, die prioritätsgesteuert abliefen (Interrupt abarbeiten, Multitasking Betriebssystem, Steuerung des Intervalltimers und wichtige „Housekeeping“-Funktionen). Die zweite Gruppe sind die „Anwendungen“: zeitabhängige Aufgaben, synchrone Aufgaben und Hilfsprogramme. Für diese gab es zwei Zeitschleifen, die einmal oder fünfmal pro Sekunde aufgerufen wurden. Zweimal pro Sekunde wurde die Routine zum Wechseln des Prozessors (falls nötig) aufgerufen.

Die wichtigste asynchrone Aufgabe war das Senden von Telemetrie. Die Datenrate betrug 50 Bit/s pro Datenkanal. Gesendet wurde auf 24 Kanälen. Ein Datenwort hat eine Länge von 35 Bit. Der Computer steuerte die Gyroskope und das ATM, führte Selbsttests aus etc. 15% der Zeit entfielen auf Leerlauf. Dadurch gab es eine Reserve für den Fall, dass eine Aufgabe mehr Rechenzeit erforderte.

Das Backup-Programm war letztendlich 8001 Worte groß. Die wesentlichen Einschränkungen, die es hatte, waren Einbußen bei der Lageregelung, der Steuerung des Sonnenteleskops und der Datenverarbeitung. Die gesamte Software war in Maschinensprache (Hexadezimalzahlen) codiert. Man erwog 1978 für eine Reaktivierung Skylabs Assembler einzusetzen, fand dies jedoch zu riskant. Gesichert wurde das Programm am Boden auf 2516 Lochkarten. Am gesamten Projekt waren 75 Personen beteiligt, aber nur ein Teil davon waren Programmierer. Als für die Reaktivierung Skylabs Software neu geschrieben wurde, waren damit nur 5 bis 6 Personen beschäftigt.

Die Kosnoole im MDA1366 Worte des Programms dienten Selbsttests. Sie schrieben Werte in Register und lasen sie wieder aus, sie testeten, ob die OR-Funktion korrekt ausgeführt oder das Carry Flag gesetzt wurde. Damit konnten Teiledefekte der aus vielen Chips bestehenden CPU oder Fehler in den Speichermodulen erkannt werden. Weiterhin gab es drei Timer, die einmal pro Sekunde zurückgesetzt werden mussten, sonst liefen sie auf 0 herunter. Kam dies bei zwei der drei Timer vor, so ging die Logik von einem Ausfall des Computers aus und schaltete auf den Sekundärcomputer um. Da dieser erst hochgefahren werden musste, brauchte er noch die wesentlichen Statusdaten des ersten Computers. Dazu gab es ein 64-Bit-Transferregister, welches die wesentlichsten Informationen enthielt, die der zweite Computer benötigte. Dieses Register aus TMR (Triple Modular Redundant) Bausteinen wurde besonders vor unbeabsichtigten Schreibzugriffen geschützt. Geschrieben werden konnte nur über eine Dauer von 675 Mikrosekunden, dies war 20% länger als ein Schreibzugriff nominell dauerte, und es war nur beschreibbar in einem Intervall von 1,5 – 2,75 s nach dem letzten Schreibzugriff. Zudem war ein Schreibzugriff nur nach einer erfolgreichen Ausführung des Fehlererkennungsprogramms möglich.

User Interface

Das Panel zur Übergabe von Kommandos war mit den anderen Kontrollen in der ATM-Steuerkonsole integeriert.

Beim ATMDC besteht das User-Interface aus einer einfachen 10-Tasten-Tastatur: Werte wurden im Oktalsystem (Ziffern 0 bis 7) eingegeben. Dazu gibt es eine Tastatur mit acht Ziffern für die Eingabe einer Oktalziffer, eine Taste, um die Eingabe zu löschen (Clear-Key) und eine Übergabetaste (Enter-Key). Ein Kommando ist fünf Zeichen lang. Eine Neuausrichtung des ATM erforderte zwanzig Eingaben. Dazu kommt ein Schalter, um den Computer auszuwählen. Er hat drei Positionen: Aus, Computer 1, Computer 2.

Der Computer ist in die Steuerkonsole des ATM eingebaut und in die Bedienung der Experimente integriert. Obwohl die ATM-Konsole sehr ergonomisch aufgebaut ist (von oben nach unten Aufgaben- /Experimentsteuerungen, von links nach rechts Tasten/Anzeigen/Schalter in der zeitlichen Reihenfolge der Aktivierung/Einstellung), fanden die Besatzungen es verwirrend, dass die Eingabe immer oktal erfolgte, manche Ausgaben aber im Dezimal- und andere im Oktalsystem.

Am Boden erlaubte es die Ähnlichkeit zum IBM 360 System, dieses als Simulator für den ATMDC einzusetzen oder IBM 360 Rechner als Ersatz für einen ATMDC für das Crewtraining zu benutzen. Eine IBM 360/75 wurde eingesetzt, um Programme für den TC-1 zu erproben, wobei diese in der Simulation 3,5-mal schneller war und daher auch die Simulationen schneller abliefen als der ATMDC in Realzeit. Eine IBM 360/44 simulierte die Originalhardware in den Simulatoren für die Besatzung.

An der ATM-Konsole sind neben dem Computer noch die Ausgabe zahlreicher Datenkanäle und Steuerungen für Funktionen angebracht. Insgesamt sendete das ATM Daten von 308 Sensoren auf 292 Kanälen. Dazu kamen vom OWS, der Luftschleuse und dem MDA weitere 686 analoge Datenkanäle mit hoher und 296 mit niedriger Datenrate. Digitale Daten gab es von weiteren 228 Kanälen. Zuletzt gab es 391 Hilfskanäle, deren Daten zuerst auf Magnetband gespeichert und dann zum Boden übertragen wurden.

Skylab Computer ATMDC

(ATMDC: Apollo Telescope Mount Digital Computer)

Wortbreite:

16 Bit Datenworte, 8 und 16 Bit Operationen

Speicher (pro Rechner)

16 KWorte = 16.384 Worte = 262.144 Bit.

Zugriffszeit:

1,2 µs

Technologie:

Ringkernspeicher

Technologie:

TTL (Transistor-Transistor-Logik), integrierte Schaltkreise, mehrlagige Verbindungsboards.

Verarbeitung:

Byte-parallel

Befehle:

54

Geschwindigkeit

0,06 MIPS (Millionen Instruktionen pro Sekunde)

Arithmetik:

Festkommaarithmetrik

Besonderheiten:

Interruptunterstützung

Stromverbrauch:

165 Watt

Gewicht:

44,3 kg

Volumen:

62 l

Quellen

The Skylab Computer System

 IBM, Design and Operation Assessment of Skylab ATMDC/WCIU Flight Hardware and Software


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Neues Hier werben Bücher vom Autor Top 99