Välimuisti on se osa tiedonsiirtoa, joka pystyy käsittelemään kerralla vain pienen määrän dataa, mutta varmistaa kyseisen datan nopean ja tehokkaan siirtymisen. Ilman välimuistia datan siirtyminen kävisi huomattavasti hankalammaksi, joten tutustutaan tähän termiin hieman tarkemmin.
Mitä välimuisti tarkoittaa?
Välimuisti on pienikokoinen haihtuva tietokoneen muisti, joka tarjoaa nopean tiedonsiirron prosessorille ja tallentaa usein käytetyt tietokoneohjelmat, sovellukset ja tiedot.
Väliaikainen muisti tekee tietojen hakemisesta helpompaa ja tehokkaampaa. Se on tietokoneen nopein muisti, ja se on yleensä integroitu emolevyyn ja upotettu suoraan prosessoriin tai päämuistiin (RAM).
Techopedia selittää välimuistin
Välimuisti tarjoaa nopeamman tiedon tallennuksen, sekä pääsyn tallennettuun dataan tallentamalla prosessorin rutiininomaisesti käyttämiä ohjelmia ja tietoja. Otetaan esimerkki: kun prosessori pyytää tietoja, joilla on jo esiintymä välimuistissa, eli tietovarasto, sen ei tarvitse sukeltaa päämuistiin tai kiintolevylle hakemaan haluttuja tietoja.
Näin ollen se on nopein käytettävissä oleva muisti, ja se toimii puskurina RAM-muistin ja suorittimen välillä. Prosessori tarkistaa, onko vastaava merkintä saatavilla välimuistissa aina, kun sen on luettava tai kirjoitettava sijainti, mikä vähentää aikaa, joka tarvitaan pääsyyn päämuistissa oleviin tietoihin.
Laitteistopohjainen välimuisti
Laitteistovälimuistia kutsutaan prosessorin välimuistiksi, ja se on prosessorin fyysinen osa. Riippuen siitä, kuinka lähellä se on prosessorin ydintä, se voi olla ensisijainen tai toissijainen välimuisti, jossa ensisijainen versio siitä on integroitu suoraan prosessoriin (tai lähimmäs sitä).
Nopeus riippuu läheisyydestä sekä itse välimuistin koosta. Mitä enemmän dataa välimuistiin voidaan tallentaa, sitä nopeammin se toimii, joten pienemmän tallennuskapasiteetin omaavat sirut ovat yleensä hitaampia, vaikka ne olisivat lähempänä prosessoria.
Laitteistopohjaisen välimuistin lisäksi se voi olla myös levyvälimuisti, jossa levyn varattu osa tallentaa ja tarjoaa pääsyn usein käytettyihin tietoihin/sovelluksiin levyltä. Aina kun prosessori käyttää tietoja ensimmäisen kerran, välimuistiin tehdään kopio.
Kun näitä tietoja käytetään uudelleen, jos kopio on saatavilla välimuistissa, kyseistä kopiota käytetään ensin, jotta nopeus ja tehokkuus lisääntyvät. Jos se ei ole käytettävissä, käytetään suurempia, kauempana olevia ja hitaampia muisteja (kuten RAM-muistia tai kiintolevyä).
Nykyaikaiset näytönohjaimet tallentavat myös oman välimuistinsa niiden grafiikankäsittelypiirien sisään. Tällä tavalla niiden GPU voi suorittaa monimutkaiset renderöintitoiminnot nopeammin ilman, että heidän tarvitsee luottaa järjestelmän RAM-muistiin.
Laitteiston välimuistin lisäksi ohjelmistovälimuisti on myös käytettävissä menetelmänä tilapäisten tiedostojen tallentamiseen kiintolevylle. Tätä välimuistia (joka tunnetaan myös nimellä selain- tai sovellusvälimuisti) käytetään aiemmin tallennettujen tiedostojen nopeaan käyttöön samasta syystä: nopeuden lisäämiseksi.
Online-selain voi esimerkiksi tallentaa joitain kuvia verkkosivulta tallentamalla ne välimuistiin, jotta niitä ei ladata uudelleen aina, kun sivu avataan uudelleen.
Välimuistin 3 tasoa
Välimuisti on siis tiedon hakua nopeuttava ja tehostava osa tietoteknologiaa. Siitä on olemassa kolme erilaista versiota, joista kannattaa myös olla tietoinen, tässä niiden pikaiset esittelyt:
Level 1-välimuisti
Tason 1, eli L1-välimuisti on suoraan mikroprosessoriin sisäänrakennettu välimuisti, jota käytetään mikroprosessorin äskettäin käyttämien tietojen tallentamiseen. Näin ollen sitä kutsutaan myös ensisijaiseksi välimuistiksi. Sitä kutsutaan myös sisäiseksi välimuistiksi tai järjestelmävälimuistiksi.
L1-välimuisti on nopein versio välimuisteista, koska se on jo rakennettu sirulle, jossa on nolla odotustilarajapintaa, mikä tekee siitä CPU-välimuistien joukossa kalleimman välimuistin. Sen koko on kuitenkin rajoitettu. Sitä käytetään tallentamaan tietoja, joita prosessori on käyttänyt äskettäin, kriittisiä tiedostoja, jotka on suoritettava välittömästi, ja se on ensimmäinen välimuisti, jota käytetään ja käsitellään, kun prosessori itse suorittaa tietokoneen käskyn.
Level 2-välimuisti
Tason 2, eli L2-välimuisti on suorittimen välimuisti, joka sijaitsee mikroprosessorisirun ytimen ulkopuolella ja erillään siitä, vaikka se löytyy samasta prosessorin sirupaketista. Aiemmat L2-välimuistimallit asettivat ne emolevylle, mikä teki niistä melko hitaita.
L2-välimuistin sisällyttäminen mikroprosessorimalleihin on hyvin yleistä nykyaikaisissa prosessoreissa, vaikka ne eivät ehkä ole yhtä nopeita kuin edellä esitelty L1-välimuisti. Mutta koska se on ytimen ulkopuolella, kapasiteettia voidaan lisätä ja se on silti nopeampi kuin päämuisti. Tason 2 välimuistia kutsutaan myös toissijaiseksi välimuistiksi tai ulkoiseksi välimuistiksi.
Level 3-välimuisti
L3-välimuisti on yleensä rakennettu emolevylle päämuistin (RAM) ja prosessorimoduulin L1- ja L2-välimuistien väliin. Tämä toimii eräänlaisena laiturina, jolle voidaan pysäköidä tietoja, kuten prosessorikomentoja ja usein käytettyjä tietoja, jotta voidaan estää pullonkaulat, jotka johtuvat näiden tietojen noutamisesta päämuistista. Lyhyesti sanottuna nykypäivän L3-välimuisti on L2-välimuisti ennen kuin se sisältyi prosessorimoduuliin.
CPU tarkistaa tarvitsemansa tiedot L1:stä ennen L3:een lisäämistä. Jos se ei löydä näitä tietoja L1:stä, se etsii L2-välimuistista ja sitten L3:sta, joka on ryhmän suurin, mutta hitain. L3:n käyttötarkoitus vaihtelee suorittimen rakenteen mukaan. Joissakin tapauksissa L3 sisältää kopiot ohjeista, joita useat sen jakavat ytimet käyttävät usein. Esimerkiksi nykyaikaisissa prosessoreissa on sisäänrakennetut L1- ja L2-välimuistit ydintä kohden, ja ne jakavat yhden L3-välimuistin emolevyllä, kun taas muissa malleissa L3 on itse suorittimessa.