LINUX.ORG.RU

История изменений

Исправление 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 байта (не бита) тридцать лет назад, так и остается.