DRAM

Wikipedia
Loikkaa: valikkoon, hakuun
Muistityypit
Haihtuvat muistityypit
Haihtumattomat muistityypit

DRAM (engl. Dynamic Random Access Memory) on luku- ja kirjoitusmuistin tyyppi, jossa jokainen bitti tallennetaan erilliseen kondensaattoriin. Koska kondensaattorin varaus ajan myötä häviää, muisti vaatii säännöllistä virkistämistä (toisin kuin staattisessa RAM-muistissa). Lisäksi muistisolun lukeminen purkaa kondensaattorin, joten jokaisen lukuoperaation jälkeen data pitää tallentaa takaisin muistisoluun.

DRAM-muistista on kehitetty eri tyyppejä, mm. FPM, EDO, SDRAM ja DDR SDRAM.

Dynaamisten muistipiirien historia[muokkaa | muokkaa wikitekstiä]

Ensimmäinen dynaaminen integroitu muistipiiri oli Intel 1103, jonka koko oli 1 kbit[1]. 1 Mbit muistikoko saavutettiin 1984 ja 1 Gbit 1990-luvun lopulla[2].

DRAM-protokollan yleispiirteet ja piirien rakenne[muokkaa | muokkaa wikitekstiä]

DRAM-piirien muistiosoite koostuu kahdesta osasta, rivi- ja sarakeosoitteesta. Näihin molempiin käytetään yhteisiä osoitelinjoja. Tyypillisesti osoitteen ylimmät bitit sisältävät rivin, alimmat bitit sarakkeen.

Ensin valitaan aktivoitava rivi, ja kun muistipiiri on saanut rivin aktivoitua, sille ilmoitetaan tältä riviltä sarake, josta luetaan tai johon kirjoitetaan.

Muistipiirien kapasiteetti ilmoitetaan tyypillisesti kilobitteinä sekä piirin datan leveytenä: esimerkiksi 2 Mbit × 32 tarkoittaa 32-bittistä kahden megabitin muistia eli kahdeksan megabitin kapasiteettia. Yksi osoite viittaa siis aina dataleveyden kokoiseen datamäärään. Kun muistin leveys on jotain muuta kuin prosessorin muistiosoituksen leveys (joka on yleensä 8 bittiä), koneen muistiohjain tekee muutoksen muistin käyttämien ja prosessorin käyttämien osoitteiden välillä.

Käyttöjännite[muokkaa | muokkaa wikitekstiä]

SDRAM (pakkaus=DIMM) toimii 3,3 voltilla, FPM ja EDO (pakkaus yleensä = SIMM) toimivat 5 voltilla. Joissain vanhemmissa emolevyissä oli mahdollista käyttää sekä SDRAM DIMMejä että EDO SIMMejä. Näissä tehonsyöttö oli erikseen DIMMille ja SIMMille, mutta dataväylä oli yhdessä. Jos molempia laittaa samalle emolevylle, SDRAMin 3,3 voltin tulo tuhoutuu hetken jälkeen SIMMin 5 voltin syöttöjännitteen vuoksi.

PC-tietokoneissa keskusmuistina käytetyt muistityypit[muokkaa | muokkaa wikitekstiä]

PC-tietokoneissa on aikojen kuluessa käytetty keskusmuistina erilaisia DRAM-tyyppejä. Näistä vuorotellen valtavirtana ovat olleet FPM, EDO, SDRAM, DDR, DDR2 ja DDR3. Nämä muistityypit liitetään tietokoneeseen muistikampoina, jotka aluksi olivat yksipuolisella liittimellä (SIMM) ja myöhemmin kaksipuolisella liittimellä (DIMM). Pieniä tietokoneita, kuten kannettavia, varten käyttöön tuli SODIMM (Small Outline Dual In-line Memory Module) liitin.

FPM[muokkaa | muokkaa wikitekstiä]

FPM (engl. Fast Page Mode) on 1980-luvun lopulla suunniteltu tietokoneen keskusmuistin käytön nopeutustapa. Siitä kehitettiin myöhemmin EDO-muisti. Se sallii lukemisen samalta riviltä niin, että vain sarakeosoitetta muutetaan. Näin dataa saadaan sivu kerrallaan.

FPM-muistin hakuaika oli tyypillisesti 100–60 ns.

