PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Von Neumann Rechner


Mr.Fency Pants
2004-03-21, 12:18:45
Hi.

Kann mir hier jemand die Funktionsweise des Neumann Rechners erklären? Aufbau, etc. kenne ich, mich würde jedoch interessieren, was genau zwischen CPU, Daten, Adressbus, etc. abläuft. Bei Sachen, die ich über Google gefunden habe, ist es entweder zu simpel oder zu kompliziert erklärt.

Stone2001
2004-03-21, 12:46:37
Kannst du mal einen Link posten, der es zu kompliziert erklärt? Vielleicht kann ich dir dann weiterhelfen! (Denn ich habe im Augenblick keine Ahnung, was du genau wissen willst.)

Das Funktionsprinzip eines Von-Neumann-Rechners ist recht schnell erklärt. Es gibt prinzipiell drei Phasen.
1.) Holphase: Hier wird der Befehl und die dazu gehörenden Operanden aus dem Arbeitsspeicher geholt und in die entsprechenden Register gelegt.
2.) Verarbeitungsphase: Hier wird der Befehl abgearbeitet.
3.) Ablegephase: Das Ergebnis der Operation wird zurück in den Arbeitspeicher gelegt.

Magnum
2004-03-21, 13:20:36
Original geschrieben von Stone2001
Kannst du mal einen Link posten, der es zu kompliziert erklärt? Vielleicht kann ich dir dann weiterhelfen! (Denn ich habe im Augenblick keine Ahnung, was du genau wissen willst.)

Das Funktionsprinzip eines Von-Neumann-Rechners ist recht schnell erklärt. Es gibt prinzipiell drei Phasen.
1.) Holphase: Hier wird der Befehl und die dazu gehörenden Operanden aus dem Arbeitsspeicher geholt und in die entsprechenden Register gelegt.
2.) Verarbeitungsphase: Hier wird der Befehl abgearbeitet.
3.) Ablegephase: Das Ergebnis der Operation wird zurück in den Arbeitspeicher gelegt.
Ich glaube, du verwechselst da etwas!!

Ein von-Neumann-Rechner ist im Prinzip ein PC, bei dem alle wichtigen Systemkomponenten, wie CPU, Arbeitsspeicher, Festplatten, ... an einem einzigen zentralen Systembus hängen! Und nur ein Gerät kann pro Taktzyklus auf den Bus zugreifen!

Mr.Fency Pants
2004-03-21, 13:48:26
Link hab ich leider nicht mehr.

Will halt nur wissen, was genau passiert, wenn eine Eingabe/Anfrage stattfindet. Wie da die Daten, etc. über die verschiedenen Busse gehen, wohin das Rechenwerk und Steuerwerk die Daten schieben. Also wann was auf welchen Bus gegeben wird und wohin die Daten, und Adressen gehen.

cereal
2004-03-21, 15:18:23
@Mr.Fency Pants
du machst nicht zufällig BG Datenverarbeitungstechnik?
Das Thema kommt mir sehr bekannt vor :)


mfg

Mr.Fency Pants
2004-03-21, 15:56:14
Ne, Ausbildung zum FISI, von Neumann Rechner kommt demnächst in der ANW Klausur, da wollte ich das vorher nochmal für durchgehen.

Stone2001
2004-03-21, 16:10:49
Original geschrieben von Magnum
Ich glaube, du verwechselst da etwas!!
Glaube ich kaum! ;)
Aber du hast recht, der Von-Neumann-Rechner wird eigentlich nur dazu verwendet, einem den Aufbau eines universellen Rechner beizubringen, nicht deren Funktionsweise.

MoP
2004-03-21, 16:14:00
Original geschrieben von Mr.Fency Pants
Hi.

Kann mir hier jemand die Funktionsweise des Neumann Rechners erklären? Aufbau, etc. kenne ich, mich würde jedoch interessieren, was genau zwischen CPU, Daten, Adressbus, etc. abläuft. Bei Sachen, die ich über Google gefunden habe, ist es entweder zu simpel oder zu kompliziert erklärt.

Was mußt Du denn genau wissen, die klassischen Von-Neumann Prinzipien oder die Abarbeitung eines Programmbefehls innerhalb der Von-Neumann Architektur?

Mr.Fency Pants
2004-03-21, 16:21:56
Eigentlich beides. Z.B. was genau passiert, wenn eine Eingabe stattfindet. So ähnlich, als würde man anhand einer Skizze zeigen, wie das Ganze abläuft. Z.B. erst wird eine Eingabe vorgenommen, dann legt das Steuerwerk die Adresse auf den Adressbus, dann wird der Befehl Lesen auf den Steuerbus gelegt, etc.

Habe da nur eine grobe Vorstellung, wie das alles funktioniert und das will ich halt noch etwas vertiefen.

Gast
2004-03-21, 16:51:58
Havard

