RISC versus CISC, ARM versus Intel

Door: Ronald Smit | 30 juli 2021 13:07

How To

Als je een beetje interesse hebt in IT, in computertechniek dan kan het je niet ontgaan zijn dat er langzaam aan een aardverschuiving gaande is wat het hart van computers betreft. Het aloude x86 van Intel loopt duidelijk tegen z’n limieten aan terwijl de ARM-architectuur nog meer dan genoeg ademruimte biedt. Apple is de eerste grote computerfabrikant die het hoofdstuk Intel als afgesloten beschouwt.

Laten we even beginnen met de basis uit te leggen, in heel simpele vorm. CISC staat voor Complex Instruction Set Computer en RISC voor Reduced Instruction Set Computer. Feitelijk is het ook precies die omschrijving die de lading dekt. Met CISC-instructies kunnen complexe opdrachten in één commando uitgevoerd worden (maar zoals je verderop leest is dat een beetje nep eigenlijk) terwijl RISC meerdere instructies nodig heeft om ’t zelfde te bereiken. Ofwel: CISC focust op hardware en RISC op software

In de begindagen van de pc (en vrijwel elke computer) was die focus op hardware bittere noodzaak. RAM was duur, en dus moest software zo compact mogelijk geschreven worden bijvoorbeeld. Nadeel van deze benadering is dat een CISC-processor (flink) veel meer transistors aan boord moet hebben om dat te bereiken. Alleen daarmee kon je het aantal instructies terugbrengen; door in de processorhardware complexe instructies te definiëren. Nu waren die schakelende elementen an sich wel te realiseren, desnoods met buizen. Niet goedkoop, maar nog altijd goedkoper, makkelijker en betrouwbaarder te realiseren dan werkgeheugen.

Microcode

Moderne CISC-processoren zijn bovendien niet helemáál eerlijk in hun CISC-benadering. Vrijwel elke complexe instructie wordt onder de motorkap opgebroken in een serie aan kleinere instructies, naar microcode om precies te zijn. Feitelijk kun je dus een beetje spreken van een RISC ‘kern’ in een CISC-processor. Je zult ook zien dat de een complexe CISC-instructie simpelweg meer tijd (kloktikken) kost dan een instructie van een RISC-CPU. In dat laatste geval wordt per klokpuls in principe één instructie verwerkt, klaar. Bij CISC verschilt dat per instructie aanzienlijk. Dus direct tijdwinst hoeft een complexe CISC-instructie zonder meer niet op te leveren.

Goedkoop RAM en opslag doorslaggevend

Het aardige anno nu is dat geheugen – zowel opslag als RAM – extreem goedkoop is. De nadelen van de beperkte opslagruimte komen daarmee te vervallen. Ook is het razendsnel zodat het in de praktijk weinig uitmaakt of je één of tien instructies moet ophalen. Bovendien worden vaak vooraf al instructies ingelezen door een moderne CPU, waardoor alles al intern in de CPU klaarstaat. Kortom: de noodzaak voor CISC is beduidend minder geworden aan de hardwarekant. Verder geldt dat bijna niemand meer in assembler programmeert maar in een hogere programmeertaal. Het betekent dat je als programmeur eigenlijk maar weinig kennis van de processor-architectuur hoeft te hebben. Programmeer je een stukje software voor een CISC-CPU, dan is dat ook te compileren voor RISC. Wat dat onder de motorkap aan code genereert is eigenlijk niet zo heel interessant meer.

Minder transistoren

RISC biedt inmiddels een flink aantal voordelen ten opzichte van CISC. Doordat een RISC-CPU veel minder transistoren (ook per kern in geval van een multi-core CPU) aan boord heeft kun je voor een veel compacter chipoppervlak kiezen als fabrikant. Of je gaat voor veel meer cores. In beide gevallen geldt dat energieverbruik en warmte-ontwikkeling in het voordeel van RISC uitvallen. Niet verwonderlijk dus dat RISC standaard in portable apparaten (smartphones, tablets, portable gameconsoles enzovoort) te vinden is. Ook apparaten die dag en nacht aan staan of gewoon een eenvoudige besturing vereisen en alleen daarom al energiezuinig moeten zijn beschikken over RISC-CPU’s. Denk aan je router, koffiezetapparaat, muis en eigenlijk al het kleine grut dat een microprocessor aan boord heeft.

