Jump to content

Intel 5-уровневый пейджинг

(Перенаправлено с 5-уровневой подкачки )

5-уровневая подкачка Intel , называемая просто 5-уровневой подкачкой в документах Intel , представляет собой расширение процессора для x86-64 . линейки процессоров [1] : 11  Он расширяет размер виртуальных адресов с 48 бит до 57 бит за счет добавления дополнительного уровня к многоуровневым таблицам страниц x86-64 , увеличивая адресуемую виртуальную память с 256 ТБ до 128 ПБ . Расширение было впервые реализовано в процессорах Ice Lake . [2]

Технология

[ редактировать ]
4-уровневая пейджинговая система 64-битного режима
4-level paging of the 64-bit mode

В 4-уровневой схеме подкачки (ранее известной как подкачка IA-32e ) 64-битный адрес виртуальной памяти разделен на пять частей. Младшие 12 бит содержат смещение внутри страницы памяти размером 4 КиБ, а следующие 36 бит равномерно разделены между четырьмя 9-битными дескрипторами, каждый из которых связан с 64-битной записью таблицы страниц в таблице страниц с 512 элементами для каждого из четыре уровня пейджинга. Это позволяет использовать биты от 0 до 47 в виртуальном адресе, всего 256 ТБ. [3] : 4-2 

Схема пяти уровней пейджинга

При 5-уровневом подкачке добавляется еще один 9-битный дескриптор таблицы страниц, что позволяет использовать биты от 0 до 56. Это умножает адресное пространство на 512 и увеличивает предел до 128 ПБ.

При включенной 5-уровневой подкачке биты с 57 по 63 должны быть копиями бита 56. [1] : 17  Это то же самое, что и при 4-уровневом пейджинге, где старшие биты виртуального адреса, не участвующие в трансляции адреса, должны совпадать со старшим реализованным битом.

Пятиуровневый пейджинг включается установкой бита 12 регистра CR4 (известного как LA57). [1] : 16  Это используется только тогда, когда процессор работает в 64-битном режиме, и может быть изменено только в том случае, если это не так. [1] : 16  Если бит не установлен или функция 5-уровневой подкачки не поддерживается, процессор использует 4-уровневую структуру таблицы страниц при работе в 64-битном режиме. [3] : 4-22  Это похоже на расширение физического адреса (PAE), где третий уровень таблиц подкачки, позволяющий использовать 36-битную адресацию, был включен путем установки бита в регистре CR4 . [4] [3] : 4-14 

Будущие процессоры могут обеспечить полное 64-битное виртуальное адресное пространство за счет увеличения размера дескрипторов таблицы страниц до 12 бит (4096 записей таблицы страниц) и смещения памяти до 16 бит (размер страницы 64 КиБ) в 4-уровневой схеме подкачки или до 21 бита. (размер страницы 2 МБ) в 5-уровневой схеме. [5] Увеличение размера записи таблицы страниц с 64 до 128 бит позволит использовать произвольные размеры страниц, поскольку дополнительные аппаратные флаги изменят размер и работу дескрипторов на более низких уровнях подкачки. [5]

Недостатки

[ редактировать ]

Добавление еще одного уровня косвенности таблицы страниц . удлиняет «обход» [6] процессора Обход таблицы страниц происходит, когда либо блок управления памятью , либо код управления памятью в операционной системе перемещается по дереву таблиц страниц, чтобы найти запись таблицы страниц, соответствующую виртуальному адресу. [7] [3] : 4-22  Это означает, что в худшем случае процессору или диспетчеру памяти придется обращаться к физической памяти шесть раз для одного доступа к виртуальной памяти, а не пять раз, как в предыдущей итерации процессоров x86-64. Это приводит к незначительному снижению скорости доступа к памяти. [8] На практике эти затраты значительно снижаются за счет кэшей, таких как резервный буфер трансляции (TLB). [8] Будущие расширения могут сократить количество обходов страниц за счет ограничения виртуального адресного пространства для каждого приложения с помощью выделенных аппаратных флагов в расширенной 128-битной записи таблицы страниц, а также обеспечения более крупных размеров страниц 64 КиБ или 2 МиБ и обратной совместимости с операциями со страницами 4 КБ. [5]

Выполнение

[ редактировать ]

5-уровневый пейджинг реализован микроархитектурой Lake Ice , [2] Процессоры серий EPYC 9004 и 8004 [9] [10] и серия Stormpeak Ryzen Threadripper PRO 7900WX. [11]

