мова
залізо windows програми мережа
русский українська
ЗалізоПроцесор → Вплив кеш-пам'яті процесора на швидкодію комп'ютера

Кеш-пам'ять процесора

09.04.2015 р.

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

Про те, що таке кеш-пам'ять процесора, як вона працює і який має вплив на швидкодію комп'ютера, читач дізнається із цієї статті.




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


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

Усі згадані операції проводяться на дуже високій швидкості. Проте, навіть найшвидша оперативна пам'ять працює повільніше будь-якого "неквапливого" процесора. Кожне зчитування з неї інформації і зворотний її запис займають багато часу. В середньому, швидкість роботи оперативної пам'яті у 16 - 17 разів нижча від швидкості процесора.

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

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

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



Будова кеш-пам'яті процесора


Система кеш-пам'яті процесора складається з двох блоків - контроллера кеш-пам'яті і власне самої кеш-пам'яті.

Контроллер кеш-пам'яті

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

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

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

Завдання контроллера - зробити так, щоб кеш-промахи відбувалися якомога рідше, а в ідеалі - щоб їх не було взагалі.

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

• розміром і структурою кеш-пам'яті (чим більше ресурсів має у своєму розпорядженні контроллер, тим нижчою є вірогідність кэш-промаху);

• ефективністю алгоритмів, за якими контроллер визначає, яка саме інформація знадобиться процесору в наступний момент часу;

• складністю і кількістю завдань, які одночасно вирішуються процесором. Чим складнішими є завдання і чим їх більше, тим частіше "помиляється" контроллер.


Кеш-пам'ять процесора

Кеш-пам'ять процесора виготовляють у вигляді мікросхем статичної пам'яті (англ. Static Random Access Memory, скорочено - SRAM). У порівнянні з іншими типами пам'яті, статична пам'ять має дуже високу швидкість роботи.


Вперше кеш розміром 8 KB був вмонтований в процесор Intel i486
у 1989 р.

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

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

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

Кількість мікросхем пам'яті L1 в процесорі, як правило, відповідає кількості його ядер. Кожне ядро має доступ тільки до своєї мікросхеми L1.

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

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

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

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



Вплив кеш-пам'яті процесора на швидкодію комп'ютера


При виконанні запиту на надання даних ядру, контроллер пам'яті шукає їх спочатку в кеші першого рівня, потім - в кеші другого і третього рівнів.

За статистикою, кеш-пам'ять першого рівня будь-якого сучасного процесора забезпечує до 90 % кэш-попадань. Другий і третій рівні - ще 90% від того, що залишилося. І лише близько 1 % усіх запитів процесора закінчуються кэш-промахами.

Вказані показники стосуються простих завдань. З підвищенням навантаження на процесор кількість кэш-промахів зростає.

Ефективність кеш-пам'яті процесора зводить до мінімуму вплив швидкості оперативної пам'яті на швидкодію комп'ютера. Наприклад, комп'ютер однаково добре буде працювати з оперативною пам'яттю 1066 Мгц і 2400 Мгц. За інших рівних умов різниця продуктивності у більшості програм не перевищить 5%.


Намагаючись оцінити ефективність кеш-пам'яті, користувачі найчастіше шукають відповіді на наступні питання:

Яка структура кеш-пам'яті краща: двох- чи трирівнева?

Трирівнева кеш-пам'ять ефективніша.

Щоб визначити, як сильно L3 впливає на роботу процесора, сайтом Tom's Hardware був проведений експеримент. Полягав він у вимірюванні продуктивності процесорів Athlon II X4 і Phenom II X4. Обидва процесори оснащені однаковими ядрами. Перший відрізняється від другого лише відсутністю кеш-пам'яті L3 і нижчою тактовою частотою.

Привівши частоти обох процесорів до однакового показника, було встановлено, що наявність кеш-пам'яті L3 підвищує продуктивність процесора Phenom на 5,8 %. Це середній показник. У одних програмах він майже дорівнював нулю (офісні програми), в інших - досягав 8% і навіть більше (комп'ютерні 3D ігри, архіватори та ін.).


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

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

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

