Кеш меморија
Кеш меморија је меморија малог капацитета која служи за запис података који се често користе. У њу се, за разлику од бафер меморије може писати на које место се жели уписати и с којег места се жели читати.
Зашто кеш меморија
[уреди | уреди извор]Када процесор добавља податке из RAM-а, треба му просечно око 60 наносекунди. Како микропроцесор ради пуно брже (у циклусима од 2 ns) значи да губи јако пуно времена чекајући на податке из RAM-а. Проблем се појавио због несразмерности у повећању брзине рада између процесора и меморије. Наиме, већи број компоненти на јединици површине интегрисаног склопа резултује већим повећањем брзине рада процесора у односу на меморију, а да би се на неки начин донекле анулирала та разлика у брзини између брзог микропроцесора и спорих меморија и осталих компоненти рачунала, уводи се кеш меморија.
Због тога је требало постојећи састав системске меморије побољшати или уградњом брже меморије, што би значајно поскупило цену рачунара или одговарајућим техничким иновацијама. У овом случају, хијерархијска организација меморије, показала се као идеална јер је додавањем малог капацитета брзе меморије (SRAM технологије) требало убрзати велику количину споре и мање скупе меморије. Тако је на самом процесору уграђен тзв. L1 кеш, мала меморија чији садржај са локације процесора преузима једнако брзо као и из својих регистара, а изван процесора уграђује се у рачунарски систем тзв. L2 кеш, брза меморија у који се смешта део података из RAM-а за које се претпоставља да ће их процесор убрзо затражити. L2 кеш отприлике је дупло бржи од RAM-a.
Ефикасност кеш меморије
[уреди | уреди извор]Ефикасност кеш меморије одређује број који говори колико је пута процесору стварно и испоручен податак након што га је затражио. У том контексту често се користе термини као што је погодак (хит) који означава да је податак којег процесор тражи стварно и пронађен у кеш меморији. У случају да га тамо нема кажемо да је реч о промашају (мис).
Постоје три различита типа промашаја:
- Незаобилазни промашај при првом посезању за подацима из меморије када је кеш још празан;
- Капацитетни промашај који се јавља ако се сви потребни блокови не могу сместити одмах у кеш
него их се добавља касније. Узрок промашаја је недостатна величина кеш меморије. - Конфликтни промашај је онај који настаје због примењене стратегије пребацивања података у
кеш. Наиме уколико више блокова из RAM-а покушава на исто место у кеш меморији, не могу се
сви учитати одмах него их се добавља касније. Понекад се ова врста промашаја зове промашајем
колизије или интерференције;