Как я могу найти значение смещения виртуальной страницы, значение номера виртуальной страницы и другие? - PullRequest
0 голосов
/ 07 февраля 2019

У меня проблемы с пониманием процесса поиска смещения виртуальной страницы, значения смещения физической страницы и номера виртуальной страницы

Я пытался просмотреть различные места, но я не могу найти примеры или формулы длянайти следующие параметры.Ниже приведен пример проблемы, но я упустил виртуальный адрес из реальной проблемы.

Имеется система виртуальной памяти со следующей спецификацией:

  • Память адресуется в байтах.
  • Каждый доступ к памяти осуществляется по однобайтовому слову.
  • Каждый виртуальный адрес имеет ширину 16 бит.
  • Каждый физический адрес имеет ширину 12 бит.
  • Размер страницы составляет 32 байта (25)
  • TLB является четырехсторонним набором ассоциативных с 16 полными записями.
  • Кэш данных L1 имеет физический адрес и прямое отображение с размером строки 4 байта и 16 полными наборами.

Если процессор выдает следующий виртуальный адрес: (некоторое шестнадцатеричное число)

  1. Что такое смещение виртуальной страницы?
  2. Какое значение имеетсмещение физической страницы?
  3. Какое значение тега TLB?
  4. Какое значение имеет индекс TLB?
  5. Каково значение номера виртуальной страницы?(Ответы в двоичном формате)

После преобразования шестнадцатеричного числа в двоичное я теряюсь.Как я могу найти смещение виртуальной страницы?В чем разница между смещением виртуальной страницы и физической страницей, и как мне найти значение физической страницы?

Я думаю, что тег TLB - это оставшиеся цифры после VPO и PPO, но мне нужнознать, как получить ВПО и ППО в первую очередь.Я не уверен, что индекс TLB.VPN является комбинацией некоторых из этих ответов, но я не уверен, какой.

Что произойдет, если ассоциативность набора будет изменена на 2-стороннюю TLB?это меняет способ, которым я нахожу эти значения?

Наконец, если мне дали двухсторонний набор ассоциативных TLB и таблицу страниц с той же информацией выше, как я могу определить, есть ли ошибка страницы илине?Из того, что я понимаю, если есть TLB, нет ошибки страницы, но если нет, как я могу это определить?Он также говорит о физическом адресе, как происходит его поиск?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Что такое смещение виртуальной страницы?
Каково значение физического смещения страницы?

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 указывается адрес соответствующего физического кадра.В реальных системах это более сложно и обычно включает несколько каскадных таблиц.

0 голосов
/ 07 февраля 2019

Что такое смещение виртуальной страницы?

Адрес MOD Размер страницы

Какое значение имеет физическое смещение страницы?

Адрес / Размер страницы

Какое значение тега TLB?

Неизвестно из того, что вы дали.

Каково значение индекса TLB?

Неизвестно из того, что вы дали.

Каково значение номера виртуальной страницы?(Ответы в двоичном формате)

Адрес / Размер страницы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...