Hur fungerar hypertrådning i Intel Core i7-processorer?

Komponenter / Hur fungerar hypertrådning i Intel Core i7-processorer? 4 minuter läst

Du har hört termen Hyper-Threading många gånger. Det ska vara en magisk teknik som fördubblar hastigheten på din processor när den är aktiverad. Företag kan antingen sätta på eller stänga av det och debitera mycket mer som en premie.



Jag skulle vilja säga att allt detta är fullständigt nonsens och att den här artikeln syftar till att utbilda dig att bättre förstå vad Hyper-Threading är. Denna artikel kommer att vara väldigt nybörjarvänlig.

Förord

På de äldre dagarna, om Intel eller AMD var tvungna att göra en snabbare CPU, skulle de generellt öka det potentiella antalet transistorer genom att krympa dem och passa mer i samma utrymme och försökte öka deras frekvenser (mätt i MHz / GHz). Alla processorer hade bara en enda kärna. Processorer blev 32 bitar och kunde hantera RAM på upp till 4 GB. De flyttade senare till 64-bitars processorer som kunde hantera RAM-hopp och gränser mer än bara 4 GB. Därefter beslutades att använda flera kärnor och sprida arbetsbelastningar över dessa flera kärnor för effektivare datorer. Alla kärnor kommunicerar med varandra för att distribuera alla uppgifter. En sådan uppgift sägs vara en uppgift med flera trådar.



Delar av en CPU



En processor består av följande delar som fungerar i harmoni. Som nämnts ovan kommer detta att bli en överförenkling. Detta är helt enkelt en kraschkurs och ta inte denna information som evangeliets ord. Dessa delar är inte listade i någon särskild ordning:



  • Schemaläggare (faktiskt på OS-nivå)
  • Fetcher
  • Avkodare
  • Kärna
  • Tråd
  • Cache
  • Minne och I / O-kontroller
  • FPU (Floating Point Unit)
  • Register

Funktionerna för dessa delar är som följer

Minnes- och I / O-styrenheten hanterar in- och utgång av data till och från CPU: n. Data hämtas från hårddisken eller SSD till RAM-minnet, och de viktigaste uppgifterna förs in i cachen på CPU: n. Cachen har tre nivåer. För t.ex. Core i7 7700K har L3-cache på 8 MB. Denna cache delas av hela CPU: n med 2 MB per kärna. Data härifrån plockas upp av den snabbare L2-cachen. Varje kärna har sin egen L2-cache som är 1 MB totalt och 256 KB per kärna. Som fallet med Core i7 har den Hyper-Threading. Varje kärna har två trådar, så denna L2-cache delas av båda trådarna. L1-cachen är totalt 256 kB vid 32 kB per tråd. Här kommer sedan data in i registren som totalt är 8 register i 32-bitars läge och 16 register i 64-bitars läge. OS (operativsystem) schemalägger processer eller instruktioner till den tillgängliga tråden. Eftersom det finns åtta trådar i en i7, byter den till och från trådar i kärnorna. Operativsystem som Windows eller Linux är tillräckligt smarta för att veta vad som är fysiska kärnor och vad som är logiska kärnor.

Hur fungerar Hyper Threading?



I en traditionell flerkärnig CPU har varje fysisk kärna sina egna resurser och varje kärna består av en enda tråd som har oberoende tillgång till alla resurser. Hyper-Threading involverar två (eller i sällsynta fall fler) trådar som delar samma resurser. Schemaläggaren kan växla mellan uppgifter och processer mellan dessa trådar.

I en traditionell flerkärnig CPU kan kärnan 'parkera' eller vara inaktiv om den inte har någon data eller process tilldelad. Detta tillstånd kallas svält och löses hälsosamt med SMT eller Hyper-Threading.

Fysiska vs logiska kärnor (och vad är trådar)

