VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:14/92
RoΦnφk:1992
Rubrika/kategorie: Co (ne)najdete ve slovnφku

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

Cache

Ne nadarmo se °φkß, ₧e tak dlouho se chodφ se d₧bßnem pro vodu, a₧ se ucho utrhne. N∞co podobnΘho se stalo i se zvyÜovßnφm rychlostφ procesor∙ - tak dlouho se zrychlovaly, a₧ jim p°estala staΦit operaΦnφ pam∞¥.

Procesory se staly tak rychl²mi, ₧e k dosa₧enφ plnΘ rychlosti vy₧adovaly extrΘmn∞ rychlou operaΦnφ pam∞¥. Takovß sice existuje, ale je velmi drahß - tak drahß, ₧e nenφ ·nosnΘ realizovat s nφ celou operaΦnφ pam∞¥ o kapacit∞ v °ßdu megabyt∙.

Existuje vÜak jeÜt∞ i jinß mo₧nost. Je zalo₧ena na pozorovßnφ, ₧e programy obvykle nesahajφ do operaΦnφ pam∞ti zcela nesystematicky, ale prßv∞ naopak - po urΦitou dobu pracujφ v₧dy jen s relativn∞ mal²m ·sekem pam∞ti. ProΦ toho nevyu₧φt a nep°enΘst obsah tohoto ·seku do zvlßÜtnφ pam∞ti o menÜφ kapacit∞, kterou za°adφme mezi procesor a vlastnφ operaΦnφ pam∞¥, a kterß ji₧ m∙₧e b²t dostateΦn∞ rychlß? Bude-li mφt procesor Üt∞stφ, najde po₧adovanß data v tΘto malΘ pam∞ti, a dostane je tudφ₧ s takovou rychlostφ, jakou pot°ebuje. V opaΦnΘm p°φpad∞ bude nutnΘ "sßhnout" a₧ do pomalejÜφ operaΦnφ pam∞ti, co₧ ovÜem bude trvat pon∞kud dΘle. Proto odsud rad∞ji naΦteme hned cel² v∞tÜφ blok dat a p°eneseme jej do naÜφ rychlΘ pam∞ti. S velkou pravd∞podobnostφ si procesor resp. prßv∞ provßd∞n² program zßhy vzpomene, ₧e pot°ebuje n∞co prßv∞ z tohoto bloku, kter² jsme si p°edvφdav∞ naΦetli dop°edu.

Malß a velmi rychlß pam∞¥, kterß se takto za°azuje mezi procesor a "pomalou" operaΦnφ pam∞¥, a funguje prßv∞ naznaΦen²m zp∙sobem, se v angliΦtin∞ naz²vß cache. V ΦeÜtin∞ se nejΦast∞ji oznaΦuje jako vyrovnßvacφ pam∞¥.

MyÜlenka naΦφtat dop°edu v∞tÜφ celky dat, ne₧ jakΘ jsou prßv∞ po₧adovßny, mß svΘ opodstatn∞nφ i v jin²ch p°φpadech. ZvlßÜt∞ v p°φpad∞ disk∙ - pokud si n∞kter² program vy₧ßdß nap°. naΦtenφ jednoho sektoru, je velmi pravd∞podobnΘ, ₧e zßhy bude po₧adovat takΘ nßsledujφcφ sektor na tΘ₧e stop∞. Ne₧ se ale k tomu odhodlß, m∙₧e se disk pootoΦit tak, ₧e se nßsledujφcφ sektor ji₧ nestihne, a je t°eba Φekat celou obrßtku, ne₧ se znovu dostane pod Φtecφ hlavu.

Zde se p°φmo nabφzφ myÜlenka naΦφtat v₧dy rovnou celΘ diskovΘ stopy (co₧ je mo₧nΘ stihnout za dobu prßv∞ jednΘ obrßtky), a uklßdat je do pam∞ti, kterß je k tomuto ·Φelu vyhrazena. Po₧adavky na Φtenφ jednotliv²ch sektor∙ je pak mo₧nΘ uspokojovat z tΘto pam∞ti, co₧ je v²razn∞ rychlejÜφ.

TakΘ v tomto p°φpad∞ se hovo°φ o pam∞ti cache, p°esn∞ji o diskovΘ cache pam∞ti (disc cache).


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm