Vi gick från 8-bitars, till 16-bitars, till 32-bitars, och avslutade saker på 64-bitars. Här är anledningen till att 128-bitars processorer inte existerar.
Bland datorordförråd är bit säkert ett av de mest välkända. Hela generationer av videospelskonsoler och deras pixlade konststilar definieras av bitar (som 8-bitars och 16-bitars) och många applikationer erbjuder både 32-bitars och 64-bitarsversioner.
Om man tittar på den historien kan man se att vår förmåga att hantera bitar har ökat under åren. Men medan 64-bitars chips först introducerades på 90-talet och blev mainstream på 2000-talet, har fortfarande inte 128-bitars processorer. Även om 128 kan verka som ett naturligt steg efter 64, är det vad som helst men.
Vad är ens lite?
Innan vi pratar om varför 128-bitars processorer inte existerar, måste vi prata om vad en bit är. I huvudsak hänvisar det till processorns kapacitet. Formad av orden binär och siffra, är den den minsta enheten inom beräkningar och utgångspunkten för all programmering. En bit kan bara definieras som 1 eller 0 (därav binär), även om dessa tal kan tolkas som sant eller falskt, på eller av, och till och med som ett plustecken eller ett minustecken.
I sig själv är en enskild bit inte särskilt användbar, men att använda fler bitar är en annan historia eftersom en kombination av ettor och nollor kan definieras som något, som en siffra, bokstav eller ett annat tecken. För 128-bitars beräkningar är vi bara intresserade av heltal (tal som inte har en decimalkomma), och ju fler bitar det finns, desto fler tal kan en processor definiera. Den använder en ganska enkel 2^x-formel, där x är hur många bitar det finns. I 4-bitars beräkningar är det största heltal du kan räkna till 15, vilket är ett lägre än de 16 som formeln ger dig, men programmerare börjar räkna från 0 och inte från 1.
Om 4-bitars bara kan lagra 16 olika heltal, kanske det inte verkar som att gå till 8- eller 32- eller ens 128-bitars skulle vara en så stor sak. Men vi har att göra med exponentiella tal här, vilket innebär att saker börjar långsamt men sedan tar fart väldigt snabbt. För att demonstrera detta, här är en liten tabell som visar de största heltal du kan beräkna binärt från 1- till 128-bitars.
Bit |
Maximalt heltal |
---|---|
1-bit |
1 |
2-bitars |
3 |
4-bitars |
15 |
8-bitars |
255 |
16-bitars |
65,535 |
32-bitars |
4,294,967,295 |
64-bitars |
18,446,744,073,709,551,615 |
128-bitars |
340,282,366,920,938,463,463,374,607,431,768,211,455 |
Så nu kan du förmodligen se varför en fördubbling av mängden bitar resulterar i att man kan hantera siffror som inte bara fördubblas i storlek utan är storleksordningar större. Ändå, även om 128-bitars beräkning skulle göra det möjligt för oss att arbeta med mycket större antal än 64-bitars beräkningar kan, använder vi det fortfarande inte.
Hur vi gick från 1-bit till 64-bit
Källa: AMD
Det är ganska tydligt varför CPU: er gick från 1-bit till att ha fler bitar: Vi ville att våra datorer skulle göra fler saker. Det finns inte en ton du kan göra med en eller två eller fyra bitar, men vid 8-bitars märket blev arkadmaskiner, spelkonsoler och hemdatorer genomförbara. Med tiden blev processorer billigare att tillverka och fysiskt mindre, så att lägga till den hårdvara som krävs för att öka antalet bitar som CPU kunde hantera var ett ganska naturligt drag.
Bitarnas exponentiella karaktär blir uppenbar mycket snabbt när man jämför 16-bitarskonsoler som SNES och Sega Genesis med deras 8-bitars föregångare, främst NES. Super Mario Bros 3 var ett av NES: s mest komplexa spel när det gäller mekanik och grafik, och det var helt försvagat av Super Mario World, som släpptes bara två år senare (även om förbättringar av GPU-tekniken också var en nyckelfaktor här).
Vi har fortfarande inte 128-bitars processorer, även om det har gått nästan tre decennier sedan de första 64-bitarschipsen kom ut på marknaden.
Det handlar dock inte bara om videospel; i stort sett allt blev bättre med fler bitar. Att flytta från 256 nummer i 8-bitars till 65 356 nummer i 16-bitars innebar att spåra tid mer exakt, visa fler färger på skärmar och adressera större filer. Oavsett om du använder IBM: s persondator, som drivs av Intels 8-bitars 8088-processor, eller bygger en server för ett företag som är redo att gå online, är fler bitar bara bättre.
Branschen gick ganska snabbt från 16-bitars till 32-bitars och slutligen 64-bitars datoranvändning, som blev mainstream i slutet av 90-talet och början av 2000-talet. Några av de viktigaste tidiga 64-bitars processorerna hittades i Nintendo 64 och datorer som drivs av AMD: s Athlon 64 och Opteron CPU: er. På mjukvarusidan började 64-bitars få mainstream-stöd från operativsystem som Linux och Windows tidigt 2000-talet. Inte alla försök med 64-bitars beräkning var dock framgångsrika; Intels Itanium-serverprocessorer var ett högprofilerat misslyckande och är det några av företagets sämsta processorer någonsin.
Idag finns 64-bitars processorer överallt, från smartphones till datorer till servrar. Chips med färre bitar tillverkas fortfarande och kan vara önskvärda för specifika applikationer som inte hanterar större antal, men de är ganska nischade. Ändå har vi fortfarande inte 128-bitars processorer, även om det har gått nästan tre decennier sedan de första 64-bitarschipsen kom ut på marknaden.
128-bitars datorer letar efter ett problem att lösa
Du kanske tror att 128-bitars inte är lönsamt eftersom det är svårt eller till och med omöjligt att göra, men det är faktiskt inte fallet. Många delar i processorer, processorer och annat är 128-bitars eller större, som minnesbussar på GPU: er och SIMD: er på processorer som möjliggör AVX-instruktioner. Vi pratar specifikt om att kunna hantera 128-bitars heltal, och även om 128-bitars CPU-prototyper har skapats i forskningslabb har inget företag faktiskt lanserat en 128-bitars CPU. Svaret kan vara antiklimaktiskt: en 128-bitars CPU är helt enkelt inte särskilt användbar.
En 64-bitars CPU kan hantera över 18 kvintiljoner unika nummer, från 0 till 18 446 744 073 709 551 615. Däremot skulle en 128-bitars CPU kunna hantera över 340 undeciljoner, och jag garanterar dig att du aldrig ens har sett "undeciljoner" i hela ditt liv. Att hitta en användning för att beräkna tal med så många nollor är ganska utmanande, även om du använder en av bitarna för att signera heltal, som skulle ha sitt intervall från negativa 170 undecillion till positiva 170 undecilion.
De enda betydande användningsfallen för 128-bitars heltal är IPv6-adresser, universellt unika identifierare (eller UUID) som används för att skapa unika ID: n för användare (Minecraft är ett högprofilerat användningsfall för UUID), och filsystem som ZFS. Saken är den att 128-bitars processorer inte är nödvändiga för att hantera dessa uppgifter, som har kunnat existera alldeles utmärkt på 64-bitars hårdvara. I slutändan är den viktigaste anledningen till att vi inte har 128-bitars processorer att det inte finns någon efterfrågan på ett 128-bitars hårdvaru-programvara ekosystem. Branschen skulle säkert klara sig om den ville, men det gör den helt enkelt inte.
Dörren är något öppen för 128-bit
Källa: Siemens
Även om 128-bitars processorer inte är något idag, och det verkar som att inget företag kommer att släppa en någon gång snart, skulle jag inte gå så långt som att säga att 128-bitars processorer aldrig kommer att hända. Specifikationen för RISC-V ISA lämnar möjligheten till en framtida 128-bitars arkitektur på bordet men beskriver inte vad det faktiskt skulle vara, förmodligen för att det helt enkelt inte fanns ett akut behov av att designa det.
Trehundrafyrtio undeciljoner, det största antalet möjliga att skapa med 128 bitar, är inte heller lika mycket eftersom det finns atomer i universum, vilket anses vara det största antalet som har någon verklig värld betydelse. Om du någonsin velat simulera en stor del av universum ner till atomnivå, så kanske en 128-bitars CPU skulle vara riktigt användbar för det. Utöver det är det svårt att säga vad en 128-bitars CPU skulle användas till, men för många år sedan undrade vi också vad man kunde önska sig en terabyte RAM till.