Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Кешування даних

Реферат Кешування даних





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

На початку кожного звернення до Кешована пам'яті контролер першим ділом зчитує осередок каталогу з заданим індексом, порівнює біти адреси тега зі старшими бітами адреси пам'яті та аналізує ознака дійсності. Цей аналіз виконується в спеціальному циклі стеження (snoop cycle), іноді його називають циклом запиту (inquire). Якщо в результаті аналізу з'ясовується, що необхідний блок не знаходиться в кеші, то генерується (або продовжується) цикл звернення до основної пам'яті (випадок кеш-промаху). У разі потрапляння запит обслуговується кеш-пам'яттю. У разі промаху після зчитування основної пам'яті приймачем інформації нові дані поміщаються в рядок кеша (якщо вона чиста), а в її тег поміщаються старші біти адреси і встановлюється ознака дійсності даних. Незалежно від обсягу витребуваних даних з основної пам'яті рядок переписується в кеш вся цілком (оскільки ознака дійсності відноситься до всіх її байтам). Якщо контролер кеша реалізує випереджаюче зчитування (read ahead), то в наступні вільні цикли шини оновиться і наступна рядок (якщо вона була чистою). Читання «про запас» дозволяє при необхідності здійснювати пакетний цикл читання кеш через кордон рядка.

Такий кеш має найпростішу апаратну реалізацію і застосовується у вторинному кеші більшості системних плат. Однак йому притаманний серйозний недолік, цілком очевидний при розгляді рис. 2. Якщо в процесі виконання програми процесору почергово будуть вимагатися блоки пам'яті, зміщені відносно один одного на величину, кратну розміром сторінки (на малюнку це будуть блоки, розташовані на одній горизонталі в різних сторінках), то кеш буде працювати інтенсивно, але вхолосту (cache trashing). Чергове звернення буде заміщати дані, лічені в попередньому і зажадають в подальшому зверненні, - тобто буде суцільна низка кеш-промахів. Перемикання сторінок в багатозадачних ОС також знижує кількість кеш-влучень, що відбивається на продуктивності системи. Збільшення розміру кеша при збереженні архітектури прямого відображення дасть не дуже суттєвий ефект, оскільки різні завдання будуть претендувати на одні й ті ж рядка кеша. Не збільшуючи обсягу, можна підвищити ефективність кешування зміною структури кешу, про що піде мова далі.

Обсяг Кешована пам'яті (M CACHED) при архітектурі прямого відображення визначається об'ємом кеш-пам'яті (V CACHE) і розрядністю пам'яті тегів (N): CACHED=V CACHE x 2 N, в нашому випадку M CACHED= 256 Кбайт х 2 8=64 Мбайт.

Іноді в описі кеша прямого відображення фігурує поняття набір (set), що може збити з пантелику. Воно застосовується замість терміна рядок (line) в секторірованном кеші прямого відображення, а сектор тоді називають рядком.

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


Рис. 3. Секторірованний кеш прямого відображення.


2.2 набірний-асоціативний кеш


набірний-асоціативна архітектура кеша дозволяє кожному блоку Кешована пам'яті претендувати на одну з кількох рядків кеша, об'єднаних в набір (set).

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

У найпростішому випадку кожен блок пам'яті може поміщатися в одну з двох рядків (Two Way SetAssociative Cache). Такий кеш повинен містити два банки пам'яті і тегів (рис. 4).


Рис. 4. Двоканальний набірний-асоціативний кеш.


Номер набору (індекс), в якому може відображатися викликана блок даних, однозначно визначається середньою частиною адреси (як номер рядка в кеші прямого відображення). Рядок набору, що відображає необхідний блок, визначається порівнянням тегів (як і в асоціативному кеші), паралельно виконуваних для всіх каналів кеша. Крім того, з кожним набором повинен бути пов'язаний ознака, що визначає рядок набору, що підлягає заміщенню новим блоком даних у разі кеш-промаху (на рис. 4 в її бік вказує стрілка). Кандидатом на заміщен...


Назад | сторінка 4 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Сон як літературний метод відображення дійсності
  • Реферат на тему: Свідомість як форма відображення об'єктивної дійсності
  • Реферат на тему: Реаліті-шоу: форма відображення дійсності чи мильна опера?
  • Реферат на тему: Особливості відображення дійсності в малюнках хлопчиків і дівчаток 5 років ...