RAM/ROM

Wikiopistosta
Siirry navigaatioon Siirry hakuun

RAM[muokkaa]

RAM (Random Access Memory) eli hajasaantimuisti on lukemiseen ja kirjoittamiseen käytettävä muistityyppi. [1] Hajasaantimuistilaitteeseen voidaan kirjoittaa tai siitä voidaan lukea tietoa nopeasti sen fyysisestä sijainnista riippumattomassa ajassa. [2] Tietokoneen ollessa päällä RAM-muistin läpi kulkee jatkuva sähkövirta, jota käyttämällä päästään käsiksi väyliä pitkin suoraan haluttuun muistipaikkaan. Tämän tyyppistä muistia käytetään tietokoneissa keskusmuistissa ja välimuisteissa, joissa niihin latautuvat käyttöjärjestelmän ohjelmat, suoritettavat sovellukset sekä näiden tarvitsemat tiedot. [3] Kerran muistiin ladattu ohjelma voidaan hakea sieltä nopeasti uudelleen. Tavallisesti RAM-muistin sisältö tyhjenee aina virrankatkaisun yhteydessä. RAM-muistit voidaan jaotella dynaamiseen (DRAM) ja staattiseen (SRAM). [4]

DRAM[muokkaa]

DRAM Dynamic Random-Access Memory on luku- ja kirjoitusmuistin tyyppi, joka tallentaa jokaisen bitin erilliselle kondensaattorille. Kondensaattorin varaus voidaan ainoastaan ladata tai vapauttaa. Nämä kuvaavat bitin arvoa joko 0 tai 1. Kondensaattorin sähkövaraus haihtuu ajan myötä, jolloin myös muistissa olevat bitit katoavat. Tämä voidaan estää lataamalla jokaisen kondensaattorin sähkövaraus ulkoisella muistin virkistys piirillä, joka kirjoittaa tiedon uudestaan muistiin. DRAM vaatii jatkuvan virkistämisen, jotta muisti ei tyhjene, toisin kuin SRAM, joka ei vaadi muistin virkistämistä tiedon säilyttämiseksi. DRAM ollessa haihtuvaa muistia menettää se tiedon virran katkessa, toisin kuin haihtumaton muisti, kuten flash-muisti.

DRAM on laajalti käytetty muistityyppi digitaalisissa laitteissa, joissa halpa hinta ja suuri muistin määrä on tarpeellinen. DRAM:in käyttötarkoitus on toimia keskusmuistina tietokoneissa, näytönohjaimissa, mobiililaitteissa ja pelikonsoleissa. Toisin kuin kuin SRAM, joka on huomattavasti nopeampaa ja samalla kalliimpaa muistia käytettään, kun muistin nopeus on suurempi tekijä, kuin hinta. Kuten suorittimien välimuistissa.

DRAM:ia käytetään huomattavasti useammin kuin SRAM, joka johtuu DRAM:in yksinkertaisuudesta. DRAM vaatii vain yhden kondensaattorin ja transistorin jokaista bittiä kohden. Toisin kuin SRAM, joka vaatii 4 tai 6 transistoria. Tämä johtaa DRAM:in muisti kapasiteetin olevan suurempi ja huomattavasti halvempi bittiä kohden, kuin SRAM. Kondensaattorit ja transistorit ovat todella pieniä, joten niitä mahtuu miljardeja yhdelle muistipiirille. Dynaamisen luonteensa takia DRAM kuluttaa virtaa suhteellisen paljon.[5]

DDR SDRAM Internal rate (MHz) Bus clock (MHz) Prefetch Data rate (MT/s) Transfer rate (GB/s) Voltage (V)
SDRAM 100-166 100-166 1n 100-166 0.8-1.3 3.3
DDR 133-200 133-200 2n 266-400 2.1-3.2 2.5/2.6
DDR2 133-200 266-400 4n 533-800 4.2-6.4 1.8
DDR3 133-200 533-800 8n 1066-1600 8.5-14.9 1.35/1.5
DDR4 133-200 1066-1600 8n 2133-3200 17-21.3 1.2

SRAM[muokkaa]

