Об'єм кеш пам'яті впливає на. Щоб увімкнути кеш L3 у Windows

Об'єм кеш пам'яті впливає на. Щоб увімкнути кеш L3 у Windows

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

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

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

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

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

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

Основні типи та рівні кеш-пам'яті L1 L2 L3

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

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

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

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

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

Деякі моделі процесорів виконані з двома рівнями кеш пам'яті, де L2 поєднує всі функції L2 і L3.

Коли корисний великий обсяг кешу.

Значний ефект від великого обсягу кешу ви відчуєте під час використання програм архіваторів, у 3D іграх, під час обробки та кодування відео. У відносно «легких» програмах та додатках різниця практично не помітна (офісні програми, плеєри тощо).

Всім доброго доби. Сьогодні ми намагатимемося розтлумачити вам таке поняття як кеш. Кеш пам'ять процесора – це надшвидкий масив обробки даних, швидкість якого перевищує показники стандартної ОЗУ в 16–17 разів, якщо йдеться про DDR4.

З цієї статті ви дізнаєтесь:

Саме обсяг кеш‐пам'яті дозволяє ЦП працювати на граничних швидкостях, не чекаючи, поки оперативна пам'ятьобробить будь-які дані та не надішле результати готових обчислень чіпа для подальшої їх обробки. Аналогічний принцип простежується у HDD, лише там використовується буфер на 8-128 МБ. Інша річ, що швидкості набагато нижчі, але процес роботи аналогічний.

Що таке кеш-процесора?

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

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

Швидкість роботи визначається ефективністю оперативної пам'яті. Але жоден сучасний модуль DDR4, включаючи оверклокерські рішення із частотами під 4000 МГц, і поряд не стояв із можливостями самого чахлого процесора з його «повільним» КЕШом.

Все тому, що швидкість роботи ЦП перевищує показники роботи ОЗУ в середньому разів у 15, а то й вище. І не дивіться лише на параметри частоти, крім них відмінностей вистачає.
Теоретично виходить, що навіть надпотужні Intel Xeon і AMD Epyc змушені простоювати, але за фактом обидва серверні чіпи працюють на межі можливостей. А все тому, що вони набирають необхідну кількість даних за величиною кешу (до 60 і більше МБ) і миттєво обробляють дані. ОЗУ служить як склад, звідки черпаються масиви для обчислень. Ефективність обчислень комп'ютера зростає і задоволені.

Короткий екскурс в історію

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

Вперше модуль кеш-пам'яті з'явився в Intel 80386. У той час затримки при роботі DRAM коливалися в межах 120 наносекунд, тоді як сучасніший модуль SRAM скорочував час затримок до значних на ті часи 10 наносекунд. Орієнтовна картина більш наочно продемонстрована в протистоянні HDD проти SSD.

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

Ця технологіярозташування залишалася актуальною лише до виходу Pentium MMX, після чого SRAM пам'ять була замінена більш прогресивною SDRAM.
Та й процесори стали набагато меншими, а тому потреба у зовнішніх схемах відпала.

Рівні кеш-пам'яті

На маркуванні сучасних ЦП, крім , можна зустріти таке поняття як розмір кеша 1,2 і 3 рівнів. Як він визначається та на що впливає? Давайте розбиратися простою мовою.

  • Кеш першого рівня (L1) – найважливіша та швидка мікросхема в архітектурі ЦП. Один процесор може вмістити кількість модулів, рівних кількості ядер. Примітно, що мікросхема може зберігати в пам'яті найбільш потрібні та важливі дані лише зі свого ядра. Обсяг масиву часто обмежений показником 32–64 КБ.
  • Кеш другого рівня (L2) – падіння швидкості компенсується збільшенням обсягу буфера, що сягає 256, або навіть 512 КБ. Принцип дії такий самий, як і у L1, а ось частота запиту до пам'яті нижче, зважаючи на зберігання в ній менш пріоритетних даних.
  • Кеш третього рівня (L3) – найповільніший та найоб'ємніший розділ серед усіх перерахованих. І все одно цей масив набагато швидше за оперативну пам'ять. Розмір може досягати 20 і навіть 60 МБ, якщо мова стосується серверних чіпів. Користь від масиву величезна: він є ключовою ланкою обміну даними між усіма ядрами системи. Без L3 всі елементи чіпа були б розрізнені.

