Vad är en heterogen flerkärnig processor och hur den förbättrar effektiviteten –

Det bör erkännas att en heterogen flerkärnig processor är långt ifrån ett nytt koncept, eftersom det har funnits länge i världen av mobila enheter, och du kommer säkert att vara bekant heter big.LITTLE från ARM eller Intel Lakefield-arkitektur som han också använder. Hur som helst, i den här artikeln kommer vi att gå djupare in i konceptet så att du kan förstå alla dess krångligheter på det enklaste sättet.

Vad är en heterogen flerkärnig processor?

Vi har redan upprepade gånger pratat om detta arrangemang i den interna designen av processorer, som består i det faktum att inte alla kärnor är lika, men det finns olika kluster (grupper, för att sammanfatta detta) från olika kärnor, varför det kallas heterogen multicore. För att sätta detta i perspektiv, föreställ dig till exempel en Intel Core i7-8700K-processor som har sex fysiska kärnor; i detta är de sex kärnorna absolut desamma, de arbetar tillsammans i samma hastighet och utför lika mycket de tilldelade uppgifterna, och fördelar arbetet mellan alla.

Skillnaden mot en “vanlig” processor som de vi hittills använt i en PC, från en processor med en heterogen flerkärnig processor, är att i den senare är inte alla kärnor lika, utan den har flera grupper av kärnor det kan vara fullständigt olika i termer av fysisk storlek (och därmed antalet transistorer) i drift fart och multiplikatorn men också (som vi kommer att förklara härnäst) ur lastbalanseringssynpunkt.

Så, till exempel, på bilden nedan kan du se MediaTek Helio X20-processorn, som har ett fyrkärnigt Cortex-53 ULP-kluster med mycket låg strömförbrukning, ett annat kraftfullare men mycket effektivt fyrkärnigt Cortex-A53-kluster, och slutligen ett tredje kluster med två högpresterande Cortex-A72-kärnor.

Mediatek helio deca kärna

Det är en heterogen flerkärnig processor, och den kallas det bokstavligen eftersom den har flera kärnor (flerkärniga) som är olika (olika) snarare än homogen beräkning där alla kärnor är likadana. Som vi sa tidigare är vart och ett av dessa kluster olika fysiskt såväl som empiriskt när det gäller hastighet, multiplikator och jämn spänning, och kan till och med bete sig som om de är olika processorer

Varför är denna design mer effektiv?

stort.LITT diagram

Ett exempel på heterogen beräkning är ARM:s big.LITTLE-arkitektur, som använder heterogena flerkärniga system som alla använder samma ISA, vilket innebär att alla kärnor kan exekvera samma uppsättning instruktioner och utföra vilken uppgift de tilldelas. … Detta innebär att när systemet är inaktivt kan processorn stänga av de mest kraftfulla kärnorna för att spara ström och därmed minska förbrukningen och temperaturen, vilket avsevärt förbättrar effektiviteten.

Vid en tidpunkt då mer kraft krävs från CPU:n aktiverar den nästa kluster av kärnor för att säkerställa att prestandan är som förväntad, och om det behövs kan den aktivera de högpresterande kärnorna för att nå sin fulla potential. Detta system är mycket effektivt eftersom när en processor krävs kan den ge all sin kraft, men eftersom varje kluster kan bete sig som en oberoende processor på egen hand, kan den avaktivering av kärngrupper när de inte behövs. energi sparande.

Säkert kommer många av er att säga att i en processor med homogena kärnor kan även kärnorna inaktiveras, men “hemligheten” med heterogena processorer är att ha kärnor med låg strömförbrukning som räcker för grundläggande uppgifter som inte kräver mycket ström och förbrukar mindre än kärnor för allmänt bruk, som har använts i processorer fram till nu; Med andra ord, genom att ha vissa kärnor med låg strömförbrukning uppnås mycket bättre effektivitet.

En annan sak som gör heterogen beräkning möjlig är att inte alla kärnor måste använda samma ISA (instruktionsuppsättning), så de kan till exempel inkludera vissa AI-kärnor som bara träder i kraft när de behöver utföra vissa uppgifter medan de är avaktiverade. tid kvar. Detta kommer att tillåta processorer med ett stort antal kärnor, som händer i grafikkort, och för varje typ av kärna (eller deras kluster) att utföra de specifika operationer som den designades för, vilket återigen ökar effektiviteten.

Heterogen multicore är inte utan problem

Pila-processorer

Det finns två ganska specifika “problem” med heterogena flerkärniga processorer på en plattform som en PC. Den första är relaterad till Överklockning för om varje kluster av kärnor arbetar med en hastighet och med en annan multiplikator, kommer vi inte att kunna överklocka hela processorn som sådan, utan helt enkelt en viss grupp av kärnor (kluster). Även om det är sant att Intel och AMD ännu inte har avslöjat tekniska detaljer i denna fråga. Hur som helst är det logiskt att tro att det i bästa fall kommer att vara möjligt att överklocka endast vissa kluster av kärnor, och inte alla, eftersom de är heterogena.

Andra problemet med heterogena arkitekturer: mjukvarustöd eftersom, trots allt, operativsystemet måste stödja denna typ av implementering för att tilldela arbetsbelastningen till rätt kärnor. När Linux kärna, det finns moduler som ansvarar för att styra processorns klockhastighet eller aktivera respektive avaktivera kärnor, men problemet med dessa moduler är att de fungerar oberoende och kan skapa konflikter mellan dem, minska effektiviteten i vissa fall eller försämra prestandan i andra.

Uppenbarligen är den här typen av arkitektur avsedd att bli populär förr eller senare (kom ihåg Intel Lakefield och det faktum att AMD också “leker” med det), därför, med tanke på att det mest använda operativsystemet är Microsoft Windows, måste vi vänta tills Microsoft “levererar batterier” För att omfamna den här typen av arkitektur och se hur det i slutändan fungerar.

Relaterade artiklar

Back to top button