4.14 Ядро Linux добавляет его поддержку. [12] Поддержка расширения была представлена ​​в виде набора исправлений для ядра Linux 8 декабря 2016 года. [13] Как сообщалось в списке рассылки ядра Linux , оно заключалось в расширении модели памяти Linux для использования пяти уровней вместо четырех. [14] Это связано с тем, что, хотя Linux абстрагирует детали таблиц страниц, он все равно зависит от наличия нескольких уровней в своем собственном представлении. Когда архитектура поддерживает меньшее количество уровней, Linux эмулирует дополнительные уровни, которые ничего не делают. [15] Ранее аналогичное изменение было внесено с трех уровней до четырех. [16]

Windows 10 и 11 с серверными версиями также поддерживают это расширение в своих последних обновлениях, где оно предоставляется отдельным образом ядра под названием ntkrla57.exe . [17]

  1. ^ Jump up to: а б с д «5-уровневый пейджинг и 5-уровневый EPT» . Корпорация Интел. Май 2017.
  2. ^ Jump up to: а б Катресс, Ян. «Микроархитектура Sunny Cove: взгляд на изнанку» . День архитектуры Intel 2018: будущее процессоров Core, графических процессоров Intel, 10-нм техпроцесса и гибридных процессоров x86 . Проверено 15 октября 2019 г.
  3. ^ Jump up to: а б с д Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32 . Том. 3А. Корпорация Интел .
  4. ^ Худек, Тед (июнь 2017 г.). «Операционные системы и поддержка PAE — разработка оборудования для Windows 10» . Microsoft Learn . Проверено 27 января 2024 г.
  5. ^ Jump up to: а б с Патент США 9858198 , Ларри Зейлер, «Система страниц 64 КБ, поддерживающая операции со страницами 4 КБ», опубликован 29 декабря 2016 г., выдан 02 января 2018 г., передан корпорации Intel.  
  6. ^ «CSALT: большой TLB с поддержкой переключения контекста». MICRO-50: 50-й ежегодный международный симпозиум IEEE/ACM по микроархитектуре: материалы . Кембридж, Массачусетс: Институт инженеров по электротехнике и электронике, Компьютерное общество IEEE, Специальная группа ACM по микропрограммированию. 14 октября 2017 г. с. 450. дои : 10.1145/3123939.3124549 . ISBN  978-1-4503-4952-9 . OCLC   1032337814 .
  7. ^ «Информационный центр АРМ» . infocenter.arm.com . Проверено 26 апреля 2018 г.
  8. ^ Jump up to: а б Леви, Хэнк (осень 2008 г.). «CSE 451: Операционные системы: пейджинг и TLB» (PDF) . Университет Вашингтона . Проверено 26 апреля 2018 г.
  9. ^ «Руководство по настройке процессоров AMD EPYC™ 9004» (PDF) . АМД . Сентябрь 2023 г.
  10. ^ «АРХИТЕКТУРА ПРОЦЕССОРА AMD EPYC™ 4-ГО ПОКОЛЕНИЯ» (PDF) . АМД . Май 2024.
  11. ^ «Дамп процессора для 96-ядерного процессора AMD Ryzen Threadripper PRO 7995WX (Storm Peak) Zen4» . Гитхаб . 19 октября 2023 г.
  12. ^ Тунг, Лиам. «Первая версия Linux 4.14 добавляет «очень основные» функции и выходит как раз к 26-летию ядра» . ЗДНет . Проверено 25 апреля 2018 г.
  13. ^ Майкл Ларабель (9 декабря 2016 г.). «Intel работает над 5-уровневым подкачиванием страниц для увеличения виртуального/физического адресного пространства Linux — Phoronix» . Фороникс . Проверено 26 апреля 2018 г.
  14. ^ Шутемов, Кирилл А. (8 декабря 2016 г.). «[RFC, PATCHv1 00/28] 5-уровневый пейджинг» . Список рассылки ядра Linux (Список рассылки) . Проверено 26 апреля 2018 г.
  15. ^ «Управление таблицей страниц» . www.kernel.org . Проверено 26 апреля 2018 г.
  16. ^ «Четырехуровневые таблицы страниц [LWN.net]» . lwn.net . 12 октября 2004 года . Проверено 26 апреля 2018 г.
  17. ^ @aionescu (23 июня 2019 г.). «Старперы вроде меня будут помнить времена ntoskrnl.exe, ntkrnlpa.exe, ntkrnlmp.exe и ntkrpamp.exe» ( твит ) – через Twitter .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d61287915cf0696af7100e41e452f82b__1720184580
URL1:https://arc.ask3.ru/arc/aa/d6/2b/d61287915cf0696af7100e41e452f82b.html
Заголовок, (Title) документа по адресу, URL1:
Intel 5-level paging - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)