# ARM-architectuur

De ARM-architectuur is een processorarchitectuur van de Britse computerfabrikant Acorn Computers Ltd. De naam ARM staat voor Acorn RISC Machine, waarbij RISC een afkorting is van Reduced Instruction Set Computer. De eerste implementatie van de instructieset in silicium, het ARM1-prototype, werd in 1985 ontwikkeld. De ARM-processoren werden aanvankelijk als losse upgrades verkocht voor Acorns eigen BBC Micro-computers, maar vormden in 1987 de basis van Acorns nieuwe generatie Archimedes-computers. Sinds 1991 wordt de ARM-instructieset beheerd en verder ontwikkeld door ARM Holdings. Vandaag de dag wordt de ARM-instructieset door vele fabrikanten in licentie genomen, waarna zij vervolgens de chips produceren en in miljoenen (voornamelijk mobiele) apparaten verwerken.

## Ontstaan

De geschiedenis van de ARM-processor begint in 1983. Acorn produceerde destijds de BBC Micro-computer en gebruikte zoals vele fabrikanten de 6502 van MOS Technology. De ontwerpers van Acorn realiseerden zich echter destijds al dat het 6502-ontwerp weinig groeipotentieel bezat en niet aan hun eisen voor een nieuw computerplatform kon voldoen. Zodoende gingen ze op zoek naar een andere processor.
Aangezien Intel weigerde een vergunning te verlenen voor haar 80286 voor gebruik met Acorns nieuwe systemen en de Motorola 68000 niet voldeed aan Acorns hoge eisen, besloot men zelf een processor te ontwikkelen.
Het resultaat, de ARM1-processor, bestond uit slechts 33.000 transistoren en was daardoor in vergelijking met de 68000 en 80286 veel goedkoper en gebruikte minder energie. Bovendien was de ARM een 32-bitprocessor.

### Voorwaardelijke instructies

Het eerste belangrijke kenmerk hiervan is hoe de processor met voorwaardelijke instructies omgaat. In de x86-instructieset bestaan bijvoorbeeld een hoop voorwaardelijke spronginstructies, zoals jc, jg, jae, enz. Op de ARM-processor is er slechts één spronginstructie, namelijk b, maar kunnen alle beschikbare instructies voorwaardelijk worden uitgevoerd; een voorwaardelijke variant van een sprong is niet langer een aparte instructie, maar een optie bij de spronginstructie. Dat maakt het echter ook mogelijk om voorwaardelijk op te tellen, te verplaatsen enz. Het maakt de processor dus krachtiger, want de decodeereenheid in de processor hoeft nu nog maar één spronginstructie te herkennen. De logica die bepaalt of een spronginstructie wordt uitgevoerd, hoeft niet meer te controleren of het om een spronginstructie gaat; de logica werkt nu op alle instructies.

### Schuifmogelijkheden

Als de cijfers van een binair getal één positie naar links worden geschoven, wordt de getalswaarde twee keer zo groot. De meeste processoren kennen daarvoor aparte schuifinstructies ("shift"). Een opvallend kenmerk van de ARM-instructieset is, dat iedere instructie schuifmogelijkheden heeft. De x86-instructieset heeft bijvoorbeeld de volgende adresseermode:
    mov eax,[4*eax]
Welnu, op de ARM kan de rechteroperand van een instructie een aantal plaatsen naar links worden geschoven. Daarmee kan men hetzelfde bereiken, alleen is het flexibeler daar het bij iedere instructie gedaan kan worden. Voorbeeld: ook bij optellen kan op de rechteroperand een schuifoperatie toegepast worden:
    add r0,r1,r2 lsl 2
wat neerkomt op
    r0 := r1 + (4*r2);
Deze functionaliteit is eenvoudig in de processor in te bouwen, maar desondanks zeer krachtig. Zij zorgt ervoor dat er in het programma minder instructies nodig zijn.
Het gevolg van dit alles was dat de ARM-processor niet alleen goedkoper en zuiniger was dan zijn concurrenten, maar ook sneller.

## Succes

Alhoewel de ARM-processor op zich zeer succesvol is geworden, is haar zichtbare rol bescheiden. Acorn gebruikte de processor in haar eigen Acorn Archimedes computers en deze waren hun tijd vooruit. Deze computers draaiden een voor de tijd nogal geavanceerd besturingssysteem genaamd RISC OS, dat speciaal ontwikkeld was voor gebruik met de ARM-processor. Alhoewel er een trouwe groep gebruikers ontstond, waren deze computers niet bijster succesvol buiten de onderwijssector. In 1998 stopte Acorn met het bouwen van desktopcomputers en richtte zich exclusief op de digitaletelevisiemarkt.
De rest van de computerindustrie in de jaren tachtig had vooralsnog weinig interesse in de processor. MS-DOS was geschreven voor de 8086, en de drie grote onafhankelijke fabrikanten, Apple, Commodore en Atari, hadden zich toegelegd op de Motorola 68000. Energieverbruik speelde in die tijd een minder belangrijke rol en de concurrerende processoren konden tegen redelijke prijzen geproduceerd worden. Echter, aan het begin van de jaren negentig toonde Apple groeiende interesse in de ARM-processor en zou later met Acorn een firma oprichten exclusief toegelegd op de ontwikkeling van deze processorarchitectuur. Deze samenwerking werd gerealiseerd in 1991 met de oprichting van de firma Advanced RISC Machines Ltd. Een van de eerste concrete resultaten uit deze samenwerking was de ARM610-chip, die Acorn in haar Risc PC-werkstation en Apple in haar Newton-PDA hebben ingezet.
De ontwikkelingen kwamen in een stroomversnelling toen het bedrijf de ARM7TDMI, een versie van haar zevende processorkern, voorzien van de ARMv4T-instructieset, licenseerde aan chipmakers Atmel, Philips Semiconductors en STMicroelectronics. Ook Intel kreeg een licentie in handen, die vooral populair werd bij pda's.
Het energieverbruik was ondertussen een kritische factor, met name in draagbare computerelektronica. In een pda bijvoorbeeld merkt men het energieverbruik direct terug in de levensduur van de batterijen. Zodoende zijn ARM-processorkernen in de nodige pda's ingezet, waarvan de Apple Newton en Sharp Zaurus de bekendste zijn. Andere bekende producten zijn de Gameboy Advance en DS van Nintendo en de iPod, iPhone en iPad van Apple.
Van het grootste gedeelte ARM-processorkernen in gebruik is het bezit onbekend; ze komen onder meer voor in mobiele telefoons, televisies, auto's en wasmachines. In 2011 slaagde men erin om de kloksnelheid van een ARM-processor naar 2,5 GHz te tillen.
Baanbrekend was de aankondiging van Microsoft om een nieuwe versie van het Windows OS en de populaire Office-suite te gaan ontwikkelen voor het ARM-platform. Inmiddels is de Microsoft Surface gelanceerd met Windows RT dat draait op een ARM-processor.
Op 22 juni 2020 kondigde Apple aan hun computers uit te rusten met een zelfontwikkelde ARM-processor , de zogenoemde Apple M1. Sinds november 2020 rust Apple zowel de MacBook Pro als MacBook Air uit met deze zelfontwikkelde processor.