У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


В процесорах Р6 звернення до «брудного» рядка з боку інших процесорів може спричинити вивантаження його вмісту безпосередньо в процесор, що звертався. Це відповідно збереже час, а вивантаження цього рядка в основну пам'ять відбудеться пізніше, згідно з алгоритмом оберненого запису.

Таблиця 3.

Характеристики елементів кеша процесорів різних поколінь

Елемент | Характеристика

Кеш інструкцій L1 | Р6 і Pentium 8/16 Кбайт, 4WSA (2WSA в перших Pentium) 486: 8/16 Кбайт, 4WSA, комбінований з кешем даних

Кеш даних L1 | Р6 8/16 Кбайт, 2WSA Pentium: 8/16 Кбайт, 4WSA (2WSA в перших Pentium)

486: 8/16 Кбайт, 4WSA, комбінований з кешем даних

Загальний кеш L2 | Р6 256/512/1024 Кбайт, 4WSA

Pentium: на системній платі, як правило, 256/512 Кбайт, 4WSA

486: на системній платі, 128/256 Кбайт

TLB інструкцій для сторінок 4 Кбайт | Р6, Pentium: 32 входження, 4WSA

Pentium MMX; 32 входження, асоціативний

486: 32 входження, 4WSA, об'єднаний з TLB даних

TLB даних для сторінок 4 Кбайт | Р6, Pentium: 64 входження, 4WSA

Pentium MMX: 64 входження, асоціативний

486: 32 входження, 4WSA, об'єднаний з TLB даних

TLB інструкцій для великих сторінок | Р6: 2 входження, 2WSA Pentium: той самий, що і для сторінок 4 Кбайт

486: великі сторінки не підтримуються

TLB даних для великих сторінок | Р6: 8 входжень, 4WSA

Pentium: 8 входжень, 4WSA, той самий, що і для сторінок 4 Кбайт

486: великі сторінки не підтримуються

Буфери запису | Р6: 12 входжень

Pentium MMX: 4 буфери по 1 входженню

Pentium: 2 буфери по 1 входженню

486: 4 входження

*4WSA – чотириканальний набірно-асоціативний, 2WSA – двоканальний набірно-асоціативний кеш.

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

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

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

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

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

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

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

Розділ 4. Керування кешуванням

Механізм керування кешуванням містить як програмні, так і апаратні засоби, які дозволяють кешування та обмежують його можливості. До програмних засобів належать прапорці керуючих регістрів і біти елементів каталогу та таблиць сторінок, а також спеціальні інструкції. Апаратні засоби – це вхідні сигнали дозволу кешування і керування записом та очищенням кеша, а також вихідні сигнали керування вторинним кешем. Процесори Р6 містять також регістри MTRR (Memory Type Range Registers – регістри визначення типів пам'яті в складі M8R – модельно специфічних регістрів), які визначають можливості кешування на рівні ділянок фізичної пам'яті. Якщо різні механізми визначають можливості кешування конкретної ділянки пам'яті по-різному, то спрацьовує найжорсткіше обмеження – заборона кешування. Вона більш пріоритетна, ніж дозвіл, а режим WT скасовує режим WB.

Кешуванням керують на етапі заповнення рядків, а кеш-попадання зчитування пам'яті обслуговуються тільки з кеша. Існує можливість анулювання рядків шляхом оголошення їх недостовірними, а також очищення всієї кеш-пам'яті. Очищення внутрішньої кеш-пам'яті здійснюється зовнішнім сигналом FLUSH# за один такт системної шини. Те саме відбувається за сигналом RESET. При оберненому записі під час очищення відбувається також вивантаження всіх модифікованих рядків в основну пам'ять. Для цього необхідна значна кількість тактів системної шини. Крім того, існують інструкції анулювання (інвалідизації). Інструкція INVD анулює рядки внутрішнього кеша без вивантаження модифікованих рядків. Інструкція WBINVD попередньо вивантажує модифіковані рядки в основну пам'ять.

Анулювання рядків здійснюється при записі у відображувану ними ділянку пам'яті з боку зовнішніх процесорів. Якщо зовнішній процесор виконує запис у пам'ять, то головному процесору повинен бути поданий сигнал AHOLD. За цим сигналом головний процесор негайно віддає керування шиною адреси, на якій зовнішнім процесором встановлюється адреса пам'яті, що супроводжується стробом EADS#. Якщо пам'ять, що адресується, наявна в первинному кеші, то процесор складає біт достовірності цього рядка.

Загальне програмне керування кешуванням здійснюється бітами керуючого регістра CRO: CD (Cache Disable) і NW (No Write Through).

Можливі такі сполучення бітів регістра:

1) CD = 0, NW = 0 – дозволено нормальний режим роботи з макси-мальною ефективністю. Для окремих ділянок чи сторінок пам'яті кешування може бути обмежене (забороняється або встановлюється режим WT);

2) CD = 0, NW = 1 – заборонена комбінація, що спричиняє відмову #GP;

3) CD = 1, NW = 0 – заповнення кеша заборонено,


Сторінки: 1 2 3 4 5 6 7 8 9 10