64-битные и 32-битные процессоры [потребление памяти]

64-битный процессор потребляет больше памяти (ОЗУ), чем 32-битный?

3 ответа

Решение

Процессор сам по себе не потребляет память. Он обращается к памяти, используя адрес разных размеров. В результате 64-разрядный процессор может обрабатывать до 17,17 миллиардов гигабайт памяти, тогда как 32-разрядный процессор может обрабатывать только 4,29 гигабайта.

Если вы имели в виду: "64-битное приложение потребляет больше памяти, чем 32-битное приложение?" тогда да, это так. Адреса памяти в 64-битном процессе имеют длину 8 байтов, а не 4 байта. Таким образом, хотя вы не увидите удвоения использования памяти, эти тысячи указателей, используемых в приложении, будут использовать в два раза больше памяти, чем обычно.

32-разрядных адресов уже давно не хватает, и многие компьютеры в настоящее время стандартно поставляются с 4 гигабайтами памяти, которые 32-разрядные процессы не могут адресовать полностью из-за накладных расходов при отображении памяти операционной системы и оборудования. 64-битные адреса будут работать очень долго.

Тем не менее, многие люди не создают надлежащий 64-битный код, и GNU/Linux настроен для поддержки этих ошибок. Поэтому во многих случаях 64-разрядные приложения работают как 32-разрядные (настройка mmap): http://marc.info/?l=openbsd-misc&m=130683944229077&w=2. Разработка настоящего 64-битного кода - это то, над чем люди должны работать.

Большинство потребительских 32-битных процессоров больше не работают. Даже при дополнительном использовании памяти из-за 8-байтовых указателей и других аспектов современные 64-разрядные процессоры по определению являются более новыми и, как правило, более эффективными, чем процессоры, появившиеся в 32-разрядные дни.

Итак, подведем итог: использование дополнительной памяти является по большей части неактуальной проблемой, учитывая увеличение стандартных размеров памяти на современных компьютерах и скорость работы процессоров.

Да.

Но я должен напечатать больше, чтобы представить... Вздох..

Программа A, скомпилированная как 32-битное приложение, имеет меньший объем памяти, чем та же программа B, которая была скомпилирована как 64-битная. Это потому, что каждый блок памяти имеет больший адрес.

Пример: предположим, что в вашей телефонной книге были все очень локальные телефонные номера, они, вероятно, просто печатали бы номера без кодов городов. Но чтобы вписаться в большее количество номеров / адресов, печать кодов области занимает больше места / чернил / массы и т. Д.,

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

Другие вопросы по тегам