Інша справа високочастотні 4-, 6 - або навіть 8-миядерні процесори. Деякі з них (наприклад, Intel Core i7) підтримують технологію Hyper Threading, яка забезпечує одночасне виконання кожним ядром двох завдань. Звичайно ж, потенціал таких процесорів не може бути розкритий з маленьким кешом. Тому його збільшення до 15 або навіть 20 MB цілком виправдане.

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


Об'єм внутрішньої кеш-пам'яті деяких моделей серверних процесорів Intel Xeon
складає 37,5 MB

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

Ефект від великого кеша найвідчутніший при використанні архіваторів, в 3D іграх, під час кодування відео. У "не тяжких" же програмах різниця наближається до нуля (офісні програми, інтернет-серфінг, робота з фотографіями, прослуховування музики та ін.).

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

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


Як дізнатися розмір кеш-пам'яті процесора?

Існують спеціальні програми, які надають детальну інформацію про процесор комп'ютера, у тому числі й про його кеш-пам'ять. Однією з них є програма CPU-Z.

• CPU-Z:

Перейти на сторінку завантаження >>>

Програма не потребує встановлення. Після її запуску треба перейти на вкладку "Caches" (див. зображення).

На прикладі видно, що процесор, який перевіряється, оснащений трирівневою кеш-пам'яттю. Розмір кеша L3 у нього складає 3 MB, L2 - 512 KB (256x2), L1 - 128 KB (32x2+32x2).


Чи можна якось збільшити кеш-пам'ять процесора?

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

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

ПОДІЛИТИСЬ:

НАПИСАТИ АВТОРУ
Схожі матеріали


Порівняння процесорів

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

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

ΞдетальнішеΞ
Специфікації процесорів

У цій базі зібрані детальні характеристики процесорів Intel і AMD. Вона містить специфікації близько 2 тисяч десктопних, мобільних та серверних процесорів, починаючи з перших Пентіумів і Атлонов і закінчуючи останніми моделями.

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

ΞдетальнішеΞ
Таблиця процесорів

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

Є фільтр, що відбирає процесори по виробнику, моделі, сокету, кількості ядер, наявності вбудованого відеоядра та іншим параметрам.

Для отримання детальної інформації про будь-який процесор достатньо натиснути на його назву.

ΞдетальнішеΞ
Технології та інструкції, що використовуються в процесорах

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

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

Так, популярний браузер Google Chrome не працює без підтримки процесором SSE2. Інструкції AVX можуть в рази прискорити обробку фото- і відеоконтенту. А нещодавно один мій знайомий на досить швидкому Phenom II (6 ядер) не зміг запустити гру Mafia 3, оскільки його процесор не підтримує інструкції SSE4.2.

Якщо абревіатури SSE, MMX, AVX, SIMD вам ні про що не говорять і ви хотіли б розібратися в цьому питанні, викладена тут інформація стане непоганою допомогою.

ΞдетальнішеΞ
Як перевірити стабільність процесора

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

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

ΞдетальнішеΞ
Як дізнатися який процесор встановлений в комп'ютері

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

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

ΞдетальнішеΞ
ЗАЛІЗО Основи Будова комп'ютера Драйвери пристроїв BIOS, UEFI Внутрішні пристрої Процесор Материнська плата Відеокарта Оперативна пам'ять Жорсткий диск, SSD Блок живлення Мережева карта Звукова карта Кулери, охолодження Зовнішні пристрої Мишка Клавіатура Монітор, телевізор Флешка Оптичні диски Принтер, сканер Маршрутизатор, Wi-Fi WINDOWS Інсталяція і оптимізація Інсталяція Windows Оновлення, відновлення Оптимізація Windows Файли і папки Файли Папки Архіви Іконки та ярлики Контекстне меню Використання Windows Основи Робочий стіл Панель завдань Мій комп'ютер Облікові записи Гарячі клавіши Дата та час Мова Шрифти Звуки Панель керування Диспетчер завдань Диспетчер пристроїв Реєстр Командний рядок Віртуалізація Безпека ПРОГРАМИ Інструкції та поради Встановлення програм Автозавантаження програм Microsoft Word Microsoft Excel Браузери Архіватори Файли, мультимедіа Безпека Каталог програм Категорії

МЕРЕЖА Основи Налаштування мережі Можливості Інтернету Корисні сайти
вгору