Seite 1 von 1

CPI vom Eintakt-Prozessor = 1 ?

Verfasst: 11. Feb 2010 13:10
von daniel_b
Hi,

kurze, vielleicht blöde Frage: Wieso war die ganze Zeit die Rede davon, dass der Eintakt-Prozessor jede Instruktion in einem Takt abarbeitet? Selbst wenn die Register, Speicher etc. asynchron gelesen werden können und sonst alles kombinatorisch läuft, brauche ich doch zum Schreiben einen zweiten Takt? Zumindest war das doch der einzige Nutzen der CLK-Eingänge auf dem Schaltplan.

Alle Ergebnisse, ALU, Sprungadressen, etc. sind am Ende des Takts da, aber übernommen werden sie erst beim zweiten. Wieso ist die CPI vom Prozessor trotzdem 1?

Re: CPI vom Eintakt-Prozessor = 1 ?

Verfasst: 11. Feb 2010 13:27
von jack_90
Ich vermute mal, dass das Schreiben der Daten parallel zur Ausführung des 2. Befehls abläuft.
Wenn der MIPS dann erstmal läuft, schafft er jeden Takt eine Instruktion, also CPI = 1.

Re: CPI vom Eintakt-Prozessor = 1 ?

Verfasst: 11. Feb 2010 13:30
von salted
daniel_b hat geschrieben:Wieso war die ganze Zeit die Rede davon, dass der Eintakt-Prozessor jede Instruktion in einem Takt abarbeitet?
Weil es so ist. :oops:
daniel_b hat geschrieben:Selbst wenn die Register, Speicher etc. asynchron gelesen werden können und sonst alles kombinatorisch läuft, brauche ich doch für alle Schreib-Operationen einen zweiten Takt? Alle Ergebnisse, ALU, Sprungadressen, etc. sind am Ende des Takts da, aber übernommen werden sie erst beim zweiten. Wieso ist die CPI vom Prozessor trotzdem 1?
Die kombinatorischen Ergebnisse sind bereits vor der (ersten und einzigen) positiven Taktflanke da! Folglich wird nur ein Takt pro Befehl benötigt, zu welchem die Ergebnisse der Kombinatorik dann in das Registerfeld, den Speicher und den Programmcounter geschrieben werden.

Re: CPI vom Eintakt-Prozessor = 1 ?

Verfasst: 11. Feb 2010 13:41
von daniel_b
Aber dennoch ist das dann die selbe Flanke, die auch schon die nächsten Daten rausgibt. Also wird, wie im Post über dir gesagt, parallel gelesen und geschrieben.