Hvordan fungerer Hyper Threading i Intel Core i7-processorer?

Komponenter / Hvordan fungerer Hyper Threading i Intel Core i7-processorer? 4 minutter læst

Du har hørt udtrykket Hyper-Threading mange gange. Det formodes at være noget magisk teknologi, der fordobler hastigheden på din processor, når den er aktiveret. Virksomheder kan enten tænde eller slukke for det og opkræve meget mere som en præmie.



Jeg vil gerne sige, at alt dette er komplet vrøvl, og at denne artikel har til formål at uddanne dig til bedre at forstå, hvad Hyper-Threading er. Denne artikel vil være meget nybegyndervenlig.

Forord

I de ældre dage, hvis Intel eller AMD skulle lave en hurtigere CPU, ville de generelt øge det potentielle antal transistorer ved at krympe dem og montere mere i samme rum og forsøgte at øge deres frekvenser (målt i MHz / GHz). Alle CPU'erne havde kun en enkelt kerne. CPU'er blev 32 bit og kunne håndtere RAM på op til 4 GB. De flyttede senere til 64 bit CPU'er, der kunne håndtere RAM-spring mere end kun 4 GB. Derefter blev det besluttet at bruge flere kerner og sprede arbejdsbelastninger på tværs af disse flere kerner til mere effektiv computing. Alle kerner kommunikerer med hinanden for at distribuere enhver opgave. En sådan opgave siges at være en opgave med flere tråde.



Dele af en CPU



En CPU består af følgende dele, der fungerer i harmoni. Som nævnt ovenfor vil dette være en overforenkling. Dette er simpelthen et nedbrudskurs, og tag ikke disse oplysninger som evangeliets ord. Disse dele er ikke opført i nogen bestemt rækkefølge:



  • Planlægning (faktisk på OS-niveau)
  • Fetcher
  • Dekoder
  • Kerne
  • Tråd
  • Cache
  • Hukommelse og I / O-controller
  • FPU (flydende punkt enhed)
  • Registrerer

Disse dele har følgende funktioner

Hukommelsen og I / O-controlleren administrerer indtastning og udgang af data til og fra CPU'en. Dataene føres fra harddisken eller SSD'en til RAM'en, så de vigtigere data bringes ind i cachen på CPU'en. Cachen har 3 niveauer. For f.eks. Core i7 7700K har L3-cache på 8 MB. Denne cache deles af hele CPU'en med 2 MB pr. Kerne. Dataene herfra samles op af den hurtigere L2-cache. Hver kerne har sin egen L2-cache, som er 1 MB i alt og 256 KB pr. Kerne. Som tilfældet med Core i7 har den Hyper-Threading. Hver kerne har 2 tråde, så denne L2-cache deles af begge tråde. L1-cachen er i alt 256 KB ved 32 KB pr. Tråd. Her indgår dataene derefter i registre, som i alt er 8 registre i 32-bit-tilstand og 16 registre i 64-bit-tilstand. OS (operativsystem) planlægger processer eller instruktioner til den tilgængelige tråd. Da der er 8 tråde i en i7, skifter den til og fra tråde i kernerne. Styresystemer som Windows eller Linux er kloge nok til at vide, hvad der er fysiske kerner, og hvad der er logiske kerner.

Hvordan fungerer Hyper Threading?



I en traditionel multi-core CPU har hver fysisk kerne sine egne ressourcer, og hver kerne består af en enkelt tråd, der har uafhængig adgang til alle ressourcerne. Hyper-Threading involverer 2 (eller i sjældne tilfælde flere) tråde, der deler de samme ressourcer. Planlæggeren kan skifte opgaver og processer mellem disse tråde.

I en traditionel multi-core CPU kan kernen 'parkere' eller forblive inaktiv, hvis den ikke har nogen data eller proces tildelt. Denne tilstand kaldes sult og løses sundt ved hjælp af SMT eller Hyper-Threading.

Fysiske vs logiske kerner (og hvad er tråde)

