7

Этот вопрос вдохновлен вопросом в stackoverflow здесь

Насколько я знаю,

для 32-битных машин у нас может быть 2 ^ 32 комбинаций команд.

поэтому для максимальной емкости ОЗУ в 32-битной машине она должна быть в состоянии вместить 2 ^ 32 набора команд, который

2 ^ 32 = 4294967296 набор инструкций

так как 32 бита = 4 байта, объем оперативной памяти должен быть 4294967296 * 4 байта = 17179869186 байт

который так же, как ->

17179869186/1024 = 16777216 КБ

16777216/1024 = 16384 МБ

16384/1024 = 16 ГБ

поэтому я предполагаю, что максимальный объем ОЗУ, который может вместить 32-разрядная машина, составляет 16 ГБ.

Но звучит как 4 ГБ, это правильный ответ. Что со мной не так???

1 ответ1

19

ОЗУ адресуется байтом. В этой ситуации возможно 2 ^ 32 адреса, поэтому можно адресовать максимум 4294967296 байт (2 ^ 32). Это означает, что эффективный максимум на адресуемой памяти составляет 4294967296 байт, что составляет 4 гигабайта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .