ga('send', 'pageview');
Categories
Blogg

Håll ögonen på RISC-V och ARM

Drygt ett och ett halvt år har gått sedan jag skrev den förra artikeln om RISC-V (Är du redo för RISC-V? 2023-11-02), vilket i vår bransch innebär att eoner av tid redan passerat. RISC-V fortsätter att vinna mark, samtidigt som ARM börjat få upp ögonen för det växande hotet från nykomlingen. 

På Intel och AMD har man dessutom börjat skämmas ordentligt över batteritider och satsar för fullt på att ta fram en ny generation av x86-64-processorer som är såväl svalare som energisnålare.

I denna artikel ska vi dock inte ägna oss åt dinosaurieskådning, utan titta närmare på ARM och RISC-V: var de är lika, var de skiljer sig och hur vi som utvecklare av mjukvara bäst kan dra nytta av dem båda.

Historik: Vad är egentligen RISC (och CISC)?

I Wireds mars-utgåva 2025 publicerades ett långt reportage om RISC-V med bland annat det nu bevingade citatet från 1995 års kultfilm Hackers, där Angelina Jolie säger: 

“RISC is going to change everything” varpå Johnny Lee Miller svarar “Yeah. RISC is good”.

Det mest uppseendeväckande i artikeln kommer dock senare, när skribenten tittar tillbaka på det techlandskap som gav upphov till två rivaliserande filosofier om hur processorarkitekturer och instruktionsset skulle designas: CISC och RISC. 

CISC, eller Complex Instruction Set Computer, kan väldigt kortfattat sammanfattas som en arkitektur där flera operationer kombineras i samma processorinstruktion. Som en reaktion till nackdelarna med denna arkitektur skapades RISC, eller Reduced Instruction Set Computer. En koncis förklaring på skillnaderna mellan de två lägren är att CISC strävade efter bättre prestanda genom avancerade processorer som kunde hantera komplexa instruktioner med många operationer, medan RISC eftersträvade bättre prestanda genom enkla instruktioner med en enda operation som kunde hanteras snabbt. Såväl Wireds artikel som Wikipedia-artikeln på ämnet ger en bättre redogörelse för hur fejden fortlöpte, men det intressanta är att ARM var en av förkämparna för RISC-filosofin.

ARM och RISC-V vinner mark

Snabbspolar man historien fram till idag så ser världen plötsligt väldigt annorlunda ut från ARMs perspektiv. Allt eftersom RISC-V börjat vinna mark på marknaden för inbäddade system och IoT (mängden Arduino-kompatibla mikrodatorer och kloner av Raspberry Pi med RISC-V-processorer växer stadigt) och sedan börjat nosa på marknaden för mobil- och serverchipp så har ARM gått från passiv observatör till aktiv kritiker av RISC-V. ARM har till och med visat sig vara villiga att ge bättre villkor till kunder för att undvika att de byter ARM mot RISC-V i sina produkter.

Tittar vi på marknaden i stort så är ARM dock fortfarande dominerande inom segmentet för mobilprocessorer samt den kraftfullare delen av mikrodatorsegmentet. En nisch som varken ARM eller RISC-V har överhanden i är dock marknaden för persondatorer och bärbara datorer i synnerhet. ARM har dock gjort en intåg här i form av Apples M1-, M2- och M3-processorer följt av en rad ny generation av PC-processorer 2024 då Qualcomm släppte sin Snapdragon X Elite-serie av processorer. ARM-processorerna har helt ersatt Intel-processorerna i Apples persondatorer, medan Snapdragons PC-chipp på ett drygt år lyckats ta 10% av marknaden från Intel och AMD. 

När det gäller RISC-V så har jag redogjort för några av områdena där arkitekturen börjat användas i min artikel “Är du redo för RISC-V?” (publicerad i november 2023), men sen dess har nya produkter lanserats, bland annat ett serverchipp (64-kärniga VitalStone V100 från SpacemiT), ett antal Raspberry Pi-kloner (som Banana Pi F3), en andra generations DC Roma-laptop samt en processor och moderkort för Frameworks modulära laptops.

Vilken ska jag välja som utvecklare?

Hur är det då att arbeta med mjukvaruutveckling på en dator som använder RISC-V- eller ARM-processorer? Svaret på detta kommer att variera mycket beroende på vilket språk du använder samt vilken sorts utveckling du gör. Redan idag finns många operativsystem tillgängliga (som Linux, MacOS och Window 11 på ARM samt ett antal BSD-varianter). Flera språk, kompilatorer och virtuella maskiner är också redan portade till både ARM och RISC-V, bland annat Java, Python, Javascript, GCC, LLVM, QEMU. 

Redan idag är det möjligt att i stort sett obehindrat arbeta i högnivåspråk på såväl ARM som RISC-V. Om du däremot arbetar med lågnivå-språk eller högnivå-språk som är beroende av native-bibliotek, där många arkitekturspecifika processorinstruktioner används, så kommer du stöta på problem. Fortsätter dock den nuvarande utbredningen av RISC-V och ARM så lär vi dock se hur dessa problem minskar i framtiden när allt fler bibliotek och ramverk portas till de nya arkitekturerna.

