Hoe werkt Hyper Threading in Intel Core i7-processors?

Componenten / Hoe werkt Hyper Threading in Intel Core i7-processors? 4 minuten gelezen

Je hebt de term Hyper-Threading vaak gehoord. Het zou een magische technologie moeten zijn die de snelheid van je processor verdubbelt zodra deze is ingeschakeld. Bedrijven kunnen het in- of uitschakelen en nog veel meer als een premie in rekening brengen.



Ik zou willen zeggen dat dit allemaal complete onzin is en dat dit artikel bedoeld is om u te leren om beter te begrijpen wat Hyper-Threading is. Dit artikel zal erg beginnersvriendelijk zijn.

Voorwoord

Als Intel of AMD vroeger een snellere CPU moesten maken, zouden ze over het algemeen het potentiële aantal transistors vergroten door ze te verkleinen en meer in dezelfde ruimte te passen en probeerden ze hun frequenties te verhogen (gemeten in MHz / GHz). Alle CPU's hadden slechts één enkele kern. CPU's werden 32 bit en konden RAM tot 4 GB aan. Ze stapten later over op 64-bits CPU's die RAM-sprongen van meer dan slechts 4 GB aankonden. Vervolgens werd besloten om meerdere cores te gebruiken en workloads over deze meerdere cores te spreiden voor efficiënter computergebruik. Alle kernen communiceren met elkaar om elke taak te verdelen. Zo'n taak zou een multi-threaded taak zijn.



Delen van een CPU



Een CPU bestaat uit de volgende onderdelen die in harmonie samenwerken. Zoals hierboven vermeld, wordt dit een oversimplificatie. Dit is gewoon een spoedcursus en beschouw deze informatie niet als het woord van het evangelie. Deze onderdelen worden niet in een bepaalde volgorde vermeld:



  • Scheduler (eigenlijk op OS-niveau)
  • Fetcher
  • Decoder
  • Kern
  • Draad
  • Cache
  • Geheugen en I / O-controller
  • FPU (Floating Point Unit)
  • Registreert

De functies van deze onderdelen zijn als volgt

Het geheugen en de I / O-controller beheren de invoer en uitvoer van de gegevens van en naar de CPU. De gegevens worden van de harde schijf of SSD naar het RAM-geheugen gebracht, waarna de belangrijkste gegevens in de cache van de CPU worden gebracht. De cache heeft 3 niveaus. Voor bijv. de Core i7 7700K heeft een L3-cache van 8 MB. Deze cache wordt gedeeld door de volledige CPU met 2 MB per kern. De gegevens van hier worden opgepikt door de snellere L2-cache. Elke core heeft zijn eigen L2-cache van in totaal 1 MB en 256 KB per core. Net als de Core i7 heeft deze Hyper-Threading. Elke kern heeft 2 threads, dus deze L2-cache wordt gedeeld door beide threads. De L1-cache in totaal is 256 KB bij 32 KB per thread. Hier komen de gegevens dan in de registers, die in totaal 8 registers in 32-bits modus en 16 registers in 64-bits modus zijn. Het besturingssysteem (besturingssysteem) plant processen of instructies voor de beschikbare thread. Omdat er 8 threads in een i7 zijn, schakelt deze van en naar threads binnen de cores. Besturingssystemen zoals Windows of Linux zijn slim genoeg om te weten wat fysieke cores zijn en wat logische cores zijn.

Hoe werkt Hyper Threading?



In een traditionele multi-core CPU heeft elke fysieke kern zijn eigen bronnen en elke kern bestaat uit een enkele thread die onafhankelijke toegang heeft tot alle bronnen. Hyper-Threading omvat 2 (of in zeldzame gevallen meer) threads die dezelfde bronnen delen. De planner kan taken en processen tussen deze threads wisselen.

In een traditionele multi-core CPU kan de core 'parkeren' of inactief blijven als er geen data of proces aan is toegewezen. Deze toestand wordt uithongering genoemd en wordt op een gezonde manier opgelost door SMT of Hyper-Threading.

Fysieke versus logische kernen (en wat zijn threads)

