DRAM
Muistityypit |
Haihtuvat muistityypit |
Haihtumattomat muistityypit |
DRAM (engl. Dynamic Random Access Memory) on hajasaantimuistin tyyppi, jossa jokainen bitti tallennetaan erilliseen kondensaattoriin. Muistisolun lukeminen purkaa kondensaattorin, joten jokaisen lukuoperaation yhteydessä luettu data tallennetaan takaisin muistisoluun. Koska kondensaattorin varaus ajan myötä purkautuu myös itsekseen, koko muisti vaatii säännöllistä virkistämistä (toisin kuin staattisessa RAM-muistissa).
DRAM-muistista on kehitetty eri tyyppejä, mm. FPM, EDO, SDRAM ja DDR SDRAM. Näistä tyypeistä on johdettu myös erikoistuneemmat mobiilikäyttöön ja grafikkasuorittimille tarkoitetut LPDDR ja SGRAM -tyypit.
Dynaamisten muistipiirien historia
[muokkaa | muokkaa wikitekstiä]Varhaisia kehitysaskeleita oli Toshiban "TOSCAL" BC-1411 laskin, jossa oli kapasitiivinen dynaaminen RAM-muisti.[1][2] Laskimen diskreeteillä kondensaattoreilla saavutettiin 180 bitin muistikapasiteetti, jota erikoispiiri päivittää taajaan.[2]
Robert Dennard keksi MOS-tekniikkaan perustuvan DRAM-piirin vuonna 1966 ja sai sille patentin 3,387,286 vuonna 1968.[3][4][5] Dennardin ajatus oli että binääristä informaatiota voitaisiin säilöä positiivisena tai negatiivisena varauksena kondensaattorissa, mutta ongelmana oli varauksen häviäminen millisekunnissa.[6] Dennard kehitti ratkaisun, jossa kanavatransistori luki varauksen ja kirjoitti sen takaisin tuhansia kertoja sekunnissa.[6] Aikaisemmat ratkaisut olivat monimutkaisia ja vaativat paljon virtaa, jonka Dennard onnistui yksinkertaistamaan yhteen transistoriin.[6]
Ensimmäinen kaupallisesti saatava DRAM-muistipiiri oli Intel 1103 (1969), jonka koko oli 1 kbit[7]. 1 Mbit muistikoko saavutettiin 1984 ja 1 Gbit 1990-luvun lopulla[8].
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.
Muistipiirien kapasiteetti ilmoitetaan tyypillisesti kilobitteinä sekä piirin datan leveytenä: esimerkiksi 2 Mbit × 32 tarkoittaa 32-bittistä kahden megabitin muistia eli kahdeksan megatavun 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ä.
CAS-latenssi
[muokkaa | muokkaa wikitekstiä]DRAM-muistin lukeminen ja kirjoittaminen alkavat aktivoimalla haluttu rivi. Ensin valitaan aktivoitava rivi, ja kun muistipiiri on saanut rivin aktivoitua, sille ilmoitetaan tältä riviltä sarake, josta luetaan tai johon kirjoitetaan. Halutun rivin aktivointi kestää tietyn aikajakson. Rivin ja sarakkeen valinnasta käytetään termejä Row Address Strobe (RAS) ja Column Address Strobe (CAS). Alkuperäisessä DRAM-muistissa jokainen rivi ja sarake oli valittava erikseen, mutta FPM- ja EDO-tyypit paransivat nopeutta lisäämällä purskemoodin. Purskemoodissa tietty määrä osioita pystyttiin käsittelemään peräjälkeen ilman uudelleenvalintaa.[9]
SDRAM käyttää useita parametreja muistipiirien sisäiseen ajoitukseen, jotka usein ilmoitetaan muodossa CLA-B-C-D. Ajoitusparametrit kertovat tiettyihin toimintoihin vaaditun ajan, jotka ovat: CL-tRCD-tRP-tRAS(-CMD). Muistipiirit ovat järjestäytyneet sisäisesti "riveihin" ja "sarakkeisiin", ja piirin käsittelemä tietolohko ilmaistaan rivi- ja sarakenumeroilla. Operaation aluksi muistiohjain aktivoi halutun rivin, joka vie joitakin kellojaksoja. Viiveen jälkeen valitaan sarake ja annetaan luku- tai kirjoituskomento. Komento voidaan toistaa nopeasti eri sarakkeille, mutta luettu tieto on saatavilla vasta muutaman kellojakson jälkeen. Kun komento kohdistuu eri riville on valittu rivi deaktivoitava ensin, joka vie muutamia kellojaksoja. Tästä saadaan parametrit CAS Latency (CL), RAS to CAS Delay (tRCD), RAS Precharge (tRP) ja Active to Precharge Delay (tRAS). SDRAMille arvot annetaan kellojaksojen määränä kun taas asynkroniselle DRAM-muistille arvot ovat nanosekunteina. Kellojaksot ovat suhteessa muistipiirin sisäisen toiminnan kelloon.[10]
Käyttöjännite
[muokkaa | muokkaa wikitekstiä]SDRAM toimii 3,3 voltilla, FPM ja EDO (pakkaus yleensä on SIMM) toimivat 5 voltilla.
PC-tietokoneiden 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.
DRAM muistityypit
[muokkaa | muokkaa wikitekstiä]DRAM-muistityyppejä on kehitetty useita eri versioita, kuten FPM, EDO, SDRAM ja DDR SDRAM useine versioineen.
PC-tietokoneissa nämä muistityypit ovat usein käytössä keskusmuistina ja ne liitetään tietokoneeseen muistikampoina. Muistikampoja on yksipuolisella liittimellä (SIMM) ja nykyään kaksipuolisella liittimellä (DIMM). Pieniä tietokoneita, kuten kannettavia varten käyttöön tuli SODIMM (Small Outline Dual In-line Memory Module) liitin. Aiemmin tietokoneissa on ollut käytössä mm. ZIF liitäntäisiä muistimoduuleja.
Mobiililaitteissa, kuten puhelimissa käytetään DRAM-muistien vähävirtaista versiota.[11]
PlayStation 4 käyttää vain GDDR5-muistia, joka on jaettu sekä CPU- että GPU- toimintojen välillä.
FPM
[muokkaa | muokkaa wikitekstiä]FPM (engl. Fast Page Mode) on 1990-luvun alussa esitelty muistityyppi.[12]
Se sallii lukemisen samalta riviltä jokaisesta sarakkeesta kerralla siten, että vain sarakeosoitetta muutetaan. Aiemmin muistia luettiin sekä rivi että sarake asettamalla.[12]
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. 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ä]EDO (engl. Extended Data Out RAM) tuli käyttöön 1990-luvun puolivälissä.[13]
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.
SDRAM
[muokkaa | muokkaa wikitekstiä]- Pääartikkeli: SDRAM
SDRAM (engl. Synchronous Dynamic Random Access Memory) esiteltiin 1996.[14] SDRAM:in on myöhemmin syrjäyttänyt DDR SDRAM.
SDRAM 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.
SDRAMiin perustuvia muistityyppejä ovat muun muassa SDR SDRAM (single data-rate) ja DDR SDRAM (double data-rate).
SGRAM
[muokkaa | muokkaa wikitekstiä]SGRAM (engl. Synchronous graphics RAM) on näytönohjaimien grafiikkamuistiin tarkoitettu erikoistunut versio SDRAMista. Esimerkkejä toiminnoista ovat "Block Write" ja "Mask Write".[15]
SGRAM muistityyppiä käytetään GDDR SDRAM -standardeissa.
Muita DRAM-muistityyppejä
[muokkaa | muokkaa wikitekstiä]Muita DRAMiin perustuvia ei-yleistyneitä muistipiirityyppejä ovat SLDRAM ja Rambus RDRAM.
Rambus
[muokkaa | muokkaa wikitekstiä]DDR-SDRAMin kilpailijana oli alkuaikoina Intelin tukema Rambus-yhtiön RDRAM. DDR-SDRAM oli kuitenkin halvempaa valmistaa sekä lisäksi RDRAMin lisenssi oli kallis ja vain harvat valmistajat hankkivat sen lisenssin. Valmistajien vähyys lisäsi muistityyppien hintaeroa. Vaikutusvaltaisen Tom's Hardwaren testissä RDRAMin suorituskyky oli korkeintaan 3 % parempi kuin SDRAMilla, ja joissain tapauksissa huonompi.[16] Intel luopui RDRAMista kokonaan vuoteen 2003 mennessä.
Uudempi Rambus-yrityksen ehdotus muistiarkkitehtuuriksi on XDR DRAM.
Embedded DRAM (eDRAM)
[muokkaa | muokkaa wikitekstiä]Mikropiirille integroitu DRAM-tyyppi.
Grafiikkamuistit
[muokkaa | muokkaa wikitekstiä]- Video DRAM (VRAM)
- Window DRAM (WRAM)
- Multibank DRAM (MDRAM)
- Synchronous graphics RAM (SGRAM)
- Graphics double data rate SDRAM (GDDR SDRAM)
Mobile DDR
[muokkaa | muokkaa wikitekstiä]Mobile DDR (myös nimillä mDDR, Low Power DDR, tai LPDDR) on vähävirtainen versio DDR-muistista mobiililaitteisiin.
Variaatioita ovat mm. LPDDR, LPDDR2, LPDDR4 ja LPDDR5.
LPDDR eroaa merkittävästi DDR SDRAM -muistista. LPDDR-muistilla on korkeampi hinta, mutta myös huomattavasti alhaisempi virrankulutus. Nämä ovat myös standardoitu erikseen (JESD79 DDR-muistille, JESD209 LPDDR-muistille).[17]
Pseudostatic RAM (PSRAM)
[muokkaa | muokkaa wikitekstiä]PSRAM tai PSDRAM on DRAM- ja SRAM- tyyppien yhdistelmä, jota on käytetty eräissä älypuhelimissa.
Katso myös
[muokkaa | muokkaa wikitekstiä]- Muistivirhe (pariteettitarkistus muistipiireissä ja ECC-muistit)
- Serial Presence Detect, ajoituksien automaattinen tunnistaminen
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Specifications for Toshiba "TOSCAL" BC-1411 oldcalculatormuseum.com. Viitattu 8.2.2020. (englanniksi)
- ↑ a b Toshiba "Toscal" BC-1411 Desktop Calculator oldcalculatormuseum.com. Viitattu 8.2.2020. (englanniksi)
- ↑ The Invention of On-Demand Data IBM. Viitattu 8.2.2020. (englanniksi)
- ↑ Field-effect transistor memory patents.google.com. Viitattu 8.2.2020. (englanniksi)
- ↑ David C. Hayes: Robert Dennard britannica.com. Viitattu 8.2.2020. (englanniksi)
- ↑ a b c Dynamic Random Access Memory history-computer.com. Arkistoitu 3.1.2020. Viitattu 8.2.2020. (englanniksi)
- ↑ Mary Belis: Inventors of the Modern Computer, The Invention of the Intel 1103 - The World's First Available DRAM Chip; Invetors, About.com (Arkistoitu – Internet Archive)
- ↑ Memory, Semiconductor Technology Online (Arkistoitu – Internet Archive)
- ↑ Memory technology evolution: an overview of system memory technologies support.hpe.com. Viitattu 27.10.2024. (englanniksi)
- ↑ Understanding DDR SDRAM timing parameters eetimes.com. 25.6.2012. Viitattu 27.10.2024. (englanniksi)
- ↑ DRAM Finds Home in Cell Phones PC World. Arkistoitu 16.1.2017. Viitattu 15.1.2017.
- ↑ a b Definition of: page mode memory PC Mag. Viitattu 15.1.2017.
- ↑ Definition of: EDO RAM PC Mag. Viitattu 15.1.2017.
- ↑ Definition of: SDRAM PC Mag. Viitattu 15.1.2017.
- ↑ Definition of: SGRAM PC Mag. Viitattu 15.1.2017.
- ↑ Performance Impact of Rambus Tom's Hardware. Viitattu 21.1.2011.
- ↑ Graham Allan: LPDDR3 vs. DDR3L: Understanding the Differences synopsys.com. 9.1.2014. Viitattu 23.4.2024. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Kuvia tai muita tiedostoja aiheesta DRAM Wikimedia Commonsissa
Kirjallisuutta
[muokkaa | muokkaa wikitekstiä]- Lähteinen, Olavi; Pietikäinen, Ville; Kosonen, Harri: Uusi PC-tekniikan käsikirja, s. 251–268. (6. painos) Helsinki Media Erikoislehdet, 2000 (1997). ISBN 951-832-015-9