Von Neumann Architektur
Von-Neumann-Architektur
Von-Neumann-Architektur
- ist die heute gängige Art wie Rechner aufgebaut sind.
- nach John von Neumann benannt, obwohl nicht ganz klar ist ob er oder Konrad Zuse mehr zur Entwicklung der modernen Computertechnik beigetragen haben.
Universelle Rechenmaschine
- Vorher: Spezielle Maschinen für bestimmte Aufgaben
- Idee: Bauen wir eine Maschine die beliebige Aufgaben (Programme) ausführen/berechnen kann.
- Unterschied zu anderen Architekturen: Programm (Logik) und Daten sind im selben Speicher und nicht getrennt voneinander.
EVA-Prinzip
- Funktionsgruppen für
- Eingabe
- Verarbeitung
- Ausgabe
- Verarbeitung erfolgt streng sequenziell (nacheinander)
- Das Ergebnis einer Operation kann so eindeutig vorausgesagt werden.
Funktionseinheiten
- Rechenwerk
- Steuerwerk
- Speicher
- Ein- und Ausgabeeinheit
CPU
- Dort sind wesentliche Teile der Von-Neumann Architektur in einem zentralen Baustein zusammengefasst.
- Kontrolliert den Datenfluss zwischen den einzelnen Funktionseinheiten.
- Die Daten kommen aus dem Arbeitsspeicher oder den angeschlossenen Geräten (Tastatur, Laufwerke, etc.)
- CPU verarbeitet Daten, danach werden sie an den Arbeitsspeicher oder angeschlossene Geräte gesendet.
Funktionsweise CPU
- Lädt einen Befehl aus dem Arbeitsspeicher
- Führt Befehl aus
- Lädt nächsten Befehl
- Ziel: Berechnen und verschieben von Daten
Befehlssatz
- Eine CPU verfügt über eine gewisse (beschränkte) Menge an Operationen die sie ausführen kann. (= Befehlssatz)
- Addieren
- Subtrahieren
- Daten aus Register laden
- Daten in Register schreiben
- …
- Über einen Maschinencode (Kombination aus Nuller und Einser) wird festgelegt welcher Befehl ausgeführt wird.
Beispiel Maschinencode
Quelle: https://de.wikipedia.org/wiki/Maschinensprache
Nachteile
- Die Von-Neumann Architektur hat in ihrer ursprünglichen Form ein paar Probleme, die eine effiziente Ausführung verhindern.
Verbesserungen
- Hierarchisch gegliederte Speicherstruktur (Register und verschiedene Speicherebenen)
Verbesserungen (2)
- Feinere Aufteilung der Funktionseinheiten
- Erweiterung der Befehlssätze
- Mehrprozessorsysteme
Funktionseinheiten der CPU
Einheit | Aufgabe |
---|---|
IDU - Instruction Decode Unit | Befehlsdecoder. Befehle die den Prozessor als Programm erreichen werden in Mikrocode übersetzt und an ausführende Einheit übergeben |
EXU - Execution Unit | Ausführungseinheit. Führt Befehle die in Mikrocode vorliegen aus. |
COL - Control Logic | Kontrolleinheit. Sorgt für Kontrolle im Ablauf der Mikrocodes |
BIL - Bus Interface Logic | Bussteuereinheit. Überwacht und steuert den Bus |
ALU - Arithmetic Logic Unit | Arithmetisch-logische Einheit. Addition, Subtraktion, Multiplikation, Division und logische Operationen (UND, ODER, NICHT) |
FPU - Floating Point Unit | Fließkomma-Rechner. Berechnung mit Fließkommazahlen |
DC - Data Cache | Daten-Cache-Speicher. Schneller Zwischenspeicher |
CC - Code Cache | Befehls-Cache-Speicher. Schneller Befehlszwischenspeicher |