Prüfungsfrage - Wie lange braucht eine CPU für eine Addition?

vandread

Lt. Commander
Registriert
Nov. 2004
Beiträge
1.380
hallo leute...

ich bin gerade am lernen für meine ganzen prüfungen und bei den alten prüfungen ist mir eine prüfungsaufgabe über den weg gekommen die etwas "anders" ist...

Wie viel Zeit benötigt eine morderne CPU (z.B. Intel Pentium Prozessor) für die Addition von Zwei Zahlen vom Typ int ungefähr?

die aufgabe macht auf mich einen sehr komischen eindruck, sie stammt aus dem prüfungsfach informatik, für mich geht das schon in richtung betriebssysteme oder computerarchitektur...

wie auch immer (:

ich hab leider keinen plan wie ich das lösen soll meine wissen über cpus und wie sie funktionieren ist eigentlich nur relativ simpel...

meine idee ist einfach:

ein cpu mit 1hz kann eine operation in einer 1 sek durchführen...
sagen wir die moderne cpu hat 3ghz dann würde sie für eine operation ca. 0,001 mikro sekunden brauchen...

meine idee ist sicher falsch oder total grob ^^
mich stört einfach das in der aufgabe auf eine addition eingegagen wird und das es sich speziell dabei um zwei int handelt... also muss man das doch irgendwie anders machen ^^

jemand eine idee?
 
also deine cpu teilt jede operation in 3 phasen:

1)hole informationen aus dem register und schiebe sie in die ALUs
2)für die rechenoperation in der ALU durch
3)schreibe das ergebnis wieder in das register

bei mikroprozessoren kann jeweils eine operation pro takt ausgeführt werden.
3,0 ghz -> 3x10^-9sec also drei nanosekunde pro takt. bei jedem takt werden jetzt schalter geöffnet oder geschlossen um gewisse aufgabe durchzuführen.
dabei wird ein schaltbefehl (aus 49 bit) an den prozessor gegeben. d.h. es können auch mehrere(rechnungen) pro takt ausgeführt werden.
deshalb wäre meine frage auf deine frage: maximal 3 nanosekunde (bei 3 ghz) aber mittlerweile wahrscheinlich deutlich drunter.
 
bregas schrieb:
also deine cpu teilt jede operation in 3 phasen:

1)hole informationen aus dem register und schiebe sie in die ALUs
2)für die rechenoperation in der ALU durch
3)schreibe das ergebnis wieder in das register

Eigentlich sind es traditionell 4 Schritte:
  • Fetch
  • Decode
  • Execute
  • Writeback

die Aufgabe ist aber viel zu schwammig, da sie wirklich absolut von der CPU-Architektur abhängt.
 
3, maximal 4 takte.
 
Bei der Annahme von 4 Takten kann man die Zeit berechnen in Form einer allgemeinen Formel angeben:

Zeit = a/n

a = Anzahl der Takte für die Addition
n = Takte des Prozessors pro Sekunde

So kann man bei der Annahme eines Taktes von 3 GHz die Zeit ausrechnen:

Zeit = 4 Takte / 3.000.000.000 Takte / Sekunde = 1,33E-8 Sekunden
 
Für eine Addition braucht eine moderne Intel-CPU >20 Takte. Für mehrere Additionen hintereinander die nicht voneinander abhängen im Durchschnitt <1 Takt pro Addition.
Das liegt an der heutzutage sehr langen Pipeline und der Superskalarität. Diese Konzepte bringen aber erst bei mehreren Befehlen Vorteile, da die Pipelines ja erstmal gefüllt werden müssen.
 
Zurück
Oben