Diskussion:Von-Neumann-Zyklus
bitte schauen, ob Änderungen von Benutzer 193.170.123.130 korrekt sind - alle anderen Beiträge von dieser IP an diesem Tag sind Vandalismen. --Joscha Feth 11:53, 3. Mai 2005 (CEST)
Prefetching hinzugefügt. Leider kapiert die Seite meinen Login nicht. (Beanpole) --82.135.75.177 14:19, 11. Mär 2006 (CET)
Ist "UPDATE INSTRUCTION POINTER" als Schritt 5 so wirklich richtig? Dass der Instruction Pointer/Programm Counter irgendwann hochgezählt werden muss ist klar, aber wäre nicht auch irgendwann eine Art writeback angebracht? Sonst kommen die Ergebnisse der Berechnungen nie aus der CPU raus... --84.158.4.100 18:28, 2. Okt 2006 (CEST)
"UPDATE INSTRUCTION POINTER" sollte vor dem "EXECUTE" Befehl stehen, da dieser wie im Text beschrieben den Befehlszähler danach erneut verändern kann. Artikel entsprechend geändert.
Merkwürdig: UPDATE INSTRUCTION POINTER
BearbeitenDiese UPDATE INSTRUCTION POINTER-Phase kommt mir spanisch vor. Das ist doch keine eigene Stufe? Die fünfte Stufe sollte im Allgemeinen doch eher soetwas wie WRITE BACK sein. Der Instruction Pointer wurde bereits in der FETCH-Phase geupdatet.
Ich habe das mal geändert. Ist ein Spezialist an Bord, der mehr dazu sagen kann, z.B. auch zu Unterschieden bei verschiedenen Architekturen? ʘχ 23:45, 22. Feb. 2012 (CET)
WRITE BACK
BearbeitenIch denke der 5. Schritt wurde verschlimmbessert. Bei der Erläuterung des Zyklus beim Prozessor ist das Ganze sinniger. Bei externen Quellen habe ich bisher nur Unstimmigkeiten zu diesem Thema gefunden. Hat von Neumann eine Publikation in welcher der Zyklus beschrieben ist? (nicht signierter Beitrag von 82.198.215.145 (Diskussion) 08:27, 28. Apr. 2014 (CEST))
Ich sehe das auch so. Für das Zurückschreiben in den Arbeitsspeicher braucht es eine Zieladresse. Es ist unklar, wo die herkommen soll, wenn die CPU am Ende einer Berechung das Ergebnis unmittelbar in den Arbeitsspeicher zurückschreiben soll. Ich arbeite mit dem Simulator MOPS, der auch als weiterführender Link im Artikel angegeben ist, und da braucht man einen eigenen Befehl zum Zurückschreiben und es läuft ein komplett neuer von-Neumann-Zyklus ab.
Eine weitere Erklärungsmöglichkeit wäre, dass sich das Write-Back in den Arbeitsspeicher nur auf die store Befehle bezieht. Hier https://www.tecchannel.de/a/prozessorgrundlagen-von-neumann-architektur-teil-3,402319,16 klingt es so, als wäre das so. Ich dachte bisher immer, dass das für store Befehle die execute Phase betrifft, könnte mir aber auch vorstellen, dass es dafür eine eigene Phase gibt.
Hier https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.050/vorlesungen/wise1415/gdra/GdRA-falk-WS1415-6-Rechnerarchitektur.pdf ist von Hauptspeicher in der Write-Back Phase nichts zu lesen. Da wird nur von Schreiben in die Register gesprochen.
Ansonsten wird von Write-Back auch im Zusammenhang mit dem CPU-Cache gesprochen. http://dud.inf.tu-dresden.de/~ef1/informatik/vkinf1_03_1s.pdf Evtl. hat das Write-Back im von-Neumann Zyklus auch damit zu tun. (nicht signierter Beitrag von Rene hof (Diskussion | Beiträge) 22:22, 11. Feb. 2020 (CET))
- Generell ist zu beachten, dass es sich beim sogenannten „Von-Neumann-Zyklus“ nur um die Darstellung des prinzipiellen Ablaufs in einer einfachen (!) Von-Neumann-Maschine auf dem Niveau der Befehlssatzarchitektur handelt. Als dieses Schema entstand, bildete es durchaus die Implementierung einer CPU richtig ab. Aber von einem Cache war damals noch nicht die Rede. Tatsächlich gab es auch noch kein Bussystem, das leider in der (modernen) Literatur fälschlicherweise immer wieder als „notwendig“ angegeben wird.
- Die letzten drei Phasen des Von-Neumann-Zyklus müssen nicht bei jeder Befehlsart alle ausgeführt werden. Viele arithmetisch-logische Befehle der aktuellen CPUs schreiben tatsächlich ihr Ergebnis nicht in den Hauptspeicher (HS) zurück. Das macht später ein getrennter Speicherbefehl, bei dem nur die WriteBack-Phase interessiert und deshalb der Operandenabruf fehlt und die Executephase „verkümmert“ ist. Andererseits wird bei Mehradressmaschinen das Ergebnis normalerweise sofort in den HS geschrieben. Aber auch alle modernen Prozessoren besitzen Befehle, die ihr Ergebnis sofort wieder in den HS schreiben, beispielsweise der auf einen Speicherplatz bezogene Inkrement-Befehl oder der Exchange-Befehl. Das ist weder selten noch wird dafür spezielle Hardware benötigt. Um eine zusätzliche Adressangabe im Befehl zu sparen, wird das Resultat auf den gleichen Platz eines Operanden „zurückgeschrieben“ (write back).
- Beim Holen von Daten und beim Zurückschreiben geht es deshalb immer um das Lesen aus oder das Schreiben in den HS, weil (insbesondere in „früheren Zeiten“) ein Speicherzyklus meist viel länger dauert, als ein innerer Verarbeitungszyklus oder ein Zugriff auf den Registerspeicher und deshalb das Verhalten der CPU dominiert (Von-Neumann-Flaschenhals). --Reseka (Diskussion) 17:47, 13. Feb. 2020 (CET)
Was spricht dagegen, den Punkt 2 von Reseka in den Hauptartikel direkt unterhalb der Aufzählung der Phasen einzufügen. Das klingt für mich plausibel und macht es eindeutig. René (nicht signierter Beitrag von 194.95.60.101 (Diskussion) 15:07, 27. Mär. 2020 (CET))
Änderungsbedarf
Bearbeiten- Der mittlere Weblink funktioniert nicht.
- Das Bild zeigt nicht den Von-Neumann-Zyklus, sondern höchstens die Von-Neumann-Architektur (und die aber sehr schlecht).
- RAM- und ROM-Unterscheidung spielt bei dieser Prinzipdarstellung keine Rolle. Allgemein spricht man vom Hauptspeicher (im Gegensatz zu Register- und externen Speichern).
Quellenangaben
BearbeitenIch verstehe wie der Artikel auch aus dieser Diskussionsseite heraus historisch gewachsen ist, trotzdem sollten einige Behauptungen jedoch mit Quellen versehen werden. Lassen sich zu den Aussagen denn Literaturquellen finden?
Insbesondere die Passage zur Intel Haswell Architektur.