Вопросы, сообщения, споры | ремонт ноутбуков

Кеш-пам’ять побудована з урахуванням можливості звернень до неї зовнішніх об'єктів, зокрема інших процесорів та контролерів. Процесори мають механізми зовнішнього стеження за станом свого кеша. Для підтримки узгодження даних кеша та основної пам'яті процесор відпрацьовує цикли стеження (Snoop Cycle чи Inquire Cycle), що ініціюються зовнішньою для нього системою. В цих циклах, які відбуваються при зверненій до пам'яті з боку зовнішнього абонента, процесор визначає наявність даних, що вимагаються, в своєму кеші. Якщо вони відображаються в кеші, то дії процесора залежать від стану відповідного рядка кеша i типу зовнішнього звернення. Звернення за записом призведе до анулювання компьютерного ремонту даного рядка. Звернення за зчитуванням до ділянки, що відповідає модифікованому («брудному») рядку, призведе до вивантаження його вмісту в основну пам'ять перед тим, як зовнішній абонент виконає реальне зчитування. В процесорах Р6 звернення до «брудного» рядка з боку інших процесорів може спричинити вивантаження його вмісту безпосередньо в процесор, що звертався. Це відповідно збереже час, а вивантаження цього рядка в основну пам'ять відбудеться пізніше, згідно з алгоритмом оберненого запису.

Починаючи з процесорів Pentium, їх кеш підтримує протокол MESI (Modified-Exclusive-Shared-Invalid — протокол підтримки когерентності пам'яті за наявності кеша, названий за визначеним станом рядків: Модифікована —Виняткова — Роздільна — Недійсна). Первинний кеш інструкції реалізує лише частину протоколу — SI, оскільки не допускає запису. Стан рядків для кожного процесора визначається сервисним центром таким чином:

1) М-стан — рядок, наявний в кеші тільки цього процесора i модифікований, тобто такий, що відрізняється від вмісту основної пам'яті. Запис в цей рядок не призведе до генерування зовнішнього щодо локальної шини циклу звернення;

2)            Е-стан — рядок, наявний в кеші тільки цього процесора i немодифікований, його копія в основній пам’яті дійсна. Запис переведе його в М-стан без зовнішнього циклу звернення;

3)            S-стан — рядок, наявний в кеші цього процесора i потенційно може знаходитися в кешах інших процесорів,   і копія в пам'яті дійсна. Запис в нього супроводжується наскрізним записом в основну пам'ять, що зумовлює анулювання відповідних рядків в інших кешах;

4)            1-стан — рядок, відсутній в кеші, його зчитування може призвести до генерування циклу заповнення рядка. Запис в нього буде наскрізним i вийде на зовнішню шину.

Процесор контролює операції запису в пам'ять на попадання в ділянку, представлену в кеш- інструкції. Контроль виконується на рівні фізичних адрес. У випадку попадання рядок анулюється.

У просторі основної пам'яті комп'ютера є ділянки, для яких кешування принципово недопустиме, зокрема розподільна пам'ять адаптерів. Для таких ділянок непридатний алгоритм оберненого зв'язку. Kpiм того, кешування інколи відключають при виконанні ремонту ноутбука однократно виконуваних ділянок програми з тим, щоб з кеша не витісняти корисні фрагменти програми.