Hvis du læser specifikationsarket til næsten alle Core i5, vil du bemærke, at det har 4 fysiske kerner og 4 logiske kerner eller 4 tråde (Coffee Lake i5s har 6 kerner og 6 tråde). Alle i7s indtil 7700K er 4 kerner og 8 tråd / logiske kerner. I forbindelse med Intels CPU-arkitektur er tråde og logiske kerner den samme. De har ikke ændret layoutet af deres arkitektur siden 1. generation Nehalem helt frem til i dag med Coffee Lake, så disse oplysninger holder. Disse oplysninger vil ikke være nok til ældre AMD-processorer, men Ryzen har også ændret meget af deres layout, og deres processorer er nu ens i design til Intels.

Fordele ved Hyper Threading

  • Hyper-Threading løser problemet med 'sult'. Hvis en kerne eller tråd er fri, kan planlæggeren videregive dataene til den i stedet for at kernen forbliver inaktiv eller venter på, at andre nye data strømmer gennem den.
  • Meget større og parallelle arbejdsbelastninger kan udføres med større effektivitet. Da der er flere tråde, der skal paralleliseres, kan applikationer, der er stærkt afhængige af flere tråde, øge deres arbejde markant (dog ikke dobbelt så hurtigt).
  • Hvis du spiller og har en slags vigtig opgave, der kører i baggrunden, vil CPU ikke kæmpe for at give tilstrækkelige rammer og køre opgaven problemfrit, da den kan skifte ressourcer mellem tråde.

Ulemper ved Hyper Threading

Følgende er ikke meget af ulemper, men de er mere ulemper.

  • Hyper-Threading har brug for implementering fra softwareniveau for at drage fordel af. Selvom der udvikles flere og flere applikationer for at drage fordel af flere tråde, vil applikationer, der ikke udnytter nogen SMT-teknologi (Simultaneous Multi-Threading) eller endda flere fysiske kerner, køre nøjagtigt det samme uanset. Disse applikations ydeevne er mere afhængig af CPU-urets hastighed og IPC.
  • Hyper-Threading kan få CPU'en til at skabe mere varme. Dette er grunden til, at i5s plejede at ur meget højere end i7s, fordi de ikke ville varme så meget, som de har færre tråde.
  • Flere tråde deler de samme ressourcer inden for en kerne. Derfor fordobles ydeevnen ikke. Det er i stedet en meget smart metode til at maksimere effektiviteten og øge ydeevnen, hvor det er muligt.

Konklusion

Hyper-Threading er gammel teknologi, men en her for at blive. Da applikationer bliver mere og mere krævende og den stigende dødelighed i Moores lov, har evnen til at parallelisere arbejdsbyrder bidraget til at forbedre ydeevnen betydeligt. At være i stand til at køre delvist parallelle arbejdsbelastninger hjælper med at øge din produktivitet og få dit arbejde til at foregå hurtigere uden at stamme. Og hvis du ønsker at købe det bedste bundkort til din 7. generation i7-processor, så kig på dette artikel.

#EksempelNavnNVIDIA SLIAMD CrossFireVRM-faserRGBKøb
1 ASUS Formel 9 10

Tjek pris
2 MSI Arsenal Gaming Intel Z270 10

Tjek pris
3 MSI Performance Gaming Intel Z270 elleve

Tjek pris
4 ASRock Gaming K6 Z270 10 + 2

Tjek pris
5 GIGABYTE AORUS GA-Z270X Gaming 8 elleve

Tjek pris
#1
Eksempel
NavnASUS Formel 9
NVIDIA SLI
AMD CrossFire
VRM-faser10
RGB
Køb

Tjek pris
#2
Eksempel
NavnMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-faser10
RGB
Køb

Tjek pris
#3
Eksempel
NavnMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-faserelleve
RGB
Køb

Tjek pris
#4
Eksempel
NavnASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
VRM-faser10 + 2
RGB
Køb

Tjek pris
#5
Eksempel
NavnGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
VRM-faserelleve
RGB
Køb

Tjek pris

Sidste opdatering den 2021-01-05 kl. 22:02 / Tilknyttede links / Billeder fra Amazon Product Advertising API