2

64-разрядный процессор Intel x86, четырехуровневая иерархическая таблица страниц.Каждая таблица уровней страницы может содержать 512 записей, а размер страницы составляет 4 КБ. Какой максимальный размер для виртуальной памяти и физической памяти?

Я думаю, что максимальная виртуальная память должна быть 2 ^ 48 в этих 9 битах для ссылки на положение таблицы страниц, и есть 4 таблицы страниц. Таким образом, 4 * 9+12 = 48(смещение 4 КБ). Но я не уверен, как рассчитать максимальную физическую память. Или он просто не может сказать из этой информации?

1 ответ1

1

Интересный теоретический вопрос.

Во-первых, давайте проясним: 64-разрядная архитектура Intel на самом деле является 64-разрядным расширением AMD для 32-разрядной архитектуры Intel. Это происхождение очень технического термина x86_64 . Так вы спрашиваете о процессорах, специфичных для Intel, или об архитектуре x86_64 в целом? Во-вторых, вы пишете или редактируете статью в Википедии об этой записи? Если это так, мы должны избегать использования Википедии, чтобы помочь найти ответ :)

Почему теоретический максимальный размер виртуальной памяти не будет ограничен 64-битной длиной слова адресных указателей? Согласно статье в Википедии, "AMD решила использовать только младшие 48 бит". Будущие версии архитектуры позволяют расширять это. Так что на самом деле "теоретический максимум" может быть 2 ^ 64. Так что теперь мы говорим о чем-то меньшем, чем теоретическое.

"Длинный режим" адресации x86_64 допускает 2 МБ страниц, то есть 2 ^ 21, а не только 4 КБ (2 ^ 12) страниц, разница 2 ^ 9, поэтому я получаю (из ваших расчетов) 2 ^ 57. Но это больше, чем позволяет архитектура в настоящее время, так что это "всего лишь" 2 ^ 48.

Что касается физической памяти, опять же из Википедии, «Текущие реализации AMD64 поддерживают физическое адресное пространство до 2 ^ 48 байт оперативной памяти». Хорошо, но, возможно, есть другие границы, наложенные в другом месте. На самом низком уровне у нас есть производитель материнских плат, который обычно устанавливает это в зависимости от количества слотов. Где-то посередине у нас есть контроллер памяти, который в настоящее время фактически интегрирован в ЦП (но не всегда, и не обязательно - опять же, насколько теоретичен этот вопрос). Контроллеры памяти также ограничат адресное пространство или количество возможных чипов, которыми они управляют.

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