Intel Prozessor mit 4 Kernen in Windows werden 8 angezeigt. Ist das normal?

Mein Prozessor  - (Computer, Hardware, Prozessor)

5 Antworten

Das was du angezeigt bekommst, sind die Theards. Manche Prozessoren können von der Leistung her gespalten werden und die doppelte Kernelleistung erbringen.

Dies ist als Beispiel auch bei vServern so, hier bekommst du jeweils nur die Hälfte der Kernel Power.

Lg

Das ist richtig so.

Der Prozessor unterstützt Hyperthreading --> vier physikalische Kerne, acht virtuelle.

Für diese Technologie gibt es gute Gründe.

  1. Ein Kern beinhaltet verschiedene Rechenwerke, z. B. welche für Ganzzahlarithmetik und für Gleitkommaarithmetik. Wenn sich ein physikalischer Kern als zwei virtuelle Kerne ausgibt, bekommt er vom Scheduler des Betriebssystems auch zwei Befehlsströme (Threads) zugeordnet. Wenn nun in einem der beiden die nächste Anweisung eine Integeranweisung, in dem anderen die nächste Anweisung eine Gleitkommaanweisung ist, kann der einzelne Kern sie tatsächlich nebenläufig abarbeiten und so einen Geschwindigkeitsvorteil erzielen.
  2. Noch viel wichtiger wird es, wenn z. B. in einem der Befehlsströme eine Anweisung steht, die zu einem Speicherzugriff führt. Zugriffe auf den Hauptspeicher dauern üblicherweise dutzende Taktzyklen lang. Während dieser Zeitspanne ist der Thread blockiert, denn der Prozessor muss auf die Antwort des Hauptspeichers warten, bevor er mit der Ausführung des nächsten Befehls beginnen kann. Durch die virtuellen Kerne kann der physikalische Kern die Ausführung eines anderen Threads fortsetzen, während der eine noch auf die Beantwortung seiner Speicheranfrage wartet. Dadurch liegt der Kern dann nicht vollkommen brach, bis die Speicheranfrage beantwortet wurde.

Eigentlich müsste das Verhältnis von virtuellen zu physikalischen Kernen noch viel größer sein, als es bereits ist. Bei der SPARC-Architektur beispielsweise gab es bereits vor Jahrzehnten Quadcore-Prozessoren mit 16 Threads, Octacore-Prozessoren mit 64 Threads und 16-Kern-Prozessoren mit 256 Threads. Und das macht auch tatsächlich Sinn, wenn man einmal betrachtet, wie schnell Prozessoren tatsächlich im Vergleich zum Hautspeicher sind und wie häufig im Code tatsächlich Speicherzugriffe stattfinden. (Hinweis: Lokale Variablen mit Wertetyp liegen für gewöhnlich auf dem Stack. Globale Variablen oder Referenztypen liegen für gewöhnlich auf dem Heap. Beides befindet sich im Hauptspeicher.) Wenn man das einmal genau analysiert, kommt man schnell zu der Erkenntnis, dass die meisten Threads das Rechenwerk eines Prozessors für einen Großteil der Zeit einfach blockieren. Caches sorgen da natürlich für eine gewisse Abhilfe, allerdings ist auch ein Cache-Zugriff nicht innerhalb eines Taktzyklus bewerkstelligt.

Dein Prozessor hat Hyperthreading also 4 Kerne und 8 Threads.
Deswegen werden Dir 8 Kerne angezeigt

öffnen den taskmanager und geh in den reiter "Leistung". da wird die wirkliche anzahl der kerne angezeigt