ДС18в14-виртуальная-память-Концепция (1238915), страница 2
Текст из файла (страница 2)
стр.ЦП1ВиртуальныйадресPTEУУП(MMU)3Физическийадрес4Кеш/ПамятьДанные5Попадание TLB - нет дополнительного обращения в память34Промах TLBКристалл ЦПTLB2Номервирт. стр.ЦП1ВиртуальныйадресУУП(MMU)4PTE3Адрес PTEФизическийадресКэш/память5Данные6Промах TLB влечёт дополнительное обращение в память за PTEК счастью, промахи TLB редки. Почему?35Многоуровневые таблицы страниц¢Таблицыуровня 2Предположим:§ 4KB (212) размер страницы, 48-битное адресноепространство, 8-байтные PTE¢Проблема:§ Необходима таблица размером 512 ГБ!§248 * 2-12 * 23 = 239 байтТиповое решение:...¢Таблицауровня 1§ Многоуровневые таблицы страниц§ Пример: 2-уровневая таблица страниц§§...Таблица уровня 1: каждый PTE указывает на таблицустраниц (всегда в памяти)Таблица уровня 2: каждый PTE указывает на страницу(подкачанную или откачанную как любые иные данные)36Двухуровневая иерархия таблиц страницТаблица страницуровня 1Таблицы страницуровня 2ВиртуальнаяпамятьВС 0PTE 0PTE 0PTE 1...PTE 2 (null)PTE 1023...ВС 1023ВС 1024ВС 2047PTE 4 (null)PTE 0PTE 5 (null)...PTE 6 (null)PTE 1023ПустоеPTE 7 (null)(1K - 9)null PTEs2K страниц ВП занятыхпод код и данные...PTE 3 (null)PTE 806K незанятыхстраниц ВП1023 nullPTEsPTE 10231023незанятыхстраницВС 9215...32-битные адреса, 4KБ страницы, 4-байтные PTEs1023 незанятых страниц1 страница ВП занятаяпод стек37Трансляция с k-уровневой таблицей страницБазовый регистртаблицы страниц(PTBR)ВИРТУАЛЬНЫЙ АДРЕСn-1VPN 1VPN 2Уровень 1таблицыУровень 2таблицы......VPN k...p-1VPO0p-1PPO0Уровень kтаблицыPPNm-1PPNФИЗИЧЕСКИЙ АДРЕС38Сводка¢С точки зрения программиста, виртуальная память…§ даёт каждому процессу собственное линейное адресное пространство§ не может быть повреждена другим процессом¢С точки зрения системы, виртуальная память…§ использует DRAM для кеширования виртуальных страницэффективно только благодаря локальности§ упрощает управление памятью и программирование§ упрощает защиту памяти обеспечивая удобную контрольную точкупроверки разрешений§39.