Sunteți pe pagina 1din 11

Lucrarea 4

Proiectarea modulelor de memorie


1. Scopul lucrarii: prezentarea metodologiei de proiectare a modulelor de memorie pentru
sistemele bazate pe microprocesoare.
2. Consideratii teoretice:
2.1 Tipuri de memorii
Memoriile pot fi clasificate pe baza mai multor criterii:
a. dupa tipul de operatii permise:
- memorii ROM Read Only Memory - care pot fi numai citite (scrierea se face de
catre producator)
- memorii PROM Programable ROM memorii ROM care pot fi inscrise o singura
data de catre utilizator
- memorii UV-EPROM Ultra Violet Erasable PROM memorii ROM care pot fi
sterse cu raze ultraviolete si apoi rescrise de utilizator (numarul de stergeri este limitat
aprox. 10-100 ori); scrierea si stergerea necesita dispozitive speciale
- memorii EEPROM Elecrically Erasable PROM memorii EPROM ce pot fi sterse
pe cale electrica ( numarul de stergeri este mai mare aprox. 1000-10000); nu necesita
dispozitive spaciale de scriere si stergere; ciclul de stergere/rescriere este mai lung decit un
ciclu normal de citire
- memorii FLASH asemanatoare cu memoriile EEPROM dar realizate in alta
tehnologie
- memorii RAM Random Access Memory care pot fi citite si scrise in timpul
functionarii normale a sistemului
b.dupa tehnologia de realizare
- memorii bipolare realizate in tehnologie TTL; caracteristici: viteza mare, capacitate
mica, consum mare, pret relativ mare
- memorii MOS statice si dinamice realizate cu tranzistoare MOS; caracteristici:
viteza medie-mare, capacitate foarte mare (mai ales cele dinamice), pret relativ mic, integrare
usoara, consum mic, cele mai utilizate memorii in sistemele cu microprocesoare
- memorii CMOS realizate cu tranzistoare MOS complementare; caracteristici:
consum redus (in regim de stocare a datelor poate sa pastreze informatiile la o tensiune mica
si un consum extrem de mic), capacitate medie, viteza medie, folosite pentru pastrarea
informatiilor de configurare
- memorii ECL realizate in tehnologie cu emitor cuplat; caracteristici: viteza foarte
mare, consum foarte mare, capacitate mica, dificil de utilizat in sisteme TTL
c. dupa modul de pastrare a datelor:
- memorii ROM pastreaza datele si dupa caderea tensiunii de alimantare
- memorii statice pastreaza datele atita timp cit sunt alimentate
- memorii dinamice pastreaza datele un timp limitat (aprox. 2ms); necesita
reimprospatarea periodica a informatiilor (prin simularea unor cicluri de citire)
d. dupa pozitia ocupata in raport cu procesorul:
- memoria cache memorie de mare viteza, de capacitate mica, intim legata de
procesor
4-1

- memoria principala (operativa) memorie de capacitate medie-mare, viteza medie,


cu acces aleatoriu; ocupa spatiul de adresare fizic al procesorului; pentru a putea fi executate
modulele de program si date trebuie sa fie prezente in memoria principala
- memoria virtuala este un concept abstract prin care spatiul fizic de adresare
accesibil direct pentru un program este extins peste memoria externa; mecanisme de
implementare: segmentarea si paginarea
- memoria externa memorie de capacitate foarte mare (teoretic infinita), de viteza
mica, cu acces semialeatoriu ( pe blocuri); este implementata pe suport magnetic sau optic
(disc flexibil, hard-disk, disc optic); se foloseste pentru pastrarea pe termen lung a
programelor si datelor
2.2 Accesul la locatiile de memorie
In sistemele bazate pe microprocesoare modulele de memorie se conecteaza pe
magistra sistemului. Accesul la locatiile de memorie se realizeaza prin cicluri de transfer
(cicluri masina), folosindu-se semnalele magistralei (semnale de adresa, de date si de
comenzi). Modul de desfasurare a diferitelor tipuri de cicluri de transfer se reprezinta prin
diagrame de timp; diagrama prezinta evolutia in timp a semnalelor de pe magistrala, implicate
in transfer. Parametri de timp ai unui ciclu de transfer depind de tipul procesorului, de
regulile de comunicatie pe magistrala si de tipul de circuite de memorie utilizate. In figura de
mai jos s-au reprezentat diagramele de transfer pentru un ciclu de citire memorie si un ciclu
de scriere memorie.
Ciclu de citire memorie
Semnale de adresa
S. de c-da MEMR\
(citire memorie)
Semnale de date

