Защо нямаме 128-битови процесори

Минахме от 8-битов, към 16-битов, към 32-битов и завършихме нещата на 64-битов. Ето защо не съществуват 128-битови процесори.

Сред думите в компютърния речник bit със сигурност е една от най-известните. Цели поколения конзоли за видеоигри и техните пикселизирани стилове на изкуство се определят от битове (като 8-битови и 16-битови) и много приложения предлагат както 32-битови, така и 64-битови версии.

Ако погледнете тази история, можете да видите, че способността ни да боравим с битове се е увеличила през годините. Въпреки това, докато 64-битовите чипове бяха представени за първи път през 90-те години и станаха масови през 2000-те, ние все още нямат 128-битови процесори. Въпреки че 128 може да изглежда като естествена стъпка след 64, това е всичко но.

Какво дори е малко?

Преди да говорим за това защо не съществуват 128-битови процесори, трябва да поговорим за това какво е малко дори. По същество това се отнася до възможностите на процесора. Образувано от думите binary и digit, това е най-малката единица в изчисленията и началната точка на цялото програмиране. Битът може да бъде дефиниран само като 1 или 0 (следователно двоичен), въпреки че тези числа могат да се тълкуват като вярно или невярно, включени или изключени и дори като знак плюс или знак минус.

Сам по себе си един бит не е много полезен, но използването на повече битове е различна история, защото комбинация от единици и нули може да се дефинира като нещо като число, буква или друг знак. За 128-битовите изчисления ние се интересуваме само от цели числа (числа, които нямат десетична запетая) и колкото повече битове има, толкова повече числа може да дефинира процесорът. Той използва доста проста формула 2^x, като x е колко бита има. При 4-битовите изчисления най-голямото цяло число, до което можете да броите, е 15, което е с единица по-малко от 16, което ви дава формулата, но програмистите започват да броят от 0, а не от 1.

Ако 4-битовото може да съхранява само 16 различни цели числа, тогава може да не изглежда, че преминаването към 8- или 32- или дори 128-битово би било чак толкова голяма сделка. Но тук имаме работа с експоненциални числа, което означава, че нещата започват бавно, но след това се развиват много бързо. За да демонстрирате това, ето малка таблица, която показва най-големите цели числа, които можете да изчислите в двоична система от 1 до 128 бита.

малко

Максимално цяло число

1-битов

1

2-битов

3

4-битов

15

8-битов

255

16-битов

65,535

32-битов

4,294,967,295

64-битов

18,446,744,073,709,551,615

128-битов

340,282,366,920,938,463,463,374,607,431,768,211,455

Така че сега вероятно можете да разберете защо удвояването на количеството битове води до възможност за обработка на числа, които не просто удвояват размера си, но са с порядък по-големи. И все пак, въпреки че 128-битовото изчисление би ни позволило да работим с много по-големи числа, отколкото 64-битовото, ние все още не го използваме.

Как преминахме от 1-битов към 64-битов

Източник: AMD

Доста ясно е защо процесорите преминаха от 1-битови към повече битови: искахме нашите компютри да правят повече неща. Няма много неща, които можете да направите с един, два или четири бита, но при 8-битовата марка аркадните машини, игровите конзоли и домашните компютри станаха осъществими. С течение на времето процесорите станаха по-евтини за производство и физически по-малки, така че добавянето на необходимия хардуер за увеличаване на броя на битовете, които процесорът може да обработва, беше доста естествен ход.

Експоненциалната природа на битовете става очевидна много бързо при сравняване на 16-битови конзоли като SNES и Sega Genesis с техните 8-битови предшественици, главно NES. Super Mario Bros 3 беше една от най-сложните игри на NES от гледна точка на механика и графика и беше напълно изоставена от Светът на Супер Марио, който беше пуснат само две години по-късно (въпреки че подобренията в GPU технологията също бяха ключов фактор тук).

Все още нямаме 128-битови процесори, въпреки че изминаха почти три десетилетия, откакто първите 64-битови чипове се появиха на пазара.

