1.1.5 Mäluseadmed

iDevice ikoon 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:

  • Staatiline mälu (SRAM -Static Random Access Memory). See on väga kiire muutmälu, mis realiseeritud trigerite bassil ja mille tootmine on kallis. Seda mälu kasutatakse vahemäluna (Cache memory) või protsessorite registrite mäluna.

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 18. 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:

  • SDR SDRAM (Single Data Rate Synchronous DRAM) ehk sünkroonne dünaamiline muutmälu. SDR SDRAM mälu taktsagedus on sünkroonis arvuti protsessori taktsagedusega ning andmevahetus on võimalik üks kord iga takti kohta. Kuna andmesiini laius ühekanalisel mälul on 64 bitti ehk 8 Baiti siis andmevahetuse kiiruse arvutamiseks tuleb korrutada mälu taktsagedus 8 Baidiga.
    DDR SDRAM (Double Data Rate SDRAM) ehk topeltkiirusega sünkroonne dünaamiline muutmälu võimaldab oluliselt kiiremat andmevahetust edastades andmeid nii tõusva kui langeva taktsageduse frondiga kasutades 2-bitist andmepuhvrit.
  • DDR2 SDRAM - selle edasiarenduse puhul suurendati puhvrit 4-bitiseks ja tõsteti mälu välist takti, mis võimaldas lugeda 4 korda kiiremini andmeid kui mälu sisemine takt. Samuti alandati mälu toitepinget 1,8V'ni, mis omakorda võimaldas vähendada mälu voolutarvet.
File:Desktop DDR Memory Comparison.svg

Joonis 19. DDR SDRAM mälude eri põlvkonna moodulid on füüsiliselt kokkusobimatud (Allikas:http://en.wikipedia.org/wiki/File:Desktop_DDR_Memory_Comparison.svg )

  • 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.