Вы сделали 2 ошибки в вашей оценке:
1 / Адресация (почти) всегда на уровне байтов. В противном случае большинство программ на С будет сломано. Это делает объем памяти независимым от размера внутренних регистров процессоров.
2 / Объем памяти указан в байтах, а не в битах.
Таким образом, с 32-битным физическим адресом вы можете иметь 2 ^ 32 байта памяти, то есть 4 ГБ.
Обратите внимание, что размер физической памяти частично не связан с размером регистра процессора.
В течение года в таблице страниц было несколько системных взломов, выходящих за рамки 4 ГБ. Смотри например
https://en.wikipedia.org/wiki/Physical_Address_Extension
Реальное ограничение было на виртуальные адреса, которые были ограничены 32 битами (следовательно, 4 ГБ / процесс)
Теперь процессоры имеют 64-битные регистры. Виртуальные адреса - 64 бита (более или менее). Но 2 ^ 64 - это безумный объем памяти, и для снижения затрат физические адреса обычно ограничены 40 или 48 битами. Это 256 ТБ и в значительной степени достаточно для современных компьютеров (и процессоров в ближайшем будущем).
Таким образом, значения 32 или 64 соответствуют размеру виртуального адреса.