- •Производительность компьютера зависит от быстродействия и ёмкости памяти.
- •Параллельность работы. Идея
- •Инициаторами выборки могут быть контроллер или программа.
- •Попадание (hit) или промах (miss).
- •Технология взаимодействия уровней памяти
- •Для того чтобы имелась возможность установить, какие именно фрагменты нижней
- •Алгоритм Least Recently Used (LRU)
- •Алгоритм Least Frequently Used
- •Система управления памятью
- •Способы распределения памяти
- •2.При динамическом распределении оперативной памяти - выделяется необходимый объем памяти по запросу с
- •Виртуальная память
- •Управление памятью объединяет три задачи ( все эти проблемы решает виртуальная память):
- •Виртуальная память
- •Диск
- •Диск устроен так, что переслать меньше, чем один сектор невозможно.
- •Указания центрального процессора:
- ••Свойство локальности ссылок делает эффективным использование 2-х приёмов, позволяющих сократить время доступа к
- •Расслоение данных – ещё один приём повышения эффективности
- •Расслоение памяти
- •Два варианта расслоения памяти
- •Графическое представление ВП
- •Графическое представление ВП
- •Способы управления виртуальной памятью
- •Страничный способ управления памятью
- •Страничное распределение
- ••Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы
- •Блок управления памятью или
- ••Блок управления памятью проверяет по таблице страниц, находится ли нужная страница в памяти.
- •Анализ страничной организации
- •Буфер быстрого преобразования адреса
- •Формат содержимого строки TLB (пример)
- •Формат адреса в Itanium®2
- •Страничный способ управления памятью
- •Страничный способ управления памятью
- •Два варианта реализации таблицы страниц
- •Механизм преобразования виртуального адреса в физический в x86
- •Translation Lookaside Buffer
- •Механизм преобразования виртуального адреса в физический в Itanium
- •Сегментный способ управления памятью
- •Сегментно-страничный способ управления памятью
- •Виртуаальная п мятьаа (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для
- •Кэш - память
- •Организация КЭШ-памяти с прямым отображением
- ••Если каждый блок основной памяти имеет только одно фиксированное место, на котором он
- •• Кэш-память с
- •Чтение из кэша
- •Запись в кэш
- •Организация КЭШ-памяти с полностью ассоциативным отображением
- •1. http://www.rus- lib.ru/book/28/prog/10/162-
- •18. Лекция: Виртуальная память
Страничное распределение
•Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами. В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью. Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками). Размер страницы обычно выбирается равным степени двойки: 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
Страничный способ управления памятью
