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

Wat is een processorarchitectuur?

Een processorarchitectuur – of in correct jargon een Instruction Set Architecture (ISA) – is in feite de taal die de processor spreekt. De AMD en Intel processors in PC's en laptops maken gebruik van de X86-architectuur en begrijpen dus machinecode die bestaat uit X86-instructies. Doordat deze instructies gestandaardiseerd zijn, werkt software die is gemaakt op een Intel processor ook op een AMD processor en vice versa. ARM is een volledig andere architectuur en dus spreken deze processors een andere taal. X86-software werkt hierdoor niet op een ARM-chip en andersom. Concreet: op een ARM-chip kun je geen Windows en Windows-software draaien, aangezien Windows is gebaseerd op X86.

Wel is het mogelijk om software, wanneer geschreven in een hogere programmeertaal zoals C++, met de nodige aanpassingen opnieuw te compileren voor een andere architectuur en daarmee te porteren. Hierdoor zijn bijvoorbeeld het Linux-besturingssysteem en de meeste daarvoor geschikte software zowel beschikbaar voor X86 als ARM. Een ISA bestaat uit een klein of groot aantal instructies, ofwel basale taken die een processor kan uitvoeren. De ene architectuur is uitgebreider dan de ander. Architecturen met zeer veel complexe instructies waardoor je ingewikkelde taken in één keer kunt laten uitvoeren worden ook wel CISC (Complex Instruction Set Computers) genoemd. X86 is een voorbeeld van een CISC-architectuur. ISA's met slechts een beperkt aantal instructies worden betiteld als RISC (Reduced Instruction Set Computres).

ARM is een mooi voorbeeld van een RISC instructieset. Dit betekent echter niet dat dergelijke processors minder kunnen: bij een RISC CPU zullen complexe taken moeten worden opgedeeld in meerdere, simpelere deeltaken.
Voor wie dit allemaal wat snel ging een vergelijking met de echte wereld. Vergelijk een processor eens met een timmerman. Als de ene timmerman Engels spreekt en de andere Spaans, zal een enkel Engels sprekende opdrachtgever (het besturingssysteem) de tweede timmerman niet aan het werk kunnen zetten. Een CISC timmerman kun je zeer veel, relatief complexe instructies geven, bijvoorbeeld "zaag deze plank in vier gelijke delen". Een RISC timmerman zal een dergelijk instructie niet begrijpen, maar kun je dezelfde taak wel laten doen door hem een aantal keer achter elkaar de simpelere instructies "pak de plank", "meet het midden op" en "zaag op die plek net zo lang dat hij doormidden is" te geven.

Is CISC of nu beter dan RISC of andersom? Daar zijn al vele boeken over volgeschreven en een conclusie is eigenlijk niet te trekken. Het is bijna en geloofsovertuiging van processorontwerpers. Eigenlijk maakt het ook niet zoveel uit; CISC als RISC processors kunnen beide zowel tergend traag als bloedsnel zijn, afhankelijk van de implementatie.

0
*