Донецкий техникум промышленной автоматики

Що таке кеш?

  1. Поняття і види кеш-пам'яті
  2. Людською мовою про те, як все це працює

Ч то є найбруднішим місцем на комп'ютері? Думаєте, корзина? Папки користувача? Система охолодження? Чи не вгадали! Найбрудніше місце - це кеш! Адже його постійно доводиться чистити!

Адже його постійно доводиться чистити

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

[NEW] Рейтинги F1 на початок 2019 року:
ноутбуки

, роутери для будинку , Power bank , SSD , Smart TV приставки з підтримкою 4K UHD , ігрові відеокарти , процесори для ПК , підсилювачі Wi-Fi , смартфони до 10000 рублів , планшети для інтернет-серфінгу , антивіруси

Поняття і види кеш-пам'яті

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

Власна кеш-пам'ять є у додатків (веб-браузерів, аудіо- і відеоплеєрів, редакторів баз даних і т. Д.), Компонентів операційних систем (кеш ескізів, DNS-кеш) і обладнання (cache L1-L3 центрального процесора, фреймбуфер графічного чіпа, буфери накопичувачів). Реалізована вона по-різному - програмно і апаратно.

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

Підкачка частини контенту з локального сховища прискорює її завантаження і   зменшує мережевий трафік

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

У нього надходить інформація, зчитана з магнітного шару і поки не завантажена в оперативну пам'ять, а також дані, які найчастіше запитує операційна система

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

Надоперативна пам'ятьпроцесора застосовується для зберігання постійно використовуваних даних, перекачаних з ОЗУ, і інструкцій машинного коду. Чим її більше, тим процесор швидше.

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

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

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

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

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

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

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

Щоб виправити ситуацію, працівник повинен викинути документи з помилками і покласти на їх місце правильні (очистити кеш-пам'ять)

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

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

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

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

***

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

Думаєте, корзина?
Папки користувача?
Система охолодження?
Звідки ж у них репутація «системного сміттєпроводу»?