|
Das von-Neumann-Prinzip und seine Bedeutung
Um die Bedeutung des von John von Neumann (John von Neumann war ein ungarisch-amerikanischer Mathematiker, Physiker, Erfinder, Informatiker und Universalgelehrter) entwickelten Prinzips für die Weiterentwicklung von Computern und Computerarchitekturen besser zu verstehen, sollte man sich zunächst dessen Struktur und Funktionsweise genauer ansehen. Das Prinzip des von Neumann-Computers
Von Neumann begründete mit der Entwicklung seines Computers grundlegende Prinzipien, die bis heute Bestand haben.
Die Struktur eines von Neumann-Rechners besteht in etwa aus einer Steuereinheit, einem Rechner (zusammen bilden sie die Zentraleinheit, heute CPU genannt (Eine Zentraleinheit ist die elektronische Schaltung innerhalb eines Rechners, die die Befehle eines Computerprogramms ausführt, indem sie die grundlegenden arithmetischen, logischen, Steuer- und Ein-/Ausgabeoperationen ausführt, die in den Anweisungen angegeben sind)), einem Speicher und Ein- und Ausgabegeräten, die alle eine Verbindung (heute Bus genannt) zueinander haben. Dies ist das so genannte Prinzip des minimalen Hardwareaufwands, bei dem keine Komponente zur
Erfüllung der Aufgaben ausgelassen werden darf.
Programmbefehle und Daten können über die Ein- und Ausgabegeräte eingegeben und ausgegeben werden. Das eingegebene Programm macht den Computer betriebsbereit. Die Programmbefehle und Daten
sind binär codiert und werden im Shared Memory gespeichert (In der Informatik ist Shared Memory ein Speicher, auf den mehrere Programme gleichzeitig zugreifen können, um eine Kommunikation zwischen ihnen zu ermöglichen oder redundante Kopien zu vermeiden). Die Befehle sind fortlaufend nummeriert und werden nacheinander abgearbeitet. Ein Befehlszähler in der Steuerung zeigt die Position im Speicher an, aus der ein Befehl entnommen werden soll. Die Zentraleinheit liest die Befehle aus dem Speicher und bestimmt so die auszuführenden Operationen. Die Steuereinheit dekodiert und interpretiert die zu verarbeitenden Befehle und der Rechner (Ein elektronischer Rechner ist ein kleines, tragbares elektronisches Gerät zur Ausführung von Operationen von der Grundrechenart bis zur komplexen Mathematik) führt sie aus. Das Ergebnis wird zurück in den Speicher transportiert. Der Befehlszähler wurde erhöht und enthält nun die binäre Speicheradresse (Bei der Berechnung ist die Speicheradresse ein Datenkonzept, das auf verschiedenen Ebenen von Software und Hardware verwendet wird, um auf den Hauptspeicher des Computers zuzugreifen) des nächsten auszuführenden Befehls. Der Prozess beginnt dann wieder mit der Übertragung des Befehls. Die Ausgabe erfolgt über die Ausgabegeräte durch Abfrage der Daten oder Ergebnisse oder durch Ausgabebefehle.
Die Bedeutung des von-Neumann-Prinzips
Die Frage ist jetzt: Warum war das von Neumann-Prinzip für die Weiterentwicklung der Datenverarbeitung so wichtig? Ein großer Vorteil des von Neumann-Prinzips war, dass die Programmbefehle zusammen mit den Daten im Speicher abgelegt werden konnten. Dadurch wurde das mühsame Umstecken und Neuverdrahten von Kabeln außerhalb des Rechners, wie es bei Computern mit Relais- oder Röhrentechnik für Programmwechsel üblich war, vermieden. Damit wurden die Lochkarten, auf denen die Programmbefehle vorher gespeichert waren, überflüssig und die daraus resultierenden Geschwindigkeitsbeschränkungen beseitigt. Auch der einfache Binärcode wurde sinnvoll verwendet, da die Kombination der Zahlen 0 und 1 zur einfachen Adressierung der Speicherplätze im Speicher verwendet wurde und somit jede gespeicherte Information exakt ermittelt und gesteuert werden konnte. Aufgrund des Prinzips des minimalen Speicheraufwands, der Speicherung von Programmbefehlen und Daten in einem Speicher, waren Sprunganweisungen zur Abweichung von der gespeicherten Reihenfolge ebenso möglich wie Verzweigungen im Programmablauf. Die Programme konnten nun bei Bedarf geändert und die Daten variabel gespeichert und verändert werden. Auswahlbedingungen (z.B. Bedingungen, die zur Ausführung eines Befehls erforderlich sind) können ebenfalls angewendet und ausgeführt werden, und Programmschleifen (in der Informatik ist der Kontrollfluss die Reihenfolge, in der einzelne Anweisungen, Anweisungen oder Funktionsaufrufe eines imperativen Programms ausgeführt oder ausgewertet werden) können implementiert und verwendet werden. Dies machte den Computer aufgabenunabhängig und wesentlich flexibler in der Programmierung.