28 мая 2019, спустя 16 лет после запуска игры, вышел 64-разрядный клиент онлайн игры EVE Online. «Pentium 4» 15 лет назад уже мог 64 бита. Почему мир так долго переходит на 64 бита? Когда будет переход на 128 бит? Операционная система IBM i уже сейчас поддерживает 128 бит.
Потому что 64 бита удел игрулек и сонивегасов. Когда-то "война бит" была способом впаривать фуфлыжные приставки с длинным словом детишкам, каких-то реальных преимуществ длина слова больше 32 бит не дает. Вон например https://ru.wikipedia.org/wiki/Atari_Jaguar поддержка 64 бит аж в 1993 году, которая всего через 3 года закончилась.
ну-акь, сказать.. для пакетной обработки команд/данных рост разрядности нужен. Для увеличения точности вычислений опять разрядность нужна. Просто спецов сейчас имеется чудовищный дефицит, поэтому такая тормозуха идёт.
Для пакетной обработки интел давно наделали подсистем с регистрами до 512 бит. Для утилитарных задач эта многобитовость не впилась никуда.
f13nd, если уж совсем самый кондовый пример, так это размер озу == на 32х нужно лабать смещения, что ужо лишние тики. потом поддержка больших файловых систем/бд. опять-таки, то ли у тебя варик (переменная) валяется в озу, а то ль ты для неё целый регистр выделяешь (х86 очень беден свободными регистрами). векторные регистры в проце довольно корявую поддержку имеют в компилях. Хотя они (эти самые регистры) могут успешно использоваться для кэширования даже в скалярных кодах.
Какие смещения? 99.5% кода любой программы никаких вычислений, особенно с плавающей точкой и тем более требующих повышенной точности, не содержат. Скалирование-сложение-пересылка-передача следующей функции и т.д. Откуда возьмется прирост быстродействия при переходе на 4096-битный проц? Когда уперлись в 4.5ггц, максимально возможных для кремния, почему-то стали количество ядер, а не длину слова наращивать. Потому что спецов чудовищный дефицит?
f13nd, > Откуда возьмется прирост быстродействия при переходе на 4096-битный проц? На самом деле это наоборот задержки, так как при многозадачности нужно в память отгружать большой контекст.
ну-и как организовать адресацию 128 гигов озу на 32х коде без сегментации? если мы говорим о векторных вычислениях == прирост будет. если говорим о кэширование == опять прирост будет. машина может быть однозадачной, тч ся трабла..
Я думал мы говорим о Потому что 64 бит нигде кроме игрулек и сонивегасов пользы не приносит. И даже там тупо из-за размера адресного пространства, а не векторных вычислений. Абстрактные векторные вычисления и абстрактное кэширование почему-то недостаточно убедительно звучит.
а как это адресное пространство можно получить без роста разрядности? любой алго от правильного кэширования ускоряется. те же векторные вычисления используются в куче мат. моделей... 1. решение систем уравнений. 2. сортировки. 3. сжатие/шифрование/кодирование. 4. нейросети. 5. высокопроизводительные (де)компиляторы. ... ЗЫ.. то, что современный комп стал орудием гламура, это не проблема самого компа. Вообще, применяя твою логику, можно задаться простым Вопросом: а на кой чёрт 32 бита??? в сущности, куча рабочего софта вполне себе бегала на 16-ках, а вот игрульки приличные стали появляться именно на 32х
Теоретически через сегментацию, на деле оказалось проще 64 бита придумать. Наверное потому что специалистов дефицит. Программ, использующих больше 2 гигабайт оперативки, мало. Кому этого хватает, не торопятся 64 бита использовать, поэтому мир так долго на 64 и переходит. Можно много теоретизировать на тему однозадачных машин, производящих непонятно какие непонятно для чего вычисления, но действительность она вот такая. В ней изрядную часть всего ПО конпелирует невысокопроизводительная студия, сортировки обычно выглядят как метод .sort(), на устройство которого всем плевать, а для сжатия-шифрования-кодирования есть всего несколько призанных всеми библиотек.
UbIvItS, Для примера взять AVX - какой толк от него. Значительно усложнили ядро, но зачем этот набор вообще нужен ? Какие то длительные вычисления типо майнинга выполняют не на cpu. Тем более набор не ясно как поддерживающийся ОС. При его использовании пакер стал шустрее работать по вашему ? Ну допустим более быстро что то в памяти сделал, но эти приросты профайла сходят на нет, когда эта память будет записываться в железки.
https://thinkingandcomputing.com/posts/using-avx-instructions-in-matrix-multiplication.html https://arxiv.org/pdf/1704.08579.pdf https://gitlab.com/veo-labs/linux/commit/7c1da8d0d046174a4188b5729d7579abf3d29427 если нужна смесь скалярных и векторных расчётов, то лучше иметь вектора именно на цпу. + если на гпу получается недогруз, то проц опять же лучше.
UbIvItS, По первой ссылке тест на профайл и сказано что прирост скорости 8-микратный. Это довольно мало. Причём в цикле крутится математика, реально зачем такое может быть нужно ? IA это архитектура общего назначения. Такого рода мат задачи выполняются на спец железе, асики всякие и плм. Для обычных прикладных задач и приложений это не нужно.
Indy_, спец. железки стоят сильно дороже, но проблема даже не в этом.. на спец. жестянки сейчас толком разрабов нет == мало-мальски приличная публика по корпи разбрелись, да и этой публики слишком мало.