Torben Mogensen header

ARM fylder 35

ARM mikroprocessoren er en af de mest udbredte processorer i verden. Der er stort set ingen mobiltelefoner, der bruger andet end ARM, og ARM findes også som indlejret processor i biler, TV-apparater, disk-controllers, og meget mere.

Men det hele startede mere beskedent. Den britiske hjemmecomputerproducent Acorn Computers havde stor succes (i hvert fald i Storbritannien) med deres BBC Micro computer fra 1981 (som også var min første hjememcomputer), men i midten af 1980erne ledte Acorn efter en processor til en større model. BBC Micro have en interface kaldet "The Tube", som tillod andre processorer at dele lager med den 6502 processor, der var kernen i computeren. Acorn havde lavet kort med bl.a. Intel 80186 og NS 32016. Førstnævnte blev brugt i Acorn Business Computer, som reelt var en BBC Micro med dette kort, og som kunne køre DOS på kortet, mens BBC Microen håndterede i/o og grafik, NS 32016 kørte Panos, en UNIX-variant. Internt afprøvede Acron flere andre 16-bit processorer, men var ikke rigtig tilfreds med nogen af dem -- gevinsten over 6502 var for lille. Roger Wilson (senere Sophie) og Steve Furber fra Acorn besøgte også The Western Design Center, som var ved at udvikle en 16-bit udgave af 6502 (som senere blev brugt i Apple IIGS). Da Roger og Steve så designprocessen tænkte de, at det kunne de også gøre selv.

Resultatet blev, at de to sammen designede en 32-bit RISC processor, som de kaldte Acorn's RISC Machine, forkortet til ARM. De sendte designet til VLSI Technology Inc, som fabrikerede den i 3 micron dobbeltlags CMOS full custom teknologi. De første eksemplarer belv sendt tilbage til Acorn 26. april 1985, altså for 35 år siden. En sjov anekdote var, at strømmen ikke var tilsluttet CPUen, da de først prøvede den, men der var strøm nok på i/o-porten til, at den kunne køre -- så længe der var data på porten. Acorn lavede også nogle support-chips til ARM: VIDC (en video controller 22. oktober 1985), MEMC (en memory controller 25. februar 1986, og IOC (i/o controller 30. april 1986). Acorn var ikke helt tilfredse med hastigheden, så de lavede et redesign, som blev ARM2. Dels blv denne lavet i 2 micron teknologi, så den kunne køre med højere clockfrekvens (normeret til 8MHz), dels blvr der tilføjet flere registre til fast interrupt mode, og dels blev der tilføjet en multiplikatonsinstruktion. Til gengæld fjernede man en af de mere esoteriske adresseformater (ra+rb«rc), angiveligt fordi compileren ikke kunne udnytte den alligevel. ARM2 blev leveret 19. februar 1987 og allerede juni samme år producerede Acorn deres Archimedes hjemmecomputer med ARM2, VIDC, MEMC og IOC. Dette var min anden hjemmecomputer, og hastighedsmæssigt slog den alle andre af banen (selv Commodore Amiga og Atari ST, der brugte Motorolas 68000 processorer).

Acorn blev ved med at sende maskiner baseret på ARM på markedet, og udviklede ARM3, som tilføjede cache til ARM2, og som kunne køre op til 35MHz. Men ARM tog først rigtig fart da ARM Ltd. blev udskilt som et separat firma i samarbejde med VSLI og Apple, der ville bruge den i deres håndholdte Newton computer. ARM stod nu for Advanced RISC Machines. Der blev af hensyn til Apples behov lavet nogle ændringer i ARM-designet, blandt andet blev flagbittene flyttet fra PC-registret til et særskilt register, så adresserummet blev større (før da var adresser 26 bit, da de øverste 6 bit af PC-registret blev brugt til flag). Denne version blev kaldt ARM610, og blev også brugt i Acorns egne maskiner. Der blev også lavet flere forskellige floating-point coprocessorer. På sigt gik det dog ikke så godt for Acorn, da DOS og Windows blev et mere og mere universelt krav. De mange hjemmecomputerfabrikanter fra 1980'erne (på nær Apple) døde, selv om nogle (bl.a. Commodore) forsøgte at hoppe på "Wintel"-bølgen, og Acorn gik samme vej. Der er stadig nogle, der prøver at holde live i Acorns arv, blandt andet can RISC OS (operativsystemet på Archimedes) køre i en opdateret udgave på Raspberry Pi.

