Mälu (arvuti)

**Arvuti mälu** on funktsionaalüksus (mäluseade) või keskkond, kuhu saab andmeid paigutada, kus neid saab hoida ja kust neid saab kasutamiseks võtta. Peamiselt on arvutis kasutusel mitut liiki pooljuhtmälud, mille algüksused – mäluelemendid – põhinevad transistorlülititel. Mäluelementidesse salvestatakse andmed lüliti kahe olekuna (voolu juhtiv/mittejuhtiv), mis esitavad kahendsüsteemis biti väärtust 1 või 0. Andmete talletamiseks rakendatakse veel ka magnetsalvestuse tehnikat.

Mälu mahtu mõõdetakse baitides, see on ühtlasi vähim adresseeritav andmehulk.

## Mälu tüübid
Arvuti töökiirus on määratud protsessori (CPU) ja mälu jõudlusega. Mälu peaks olema võimalikult suuremahuline ja kiire. Niisugune mäluseade oleks aga väga kallis ja seepärast moodustatakse mälu mitmest üksusest, kusjuures protsessori (või selle tuuma) aritmeetika-loogikaplokile (ALU) vahetus läheduses on suhteliselt väiksemahuline, aga kiire mäluüksus register. Siin hoitakse neid andmeid, mida läheb kõige tõenäolisemalt peatselt vaja Selle kõrval (samuti protsessori kiibil) on veidi suurem ja aeglasem vahemälu. Protsessoriga on mälusiini kaudu otseühenduses põhimälu (muutmälu), mille töökiirus on eelmistest väiksem, aga andmemahutavus suur (mõõdetakse gigabaitides). Need mäluüksused – register, vahemälu ja põhimälu – moodustavad kokku arvuti sisemälu; neid üksusi nimetatakse ka primaarsalvestiteks. 

Välismäluks ehk sekundaarsalvestiteks loetakse mäluüksusi, mis paiknevad väljaspool arvuti emaplaati ja millele protsessoril on juurdepääs ainult sisend-väljundkanalite kaudu. Välismäluks võib olla kõvaketas (HDD), pooljuhtketas (SSD),mälukaart ja mälupulk. Niisuguseid suure andmemahutavusega sekundaarsalvesteid nimetatakse ka massmäludeks).

## Primaarsalvestid
### Protsessori registrid
Register on spetsiaalne eriti kiire mälupiirkond keskprotsessoris. Enne töötlemist peavad kõik andmed olema registrisse üle viidud. Registris võib olla ka üksnes mälupesa aadress, mitte andmed ise.

Keskprotsessori registrite arv ja suurus määrab ära protsessori jõudluse. Näiteks 32-bitise keskprotsessori iga register on 32 bitti lai.

### Vahemälu

Vahemälu on mälu sageli kasutatavate andmete ajutiseks talletamiseks. Andmete lugemine vahemälust toimub palju kiiremini kui nende alalisest asukohast põhimälus. Vahemälus hoitakse põhiliselt andmeid, mida protsessor kasutab kõige tihedamini oma töös. Oma vahemälu võib olla ka kõvakettal.

### Põhimälu (RAM)

Põhimälu ehk muutmälu ehk operatiivmälu ehk RAM (*Random Access Memory*, suvapöördusmälu) on arvuti mälu, mille iga mälupesa poole saa protsessor otse kasutada.

Põhimälus hoitakse parasjagu kasutatavaid andmeid ja seadme tööks vajalikke programme, seal toimub ka pidev andmevahetus protsessori ja teiste mäluseadmete vahel. Muutmälu vab tööks pidevat toitevoolu.

Muutmälu võib olla staatiline (SRAM) või dünaamiline (DRAM). Dünaamilise muutmälu kiirem variant on SDRAM ehk sünkroonne DRAM, mis sünkroonib oma talitluse protsessorisiiniga.

Staatilise muutmälu salvestuselement (1 biti salvestamiseks) on harilikult triger, mis säilitab oma oleku (1 või 0) ka toitepinge väljalülitamisel. SRAM on kiire, ent kuna mitmest transistorist koosnev triger vajab palju kiibi pinda ja toitevoolu, siis ei saa staatilise muutmälu komponente valmistada kuigi suuremahulisena. Arvutis on need mäluseadmed kasutusel 2. taseme vahemäluna.

Arvuti põhimäluna kasutatakse dünaamilist muutmälu SDRAM, sest seda saab valmistada suuremahulisena suhteliselt odavalt. Dünaamilise muutmälu salvestuselemendi moodustab ühest transistorist ja kondensaatorist koosnev lülitus, mis salvestab biti kondensaatori laenguna. Niisugused elemendid võtavad kiibil vähe ruumi ja tarbivad ka vähe voolu. Kuna kondensaatori laeng lekkevoolu tõttu paratamatult väheneb, tuleb laengut toitepinge impulssidega perioodiliselt regenereerida ehk värskendada. Mälukiibile moodustatud mälupesad koosnevad kaheksast salvestuselemendist, nii et igasse pessa mahub 8-bitine koodisõna, seega 1 bait. Iga salvestatud bait saab oma aadressi. Mälu mahtu väljendab baitide arv, mida on võimalik mälupesadesse salvestada.