Härnäst ska vi titta på några platser där vi kan börja använda RISC-V och ARM redan idag och hur vi till och med kan dra nytta av det jämfört med x86-64.

Var kan jag använda ARM idag?

Molntjänster

Redan idag går det att använda ARM-processorer i AWS i form av Graviton. Denna familj av 64-bitars ARM-processorer lanserades av Amazon redan 2018 och kan idag användas för EC2-instanser men även för en rad av AWS managed services som ECR, ECS, EKS, Fargate, Lambda, RDS, Kafka, Sagemaker, Aurora, DocumentDB med flera. Det är dessutom 20% billigare att använda Graviton för EC2-instanser, utöver att det även ger bättre prestanda om man exempelvis kör Redis, Cassandra eller MongoDB på sina instanser. Även i Googles moln(Länk) finns det ARM-processorer idag i form av Axion- och Ampere Altra-serierna (med 65% bättre pris-prestanda än x86-64) och Microsoft lanserade 2022 Ampere Altra-processorer i Azure molntjänsten(Länk).

CI/CD-pipelines

I juni 2024 lanserade även GitHub runners för GitHub Actions som körs på ARM-processorer(Länk). Dessa runners är 37% billigare än likvärdiga runners som kör på x86-64-processorer, vilket gör dem väldigt intressanta för storskaliga användare av GitHub Actions. GitLab införde även dem ARM-runners(Länk) i oktober 2024, följt av Atlassian som införde dem i Bitbucket(Länk) i mars 2025.

PC

Vill du däremot köra ARM på din egna dator så finns det sen 2024 fler och fler alternativ. Den tidigare nämnda Qualcomm Snapdragon X-processorserien återfinns numera i datorer från Acer, Asus, Dell, HP, Lenovo, Microsoft Surface, Samsung och Honor. Microsoft har portat Windows 11 till dessa maskiner, men arbete pågår även med att göra flera olika Linux-distributioner kompatibla med dessa.

Raspberry Pi

Sist men inte minst så finns alltid Raspberry Pi, som använt ARM-processorer sen sin allra första utgåva.

Var kan jag använda RISC-V idag?

När det gäller RISC-V så är det inte lika lätt att komma igång, då RISC-V-chipp inte ännu anammats av de stora molntjänsterna. I Kina pågår i dagsläget ett flertal olika initiativ för att göra serverchipp med RISC-V, men än så länge har de inte lanserats i bred skala. Det finns redan flera tillverkare av servrar med RISC-V, bland annat Sifive och Ventana, men det kräver att du köper in servrarna och driver din egen serverhall. Ett stort hinder för bredare användrning av RISC-V i just datacenter är bristande mjukvarustöd, vilket bland annat Barcelona Supercomputing Center påpekat i en nyligen utgiven rapport (Länk).

Elektronik

En plats där du kanske redan nu använder RISC-V utan att veta om det är mikrodatorsegmentet. RISC-V är som tidigare nämnt ledande inom strömsnåla implementationer, vilket gjort att arkitekturen redan anammats av elektroniktillverkare. Hårddiskar, grafikkort, nätverksutrustning och IoT-apparater använder i många fall redan RISC-V, och vill du själv arbeta med RISC-V i inbäddade system så finns en uppsjö av alternativ: Sipeed, Sifive, Banana Pi, Starfive, Espressif, Codasip, LowRISC, Andes, Syntacore, Greenwaves, Gigadevice och mångra fler.

PC

Vill du prova RISC-V på en laptop så finns det ett litet men växande antal produkter att välja på, med reservation för att det oftast handlar om så kallade developer kits. Framework har i samarbete med DeepComputing lanserat ett Framework-kompatibelt mainboard med RISC-V utöver sin egen Roma II-laptop. Dessutom finns Musebook från Arace och LicheeBook 4A från Sipeed. 

Mobiltelefoner…?

En plats där vi dock inte kan använda RISC-V idag är på mobiler: Google, som 2023 gick ut med att Android skulle stödja RISC-V inom kort, drog under 2024 tillbaka stödet med motiveringen att det var för dyrt att bygga en Linux-kärna som kunde hantera det väldigt fragmenterade ekosystemet av RISC-V-chipp.

Framtiden är här, men den är inte jämnt fördelad

Både RISC-V och ARM har redan lämnat ett djupt avtryck i datorvärlden, om än på något olika ställen: ARM på server- och mobilsidan och RISC-V på mikrodatorsidan. Som vi sett i denna artikel är det dessutom fullt möjligt att redan nu börja använda både ARM och RISC-V för utveckling, utvärdering och utbildning. Det kommer dock ständigt nyheter och uppdateringar om de båda arkitekturerna och deras utveckling, vilket gör bevakning av denna kamp mellan David och Goliat så spännande. Vem vet vilka nya drag och motdrag de olika parterna kommer med imorgon?

By Ola Rende

Backendutvecklare, fullstackutvecklare

Leave a Reply

Your email address will not be published. Required fields are marked *