реклама на сайте
подробности

 
 
> Как работает TLB с разными размерами страниц?
ataradov
сообщение Feb 26 2013, 06:24
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Не нашел более подходящего под-форума, тут есть шанс, что кто-то знает sm.gif

Рассмотрм работу MMU в 32-х разрядной системе. Допустим размер страницы 1кБ (10 бит). Пусть TLB содержит 64 записи (6 бит).

Тогда таблица TLB будет иметь 64 записи следующего вида: | Tag (16) | PhysAddr (22) |

Для преобразования VA -> PA разбиваем VA: | Tag (16) | Index (6) | Offset (10) |. По индексу находим запись в TLB и сравниваем тэги, если совпало, то формируем PA как | PhysAddr (22) | Offset (10) |.

До сюда все понятно. Но многие архитектуры выделяют несколько разных размеров страниц. Для примера сделаем "большую" страницу 2 кб (11 бит). Тогда для сохранения логики TLB нужно оставить прежним, а новые страницы будут занимать 2 записи с почти одинаковым физическим адресом.

Похоже на бред, так как от таких страниц ничего не выигрывается. Что я упускаю? Как транслировать более грубые страницы без значительного усложнения логики TLB?

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 12:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01341 секунд с 7
ELECTRONIX ©2004-2016