Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации / Память.ppt
Скачиваний:
45
Добавлен:
11.04.2015
Размер:
4.75 Mб
Скачать

Страничное распределение

Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами. В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью. Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками). Размер страницы обычно выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов. При загрузке процесса часть его виртуальных страниц помещается в оперативную память, а остальные - на диск. Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах. При загрузке операционная система создает для каждого процесса информационную структуру - таблицу страниц, в которой устанавливается соответствие между номерами виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск. Кроме того, в таблице страниц содержится управляющая информация, такая как признак модификации страницы, признак невыгружаемости (выгрузка некоторых страниц может быть запрещена), признак обращения к странице (используется для подсчета числа обращений за определенный период времени) и другие данные, формируемые и используемые механизмом виртуальной памяти.

Блок управления памятью или

устройство управления памятью

(англ. memory management unit, MMU) — компонент аппаратного обеспечения компьютера, отвечающий за управление

доступом к памяти, запрашиваемым

центральным процессором. Его функции заключаются в трансляции адресов виртуальной памяти в адреса физической памяти (то есть управление виртуальной

памятью), защите памяти, управлении кеш -памятью, арбитражем шины и, в более

простых компьютерных архитектурах (особенно 8-битных), переключением блоков памяти.

Блок управления памятью проверяет по таблице страниц, находится ли нужная страница в памяти. Да – преобразует виртуальный адрес в физический, нет - управление к ОС для поиска возможностей для записи.

Анализ страничной организации

Таблица страниц занимает много места. Как уменьшить?

1.Столбец с адресами страниц во вторичной памяти из ТС переносится на диск. Карта диска используется только при страничном промахе.

2.Увеличивается размер страниц.

3.Многоуровневая организация таблиц.

Буфер быстрого преобразования адреса

Для снижения затрат (дважды обращаться к памяти) в процессор вводится буфер быстрого

преобразования адреса TLB (Translation Look-aside Buffer. Это запоминающее устройство состоит из строк (8-900). Строки из полей: номер вирт.страницы, номер физ.страницы и поля признаков.

Формат содержимого строки TLB (пример)

63

44 43

38 37

32

31

12

11

10

9

8

7

0

VPN

 

PID

 

 

0

 

PFN

N

D

V

G

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

6

 

 

6

 

20

1

1

1

1

 

8

VPN – 20-битный номер виртуальной страницы, отображаемой с помощью данной строки;

PFN – 20-битный номер физической страницы, к которой производится обращение с помощью данной строки;

PID – 6-битное поле идентификатора процесса,

N – бит запрещения кэширования: при установке значения N=1 выборка содержимого данной страницы производится из ОЗУ без обращения к кэш-памяти;

D – бит разрешения записи на данную страницу памяти: при установке значения D=0 попытка записи на страницу вызовет исключение типа Mod (см. раздел 1.6)

V – бит достоверности: при установке значения V=1 данная строка используется для трансляции адреса, при значении V=0 обращение к данной строке вызовет исключение TLBL или TLBS (см. раздел 1.6);

G – бит глобальности: при установке значения G=1 обращение к данной странице производится без учета значения идентификатора PID.

Поле идентификатора PID позволяет различным процессам, реализуемым под управлением многозадачной ОС, совместно использовать TLB. При этом различные процессы могут использовать виртуальные страницы с одинаковыми номерами, которые при трансляции будут отображаться в разные физические страницы. Обращение к глобальным страницам, для которых установлено значение бита G=1, производится при любых значениях идентификатора PID.

Формат адреса в Itanium®2

64-адресное ВП с 16-ю страницами

Объем страницы -- 260 bytes (1024 Pbytes)

Адрес – номер страницы (virtual page number) + смещение (page offset)

0x40000000000003f8 номер адреса,

4 – номер виртуальной страницы, 0x3f8 – смещение

0x40000000000003f8 4 0x3f8

Страничный способ управления памятью

Страничный способ управления памятью