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