Die von Neumann Architektur (VNA) beschreibt einen grundlegenden Speicherprogrammierbaren Rechner. Sie war Revolutionär da erstmals verschiedene Programme unter der selben Hardware Architektur verwendet werden konnten.
Im Model Neumanns Kommunizieren fünf Teilelemente über einen Systembus miteinander:
- Eingabewerk (Eingabe des Anwender von erlaubten Zeichen)
- Speicherwerk (Speichert Programme und Daten)
- Ausgabewerk (Ausgabe der Ergebnisse)
- CPU:
- Rechenwerk (Führt die Berechnungen des Programmablaufes durch
- Steuerwerk (Steuerung der Programme gemäß den Anweisungen im Programm)
Neumansche Flaschenhals: Der Systembus kann immer nur ein Signal zur selben Zeit senden. Greifen mehrere Systemelemente gleichzeitig auf den Bus zu, führt dies zur Kollision und zur Vernichtung der Daten.
—> Nur eine Komponente kann gleichzeitig auf den Bus schreibend zugreifen
Engpass: Da die CPU die zu verarbeitenden Daten aus den Speicher anfordern und wieder ablegen muss, durch den Flaschenhals da die Verarbeitung des Bussystems jedoch länger dauert als die der CPU, minimiert sich die Geschwindigkeit. —> Durch Verwendung von Cashes und Multithreating kann dieser Effekt abgeschwächt werden.
Die von Neumann Architektur basiert somit auf dem EVA Prinzip:
Von Deadlyhappen - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=22633728
- Struktur eines Rechners unabhängig von Problemstellung -> Speicherprogrammierbar
- Speicher sind fortlaufend nummerierte Zellen von gleicher Größe -> Über Speicheradresse kann Inhalt abgerufen und verändert werden
- Daten/ Befehle/ Adressen werden binär codiert
- Programme = Folge von Anweisungen -> Sequenzielle Abarbeitung
Nächster Befehl wird von Steuerwerk aus angesprochen
Erhöht Befehlszähler +1
Befehl setzt sich aus OPCODE (auszuführende Operation) und Adressteil (Verweis auf die Daten, die der Code benötigt) zusammen
- Mit Sprungbefehlen kann von der Sequenziellen Abarbeitung abgewichen werden
Verarbeitung läuft nachfolgendem Schema ab:
- Abfrage von Programm
- Abfrage von Daten
- Ablage von Daten