Wie funktioniert Hyper-Threading in Intel Core i7-Prozessoren?

Komponenten /. Wie funktioniert Hyper-Threading in Intel Core i7-Prozessoren? 4 Minuten gelesen

Sie haben den Begriff Hyper-Threading schon oft gehört. Es soll eine magische Technologie sein, die die Geschwindigkeit Ihres Prozessors verdoppelt, sobald er aktiviert ist. Unternehmen können es entweder ein- oder ausschalten und viel mehr wie eine Prämie verlangen.



Ich möchte sagen, dass all das völliger Unsinn ist und dass dieser Artikel darauf abzielt, Sie zu erziehen, um besser zu verstehen, was Hyper-Threading ist. Dieser Artikel wird sehr neulingfreundlich sein.

Vorwort

Wenn Intel oder AMD in früheren Zeiten eine schnellere CPU herstellen mussten, erhöhten sie im Allgemeinen die potenzielle Anzahl von Transistoren, indem sie diese verkleinerten und mehr in denselben Raum passten, und versuchten, ihre Frequenzen zu erhöhen (gemessen in MHz / GHz). Alle CPUs hatten nur einen einzigen Kern. CPUs wurden 32 Bit und konnten RAM von bis zu 4 GB verarbeiten. Sie wechselten später zu 64-Bit-CPUs, die RAM-Sprünge und -Begrenzungen von mehr als nur 4 GB bewältigen konnten. Dann wurde beschlossen, mehrere Kerne zu verwenden und Workloads auf diese mehreren Kerne zu verteilen, um effizienter zu rechnen. Alle Kerne kommunizieren miteinander, um jede Aufgabe zu verteilen. Eine solche Aufgabe wird als Multithread-Aufgabe bezeichnet.



Teile einer CPU



Eine CPU besteht aus den folgenden Teilen, die harmonisch arbeiten. Wie oben erwähnt, wird dies eine übermäßige Vereinfachung sein. Dies ist einfach ein Crashkurs und nehmen Sie diese Informationen nicht als das Wort des Evangeliums. Diese Teile sind nicht in einer bestimmten Reihenfolge aufgeführt:



  • Scheduler (tatsächlich auf Betriebssystemebene)
  • Fetcher
  • Decoder
  • Ader
  • Faden
  • Zwischenspeicher
  • Speicher und E / A-Controller
  • FPU (Gleitkommaeinheit)
  • Register

Die Funktionen dieser Teile sind wie folgt

Der Speicher und der E / A-Controller verwalten den Ein- und Ausgang der Daten zur und von der CPU. Die Daten werden von der Festplatte oder SSD in den RAM übertragen, und die wichtigeren Daten werden in den Cache der CPU übertragen. Der Cache hat 3 Ebenen. Zum Beispiel. Der Core i7 7700K verfügt über einen L3-Cache von 8 MB. Dieser Cache wird von der gesamten CPU mit 2 MB pro Kern gemeinsam genutzt. Die Daten von hier werden vom schnelleren L2-Cache erfasst. Jeder Kern verfügt über einen eigenen L2-Cache mit insgesamt 1 MB und 256 KB pro Kern. Wie beim Core i7 verfügt er über Hyper-Threading. Jeder Kern hat 2 Threads, sodass dieser L2-Cache von beiden Threads gemeinsam genutzt wird. Der L1-Cache beträgt insgesamt 256 KB bei 32 KB pro Thread. Hier treten die Daten dann in die Register ein, die insgesamt 8 Register im 32-Bit-Modus und 16 Register im 64-Bit-Modus sind. Das Betriebssystem (Betriebssystem) plant Prozesse oder Anweisungen für den verfügbaren Thread. Da ein i7 8 Threads enthält, wechselt er zu und von Threads innerhalb der Kerne. Betriebssysteme wie Windows oder Linux sind intelligent genug, um zu wissen, was physische Kerne und was logische Kerne sind.

Wie funktioniert Hyper Threading?



In einer herkömmlichen Mehrkern-CPU verfügt jeder physische Kern über seine eigenen Ressourcen, und jeder Kern besteht aus einem einzelnen Thread, der unabhängigen Zugriff auf alle Ressourcen hat. Hyper-Threading umfasst zwei (oder in seltenen Fällen mehrere) Threads, die dieselben Ressourcen verwenden. Der Scheduler kann Aufgaben und Prozesse zwischen diesen Threads wechseln.

In einer herkömmlichen Multi-Core-CPU kann der Core „parken“ oder im Leerlauf bleiben, wenn ihm keine Daten oder Prozesse zugewiesen sind. Dieser Zustand wird als Hunger bezeichnet und durch SMT oder Hyper-Threading auf gesunde Weise gelöst.

Physische und logische Kerne (und was sind Threads)

