Чим більше кеш процесора, тим краще. Що означає кеш пам'ять процесора, у чому відмінність L1, L2, L3. Навіщо ж потрібний кеш процесору

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

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

Це означає, якщо дані, необхідні процесору, перебувають у кеш-пам'яті, то затримок з обробкою немає. В іншому випадку процесор повинен отримати дані з основної пам'яті, що суттєво зменшує швидкодію системи.

Щоб якісно розібратися з принципом роботи кешпам'яті обох рівнів, розглянемо з прикладу побутову ситуацію.

Ви приходите в кафе пообідати щодня, в один і той же час, і сідайте завжди за один і той самий столик. Завжди замовляєте стандартний набір із трьох страв.

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

Ви не чекаєте на замовлення і заощадили масу часу. Піднос із вашими стравами – це і є кеш першого рівня. Але на четвертий день вам раптом захотілося додати ще одну страву, скажімо, десерт.

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

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

І якщо ви виявіте бажання, все під рукою, на кухню бігти не треба. Шафка з десертом - це кеш другого рівня.

Від обсягу кешу L1 (від 16 до 128 Кбайт) та L2 (від 64 Кбайт до 512 Кбайт, у Pentium III Хеоп та AMD Opteron до 4 Мбайт) істотно залежить продуктивність процесора.

У процесорів Intel Pentium III та процесорів Celeron на його основі розмір кешу L1 становить 32 Кбайт. Intel Pentium 4, а також на його базі Celeron і Хеоп-версій — всього 20 Кбайт. Процесори AMD Duron, Athlon (включаючи ХР/МР) та Opteron, а також VIA СЗ містять 128 Кбайт L1 кешу.

Сучасні двоядерні процесори мають кеш першого рівня кожного ядра окремо, тому іноді в описі кешу ми можемо зустріти цифру 128×2. Це означає, що кожне ядро ​​процесора має 128 Кбайт кеш-пам'яті першого рівня.

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

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

На відміну від нього, кеш L2 у різних моделях процесорів працює з різною частотою (і відповідно продуктивністю). Починаючи з Intel Pentium II у багатьох процесорах застосовувався кеш L2, що працює на частоті, наполовину меншій, ніж внутрішня частота процесора.

Таке рішення використано в застарілих процесорах Intel Pentium III (до 550 МГц) та застарілих AMD Athlon (у деяких із них внутрішній кеш L2 працював на третині частоти ядра процесора). Об'єм кешу L2 також різний для різних процесорів.

У застарілих, а також деяких нових процесорах Intel Pentium III обсяг кешу L2 становить 512 Кбайт, в інших Pentium III - 256 Кбайт. Процесор Intel Celeron на основі Pentium III випускався зі 128 і 256 Кбайт кешу L2, а на основі Pentium 4 – лише зі 128 Кбайт. У різних варіантах Xeon-версії Intel Pentium 4 є до 4 Мбайт кеш-пам'яті L2.

У нових процесорах Pentium 4 (деякі серії з частотою 2000 МГц і всі – для частот вище) є 512 Кбайт кешу L2, у решті Pentium 4 -256 Кбайт. У процесорах Хеоп (з урахуванням Pentium 4) буває 256 чи 512 Кбайт кешу L2.

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

Як правило, кеш-пам'яттю третього рівня L3 комплектуються лише процесори для серверних рішень або спеціальні моделі настільних процесорів. Кеш-пам'яттю L3 мають, наприклад, такі лінійки процесорів, як Xeon DP, Itanium 2, Xeon MP.

Процесор AMD Duron має 128 Кбайт кешу L1 та 64 Кбайт кешу L2. У процесорах Athlon (крім найстаріших), Athlon MP і більшості варіантів Athlon ХР присутній 128 Кбайт кешу L1 і 256 Кбайт кешу L2, а новітніх Athlon ХР (2500+, 2800+, 3000+ і ша) — 51 AMD Opteron містить 1 Мбайт кеш-пам'яті L2.

Останні моделі процесорів Intel Pentium D, Intel Pentium M, Intel Core 2 Duo випускаються з 6 Мбайт кеш-пам'яті L2, а Core 2 Quad – 12 Мбайт кеш-пам'яті L2.

