Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Kal-El har fem kärnor, inte fyra: NVIDIA avslöjar Companion Core

Förra veckan gav NVIDIA en uppdatering om sin Tegra SoC-färdplan. Kal-El, dess tredje generations SoC (kommer troligen att lanseras som Tegra 3) har försenats med ett par månader. NVIDIA förväntade sig ursprungligen att de första Kal-El-surfplattorna skulle komma i augusti, men nu ser det ut som någon gång under fjärde kvartalet. Kal-Els efterträdare, Wayne, har också skjutits tillbaka till slutet av 2012/början av 2013. Mellan dessa två SoCs finns en ny del kallad Kal-El+. Det är oklart om Kal-El+ kommer att vara en processkrympning eller bara högre klockor/större matris på 40nm.

I smarttelefonandan släpper NVIDIA ut små godbitar av information om Kal-El när det närmar sig lanseringen. I februari fick vi veta att Kal-El skulle vara NVIDIAs första fyrkärniga SoC-design, med fyra ARM Cortex A9:or (med MPE) bakom en 1MB delad L2-cache. Kal-Els GPU skulle också se en boost till 12 “kärnor” (upp från 8 i Tegra 2), men genom arkitektoniska förbättringar skulle den leverera upp till 3x GPU-prestanda av T2. Tyvärr kommer ökningen i GPU-storlek och CPU-kärnantal inte med en bredare minnesbuss. Kal-El har fortfarande fastnat med ett enda 32-bitars LPDDR2-minnesgränssnitt, även om den maximala datahastigheten som stöds ökar till 800MHz.

Vi fick också veta att NVIDIA riktade in sig någonstans runt en 80 mm^2 tärning, mer än 60 % större än Tegra 2 men över 30 % mindre än A5 i Apples iPad 2. NVIDIA berättade för oss att även om iPad 2 gjorde det lättare för den att säljer en stor SoC till OEM, är det fortfarande inte så lätt att övertyga tillverkare att spendera mer på en stor SoC.

Klockhastigheter är i luften men NVIDIA förväntar sig att Kal-El ska köras snabbare än Tegra 2. Baserat på konkurrerande A9-designer skulle jag förvänta mig att Kal-El kommer att lanseras någonstans runt 1,3 – 1,4 GHz.

Nu till den nya informationen. Strömförbrukningen var ett stort problem med flytten till Kal-El, men NVIDIA åtgärdade det genom att tillåta att varje A9 i SoC:n strömförsörjdes när den är inaktiv. När en kärna är power gated är den effektivt avstängd, förbränner ingen dynamisk kraft och läcker väldigt lite. Tegra 2 som jämförelse kunde inte driva gate enskilda kärnor, bara hela CPU-ön själv.

I lätt gängade situationer där du inte använder alla Kal-Els kärnor, bör de lediga helt enkelt stängas av (om NVIDIA har gjort sin strömhantering ordentligt förstås). Kal-El är byggd på samma 40nm-process som Tegra 2, så när man gör lika mycket arbete bör det fyrkärniga chippet inte förbruka mer ström.

Power gating tomgångskärnor tillåter Kal-El att öka frekvensen till återstående aktiva kärnor vilket resulterar i turboboost-liknande drift (t.ex. 4-kärnor aktiva vid 1,2GHz eller 2-kärnor vid 1,5GHz, dessa är naturligtvis hypotetiska siffror). Återigen, NVIDIA talar inte om slutklockor för Kal-El eller dynamiska frekvensområden.

Fem kärnor, inte fyra



Med tillstånd från NVIDIA

Äntligen kommer vi till den stora nyheten. Det finns faktiskt fem ARM Cortex A9:or med MPE på en enda Kal-El-matris: fyra byggda med TSMC:s 40nm generella (G)-process och en på 40nm lågeffekt (LP). Om du minns tillbaka till vår Tegra 2-recension kommer du att veta att T2 byggdes med en liknande kombination av transistorer; G för CPU-kärnorna och LP för GPU:n och allt annat. LP-transistorer har väldigt lågt läckage men kan inte köras på superhöga frekvenser, G-transistorer å andra sidan är läckande men kan växla väldigt snabbt. Uppdatering: För att förtydliga erbjuder TSMC en 40nm LPG-process som möjliggör en ö av G-transistorer i ett hav av LP-transistorer. Detta är vad NVIDIA verkar använda i Kal-El, och vad NV använde i Tegra 2 tidigare.

