Ero sivun ”Välimuisti” versioiden välillä

[arvioimaton versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
p kh
Rivi 14:
Jos tietoa ei löydy välimuistista, se haetaan hitaammasta muistista ja talletetaan samalla välimuistiin. Tätä kutsutaan välimuistihudiksi. Jos välimuisti on täysi, siellä ollut vanhempi tieto väistyy uuden tieltä. Jos välissä on ollut paljon muita muistioperaatiota ennen kuin samaa tietoa tarvitaan uudelleen, tieto ei enää olekaan välimuistissa, ja se pitää hakea uudestaan hitaammasta muistista.
 
Koska edellisten muistioperaatioiden käyttämien osoitteiden lähellä olevia osoitteita tullaan suurella todennäköisyydellä käyttämään, välimuistiin tallennetaan yleensä joitain muistipaikkoja haetun osoitteen ympäriltä. Tällöin myös näihin lähimuistiosoitteisiin viittaavat muistihaut voivat osua välimuistiin, vaikka kyseisestä osoitteesta ei olekaan haettu tietoa lähiaikoinahiljattain.
 
Välimuistin osumien suhdetta kaikkien muistioperaatioiden määrään kutsutaan välimuistin osumatarkkuudeksi. Tämä luku ei ole mikään kiinteä yleispätevä luku, vaan se vaihtelee järjestelmän kuormitusasteen ja ohjelmien käyttäytymisen mukaan.
Rivi 46:
Välimuistissa on tyypillisesti jotain aiemmin käytettyä dataa, joka pitää heittää pois uuden datan tieltä. Uuden datan tallennuspaikka välimuistissa pitäisi valita siten, että pois heitetään sellaista dataa, jota ei kovin suurella todennäköisyydellä tarvita kovin pian.
 
EräsYksi vaihtoehto valintaan on valita sellainen kohta välimuistia, jonka käyttämisestä on kulunut pidemmän aikaa. Tämä kuitenkin vaatii kirjanpidon kaikista välimuistihauista, mikä voi olla epäkäytännöllistä. Toinen, yllättävän toimiva tapa valintaan on yksinkertaisesti arpoa, mikä vanha data poistetaan uuden tilalta välimuistista. Välimuistin koon kasvaessa suureksi eri korvausalgoritmien väliset erot myös tasoittuvat.
 
Korvattavaa välimuistilohkoa ei myöskään kaikissa arkkitehtuureissa suoraan poisteta, vaan se saatetaan sijoittaa ns. uhrivälimuistiin ({{k-en|Victim Cache}}), jossa säilytetään viimeksi häädettyjä lohkoja. Joissain tilanteissa tällainen rakenne saattaa vähentää välimuistihuteja huomattavasti. Suurin hyöty uhrivälimuistista saavutetaan ensisijaisen välimuistin ollessa suorasijoittava tai joukkoassosiatiivinen.
Rivi 77:
Välimuisti nousi tärkeäksi 1980-luvun lopulla muistien nopeuden jäätyä suorittimien nopeuskehityksestä jälkeen uusien liukuhihnoitettujen [[RISC]]-prosessoreiden alkaessa saavuttaa sekä suurempia kellotaajuuksia että selvästi aiempia prosessoreita parempaa suorituskykyä.
 
PC-puolella ensimmäinen välimuistin sisältänyt suoritin oli [[Intel 80486]]. Siinä oli itse piirillä 8 kiB L1-välimuistia, ja useimmilla 486-emolevyillä oli myös 64–256 kiB L2-välimuisti. [[Mikropiiri|Mikropiirien]]en integrointitiheyden kasvun ansiosta on ollut mahdollista kasvattaa piirille integroitujen välimuistien kapasiteettia. Koska suorittimien ja muistin välinen nopeusero kasvaa jatkuvasti suuremmaksi, nykyään huomattava osa useiden uusien suoritinpiirien pinta-alasta onkin käytetty välimuistiin tilanteen kompensoimiseksi.
 
== Muut välimuistit ==
=== Levyvälimuistit ===
==== Käyttöjärjestelmän levyvälimuisti ====
Tietokoneen keskusmuistia saatetaan käyttää myös välimuistina tietokoneen levylle. Tällöin käyttöjärjestelmä varaa muistista alueen tätä varten, ja kun tiedosto luetaan levyltä, siitä tehdään samalla kopio keskusmuistiin. Kun tiedostoon viitataan seuraavan kerran, voidaan se voidaan lukea nopeammin mikäli se löytyy levyvälimuistista. Levyvälimuistin hallinnasta huolehtii koneen käyttöjärjestelmä ja se on toteutettu täysin ohjelmallisesti. Yleensä käyttöjärjestelmä hyödyntää kaiken ylimääräisen keskusmuistikapasiteetin levyvälimuistina.
 
==== Kovalevyn sisäinen välimuisti ====
Kovalevyillä on myös usein oma pieni kovalevyn ohjauselektroniikan yhteydessä oleva välimuisti. Tätä käytetään lähinnä kirjoituspuskurina josta kovalevyn elektroniikka voi kirjoittaa datan fyysiselle levypinnalle optimaalisemmassa järjestyksessä; lukuoperaatioiden nopeuteen kovalevyn sisäisellä välimuistillevälimuistilla ei ole kovin paljon vaikutusta, sillä sen koko on tyypillisesti melko pieni ja käyttöjärjestelmän välimuisti toimii melko hyvin.
 
=== WWW-selaimen välimuisti ===
Rivi 93:
=== DNS-välimuisti ===
 
Internetin nimipalvelun eli [[DNS]]:n nimitietoja voidaan myös tallettaa välimuistiin; kun kone haluaa selvittää jonkun koneen [[IP-osoite|IP-osoitteen]], se tarkistaa ensin,
onko sillä tämä tieto välimuistissaan: jos on, se lukee sen sieltä, jos ei, se suorittaa nimipalvelimelle kyselyn, odottaa vastausta ja vastauksen saatuaan tallettaa nimitiedon välimuistiinsa.