ARM, RISC-V en x86: instructiesetarchitecturen vergeleken

ARM, RISC-V en x86 zijn drie instructiesetarchitecturen (ISA's): de afspraken tussen software en processor. ARM en RISC-V zijn RISC-ontwerpen, x86 is een CISC-ontwerp dat decennialang is gegroeid. De grootste verschillen zijn wie ze mag bouwen en hoe groot de softwareomgeving is. x86 domineert pc's en servers, ARM domineert smartphones en groeit ook in laptops en servers. RISC-V is een open standaard die snel groeit in embedded toepassingen.

KenmerkARMRISC-Vx86
OntwerpfilosofieRISC. Load/store-architectuurRISC. Load/store-architectuur en modulairCISC. Veel complexe instructies en geheugenoperanden
InstructielengteVast 32 bits in 64-bitsmodus (AArch64)32 bits, met optionele gecomprimeerde instructies van 16 bitsVariabel, 1 tot 15 bytes
Algemene registers31 (AArch64)32 (x0 leest altijd als 0)16 (x86-64)
LicentieGesloten. Bedrijven nemen een licentie bij Arm en betalen vergoedingen en royalty'sOpen standaard. Iedereen kan chips bouwen zonder licentiekostenGesloten. In de praktijk maken alleen Intel en AMD x86-processors
ModulariteitProfielen voor applicaties (A), realtime (R) en microcontrollers (M)Een kleine basis met optionele extensies (vermenigvuldigen, floating point, vectoren enzovoort)Decennialang uitgebreid met extensies (SSE, AVX enzovoort). Oude software blijft werken
SoftwareomgevingVolwassen. Mobiel, Linux, Macs met Apple silicon, Windows on ArmSnel groeiend. Vooral sterk in embedded en LinuxDe grootste. Vooral Windows en traditionele desktop- en serversoftware
Belangrijkste sterke puntenEnergie-efficiëntie en een groot bereik van microcontroller tot serverAanpasbaarheid en geen licentiekostenHoge single-threadprestaties en softwarecompatibiliteit
Belangrijkste toepassingenSmartphones, tablets, Macs van Apple, cloudservers, embeddedEmbedded en IoT, accelerators, onderwijs, nieuwe serversPc's, servers, workstations

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

ARM
Wanneer energie-efficiëntie telt en een beproefde omgeving gewenst is. Van smartphones tot cloudservers.
RISC-V
Wanneer je zelf een processor wilt ontwerpen, licentiekosten wilt vermijden of eigen instructies wilt toevoegen.
x86
Wanneer compatibiliteit met bestaande pc- en serversoftware de hoogste prioriteit heeft.

Veelgestelde vragen

Is ARM sneller dan x86?

Niet van nature. De prestaties hangen af van het ontwerp van de individuele processor en het productieproces. ARM-ontwerpen zijn doorgaans energiezuinig, terwijl x86-ontwerpen vaak voorliepen op de hoogste single-threadprestaties.

Waarom is RISC-V gratis?

RISC-V is een open standaard die wordt beheerd door RISC-V International. Iedereen kan zonder licentiekosten chips bouwen. ARM en x86 zijn gesloten.

Kan software voor ARM op x86 draaien, of omgekeerd?

Niet rechtstreeks. De instructiesets verschillen, dus het programma moet opnieuw worden gecompileerd of via een emulator of vertaallaag worden uitgevoerd.

Welke processors gebruiken Macs van Apple?

Macs met Apple silicon gebruiken door Apple ontworpen processors op basis van ARM.

Test uw begrip

Waarvoor staan namen als ARM, x86 en RISC-V in de eerste plaats?

  1. ADe generatie van het productieproces
  2. BDe instructiesetarchitectuur (ISA)
  3. CHet type behuizing
Antwoord en toelichting tonen

Antwoord: B. De instructiesetarchitectuur (ISA)

ARM, x86 en RISC-V zijn namen van instructiesetarchitecturen (ISA). Een ISA legt de afspraken tussen software en hardware vast, zoals de soorten instructies die de processor begrijpt, de registers en de omgang met het geheugen. Bij dezelfde ISA draait hetzelfde programma, ook als een ander bedrijf de processor heeft ontworpen. x86 wordt door Intel en AMD gebruikt in pc's en servers, ARM in smartphones en de Mac van Apple, en RISC-V breidt zich vooral uit in embedded toepassingen.

Welke uitspraak over RISC-V is juist?

  1. AHet is een eigen instructieset die slechts door één bedrijf mag worden gebruikt
  2. BHet is een instructieset die uitsluitend voor GPU's bestemd is
  3. CHet is een instructiesetarchitectuur waarvan de specificatie openbaar is en die zonder licentiekosten kan worden gebruikt
Antwoord en toelichting tonen

Antwoord: C. Het is een instructiesetarchitectuur waarvan de specificatie openbaar is en die zonder licentiekosten kan worden gebruikt

RISC-V is een open ISA waarvan de ontwikkeling in 2010 begon aan de University of California, Berkeley; de specificatie is openbaar en iedereen kan het zonder licentiekosten implementeren. De basis-geheleninstructies zijn met circa 40 klein in aantal, en afhankelijk van de toepassing kunnen uitbreidingen zoals drijvende komma en vectoren worden gekozen en gecombineerd. Omdat ook eigen instructies kunnen worden toegevoegd, breidt het gebruik zich uit in embedded microcontrollers, storagecontrollers en AI-versnellers.

Welke uitspraak over RISC (reduced instruction set computer) is juist?

  1. AHet heeft veel complexe instructies van verschillende lengte
  2. BHet beperkt zich tot een klein aantal eenvoudige instructies, zodat pipelining gemakkelijker is
  3. CHet heeft helemaal geen instructies
Antwoord en toelichting tonen

Antwoord: B. Het beperkt zich tot een klein aantal eenvoudige instructies, zodat pipelining gemakkelijker is

RISC is een ontwerpfilosofie waarbij de instructies beperkt zijn tot eenvoudige instructies van gelijke lengte, bewerkingen tussen registers plaatsvinden en gegevensuitwisseling met het geheugen beperkt is tot load- en storeinstructies. Doordat de verwerkingstijd per instructie gelijk is, is het geschikt voor pipelining; ARM en RISC-V zijn bekende voorbeelden. Ook CISC (zoals x86), met complexe instructies, splitst instructies intern in eenvoudige µOP's, zodat het verschil kleiner is geworden.

  1. Welke uitspraak over twee CPU's met dezelfde instructiesetarchitectuur (ISA) is juist?
  2. Welke eigenschap van een load-store-architectuur zoals RISC-V is juist?

Oefenvragen over CPU en architectuur

Belangrijke termen uitgelegd

Instructiesetarchitectuur (ISA)
Specificatie van de processor zoals die voor software zichtbaar is, zoals de uitvoerbare instructies en registers. Voorbeelden: x86, Arm, RISC-V.

Verwante vergelijkingen