Що таке кеш? Однорівневий та дворівневий кеш, їхня продуктивність.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2011
Тип роботи:
Державний іспит
Предмет:
Архітектура комп'ютерів
Варіант:
27

Частина тексту файла (без зображень, графіків і формул):

Що таке кеш? Однорівневий та дворівневий кеш, їхня продуктивність. 1. Розмір кешу та розмір блоку. 2. Функція відбиття кешу на головну пам’ять: - пряме відбиття. - асоціативне відбиття, - частково-асоціативне відбиття. 3. Алгоритм заміщення: - визначення “найстаршого” (за зверненням до нього) блоку LRU (Least Recently Used), - за дисципліною FIFO (First-In-First-Out), - блок, що найменшу кількість разів використовувався (Least Frequently Used), - випадковий алгоритм (не є гіршим). - інші (наприклад, Working Set). 4. Стратегія запису до кешу: - наскрізний запис (Write Through), повільність, - зворотній запис (Write Back з притаманою йому проблемою збереження когерентності пам’яті), Однорівневий кеш, продуктивність Кеш рівня 1 має забезпечити, насамперед, мінімальний час обслуговування ситуації влучення до кеша. У розглянутому више інформаційному тракті конвеєрної RISC машини передбачалося, що отримання інформації з пам'яті інструкцій та обмін інформацією із пам'яттю даних виконувався за один інтервал тактових імпульсів, тобто, назвичайно швидко. Ясно, що це можливо лише за умови використання роздільного надшвидкого кеша (для інструкцій і для даних, окремо) із високою імовірністю влучення до кешу. Розглянемо методику обчислення продуктивності так званої системи із розділенем кешем лише першого рівня на наступному прикладі. Нехай реальний кеш інструкцій для програми gcc має 2% промахів, а реальний кеш даних - 4% (отримано в спосіб моделювання). Хай наша машина має СРІ=2, коли усі звернення до пам'яті задовільняє кеш, а покарання за невлучення до будь-якого кеша дорівнює 40 тактових інтервалів (циклів). Визначити, у скільки разів скоршою є машина із ідеальним кешем, що задовільняє усі звернення до пам'яті на порівняння з машиною із реальним кешем?Питома вага інструкцій load/store складає для програми gcc 36%. Якщо програма компілятора містить І інструкцій, тоді ми маємо втратити при вибиранні інструкцій, що дорівнюють І*2%*40= 0.8*I циклів на очікування готовності пам'яті інструкцій. При обміні даними ми втратимо ще I*4%*36%*40=0.58*I циклів. Отже, відношення витрачених на виконання програми циклів для реального кеша до того самого при ідеальному кеші становить I*(2 + 0.8 + 0.58)/(I*2) = 3.38/2 = 1.69 разів. Тобто, реальний (і цілком непоганий) кеш першого рівня майже вдвічі пригальмував машину. Зауважимо, що статистичні 36% з розподілу інструкцій ми змінити не можемо, а ось вплинути на статистики 2% і 4% ми спроможні (в спосіб уведення додаткового кеша другого рівня). Дворівневий кеш, продуктивність Дворівневий кеш складено ієрархією кешів першого та другого рівнів. При чому місткість кешу другого рівня значно збільшеною у порівнянні із кешем першого рівня. Основною задачею кешу другого рівня є зменшення відсотку невлучень до нього, чого і досягають за рахунок певного зниження його швидкодії у порівнянні із процесором. Розглянемо задачу. Нехай маємо процесор із СРІ=1 за умови, що усі посилання на пам'ять задовільняє ідеальний кеш. Тактова частота процесора – 500 МГц. Час доступу до головної пам'яті складає 200 нс, враховуючі усі відпрацювання апаратури виправлення кешових промахів. Нехай також реально питома вага (у розрахунку на одну інструкцію) кешових промахів складає 5%. В скільки разів можна прискорити машину уведенням додаткового кешу другого рівня (доступ за 20 нс), який є достатньо містким, аби знизити кешові промахи до 2%? Покарання за невлучення до однорівневого кеша, що функціонує на частоті процера є 200нс / 2нс = 100 тактових інтервалів. Тоді реальне значення СРІ дорівнюватиме Реальне СРІ = Ідеальне СРІ + Число циклів пригальмування на одну інструкцію при невлученні до кешу. Маємо, що Реальне СРІ = 1.0 + 5%*100 = 6.0. Отже, при 5 відсотках невлучення до кешу у машині із наявним лише кешем першого рівня "досягли пригальмування в 6.0/1.0 = 6 разів. У дворівневій кешевій системі невлучення до кешу першого рівня автоматично спричинює звернення до кешу другого рівня. Якщо кеш другого рівня забезпечує час вибирання даних як 20 нс (50 МГц), тоді покараннят за звернення до кешу другого рівня є 20 нс / 2 нс = 10 тактових інтервалів. Ясно, що у машини із дворівневим кешем реальне число СРІ для кожної інструкції визначиться сумою ідеального СРІ плюс сума покарань за невлучення до кожного із двох кешів ( у найгіршому випадку маємо невлучення як до першого, так і до другого кешу, а от до головної пам'яті влучаємо завжди). Тоді Реальне СРІ = Ідеальне СРІ + зважені (затримки кешу першого рівня + затримки кешу другого рівня). Отже, Реальне СРІ = 1 + 5%* 10 + 2%* 100= 3.5. Тобто, уведення дворівневої ієрархії кеш-пам'яті зменшило пригальмування із 6-ти до 3.5 тактових інтервалів в розрахунку на одну інструкцію..
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!