Причина, по которой у вас возникают проблемы с поиском этих ответов, заключается в том, что традиционные протоколы не были определены для архитектур иерархического кэша, поэтому сам по себе протокол MESI не определяет, что произойдет, если у вас есть кэш L1 и L2.Это зависит от трех других системных атрибутов.
Если L2 спроектирован как исключающий L1 (т. Е. Гарантируется, что L2 и L1 никогда не могут иметь общие строки кэша), тогда любая строка в L1 будетбыть недопустимым состоянием (в основном отсутствует) в L2.
Если L2 включает в себя L1, т. Е. Каждая строка в L1 также должна иметь запись в L2, запись в L2 будет содержать дескриптор, указывающий, какой кэш L1 имеет строку в Eгосударство.
Записывается или нет значение в L2 или в память на этапе чтения из E или W, зависит от того, поддерживает ли ваша система передачи из кэша в кэш или нет.В старые времена, когда каждый чип представлял собой одно ядро, а связь между ядрами была такой же дорогой, как чтение / запись в память, системы записывали данные в память и заставляли читать их другой процессор (это позволяло им не поддерживатьпередача из кэша в кэш).В многоядерном общение через память безумно дорого по сравнению с общением внутри чипа с другими ядрами, поэтому сегодня почти все многоядерные чипы поддерживают передачу из кеша в кеш.Таким образом, чтение из стадии E или W не обслуживается записью в память.
Надеюсь, это поможет.