Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Повністю асоціативне відображенняСодержание книги
Поиск на нашем сайте
Взаємодія основної пам’яті з кеш пам’яттю з використанням повністю асоціативного відображення показана нарис. 10.8 а.
Відповідно до цього типу відображення вміст будь-якого блоку основної пам’яті може знаходитись в будь-якому блоці кеш пам’яті. При використанні асоціативного відображення адреса, яка поступає з процесора до основної пам’яті, ділиться-на два поля: поле тега і поле слова (рис. 10.8 Ь). Вміст поля тега вказує адресу блоку в основній пам’яті. Розрядність цього поля рівна k = log2K, де К - кількість блоків в основній пам’яті. А вміст поля слова вказує адресу слова в блоці. Розрядність цього поля рівна m = log^M, де М - кількість слів в блоці. При даному способі відображення кожен рядок кеш пам’яті вміщує наступну інформацію: тег, який вказує вміст якого блоку основної пам’яті переписано до даного блоку кеш пам’яті, розряд достовірності (valid bit V), який вказує, чи вміст даного блоку кеш пам’яті дійсно належить вказаному тегом блоку основної пам’яті, розряд модифікації (dirty bit D), який інформує про внесення змін до вмісту блоку кеш пам’яті, а також вміст вказаного тегом блоку основної пам’яті. Використання розряду модифікації пов’язано з тим, що вміст блоку в кеш пам’яті може змінюватись. Тому, якщо він не змінився, немає необхідності переписувати його назад до основної пам’яті, так як там вже є копія. Якщо ж змінився, потрібно переписати. Тому для фіксації змін в блоках кеш пам’яті до рядка кеш пам’яті і вводиться розряд модифікації D, який дозволяє суттєво зменшити час обміну. Коли процесору потрібний операнд із блоку з певною адресою, контролер кеш пам’яті повинен шукати його шляхом порівняння відповідних розрядів адреси з тегами всіх блоків кеш пам’яті. Якщо таке порівняння здійснювати послідовно, то кеш пам’ять втрачає зміст через низьку швидкодію. Доцільніше таке порівняння робити одночасно зі всіма тегами, як це показано на рис. 10.9. В цьому випадку кожен блок кеш пам’яті повинен містити свій компаратор, тобто це буде пам’ять з асоціативним доступом. При наявності в кеш пам’яті відповідного тега, та при одиничному значенні розряду достовірності, кеш пам’ять видає сигнал підтвердження попадання та надає доступ до відповідного блоку. При побудові кеш пам’яті малої ємності використання пам’яті з асоціативним доступом є доцільним, оскільки дозволяє швидко ідентифікувати потрібну інформацію та реалізувати найефективніший спосіб відображення. При побудові кеш пам’яті великої ємності використання пам’яті з асоціативним доступом стає проблематичним через складність реалізації та великі габарити. Пряме відображення Взаємодія основної пам’яті з кеш пам’яттю з використанням прямого відображення показана на рис. 10.10а. Тут вміст кожного блоку основної пам’яті можна копіювати лише до наперед визначеного блоку кеш пам’яті Одна з можливих реалізацій використовує розрядне відображення. Тут додатково до того, як це було зроблено для асоціативного відображення, к-розрядне поле адреси блоку в основній пам’яті розбивається на дві частини: поле тега г та поле номера блоку в (рис. Ю.ЮЬ). Тим самим основна пам’ять ділиться на секції, за кожною з яких закріплюється відповідна бирка (або ознака), яку називають тегом. Кількість Я секцій (а значить і кількість тегів) рівна відношенню ємності основної пам’яті до ємності кеш пам’яті, або, що є тим самим, відношенню кількості К блоків в основній пам’яті, до кількості Б блоків в кеш пам’яті. Розрядність поля тега визначається з виразу г = ^,К/5 - (2к/2*) = к - з. Кількість Б блоків в кожній секції рівна кількості блоків в кеш пам’яті. Тобто ємність секції рівна ємності кеш пам’яті. Наприклад, якщо в адресі блоку основної пам’яті присутні к розрядів, то молодші п з них вибирають, в який блок кеш пам’яті може копіюватись вміст блоку основної пам’яті. Отже, вміст всіх блоків з однаковими молодшими адресами потрапляє в один і той самий блок кеш пам’яті. Інші г=к-з розрядів адреси, що залишилися, використовуються як адресний тег, який використовується для порівняння з адресою, виданою процесором з метою пошуку номера секції в основній Для наведеної вище умови, коли що основна пам ять має ємність 1 ГБ, а кеш пам ять - 16 КБ, вони поділені на блоки ємністю по 32 Б, тобто кількість блоків в основній пам’яті рівна 225, а в кеш пам’яті - 29, маємо: повна розрядність адреси п = ЗО, причому поле адреси блоків основної пам’яті займає к = 25 розрядів, поле номера тега (тобто номера секції в основній пам’яті) г - 16 розрядів, поле номера блоку в секції (в кеш пам’яті) п = 9 розрядів, поле адреси слова в блоці т = 5 розрядів (рис. ІО.ІОЬ). Зауважимо, що процесор не сприймає структурної інтерпретації адреси, наведеної на рис. ІО.ІОЬ. Таку інтерпретацію адресі надає лише контролер кеш пам’яті, коли перехоплює цю адресу, що призначена основній пам’яті (в гарвардській архітектурі це може бути як пам’ять даних, так і пам’ять команд). Контролер кеш пам’яті за допомогою дев’яти середніх розрядів слова адреси звертається до визначеного цими розрядами блоку власної пам’яті. Зрозуміло, що шуканий в такий спосіб блок завжди присутній в кеш пам’яті. Адже кеш пам’ять вміщує 512 блоків. Але вміст віднайденого блоку кеш пам’яті може бути копією не одного, а одного з декількох дозволених на копіювання блоків основної пам’яті. Наприклад, до нульового блоку кеш пам’яті дозволено копіювати вміст наступних блоків основної пам’яті: 0, 128, 256, 512 і т. д. Усього до кожного блоку кеш пам’яті можна скопіювати вміст одного з 216 = 65536 блоків основної пам’яті, оскільки ємність основної пам’яті в 65536 разів перевищує ємність кеш пам’яті. Постає завдання визначити, чи є поточне наповнення вказаного блоку кеш пам’яті відповідним до запиту процесора. Завдання розв’язують за допомогою вмісту старших 16 бітів адреси основної пам’яті, які утворюють поле із назвою Тег Основною перевагою тут є те, що кеш пам’ять має структуру звичайної пам’яті з довільним доступом, тому потрібен лише один компаратор (рис. 10.11).
При даному способі відображення кожен рядок кеш пам’яті вміщує наступну інформацію: тег, який вказує вміст блоку з якої секції основної пам’яті переписано до даного блоку кеш пам’яті, розряд достовірності (valid bit V), який вказує чи вміст даного блоку кеш пам’яті дійсно належить блоку основної пам’яті, вказаному s розрядами поля адреси, розряд модифікації (dirty bit D), який інформує про внесення змін до вмісту блоку кеш пам’яті, а також вміст блоку основної пам’яті, вказаного s розрядами поля адреси. Коли процесору потрібний операнд із блоку з певною адресою, контролер кеш пам’яті вибирає з пам’яті тегів відповідний номеру блоку в кеш пам’яті тег, та порівнює його з відповідними г розрядами адреси, в яких вказано тег. При наявності в кеш пам’яті відповідного тега та при одиничному значенні розряду достовірності кеш пам’ять видає сигнал підтвердження попадання та надає доступ до відповідного блоку Отже пам’ять такого типу може мати велику ємність. Основний недолік закріплення за кожним блоком однієї секції основної пам’яті одного блоку в кеш пам’яті, тому в кеш пам’яті може знаходитись обмежене число вмісту блоків основної пам’яті Якщо процесор почергово звертається до даних з двох різних секцій основної пам’яті, які відображаються на той же блок кеш пам’яті, то ймовірність попадання буде низькою. Як наслідок, збільшується кількість промахів і, відповідно, час звернення до пам’яті
|
||||
Последнее изменение этой страницы: 2016-08-01; просмотров: 225; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.143.21 (0.008 с.) |