Men på trods af Newtons begrænsede succes, fortsatte ARM processoren sin sejrsgang, godt hjulpet af af licensmodellen, der tillod andre firmaer at bygge ARM kerner ind i deres egne SOC (System on Chip). Det gjorde ARM meget populær til mobiltelefoner, bl.a. hos Nokia, Apple og senere Google. ARM er i mellemtiden udviklet en del -- først kom Thumb instruktionssættet, som forkortede instruktionerne til 16 bit, senere Thumb2, som tillod mere fri blanding af 16- og 32-bit instruktioner, en knap så succesfuld JVM-udvidelse, og senest en 64-bit ARM, der er kraftigt forenklet i forhold til den efterhånden ret komplicerede 32-bit processor. ARM bliver nu også brugt som serverprocessor og i supercomputere, og der er vedholdene rygter om, at Apple vil skifte til ARM i deres laptop-computere.

Vil ARM stadig bruges om 35 år? Sandsynligvis, men det er ikke sikkert, at den vil have helt samme dominans som nu. RISC V er allerede ved at puste ARM i nakken, men en af styrkerne ved RISC V -- at producenter kan ændre instruktionssættet -- er også en af dens svagheder: Man kan ikke flytte kode fra en RISC V processor til en anden. Om der kommer en 128-bit udgave af ARM på et tidspunkt er usikkert. 64 bit giver et pænt stort adresserum, så behovet for 128 bit er til at overse. Men man ved aldrig.

Kommentarer (11)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#8 Torben Mogensen Blogger

Den fine fortælling hopper fra ARM610 til Thumb, som jeg gætter på er ARM7? Er der ikke et hul på 20 år?

Jeg tror, at du tænker på ARM v.7, hvilket ikke er det samme som ARM7-serien, som var umiddelbare efterfølgere til ARM6-serien (som indeholdt ARM 610) og brugte ARMv3 instruktionsættet. Thumb var en tilføjelse til ARM, som blev annonceret i marts 1995 (så Thumb har 25 år jubilæum), og bygget ind i ARM7T-serien (som ARMv4 ISA, som udover at introducere Thumb også droppede den oprindelige 26-bit adressering) og alle senere ARM processorer. Thumb-2 blev introduceret i ARMv7 i 2003.

  • 2
  • 0
#10 Nis Schmidt

Jo, Glenn, hvis du læser 3 linjer over hvor du fandt dit citat, kommer du lidt nærmere fakta end dit forsøg på deccie-bashing er.

Torben, hvis du læser reference [4] til min reference, vil du se at Intel og Digital i 1997 indgik et forlig mere end et år før DEC blev solgt til Compaq, 1998. (Som ikke anede, hvad de havde købt. Ingen ref. find dem selv.)

Jeg vil iøvrigt anfægte, at DEC gik konkurs (pas på hvad du skriver ;-). Jeg forlod DEC i 1992/8 (efter af min danske manager løb fra et kontraktligt løfte om en returstilling efter mine 5+ års udtationering til DEC tekniske hovedkvarter i Europa, ETC=European Technical Center - iøvrigt et par måneder efter Ken Olsen havde forladt DEC i juni 1992.

Men teknolgien lever videre i 64 bit (Intel), Windows NT...10 (MS), nettet og software (f.eks. InterSystems).

Det sjove er at DEC kunne have klaret skærene, hvis: Alpha ikke havde været multi-issue, men multi-core og SW-udviklere havde vist hvordan man bruger cache-lagene rigtigt til at øge gennemstrømning - through-put - og man havde fundet ud af at videreføre service-forretningen i client/server-space.

(Find Herb Sutters glimrende foredrag om hvorfor Alpha fejlede på YouTube fra starten af nullerne. Giv gerne et link her. Jeg så det ca '06, men har ikke kunnet finde det siden ... linket ligger i min mail backup fra 2015/16)

  • 0
  • 0
#11 Glenn Møller-Holst
  1. juni 2020, For første gang kører verdens hurtigste supercomputer på ARM. En japansk supercomputer, der blandt andet bruges til at forske i Covid-19, kan nu bryste sig af at være verdens hurtigste. Samtidig er det første gang, at verdens mest kraftfulde computer er baseret på en ARM-processer. https://www.computerworld.dk/art/252414/for-foerste-gang-koerer-verdens-... Citat: "... Den japanske supercomputer, Fugaku, kan nu bryste sig af at være verdens hurtigste af sin slags. Samtidig er det første gang, at den kraftigste supercomputer er baseret på en ARM-processer. ..."
  • 0
  • 0
 
Log ind eller Opret konto for at kommentere