Von-Neumann-Architektur

Heyho Leute,

ich habe folgende Frage:

Kann mir jemand die Von-Neumann-Architektur an einem konkreten Beispiel erklären?
Ich habe nur den losen Zusammenhang von Rechenwerk, Steuerwerk, Speicherwerk, Bus-System und Ein-/ Ausgabewerk.

Wäre toll wenn ihr mir da behilflich sein könntet. Vielen Dank!

Bis Dahin :smile:

Wenn Du das hier durchliest, was genau sind dann Deine Fragen?

Hallo Bis Dahin :smile:

Von-Neumann ist die universellste, aber nicht die schnellste Variante.

Es gibt nur einen Adress-/Datenbus und zwischen Daten und Programm gibt es keinen Unterschied.
Man kann also den Speicher voll auslasten, als ein grosses Programm mit wenig Daten oder ein kleines Programm mit wenig Daten, kann ohne Umbau auf der selben Hardware ausgeführt werden. Durch die fehlende Unterscheidung in Daten und Programm, kann man auch selbst modifizierenden Code erzeugen.
Allerdings ist der Bus auch das Nadelöhr, entweder kann Code gelesen oder Daten können geschrieben/gelesen werden, aber alles immer schön nacheinander.
Die typische Harvard-Architektur hat zwei getrennte Speicherbereiche für Daten und Programm und je einen eigenen Bus. Man kann also gleichzeitig das Programm lesen und Daten schreiben/lesen. Die Architektur ist also, bei gleichem Takt, schneller. Allerdings muss man die Hardware umbauen, wenn man ein zu grosses Programm hat, obwohl genügend freier Datenspeicher vorhanden wäre. Im einfachsten Fall kann man Speicherbänke umstecken.
Extreme Harvard-Architekturen haben dann getrennte Buse für Programm, Daten, Programm-Stack, Register-Stack, I/O und was weiss ich noch. Dadurch erreicht man schon einiges an Geschwindigkeit, weil man parallel arbeiten kann.

Allerdings sind heutige Von-Neumann-Architekturen selten als reine Variante anzutreffen. Meist hat das Registerfile einen eigenen Bus. Manche µC haben einen getrennten Bereich für den Interrupt-Stack, welcher dann nur eine Verschachtelung von 4 oder 8 Ebenen zulässt.
Es gibt aber auch noch andere Mischformen. Die x86-Familie hat zwar hardwaremässig nur einen Bus an diesen hängt aber noch ein I/O-Bereich. Auf diesen I/O-Bereich kann aber nur mit einigen wenigen, speziellen Befehlen zugegriffen werden.

Manche CPUs mit Von-Neumann-Architektur simulieren eine Harvard-Architektur per Software, bzw. MMU. Per Software-Konfiguration können die Bereiche für Daten und Programm festgelegt werden und entsprechende Befehle funktionieren nur noch im entsprechenden Bereich.

Man muss also noch Unterscheiden ob die Architektur auf Hardware- oder Software-Ebene betrachtet wird.

MfG Peter(TOO)