Полностью ассоциативные операции и операции Set Associative TLB по сравнению с кешем

Я просматривал код MMU для процессора ARM (ARMv7). Они использовали полностью ассоциативный и набор ассоциативный TLB. Я знаю о реализации Cache с использованием этого метода. Я также читал, что TLB - это не что иное, как кэш процессора. Но я не могу соединить части, поскольку цель TLB и Cache различна. Я хотел бы знать, как набор и полная ассоциативность работают в контексте TLB.


person achoora    schedule 28.06.2016    source источник
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