Adresa valida

(inalta impedanta)
Date valide (citite)
tacces
tmemr
tciclu

Ciclu de scriere memorie


Semnale de adresa

Adresa valida

S. de c-da MEMW\
Semnale de date
tacces

tmemw
tciclu

Figura 1 Diagrame de citire/scriere memorie

La proiectarea unui modul de memorie trebuie sa se tina cont de urmatorii parametri de timp:
- timpul de acces la citire (tacces) intervalul de timp intre momentul aparitiei adresei
valide si momentul in care data citita este prezenta pe liniile de date; uneori timpul de acces se
masoara in raport cu momentul de aparitie al semnalului de comanda MEMR\; daca timpul de
4-2

acces al circuitului de memorie folosit este mai mare decit timpul permis pe magistrala atunci
interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe
un timp limitat a semnalului READY catre procesor.
- timpul de mentinere a semnalului de comanda MEMR\ activ (tmemr)
- durata unui ciclu complect de citire sau scriere (tciclu)
- timp de acces la scriere (tacces) intervalul de timp intre momentul in care adresa
este valida si momentul de generare a comenzii de scriere; in acelasi mod ca si la citire, daca
timpul de acces al circuitului de memorie folosit are un timp de acces mai mare atunci
interfata modulului trebuie sa dezactiveze temporar semnalul READY pentru prelungirea
ciclului de transfer; momentul activarii semnalului de scriere se masoara si in raport cu
momentul in care data este prezenta pe magistrala.
- timpul de mentinere a semnalului de scriere (tmemw) este de obicei mai mic decit
tmemr
Observatii:
- la citire data este generata dupa aparitia semnalelor de adresa si de comanda si se
mentine un timp scurt dupa dezactivarea acestora
- la scriere data trebuie sa apara pe magistrala inaintea semnalului de scriere si sa fie
valida pe toata durata de activare a semnalului de comanda
- timpul de acces acopera intirzierile care apar intr-un circuit de memorie datorita
circuitelor de decodificare a adresei si de selectie a amplificatoarelor de intrare sau de iesire
- proiectantul trebuie sa aleaga circuite de memorie cu parametri de timp acoperitori
pentru restrictiile impuse pe magistrala; trebuie sa se ia in calcul si intirzierile produse de
circuitele de amplificare din interfata si de pe magistrala.
2.2 Metodologia de proiectare a memoriilor statice
Proiectarea unui modul de memorie se face pe baza unor parametrilor de proiectare
impusi:
- capacitatea memoriei
- modul de organizare ( unitatea elementara de acces la memorie: octet, cuvint,
dublucuvint)
- tipul de magistrala pe care se conecteaza ( numar de semnale de date si de adrese,
tipuri de semnale de comanda, parametri de timp pentru cicluri de transfer)
- amplasarea modulului de memorie in spatiul de adresare al procesorului , exprimata
prin adresa sa de inceput (trebuie sa fie un multiplu al capacitatii modulului)
- tipul de circuit de memorie disponibil (poate fi un parametru impus sau unul ales de
proiectant)
- alte cerinte speciale (ex: acces dual de pe doua magistrale, reinprospatare controlata
centralizat, implementarea unor mecanisme de detectie a erorilor, etc.)
Etapele de proiectare ale modulului de memorie sunt:
- schema bloc de principiu se vor evidentia: matricea de memorie, blocul de
decodificare, circuitele de amplificare si circuitul de comanda (daca este cazul)
- construirea unui submodul de memorie care respecta organizarea ceruta (pe octet,
cuvint, dublucuvint); pentru aceasta se alatura mai multe circuite de memorie pina se obtine
latimea dorita (legare in serie)
- construirea matricii de memorie prin atasarea mai multor submodule construite in
faza anterioara, pina se obtine capacitatea dorita (legare in paralel)
- proiectarea blocului de decodificare; acest bloc trebuie sa genereze semnale de
selectie pentru submodule si pentru modulul de memorie luat ca intreg; decodificarea se face
pe baza semnalelor de adresa si de comanda
4-3

