Die Technik des LVDC

Die folgende Übersicht zeigt die technischen Daten des LVDC:

PIC

Siebenstufige Logikpipeline (Grafik von mir)

Durch die siebenstufige Logikpipeline, wie sie obige Abbildung zeigt, war der LVDC in der Lage, mehrere Aufgaben gleichzeitig zu bearbeiten. Dieser Computer ist somit ein frühes Beispiel für ein parallelverarbeitendes System.

Die Logikpipeline ist darüber hinaus dreifach redundant angelegt. Nachstehende Abbildung zeigt ein Beispiel für eine redundante Schaltung mit Mehrheitsentscheidung, wie sie John von Neumann bereits 1956 darstellte. Die Schaltung besteht aus drei identischen Gattern. Wenn eines davon versagt, funktioniert die Schaltung dank des Mehrheitsgatters dennoch korrekt. Doch hier besteht ein Problem, es sind ja nicht nur drei sondern vier Gatter in der Schaltung. Das Mehrheitsgatter könnte selbst ja auch fehlerhaft arbeiten. Und wenn die Forderung, dass eines der Gatter defekt sein darf, ohne die Funktion der Schaltung zu beeinträchtigen weiterhin aufrecht erhalten werden soll, so genügt der Ansatz von Neumanns nicht mehr. R. E. Lyons und W. Vanderkulk haben das Konzept von John von Neumann 1962 daher erweitert: Beim Launch Vehicle Digital Computer ist auch das Mehrheitsgatter selbst dreifach redundant vorhanden, wie Abbildung 4 aus der Arbeit von Lyons und Vanderkulk zeigt.

PIC

Drei identische Gatter mit Mehrheitsentscheidung [LV1962]

PIC

Redundante Gatter in der LVDC-Konfiguration [LV1962]

Der LVDC hatte also Möglichkeiten zur Fehlerkorrektur, eine hohe Wortbreite und die Fähigkeit zur (quasi-) parallelen Verarbeitung. Warum wurde der LVDC dann nicht auch im Apollo-Raumschiff zur Navigation eingesetzt?

Das wurde durchaus ernsthaft überlegt, Eldon Hall zeigte jedoch die Nachteile einer solchen Lösung auf. Der vermutlich bedeutendste Aspekt seiner Kritik bezieht sich auf die mangelnden Möglichkeiten, auf dem LVDC komplexe Navigationsprogramme auszuführen. Der Apollo Guidance Computer verfügte über eine zusätzliche Software-Ebene oberhalb der Assembler-Struktur: den Interpreter. Der Interpreter war speziell auf die Anforderungen der Navigationsprogramme hin entwickelt worden und unterstützte dementsprechend zahlreiche mathematische Operationen, wie z.B. Matrix- und Vektoroperationen, trigonometrische Funktionen und dergleichen mehr. Dies erhöhte die Flexibilität des Systems deutlich, jedoch auf Kosten der Geschwindigkeit, da die Interpreter-Instruktionen durch Assembler-Befehle des Basis-Befehlssatzes implementiert waren. Eine solche Flexibilität war im LVDC nicht vorgesehen, von daher wäre es in der Tat schwieriger gewesen, die Navigationsprogramme auf dem LVDC zu implementieren.

Umgekehrt war der Apollo Guidance Computer durchaus in der Lage, den LVDC zu ersetzen, wenn dieser ausfallen sollte. Der AGC war wesentlich flexibler einsetzbar als der LVDC und erinnerte damit mehr an einen Universalrechner als an einen speziellen Steuercomputer.

Die von Hall vorgebrachten Argumente sind daher durchaus rational, allerdings spielte sicher auch der Wunsch, den Auftrag beim MIT zu behalten, eine Rolle. Hall übte auch Kritik an der Zuverlässigkeit des Systems. Und hier lässt sich schon eher an der sachlichen Berechtigung der Kritik zweifeln, da der LVDC aufgrund der Fehlertoleranz inkl. redundanter Gatter und einem redundanten Speicher durchaus sehr zuverlässig war. Die Aufgabe der Steuerung der Saturn V hat der LVDC auch bei sämtlichen Starts erfolgreich durchgeführt.