sv.phhsnews.com


sv.phhsnews.com / Varför har CPU-kärnor alla samma hastighet i stället för olika enheter?

Varför har CPU-kärnor alla samma hastighet i stället för olika enheter?


Om du någonsin gjort mycket jämförelse shopping för en ny CPU, har du kanske märkt att kärnor alla verkar ha hastighet snarare än en kombination av olika. Varför är det så? Dagens SuperUser Q & A-post har svaret på en nyfiken läsarens fråga.

Dagens Frågor och svar sessions kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsare Jamie vill veta varför CPU-kärnor har samma hastighet i stället för olika:

Om du köper en ny dator, brukar du bestämma vilken processor som ska köpas baserat på den förväntade arbetsbelastningen för datorn . Prestanda i videospel tenderar att bestämmas av enkel kärnhastighet, medan applikationer som videoredigering bestäms av antalet kärnor. När det gäller vad som är tillgängligt på marknaden verkar alla processorer ha ungefär samma hastighet med de viktigaste skillnaderna som är fler trådar eller flera kärnor.

Till exempel:

  • Intel Core i5-7600K, basfrekvens 3,80 GHz, 4 kärnor, 4 trådar
  • Intel Core i7-7700K, basfrekvens 4.20 GHz, 4 kärnor, 8 trådar
  • AMD Ryzen 5 1600X, basfrekvens 3,60 GHz, 6 kärnor, 12 trådar
  • AMD Ryzen 7 1800X, basfrekvens 3,60 GHz, 8 kärnor, 16 trådar

Varför ser vi detta mönster av ökande kärnor, men alla kärnor har samma klockhastighet? Varför finns det inga varianter med olika klockhastigheter? Till exempel, två "stora" kärnor och massor av små kärnor. I stället för att säga fyra kärnor på 4,0 GHz (dvs. 4 × 4 GHz, 16 GHz maximalt), vad sägs om en CPU med två kärnor som körs vid 4,0 GHz och fyra kärnor med 2,0 GHz Skulle det andra alternativet vara lika bra för enkelgängad arbetsbelastning, men möjligen bättre vid flergängade arbetsbelastningar?

Jag frågar detta som en allmän fråga och inte specifikt med avseende på CPU-datorerna ovan eller om någon specifik arbetsbelastning. Jag är bara nyfiken på varför mönstret är vad det är.

Varför har CPU-kärnor alla samma hastighet i stället för olika?

Svaret

SuperUser-bidragaren bwDraco har svaret för oss:

Detta är känt som heterogen multi-processing (HMP) och är allmänt antagen av mobila enheter. I ARM-baserade enheter som implementerar large.LITTLE innehåller processorn kärnor med olika prestanda och kraftprofiler, dvs vissa kärnor går fort men drar mycket kraft (snabbare arkitektur och / eller högre klockor) medan andra är energieffektiva men långsamma långsammare arkitektur och / eller lägre klockor). Det här är användbart eftersom strömförbrukningen tenderar att öka oproportionerligt eftersom du ökar prestandan när du kommer över en viss punkt. Tanken här är att få prestanda när du behöver det och batterilivslängden när du inte gör det.

På stationära plattformar är strömförbrukningen mycket mindre ett problem, så det här är inte verkligen nödvändigt. De flesta applikationer förväntar sig att varje kärna har liknande prestandaegenskaper, och schemaläggningsprocesser för HMP-system är mycket mer komplicerade än schemaläggning för traditionella symmetriska multibearbetningssystem (tekniskt har Windows 10 stöd för HMP, men det är huvudsakligen avsett för mobil enheter som använder ARM big.LITTLE).

Dessutom är de flesta stationära och bärbara processorer idag inte termiskt eller elektriskt begränsade till den punkt där vissa kärnor behöver springa snabbare än andra, även för korta utbrott. Vi har i grunden slagit en vägg på hur snabbt vi kan göra individuella kärnor, så att byta ut några kärnor med långsammare kommer inte att tillåta att de återstående kärnorna går fortare.

Medan det finns några stationära processorer som har en eller två kärnor som kan körs snabbare än de andra, är denna kapacitet för närvarande begränsad till vissa mycket avancerade Intel-processorer (känd som Turbo Boost Max Technology 3.0) och innebär endast en liten förbättrad prestanda för de kärnor som kan köras snabbare.

Medan det är säkerligen möjligt att utforma en traditionell x86-processor med både stora, snabba kärnor och mindre, långsammare kärnor för att optimera för tungt belastade arbetsbelastningar, vilket skulle ge avsevärd komplexitet till processorns design och det är osannolikt att applikationerna inte kan ordentligt stödja det.

Ta en hypotetisk processor med två snabba Kaby Lake (7: e generationen) kärnor och åtta långsamma Goldmont (Atom) kärnor. Du skulle ha totalt 10 kärnor, och kraftigt gängade arbetsbelastningar optimerade för den här typen av processor kan få en prestandaförstärkning över en vanlig Kaby Lake-processor med fyrkärnor. De olika typerna av kärnor har dock väldigt olika prestanda, och de långsamma kärnorna stöder inte ens några av de instruktioner de snabba kärnorna stöder, som AVX (ARM undviker detta problem genom att kräva att både stora och små kärnor stöder samma instruktioner ).

Återigen antar de flesta Windows-baserade flertrådiga applikationer att varje kärna har samma eller nästan samma prestationsnivå och kan utföra samma instruktioner, så den här typen av asymmetri kommer sannolikt att resultera i mindre än- perfekt prestanda, kanske till och med kraschar om den använder instruktioner som inte stöds av de långsammare kärnorna. Medan Intel kan ändra de långsamma kärnorna för att lägga till avancerat instruktionsstöd så att alla kärnor kan utföra alla instruktioner, skulle detta inte lösa problem med mjukvaruunderstöd för heterogena processorer.

En annan metod för applikationsdesign, närmare vad du troligen tänker om i din fråga skulle använda GPU för acceleration av mycket parallella delar av applikationer. Detta kan göras med hjälp av API som OpenCL och CUDA. När det gäller en enda chip-lösning, främjar AMD hårdvaruunderstöd för GPU-acceleration i sina APUer, som kombinerar en traditionell CPU och en högpresterande integrerad GPU i samma chip, som Heterogen System Architecture, men det här har inte sett mycket industriupptagning utanför av några specialiserade applikationer.

Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.


Bildkrediter: Mirko Waltermann (Flickr)


Så här parar du ditt Amazon Echo till Bluetooth-högtalare för större ljud

Så här parar du ditt Amazon Echo till Bluetooth-högtalare för större ljud

ÄVen om både Echo och Echo Dot i full storlek har respektabelt ljud för sina givna storlekar jämfört med mycket större Bluetooth-högtalare eller ett helt hemmabiosystem med Bluetooth-stöd), de är ganska anemiska. Låt oss titta på hur du kan länka dem till större och mer robusta högtalare. Vad du behöver för Bluetooth-parning RELATERAD: Använda ditt Amazon Echo som Bluetooth-högtalare Detta är inte en handledning om hur du använder Bluetooth för att skicka musik till din Echo (t.

(how-top)

Så här lägger du till nästan vilken information som helst på din Macs menyraden med BitBar

Så här lägger du till nästan vilken information som helst på din Macs menyraden med BitBar

Finns det någon del av informationen du vill hålla reda på, hela tiden? För många Mac-användare är menyraden platsen för att lägga saker på så sätt, men det innebär att samla enskilda program för saker som väder, nätverksstatus och mer. BitBar är ett gratis program som kan visa i princip allt på din meny bar.

(how-top)