maskinvare

Åpen kildekode kommer til prosessorene: Det lysner i de svarte boksene

Det er opprør i maskin ­rommet til datamaskinen og smarttelefonen din. De åpne prosessorene er på vei – med løfter om bedre sikkerhet og målrettet ytelse.

De siste årenes utvikling innenfor prosessorer har fått observatører til å snakke om en «Linux-æra» for maskinvare med henvisning til det åpne operativsystemet Linux, som sammen med annen åpen kildekode-programvare revolusjonerte produktutviklingen på området.
De siste årenes utvikling innenfor prosessorer har fått observatører til å snakke om en «Linux-æra» for maskinvare med henvisning til det åpne operativsystemet Linux, som sammen med annen åpen kildekode-programvare revolusjonerte produktutviklingen på området.

Når du kobler hodetelefonene dine trådløst til datamaskinen, sender en e-post eller lader smarttelefonen, foregår stort sett alt sammen ved hjelp av åpne standarder eller til og med programvare med åpen kildekode.

Men en helt sentral komponent er fremdeles stengt for oss: prosessoren – CPU-en – altså de brikkene som sørger for å koble maskinvare og programvare sammen i elektriske kretsløp.

– Det er faktisk en bisarr situasjon. Stort sett alle typer grensesnitt er åpne standarder – http, SQL og selv de eksterne grensesnittene på maskinvare, for eksempel USB. Men det fundamentale grensesnittet mellom maskinvare og programvare er fremdeles ikke standardisert, og kan ikke implementeres fritt, sier Alex Bradbury fra den engelske nonprofit-bedriften lowRISC, som utvikler og konstruerer brikker.

Fakta: Åpent – på et vis

Selv om vi snakker om åpen maskinvare, er RISC-V og Power-prosessorene ikke åpen kildekode på samme måte som vi kjenner det fra programvare med åpen kildekode. Det er «bare» det såkalte instruksjonssettet som er åpent: det grensesnittet som sørger for at maskinvare og programvare kan snakke sammen – altså at programvare-kommandoene blir oversatt til fysiske reaksjoner i kretskortet og omvendt.

Instruksjonssettet skisserer ikke en fysisk brikke 100 prosent, men kan snarere beskrives som et alfabet som den fysiske maskinvaren og den virtuelle programvaren bruker til å snakke sammen i form av en rekke instruksjoner.

På mange måter kan RISC-V sammenlignes med Linux kernel, som er kjernen i det åpne operativsystemet Linux, og som oversetter trykkene dine på tastaturet og klikkene på musa til kommandoer som programmene forstår. Men i brikkeverdenen innebærer åpen kildekode altså fremdeles ikke at du kan hente ned instruksjonssettet og deretter trykke «Skriv ut» på en 3D-skriver i kjelleren din.

Hvis du snur den bærbare datamaskinen din opp ned, vil du antakelig finne en Intel-logo, mens smarttelefonen din kjører på en ARM-brikke. Men i løpet av de siste få årene har det vokst fram en rekke nye initiativer i det ekstremt fastlåste brikkemarkedet som peker i en helt annen retning: en åpen arkitektur som alle fritt kan utvikle videre – flere snakker om en ny «Linux-æra» for maskinvare som har potensialet til å endre markedet like radikalt som åpen kildekode-bevegelsen revolusjonerte hvordan bedrifter utvikler programvare.

Det vil gi helt nye muligheter for å få designet, utviklet og produsert skreddersydde prosessorer som jobber på akkurat den måten som du gjerne vil at de skal gjøre.

Det mest åpenbare eksemplet er ­RISC-V-arkitekturen – uttales Risk Five – som på rekordtid har blitt det mest utbredte åpne instruksjonssettet til brikker.

RISC står for «reduced instruction set computer» og er en arkitektur som ble utviklet på 1980-tallet for enkle brikker. I dag er 99 prosent av alle brikker basert på RISC-arkitektur – men i en lukket form som bare noen få bedrifter har tilgang til.

Men i 2010 gikk en gruppe forskere på Berkeley-universitetet i California sammen og utviklet sin egen RISC-arkitektur, RISC-V. Den ble de så glade i at de slapp den i en åpen kildekode-versjon. Etter et par stille år har bruken av RISC-V for alvor eksplodert i løpet av 2019, hvor globale aktører som Google, Nvidia, Samsung, Qualcomm, IBM, Western Digital, Alibaba og Huawei alle har begynt å ta aktiv del i utviklingen av RISC-V, og dermed satse på nye åpne maskinvarestandarder.

Og det er ikke bare fra den akademiske verdenen at det dukker opp nye åpne maskinvare-spesifikasjoner. Mips, som stammer fra 1980-tallet, åpnet i desember 2018 instruksjonssettet sitt, og nylig har den globale teknologibedriften IBM åpnet instruksjonssettet til sin Power-arkitektur. Dette skjedde i fjor sommer; nesten 30 år etter at Power-prosessoren kom på markedet i februar 1990, som en konkurrent til Intels datamaskinprosessorer.

