Принципи організації кеш-пам'яті та стекової пам'яті

один розряд - рядок у групі і два розряди - байт у рядку). Ознака, тобто 16 старших адресних розрядів, записується в рядок пам'яті ознак. Таким чином, для блоків з одним і тим самим індексом відводиться два рядки буфера. Отже, якщо один з рядків групи зайнято деяким блоком, то наступний блок з таким самим індексом буде розміщено у вільний рядок. Усередині групи кеш-пам'ять повністю асоціативна. Кількість порівнянь адрес ОЗП з ознаками дорівнює двом.

Зростання ємності кеш-пам'яті (тобто кількості рядків у групі) збільшує ефективність її роботи, проте зростає кількість порівнянь адреси і, отже, час оброблення запиту комірки ОЗП. Ефективність роботи кеш-пам'яті характеризується коефіцієнтом вдалих звернень. Кеш-пам'ять з прямим відображенням інформаційною ємністю Nxn має такий самий коефіцієнт вдалих звернень, що і двовхідна множинна асоціативна кеш-пам'ять ємністю (Nxn)/2.

Усі розглянуті типи кеш-пам'яті мають властивість зберігати окремі копії інформації, яка міститься в основній пам'яті. Під час запису в кеш-пам'ять може порушуватися цілісність збережуваних даних, тобто вміст кеш-пам'яті перестане відповідати вмісту ОЗП. Існує декілька способів відновлення інформації в ОЗП, основними з яких є спосіб наскрізного запису та спосіб зворотного запису.

Спосіб наскрізного запису полягає в тому, що інформація записується як у кеш-пам'ять, так і в ОЗП.

Спосіб зворотного запису передбачає запис інформації в ОЗП лише у тому разі, якщо вона змінюється в кеш-пам'яті. Кожному рядку кеш-пам'яті зіставляється спеціальний біт — біт запису, що вказує на зміну вмісту рядка. Заміщуючи рядок кеш-пам'яті новим блоком інформації з ОЗП, перевіряють стан біта запису, і якщо біт установлено, то виконують перезапис блока з кеш-пам'яті в ОЗП. Тільки після цього в кеш-пам'яті розміщується новий блок з ОЗП. Цей спосіб більш ефективний, оскільки дозволяє зменшити кількість звернень до ОЗП.

Правильне розміщення даних у ОЗП дозволяє раціонально організовувати роботу програмного забезпечення та підвищувати швидкодію роботи МПС, оскільки, по-перше, пов'язані між собою дані доцільно розміщувати у найближчих комірках ОЗП

У цьому разі під час завантаження блока даних у кеш-пам'ять існує висока ймовірність того, що після оброблення першого слова процесор обиратиме друге слово з кеш-пам'яті, а не з ОЗП, що дозволить ефективніше використовувати кеш-пам'ять. По-друге, під час запису треба вирівнювати дані в ОЗП по межі рядка кеш-пам'яті. Припустімо, що програма обробляє трибайтове слово, а довжина рядка кеш-пам'яті дорівнює 4 байт. Якщо розмістити слова в ОЗП підряд (рис. 5. 33), то частини одного трибайтового слова, наприклад, слів D2 та 03, будуть розміщені у сусідніх рядках кеш-пам'яті.

Рис. 5. 33. Розміщення трибайтових слів без вирівнювання по межі блока

Без вирівнювання даних досить часто трапляються невдалі звернення до кеш-пам'яті. На рис. 5. 34 показано запис трибайтових слів D1-D4, вирівняних по межі чотирибайтового рядка кеш-пам'яті.

Це дозволяє значно зменшити кількість невдалих звернень до кеш-пам'яті.

Рис. 5. 34. Розміщення трибайтових слів з вирівнюванням по межі чотирибайтового рядка кеш-пам'яті

Принципи організації стекової пам'яті

Стековою пам'яттю або стеком називають пам'ять, у якій реалізовано принцип: останній увійшов - перший вийшов (LIFO - Last Input First Output), тобто дані, записані останніми зчитуються першими. У МПС

1 2 3 4 5

Схожі роботи

Реферати

Курсові

Дипломні