Компютрите

отвън и отвътре

©Христо Тужаров, 2007

 КЕШ ПАМЕТ

 

[Home] [Карта на книгата] [Асеневци] [Инфопедия] [За проекта] [Начало на книгата]

ПАМЕТ НА КОМПЮТЪРА

 КЕШ ПАМЕТ 

СТАТИСТИЧНА ПАМЕТ SRAM

 

 

 

Определение за кеш памет

  • Кеш паметта е малка, високопроизводителна памет, която съхранява най-често използваните команди или данни.

  • Кеш паметта представа  бързодействащо (SRAM) запомнящо устройство, което е поместено в процесора или извън него.

  • Служи като високоскоростен буфер между процесора и относително бавната оперативна памет.

 

Йерархия на кеш паметите в компютъра

 

Идея за кеш паметта

Тъй като програмите периодично използват определено подмножество инструкции и данни, кеш паметта е ефективен начин за увеличаване производителността, без да се правят разходи за по-бърза оперативна памет.

 

Идеята за използване на кеш-памятта е базирана на прогнозиране най-вероятните обръщения на процесора към оперативната памет, като се използва подхода на временната локалност.

 

Подход на временната локалност

В съответствие с този подход, често използваните обекти от оперативната памет трябва да се намират по „близо” до процесора (в кеша).

 

В основата на този подход стои принципа за временна и пространствена локалност на програмите – ако процесорът се е обърнал към някой обект на оперативната памет, то с висока степен на вероятност, той скоро отново ще се обърне към този обект (пример – код или данни в цикъл) .

 

Методи за запис в кеш паметта

Съгласуват съдържимото в кеш паметта и това на оперативната памет. Като правило всички методи за запис, позволяват да се буферират и групират операциите за запис в оперативната памет.

  • Пълзящ запис  (write through) – едновременно с кеш паметта се обновява и оперативната памет.

  • Буфериран пълзящ запис (buffered write through) – данните се задържат в кеш буфер преди записа в оперативната памет и се преписват в оперативната памет по време на цикли, в които процесора не се обръща към нея.

  • Обратна  запис (write back) – използва се бит за промени в полето на тага и данните се преписват в оперативната памет, само когато битът е равен на 1.

              Типове данни в кеша

  • Данни, дублирани с данни в оперативната памет;

  • Признаци, указващи разположението на кешираните данни в оперативната памет.

 

 

Действие на кеш паметта

Когато процесорът осъществява операция четене, първо се проверява дали нужните данни не се намират в кеша. Ако са там, те се прочитат бързо, без да е необходим достъп до по-бавната основна памет /DRAM, ROM/. Ако данните или инструкциите не са в кеша , процесорът ги зарежда от основната памет, като съхранява и тяхното копие в кеша /при положение, че страницата от паметта е отбелязана като "кеш" от системния софтуер/. Така тези данни се намират на разположение  в кеш паметта при повторна заявка за тях. Колкото по- голяма е кеш паметта, толкова повече данни могат да се съхраняват в нея и толкова по - вероятно е заявената информация да се намира там. Кеш паметта е разделена на линии, сектори и блокове.

 

"Тag" памет пази информация за адресите от основната памет на намиращите се в кеша данни и състоянието на тези данни. Процесорът сравнява всеки адрес с текущото съдържание на тази памет . При наличие на съвпадение необходимите данни се намират в кеша . В противен случай данните се прочитат от основната памет, а съдържанието на кеш и Tag се опреснява.

 

примерен алгоритъм на четене от кеш паметите