Stora och små kärnor i en heterogen CPU: Skillnader och prestanda

Stora och små kärnor i en heterogen processor

Hittills har normen i både PC-processorer och APU-enheter varit en homogen design i processorer, vilket innebär att användningen av en enda typ av kärna upprepas ett visst antal gånger. Men användningen av heterogena konfigurationer med kärnor av olika komplexitet har börjat visas på PC. Vi förklarar vad stora och små kärnor skiljer sig åt i sådana APU: er och processorer för PC

Ankomsten av processorer och APU: er till datorer som använder heterogena kärnor och därmed kärnor av olika komplexitet och storlek är ett faktum. Men hur skiljer sig dessa heterogena kärnor till sin natur och prestanda? Det är frågan som många ställer sig själva när de läser om de olika arkitekturerna som dyker upp på marknaden. Varför efter mer än ett decennium att använda en enda typ av kärna har språnget till användningen av stora och små kärnor i processorer.

Varför användningen av olika typer av kärnor?

ConceptArt MultiCPU

Det finns flera anledningar till detta, den mest kända är den som har använts i den nu klassiska stora. LITTAL processorer för smartphones, där två samlingar av kärnor med olika effekt och förbrukning byts i användning beroende på typ av applikationer enligt till arbetsbelastningen på smarttelefonen hela tiden. Detta gjordes för att öka batterilivslängden för sådana enheter.

Idag har detta koncept utvecklats och det är redan möjligt att använda båda typerna av kärnor samtidigt och inte på ett bytt sätt. Så den kombinerade designen bygger inte längre på energibesparing utan på att uppnå högsta möjliga prestanda. Det är här vi kommer in på två olika sätt att förstå prestanda beroende på hur heterogena kärnor används.

De mest använda av dem, eftersom det är det enklaste att implementera, består av att tilldela de lättaste trådarna när det gäller arbetsbelastning till kärnorna med minst kraft, en uppgift som operativsystemet måste utföra. Vilken är den programvara som ansvarar för hanteringen av hårdvaruresurser inklusive GPU. Detta sätt att arbeta är detsamma som Intel Lakefield och dess framtida arkitekturer som Alder Lake, liksom ARM kärnor med DynamiQ.

Oavsett vad det är är organisationen baserad på användningen av två kärnor med samma uppsättning register och instruktioner men med olika specifikationer. Vilka är skillnaderna mellan de olika heterogena kärnorna? Låt oss se.

Stora kärnor kontra små kärnor idag

Lakefield-kärnor nucleos híbridos

Först och främst låt oss gå in i det uppenbara, den första skillnaden mellan de två typerna av kärnor är i storlek. Eftersom stora kärnor är mer komplexa än små kärnor har de en mer komplex struktur och består därför av ett större antal transistorer. Ergo är större än små kärnor som har en mycket enklare struktur. Det betyder att inom chiputrymmet kan vi inkludera fler små kärnor i chiputrymmet än stora kärnor.

För allt detta är det första du kommer att fråga dig själv: vad är prestandafördelen när du använder de två typerna av kärnor? Vi måste komma ihåg att på datorerna idag, på våra datorer, körs flera applikationer samtidigt, var och en kör flera trådar för körning. Vad faktumet med att lägga till ett större antal kärnor, även om det är baserat på att göra det med kärnor som är lättare i kraft, slutar lägga till den totala prestandan.

I själva verket är de mindre kärnorna bara ett sätt att göra det lättare för de större och mer komplexa kärnorna och ta bort arbetet att göra. Inte bara det, men även ytterligare kärnor kan användas för att hantera de vanligaste avbrotten i de olika kringutrustningarna, så att resten av kärnorna inte behöver stoppa sin verksamhet när som helst för att delta i dem kontinuerligt och hela tiden. .

Framtidens arkitekturer går genom heterogena konfigurationer

Núcleos Big Little

Den andra metoden är mer komplex för att implementera stora och små kärnor skiljer sig från den tidigare, eftersom den består av att dela upp ISA: s register och instruktioner och upprepa den i två klasser av kärnor. Anledningen är att inte alla instruktioner har samma energiförbrukning, men det enklaste kommer alltid att konsumera mer i de mer komplexa kärnorna. Så idén är inte att distribuera körningstrådarna till deras motsvarande kärna, utan snarare att körningen av en enda körningstråd delas mellan två eller flera kärnor på ett sammanflätat sätt.

Därför är dess implementering mycket mer komplicerad än den nuvarande modellen, eftersom de olika kärnorna som ansvarar för samma exekveringstråd måste ha nödvändig hårdvara för att samordna när koden för programmen körs. Fördelen med detta paradigm är att det i princip inte kräver att operativsystemet arbetar för att hantera de olika trådarna som CPU måste köra. Men i det här fallet, som vi redan har kommenterat, beror uppdelningen av heterogena kärntyper på hur instruktionsuppsättningen fördelas mellan båda kärnorna.

Ley Amdahl

Driften av denna metod har att göra med den så kallade Amdahls lag och det sätt på vilket program skalas när det gäller prestanda. Å ena sidan har vi sekventiella delar som inte kan fördelas mellan flera kärnor eftersom de inte kan exekveras parallellt och på andra delar som kan. I det första fallet beror inte effekten på antalet kärnor utan på kraften hos varje kärna, medan i det andra beror det på varje kärna.

Traditionellt implementeras de mest komplexa instruktionerna i en CPU från en sekvens av enklare instruktioner för att dra nytta av hårdvaran mycket bättre. Men de nya tillverkningsnoderna gör att mer komplexa instruktioner kan kopplas in i de mer komplexa kärnorna direkt, snarare än att vara en sammansättning av flera kärnor. Detta kommer också att tjäna till att öka programmens allmänna prestanda, eftersom det tar mycket mindre klockcykler att utföra när dessa instruktioner utförs.