101
4.2.10. Устройство страничного преобразования
Устройство страничного преобразования обеспечивает дос-
туп к структурам данных, которые больше имеющегося про-
странства памяти, храня их частично в памяти и частично на
диске. При страничном преобразовании линейное адресное про-
странство разделяется на блоки по 4 Кб, называемые страница-
ми. Для отображения линейного адреса в физический применя-
ются структуры данных, называемые таблицами страниц. Эле-
ментами таблиц страниц являются своеобразные дескрипторы
страниц, которые проще дескрипторов сегментов. Физические
адреса используются кэш-памятью и/или выдаются на шину
процессора. Устройство страничного преобразования фиксирует
такие ситуации, как обращение к странице, отсутствующей в
памяти, и формирует особые случаи, называемые страничными
нарушениями. При страничном нарушении операционная систе-
ма должна передать нужную страницу с диска в память. При не-
обходимости она может освободить пространство в памяти, от-
сылая некоторую другую страницу на диск (такая замена одной
страницы на другую называется свопингом – swapping). Если
страничное преобразование программно запрещено, физический
адрес совпадает с линейным адресом. В устройство страничного
преобразования входит ассоциативный буфер преобразования
(Translation Look-a-side Buffer, или TLB), который хранит 32
наименее давно используемых элемента таблицы страниц.
Структуры данных буфера TLB показаны на рис. 4.5. Устройст-
во страничного преобразования просматривает линейные адреса
в TLB. Если оно не находит линейного адреса в TLB, то форми-
рует запрос на загрузку в TLB правильного физического адреса
из таблицы страниц в памяти. Только когда правильный элемент
таблицы страниц находится в TLB, инициируется цикл шины.
Когда устройство страничного преобразования отображает стра-
ницу из линейного адресного пространства на страницу в физи-
ческой памяти, оно изменяет только 20 старших бит линейного
адреса. Младшие 12 бит физического адреса берутся неизмен-
ными из линейного адреса.