Организация виртуальной памяти Pentium4

Страницы работы

Содержание работы

Основная  физическая  память в системах  с  процессором Pentium   обычно содержит ограниченное число 4Кбайтных страниц,  которые  чаще  называют  страничными  кадрами (page  frame).  Нетрудно  заметить, что в любой момент времени в физической  памяти  находится  только часть страниц виртуальной памяти. Для каждой страницы операционная система вырабатывает бит присутствия в основной памяти Р и бит регистрации обращения А. В случае обращения к странице, отсутствующей в основной памяти, процессор формирует особый случай неприсутствия страницы и передает управление операционной системе, которая должна считать с диска отсутствующую страницу, после чего процессор выполняет команду повторно. Так как размер страниц  фиксирован, любую  виртуальную  страницу  можно  загрузить в любой страничный кадр физической памяти. Именно этим  и  объясняется широкое применение  страничной  организации  для  систем  виртуальной памяти.

При включенном механизме страничной адресации прикладная  программа не участвует в процессе преобразования  линейного  адреса  в физический. Процессор  автоматически  формирует  особый  случай  неприсутствия  страницы,  когда  программа  обращается  к  операнду,  размещенному  на  странице,  отсутствующей  в  основной  физической  памяти. При обработке этого особого случая ОС загружает  затребованную страницу из внешней памяти в основную. Таким  образом, трансляция линейного адреса в физический  осуществляется  на более низком и прозрачном для  программ уровне.

При отображении страницы из линейного адресного пространства на страницу в физической памяти устройство страничного преобразования заменяет старшие  20  бит линейного  адреса  (номер  виртуальной  страницы)  другим  20-битным  значением, соответствующим  номеру  физической страницы  в памяти. Младшие  12  бит  линейного  адреса,  определяющие  положение  байта  внутри  страницы, сохраняются неизменными в формируемом физическом адресе. Для  управления  механизмом страничного  разделения  памяти,  кроме  аппаратных  средств процессора  (блока  управления  страницами),  требуется  специальная  системная  память с  адресами  соответствия. В  32-разрядных  процессорах  80х86  реализовано гибкое  двухэтапное  преобразование  старших  20  бит  линейного  адреса  в  номер  страницы  физической  памяти  с  искомым  операндом.

      В связи  с тем, что трансляция страниц  осуществляется  без  участия  программ,  основные  функции управления  страничной  организацией  памяти  реализуются  операционной  системой.  Помимо свопинга  (обмена  страницами  между основной и  вторичной  памятью)  и  поддержки защиты страниц,  операционная  система  должна  выделять  в  памяти  две  системные области,  содержимое  которых  используется  для  реализации  механизма  страничного  разделения  памяти.  Первая  емкостью  4 Кбайта (одна страница) отводится  для  каталога  разделов  страниц.  Вторая системная  область  емкостью  до  1024 страниц предназначается для хранения разделов страниц, каждый из которых представляет собой таблицу  страниц  с  1024  базовыми  адресами  страниц  с физическими операндами.  Элементами (строками)  системных  таблиц  являются  4-байтные  дескрипторы,  содержащие  базовые  адреса  и  другие  атрибуты,  относящиеся  к  адресуемым  страницам.

      Дескрипторы системных  таблиц  обоих  уровней  имеют  одинаковый  формат, представленный на  рис. Кроме  20-разрядного базового  адреса  страницы  с  соответствующим  разделом  или  физическим  операндом, каждый дескриптор включает набор  трибутов,  с  помощью  которых  реализуется  дополнительный  контроль  и  защита  при  доступе  к  операндам  страницы.

     31                                    12  11          9   8   7   6   5     4       3       2     1     0

 

Похожие материалы

Информация о работе