[Lernmaterialien zur technischen Informatik; Aufbau, Konzepte und Funktionsweise von Computersystemen

[vorheriger Abschnitt][nächster Abschnitt][Inhalt]


3 Der Von-Neumann-Rechner

In [Duden88] heißt es hierzu: „Im Jahre 1946 von John von Neumann vorgeschlagenes Konzept zur Gestaltung eines universellen Rechners, der technischen, wissenschaftlichen und kommerziellen Anforderungen gerecht wird. Von einigen wenigen Ausnahmefällen ... abgesehen, orientieren sich die heutigen Rechenanlagen an der Struktur dieses klassischen Universalrechners. Der Rechner ist nach folgenden Prinzipien ... aufgebaut:”

3.1 Von-Neumann-Prinzipien

In [Duden88] heißt es weiter: „

  1. [Übersicht Von-Neumann-Rechner]Der Rechner besteht aus fünf Funktionseinheiten, dem Steuerwerk, dem Rechenwerk, dem Speicher, dem Eingabewerk und dem Ausgabewerk.
  2. Die Struktur des Von-Neumann-Rechners ist unabhängig von den zu bearbeitenden Problemen. Zur Lösung eines Problems muß von außen eine Bearbeitungsvorschrift, das Programm, eingegeben und im Speicher abgelegt werden. Ohne dieses Programm ist die Maschine nicht arbeitsfähig.
  3. Programme, Daten, Zwischen- und Endergebnisse werden in demselben Speicher abgelegt.
  4. Der Speicher ist in gleichgroße Zellen unterteilt, die fortlaufend durchnumeriert sind. Über die Nummer (Adresse) einer Speicherzelle kann deren Inhalt abgerufen oder verändert werden.
  5. Aufeinanderfolgende Befehle eines Programms werden in aufeinanderfolgenden Speicherzellen abgelegt. Das Ansprechen des nächsten Befehls geschieht vom Steuerwerk aus durch Erhöhen der Befehlsadresse um Eins.
  6. Durch Sprungbefehle kann von der Bearbeitung der Befehle in der gespeicherten Reihenfolge abgewichen werden.
  7. Es gibt zumindest
    - arithmetische Befehle wie Addieren, Multiplizieren, Konstanten laden usw.;
    - logische Befehle wie Vergleiche, logisches NICHT, UND, ODER usw.;
    - Transportbefehle, z.B. vom Speicher zum Rechenwerk und für die Ein-/Ausgabe;
    - bedingte Sprünge;
    - sonstige Befehle wie Schieben, Unterbrechen, Warten usw.
    Alle diese Befehle können in verschiedenen Adressierungsarten ausgeführt werden, ... [APPLET!]
  8. Alle Daten (Befehle, Adressen usw.) werden binär codiert. Geeignete Schaltwerke im Steuerwerk und an anderen Stellen sorgen für die richtige Entschlüsselung (Decodierung).

Die Rechnerarchitektur des Von-Neumann-Rechners fällt in die Klasse der SISD-Architekturen. ”

3.1.1 Das Steuerwerk

[Steuerwerk Duden Informatik]Die grundsätzlichen Funktionen eines Steuerwerkes wurden in 2.1.5 Steuerwerk erklärt. Die Funktionsweise des Steuerwerkes des Von-Neumann-Rechners (VNR) wird hier noch nicht erklärt, weil wir dann zu viele Punkte klären müßten, die in den folgenden Abschnitten beim Experimentieren mit einem „lebendigen" Von-Neumann-Rechner viel leichter klar werden. Nach der Simulation des VNR folgt Abschnitt 3.3 Nachbetrachtung: Steuerwerk, in dem wir wieder auf das Steuerwerk zurückkommen.

3.1.2 Das Rechenwerk

[Rechenwerk]Das Rechenwerk können wir, anders als das Steuerwerk, bereits hier eingehend untersuchen. Es besteht lediglich aus zwei Komponenten, die wir beide bereits kennengelernt haben: Der Akkumulator ist ein einfaches Register, die Rechenlogik und die Ablaufsteuerung (die die sogenannten flags erzeugt) bilden zusammen das, was wir als ALU kennen.
Typisch für das Konzept des Von-Neumann-Rechners ist der sparsame Umgang mit Registern – der Akkumulator ist das einzige Allzweckregister. Er ist als ein Operand an jeder Berechnung beteiligt und nimmt danach immer das Ergebnis auf (daher der Name – die Ergebnisse aufeinanderfolgender Berechnungen werden hier akkumuliert und bilden schließlich das Endergebnis).
Der zweite Operand wird während der Berechnung direkt über den Datenbus geliefert – weil keine weiteren Allzweckregister an diesen Bus angeschlossen sind, muß der Wert entweder direkt aus dem Hauptspeicher oder aus dem Befehlsregister stammen, das wir in 2.2 Computerprinzipien kennengelernt haben.
Die „Rechenlogik" meint hier ein Schaltnetz, das einige mathematische Funktionen realisiert. Die „Ablaufsteuerung" tut aber mehr, als nur die jeweils gewünschte Funktion auszuwählen – Akkumulator, Rechenlogik und Ablaufsteuerung bilden zusammen ein Schaltwerk, mit dessen Hilfe z.B. eine Multiplikation auf mehrere Additionen zurückgeführt werden kann. Die Erweiterung einer bestehenden ALU um die Multiplikation kostet damit praktisch nichts, eine Multiplikation mit n würde aber n-1 Mal so lange dauern, wie eine Addition; Alternativen wären das Hinzufügen eines (relativ großen) Schaltnetzes allein für die Multiplikation oder intelligente Mischformen.

3.1.3 Der Speicher

Simuliert und bei der Arbeit betrachtet werden kann der Speicher hier.[APPLET!]

3.1.4 Das Eingabe-/Ausgabewerk

Diese Bezeichnung steht im Konzept des Von-Neumann-Rechners für alle die Logik, die den Computer mit "draußen" verbindet. "Draußen" bedeutet dabei nicht „außerhalb des Gehäuses", sondern "nicht mehr zu dem eigentlichen, universellen VNR-Konzept gehörend". Eine Grafikkarte, für die allermeisten Rechner notwendiges Bauteil zur Kommunikation mit dem Benutzer, ist bereits "draußen" – und heutzutage bereits ein spezialisierter Rechner für sich. Zu dem Ein-/Ausgabewerk gehören also z.B. der PCI-Bus für Einsteckkarten ebenso wie ein SCSI-Interface zum Anschluß von Peripheriegeräten und auch "klassische" parallele (Drucker) und serielle (Maus) Schnittstellen.


Inwieweit der Von-Neumann-Rechner Grundlage heutiger Computer ist, sollte bis zum Ende dieses Abschnit-tes klar werden. Die Abschnitte 3.3 Nachbetrachtung: Steuerwerk, 3.5 Die Speicherhierarchie und 3.6 Konzepte zur Steigerung der Verarbeitungsleistung behandeln dann einige wichtige Erweiterungen des VNR-Konzeptes im Detail.
Obwohl die Struktur dieses klassischen Universalrechners also vielfach erweitert wurde, besonders, um die Verarbeitungsleistung zu erhöhen, orientieren sich nahezu alle heutigen Rechenanlagen an ihr. Sie wird, wenn überhaupt, dann von hochgradig parallel arbeitender Hardware für spezielle Anwendungsfälle durchbrochen.


John von Neumann (1903 bis 1957)
„US-amerikanischer Mathematiker österreichisch-ungarischer Herkunft; schuf die wesentlichen theoretischen Grundlagen für programmgesteuerte Automaten, denen heute alle Digitalrechner gehorchen; Begründer der Spieltheorie.“ [Lexikon91]


[vorheriger Abschnitt][nächster Abschnitt][Inhalt] Carsten Kelling 1996 ([EMail senden]); letzte Änderung: 17. September 1997