Arvutites kasutatakse üldiselt mälukomponente DDR SDRAM, mis erinevad baastüübist (SDRAM) selle poolest, et andmebitte edastatakse nii taktimpulsi esikülje (frondi) ka tagakülje ajal. Vajalik arv mälukomponente – kiipe – on monteeritud väiksele trükkplaadile – kahe viigureaga mälumoodulile DIMM (sülearvuteil SO-DIMM).

### Püsimälu

Püsimälu (ehk ROM, *Read-Only Memory* ) on ainult loetav andmesalvesti, milles andmed säilivad püsivalt (ka ilma elektritoiteta). Arvutite algusaastail oli ROM kasutusel arvuti käivitamist juhtiva programmikomplekti (BIOS) salvestamiseks, tänapäeval põhineb see välkmälul.

## Sekundaarsalvestid

Sekundaarsalvestid ehk välismälud on mälud, mis ühendatakse küll arvuti külge, mitte aga otse protsessori külge. Nende peal on mugav talletada andmeid, mis ei ole kasutuses pidevalt ning vajavad suuri mälumahtusid. Välismälud on näiteks mälukaardid ja -pulgad, välised kõvakettad ning CD-ROM. Need sobivad ka andmete varundamiseks.

### Kõvaketas

Kõvaketas (HDD, *Hard Disk Drive*) on andmesalvestusseade, mis kasutab andmete talletamiseks pöörlevaid mittemagnetilisi kettaid, mis on kaetud õhukese magnetilise ferrooksiidlakikihiga. Andmeid loetakse ja kirjutatakse kettale digitaalselt kodeerituna ning need säilivad ka toitevooluvoolu kadumisel.

### Pooljuhtketas

Pooljuhtketas (SSD, *solid state drive*) on välkmälul põhinev andmesalvesti, millel erinevalt HDD-kettast puuduvad liikuvad osad. SSD (nagu ka HDD) võib statsionaarselt kuuluda arvuti koosseisu, kuid selle võib ühendada arvutiga USB-ühenduse vahendusel.

### Mälukaart

Mälukaart on elektrooniline andmete säilitamiseks mõeldud seade, mis tüüpiliselt kasutab välkmälu. Tavaliselt kasutatakse neid kaasaskantavates seadmetes.
 
## Ajalugu
1837. aastal tuli Charles Babbage välja esimese täisautomaatse arvutusmasinaga, mida tunti ka analüütilise masina nime all. See oli esimene arvuti, mis kasutas perfokaarte mäludena. 

1932. aastal leiutas Gustav Tauschek trummelmälu, mis oli arvutimälude eelkäija. 10 aasta pärast leiutati ka esimene arvuti, mis kasutas seda. 

1946. aastal leiutasid Freddie Williams ja Tom Kilburn esimese arvuti muutmälu – nn Williamsi-Kilburni toru. Sinna mahtus kõigest 128 40-bitist sõna. 1940. aastate lõpul tuli teadlastel mõte kasutada arvutites ferriitmälu.

1950. aastal avaldatud UNIVAC 1101 või ERA 1101oli esimene arvuti, mis suutis kirjutada programme mällu ning neid sealt käitada. 1050. aastate keskpaigas Konrad Zuse sai valmis esimese arvuti, mis kasutas magnetsalvestust. 

1960. aastatel valmistas John Schmidt 64-bitise MOS-mälu. Sama kümnendi lõpus kirjeldati ka esimest korda DRAMi ühetransistorilist mälupesa, mis hiljem hakkas asendama ferriitmälu. Intel esitles oma esimest toodet 3301 Schottky bipolaarset 1024-bitist ROM-i. 

1970. aastal esitles Intel DRAMii, mis võimaldas talletada 1024 bitti ehk 1 kilobiti andmeid. Samal kümnendil avaldati ka EPROM (*Erasable Programmable Read Only Memory*), mis oli esimene püsimälu, mida sai vajaduselt muuta ultraviolettkiirguse abil. George Perlegos koos Inteliga tõi avalikkuse ette esimese EEPROM (*Electrically Erasable Programmable Read-Only Memory* ehk elektriliselt kustutatav programmeeritav püsimälu).

1984. aastal leiutas Fuijo Masuoka välkmälu.

## Vaata ka
* Mäluseade
* Välkmälu
* Mitmekanaliline mälu arhitektuur
* Virtuaalmälu
* Mälukaitse
* Videomälu

## Viited