У продажі можна зустріти як дво‐ так і трирівневу структуру пам'яті. Яка з них краща? Якщо ви використовуєте процесор лише для офісних програмі казуальних ігор, то жодної різниці не відчуєте. Якщо ж система збирається з прицілом під складні 3D-ігри, архівацію, рендеринг та роботу з графікою, то приріст у деяких випадках коливатиметься від 5 до 10%.
Кеш третього рівня виправданий лише в тому випадку, якщо ви маєте намір регулярно працювати з багатопотоковими програмами, що вимагають регулярні складні розрахунки. Тому в серверних моделях часто використовують кеш L3 великих обсягів. Хоча бувають випадки, що і цього не вистачає, а тому доводиться додатково ставити так звані модулі L4, які виглядають як окрема мікросхема, що підключається до материнської плати.

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

Почнемо з того, що зробити це можна 3 способами:

  • через командний рядок(тільки кеш L2 та L3);
  • шляхом пошуку специфікацій в Інтернеті;
  • за допомогою сторонніх утиліт.

Якщо взяти за основу той факт, що більшість процесорів L1 становить 32 КБ, а L2 і L3 можуть коливатися в широких межах, останні 2 значення нам і потрібні. Для їхнього пошуку відкриваємо командний рядок через «Пуск» (вводимо значення «cmd» через рядок пошуку).

Система покаже підозріло велике значення для L2. Необхідно поділити його на кількість ядер процесора та дізнатися підсумковий результат.

Якщо ви збираєтеся шукати дані в мережі, то для початку дізнайтеся точне ім'я ЦП. Натисніть правою кнопкоюза іконкою «Мій комп'ютер» та виберіть «Властивості». У графі «Система» буде пункт «Процесор», який нам, власне, потрібний. Переписуєте його назву в той же Google або Yandex і дивіться на сайтах. Для достовірної інформаціїкраще вибирати офіційні портали виробника (Intel чи AMD).
Третій спосіб також не викликає проблем, але потребує встановлення додаткового софту на кшталт GPU-Z, AIDA64 та інших утиліт для вивчення специфікацій каменю. Варіант для любителів розгону та копошення в деталях.

Підсумки

Тепер ви розумієте, що таке кеш-пам'ять, від чого залежить її обсяг, і для яких цілей використовується надшвидкий масив даних. на даний моментНайбільш цікавими рішеннями на ринку в плані великого обсягу кеш-пам'яті, можна назвати пристрої AMD Ryzen 5 і 7 з 16 МБ L3.

У наступних статтях висвітлимо такі теми як процесорів, користь від чіпів і не лише. і залишайтеся з нами. До нових зустрічей поки що.

Йдеться не про готівку, а про кеш-Пам'яті процесорів і не тільки. З обсягу кеш-пам'яті торгаші створили ще один комерційний фетиш, особливо з кешем центральних процесорів і жорстких дисків(У відеокарт він теж є - але до нього поки не дісталися). Отже, є процесор ХХХ з кешем L2 об'ємом 1Мб, і такий самий процесор XYZ з кешем об'ємом 2Мб. Вгадайте, який краще? Аа – ось не треба так одразу!

