1.1.5 Mäluseadmed

Mälu funktsioon on salvestada programmikoodi ja andmeid. Mälu olulised parameetrid on mälu maht, mida hinnatakse bittides või baitides koos spetsiaalse eesliitega: K (kilo - 1024), M (mega - 1024×1024), G (giga - 1024×1024× 1024), millele järgneb sõna bitt või bait. Teine oluline parameeter on mälu andmevahetuskiirus mälust andmete lugemiseks või kirjutamiseks. Mälud jagunevad muutmäluks (RAM - Random Access Memory) ja püsimäluks (ROM - Read Only Memory). Muutmälu ei säilita oma sisu väljalülitatud olekus ja seda kasutatakse arvutis töötavate rakenduste programmikoodi ja andmete salvestamiseks. Muutmälu nimetatakse ka suvapöördusmäluks, mis viitab sellele, et mälu on otseselt juurdepääsetav üle kogu aadresside vahemiku. |
Joonis 1-6. Mälu andmevahetuse skeem (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat)) |
Muutmälud jagunevad:
|
![]() Joonis 1-7. Mälumoodul |
- Dünaamiline mälu (DRAM - Dynamic Random Access Memory). Selle mälutehnoloogia puhul kasutatakse info salvestamiseks väljatransistori paisusiirde elektrimahtuvust. Ühe biti info salvestamiseks piisab ühest transistorist aga laengu säilitamiseks vajab mälu regulaarset värskendamist, mis muudab seda tüüpi mälu oluliselt aeglasemaks. See muutmälu tüüp on kasutusel tänapäevastes personaalarvutites põhimäluna operatsioonisüsteemi ja rakenduste jooksvaks töötamiseks vajaliku programmikoodi ja andmete salvestamiseks. DRAM mälu on korraldatud mälubittide maatriksina. Andmevahetustsükli alustamiseks aktiveerib mälukontroller vastava rea maatriksist, millele kulub teatud viivitus taktides, seejärel aktiveerib kontroller veeruaadressi (milleks samuti kulub teatud hulk takte) ja loeb või kirjutab mällu andmed. Edasised lugemised sama rea veergudest saab teha juba ilma ekstra viivitusteta kuni on vaja lugemisega jätkata uuest reast. Uuele reale ümberlülitumiseks on vaja olemasolev rida deaktiveerida, milleks kulub samuti teatud aeg. Peamised 4 parameetrit mälude iseloomustamiseks on järgmised:
- tCL- veeruviivitus CAS latency (Column Address Strobe Latency) näitab viivitust mälukontrolleri pöördumisest mälu vastava veeru poole kuni soovitud andmete kättesaadavaks ilmumisega andmesiinil taktides.
- tRCD - (RAS to CAS delay) viivitus rea aadressi valikuks
- tRP -(RAS precharge) viivitus rea deaktiveerimiseks, et pöörduda uue rea poole
- tRAS - (Row active time) minimaalne aeg, mis vaja rea ja veeru valikuks koos andmevahetusega kuni rea deaktiveerimissignaalini
Tavaliselt on need parameetrid
mälumooduli spetsifikatsioonis näidatud numbrite järgnevusena, mis eraldatud
sidekriipsudega (näiteks 4-4-4-12) ja need numbrid on mälumooduli tootja poolt
salvestatud spetsiaalses püsimälukiibis SPD (SerialPresenceDetect), mis paikneb
igal mälumoodulil ning neid andmeid kasutatakse arvuti mäluparameetrite
automaatsel konfigureerimisel arvuti käivitumisel POST testimise käigus. Mälu
parameetrite tuvastuseks on saadaval erinevaid rakendusi. Üks selline on
näiteks CPU-Z nimeline rakendus (http://www.cpuid.com/), mille väljavõte mälu
parameetritest on toodud joonisel. |
![]() Joonis 1‑8. CPU-Z programmi poolt loetud mälu parameetrid |
Tänapäeval arvutites kasutusel olevad sünkroonsed DRAM muutmälud on omakorda teinud läbi arengu, mille etapid olid järgmised:
- DDR3 SDRAM - vähenes voolutarve ja toitepinge, puhvrid 8-bitised, mis võimaldab lugeda mälusiinilt andmeid järjest puhvrisse 8 korda kiiremini mälu sisemisest taktsagedusest.
- RDRAM (Rambus DRAM) - see on tänaseks juba praktiliselt unustatud mälutehnoloogia, mis tuli uuenduslikuna kasutusse paralleelselt esimeste DDR mäludega. Sellel mälul oli vaikimisi sisseehitatud kahekanaliline andmevahetus ja kõrgemad taktsagedused. Samas oli selle tehnoloogia probleemiks kõrge hind, mälude jahutusprobleemid ja litsentsitasu nõue, mistõttu soodsam DDR mälutehnoloogia jäi võitjaks.
Mälutehnoloogiate
standardimisega tegeleb JEDEC: http://www.jedec.org
Mälude funktsionaalsust kirjeldavaid tehnilisi dokumente on võimalik leida ka
mälutootjate veebilehtedelt, näiteks: http://www.elpida.com/en/products/documents.html
Andmevahetuse kiirust saab tõsta kui kasutada mitmekanalilist mälulahendust, mis
on kaasaegsetes arvutites juba standardiks kujunenud.
Arvuti muutmälu on arvuti põhikomponent ja selle parameetrid peavad hästi
sobima arvuti mälukontrolleriga. Samuti on stabiilsuse poolest oluline
installeerida arvutisse kokku vaid sama tootja samade parameetritega
mälumooduleid. Kui mälu töös esineb tõrkeid siis on sellest mõjutatud kogu
arvuti ning normaalne töötamine arvutiga ei ole võimalik. Arvuti mälu
testimiseks on erinevaid vahendeid. Mälutestid on kaasas uuemate
operatsioonisüsteemidega ja saab neid leida ka internetist. Näiteks aadressilt:
http://www.memtest.org/
Püsimälud on kasutusel erinevate
arvuti riistvarakomponentide püsivara (firmware) programmikoodi ja andmete
salvestamiseks. Näiteks on iga arvuti emaplaadil püsimälu, milles sisaldub BIOS
(Basic Input Output System). Püsimälud jagunevad omakorda:
- ROM (Read-Only Memory) - püsimälu, mis programmeeritud tootmise käigus ja seda ei ole võimalik hiljem ümber programmeerida.
- PROM (Programmable ROM) - ühekordselt programmeeritav püsimälukiip.
- EPROM (Erasable PROM) - mitmekrodselt programmeeritav püsimälukiip, mille ümberprogrammeerimiseks on vaja vana programm kustutada ultraviolettkiirguse abil.
- EEPROM (Electrically Erasable PROM) - mitmekordselt ümberprogrammeeritav püsimälukiip, mille eelnev kustutamine toimub elektrilise signaali abil ja seda tüüpi püsimälu kasutatakse tänapäevastes arvutites ja riistvaraseadmetes, et võimaldada riistvaraseadmete programmikoodi uuendada paranduste ja uue funktsionaalsuse lisamiseks.
Mälude veakontroll on kasutusel kriitilistes kontrollerites või serverarvutites. Veakontroll võib olla realiseeritud kas paarsuskontrolliga, kus teatud arvu bittide kohta arvutatakse kontrollsumma ning andmete mälust lugemisel kontrollitakse, kas summa on sama. Sellise lahenduse korral on võimalik avastada 1-bitiseid mäluvigu. Teine mälukiipides tuntud veakontrollimeetod on ECC (Error detection and correction). Selle kontrollimeetodi puhul on iga mälumoodulil eraldi kontrollbitt ja selle kontrollimehhanism ka mälukontrollerile sisse ehitatud. ECC mälude korral on võimalik korrigeerida 1-bitiseid mäluvigu ja avastada 2-bitiseid mäluvigu.