Om du läser specifikationsbladet för nästan alla Core i5, kommer du att märka att den har 4 fysiska kärnor och 4 logiska kärnor eller 4 trådar (Coffee Lake i5 har 6 kärnor och 6 trådar). Alla i7s till 7700K är 4 kärnor och 8 tråd / logiska kärnor. I samband med Intels CPU-arkitektur är trådar och logiska kärnor samma sak. De har inte ändrat layouten för sin arkitektur sedan första generationen Nehalem ända fram till idag med Coffee Lake så att denna information kommer att hålla. Denna information kommer inte att räcka för äldre AMD-processorer, men Ryzen har också förändrat en hel del av deras layout, och deras processorer har nu samma design som Intels.

Fördelar med hypertrådning

  • Hyper-Threading löser problemet med 'svält'. Om en kärna eller tråd är ledig kan schemaläggaren skicka informationen till den istället för att kärnan förblir inaktiv eller väntar på att någon annan ny data ska flöda genom den.
  • Mycket större och parallella arbetsbelastningar kan göras med större effektivitet. Eftersom det finns fler trådar att parallellisera kan applikationer som är mycket beroende av flera trådar öka sitt arbete betydligt (dock inte dubbelt så snabbt).
  • Om du spelar och har en slags viktig uppgift som körs i bakgrunden kommer inte CPU att kämpa för att tillhandahålla adekvata ramar och köra uppgiften smidigt eftersom den kan växla resurser mellan trådar.

Nackdelar med hypertrådning

Följande är inte mycket av nackdelar, utan de är mer olägenheter.

  • Hyper-Threading behöver implementeras från programvarunivå för att dra nytta av. Även om fler och fler applikationer utvecklas för att dra nytta av flera trådar, kommer applikationer som inte utnyttjar någon SMT-teknik (Simultaneous Multi-Threading) eller till och med flera fysiska kärnor att köra exakt samma oavsett. Prestanda för dessa applikationer är mer beroende av klockhastighet och IPC för en CPU.
  • Hyper-Threading kan orsaka att CPU: n skapar mer värme. Det är därför som i5s brukade klocka mycket högre än i7s eftersom de inte skulle värma så mycket eftersom de har färre trådar.
  • Flera trådar delar samma resurser inom en kärna. Det är därför prestanda inte fördubblas. Det är istället en mycket smart metod för att maximera effektiviteten och öka prestandan där det är möjligt.

Slutsats

Hyper-Threading är gammal teknik men en här för att stanna. Eftersom applikationer blir mer och mer krävande och den ökande dödligheten i Moores lag har möjligheten att parallellisera arbetsbelastningar bidragit till att förbättra prestandan avsevärt. Att kunna köra delvis parallella arbetsbelastningar hjälper till att öka din produktivitet och få ditt arbete gjort snabbare utan att stamma. Och om du vill köpa det bästa moderkortet för din 7: e generationens i7-processor, ta en titt på det detta artikel.

#FörhandsvisningnamnNVIDIA SLIAMD CrossFireVRM-faserRGBInköp
1 ASUS Formel 9 10

Kolla pris
2 MSI Arsenal Gaming Intel Z270 10

Kolla pris
3 MSI Performance Gaming Intel Z270 elva

Kolla pris
4 ASRock Gaming K6 Z270 10 + 2

Kolla pris
5 GIGABYTE AORUS GA-Z270X Gaming 8 elva

Kolla pris
#1
Förhandsvisning
namnASUS Formel 9
NVIDIA SLI
AMD CrossFire
VRM-faser10
RGB
Inköp

Kolla pris
#2
Förhandsvisning
namnMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-faser10
RGB
Inköp

Kolla pris
#3
Förhandsvisning
namnMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM-faserelva
RGB
Inköp

Kolla pris
#4
Förhandsvisning
namnASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
VRM-faser10 + 2
RGB
Inköp

Kolla pris
#5
Förhandsvisning
namnGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
VRM-faserelva
RGB
Inköp

Kolla pris

Senaste uppdatering 2021-01-05 kl 22:02 / Affiliate länkar / Bilder från Amazon Product Advertising API