Vahemälu: erinevus redaktsioonide vahel
Eemaldatud sisu Lisatud sisu
PResümee puudub |
P Salvestus > salvestis |
||
1. rida:
'''Vahemälu'''<ref>Большой толковый словарь русского языка / автор, сост. и гл. ред. С. А. Кузнецов. 2000 г. РАН Институт лингвистических исследований</ref><ref>Захаренко Е. Н., Комарова Л. Н., Нечаева И. В. Новый словарь иностранных слов. М.: 2003</ref><ref>Толковый словарь по вычислительной технике. Microsoft Press, из-во «Русская Редакция», 1995</ref><ref>Русский орфографический словарь: около 180 000 слов / Российская академия наук. Институт русского языка им. В. В. Виноградова / О. Е. Иванова, В. В. Лопатин (отв. ред.), И. В. Нечаева, Л. К. Чельцова. — 2-е изд., испр. и доп. — М.: 2004. — 960 с.</ref> ([[inglise keel|inglise]] ''cache''; [[prantsuse keel|prantsuse]] ''cacher''
== Ajalugu ==
Esimest korda kasutati sõna "cache" elektroonilises kontekstis aastal [[1967]] artiklis, mis kirjutati avaldamiseks ajakirjas
== Tööpõhimõte ==
8. rida:
Vahemälu on suure juurdepääsukiirusega mälu, mille eesmärk on saavutada vähima juurdepääsuajaga ligipääs andmetele, mis sisalduvad püsimälus (edaspidi "[[põhimälu]]s"). Vahemälu kasutatakse keskprotsessoris ([[CPU]]), [[kõvaketas]]tel, [[brauser]]ites, [[veebiserver]]ites, [[Domeeninimede süsteem|DNS]]-is ja [[WINS]]-is.
Vahemälu koosneb kirjete kogumist. Iga kirje on seotud andmeühikuga või andmete
Kui vahemälu kasutaja ([[CPU]], [[veebibrauser]], [[operatsioonisüsteem]]) soovib andmeid, uuritakse kõigepealt vahemälu. Kui vahemälus leitakse kirje ID-ga, mis sobib otsitud andmeühiku ID-ga, siis kasutatakse andmeelementide vahemälu. Seda nimetatakse vahemälu tabamuseks (''cache hit''). Kui vahemälust ei leitud kirjet, mis sisaldab otsitud ID-d, siis loetakse see põhimälust vahemällu ja on sealt edaspidistel vahemälu otsingutel kättesaadav. Seda nimetatakse vahemälu möödalask (''cache miss''). Vahemälust leitud tulemuste protsenti võrreldes päringutega nimetatakse cache tabamuse tasemeks või tabamuse koefitsiendiks.
14. rida:
Näiteks veebilehitseja kontrollib [[URL]]-s küsitud veebilehe lokaalse koopia olemasolu ketta lokaalses vahemälus. Selle näite puhul on URL tunnus, aga veebilehe sisu – andmete osa.
Kui vahemälu maht on piiratud, siis möödalase puhul võib olla vastu võetud otsus loobuda mõnest
''Write-through'' vahemälus kutsub iga muudatus esile sünkroonse andmete uuendamise põhimälus.
28. rida:
===Vahemälu tasemed===
Keskprotsessori CPU vahemälu on jaotatud mitmeks tasandiks. Käesoleval ajal võib universaalses protsessoris olla kuni 3 tasandit. Vahemälu tasand N+1 on üldiselt mõõtmetelt suurem ja andmete kättesaadavuse ja andmeedastuse kiiruselt aeglasem, kui vahemälu tase N. Kõige kiirem mälu on esimese taseme vahemälu L1. Tegelikult on ta protsessori lahutamatu osa, kuna asub protsessoriga ühel ja samal kristallil ja kuulub funktsioneerivate
Kiiruselt teine on L2-vahemälu – teise taseme vahemälu. Tavaliselt asub ka see kristallil nagu L1. Vanades protsessorites on [[mikroskeem]]id [[emaplaat|emaplaadil]]. L2 maht on 128 kB kuni 1–12 MB. Tänapäevastes ''[[multi-core]]'' protsessorites teise tasandi vahemälu, asudes samal kristallil ja on eraldi kasutatav mälu, kus vahemälu maht võrdub nM MB ja iga tuuma vahemähe on nM/nC MB, kus nC võrdub protsessori tuumade arvuga. Üldiselt tuuma kristallil paikneva L2 vahemälu moodustab
Kolmanda taseme vahemälu on kõige väiksema kiirusega, kuid võib olla väga muljetavaldava suurusega – rohkem kui 24 MB. L3 vahemälu on aeglasem kui eelnimetatud, kuid siiski tunduvalt kiirem muutmälust. Mitmeprotsessorilistes süsteemides on üldkasutatav ja mõeldud erinevate andmete sünkroniseerimiseks L2 vahemälu.
44. rida:
== Väliste kõvaketaste puhverdamine==
Paljud
Väliste kõvaketaste puhverdamist õigustavad järgnevad tegurid:
# protsessori juurdepääsu kiirus muutmällu on mitu korda suurem kui väliste kõvaketaste mällu;
# väliste kõvaketaste mõningaid
# pöördumine mõningate muutmälus olevate
# mõned väliste kõvaketaste
== Puhverdamine
Muutmälu vahemälu koosneb järgmistest elementidest:
# muutmälu lehekülgede hulk, mis on jagatud puhvriteks, mis on pikkuselt võrdsed vastava välismälu seadme
# puhvrite nimetuste kogu, mis kirjeldavad vastava puhvri seisukorda;
# hash tabelid, mis sisaldavad
# vabade puhvrite nimekiri.
79. rida:
=== Väljasurumise algoritm===
Kui vabade puhvrite nimekiri on tühi, siis tehakse puhvris algoritmi nihe. Algoritmi nihe mõjutab oluliselt vahemälu tootlust. On olemas järgmised algoritmid:
# [[LRU]] (''Least Recently Used'')
# [[MRU]] (''Most Recently Used'')
# [[LFU]] (''Least Frequently Used'')
# [[ARC]] (''Adaptive Replacement Cache'')
Ühe või teise algoritmi kasutamine sõltub andmete puhverdamise strateegiast. LRU on kõige efektiivsem, kui on tagatud, et andmeid kasutatakse korduvalt lähitulevikus. MRU on kõige efektiivsem, kui on tagatud, et andmeid ei kasutata korduvalt lähitulevikus. Kui taotlus määratleb selgesõnaliselt teatud hulga andmete puhverdamise strateegia, töötab vahemälu kõige tõhusamalt.
91. rida:
On olemas kaks peamist vahemälu üleskirjutamise poliitikat – ''write-through cache'' ja ''write-back cache'':
# write-through – üleskirjutamine toimub vahetult põhimällu (ja dubleeritakse vahemällu), st
# write-back – andmete üleskirjutamine toimub vahemällu. Kirjutamine põhimällu tehakse hiljem (väljatõrjumise või aja möödumise järel), rühmitades ühes operatsioonis mitu üleskirjutuse operatsiooni kõrvalasuvatesse pesikutesse. Write-back'i töötlemise tehnoloogia teeb mõneks ajaks andmed põhimälus ebaolulisteks, keskprotsessori jaoks need ebaolulisused ei ole märgatavad, kuid enne teise juhtiva mälusüsteemi siini poole pöördumist ([[DMA controller]], sinihaldur-[[PCI siin]]i seadmed) tuleb vahemälu salvestada mällu sunniviisiliselt. Kui kasutada write-back'i mitmeprotsessilises süsteemis, siis erinevate keskprotsessorite vahemälud peavad olema kooskõlastatud (või peavad protsessorid kasutama sama vahemälu).
|