Що таке кеш, чому він потрібен і як він працює

Що таке кеш, чому він потрібен і як він працює

Зміст

  • Концепція та типи кешу
  • Людська мова про те, як це все працює
Яке найбільш брудне місце на комп’ютері? Ви думаєте, кошик? Папки користувача? Система охолодження? Вони не здогадувалися! Найбруднішим місцем є кеш! Зрештою, його постійно доводиться очистити!

Насправді на комп’ютері є багато кешу, і вони служать не сміттєзвалище, а прискорювачами обладнання та застосувань. Де їхня репутація з "системного сміттєвого жолоба"? Давайте розберемося, що таке кеш, як він працює, як він працює і чому його потрібно час від часу очистити.

Концепція та типи кешу

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

Програми (веб -браузери, аудіо та відеоплеєри, редактори баз даних тощо мають власний кеш. D.(. Він реалізується по -різному - програмно та обладнання.

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

  • У приводах (зокрема, жорсткі диски) кеш-це окрема чіп оперативної пам’яті, потужність 1-256 Мб, розташована на платі електроніки. Він отримує інформацію, яка є лише однією з магнітного шару і ще не завантажується в оперативну пам’ять, а також дані, які операційна система найчастіше вимагає.

  • Сучасний центральний процесор містить 2-3 основні рівні грошової пам’яті (його також називають супер-сурпасивною пам’яттю), розміщеного у вигляді апаратних модулів на одному кристалі з ним. Найшвидший і найменший об'єм (32-64 кб) - це кеш -рівень 1 (L1) - він працює з тією ж частотою, що і процесор. L2 займає середню позицію у швидкості та потужності (від 128 кб до 12 Мб). А L3 - найповільніший і об'ємний (до 40 Мб), на деяких моделях немає. Швидкість L3 низька лише відносно його більш швидких братів, але це також сотні разів швидше, ніж найпродуктивніші оперативні.

Сертоносна пам’ять процесора використовується для зберігання даних, що постійно використовуються з оперативної пам’яті, та інструкції з коду машини. Чим більше це, тим швидше процесор.

Сьогодні три рівні кешування вже не є межею. З появою архітектури Sandy Bridge, Intel впровадив додатковий кеш L0 у своїх продуктах (розроблений для зберігання дешифрованих мікрококомунікацій). А найбільш високоефективний процесор також має кеш четвертого рівня, виготовлений у вигляді окремого мікросхеми.

Схематично взаємодія рівнів кешу L0-L3 виглядає так (для прикладу Intel Xeon):

Людська мова про те, як це все працює

Щоб зрозуміти, як працює кеш, уявіть собі людину, яка працює за столом. Папки та документи, які він використовує постійно, лежать на столі (У кеші). Щоб отримати доступ до них, просто продовжуйте руку.

Папери, які йому потрібні рідше, зберігаються біля полиць (В баранній частині). Щоб їх дістати, вам потрібно встати і піти на кілька метрів. І з чим не працює людина, передається архіву (Записано на жорсткому диску).

Чим ширше таблиця, тим більше документів підійде до нього, а це означає, що працівник зможе отримати швидкий доступ до додаткової інформації (Чим більша ємність кешу, тим більше програма чи пристрій працює швидше в теорії).

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

Таблиця має обмежену площу (Грошова пам'ять має обмежений обсяг). Іноді його можна розширити, наприклад, переміщуючи другу таблицю, а іноді це неможливо (Обсяг кешу може бути збільшений, якщо така можливість надається програма; Кеш обладнання неможливо змінити, оскільки його реалізовано обладнанням).

Ще один спосіб прискорити доступ до більшого обсягу документів, ніж містить таблицю - знайти помічника, який буде обслуговувати працівника з полиці (Операційна система може виділити частину невикористаної оперативної пам’яті для кешування цих пристроїв). Але він все ще повільніше, ніж взяти їх зі столу.

Документи, що лежать під рукою, повинні бути актуальними для поточних завдань. Сам працівник зобов'язаний стежити. Регулярно вкладіть речі в документи (Переміщення нерелевантних даних з кешу лежить "на плечах" програм, які його використовують; Деякі програми мають функцію автоматичного очищення кешу).

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

***

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