2016-06-28 15 views
0

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

+0

_ «Цель TLB и Cache различна» _ - действительно, в одном случае вы используете адрес для поиска некоторых связанных данных, тогда как в другом случае вы используете адрес для поиска некоторых связанных данных. О, подождите ...;) – Notlikethat

+0

В слайде 27 есть хорошая блок-схема, объясняющая различия между кешем и TLB https://www.cs.princeton.edu/courses/archive/fall09/cos318/lectures/VMAddressTranslation.pdf – achoora

ответ

1

Это глобально такое же поведение: TLB использует виртуальный адрес и размер как тег, но вместо хранения данных сохраняйте атрибуты ассоциативной страницы (физический адрес, защита и т. Д.).

Установить ассоциативный означает, что ограниченное количество страниц может использовать один и тот же тег/атрибуты, а полная ассоциативность означает, что тег/атрибут может храниться в любом месте в кэше TLB. Это намного эффективнее, но это можно сделать только для очень маленьких кешей.