Державний університет інформаційно - комунікаційних технологій
Курсова робота
на тему:
Кеш-пам'ять
практичне завдання: Дефрагментація диска
по предмету:
Операційні системи
виконав:
Волоха Олексій Володимирович
група ІБД-32б
Київ-2006
План
Теоретична частина
Кеш-пам'ять
Вступ 3
Причини впровадження кеш-пам'яті 4
Розділ 1 4
Що таке кеш-пам'ять? 4
Рівень за рівнем 5
Внутрішній кеш 6
Змішана і розділена кеш-пам'ять 9
Статична і динамічна пам'ять 10
TLB як різновид кеш-пам'яті 11
Розділ 2 11
Організація кеш-пам'яті 11
Стратегія розміщення 15
Відображення секторів ВП в кеш-пам'яті 15
Ієрархічна модель кеш-пам'яті 16
Асоціативність кеш-пам'яті 16
Розмір рядки і тега кеш-пам'яті 17
Типи підключення кеш-пам'яті 18
Сегментування кеш-пам'яті і швидкодія жорстких дисків 19
Збільшення продуктивності кеш-пам'яті 21
Навіщо збільшувати кеш? 21
Висновки 23
Практична частина
Дефрагментація диска 24
Література 27
Введення
В якості елементної бази основної пам'яті в більшості ЕОМ використовуються мікросхеми динамічних ОЗУ, на порядок поступаються за швидкодії центрального процесора. В результаті, процесор змушений простоювати кілька періодів тактової частоти, поки інформація з ІМС пам'яті встановиться на шині даних ЕОМ. Якщо ж ОП виконати на швидких мікросхемах статичної пам'яті, вартість ЕОМ зросте досить істотно.
Економічно прийнятне рішення цієї проблеми можливе при використанні дворівневої пам'яті, коли між основною пам'яттю і процесором розміщується невелика, але швидкодіюча буферна пам'ять або кеш-пам'ять. Разом з основною пам'яттю вона входить в ієрархічну структуру і її дія еквівалентно швидкому доступу до основної пам'яті. Використання кеш-пам'яті дозволяє уникнути повного заповнення всієї машини швидкої RAM пам'яттю. Зазвичай програма використовує пам'ять будь-якої обмеженої області, зберігаючи потрібну інформацію в кеш-пам'яті, робота з якої дозволяє процесору обходитися без всяких циклів очікування. У великих універсальних ЕОМ, основна пам'ять яких має ємність порядку 1-32 Гбайт, зазвичай використовується кеш-пам'ять ємність 1-12 Мбайт, тобто ємність кеш-пам'ять становить порядку 1/100-1/500 ємності основної пам'яті, а швидкодія в 5-10 разів вище швидкодії основної пам'яті. Вибір об'єму кеш-пам'яті - завжди компроміс між вартісними показниками (в Порівняно з ОП) та її ємністю, яка повинна бути досить великою, щоб середній час доступу в системі, що складається з основної і кеш-пам'яті, визначалося часом доступу до останньої. Реальна ефективність використання кеш-пам'яті залежить від характеру вирішуваних завдань і неможливо визначити заздалегідь, який обсяг її буде дійсно оптимальним.
Не всяка кеш-пам'ять рівнозначна. Велике значення має той факт, як багато інформації може містити кеш-пам'ять. Чим більше кеш-пам'ять, тим більше інформації може бути в ній розміщено, а отже, тим більша ймовірність, що потрібний байт буде міститися в цій швидкій пам'яті. Очевидно, що найбільший Найкращий варіант - це коли обсяг кеш-пам'яті відповідає обсягу всієї оперативної пам'яті. У цьому випадку вся інша пам'ять стає не потрібною. Вкрай протилежна ситуація - 1 байт кеш-пам'яті - теж не має практичного значення, тому що ймовірність того, що потрібна інформація виявиться в цьому байті, прямує до нуля.
У процесі роботи такої системи в буферну пам'ять копіюються ті ділянки ОП, до яких здійснюється поводження з боку процесора. Виграш досягається за рахунок властивості локальності, зважаючи на велику ймовірності звернення процесором до команд, які лежать в сусідніх осередках пам'яті.
Кеш-пам'ять, що складається з m слів, зберігає копії не менше, ніж m-слів з усіх слів основної пам'яті. Якщо копія, до адресою якої був виконаний доступ ЦП, існує в кеш-пам'яті, то зчитування завершується вже при доступі
до кеш-пам'яті. Відзначимо, що використання кеш-пам'яті грунтується на принципах просторової і тимчасової локальності. У разі просторової локальності основна пам'ять розбивається на блоки з фіксованим числом слів і обмін даними між основною пам'яттю і кеш-пам'яттю виконується блоками. При доступі до деякою адресою центральний процесор повинен спочатку визначити чи містить кеш-пам'ять копію блоку з вказаною адресою, і якщо є, то визначити, з якого адреси кеш-пам'яті починається цей блок. Цю інформацію ЦП отримує з допомогою механізму перетворення адрес.
Причини впровадження кеш-пам'яті
Явна необхідність у кеш-пам'яті при проектуванні масових ЦП проявилася на початку 1990-х рр.., коли тактові частоти ЦП значно перевищили частоти системних шин, і, зокрема, шини пам'яті. В даний час частоти серверних ЦП досягають майже 4 ГГц, а оперативної пам'яті, масово застосовуваної в серверах, - тільки 400 МГц (200 МГц з подвоєнням завдяки передачі по обох фронтах сигналу). У цій ситуації при прямому зверненні до пам'яті функціональні пристрої ЦП значну частину часу простоюють, чекаючи доставки даних. В якійсь мірі проблеми швидкодії оперативної пам'яті можуть бути вирішені збільшенням розрядності шини пам'яті, але навіть в серверах молодшого рівня нерідко зустрічається 8-16 гнізд для модулів пам'яті, тому таке рішення ускладнює дизайн системної плати. Прокласти ж 256 - або навіть 512-біт шину до розташованої всередині кристала ЦП кеш-пам'яті порівняно нескладно. Таким чином, ефективної альтернативи кеш-пам'яті в сучасних високопродуктивних системах не існує.
Розділ 1
Що таке кеш-пам'ять?
Кеш-пам'ять - це високошвидкісна пам'ять довільного доступу, яка використовується процесором комп'ютера для тимчасового зберігання інформації. Вона збільшує продуктивність, оскільки зберігає найбільш часто використовувані дані і команди В«ближчеВ» до процесора, звідки їх можна швидше отримати
Кеш-пам'ять безпосередньо впливає на швидкість обчислень і допомагає процесору працювати з більш рівномірним завантаженням. Уявіть собі масив інформації, використовуваної в вашому офісі. Невеликі обсяги інформації, необхідної в першу чергу, скажімо список телефонів підрозділів, висять на стіні над вашим столом. Точно так само ви зберігайте під рукою інформацію по поточних проектах. Рідше використовувані довідники, наприклад, міська телефонна книга, лежать на полиці, поруч з робочим столом. Література, до якої ви звертаєтеся зовсім рідко, займає полки книжкової шафи.
Комп'ютери зберігають дані в аналогічній ієрархії. Коли додаток починає працювати, дані та команди переносяться з повільного жорсткого диска в оперативну пам'ять довільного доступу (Dynamic Random Access Memory - DRAM), звідки процесор може швидко їх одержати. Оперативна пам'ять виконує роль кеша для жорсткого диска.
Для досить швидких комп'ютерів (наприклад, на основі intel-80386 з тактовою частотою більш 25 мгц або intel-80486) необхідно забезпечити швидкий доступ до оперативної пам'яті, інакше мікропроцесор буде простоювати і швидкодія комп'ютера зменшиться. Для цього такі комп'ютери можуть оснащуватися кеш-пам'яттю, тобто "Сверхоперативной" пам'яттю щодо невеликого обсягу (зазвичай від 64 до 256 кбайт), в якій зберігаються найбільше часто використовувані ділянки оперативної пам'яті. Кеш-пам'ять розташовується "між" мікропроцесором і оперативною пам'яттю, і при звертанні мікропроцесора до пам'яті спочатку виробляється пошук потрібних даних у кеш-пам'яті. Оскільки час доступу до кеш-пам'яті в кілька разів менше, ніж до звичайної пам'яті, а в більшості випадків необхідні мікропроцесору дані містяться в кеш-пам'яті, середній час доступу до пам'яті зменшується. Для комп'ютерів на основі intel-80386dx або 80486sx розм...