Потому что система команд — развилась из процессоров с названиями "что-то86".
x32 — слишком широкое название, которое указывает только на битность и не конкретизирует явно семейство процессоров. 32-битные процессоры это x86, MIPS, ARM, PowerPC и многие другие. Так что мало того, что конкретики нет, тут и запутать может.
>>247649308 (OP) 86 из-за того что первый 32-х битный процессор intel был назван 8086,после чего его копии и последующии модификации стали называть х86 совместимыми
>>247649648 х86 это 32-х битная архитектура разработанная интеломтм и названа в честь ранних моделей х64 это 64-х битная версия архитектуры х86 которая почти полностью совместима с х86
Если бы архитектуры были одинаковыми, то ты прав, но увы, ты не прав. Они даже не полностью совместимы.
>>247649308 (OP) х86 это архитектура работающая по дефолту на 32 битах. Поэтому это как бэ синонимы для обычного юзера. А x86_64 это та же самая архитектура работающая на 64 битах с полной совместимостью с 32 битным софтом. Названий дохуя. Есть всякие IA 32, i386, amd64, IA 64. Для обычного анона похуй что это значит. Если написано 86 или 32, значит оно ставится на компутер с 32битным процессором. Если написано 86_64 или 64 значит на 64битный и 32битный.
>>247650223 Амд придумоли расширение x86_64, сейчас это полностью обратно совместимая архитектура с инцельным x86 и называется amd64, инцел купили лицензию и юзают.
>>247650692 Есть и ещё какой! Ныне наиболее распространенные наименования 64-битной версии x86 есть: «x64», «x86-64» и «AMD64». Битность процессора. Аля в какую степени возводится двойка
>>247649308 (OP) x86 - это про архитектуру процессора, а x32 - про ОС. x86 процессоры несовместимы с ОС x64, а x64 процессоры совместимы с обоими разрядностей ОС
>>247650716 Параметр мощности кудахтера если по простому. Чем больше битность, тем больше можно хранить памяти. 32 битные архитектуры максимум могут 4 гб ОЗУ использовать, а 64битные несколько сотен терабайт.
>>247650716 Процессор оперирует двоичными числами с определенным количеством разрядов. x32 - числа с 32 двоичными разрядами (2^32 состояний), x64 - по аналогии.
Все числа которые вмещаются в данную разрядность можно сложить просто положив в регистры и дав процессору команду на сложение. Если нужно произвести действия с числами большей разрядности придется придумывать какой-нибудь костыль и страдать.
>>247651623 А что количество ОЗУ это не одна из характеристик мощности компьютера? Как там на мощном игровом компьютере 2 ядра 4 гига? Хватает мощностей?
>>247651721 > А что количество ОЗУ это не одна из характеристик мощности компьютера Нет. Мощность это количество тех или иных операций, производимых в единицу времени.
> Как там на мощном игровом компьютере 2 ядра 4 гига? Хватает мощностей? Кто о чём, а игродебилы о играх.
>>247652177 А нахуя? x128 процессор с аналогичной мощностью (в флопсах) будет в два раза больше(=дороже) чем x64 процессор. А сценариев где рядовой пользователь будет производить операции с числами больше 2^64 практически нет.
x64 - это на данный момент лучший баланс между размером регистра, мощностью и ценой.
>>247650312 > х64 это 64-х битная версия архитектуры х86 которая почти полностью совместима с х86 Так это, AMD64 так то. Шинтеловский x64 это итаниум. Если не прав, то поправь плс.
>>247652177 > Чому тогда до сих пор не сделали какой-нибудь х128 С чего ты взял? Они есть, но они никому не нужны, потому-что
> он же будет быстрее большие числа считать такие большие числа ~18000000000000000000*18000000000000000000, досчитай сам считать в повседневности никому, кроме, например, учёных, не нужно.
>>247652177 > Чому тогда до сих пор не сделали какой-нибудь х128, он же будет быстрее большие числа считать? x86-64 процессоры у интела и амд имеют регистры по 256 бит, но операции умножения двух таких регистров нету, по всей видимости задача бесцельная. А для рядовых задач больше 32 бит не всегда необходимо, по сути только в случае если ты пользуешься большими объемами памяти или какие-то большие счётчики нужны, и то шина обращения к памяти реальная от 36 до 40 бит на процессоре. Короче такое. Можно наделать лишней битности, но выигрыша будет меньше чем затраченных усилий и потерянного места в кристалле.
>>247656034 Дело не в том, что что-то с такими числами "нельзя" посчитать на 64-битном или даже 32-битном процессоре. Можно. Дело только в том, что ты не сможешь представить это одной командой процессора.
Процессор может сделать следующее: взять число, записанное в память по такому-то адресу взять другое число из памяти сложить записать куда-то
Вот это - одна операция, выполняемая процессором за такт, "на уровне железа". Современные процессоры охуенно быстры.
Если число не вмещается в 64 бита, а только в 128, то ты можешь разбить его на две части и посчитать:
записать младшие и старшие 64 бита обоих чисел в 4 ячейки памяти. младшие 64 бита ("правые 64 знака") первого числа + младшие 64 бита второго числа = младшие 64 бита результата. Если там переполнение, то запоминаем это (как на бумажке в столбик считаешь и "переносишь" единицу) старшие 64 бита ("левые 64 знака") первого числа + старшие 64 бита второго числа = старшие 64 бита результата. Если у младших было переполнение, то добавляем еще 1. Записываем старшие и младшие 64 бита результата в две ячейки памяти.
То есть сложить можно, но телодвижений больше. Это не выполнится за один такт, это несколько последовательных команд, которые нужно выполнить, чтобы получить результат.
Если тебе нужно делать такое лишь иногда, то как бы и хуй с ним. Это мало чем отличается от операций над массивами чисел (сложить два столбца в Экселе и т.п.) Но если твой суперкомпьютер для науки должен 24/7 обрабатывать йоба-числа, то гораздо лучше, если он умеет это делать на уровне железа сам.
>>247656585 И еще мне кажется это требует пердолинга. В питоне мне пару раз выдавало ошибку, что чило не влезает. И там вроде нужно ставить спец модули, которые могут работать с большими числами.
>>247657259 Я тебе объяснил на уровне ассемблера, если угодно. Питон - очень высокоуровневый язык. С одной стороны, программисту не надо думать о том, как именно там на железе считается все то, что он наговнокодил, за него это делает интерпретатор высокоуровнего языка (или компилятор) и таки да, всякие библиотеки спецом для работы с большими числами. Но все равно все это превращается в исполняемый процессором низкоуровневый код, который я описал в общих чертах в том сообщении.
>>247657663 Написал "с одной стороны", а про "с другой стороны" забыл, лол. Так вот, с другой стороны: надо все-таки иметь голову на плечах и примерно представлять, что творится под капотом. Касается любых абстракций. Все эти задачки "а объясните разницу между списком и массивом и что бы вы выбрали в такой-то ситуации" - они не просто так, они как раз для того, чтобы человек понимал, что делает машина в ситуации, когда он пишет в коде "ну тут список, хуе-мое", и выбирал разумные варианты.
>>247658618 Самим ученым мб и не нужно, но вот тем, кто отвечает за их оборудование - нужно. Простейший пример: компьютерную графику можно рисовать на цпу и страдать, а можно на гпу, которые как раз и были созданы для SIMD вычислений. И если тебе нужно отрисовать один кадр раз в месяц, то как бы и хуй с ним, а вот если ты играешь в видеоигоры, то ты долбоеб, если считаешь графон на цпу в 2021-м (... если сейчас вообще есть эмуляторы современных директиксов на цпу).