Stone2001
2004-03-21, 19:04:58
Original geschrieben von Gast
Havard
Was will uns dieser Gast wohl damit sagen? ;)

GloomY
2004-03-21, 19:20:03
Also von Neuman Rechner sieht ungefähr so aus (aus'm Kopp ;) ): Es gibt eine CPU, einen Speicher und die Peripherie (Ein- und Ausgabe). Diese Komponenten sind durch einen bidirektionalen Systembus verbunden, auf den prioritätsgesteuert zugegriffen wird. Die Abarbeitung eines Befehls geschieht wie Stone2001 schon erwähnt hat mit dem "Von-Neumann-Operationszyklus" (kurz ausgedrückt: Befehl holen, verarbeiten, zurückschreiben).

edit: Noch was gefunden: http://www.tecchannel.de/hardware/375/
Original geschrieben von Stone2001
Was will uns dieser Gast wohl damit sagen? ;) ...dass Harvard nicht gleich von-Neumann ist?!

Bei der Harvard-Architektur gibt es unterschiedliche Speicherbereiche für Daten und Befehle, wobei auf den Befehls-Speicher nur lesend zugegriffen werden kann. Es ist also eine Erweiterung der Von-Neumann Architektur. Diese findet man heutzutage noch in Caches. Wenn diese zwischen Daten- und Code- aufgeteilt sind (so wie praktisch alle L1 Caches heutiger Prozessoren), dann spricht man eben von einer "splitted-" oder "Hardvard"-Cache Architektur.

Magnum
2004-03-21, 19:28:57
Original geschrieben von GloomY
Bei der Harvard-Architektur gibt es unterschiedliche Speicherbereiche für Daten und Befehle, wobei auf den Befehls-Speicher nur lesend zugegriffen werden kann. Es ist also eine Erweiterung der Von-Neumann Architektur. Diese findet man heutzutage noch in Caches. Wenn diese zwischen Daten- und Code- aufgeteilt sind (so wie praktisch alle L1 Caches heutiger Prozessoren), dann spricht man eben von einer "splitted-" oder "Hardvard"-Cache Architektur.
Du hast hierbei aber etwas ganz wichtges vergessen! Und zwar gibt es nicht nur getrennte Speicherbereiche für Code und Daten, sondern auch 2 getrennte Systembusse, damit gleichzeitig Befehle und Daten geladen werden können!

GloomY
2004-03-21, 19:33:54
Original geschrieben von Magnum
Du hast hierbei aber etwas ganz wichtges vergessen! Und zwar gibt es nicht nur getrennte Speicherbereiche für Code und Daten, sondern auch 2 getrennte Systembusse, damit gleichzeitig Befehle und Daten geladen werden können! Naja, das ist eher nebensächlich. Hier geht es um grundlegende Architektur-Entscheidungen und nicht um die Geschwindigkeit einer bestimmten Verwirklichung.

Alan Turing hat sich sicher auch eine schnellere Maschine als die nach ihm benannte vorstellen können, aber darum ging es eben nicht in erster Linie. ;)

edit: ROFL, was sie schon immer über Neumann-Architektur (http://www.neumann-architektur.de/) wissen wollten ;D :lol:

Magnum
2004-03-21, 20:05:17
Original geschrieben von GloomY
Naja, das ist eher nebensächlich. Hier geht es um grundlegende Architektur-Entscheidungen und nicht um die Geschwindigkeit einer bestimmten Verwirklichung.

Nein, eben nicht! Die Architektur, wie du sie nämlich beschreibst - nur getrennte Bereiche für Code und Daten - ist ja nichts anderes als eine Von-Neumann-Architektur. Wie man seine Speicher jetzt benennt ist letztendlich egal!
Das Merkmal der Havard-Architektur ist halt mal die zwei getrennten Busse! Nachzulesen: hier (http://wiki.mikrocontroller.net/Harvard-Architektur.htm)

GloomY
2004-03-21, 20:32:49
Original geschrieben von Magnum
Nein, eben nicht! Die Architektur, wie du sie nämlich beschreibst - nur getrennte Bereiche für Code und Daten - ist ja nichts anderes als eine Von-Neumann-Architektur.Nein, bei vN hast du Daten und Code in ein und dem selben Speicher, mit vollem Lese- und Schreib-Rechten sowohl für Code als auch Daten.

Mit vN kannst du selbstmodifizierenden Code schreiben, mit Hardvard nicht.
Original geschrieben von Magnum
Wie man seine Speicher jetzt benennt ist letztendlich egal!
Das Merkmal der Havard-Architektur ist halt mal die zwei getrennten Busse! Nachzulesen: hier (http://wiki.mikrocontroller.net/Harvard-Architektur.htm) Na schön, ich kann mich nicht daran erinnern, dass das explizit dazu gehört. Aber von mir aus... ;)