Nu är ARM standard

De senaste två veckorna har vi fått se ARM-nyheter som flyttar fram positionerna för ARM-arkitekturen på ett sätt som jag faktiskt inte hade väntat mig. Åtminstone hade jag inte väntat att det skulle hända så snabbt. ARM-arkitekturen har tagit det avgörande steget från att vara ganska okänd och lite obskyr, till att vara standardarkitektur och förstaval inom ett förvånansvärt stort område.

Den till synes största nyheten är väl den nya 64-bits ARM-arkitekturen, ARMv8. Den innebär att ARM på allvar tar steget upp till server-världen, men också att dator- och telefontillverkare inser att det finns gott om svängrum. Den som vill utveckla en 64-bits handdator kan göra det.

Men ännu intressantare är nog att ARM har fått sin idé om en heterogen datormodell att fungera på allvar. En ny mycket strömsnål Cortex-A7-kärna har fått samma virtualisering och adressering som den stora Cortex-A15-processorn. Kombinationen av de två gör det möjligt att få energiförbrukningen att variera närmast linjärt, från en mycket låg nivå. Det är något som stått på telefon- och datortillverkarnas önskelista länge.

Om man dessutom kastar in flera sådana här processorkombinationer blir arbetsområdet ännu större. En kombination av till exempel två A-15-kärnor och två A-7-kärnor passar för en mycket avancerad smart telefon eller en snabb handdator. Med ännu fler processorer blir prestanda förstås högre. Och i framtiden lär vi få se kombinationer med den nya 64-bits processorkärnan och lågeffektsprocessorer. ARM kallar kombinationen av A-15 och A-7 för big.LITTLE. Det står för ”stor hund/liten hund” och A-7-processorn kallas också ofta för ”little dog”.

Att heterogena ARM-modeller ligger i tiden visade också Freescale härom dagen. Deras nya processorplattform är baserad på en kombination av en högprestandaprocessor (Cortex-M4) och en lågenergiprocessor (Cortex-A5).

ARM har alltså processorkärnor som täcker hela vägen från små mobiltelefoner upp till stora serverdatorer. Det är vackert nog. Men arkitekturen går mycket längre ner än så. En rad halvledartillverkare har valt att stoppa in ARM-kärnor i enkapseldatorer och embeddedprocessorer, ner till de allra mest strömsnåla varianterna. De allra mest strömsnåla kommer faktiskt från Norge.

Så förra veckan tog jag en tur till Oslo och träffade Geir Förre, vd för Energy Micro. Han berättade om sina planer på att få ner energiförbrukningen ytterligare på företagets ARM-baserade (Cortex M3) enkapseldatorer. Och då ligger ändå dagens enkapseldatorer på futtiga 160 µA/MHz och mindre än en halv mikroampere i viloström. Trots att ARM-arkitekturen är  32 bit bred kan den i dag användas i tillämpningar där man tidigare knappast kunde använda arkitekturer över 4 bit.

Standardprocesser
Att ARM duger till det mesta är intressant. Att det vid det här laget finns en komplett infrastruktur är oerhört viktigt. Men, det avgörande är ändå möjligheten att licensiera och stoppa in ARM-kärnor i egna komponenter, vare sig de är tänkta att bli standardkomponenter eller specialkomponenter. Och naturligtvis att kärnorna går att implementera i de vanligaste och billigaste standardiserade tillverkningsprocesserna.

För det är här som det stora generationsskiftet har skett. Dagens processortillverkare (utom Intel) satsar inte längre sina resurser på att utveckla nya avancerade tillverkningsprocesser. TSMC och Globalfoundries gör det bättre och billigare än vad de flesta kan drömma om. Oftast är det bättre och effektivare att koncentrera sig på ett område där man faktiskt kan göra skillnad.

Därför ryms till exempel ett företag som Energy Micro i ett kontorslandskap på en del av ett våningsplan i centrala Oslo. Det hade aldrig fungerat på den tiden när man varit tvungen att sköta halvledarproduktionen, utvecklingen av halvledarprocesser, framtagning av nya processorkärnor etc. Då krävdes betydligt större lokaler och många fler anställda.

Tur och skicklighet
Framgången för ARM är utan tvekan till stor del beroende på skicklighet och framsynthet och det är säkert vad man kan läsa i företagets historiebeskrivning.

Men vi som varit med under hela vägen vet att det finns fler orsaker än så. Inte minst är konkurrenternas misstag viktiga. Ni vet, det gamla talesättet: ”I brist på egna framgångar är andras motgångar inte att förakta”. ARM har haft gott om egna framgångar, men utan konkurrenternas misstag hade det knappast gått så bra.

Jag skall inte dra hela historien en gång till, åtminstone inte här och nu. Lustigt nog råkade jag se det mesta på nära håll, från de allra första försöken att gå från en misslyckad dator (efterföljaren till BBC Computer) till ett IP-block (tillsammans med VLSI Technology). Jag har någonstans i mina gömmor ett chipfoto av den första ARM-kärnan. Den brukade jag använda för att få nordiska kunder intresserade av att ta fram avancerade ASIC-komponenter.

Men, det viktiga var att ARM existerade som licensierbar kärna vid det tillfälle när mobiltelefontillverkarna behövde en sådan. ARM kunde inte ställa lika hårda krav som de stora processortillverkarna och därför vann man, trots att det saknades en infrastruktur. Att arkitekturen var modernare än de andras var säkert ett bra argument, men det hade knappast räckt om de stora processortillverkarna spelat sina kort rätt.

