Предел 48-битного виртуального адреса для x86-64 основан на глубине иерархии таблицы страниц. С 4 страницами КиБ и 64-битными записями таблицы страниц каждый уровень таблицы страниц использует девять битов. Использование трех поисков позволило бы получить 39-разрядные виртуальные адреса, что, по-видимому, было признано слишком краткосрочным решением, поскольку для добавления уровней требуется поддержка ОС. Использование четырех поисков обеспечивает 48-битное виртуальное адресное пространство.
Добавление уровней имеет тенденцию увеличивать задержку пропуска TLB (хотя промежуточные узлы также могут быть кэшированы, чтобы уменьшить задержку, если есть попадание в эти кэши), так как поиски являются зависимыми.
Что касается ограничения по физическому адресу, запись таблицы страниц составляет 64 бита и содержит разрешение на доступ и другую информацию (9 бит: присутствует, чтение / запись, пользователь / супервизор, сквозная запись на уровне страницы, отключение кэша на уровне страницы, доступ к нему) , грязный, PAT и глобальный). Записи таблицы страниц x86-64 в настоящее время определены как включающие 14 битов, которые могут использоваться ОС [9:11, 52:62] и игнорируются аппаратными средствами. Это оставляет 41 бит доступным для указания номера страницы, которая (с учетом 4 страниц по КиБ) поддерживает 53-битные физические адреса.
Выбор поддержки меньшего физического адресного пространства, чем поддерживается форматом записи таблицы страниц, зависит от конкретной реализации. Предоставление физического адресного пространства больше виртуального адресного пространства создает проблемы для операционных систем, особенно для тех, которые отображают все физическое адресное пространство в виртуальное адресное пространство.
Для данного процессора со встроенным контроллером памяти количество каналов памяти и поддерживаемые типы памяти являются фиксированными, обеспечивая значительное ограничение максимальной емкости памяти. Добавление большего количества микросхем с контроллерами памяти имеет проблемы с масштабированием, особенно в отношении задержки. (Системы с большими коэффициентами NUMA могут быть полезны, но такие системы не являются важной целью для x86-64.)
Увеличение физического адресного пространства увеличивает размер тегов кэша (в обычных кэшах с физическим тегом) и приводит к дополнительным издержкам. Если адреса не будут полезны для ожидаемого использования системы, эти затраты будут непосредственно снижать прибыльность. (Может также быть какой-то стимул для ограничения возможностей, чтобы стимулировать будущие обновления.)