- proiectarea circuitelor de amplificare; se aleg circuite de amplificare unidirectionale


pentru adrese si comenzi si bidirectionale pentru date
- proiectarea circuitului de comanda; circuitul de comanda va genera semnale pentru
selectia amplificatoarelor, pentru validarea decodificarii, pentru controlul secventei de citire si
de scriere, pentru blocarea temporara a semnalului READY, etc.
- se verifica respectarea restrictiilor de timp prin adunarea timpilor de intirziere pe
fiecare semnal in parte; critice din acest punct de vedere sunt semnalele de selectie (generate
de decodificator) si semnalele de control ale amplificatoarelor de date.
Pentru exemplificare se prezinta modul de proiectare a unui modul de memorie avind
urmatorii parametri de proiectare:
- capacitatea: 512kcuvinte (1Mo)
- organizarea: pe cuvint (16 biti), cu posibilitate de adresare si pe octet
- caracteristicile magistralei (magistrala ISA):
- 24 de linii de adresa
- 16 linii de date
- semnale de comanda: MRDC\ (citire memorie) si MWTC\ (scriere memorie)
- adresa de inceput: C0.0000H
- se folosesc circuite de memorie de 64K*8biti
a. Schema bloc de principiu:
Mag. de adrese
Mag. de date
Mag. de c-zi

Amp.
adr.

Dec.

Adrese
Sel 0

Submodul 0

Sel1

Submodul 1

Sel 2

Submodul 2

C. control
Citire/Scr.
Amp.
date
SD

Submodul n

Date

SA
Figura 2 Schema bloc a modulului de memorie

4-4

Matricea de
memorie

b.Schema unui submodul de memorie

Mag. adrese
A1-A16

..

MWR\

Sel-i\
A0

A0
D0
A1
D1
64k*8biti
A15 D7
CS\
WR\

D0
D1

A0
D0
A1
D1
64k*8biti
A15 D7
CS\
WR\

D8
D9

D7
Mag.
date

D15

Sel-iL\
Sel-iH\

BHE\
Submodulul i (64K*16 biti=128Kocteti)
Figura 3 Schema submodul I

c. Matricea de memorie
D0-15
A0-16, BHE\
64kcuv
Sel
MWR\

Sel 0\
MWR\

D0-15
64kcuv
Sel
MWR\

Sel 1\

Figura 4. Matricea de memorie

D0-15
64kcuv
Sel
MWR\

Sel 7\

4-5

d. Modulul de decodificare
A17
A18
A19
A20
A21
A22
A23

A
B
C

O0
O1
O2
74LS138
(Decodif.)
E1\
E2\
O7
E3

Adr. de inceput C0.0000H


(1100..B)

Sel-0\
Sel-1\
Sel-2\
.

Sel-7\

Decodificator

MRD\
MWR\

Sel-modul\

Circuit de comanda
Figura 5 Modul de decodisicare si de comanda

e. Modulul de amplificare
244
SA1
SA2

A1
A2

SA8

A8

SD0
SD1
244

245
A B

SD7

G0\
G1\

D0
D1
D7

Dir
CS\

244
SA9
SA10

