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)


Upprepar du hur mycket du delar din plats?

Upprepar du hur mycket du delar din plats?

Den här appen spårar varje steg! -En hyperbolisk rubrik Jag är säker på att vi alla har sett tidigare. Medan känslan här är en över-the-top, det ger en viktig fråga: vet du hur privat din plats egentligen är? Varje dag är det något nytt. I dag är det rubriker om aktivitetsspårningsapp Strava (iOS, Android) och hur det "gav bort" platser av hemliga armébaser.

(how-top)

Prova en mjukvaruversion av pekskärmen på vilken Mac som helst med Touché

Prova en mjukvaruversion av pekskärmen på vilken Mac som helst med Touché

Nyfiken om den nya MacBook Pro pekskärmen, men inte säker på om det är värt att betala extra för? Touché, en gratis Mac-app, låter dig förhandsgranska hur Apples pekskärm ersätter den översta raden av nycklar, och den körs på vilken Mac som helst som kör den senaste versionen av MacOS Sierra. Den här appen är inte praktisk för dag-till- dagsdatoranvändning: det är bara pekskärmsgränssnittet i ett flytande fönster.

(how-top)