Какая адресация используется в процессорах x86/x86_64 для кэширования в L1, L2 и L3 (LLC) - физическом или виртуальном (с использованием PT/PTE и TLB) и каким-то образом PAT (таблица атрибутов страницы) влияет на него?
И есть ли разница между драйверами (пространство ядра) и приложениями (пользовательское пространство) в этом случае?
Короткий ответ - Intel использует виртуально проиндексированные, физически помеченные (VIPT) кеши L1: Что будет использоваться для обмена данными между потоками, выполняются на одном ядре с HT?
- L1 - Виртуальная адресация (в кеше
8-way
для определенияSet
требуется низкий12 bits
, который одинаковый в virt и физическом) - L2 - Физическая адресация (требуется доступ к TLB для Virt-2-Phys)
- L3 - Физическая адресация (требуется доступ к TLB для Virt-2-Phys)