(Übertaktete) CPU taktet im Singlethread-Betrieb nicht richtig hoch

Beim Verfolgen der ersten Erfahrungen von Übertaktern mit der neuen Haswell-E Plattform kam ein Phänomen zum Vorschein das mir zufällig auch auf meinem Sandy Bridge-E System aufgefallen ist: Bei der Auslastung der CPU mit nur einem oder wenigen Threads takten die CPUs oft nicht bis zur gesetzten maximalen Multiplikatorstufe hoch.

Einige User gehen von einer Abhängigkeit vom verwendeten Betriebssystem aus, was sich nach meinen Tests mit Windows 7 SP1, Windows 8.1 und Windows 10 Preview, jeweils in der 64 Bit Version, jedoch als Irrtum heraus stellte.

Das Problem tritt allerdings nicht auf wenn unter Windows der Energiesparplan „Höchstleistung“ aktiviert ist, da die CPU hier immer mit Maximaltakt arbeitet.

Um das Problem vernünftig zu umreißen muss ich etwas weiter ausholen, als Beispiel werde ich mein eigenes System verwenden.

Die CPU läuft übertaktet auf 4,5 GHz, unabhängig von der Anzahl der unter Last stehenden Kerne.
Wenn eine Anwendung läuft die sämtliche Kerne nutzt erreicht die CPU diese 4,5 GHz auch.
Mir fiel allerdings auf dass z.B. in Borderlands 2 das nicht alle Kerne auslastet der CPU-Takt nur 4,2 GHz beträgt. Im Wissen um dieses Phänomen bei den Haswell-E Systemen habe ich versucht das Problem reproduzierbar nachzustellen was mir auch gelungen ist.

Lasse ich Prime mit nur einem Worker laufen taktet die CPU nicht weiter als 4,2 GHz hoch.
Läuft Prime dagegen mit 12 Workern (6 Kerne + HT ergibt 12 Threads) taktet die CPU ordnungsgemäß auf 4,5 GHz hoch. Das ist ab der Verwendung von 6 Workern der Fall.

Nach kurzer Google-Recherche stieß ich dann auf folgenden Post eines Users im PC Games Hardware Extreme Forum:
http://extreme.pcgameshardware.de/mainboards-und-arbeitsspeicher/357158-x99m-killer-i7-5820k-schlechte-single-core-leistung.html#post6861726

Der User „Incredible Alk“ erklärt das Phänomen also damit, dass Windows zur Ermittlung der CPU-Last den Durchschnitt der Last aller Threads heranzieht und bei der Last von ~8,3 % die entsteht wenn nur einer der 12 Threads voll ausgelastet ist schlicht nicht den vollen Takt fährt.

Das Problem verschärft sich natürlich mit zunehmender Anzahl der Threads da die anteilige Auslastung der CPU natürlich immer weiter sinkt.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*