Запись страничной таблицы

Запись страничной таблицы

Каждая PTE занимает 16 байтов, как показано на рисунке 8.6. Первое поле каждой записи состоит из 57 разрядов и называется сокращенным номером виртуальной таблицы AVPN (abbreviated virtual page number). Внимательные читатели помнят по рисунку 8.4, что полный VPN содержит только 52 разряда. Как же сокращенная форма может быть длиннее? Дело в том, что архитектура PowerPC разработана для поддержки виртуальных адресов длиной до 80 разрядов. Для 80-разрядного виртуального адреса VPN должен состоять из 68 разрядов, так что 57 разрядов — это действительно сокращенная форма. AVPN может использоваться вместо полного VPN, так как, по крайней мере, 11 младших разрядов VPN применяются хеш-функцией и их повторения не требуется. Вспомните пример с магазином: Sears не был обязан включать последние две цифры номера телефона клиента в форму заказа, так как эти цифры используются хеш-функцией и их не нужно заново проверять при поиске. AVPN для 64-разрядного виртуального адреса в AS/400 составляет лишь 41 разряд, а его старшие 16 разрядов установлены в 0.

Рисунок 8.6. Формат записи страничной таблицы

Все PTE в PTEG последовательно просматриваются для сравнения VPN с виртуальным адресом. Если в одной из PTE обнаружен нужный AVPN и разряд действительности установлен (V=1), то 40-разрядный RPN из этой записи передается аппаратуре адресации памяти, где к нему присоединяется 12-разрядное смещение для получения реального адреса.

Другие биты PTE предоставляют дополнительную информацию о странице. Биты SW зарезервированы для использования компонентом управления памятью SLIC. Бит H определяет, находится ли данная запись в первичной или во вторичной страничной таблице страниц, которые используют несколько различающиеся хеш-функции. Бит TS задает, содержит ли данная страница указатели и, таким образом, имеет некоторые биты тега равными 1. Бит AC, если он включен, приводит в действие механизм сравнения адреса, который позволяет обнаруживать загрузки и сохранения в блок памяти. Аппаратура устанавливает биты R и C в 1 всякий раз при обращении к данной странице (бит R) или при ее изменении (бит C). Оставшиеся биты имеют отношение к режимам доступа и защите страницы (мы рассмотрим их несколько позже).

Следует несколько задержаться на битах R и С. Управление памятью использует их значения для определения страницы, которую следует удалить из памяти, когда возникает страничная ошибка и в память необходимо считать новую страницу. Управление памятью также использует эти разряды: всякий раз, когда другой компонент SLIC или транслированная программа MI запрашивает операции переноса, очистки или сброса.

Для ускорения поиска кандидата на замещение, управление памятью поддерживает «список поиска» всех страничных фреймов, которые могут быть замещены. При страничной ошибке (или при выполнении операций переноса и очистки) управление памятью вначале ищет в этом списке страничный фрейм, для которого оба бита R и С равны 0. Данная комбинация означает, что в недавнем прошлом страница не использовалась и не была изменена — значит, это лучший кандидат на замещение. После замещения страницы все биты R устанавливаются в значение 0. Таким образом, биты R позволяют определить, к каким страницам происходило обращение после последнего замещения страницы. Для тех страниц, которые не использовались недавно, значения R равны 0.

Если алгоритм замещения страницы в процессе просмотра списка поиска обнаруживает страничный фрейм, который был изменен, но давно не использовался (R=0, C=1), то такой фрейм помещается в «список изменений». Когда в этом списке набирается достаточное число страниц, запускаются одна или несколько задач откачки страниц. Страницы записываются на диск и возвращаются в список поиска (с С равным 0), где становятся кандидатами на замещение, если будут снова востребованы. Откачка страниц предотвращает заполнение памяти измененными страницами, к которым давно не было обращений.

Ясно, что поиск по таблице страниц занимает много времени — настолько много, что выполнять его при каждом обращении к памяти слишком накладно. По счастью, если страница недавно была востребована, велика вероятность, что в ближайшем будущем обращение к ней последует снова. Этот принцип лежит в основе использования справочных буферов: если Вы хотите снова использовать данную запись таблицы страниц, храните ее в регистре, чтобы обращение к ней происходило быстро. Для высокой производительности аппаратно поддерживается справочный буфер трансляции (TLB), содержащий PTE, использованные недавно. Поиск в TLB выполняется перед поиском в таблице страниц. Время поиска в TLB очень мало по сравнению с временем поиска в таблице страниц. Обычно, размер TLB достаточно велик, с расчетом, чтобы не менее 95 процентов трансляций выполнялось без необходимости обращения к таблице страниц.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