Kuva 1: Yksinkertaistettu sram-piiri

SRAM (engl. static random-access memory) eli staattinen ram-muisti on puolijohdetekniikalla toteutettu digitaalinen muistipiiri. Se toimii flip-flop -tekniikalla, eikä tarvitse virkistystä kuten dynaaminen ram-muisti. SRAM-muistipiiri on staattinen niin kauan kuin käyttöjännite on kytkettynä. Muiden RAM-muistien tapaan se kuitenkin tyhjentyy, kun virta katkaistaan. [6] Poikkeuksen tästä muodostaa haihtumaton SRAM (eng. non-volatile static random-access memory ts. nvSRAM), joka muutoin toimii kuin SRAM, mutta virran katketessa se siirtää datan pitkäkestoiseen muistiin (eng. non-volatile memory), jossa data voi säilyä muuntumattomana jopa yli 20 vuotta [7].[8]

Kuvassa 1 esitellään SRAM-muistipiirin toiminta yksinkertaistetussa muodossa. Osoiteväylän transistorit kontrolloivat syötteen pääsyä muistipiiriin. Kun osoiteväylä saa signaalin, käynnistyvät transistorit ja dataa voidaan lukea bittiväylältä B tai kirjoittaa tälle väylälle. Bittiväylät ovat toistensa komplimentteja. Oletetaan, että B bittiväylään syötetyn bitin arvo on 1. Tällöin toisen bittiväylän bitin arvo on 0. Kun B-väylän syöte saapuu flip-flop- eli kiikkupiiriin, vaihtuu sen arvoksi 0. Kun se kiertää takaisin B-väylälle, vaihtuu bitin arvoksi taas 1. Tämä pitää piirin staattisena.[9]

Kuva 2: Esimerkki kuuden transistorin sram-piiristä.

Yleisimmin SRAM-muistipiirissä on kuusi (Kuva 2) tai neljä transistoria, mutta transistorien määrä voi olla myös suurempi. Transistorien suuri määrä tekee SRAM-muistista kooltaan suuremman ja kalliimman kuin esimerkiksi DRAM-muisti. SRAM-muisti on kuitenkin nopeampi kuin DRAM ja yleensä se käyttää vähemmän virtaa, koska ei tarvitse jatkuvaa virkistystä. Se on myös DRAM-muistia luotettavampi, koska jännite ei pääse tyhjentymään. Näistä syistä SRAM-muistia käytetään yleensä esim. välimuistissa tai laitteissa, joiden virrankäyttö halutaan pitää alhaisena.[6][8]

ROM[muokkaa]

ROM (Read Only Memory) eli lukumuisti on nimensä mukaisesti muisti, jota voidaan ainoastaan lukea ja johon tallennetut tiedot säilyvät silloinkin, kun tietokoneesta tai muusta sitä käyttävästä laitteesta katkaistaan virta. ROM-muistiin on tallennettu yleensä laitteeseen liittyvät pysyvät tiedot ja sen käynnistämiseen tarvittavat ohjelmat, eikä sitä voi käyttää esimerkiksi ohjelmien toteuttamiseen tai ohjelmatietojen tallentamiseen, sillä siihen ei voi tehdä muutoksia normaalin käytön aikana. Toisinaan käytetty termi MROM (Mask ROM) tarkoittaa samaa kuin ROM, eli se on lukumuisti, joka on valmiiksi ohjelmoitu valmistajan toimesta. ROM-muistista on kuitenkin olemassa myös useita erilaisia jälkeenpäin ohjelmoitavia versioita (PROM, EPROM ja EEPROM). Näille yhteistä on, että ne kaikki ovat ohjelmoitavia lukumuisteja, jotka säilyttävät tietonsa aina myös virrankatkaisun jälkeen. [10] [11]

PROM[muokkaa]

PROM tulee sanoista Programmable Read Only Memory, joka tarkoittaa ohjelmoitavaa lukumuistia. PROM:ista on myös muita nimi variaatioita, kuten kenttäohjelmoitava Field Programmable Read Only Memory (FPROM), ja kertaluontoinen One Time Programmable Read Only Memory (OTP PROM). [12] PROM:it valmistetaan tyhjänä ja voidaan ohjelmoida kerran pysyvästi käyttäjän toimesta. [13]

