Почему 32-разрядная ОС поддерживает 4 ГБ ОЗУ?
Ответ 1
Поскольку 32 бита могут представлять числа до 2 32 - 1 = 4294967295 = 4 GiB - 1 и, следовательно, адресовать до 2 32 отдельных байтов, которые будут 4 GiB затем.
Есть способы обойти это. Например, используя PAE, даже 32-разрядная операционная система может поддерживать больше памяти. Исторически это чаще всего использовалось на серверах. Кроме того, не серверные Windows SKU не поддерживают его. В настоящее время все это спорный вопрос, хотя, учитывая, что 64-битные процессоры, операционные системы и поддержка драйверов являются обычным явлением.
Ответ 2
Потому что каждый байт памяти должен иметь адрес. В 32-разрядной операционной системе адрес имеет длину 32 бита; Таким образом, существует 2 ^ 32 возможных адреса, что означает, что существует 2 ^ 32 байта = 4 ГБ.
Ответ 3
Все говорят 2 ^ 32 = 4GiB, что правильно. На всякий случай, вот как мы добрались туда:
32-разрядная машина использует 32 бита для адресной памяти. Каждый бит имеет значение 0 или 1. Если у вас 1 бит, у вас есть два возможных адреса: 0 или 1. Двухбитовая система (штраф в сторону) имеет четыре возможных адреса: 00 = 0, 01 = 1, 10 = 2, 11 = 3. 2 ^ 2 = 4. Три бита имеют 8 возможных адресов: 000 = 0, 001 = 1, 010 = 2, 011 = 3, 100 = 4, 101 = 5, 110 = 6 и 111 = 7.
Каждый бит удваивает потенциальное адресное пространство, поэтому 2 ^ n сообщает вам, сколько адресов вы используете для заданного количества бит. 2 ^ 1 = 2, 2 ^ 2 = 2 * 2 = 4, 2 ^ 3 = 2 * 2 * 2 = 8 и т.д.
К тому времени, когда вы доберетесь до 32 бит, вы достигнете 4GiB.
Ответ 4
4 ГБ = 2 ^ 32 байта.
Ответ 5
Если у вас есть 4-битная система, это означает, что адрес для каждого байта равен 4 двоичным цифрам, вероятность того, что ваш адрес будет в диапазоне от 0000
до 1111
что равно 2^4 = 16
(2, потому что есть либо 0, либо 1)., с четырьмя битами можно создать 16
различных значений нулей и единиц, если у вас есть 16 различных адресов. каждый представляет byte
тогда вы можете иметь максимум 16 bytes
4-битная система будет выглядеть так:
Для 32-битной системы ваш максимум составляет 2^32 = 4294967292 bytes
Ответ 6
2 ^ 32 = 4 * 1024 * 1024 * 1024
Это, в байтах, определение 4 ГБ. Другими словами, 32-разрядный регистр в качестве указателя памяти может адресовать 4 ГБ памяти и не более.
Ответ 7
Собственно, это не так просто, как 2 ^ 32 = 4294967296 байт. Вы видите в защищенном режиме x86, с включенным пейджингом (то есть тем, что вы получаете, когда используете какую-либо современную ОС), вы не адресуете места памяти напрямую, даже если механизм перевода поискового вызова прозрачен для клиентских приложений.
Из логического 32-битного адреса памяти при использовании страниц 4K:
- биты 22-31 относятся к каталогу страниц
- биты 12-21 относятся к таблице страниц
- бит 11-0 ссылаются на смещение на странице 4096 байт
Как вы можете видеть, у вас есть каталоги на 2 ^ 10 (1024) страниц, в каждом каталоге страниц у вас есть 2 ^ 10 таблиц страниц, а каждая страница составляет 2 ^ 12 (4096) байтов, следовательно 2 ^ 32 = 4294967296 байт. Ширина шины памяти обычно такая же, как длина слова процессора, но совсем необязательно быть таким. Фактически, более современные процессоры x86 поддерживают PAE, который позволяет адресовать более 4 ГБ (или GiB) даже в 32-битном режиме.
Ответ 8
Потому что количество различных адресов памяти (в байтах), которые могут быть сохранены в Word.
Но на самом деле это не всегда верно (в большинстве случаев это не так), ОС может обрабатывать больше физической памяти, чем это (с PAE), и приложения могут использовать менее 4 ГБ виртуальной памяти (поскольку часть этой виртуальной памяти сопоставляется с ОС, 1 ГБ в Linux и 2 ГБ в Windows, например).
Другой сценарий, когда это не применяется, - это то, что память была адресована словами вместо байтов, тогда общая адресуемая память будет 16GB, например.
Ответ 9
В основном из-за 32-битной ОС, поддерживающей только адреса 2 ^ 32-1.
Если у ЦП имеется более 32 адресных строк на FSB, 32-разрядная ОС может выбрать механизм пейджинга для доступа к более чем 4GiB. (Например, выпуски Windows 2000 Advanced Server/Data Center на PAE поддерживали чипы Intel/AMD)
Ответ 10
- 32 бита s могут представлять числа
0..2^32
=0..4,294,967,296
- 32 бит с может адресовать до 2 ^ 32 B ytes (предполагается, что блоки Байт размера)
- 2 ^ 32 B ytes это максимальный размер
2 ^ 32 B= 4 194 304 КиБ= 4 194 МиБ= 4 ГиБ
Ответ 11
4 ГБ = 2 ^ 32 байта. Но помните его максимальный 4gb, выделенный 32-битной ОС. В действительности, ОС будет видеть меньше, например, после размещения VRAM.
Ответ 12
Как уже отмечалось другими пользователями, 32-разрядные ОС Windows используют 32-разрядные слова для хранения адресов памяти.
На самом деле, большинство 32-битных чипов в наши дни используют 36-битную адресацию, используя модель расширения физического адреса Intel (PAE). Некоторые операционные системы поддерживают это напрямую (например, Linux).
Как отмечает Раймонд Чен, в Windows 32-разрядное приложение может выделять более 4 ГБ памяти, и вам не нужны 64-битные Windows для этого. Или даже PAE.
В этом случае 64-разрядные чипы не поддерживают все 64-битное пространство памяти. Я считаю, что в настоящее время они ограничены 42-битным пространством... 36-битное пространство, которое использует PAE, плюс верхние 8-битные адреса,