18.3. Чтение и запись

Из книги автора

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


19.2. Чтение и запись

Из книги автора

19.2. Чтение и запись Все сообщения в сокете управления ключами должны иметь одинаковые заголовки, соответствующие листингу 19.1[1]. Сообщение может сопровождаться различными расширениями в зависимости от наличия дополнительной информации или необходимости ее


6.16.5 Запись пути

Из книги автора

6.16.5 Запись пути Поле записи пути (Record Route) содержит список IP-адресов маршрутизаторов, пройденных датаграммой. Каждый встретившийся по пути следования маршрутизатор пытается добавить свой выходной адрес в такой список.Но длина списка задается отправителем, и, возможно,


5.4. Запись CD/DVD в Linux

Из книги автора

5.4. Запись CD/DVD в Linux 5.4.1. Что нужно для прожига диска Для успешной записи (прожига) дисков необходимы три компонента:• "железо", т.е, привод СD/DVD, поддерживающий запись;• чистые лиски (их называют "болванками") подходящего для вашего привода типа;• соответствующее


Запись на техосмотр

Из книги автора

Запись на техосмотр Наконец-то правительство пошло автолюбителям навстречу, и с 1 декабря 2011 года автомобилистам-москвичам можно записаться на техосмотр по Интернету на сайте Московской городской службы технического контроля: http://www.mgstk.ru/. Для этого достаточно зайти на


Запись

Из книги автора

Запись Вставьте чистый компакт-диск для однократной или многократной записи в привод компакт-дисков. Щелкните мышью на кнопке Запись, расположенной на панели задач проигрывателя (рис. 3.23). Для записи компакт-диска можно составить свой список, а можно воспользоваться


Б.1.3. Запись данных

Из книги автора

Б.1.3. Запись данных Для записи данных в файл предназначена функция write(). Она принимает дескриптор файла, указатель на буфер данных и число записываемых байтов. Файл должен быть открыт для записи. Функция write() работает не только с текстовыми данными, но и с произвольными


12.4. Запись CD/DVD из консоли

Из книги автора

12.4. Запись CD/DVD из консоли Научиться использовать программы Brasero и Nautilus вы смогли бы и без моих наставлений. Так что же, место, занимаемое в книге этой главой, потрачено впустую? Нет, поскольку сейчас мы рассмотрим программы, предназначенные для записи CD/DVD-дисков из консоли.


Запись звука

Из книги автора

Запись звука Advanced Sound Recorder Сайт: http://www.soundrecorder.netСтатус: SharewareЦена: $30…Спрашивается – на кой нам ляд отдельная программа для захвата звука? Ведь и Audition сам по этой части не лыком шит, да и в windows есть для этого стандартная программа? Не торопитесь. Безусловно, если вы захотите


3. Запись Синтаксиса

Из книги автора

3. Запись Синтаксиса По используемым в данном руководстве синтаксическим првилам записи синтаксические категории выделяются курсивом а литеральные слова и символы шрифтом постоянной ширины. Алтернативные категории записываются на разных строках. Необзательный


Запись дисков

Из книги автора

Запись дисков Увеличение объемов накопляемой и сохраняемой информации неизбежно приводит к истощению ее основных носителей. Благодаря наличию пишущего привода, одноразовым и многоразовым носителям для записи информации обычной и повышенной емкости (от 650 Мбайт до 8,5


Запись музыки

Из книги автора

Запись музыки Музыкальные диски бывают, как правило, трех форматов:AudioCD — в качестве носителя данных выступает CD-диск. На диск можно записать до 80 минут аудиоинформации. Учитывая, что на AudioCD поместится около 20 песен (всего!), то предпочтительнее записывать на диск


Запись видео

Из книги автора

Запись видео Как и в случае с музыкой, есть три формата видеодисков:VideoCD — самый древний формат, записывается на обычных CD-дисках. Обычный фильм помещается на двух VCD-дисках, что не очень удобно. Потребность в данном формате отпала — все современные видеопроигрыватели


1.9. Запись ISO-образов

Из книги автора

1.9. Запись ISO-образов Ранее Windows умела записывать только файлы на CD/DVD. Сейчас Windows 7 умеет записывать ISO-образы на болванки, причем поддерживается запись даже на диски Blu-Ray