Кеш процесора: види і принцип роботи

Різновиди похибок

Перша різновид промаху, яка носить назву Compulsory misses, проявляється тільки в тому разі, якщо адреса запитується в перший раз. Виправляє таке положення попередня вибірка, яка може бути апаратної або програмної.

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

Conflict misses – це, як видно з назви, промах, що з’явився в результаті конфлікту. Таке трапляється, коли процесор запитує ті дані, які кеш вже витіснив.

Трансляція адреси і її різновиди

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

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

Процес трансляції адрес:

  • Генератор адрес посилає на пристрій управління пам’яттю фізичну адресу, але по закінченню цілих кілька тактів. Ця особливість називається “Затримкою”.
  • “Ефектом накладення” можна вважати процес, коли на один фізичний адресу доводиться кілька віртуальних. Процесори відтворюють їх у певному порядку, який контролює програма. Однак щоб виконати дану опцію, потрібно запитати перевірку наявності одного примірника копії, який знаходиться в кеші.
  • Віртуальна адресна середовище поділена на блоки пам’яті закріпленого розміру, початок яких відповідає адресі з їх розмірами. Така особливість носить назву “Одиниця відображення”.