A9
A10

SD8
SD9

SA16

A16

SD15

G0\
G1\

MRD\
Sel-modul\
244
SA0
SBHE\
MRDC\
MWRC\

A0
BHE\
MRD\
MWR\
G0\
G1\

Figura 6 Modulul de amplificare

4-6

245
A B

D8
D9
D15

Dir
CS\

2.3 Metodologia de proiectare a memoriilor dinamice


Proiectarea memoriilor dinamice este in principiu similara cu proiectarea memoriilor
statice, cu urmatoarele amendamente:
- trebuie sa se adauge un mecanism de reimprospatare periodica a memoriei
- adresele trebuie multiplexate (generarea secventiala pe aceleasi semnale a adresei de
linie si a adresei de coloana)
- trebuie sa se genereze semnale de validare a adresei de linie (RAS\ - Row Address
Select) si a adresei de coloana (CAS\ - Column Address Select)
- selectia circuitelor se face cu semnalele RAS\ si CAS\ (exceptie fac circuitele de tip
EDO-DRAM care au semnal separat pentru selectia circuitului)
Pentru circuitele RAM dinamice, multiplexarea in timp a adreselor a fost necesara
pentru a reduce numarul de pini ai circuitului de memorie si implicit a dimensiunii acesteia.
De notat ca circuitele dinamice au o capacitate relativ mare, ceea ce impune un numar mare
de linii de adresa pentru selectie. Organizarea interna a unei memorii dinamice este sub forma
unei matrici, cu linii si coloane; selectia unei locatii se face prin specificarea adresei sale de
linie si de coloana.
Reimprospatarea periodica a memoriei este necesara deoarece informatia este pastrata
un timp limitat dupa ultima operatie de citire sau scriere (condensatorul care pastreaza
informatia se descarca in timp). Controlul procesului de reimprospatare poate sa se faca la
nivelul modulului de memorie sau centralizat la nivelul intregului sistem. Indiferent de
metoda aleasa trebuie sa se asigure ca ciclurile de reimprospatare sa nu se suprapuna peste
ciclurile obisnuite de citire sau scriere. Reimprospatarea se face simultan la nivelul unei linii
intregi din matricea de memorie. In figurile de mai jos s-au reprezentat diagramele de timp
pentru ciclurile de citire, scriere si reimprospatare.
Adrese

Adr. linie

Adr. coloana

RAS\
CAS\
WR\
Date

Date citite
tcas

tras-cas
tacces
tciclu
Figura 7 Ciclu de citire

4-7

Adrese

Adr. linie

Adr. coloana

RAS\
CAS\
WR\
Date

Date de scris
tcas

tras-cas
tacces

tciclu
Figura 8 Ciclu de scriere

Adrese

Adr. linie

RAS\
CAS\
WR\
Figura 9 Ciclu de reimprospatare

