|
PS Wissenschaftliches Arbeiten
Open-source server-side tools and
languages for e-commerce
|
|
Baum-Struktur-Anzeiger - Source des Raumfahrt Templates |
zurück  |
<html>
<head>
<title>PS Wissenschaftliches Arbeiten / Open-source server-side tools and languages for e-commerce</title>
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
</head>
<script language="javascript">
function firstShow()
{
self.focus();
self.scrollTo( 0, <TMPL_VAR NAME='POS'> );
self.scrollTo( 0, <TMPL_VAR NAME='POS'> );
}
function reShow(openPart)
{
var pos = 0;
if ( document.body )
{
pos = document.body.scrollTop;
}
if ( (!pos || pos <= 0) && window.pageYOffset >= 0 )
{
pos = window.pageYOffset;
}
document.formShow.NEW.value=openPart;
document.formShow.POS.value=pos;
document.formShow.submit();
return (true);
}
</script>
<body vlink="blue" alink="blue" link="blue" text="black" bgcolor="white" onload="firstShow();">
<table width="100%">
<tr>
<td align="left" width="33%">
<a href="http://www.tuwien.ac.at/"><img src="../pictures/tuwien.gif" border="0"></a>
</td>
<td nowrap align="center" width="33%">
<b>
PS Wissenschaftliches Arbeiten</b><br>
<br>
Open-source server-side tools and<br>
languages for e-commerce
</td>
<td align="right" width="33%">
<a href="http://www.dbai.tuwien.ac.at/"><img src="../pictures/dbai.gif" border="0"></a>
</td>
</tr>
</table>
<hr>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><b>Baum-Struktur-Anzeiger - Anwendungsbeispiel - Template</b></td>
<td align="right"><a href="../index.html#Testseiten">zurück</a> <img src="../pictures/left.gif"></td>
</tr>
</table>
<hr>
<br>
<p>
<font size=+2><b>Computer in der Raumfahrt</b></font>
</p>
<form action="tree.pl" name="formShow" method="get">
<input type="hidden" name="FILE" value="<TMPL_VAR NAME='FILE'>">
<input type="hidden" name="BACK" value="white">
<input type="hidden" name="LASTBACK" value="lightblue">
<input type="hidden" name="STATE" value="<TMPL_VAR NAME='STATE'>">
<input type="hidden" name="NEW" value="<TMPL_VAR NAME='NEW'>">
<input type="hidden" name="POS" value="">
</form>
<p align="justify">
Dieser Artikel behandelt die Hardware von Computern die in benannten
Raumfahrzeugen eingesetzt werden und wurden. Leider liegen mir nicht
sehr viele ausführliche Informationen vor, ich habe mich trotzdem bemüht
diese in diesen kleinen Text zusammen zu tragen. Teil 2 behandelt die
eingesetzten Computer in unbemannten Projekten. Der Artikel basiert
neben anderen Aufzeichnungen vor allem auf dem Buch Computers in Spaceflight
The NASA Experience. Dieses ist online unter NASA Histories verfügbar.
</p>
<p>
<a href="javascript:reShow('1');">
<font size=+1><b>1. Machte das Apollo Programm den PC möglich?</b></font>
</a>
<TMPL_IF NAME="1">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="1">
<table width="100%" bgcolor="<TMPL_VAR NAME='1_BACK'>"><tr><td>
<p align="justify">
Oftmals hört man, daß ein Spin-off des Apollo Programmes der kleine
Computer sei. Dies ist aus mehreren Gründen falsch.
</p>
<ul>
<li>
<p align="justify">
Zum einen sind die wesentlichen Erfindungen, die einen Computer klein
machten, wie den Transistor und die integrierte Schaltung, schon vor
den Mondprogramm erfunden worden.
</p>
</li>
<li>
<p align="justify">
zum zweiten wurden schon vor dem Apollo Projekt kleine Computer vom Militär
für die Steuerung von Interkontinentalraketen gefordert, und in diesen schon
vor der Mondlandung eingesetzt.
</p>
</li>
<li>
<p align="justify">
zum dritten wäre es auch bei kommerziellen Computern möglich gewesen diese
zu verkleinern. Angesichts der Leistung der Hardware war aber ein Großrechner
unabdingbar, um die anstehenden Aufgaben zu lösen. Ein kleiner Computer wäre
zu wenig leistungsfähig gewesen. So erschien der erste Minicomputer erst
einige Jahre nach der Mondlandung und hatte nur 64 KB Speicher. Auch
angesichts der damaligen Peripheriegeräte, die aus Schrank großen
Magnetbandlaufwerken, Schreibtisch großen Lochkartenleser und Lochkartenstanzern
bestanden war der eigentliche Computer nicht das Gerät, das am meisten
Platz benötigte.
</p>
</li>
</ul>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('2');">
<font size=+1><b>2. Hardware die im Weltraum funktioniert</b></font>
</a>
<TMPL_IF NAME="2">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="2">
<table width="100%" bgcolor="<TMPL_VAR NAME='2_BACK'>"><tr><td>
<p align="justify">
Nicht ganz einfach, ist es mit den Bedingungen des Weltraums fertig zu werden.
</p>
<ul>
<li>
<p align="justify">
Selbst in Satelliten schwanken die Temperaturen stark, da keine Atmosphäre für
einen schnellen Temperaturausgleich sorgt. Ein Satellit ist auf der Sonnenseite
Temperaturen von +120 Grad und auf der Schattenseite Temperaturen von -190 Grad
ausgesetzt. Auf der Nachtseite kühlt der ganze Satellit relativ schnell aus.
</p>
</li>
<li>
<p align="justify">
Das zweite Hindernis ist das Vakuum. Für die Elektronik selber bedeutet
dies keine Einschränkung, jedoch für den Massenspeicher. Festplattenlaufwerke
können im Vakuum nicht betrieben werden. Früher wurden daher Bandlaufwerke zur
Speicherung der Daten eingesetzt. Diese verfügten schon früh über relativ große
Kapazitäten, der Zugriff und die Aufzeichnung- und Wiedergabegeschwindigkeit war
jedoch gering.
</p>
</li>
<li>
<p align="justify">
Als drittes Hindernis ist die Bedingung der fehlenden Gravitation. Auch dies
wirkt sich vor allem auf mechanische Bauteile aus. Im allgemeinen ist es
jedoch kein großes Problem.
</p>
</li>
<li>
<p align="justify">
Das letzte Problem ist dafür schwerer zu lösen. Es sind die kosmischen Strahlen
der Sonne und des Weltraums. Diese schädigen die Elektronik. Für den
Weltraumeinsatz wird daher eine spezielle strahlungsresistente Elektronik
gefordert. Dies macht oft besondere Techniken bei der Herstellung nötig,
und die Gefahr der Empfindlichkeit steigt von Chip zu Chip Generation.
Daher erscheinen heute die eingesetzten Prozessoren relativ veraltet, da
die Entwicklung in den letzten Jahren nur langsam fortschritt. Noch
bedeutsamer ist dieses Problem bei planetaren Missionen, vor allem
bei Missionen zum Jupiter, bei dem der Strahlungsgürtel ungleich mächtiger
als auf der Erde ist.
</p>
</li>
<li>
<p align="justify">
Die Stromversorgung: Strom ist in Raumfahrzeugen limitiert. Besonders
Planetenmissionen verfügen nur über relativ wenig Strom, wenn die Mission
zu den äußeren Planeten geht. Heute sind Prozessoren wahre Stromfresser.
Ein Athlon Prozessor verbraucht bei 600 MHz fast 40 Watt an Strom. Dabei
entsteht Abwärme die auch abgeführt werden muß. Dies verbraucht weiteren
Strom, da Lüfter mangels Atmosphäre wirkungslos sind. Daher werden oft
spezielle Varianten für den Weltraumeinsatz gefertigt, die weniger Strom
verbrauchen, oder geringerer getaktet sind.
</p>
</li>
<li>
<p align="justify">
Zuverlässigkeit: Hardware an Bord eines Satelliten sollte heute eine
Lebensdauer von 12-15 Jahren haben, denn so lange kann ein Satellit
betrieben werden. Trotzdem ist dies heute weniger ein Problem als
in den sechziger und siebziger Jahren, als man die geforderte
Zuverlässigkeit oft nur durch überzählige Bauteile erreicht werden
konnte. Immerhin arbeiten die Voyager Bordrechner (RCA-1802 Prozessoren)
seit 1977 - übrigens weitgehend ohne Abstürze, kann das ihr PC auch ?
</p>
</li>
</ul>
<p align="justify">
Dies alles macht Hardware für den Weltraumeinsatz nötig. Alle größeren
Weltraumorganisationen entwickeln heute spezielle Hardware für den Einsatz
im Weltraum. Grund dafür sind neben den obigen Gründen auch spezielle
Anforderungen hinsichtlich Raumfahrzeuges.
</p>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('3');">
<font size=+1><b> 3. Computer in bemannten Raumfahrzeugen</b></font>
</a>
<TMPL_IF NAME="3">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3">
<table width="100%" bgcolor="<TMPL_VAR NAME='3_BACK'>"><tr><td>
<p>
<a href="javascript:reShow('3x1');">
<b>3.1. Mercury</b>
</a>
<TMPL_IF NAME="3x1">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3x1">
<table width="100%" bgcolor="<TMPL_VAR NAME='3x1_BACK'>"><tr><td>
<p align="justify">
Im Mercury Programm wurden noch keine Computer eingesetzt. Das Programm
wurde relativ schnell aufgezogen und die Hardware war noch nicht leistungsfähig
genug um sie ins Raumfahrzeug zu integrieren. Dies war auch nicht nötig : Um
auf Risiken weitgehend zu verzichten wurde die Mission vom Boden aus geflogen.
Der Pilot war nur als Passagier eingeplant und die Missionen selbst auf maximal
1 Tag ausgelegt. In ähnlicher Weise wurden auch sowjetische Missionen bis in die
80 er vom Boden aus geflogen und auch heute noch wird bei amerikanischen Missionen
eine höhere Verantwortung auf die Crew gelegt.
</p>
<TMPL_IF NAME="P1">
<table width="100%" bgcolor="<TMPL_VAR NAME='P1_BACK'>"><tr><td>
<p align="center"><img src="../space/mercury.gif"></p>
</td></tr></table>
</TMPL_IF>
<p align="center">
<a href="javascript:reShow('P1');">
<b>Bild 1: Instrumentenboard von Mercury</b>
</a>
<TMPL_IF NAME="P1">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<p align="justify">
Das Bild oben zeigt das Instrumentenboard von Mercury - Es gab viel zu
Beobachtungen und einige Schalter, aber keinen Computer. Immerhin : Das
"User interface" war so einfach, das es sogar dressierte Affen bedienen
konnten, die man vor den Menschen in den Orbit schoß !
</p>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('3x2');">
<b>3.2. Gemini</b>
</a>
<TMPL_IF NAME="3x2">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3x2">
<table width="100%" bgcolor="<TMPL_VAR NAME='3x2_BACK'>"><tr><td>
<p align="justify">
Im Gemini Programm wurde die Mission schon komplizierter. Hier sollten nahe der
Erde all die Dinge geübt werden, die im Mondprogramm nötig sind : Koppeln von
Raumfahrzeugen im Orbit, Langzeitflüge bis 14 Tagen, Arbeit außerhalb des
Raumschiffes. Das ganze wäre auch vom Boden aus möglich gewesen, jedoch war
ein Computer eine Unterstützung und im Mondprogramm mußte es ja auch weitgehend
ohne Bodenkontrolle gehen.
</p>
<TMPL_IF NAME="P2">
<table width="100%" bgcolor="<TMPL_VAR NAME='P2_BACK'>"><tr><td>
<p align="center"><img src="../space/gemini.jpg"></p>
</td></tr></table>
</TMPL_IF>
<p align="center">
<a href="javascript:reShow('P2');">
<b>Bild 2: Rechner von Gemini</b>
</a>
<TMPL_IF NAME="P2">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<p align="justify">
Der Gemini Rechner war der erste Computer der im Orbit eingesetzt wurde. Er war
noch auch diskreten Bauteilen aufgebaut, d.h. einzelnen Transistoren, nicht
integrieren Schaltungen. Er hatte Abmessungen von 48 x 37 x 32 cm und eine
Masse von 26.6 kg. Er bestand aus 5 Boards und war mit 510 Modulen aufgebaut.
Die Auslegung war noch nicht redundant. Der Rechner hatte eine Zykluszeit von
140 Mikrosekunden, konnte also maximal 7000 Befehle/Sek abarbeiten. Diese
auch zur damaligen Zeit langsame Rechengeschwindigkeit resultierte aus der
seriellen Verarbeitung der Daten. Sie ermöglichte aber eine große Vereinfachung
des Designs. Daten wurden innerhalb des Rechenwerkes mit 500 000 Bit/sec
übertragen, zum Speicher mit 250.000 Bit/sec. (Im nachfolgenden wie sonst
üblich als Baud abgekürzt).
</p>
<TMPL_IF NAME="P3">
<table width="100%" bgcolor="<TMPL_VAR NAME='P3_BACK'>"><tr><td>
<p align="center"><img src="../space/ringkernspeicher.jpg"></p>
</td></tr></table>
</TMPL_IF>
<p align="center">
<a href="javascript:reShow('P3');">
<b>Bild 3: Ringkernspeicher</b>
</a>
<TMPL_IF NAME="P3">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<p align="justify">
Der Speicher bestand aus 39 Modulen von Ringkernspeichern à 64 x 64 Bits,
zusammen also 19968 Byte. Ein Wort bestand immer aus 39 Bits die in 3 mal
13 Bit Scheiben unterteilt wurden. Üblicherweise wurden die ersten 13 Bits
für ein Befehlswort verwendet und die restlichen 26 Bit für die Daten. Der
Rechner hatte also eine 13/26 Bit Architektur. Derartige "krumme" Architekturen
waren damals üblich, so war der erste Supercomputer die Cyber 6600 z.B. ein
6/18 Bit System. Ringkernspeicher war vor Einführung der Halbleiterspeicher
Anfang der 70 er Jahre der normale Speicher bei Computern. Er besteht aus
kleinen Eisenringen die auf einem Geflecht von Kupferdrähten sitzen. Ein
starker Stromstoß kann an einem Kreuzungspunkt die Magnetisierung des Eisenrings
ändern und so ein Bit speichern. Mit einem schwächeren Strom kann man den Speicher
auslesen. Die Speicherung ist anders als heute magnetisch und damit permanent wie
bei einer Festplatte.
</p>
<p align="justify">
Ab Gemini 8 kam ein zusätzliches Bandlaufwerk zur Datenspeicherung zum Einsatz.
Ihren Weltraumeinsatz feierten diese schon beim ersten Satelliten der USA der
seine Daten auf ein kleines Band (allerdings analog) aufzeichnete und dann in der
Nähe der Bodenstation abspielte. Ein Problem war die Datensicherheit, die damals
bei einem fehlerhaften Bit auf 100.000 Bit lag. Man erhöhte diese indem man die
Daten dreifach aufzeichnete. War ein Bit defekt, so waren die anderen beiden doch
lesbar und über Mehrheitsentscheidung konnte so das dritte korrigiert werden. Nur
wenn zwei Bits falsch waren wurde die Information verfälscht. diese
Wahrscheinlichkeit lag aber bei 1:1 Mrd.
</p>
<p align="justify">
Die Speicherkapazität des 26 kg schweren Bandlaufwerks lag bei 11.17 Megabit,
also 7 mal größer als der Hauptspeicher. Bedingt durch das dreifache Lesen
dauerte es aber 6 Minuten um ein Programm in den Speicher zu lesen. Die
Datenrate lag so nur bei 440 Baud.
</p>
<p align="justify">
Die Software wurde angesichts der Rechengeschwindigkeit und Speicherkapazität
in Assembler geschrieben und bestand aus 4 Modulen : Aufstieg, Einfangen,
Rendezvous und Wiedereintritt. Beim unbemannten Gemini 2 Test belegte die Software
1250 von 12288 Worten. Das Booten des Rechners dauerte 20 Sekunden. Das User
Interface bestand aus einem Keyboard für numerische Eingaben und einer 7
stelligen Digitalanzeige - Der Rechner ähnelte mehr einem Taschenrechner
als einem Computer.
</p>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('3x3');">
<b>3.3. Apollo</b>
</a>
<TMPL_IF NAME="3x3">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3x3">
<table width="100%" bgcolor="<TMPL_VAR NAME='3X3_BACK'>"><tr><td>
<p align="justify">
Der Computer für Apollo mußte erheblich mehr leisten als der von Gemini. Zum
einen war die Funkverzögerung von 1.5 Sekunden beim Mond. Dies konnte in
kritischen Situationen das scheitern der Mission bedeuten wenn sofort reagiert
werden mußte. Zum andern fanden bestimmte Manöver wie das Einschiessen in die
Umlaufbahn ohne Funkontakt hinter dem Mond statt. Ohne einen Computer wäre die
Mondmission nicht durchführbar gewesen.
</p>
<p align="justify">
Schon 1961 machte man sich daher an die ersten Konzepte für den Apollo Bordrechner.
Man entschied sich schliesslich für identische Rechner in der Kapsel (CM) und im
Mondlander (LM). Die Software war jedoch unterschiedlich, da der Lander auf dem
Mond landen sollte während das CM zum Mond starten und zurückkehren sollte.
</p>
<p align="justify">
Der Rechner hatte Abmessungen von 61 x 32 x 15 cm. Er wog 31.7 kg und verbrauchte
70 Watt bei 28 V Spannung. Dazu kamen die hier abgebildeten Bedienungseinheiten
die je 20 x 20 x 17.5 cm groß waren und 8 kg wogen. Zwei davon aren im CM und
eines im LM.
</p>
<TMPL_IF NAME="P4">
<table width="100%" bgcolor="<TMPL_VAR NAME='P4_BACK'>"><tr><td>
<p align="center"><img src="../space/apollo-computer.jpg"></p>
</td></tr></table>
</TMPL_IF>
<p align="center">
<a href="javascript:reShow('P4');">
<b>Bild 4: Apollo-Computer</b>
</a>
<TMPL_IF NAME="P4">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<p align="justify">
Für den Rechner wurde eine Wortbreite von 16 bit gewählt. Alle Berechnungen
erfolgten in diesem Format, d.h. es gab keine Flieskommazahlen. für höhere
Genauigkeiten gab es Doppelwort und Triplewortberechnungen, die jedoch nur
für bestimmte Navigationsvariablen gewählt wurden. Der Gesamte Rechner
bestand aus zwei Packs mit je 24 Modulen die jedes 60 logische Flatpacks
mit zwei Gattern in 72 Pin Einschüben enthielten, insgesamt also 5760 einzelne
Gatter - Der gesamte Rechner war noch in diskreten Bauteilen entworfen, nicht
in denen ab 1964 verfügbaren integrierten Schaltungen.
</p>
<p align="justify">
Der Rechner verfügte über 6 Register mit 12 Bits Breite. Eine Verschiebung und
Addition eines Offsets (wie beim 8086 10 Jahre später) ergab dann den vollen
Adressbereich von 16 KWorten oder 128 KByte. Der Takt lag bei einem Megaherz.
Max. 42000 Instruktionen konnten pro Sekunde ausgeführt werden.
</p>
<p align="justify">
Der Speicher wurde im Laufe der Entwicklung immer mehr erweitert und umfasste
schliesslich 36 KWorte (72 KByte) ROM und 2 KWorte (4 Kbyte) RAM. Bei Apollo
Missionen waren die Astronauten schwer damit beschäftigt Werte in den Rechner
einzutippen die ihnen die Bodenstation funkte. Als bei Apollo 13 durch den
Missionabbruch zahlreiche Manöver durchzuführen hatte wurde das Papier an
Bord recht knapp. 10500 Tastendrücke erforderte im Mittel eine Mission -
Die NASA hatte am Boden zwar alle Werte die der Rechner ausgab, misstraute
aber dem Programmieren vom Boden aus.
</p>
<p align="justify">
Der Speicher bestand wieder aus Ringkernspeichern : 6 Modulen mit je 6144
Worten à 16 Bit. Jedes Modul zerfiel zudem in 6 Bänke. Von den 36 Bänken
konnten die ersten 2 direkt mit 12 Bit Adressiert werden der Rest über eine
Verschiebung. Der Speicher musste Monate vor der Mission programmiert werden,
wobei es keine Möglichkeit gab die Software am Original zu testen.
</p>
<p align="justify">
Um eine erhöhte Zuverlässigkeit zu erreichen implementierte man ein einfaches
Multitasking System : Die Aufgaben wurden in Tasks eingeteilt und alle 20 ms
wurde nachgesehen ob ein Task mit Höherer Priorität die Aufmerksamkeit
benötigte. In diesem Fall hätte man die Ergebnisse des unwichtigeren Tasks
verworfen. Trotzdem kam es bei der Apollo 11 Landung zu einer Überlastung
des Rechners des LM, als das Landeradar 85.000 mal pro Sekunde die
Aufmerksamkeit erforderte.
</p>
<p align="justify">
Zusätzlich zum Hauptrechner gab es im LM noch den AGS : Ein Computersystem,
welches bei einem Landeabbruch den Lander in einen sicheren Mondorbit
einschiessen sollte. Man konnte ihn von einem Pad im LM aus aktivieren.
Der Rechner war eine 18 Bit Maschine (5 Bit Instruktionen, 27 verfügbar
und 13 Bit Adressen). Die Ausführungszeit umfasste 10-70 Mikrosekunden.
Der Rechner hatte je 2 KWorte ROM und RAM und wog 15 kg. Er musste niemals
zum Abbruch eingesetzt werden, aber wurde zur Kopplung von LM und CM bei
Apollo 11 eingesetzt.
</p>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('3x4');">
<b>3.4. Skylab</b>
</a>
<TMPL_IF NAME="3x4">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3x4">
<table width="100%" bgcolor="<TMPL_VAR NAME='3X4_BACK'>"><tr><td>
<p align="justify">
Bei Skylab fand zum ersten Mal "normale" Industrietechnologie Anwendung : Eine
welttraumtaugliche Version des IBM 360 Systems. Anders als beim Zentralprozessor
des 360 Systems dem AP 101 wurde eine 16 Bit anstatt 32 Bit Technologie gewählt
um das Design einfacher zu halten. Der Rechner war aber auf Softwareseite
kompatibel zum AP 101. Zwei Rechner mit je 16 Kiloworten teilten sich die
Arbeit. Einer war verantwortlich für die Lageregelung und Kontrolle der
Station, der zweite sorgte für die Kontrolle der Sonnentelesope, dem im
Nachhinein wichtigsten Bestandteil der Skylab Station. Als Speicher kamen
auch diesmal wieder Ringkernspeicher zum Einsatz. Anders als bei Apollo oder
Gemini war eine Zuverlässigkeit über 600 Tage gefordert die das System auch
erfüllte, es gab bis zum Verglühen von Skylab nach 6 Jahren keinen Absturz
der Rechner.
</p>
<TMPL_IF NAME="P5">
<table width="100%" bgcolor="<TMPL_VAR NAME='P5_BACK'>"><tr><td>
<p align="center"><img src="../space/skylab-computer.jpg"></p>
</td></tr></table>
</TMPL_IF>
<p align="center">
<a href="javascript:reShow('P5');">
<b>Bild 5: Skylab-Computer</b>
</a>
<TMPL_IF NAME="P5">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<p align="justify">
Der Datenspeicher bestand wiederum aus Ringkernspeichern. Jeder Rechner hatte
zwei 8 K Module. Software konnte von einem Band geladen werden. Diesmal dauerte
der Upload nur 11 Sekunden. Ein Problem war von Anfang an der knappe Speicher -
halb so groß wie bei Apollo. Am Schluss beanspruchte die Software 16329 von
16384 Speicherzellen.
</p>
<p align="justify">
Auch hier bestand das User Interface in einer einfachen 10 Tasten Tastatur :
Werte wurden in Oktal (0..7) eingegeben.
</p>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('3x5');">
<b>3.5. Space Shuttle</b>
</a>
<TMPL_IF NAME="3x5">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3x5">
<table width="100%" bgcolor="<TMPL_VAR NAME='3X5_BACK'>"><tr><td>
<p align="justify">
Die Erfahrungen bei Skylab wurden im Shuttle verarbeitet : Es wurde wieder
ein Nachfolger des AP 101 verwendet, jedoch diesmal in 32 Bit um höhere
Geschwindigkeit zu erreichen. Auch kam man ab von Assembler als Programmiersprache
und schuf eine eigne Programmiersprache für die Software : HAL - Die NASA bestreitet
übrigens jede Verwandtschaft zu dem Computer HAL aus dem Film "2001 Odyssee
im Weltraum". Der AP 101 wurde 1966 eingeführt, so das als 1970 es an das
Design ging der Prozessor schon eingeführt war und auch in den Bombern
B-52 und B-1B eingesetzt wurde. Kombiniert wurde er mit einem eigenen I/O Prozessor.
</p>
<p align="justify">
Der AP 101 hat einen ladbaren Microcode von 2048 Instruktionen für max. 48 Bit
in der Länge. Belegt wurde dieser Microcode mit 154 Opcodes. Instruktionen
konnten 16 oder 32 Bit Ganzzahlen oder - zum ersten Mal - 32,40 oder 64 Bit
Flieskommazahlen umfassen. Die Geschwindigkeit betrug 480.000 Instruktionen/sec.
Der Speicher konnte direkt nur mit 16 Bit adressiert werden. Doch Erweitern über
Segmentierung erhöhte den Adressbereich auf 256 KWorte oder 1 MByte.
</p>
<p align="justify">
Der Speicher bestand auch hier zuerst aus Ringkernspeichern mit 400 ns Zugriffszeit.
80 KWorte in der CPU und 24 KWorte im I/O Prozessor. Jedes Wort bestand aus 18 Bit,
wobei 2 bits der Fehlererkennung dienten. Um die Zuverlässigkeit des ganzen Systems
zu erhöhen kamen 5 Rechner zu Einsatz die sich gegenseitig überwachten. Nur 4 waren
von IBM, der fünfte von Honeywell diente als Absicherung gegen einen Defekt der alle
IBM Rechner lahmgelegt hätte. Die Mission wäre auch mit einem Rechner beendigbar
gewesen. Dazu kam eine interne Fehlererkennung die 95 % der Hardwaredefekte erkennen
konnte.
</p>
<p align="justify">
Verbunden wurden die Rechner und der Rest des Shuttles über 24 I/O Busse mit einem
zusätzlichen Master Bus. Anders als bei allen früheren Missionen gab es nun zum
ersten Mal Bildschirme die Text darstellen konnten. Die Bildschirme haben Größen
von 5 x 7 Toll und stellten 51 x 26 Zeichen dar 4 Stück sind mit Tastaturen
verbunden. Ein eigener 16 Bit Prozessor mit 8 KWorten RAM kümmert sich um die
4 Displays.
</p>
<p align="justify">
Ein Magnetband wurde erst sehr spät in die Spezifikationen aufgenommen, wurde aber
bald essentiell, denn die Software sprengte den Arbeitsspeicher. Zwei Bänder,
jedes mit einer Kapazität von 8 Millionen 16 Bit Worten nahmen die Flugsoftware
auf, die mit 700 KWorten inzwischen das verfügbare RAM weit überschritt. Die
Softwareentwicklung gestaltete sich einfacher, da man diese auch auf einem
IBM 360/75 System entwickeln konnte.
</p>
<p align="justify">
1988 wurden die Rechner durch die Leistungsfähigeren AP 101F ersetzt : Jeder mit
256 KWorten Halbleiterspeicher und doppelter Geschwindigkeit von 1 Million
Instruktionen/sec. Ähnliches passierte auch beim Triebwerkskontroller. Dieser
überwacht die Triebwerke. Der HDC-601 ein 16 Bit Computer mit 16 KWorten RAM
wurde zuerst genutzt, später ein Motorola MC 68000 mit je zwei 64 K großen CMOS
RAM Speichern und C als Programmiersprache anstatt Assembler.
</p>
<p align="justify">
Trotzdem flogen auf jeder Mission auch kleinere Rechner mit vom HP-41C Rechner
bis zu speziellen IBM Notebooks die für Daten genutzt wurden die einfach nicht
auf den wenigen Displays unterzubringen waren oder missionsspezifischen Programmen.
</p>
<p align="justify">
In den Raumanzügen für die Tätigkeit außerhalb des Shuttles, den EMU's steuert ein
relativ bescheidener Computer alle Funktionen die für das Leben des Astronauten
notwendig sind : Ein NSC-800 (8 Bit) mit 2 Mhz, 32 K ROM und 2 K RAM. Die Software
ist in PL/N geschrieben und benötigt nur 30 der 32 K ROM.
</p>
</td></tr></table>
</TMPL_IF>
<p>
<a href="javascript:reShow('3x6');">
<b>3.6. ISS</b>
</a>
<TMPL_IF NAME="3x6">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<TMPL_IF NAME="3x6">
<table width="100%" bgcolor="<TMPL_VAR NAME='3X6_BACK'>"><tr><td>
<p align="justify">
Von der ISS sind seitens der ESA die Daten ihrer Computerhardware bekannt. Die ESA
ist mit zwei Computersystemen beteiligt : Dem DMS. Es steuert das russische Modul
Swesda und übernimmt lenkungs- und Navigationaufgaben für die ganze Station.
Kernstück des 50 kg schweren Rechners sind. Das DMS besteht aus vier Rechnern :
Zwei zur Steuerung der Swesda und zwei zur Steuerung des Außenarmes und für
Andockvorgänge. Jeder der Rechner hat einen SPARC Prozessor mit 6 MB RAM und 8
MB ROM - wenig im Vergleich zu irdischer Hardware aber viel im Vergleich zum
Space Shuttle. Die Rechner sind fehlertolerant und bestehen aus 3 Untereinheiten
die separat ausgetauscht werden können. Jeder der vier Rechner benötigt nur 40 Watt
Strom.
</p>
<TMPL_IF NAME="P6">
<table width="100%" bgcolor="<TMPL_VAR NAME='P6_BACK'>"><tr><td>
<p align="center"><img src="../courses/ps/space/dmrs.jpg"></p>
</td></tr></table>
</TMPL_IF>
<p align="center">
<a href="javascript:reShow('P6');">
<b>Bild 6: DMS</b>
</a>
<TMPL_IF NAME="P6">
<img src="../pictures/fopen.gif">
<TMPL_ELSE>
<img src="../pictures/fclose.gif">
</TMPL_IF>
</p>
<p align="justify">
Die Kommunikation geschieht über den MIL STD Bus, einem Bus den die NASA für
ihren Prozessor MIL 1750 A eingeführt hatte. Der Bus ist heute veraltet, doch
reicht die Geschwindigkeit von 1 MBit/s für die Stationsdaten aus. Er ist dafür
durch besondere Protokolle sehr sicher
</p>
<p align="justify">
Weiterhin gibt es auf dem europäischen Labor Columbus einen weiteren Rechner der
sich an den DMS anlehnen wird. Für die Steuerung der Experimente hat die ESA wird
der SPLC eingesetzt. Dieser Rechner soll die Experimente steuern und als Neuerung
soll er es erlauben sich an jedem Ort der Station mit Notebooks einzuwählen und
von dort aus die Daten abzurufen. Basis des SPLC genannten Computer ist eine
Architektur auf dem VME BUS. Er basiert auf dem SPARC V7 Prozessor, besitzt
8 MB SRAM und 4 MB EEPROM Speicher. Als Massenspeicher wird eine 50 MB große
EEPROM "Disk" benutzt. Sie hat Interfaces für mehrere Filesysteme, darunter
auch DOS. Die Kommunikation geschieht über 6 serielle RS 422 Schnittstellen
und Anschlüsse für 6 Mezzantine Boards. Als Betriebssystem findet VxWorks
Verwendung.
</p>
<p align="justify">
Die Mezzantine Boards sind die wechselbaren Steckkarten des Systems, ähnlich wie
bei einem PC. Es gibt 5 verschiedene :
</p>
<ul>
<li>
Ein MIL 1553 B Board sorgt für den Kontakt zum MIL STD Bus
der ISS, es enthält einen eigenen Mikroprozessor.
</li>
<li>
Ein Ethernet Board sorgt für den Anschluss an den Datenkanal für mittlere
Datenraten, zudem können über dieses Board Programme eingespeist werden.
</li>
<li>
Ein serielles Board sorgt für Anschlüsse an die Nutzlasten. Es sind zwei
Anschlüsse vorhanden die als Punkt-zu-Punkt (RS 422) oder als Bus (RS 485)
genutzt werden können.
</li>
<li>
Ein 12 Kanal I/O Board für allgemeine Datenübertragungen. Die Anschlüsse
basieren auf optischer Datenübertragung.
</li>
<li>
Ein 8 Kanal A/D Wanderboard. Die Samplingtiefe beträgt 12 Bit, die
Auflösung max. 100 Mhz.
</li>
</ul>
</td></tr></table>
</TMPL_IF>
</td></tr></table>
</TMPL_IF>
<br>
<br>
<hr>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="right"><a href="../courses/ps/index.html#Testseiten">zurück</a> <img src="../pictures/left.gif"></td>
</tr>
</table>
</body>
</html>