Det er flere årsaker til at åpen maskinvare aldri har oppnådd samme utbredelse og status som programvare med åpen kildekode, som har vært kjent i mange år og er anerkjent som en sikker og effektiv måte å utvikle nye programvareapplikasjoner på.

Mens programvareutvikling stort sett bare krever lønningstimer og oppbevaring av data i datasentre, er utvikling av maskinvare tradisjonelt en langt mer kostnadstung affære, og krever dyre verktøy. Det er for eksempel ikke så enkelt å distribuere og teste som programvare, og finner man feil i en brikke, er de dyre å fikse, både i tid og penger.

– Prosessormarkedet har vært totalt dominert av Intel til pc-prosessorer og ARM på diverse mobile enheter. Så det har også vært et behov for å få utfordret dem, og spesielt ARMs dominerende posisjon, sier senior prosjektleder Gunnar Bjarne Andersen ved GTS-instituttet Delta, hvor han har jobbet med mikroelektronikk i årevis.

Moores lov bremser opp

Men hvorfor er det overhodet bruk for åpen kildekode-maskinvare, og må vi bekymre oss over de fysiske brikkene som brukes til å kjøre programvaren vår?

Svaret på det spørsmålet må vi finne i en kombinasjon av Moores lov, en gruppe sikkerhetsforskere med base i Østerrike og Sveits, samt den amerikanske presidenten.

Vi begynner med Moores lov, og skrur tiden tilbake til 1965, da Intel-grunnleggeren Gordon Moore ble spurt av magasinet Electronics hvordan han trodde at halv­lederbransjen ville utvikle seg.

Han svarte at antallet transistorer i et elektrisk kretskort fordobles hver 18. måned. Svaret var ikke tenkt som en lov, men snarere en økonomisk forutsigelse, som deretter tilfeldigvis raskt viste seg å være ganske så nøyaktig for utviklingen innenfor brikker. Derfor har det historisk heller ikke vært et spesielt stort behov for å utvikle en bred palett av forskjellige måter å konstruere en mikrobrikke på. For hver gang behovet for mer regnekraft har økt, har antallet transistorer i en brikke også økt, slik at behovet har blitt dekket.

Men slik kan det ikke fortsette, heter det fra John Hennessy, som er formann for Googles moderselskap Alphabet og blant grunnleggerne av RISC-arkitekturen. Han har nylig justert ned forventningene til Moores lov, som han snarere betrakter som «en ambisjon, en målsetning. Det var ikke en lov, men noe å strekke seg etter», sa han nylig under en debatt i Churchill Club Forum; et Silicon Valley-basert lederforum.

Og kanskje er det slett ikke et problem, men en fordel, at antallet transistorer i en brikke ikke fortsetter med å fordobles med 18-måneders intervaller. For halvlederindustrien kjemper i økende grad med den såkalte Dennard-skaleringen, som også er kjent som Mosfet-skalering. Det er en observasjon som sier at mens transistorene blir mindre og kretsene raskere, forblir energiforbruket til brikken konstant.

«Hvem ville ha trodd at mikroprosessorer blir tvunget til å redusere hastigheten eller helt slå av kjerner for å unngå å brenne opp», lød det fra John Hennessy.

For å håndtere denne utviklingen har mange maskinvare-produsenter begynt å utvikle spesialkonstruerte brikker som bare kan løse noen få, men veldig spesifikke oppgaver. Tesla har for eksempel utviklet sin egen kraftige brikke til styring av motorene i elbilene sine. For Teslas krav til en prosessor er helt annerledes enn kravene til de prosessorene som styrer et data­senter eller din jobbedatamaskin.

– Vi har kommet dit hen hvor det ikke lengre så mye er den klassiske «Moores law» som gjelder – men snarere «More than Moore». Det vil si at det etterspørres smartere, sikrere og mer energibesparende produkter snarere enn bare de raskeste, sier Gunnar Bjarne Andersen.

Derfor vil vi om få år se en myriade av forskjellige AI-brikker som er utviklet for å håndtere helt bestemte algoritmer eller applikasjoner, for eksempel stemmestyring, bildegjenkjenning eller styring av elektriske motorer.

Penger fra det amerikanske militæret

Den neste årsaken handler om sikkerhet. Cyberangrep har vært et kjent fenomen i mange år. Men felles for de fleste sårbarheter, bakdører og ondsinnede hackere er at de fokuserer på programvare – altså de virtuelle programmene som vi kjører oppå de fysiske prosessorene – og at problemene finnes i programkoden som kan endres etter forgodtbefinnende.

Men i løpet av de siste årene har hackere fra statlige etterretningstjenester og kriminelle fått øynene opp for maskinvare som en ny metode for å få urettmessig adgang til dataene våre på. Det ble aktuelt da en gruppe sikkerhetsforskere med base i Østerrike og Sveits i 2018 avslørte hvordan Intels x86-prosessorer har to sårbarheter som fikk de nå velkjente navnene «Meltdown» og «Spectre».

