Arm versus x86, wat is eigenlijk het verschil?

Inhoudsopgave
  1. 1. Inleiding
  2. 2. CPU-architectuur uitgelegd
  3. 3. Moderne 64bit-CPU-architecturen
  4. 4. Heterogene computing wint het van mobiel
  5. 5. Aangepaste Arm-kernen en instructiesets
  6. 6. Software-compatibiliteit
  7. 7. Arm vs x86: tot slot

Software-compatibiliteit

Zoals we al eerder zeiden, moeten applicaties en software worden gecompileerd voor de cpu-architectuur waarop ze draaien. De historische verbondenheid tussen cpu's en ecosystemen (zoals Android op Arm en Windows op x86) betekende dat compatibiliteit nooit echt een zorg was, omdat apps niet op meerdere platforms en architecturen hoefden te draaien. De uitrol van crossplatform-apps en besturingssystemen die op meerdere cpu-architecturen draaien, brengt daar echter verandering in.

Apple's op Arm gebaseerde Mac's, Google's Chrome OS en Microsoft's Windows on Arm zijn allemaal hedendaagse voorbeelden waarbij software zowel op Arm- als op x86-64-architecturen moet kunnen draaien. Het compileren van native software voor beide is daarmee een optie voor nieuwe apps en ontwikkelaars die bereid zijn te investeren in hercompilatie. Om de gaten op te vullen, vertrouwen deze platforms ook op code-emulatie, ofwel het vertalen van code die is gecompileerd voor de ene cpu-architectuur om op een andere te kunnen draaien. Dit is minder efficiënt en gaat ten koste van de prestaties in vergelijking met native apps, maar met goede emulatie is het mogelijk om ervoor te zorgen dat apps werken.

Na jaren van ontwikkeling lijkt de Windows on Arm-emulatie voor de meeste toepassingen in orde. Zo draaien Android-apps voor het grootste deel inmiddels ook fatsoenlijk op Intel Chromebooks. Apple heeft op zijn beurt een eigen vertaaltool, Rosetta 2 genaamd, om oudere Mac-toepassingen te kunnen ondersteunen. Alle drie hebben uiteindelijk echter wel te lijden onder prestatievermindering ten opzichte van natuurlijk gecompileerde applicaties.

Advertentie
0