Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кеш пам'ять в складі комп'ютера. Порядок взаємодії процесора і основної пам'яті через кеш пам'ять

Поиск

Організація обміну інформацією між процесором і основною пам’яттю через кеш пам’ять

Кеш пам'ять в складі комп'ютера

Звернення процесора до основної пам’яті завжди локалізовано в невеликому діапа­зоні змін її адрес. Застосування кеш пам’яті ґрунтується на обох принципах локальності за зверненням: в ній використовується часова локальність, оскільки зберігається вміст комірок, до яких недавно відбулося звернення, та використовується просторова локаль­ність, оскільки в блоках даних зберігається вміст множини сусідніх комірок.

Кеш пам’ять розташована між процесором і основною пам’яттю. Це швидка буферна пам’ять невеликої ємності. Кеш пам’ять працює на близькій тактовій частоті до проце­сора і не пригальмовує його роботу. Кеш пам’ять (cache в перекладі з англ. - тайник) за­лишається прозорою для програміста, тому що система команд процесора, як правило, не містить команд роботи з кеш пам’яттю.

Типовий фрагмент структури сучасного комп’ютера, в якому використовується два рівні кеш пам’яті, подано на рис. 10.6. Для зберігання даних і команд в кеш пам’яті пер­шого рівня використано розділені кеш пам’яті даних і команд. В свою чергу, обидві кеш пам’яті першого рівня зв’язані з єдиною кеш пам’яттю другого рівня, яка взаємодіє з основною пам’яттю Зрозуміло, що обмін в підсистемі “кеш пам’ять L2 - кеш пам’ять да­них L1” є двостороннім, а в підсистемі “кеш пам’ять L2 - кеш пам’ять команд L1” - одно­стороннім.

Процесор команд і даних більшої шнасті розшаруванням Рис. 10.6. Фрагмент структури сучасного комп’ютера

 

Наведена структура ефективно поєднала риси Принстонської і Гарвардської архітек­тур. Такий підхід вигідніший, ніж побудова швидкої основної пам’яті без використання

проміжної кеш пам’яті.

Порядок взаємодії процесора і основної пам'яті через кеш пам’ять

Основні правила організації кеш пам’яті та основної пам’яті, які забезпечують їх ефективну взаємодію, є наступними:

■ Кеш і основна пам’яті діляться на блоки однакового розміру, тобто вони можуть вміщувати однакову кількість слів.

■ Базовою порцією інформації, яка переміщується між основною та кеш пам’яттю, є вміст одного блоку.

■ Кожний блок має свій номер.

■ Нумерація комірок в кожному блоці однакова.

■ В кожний момент часу в блоках кеш пам’яті знаходиться вміст декількох пере­писаних із основної пам’яті блоків.

■ Кожне слово кеш пам’яті супроводжується адресним тегом, що вказує на те, вміст якого блоку основної пам’яті є переписаним до блоку кеш пам’яті, в якому знаходиться слово.

■ Ідентичність вмісту блоків кеш пам’яті та основної пам’яті забезпечується ви­користанням спеціальних методів оновлення вмісту блоків основної пам’яті.

■ Заміна вмісту одних блоків в кеш пам’яті вмістом інших блоків з основної пам’яті здійснюється за правилами, які називають алгоритмом заміщення.

■ Між блоками основної пам’яті та кеш пам’яті встановлюється відповідність, яка задається функцією відображення.

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

Процесор формує адреси для взаємодії з основною пам’яттю і не враховує наявність кеш пам’яті. Він видає адресу комірки основної пам’яті і сигнали запису або зчитування. Контролер кеш пам’яті визначає, чи вміст блоку з даною коміркою знаходиться в кеш пам’я­ті. Якщо так (попадання), то при зчитуванні з процесором взаємодіє лише кеш пам’ять, а при записі для забезпечення ідентичності вмісту блоків кеш і основної нам’яті може бути два варіанти. При першому варіанті здійснюється одночасний запис операнда в комірку з тією ж адресою в кеш пам’яті та в основній пам’яті. При другому варіанті одночасний за­пис не здійснюється, а використовується біт модифікації. Саме ж заміщення вмісту даної комірки основної пам’яті відбувається пізніше, при заміщенні в кеш пам’яті вмісту даного блоку Оскільки питання забезпечення ідентичності вмісту блоків кеш пам яті та основної пам яті є важливим, в наступному пункті воно буде розглянуто детальніше

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

Таким чином, кеш пам’ять перехоплює сигнали читання/запису, які процесор надси­лає до основної пам’яті, а коли потрібно, то надає процесору копії даних, які тимчасово зберігає у власній робочій пам’яті. Якщо кеш пам’ять спроможна підмінити собою осно­вну пам’ять (у понад 96-98 відсотків випадків), тоді вона за рахунок власних ресурсів задовольняє запит процесора. Процесор не пригальмовується і продовжує працювати на повній швидкості. Коли “підміна” основної пам’яті неможлива (менше від двох-чо- тирьох відсотків випадків), тоді кеш пам’ять залучає до роботи основну пам’ять, обмін з якою суттєво пригальмовує процесор

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

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



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 522; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.209.244 (0.005 с.)