Nein, die Taktraten funktionieren einfach nicht so. Die Ausführungseinheiten im Core laufen mit der gleichen Geschwindigkeit, unabhängig davon, für welchen Thread sie im Namen arbeiten, oder ob der physische Core HT aktiviert oder deaktiviert hat.
bekomme ich die halbe CPU-Geschwindigkeit für einen einzelnen Thread, wenn HT eingeschaltet ist?
Wenn ich zum Beispiel einen einzelnen 2,6-GHz-Kern habe, würde das bedeuten, dass ich mit Hyperthreading nur 1,3 GHz für einen einzelnen Thread habe, den meine App hat, oder ist es nur auf Abruf, wenn ich es verwenden möchte (sagen wir, meine App ist das einzige, was läuft auf dem Computer ... der Sache halber läuft kein Betriebssystem)
Single Thread Single Core kein HT: Thread läuft auf 2,6 GHz Single Thread Single Core mit HT: Thread läuft auf 1,3 GHz?
Wenn es nicht die halbe Geschwindigkeit ist, vorausgesetzt, ich habe nur einen einzigen Thread ausgeführt. Wie stark ist die Beeinträchtigung bei HT? 10% sonst?
2 Antworten auf die Frage
Nein, das heißt nicht. Jede Task kann mit voller Geschwindigkeit auf einem einzigen Thread ausgeführt werden. Wenn einer davon blockiert wird (z. B. beim Warten auf relativ langsame E / A aus dem Hauptspeicher), kann ein anderer Thread mit voller Kerngeschwindigkeit ausgeführt werden.
Beachten Sie, dass bei einem Core-Setup mit zwei Threads nur einige Ressourcen gleichzeitig in einem Thread verwendet werden können. Wenn Sie zum Beispiel zwei Threads ausführen möchten und beide Daten aus dem Hauptspeicher lesen müssen, kann dies nur ein Thread tun. Der andere muss warten. Wenn Sie zwei Threads haben und einer einen reinen On-Die (z. B. mit der ALU) ausführt, während der andere aus dem Hauptspeicher liest, können beide gleichzeitig ausgeführt werden.
Stellen Sie sich vor, Sie haben einen Laden mit zwei Mitarbeitern, aber nur einer Registrierkasse. Wenn beide auf die Registrierkasse zugreifen müssen, muss man warten (nichts tun). Oder mit etwas Glück muss nur einer auf die Registrierkasse zugreifen, während der andere mit dem nächsten Kunden spricht, während die erste Person die Registrierkasse betreibt. (Also zwei Sachen gleichzeitig machen).
Wenn es nicht die halbe Geschwindigkeit ist, vorausgesetzt, ich habe nur einen einzigen Thread ausgeführt. Wie stark ist die Beeinträchtigung bei HT? 10% sonst?
Das hängt von jedem Programm ab. Der schlimmste Live-Fall, den ich gehört habe, ist eine Gesamtabschwächung von 30% * 2 (wie bei tatsächlich langsamerem Einschalten von HT). Der beste theoretische Fall ist fast 100% Gewinn. In der Praxis scheint der Geschwindigkeitsgewinn im Vergleich zu keiner HT im Durchschnitt um 30% zu liegen.
* 2 : Die Verlangsamung um 30% betraf den tatsächlichen Produktionscode eines Web-Spiders. Aber schlimmeres ist möglich. Eine Datenbank erlaubte beispielsweise nur zwei Threads auf einer 2-Kern-, 4-Thread-CPU und einen Scheduler, der beide Threads dauerhaft auf demselben physischen Kern plant.
09.10.2014: Zwei Links mit relevanten Informationen hinzugefügt:
Wikipedia's: Hyper-Threading
Wikipedia: Simultaneous Multithreading
Verwandte Probleme
-
8
Sollte ich 32 oder 64 Bit für Linux wählen?
-
12
CPU-Kerne: Je mehr, desto besser?
-
5
Warum sollte mein Computer starten und plötzlich ausschalten?
-
2
Maximale CPU-Temperatur für Core 2 Duo E6400
-
4
Wie schnell ist jeder Kern in einem Dual-Core-Prozessor?
-
7
Kann ich die CPU-Geschwindigkeit meines MacBook im Akkubetrieb reduzieren?
-
2
Bietet der Intel i7 eine echte Verbesserung gegenüber seinen Vorgängern?
-
4
Kann ein 32-Bit-Betriebssystem in einem 64-Bit-Prozessor ausgeführt werden?
-
3
Ist es möglich, eine Intel Q8400-CPU in meinem ASUS P5N-EM HDMI-Mobo zu verwenden?
-
3
Sinkt durch das Überlappen einer CPU / eines Kühlkörpers tatsächlich die Temperatur?