Кеш-Пам'ять - це буфер, куди складається те, що можна і/або потрібно відкласти на потім. Процесор виконує роботу та виникають ситуації, коли проміжні дані потрібно десь зберегти. Ну, звичайно, в кеші! – адже він набагато швидше, ніж оперативна пам'ять, т.к. він у самому кристалі процесора і зазвичай працює на тій самій частоті. А потім, через якийсь час, ці дані він вивудить назад і знову їх оброблятиме. Грубо кажучи як сортувальник картоплі на конвеєрі, який щоразу, коли трапляється щось інше крім картоплі (морквина), кидає її в ящик. А коли той сповнений – встає і виносить йогоу сусідню кімнату. У цей момент конвеєр стоїть та спостерігається простий. Об'єм ящика і є кешу цій аналогії. І скільки йоготреба – 1Мб чи 12? Зрозуміло, що якщо йогооб'єм малий доведеться занадто багато часу приділять виносу і буде простий, але з якогось обсягу йогоподальше збільшення нічого не дасть. Ну буде ящик у сортувальника на 1000кг моркви - та в нього за всю зміну стільки її не буде і від цього він НЕ СТАНЕ У ДВА РАЗИ ШВИДШЕ! Є ще одна тонкість – великий кешможе викликати збільшення затримок звернення щодо нього по-перше, а заразом підвищується і можливість виникнення помилок у ньому, наприклад при розгоні – по-друге. (про те ЯК у цьому випадку визначити стабільність/нестабільність процесора і з'ясувати, що помилка виникає саме в йогокеше, протестувати L1 і L2 – можна прочитати тут.) По-третє – кешвижирає пристойну площу кристала та транзисторний бюджет схеми процесора. Те саме стосується і кешпам'яті жорстких дисків. І якщо архітектура процесора сильна – у нього буде затребувано у багатьох додатках 1024Кб кешу та більше. Якщо у вас швидкий HDD - 16Мб або навіть 32Мб доречні. Але ніякі 64Мб кешу не зроблять йогошвидше, якщо це обрізок під назвою грін версія (Green WD) з частотою оборотів 5900 замість 7200, нехай навіть у останнього буде і 8Мб. Потім процесори Intel та AMD по-різному використовують цей кеш(Взагалі кажучи AMD ефективніше і їх процесори часто комфортно задовольняються меншими значеннями). До того ж у Intel кешзагальний, а ось у AMD він персональний у кожного ядра. Найшвидший кеш L1 у процесорів AMD становить по 64Кб ​​на дані та інструкції, що вдвічі більше ніж у Intel. Кештретього рівня L3 зазвичай є у топових процесорів на кшталт AMD Phenom II 1055T X6 Socket AM3 2.8GHz або у конкурента в особі Intel Core i7-980X.Насамперед великі обсяги кешу люблять ігри. І кешНЕ люблять багато професійних програм (див. Комп'ютер для рендерингу, відеомонтажу та профдодатків). Точніше найвибагливіші до нього взагалі байдужі. Але чого точно не варто робити, то це вибирати процесор за обсягом кеша. Старенький Pentium 4 у останніх своїх проявах мав і по 2Мб кешу при частотах роботи далеко за 3ГГц – порівняйте йогопродуктивність з дешевим двоядерничком Celeron E1***, що працює на частотах близько 2ГГц. Він не залишить від старого каменя на камені. Найактуальніший приклад - високочастотний двоядерник E8600 вартістю трохи не 200 $ (мабуть через 6Мб кешу) та Athlon II X4-620 2,6 ГГц, у якого всього 2Мб. Це не заважає Атлон розробити конкурента під горіх.

Як видно на графіках – ні в складних програмах, ні в вимогливих до процесора іграх кешне замінить додаткових ядер. Athlon з 2Мб кешу (червоний) легко перемагає Cor2Duo з 6Мб кешу навіть за меншої частоти і мало не вдвічі меншої вартості. Також багато хто забуває, що кешє у відеокартах, тому що в них, взагалі кажучи, теж є процесори. Свіжий приклад відеокарти GTX460, де примудряються не тільки порізати шину та об'єм пам'яті (про що покупець здогадається) – а й КЕШшейдерів відповідно з 512Кб до 384Кб (про що покупець вже не здогадається). А це також додасть свій негативний внесок у продуктивність. Цікаво ще з'ясуватиме залежність продуктивності від обсягу кешу. Досліджуємо як швидко вона росте зі збільшенням обсягу кешу на прикладі одного й того самого процесора. Як відомо процесори серії E6***, E4*** та E2*** відрізняються лише об'ємом кешу (по 4, 2 та 1 Мб відповідно). Працюючи на однаковій частоті 2400МГц, вони показують наступні результати.

Як видно – результати не надто відрізняються. Скажу більше - якби брав участь процесор з обсягом 6Мб - результат збільшився б ще трохи, т.к. процесори досягають насичення. А ось для моделей з 512Кб падіння було б відчутним. Тобто 2Мб навіть в іграх цілком достатньо. Резюмуючи можна зробити такий висновок кешце добре, коли ВЖЕ багато всього іншого. Наївно і безглуздо змінювати швидкість обертів вінчестера або кількість ядер процесора на об'єм кешу за рівної вартості, бо навіть самий місткий ящик для сортування не замінить ще одного сортувальника. гарні приклади.. Наприклад Pentium Dual-Core у ранній ревізії по 65-нм процесу мав 1Мб кешу на два ядра (серія E2160 і подібні), а пізня 45-нм ревізія серії E5200 і далі має вже 2Мб за інших рівних умов (а головне – ЦІНА ). Звичайно ж, варто вибирати саме останній.

Вітаємо Вас на сайті GECID.com! Добре відомо, що тактова частотата кількість ядер процесора безпосередньо впливають на рівень продуктивності, особливо в оптимізованих під багатопоточність проектах. Ми вирішили перевірити, яку роль цьому грає кеш-пам'ять рівня L3?

Для дослідження цього питання нам був люб'язно наданий інтернет-магазином pcshop.ua 2-ядерний процесор з номінальною робочою частотою 3,7 ГГц та 3 МБ кеш-пам'яті L3 з 12 каналами асоціативності. У ролі опонента виступив 4-ядерний, у якого було відключено два ядра і знижено тактову частоту до 3,7 ГГц. Об'єм кешу L3 у нього становить 8 МБ, і він має 16 каналів асоціативності. Тобто, ключова різниця між ними полягає саме в кеш-пам'яті останнього рівня: у Core i7 її на 5 МБ більше.

Якщо це відчутно вплине на продуктивність, можна буде провести ще один тест з представником серії Core i5, у яких на борту 6 МБ кеша L3.

Але поки що повернемося до поточного тесту. Допомагатиме учасникам відеокарта та 16 ГБ оперативної пам'яті DDR4-2400 МГц. Порівнювати ці системи будемо в дозволі Full HD.

Для початку почнемо з розсинхронізованих живих геймплеїв, у яких неможливо однозначно визначити переможця. У Dying Lightна максимальних налаштуваннях якості обидві системи показують комфортний рівень FPS, хоча завантаження процесора і відеокарти в середньому було вищим саме у випадку Intel Core i7.

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

Гра DOOMна ультрависоких налаштуваннях графіки дозволила синхронізувати лише перші кілька кадрів, де перевага Core i7 складає близько 10 FPS. Розсинхронізація подальшого геймплей не дозволяє визначити ступінь впливу кеша на швидкість відеоряду. У будь-якому випадку частота трималася вище за 120 кадрів/с, тому особливого впливу навіть 10 FPS на комфортність проходження не мають.

Завершує міні-серію живих геймплей Evolve Stage 2. Тут ми, напевно, побачили б різницю між системами, оскільки в обох випадках відеокарта завантажена орієнтовно на половину. Тому суб'єктивно здається, що рівень FPS у випадку Core i7 вищий, але однозначно не можна сказати, оскільки сцени не ідентичні.

Інформативнішу картину дають бенчмарки. Наприклад, в GTA Vможна побачити, що за містом перевага 8 МБ кешу досягає 5-6 кадрів/с, а в місті – до 10 FPS завдяки вищому завантаженню відеокарти. При цьому сам відеоприскорювач в обох випадках завантажений далеко не максимум, і все залежить саме від CPU.

Третій відьмакми запустили з позамежними налаштуваннями графіки та високим профілем постобробки. В одній із заскриптованих сцен перевага Core i7 місцями досягає 6-8 FPS при різкій зміні ракурсу та необхідності підвантаження нових даних. Коли навантаження на процесор і відеокарту знову досягають 100%, то різниця зменшується до 2-3 кадрів.

Максимальний пресет графічних налаштувань у XCOM 2не став серйозним випробуванням для обох систем і частота кадрів знаходилася в районі 100 FPS. Але і тут більший обсяг кеш-пам'яті трансформувався на додаток до швидкості від 2 до 12 кадрів/с. І хоча обом процесорам не вдалося максимально завантажити відеокарту, варіант на 8 МБ і в цьому питанні місцями процвітав краще.

Найбільше здивувала гра Dirt RallyМи запустили з пресетом дуже високо. У певні моменти різниця сягала 25 кадрів/с виключно через більший обсяг кеш-пам'яті L3. Це дозволяло на 10-15% краще завантажувати відеокарту. Однак середні показники бенчмарку показали скромнішу перемогу Core i7 - всього 11 FPS.

Цікава ситуація вийшла і з Rainbow Six Siege: на вулиці, у перших кадрах бенчмарку, перевага Core i7 складала 10-15 FPS. Усередині приміщення завантаження процесорів та відеокарти в обох випадках досягло 100%, тому різниця зменшилася до 3-6 FPS. Але наприкінці, коли камера вийшла за межі будинку, відставання Core i3 знову перевищувало 10 кадрів/с. Середній показник опинився на рівні 7 FPS на користь 8 МБ кешу.

The Divisionпри максимальній якості графіки також добре реагує збільшення обсягу кеш пам'яті. Вже перші кадри бенчмарку на повну завантажили всі потоки Core i3, а ось загальне навантаження на Core i7 становило 70-80%. Однак різниця у швидкості в ці моменти становила лише 2-3 FPS. Трохи пізніше навантаження на обидва процесори досягло 100%, а різниця у певні моменти вже була за Core i3, але лише на 1-2 кадри/с. У середньому вона склала близько 1 FPS на користь Core i7.

У свою чергу бенчмаркRise of Tomb Riderпри високих налаштуваннях графіки у всіх трьох тестових сценах наочно показав перевагу процесора із значно більшим обсягом кеш пам'яті. Середні показники у нього на 5-6 FPS краще, але якщо уважно подивитися на кожну сцену, то місцями відставання Core i3 перевищує 10 кадрів/с.

А ось при виборі пресета з дуже високими налаштуваннями зростає навантаження на відеокарту та процесори, тому здебільшого різниця між системами зменшується до декількох кадрів. І лише короткочасно Core i7 може показувати значніші результати. Середні показники його переваг за підсумками бенчмарку знизилися до 3-4 FPS.

Hitmanтакож менше схильний до впливу кеш-пам'яті L3. Хоча і тут при ультрависокому профілі деталізації додаткові 5 МБ забезпечили найкраще завантаження відеокарти, перетворивши це на додаткові 3-4 кадри/с. Особливо критичного впливу на продуктивність вони не надають, але із суто спортивного інтересу приємно, що є переможець.

Високі налаштування графіки Deus ex: Mankind dividedвідразу ж зажадали максимальної обчислювальної потужності від обох систем, тому різниця у кращому разі становила 1-2 кадри на користь Core i7, на що вказує і середній показник.

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

За підсумками тестування можна відзначити, що вплив кеш-пам'яті L3 на продуктивність в іграх справді має місце, але воно проявляється лише тоді, коли відеокарта не завантажена на повну потужність. У таких випадках можна було б отримати приріст у 5-10 FPS, якби кеш збільшився у 2,5 рази. Тобто орієнтовно виходить, що за інших рівних кожен додатковий МБ кеш-пам'яті L3 додає лише 1-2 FPS до швидкості відображення відеоряду.

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

На цьому все. Дякуємо за увагу. Сподіваємося, цей матеріал був корисним та цікавим.

Стаття прочитана 20752 раз(и)

Підписатися на наші канали
  • Науково-популярне ,
  • Процесори
  • Чіпи на більшості сучасних настільних комп'ютерів мають чотири ядра, але виробники мікросхем вже оголосили про плани переходу на шість ядер, а для високопродуктивних серверів і сьогодні 16-ядерні процесори далеко не рідкість.

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

    Фізично розмістити максимально близько до процесора можна тільки дуже обмежений обсяг пам'яті - кеш процесора рівня L1, обсяг якого вкрай незначний. Даніель Санчес (Daniel Sanchez), По-Ан Цай (Po-An Tsai) та Натан Бекмен (Nathan Beckmann) – дослідники з лабораторії комп'ютерних наук та штучного інтелекту Массачусетського технологічного інституту – навчили комп'ютер конфігурувати різні види своєї пам'яті під гнучко формовану ієрархію реальний режим часу. Нова система, названа Jenga, аналізує об'ємні потреби та частоту звернення програм до пам'яті та перерозподіляє потужності кожного з 3 видів процесорного кешу в комбінаціях, що забезпечують зростання ефективності та економії енергії.


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

    Вони віртуально протестували 4 види програм на віртуальний комп'ютеріз 36 ядрами. Тестували програми:

    • omnet - Objective Modular Network Testbed, бібліотека моделювання C та платформа мережевих засобів моделювання (синій колір на малюнку)
    • mcf - Meta Content Framework (червоний колір)
    • astar - програмне забезпечення для відображення віртуальної реальності(зелений колір)
    • bzip2 - архіватор (фіолетовий колір)


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

    Рівні кешу

    Кеш центрального процесора поділено на кілька рівнів. Для універсальних процесорів – до 3. Найшвидшою пам'яттю є кеш першого рівня – L1-cache, оскільки розташована на одному з процесором кристалі. Складається з кешу команд та кешу даних. Деякі процесори без кешу L1 не можуть функціонувати. L1 кеш працює на частоті процесора, і звернення до нього може проводитись кожен такт. Найчастіше є можливим виконувати кілька операцій читання/запису одночасно. Обсяг зазвичай невеликий - трохи більше 128 Кбайт.

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

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

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


    Періодично Jenga на рівні ОС реконфігурує віртуальні ієрархії для мінімізації обсягів обміну даних з огляду на обмеженість ресурсів та поведінку додатків. Кожна реконфігурація складається із чотирьох кроків.

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

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

    Конфігурація умовної 36 ядерної машини

    • Процесори. 36 ядер, x86-64 ISA, 2.4 GHz, Silvermont-like OOO: 8B-wide
      ifetch; 2-Level bpred with 512×10-bit BHSRs + 1024×2-bit PHT, 2-way decode/issue/rename/commit, 32-entry IQ and ROB, 10-entry LQ, 16-entry SQ; 371 pJ/instruction, 163 mW/core static power
    • Кеші рівня L1. 32 KB, 8-way set-associative, split data and instruction caches,
      3-cycle latency; 15/33 pJ per hit/miss
    • Служба попередньої вибірки Prefetchers. 16-entry stream prefetchers modeled after and validated against
      Nehalem
    • Кеші рівня L2. 128 KB private per-core, 8-way set-associative, inclusive, 6-cycle latency; 46/93 pJ per hit/miss
    • Когерентний режим (Coherence). 16-way, 6-cycle latency directory banks for Jenga; in-cache L3 directories для інших
    • Global NoC. 6×6 mesh, 128-bit flits and links, X-Y routing, 2-cycle pipelined routers, 1-cycle links; 63/71 pJ router/link flit traversal, 12/4mW router/link static power
    • Блоки статичної пам'яті SRAM. 18 MB, один 512 KB bank per tile, 4-way 52-candidate zcache, 9-cycle bank latency, Vantage partitioning; 240/500 pJ per hit/miss, 28 mW/bank static power
    • Багатошарова динамічна пам'ять Stacked DRAM. 1152MB, один 128MB Vault для 4 tiles, Alloy with MAP-I DDR3-3200 (1600MHz), 128-bit bus, 16 ranks, 8 banks/rank, 2 KB row buffer; 4.4/6.2 nJ per hit/miss, 88 mW/vault static power
    • Основна пам'ять. 4 DDR3-1600 channels, 64-bit bus, 2 ranks/channel, 8 banks/rank, 8 KB row buffer; 20 nJ/access, 4W static power
    • DRAM timings. tCAS = 8, tRCD = 8, tRTP = 4, tRAS = 24, tRP = 8, tRRD = 4, tWTR = 4, tWR = 8, tFAW = 18 (усі таймінги в tCK; )

     

     

    Це цікаво: