Mälud Muutmälu Püsimälu RAM ROM...“kirjutamine”. 2. Tavaline lugemine ega kirjutamine pole...
Transcript of Mälud Muutmälu Püsimälu RAM ROM...“kirjutamine”. 2. Tavaline lugemine ega kirjutamine pole...
23.11.2014
1
Maatriksstruktuurid ja mälud
1918
TALLINNA TEHNIKAÜLIKOOL ELEKTROTEHNIKA INSTITUUT
Madis Lehtla
RAR3210 Mikroprotsessortehnika loeng 21. novembril 2014
Universaalsed loogikalülitused
1. Kommutaatorid (multipleksor ehk MUX),
2. Programmeeritavad loogilised maatriksid
(PLM - programmable logic matrix) ja
3. Mälud (ROM, EEPROM, FLASH, DRAM,
SRAM, jt.).
Pooljuhtmälude liigitus
Mälud
Muutmälu Püsimälu
Staatil ine DünaamilineProgram-
meeritav
Ümberprog-
rammeeritav
Valmistaja Kasutaja
poolt
RAM ROM
poolt
Püsimälude elemendid
a) sular emitteriahelas
b) elektrilise läbilöögiga lühistatav pn-siire
c) laengukandjaga MOS-transistor
a) b) c)
VD1 VD2Sular
+
VTVT
Püsimälude ja maatriksite
“häälestamine” 1. Elementidevaheliste ühenduste
lisamisega (antifuse) ja
2. Olemasolevate ühenduste katkestamisega (fuse).
3. Transistoride abil vastavalt seadistusele.
…
Püsimälu
1. Püsimälu (ROM - read only memory) on mõeldud korduvaks informatsiooni lugemiseks.
2. Info on salvestanud püsimällu pooljuhtmälukiibi valmistaja või kasutaja poolt. Info salvestamist püsimällu nimetatakse püsimälu programmeerimiseks.
23.11.2014
2
Püsimälude alaliigid
1. Programmeeritav püsimälu (PROM - programmable read only memory) – info kustutamine ei ole võimalik
2. ümberprogrammeeritav püsimälu (EPROM - erasable programmable read only memory);
3. elektriliselt kustutatav ümberprogrammeeritav püsimälu (EEPROM - electrically erasable programmable read only memory).
PROM
1. PROM on tavaliselt masstoode, sest
tehases salvestatakse sinna
enamkasutatavad püsiandmed nagu
standardkoodide teisendustabelid jms.
2. Tarbija salvestab püsimällu
tarbijaprogramme või juhtseadme
mikroprogramme mida pole vaja enam
uuendada.
Ümberprogrammeeritav püsimälu
A0
A7
0
255
256 x 4 Puhver
CS
D0
D1
D2
D3
Dekooder
Programmeerimine(kustutamine)
__
Maatriksstruktuur
U0 U1 Uk
+ Y0 Y1 Yn
M1 M2
+
E
R1
R2
Muutmälud
1. Muutmälude (RAM - random access
memory) põhiliigiks on pooljuhtmälud,
mis koosnevad trigeritest või muudest
mäluelementidest.
2. Muutmälud on toitepingest sõltuvad ning
jagunevad kahte liiki, staatilisteks ja
dünaamilisteks.
Staatilises muutmälu (SRAM)
• Staatilises muutmälus (SRAM)
kasutatakse iga infobiti salvestamiseks
ühte trigerit, mis säilitab infot seni, kuni
säilib toitepinge.
• Kuna staatilises mälus säilib salvestatud
informatsioon ka pärast mälust lugemist,
püsides seal toitepinge olemasolu korral
kui tahes kaua, siis nimetatakse niisugust
mälu staatiliseks.
23.11.2014
3
A0
A1
A2
A3
A4
A5
A6 A7 A8 A9
DI
R / W
CS
Sisendi-
väljundi
juhtimine
Veeru sisend-väljund&
Veerudekooder
DO
0
63
0 15
0 1 15
64 rida
16 veergu
64 x 16 = 1024 bitti
Rea-
dekooder
A0
A9
R / W
CS
DI
DO
RAM
a) b)
Staatilise muutmälu struktuur Staatiline muutmälu SRAM
M
32k x 8
14 12 28 12
+ 5 V
11 12
12 12
13 12
15 12
D1
12
D2
12
D3
12
D4
12
22 12
V
16 12
17 12
18 12
19 12
D5
12
D6
12
D7
12
D8
12 27 12
W
10 12
8 12 7 12
A1
A3
2
A2
2
A4
2
9 12
6 12
4 12 3 12
A5
2
A7
2
A6
2
A8
2
5 12
25 12
21 12 23 12
A9
2
A11
2
A10 12
A12
24 12
2 12 1
12
A13
2 A15
2
A14
2 26 12
20 12
E
&
&
&
&
8 12 16 12
+ 5 V 12
1 12 2 12 3 12 4 12
1 2 4 8
1 15 14 13
2 12
V 12
M
16x4
16 12
1 12 2 12 3 12 4 12
1 12 2 12 3 12 4 12
4 12 6 12
10 12
12 12
9
11
5
7
1 3
12
W
C1
C2
C3
C4
D1
D2
D3
D4
A1 A2
A3 A4
V DC
Juhtsignaalid ja andmesignaalid
• Inverteeritud kiibivalikusignaal (chip select,
CS). Madal signaalinivoo lubab mälukiibist
bitte lugeda (DO) või sellesse kirjutada (DI).
Kõrge signaalinivoo korral on mäluelement on
süsteemi tööst välja lülitatud ning ei reageeri
aadressi A9...A0 koodile ega signaalile R/W.
• Kirjutus- ja lugemissisgnaal (read-write, R/W).
Madal singaalinivoo määrab kirjutusrežiimi,
kõrge signaalinivoo lugemisrežiimi.
DO
A0
A9
R / W
CS
DI RAM
b) Mälu juhtsignaalid ja seisundid
*Juhul kui sisendi ja väljundi jaoks on eraldi ühendused välja toodud
CS R/W
Mälu režiim Väljundi seisund C1..C4 (7489)
Andmesiini seisund D1..D8 (62256)
Siinipuhvrite talitlusviis
0 0 Salvestamine Sisendi eitus Sisend määrab kirjutusrežiimi
0 1 Lugemine Mälupesa sisu
Väljund määrab lugemisrežiimi
1 0 Suletud Sisendi eitus (Sisend) väljalülitatud
1 1 Suletud Väljund suletud
Kõrge Z (suletud)
väljalülitatud
Mälude andmesõnad
• Andmesõna pikkuseks on tavaliselt 1, 4, 8,
16, 32 jne bitti. Vastavalt andmesõna
pikkusele valitakse ka mäluelementide
ühendamisviis.
Dünaamiline RAM
VT2
VT3
VT1
VT4C1
C2
REG
CWRSiin X
Siin Y
+E
D
23.11.2014
4
Dünaamiline muutmälu
• Dünaamilises muutmälus säilib info MOSFET-transistori paisu mahtuvuse elektrilaenguna. Tavaliselt säilib see laeng lekkevoolu tõttu väga lühikest aega. Seepärast tuleb info säilitamiseks laengut perioodiliselt uuendada (regenereerida).
• Dünaamiline muutmälu on staatilise mäluga võrreldes lihtsama ehitusega (ühe biti salvestamiseks läheb vaja umbes kaks korda vähem elemente), suurema toimekiirusega ning tarvitab tööks vähem energiat.
Muutmälu info regenereerimine
1. Dünaamilisi muutmälusid regenereeritakse harilikult regenereerimissignaaliga (REG) millega koos toimub mälu kõigi ridade järjestikune adresseerimine ja uuesti “kirjutamine”.
2. Tavaline lugemine ega kirjutamine pole regenereerimise ajal võimalik, samuti ei saa regenereerimist alustada lugemise ega kirjutamise tsükli ajal.
3. Regenereerimishetke kindlaksmääramine, kõigi rea-aadresside etteandmine, lugemise ja kirjutamise blokeerimine jms operatsioonid teevad dünaamiliste pooljuhtmälude kasutamise võrreldes staatiliste mäludega keeruliseks ja nõuavad lisaelemente.
DRAM eelised
1. Dünaamiliste muutmälude eeliseks on
madal hind ja võimsustarve.
2. Neid saab valmistada väga suure
integratsiooni-astmega, mis võimaldab
toota suure mälumahuga kiipe.
3. Arvutite ja mikroprotsessorsüsteemide
suuremad mäluseadmed koostatakse
tavaliselt dünaamilistest mälukiipidest.
Muutmälude elemendid
1. Trigerid (SRAM mäludes)
2. Pooljuhtstruktuuri sisemised mahtuvused
(DRAM mäludes)
Muutmälude puudused
• Kõigi muutmälude oluliseks puuduseks on
salvestise hävimine toitepinge
väljalülitumisel.
• Selle puuduse vältimiseks kasutatakse
avariitoidet (katkematu toite allikaid UPS)
ning muid mäluseadmeid, kus
informatsioon säilib teatud aja ka ilma
toitepingeta (näiteks SRAM koos 3V
liitiumpatareiga).
Sisseehitatud mäludega
kiibid...
23.11.2014
5
Von Neumanni arhitektuuriga
juhtarvutite struktuur
Sisend- väljund- seade
Aritmeetika-
loogikaplokk
(ALU)
Mälu- seade
Juhtseade
Keskprotsessor CPU
Andmed Andmed
Väline juhtimine
Käsud
Aadressid
Juhtinfo Aadressid
Harwardi arhitektuuriga
juhtarvutite struktuur
Juhtseade Programmikoodi
(käskude) mälu Andmemälu
Aritmeetika-
loogikaplokk
(ALU)
Sisendid ja
väljundid
Aadressi- ja andmesiin
VÄLISMÄLU
AADRESS
ANDMED
CE
OE
WR
MIKRO-KONTROLLER
LUKK-
REGISTER
(LATCH) D15..D0
AD<15:0>
ALE
OE
WRH
WRL
CE
A15..A0 A15..A0
Aadressi ja andmesiin
Aadressisiin
Küsimused
1. Milliseid pooljuhtmälude liike teate?
2. Mille poolest erinevad staatilised ja dünaamilised mälud?
3. Kus kasutatakse püsimälusid?
4. Kuidas toimub info salvestamine püsimällu?
5. Miks dünaamilistes mäludes on vaja informatsiooni regenereerida? Kuidas see toimub?
6. Kuidas toimub mälupesa valik?
7. Milliseid elemente kasutatakse info salvestamiseks?
16-bit sõnade jaotus BE (BIG endian)
Mäluväljad
07 07815
0
1
2
3
4
5
6
7
8
0
2
1
3
5
7
9
11
13
15
17 16
14
4
10
6
12
8
65535
a) b)
Mälukaart ja mälualad
• Register on mitmebitiline mäluelement. 8-bitilise kontrolleri registris säilitatakse 8-bitti
• Mikrokontrolleril PIC16F877A on kokku 4 mäluala (memory bank). Üksikuid mälupesad on kasutusel registritena, seetõttu nimetatakse neid ka registriplokkideks (register file). Sellist trigeritest koosnevat mälu nimetatakse staatiliseks muutmäluks (SRAM).
• Kasutajaandmete (muutujate väätuste) säilitamiseks on üldotstarbelised e. “General Purpose” registrid
23.11.2014
6
Andmete lugemise ajadiagramm
Mälust lugemisel sooritatakse järgmised elementaartehted:
1. juhtsignaal RD/WR viiakse olekusse RD (read), mis tähendab lugemist,
2. mälupesa aadressisõna, kust soovitakse lugeda infot, saadetakse aadressisiinile,
3. kiibivaliku signaaliga CS (chip select) avatakse juurdepääs mällu,
4. loetakse mälupesa sisu väljundisse (andmesiinile).
t t 1 t 2 t 3 t 4
Aad re ss
R D/W R
CS
S e ad m e (m älu )
v älju n d
Tak t iim p u ls id
Andmete kirjutamise ajadiagramm
Mällu kirjutamisel sooritatakse järgmised elementaartehted:
1. mälupesa aadressisõna, kuhu soovitatakse kirjutada infot, saadetakse aadressisiinile,
2. kiibivaliku signaaliga CS (chip select) avatakse juurdepääs mällu,
3. juhtsignaal RD/WR viiakse olekusse WR (write), mis tähendab kirjutamist,
4. mällu kirjutatav infosõna loetakse andmesiinilt mällu.
5. suletakse juurdepääs mällu kiibivalikusignaali deaktiveerimisega
6. Muudetakse aadressisiinil olekut (aadressi) järgmiseks lugemis või kirjutustsükliks
An d m e d jõu avad
se ad m e (m älu )
s ise n d is se
t t 1 t 2 t 3 t 4 t 6
Aad re ss
R D/W R
CS
Tak t iim p u ls id
t 5
Kilobait, kibibait ja Kbyte
• 1998 aastal pakuti andmemahu
kirjendamiseks välja lühend “kibi”
sõnadest “kilo binary byte”.
• Milles on erinevus võrreldes kilobaidiga?
• 1 kilobait on 1000 baiti (lühend kB
sarnaselt SI süsteemi ühikutega).
• 1 kibibait (lühend KB) on 1024 baiti
Jadaliidesega mälud
• Jadaliidestest on levinuim SPI (Serial-
Pheripheral Interface) mida võib võrrelda
lihtsa nihkeregistriga.
Lisalugemist
Peatükk 5
“Homogeensed struktuurid”
raamatust
“Loogika ja programmeerimine” (2001)
vt. http://www.ene.ttu.ee/elektriajamid/leonardo/loogika/LOOGS5.pdf
http://et.wikipedia.org/wiki/SRAM
http://et.wikipedia.org/wiki/Dünaamiline_muutmälu
http://et.wikipedia.org/wiki/EEPROM
http://et.wikipedia.org/wiki/Välismälu#NOR_flash
http://et.wikipedia.org/wiki/Välismälu#NAND_flash