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&uuml;ck</a>&nbsp;&nbsp;<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&uuml;hrliche Informationen vor, ich habe mich trotzdem bem&uuml;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&uuml;gbar.
</p>

<p>
  <a href="javascript:reShow('1');">
    <font size=+1><b>1. Machte das Apollo Programm den PC m&ouml;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&ouml;rt man, da&szlig; ein Spin-off des Apollo Programmes der kleine
  Computer sei. Dies ist aus mehreren Gr&uuml;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&auml;r
      f&uuml;r die Steuerung von Interkontinentalraketen gefordert, und in diesen schon
      vor der Mondlandung eingesetzt.
    </p>
  </li>
  <li>
    <p align="justify">
      zum dritten w&auml;re es auch bei kommerziellen Computern m&ouml;glich gewesen diese
      zu verkleinern. Angesichts der Leistung der Hardware war aber ein Gro&szlig;rechner
      unabdingbar, um die anstehenden Aufgaben zu l&ouml;sen. Ein kleiner Computer w&auml;re
      zu wenig leistungsf&auml;hig gewesen. So erschien der erste Minicomputer erst
      einige Jahre nach der Mondlandung und hatte nur 64 KB Speicher. Auch
      angesichts der damaligen Peripherieger&auml;te, die aus Schrank gro&szlig;en
      Magnetbandlaufwerken, Schreibtisch gro&szlig;en Lochkartenleser und Lochkartenstanzern
      bestanden war der eigentliche Computer nicht das Ger&auml;t, das am meisten
      Platz ben&ouml;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&auml;re f&uuml;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&uuml;hlt der ganze Satellit relativ schnell aus.
    </p>
  </li>
  <li>
    <p align="justify">
      Das zweite Hindernis ist das Vakuum. F&uuml;r die Elektronik selber bedeutet
      dies keine Einschr&auml;nkung, jedoch f&uuml;r den Massenspeicher. Festplattenlaufwerke
      k&ouml;nnen im Vakuum nicht betrieben werden. Fr&uuml;her wurden daher Bandlaufwerke zur
      Speicherung der Daten eingesetzt. Diese verf&uuml;gten schon fr&uuml;h &uuml;ber relativ gro&szlig;e
      Kapazit&auml;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&szlig;es Problem.
    </p>
  </li>
  <li>
    <p align="justify">
      Das letzte Problem ist daf&uuml;r schwerer zu l&ouml;sen. Es sind die kosmischen Strahlen
      der Sonne und des Weltraums. Diese sch&auml;digen die Elektronik. F&uuml;r den
      Weltraumeinsatz wird daher eine spezielle strahlungsresistente Elektronik
      gefordert. Dies macht oft besondere Techniken bei der Herstellung n&ouml;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&uuml;rtel ungleich m&auml;chtiger
      als auf der Erde ist.
    </p>
  </li>
  <li>
    <p align="justify">
      Die Stromversorgung: Strom ist in Raumfahrzeugen limitiert. Besonders
      Planetenmissionen verf&uuml;gen nur &uuml;ber relativ wenig Strom, wenn die Mission
      zu den &auml;u&szlig;eren Planeten geht. Heute sind Prozessoren wahre Stromfresser.
      Ein Athlon Prozessor verbraucht bei 600 MHz fast 40 Watt an Strom. Dabei
      entsteht Abw&auml;rme die auch abgef&uuml;hrt werden mu&szlig;. Dies verbraucht weiteren
      Strom, da L&uuml;fter mangels Atmosph&auml;re wirkungslos sind. Daher werden oft
      spezielle Varianten f&uuml;r den Weltraumeinsatz gefertigt, die weniger Strom
      verbrauchen, oder geringerer getaktet sind.
    </p>
  </li>
  <li>
    <p align="justify">
      Zuverl&auml;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&auml;ssigkeit oft nur durch &uuml;berz&auml;hlige Bauteile erreicht werden
      konnte. Immerhin arbeiten die Voyager Bordrechner (RCA-1802 Prozessoren)
      seit 1977 - &uuml;brigens weitgehend ohne Abst&uuml;rze, kann das ihr PC auch ?
    </p>
  </li>
</ul>

