De verschillen tussen Intel en ARM-processoren
Wie wint de strijd om de processorarchitectuur van de toekomst te zijn?Fabrikanten van mobiele apparaten kiezen in elk geval massaal voor ARM. Wat zijn de verschillen met de processoren van Intel?
De bekendste processorarchitectuur is x86 van Intel, maar dat is al enige tijd niet meer de populairste. In smartphones, tablets, kleinere computers als de Raspberry Pi en in apparatuur als routers wordt voornamelijk ARM gebruikt. ARM stond oorspronkelijk voor Acorn RISC Machine, tegenwoordig staat het voor Advanced RISC Machine. Het is een processorarchitectuur uit 1985. De ARM-architectuur wordt als licentie verkocht door het bedrijf ARM Holdings (waaraan het bedrijf nog steeds bakken met geld verdient).
Een belangrijk onderdeel van de ARM-architectuur is de RISC-instructieset. RISC staat voor ‘reduced instruction set computing’: een instructieset gericht op efficiëntie en energiezuinigheid. De nieuwste ARM-versie van deze instructieset is ARMv8.3-A uit 2016. Linux werkt op ARMv8 sinds 2012, hetzelfde geldt voor iOS en Android. Windows 10 heeft ook ondersteuning voor ARM. ARM-processors worden onder meer gemaakt door Apple, Nvidia, Qualcomm, Samsung en ARM zelf.
RISC en CISK
RISC staat zoals gezegd voor ‘reduced instruction set computing’. Er bestaat ook iets dat CISC heet: ‘complex instruction set computing’. CISC wordt gebruikt door onder andere Intel-processors. Het doel van CISC is om in zo min mogelijk instructies een operatie uit te voeren. Een processor ondersteunt een bepaald aantal instructies, bijvoorbeeld ADD om twee getallen op te tellen en LOAD. Stel we willen twee getallen vermenigvuldigen. Een processor met de CISC-architectuur heeft daar een speciale instructie voor: MULT. Deze instructie is geoptimaliseerd voor de processor. MULT is een complexe operatie en werkt daardoor dus niet op RISC.
RISC ondersteunt alleen operaties die in één klokcyclus uitgevoerd kunnen worden. Dat betekent als de programmeur wil vermenigvuldigen dat er meer stappen nodig zijn. Dat vereist meer regels code en meer geheugen. Het voordeel is dat de processor minder operaties hoeft te ondersteunen, dat resulteert in minder transistoren en dat leidt weer tot minder energieverbruik. Als een apparaat dan toch meer instructies nodig heeft, dan gebeurt dat vaak door middel van een coprocessor.
Legacy
Een nadeel van de x86-architectuur waar ARM-processors geen last van hebben, is legacy. Dat klinkt vreemd, want ARM bestaat al sinds 1985. Het komt omdat ARM gemaakt is door een enkele groep mensen, in tegenstelling tot x86 dat meer een compromisarchitectuur is van verschillende groepen. Daardoor zijn er regelmatig instructies toegevoegd aan x86, die misschien niet altijd nodig waren. Nuttige en minder nuttige instructies zijn bijvoorbeeld 57 instructies in 1997 voor versnellingen in multimedia, 70 instructies voor SSE om videoprestaties te verbeteren.
In 2003 voegde AMD instructies toe: 10 instructies om over te stappen op 64 bit (x86-64), maar 27 instructies mochten weg. Sinds 2000 zijn er elke paar jaar wel wat instructies aan toegevoegd. Dat resulteert in een chip die nu eenmaal niet zo klein en efficiënt gemaakt kan worden. Gemiddeld gezien is er sinds de geboorte van x86 in 1978 één instructie per maand aan toegevoegd.
Nu heeft Intel sinds de smartphone behoorlijk wat verbeteringen gemaakt en is de legacy een veel kleiner probleem geworden. Ook het effect van het verschil tussen RISC en CISC heeft Intel echter grotendeels weggewerkt en het is tegenwoordig bijna te verwaarlozen.
Voor en nadelen
Een fabrikant die een energiezuinigere processor wil maken, maakt een kleinere processor. Een kleinere processor verbruikt minder stroom, maar wordt wel warmer. Om dat hitteprobleem op te lossen, maakt de fabrikant de processor wat trager. Als we de ARM-processors vergelijken met Intel-processors, dan zien we dat de kloksnelheid van ARM veel lager is, vaak namelijk tussen de 1 en 2 GHz.
Een voordeel dat ARM heeft ten opzichte van x86 en Intel is de zogenoemde big.LITTLE-architectuur. In zo’n architectuur zijn een aantal kleinere en tragere processors gekoppeld aan een reeks krachtige en energievretende processors. Sinds 2011 heeft ARM deze architectuur, die onder andere wordt gebruikt in de Cortex A53 en A57 van ARM en ook in de A10-chip van Apple. Op de desktop en op andere apparaten waar accuduur geen rol speelt, heb je niet zo veel aan big.LITTLE.
Waarom zijn er geen Intel-chips voor smartphones?
-
Dan rijst de vraag: stel Intel dropt alle legacy, wat het bedrijf praktisch al gedaan heeft, waarom zijn er dan geen Intel-chips in smartphones en tablets? Daar is een aantal redenen voor. Intel Atom had het antwoord moeten zijn op ARM en de chip was in het begin erg succesvol in netbooks, maar Intel besteedde niet genoeg aandacht aan Atom. Chips voor smartphones en tablets hebben kleinere marges. Het kwam erop neer dat Intel ervoor zou moeten kiezen om Atom voorrang te geven op zijn andere chips, terwijl die hogere marges en winsten behaalden.
De eerste Intel Atom-SoC kwam overigens pas vijf jaar na de iPhone uit, tot dan toe waren er alleen Intel Atom-processors. Er moesten dus nog chips bij voor een modem, voor een touchscreencontroller en voor andere toepassingen. Intel Atom was enigszins competitief met de chips van Apple, Samsung en TMC, maar niet voor lang. De concurrentie is moordend: dankzij de ARM-licenties kunnen andere bedrijven met deze architectuur aan de slag en deze voor allerlei toepassingen geschikt maken. Uiteindelijk hakte Intel in april 2016 de knoop door en stopte het met Intel Atom-processors, na miljardeninvesteringen met als enig doel om ARM van de troon te stoten.
Verder mislukten Intels eerste stappen in apparaten met energiezuinige processors. In 2006 kwamen de eerste lichte laptops en ultrabooks uit, maar ze werden geleverd met Windows Vista en flopten. Voeg daar nog eens aan toe dat Intel in 2009 koos voor WiMAX in plaats van LTE en het plaatje is compleet. Qualcomm heeft daardoor een aanzienlijke voorsprong op LTE-modems voor mobiel. Intel heeft uiteindelijk in 2016 besloten om zelf ook ARM-processors te gaan maken.