Disse avsløringene handlet ikke om kode, men om instruksjoner og teknikker i prosessorene – og de to hullene finnes i de fleste moderne CPU-er. Ved å bruke de instruksjonene som CPU-en stiller til rådighet, kan et program lese fra den «hemmelige» delen av minnet til systemet. Det gir mulighet for å lese av passord og alle andre slags privilegerte opplysninger – kort sagt et selvbetjenings-bord for ondsinnede programmer.

«Problemet med proprietær arkitektur er at du må jobbe for én bedrift, enten det er Intel, AMD eller ARM, hvis du vil forbedre konstruksjonen. Spectre-problemet er en vanskelig utfordring innen datamaskinarkitektur, og derfor har vi behov for at alle kan arbeide med å løse det», har David Patterson tidligere uttalt til mediet Wired. Han er open hardware-pioner og en av opphavsmennene til den opprinnelige RISC-arkitekturen.

En annen open hardware-forkjemper, professor i materialforskning ved det tekniske universitet i Michigan i USA, Joshua Pearce, peker også på problemene med lukkethet:

«De fleste som kjøper elektronikk, har ingen anelse om hva som er inni. Selv teknisk avanserte bedrifter som Amazon må leie inn eksterne etterforskere for å være sikre på hva som finnes i den maskinvaren som bedriftene deres er avhengige av», skriver han i et debattinnlegg i mediet The Information.

Han innrømmer at åpen maskinvare også vil være åpen for kriminelle og etterretningstjenester, men mener at det totalt sett vil øke sikkerheten.

«Transparens vil gi angriperne flere data om de potensielle målene sine. Men det vil også hjelpe kundene til enda mer kunnskap, og gi dem redskapene til å verifisere sine egne enheter sikkerhetsmessig».

Faktisk er en av de helt store forkjemperne for åpen kildekode-maskinvare det amerikanske militæret. Det amerikanske forsvarets utviklingsavdeling, DARPA, har satt av et helt forskningsprogram til åpen kildekode-maskinvare, og i tillegg var DARPA blant de første til å finansiere utviklingen av den åpne RISC-V-arkitekturen på Berkeley- universitetet. Også det indiske og kinesiske militæret har vist interesse for åpne maskinvare-spesifikasjoner.

– Utviklingen er drevet av et økt behov for transparens rundt prosessorene. Det skyldes at flere og flere prosessor-baserte systemer blir kritiske utfra et sikkerhetsmessig perspektiv. Den transparensen og skalerbarheten kan et åpen kildekode-økosystem som RISC-V tilby i høyere grad enn de konvensjonelle «black box»-systemene fra de tradisjonelle leverandørene, for eksempel ARM og Intel, sier Gunnar Bjarne Andersen.

Hos Google tror de også på en åpen arkitektur, og det betyr at alle i fremtiden kan se teknologigiganten i kortene når den konstruerer og utvikler Titan-brikkene sine, som i dag primært benyttes til å styre komponenter i de serverne som driver bedriftens store datasentre.

Gode og lette handelskriger

Og så har vi USAs president, Donald Trump, som i vanlig selvsikker stil på det sosiale mediet Twitter i mars 2018 kunngjorde at «handelskriger er gode og lette å vinne».

Selv om Trump etter hvert har blitt tatt i å lyve gang på gang, kan utsagnet faktisk vise seg å bli til sannhet, og spesielt hvis man tilhører den gruppen som heier på mer åpenhet rundt de fysiske brikkene.

For akkurat nå ser den kinesisk-amerikanske handelskrigen ut til å sette en voldsom fart på utviklingen av ­RISC-V og åpen kildekode-maskinvare. For når Trump blokkerer for salg av amerikansk brikke-teknologi til kinesiske bedrifter som Huawei, kan de bli tvunget til å finne en erstatning for Intel og spesielt ARM, som – selv om bedriften er engelsk – har gitt opp å selge brikker til Huawei på grunn av amerikansk embargo.

«Hvis ARMs nye teknologier ikke er tilgjengelige i fremtiden, kan vi også bruke RISC-V – en arkitektur som er åpen for alle. Den utfordringen er ikke uovervinnelig», sa Xu Zhijun, som er styreformann i Huawei, til China Daily i august 2019.

Selv om den fysiske maskinvaren altså ser ut til å stå overfor en åpen kildekode-revolusjon, vil det sannsynligvis gå mange år før du kan kjøpe en bærbar datamaskin eller en smarttelefon med en åpen arkitektur basert på for eksempel RISC-V. Likevel har åpen kildekode-forkjemperne vunnet flere markante seiere underveis, og fått røsket opp litt den ellers så konservative brikke-bransjen.

Tradisjonelt har brikke-produsentene insistert på lukkede standard-brikker. Men presset fra blant annet RISC-V har fått ARM til å åpne for at kundene deres i fremtiden selv kan skreddersy deler av brikkesettene sine.

Det er en massiv omveltning fra en bedrift som nidkjært har voktet over standard-designene sine.

Saken ble først publisert på danske Ingeniøren, og gjøres tilgjengelig på norsk for abonnenter av Digi Ekstra gjennom vår samarbeidsavtale med Teknologiens mediehus/Ingeniøren.

Powered by Labrador CMS