FPM-muisti ei ollut synkronoitu kellosignaaliin mutta tyypillisesti sen nopeus sopi prosessorien väylänopeuteen siten että prosessorilta kului peräkkäisen datan lukemiseen väyläkellojaksoja sarjan 5-3-3-3 verran eli esimerkiksi välimuistilinjan täyttäminen muistista neljässä kellojaksossa kului kokonaisuudessaan näiden summan verran väyläkellojaksoja eli 14.

EDO[muokkaa | muokkaa wikitekstiä]

FPM poistaa datan lähdöstään aina, kun se alkaa hakea dataa uudesta osoitteesta. EDO pitää edellisen datan lähdössä kunnes uusi on löytynyt. Näin tarvittavien kellopulssien määrä vähenee yhdellä, ja tyypillisesti suoritin pystyy EDO-muistia lukemaan muistista kellopulssisarjalla 5-2-2-2 eli välimuistilinjan täyttäminen neljästä peräkkäisestä osoitteesta vie EDO-muistin kanssa 11 kellojaksoa.

EDO-muistit toimivat tyypillisesti 70–50 ns nopeudella.

EDO-muisti tuli käyttöön Pentium-aikakaudella eli 90-luvun puolivälin aikoihin. Ensimmäinen sitä tukeva PC-piirisarja oli Intel 430FX.

SDRAM[muokkaa | muokkaa wikitekstiä]

SODIMM 64 MB SDRAM

Yleisin muistityyppi vuosituhannen alun mikroissa on SDRAM (Synchronous Dynamic Random Access Memory). Uusissa koneissa sen on syrjäyttänyt DDR SDRAM. Tämä muistityyppi vaatii samalla tavalla virkistämistä kuin tavallinenkin DRAM. SDRAM on edeltäjistään poiketen synkronoitu kellosignaaliin, mikä mahdollistaa muistiväylän paremman liukuhihnoittamisen ja siten nopeamman peräkkäisen datansiirron. Hakuaikaa SDRAM ei kuitenkaan paranna vaan saattaa jopa hiukan huonontaa (koska pitää aina odottaa kellonreunaa ennen kuin muistille voi antaa komentoja). SDRAM pystyy antamaan peräkkäistä dataa ulos peräkkäisinä kellojaksoina. SDRAMit pystyvät siis tyypillisesti antamaan peräkkäisiä data-alkioita ajoituksella 5-1-1-1 eli neljän data-alkion kokoisen välimuistilinjan täyttämiseen kuluu 8 väyläkellojaksoa.

SDRAM-muisteille hakuaikaa ei enää ilmoitettukaan nanosekunneissa, vaan niistä ilmoitettiin lukemana pienin mahdollinen kellojakson pituus. SDRAM-muistien hakuaika sen sijaan ilmoitetaan kellojaksolukemina, siis paljonko menee aikaa signaalin jälkeen ennen kuin piiri antaa dataa tai voidaan antaa seuraava ohjaussignaali piirille.

CL (CAS latency) on kellojaksomäärä jonka jälkeen sarakeosoitteen antamisesta piiri alkaa antaa dataa ulos. Se on tyypillisesti 2 tai 3 kellojaksoa. RAS-To-CAS latency ilmoittaa kellojaksoissa kuinka pian riviosoitteen antamisesta voidaan piirille antaa sarakeosoite. Tyypillisesti tämä latenssi on 2 tai 3 kellojaksoa.

Jos luetaan dataa täysin uudesta osoitteesta, pitää siis odottaa molempien viiveiden summan verran, mutta jos luetaan dataa samalta riviltä kuin mistä viimeksi luettiin, riittää pelkkä CAS-viive.

SDRAM-muisteja on valmistettu noin 66–200 MHz kellotaajuudella, tosin koneiden keskusmuisteiksi vain 66, 100 ja 133 MHz -standardeilla (alkuperäinen, PC100 ja PC133). Nopeammat ovat olleet erikoismuisteja näytönohjaimiin. Monet muistit pystyivät pienemmällä kellojaksolla toimiessaan pienempiin viiveisiin, muistin CAS-hakuaika 133 MHz:lla saattoi olla 3 kellojaksoa eli 22ns, mutta 100 MHz:lla 2 kellojaksoa eli 20ns.

