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
flowchart TB ea["Eingabe/Ausgabe"] subgraph . direction TB sw[Steuerwerk] r[Rechenwerk] s[Speicher] i["Schnittstelle (Bussystem)"] end ea["Eingabe/Ausgabe"] sw <--> i r <--> i s <--> i ea --> i i --> ea
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 |