- •ОБразования российской федерации
- •Цель работы
- •Теоретическая часть
- •Типы адресов
- •Механизмы страничной переадресации
- •Базовый механизм страничной переадресации
- •Режимы psEиPse-36
- •РежимPae
- •Буфер ассоциативной трансляции тlb
- •TlBс полностью ассоциативным распределением строк.
- •TlBс наборно-ассоциативным распределением строк
- •Порядок выполнения работы
- •Вопросы для самопроверки (защиты л/р)
- •TlBс полностью ассоциативным распределением строк.
- •TlBс наборно-ассоциативным распределением строк
- •Список литературы
Порядок выполнения работы
Для вашего варианта задания на курсовую работу, полученного у преподавателя, разработать алгоритм № 4 вычисления линейного адреса данных (или команды, или вершины стека) и №5 вычисления физического адреса ячейки ОП. При этом следует переделать рис.18 или 19 (в зависимости от № варианта) и вместо ВВ указать реальное число для используемого при расчетах механизма страничной переадресации.
Вопросы для самопроверки (защиты л/р)
Типы адресов и адресных пространств?
Применительно к памяти различают два адресных пространства: логическое (виртуальное) или пространство логических имён, и физическое или пространство физических адресов. Основным режимом работы 32-разрядных процессоров считается защищенный режим, в котором работают все механизмы преобразования адресных пространств (см. рис.1).

