Când vom obține un procesor pe 128 de biți?
Scris: Lun Dec 05, 2022 11:38 pm
Problema nu este procesorul, ci memoria. Nu este vorba despre dimensiunea calculelor, ci când procesoarele vor avea nevoie de mai mult de 64 de biți pentru a aborda toată memoria pe care o vor avea viitoarele computere. Este o simplă întrebare de matematică și legea lui Moore.
Astăzi, procesoarele de server Intel acceptă adrese pe 48 de biți, ceea ce este suficient pentru a aborda 256 de terabytes de memorie - în teorie. În practică, serverele cloud AWS ale Amazon sunt oferite până la 24 de terabytes, sau adrese de 45 de biți, în anul 2020.
Făcând calcule, înseamnă că mai avem 19 biți sau 38 de ani până să depășim registrele de 64 de biți în procesoarele moderne. Aceasta înseamnă că până în anul 2058, vom depăși dimensiunea actuală a adresei și va trebui să mutăm 128 de biți. Majoritatea oamenilor care citesc această postare pe blog vor fi în viață pentru a vedea asta, deși probabil s-au pensionat.
Există o mulțime de motive pentru a bănui că acest eveniment va avea loc atât mai devreme, cât și mai târziu.
Ar putea veni mai devreme dacă stocarea se îmbină cu memoria. Ne îndepărtăm de platourile rotative de rugină spre stocarea în stare solidă, cum ar fi blițul. Există tehnologii post-flash, cum ar fi Intel Optane, care promit stocare care poate fi accesată la viteze apropiate de cea a memoriei. Avem deja mașini care au nevoie de petaocteți (în valoare de cel puțin 50 de biți) de stocare.
Adresele conțin adesea mai mult doar adresa de memorie, dar și un fel de descriere a memoriei. Pentru multe aplicații, 56 de biți este maxim, deoarece folosesc cei 8 biți rămași pentru etichete.
Combinând aceste două puncte, s-ar putea să fim la doar 12 ani distanță de oamenii care încep să argumenteze pentru registrele pe 128 de biți în procesor.
Sau, ar putea veni mai târziu, deoarece puține aplicații au nevoie de mai mult de 64 de biți, altele decât bazele de date și sistemele de fișiere.
Tranzițiile anterioare au fost întârziate din acest motiv, așa cum arată istoricul x86. Primele procesoare Intel au fost pe 16 biți care se adresează a 20 de biți de memorie, iar Pentium Pro a fost pe 32 de biți care adresă o memorie de 36 de biți.
Puținele aplicații care aveau nevoie de memorie suplimentară puteau face față durerii de a folosi mai multe numere pentru adresare. Bazele de date au folosit extensiile de adrese ale Intel, aproape nimeni altcineva. Au durat 20 de ani, de la lansarea inițială a MIPS R4000 în 1990 până la procesorul mediu de desktop Intel livrat în 2010 pentru aplicațiile mainstream care au nevoie de adrese mai mari.
Pentru tranziția dincolo de 64 de biți, probabil că va dura și mai mult și s-ar putea să nu se întâmple niciodată. Lucrul cu seturi mari de date care necesită mai mult de adrese de 64 de biți va fi o disciplină atât de specializată încât se va întâmpla oricum în spatele bibliotecilor sau sistemelor de operare.
Deci, să ne uităm la costul intern al registrelor mai mari, dacă extindem registrele pentru a deține adrese mai mari.
Avem deja procesoare pe 512 biți - cu registre atât de mari. Laptopul meu folosește unul. Acesta acceptă AVX-512, o formă de „SIMD” care împachetează mai multe numere mici într-un registru mare, astfel încât să poată efectua calcule identice pe mai multe numere simultan, în paralel, mai degrabă decât secvenţial. Într-adevăr, chiar și procesoarele foarte low-end au fost pe 128 de biți de mult timp - pentru „SIMD”.
Cu alte cuvinte, putem avea un fișier de registru mare cu registre largi și putem gestiona lățimea de bandă de expediere a acelor registre în jurul CPU, efectuând calcule pe ele. Procesoarele de astăzi se ocupă deja de acest lucru pentru anumite tipuri de calcule.
Dar doar pentru că putem face multe calcule pe 64 de biți simultan ("SIMD") nu înseamnă că putem face un calcul pe 128 de biți ("scalar"). Problemele simple precum „carry” devin dificile pe măsură ce numerele devin mai mari. Doar pentru că SIMD poate face mai multe calcule mici nu ne spune cât va costa un calcul mare. Acesta a fost motivul pentru care Intel a avut nevoie de un deceniu suplimentar pentru a face tranziția - au adăugat registre MMX pe 64 de biți pentru SIMD cu un deceniu înainte de a adăuga 64 de biți pentru calculele normale.
Discuția de mai sus este despre viteză, dar este și o preocupare pentru consumul de energie. Dispozitivele mobile au fost cu un deceniu mai târziu (decât desktop-urile) adoptând 64 de biți, depășind chiar acum bariera de 32 de biți. Este probabil să întârzie cu zeci de ani să ajungă la 128 de biți. Chiar dacă trăiești pentru a vedea tranziția supercalculatoarelor la 128 de biți, probabil că nu vei trăi pentru a vedea tranziția dispozitivului tău mobil.
Acum să ne uităm la piață. Ceea ce ne-au învățat ultimii 40 de ani este că tehnologia veche nu funcționează cu adevărat, ci că se oprește din creștere - cu toată creșterea având loc într-o direcție nouă. Cu 40 de ani în urmă, IBM domina calcularea cu mainfra-urile lor. Afacerea lor cu mainframe este la fel de mare ca întotdeauna, doar că toată creșterea din industrie a fost în alte direcții decât mainframe. Același lucru s-a întâmplat și cu afacerea Microsoft, Windows domină în continuare desktop-ul, dar toată creșterea din ultimii 15 ani a ocolit desktop-ul, trecând la dispozitive mobile și cloud.
Peste 40 de ani, nu va fi o problemă ca procesoarele mainstream să treacă de la 64 de biți la 128 de biți, ca și tranzițiile anterioare. Sunt destul de sigur că ne vom fi osificat într-un standard pe 64 de biți, cum ar fi ARM. În schimb, cred că sistemele pe 128 de biți vor veni cu o grămadă de alte schimbări radicale. Se va întâmpla pe partea computerelor, la fel ca modul în care GPU-urile au evoluat separat de procesoarele principale pot deveni din ce în ce mai integrate în ele.
Astăzi, procesoarele de server Intel acceptă adrese pe 48 de biți, ceea ce este suficient pentru a aborda 256 de terabytes de memorie - în teorie. În practică, serverele cloud AWS ale Amazon sunt oferite până la 24 de terabytes, sau adrese de 45 de biți, în anul 2020.
Făcând calcule, înseamnă că mai avem 19 biți sau 38 de ani până să depășim registrele de 64 de biți în procesoarele moderne. Aceasta înseamnă că până în anul 2058, vom depăși dimensiunea actuală a adresei și va trebui să mutăm 128 de biți. Majoritatea oamenilor care citesc această postare pe blog vor fi în viață pentru a vedea asta, deși probabil s-au pensionat.
Există o mulțime de motive pentru a bănui că acest eveniment va avea loc atât mai devreme, cât și mai târziu.
Ar putea veni mai devreme dacă stocarea se îmbină cu memoria. Ne îndepărtăm de platourile rotative de rugină spre stocarea în stare solidă, cum ar fi blițul. Există tehnologii post-flash, cum ar fi Intel Optane, care promit stocare care poate fi accesată la viteze apropiate de cea a memoriei. Avem deja mașini care au nevoie de petaocteți (în valoare de cel puțin 50 de biți) de stocare.
Adresele conțin adesea mai mult doar adresa de memorie, dar și un fel de descriere a memoriei. Pentru multe aplicații, 56 de biți este maxim, deoarece folosesc cei 8 biți rămași pentru etichete.
Combinând aceste două puncte, s-ar putea să fim la doar 12 ani distanță de oamenii care încep să argumenteze pentru registrele pe 128 de biți în procesor.
Sau, ar putea veni mai târziu, deoarece puține aplicații au nevoie de mai mult de 64 de biți, altele decât bazele de date și sistemele de fișiere.
Tranzițiile anterioare au fost întârziate din acest motiv, așa cum arată istoricul x86. Primele procesoare Intel au fost pe 16 biți care se adresează a 20 de biți de memorie, iar Pentium Pro a fost pe 32 de biți care adresă o memorie de 36 de biți.
Puținele aplicații care aveau nevoie de memorie suplimentară puteau face față durerii de a folosi mai multe numere pentru adresare. Bazele de date au folosit extensiile de adrese ale Intel, aproape nimeni altcineva. Au durat 20 de ani, de la lansarea inițială a MIPS R4000 în 1990 până la procesorul mediu de desktop Intel livrat în 2010 pentru aplicațiile mainstream care au nevoie de adrese mai mari.
Pentru tranziția dincolo de 64 de biți, probabil că va dura și mai mult și s-ar putea să nu se întâmple niciodată. Lucrul cu seturi mari de date care necesită mai mult de adrese de 64 de biți va fi o disciplină atât de specializată încât se va întâmpla oricum în spatele bibliotecilor sau sistemelor de operare.
Deci, să ne uităm la costul intern al registrelor mai mari, dacă extindem registrele pentru a deține adrese mai mari.
Avem deja procesoare pe 512 biți - cu registre atât de mari. Laptopul meu folosește unul. Acesta acceptă AVX-512, o formă de „SIMD” care împachetează mai multe numere mici într-un registru mare, astfel încât să poată efectua calcule identice pe mai multe numere simultan, în paralel, mai degrabă decât secvenţial. Într-adevăr, chiar și procesoarele foarte low-end au fost pe 128 de biți de mult timp - pentru „SIMD”.
Cu alte cuvinte, putem avea un fișier de registru mare cu registre largi și putem gestiona lățimea de bandă de expediere a acelor registre în jurul CPU, efectuând calcule pe ele. Procesoarele de astăzi se ocupă deja de acest lucru pentru anumite tipuri de calcule.
Dar doar pentru că putem face multe calcule pe 64 de biți simultan ("SIMD") nu înseamnă că putem face un calcul pe 128 de biți ("scalar"). Problemele simple precum „carry” devin dificile pe măsură ce numerele devin mai mari. Doar pentru că SIMD poate face mai multe calcule mici nu ne spune cât va costa un calcul mare. Acesta a fost motivul pentru care Intel a avut nevoie de un deceniu suplimentar pentru a face tranziția - au adăugat registre MMX pe 64 de biți pentru SIMD cu un deceniu înainte de a adăuga 64 de biți pentru calculele normale.
Discuția de mai sus este despre viteză, dar este și o preocupare pentru consumul de energie. Dispozitivele mobile au fost cu un deceniu mai târziu (decât desktop-urile) adoptând 64 de biți, depășind chiar acum bariera de 32 de biți. Este probabil să întârzie cu zeci de ani să ajungă la 128 de biți. Chiar dacă trăiești pentru a vedea tranziția supercalculatoarelor la 128 de biți, probabil că nu vei trăi pentru a vedea tranziția dispozitivului tău mobil.
Acum să ne uităm la piață. Ceea ce ne-au învățat ultimii 40 de ani este că tehnologia veche nu funcționează cu adevărat, ci că se oprește din creștere - cu toată creșterea având loc într-o direcție nouă. Cu 40 de ani în urmă, IBM domina calcularea cu mainfra-urile lor. Afacerea lor cu mainframe este la fel de mare ca întotdeauna, doar că toată creșterea din industrie a fost în alte direcții decât mainframe. Același lucru s-a întâmplat și cu afacerea Microsoft, Windows domină în continuare desktop-ul, dar toată creșterea din ultimii 15 ani a ocolit desktop-ul, trecând la dispozitive mobile și cloud.
Peste 40 de ani, nu va fi o problemă ca procesoarele mainstream să treacă de la 64 de biți la 128 de biți, ca și tranzițiile anterioare. Sunt destul de sigur că ne vom fi osificat într-un standard pe 64 de biți, cum ar fi ARM. În schimb, cred că sistemele pe 128 de biți vor veni cu o grămadă de alte schimbări radicale. Se va întâmpla pe partea computerelor, la fel ca modul în care GPU-urile au evoluat separat de procesoarele principale pot deveni din ce în ce mai integrate în ele.