PROM:ia käytetään matalatasoisten ohjelmien kirjoittamiseen. Tallaiset ohjelmat ovat digitaalisissa elektroniikkalaitteissa mm. laiteohjelmisto tai mikrotunnus. Näiden ohjelmien tiedot ovat pysyviä, eikä niitä voida muuttaa. PROM eroaa ROM:ista siinä, että tiedot ovat ohjelmoitu valmistuksen jälkeen kun taas ROM:issa tiedot kirjoitetaan levyn valmistuksen aikana. ROM:ia käytetään tyypillisesti suurissa tuotantotiloissa, kun taas PROM:ia voidaan testata ennen kuin tieto poltetaan kaikkiin levykkeisiin. [14]

PROM:in kamman näköiset ”sirut” valmistetaan tyhjinä. Erilaisesta tekniikasta riippuen PROM-siru voidaan ohjelmoida kiekkoon, lopulliseen testiin tai järjestelmään. Tyhjät sirut ohjelmoidaan liittämällä ne PROM ohjelmointi laitteeseen. Tämä tekniikka, antaa yrityksille mahdollisuuden pitää tyhjiä siruja varastossa ja ohjelmoida ne vasta viime hetkellä. Tätä muistityyppi käytetään paljon videopelikonsoleissa, matkapuhelimissa, teräväpiirroissa, sekä monissa kuluttaja– ja autoteollisuuden tuotteissa. [15]

PROM toimii samalla tavalla kuin tavallinenkin ROM, eli riveillä ja sarakkeilla. Ero näiden kahden välillä kulminoituu siihen, että PROM:in jokaisen rivin ja sarakkeen risteyskohdassa on sulake, joka yhdistää nämä kohdat. PROM:in kaikki sirut ovat alkuarvoltaan 1s. Kun lähetetään virtaa kulkemaan sarakkeen solun läpi maadoitetulle riville, ilmaisee tämä arvon 1. Kun arvoksi halutaan 0, ohjelmoija lähettää suuremman määrän virtaa solun läpi. Korkeampi jännite katkaisee sarakkeen ja rivin välisen yhteyden polttamalla sulakkeen. Tätä prosessia kutsutaam PROM:in polttamiseksi. [15]

EPROM[muokkaa]

EPROM (Erasable programmable read-only memory) on haihtumatonta puolijohdemuistia, joka säilyttää siihen kirjoitetut tiedot virran sulkemisen jälkeen. EPROM koostuu kokoelmasta kanavatransistoreja, jotka ovat yksilöllisesti ohjelmoitu elektronisella laitteella. Laite tuottaa suurempia käyttöjännityksiä, kuin mitä yleensä käytetään digitaalisissa piireissä. Vanhojen tietokoneiden BIOS-piirit olivat usein EPROMeja. [16]

Muistin tyhjennys toimii voimakkaalle ultraviolettivalolle altistamalla. Tyhjennykseen sopii parhaiten aaltopituudeltaan 235 nanometrin UV-valo, joka tyhjentää piirin noin puolessa tunnissa.[16] Normaali huoneen valo ei riitä tyhjentämään piiriä, mutta altistuessaan pitkäksi ajaksi auringon valolle piiri voi tyhjentyä. Piirin voi tyhjentää ja uudelleen kirjoittaa 10 000-100 000 kertaa. Tiedot voidaan kuitenkin lukea niin monta kertaa kuin tarvitaan, sen vaikuttamatta piirin elinikään. Tiedot säilyvät minimissään 10-20 vuotta. Tyhjennystä ei tarvitse tehdä lohko kerrallaan, vaan uuden tiedon voi kirjoittaa vanhan päälle tavu kerrallaan. Yleisesti ottaen EPROMia tyhjentäessä, se pitää ottaa irti laitteistosta, koska ei ole erityisen käytännöllistä rakentaa ultraviolettivaloa laitteiston virtapiiriin.[17]