Не става въпрос само за видеоигри; почти всичко се подобряваше с повече битове. Преминаването от 256 числа в 8-битов към 65 356 числа в 16-битов означаваше по-прецизно проследяване на времето, показване на повече цветове на дисплеите и адресиране на по-големи файлове. Независимо дали използвате персонален компютър на IBM, захранван от 8-битов 8088 CPU на Intel, или изграждате сървър за компания, която е готова да влезе онлайн, повече битове са просто по-добри.

Индустрията се премести доста бързо от 16-битови към 32-битови и накрая 64-битови изчисления, които станаха мейнстрийм в края на 90-те и началото на 2000-те години. Някои от най-важните ранни 64-битови процесори бяха открити в Nintendo 64 и компютри, захранвани от Athlon 64 и Opteron на AMD процесори. От страна на софтуера, 64-битовите започнаха да получават основна поддръжка от операционни системи като Linux и Windows в началото 2000-те. Не всички опити за 64-битови изчисления обаче бяха успешни; Сървърните процесори Itanium на Intel бяха провал с голям профил и са някои от най-лошите процесори на компанията.

Днес 64-битовите процесори са навсякъде, от смартфони през компютри до сървъри. Все още се правят чипове с по-малко битове и могат да бъдат желателни за специфични приложения, които не обработват по-големи числа, но те са доста нишови. И все пак все още нямаме 128-битови процесори, въпреки че изминаха почти три десетилетия, откакто първите 64-битови чипове се появиха на пазара.

128-битовото изчисление търси проблем за решаване

Може би си мислите, че 128-битовият не е жизнеспособен, защото е трудно или дори невъзможно да се направи, но това всъщност не е така. Много части в процесорите, централните процесори и други са 128-битови или по-големи, като шини за памет на графични процесори и SIMD на процесори, които позволяват AVX инструкции. Ние конкретно говорим за възможността да обработваме 128-битови цели числа и въпреки че 128-битови прототипи на CPU са създадени в изследователски лаборатории, никоя компания всъщност не е пуснала 128-битов CPU. Отговорът може да е антиклимактичен: 128-битов процесор просто не е много полезен.

64-битов процесор може да обработва над 18 квинтилиона уникални числа, от 0 до 18,446,744,073,709,551,615. За разлика от това, 128-битов процесор би могъл да обработва над 340 ундецилиона числа и аз ви гарантирам, че никога не сте виждали "ундецилион" през целия си живот. Намирането на приложение за изчисляване на числа с толкова много нули е доста предизвикателство, дори ако използвате едно от битовете за подписване на цялото число, което ще има диапазон от минус 170 ундецилиона до плюс 170 undecillion.

Единствените значими случаи на използване на 128-битови цели числа са IPv6 адреси, универсални уникални идентификатори (или UUID), които се използват за създаване на уникални идентификатори за потребителите (Minecraft е високопрофилен случай на използване на UUID) и файлови системи като ZFS. Работата е там, че 128-битовите процесори не са необходими за справяне с тези задачи, които са били в състояние да съществуват добре на 64-битов хардуер. В крайна сметка основната причина, поради която нямаме 128-битови процесори, е, че няма търсене на 128-битова хардуерно-софтуерна екосистема. Индустрията със сигурност би могла да го направи, ако искаше, но просто не го прави.

Вратата е леко отворена за 128 бита

Източник: Siemens

Въпреки че 128-битовите процесори не са нещо днес и изглежда, че никоя компания няма да пусне такъв скоро, не бих стигнал толкова далеч, че да кажа, че 128-битовите процесори никога няма да се появят. Спецификацията за RISC-V ISA оставя възможност за бъдещи 128-битови архитектура на масата, но не дава подробности какво всъщност ще бъде, вероятно защото просто не е имало належаща необходимост да се проектира.

Триста и четиридесет ундецилиона, най-голямото възможно число за създаване със 128 бита, също не е толкова много тъй като има атоми във вселената, което се счита за най-големият брой, който има в реалния свят значимост. Ако някога сте искали да симулирате добра част от Вселената до атомно ниво, тогава може би 128-битов процесор ще бъде наистина полезен за това. Освен това е трудно да се каже за какво ще се използва 128-битов процесор, но преди много години също се чудехме за какво можете да искате терабайт RAM.