Hvordan fungerer Hyper Threading i Intel Core i7-prosessorer?
Hvordan fungerer Hyper Threading i Intel Core i7-prosessorer?
Av Bill Wilson 10. september 2019 4 minutter lestDu har hørt begrepet Hyper-Threading mange ganger. Det skal være noe magisk teknologi som dobler prosessorens hastighet når den er aktivert. Bedrifter kan enten slå den av eller på og belaste mye mer som en premie.
Jeg vil si at alt dette er fullstendig tull og at denne artikkelen tar sikte på å utdanne deg til å bedre forstå hva Hyper-Threading er. Denne artikkelen vil være veldig nybegynnervennlig.
Forord
I eldre dager, hvis Intel eller AMD måtte lage en raskere CPU, ville de generelt øke potensielt antall transistorer ved å krympe dem og passe mer i samme rom og prøvde å øke frekvensene (målt i MHz / GHz). Alle CPU-ene hadde bare en enkelt kjerne. CPUer ble 32 bit og kunne håndtere RAM på opptil 4 GB. De flyttet senere til 64-biters prosessorer som kunne håndtere RAM-sprang mer enn bare 4 GB. Deretter ble det besluttet å bruke flere kjerner og spre arbeidsbelastning over disse flere kjernene for mer effektiv databehandling. Alle kjerner kommuniserer med hverandre for å distribuere en hvilken som helst oppgave. En slik oppgave sies å være en oppgave med flere tråder.
Deler av en CPU
En CPU består av følgende deler som fungerer i harmoni. Som nevnt ovenfor kommer dette til å være en forenkling. Dette er rett og slett et krasjløp, og ikke ta denne informasjonen som evangeliets ord. Disse delene er ikke oppført i en bestemt rekkefølge:
- Planlegger (faktisk på operativsystemnivå)
- Fetcher
- Dekoder
- Kjerne
- Tråd
- Cache
- Minne og I / O-kontroller
- FPU (Floating Point Unit)
- Registrerer
Funksjonene til disse delene er som følger
Minne- og I / O-kontrolleren styrer inn- og utgang av data til og fra CPU. Dataene blir brakt fra harddisken eller SSD-en til RAM-en, og de viktigere dataene blir ført inn i hurtigbufferen til CPU-en. Cachen har 3 nivåer. For f.eks. Core i7 7700K har L3-cache på 8 MB. Denne hurtigbufferen deles av hele prosessoren med 2 MB per kjerne. Dataene herfra blir plukket opp av den raskere L2-cachen. Hver kjerne har sin egen L2-cache som er 1 MB totalt og 256 KB per kjerne. Som tilfellet med Core i7 har den Hyper-Threading. Hver kjerne har to tråder, så denne L2-cachen deles av begge trådene. Totalt er L1-hurtigbufferen 256 KB med 32 KB per tråd. Her går dataene deretter inn i registrene som er totalt 8 registre i 32-biters modus og 16 registre i 64-biters modus. OS (operativsystem) planlegger prosesser eller instruksjoner til den tilgjengelige tråden. Siden det er 8 tråder i en i7, vil den bytte til og fra tråder i kjernene. OS som Windows eller Linux er smart nok til å vite hva som er fysiske kjerner og hva som er logiske kjerner.
Hvordan fungerer Hyper Threading?
I en tradisjonell flerkjerners CPU har hver fysiske kjerne sine egne ressurser, og hver kjerne består av en enkelt tråd som har uavhengig tilgang til alle ressursene. Hyper-Threading involverer to (eller i sjeldne tilfeller flere) tråder som deler de samme ressursene. Planleggeren kan bytte oppgaver og prosesser mellom disse trådene.
I en tradisjonell flerkjerners CPU kan kjernen "parkere" eller forbli inaktiv hvis den ikke har noen data eller prosess tildelt. Denne tilstanden kalles sult og løses sunt av SMT eller Hyper-Threading.
Fysiske vs logiske kjerner (og hva er tråder)
Hvis du leser spesifikasjonsarket for nesten alle Core i5, vil du legge merke til at det har 4 fysiske kjerner og 4 logiske kjerner eller 4 tråder (Coffee Lake i5s har 6 kjerner og 6 tråder). Alle i7s til 7700K er 4 kjerner og 8 tråd / logiske kjerner. I sammenheng med Intels CPU-arkitektur er tråder og logiske kjerner det samme. De har ikke endret utformingen av arkitekturen siden 1. generasjon Nehalem helt frem til i dag med Coffee Lake, slik at denne informasjonen holder. Denne informasjonen vil ikke være nok for eldre AMD-prosessorer, men Ryzen har også endret mye av deres layout, og prosessorene deres er nå likt design til Intel.
Fordeler med Hyper Threading
- Hyper-Threading løser problemet med "sult". Hvis en kjerne eller tråd er ledig, kan planleggeren overføre dataene til den i stedet for at kjernen forblir inaktiv eller venter på at noen andre nye data skal strømme gjennom den.
- Mye større og parallelle arbeidsbelastninger kan gjøres med større effektivitet. Ettersom det er flere tråder å parallellisere, kan applikasjoner som er avhengig av flere tråder øke arbeidet deres betydelig (ikke dobbelt så raskt skjønt).
- Hvis du spiller og har en slags viktig oppgave som kjører i bakgrunnen, vil ikke CPUen slite med å gi tilstrekkelige rammer og kjøre den oppgaven jevnt, da den kan bytte ressurser mellom tråder.
Ulemper ved Hyper Threading
Følgende er ikke mye av ulemper, men de er mer ulemper.
- Hyper-Threading trenger implementering fra programvarenivå for å dra nytte av. Selv om flere og flere applikasjoner blir utviklet for å dra nytte av flere tråder, vil applikasjoner som ikke benytter seg av noen SMT-teknologi (Simultaneous Multi-Threading) eller til og med flere fysiske kjerner kjøre nøyaktig det samme uansett. Ytelsen til disse applikasjonene er mer avhengig av klokkehastigheten og IPC til en CPU.
- Hyper-Threading kan føre til at CPU-en skaper mer varme. Dette var grunnen til at i5s pleide å klokke mye høyere enn i7s fordi de ikke ville varme opp så mye som de hadde færre tråder.
- Flere tråder deler de samme ressursene i en kjerne. Dette er grunnen til at ytelse ikke dobles. Det er i stedet en veldig smart metode for å maksimere effektiviteten og øke ytelsen der det er mulig.
Konklusjon
Hyper-Threading er gammel teknologi, men en her for å bli. Etter hvert som applikasjoner blir mer og mer krevende, og den økende dødsraten i Moores lov, har muligheten til å parallellisere arbeidsbelastninger bidratt til å forbedre ytelsen betydelig. Å kunne kjøre delvis parallelle arbeidsbelastninger bidrar til å øke produktiviteten din og få arbeidet ditt raskere uten stamming. Og hvis du ønsker å kjøpe det beste hovedkortet til din 7. generasjons i7-prosessor, kan du ta en titt på denne artikkelen.
# | Forhåndsvisning | Navn | NVIDIA SLI | AMD CrossFire | VRM-faser | RGB | Kjøp |
---|---|---|---|---|---|---|---|
1 | ASUS MAXIMUS IX FORMEL | 10 | Sjekk pris | ||||
2 | MSI Arsenal Gaming Intel Z270 | 10 | Sjekk pris | ||||
3 | MSI Performance Gaming Intel Z270 | 11 | Sjekk pris | ||||
4 | ASRock Gaming K6 Z270 | 10+2 | Sjekk pris | ||||
5 | GIGABYTE AORUS GA-Z270X Gaming 8 | 11 | Sjekk pris |
# | 1 |
Forhåndsvisning | |
Navn | ASUS MAXIMUS IX FORMEL |
NVIDIA SLI | |
AMD CrossFire | |
VRM-faser | 10 |
RGB | |
Kjøp | Sjekk pris |
# | 2 |
Forhåndsvisning | |
Navn | MSI Arsenal Gaming Intel Z270 |
NVIDIA SLI | |
AMD CrossFire | |
VRM-faser | 10 |
RGB | |
Kjøp | Sjekk pris |
# | 3 |
Forhåndsvisning | |
Navn | MSI Performance Gaming Intel Z270 |
NVIDIA SLI | |
AMD CrossFire | |
VRM-faser | 11 |
RGB | |
Kjøp | Sjekk pris |
# | 4 |
Forhåndsvisning | |
Navn | ASRock Gaming K6 Z270 |
NVIDIA SLI | |
AMD CrossFire | |
VRM-faser | 10+2 |
RGB | |
Kjøp | Sjekk pris |
# | 5 |
Forhåndsvisning | |
Navn | GIGABYTE AORUS GA-Z270X Gaming 8 |
NVIDIA SLI | |
AMD CrossFire | |
VRM-faser | 11 |
RGB | |
Kjøp | Sjekk pris |
Siste oppdatering 23.12.2020 kl 05:32 / Tilknyttede lenker / Bilder fra Amazon Product Advertising API