Почему у нас нет 128-битных процессоров

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

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

Если вы посмотрите на эту историю, то увидите, что с годами наша способность обращаться с битами возросла. Однако, хотя 64-битные чипы впервые были представлены в 90-х годах и стали массовыми в 2000-х, мы до сих пор нет 128-битных процессоров. Хотя 128 может показаться естественным шагом после 64, это совсем не так. но.

Что вообще такое немного?

Прежде чем говорить о том, почему не существует 128-битных процессоров, нам нужно поговорить о том, что такое бит. По сути, это относится к возможностям процессора. Образованное из слов «двоичный» и «цифра», это наименьшая единица вычислений и отправная точка всего программирования. Бит может быть определен только как 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. Супер Братья Марио 3 была одной из самых сложных игр для NES с точки зрения механики и графики, и она полностью затмевалась Мир Супер Марио, который был выпущен всего два года спустя (хотя улучшения в технологии графических процессоров здесь также сыграли ключевую роль).

У нас до сих пор нет 128-битных процессоров, хотя прошло почти три десятилетия с тех пор, как на рынке появились первые 64-битные процессоры.

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

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

Сегодня 64-битные процессоры используются повсюду: от смартфонов до ПК и серверов. Чипы с меньшим количеством битов все еще производятся и могут быть желательны для конкретных приложений, которые не обрабатывают большие числа, но они довольно нишевые. Тем не менее, у нас до сих пор нет 128-битных процессоров, хотя прошло почти три десятилетия с тех пор, как на рынке появились первые 64-битные чипы.

128-битные вычисления ищут проблему, которую нужно решить

Вы можете подумать, что 128-битная версия нежизнеспособна, потому что ее сложно или даже невозможно реализовать, но на самом деле это не так. Многие части процессоров, центральных процессоров и т. д. имеют разрядность 128 бит или больше, например, шины памяти на графических процессорах и SIMD на процессорах, которые поддерживают инструкции AVX. Мы конкретно говорим о возможности обработки 128-битных целых чисел, и хотя в исследовательских лабораториях были созданы прототипы 128-битных ЦП, ни одна компания на самом деле не выпустила 128-битный ЦП. Ответ может быть разочаровывающим: 128-битный процессор бесполезен.

64-битный процессор может обрабатывать более 18 квинтиллионов уникальных чисел от 0 до 18 446 744 073 709 551 615. Напротив, 128-битный процессор способен обрабатывать более 340 ундециллионов чисел, и я гарантирую вам, что вы никогда в жизни даже не видели «ундециллион». Найти применение вычислениям чисел с таким количеством нулей довольно сложно, даже если вы используете один из биты для подписи целого числа, которое будет иметь диапазон от отрицательных 170 ундециллионов до положительных 170. ундециллион.

Единственными важными вариантами использования 128-битных целых чисел являются адреса IPv6, универсально уникальные идентификаторы (или UUID), которые используются для создания уникальных идентификаторов для пользователей (Шахтерское ремесло — широко известный вариант использования UUID) и файловые системы, такие как ZFS. Дело в том, что для решения этих задач не нужны 128-битные процессоры, которые вполне могут существовать на 64-битном оборудовании. В конечном счете, основная причина, по которой у нас нет 128-битных процессоров, заключается в том, что нет спроса на 128-битную аппаратно-программную экосистему. Индустрия, конечно, могла бы добиться этого, если бы захотела, но она просто этого не делает.

Дверь приоткрыта для 128-битной версии

Источник: Сименс

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

Триста сорок ундециллионов, самое большое число, которое можно создать с помощью 128 бит, тоже не так уж и много. поскольку во Вселенной есть атомы, это считается самым большим числом, которое существует в реальном мире. значение. Если вы когда-нибудь захотите смоделировать значительную часть Вселенной вплоть до атомного уровня, то, возможно, для этого будет очень полезен 128-битный процессор. Помимо этого, трудно сказать, для чего будет использоваться 128-битный процессор, но много лет назад мы также задавались вопросом, для чего может понадобиться терабайт оперативной памяти.