EPROM-piirin tunnistaa helposti piirin päällä olevasta kvartsilasi-ikkunasta, jonka täytyy olla paikoillaan, jos piiri halutaan tyhjentää. Ikkunaan liimataan usein foliotarra vahinkotyhjentämisen estämiseksi. Kvartsilasi muodostaa ison osan piirin kustannuskuluista, jonka vuoksi piirejä on olemassa myös ilman kvartsilasi-ikkunaa. Tällaista versiota piiristä ei pystytä tyhjentämään käyttäen ultraviolettivaloa, vaan se voidaan ohjelmoimaan vain kerran (OTP eli One Time Programmable). [16]


EEPROM[muokkaa]

EEPROM (Electronically Erasable Programmable Read-Only Memory) on haihtumatonta puolijohdemuistia, joka koostuu kahdesta transistorista (MOS- eli varsinaisesta muistitransistorista ja valintatransistorista). MOS-transistori sisältää kaksi hilaa, joista toinen on normaali hila ja toinen sen alla oleva kelluvahila (johtava ja eristeen ympäröimä alue). Valintatransistorissa on puolestaan vain yksi hila, jota voidaan uudelleen kirjoittaa sekä lukea.[18]

EEPROM-muistipiirin tyhjennys/pyyhkiminen ja sen uudelleenkirjoittaminen suoritetaan sähköisesti muistipiirin yhä ollessa paikallaan piirilevyllä. Tämä tapahtuu yksittäinen muistipaikka kerrallaan, mikä EEPROMin kohdalla tarkoittaa yleensä yhtä tavua (8 bittiä) kerrallaan. EEPROM-muistipiiri voidaan nykyaikana pyyhkiä ja uudelleenkirjoittaa aina 10 000 kerrasta 1 000 000 kertaa asti. Muistipiirit ovat usein sarjaliitännäisiä, eli tieto ja sen osoite kulkevat samaa liitäntäjohdinta myöten laitteen prosessorin ja muistin välillä aikajaettuina erillisen kellosignaalin tahdissa. Muistipiiri hoitaa sisäisesti sen toiminnassa tarvittavat toimenpiteet, kuten tiedon osoitekoodauksen.[18]

Nykyään käytössä olevat EEPROM-muistipiirit ovat suhteellisen pieniä muisteja ja niihin voidaan tallentaa pieni määrä tietoa. Muistipiirejä käytetään laitteen toiminnan aikana muutettujen tietojen säilyttämiseen. EEPROM voi olla oma piirinsä tai prosessorin sisällä oleva laite. Sitä käytetään esimerkiksi tietokoneen emolevyn BIOS-ohjelmassa, joka siihen tallennettujen tietojen perusteella etsii ja lataa käyttöjärjestelmän keskusmuistiin, sekä käynnistää sen tietokoneen käynnistyessä. Muistipiiriä käytetään myös matkapuhelimen SIM-kortin kiintomuistina (esim. yhteystietojen tallentamiseen) sekä integroituna mikro-ohjaimena sirukorttien siruissa ja autojen etälukituksen sähköjärjestelmissä. Mikro-ohjaimissa on siis sisäinen EEPROM-muisti ohjelmissa käytettävien parametrien tallentamista varten.[19] [18]

Flash-muisti[muokkaa]