In het afgelopen anderhalve decennium heeft RISC een glansrol gespeeld in smartphones, tablets en handheld games, nu is het tijd voor de verovering van de desktop.

Intel Atom als probeersel

Intel heeft ’t geprobeerd, een energiezuinige versie van z’n x86-processor maken. De Atom kent iedereen die ook maar een beetje geïnteresseerd is in computertechniek. Feitelijk een omlaag geklokte x86-cpu met zo min mogelijk poespas aan boord. Het ding bewijst zich (nog) in dingen als NAS'en, een enkele single board computer (vooral in industriële toepassingen waar heel geoptimaliseerde software voor een bepaalde architectuur is ontwikkeld die te kostbaar is om om te bouwen) en budget netbooks en tablets. Dat ze daar eigenlijk al niet echt geschikt voor zijn is duidelijk te merken aan de trage werking ervan. Maar goed, ze kunnen Windows draaien en dus worden ze verkocht. Het is de tragiek van de Wintel-hegemonie op de desktop.

Apple en RISC: de toekomst

Toch is Intel allang niet meer de grote speler van weleer als het gaat om marktaandeel van de CPU. Er draaien ontelbaar veel RISC-processoren verstopt in een al even ontelbaar aantal slimme apparaten. In harde getallen wordt Intel dus weggevaagd. An sich geen drama, want zij verdienden het grote geld op de desktop- en servermarkt. Maar er is een verschuiving gaande. Een van de meest opvallende ‘omschakelaars’ is Apple. Zij ontwikkelden een eigen CPU gebaseerd op een RISC-kern van ARM. ARM is een ‘fabless’ CPU-fabrikant en je kunt het bedrijf momenteel als directe concurrent van Intel beschouwen. Fabless betekent dat ARM zelf geen processor produceert. Het licentieert simpelweg een ontwerp, waarna de koper er z’n eigen fantasie op los kan laten. 

Het is precies wat Apple gedaan heeft met de nieuwe M1 die in zowel recente notebooks als desktops wordt aangetroffen. Door extreem te optimaliseren en tweaken heeft Apple van de M1 een CPU gemaakt die zich op alle fronten tenminste kan meten met de Intel-evenknieën. Alleen voor heel specifieke toepassingen is een i7 soms nog net wat sneller. Kniesoor die daar op let, 99% van de eindgebruikers gaat daar niks van merken. Aardig detail is verder nog dat Apple met z’n nieuwere versie van macOS ook een emulator voor x86-code meelevert. Daarmee kun je oude programma’s waarvan de ontwikkelaar (nog) geen RISC-versie heeft uitgebracht moeiteloos blijven gebruiken.

De Apple M1.

Compiler is de sleutel

De meeste ontwikkelaars zullen echter snel hun x86-gecompileerde software bij de eerstvolgende update ook voor ARM gecompileerd aanbieden. Dat proces is volop gaande en verloopt snel. Zelfs iets zwaars als de Adobe-software (denk aan Photoshop & co) is inmiddels voor zowel x86 als ARM-architectuur beschikbaar. Dat voorkomt een onnodige vertaalslag en maakt het allemaal nog weer efficiënter. Je ziet in de nieuwe computer van Apple ook direct alle voordelen van RISC terug. De macBooks hebben een ongekend lange werktijd op een volle accu, tot 20 uur. iMac’s – de desktopversie – zijn dunner dan ooit. Het warmte-management is stukken eenvoudiger dan bij de x86-iMac’s. 

Nog veel belangrijker is de enorme ademruimte die RISC biedt. De desktop-CPU M1 (feitelijk een Soc ofwel System on a Chip ofwel een compleet systeem op een chip) is klein van afmetingen. Fysiek is zijn er dus nog meer dan genoeg groeimogelijkheden. Maar eerst boekt Apple alvast winst op de structuur: 5 nm betekent heel kleine individuele transistoren op het chipoppervlak. De verwachting is dat die structuur nog verder verkleind kan worden de komende jaren. Wat betekent: nog meer transistoren op ’t zelfde oppervlak. Bij RISC kan dat, omdat het aantal in gebruik zijnde transistoren per kern laag zal blijven. Een kern toevoegen hoeft dus niet per definitie een veel grotere warmte-ontwikkeling in te te houden.

