Эффекты кэша и важность локальности

Я прочитал этот блог, и я все еще не уверен в важности местности. Почему локальность важна для производительности кэша? Это потому, что это приводит к уменьшению количества кешей? Кроме того, как программа написана для достижения хорошей локализации и, следовательно, хорошей производительности кеша?

1 ответ

Кэши меньше, и обычно намного меньше, чем основные воспоминания, с которыми они связаны. Например, на чипах x86 размер кэш-памяти L1 обычно составляет 32 КиБ, а размеры памяти 32 ГБ или больше являются общими, что более чем в миллион раз больше.

Без пространственной локальности запросы памяти были бы равномерно распределены в памяти приложения, а затем, учитывая очень большие соотношения между объемом памяти и размером кэша, вероятность попадания в кэш была бы микроскопической (например, примерно один на миллион для примера. выше). Таким образом, частота попаданий в кэш будет микроскопической, а кэш - бесполезным.

Другие вопросы по тегам