Flash-muisti on haihtumaton puolijohdemuistityyppi, jossa data säilyy, vaikka virta kytkeittäisiin pois päältä jopa 10 vuoden ajan. LIsäksi sitä voidaan sähköisesti sekä tyhjentää että ohjelmoida uudelleen. Flash-muisteja käytetään yleisesti laitteissa jotka ovat pieniä, kevyitä ja niissä on vähäinen virrankulutus (MP3-soittimet, digitaalikamerat, muistitikut ja matkapuhelimet). Flash-muistissa ei myöskään ole liikkuvia mekaanisia osia, jonka vuoksi se on käytössä äänetön. Nykyisin Flash-muistiin perustuvia piirejä käyteään myös kiintolevynä tietokoneissa (SSD, Solid state drive). Flash-muistit soveltuvat parhaiten ohjelman muisteiksi laitteisiin, joissa muistipiireille tallennettu ohjelma saatetaan päivittää myöhemmin. Tämä siitä syystä että Flash-muistit sopivat sovelluksiin, joissa muistista luetaan paljon, mutta sinne kirjoitetaan vähän. Yhden bitin tilan tallentava muistialkio koostuu MOSFET(engl. Metal-oxide-semiconductor field-effect transistor)- tyyppisestä rakenteesta. [20] Toimintaperiaate onkin, että ohjaushilalle tuodaan jännite muistisolua luettaessa. Virta mitataan jännitteen kulusta lähteeltä nielulle. Mitattava virta saadaan kelluvan hilan varauksesta. Hilalla ei ole varausta, kun solu on tyhjennetty. Tässä tilanteessa virta kulkee hyvin ja solun tila on 1, kun taas solulla oleva varaus, estää virtaa kulkemasta, jolloin solun tilaksi muodostuu 0. Yhden bitin solun ohjelmoinnin rinnalle on tullut myös kahden bitin tallennus mahdollisuus (MLC, Multi Level Cell). [21]

Flash-muistin historia lähtee 1980-luvun alusta Fujio Masuoka keksi sekä NOR-että NAND-flash-muistit Toshiba-yhtiössä. Vuonna 2002 markkinoilla oli jo yhden gigabitin kokoisia flash-muistipiirejä. [20]

Lähteet[muokkaa]

  1. Hajasaantimuisti Wikipedia.org. Viitattu 21.11.2018.
  2. Random-access memory Wikipedia.org. Viitattu 21.11.2018. (englanniksi)
  3. Keskusmuisti Wikipedia.org. Viitattu 21.11.2018.
  4. Tietokonejärjestelmät. Muistit, välimuisti (cache). University of Eastern Finland. Jussi Parkkinen. 2017.
  5. Dynamic random-access memory Wikipedia.org. Viitattu 21.11.2018. (englanniksi)
  6. 6,0 6,1 Stallings W.: ”5.1”, Computer Organization and Architecture, 10th ed., global edition.. Harlow U.K.: Pearson Education Limited, 2016. (englanniksi)
  7. Pramodh Prakash 2012. Using nvSRAMs for power-fail reliability in enterprise SSDs. Embedded. Viitattu: 5.12.2018 (englanniksi)
  8. 8,0 8,1 Static random-access memory Wikipedia.org. Viitattu 16.11.2018. (englanniksi)
  9. All about electronics: SRAM vs. DRAM Youtube.com. 12.11.2017. Viitattu 16.11.2018. (englanniksi)
  10. Read-only memory Wikipedia.org. Viitattu 21.11.2018. (englanniksi)
  11. Jeff Tyson. How ROM Works, sivu 1.
  12. Wikipedia. Programmable Read Only Memory. 6.11.2018 https://en.wikipedia.org/wiki/Programmable_read-only_memory
  13. The BCS Glossary of ICT and Computing Terms, sivu 185, Viitattu 5.12.2018
  14. Computer Hope. Programmable ROM. 17.10.2017 https://www.computerhope.com/jargon/p/progrrom.html
  15. 15,0 15,1 Jeff Tyson. How ROM Works, sivu 3.
  16. 16,0 16,1 16,2 Eprom Wikipedia.org. Viitattu 20.11.2018. (englanniksi)
  17. Eprom Batronix.com. Viitattu 20.11.2018. (englanniksi)
  18. 18,0 18,1 18,2 Halttunen, S. & Rautiainen, E. T. 2008. Tietokonetekniikka. Helsinki: Edita. s.120-122.
  19. Eeprom Wikipedia.org. Viitattu 16.11.2018. (englanniksi)
  20. 20,0 20,1 Flash-muisti Wikipedia.org. Viitattu 21.11.2018. (englanniksi)
  21. Mäntymaa Jaakko: Haihtumattomat tallennusmenetelmät sulautetussa anturijärjestelmässä. Wikipedia.org. Jyväskylä: Jyväskylän yliopisto Tietotekniikan laitos.. Viitattu 21.11.2018.