Я начал с Patterson & Книга Hennessy с базовыми определениями, а затем последовала за справочными документами по программированию Intel для получения дополнительной информации о TLB.Структура TLB в Intel
Из документов Intel я узнал о высоком уровне дизайна TLB. такие как размер строки, ассоциативность и уровни кэширования. Но в этом нуждается подробное объяснение того, как кэширование TLB работает в отношении промахов кэша и механизмов его замены в современном процессоре. Какие страницы перемещаются
в L2 TLB от L1 TLB? сколько страниц может содержать одну запись в адресе TLB? Сколько записей присутствует в TLB? (В частности, DTLB)
Любая информация или ссылки будут очень полезны для меня. (Если это не подходящий форум для этого вопроса, пожалуйста, предложите правильный вариант)
Спасибо.
Возможно, вам понравится https://lwn.net/Articles/379748/, даже если он не отвечает на все поставленные вами вопросы. – Jeff
TLB не имеет «строк», у него есть записи. Одна запись отображает одну виртуальную страницу на одну физическую страницу. Пропуски TLB отделяются от пропусков кэша L1. (Нет очевидной причины, по которой было бы невозможно, чтобы линия все еще была горячей в кеше L1 D, даже если перевод для этой строки был выведен из TLB.) –
Запись Дэвида Кантера «Хасуэлл» [упоминает TLB] (http: //www.realworldtech.com/haswell-cpu/5/), но не входит в политику замены записей TLB. Я думаю, что L2 DTLB (8-way ассоциативный) является кэшем жертвы для записей, выведенных из L1 DTLB. В своем рецензировании SnB он сказал, что L1 DTLB был полностью ассоциативным, но теперь он говорит о 4-way? Записи перемещаются из L2 DTLB в L1 DTLB, когда есть миссия L1 DTLB, и она присутствует в L2 DTLB. Некоторые из ссылок на [x86 tag wiki] (http://stackoverflow.com/tags/x86/info) могут быть полезны, но проблема. только запись Хасуэлла Дэвида Кантера. –