Эксклюзивный кэш

 

Поскольку производительность подсистемы кэширования вносит заметный вклад в общую производительность процессора, рассмотрим ее микроархитектуру подробнее. В общем случае, производительность кэш-памяти характеризуется тремя основными параметра­ми: задержками, пропускной способностью, типом ассоциативности. Первые два параметра влияют на производительность заметно больше остальных.

Оригинальность организации кэш-памяти процессоров AMD заключается в ее «эксклюзивности». Суть этой технологии в том, что содержимое кэша первого уровня не копируется в кэш второго уровня, то есть они дополняют друг друга. Таким образом, суммарный объем кэш-памяти рассчитывается как сумма объемов кэша первого и второго уровней.

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

Вторую особенность архитектуры кэша AMD K8 хорошо иллюстрирует вариант работы с данными, которых не оказалось в кэше первого уровня, но они есть в кэше второго уровня. На первом этапе процессор выполняет поиск данных в кэше первого уровня, на что расходуется три такта. На втором этапе освобождается место в кэш-памяти первого уровня для пересылки данных из кэш-памяти второго уровня. Соответственно, строка кэша сбрасывается в буфер, освобождая место в памяти. Затем первый блок данных поступает из кэша второго уровня.

Если буфер свободен, на весь цикл расходуется 11 тактов. Если же буфер занят, то на его очистку уходит еще 8 тактов. В худшем случае операция загрузки занимает 16 тактов.

По теоретической пропускной способности кэш второго уровня К8 проигрывает инклюзивному кэшу Pentium 4. Но в реальных приложениях такие ситуации, которые бы демонстрировали несостоятельность эксклюзивной архитектуры кэша, практически не возникают.