
4семестр / Отв_лр_№6
.docxВопросы для самопроверки (защиты Л/р)
-
Типы адресов и адресных пространств?
Применительно к памяти различают два адресных пространства: логическое (виртуальное) или пространство логических имён, и физическое или пространство физических адресов. Основным режимом работы 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 (Translation Lookaside Buffer) для хранения интенсивно используемых строк таблиц.
В TLB запоминаются данные о недавно использованных физических страницах. В качестве поискового признака в TLB используется виртуальный адрес страницы. Если соответствующая запись найдена в TLB (попадание), то физический адрес данных вычисляется по начальному адресу страницы, полученному из ТBL, а затем выводится на шину адреса. В случае промаха блок страничной переадресации формирует физический адрес по используемому механизму и попутно заносит в ТBL нужную строку таблицы трансляции (PDЕ или PTЕ).
-
Объясните порядок формирования физического адреса страницы.
№ виртуальной страницы – старшие разряды линейного адреса (их число зависит от механизма страничной переадресации и выделено на всех схемах закрашенной областью) сравниваются со значениями памяти тегов из TLB, и, в случае совпадения, физический адрес вычисляется по информации, полученной из ТBL, а затем выводится на шину адреса. В TLB есть valid бит, который отвечает за правильность данных, содержащихся в соответствующей строке. Если строки в TLB нет (не найдено совпадение в памяти тегов) или бит valid в ней сброшен, осуществляется цикл работы БСП согласно используемому механизму страничной переадресации. Затем новое соответствие виртуальной и физической страницы (двойное слово из таблицы страниц PTE или страничного каталога PDE) заносится в TLB (см. рис.18, 19).
-
Объясните порядок работы БСП – блока страничной переадресации.
Страничное управление памятью выполняет блок страничной переадресации (БСП). Входной информацией для БСП является линейный адрес, который выбирается из SDC[64:95]. Каждый механизм страничного управления памятью использует несколько уровней таблиц трансляции линейного адреса в физический, например PD – Page Directory (каталог страниц), PT – Page Table (таблица страниц), см. рис. 16, 20, 25 и т.д. Бит Р в каждой анализируемой строке каждой таблицы должен быть равен 1.
Если на этих этапах встречается Р=0, вырабатывается исключение #PF, обработчик которого должен принять меры по загрузке затребованной страницы в оперативную память. После обработки исключения (успешной) повторяется доступ к затребованной ячейке памяти.
Обработчик исключения #PF, поддерживающий подкачку страниц по запросу, должен скопировать страницу с внешней (дисковой) памяти в оперативную, загрузить адрес страницы в строку таблицы и установить бит присутствия Р. Поскольку в буфере TLB могла оставаться старая некорректная копия строки, необходимо объявить содержимое TLB недействительным (в строке, содержащей некорректные данные бит valid=0).
После этого процесс, породивший исключение, может быть продолжен. Из каждой таблицы считывается определённая строка, при этом её бит А устанавливается в 1, что означает, что по этому адресу был произведён доступ к памяти (см. табл.6). Если же по адресу памяти, в формировании которого участвовала данная строка таблицы, была произведена запись, то её бит D устанавливается в 1. Далее процессор вычисляет физический адрес таблицы следующего уровня и производит обращение по этому адресу.
-
Какие типы TLB используются, их сравнительная характеристика.
TLB с полностью ассоциативным распределением строк.
При полностью ассоциативном распределении допускается размещение каждой строки основной памяти на месте любой строки кэш-памяти. Каждое слово памяти данных представляет собой строку таблицы трансляции (PDЕ или PTЕ).
TLB с наборно-ассоциативным распределением строк
При таком типе распределения ПД логически делится на множества, которые состоят из равного числа строк. Строка как элемент множества иногда называется «каналом», таким образом, одни из самых распространенных 2-канальный и 4-канальный TLB имеют деление ПД на 2-х или 4-х элементные множества.