Vahemälu töö ja printsiibid: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ktampold (talk | contribs)
No edit summary
Ktampold (talk | contribs)
No edit summary
Line 1: Line 1:
Artiklis <a href="https://wiki.itcollege.ee/index.php/Vahem%C3%A4lu">Vahemälu</a> sai selgeks mida kujutavad endast vahemälu,  CPU ning salvestusseadmed.
=Sissejuhatus=
Artiklis [https://wiki.itcollege.ee/index.php/Vahem%C3%A4lu Vahemälu] sai selgeks mida kujutavad endast vahemälu,  CPU ning salvestusseadmed.
Järgnevalt üritan illustratsioonide abil kirjeldada kuidas vahemälu täpselt töötab.
Järgnevalt üritan illustratsioonide abil kirjeldada kuidas vahemälu täpselt töötab.


 
=Kihid (Layers)=
Tavalisel arvutil on üks kuni kolm vahemälu kihti (L1-L3). Erinevad kihid on kasutusel, kiirendamaks andmete leidmist ning optimeerimaks nende säilitamist vahemälus.
Tavalisel arvutil on üks kuni kolm vahemälu kihti (L1-L3). Erinevad kihid on kasutusel, kiirendamaks andmete leidmist ning optimeerimaks nende säilitamist vahemälus.
1. tase (Level-1) kujutab endast väikeseid mälusüsteemikesi mis on protsessori sisse ehitatud.
1. tase (Level-1) kujutab endast väikeseid mälusüsteemikesi mis on protsessori sisse ehitatud.
Line 20: Line 21:




Vahemälu printsiibid:
=Vahemälu printsiibid=
Efektiivse mälu sihiks on efektiivne ajakasutus. Mida kiirem on protsessori töö andmetele ligi pääsemisel, seda parem. Vahemälud töötavad programmi käitumise lokaalsuse baasil, ning seda väljendavad 3 printsiipi:
Efektiivse mälu sihiks on efektiivne ajakasutus. Mida kiirem on protsessori töö andmetele ligi pääsemisel, seda parem. Vahemälud töötavad programmi käitumise lokaalsuse baasil, ning seda väljendavad 3 printsiipi:
1. Ruumiline lokaalsus (Spatial Locality) – kui pöördumine on tehtud kindlasse kohta mälus, on suur tõenäosus et järgnevad pöördumised tehakse samasse või ligilähedasse kohta programmi eluea kestel.
1. Ruumiline lokaalsus (Spatial Locality) – kui pöördumine on tehtud kindlasse kohta mälus, on suur tõenäosus et järgnevad pöördumised
2. Ajaline lokaalsus (Temporal Locality – täiendab ruumilist lokaalsust. Saanud jada viiteid kohta n, on taaskord suur tõenäosus et antud viidetele järgnevad viited sobivad omakorda jadasse sisse. Jada elementidele viidatakse kindalsti taas programmi eluea kestel.
tehakse samasse või ligilähedasse kohta programmi eluea kestel.
3. Järjestuvus (Sequentiality) – kui viide on tehtud kindlasse kohta s, on tõenäoline et järgnevad mitu viidet viitavad kohta s+1. Järjestuvus on ruumilise lokaalsuse piiratud tüüp ning võidakse pidada selle alamhulgaks
 
2. Ajaline lokaalsus (Temporal Locality – täiendab ruumilist lokaalsust.  
Saanud jada viiteid kohta n, on taaskord suur tõenäosus et antud viidetele järgnevad viited sobivad omakorda jadasse sisse.
Jada elementidele viidatakse kindalsti taas programmi eluea kestel.
 
3. Järjestuvus (Sequentiality) – kui viide on tehtud kindlasse kohta s, on tõenäoline et järgnevad mitu viidet viitavad kohta s+1.  
Järjestuvus on ruumilise lokaalsuse piiratud tüüp ning võidakse pidada selle alamhulgaks


Üks vahemälu põhimõtteid seisneb selles, et protsessor pääseks mälule ligi võimalikult kiiresti, samal ajal võimaldades säilitada ja hoiustada võimalikult suurt andmehulka ning tehes seda kõike minimaalsete kuludega.
Üks vahemälu põhimõtteid seisneb selles, et protsessor pääseks mälule ligi võimalikult kiiresti, samal ajal võimaldades säilitada ja hoiustada võimalikult suurt andmehulka ning tehes seda kõike minimaalsete kuludega.
Seda võib kokku võtta kolme küsimusega:
Seda võib kokku võtta kolme küsimusega:
Kui palju?
Kui palju?
Kui kiire?
Kui kiire?
Kui kallis?
Kui kallis?
Kahjuks on kolme elemendi omavaheline suhe selline, et kõike korraga ei saa. Kui tõuseb kiirus, tõuseb ka hind; kui tõuseb mahutavus, hind langeb kuid samal ajal langeb ka kiirus.
Kahjuks on kolme elemendi omavaheline suhe selline, et kõike korraga ei saa. Kui tõuseb kiirus, tõuseb ka hind; kui tõuseb mahutavus, hind langeb kuid samal ajal langeb ka kiirus.


Line 38: Line 45:




=Lingid=
http://news.softpedia.com/news/How-Cache-Memory-Works-83803.shtml


http://news.softpedia.com/news/How-Cache-Memory-Works-83803.shtml
Pildi allikas: https://github.com/orientechnologies/orientdb/wiki/Caching
Pildi allikas: https://github.com/orientechnologies/orientdb/wiki/Caching
http://www.ecs.umass.edu/ece/koren/architecture/Cache/tutorial.html
http://www.ecs.umass.edu/ece/koren/architecture/Cache/tutorial.html
http://computer.howstuffworks.com/cache4.htm
http://computer.howstuffworks.com/cache4.htm

Revision as of 20:29, 3 October 2013

Sissejuhatus

Artiklis Vahemälu sai selgeks mida kujutavad endast vahemälu, CPU ning salvestusseadmed. Järgnevalt üritan illustratsioonide abil kirjeldada kuidas vahemälu täpselt töötab.

Kihid (Layers)

Tavalisel arvutil on üks kuni kolm vahemälu kihti (L1-L3). Erinevad kihid on kasutusel, kiirendamaks andmete leidmist ning optimeerimaks nende säilitamist vahemälus. 1. tase (Level-1) kujutab endast väikeseid mälusüsteemikesi mis on protsessori sisse ehitatud. 2. tase (Level-2) koosneb väikestest mälupankadest emaplaadil. Mõndadel mikroprotsessoritel on kaks vahemälu taset ehitatud otse enda kiibile, sellisel juhul muutub emaplaadil olev vahemälu (asub mikroprotsessori ning põhimälu vahel) 3. kihiks (Layer-3).

Töö:


Kui kasutaja tekitab vajaduse andmete järele (soovib faili avada, hakkab programmi avama jne), kontrollitakse esimesega ega antud andmed juba kasutusel ei ole. Sel juhul saab soovitud andmed kohe kätte. Järgmisena küsitakse 1.taseme vahemälust, andmete olemasolu korral saab ned kohe välja anda.



Kui ka 1. kihis vajalikke andmeid ei leidunud, küsitakse neid 2. kihist. Kui ka 2. kihis andmeid ei olnud, liigub päring edasi põhilise mäluseadme juurde. Sealt leitud tulemused saadetakse 2. kihi vahemällu nig sealt edasi kuni päringu tegijani välja.


Vahemälu printsiibid

Efektiivse mälu sihiks on efektiivne ajakasutus. Mida kiirem on protsessori töö andmetele ligi pääsemisel, seda parem. Vahemälud töötavad programmi käitumise lokaalsuse baasil, ning seda väljendavad 3 printsiipi:

1.	Ruumiline lokaalsus (Spatial Locality) – kui pöördumine on tehtud kindlasse kohta mälus, on suur tõenäosus et järgnevad pöördumised
tehakse samasse või ligilähedasse kohta programmi eluea kestel.
2.	Ajaline lokaalsus (Temporal Locality – täiendab ruumilist lokaalsust. 
Saanud jada viiteid kohta n, on taaskord suur tõenäosus et antud viidetele järgnevad viited sobivad omakorda jadasse sisse.
Jada elementidele viidatakse kindalsti taas programmi eluea kestel.
3.	Järjestuvus (Sequentiality) – kui viide on tehtud kindlasse kohta s, on tõenäoline et järgnevad mitu viidet viitavad kohta s+1. 

Järjestuvus on ruumilise lokaalsuse piiratud tüüp ning võidakse pidada selle alamhulgaks

Üks vahemälu põhimõtteid seisneb selles, et protsessor pääseks mälule ligi võimalikult kiiresti, samal ajal võimaldades säilitada ja hoiustada võimalikult suurt andmehulka ning tehes seda kõike minimaalsete kuludega. Seda võib kokku võtta kolme küsimusega:

Kui palju?
Kui kiire?
Kui kallis?

Kahjuks on kolme elemendi omavaheline suhe selline, et kõike korraga ei saa. Kui tõuseb kiirus, tõuseb ka hind; kui tõuseb mahutavus, hind langeb kuid samal ajal langeb ka kiirus.




Lingid

http://news.softpedia.com/news/How-Cache-Memory-Works-83803.shtml

Pildi allikas: https://github.com/orientechnologies/orientdb/wiki/Caching

http://www.ecs.umass.edu/ece/koren/architecture/Cache/tutorial.html

http://computer.howstuffworks.com/cache4.htm