WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Планування ресурсу „Оперативна пам’ять” - Реферат

Планування ресурсу „Оперативна пам’ять” - Реферат

декількох десятків до декількох сотень кілобайт, а час доступу до даних звичайно не перевищує 8 не.
І нарешті, верхівку в цій піраміді складають внутрішні регістри процесора, що також можуть бути використані для проміжного збереження даних. Загальний обсяг регістрів складає кілька десятків байт, а час доступу визначається швидкодією процесора і дорівнює в даний час зразково 2-3 нc.
Об'єм
Вартість
Десятки байт ?2-3 нс Час зберігання
доступу біта
Десятки-сотні
Кілобайт ?5-8 нс
Десятки
Мегабайт ?10-20 нс
Десятки
Десятки
Гігабайт мс
Рис.27 Ієрархія запам'ятовуючих пристроїв
Таким чином, можна констатувати сумну закономірність - чим більше обсяг пристрою, тим менш швидкодіючим воно є. Більш того, вартість збереження даних у розрахунку на один біт також збільшується з ростом швидкодії пристроїв. Однак користувачу хотілося б мати і недорогу, і швидку пам'ять.
6.1. Кеш-пам'ять
Кеш-пам'ять - це спосіб організації спільного функціонування двох типів ЗП, що відрізняються часом доступу і вартістю збереження даних, що дозволяє зменшити середній час доступу до даних за рахунок динамічного копіювання в "швидкий" ЗП найбільше часто використовуваної інформації з "повільного" ЗП.
Кеш-пам'яттю часто називають не тільки спосіб організації роботи двох типів запам'ятовуючих пристроїв, але й один із пристроїв - "швидкий" ЗП. Воно коштує дорожче і, як правило, має порівняно невеликий обсяг. Важливо, що механізм кеш-пам'яті є прозорим для користувача, що не повинний повідомляти ніякої інформації про інтенсивність використання даних і не повинний ніяк брати участь у переміщенні даних із ЗП одного типу в ЗП іншого типу, усе це робиться автоматично системними засобами.
Розглянемо окремий випадок використання кеш-пам'яті для зменшення середнього часу доступу до даних, що зберігається в ОП. Для цього між процесором і ОП міститься швидкий ЗП, названий просто кеш-пам'яттю (мал. 28). У якості такого може бути використана, наприклад, асоціативна пам'ять. Уміст кеш-пам'яті являє собою сукупність записів про всіх завантажених у неї елементах даних. Кожен запис про елемент даних містить у собі адреса, що цей елемент даних має в ОП, і керуючу інформацію: ознака модифікації й ознака звертання до даних за деякий останній період часу.
"Повільна" відповідь
запит
Структура кеш-пам'яті
Рис. 28. Кеш-пам'ять
6.2. Принцип кешування пам'яті
Кешування - це універсальний метод, придатний для прискорення доступу до ОП, до диска і до інших видів ЗП. Якщо кешування застосовується для зменшення середнього часу доступу до ОП, то в якості кеша використовують швидкодіючу статичну пам'ять. Якщо кешування використовується системою в/в для прискорення доступу до даних, що зберігається на диску, то в цьому випадку роль кеш-пам'яті виконують буфери в ОП, у яких осідають найбільше активно використовувані дані. ВП також можна вважати одним з варіантів реалізації принципу кешувания даних, при якому ОП виступає в ролі кеша стосовно зовнішньої пам'яті - жорсткому диску.
У системах, оснащених кеш-пам'яттю, кожен запит до ОП виконується у відповідності з наступним алгоритмом:
1. Проглядається вміст кеш-пам'яті з метою визначення, чи не знаходяться потрібні дані в кеш-пам'яті; кеш-пам'ять не є адресованою, тому пошук потрібних даних здійснюється по вмісту - значенню поля чи "адресу в ОП", взятому з запиту.
2. Якщо дані виявляються в кеш-пам'яті, то вони зчитуються з її, і результат передається в процесор.
3. Якщо потрібних даних , то вони разом зі своєю адресою копіюються з ОП в кеш-пам'ять, і результат виконання запиту передається в процесор. При копіюванні даних може виявитися, що в кеш-пам'яті немає вільного місця, тоді вибираються дані, до яких в останній період було найменше звертань, для витиснення з кеш-пам'яті. Якщо витіснені дані були модифіковані за час перебування в кеш-пам'яті, то вони листуються в ОП. Якщо ж ці дані не були модифіковані, то їхнє місце в кеш-пам'яті з'являється вільним.
На практиці в кеш-пам'ять зчитується не один елемент даних, до якого відбулося звертання, а цілий блок даних, це збільшує імовірність так називаного "влучення в кеш", тобто перебування потрібних даних у кеш-пам'яті.
Покажемо, як середній час доступу до даних залежить від імовірності влучення в кеш. Нехай мається основні ЗП із середнім часом доступу до даних t1 і кеш-пам'ять, що має час доступу t2, мабуть, що t2t = t1((1 - p) + t2(p
З її видно, що середній час доступу до даних у системі з кеш-пам'яттю лінійно залежить від імовірності влучення в кеш і змінюється від середнього часу доступу в основний ЗП (при р=0) до середнього часу доступу безпосередньо в кеш-пам'ять (при р=1).
У реальних системах імовірність влучення в кеш складає приблизно 0,9. Високе значення імовірності перебування даних у кеш-пам'яті зв'язано з наявністю в даних об'єктивних властивостей: просторової і тимчасової локальності.
· Просторова локальність. Якщо відбулося звертання по деякій адресі, то з високим ступенем імовірності найближчим часом відбудеться звертання до сусідніх адрес.
· Тимчасова локальність. Якщо відбулося звертання по деякій адресі, то наступне звертання по цій же адресі з великою імовірністювідбудеться найближчим часом .
Усі попередні міркування справедливі і для інших пар ЗП, наприклад, для ОП і зовнішньої пам'яті. У цьому випадку зменшується середній час доступу до даних, розташованим на диску, і роль кеш-пам'яті виконує буфер в ОП.
6.3. Узгодження швидкостей обміну і кешування даних.
При обміні даними завжди виникає задача узгодження швидкості. Узгодження швидкості звичайно досягається за рахунок буферизації даних в ОП і синхронізації доступу процесів до буфера.
У підсистемі в/в для узгодження швидкостей обміну також широко використовується буферизація даних в ОП. У тих спеціалізованих ОС, у яких забезпечення високої швидкості в/в є першочерговою задачею (керування в реальному часі, послуги мережної файлової служби і т.п.), велика частина ОП виділяється не під коди прикладних програм, а під буферизацію даних. Однак буферизація тільки на основі ОП в підсистемі в/в виявляється недостатньою - різниця між швидкістю обміну з ОП, куди процеси поміщають дані для обробки, і швидкістю роботи зовнішнього пристрою часто стає занадто значної, щоб як тимчасовий буфер можна було б використовувати ОП - її обсягу може просто не вистачити. Для таких випадків необхідно передбачити особливі міри, і часто як буфер використовується дисковий файл, названий також спул-файлом (від spool - шпулька, теж буфер, тільки для ниток). Типовий приклад застосування спулинга дає організація виводу даних на принтер. Для документів, що друкуються, обсяг у кілька десятків мегабайт - не рідкість, тому для їхнього тимчасового збереження (а печатка кожного документа займає від декількох хвилин до десятків хвилин) обсягу ОП явно
Loading...

 
 

Цікаве