RAM geheugens
description
Transcript of RAM geheugens
f r i e s l a n d c o l l e g e
opleidingen
telematica en
automatiseringselektronica
HARDWARE
RAM geheugens
P.Ferwerda maart 1998
Menu
SRAM
DRAM
Refreshen
Deel 1: statische RAM IC’s
Deel 2: dynamische RAM IC’s
Deel 3: het refreshen van DRAMs
Stoppen met deze presentatie
Terug naar homepage P. Ferwerda
Stoppen
Deel 1: statische RAM IC’s
Om naar de volgende afbeelding te gaan: druk op spatiebalk
Statische RAM IC’s (SRAM)
• Per geheugencel een flipflop
• Snel: accesstime 10 - 20 nstoepassing: CACHE
• Geheugen dissipeert veel energie. Gevolg: geringe integratiedichtheid
• Voordeel: eenvoudige aansturing
Statische RAM IC’s (SRAM)
5116
A0
A10
D0
D7
WECS
OE
Voorbeeld: 5116 SRAM IC
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS
OE
Vraag: hoe groot is dit geheugen IC?
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS
OE
Antwoord: 11 adreslijnen geeft 211=2048 adressen8 datalijnen. Dus grootte is 2K x 8
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS = 0
OE
Aansturen IC:1e adrescode aanbieden en CS laag maken
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS = 0
OE
2e Het betreffende adres wordt geactiveerd
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS = 0
OE
3e Als /WE = 0 wordt er een schrijfbewerking uitgevoerd( /WE is not write enable)
0
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS = 0
OE
WRITE bewerking:De processor zet een waarde op de databus die wordt
overgenomen in de geheugenlocatie
0
uP
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS = 0
OE
3e Als /WE = 1 wordt er een leesbewerking uitgevoerd
1
Statische RAM IC’s (SRAM)
A0
A10
D0
D7
WECS = 0
OE
READ bewerking:De inhoud van het geactiveerde geheugenadres wordt op
de databus gezet en door de processor gelezen
1
uP
Statische RAM IC’s (SRAM)
Samengevat:
CS WE
1 X geheugenstand, IC is nietgeactiveerd
Statische RAM IC’s (SRAM)
Samengevat:
CS WE
1 X geheugenstand, IC is nietgeactiveerd
0 0 schrijfbewerking (write)
Statische RAM IC’s (SRAM)
Samengevat:
CS WE
1 X geheugenstand, IC is nietgeactiveerd
0 0 schrijfbewerking (write)
0 1 leesbewerking (read)
Einde deel 1
Terug naarmenu
Deel 2: dynamische RAM IC’s
Om naar de volgende afbeelding te gaan: druk op spatiebalk
Dynamische RAM IC’s (DRAM)
• Per geheugencel een condensator
• Tamelijk traag: accesstime 60 - 70 nstoepassing: werkgeheugen (simms)
• Geheugen dissipeert weinig energie. Grote integratiedichtheid mogelijk
• Nadeel: geheugen IC moeten we refreshen.
Dynamische RAM IC’s (DRAM)
Opbouw DRAM IC 4116 (16Kx1)
A0
A6
/RAS
/CAS
/WData inData uit
Dynamische RAM IC’s (DRAM)
Twee 1 uit 128 decoders met latch (D-flipflops)
A0
A6
/RAS
/CAS
/WData inData uit
ROW adress decoder
COLUMN adres decoder
Dynamische RAM IC’s (DRAM)
Bij een neergaande flank op de klokingang van de decoders wordt de waarde “bevroren”
A0
A6
/RAS
/CAS
/WData inData uit
Edge triggered op deneergaande flank
Dynamische RAM IC’s (DRAM)
Een 128 x 128 geheugenmatrix
A0
A6
/RAS
/CAS
/WData inData uit
Dynamische RAM IC’s (DRAM)
Een geheugencel wordt geactiveerd als zowel dehorizontale als de verticale lijn actief (1) is.
A0
A6
/RAS
/CAS
/WData inData uit
geheugencel
Dynamische RAM IC’s (DRAM)
Logica voor datatransport
A0
A6
/RAS
/CAS
/WData inData uit
Dynamische RAM IC’s (DRAM)
Het IC wordt aangestuurd via een speciale schakeling:de DRAM controller (vaak één IC)
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
Dynamische RAM IC’s (DRAM)
We gaan nu stap voor stap bekijken hoe een bit uit hetgeheugen wordt gelezen (read), of geschreven (WRITE)
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
Dynamische RAM IC’s (DRAM)
Afspraak: een draad waar een 1 op staat tekenen werood, een 0 wordt groen getekend
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
Dynamische RAM IC’s (DRAM)
Op de adres bus staat 0302H en er is een /CS signaal./RAS en /CAS zijn beide nog 1.
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
De DRAM controller verbindt de adreslijnen A0 t/m A6 met het IC
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Vervolgens maakt de DRAM controller /RAS laag
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Door deze negatieve flank worden de D-flipflops in derow-decoder geklokt en wordt een van de uitgang 2 actief
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Daarna verbindt de controler de adreslijnen A7 t/m A13met het IC en maakt /CAS (column address strobe) laag.
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Door de neergaande flank op de column addres decoderwordt uitgang 3 van deze decoder actief
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Als beide strobe signalen 0 zijn is de aangewezen geheugen cel geactiveerd.
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Als er een READ bewerking moet worden uitgevoerd, moetde /W lijn 1 zijn. De inhoud van de geheugencel wordt op
de “data out” aansluiting gezet
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Voor een WRITE bewerking maken we /W=0.De data wordt nu van de “data in” aansluiting gekopieerd
naar de geheugencel
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Dynamische RAM IC’s (DRAM)
Hierna kan de DRAM controller de multiplexeruitschakelen en de signalen /RAS en /CAS weer
hoog maken. De cyclus is nu afgelopen
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Einde deel 2
Terug naarmenu
Deel 3: Het refreshen van DRAMs
Om naar de volgende afbeelding te gaan: druk op spatiebalk
Het refreshen van DRAMs
• Elke geheugencel bestaat uit een condensator• Deze heeft een capaciteit van slechts ± 0,04 pF• De condensator moet elke 2 ms worden
bijgeladen. Dit noemen we verversen of refreshen• De DRAM controller zorgt hiervoor
Het refreshen van DRAMs
Het IC ververst automatisch een volledige rij geheugencellen zodra deze wordt geselecteerd.
A0
A6
/RAS
/CAS
/WData inData uit
01
Het refreshen van DRAMs
Als we op de adreslijnen de waarde 0000001B plaatsenen het /RAS signaal 0 maken wordt de bovenste rij
geheugencellen gerefreshed.
A0
A6
/RAS
/CAS
/WData inData uit
01
Het refreshen van DRAMs
Zolang we /CAS hoog houden wordt er nooit een READof een WRITE bewerking uitgevoerd.
Maken we /RAS weer 1 dan is uitsluitend de rij gerefreshed
A0
A6
/RAS
/CAS
/WData inData uit
01
Het refreshen van DRAMs
Als het IC niet door de processor wordt benaderd, gaatde DRAM controller het IC refreshen
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
Het refreshen van DRAMs
Hiertoe bevindt zich in de DRAM controller een 128 standen teller.
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
TE
LL
ER
Het refreshen van DRAMs
Als het even kan wordt de teller aangesloten op deadreslijnen van het IC en wordt er een korte 0-puls
op /RAS gegeven.
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
TE
LL
ER
Row wordtgerefreshed
Het refreshen van DRAMs
De teller wordt nu verhoogd en er wordt weer eenpuls op /RAS gegeven.
De volgende rij wordt nu gerefreshed
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
TE
LL
ER
+1
Row wordtgerefreshed
Het refreshen van DRAMs
LET OP: /CAS blijft 1 en de teller moet binnen 2 ms alle standen doorlopen. Als dit in gevaar komt kan de
controller toegang weigeren
A0
A6
/RAS
/CAS
/WData inData uit
DRAM controller
A0
A13
AD
RE
SB
US
C
OM
PU
TE
R
/CS
01
/RAS
/CAS
TE
LL
ER
Einde van deze presentatie
Terug naarmenu