Achtergrond: ARM-processor technologie

22 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Wat is een processorarchitectuur?
  3. 3. Acorn
  4. 4. ARM2
  5. 5. Licenties
  6. 6. ARMv4 t/m v6
  7. 7. Cortex
  8. 8. Toekomst voor ARM
  9. 9. Software
  10. 10. X86 vs ARM
  11. 11. Conclusie
  12. 22 reacties

ARMv4 t/m v6

Naar de ARMv3-architectuur is er door ARM flink doorontwikkeld. Bij de vierde generatie architectuur (ARMv4, niet te verwarren met het niet-bestaande ARM4), welke de basis vormt voor de ARM7 en ARM8 familie cores werd een groot aantal zaken toegevoegd. Allereerst kwam er een optionele, tweede instructieset genaamd Thumb. Bij de originele ARM-instructieset zijn alle instructies 32-bits groot. Bij de Thumb-instructieset zijn sommige minder complexe instructies 16-bits groot. Dat betekende dat de volledige code van ARM-programma's een stuk kleiner kon worden, ideaal voor veel embedded applicaties, waar de hoeveelheid geheugen zo beperkt mogelijk moest blijven. Verder kreeg de v4 architectuur verbeterde instructies voor het vermenigvuldigen van getallen, een optionele optimalisatie voor het uitvoeren van Java byte-code en enkele extra instructies voor het sneller uitvoeren van DSP-algoritmes. De ARM8 core onderscheidt zich van ARM7 door onder meer een langere pipeline, waardoor de ARM8 op hogere klokfrequenties kan werken (tot 72 MHz). Overigens wordt de ARM7 core tot op de dag van vandaag nog gebruikt in diverse chips.

De ARM9 en ARM10 cores zijn beide gebaseerd op de vijfde generatie van de instructieset (ARMv5), met opnieuw diverse, kleinere optimalisaties. ARM9 cores vind je terug in de meest uiteenlopende apparaten, variërend van de Nintendo DS tot de Canon Eos 5D, diverse wat oudere mobiele telefoons, maar bijvoorbeeld ook de Western Digital MyBook I World Edition. De ARM10 core, gebaseerd dus op dezelfde ARM-versie maar in prestaties verder geoptimaliseerd, is in veel minder producten gebruikt.

De voorlaatste versie van ARM-architectuur is ARMv6, de basis van de ARM11 cores. In deze versie wordt SIMD-functionaliteit toegevoegd. SIMD staat voor Single Instruction Multiple Data, wat betekent dat een identieke instructie op zeer efficiënte wijze op meerdere stukken data kan worden uitgevoerd. Juist multimediatoepassingen kunnen daar erg van profiteren: met de komst van deze core werd de ARM-technologie ineens geschikt voor dergelijke applicaties. Verder werd de architectuur uitgebreid met een tweede versie van de Thumb-instructieset en is het vanaf de ARM11 mogelijk om meerdere cores te combineren tot multi-core CPU's. Dankzij een langere pipeline – afhankelijk van het model 8 tot 9 stappen – werkt de ARM11 core op hogere klokfrequenties, tot 667 MHz aan toe.

De ARM11 is tot op de dag van vandaag de basis voor uiteenlopende mobiele telefoons, waaronder zo'n beetje iedere denkbare Nokia telefoon die de afgelopen jaren op de markt is gekomen, maar bijvoorbeeld ook vele HTC-modellen (waaronder Dream en de Hero), de originele iPhone en de iPhone 3G, de Sony Ericsson Xperia X10, de Samsung Omnia II, en zo kunnen we nog wel even doorgaan...

0
*