SDRAM-muisti tuli käyttöön 90-luvun puolenvälin jälkeen. Ensimmäinen sitä tukeva PC-piirisarja oli Intel 430VX, jonka SDRAM-muistiohjain ei tosin ollut kovin hyvä eikä tarjonnut oikeastaan yhtään suorituskykyetua EDO-muistiin nähden; SDRAMin suorituskykyetu alkoi näkyä vasta parempien 430TX- ja 440LX-piirisarjojen myötä.

DDR SDRAM[muokkaa | muokkaa wikitekstiä]

184-nastainen DDR-SDRAM DIMM
200-nastainen DDR-SDRAM SO-DIMM 256MB

DDR-SDRAM (engl. double data rate synchronous dynamic random access memory) on toiminnaltaan hyvin samanlainen kuin SDRAM-muistityyppi. Nimensä mukaisesti se kuitenkin kaksinkertaistaa siirrettävän tiedon määrän[3] verrattaessa SDRAM muistiin, koska se käyttää kellopulssin nousevaa sekä laskevaa reunaa tiedonsiirtoon (DDR). 100 MHz:n DDR-muisti vastaa siis tiedonsiirtonopeudessa 200 MHz:n tavallista SDRAM-muistia. Samaa DDR-tekniikkaa käytetään AGP-väylän nopeuksissa AGP2x ja AGP4x.

Toinen merkittävä ero perinteiseen SDRAM muistiin on DDR-muistin käyttämä 2,5 V jännite 3,3 V sijasta. Tämä johtaa muistipiirin kuluttaman tehon pienenemiseen ja tekee DDR-SDRAM muistista varteenotettavan vaihtoehdon kannettavien koneiden muistityypiksi.

Muutoksista johtuen 184-pinniset DDR-SDRAM DIMMit eivät ole yhteensopivia 168-pinnisten SDRAM DIMMien kanssa.

Tyyppinimityksellään DDR-SDRAM eroaa myös edeltäjistään. 100 MHz:n muistiväylässä toimivan muistin tyyppinimi on PC1600 ja 133 MHz:n väylässä PC2100. Nimitykset tulevat muistin hetkellisestä tiedonsiirtonopeudesta ilmoitettuna yksikössä MB/s, esimerkiksi PC1600 (8 tavua × 2 × 100 MHz = 1600 MB/s) ja PC 2100 (8 tavua × 2 × 133 MHz = 2100 MB/s). Edellisistä voidaan käyttää myös vanhentuneita nimityksiä PC200 ja PC266. Nopein standardoitu DDR toimii 400 MHz:n nopeudella ja sen mallimerkintä on PC3200. Moni valmistaja on tuonut markkinoille jopa 566 MHz:n nopeudella toimivia DDR-muisteja, jotka ovat suunnattu koneidensa virittelijöille.

DDR2 SDRAM[muokkaa | muokkaa wikitekstiä]

Tietoa siirretään DDR2-muistissa sekä nousevalla että laskevalla kellopulssilla, kuten DDR-muistissakin.

DDR2 on suunniteltu suurta kellotaajuutta silmällä pitäen, ja muistin ydin toimii puolella kellotaajuudella ulkoiseen nähden, jolloin kellotaajuutta voidaan nostaa selvästi, koska sisäinen nopeus ei tule ongelmaksi. Lisäksi signalointia on parannettu ja jännitettä pienennetty DDR:stä.

Samalla kellotaajuudella DDR2 on kaistanleveydeltään yhtä nopeaa kuin DDR, ja hakuajoiltaan jopa hitaampaa, mutta samalla valmistustekniikalla pystytään tekemään miltei kaksinkertaisella kellotaajuudella toimivia DDR2-muisteja DDR-muisteihin nähden.

DDR3 SDRAM[muokkaa | muokkaa wikitekstiä]

DDR2:ta seuraava kehitysaskel on DDR3-muisti. DDR3-muistit on suunniteltu kasvattamaan suorituskykyä ja alentamaan tehonkulutusta DDR2-muisteihin verrattuna. DDR3 käyttää 1,5 voltin jännitettä.[4] DDR3-moduuli on ulkomitoiltaan samankokoinen kuin DDR2, mutta ei ole yhteensopiva sen kanssa. Muistimoduulin reunassa oleva lovi on eri paikassa, mikä estää muistin asentamisen DDR2-kantaan.[5]

