- •Довгий Павел Семенович Высокопроизводительные системы
- •Оценка производительности вычислительных систем
- •Пиковая и реальная производительность вс.
- •Опирается на число команд, выполняемых компьютером в единицу премени. Единицы измерения этой оценки, как правило, является mips (million instruction per second).
- •Классическими примерами тестов фирм производителей компьютеров можно считать:
- •Принцип построения и организиции кэш-памяти.
- •Концепция кэш памяти.
- •Принципы отображения блоков оп на блоки кэш памяти.
- •Основные принципы реализации стратегии lru.
- •Стратегия замещения блоков в кэш память.
- •Обобщение понятия кэШирования.
- •Страничная организация памяти.
- •Упрощенная схема преобразования линейного адреса в физический
- •Ускорение процесса преобразования линейного адреса в физический
Страничная организация памяти.
Основные положения:
-
В отличие от сегментной организации, при которой отдельные блоки ( сегменты), имеют переменную длину, страничная организация базируется на использовании блоков (страниц) фиксированной длины; объем страницы 212 байт = 4Кбайт.
-
Как линейное, так и физическое адресное пространство разделяется на отдельные страницы, которые выравниваются на 4-хКбайтную границу. Это означает, что базовые адреса страниц, как в линейном, так и в физическом адресном пространстве должны содержать 12 младших нулей. => в связи с этим для задания базового адреса страницы достаточно использовать 20 бит (20 разрядов).
-
В линейном адресном пространстве емкостью 4Гбайта могут размещаться 220 страниц или 1 Мстаниц. Естественно физическая память не позволяет разместить такого множества страниц. Это означает, что линейное адресное пространство отображается на физическую двухуровневую память, в которой часть страниц размещается на 1 уровне (в ОП) и все страницы памяти 2-ого уровня (на жестком диске)
-
Организация виртуальной памяти на уровне страниц предполагает, во-первых, размещение тех страниц, к которым последнее время осуществляется обращение в ОП и во-вторых организация автоматического обмена страницами между уровнями памяти по требованию. Страничный обмен принято называть свопингом (swapping).
-
По аналогии с сегментным преобразованием логического адреса в линейный, страничное преобразование требует использование спец таблиц, отображающих соответствие между страницами линейного адресного пространства в страницами физического адресного пространства с учетом того, что линейное адресное пространство содержит 1Мстраниц использование одноступенчатой схемы, преобразования линейного адреса в физический, потребовала бы таблицы соответствий очень большого объема (при использовании 4-х байтных элементов, занимаемых ею объем составил 4Мбайта). В связи с этим на этапе страничного преобразования используется иерархический подход с использованием таблиц так называемый каталог таблицы страниц, на 2-м уровне (ступени) собственно таблицы страниц.
-
Совместное использование сегментации и страничной организации предполагает отображение сегментов, как некоторых программых единиц на страничную память, при этом в принципе не налагается ограничений на размещения начала сегмента внутри страницы, однако в целях сохранения издержек, связанных со страничным преобразованием, рекомендуется начальные адреса сегментов выравнивать на границу страниц.
Упрощенная схема преобразования линейного адреса в физический
В
отличие от предыдущих схем преобразования
при сегментации осуществляется не
сложение компанент, а их конкотенация
(составление, объединие) | +
|- не сумматор, а простое объединение
шин. В схеме преобразования используется
управляющий регистр CR3,
в котором содержиться физический адрес
база каталога таблиц страниц. Это
единственный регистр процессора, в
котором содержиться физический адрес.
Структура элементов каталога таблиц страниц (PDE) и собственно таблиц страниц (PTE). Эти элементы зачастую называются страничными дескрипторами.
|
BASE |
AVL |
0 |
0 |
D |
A |
PWT |
PCD |
U/S |
R/W |
P |
|
32 12 |
11 9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
P – Present – бит присутствия; этот бит является аппаратной поддержкой виртуальной организации памяти на уровне страниц. При попытке обращения к странице со сброшенным битом P происходит прерывание стандартного типа 14 (отказ/ ошибка/ неприсутствие). Обработчик этого прерывания включенный в состав так называемого супервизора страниц определяет местоположение копии и организует пересылку в основную память, возможно освобождая в ней место путем выбора страницы – кандидата на удаление.
Все биты … со сброшенным битом P являются программодоступными и как правило используются для адресации страницы в дисковом пространстве.
------25,12,03--------------------------------------------------------------------------------------------------------------
R/W – R = 0 разрешается обращение к странице только по чтению. Попытка отращения к странице со сброшенным битом пресекается средствами защиты выходом на прерывания 13.
U/S (User/Supervisor) – с помощью этого бита реализована защита по 2-м уровням привелегий, как правило уровню user соответствует PL=3 (из колец защиты); на уровне S => PL = 0, 1, 2. Попытка обращения с уровня U к S-странице (U/S = 0) = Supervisor пресекаются аппаратными средствами защиты, путем выхода на прерывание типа 13.
PCD (Page Cach Disable) – бит запрещения кэширования. Состояние бита выдается в качестве выходного сигнала и показывает является ли данная страница кэшируемой PCD = 0, или не кэшируемой PCD = 1. Бит влияет на кэшируемость страници в КЭШ памяти 2-ого уровня.
PWT – Page Write Through, по аналогии с предыдущем битом, является выходными сигналом процессора и предназначен для управлением внешней КЭШ памяти. При PWT = 1 во внешней КЭШ памяти реализуется стратегия сквозной записи; при PWT = 0 в отношении внешней КЭШ памяти реализуется стратегия обратной записи (WB).
А – Access – бит обращений; бит аналогичен биту в сегментном регистре (см выше).
D – Dirty – бит «грязности»; бит устанавливается при обращении к странице по записи.
Биты A и D используются программными средствами для определения страницы, кандидата на удаление, при удалении страницы с установленным битом D, требуется предварительная ее перезапись в внешнюю дисковую память.
AVL – AVaLable не используется аппаратными средствами и является доступными для системных программ.