Останній на момент написання цієї книги процесор фірми Intel Core i7 має 64 Кбайт кеш-пам'яті L1 для кожного з 4 ядер, а також 256 Кбайт пам'яті L2 для кожного ядра. Крім кеш пам'яті першого та другого рівнів процесор має і загальну для всіх ядер кеш-пам'ять третього рівня, що дорівнює 8 Мбайт.

Для процесорів, у яких можливий різний розмір кешу L2 (або Intel Xeon MP - L3) в однієї і тієї ж моделі, цей розмір повинен бути вказаний при продажі (від нього, зрозуміло, залежить ціна процесора). Якщо процесор продається в "коробковій" упаковці (постачання In-Box), на ній зазвичай вказується розмір кеш-пам'яті.

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

Неперевершеними за цими параметрами залишаються Хеоп-версії процесорів Pentium III. (Процесор Xeon MP виявляється все ж таки більш продуктивні в серверних задачах, ніж Pentium III Xeon, за рахунок вищої тактової частоти самого процесора і шини обміну інформацією з пам'яттю.) З викладеного вище зробимо висновок: кеш-пам'ять покращує взаємодію між швидким процесором і більше повільною оперативною пам'яттю, а також дозволяє мінімізувати періоди очікування, що виникають під час обробки даних. Вирішальну роль цьому грає кеш-пам'ять другого рівня, розташована в кристалі процесора.

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

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

Рівні кешу

Кеш центрального процесора поділено на кілька рівнів. В універсальному процесорі в даний час число рівнів може досягати 3. Кеш-пам'ять рівня N+1 зазвичай більше за розміром і повільніше швидкості доступу і передачі даних, ніж кеш-пам'ять рівня N.

Найшвидшою пам'яттю є кеш першого рівня - L1-cache. По суті вона є невід'ємною частиною процесора, оскільки розташована на одному з ним кристалі і входить до складу функціональних блоків. У сучасних процесорах зазвичай кеш L1 розділений на два кеші, кеш команд (інструкцій) та кеш даних (Гарвардська архітектура). Більшість процесорів без кешу L1 не можуть функціонувати. L1 кеш працює на частоті процесора, і, у випадку, звернення до нього може проводитися кожен такт. Найчастіше є можливим виконувати кілька операцій читання/запису одночасно. Латентність доступу зазвичай дорівнює 2×4 тактам ядра. Обсяг зазвичай невеликий - трохи більше 384 Кбайт.

Другим за швидкодією є L2-cache - кеш другого рівня, зазвичай він розташований на кристалі, як і L1. У старих процесорах – набір мікросхем на системній платі. Об'єм L2 кешу від 128 Кбайт до 1×12 Мбайт. У сучасних багатоядерних процесорах кеш другого рівня, перебуваючи тому ж кристалі, є пам'яттю роздільного користування -- за загального обсягу кешу в nM Мбайт на кожне ядро ​​посідає nM/nC Мбайта, де nC кількість ядер процесора. Зазвичай латентність кешу L2, розташованого на кристалі ядра, становить від 8 до 20 тактів ядра.

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

Іноді існує і 4 рівень кешу, зазвичай він розташований в окремій мікросхемі. Застосування кешу 4 рівня виправдане лише для високопродуктивних серверів та мейнфреймів.

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

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

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

Якщо говорити простими словами, то кеш процесора це дуже швидка пам'ять. Як ви вже знаєте, комп'ютер має кілька видів пам'яті. Це постійна пам'ять, яка використовується для зберігання даних, операційної системи та програм, наприклад SSD або жорсткий диск. Також у комп'ютері використовується оперативна пам'ять. Це пам'ять з випадковим доступом, яка працює набагато швидше, ніж постійна. І нарешті процесор має ще більш швидкі блоки пам'яті, які разом називаються кешем.

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

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

Як працює кеш процесора?

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

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

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

Рівні кешу процесора - L1, L2 та L3

Весь кеш пам'ять процесора поділено на три рівні: L1, L2 та L3. Ця ієрархія також ґрунтується на швидкості роботи кешу, а також на його обсязі.

  • L1 Cache (кеш першого рівня)- Це максимально швидкий тип кешу в процесорі. З точки зору пріоритету доступу, цей кеш містить дані, які можуть знадобитися програмі для виконання певної інструкції;
  • L2 Cache (кеш другого рівня процесора)- Повільніше, порівняно L1, але більше за розміром. Його обсяг може бути від 256 кілобайт до восьми мегабайт. Кеш L2 містить дані, які, можливо, знадобляться процесору у майбутньому. У більшості сучасних процесорів кеш L1 та L2 присутні на самих ядрах процесора, причому кожне ядро ​​отримує свій власний кеш;
  • L3 Cache (кеш третього рівня)— це найбільший і найповільніший кеш. Його розмір може бути близько від 4 до 50 мегабайт. У сучасних CPU на кристалі виділяється окреме місце під кеш L3.

На даний момент це всі рівні кешу процесора, компанія Intel намагалася створити кеш рівня L4, проте поки ця технологія не прижилася.

Навіщо потрібен кеш у процесорі?

Настав час відповісти на основне питання цієї статті, на що впливає кеш процесора? Дані надходять з ОЗУ в кеш L3, потім L2, а потім в L1. Коли процесору потрібні дані для виконання операції, він намагається їх знайти в кеші L1 і якщо знаходить, така ситуація називається попаданням в кеш. В іншому випадку пошук продовжується в кеші L2 та L3. Якщо і тепер дані знайти не вдалося, виконується запит оперативної пам'яті.

Тепер ми знаємо, що кеш розроблений для прискорення передачі між оперативною пам'яттю і процесором. Час, необхідне для отримання даних з пам'яті називається затримкою (Latency). Кеш L1 має найнижчу затримку, тому він найшвидший, кеш L3 – найвищу. Коли даних у кеші немає, ми стикаємося з ще вищою затримкою, оскільки процесору треба звертатися до пам'яті.

Раніше в конструкції процесорів кєші L2 та L3 були винесені за межі процесора, що призводило до високих затримок. Проте зменшення техпроцесу, яким виготовляються процесори дозволяє розмістити мільярди транізисторів у просторі, набагато меншому, ніж раніше. Як результат, звільнилося місце, щоб розмістити кеш якомога ближче до ядра, що ще більше зменшує затримку.

Як кеш впливає на продуктивність?

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

Уявіть, що процесор завантажує дані з кешу L1 100 разів поспіль. Якщо відсоток попадань у кеш буде 100%, процесору знадобиться 100 наносекунд, щоб отримати ці дані. Однак, як тільки відсоток влучень зменшиться до 99%, процесору потрібно буде витягти дані з кешу L2, а там уже затримка 10 наносекунд. Вийде 99 наносекунд на 99 запитів та 10 наносекунд на 1 запит. Тому зменшення відсотка попадань у кеш на 1% знижує продуктивність процесора 10%.

У реальному часі відсоток попадань у кеш перебуває між 95 і 97%. Але як ви розумієте, різниця у продуктивності між цими показниками не в 2%, а в 14%. Майте на увазі, що в прикладі ми припускаємо, що прощені дані завжди є в кеші рівня L2, в реальному житті дані можуть бути видалені з кешу, це означає, що їх доведеться отримувати з оперативної пам'яті, у якої затримка 80-120 наносекунд. Тут різниця між 95 і 97 відсотками ще значніша.

Низька продуктивність кешу в процесорах AMD Bulldozer та Piledriver була однією з основних причин, чому вони програвали процесорам Intel. У цих процесорах кеш L1 поділявся між кількома ядрами, що робило його дуже ефективним. У сучасних процесорах Ryzen такої проблеми немає.

Можна дійти невтішного висновку, що більше обсяг кешу, то вище продуктивність, оскільки процесор зможе одержати у більшій кількості випадків потрібні йому дані швидше. Однак варто звертати увагу не тільки на обсяг кешу процесора, але і на його архітектуру.

Висновки

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

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

Подібні записи.

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

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

Який буває обсяг і на що він впливає

На окрему увагу заслуговує обсяг буфера. Найчастіше HDD оснащуються кешем 8, 16, 32 та 64 Мб. При копіюванні файлів великих розмірів між 8 та 16 Мб буде помітна значна різниця в плані швидкодії, проте між 16 та 32 вона вже менш непомітна. Якщо вибирати між 32 та 64, то її взагалі майже не буде. Необхідно розуміти, що буфер досить часто зазнає великих навантажень, і в цьому випадку, чим він більший, тим краще.

У сучасних жорстких дисках використовується 32 або 64 Мб, менше сьогодні навряд чи десь можна знайти. Для звичайного користувача буде достатньо першого і другого значення. Тим більше що також на продуктивність також впливає розмір свого, вбудованого в систему кеша. Саме він збільшує продуктивність жорсткого диска, особливо за достатнього обсягу оперативної пам'яті.

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

Призначення

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

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

Фізичне читання - пряме звернення системи до жорсткого диска та його секторів. Цей процес вимірюється в мілісекундах і займає досить багато часу. Разом з цим HDD передає дані більш ніж у 100 разів швидше, ніж під час запиту шляхом фізичного звернення до вінчестера. Тобто, він дозволяє пристрою працювати навіть якщо хост-шина зайнята.

основні переваги

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

Її також можна назвати повноцінним прискорювачем, тому що функція буферизації робить роботу вінчестера значно ефективнішою та швидше. Але на сьогоднішній день, в умовах швидкого розвитку технологій, вона втрачає своє колишнє значення. Це з тим, більшість сучасних моделей мають 32 і 64 Мб, чого з головою вистачає нормального функціонування накопичувача. Як було зазначено вище, переплачувати різницю можна лише тоді, коли різниця за вартістю відповідає різниці у ефективності.

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

Як дізнатися поточний обсяг кешу

Все що потрібно, це завантажити та встановити безкоштовну програму HDTune. Після запуску перейдіть до розділу "Інформація" і в нижній частині вікна ви побачите всі необхідні параметри.


Якщо ви купуєте новий пристрій, всі необхідні характеристики можна дізнатися на коробці або в доданій інструкції. Ще один варіант – переглянути в інтернеті.

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

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

Що таке кеш-пам'ять та її структура

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

Кеш-пам'ять побудована на тригерах, які у свою чергу складаються з транзисторів. Група транзисторів займає набагато більше місця, ніж ті ж конденсатори, з яких складається оперативна пам'ять. Це тягне у себе безліч труднощів у виробництві, і навіть обмеження обсягах. Саме тому кеш пам'ять є дуже дорогою пам'яттю, при цьому володіючи незначними обсягами. Але з такої структури випливає головна перевага такої пам'яті – швидкість. Так як тригери не потребують регенерації, а час затримки вентиля, на яких вони зібрані, невелика, то час перемикання тригера з одного стану до іншого відбувається дуже швидко. Це дозволяє кеш-пам'яті працювати на таких же частотах, що і сучасні процесори.

Також важливим фактором є розміщення кеш-пам'яті. Розміщена вона на самому кристалі процесора, що значно зменшує час доступу до неї. Раніше, кеш пам'ять деяких рівнів, розміщувалася поза кристала процесора, на спеціальній мікросхемі SRAM десь на просторах материнської плати. Зараз, практично у всіх процесорів, кеш-пам'ять розміщена на кристалі процесора.


Навіщо потрібна кеш-пам'ять процесора?

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

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

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

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

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

Рівні кеш-пам'яті процесора

Сучасні процесори, оснащені кешем, який складається, найчастіше з 2-ух або 3-х рівнів. Звичайно ж, бувають і винятки, але найчастіше це саме так.

Загалом можуть бути такі рівні: L1 (перший рівень), L2 (другий рівень), L3 (третій рівень). Тепер трохи докладніше щодо кожного з них:

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

Ми розглядатимемо обсяги на процесорі високого рівня продуктивності Intel Core i7-3770K. Цей процесор оснащений 4х32 Кб кеш-пам'яті першого рівня 4 x 32 КБ = 128 Кб. (На кожне ядро ​​по 32 КБ)

Кеш другого рівня (L2)– другий рівень масштабніший, ніж перший, але в результаті, має менші «швидкісні характеристики». Відповідно, служить буфером між рівнем L1 та L3. Якщо знову звернутися до нашого прикладу Core i7-3770 K, то тут обсяг кеш-пам'яті L2 становить 4х256 Кб = 1 Мб.

Кеш третього рівня (L3)– третій рівень, знову ж таки, повільніший, ніж два попередні. Але все одно він набагато швидший, ніж оперативна пам'ять. Об'єм кешу L3 в i7-3770K становить 8 Мбайт. Якщо два попередні рівні поділяються на кожне ядро, цей рівень є загальним для всього процесора. Показник досить солідний, але не надхмарний. Так як, наприклад, у процесорів Extreme-серії на кшталт i7-3960X, він дорівнює 15Мб, а в деяких нових процесорів Xeon, понад 20.

Жорсткі диски