logo
AOM / Мельник А

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

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

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

Типовий фрагмент структури сучасного комп'ютера, в якому використовується два рівні кеш пам'яті, подано на рис. 10.6. Для зберігання даних і команд в кеш пам'яті пер-

364

того рівня використано розділені кеш пам'яті даних і команд. В свою чергу, обидві кеш пам'яті першого рівня зв'язані з єдиною кеш пам'яттю другого рівня, яка взаємодіє з основною пам'яттю. Зрозуміло, що обмін в підсистемі "кеш пам'ять L2 - кеш пам'ять да­них L1" є двостороннім, а в підсистемі "кеш пам'ять L2 - кеш пам'ять команд L1" - одно­стороннім.

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