We gingen van 8-bit, naar 16-bit, naar 32-bit, en eindigden op 64-bit. Dit is de reden waarom 128-bit CPU's niet bestaan.
Onder de computervocabulaire is bit zeker een van de meest bekende. Hele generaties videogameconsoles en hun pixelachtige kunststijlen worden gedefinieerd door bits (zoals 8-bit en 16-bit) en veel applicaties bieden zowel 32-bits als 64-bits versies.
Als je naar die geschiedenis kijkt, kun je zien dat ons vermogen om met bits om te gaan door de jaren heen is toegenomen. Hoewel 64-bits chips voor het eerst werden geïntroduceerd in de jaren negentig en in de jaren 2000 mainstream werden, weten we heb nog steeds geen 128-bit CPU's. Hoewel 128 misschien een natuurlijke stap lijkt na 64, is het alles Maar.
Wat is eigenlijk een beetje?
Voordat we het hebben over waarom 128-bit CPU's niet bestaan, moeten we eerst praten over wat een beetje zelfs is. In wezen verwijst het naar de mogelijkheden van de CPU. Het is gevormd uit de woorden binair en cijfer en is de kleinste eenheid in de computerwereld en het startpunt van alle programmering. Een bit kan alleen worden gedefinieerd als 1 of 0 (dus binair), hoewel deze getallen kunnen worden geïnterpreteerd als waar of onwaar, aan of uit, en zelfs als een plusteken of een minteken.
Op zichzelf is een enkele bit niet erg nuttig, maar het gebruik van meer bits is een ander verhaal, omdat een combinatie van enen en nullen kan worden gedefinieerd als iets, zoals een cijfer, letter of een ander teken. Voor 128-bits computergebruik zijn we alleen geïnteresseerd in gehele getallen (getallen die geen decimaalpunt hebben), en hoe meer bits er zijn, hoe meer getallen een processor kan definiëren. Het gebruikt een vrij eenvoudige 2^x-formule, waarbij x aangeeft hoeveel bits er zijn. Bij 4-bit computergebruik is het grootste gehele getal waartoe je kunt tellen 15, wat één lager is dan de 16 die de formule je geeft, maar programmeurs beginnen te tellen vanaf 0 en niet vanaf 1.
Als 4-bit slechts 16 verschillende gehele getallen kan opslaan, lijkt het misschien niet zo erg om naar 8-, 32- of zelfs 128-bit te gaan. Maar we hebben hier te maken met exponentiële getallen, wat betekent dat de dingen langzaam beginnen, maar dan heel snel van start gaan. Om dit te demonstreren is hier een kleine tabel met de grootste gehele getallen die u binair kunt berekenen, van 1 tot 128 bit.
Beetje |
Maximaal geheel getal |
---|---|
1-bit |
1 |
2-bit |
3 |
4-bits |
15 |
8-bits |
255 |
16-bits |
65,535 |
32-bits |
4,294,967,295 |
64-bits |
18,446,744,073,709,551,615 |
128-bits |
340,282,366,920,938,463,463,374,607,431,768,211,455 |
Nu begrijp je waarschijnlijk waarom een verdubbeling van het aantal bits ertoe leidt dat we getallen kunnen verwerken die niet alleen in omvang verdubbelen, maar ook ordes van grootte groter zijn. Maar ook al zou 128-bit computergebruik ons in staat stellen om met veel grotere getallen te werken dan 64-bit computergebruik, toch maken we er nog steeds geen gebruik van.
Hoe we van 1-bit naar 64-bit gingen
Bron: AMD
Het is vrij duidelijk waarom CPU's van 1 bit naar meer bits zijn gegaan: we wilden dat onze computers meer dingen konden doen. Er is niet veel dat je kunt doen met een, twee of vier bits, maar vanaf de leeftijd van 8 bits werden arcademachines, spelconsoles en homecomputers haalbaar. In de loop van de tijd werden processors goedkoper om te maken en fysiek kleiner, dus het toevoegen van de hardware die nodig was om het aantal bits dat de CPU aankon te vergroten, was een vrij natuurlijke zet.
De exponentiële aard van bits wordt heel snel duidelijk als je 16-bit consoles zoals de SNES en de Sega Genesis vergelijkt met hun 8-bit voorgangers, voornamelijk de NES. Super Mario Bros 3 was een van de meest complexe games op de NES qua mechanica en graphics, en werd volledig overschaduwd door Super Mario Wereld, die pas twee jaar later werd uitgebracht (hoewel verbeteringen in de GPU-technologie hier ook een sleutelfactor waren).
We hebben nog steeds geen 128-bit CPU's, ook al is het bijna dertig jaar geleden dat de eerste 64-bit chips op de markt kwamen.
Het gaat echter niet alleen om videogames; vrijwel alles werd beter met meer bits. De overstap van 256 cijfers in 8-bits naar 65.356 cijfers in 16-bits betekende dat de tijd nauwkeuriger kon worden gevolgd, dat er meer kleuren op beeldschermen moesten worden weergegeven en dat grotere bestanden moesten worden aangepakt. Of je nu de personal computer van IBM gebruikt, aangedreven door Intel's 8-bit 8088 CPU, of een server bouwt voor een bedrijf dat klaar is om online te gaan, meer bits zijn gewoon beter.
De industrie ging vrij snel over van 16-bits naar 32-bits en uiteindelijk naar 64-bits computergebruik, wat eind jaren negentig en begin jaren 2000 mainstream werd. Enkele van de belangrijkste vroege 64-bit CPU's werden gevonden in de Nintendo 64 en computers die werden aangedreven door AMD's Athlon 64 en Opteron CPU's. Aan de softwarekant begon 64-bit al vroeg mainstream-ondersteuning te krijgen van besturingssystemen als Linux en Windows Jaren 2000. Niet alle pogingen tot 64-bit computergebruik waren echter succesvol; Intel's Itanium-server-CPU's waren een spraakmakende mislukking en zijn dat nog steeds enkele van de slechtste processors van het bedrijf ooit.
Tegenwoordig zijn 64-bit CPU's overal aanwezig, van smartphones tot pc's en servers. Chips met minder bits worden nog steeds gemaakt en kunnen wenselijk zijn voor specifieke toepassingen die geen grotere aantallen aankunnen, maar ze zijn behoorlijk niche. Toch hebben we nog steeds geen 128-bit CPU's, ook al is het bijna dertig jaar geleden dat de eerste 64-bit chips op de markt kwamen.
128-bit computing zoekt naar een probleem om op te lossen
Je zou kunnen denken dat 128-bit niet haalbaar is omdat het moeilijk of zelfs onmogelijk is om te doen, maar dat is in werkelijkheid niet het geval. Veel onderdelen in processors, CPU's en anderszins zijn 128-bit of groter, zoals geheugenbussen op GPU's en SIMD's op CPU's die AVX-instructies mogelijk maken. We hebben het specifiek over de mogelijkheid om 128-bit gehele getallen te verwerken, en hoewel er in onderzoekslaboratoria 128-bit CPU-prototypes zijn gemaakt, heeft geen enkel bedrijf daadwerkelijk een 128-bit CPU gelanceerd. Het antwoord zou een anticlimax kunnen zijn: een 128-bit CPU is gewoon niet erg nuttig.
Een 64-bit CPU kan meer dan 18 biljoen unieke getallen verwerken, van 0 tot 18.446.744.073.709.551.615. Daarentegen zou een 128-bit CPU meer dan 340 undecillion-getallen kunnen verwerken, en ik garandeer je dat je in je hele leven nog nooit 'undecillion' hebt gezien. Het vinden van een toepassing voor het berekenen van getallen met zoveel nullen is behoorlijk uitdagend, zelfs als je er een gebruikt de bits om het gehele getal te ondertekenen, dat een bereik zou hebben van negatief 170 undecillion tot positief 170 eendeciljoen.
De enige significante gebruiksscenario's voor 128-bit gehele getallen zijn IPv6-adressen, universeel unieke identificatiegegevens (of UUID) die worden gebruikt om unieke ID's voor gebruikers te creëren (Minecraft is een spraakmakende use case voor UUID) en bestandssystemen zoals ZFS. Het punt is dat 128-bit CPU's niet nodig zijn om deze taken uit te voeren, die prima konden bestaan op 64-bit hardware. Uiteindelijk is de belangrijkste reden waarom we geen 128-bit CPU's hebben, dat er geen vraag is naar een 128-bit hardware-software-ecosysteem. De industrie zou het zeker kunnen redden als ze dat zou willen, maar dat lukt simpelweg niet.
De deur staat een beetje open voor 128-bit
Bron: Siemens
Hoewel 128-bit CPU's tegenwoordig niet meer bestaan, en het erop lijkt dat geen enkel bedrijf er binnenkort een zal uitbrengen, zou ik niet zo ver willen gaan om te zeggen dat 128-bit CPU's nooit zullen bestaan. De specificatie voor de RISC-V ISA laat de mogelijkheid open van een toekomstige 128-bit architectuur op tafel ligt, maar geeft niet aan wat het eigenlijk zou zijn, vermoedelijk omdat er gewoon geen dringende noodzaak was om het te ontwerpen.
Driehonderdveertig undecillion, het grootste aantal dat met 128 bits kan worden gemaakt, is ook lang niet zo veel aangezien er atomen in het universum zijn, wat wordt beschouwd als het grootste aantal dat er in de echte wereld bestaat betekenis. Als je ooit een groot deel van het universum tot op atomair niveau wilt simuleren, dan zou een 128-bit CPU daar misschien erg handig voor zijn. Verder is het moeilijk te zeggen waar een 128-bit CPU voor gebruikt zou worden, maar vele jaren geleden vroegen we ons ook af waar je een terabyte RAM voor zou willen hebben.