http://poradumo.pp.ua

Online Журнал-Світ порад.
Головна сторінка

Що таке кеш-пам'ять комп'ютера

Що таке кеш-пам'ять комп'ютераЯк вже згадувалося раніше, статична оперативна пам'ять знайшла застосування в кеш-пам'яті. Основне гідність статичної пам'яті - це її швидкодія. Основний недолік - великий фізичний обсяг, займаний пам'яттю і високе енергоспоживання.

Нагадаємо, що осередок статичної пам'яті побудована на транзисторном каскаді, який може містити до 10 транзисторів. Оскільки, час перемикання транзистора з одного стану в інше мізерно мало, то і швидкість роботи статичної пам'яті висока.

Кеш-пам'ять має невеликий обсяг і розміщується безпосередньо на процесорному кристалі. Її швидкість роботи набагато вище, ніж у динамічній пам'яті (модулі ОЗП), але нижче, ніж працюють регістри загального призначення (РОН) центрального процесора.

Вперше кеш-пам'ять з'явилася на 386-х комп'ютерах і розташовувалася вона на материнській платі. Материнські плати 386 DX мали кеш-пам'ять об'ємом від 64 до 256 Кб. 486-е процесори вже мали кеш-пам'ять, розташовану на процесорному кристалі, але кеш-пам'ять на материнській платі була збережена. Система кеш-пам'яті стала дворівневою: пам'ять на кристалі стали називати кешем першого рівня (L1), а на материнській платі - кешем другого рівня (L2). З часом кеш другого рівня "перебрався" на кристал процесора. Першою це зробила на процесорі AMD K6-III (L1 = 64 Kb, L2 = 256 Kb).

Наявність кешей двох рівнів зажадало створення механізму їх взаємодії між собою. Існує два варіанти обміну інформацією між кеш-пам'яттю першого та другого рівня, або, як кажуть, дві кеш-архітектури: інклюзивна і ексклюзивна.

Інклюзивна кеш-пам'ять


Інклюзивна архітектура передбачає дублювання інформації, що знаходиться в L1 та L2.

Схема роботи наступна. Під час копіювання інформації з ОПЕРАТИВНОЇ пам'яті в кеш робиться дві копії, одна копія заноситься в L2, інша копія - в L1. Коли L1 повністю заповнений, інформація заміщається за принципом видалення найбільш "старих даних" - LRU (Least-Recently Used). Аналогічно відбувається і з кешем другого рівня, але, оскільки його обсяг більше, то й інформація зберігається в ньому довше.

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

Інклюзивна архітектура застосовується в тих системах, де різниця в обсягах кешу першого і другого рівня велика. Наприклад, у Pentium 3 (Coppermine): L1 = 16 Кб, L2 = 256 Kb; Pentium 4: L1 = 16 Кб, L2 = 1024 Kb. У таких системах дублюється невелика частина кеша другого рівня, це цілком прийнятна ціна за простоту реалізації інклюзивної механізму.

Ексклюзивна кеш-пам'ять


Ексклюзивна кеш-пам'ять припускає унікальність інформації, що знаходиться в L1 та L2.

При зчитуванні інформації з ОПЕРАТИВНОЇ пам'яті в кеш - інформація відразу заноситься в L1. Коли L1 заповнений, то, за принципом LRU інформація переноситься з L1 до L2.

Якщо при зчитуванні процесором інформації з L1 потрібна інформація не знайдена, то вона шукається в L2. Якщо потрібна інформація знайдена в L2, то за принципом LRU кеші першого і другого рівня обмінюються між собою рядками (сама "стара" рядок з L1 поміщається в L2, а на її місце записується потрібна рядок з L2). Якщо потрібна інформація не знайдена і L2, то звернення йде до ОЗП за схемою, описаною вище.

Ексклюзивна архітектура застосовується в системах, де різниця між обсягами кешу першого і другого рівня відносно невелика. Наприклад, у Athlon XP: L1 = 64 Kb, L2 = 256 Kb. В ексклюзивній архітектурі кеш-пам'ять використовується більш ефективно, але схема реалізації ексклюзивного механізму набагато складніше.

Взаємодія кеш-пам'яті ОЗУ


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

Кеш-пам'ять з прямим відображенням. Найпростіший варіант взаємодії кеша з ОЗУ. Обсяг ОЗП ділиться на сегменти (сторінки), за обсягом рівні обсягом всього кешу (наприклад, при обсязі 64 Кб кеша і ПАМ'ЯТІ розбивається на сторінки по 64 Кб). При взаємодії кеша з ОЗП, одна сторінка ОЗП розміщується в кеш-пам'яті, починаючи з нульового адреси (тобто, з самого початку кеша). При повторній операції взаємодії, наступна сторінка накладається поверх існуючої - тобто, фактично колишні дані замінюються на поточні.

Переваги: проста організація масиву, мінімальний час пошуку.

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

Набірно-асоціативна кеш-пам'ять. Весь об'єм кешу ділиться на кілька рівних сегментів, кратних двійці в цілій мірою (2, 4, 8). Наприклад, кеш 64 Кб може бути розділений на:

2 сегмента по 32 Кб кожен;
4 сегмента по 16 Кб кожен;
8 сегментів по 8 Кб кожний.

Pentium 3 і 4 мають 8-канальну структуру кеша (кеш розбитий на 8 сегментів); Athlon Thunderbird - 16-канальну.

При такій організації, ОЗУ ділиться на сторінки, рівні за обсягом одному сегменту кеша (одному кеш-банку). Сторінка ОЗП пишеться в перший кеш-банк; наступна сторінка - у другій кеш-банк і т.д., поки всі кеш-банки не будуть заповнені. Подальша запис інформації йде в той кеш-банк, який не використовувався найдовше (містить саму "стару" інформацію).

Переваги: підвищується ефективність використання всього обсягу кешу - чим більше кеш-банків (вище асоціативність), тим вище ефективність.

Недоліки: більш складна схема управління роботою кешу; додатковий час на аналіз інформації.

Асоціативна кеш-пам'ять. Це граничний випадок попереднього варіанта, коли об'єм кеш-банку стає рівним одному рядку кеш-пам'яті (далі ділити вже нікуди). При цьому будь-яка рядок ОЗП може бути збережена в будь-якому місці кеш-пам'яті.

Запам'ятовувальний кеш-масив складається з рядків рівної довжини. Ємність такого рядка дорівнює розміру пакета, считиваемого з ОЗП за 1 цикл (наприклад, Pentium 3 - 32 байта; Pentium 4 - 64 байта). Рядок завантажується в кеш і витягується тільки цілком.

Переваги: максимальна ефективність використання простору кеш-пам'яті.

Недоліки: найбільші витрати часу на пошук інформації.
of your page -->

Популярні поради

загрузка...