Лекции по Вычислительным машинам, системам и сетям   

3. Тридцатидвухразрядные процессоры фирмы Intel

3.8. Формат элемента PTE (PDE)

Формат элемента PTE (PDE) приведен на рис. 3.13.

31     12

11 9

8

7

6

5

4

3

2

1

0

Нач. адр.

avl

g

ps

d

a

Pcd

pwt

u/s

r/w

p

Рис. 3.13

Для обычных страниц поле «начальный адрес» в PTE задает начальный адрес страницы, а такое же поле в PDE – начальный адрес таблицы страниц. Для больших страниц начальный адрес страницы задается в PDE, а таблицы страниц и PTE для таких страниц отсутствуют.

AVL (available ‑ свободный) ‑ 3 бита системного программиста. МП с этими битами не работает и их может использовать по своему усмотрению системный программист. Обычно в этих битах накапливают некоторую статистику (число обращений к данной странице и т.д.). В дальнейшем эту статистику можно использовать при решении вопроса о том, какую страницу лучше сбросить на диск.

G (global) – глобальная страница. Бит появился в Р6. Если страница отмечена как глобальная, то при очистке буфера TLB начальный адрес такой страницы из буфера не удаляется. Так как очистка TLB обычно происходит при смене задач, получается, что глобальная страница как бы передается из задачи в задачу. Для обычных страниц бит G определен в PTE, а для больших – в PDE. Процессор обращает внимание на бит G только, если бит PGE в регистре cr4 установлен в единицу.

PS (page size) – размер страницы. Для любых страниц этот бит определен в PDE. При PS = 0 ‑ обычная страница, при PS = 1 – большая страница. Бит PS появился в Pentium. Процессор обращает на него внимание, если один из битов PSE или PAE в регистре cr4 установлен в единицу.

D (dirty) ‑ «грязный бит». МП автоматически устанав-ливает этот бит в единицу, если в данную страницу была запись. Сбрасывать этот бит МП не умеет и если это нужно сделать ‑ это задача системного программиста. Бит D проверяют, когда страница сбрасывается на диск. При этом если в страницу не было записи, ее не надо физически переписывать на диск (она там уже есть, причем точно такая же), а достаточно отметить ее как отсутствующую в ОП. Если же запись в страницу была, то ее надо переписать на диск физически. Для больших страниц бит D определен в PDE, для обычных ‑ в PTE.

A (accessed) ‑ бит обращения. Этот бит также устанав-ливает сам МП (сбрасывает системный программист), если к странице было обращение. Этот бит можно привлекать при решении задачи о том, какую страницу лучше отправить на диск.

Биты PCD (page-level cache disable) и PWT (page level write through) задают стратегию кэширования данной страницы (таблицы). Если PCD = 1, то страница запрещена к кэшированию. При PWT = 0 используется так называемая «обратная запись», а при PWT = 1 ‑ «сквозная запись». Что это такое, будет объяснено позже. Эти биты появились в МП 486.

U/S (user/supervisor) ‑ пользователь/супервизор. Если U/S = 1, то с данной страницей можно работать на любом уровне привилегий, в том числе и на 3-м (пользовательском). При U/S = 0 страница доступна только с уровней 0, 1 и 2  (уровни ОС).

R/W (read/write) ‑ чтение/запись. Если R/W = 1, то для страницы разрешены и чтение и запись. Если R/W = 0, то запись в страницу запрещена. Бит R/W имеет смысл только на уровне пользователя. На уровнях ОС страница всегда доступна для записи (это не совсем точно, начиная с МП 486 имеется возможность запретить ОС запись в страницу). Таким образом, биты U/S и R/W совместно организуют защиту на уровне страниц.

P (present) ‑ бит присутствия. Если Р = 1, то страница присутствует в ОП, при Р = 0 – отсутствует, находится на диске. В последнем случае вся остальная информация в PTE не имеет приведенного выше смысла. Обычно если Р = 0, то в остальные разряды РТЕ системный программист записывает информацию о том, где на диске искать эту страницу. Процессор этот бит только проверяет. Изменять значение этого бита – прерогатива ОС.



*****

© 2009-2017 Банк лекций siblec.ru
Лекции для преподавателей и студентов. Формальные, технические, естественные, общественные, гуманитарные, и другие науки.