Exemplu de proiectare:
- capacitate: 16 Mocteti
- organizarea: pe cuvint (16 biti), cu posibilitate de adresare si pe octet
- caracteristicile magistralei :
- 28 de linii de adresa
- 16 linii de date
- semnale de comanda: MRDC\ , MWTC\, Refresh\ (se considera ca
reimprospatarea se solutioneaza centralizat
- adresa de inceput: D00.0000H
- se folosesc circuite de memorie de 1M*8biti

4-8

a. Schema de principiu:
Mag. de adrese
Mag. de date
Mag. de c-zi

Mux.
adr.

Adrese linie si coloana

Dec.

C. control

CAS0\

Submodul 0

CAS1\

Submodul 1

CAS2\
RAS\

Submodul 2

Citire/Scr.
Amp.
date
SD

Matricea de
memorie

Submodul n

Date

SA
Figura 10 Schema bloc a modulului de memorie

b.Schema unui submodul de memorie

Adr. linii/col.
A0-9

..

MWR\

RAS\
CAS-i\
A0

A0
D0
A1
D1
1M*8biti
A9
D7
CAS\
RAS\
WR\

D0
D1

A0
D0
A1
D1
1M*8biti
A9
D7
CAS\
RAS\
WR\

D8
D9

D7
Mag
date

D15

CAS-iL\
CAS-iH\

BHE\
Submodulul i (1M*16 biti=2Mocteti)
Figura 11 Schema submodul

c.Matricea de memorie
Schema este similara cu cea din figura 4 cu urmatoarele modificari:
- in loc de semnalele Sel-i\ se folosesc semnalele CASi\
- in loc de adresele A1-16 se folosesc semnalele A0-9
4-9

- la fiecare submodul se conecteaza semnalul RAS\


D0-15
A0-9, BHE\
RAS\
CAS 0\
MWR\

1Mcuv
RAS\
CAS\
MWR\
D0-15
1Mcuv
RAS\
CAS\
MWR\

CAS 1\

D0-15
1Mcuv
RAS\
CAS\
MWR\

CAS 7\
Figura 12. Matricea de memorie

d. Circuitul de comanda si decodificare


A21
A22
A23
A24
A25
A26
A27

A
B
C

O0
O1
O2
74LS138
(Decodif.)
E1\
E2\
O7
E3

Adr. de inceput D00.0000H


(1101..B)

CAS0\
CAS1\
CAS2\
.

CAS7\

Decodificator

MRD\
MWR\

Sel-modul\
RAS\

Refresh\
Linie de intirziere

AdrSel
CAS\
Circuit de comanda
Figura 13 Modul de decodificare si de comanda
4-10

e.Modulul de amplificare si multiplexare


MUX
SA1
SA2

O
.

A1
A2

SD0
SD1

A10

SD7

SA11
SA12

D7
Dir
CS\

..

SA0
SBHE\
MRDC\
MWRC\

D0
D1

I0

SA10

SA20
AdrSel

245
A B

I1
Sel
244

SD8
SD9
A0
BHE\
MRD\
MWR\

245
A B

SD15
MRD\
Sel-modul\

D8
D9
D15

Dir
CS\

Figura 14 Modul de amplificare si multiplexare

3. Mersul lucrarii
1. Se studiaza schemele si metodologia de proiectare din paragraful precedent.
2. Se proiecteaza urmatoarele tipuri de module de memorie:
- memorie EPROM (capacitate 32ko, adresare pe octet, magistrala de tip IBM-PC ISA, adresa de inceput F0000H)
- memorie RAM statica (capacitate 512Ko, adresare pe cuvint si octet, magistrala de
tip IBM-PC AT, adresa de inceput A0000H)
- memorie DRAM (capacitate 64Mo, adresare pe octet, cuvint si dublucuvint,
magistrala de tip IBM-PC 386, adresa de inceput 0)
Observatie: tipul circuitelor de memorie folosite este la alegerea proiectantului
4.Probleme
1. Sa se proiecteze un circuit de comanda pentru un modul de memorie dinamica la care
reimprospatarea se solutioneaza local. Circuitul de comanda trebuie sa solutioneze situatiile
de conflict ce pot sa apara intre cererile procesor si cererile de reinprospatare. Indicatie:
circuitul de comanda trebuie sa fie un automat de stare.
2. Sa se proiecteze cite un modul de memorie cu acces secvential de tip FIFO (First In First
Out) si respectiv LIFO (Last In First Out).
3. Sa se analizeze modul de implementare practica a modulelor de memorie la un calculator
personal (module SIMM, DIMM) si sa se ridice schema bloc
4. Sa se proiecteze o schema de generare si verificare a bitului de paritate, la nivel de octet.
5. Sa se caute pe Internet date de catalog (configurare pini, schema interna, diagrame de timp)
pentru urmatoarele tipuri de memorii: EPROM, EEPROM, CMOS-RAM, DRAM, SDRAM,
EDO-DRAM, etc.)

4-11

S-ar putea să vă placă și