Я просматривал код MMU для процессора ARM (ARMv7). Они использовали полностью ассоциативный и набор ассоциативный TLB. Я знаю о реализации Cache с использованием этого метода. Я также читал, что TLB - это не что иное, как кэш процессора. Но я не могу соединить части, поскольку цель TLB и Cache различна. Я хотел бы знать, как набор и полная ассоциативность работают в контексте TLB.
Полностью ассоциативные операции и операции Set Associative TLB по сравнению с кешем
comment
назначение TLB и кэша различно - действительно, в одном случае вы используете адрес для поиска некоторых связанных данных, тогда как в другом случае вы используете адрес для поиска некоторых связанных данных. Эх, подожди... ;)
- person Notlikethat   schedule 28.06.2016
comment
На слайде 27 есть красивая блок-схема, объясняющая различия между кешем и TLB cs.princeton.edu/courses/archive/fall09/cos318/lectures/
- person achoora   schedule 28.10.2016
Ответы (1)
Это глобально то же самое поведение: TLB использует виртуальный адрес и размер в качестве тега, но вместо хранения данных сохраняет атрибуты ассоциативной страницы (физический адрес, защита и т. д.).
Установка ассоциативности просто означает, что ограниченное количество страниц может использовать один и тот же тег/атрибут, в то время как полная ассоциация означает, что тег/атрибут может храниться в любом месте кэша TLB. Это намного эффективнее, но это можно сделать только для очень маленьких кешей.
person
Dric512
schedule
28.06.2016