Частина тексту файла (без зображень, графіків і формул):
Принципи кешування даних. Реалізація запитів до основної пам’яті в системі з кеш-пам’яттю.
Ієрархію запам’ятовуючого пристрою можна представити таким чином:
Кеш-память спосіб організації сумісного функціонування двох типів запамятовуючого пристрою які відр. часом доступу до даних за рахунок динамічного копіювання у швидкій запамятовуючий пристрій інформ. з повільного зап. пристрою.
При чому інформація, що найбільш часто використов.
Вартість кеш-памяті >. Він має не великий обєм, механ кеш-память прозорий програмісту, програміст не повинен повідомляти ніякої інформації про інтенсивне використання памяті і не повинен приймати участі у переміщені даних з запамятовуючого пристрою одного типу у запам пристрій іншого типу. Все це робить автомат сист. засоб.
Розглянемо один варіант використання кеш-памяті для зменшеня середнього часу доступу до даних, які зберігаються в ОП.
Розглянемо випадок використання кеша-даних:
Між ОП і ЦП розм. шв. запит пр. кеш. Вміст кеш-памяті представляє собою сукупність записів про всі елементи даних які в неї завантажені. Кожен запис про елемент даних включає в себе адресу яку цей елемент даних має в основній памяті і керуючу інформацію, модифік. цих даних і ознаку звертання до даних за деякій останній період часу в системах з кеш памятю.
Кожен запит до ОП виконується в такий спосіб:
Перегляд вмісту Кеш-памяті з метою визначення, чи не знаходяться вже потрібні дані в кеші. Кеш-память не є адресованою, тому пошук потрібних даних виконується шляхом аналізу поля адреси даних в ОП, а ця адреса береться із запиту.
Якщо дані є в кеш-памяті то вони читаються з неї і передаються в процесор.
Якщо потрібних даних в кеші нема то вони разом із своєю адресою копіюються з основної памяті в кеш-память і одночасно передаються в ЦП.
При копіюванні даних може виявитись, що в кеш-памяті немає вільного місця і тоді вибираються дані до яких в останній пріод часу було найменше звертань і вони вилучались з кеш-памяті. Якщо дані які вилучались були модифіковані за час свого знаходження в кеш-памяті, то вони передаються в основну память. Якщо модифікації не було (їх копія є в ОП), то їх місце в кеш-памяиі оголошується вільним. На практиці в кеш зчитується цілий блок, це збільшує ймовірність “попаданння в кеш” , тобто знаходження потрібних даних в кеш-памяті.
Покажемо що середнiй час доступу до даних залежить вiд ймовiрностi попадання в кеш,тобто вiд ймовiрностi знаходження потрiбних даних в кешi. Припустимо, що маємо ОП iз середнiм часом доступу до даних t1 i кеш iз середнiм доступом до неї t2 (t2<t1). Позначимо через t-середнiй час доступу до даних в системi iз кеш пам'ятю, а p- ймовiрнiсть попадання в кеш. З формули повної ймовірності t=t1(1-p)+t2*p, бачимо, що середнiй час доступу в системi iз кеш, лiнiйно залежить вiд ймовiрностi попадання в кеш i мiняється вiд середнього часу доступу до ОП при p=0 до середнього часу доступу безпосередньо в кеш при p=1. В реальних системах ймовiрнiсть попадання в кеш 0,9. Таке велике значення ймовірності пов'язане з наявнiстю у даних об'єктивних властивостей, а саме просторової локальностi та часової локальностi.
Просторова локальнiсть: Якщо вiдбувається звертання за деякою адресою з високим ступенем ймовiрностi то в найближчий час вiдбудеться звертання до сусiднiх адрес.
Часова локальнiсть: Якщо вiдбулося звертання за деякою адресою то наступне звертання за такоюж адресою вiдбудеться в найближчий час. Всi цi мiркування справедливi i для iнших ЗП.