История изменений
Исправление byko3y, (текущая версия) :
Процессор внутри себя полноценно 64-х битный. То есть позволяет работать с виртуальными адресами и реальными данными в этом диапазоне значений. Но реально такой диапазон избыточен и не нужен
Вопиющее 4.2:
https://en.wikipedia.org/wiki/64-bit_computing#Limits_of_processors
Почти все современные x64 процессоры имеют 48 бит виртуального адреса и четырехуровневую трансляцию адресов. Только отдельные AMD64 имеют пятиуровневую трансляцию и 52 бита.
Размер физического адреса еще меньше, но он сильно плавает от проца к процу.
При 64-х битах машинное слово занимает 8 байт, при 48-и битах лишь 6 байт, а при 40-а битах лишь 5 байт. Посчитай на сколько неэкономно используется физическая память. Треть или четверть физической памяти фактически не используется
На x64 инструкция не занимает 64 бита. Ровно как никто не заставляет тебя хранить данные в 64-битных числах. Тот же PostgreSQL в 32-битной сборке и в 64-битной сборке показывает околонулевую разницу используемой памяти. Потому что большая часть структур данных имеет фиксированный размер, не меняющийся от битности.
С другой стороны, тот же Delphi оч неэффективно использует память на 64-битах, это правда. Там даже не в полтора, а почти в два раза больше размер исполняемого файла и потребляемой оперативы.
Помимо умножителя (наверное ты имел в виду АЛУ?)
Умножитель из состава АЛУ может применяться также в составе других операций, но от этого он не перестает быть умножителем. Я упомянул умножение, потому что это самая сложная операция. Даже деление не так геморно реализовать, потому что оно непараллелизуемо.
разрядности должно сильно упростить ядро и кеш, коих обычно несколько
Кэш и вовсе агностичен по отношению к битности. Кэш-линия как была 64 байта (не бита) тридцать лет назад, так и остается.
Исходная версия byko3y, :
То есть позволяет работать с виртуальными адресами и реальными данными в этом диапазоне значений
Вопиющее 4.2:
https://en.wikipedia.org/wiki/64-bit_computing#Limits_of_processors
Почти все современные x64 процессоры имеют 48 бит виртуального адреса и четырехуровневую трансляцию адресов. Только отдельные AMD64 имеют пятиуровневую трансляцию и 52 бита.
Размер физического адреса еще меньше, но он сильно плавает от проца к процу.
При 64-х битах машинное слово занимает 8 байт, при 48-и битах лишь 6 байт, а при 40-а битах лишь 5 байт. Посчитай на сколько неэкономно используется физическая память. Треть или четверть физической памяти фактически не используется
На x64 инструкция не занимает 64 бита. Ровно как никто не заставляет тебя хранить данные в 64-битных числах. Тот же PostgreSQL в 32-битной сборке и в 64-битной сборке показывает околонулевую разницу используемой памяти. Потому что большая часть структур данных имеет фиксированный размер, не меняющийся от битности.
С другой стороны, тот же Delphi оч неэффективно использует память на 64-битах, это правда. Там даже не в полтора, а почти в два раза больше размер исполняемого файла и потребляемой оперативы.
Помимо умножителя (наверное ты имел в виду АЛУ?)
Умножитель из состава АЛУ может применяться также в составе других операций, но от этого он не перестает быть умножителем. Я упомянул умножение, потому что это самая сложная операция. Даже деление не так геморно реализовать, потому что оно непараллелизуемо.
разрядности должно сильно упростить ядро и кеш, коих обычно несколько
Кэш и вовсе агностичен по отношению к битности. Кэш-линия как была 64 байта (не бита) тридцать лет назад, так и остается.