Limiet van x86 nadert

Intel heeft met z’n op leeftijd rakende x86-architectuur veel grotere problemen wat zowel warmte-ontwikkeling betreft als uitbreidingsmogelijkheden. Het enorme aantal transistoren in x86-CPU’s betekent simpelweg een steeds hardere grens die akelig dicht in de buurt is nu. Het is ook niet voor niets dat de afgelopen jaren nauwelijks vooruitgang is geboekt door Intel. Zeker: elke nieuwe generatie cpu’s is net weer wat sneller dan z’n voorganger. Maar je kunt niet oneindig veel kernen toe blijven voegen zonder het doen van concessies. Een optie om meer kernen te realiseren is de kloksnelheid verlagen bijvoorbeeld. Ook zijn er nog andere trucs denkbaar. Maar het wordt wel heel erg veel werk. Ook zie je dat de complexiteit van x86 kopzorgen levert aangaande veiligheid. Spectre en Meltdown zijn een rechtstreeks gevolg van maar zoveel mogelijk snelheid te willen persen uit een architectuur die daar eigenlijk niet echt geschikt meer voor is. En waar dus bewust concessies zijn gedaan aan veiligheid, in de hoop dat dat allemaal wel zo’n vaart niet zou lopen…

Windows, UNIX, Linux en schaalbaarheid

Vreemd genoeg hebben zowel Microsoft als Intel RISC (en dan met name ARM) de afgelopen jaren niet echt serieus genomen. Intel heeft destijds zelfs z’n ARM-divisie verkocht. Windows is een besturingssysteem dat volledig geoptimaliseerd is voor x86 CISC-architectuur. Als Microsoft zou willen breken met die belemmering, dan moet het een volledig nieuw besturingssysteem ontwikkelen. Mag nog steeds Windows heten natuurlijk, maar onder de motorkap moet het volledig afgerekend hebben met oude code. Je zou kunnen denken aan een Microsoft-distro van Linux onder de naam Windows. Klinkt gek, maar zou een veel simpeler oplossing zijn dan steeds maar voort blijven modderen met een achterhaald concept. De oude Windows-programma’s kun je dan blijven gebruiken via een emulatielaag. Hetzelfde wat Apple nu doet met macOS voor oude x86-code. Bedenk trouwens dat ook macOS maar een laag is over een oude bekende in de vorm van UNIX. Groot verschil tussen UNIX (en Linux) en Windows is, dat UNIX & co schaalbaar zijn. Van horloge tot mega-server: dit OS draait er z’n hand niet voor om. Microsoft kan Windows allang niet meer inzetten voor grote serverprojecten, dat trekt het besturingssysteem gewoon niet meer. Zelfs voor hun eigen clouddiensten worden al jaren Linux-servers gebruikt.

Op naar de toekomst!

De opkomst van ARM is niet alleen de overgang naar een nieuwe processor-architectuur. Het gebeuren luidt hoogstwaarschijnlijk ook de teloorgang van Windows als de facto besturingssysteem voor desktops in. De systeemeisen voor Windows 11 en de eigenwijsheid wat ’t ontwerp van de desktop betreft gaan dat proces alleen maar versnellen. Tel daarbij op dat de behoeften van eindgebruikers de afgelopen jaren erg veranderd zijn. Behoeften die eigenlijk niet compatibel zijn met een topzwaar OS als Windows, maar veel meer passen bij schaalbare besturingssystemen. Je snapt dan dat er flink wat interessante dingen staan te gebeuren de komende jaren!

0 Reactie(s) op: RISC versus CISC, ARM versus Intel

  • Om te reageren moet je ingelogd zijn. Nog geen account? Registreer je dan en praat mee!
  • Er zijn nog geen reacties op dit artikel.

Wanneer je een reactie plaatst ga je akoord
met onze voorwaarden voor reacties.