Två läger erbjuder 64-bits mobila kretsar idag, men vad innebär tekniken egentligen för oss som användare? Och vilket läger det är som lyckats bäst?
När Apple introducerade sin A7-processor som bas för Iphone- och Ipad-familjerna innebar det att mobila enheter för förs-ta gången fick 64-bits kapacitet. Det tog längre tid för Android-lägret att erbjuda detsamma, men i och med lanseringen av datorplattan Nexus 9 introducerades både den första kretsuppsättningen med 64-bits kapacitet och operativsystemet Android 5.0, som lade till stöd för 64-bitsprogram.
Med detta i åtanke tänker vi ta en närmare titt på vad stöd för 64 bit egentligen tillför i dagsläget, dels prestandamässigt, dels vad gäller den generella användarupplevelsen. Prestandamätningar för processor och minne baserar vi på mätverktygen Geekbench 3 och Antutu. Grafik- och medieresultat baserar vi på resultat från mätverktygen 3dmark, Basemark X och GFXbench. Vi har även använt mätverktyg för webbprestanda, och här har Sunspider, Bredbandskollen och Speedtest använts.
ARM men ändå inte
Både Apple och Nvidia använder instruktionsuppsättningar från ARM Holdings som bas för sina processorer. Här är det viktigt att skilja på instruktionsuppsättningen ARM och kretsdesignerna baserade på densamma. Företag som Samsung, Huawei med flera använder färdiga processorkärnor och grafikkretsar på licens från ARM Holdings. Detta är billigare än att bara köpa licens på instruktionsuppsättningen, men företag som väljer det senare alternativet kan utveckla egna processorkärnor och grafiktekniker runt denna instruktionsuppsättning. Det är just detta som Apple och Nvidia har gjort med A8X respektive Tegra K1.
Apples A8X innehåller en trekärnig processordel vars kärndesign kallas Cyclone. Denna baseras på instruktionsuppsättningen ARM v8 men är en egenutvecklad design i övrigt. Detsamma gäller Nvidia Tegra K1, som använder två kärnor kallade Denver-kärnor, där ARM v8 används som instruktionsuppsättning. En kretsuppsättning, eller SoC, innehåller dock mer än bara processor- och grafikärnor. Det krävs även minneskontroller, digital signalprocessor (DSP) och mycket mer. Alla dessa komponenter spelar olika stor roll för hur kretsen som helhet kommer att prestera.
Flerkörning av många tyngre appar är ett område som kan dra fördel av 64-bit, men främst i en framtid där mer internminne används.
Apple A8 vs Nvidia Tegra K1
Apples tre Cyclone-kärnor i A8X tuffar på i 1,5 gigahertz, vilket är markant långsammare än Nvidias två Denver-kärnor som ångar på i 2,3 gigahertz. Hastighet är dock inte det viktigaste för en modern processor, framför allt inte en mobil kretsuppsättning som dränerar batterier med relativt begränsad kapacitet. Apples Cyclone-kärnor har en bredare exekveringsmodell (pipeline) och kan exekvera fler instruktioner per klockcykel. Detta i kombination med att Apple använder en dubbelt så bred minneskontroller, 128-bits kontra 64-bits i Tegra K1, gör att A8X får betydligt bättre bandbredd genom systemet än Nvidias alster.
Nvidia är dock inte kända som processortillverkare i främsta rummet, även om Tegra-familjen funnits längre än Apples A-serie. Nvidias starka kort är grafik, och i Tegra K1 har de hämtat in hela 192 grafikkärnor som använder den Kepler-teknik som används i företagets grafikkort för stationära och bärbara grafikkort. Detta borde ge dem ett märkbart övertag på grafiksidan, men den PowerVR-krets som sitter i Apple A8X är också kompetent med åtta mer komplexa grafikkärnor. Både Nexus 9 och Ipad Air 2 använder två gigabyte internminne och skärmarna har samma upplösning, så en jämförelse mellan de två bör innebära en så rättvis jämförelse mellan A8X och Tegra K1 som möjligt.
Vad innebär stöd för 64 bit?
Vad är det då egentligen som stöd för 64-bitsexekvering ska tillföra? Den fundamentala kapaciteten som förbättras är mängden internminne som kan adresseras. 32-bitsprocessorer kan inte adressera mer än 3,4 gigabyte interminne (effektivt). Med 64-bitsprocessorer kommer mobila kretsuppsättningar inte att stöta på någon minnesgräns på säkert mer än ett årtionde. Dagens mobila kretsuppsättningar når inte över fyra gigabyte internminne, så denna kapacitet kommer just nu inte till någon enorm nytta. Det innebär dock inte att 64-bitsstöd är helt utan medföljande förbättringar idag.
ARM v8 är bland annat mer effektivt på att exekvera kod över lag än den tidigare 32-bitsuppsättningen ARM v7, vilket innebär att 64-bitsapplikationer exekveras betydligt snabbare än deras 32-bitsmotsvarigheter på samma hårdvara. Fler instruktioner kan exekveras per klockcykel på operativsystemsnivå, vilket så klart förutsätter att både kärna och användarmiljö är 64-bits.
En krävande användarmiljö ovanpå Android skulle exempelvis kunna flyta betydligt bättre bara genom ett byte till 64-bitars kretsuppsättning och systemkärna. Vilken typ av applikation som ska köras avgör hur stora dessa prestandavinster blir – en enkel ordbehandlare lär se blygsamma vinster, medan ett krävande spel eller en vetenskaplig applikation kan få betydligt större vinster.
En titt på prestanda
Om vi börjar med att fokusera på processorprestanda så kan vi i testet Geekbench 3 se att de båda aktörerna presterar något så när likvärdigt i enkelkärnig prestanda, men i flerkärnig prestanda får Apples A8X ett rejält övertag. I Antutu blir resultatet för generell 64-bitsprestanda jämnt mellan de två. Här blir också testet för flerkörning av program (UX multitask) betydligt jämnare än det flerkärniga resultatet i Geekbench 3 skvallrar om, men här till fördel för Tegra K1 istället för A8X. Det andra värdet, UX OC, testar hur väl apparna presterar i användarmiljön, och här är de båda kombattanterna likvärdiga. De är även relativt jämbördiga sett till integerberäkningar, men Apple A8X har ett rejält övertag vad gäller flyttalsberäkningar.
Det förvånansvärda resultatet kommer i minnestestet RAM op och RAM speed. Då A8X har en dubbelt så bred minnesbuss hade vi väntat oss att den skulle vara överlägsen här, men enligt testerna får faktiskt Tegra K1 ett ordentligt övertag i båda resultaten. I grafik och databas tar dock Apple tillbaka övertaget. I Sunspider-testet, som använder Javascript-exekvering för att mäta processorns kapacitet för att hantera den moderna webben, krossar A8X motståndet fullständigt. Nästan fyra gånger snabbare exekvering visar att Apples kärndesign är betydligt vassare på det här området.
3dmark och GFXbench testar dels kretsuppsättningens förmåga att rendera grafik, dels dess förmåga att hantera det som beräknas i bakgrunden.
Vidare prestandatitt
En annan indikation på hur mycket 64-bits prestanda spelar in kommer från grafik-tillämpningar. När vi tittar på resultaten från 3dmark visar Nvidia faktiskt ett visst försprång, och de resultat som ligger närmast A8X är fysikbaserade. Här kommer Nvidias grafikexpertis bevisligen till nytta. I Antutu blir resultatet också relativt jämnt vad gäller 3d-grafik, dock till fördel för A8X denna gång. I resultaten för 2d-grafik krossar A8X allt motstånd med dubbelt så bra prestanda, något vi gissar kan tillskrivas en kombination av den bredare minnesbussen och mer effektiva processorkärnor.
Detta reflekteras än mer i resultaten från GFXbench. I de fall där grafik renderas (onscreen) ligger resultaten oftast nära varandra med fördel A8X. I några fall blir försprånget ganska stort. När beräkningar görs i bakgrunden (offscreen) krossar A8X motståndaren, exempelvis i T-Rex
offscreen, där resultatet blir över 70 fps mot 49 fps för Tegra K1. Minnesbuss och effektiva processorkärnor är nog återigen anledningen. Den absolut största krossen sker i deltestet Alpha blending, som mäter hur många lager som kan renderas samtidigt. Här får A8X nästan fem gånger bättre bandbredd än Tegra K1, återigen ett resultat av en bred minnesbuss och effektiva processorkärnor. Även deltestet Fill onscreen/offscreen bekräftar detta förhållande.
Att jämföra 32 och 64 bit
Vi körde igenom samtliga prestandatester på en 32-bits kretsuppsättning, baserad på instruktionsuppsättningen ARM v7. Kretsuppsättningen heter Kirin 925 och bygger på fyra snabba ARM Cortex-A15-kärnor och fyra enklare kärnor av typen ARM Cortex-A7. Testenheten med denna hårdvara var en Huawei Ascend Mate 7, som med en lägre upplösning på 1 920 x 1 080 pixel och mer internminne än både Ipad Air 2 och Nexus 9 borde kunna leverera bra prestanda. En titt på prestandajämförelsen talar sitt tydliga språk, då Kirin 925 klarar sig relativt bra vad gäller processorintensiva beräkningar, men när det kommer till minne och grafik blir den totalt omsprungen.
I GFXbenchs deltest T-Rex offscreen får Huawei Ascend Mate 7 faktiskt slut på minne, och i de flesta grafiktesterna blir resultatet allt från hälften så bra till sju gånger sämre jämfört med Nexus 9 och Ipad Air 2. En kombination av 64-bits processordelar och rejäl minnesbandbredd gör att de båda kan mata både processor och grafikdel med stora datamängder. Att Kirin 925-kretsen lyckas knäppa Tegra K1 på näsan i det Javascript-baserade webbtestet visar att 64-bits processorkärnor inte är något magiskt piller som automatiskt förbättrar processorresultat, kärnorna måste fortfarande vara smart och effektivt utformade. Något som Apple illustrerar ypperligt med sina Cyclone-kärnor i A8X.
Outnyttjad kapacitet?
Så om du köper en datorplatta eller telefon med 64-bitskapabel kretsuppsättning just nu, hur sannolikt är det att du kommer att kunna dra nytta av denna kapacitet just nu? Om du väljer Apple-lägret är sannolikheten stor att du får nytta av den, då Ipad-familjen haft denna kapacitet i över två år nu. Apple har dessutom nyligen infört krav på att alla nya appar ska vara 64-bits. Apple tenderar att inte stoppa in lika mycket internminne i sina produkter som Android-konkurrenterna tenderar att göra, men när internminnet väl överskrider fyra gigabyte kommer mjukvarubiblioteket att vara väl förberett för att dra nytta av det.
På Android-sidan är situationen något otydligare, då Nvidias Tegra K1 i Nexus 9 är den första och för närvarande enda produkt som kan skryta med 64-bitsstöd i både hårdvara och mjukvara. Fler krets-uppsättningar är på gång, baserade på ARM såväl som X86 i form av Intels Atom-familj, men dessa produkter kommer att rullas ut stegvis under året. Initialt kommer det alltså att vara en väldigt begränsad del av användarna som har tillgång till 64-bits Android-baserade enheter, och det kommer också att begränsa mängden appar som drar nytta av kapaciteten fullt ut.
Grundstomme för framtiden
Inom en snar framtid kommer Apple, Nvidia, Qualcomm, Intel, AMD och flera av de andra kretstillverkarna att ha 64-bitskretsar på marknaden, och mjukvarubiblioteken kommer att växa därefter. När Windows 10 blir den gemensamma plattformen för såväl datorer som plattor och telefoner kommer Intels 64-bits Atom-kretsar redan att ha ett apputbud som kan utnyttja kapaciteten, och även den 64-bits skrivbordsmjukvara som x86 gör det möjligt att köra. Det är dock i möjliga nya produktkategorier som denna kapacitet sannolikt lär utnyttjas fullt ut som först.
Rykten har skvallrat om att Apple ska släppa en Ipad Pro på tolv tum som kan köra både OS X och IOS, och det är ett område där 64 bit och större mängd interminne skulle komma till nytta. Googles Chromebook-plattform är ett annat område där denna kapacitet skulle kunna kunna göra nytta. En summering av situationen idag är helt enkelt att det blir vinster med 64 bit just nu, och är du Ipad-ägare drar du redan nytta av det. Som Android-ägare får du nog vänta ett tag till, men med tanke på att samtliga nya kretsuppsättningar nu kommer att vara 64-bits har startskottet tveklöst avfyrats i alla fall.
ARM v8
ARM v8 är namnet på en 64-bits instruktionsuppsättning från ARM Holdings Ltd. Förutom Apples A7/A8 används instruktionsuppsättningen i AMD:s kommande ARM-baserade Opteron-processorer.
Pipeline är det övergripande namnet på stegen i hur en processor utför instruktioner. Du kan läsa en ingående beskrivning av pipelines i Datormagazin nummer 9-2014.
x86
x86 är namnet på en instruktionsuppsättning som Intel introducerade med processorn 8086 men används än idag i processorfamiljer som Core, Xeon och Atom. Licens på uppsättningen har sedermera köpts av företag som AMD och Via som utvecklar egna processorarkitekturer med instruktionsuppsättningen som bas.
Specifikationer Nexus 9 och Ipad Air 2 | |||
---|---|---|---|
Google Nexus 9 | Apple Ipad Air 2 | Huawei Ascend Mate 7 | |
Grafikdel SoC | 192 Kepler-kärnor 950 MHz |
8-kärnig Imagination GX6850 Okänd hastighet |
6-kärnig Mali-T628 MP6 533 MHz |
Instruktions- |
ARM v8-A | ARM v8-A | ARM v7-A |
Internminne | 2 GB | 2 GB | 3 GB RAM |
Minnesbuss | 64-bits | 128-bits | 32-bits |
Operativsystem | Android 5 | IOS 8 | Android 4.4 |
Processordel SoC | 2-kärnig Nvidia Denver 2,3 GHz |
3-kärnig Cyclone gen. 2, 1,5 GHz | 4-kärnig ARM Cortex-A15 1,8 GHz 4-kärnig ARM Cortex-A7 1,3 GHz |
Skärm | 8,9 tum LCD/IPS | 9,7 tum LCD/IPS | 6 tum |
Skärmupplösning | 2 048 x 1 536 pixel | 2 048 x 1 536 pixel | 1 920 x 1 080 pixel |
WLAN | 802.11 a/b/g/n/ac | 802.11 a/b/g/n/ac | 802.11 a/b/g/n |
Tillverkningsprocess | 28 nm | 20 nm | 28 nm |
Prestandajämförelse Nexus 9 vs Ipad Air 2 (Huawei Mate 7 med 32-bitprocessor är med som referens) |
|||
Prestandatester | Nexus 9 (64 bit) |
Apple Ipad Air 2 (64 bit) |
Huawei Mate 7 (32 bit) |
Sunspider 1.02 (Wi-Fi) |
1 101 ms | 296,9 ms | 674,5 ms |
3DMark Ice |
|||
Totalpoäng | 24 797 | 21 738 | 14 201 |
Grafik | 35 388 | 31 661 | 14 435 |
Fysik | 12 111 | 10 366 | 13 440 |
Grafiktest 1 | 193,3 fps | 147,7 fps | 88 fps |
Grafiktest 2 | 127,8 fps | 128,9 fps | 48,8 fps |
Fysiktest | 38,4 fps | 32,9 fps | 42,7 fps |
Geekbench 3 |
1671 (SC) 2 884 (MC) |
1 817 (SC) 4 488 (MC) |
900 (SC) 3 207 (MC) |
Basemark X |
29 172 | 29 081 | 6 507 |
Antutu 5.1 |
|||
32/64-bit CPU-test | 59 195 | 62 489 | 44 120 |
UX multitask | 12 193 | 9 769 | 6 283 |
UX OC | 4 251 | 4 117 | 2 157 |
CPU integer | 4 751 | 4 559 | 5 851 |
CPU flyttal | 2 213 | 4 477 | 5 151 |
CPU integer ST | 4 103 | 3 423 | 2 231 |
CPU flyttal ST | 2 010 | 2 489 | 2 103 |
RAM op | 1 333 | 411 | 3 544 |
RAM-hastighet | 4 968 | 3 994 | 2 523 |
2D-grafik | 987 | 1 624 | 1 653 |
3D-grafik | 19 953 | 24 120 | 10 505 |
Lagrings-IO | 1 663 | 2 581 | 1 474 |
Databas-IO | 770 | 925 | 645 |
GFXbench |
|||
Manhattan onscreen | 22 fps | 24,6 fps | 8,6 fps |
Manhattan offscreen | 31 fps | 32,7 fps | 8,1 fps |
T-Rex onscreen | 41 fps | 52,3 fps | 17 fps |
T-Rex offscreen | 49 fps | 70,4 fps | Slut på minne |
ALU onscreen | 60 fps | 60 fps | 39 fps |
ALU offscreen | 219 fps | 184,2 fps | 37 fps |
Alpha blending onscreen | 3 569 MB/s | 17 774 MB/s | 2 440 MB/s |
Alpha blending offscreen | 4 044 MB/s | 17 262 MB/s | 2 697 MB/s |
Driver overhead onscreen | 59 fps | 58.2 fps | 30 fps |
Driver overhead offscreen | 89 fps | 101,7 fps | 30 fps |
Fill onscreen | 4 718 Mtexel/s | 7 656 Mtexel/s | 1 684 Mtexel/s |
Fill offscreen | 4 623 Mtexel/s | 7 606 Mtexel/s | 1 687 Mtexel/s |