(Голосувань: 4, Рейтинг: 4.25 з 5 максимальних)
Що таке кеш-пам'ять? 4.3 з 5 оснований на 4 голосуванні.

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

У світі комп'ютерної пам'яті цей принцип застосовується тому, що більш швидка пам'ять зазвичай коштує істотно дорожче більш повільної, однак застосування малого обсягу швидкої (але дорогої) пам'яті, так званої кеш-пам'ятті (cache memory), в комплексі з великим об'ємом повільної (але дешевою) пам'яті дозволяє створити прийнятне за ціною і швидкості рішення. Застосування кешування особливо ефективно, коли доступ до даних здійснюється переважно в послідовному порядку. Тоді після першого запиту на читання даних, розташованих в повільній (кешованій) пам'яті можна заздалегідь виконати читання наступних блоків даних у кеш-пам'ять для того, щоб при наступному запиті на читання даних майже миттєво видати їх з кеш-пам'яті. Такий прийом називається випереджувальним читанням.

Попередній виклик застосовується у всіх сучасних жорстких дисках. Зчитуються з диска дані з деяким запасом поміщаються в кеш-пам'ять диска і певний час там зберігаються. При повторному зверненні до тих же даних вони зчитуються вже з кеш-пам'яті, що відбувається в 10-1000 разів швидше.

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

Таким чином, в різних ситуаціях одна й та ж пам'ять може бути як кешем, так і Кешована пам'яттю.

Кеш-пам'ять також може бути організована у вигляді ієрархічної структури. У разі процесорів x86 характерне використання кеша першого рівня (Level 1 або L1-кеша), розташованого безпосередньо на кристалі процесора, і більш повільного кеша другого рівня (Level 2 або L2-кеша), розташованого в іншій мікросхемі або взагалі на іншій платі. При цьому кеш першого рівня кешує L2-кеш, а той, у свою чергу, кешує ще більш повільну оперативну пам'ять. У RISC-процесорах часто використовується L3-кеш і кеш більш високих порядків.

Існують різні алгоритми роботи кеш-пам'яті, які дуже сильно впливають на ефективність процедури кешування. Крім кешування операцій читання даних можна виконувати кешування запису даних (це називається відкладеної записом, або lazy writes, для жорстких дисків і зворотним записом, або write back, для процесорів). Застосування відкладеної запису ще більше збільшує швидкість роботи диска, але підвищує ризик втрати даних, які не встигли записатися з кеш-пам'яті в кешованим пам'ять, у разі раптового краху системи.


Ви знаходитесь:   Новини інформаційних технологійFAQ Hardware