Включено или эксклюзивно? Кэш L1, L2 в процессоре Intel Core IvyBridge

У меня процессор Intel Core IvyBridge, процессор Intel® Core i7-3770 с тактовой частотой 3,40 ГГц (L1–32 КБ, L2–256 КБ, L3–8 МБ). Я знаю, что L3 является инклюзивным и распространенным среди нескольких ядер. Я хочу знать следующее относительно моей системы

ЧАСТЬ 1:

L1 включительно или эксклюзивно?L2 включительно или эксклюзивно?

ЧАСТЬ 2 :

Если L1 и L2 оба включительно, то для определения времени доступа к L2 мы сначала объявляем массив (1 МБ) размером больше, чем кэш L2 (256 КБ), а затем начинаем обращаться ко всему массиву для загрузки в кэш L2. После этого мы получаем доступ к элементу массива от начального индекса до конечного индекса с шагом 64B, поскольку размер строки кэша равен 64B. Чтобы получить более точный результат, мы повторяем этот процесс (обращаясь к элементам массива в index, start-end) несколько раз, скажем, 1 миллион раз и берём среднее.

Я понимаю, почему этот подход дает правильный результат следующим образом. Когда мы получаем доступ к массиву размером больше, чем размер кэша L2, весь массив загружается из основной памяти в L3, затем из L3 в L2, затем из L2 в L1. Последние 32 КБ всего массива находятся в L1, поскольку к нему недавно обращались. Весь массив также присутствует в кеше L2 и L3 также благодаря инклюзивному свойству и когерентности кэша. Теперь, когда я снова начинаю обращаться к массиву из начального индекса, которыйне в кеше L1, но в кеше L2, поэтому произойдет пропуск кеша, и он будет загружен из кеша L2. Таким образом, для всех элементов всего массива будет требоваться большее время доступа, и в итоге я получу общее время доступа ко всему массиву. Чтобы получить однократный доступ, я возьму среднее значение общего отсутствия доступа.

Мой вопрос -Я прав ?

Заранее спасибо .

Ответы на вопрос(1)

Ваш ответ на вопрос