Wenn Sie das Datenblatt für fast jeden Core i5 lesen, werden Sie feststellen, dass es 4 physische Kerne und 4 logische Kerne oder 4 Threads hat (Coffee Lake i5s haben 6 Kerne und 6 Threads). Alle i7s bis 7700K sind 4 Kerne und 8 Thread- / logische Kerne. Im Kontext der Intel-CPU-Architektur sind Threads und logische Kerne dasselbe. Sie haben das Layout ihrer Architektur seit der ersten Generation von Nehalem bis heute mit Coffee Lake nicht geändert, sodass diese Informationen Bestand haben. Diese Informationen werden für ältere AMD-CPUs nicht ausreichen, aber Ryzen hat auch viele Layouts geändert, und ihre Prozessoren ähneln jetzt im Design denen von Intel.

Vorteile von Hyper Threading

  • Hyper-Threading löst das Problem des „Hungerns“. Wenn ein Kern oder Thread frei ist, kann der Scheduler die Daten an ihn übergeben, anstatt dass der Kern inaktiv bleibt oder darauf wartet, dass andere neue Daten durch ihn fließen.
  • Viel größere und parallele Workloads können effizienter ausgeführt werden. Da mehr Threads parallelisiert werden müssen, können Anwendungen, die stark von mehreren Threads abhängen, ihre Arbeit erheblich verbessern (allerdings nicht doppelt so schnell).
  • Wenn Sie spielen und eine wichtige Aufgabe im Hintergrund ausgeführt wird, hat die CPU keine Probleme, angemessene Frames bereitzustellen und diese Aufgabe reibungslos auszuführen, da sie Ressourcen zwischen Threads wechseln kann.

Nachteile von Hyper Threading

Das Folgende sind keine großen Nachteile, sondern eher Unannehmlichkeiten.

  • Hyper-Threading muss auf Softwareebene implementiert werden, um die Vorteile nutzen zu können. Obwohl immer mehr Anwendungen entwickelt werden, um mehrere Threads zu nutzen, werden Anwendungen, die keine SMT-Technologie (Simultaneous Multi-Threading) oder sogar mehrere physische Kerne nutzen, unabhängig davon genau gleich ausgeführt. Die Leistung dieser Anwendungen hängt stärker von der Taktrate und dem IPC einer CPU ab.
  • Hyper-Threading kann dazu führen, dass die CPU mehr Wärme erzeugt. Aus diesem Grund takteten i5s früher viel höher als i7s, weil sie sich nicht so stark erwärmten, da sie weniger Threads hatten.
  • Innerhalb eines Kerns teilen sich mehrere Threads dieselben Ressourcen. Deshalb verdoppelt sich die Leistung nicht. Es ist stattdessen eine sehr clevere Methode, um die Effizienz zu maximieren und die Leistung zu steigern, wo immer dies möglich ist.

Fazit

Hyper-Threading ist eine alte Technologie, aber eine, die hier bleiben wird. Da Anwendungen immer anspruchsvoller werden und die Sterblichkeitsrate nach Moores Gesetz steigt, hat die Fähigkeit, Workloads zu parallelisieren, dazu beigetragen, die Leistung erheblich zu verbessern. Die Möglichkeit, teilweise parallele Workloads auszuführen, erhöht Ihre Produktivität und erledigt Ihre Arbeit schneller, ohne zu stottern. Wenn Sie das beste Motherboard für Ihren i7-Prozessor der 7. Generation kaufen möchten, schauen Sie sich das an diese Artikel.

#VorschauNameNVIDIA SLIAMD CrossFireVRM-PhasenRGBKauf
1 ASUS Formel 9 10

Preis überprüfen
2 MSI Arsenal Gaming Intel Z270 10

Preis überprüfen
3 MSI Performance Gaming Intel Z270 elf

Preis überprüfen
4 ASRock Gaming K6 Z270 10 + 2

Preis überprüfen
5 GIGABYTE AORUS GA-Z270X Gaming 8 elf

Preis überprüfen
#1
Vorschau
NameASUS Formel 9
NVIDIA SLI
AMD CrossFire
VRM-Phasen10
RGB
Kauf

Preis überprüfen
#2
Vorschau
NameMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-Phasen10
RGB
Kauf

Preis überprüfen
#3
Vorschau
NameMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-Phasenelf
RGB
Kauf

Preis überprüfen
#4
Vorschau
NameASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
VRM-Phasen10 + 2
RGB
Kauf

Preis überprüfen
#5
Vorschau
NameGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
VRM-Phasenelf
RGB
Kauf

Preis überprüfen

Letzte Aktualisierung am 2021-01-05 um 22:02 Uhr / Affiliate-Links / Bilder von der Amazon Product Advertising API