Багато хто, напевно, чув таке слово – “кеш”. Велика частина людей порівнює його з готівкою, але в комп’ютерних системах цей термін має зовсім іншу розшифровку. Розповім спершу загальними словами про кеш, а потім поговоримо про L кеш.
Будь-яка комп’ютерна система робить різні математичні операції та обчислення. Наприклад, ви завантажили веб-сторінку, подивилися в браузері потрібний сайт. Закрили браузер. Наступного дня ви захотіли знову відвідати цей сайт. Під час відкриття частина даних буде зчитана з вашого жорсткого диска, щоб зайвий раз не завантажувати їх з інтернету і не проводити розрахунки, які були вже проведені вчора.
У випадку з веб-сайтом, це стилі CSS, зображення і файли з JavaScript. Адже достатньо один раз завантажити “скелет” веб-сайту, а наступного разу довантажити тільки оновлені дані. У підсумку і сайт відкриється швидше, і знизиться навантаження не тільки на комп’ютер, а й на кінцевий сервер і всю інфраструктуру мережі.
Але перейдемо до найголовнішого – що таке L кеш у процесора?
L кеш (або рівень кешу) в процесорі – це спеціальна пам’ять, яка розташована прямо всередині самої мікросхеми процесора. Основне завдання – прискорити виконання команд і доступ до даних.
Принцип роботи L кешу: коли процесор отримує команду або дані, він спочатку перевіряє, чи є вони вже в L кеші. Якщо так, то “камінь” може відразу почати роботу, не витрачаючи час на звернення до оперативної пам’яті. Але якщо команди або даних немає в L кеші, процесор має звернутися до ОЗП, що займає більше часу.
Основне завдання L кеша – зберігати нещодавно використані дані та інструкції, щоб процесор міг швидко отримати до них доступ під час повторного використання. Внутрішня структура кеша зазвичай складається з наборів даних та інструкцій. Кожен рядок зберігає фрагмент інформації, отриманої з оперативної пам’яті.
Пояснити весь процес досить складно, адже комп’ютер не може помістити всі дані в L кеш, а зберігає там тільки те, що буде потрібно в тій чи іншій ситуації. Для довідки: дані, які зберігаються в такому типі кешу, можуть бути дуже невеликого об’єму, всього кілька кілобайт.
Порівняння L кешу можна зробити з походом у звичайний магазин. Уявімо, що L кеш – це полиці з товарами, які ви часто купуєте. Коли ви йдете в магазин, бачите знайомий товар на полиці, можете взяти його і покласти собі в кошик. Це дуже швидко! Але якщо потрібного товару на полиці немає, то необхідно звернутися до продавця, що вже займе більше часу, ніж просто взяти самостійно те, що необхідно.
L кеш розділений на кілька рівнів залежно від їхньої близькості до процесора.
Зазвичай процесор має три рівні L кешу: L1, L2 і L3:
- L1-кеш є найшвидшим і найближчим до процесора, він зазвичай поділений на дві частини: L1d (дані) і L1i (інструкції);
- А ось L2 кеш розташований за L1 кешем і має більший обсяг пам’яті, але при цьому повільніший доступ;
- Нарешті, L3 кеш є найбільшим за обсягом, але й найповільнішим. Він використовується для зберігання даних, які рідко будуть потрібні, але все ж можуть знадобитися процесору.
За фактом, центральний процесор може зберігати щось велике в L3 і в міру потреби, заради високої швидкості, зберігати якусь частину даних в L1.
Виробник Intel завжди вказує на своїх процесорах об’єм L кешу всіх рівнів, а ось AMD часто приховує ці дані переважно з тієї причини, щоб не було плутанини, адже об’єм L кешу не є дуже важливим параметром під час вибору CPU. Але якщо вам цікаво, чому в AMD не завжди зрозумілий цей параметр, напишіть у коментарях і я розкрию цю тему в подробицях наступного тижня.