Для начала нужно понять понятие "физическое адресное пространство".
Любое оборудование в компьютере, которое "выглядит как память", должно отображаться как часть физического адресного пространства. Это включает в себя оперативную память, но также включает устройства ввода-вывода. В частности, некоторые графические карты требуют большого объема физического адресного пространства.
Когда BIOS инициализирует оборудование, оно определяет физические адреса каждого куска оборудования.
Поскольку оперативная память - не единственный пользователь адресного пространства, который использует все оперативные памяти в системе с 4 ГБ, требуется использовать физические адреса с более чем 32-мя битами.
Для этого для работы требуется поддержка со стороны процессора, чипсета и ОС.
- Процессоры имеют поддержку в течение многих лет (начиная с Pentium Pro).
- Чипсеты для настольных компьютеров и ноутбуков в основном добавили поддержку где-то в середине 2000-х годов.
- В Linux вам нужно либо 64-битное ядро, либо 32-битное ядро, созданное с помощью PAE. В Windows вам нужна 64-битная версия ОС, серверная версия или взломанное ядро.
Точно, сколько памяти можно использовать с ограничением адресного пространства 4 ГБ, зависит как от того, какое аппаратное обеспечение у вас есть в машине, так и от того, как BIOS решит сопоставить вещи. Некоторые BIOS могут иметь опцию "Максимизировать память ниже 4 ГБ" или аналогичную опцию, которая может увеличить объем памяти, используемой в ОС, которая ограничена 4 ГБ адресного пространства.