Кеш меморија

Из Википедије, слободне енциклопедије

Кеш меморија је меморија малог капацитета која служи за запис података који се често користе. У њу се, за разлику од бафер меморије може писати на које место се жели уписати и с којег места се жели читати.

Зашто кеш меморија[уреди]

Дијаграм CPU кеш меморије

Када процесор добавља податке из RAM-а, треба му просечно око 60 наносекунди. Како микропроцесор ради пуно брже (у циклусима од 2 ns) значи да губи јако пуно времена чекајући на податке из RAM-а. Проблем се појавио због несразмерности у повећању брзине рада између процесора и меморије. Наиме, већи број компоненти на јединици површине интегрисаног склопа резултује већим повећањем брзине рада процесора у односу на меморију, а да би се на неки начин донекле анулирала та разлика у брзини између брзог микропроцесора и спорих меморија и осталих компоненти рачунала, уводи се кеш меморија.

Због тога је требало постојећи састав системске меморије побољшати или уградњом брже меморије, што би значајно поскупило цену рачунара или одговарајућим техничким иновацијама. У овом случају, хијерархијска организација меморије, показала се као идеална јер се додавањем малог капацитета брзе меморије (SRAM технологије) требала убрзати велика количина споре и мање скупе меморије. Тако је на самом процесору уграђен тзв. L1 кеш, мала меморија чији садржај са локације процесора преузима једнако брзо као и из својих регистара, а изван процесора уграђује се у рачунарски систем тзв. L2 кеш, брза меморија у који се смешта део података из RAM-а за које се претпоставља да ће их процесор убрзо затражити. L2 кеш отприлике је дупло бржи од RAM-a.

Ефикасност кеш меморије[уреди]

Ефикасност кеш меморије одређује број који говори колико је пута процесору стварно и испоручен податак након што га је затражио. У том контексту често се користе термини као што је погодак (хит) који означава да је податак којег процесор тражи стварно и пронађен у кеш меморији. У случају да га тамо нема кажемо да је реч о промашају (мис).

Постоје три различита типа промашаја:

  • Незаобилазни промашај при првом посезању за подацима из меморије када је кеш још празан;
  • Капацитетни промашај који се јавља ако се сви потребни блокови не могу сместити одмах у кеш
    него их се добавља касније. Узрок промашаја је недостатна величина кеш меморије.
  • Конфликтни промашај је онај који настаје због примењене стратегије пребацивања података у
    кеш. Наиме уколико више блокова из RAM-а покушава на исто место у кеш меморији, не могу се
    сви учитати одмах него их се добавља касније. Понекад се ова врста промашаја зове промашајем
    колизије или интерференције;

Види још[уреди]

Спољашње везе[уреди]