Рис. 1. Преобразования адресных пространств
Логический адрескоманды или данных определяет сегмент, где они находятся и их местоположение внутри сегмента
Исполнительный адрес данных (он же эффективный, он же относительный, он же действительный) определяет положение данных внутри сегмента и формируется различными способами.
Линейный адресобразуется сложением базового адреса сегмента с исполнительным адресом.
Физический адреспамяти содержит точный адрес ячейки ОП, в которой находятся искомые данные (или команда) и формируется в защищённом режиме блоком страничной переадресации.
В чём состоит назначение механизмов страничной переадресации?
Страничное управление памятью является средством организаций виртуальной памяти с механизмом подкачки отсутствующих в ОП страниц с внешней памяти. Страничная организация оперирует с памятью как с набором страниц одинакового размера.
В момент обращения страница может присутствовать в физической оперативной памяти, а может быть выгруженной во внешнюю (дисковую) память. При обращении к выгруженной странице задачи:
процессор вырабатывает исключение #PF- отказ страницы,
линейный адрес, по которому был получен последний отказ страницы, заносится в системный регистр CR2,
программный обработчик исключения (часть ОС) получает необходимую информацию для подкачки отсутствующей страницы с диска.
Что такое таблицы трансляции и зачем они нужны?
Каждый механизм страничного управления памятью использует несколько уровней таблиц трансляции линейного адреса в физический.
Какие существуют таблицы трансляции?
Таблица 2. Назначение разрядов строк PDE каталога страниц и PTE таблицы страниц
|
Бит |
Действие |
|
P |
Бит присутствия вхождений в таблицы. Р=1 означает возможность использования данной строки таблицы для окончательной трансляции адреса страницы (страница присутствует в ОП). Р=0 означает, что данная строка таблицы может использоваться для получения информации о таблице трансляции следующего уровня. |
|
A |
Признак доступа, устанавливается перед любым чтением или записью по адресу, в преобразовании которого участвует данная строка таблицы. |
|
D |
Признак «грязной» страницы, устанавливается перед операцией записи по адресу, в преобразовании которого участвует данная строка. Таким образом помечается использованная страница, которую в случае замещения необходимо выгрузить на диск. |
|
PS |
Задает размер страницы (только в PDE). При PS=0 страница имеет размер 4 Кбайт, PS=1 используется в расширениях РАЕ и PSE |
Перечислите виды механизмов страничной переадресации и их отличия?
Таблица 1. Режимы страничной переадресации
|
CR0.PG |
CR4.PAE |
CR4.PSE |
PDE.PS |
Размер страницы |
Разрядность физического адреса, бит |
Механизм страничной переадресации |
|
0 |
X |
Х |
Х |
Линейный адрес равен физическому |
32 |
Трансляция не осуществляется |
|
1 |
0 |
0 |
X |
4Кб |
32 |
базовый |
|
1 |
0 |
1 |
0 |
4Мб |
32 |
PSE |
|
1 |
0 |
1 |
1 |
4Мб |
36 |
PSE-36 |
|
1 |
1 |
X |
0 |
4Кб |
36 |
PAE |
|
1 |
1 |
X |
1 |
2Мб |
36 |
PAE |
Поясните назначение буфера ассоциативной трансляции TLB и принципа его работы?
При каждой операции доступа к памяти с использованием механизмов страничной переадресации приходится обращаться к двум или даже более таблицам (PD– каталогу страниц,PT– таблице страниц и т.д.), расположенным в медленной оперативной памяти, что существенно снижает быстродействие. Для предотвращения этого замедления в процессор введенбуфер ассоциативной трансляцииТLB(TranslationLookasideBuffer) для хранения интенсивно используемых строк таблиц.
В TLBзапоминаются данные о недавно использованных физических страницах. В качестве поискового признака вTLBиспользуется виртуальный адрес страницы. Если соответствующая запись найдена вTLB(попадание), то физический адрес данных вычисляется по начальному адресу страницы, полученному из ТBL, а затем выводится на шину адреса. В случае промаха блок страничной переадресации формирует физический адрес по используемому механизму и попутно заносит в ТBLнужную строку таблицы трансляции (PDЕ илиPTЕ).
Объясните порядок формирования физического адреса страницы.
№ виртуальной страницы – старшие разряды линейного адреса (их число зависит от механизма страничной переадресации и выделено на всех схемах закрашенной областью) сравниваются со значениями памяти тегов из TLB, и, в случае совпадения, физический адрес вычисляется по информации, полученной из ТBL, а затем выводится на шину адреса. ВTLBестьvalidбит, который отвечает за правильность данных, содержащихся в соответствующей строке. Если строки вTLBнет (не найдено совпадение в памяти тегов) или битvalidв ней сброшен, осуществляется цикл работы БСП согласно используемому механизму страничной переадресации. Затем новое соответствие виртуальной и физической страницы (двойное слово из таблицы страницPTEили страничного каталогаPDE) заносится вTLB(см. рис.18, 19).
Объясните порядок работы БСП – блока страничной переадресации.
Страничное управление памятью выполняет блок страничной переадресации (БСП). Входной информацией для БСП является линейный адрес, который выбирается из SDC[64:95]. Каждый механизм страничного управления памятью использует несколько уровней таблиц трансляции линейного адреса в физический, напримерPD–PageDirectory(каталог страниц),PT–PageTable(таблица страниц), см.рис. 16, 20, 25 и т.д. Бит Р в каждой анализируемой строке каждой таблицы должен быть равен 1.
Если на этих этапах встречается Р=0, вырабатывается исключение #PF, обработчик которого должен принять меры по загрузке затребованной страницы в оперативную память. После обработки исключения (успешной) повторяется доступ к затребованной ячейке памяти.
Обработчик исключения #PF, поддерживающий подкачку страниц по запросу, должен скопировать страницу с внешней (дисковой) памяти в оперативную, загрузить адрес страницы в строку таблицы и установить бит присутствия Р. Поскольку в буфере TLB могла оставаться старая некорректная копия строки, необходимо объявить содержимое TLB недействительным (в строке, содержащей некорректные данные битvalid=0).
После этого процесс, породивший исключение, может быть продолжен. Из каждой таблицы считывается определённая строка, при этом её бит А устанавливается в 1, что означает, что по этому адресу был произведён доступ к памяти (см. табл.6). Если же по адресу памяти, в формировании которого участвовала данная строка таблицы, была произведена запись, то её бит Dустанавливается в 1. Далее процессор вычисляет физический адрес таблицы следующего уровня и производит обращение по этому адресу.
Какие типы TLB используются, их сравнительная характеристика.
