Кеш, його рівні.Різниця

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

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

Кеш (Cache) — спеціальний вид пам'яті або частина ОЗП, де зберігаються копії часто використовуваних даних. Забезпечує до них швидкий доступ. Кеш пам'ять зберігає вміст і адресу ділянки ОЗП, до якої часто звертається процесор. При звертанні процесора до адреси пам'яті, кеш перевіряє наявність у себе цієї адреси. Якщо він її знаходить, обмін даними виконується між процесором і кешем; якщо ні — між процесором і ОЗП. Кеш ефективний, коли швидкість роботи пам'яті менша за швидкість роботи процесора.



Принцип дії

Кеш — це швидка буферна пам'ять невеликої місткості, що розташована поміж процесором і основною пам'яттю. Кеш працює на повній швидкості процесора і не пригальмовує його роботу. Кеш (cache в перекладі з англ. — тайник) лишається прозорим для програміста, тому що система інструкцій процесора, як правило, не містить команд роботи з кешем. При поясненні роботи кеша можна прийняти, що процесор також не «бачить» кеш і генерує адреси пам'яті так, ніби кеша немає. Проте кеш, як правило, існує, і на апаратному рівні перехоплює сигнали процесора читання/запис, а коли треба, то надає процесору швидкі копії інформаційних кодів, які тимчасово зберігає у власній робочій пам'яті. Якщо кеш спроможний підмінити собою пам'ять (у понад 96-98 відсотків випадків), тоді він за рахунок власних ресурсів задовольняє запит процесора. Процесор не пригальмовується і залишається працювати на повній швидкості. Коли «підміна» пам'яті неможлива (менше від двох-чотирьох відсотків випадків), тоді кеш залучає до роботи пам'ять, обмін з якою суттєво пригальмовує процесор.

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



Рівні кеша

1. Кеш першого рівня (L1) - найшвидший, але маленький за об'ємом. З L1 працює безпосередньо ядро процесора.

2. Кеш другого рівня - дещо більше першого за об'ємом, але повільніше за швидкістю передачі даних.

3. Кеш третього рівня (L3). Цей кеш ще більше за розміром, хоча і трохи повільніше, ніж L2. Об'єми кешів L2 і L3 - дуже важливі характеристики. Чим вони більші, тим вище продуктивність процесора.


У багатоядерних процесорах об'єми 1 і 2 рівнів кеша діляться на кількість ядер. Тобто якщо в описі, наприклад, до четирех'ядерному процесора об'єм кеша другого рівня вказаний як «1 Мб», під цим мається на увазі 256 х 4 Кб. Справедливо і зворотна вказівка.Кеш L3 є загальним для всіх ядер.

Ядро - це головна частина центрального процесора (CPU). Воно визначає більшість параметрів процесора, насамперед - тип сокета (гнізда, в яке вставляється процесор), діапазон робочих частот і частоту роботи внутрішньої шини передачі даних (FSB). Ядро процесора характеризується наступними параметрами: технологічний процес , обсяг внутрішнього кеша першого і другого рівня , напруга і тепловіддача (наскільки сильно буде нагріватися процесор). Перш ніж купувати процесор з тим чи іншим ядром, необхідно впевнитися, що ваша материнська плата зможе працювати з таким процесором. У рамках однієї лінійки можуть існувати процесори з різними ядрами. Наприклад, в лінійці Intel Core i5 присутні процесори з ядрами Lynnfield, Clarkdale, Arrandale і Sandy Bridge.