<p align="justify">
  Dies alles macht Hardware f&uuml;r den Weltraumeinsatz n&ouml;tig. Alle gr&ouml;&szlig;eren
  Weltraumorganisationen entwickeln heute spezielle Hardware f&uuml;r den Einsatz
  im Weltraum. Grund daf&uuml;r sind neben den obigen Gr&uuml;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&auml;hig
  genug um sie ins Raumfahrzeug zu integrieren. Dies war auch nicht n&ouml;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 &auml;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&ouml;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&szlig; !
</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&uuml;bt werden, die im Mondprogramm n&ouml;tig sind : Koppeln von
  Raumfahrzeugen im Orbit, Langzeitfl&uuml;ge bis 14 Tagen, Arbeit au&szlig;erhalb des
  Raumschiffes. Das ganze w&auml;re auch vom Boden aus m&ouml;glich gewesen, jedoch war
  ein Computer eine Unterst&uuml;tzung und im Mondprogramm mu&szlig;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&ouml;glichte aber eine gro&szlig;e Vereinfachung
  des Designs. Daten wurden innerhalb des Rechenwerkes mit 500 000 Bit/sec
  &uuml;bertragen, zum Speicher mit 250.000 Bit/sec. (Im nachfolgenden wie sonst
  &uuml;blich als Baud abgek&uuml;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 &agrave; 64 x 64 Bits,
  zusammen also 19968 Byte. Ein Wort bestand immer aus 39 Bits die in 3 mal
  13 Bit Scheiben unterteilt wurden. &Uuml;blicherweise wurden die ersten 13 Bits
  f&uuml;r ein Befehlswort verwendet und die restlichen 26 Bit f&uuml;r die Daten. Der
  Rechner hatte also eine 13/26 Bit Architektur. Derartige "krumme" Architekturen
  waren damals &uuml;blich, so war der erste Supercomputer die Cyber 6600 z.B. ein
  6/18 Bit System. Ringkernspeicher war vor Einf&uuml;hrung der Halbleiterspeicher
  Anfang der 70 er Jahre der normale Speicher bei Computern. Er besteht aus
  kleinen Eisenringen die auf einem Geflecht von Kupferdr&auml;hten sitzen. Ein
  starker Stromsto&szlig; kann an einem Kreuzungspunkt die Magnetisierung des Eisenrings
  &auml;ndern und so ein Bit speichern. Mit einem schw&auml;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&auml;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&auml;he der Bodenstation abspielte. Ein Problem war die Datensicherheit, die damals
  bei einem fehlerhaften Bit auf 100.000 Bit lag. Man erh&ouml;hte diese indem man die
  Daten dreifach aufzeichnete. War ein Bit defekt, so waren die anderen beiden doch
  lesbar und &uuml;ber Mehrheitsentscheidung konnte so das dritte korrigiert werden. Nur
  wenn zwei Bits falsch waren wurde die Information verf&auml;lscht. diese
  Wahrscheinlichkeit lag aber bei 1:1 Mrd.
</p>

<p align="justify">
  Die Speicherkapazit&auml;t des 26 kg schweren Bandlaufwerks lag bei 11.17 Megabit,
  also 7 mal gr&ouml;&szlig;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&auml;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&uuml;r numerische Eingaben und einer 7
  stelligen Digitalanzeige - Der Rechner &auml;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&uuml;r Apollo mu&szlig;te erheblich mehr leisten als der von Gemini. Zum
  einen war die Funkverz&ouml;gerung von 1.5 Sekunden beim Mond. Dies konnte in
  kritischen Situationen das scheitern der Mission bedeuten wenn sofort reagiert
  werden mu&szlig;te. Zum andern fanden bestimmte Man&ouml;ver wie das Einschiessen in die
  Umlaufbahn ohne Funkontakt hinter dem Mond statt. Ohne einen Computer w&auml;re die
  Mondmission nicht durchf&uuml;hrbar gewesen.
</p>

<p align="justify">
  Schon 1961 machte man sich daher an die ersten  Konzepte f&uuml;r den Apollo Bordrechner.
  Man entschied sich schliesslich f&uuml;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&auml;hrend das CM zum Mond starten und zur&uuml;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&szlig; 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&uuml;r den Rechner wurde eine Wortbreite von 16 bit gew&auml;hlt. Alle Berechnungen
  erfolgten in diesem Format, d.h. es gab keine Flieskommazahlen. f&uuml;r h&ouml;here
  Genauigkeiten gab es Doppelwort und Triplewortberechnungen, die jedoch nur
  f&uuml;r bestimmte Navigationsvariablen gew&auml;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&uuml;ben enthielten, insgesamt also 5760 einzelne
  Gatter - Der gesamte Rechner war noch in diskreten Bauteilen entworfen, nicht
  in denen ab 1964 verf&uuml;gbaren integrierten Schaltungen.
</p>

<p align="justify">
  Der Rechner verf&uuml;gte &uuml;ber 6 Register mit 12 Bits Breite. Eine Verschiebung und
  Addition eines Offsets (wie beim 8086 10 Jahre sp&auml;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&uuml;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&auml;ftigt Werte in den Rechner
  einzutippen die ihnen die Bodenstation funkte. Als bei Apollo 13 durch den
  Missionabbruch zahlreiche Man&ouml;ver durchzuf&uuml;hren hatte wurde das Papier an
  Bord recht knapp. 10500 Tastendr&uuml;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 &agrave; 16 Bit. Jedes Modul zerfiel zudem in 6 B&auml;nke. Von den 36 B&auml;nken
  konnten die ersten 2 direkt mit 12 Bit Adressiert werden der Rest &uuml;ber eine
  Verschiebung. Der Speicher musste Monate vor der Mission programmiert werden,
  wobei es keine M&ouml;glichkeit gab die Software am Original zu testen.
</p>

<p align="justify">
  Um eine erh&ouml;hte Zuverl&auml;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&ouml;herer Priorit&auml;t die Aufmerksamkeit
  ben&ouml;tigte. In diesem Fall h&auml;tte man die Ergebnisse des unwichtigeren Tasks
  verworfen. Trotzdem kam es bei der Apollo 11 Landung zu einer &Uuml;berlastung
  des Rechners des LM, als das Landeradar 85.000 mal pro Sekunde die
  Aufmerksamkeit erforderte.
</p>

<p align="justify">
  Zus&auml;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&uuml;gbar
  und 13 Bit Adressen). Die Ausf&uuml;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&auml;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&uuml;r die Lageregelung und Kontrolle der
  Station, der zweite sorgte f&uuml;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&auml;ssigkeit &uuml;ber 600 Tage gefordert die das System auch
  erf&uuml;llte, es gab bis zum Vergl&uuml;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&szlig; 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&ouml;here
  Geschwindigkeit zu erreichen. Auch kam man ab von Assembler als Programmiersprache
  und schuf eine eigne Programmiersprache f&uuml;r die Software : HAL - Die NASA bestreitet
  &uuml;brigens jede Verwandtschaft zu dem Computer HAL aus dem Film "2001 Odyssee
  im Weltraum". Der AP 101 wurde 1966 eingef&uuml;hrt, so das als 1970 es an das
  Design ging der Prozessor schon eingef&uuml;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&uuml;r max. 48 Bit
  in der L&auml;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 &uuml;ber
  Segmentierung erh&ouml;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&auml;ssigkeit des ganzen Systems
  zu erh&ouml;hen kamen 5 Rechner zu Einsatz die sich gegenseitig &uuml;berwachten. Nur 4 waren
  von IBM, der f&uuml;nfte von Honeywell diente als Absicherung gegen einen Defekt der alle
  IBM Rechner lahmgelegt h&auml;tte. Die Mission w&auml;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 &uuml;ber 24 I/O Busse mit einem
  zus&auml;tzlichen Master Bus. Anders als bei allen fr&uuml;heren Missionen gab es nun zum
  ersten Mal Bildschirme die Text darstellen konnten. Die Bildschirme haben Gr&ouml;&szlig;en
  von 5 x 7 Toll und stellten 51 x 26 Zeichen dar 4 St&uuml;ck sind mit Tastaturen
  verbunden. Ein eigener 16 Bit Prozessor mit 8 KWorten RAM k&uuml;mmert sich um die
  4 Displays.
</p>

<p align="justify">
  Ein Magnetband wurde erst sehr sp&auml;t in die Spezifikationen aufgenommen, wurde aber
  bald essentiell, denn die Software sprengte den Arbeitsspeicher. Zwei B&auml;nder,
  jedes mit einer Kapazit&auml;t von 8 Millionen 16 Bit Worten nahmen die Flugsoftware
  auf, die mit 700 KWorten inzwischen das verf&uuml;gbare RAM weit &uuml;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&auml;higeren AP 101F ersetzt : Jeder mit
  256 KWorten Halbleiterspeicher und doppelter Geschwindigkeit von 1 Million
  Instruktionen/sec. &Auml;hnliches passierte auch beim Triebwerkskontroller. Dieser
  &uuml;berwacht die Triebwerke. Der HDC-601 ein 16 Bit Computer mit 16 KWorten RAM
  wurde zuerst genutzt, sp&auml;ter ein Motorola MC 68000 mit je zwei 64 K gro&szlig;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&uuml;r Daten genutzt wurden die einfach nicht
  auf den wenigen Displays unterzubringen waren oder missionsspezifischen Programmen.
</p>

<p align="justify">
  In den Raumanz&uuml;gen f&uuml;r die T&auml;tigkeit au&szlig;erhalb des Shuttles, den EMU's steuert ein
  relativ bescheidener Computer alle Funktionen die f&uuml;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&ouml;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 &uuml;bernimmt lenkungs- und Navigationaufgaben f&uuml;r die ganze Station.
  Kernst&uuml;ck des 50 kg schweren Rechners sind. Das DMS besteht aus vier Rechnern :
  Zwei zur Steuerung der Swesda und zwei zur Steuerung des Au&szlig;enarmes und f&uuml;r
  Andockvorg&auml;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&ouml;nnen. Jeder der vier Rechner ben&ouml;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 &uuml;ber den MIL STD Bus, einem Bus den die NASA f&uuml;r
  ihren Prozessor MIL 1750 A eingef&uuml;hrt hatte. Der Bus ist heute veraltet, doch
  reicht die Geschwindigkeit von 1 MBit/s f&uuml;r die Stationsdaten aus. Er ist daf&uuml;r
  durch besondere Protokolle sehr sicher
</p>

<p align="justify">
  Weiterhin gibt es auf dem europ&auml;ischen Labor Columbus einen weiteren Rechner der
  sich an den DMS anlehnen wird. F&uuml;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&auml;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&szlig;e
  EEPROM "Disk" benutzt. Sie hat Interfaces f&uuml;r mehrere Filesysteme, darunter
  auch DOS. Die Kommunikation geschieht &uuml;ber 6 serielle RS 422 Schnittstellen
  und Anschl&uuml;sse f&uuml;r 6 Mezzantine Boards. Als Betriebssystem findet VxWorks
  Verwendung.
</p>

<p align="justify">
  Die Mezzantine Boards sind die wechselbaren Steckkarten des Systems, &auml;hnlich wie
  bei einem PC. Es gibt 5 verschiedene :
</p>

<ul>
  <li>
    Ein MIL 1553 B Board sorgt f&uuml;r den Kontakt zum MIL STD Bus
    der ISS, es enth&auml;lt einen eigenen Mikroprozessor.
  </li>
  <li>
    Ein Ethernet Board sorgt f&uuml;r den Anschluss an den Datenkanal f&uuml;r mittlere
    Datenraten, zudem k&ouml;nnen &uuml;ber dieses Board Programme eingespeist werden.
  </li>
  <li>
    Ein serielles Board sorgt f&uuml;r Anschl&uuml;sse an die Nutzlasten. Es sind zwei
    Anschl&uuml;sse vorhanden die als Punkt-zu-Punkt (RS 422) oder als Bus (RS 485)
    genutzt werden k&ouml;nnen.
  </li>
  <li>
    Ein 12 Kanal I/O Board f&uuml;r allgemeine Daten&uuml;bertragungen. Die Anschl&uuml;sse
    basieren auf optischer Daten&uuml;bertragung.
  </li>
  <li>
    Ein 8 Kanal A/D Wanderboard. Die Samplingtiefe betr&auml;gt 12 Bit, die
    Aufl&ouml;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&uuml;ck</a>&nbsp;&nbsp;<img src="../pictures/left.gif"></td>
  </tr>
</table>

</body>

</html>


zurück