Keskusmuisti
Keskusmuisti eli käyttömuisti on tietokoneohjelmien työmuisti, johon latautuvat käyttöjärjestelmän ohjelmat, suoritettavat sovellukset sekä näiden tarvitsemat tiedot. Keskusmuisti on tyypiltään luku- ja kirjoitusmuistia (RAM, "Random Access Memory........."). Tavallisesti keskusmuistin sisältö tyhjenee aina virrankatkaisun yhteydessä. Kuitenkin kerran muistiin ladattu ohjelma toimii nopeammin ja on nopeammin saatavilla kuin jos ohjelma täytyisi ladata huomattavasti hitaammilta massamuisteilta (kiintolevy, USB-muisti yms.). Keskusmuistin jatkeena voidaan käyttää näennäismuistia.
Uudet ohjelmat — varsinkin multimediasovellukset — vaativat aina vain enemmän keskusmuistia. Koneen nopeuteen vaikuttaa olennaisesti keskusmuistin määrä ja nopeus. Niinpä uusia, entistä suurempia ja ennen kaikkea nopeampia muistiyksiköitä kehitetään jatkuvasti.
Tietoa keskusmuistin ja suorittimen välillä siirretään erilaisten väylien avulla. Väylän siirtämän tiedon määrä riippuu väylän leveydestä ja nopeudesta. Leveys ilmoitetaan yleensä bitteinä tai tavuina. Väylän leveydellä tarkoitetaan sitä tiedon määrää, joka voidaan väylää myöten kerralla siirtää. Muistin toimintaa ohjataan niin sanotuilla kellopulsseilla. Pulssi määrää milloin muisti voi lähettää tietoa ja milloin sen täytyy ottaa sitä vastaan. Kellopulssien välistä aikaa mitataan megahertseinä (MHz) (kellotaajuus), eli kuinka monta miljoonaa kellopulssia tapahtuu sekunnissa. Mitä suurempi (väylän) kellotaajuus on, sitä nopeampaa muisti on ja sitä enemmän operaatioita muisti suorittaa.
Muistin nopeutta saatetaan kuvata myös sen viiveen avulla. Viive ilmoitetaan nanosekunteina (ns), joka mittaa ajan ensimmäisen operaation suorittamiseen. Viiveiden ilmoittaminen on kuitenkin muistityypeistä riippuva, eikä sitä aina mitata samalla tavoin. Myös se, montako kellopulssia tiedon hakeminen kestää, riippuu muistin tyypistä.
Muistipiirien nopeutumiseen käytetään arkkitehtonisia keksintöjä, muistisolu itsessään säilyy "samana". Asiaa vaikeuttaa se, että tehdyt muutokset tulee ottaa huomioon myös piirien lukutekniikassa eli emolevyn piirisarjan täytyy tukea näitä muutoksia.
Muistin kokoa ilmoitettiin tietokoneiden alkuaikoina kilotavuissa (Kt, KB; 2 = 1 024 tavua), nykyään yleensä megatavuissa (Mt, MB, MiB; 2 ≈ 1,05 miljoonaa tavua) tai gigatavuissa (Gt, GB, GiB; 2 ≈ 1,07 miljardia tavua). Yksiköt eroavat tietoliikenteessä ja massamuistikapasiteetin yhteydessä yleensä käytetyistä, joissa on SI-etuliitteet, kymmenpotensseilla: 10, 10 ja 10 (sekä tietoliikenteen osalta bittejä tavujen sijaan), minkä vuoksi keskusmuistin tapauksessa suositellaan käyttämään nimityksiä kibitavu (KiB), mebitavu (MiB) ja gibitavu (GiB).
Yleensä keskusmuisti on DRAM-tyyppinen "dynaaminen" muisti. Tämä tarkoittaa sitä, että muistia on koko ajan virkistettävä, etteivät tiedot katoa. Joissain erikoistapauksissa keskusmuisti voi olla DRAM-muistin sijasta staattinen SRAM-muisti, jossa tiedot pysyvät virkistämättä. Suorittimen sisäinen välimuisti on tyypillisesti SRAM-muistia. Useimpia muistipiirejä löytyy myös virheenkorjaavana ECC-versioina.
Muistipiirin tyypin kuten DDR3 tai DDR4 määrittelee muistiohjain, joka on ollut erillinen mikropiiri emolevyllä (pohjoissilta, "northbridge"), mutta on yhä useammin integroituna suorittimeen. Varhaisimmat integroitua muistiohjainta käyttävät suorittimet olivat DEC Alpha 21066 ja HP PA-7300LC. Muita integroitua muistiohjainta käyttäviä suorittimia ovat AMD:n Athlon 64, IBM:n POWER5 ja Sun Microsystemsin UltraSPARC T1.
IBM:n Power8-suorittimet käyttävät Centaur DIMM (CDIMM) muistimoduuleja, joissa puskuripiirit ovat muistimoduuleilla integroituna suorittimen sijaan.
Sulautetut järjestelmät voivat käyttää useaa muistityyppiä kuten SDRAM, SRAM ja ROM.
Muistin käyttöön liittyy myös osoiteavaruuden käsite. Prosessori ja emolevyn rakenne ratkaisevat kuinka suurta fyysistä muistia prosessori pystyy osoittamaan: 32-bittisellä osoiteväylällä voi osoittaa 4 Gt (2), 40-bittisellä 1 Tt ja 48-bittisellä (AMD64) 256 Tt muistia. Yhden prosessin näkemä muistiavaruus on riippuvainen käyttöjärjestelmästä ja prosessorista muistisivujen ja näennäismuistin avulla: Linux-ytimeen on lisätty viisitasoinen muistisivutus, jolla maksimimuistimäärä kasvaa petatavuihin.