Naar inhoud springen

Dynamic random-access memory

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Siskus (overleg | bijdragen) op 8 dec 2012 om 14:01. (De programmeur laten we er buiten.)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.

Sjabloon:Zijbalk types geheugen

Dynamic random-access memory, kortweg DRAM, is een type RAM waarbij iedere bit in een eenvoudige bitcel wordt opgeslagen die uit een condensator bestaat. De kleine opgeslagen lading lekt echter weg en moet daarom periodiek worden uitgelezen en teruggeschreven om de lading op peil te houden. Vanwege dit verversen wordt het dynamische RAM genoemd, in tegenstelling tot SRAM waarvan nu eenmaal grotere bitcel als een SR-flipflop is nodig is en daarom in het nadeel is vanwege lagere integratiedichtheid.

In een SRAM moet dus ook steeds het volledige geheugen ververst worden, dus met een leesversterker lezen en weer herschrijven. Gelukkig zorgt de hardware in de geheugenchip zelf hiervoor. Bovendien is een geheugenchip in staat een hele rij van de gegevensmatrix ineens te efficiënt verversen, waarbij de gegevens niet buiten de chip hoeven te komen.

Het voordeel ten opzichte van SRAM is, dat er weinig componenten per bit nodig zijn: één transistor en condensator per bit, vergeleken met zes transistors in SRAM. Hierdoor kan met DRAM een hogere integratiedichtheid behaald worden.

DRAM en SRAM verliezen de gegevens als de voedingsspanning wegvalt en zijn dus vluchtige geheugens.

Werking

Modules met DRAM-geheugen

Een chip met dynamisch RAM heeft de adreslijnen gemultiplext. Dat wil zeggen dat er slechts de helft van het benodigde adreslijnen is en dat het adres in twee stappen wordt overgedragen, namelijk de rij en de kolom.

Om een bit te lezen of te schrijven, gaat men als volgt te werk.

De helft van het adres (meestal de laagste bits) wordt op de adresingangen (A) gezet. De lijn RAS (Row Address Strobe) wordt geactiveerd.

De rijadresdecoder (groen) decodeert het adres en selecteert een rij uit de matrix (blauw, zie afbeelding rechts) van geheugenelementen. De hele rij wordt naar de buffer (rood) gekopieerd.

Nu wordt de lijn R/W (Read/Write) op het juiste niveau gezet en wordt (als er geschreven wordt) het databit op de lijn Data gezet.

Een schematische voorstelling van DRAM
Een schematische voorstelling van DRAM

Daarna wordt de andere helft van het adres op de adresingangen gezet en de lijn CAS (Column Address Strobe) geactiveerd. De kolomadresdecoder (groen) decodeert het adres en het databit wordt in de buffer opgeslagen, of een bit wordt uit de buffer op de datalijn gezet.

Tenslotte worden CAS en RAS weer inactief gemaakt. Op het moment dat RAS inactief wordt, wordt de buffer teruggekopieerd naar de juiste rij van de matrix (blauw) en toont de datalijn het door CAS geselecteerde bit.

Er is dus voor elk bit een blauwe matrix nodig. De getoonde schakeling correspondeert veelal met een chip, zodat 8-bits geheugen dan 8 chips parallel nodig heeft.

RAS-only

Het wordt niet vaak gedaan, maar het is mogelijk achter elkaar meerdere bits uit de buffer te adresseren. Eerst wordt RAS geactiveerd. Daarna kan de processor met CAS de bits in de buffer adresseren. Tenslotte wordt RAS weer geïnactiveerd.

Refresh

Uit het bovenstaande blijkt dat een hele rij uit de matrix ververst wordt door de rij te lezen. Het gebruik van CAS is daarbij niet nodig.

Aparte datalijnen

Sommige SRAM-chips een aparte in- en uitgang voor data. De uitgang is echter tri-state en niet zelden worden in- en uitgang op de printplaat direct met elkaar verbonden.