Als je het specificatieblad voor bijna elke Core i5 leest, zul je merken dat het 4 fysieke cores en 4 logische cores of 4 threads heeft (Coffee Lake i5s heeft 6 cores en 6 threads). Alle i7s tot 7700K zijn 4 cores en 8 thread / logical cores. In de context van Intel's CPU-architectuur zijn threads en logische cores hetzelfde. Ze hebben de lay-out van hun architectuur sinds de 1e generatie Nehalem helemaal niet veranderd tot op de dag van vandaag met Coffee Lake, dus deze informatie zal standhouden. Deze informatie zal niet voldoende zijn voor oudere AMD-CPU's, maar Ryzen heeft ook veel van hun lay-out veranderd, en hun processors zijn nu qua ontwerp vergelijkbaar met die van Intel.

Voordelen van Hyper Threading

  • Hyper-Threading lost het probleem van 'uithongering' op. Als een kern of thread vrij is, kan de planner de gegevens eraan doorgeven in plaats van dat de kern inactief blijft of wacht tot er andere nieuwe gegevens doorheen stromen.
  • Veel grotere en parallelle workloads kunnen efficiënter worden uitgevoerd. Omdat er meer threads zijn om te parallelliseren, kunnen applicaties die sterk afhankelijk zijn van meerdere threads hun werk aanzienlijk verbeteren (niet twee keer zo snel).
  • Als je aan het gamen bent en een of andere belangrijke taak op de achtergrond draait, zal de CPU niet moeite hebben om voldoende frames te leveren en die taak soepel uit te voeren, omdat hij bronnen tussen threads kan schakelen.

Nadelen van Hyper Threading

De volgende zijn niet veel nadelen, het zijn eerder meer ongemakken.

  • Hyper-Threading heeft implementatie van softwareniveau nodig om hiervan te profiteren. Hoewel er steeds meer applicaties worden ontwikkeld om te profiteren van meerdere threads, zullen applicaties die geen gebruik maken van SMT-technologie (Simultaneous Multi-Threading) of zelfs meerdere fysieke cores, hoe dan ook precies hetzelfde draaien. De prestaties van deze applicaties zijn meer afhankelijk van de kloksnelheid en IPC van een CPU.
  • Hyper-Threading kan ervoor zorgen dat de CPU meer warmte produceert. Dit is de reden waarom i5s vroeger veel hoger klokt dan i7s, omdat ze niet zoveel opwarmen omdat ze minder threads hebben.
  • Meerdere threads delen dezelfde bronnen binnen een kern. Dit is de reden waarom de prestaties niet verdubbelen. Het is in plaats daarvan een zeer slimme methode om de efficiëntie te maximaliseren en de prestaties waar mogelijk te verbeteren.

Conclusie

Hyper-Threading is een oude technologie, maar een die er is om te blijven. Nu applicaties steeds veeleisender worden en het sterftecijfer van de wet van Moore toeneemt, heeft de mogelijkheid om workloads parallel te schakelen de prestaties aanzienlijk verbeterd. Als u gedeeltelijk parallelle workloads kunt uitvoeren, verhoogt u uw productiviteit en krijgt u uw werk sneller gedaan zonder haperingen. En als u op zoek bent naar het beste moederbord voor uw 7e generatie i7-processor, kijk dan eens naar dit artikel.

#VoorbeeldNaamNVIDIA SLIAMD CrossFireVRM-fasenRGBAankoop
1 ASUS Formule 9 10

Controleer prijs
2 MSI Arsenal Gaming Intel Z270 10

Controleer prijs
3 MSI Prestaties Gaming Intel Z270 elf

Controleer prijs
4 ASRock Gaming K6 Z270 10 + 2

Controleer prijs
5 GIGABYTE AORUS GA-Z270X Gaming 8 elf

Controleer prijs
#1
Voorbeeld
NaamASUS Formule 9
NVIDIA SLI
AMD CrossFire
VRM-fasen10
RGB
Aankoop

Controleer prijs
#2
Voorbeeld
NaamMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-fasen10
RGB
Aankoop

Controleer prijs
#3
Voorbeeld
NaamMSI Prestaties Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-fasenelf
RGB
Aankoop

Controleer prijs
#4
Voorbeeld
NaamASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
VRM-fasen10 + 2
RGB
Aankoop

Controleer prijs
#5
Voorbeeld
NaamGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
VRM-fasenelf
RGB
Aankoop

Controleer prijs

Laatste update op 2021-01-05 om 22:02 / Aangesloten links / Afbeeldingen van Amazon Product Advertising API