it-swarm.com.de

Was sind Threads und was machen sie im Prozessor?

Ich habe mir die Statistiken für die Intel Pentium e5700 CPU angesehen.

Es hat zwei Kerne und zwei Threads. Was tun die Threads für den Prozessor? Gibt es eine Beziehung zwischen der Anzahl der Kerne und der Anzahl der Threads? Welchen Zweck erfüllen Threads für das System insgesamt?

27
impossible3

Die Anzahl der Kerne ist die physische Anzahl der Kerne auf dem CPU-Chip selbst, während die Anzahl der Threads die Anzahl der einzelnen Anwendungsthreads ist, die gleichzeitig auf der CPU selbst ausgeführt werden können. Ohne zusätzliche oder spezielle Hardware entspricht dies immer der Kernanzahl.

Einige Intel-CPUs haben eine Funktion namens Hyperthreading , die ein Betriebssystem ermöglicht um die doppelte Anzahl logischer Kerne pro physischem Kern zu sehen. Auf diese Weise kann das Betriebssystem die doppelte Anzahl von Threads gleichzeitig planen und ausführen. Bei der oben verknüpften CPU gibt es also vier physische Kerne, aber acht logische (Sie können also acht Threads gleichzeitig ausführen).

Jede einzelne Anwendung, die im Betriebssystem ausgeführt wird, ist entweder ein oder mehrere Threads (stellen Sie sich jeden Thread als "Unteranwendung" vor). Single-Thread-Anwendungen benötigen nur einen Thread, um auf der CPU ausgeführt zu werden, wohingegen bei Multi-Thread-Anwendungen viele Sub-Threads gleichzeitig ausgeführt werden. Durch zusätzliche Kerne oder Hyper-Threading können mehrere Anwendungsthreads gleichzeitig ausgeführt werden.

Auf diese Weise können Multithread-Anwendungen ( nichtSinglethread-Anwendungen) viel schneller ausgeführt werden, da mehr als ein Thread gleichzeitig auf der CPU ausgeführt werden kann.


Nur eine letzte Anmerkung: Hyperthreading verbessert die Leistung von einigenMultithreaded-Anwendungen, die speziell dafür optimiert wurden (da logisch immer noch nur die Hälfte der physischen Kerne vorhanden sind). In einigen verschiedenen Fällen können Anwendungen mit deaktiviertem Hyperthreading schneller ausgeführt werden (obwohl viele Anwendungen davon profitieren ). Unabhängig vom Hyperthreading kommt eine Erhöhung der Anzahl der physischen Kerne immer Multithread-Anwendungen zugute.

21
Breakthrough

Ein "Kern" stellt eine tatsächliche physische Teilmenge eines Prozessors dar, der die Verarbeitung selbst erledigen kann, wohingegen ein "Thread" angibt, wie viele tatsächliche Prozesse der Prozessor gleichzeitig erledigen kann. Intel hat eine Technologie entwickelt, die als "Hyper-Threading" bezeichnet wird. Diese Technik ermöglicht, dass ein physischer Kern (der normalerweise nur einen Thread gleichzeitig verarbeiten kann) jetzt zwei Threads gleichzeitig verarbeiten kann.

Ein Thread ist eine Aufgabe, die der Prozessor erledigen muss. Für eine einfache Erklärung können Sie davon ausgehen, dass jede Anwendung, die Sie öffnen (z. B. Paint, Editor, Media Player), einen eigenen Thread hat. Dies bedeutet jedoch nicht, dass Sie nur öffnen können 2 Anwendungen auf einmal, einfach weil der Prozessor und das Betriebssystem beim "Wechseln von Threads" so schnell arbeiten, um die Anforderungen jeder Anwendung zu erfüllen, die Sie geöffnet haben. Sie werden einfach eine bessere Leistung mit mehr Kernen erzielen, da Sie jetzt die gesamte Arbeit auf mehr Kernprozessoren verteilen können.

Auf meinem Arbeitscomputer befindet sich beispielsweise ein i7. Das i7 verfügt über 4 physische Kerne, aber jeder Kern kann Hyper-Threading ausführen, wodurch dieser Prozessor 8 Threads gleichzeitig verarbeiten kann. Wenn ich also den Task-Manager öffne, werden 8 Felder für die Prozessorleistungsskala angezeigt.

Eine allgemeine Faustregel lautet, dass mehr physische Kerne besser sind als mehr Threads. Wenn Sie also einen Prozessor mit 4 Kernen und 4 Threads vergleichen, wären 4 Threads besser als 2 Kerne. Je mehr Threads Ihr Prozessor verarbeiten kann, desto besser ist die Leistung beim Multitasking. Bei einigen sehr intensiven Anwendungen (Videobearbeitung, CAD, CAM, Komprimierung, Verschlüsselung usw.) wird jeweils mehr als ein Kern gleichzeitig verwendet.

9
CenterOrbit