In meinem Schulbuch steht, dass die Abarbeitung eines Assemblerbefels innerhalb eines Maschinenzyklus geschieht. Ein Maschinenzyklus setze sich allerdings aus 4 Taktzyklen zusammen. Wie muss man das denn verstehen? Warum sind es ausgrechnet 4 Taktzyklen und nicht 5? Hat das was mit dem Fetch-Decode-Execute-Zyklus zutun? Vielen Dank für eure Hilfe.
Torben schrieb: > Ein Maschinenzyklus setze sich allerdings aus 4 Taktzyklen zusammen. Das trifft nur auf bestimmte alte Architekturen zu. Aktuelle Prozessoren können sogar pro Takt mehrere Befehle abarbeiten (z.B. "Dual-Issue", Superskalare Verarbeitung). Das hängt alles stark vom Modell ab.
Na! Es wird wohl kaum nur dieser eine Satz dastehen, oder?. Am besten mal die Seite posten. Dann kann man das Thema mal "aufbauen". Diese 4 stimmt für eine bestimmte Struktur. Vermutlich ein hypothetisches Modell einer CPU, die im Rahmen des Schulbuches wohl auch erklärt wird. Eine feste Regel ist das nicht. Das hat tatsächlich mit dem Fetch-Decode-Execute-Zyklus zu tun. Sollte auch in dem Schulbuch erklärt sein. Es gibt eine Reihe verschiedener Varianten bei denen die Anzahl der Takte als auch die Abfolge und Verschränkung des F-D-E-Zyklus mit der Ausführung und dem nachfolgenden F-D-E-Zyklus in verschiedener Weise gestaltet sind. Allgemeine Antworten gibt es darauf nicht.
Torben schrieb: > Ein Maschinenzyklus setze sich allerdings aus 4 Taktzyklen zusammen. Das tut es bei einer ganz bestimmten CPU aus dem Lehrbuch. Bei einer Z80 bestand der erste Maschinenzyklus der Abarbeitung aus 4 Taktzyklen, weitere Zyklen von Befehlen aber aus nur 3 Takten. Beim 6502 Prozessor hingegen bestanden alle Maschinenzyklen aus nur einem Takt, während es beim 8051 gleich 12 waren.
Was im Schulbuch steht, ist zweifelsfrei richtig. Und es ist das was der Lehrer hoeren will. Und es hat ueberhaupt keinen Sinn, den Lehrer vom Gegenteil ueberzeugen zu wollen. Fuer Details warum es gerade vier sind, kannst du auf die Datenblaetter der Firma Mikrotschip zurueckgreifen.
Bitte keine Zitate aus dem Zusammenhang reißen! >In meinem Schulbuch steht, dass die Abarbeitung eines Assemblerbefels >innerhalb eines Maschinenzyklus geschieht. Ein Maschinenzyklus setze >sich allerdings aus 4 Taktzyklen zusammen. Die Aussage trifft auf den XXX-Prozessor der Firma YYY zu. Eine Verallgemeinerung sollte man sich verkneifen. Ich bin mir nicht ganz sicher, aber anno Z80 traf das auch mal zu. So brauchen z.B. einige Atmels nur einen Takt pro Befehl und trotzdem bei anderen Befehlen zwei oder mehr. Bei etwas komplexeren Prozessoren, lässt sich das sowieso nicht mehr vorhersagen. Da werden einzelne Befehle in Sub-befehle zerlegt und in einer prefetch queue sozusagen vorgekaut. Das hat dann genau soviel mit dem nobel Essen im Restaurant zutun, wie das was später im Magen ankommt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.