Tja, åren gick och de stora processortillverkarna missade en rad möjligheter att sätta stopp för ARM. Intel hoppade faktiskt en tid på ARM-tåget (Strong-ARM – från köpet av Digital Equipments halvledarverksamhet), men det höll inte i internkonkurrensen.

Idag står vi i ett intressant läge, där de problem som ARM tvingades att hantera under åren visade sig bli deras största konkurrensfördelar. De kunde inte optimera sin arkitektur på transistornivå, utan tvingades arbeta på RTL-nivå med standard-EDA-verktyg. De kunde inte optimera efter en egen CMOS-process, utan tvingades anpassa sig till standardprocesser. Och de var hela tiden tvungna att tänka på energiförbrukningen i förhållande till prestanda.

Tittar vi sedan på mjukvaruinfrastrukturen så ser vi en fantastisk utveckling, som naturligtvis mobiltelefontillverkarna har betalat. Det finns gott om realtidsoperativsystem (t ex Enea OSE och QNX), men framför allt har ARM med åren kommit att kopplas till Linux. Den utvecklingen har tagit tid, men idag finns allt på plats, inklusive användargränssnitt som Android och MeeGo (blir Tizen). Andra Unix-varianter ligger till grund för till exempel Apples iOS (jag skrev härom veckan en rad som kunde tolkas som att iOS är Linux-baserat, men så är det förstås inte – tack för påpekandet Jan).

Det mesta finns alltså på plats och ännu viktigare – det finns en ordentlig motorväg framåt. Och kombinationen ARM/Linux ser ut att kunna fungera som bas, från de allra minsta tumnagelstora systemen upp till jättelika serveranläggningar. Det har vi inte sett tidigare.

Jag fick i går kväll ett nyhetsbrev från EDA-gurun Gary Smith (som bland annat gjort den inledande ”dragningen” kvällen före DAC så länge man kan minnas). Han hade varit på ARM-eventet förra veckan och han var djupt imponerad. Han skrev ”förra året handlade ARM TechCon om en bra och snabbväxande nischteknologi. I år handlade det om en standardteknologi som används överallt”.

I Europa har vi väl haft det här klart för oss ett tag, men att man ser det i USA också är intressant. Och den som vill känna lite stolthet över att europeisk (brittisk) teknologi erövrar världen kan väl få lov att göra det. Just nu kan det kanske behövas.

Facebook i Norrland
Och på tal om servrar och energiförbrukning. Vi håller äntligen på att få nytta av några av Nordens mindre uppenbara konkurrensfördelar. Facebook är intresserade av att etablera en jätteserveranläggning i Norrland och fördelarna är förstås att det är kallt (billigt att kyla), stabilt (både geologiskt och politiskt) och gott om el.

En gång i tiden hade Norrland ändå varit fullständigt ointressant. Då kunde man inte överföra tillräckligt stora datamängder på ett vettigt sätt. Men idag är, som vi alla vet, det inte längre ett problem. Ett knippe single mode-fibrer klarar att överföra löjligt mycket data. Det är bra mycket billigare att överföra data än att överföra energi.

Det som möjligen kan sätta käppar i hjulet för Sverige (Norden) som servercentrum är om antikärnkraftlobbyn får sin vilja fram. Att mata serveranläggningar med kärnkraftel är annars en alldeles strålande (kanske inte det bästa ordvalet) affärsidé. En hög och konstant elförbrukning från en anläggning som inte behöver (bör) ligga i tätbebyggt område. Kan det bli bättre.

Efter olyckorna i Japan har förstås säkerhetsdiskussionen gått igång på allvar. Det stora problemet just nu verkar vara att några av våra kärnkraftanläggningar ”bara” är dimensionerade för att klara jordbävningar som uppträder med en sannolikhet på en vart hundratusende år. Nu skall alla klara jordbävningar som uppträder med en sannolikhet på en vart tio miljonte år. Intressant.

x86 och TV
Och till slut, Intel berättade häromdagen (inte särskilt högljutt) att de lägger ner sin digital-TV-satsning. Satsningen har lett till ett par generationer av specialkretsarna för digital-TV, men nu verkar det alltså vara slut.

Försöken att få in x86 (Atom) i mobiltelefoner och handdatorer har väl ärligt talat inte gått särskilt bra de heller. Eller rättare sagt – det har inte gått alls. x86-arkitekturen verkar alltså ha fortsatt svårt att hävda sig när det gäller att nå anständiga prestanda vid riktigt låg energiförbrukning.

Det här har sina arkitektuella skäl, men de återvänder vi till senare. Kanske beror det på att jag fortfarande har en del känslomässiga kopplingar till x86. Mitt första ”riktiga” jobb efter utbildningen var trots allt att predika 8086-processorns förträfflighet. Det här var 1978, så arkitekturen har en del år på nacken den också.

2 Responses to “Nu är ARM standard”

  1. Du vet väl att Facebook-serverhallarna kommer att byggas inne i Luleå centralort? Dvs man har valt den mest tätbebyggda platsen i hela Norrbotten…

  2. Det står i tidningsversonen att BBC Micro var Z-80 baserad.
    Det stämmer inte. Den hade 6502. Samma som satt i föregångaren Acorn Atom.