Eind jaren zeventig kwam een processor in omloop die nog altijd verkocht wordt. Is het niet tijd voor een nieuw ontwerp zonder veertig jaar bagage? Sinds een paar jaar is er een kandidaat die Intel mogelijk kan uitdagen: RISC-V.
Henk van de Kamer
Busicom – voorheen Nippon Calculating Machine Corp – vroeg in 1969 aan Intel, het jaar daarvoor opgericht, of het bedrijf één van de twaalf chips voor hun rekenmachines kon produceren. Intel-ingenieurs bestudeerden het ontwerp voor de rekenmachine en vonden het veel te complex. Uiteindelijk leidde hun onderzoek in 1971 tot de 4004-microprocessor. Tezamen met de 4001 (ROM), 4002 (RAM) en 4003 (shift registers) werd het oorspronkelijke ontwerp voor de rekenmachine teruggebracht tot slechts vier chips. In de onderhandelingen over een lagere prijs verkreeg Intel het recht om deze ook aan anderen te verkopen, waarmee de 4004 de eerste commercieel verkrijgbare 4-bits microprocessor werd. In de volgende zeven jaar leidde dit via de 8008, 8080 en de 8085 – allemaal 8-bits – uiteindelijk tot het 16-bits succesnummer, de 8086.
Intel’s 4004, de eerste commercieel verkrijgbare microprocessor (Thomas Nguyen, CC BY-SA 4.0) |
CISC of RISC?
Een processor voert instructies – lees opdrachten – uit. Bijvoorbeeld: plaats de inhoud van geheugenadres 0xd713 in het AX-register. Alle mogelijke opdrachten noemen we een instructieset. Bij het ontwerpen van de 4004 werd de gevraagde instructieset versimpeld. Dat principe werd in de opvolgers losgelaten en met elke nieuwe telg nam het aantal instructies toe. Op dit moment heeft de 80x86 meer dan 6.000 mogelijke instructies. Daarom wordt het tegenwoordig een CISC – Complex Instruction Set Computer – genoemd.
Midden jaren zeventig ontdekte men dat compilers slechts een handjevol van de beschikbare instructies gebruikten. Ook werd duidelijk dat complexe instructies, bijvoorbeeld om een string in het geheugen te plaatsen, lang niet altijd sneller waren dan een stukje code met beperkte instructies. Begin jaren tachtig begon daarom het onderzoek naar RISC-processoren, Reduced Instruction Set Computer. Deze afkorting werd geïntroduceerd door de onderzoekers van de Berkeley-universiteit en wordt tegenwoordig voor alle processoren met een beperkte instructieset gebruikt. In dezelfde periode werd aan Stanford aan de MIPS gewerkt, Microprocessor without Interlocked Pipeline Stages.
De missie van beide groepen komt op hetzelfde neer: als slechts een handjevol – een schatting voor de Motorola 68000 was een derde – instructies gebruikt worden, zijn de transistoren voor de rest overbodig. Deze kunnen dan worden ingezet voor schakelingen die de processor intelligenter maken. De details gaan voor dit artikel te ver, maar het resultaat was dat zowel de Berkeley-RISC als Stanford-MIPS alle toenmalige CISC-processoren met gemak versloegen. Desondanks wist Intel stand te houden en gebruiken bijna alle moderne desktops en laptops nog steeds de 80x86.
Vooruitgang
De wereld is de afgelopen veertig jaar behoorlijk veranderd. Dankzij de 8086 kregen we ook thuis toegang tot een computer. Door steeds verdere miniaturisering ontstond de smartphone. Deze – en in mindere mate de tablet – is bezig de desk- en laptop te vervangen. Daardoor is de laatste jaren de markt voor gewone computers aan het krimpen. Dat proces zal de komende jaren verdergaan.
Smartphones en tablets werken voornamelijk via een accu en dat vraagt om energiezuinige processors. In deze markt is nauwelijks plaats voor de energieverslindende 80x86. Diens taak is overgenomen door de ARM-processor. Ook embedded apparaten zoals de NAS of router gebruiken overwegend deze processor.
Dat de 80x86 in de toekomst nauwelijks meer een rol zal spelen, mag duidelijk zijn. Is de toekomst daarmee aan de ARM-processor? Waarschijnlijk niet. De smartphone zal vervangen worden door een nog veel slimmer apparaat. De voorloper daarvan draait reeds op die smartphone of staat in huis in de vorm van een Amazon Echo of Google Home. Spraak, maar ook andere vormen van interactie, begint mogelijk te worden door de enorme vooruitgang in AI – Artificial Intelligence. Op dit moment worden onze simpele vragen in een rekencentrum verwerkt, maar in de toekomst zal die verwerking lokaal gebeuren.
Licenties
Er is echter één probleem: de huidige processors zijn gemaakt om alle taken aan te kunnen, maar zijn daardoor in geen van deze supergoed. Dat is de reden dat de videokaart tegenwoordig een speciaal voor die taak geoptimaliseerde processor bevat. Toekomstige AI vraagt iets vergelijkbaars, namelijk een simpele processor gecombineerd met een neuraal netwerk dat eventueel verder kan leren.
Processor anno 2019: de Sipeed Longan Nano kost minder dan zeven euro |
In veel gevallen zal de doelgroep voor een AI-toepassing klein zijn. Denk bijvoorbeeld aan kunstmatige intelligentie die op basis van de suikerspiegel en andere biometrische gegevens de insuline-afgifte in het lichaam regelt. Iedereen met een goed idee wil dat natuurlijk zo snel en goedkoop mogelijk in de markt zetten. Voor een grotere doelgroep zullen de licentiekosten voor het gebruiken van een ARM-processor wellicht nog te overzien zijn. Maar nog veel beter zou een processorontwerp zijn dat we gewoon gratis kunnen gebruiken. Dankzij open source-software weten we dat dit voor innovatie heel goed werkt.
RISC-V
Bovenstaande is een van de redenen waarom de RISC-onderzoeksgroep van de Berkeley-universiteit in 2010 besloot om de RISC-V te gaan ontwikkelen en de specificaties onder een licentie vrij te geven (BSD-licentie). Daarmee kan iedereen deze processor zonder kosten gebruiken in een eigen ontwerp. Dit radicale idee is zeker niet nieuw, zoek maar eens naar OpenRISC of SPARC. Maar anders dan deze voorgangers lijkt de tijd nu wel rijp om de processor te laten slagen. Het aantal bedrijven dat deelneemt in de verdere ontwikkeling ervan is een soort moderne Who’s who van de computerindustrie. En dit gaat verder dan aansluiten om mee te kunnen praten. Neem bijvoorbeeld Western Digital, dat ondertussen een eigen RISC-V-implementatie heeft gemaakt om te gaan gebruiken als controller in flash-geheugen en andere producten.
CHINA
Ooit was Japan een lagelonenland en werden onze auto’s daar geproduceerd. Na verloop van tijd begonnen Japanners met het kopiëren van de ideeën in eigen producten om tot slot zelf te gaan ontwerpen. Om vergelijkbare redenen is China gebruikt voor onze elektronica en zij zitten momenteel in die laatste fase. Steeds meer interessante chips komen tegenwoordig uit China. Het is dan ook niet verwonderlijk dat men daar volop met de RISC-V-architectuur bezig is, met nu al meerdere interessante producten.
Zo presenteerde Alibaba, de eigenaar van onder andere AliExpress, eind juli de snelste RISC-processor op dat moment. Op AliExpress – voor wie nooit iets in China bestelt: hun versie van Amazon – zijn momenteel al meerdere op RISC-V gebaseerde bordjes voor een habbekrats te koop. Een kale Sipeed Longan Nano kost minder dan zeven euro en is te zien als een 32-bits Arduino inclusief micro TF-slot. Wie wil experimenteren met AI – bijvoorbeeld het detecteren van gezichten – moet eens zoeken naar een Sipeed M1-module voor circa tien euro. En voor dertig euro heb je een Sipeed Maixduino AI met daarop de genoemde M1-module, een ESP32, minicamera en lcd-scherm. Met als extra dat de pin headers compatibel zijn met de Arduino.
Sipeed Maixduino AI-module: gunstig geprijsd |
Bovenstaande is leuk speelgoed, maar wat als we een echte desktopvervanger willen? Dan wordt het vooralsnog wat prijziger. Voor grofweg 1.300 euro koop je een HiFive Unleashed met een Freedom U540-processor. Wie een meer traditioneel moederbord wil, zal ook een HiFive Unleashed Expansion Board moeten aanschaffen voor grofweg 2.600 euro. Niet goedkoop en aangezien Microsoft het licht nog niet heeft gezien, zul je Windows 10 vaarwel moeten zeggen. Wat wellicht geen slecht idee is, maar dat is een ander verhaal. Bedenk dat de genoemde prijzen snel zullen dalen zodra grotere volumes geproduceerd gaan worden…
Voor het bord van HiFive Unleashed moet je aardig in de buidel tasten |