Що таке спільна память?

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

Спільна пам'ять в апаратному забезпеченні

Більшість сучасних ЦП мають три рівня кеш-пам’яті, які називаються L1, L2 і L3. L1 — найменший і найшвидший кеш, а L3 — найбільший і найповільніший. Однак усі вони швидші, ніж доступ до основної пам’яті, що робить частоту попадань критичною для продуктивності. Багато факторів роблять кеш L1 швидшим, ніж L3. По-перше, комірки пам'яті L1 фізично більші. Їх також менше, і вони розташовані набагато ближче до ядра процесора, часто всередині нього.

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

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

Спільний кеш — це кеш, який доступний для кількох або всіх ядер багатоядерного ЦП. Спільний кеш означає, що кілька ядер можуть отримати доступ до одного екземпляра певних даних, обмежуючи втрачений простір через дублювання. Це також означає, що одне ядро ​​може тимчасово вимагати більше, ніж належна йому частка простору кешу, якщо воно йому потрібно, тоді як інші ядра цього не роблять. Це відбувається за рахунок збільшення часу доступу.

Спільні кеші на практиці

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

Порада. Для чіплетних процесорів, як-от високоякісних моделей AMD Ryzen, кеш-пам’ять може бути спільним між усіма ядрами чіплета, а не всіма ядрами всього ЦП. Немає значення, скільки ядер використовується кеш-пам'ять; навіть якщо це лише два, це все одно спільний кеш, хоча варто підкреслити, що він лише частково спільний.

Примітка. Системну оперативну пам’ять також можна спільно використовувати між декількома фізичними ЦП на одній материнській платі або між вузлами багатопроцесорної системи.

Спільна пам'ять у програмному забезпеченні

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

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

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

Висновок

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

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


Як клонувати жорсткий диск

Як клонувати жорсткий диск

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

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Ви стикаєтеся з повідомленням про помилку під час завантаження комп’ютера, у якому йдеться про те, що драйвер WUDFRd не вдалося завантажити на ваш комп’ютер?

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Ви відчуваєте код помилки NVIDIA GeForce 0x0003 на робочому столі? Якщо так, прочитайте блог, щоб дізнатися, як швидко та легко виправити цю помилку.

Що таке SMPS?

Що таке SMPS?

Перш ніж вибрати SMPS для свого комп’ютера, дізнайтеся, що таке SMPS і значення різних показників ефективності.

Чому мій Chromebook не вмикається

Чому мій Chromebook не вмикається

Отримайте відповіді на запитання «Чому мій Chromebook не вмикається?» У цьому корисному посібнику для користувачів Chromebook.

Як повідомити Google про фішинг

Як повідомити Google про фішинг

Дізнайтеся, як повідомити про шахрая в Google, щоб запобігти йому обманювати інших за допомогою цього посібника.

Roomba зупиняється, залипає та розвертається – виправлення

Roomba зупиняється, залипає та розвертається – виправлення

Вирішіть проблему, коли ваш робот-пилосос Roomba зупиняється, залипає та продовжує обертатися.

Як змінити налаштування графіки на Steam Deck

Як змінити налаштування графіки на Steam Deck

Steam Deck пропонує надійний і універсальний ігровий досвід прямо у вас під рукою. Однак, щоб оптимізувати вашу гру та забезпечити найкраще

Що таке безпека на основі ізоляції?

Що таке безпека на основі ізоляції?

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

Як використовувати Auto Clicker для Chromebook

Як використовувати Auto Clicker для Chromebook

Сьогодні я збирався заглибитися в інструмент, який може автоматизувати повторювані завдання на вашому Chromebook: Auto Clicker. Цей інструмент може заощадити ваш час і