DDR3:n sisällä on tapahtunut muutoksia. Esihakupuskuri on kahdeksanbittinen.[4] Virtavuotoja on pyritty vähentämään kaksiporttisilla transistoreilla.[4] DDR3-muistipiirit tarjoavat 64-bittisen kaistanleveyden. DDR3-muistikampoja voidaan laittaa kolme rinnakkain ja saada näin 192 bittiä leveä muistiväylä, mikäli emolevy tukee sitä.[4] DDR3-muistipiirissä sisäinen hakuaika on kahdeksasosa dataväylän datansiirtonopeudesta.[4] Muistipiiri kykenee lukemaan jokaisella sisäisellä kellojaksolla kahdeksan bittiä dataa.[4] DDR3-teknologia on muuttunut sisäisesti DDR2-teknologiasta siten että siinä missä DDR2 turvautui T-Branch-arkkitehtuuriin,[4] turvautuu DDR3 Fly-by-arkkitehtuuriin, joka on yksinkertaisempi ratkaisu kuin ensimmäisenä mainittu.[4] Fly-byssä muistipiirit ketjutetaan sarjaan.[4] Ketjun päässä on terminointi, jonka tarkoituksena on estää signaalia heijastumasta takaisin.[4] Fly-bytä käytetään, jotta päästäisiin T-branchin rajoituksista suurilla kellotaajuuksilla.[4]

Muita DRAM-muistityyppejä[muokkaa | muokkaa wikitekstiä]

Muita DRAMiin perustuvia ei-yleistyneitä muistipiirityyppejä ovat SLDRAM, QDR SDRAM ja Rambus RDRAM.

Rambus[muokkaa | muokkaa wikitekstiä]

DDR-SDRAMin kilpailijana oli alkuaikoina Intelin tukema Rambus-yhtiön RDRAM, josta yhtiö päätti vuonna 1996 tulevan seuraavan muistityypin. Sitä tukeva emolevy esiteltiin 1999. DDR-SDRAM oli kuitenkin halvempaa valmistaa, lisäksi RDRAMin lisenssi, jonka vain harvat valmistajat hankkivat, oli kallis. Valmistajien vähyys lisäsi muistityyppien hintaeroa. Lisäksi vaikutusvaltaisen Tom's Hardwaren testissä RDRAMin suorituskyky oli korkeintaan 3 % parempi kuin SDRAMilla, ja joissain tapauksissa huonompi.[6] Intel luopui RDRAMista kokonaan vuoteen 2003 mennessä.

RDRAM:n ensimmäinen myyntiin tullut versio toimi 400 MHz:n kellotaajuudella ja DDR-periaatteella, jolloin sen teoreettinen kaista oli 1600 MB/s. 2×400 MHz:n toimintanopeuden vuoksi standardin nimeksi tuli PC800. Tämä nimeäminen oli myös syynä SDRAM-moduulien nimeämismuutokseen edeltävän PC133:n ja DDR:n PC1600:n välillä.

Rambus-muisti pakattiin RIMM-muistimoduuliin. Muistin rakenteen vuoksi yhtään muistikampapaikkaa ei voinut jättää tyhjäksi, vaan ne oli täytettävä CRIMM-muistikammoilla.

Uudempi Rambus-yrityksen ehdotus muistiarkkitehtuuriksi on XDR DRAM.

GDDR[muokkaa | muokkaa wikitekstiä]

Uusimmissa näytönohjaimissa käytetään erityisesti niihin suunniteltua DRAM-tyyppiä, esimerkiksi GDDR3 tai GDDR5.

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Mary Belis: Inventors of the Modern Computer, The Invention of the Intel 1103 - The World's First Available DRAM Chip; Invetors, About.com
  2. Memory, Semiconductor Technology Online
  3. DDR SDRAM vs. RDRAM Peliplaneetta.net. Viitattu 21.1.2011.
  4. a b c d e f g h i j k DDR3-teknologia- ja muistikatsaus muropaketti.com. 13.3.2009. Viitattu 2009-04-04.
  5. DDR3 vs. DDR2 Module Kingston Technology Company. Viitattu 11.1.2011. (englanniksi)
  6. Performance Impact of Rambus Tom's Hardware. Viitattu 21.1.2011.

Katso myös[muokkaa | muokkaa wikitekstiä]

Muistivirhe (pariteettitarkistus muistipiireissä ja ECC-muistit)