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

Реферат Кеш-пам'ять





еш-пам'яті (випадку потрапляння-cache hit), запит на читання обслуговується тільки кеш-пам'яттю, не виходячи на зовнішню шину. Запит на запис модифікує цю рядок, і залежно від політики запису або відразу виходить на зовнішню шину (при наскрізний запису), або трохи пізніше (при використанні алгоритму зворотного запису). br/>









В 








Рис 1. Структура первинного кеша процесора 486


У випадку промаху (Cache Miss) запит на запис направляється тільки на зовнішню шину, а запит на читання обслуговується складніше. Якщо цей заріс відноситься до кешируємой області пам'яті, виконується цикл заповнення цілого рядка кеша - всі 16 байт (32 для Pentium) читаються з оперативної пам'яті і поміщаються в одну з рядків кеша, обслуговуючого даний адресу. Якщо витребувані дані не укладаються в одному рядку, заповнюється і сусідня. Заповнення рядка процесор намагається виконати найшвидшим способом - пакетним циклом з 32-бітними передачами (64-бітними для Pentium і старше). p> Внутрішній запит процесора на дані задовольняється відразу, як тільки витребувані дані зчитуються з ОЗУ - заповнення рядка до кінця може відбуватися паралельно з обробкою отриманих даних. Якщо в наборі, який обслуговує дана адреса пам'яті, є вільна рядок (з нульовим бітом достовірності), заповнена буде вона і для неї встановиться біт достовірності. Якщо вільних рядків у наборі немає, буде заміщена рядок, до якої найдовше не було звернень. Вибір рядка для заміщення виконується на основі аналізу біт LRU (Least Recently Used) за алгоритмом "псевдо-LRU". Ці біти (по три на кожен з наборів) модифікуються при кожному зверненні до рядка даного набору (кеш-попаданні або заміщенні).

Таким чином, виділення і заміщення рядків виконаються тільки кеш-промахів читання, при промахи запису заповнення рядків не проводиться. Якщо затребувана область пам'яті присутній у рядку внутрішнього кеша, то він обслужить даний запит. Управляти кешуванням можна тільки на етапі заповнення рядків; крім того, існує можливість їх анулювання - оголошення недостовірними і очищення всієї кеш-пам'яті. p> Очищення внутрішньої кеш-пам'яті при наскрізний запису (обнулення біт достовірності всіх рядків) здійснюється зовнішнім сигналом FLUSH # за один такт системної шини (І, звичайно ж, за сигналом RESET). Крім того, є інструкції анулювання INVD і WBINVD. Інструкція INVD анулює рядки внутрішнього кеша без вивантаження модифікованих рядків, тому її необережне використання при включеній політиці зворотного запису може призвести до порушення цілісності даних в ієрархічній пам'яті. Інструкція WBINVD попередньо вивантажує модифіковані рядки в основну пам'ять (при наскрізний запису її дію співпадає з INVD). При зворотного запису очищення кешу увазі і вивантаження всіх модифікованих рядків в основну пам'ять. Для цього, природно, може знадобитися і значне число тактів системної шини, необхідних для проведення всіх операцій запису. p> Анулювання рядків виконується зовнішніми схемами - воно необхідно в системах, у яких в оперативну пам'ять запис може виробляти не тільки один процесор, а й інші контролери шини - процесор або периферійні контролери. У цьому випадку потрібні спеціальні засоби для підтримки узгодженості даних у всіх щаблях пам'яті - в первинної та вторинної кеш-пам'яті і динамічного ОЗУ. Якщо зовнішній (по відношенню до розглянутого процесору) контролер виконує запис в пам'ять, процесору повинен бути поданий сигнал AHOLD. З цього сигналу процесор негайно віддає керування шиною адреси A [31:4], на якій зовнішнім контролером встановлюється адреса пам'яті, супроводжуваний стробом EADS #. Якщо адресована пам'ять присутній у первинному кеші, процесор анулює рядок - скидає біт достовірності цього рядка (вона звільняється). Анулювання рядка процесор виконує в будь-якому стані. p> Управління заповненням кешу можливо і на апаратній і на програмному рівнях. Процесор дозволяє кешувати будь-яку область фізичної пам'яті. Зовнішні схеми можуть забороняти процесору кешувати певні області пам'яті установкою високого рівня сигналу KEN # під час циклів доступу до цих областей пам'яті. Цей сигнал управляє тільки можливістю заповнення рядків кешу з адресованої області пам'яті. Програмно можна управляти кешувального кожної сторінки пам'яті - забороняти одиничним значенням біта PCD (Page Cache Disable) у таблиці або каталозі сторінок. Для процесорів з WB-кешем біт PWT (Page Write Through) дозволяє посторінково управляти і алгоритмом запису. Загальне програмне керування кешуванням здійснюється за допомогою біт керуючого регістру CR0: CD (Cache Disable) і NW (No Write Through). Можливі такі поєднання біт ре...


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





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

  • Реферат на тему: Способи запису інформації на вінчестер, головки читання-запису
  • Реферат на тему: Пристрій запису і читання даних з Flash-пам'яті
  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Структура команди мови запитів SQL. Простий запит. Багатотабличного запит
  • Реферат на тему: Сортування рядків матриці в програмі Pascal