Организация ввода-вывода. Часть 2. Драйверы для WINDOWS NT. Рощин А.В. - 38 стр.

UptoLike

Составители: 

38
снизило бы производительность системы. Для предотвращения такого
замедления в процессоре имеется буфер ассоциативной трансляции TLB
(Translation Lookaside Buffer) для хранения активно используемых строк
таблиц страниц.
В процессорах i386 и i486 этот буфер представляет собой
ассоциативный кэш на 32 строки таблиц трансляции. Такой размер кэша
позволяет хранить информацию для трансляции 128 Кбайт памяти. Для
большинства мультизадачных применений это
дает 98% кэш-попаданий. В
2% случаев требуются дополнительные обращения к таблицам.
В процессорах Pentium имеются раздельные TLB для инструкций и
данных. В Pentium Pro и позже эти буферы разделены и по размеру
страниц (4 Кбайта и 2 Мбайта/4 Мбайта).
Работа механизма страничного преобразования выглядит следующим
образом:
если страничное управление разрешено (бит PG в регистре CR0
установлен в 1), блок страничного преобразования получает 32-
битный линейный адрес от блока сегментации,
старшие 20 разрядов полученного 32-битного адреса
сравниваются со значениями, хранящимися в TLB,
в случае кэш-попадания по начальному адресу страницы,
полученному из TLB, вычисляется физический адрес и выводится
на шину адреса,
если соответствующей строки в TLB нет
, выполняется чтение
строки из страничного каталога,
если строка имеет бит Р = 1 (таблица присутствует в памяти), в
ней устанавливается бит доступа А и выполняется чтение
указанной ею строки из таблицы второго уровня,
снизило бы производительность системы. Для предотвращения такого
замедления в процессоре имеется буфер ассоциативной трансляции TLB
(Translation Lookaside Buffer) для хранения активно используемых строк
таблиц страниц.
     В процессорах i386 и i486 этот буфер представляет собой
ассоциативный кэш на 32 строки таблиц трансляции. Такой размер кэша
позволяет хранить информацию для трансляции 128 Кбайт памяти. Для
большинства мультизадачных применений это дает 98% кэш-попаданий. В
2% случаев требуются дополнительные обращения к таблицам.
     В процессорах Pentium имеются раздельные TLB для инструкций и
данных. В Pentium Pro и позже эти буферы разделены и по размеру
страниц (4 Кбайта и 2 Мбайта/4 Мбайта).
     Работа механизма страничного преобразования выглядит следующим
образом:
     − если страничное управление разрешено (бит PG в регистре CR0
        установлен в 1), блок страничного преобразования получает 32-
        битный линейный адрес от блока сегментации,
     − старшие     20     разрядов    полученного   32-битного   адреса
        сравниваются со значениями, хранящимися в TLB,
     − в случае кэш-попадания по начальному адресу страницы,
        полученному из TLB, вычисляется физический адрес и выводится
        на шину адреса,
     − если соответствующей строки в TLB нет, выполняется чтение
        строки из страничного каталога,
     − если строка имеет бит Р = 1 (таблица присутствует в памяти), в
        ней устанавливается бит доступа А и выполняется чтение
        указанной ею строки из таблицы второго уровня,




                                     38