Подсистема кэширования
Однако наибольшие изменения, естественно, коснулись «основной» подсистемы кэширования, а именно — взаимодействия между L1 Cache и L2 Cache, а также появившимся L3 Cache у Nehalem. Во-первых, теперь снова L2 Cache является «персональной собственностью» конкретного ядра, и оно ни с кем его не делит — разделяемым и общим для всех является Cache следующего уровня — L3 Cache. Во-вторых, Intel немного «переиграла» значения латентности для L1 и L2 Cache— у L1 Cache латентность стала на 1 такт больше, чем в Core 2, а у L2 Cache она наоборот стала в полтора раза ниже.
Но основной интерес, конечно же, вызывает L3 Cache. Он, как и L2 Cache в Core 2, является динамически разделяемым. Более того, он наконец-то является не «не-эксклюзивным», а именно инклюзивным: данные, находящиеся в L1/L2 Cache — обязаны присутствовать в L3 Cache. Intel даже объясняет причину подобного решения (далее на рисунках левый соответствует эксклюзивному Cache, а правый — инклюзивному).
Р ассмотрим первую ситуацию: ядро 0 запрашивает данные из L3 Cache, и они там не обнаруживаются.
В случае с эксклюзивным Cache (слева) это ещё ничего не значит: данные могут находится в L1/L2 Cache других ядер. Инклюзивный Cache такую ситуацию исключает, поэтому никаких дополнительных проверок не требуется.
Рассмотрим другую ситуацию: ядро 0 запрашивает данные из L3 Cache, и они там обнаружены. В случае с эксклюзивным Cache, проблем, наоборот, нет никаких: если данные обнаружены в L3 Cache — то больше их нигде нет. В случае с инклюзивным Cache могла бы возникнуть проблема: данные, наоборот, наверняка есть в L1/L2 Cache одного из ядер. Которого?..
Д ля Nehalem эта проблема проблемой не является: каждая строка L3 Cache содержит биты core valid (по количеству физических ядер), которые указывают, копией содержимого L1/L2 какого ядра является данная строчка. Поэтому нет никакой необходимости опрашивать на предмет нахождения данных каждое ядро.
В общем, Intel придерживается достаточно последовательных взглядов в вопросе об оптимальной архитектуре Cache: лучше проиграть в объёме, чем в скорости. Быть может, это связано с тем, что у неё и так хорошо получается делать большие Cache?. Некоторое разочарование вызывает тот факт, что L3 Cache у Core i7 будет работать не на частоте процессора, а на некой фиксированной для целого ряда моделей частоте. Впрочем, эту ложку дёгтя насколько компенсируют два факта: во-первых, у AMD Phenom L3 Cache тоже работает на фиксированной частоте, а во-вторых — у Core i7 эта частота выше (2,66 ГГц).
- Лекция. Процессоры Core i7 (Nehalem) фирмы Intel
- Подсистема кэширования
- Технология Turbo Boost
- Считывание и декодирование инструкций
- Предсказание ветвлений
- Возвращение Hyper–Threading
- Соединения QuickPath.
- Процессоры Intel Core i5 и Core i7 с ядром Lynnfield
- Процессоры Intel новой архитектуры Sandy Bridge («песчаный мост»)
- Intel ivy bridge: подробности о микроархитектуре