Przeszliśmy z wersji 8-bitowej na 16-bitową i 32-bitową, a zakończyliśmy na 64-bitowej. Oto dlaczego 128-bitowe procesory nie istnieją.
Wśród słów słownictwa komputerowego bit jest z pewnością jednym z najbardziej znanych. Całe generacje konsol do gier wideo i ich pikselowe style graficzne są definiowane przez bity (takie jak 8- i 16-bitowe), a wiele aplikacji oferuje wersje 32-bitowe i 64-bitowe.
Jeśli spojrzysz na tę historię, zobaczysz, że nasza zdolność do obsługi bitów wzrosła na przestrzeni lat. Jednakże, chociaż układy 64-bitowe wprowadzono po raz pierwszy w latach 90., a stały się głównym nurtem w latach 2000. nadal nie mam 128-bitowych procesorów. Chociaż 128 może wydawać się naturalnym krokiem po 64, to jest czymkolwiek Ale.
Co to w ogóle jest trochę?
Zanim zaczniemy mówić o tym, dlaczego 128-bitowe procesory nie istnieją, musimy porozmawiać o tym, czym w ogóle jest bit. Zasadniczo odnosi się to do możliwości procesora. Utworzona ze słów binarny i cyfrowy, jest najmniejszą jednostką obliczeniową i punktem wyjścia wszelkiego programowania. Bit można zdefiniować tylko jako 1 lub 0 (stąd binarny), chociaż liczby te można interpretować jako prawdę lub fałsz, włączenie lub wyłączenie, a nawet jako znak plus lub minus.
Sam pojedynczy bit nie jest zbyt przydatny, ale użycie większej liczby bitów to inna historia, ponieważ kombinację jedynek i zer można zdefiniować jako coś, na przykład liczbę, literę lub inny znak. W przypadku obliczeń 128-bitowych interesują nas tylko liczby całkowite (liczby, które nie mają przecinka), a im więcej jest bitów, tym więcej liczb może zdefiniować procesor. Używa całkiem prostej formuły 2^x, gdzie x oznacza liczbę bitów. W obliczeniach 4-bitowych największą liczbą całkowitą, do której można policzyć, jest 15, czyli o jeden mniej niż 16, które podaje formuła, ale programiści zaczynają liczyć od 0, a nie od 1.
Jeśli wersja 4-bitowa może przechowywać tylko 16 różnych liczb całkowitych, może się wydawać, że przejście na wersję 8-, 32-, a nawet 128-bitową nie byłoby aż tak wielkim problemem. Mamy tu jednak do czynienia z liczbami wykładniczymi, co oznacza, że wszystko zaczyna się powoli, a potem nabiera tempa bardzo szybko. Aby to zademonstrować, oto mała tabela pokazująca największe liczby całkowite, jakie można obliczyć w formacie binarnym od 1 do 128 bitów.
Fragment |
Maksymalna liczba całkowita |
---|---|
1-bitowy |
1 |
2-bitowy |
3 |
4-bitowy |
15 |
8 bitowy |
255 |
16-bitowy |
65,535 |
32-bitowy |
4,294,967,295 |
64-bitowy |
18,446,744,073,709,551,615 |
128-bitowy |
340,282,366,920,938,463,463,374,607,431,768,211,455 |
Teraz prawdopodobnie widzisz, dlaczego podwojenie liczby bitów skutkuje możliwością obsługi liczb, które nie tylko podwoją swój rozmiar, ale są o rząd wielkości większe. Mimo że przetwarzanie 128-bitowe umożliwiłoby nam pracę na znacznie większych liczbach niż przetwarzanie 64-bitowe, nadal z niego nie korzystamy.
Jak przeszliśmy z wersji 1-bitowej na 64-bitową
źródło: AMD
Jest całkiem jasne, dlaczego procesory przestały być 1-bitowe i zaczęły mieć więcej bitów: chcieliśmy, aby nasze komputery mogły wykonywać więcej zadań. Nie wiele można zrobić z jednym, dwoma lub czterema bitami, ale przy poziomie 8-bitowym automaty do gier, konsole do gier i komputery domowe stały się wykonalne. Z biegiem czasu procesory stawały się tańsze w produkcji i fizycznie mniejsze, więc dodanie sprzętu niezbędnego do zwiększenia liczby bitów, które procesor mógł obsłużyć, było całkiem naturalnym posunięciem.
Wykładniczy charakter bitów staje się widoczny bardzo szybko, porównując 16-bitowe konsole, takie jak SNES i Sega Genesis, z ich 8-bitowymi poprzednikami, głównie NES. Super Mario Bros 3 była jedną z najbardziej skomplikowanych gier na NES-a pod względem mechaniki i grafiki i została całkowicie przyćmiona przez Świat Super Mario, który ukazał się dopiero dwa lata później (choć i tutaj kluczowe znaczenie miały ulepszenia technologii GPU).
Nadal nie mamy 128-bitowych procesorów, mimo że minęły prawie trzydzieści lat, odkąd pierwsze 64-bitowe chipy trafiły na rynek.
Nie chodzi tu jednak tylko o gry wideo; prawie wszystko było coraz lepsze dzięki większej liczbie bitów. Przejście z 256 liczb w trybie 8-bitowym do 65 356 liczb w trybie 16-bitowym oznaczało dokładniejsze śledzenie czasu, wyświetlanie większej liczby kolorów na wyświetlaczach i adresowanie większych plików. Niezależnie od tego, czy używasz komputera osobistego IBM wyposażonego w 8-bitowy procesor Intel 8088, czy też budujesz serwer dla firmy, która jest gotowa do działania w trybie online, więcej bitów jest po prostu lepsze.
Branża dość szybko przeszła z systemów 16-bitowych na 32-bitowe i wreszcie na 64-bitowe, które stały się głównym nurtem pod koniec lat 90. i na początku XXI wieku. Niektóre z najważniejszych wczesnych 64-bitowych procesorów znaleziono w Nintendo 64 i komputerach wyposażonych w procesory AMD Athlon 64 i Opteron Procesory. Jeśli chodzi o oprogramowanie, systemy 64-bitowe już na początku zaczęły otrzymywać główne wsparcie ze strony systemów operacyjnych takich jak Linux i Windows Lata 2000. Jednak nie wszystkie próby przetwarzania 64-bitowego zakończyły się sukcesem; Procesory serwerowe Intel Itanium były głośną awarią i nadal są jedne z najgorszych procesorów w historii firmy.
Obecnie 64-bitowe procesory są wszędzie, od smartfonów, przez komputery stacjonarne, aż po serwery. Nadal produkowane są chipy z mniejszą liczbą bitów, które mogą być pożądane w określonych zastosowaniach, które nie obsługują większych liczb, ale są one dość niszowe. Jednak nadal nie mamy 128-bitowych procesorów, mimo że minęły prawie trzydzieści lat, odkąd pierwsze 64-bitowe chipy trafiły na rynek.
Obliczenia 128-bitowe szukają problemu do rozwiązania
Można by pomyśleć, że 128-bitowy system nie jest opłacalny, ponieważ jest trudny lub nawet niemożliwy do osiągnięcia, ale w rzeczywistości tak nie jest. Wiele części procesorów, CPU i innych jest 128-bitowych lub większych, jak szyny pamięci w procesorach graficznych i SIMD w procesorach, które obsługują instrukcje AVX. W szczególności mówimy o możliwości obsługi 128-bitowych liczb całkowitych i chociaż w laboratoriach badawczych stworzono prototypy 128-bitowych procesorów, żadna firma tak naprawdę nie wypuściła na rynek 128-bitowego procesora. Odpowiedź może być antyklimatyczna: 128-bitowy procesor po prostu nie jest zbyt przydatny.
64-bitowy procesor może obsłużyć ponad 18 trylionów unikalnych liczb, od 0 do 18 446 744 073 709 551 615. Dla kontrastu, 128-bitowy procesor byłby w stanie obsłużyć ponad 340 undecyliardów, a gwarantuję ci, że nigdy w życiu nie widziałeś nawet „undekilliona”. Znalezienie zastosowania do obliczania liczb zawierających tak wiele zer jest dość trudne, nawet jeśli używasz jednego z nich bity do podpisania liczby całkowitej, która miałaby zakres od ujemnych 170 undecylionów do dodatnich 170 undecyliard.
Jedynymi znaczącymi przypadkami użycia 128-bitowych liczb całkowitych są adresy IPv6, uniwersalne unikalne identyfikatory (lub UUID), które są używane do tworzenia unikalnych identyfikatorów dla użytkowników (Minecrafta to głośny przypadek użycia UUID) i systemy plików, takie jak ZFS. Rzecz w tym, że 128-bitowe procesory nie są konieczne do obsługi tych zadań, które doskonale radzą sobie na sprzęcie 64-bitowym. Ostatecznie głównym powodem, dla którego nie mamy 128-bitowych procesorów, jest brak zapotrzebowania na 128-bitowy ekosystem sprzętowo-programowy. Branża z pewnością mogłaby sobie z tym poradzić, gdyby chciała, ale tak się po prostu nie dzieje.
Drzwi są lekko otwarte dla wersji 128-bitowej
Źródło: Siemens
Chociaż 128-bitowe procesory nie są dziś na rynku i wygląda na to, że żadna firma nie wypuści ich na rynek w najbliższym czasie, nie posunę się tak daleko, by powiedzieć, że 128-bitowe procesory nigdy nie zostaną wprowadzone. Specyfikacja dla RISC-V ISA pozostawia możliwość przyszłego 128-bitowego architektura na stole, ale nie opisuje szczegółowo, co by to było w rzeczywistości, prawdopodobnie dlatego, że po prostu nie było pilnej potrzeby jego projektowania.
Trzysta czterdzieści undecylionów, największa liczba, jaką można utworzyć przy użyciu 128 bitów, również nie jest aż tak duża ponieważ we wszechświecie są atomy, co uważa się za największą liczbę, jaka istnieje w jakimkolwiek świecie rzeczywistym znaczenie. Jeśli kiedykolwiek chciałeś symulować duży fragment wszechświata aż do poziomu atomowego, być może 128-bitowy procesor byłby do tego naprawdę przydatny. Poza tym trudno powiedzieć, do czego miałby służyć 128-bitowy procesor, ale wiele lat temu zastanawialiśmy się również, do czego przydałby się terabajt pamięci RAM.