ARM-architectuur

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf ARM-instructieset)
Ga naar: navigatie, zoeken

De ARM-architectuur is een zeer succesvolle processorarchitectuur, die is bedacht door de Britse computerfabrikant Acorn Computers Ltd rond 1984. 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 en functioneerde, tot Acorns verbazing, vrijwel feilloos. Haar 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.

ARM-processor gebruikt in routers

Ontstaan[bewerken]

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, besloten ze zelf een nieuw type processor te ontwikkelen.

Het resultaat, de ARM1-processor, bestond uit slechts 33000 transistoren en was daardoor in vergelijking met de 68000 en 80286 veel goedkoper te produceren en gebruikte minder energie. Bovendien was de ARM een 32 bitprocessor. De 80286 was slechts 16 bits en werd al aangeprezen als "de revolutionaire 16 bit-80286". De 68000 had wat meer recht van spreken, die was intern 32 bit, extern echter maar 16 bit.

Kenmerken[bewerken]

Opvallend aan de ARM-processor is dat, alhoewel de processor conceptueel totaal anders werkt dan de 6502, het gevoel van 6502-programmeren toch enigszins teruggekregen wordt. De ARM-instructieset gebruikt een versimpeling van de processor om deze krachtiger te maken.

Voorwaardelijke instructies[bewerken]

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[bewerken]

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 iedere instructie een n aantal plaatsen naar links worden geschoven. Daarmee kan je hetzelfde bereiken, alleen het is flexibeler, op de ARM kan het met iedere instructie. Bijvoorbeeld als je optelt, kun je op de rechteroperand een schuifoperatie toepassen, zoals:

add r0,r1,r2 lsl 2

wat neerkomt op:

r0:=r1+4*r2;

Ook deze functionaliteit is erg krachtig maar eenvoudig in de processor in te bouwen. Zij zorgt echter dat je minder instructies in je programma nodig hebt.

Het gevolg van dit alles was dat de ARM-processor niet alleen goedkoper en zuiniger was dan zijn concurrenten, maar ook sneller.

Succes[bewerken]

Alhoewel de ARM-processor op zich zeer succesvol is geworden, is haar zichtbare rol bescheiden. Acorn gebruikte de processor in haar eigen 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 digitale televisiemarkt.

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. Stroomverbruik 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 stroomverbruik was ondertussen een kritische factor, met name in draagbare computerelektronica. In een pda bijvoorbeeld merkt men het stroomverbruik 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.[1]

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[2]. Inmiddels is de Microsoft Surface gelanceerd met Windows RT dat draait op een ARM-processor[3].

Externe links[bewerken]

Bronnen, noten en/of referenties