De fem A9:orna kan inte alla vara aktiva på en gång, du får antingen 1 – 4 av GP-kärnorna eller den ensamma LP-kärnan. GP-kärnorna och LP-kärnan är på separata kraftplan.

NVIDIA berättar för oss att den enda poängen med LP Cortex A9 är att ge lägre energidrift när din enhet är i aktivt standbyläge (t.ex. skärmen är avstängd men enheten laddar aktivt ner nya e-postmeddelanden, tweets, FB-uppdateringar, etc… när de kom in). LP-kärnan går på en lägre spänning än GP-kärnorna och kan bara klocka på upp till 500MHz. Så länge som prestandatillståndet som begärs av OS/apparna inte är högre än ett förutbestämt tröskelvärde, kommer LP-kärnan att betjäna dessa behov. Även med din skärm på är det möjligt för LP-kärnan att vara aktiv, så länge som prestandatillståndet som begärs av OS/apparna inte är för högt.



Med tillstånd från NVIDIA

När den väl passerar den tröskeln är emellertid LP-kärnan power-gated och tillståndet flyttas över till arrayen av GP-kärnor. Som jag nämnde tidigare kan inte båda CPU-öarna vara aktiva samtidigt – du får bara den ena eller den andra. Alla fem kärnor delar samma 1MB L2-cache så minnessammanhang borde inte vara svårt att räkna ut.

Android är inte medveten om den femte kärnan, den ser bara upp till 4 vid varje given tidpunkt. NVIDIA åstadkommer detta genom att hotplugga kärnorna i schemaläggaren. Kärnoperativsystemet behöver inte vara modifierat eller medvetet om NVIDIAs 4+1-arrangemang (som det kallar vSMP). NVIDIAs CPU-styrningskod definierar de specifika villkoren som utlöser aktiverande kärnor. Till exempel, under en viss nivå av CPU-efterfrågan kommer schemaläggaren att få veta att det bara finns en enda kärna tillgänglig (kompanjonskärnan). När arbetsbelastningen ökar, kommer guvernören att sova ledsagarkärnan och aktivera den första GP-kärnan. Om arbetsbelastningen fortsätter att öka kommer efterföljande kärnor att göras tillgängliga för schemaläggaren. På samma sätt om arbetsbelastningen minskar, kommer kärnorna att tas bort från schemaläggningspoolen en efter en.



Med tillstånd från NVIDIA

NVIDIA kan växla mellan medföljande och huvudkärnor på under 2ms. Det finns också logik för att förhindra att man slösar bort tid mellan LP- och GP-kärnorna för arbetsbelastningar som ligger på triggertröskeln.

NVIDIA förväntar sig att i stort sett allt aktivt arbete ska göras på den fyrkärniga GP-arrayen, det är egentligen bara när din telefon är inaktiv och hanterar bakgrundsuppgifter som LP-kärnan kommer att användas. Som ett resultat av denna processdikotomi hävdar NVIDIA betydande effektförbättringar jämfört med Tegra 2, trots en ökning av antalet transistorer:



Med tillstånd från NVIDIA

NVIDIA pratar inte om GPU-prestanda idag men det avslöjade några siffror i en ny vitbok:



Med tillstånd från NVIDIA

Vi har inte tillgång till riktmärkena här men allt kördes på Android 3.2 på 1366 x 768 med identiska spelinställningar. Prestandavinsterna är vad NVIDIA har lovat, i intervallet 2 – 3x. Det är uppenbart att vi inte körde något av dessa tester själva, så vi var försiktiga.

Slutord

Det som sålde NVIDIAs Tegra 2 var inte nödvändigtvis dess arkitektur, utan timing och det faktum att det var Googles lanseringsplattform för Honeycomb. Om ryktena stämmer är NVIDIA inte lanseringspartnern för Ice Cream Sandwich, vilket innebär att Kal-El måste stå på egen hand som en övertygande plattform.



Med tillstånd från NVIDIA

vSMP/companion core-arkitekturen är en unik lösning på problemet med att öka SoC-prestanda samtidigt som batteritiden förbättras. Detta är ett steg mot heterogen multiprocessing, trots den homogena implementeringen i Kal-El. Det återstår att se hur påtaglig den medföljande kärnans inverkan är på den verkliga batteritiden.