Что такое смещение виртуальной страницы?
Каково значение физического смещения страницы?
VPO - это адреса байта на странице.Что касается физических страниц, их обычно называют фреймами, но определение смещения идентично.
VPO = VAdr % PageSize
Какое значение имеет тег TLB?
Какое значение имеетИндекс TLB?
Индекс TLB отображает VAdr в набор TLB.
Number-of-sets = number-of-TLB-entries / number-of-ways
и ìndex-size =log_2(number-of-sets)
Тег TLB - это оставшиеся биты MS в виртуальном адресе
Каково значение номера виртуальной страницы?
Virtual-page-number = virtual-adresse / page-size
Если адрес указан в двоичном форматеabdefghijklmnopq
его интерпретация как (TLBTag,TLBidx,VPO)
равна (abdefghij,kl,mnopq)
, а адрес виртуальной страницы - abdefghijkl
.
Что произойдет, если ассоциативность набора будет изменена на 2-стороннюю TLB?это меняет способ нахождения этих значений?
Если количество записей не изменяется, это делит количество наборов на 2 и добавляет один бит к TLBIdx
(и удаляет один из TLBTag
).
Наконец, если мне дали двухсторонний ассоциативный TLB и таблицу страниц с такой же информацией выше, как я могу определить, есть ли ошибка страницы или нет?Из того, что я понимаю, если есть TLB, нет ошибки страницы, но если нет, как я могу это определить?
При попадании в TLB ошибка страницы отсутствует.В случае пропуска TLB адрес страницы должен быть сгенерирован путем просмотра таблиц страниц процесса.В этих таблицах указывается соответствие между адресами виртуальных и логических страниц и тем, находится ли страница в памяти или перенесена на диск.Если страница перенесена на диск, это ошибка страницы .Это создает исключение, и ОС вынуждена записывать страницу обратно в память.
Он также говорит о физическом адресе, как происходит его поиск?
Для простых ситуаций, подобных вашей, это может быть просто поиск по таблице.Адрес страницы имеет ширину 11 бит, а в таблице записей 2048 указывается адрес соответствующего физического кадра.В реальных системах это более сложно и обычно включает несколько каскадных таблиц.