На большинстве архитектур адресация памяти осуществляется в байтах.
32-битное поле адреса позволяет вам указать 2 ^ 32 (около 4,3 миллиарда) адресов.
Это означает, что ЦП, который использует 32-разрядную адресацию и адресацию ОЗУ в виде байтов, может изначально адресовать 2 ^ 32 байта, что равно 4 ГиБ (гибибайтам).
На многих современных архитектурах необходимо учитывать и другие проблемы, такие как выравнивание адресов запросов памяти, которое ограничивает то, какие адреса можно использовать для фактического доступа. Но это не меняет объем ОЗУ, который может адресовать ЦП, а только то, как он может быть адресован, и если вы не работаете очень близко к ЦП, это обычно отвлекается от программиста и, конечно, от пользователя.
Существуют способы (такие как расширение физического адреса, PAE), чтобы обойти ограничение, налагаемое 32-разрядной шириной адреса, так же, как 16-разрядные ЦП использовали различные методы (включая сегментацию), чтобы иметь возможность адресовать более 64 КиБ (2 ^ 16 байт) оперативной памяти. Кроме того, если адресация была выполнена в другом модуле (например, 16-разрядных слов, а не 8-разрядных байтов), то фактический объем памяти, который может быть адресован, изменится соответственно; Например, при использовании 16-битных слов, а не 8-битных байтов, 32-битная ширина адреса позволила бы адресовать 8 ГиБ, потому что каждый адрес фактически адресует два байта.