Hallo Gundes,
- Wie lange soll deine CPU überleben ? Wochen, Monate Jahre
??
Jahre. Jedenfalls bis ich mir eine bessere ( neue) leisten
kann.
Dann solltest du nicht übertakten.
Was ist mit den Rams, muss man die auch „modifizieren“? Hab
was darüber gelesen (Latenzeit raufsetzen oder so)
Das ist eine andere Baustelle.
Du hast scheinbar noch gar keine Ahnung was du eigentlich tust.
Die Taktfrequenz der CPU sagt eigentlich gar nichts über deren Rechenleistung aus. Wichtig ist wieviele Takte die CPU benötigt um einen Befehl auszuführen. Nur bei enfachen CPUs, sagt die Taktfrequenz direkt etwas über die Rechenleistung aus. Beim 6502 waren CPU- und Speichertakt identisch und, bis auf einige Ausnahmen, mit jedem Takt wurde ein Speicherzugriff getätigt. Somit hatte ein System bei doppeltem Takt auch die doppelte Rechenleistung, wenn nicht mit Waitstates gearbeitet wurde.
Heute ist das Problem viel komplexer und die Hauptfrage ist: „Wo ist der Flaschenhals im System“. Leider gibt es heute darauf keine eindeutige Antwort mehr, denn dieser Flaschenhals hängt auch vom konkreten Programm ab.
Wenn wir die Peripherie, wie Harddisk usw. weglassen und uns auf eine bestimmte CPU beschränken, dann gibt es vom Takt her 3 Punkte welche im Zusammenspiel wirken:
- Speicher-Durchsatz
- FSB-Takt
- CPU-Durchsatz
- Caches
Der Speichertakt bestimmt mit welcher maximalen Datenrate die Daten zwischen CPU und Haptspeicher ausgetauscht werden können. Allerdings kann nicht einfach in einem Takt auf den Speicher zugegriffen werden, es benötigt mehrere Takte, bis die Daten transferiert werden können, diese Vorbereitungs-Zeit wird als Latenzzeit bezeichnet. Somit kann mit einer kürzeren Latenzzeit der Speicherdurchsatz verkleinert werden. Speicher kann man auch übertakten, aber es gilt das Selbe, was ich dazu zur CPU geschrieben habe.
Bei den heutigen RAM-Bussen ist das grob so, dass zuerst einige Takte benötigt werden um die Adresse an den Speicher zu übermittln unddanach kann dann ein bestimmter zusammenhängender Datenbereich direkt mit dem RAM-Takt übertragen werden. Der Trick funktioniert so, weil der Speicher intern als Matrix organisiert ist, welche nicht mit 8Bit arbeitet, sondern z.B. immer 2048 Bits gelesen oder geschrieben werden werden.
Der FSB-Takt bestimmt, wie schnell die Daten mit der CPU selbst ausgetauscht werden können und muss nicht identisch mit dem Speicher-Takt sein. Wenn z.B. die CPU die selben Anschlüsse für Daten- und Adress-Bits verwendet, bestimmt der FSB wie schnell die Umschaltung geschieht. Zudem werden über den CPU-Bus nicht nur Adressen, Daten und Befehle übertragen, sondern auch noch verschiedene Informationen über den Befehls-Zustand der CPU und Daten welche Interrupts usw. betreffen.
Der CPU-Takt bestimmt in gewissen Masse die Verarbeitungsgeschwindigkeit der CPU. Dadurch, dass aber PC-CPUs mehrere Befehle paralell abarbeiten können bestimmt auch die Abfolge der Befehle die tatsächliche Verarbeitungszeit. Etwas vereinfacht kann die CPU einen Befehl, welcher die FPU (Fliesskomma-Einheit) beschäftigt gleichzeitig einem Befehl verarbeiten, welcher nur die Ganzzahl-Einheit benötigt. Zwei aufeinanderfolgende Befehle, welche beide die FPU benötigen können aber nur nacheinander abgearbeitet werden. Heutige CPUs haben mehrere dieser Einheiten, aber wenn ein Befehl mit dem Resultat des vorherigen weiterrechnet, bringt das manchmal auch nichts.
Wenn jetzt die CPU immer schneller wird, kommt der Punkt an dem die CPU die Daten schneller verarbeiten kann, als sie über den Speicherbus transferiert werden können.
Hier kommt nun der Cache ins Spiel. Er arbeitet mit dem selben Takt wie die CPU (L1-Level) oder mit einem Takt irgendwo zwischen CPU- und FSB-Takt (L2-Level). Mit dem Cache kann der Durchsatz zum Speicher verkleinert werden, wenn kurz hintereinander auf die selben Adressen, oder Adressen welch im selben Speicher-Block liegen, zugegriffen werden muss.
Was die nun das Übertakten konkret bringt, hängt im wesentlichen vom Programm ab.
Wenn das Programm sehr viele Daten zwischen RAM und CFPU austauschen muss, bring meist eine schnellere Anbindung des RAM etwas. Eine Erhöhung des CPU-Taktes bringt dann meist gar nichts, da die CPU sowieso die meiste Zeit damit verbring auf den Speicher zu warten.
Hast du allerdings ein Programm, welches mit wenigen Daten sehr viele Berechnungen machen muss und diese Daten zudem noch in den Cache passen, dann bring eine Erhöhung des SPeicherdurchsatzes nichts, da der Speicher die meiste Zeit sowieso nichts zu tun hat. Hier bringt dann nur eine Erhöhung des CPU-Taktes direkt etwas.
Wenn du also den CPU-Takt um 100% erhöhst, werden deine Programme nicht entsprechend schneller, sondern vielleicht nur um 20% beschleunigt. Zu dem oben erklärten kommt ja z.B. auch noch die Graphikkarte hinzu. Und bei einer Datenbank ist meist die Festplatte der Flaschenhals.
MfG Peter(TOO)