Chipsæt - Tegra 3
Til Android tablets har nVidia Tegra 2 længe været herskende i bl.a. Asus Transformer, Samsung Galaxy Tab 10.1, Motorola Xoom mfl. Nu er Tegra 3 klar til at tage over. HTC One X er den første telefon i Danmark med Tegra 3. Både Tegra 2 og Tegra 3 er baseret på ARM Cortex-A9 arkitekturen. I grove vendinger så er det ARM (holdings) som laver det grundlæggende design som man så kan købe licens til.
ARM har dog ikke gjort det let, for I Cortex-A9 bruges ARMv7 kernen, men den bruges også i ARM Cortex-A8. Men ARM Cortex A9 skal ikke forveksles med ARM9 (som bruger ARMv5 eller ARMv6) for ikke at snakke om ARM11 (bruger ARMv6). ARM9 og ARM11 findes typiske i meget billige tablets og en del forskellige telefoner, f.eks. en del Nokia smartphones som f.eks. Nokia E52.
Tilbage til ARM-Cortex A, som findes i rigtig mange CPUer til smartphones og tablets.
Cortex A8 baseret: Apple A4 (f.eks. iPhone 4), Samsung S5PC110 (Galaxy S), Qualcomm Snapdragon MSM8260, AllWinner A10 (mange kina tablets).
Cortex A9 baseret: Apple A5/A5X (iPad2 , iPhone 4s, ny iPad), Samsung Exynos 4210 (Galaxy S2), TI omap4 serien (feks. Motorola Droid RAZR, Samsung Galaxy Nexus ), Tegra 2 (Asus Transformer, Motorola Xoom, Samsung Tab 10.1), Tegra 3 (Asus Transformer Prime).
Groft sagt, så er den gamle Cortex A8 singlecore CPUer , uden pipelined FPU, men med NEON (vi kommer til det senere), uden out of order execution (det kommer vi også til) og med 13 stages pipeline. Cortex-A9 minder meget om Cortex-A8, men understøtter op til 4 kerner, samt det har out of order execution, pipelined FPU, men kun 9 stages pipeline og med mulighed for NEON. Generelt så er Cortex-A9 hurtigere end Cortex-A8 med samme MHz.
Tættere på Tegra 3
Den opmærksomme læser vil nu sige- “jamen Tegra 3 har jo 5 kerner - og Cortex-A9 er op til 4 kerner” - og svaret er "nemt" - de forskellige ARM CPUer har nogle grundlæggende træk, men det er tilladt at lave lidt om på det. F.eks. Qualcomm MSM8260 er en Cortex-A8 med to CPUer (og ikke én CPU med to kerner). På samme måde så har nVidia været kreative og tilføjet en “companion core”. Forklaringen til denne tilgang, skal lidt ses i et bredere perspektiv. For at få en hurtigere SoC (System On Chip) så er der forskellige tilgange:
-
Man kan vælge at få flere kerner på grafiksiden (Apples Ny iPad (A5X) / Playstation Vita).
-
Øge frekvensen (Samsung Galaxy S2/ Motorola Droid RAZR m.fl.).
-
Øge effektiviteten af eksisterende arkitektur (Snapdragon S4 “Krait”) f.eks. i Asus PadPhone.
-
Skabe ny arkitektur (kommende ARM Cortex A15).
-
Men man kan også bruge flere kerner som i Tegra 3.
Tegra 3 har dog udover de mange kerner også en rimelig høj klokfrekvens hvilket er positivt, hvis applikationen ikke kan udnytte de mange tråde, der kan behandles samtidig. I Tegra 3 er der 4 identiske Cortex-A9 kerner, som kan køre fra 0 til 1500MHz (1400MHz hvis alle fire kører samtidigt), men når der ikke er brug for de hurtige kerner, så er der spildstrøm. Derfor har man lagt en low power Cortex-A9 CPU ind, der køre op til 500MHz. Den skal klare alt det som ikke kræver de store kræfter f.eks. sync af email, men kan endda også klare afspilning af musik og video (hvis det er hardwareacceleret). Nvidia har udviklet Variable Symmetric Multiprocessing (vSMP) som gør det muligt at styre de forskellige kerner. Derfor er der også forskel på frekvensen og volt efter hvad der er brug for, samtidig med antallet af kerner der er i brug.
I modsætning til Tegra 2, så kan hver enkelte kerne styres uafhængigt af de andre, hvilket gør Tegra 3 til en noget mere strømbesparende CPU. Finten er at de høje clockfrekvenser har et større strømtab end ved lave, så derfor kan Tegra 3 spare på strømmen hvis applikationen kan bruge 3 kerner ved 720MHz end 2 ved 1,2GHz . Rent konkret på Transformer Prime er der 3 valgbare strømprofiler - Normal: 1 kerne op til 1,4GHz, maks. 1,3GHz når alle fire kerner kører, Balanced: 1 kerne op til 1,2GHz, og Power Save: 1-2 Kerner op til 1GHz, 3 op til 760MHz, 4 op til 620MHz.
På RAM siden understøtter Tegra 3 nu DDR3 1500-L, men desværre kun i SingleChannel (64bit). Antallet af RAM er steget til 2GB i forhold til Tegra 2's 1GB. L1 cachen er bibeholdt på 32KB pr kerne, og den delte L2 cache er bibeholdt på 1MB som i Tegra 2.
GPUen i Tegra 3 er blevet forbedret i forhold til Tegra 2, hvor man har fordoblet pixel shader antallet fra 4 til 8, men man har beholdt 4 vertex shaders - dvs. 12 i alt. Desuden understøttes 3D stereo. Nvidia skriver selv at Tegra 3 er op til 3 gange hurtigere end Tegra 2. Performancemæssigt kan Tegra 3 ikke følge med Apples A5X, men omvendt tyder det på at grafikken er mere detaljeret med Tegra 3. i vores benchmarks ser vi da også at Tegra 3 ikke nødvendigvis er hurtigere end f.eks. Mali400, som bruges i bl.a. Samsung Galaxy S2.
Der er desuden lavet support for controller fra Playstation3, Xbox360 og Wii. Image Signal Processoren er gjort dobbelt så hurtig som i Tegra2.
På multimediesiden understøtter Tegra3 1080p HighProfile i 40Mbit/s og det er endda i alle power modes, decodning af h264, MPEG4, Divx 4 / 5 , WMV mfl.
NEON er ARMs SIMD også kaldet Media Processing Engine - da det er med til at forbedre multimedia som f.eks. video og lyd. Faktisk kan det forbedre kompleks video performance mellem 60%-150%. Det vil også kunne forbedre performance i spil. Tegra 2 havde ikke NEON som mange andre Cortex-A9 CPUer har.
Out of order execution hvilket groft sagt er måden at tingene kører igennem CPU'en, skal den vente pænt på at tingene bliver færdigt (in order) eller om den bare skal fylde på (out of order). In-order har fordelen i at være generelt bedre til at spare på strømmen, men omvendt at være noget langsommere. Samlet set, så er Tegra 3 en videreudvikling af Tegra 2 med en del forbedringer især på strømsiden, men også på performancesiden.
Overordnet er Tegra 3 langt mere end Tegra 2 med 2 ekstra CPU kerner, hvilket gør at Tegra 3 er en af de hurtigste ARM CPUer på markedet, men der er en del Quadcore CPUer på vej (f.eks. Huawei K3V2, Qualcomm Krait m.fl.) og Cortex A15 CPUer som Exynos 5250, TI Omap5 kommer formodentlig i slut 2012. På nuværende tidspunkt er der også Exynos Quadcore som findes i Samsung Galaxy S3.
På næste side kassens indhold