Теоретические ограничения памяти в 16, 32 и 64-битных машинах следующие ...
Принципиальным недостатком здесь является представление о том, что "битовая ширина" процессора, которая обычно равна размеру регистров общего назначения машины, обязательно равна ширине адресов ОЗУ.
В x86 с включенной подкачкой, но без PAE, адреса, которые используют программный код и код операционной системы, называются Intel "линейными адресами" - мы обычно называем их "виртуальными адресами". Их ширина 32 бита. Это позволяет виртуальное адресное пространство 4 ГиБ.
Но это более или менее совпадение, просто артефакт формата записей таблицы страниц, что размер физического (RAM) адреса также составляет 32 бита.
С PAE последний составляет 36 бит (сначала ... шире в последующих реализациях). Таким образом, только то, что это, например, «32-битный компьютер», не означает, что адреса физической памяти ограничены 32-битными.
Промышленность имеет долгую историю машин, чья "битовая ширина" не соответствовала их максимальному размеру физического адреса. Например, архитектура VAX определяет 32-битный компьютер, а виртуальные адреса (которые являются адресами, используемыми кодом после включения трансляции адресов) действительно имеют ширину 32 бита ... но физические адреса VAX имеют ширину всего 30 бит - и половина физического адресного пространства отводится регистрам устройств ввода / вывода, поэтому максимальный объем оперативной памяти составлял всего 512 МБ.
Даже без аппаратного обеспечения преобразования адресов не обязательно, чтобы "битовая ширина" машины определяла максимальный адрес ОЗУ. Пример: CDC серии "upper 3000" были 36-битными машинами. Как вы думаете, они могли бы адресовать 64 ГиБ оперативной памяти? Не вряд ли! Эти машины появились в середине 60-х! Черт, в те дни у нас не было даже 64 ГБ дискового пространства . (Серия CDC 6000 была 60-битной машиной. Нужно ли продолжать?)