Sollte ich Hyperthreading in einer Intel-CPU deaktivieren?

8

Ich habe einen Laptop mit Intel i5 M430 2.27GHz. Die CPU verfügt über ZWEI ECHTE Kerne, aber auch über eine Art Virtualisierung, sodass Windows sie als 4-Kern-CPU ansieht.

In einer REAL-Dual-Core-CPU wird ein Single-Thread-Programm in einem Single-Core mit 2,27 GHz ausgeführt. Recht?

Meine Frage ist, in meiner 4-Kern-CPU läuft das gleiche Programm mit einer Geschwindigkeit von 1,13 GHz? (2.27 / 2) Ich meine, die Frequenz jedes realen Kerns wird zweigeteilt, um eine 4-Kern-CPU zu simulieren?

Ich muss wissen, um ein CPU-hungriges Programm mit maximaler Geschwindigkeit auszuführen. Wenn ich zwei Instanzen dieses Programms ausführe, beende ich meine Datenverarbeitung zweimal schneller, da ich zwei echte Kerne habe. Aber wenn ich 4 Instanzen starte, beende ich die Verarbeitung 4-mal schneller oder ist dieses "2 zusätzliche virtuelle Kerne" eine weitere Augenweide von Intel?


Aktualisieren:

Ich habe CPU Overload verwendet , um 2 und 3 sehr CPU-intensive Threads zu starten. Im Ressourcenmonitor zeigt das Diagramm "CPU-Gesamt" nur eine Auslastung von 50 bzw. 75%.

Ultralisk
quelle

Antworten:

21

Sie haben eine CPU mit Hyperthreading-Technologie . Sie können dies nicht ändern, aber keine Sorge, Sie werden keinen Leistungsverlust haben. Tatsächlich erhöht es die Leistung Ihres Systems.

Beachten Sie, dass der CPU-Takt nicht der CPU-Leistung entspricht. Die Uhr wird für zwei Threads nicht durch zwei geteilt.

Update / Fazit: Wie bereits in den Kommentaren erwähnt, ist es in einigen (den meisten?) BIOS möglich, das Hyperthreading auszuschalten. Dies bringt jedoch keine Leistungsverbesserungen mit sich, da das Intel-Thread-Management intelligent genug ist, um nur so viel wie nötig zu verwenden.

Michael K.
quelle
11
Sie können das Hyperthreading im BIOS bei Bedarf deaktivieren. Hyperthreading hat jedoch in den meisten Situationen einen Leistungsvorteil.
Geselle Geek
2
Laut Intel wird die Leistung durch Hyperthreading um bis zu 30% gesteigert. Ich wusste nicht, dass Sie es tatsächlich ausschalten können, die meisten BIOS scheinen diese Option nicht zu haben.
Michael K
4
HT war bei Single-Core-CPUs äußerst nützlich, bei Multi-Core-CPUs ist es jedoch aufgrund des Vorhandenseins der anderen Kerne weniger nützlich. Auch Sie können eine bessere Leistung von einem bekommen einzigen App , wenn HT deaktiviert ist , da jeder realen Kern , mehr Mittel haben wird; Der einzige Weg, um sicher zu sein, sind empirische Tests.
Ignacio Vazquez-Abrams
2
HT halbiert nicht die CPU-Zyklen, die einem bestimmten Thread zugeordnet sind, da es sich um eine Technologie handelt, mit der der physische CPU-Kern mehr als einen Thread pro Zyklus verarbeiten kann. Mit einer Art von Intelligenz, die bestimmt, welcher Teil des Kerns von einem bestimmten Thread verwendet wird, führt HT zwei Threads in einem einzigen Zyklus auf einem einzelnen Kern aus, ohne dass einer den anderen stört.
music2myear
4
@Altar Als Randnotiz: Wenn die CPU nicht stark genug ausgelastet ist, um die Verwendung der potenziellen zusätzlichen Ressource zu erfordern, die Hyperthreading bietet, "parkt" Windows 7 diesen Hyperthread-Kern und setzt vermutlich alle Ressourcen frei, um die realen Kerne zuzulassen effizient arbeiten. Ich kann dies auf meinem Quad-Core-i7 im Resource Monitor-Programm sehen, da die Kerne Nr. 1, Nr. 3, Nr. 4 und Nr. 7 "geparkt" sind und 0% CPU-Auslastung anzeigen, während die Kerne Nr. 0, Nr. 2, Nr. 5 und Nr. 6 laufen.
Mokubai
3

Hyper Threading (HT) von Intel ermöglicht die gleichzeitige Ausführung von zwei Threads auf einem einzelnen Kern. Da Sie also eine Dual-Core-CPU mit HT haben, können Sie vier Threads gleichzeitig ausführen. Im Allgemeinen ist die Taktrate der CPU fest und hängt nicht davon ab, wie viele Threads gleichzeitig ausgeführt werden. Intel hat jedoch kürzlich eine Funktion namens Turbo Boost eingeführt, mit der die CPU mit einer höheren Taktrate ausgeführt werden kann, wenn nicht alle Kerne verwendet werden. In Ihrer CPU ist Turbo Boost integriert, sodass sie bei starker Auslastung beider Kerne mit 2,26 GHz und bei starker Auslastung nur eines Kerns bei 2,53 GHz läuft. Dies alles wird automatisch erledigt und der Unterschied in der Taktrate beträgt nur etwa 10%. Machen Sie sich also keine allzu großen Sorgen. Sie sollten besser sicherstellen, dass alles andere heruntergefahren wird, wodurch Ressourcen für Ihren Hauptprozess frei werden.

Andy
quelle
Ich habe 'CPU Overload' verwendet, um 1 sehr CPU-intensiven Thread zu starten. Im Ressourcenmonitor springt das Diagramm (die blaue Linie, die die maximale Frequenz darstellt) nicht auf 110%.
Ultralisk