![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В большинстве ОС таблицы страниц хранятся в реальной ОП. При включении механизма страничного обмена на одну команду в виртуальном адресном пространстве требуется по крайнем мере два обращения к таблице страниц (реальная ОП - команда и операнд, что уменьшает производительность системы на 2/3). На практике определено, что в большинстве программного обеспечения большее обращение имеется к небольшому количеству страниц, остальные страницы используются редко. Таким образом, в таблице страниц только малая часть записей читается интенсивно, остальная часть используется редко. В силу этого целесообразно записи таблицы страниц, к которым происходит частое обращение, и последующее преобразование выполнять аппаратно. В разных программно-аппаратных платформах эта часть аппаратуры называется по-разному (TLB Translation Look-aside Buffer, BDAT). Как правильно кол-во записей в TLB 64, значения записей в TLB полностью соответствуют записям в таблице страниц + 1 бит - признак действительности, т.е. актуально ли (действительно ли) данная запись в TLB или нет. Формирование записи в TLB рассмотрим на примере.
Номер виртуальной страницы | Бит изменения (модификации) | Правило доступа (защита) | Номер рамки в реальной ОП |
RW | |||
RX | |||
RW | |||
RW | |||
RX | |||
RX |
Оценка данных говорит о том, что виртуальные страницы с номерами 19, 20, 21 по всей видимости исполнительный код, так как бит модификации 0. 130-129 - область данных, так как бит модификации 1.
Функционирование TLB осуществляется следующим образом:
1. Когда виртуальный адрес представляется для отображения в реальной ОП, аппаратура определяет находится ли номер виртуальной страницы в TLB (поиск, сравнение).
2. Если совпадение найдено и обращение не нарушает биты защиты, адрес страничной рамки берется из TLB без перехода к таблице страниц. Если номер виртуальной страницы присутствует в TLB, но команда пытается записать данные в страницу, доступную только для чтения, формируется прерывание - ошибка защиты.
3. Если номер страницы отсутствует в TLB, осуществляется обычный поиск в таблице страниц. После нахождения записи в таблице страниц одна из записей в TLB заменяется найденной в таблице страниц. Если страница потребуется вторично, её адрес в реальной ОП будет в TLB.
4. Когда запись удаляется из TLB, бит модификации копируется в соответствующую запись таблицы страниц.
Дата публикования: 2015-06-12; Прочитано: 461 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!