Orice circuit secvenial are o memorie de un anumit tip, ntruct stocheaz
cte un bit. Cu toate acestea, folosim cuvntul memorie atunci cnd ne referim la bii memorai ntr-un mod structurat, de obicei sub form de tablou bidimen- sional, n care se acceseaz simultan biii de pe un rnd. Capitolul de fa descrie cteva tipuri diferite de organizare a memoriei. Aceleai tipuri de memorii pot fi nglobate n cipuri VLSI de dimensiuni mai mari, unde sunt combinate cu alte circuite, pentru a realiza diverse funcii utile. Aplicaiile circuitelor de memorie sunt numeroase i diversificate. n unitatea central de prelucrare a unui microprocesor (CPU - Central Processing Unit) poate fi utilizat o memorie accesibil numai pentru citire (read-only memory), n care sunt definii primii pai parcuri pentru executarea instruciunilor din setul de instruciuni al CPU. Pe lng CPU, o memorie static rapid poate servi ca memorie cache (ascuns), pentru a pstra instruciunile i datele utilizate recent. Subsistemul principal de memorie al microprocesorului poate conine sute de milioane de bii n ,,memoria dinamic", cea care stocheaz integral sisteme de operare, programe i date. Aplicaiile memoriilor nu se limiteaz la microprocesoare, nici mcar la sistemele exclusiv digitale. De exemplu, unele echipamente din sistemul de telefonie public folosesc memorii accesibile numai pentru citire pentru efectuarea unor diverse transformri ale semnalelor de voce digitizate, iar memoriile statice rapide sunt folosite ca reea de comutare, direcionnd vocea digitizat ctre utilizatori. Multe aparate portabile de ascultat discuri compacte citesc cu anticipaie i memoreaz cteva secunde de semnal audio ntr-o memorie dinamic, astfel c aparatul red sunetul continuu chiar dac, fizic, funcioneaz discontinuu (pentru aceasta este necesar stocarea semnalului audio cu peste 1,4 milioane de bii pe secund). Exist numeroase exemple de aparatur audio/video modern, n care memoriile servesc la stocarea temporar a semnalelor digitizate, urmnd ca, prin prelucrarea semnalelor digitale, s se obin performane superioare. 1.1 Memoria cu acces numai pentru citire O memorie cu acces numai pentru citire (read-only memory ROM) este un circuit combinaional cu n intrri i
b ieiri, ca n figura 8-1. Intrrile se numesc intrri de adrese i
se noteaz, tradiional, cu AO, Al, ..., An-1. Ieirile se numesc ieiri de date i
se noteaz, de obicei, cu DO, D1, ..., Db-1.
Figura 0-1 Structura de baz a unei memorii ROM 2 n xb O memorie ROM stocheaz tabelul de adevr al unei funcii logice combinaionale cu n intrri i b ieiri. De exemplu, tabelul 8-1 este tabelul de adevr al unei funcii combinaionale cu 3 intrri i 4 ieiri; acesta poate fi stocat ntr-o ROM 2 3 x4 (8x4). Neglijnd timpii de propagare, ieirile de date ale unei ROM sunt, n orice moment, biii de ieire din rndul din tabelul de adevr selectat de intrrile de adrese. Deoarece o ROM este un circuit combinaional, corect ar fi s spunem c nu este ctui de puin o memorie. Sub aspectul funcionrii circuitelor digitale, o ROM poate fi tratat ca orice alt element logic combinaional. Cu toate acestea, putei considera c informaiile sunt stocate n ROM n procesul de fabricaie sau de programare. Dei considerm c ROM este un tip de memorie, dintr-un punct de vedere se deosebete foarte mult de majoritatea tipurilor de circuite integrate de memorie. ROM este o memorie nevolatil, adic pstreaz informaiile stocate i n absena tensiunii de alimentare.
1.1.1 Utilizarea ROM pentru funcii logice combinaionale aleatorii Tabelul 8-1 este, de fapt, tabelul de adevr al unui decodor cu 2 intrri i 4 ieiri, cu comanda polaritii de ieire - funcie ce poate fi realizat cu pori discrete ca n figura 8-2. Prin urmare, exist dou ci de a construi un decodor: cu pori discrete sau cu o ROM 8x4 ce conine tabelul de adevr, ca n figura 8- 3.
Figura 0-2 Decodor cu 2 intrri i 4 ieiri, cu comanda polaritii de ieire
Figura 0-3 Modul n care se conecteaz o ROM 8x4, ce stocheaz tabelul 8-1, pentru a se obine un decodor cu 2 intrri i 4 ieiri Modul de asociere dintre intrrile i ieirile decodorului i intrrile i ieirile ROM, din figura 8-3, rezult din modul n care a fost ntocmit tabelul de adevr din tabelul 8-1. Prin urmare, implementarea fizic, cu ROM, a decodorului nu este unic. Cu alte cuvinte, putem s scriem rndurile sau coloanele tabelului de adevr ntr-o alt ordine i atunci vom folosi o ROM diferit fizic de cea precedent, realiznd ns aceeai funcie logic, prin simpla asociere a semnalelor decodorului cu alte intrri i ieiri ale ROM. Putem la fel de bine s considerm c schimbm denumirile intrrilor de adrese i ale ieirilor de date ale ROM. Un alt exemplu simplu de funcie ce poate fi realizat cu ROM este nmulirea a dou numere binare de 4 bii, neprecedate de semn. Coninutul unei ROM se descrie, n mod normal, printr-un fiier ce conine cte o valoare pentru fiecare adres din ROM. Avantajul proiectrii cu ROM este faptul c, de obicei, putem scrie un program simplu, ntr-un limbaj de nivel nalt, pentru a calcula ce trebuie stocat n ROM. 1.1.2 Structura intern a ROM Mecanismul prin care ROM stocheaz informaii variaz de la o tehnologie de ROM la alta. n majoritatea cazurilor, prezena sau absena unei diode sau a unui tranzistor constituie diferena dintre un 0 i un 1. n figura 8-4 este dat schema unei ROM 8x4 primitive, pe care o putei construi singuri cu un decodor MSI i cteva diode. Intrrile de adrese selecteaz ieirea decodorului ce urmeaz a fi confirmat. Fiecare ieire a decodorului este numit linie de cuvnt, deoarece ea selecteaz un rnd sau un cuvnt din tabelul stocat n ROM. n figur este ilustrat situaia cu A2...A0 = 101 i ROW5_L confirmat. Fiecare linie vertical din figura 8-4 se numete linie de bit, deoarece corespunde unui bit de ieire din ROM. 0 linie de cuvnt confirmat impune trecerea n LOW a unei linii de bit dac ntre linia de cuvnt i cea de bit este conectat o diod. n rndul 5 exist o singur diod, iar linia de bit corespunztoare acesteia (D1_L) este forat n LOW. Liniile de bit sunt urmate de circuite tampon inversoare, pentru a se obine ieirile ROM D3 ... DO = 0010, n cazul de fa. n circuitul ROM din figura 8-4, fiecare intersecie dintre o linie de cuvnt i o linie de bit corespunde unui bit de memorie. Dac la intersecie se afl o diod, se stocheaz un l, n caz contrar se stocheaz un 0. n figura 8-5 este prezentat o variant de ROM avnd ca elemente de stocare tranzistoare MOS. Similar se pot realiza i module ROM cu tranzistoare bipolare. Variantele cu tranzistore asigur un prag al nivelului de zgomot mai bun n comparaie cu variantele cu diode.
Figura 0-4 Schem logic de ROM 8x4 simpl, cu diode
Figura 0-5 Structur intern a ROM 128x1 cu decodare bidimensional 1.1.3 Decodarea bidimensional Ca principiu, decodarea bidimensional const n aranjarea celulelor ROM ntr-o matrice de dimensiuni ct mai egale (ct mai apropiat de un ptrat). Ca exemplu, n figura 8-5 este prezentat o structur intern posibil pentru o ROM 128x1. Cei trei bii de adrese de ordine superioare, A6...A4, servesc la selectarea unui rnd. Pe fiecare rnd se stocheaz 16 bii, ncepnd de la adresele (A6, A5, A4, 0, 0, 0, 0). Cnd la intrrile ROM se aplic o adres, toi cei 16 bii din rndul selectat se citesc n paralel, pe liniile de bit. Un multiplexor cu 16 intrri selecteaz bitul de date dorit conform biilor de adrese de ordine inferioare. Decodarea bidimensional permite construirea unei ROM 128x1 dintr-un decodor cu 3 intrri i
8 ieiri i
un multiplexor cu 16 intrri (cu o complexitate comparabil cu cea a unui decodor cu 4 intrri i
16 ieiri). 0 ROM 1Mx1 poate fi construit dintr-un decodor cu 10 intrri i 1024 de ieiri i un multiplexor cu 1024 de intrri, ceea ce nu este simplu, dar este mult mai simplu dect varianta unidimensional. Pe lng faptul c reduce complexitatea decodrii, decodarea bidimensional mai prezint un avantaj: cipul rezultat are dimensiunile apropiate de cele ale unui ptrat, lucru important pentru fabricare i
ncapsulare. Un cip coninnd fizic o matrice 1Mx1 ar fi foarte lung i
subire, neputnd fi construit economic. La ROM cu mai multe ieiri de date, matricele de stocare corespunztoare fiecrei ieiri de date pot fi ngustate, n scopul realizrii unei dispuneri pe cip de form aproximativ ptrat. De exemplu, figura 8-6 prezint o posibil dispunere pentru o ROM 32Kx8.
Figura 0-6 Posibil dispunere la o ROM 32Kx8 1.1.4 Tipuri de ROM comercializate Primele module ROM erau construite cu diode discrete. Memoriile ROM moderne se fabric sub form de CI monocip. Pentru programarea informaiilor stocate n ROM se utilizeaz diverse metode, sistematizate n tabelul 8-2.
Tabel 0-2 Tipuri de ROM comercializate
Cele mai multe ROM integrate din primele generaii erau ROM programabile cu masc (sau, pe scurt, ROM cu masc). Un asemenea dispozitiv se programeaz conform unei grile de conectare/neconectare, existent ntr-una din mtile utilizate n procesul de fabricaie a CI. Pentru a programa ROM sau a nscrie informaiile n ea, beneficiarul furnizeaz fabricantului, pe o dischet sau pe un alt mediu de transfer, o list a ceea ce dorete s fie coninut n ROM. Fabricantul folosete informaiile pentru a realiza una sau mai multe mti adaptate cerinelor, iar ROM fabricate cu aceste mti respect grila impus. Costul suplimentar al mtilor necesare fabricrii unor ROM cu masc se ridic la cteva mii de dolari, pentru particularizarea conform cerinelor. Din cauza costului mtilor i a intervalului cteva sptmni, necesar, de obicei, pentru obinerea cipurilor programate, ROM cu masc se utilizeaz astzi numai n aplicaiile de volum mare, pentru cele de volum mic existnd variante mai economice. O memorie programabil cu acces numai pentru citire (programmable read-only memory - PROM) se aseamn cu o ROM cu masc, ns utilizatorul poate s stocheze valori de date (adic s programeze o PROM) n doar cteva minute, folosind un programator de PROM. Cipurile de PROM au, din fabricaie, toate diodele sau tranzistoarele conectate. Aceasta nseamn c toi biii sunt fixai la o anumit valoare, de obicei 1. Cu ajutorul programatorului de PROM, biii dorii se fixeaz la valoarea invers. La PROM bipolare, operaia se realizeaz prin vaporizarea micilor puni fuzibile din interior, fiecare punte corespunznd cte unui bit. Vaporizarea unei puni se efectueaz selectnd-o prin intermediul liniilor de adrese i de date ale PROM i aplicnd apoi dispozitivului un impuls de tensiune mare (10 ... 30 V), pe un pin de intrare special. Primele PROM bipolare aveau probleme de fiabilitate. Uneori, biii stocai se modificau din cauza vaporizrii incomplete a punilor, care se formau la loc; alteori apreau defecte intermitente din cauza resturilor de puni ce se deplasau liber n interiorul capsulelor de CI. Aceste probleme au fost ns rezolvate, iar acum tehnologia cu puni fuzibile este fiabil i se folosete nu doar la PROM bipolare, ci i la circuitele PLD bipolare. O memorie programabil, cu tergere i acces numai pentru citire (erasable programmable read-only memory- EPROM) se programeaz ca i PROM, dar poate fi i tears, aducndu-se din nou la starea cu toi biii 1, prin expunere la radiaii ultraviolete. La EPROM se folosete o alt tehnologie, numit MOS cu pori flotante.
Figura 0-7 Matrice de stocare n EPROM cu tranzistoare MOS cu poart flotant Dup cum vedei n figura 8-7, n fiecare locaie de bit a unei EPROM se afl cte un tranzistor MOS cu poart flotant. Fiecare tranzistor are dou pori. Poarta flotant nu este conectat, fiind nconjurat de un material izolator cu impedan extrem de mare. Pentru a programa o EPROM, programatorul aplic o tensiune mare pe poarta neflotant corespunztoare fiecrei locaii de bit unde trebuie stocat un 0. Astfel se produce o strpungere temporar a materialului izolator, permind acumularea unei sarcini negative pe poarta flotant. Sarcina negativ se pstreaz i dup ndeprtarea tensiunii mari. n timpul operaiilor de citire ulterioare, sarcina negativ mpiedic deschiderea tranzistorului MOS atunci cnd acesta este selectat. Fabricanii de EPROM garanteaz c un bit programat corespunztor i menine 70% din sarcin cel puin 10 ani, chiar dac dispozitivul este depozitat la 125
C, deci EPROM se ncadreaz, fr nici un dubiu, n categoria memorii
nevolatile. Dar EPROM se pot i terge. Materialul izolator din jurul porii flotante devine uor conductor dac este expus la radiaie ultraviolet cu o anumit lungime de und. Deci EPROM se pot terge prin expunerea cipurilor la radiaii ultraviolete, de obicei 5...20 de minute. Capsulele cipurilor de EPROM sunt prevzute, n mod normal, cu o fereastr de cuar prin care cipul poate fi expus la radiaia de tergere. Probabil cea mai uzual aplicaie a EPROM este stocarea programelor din sistemele cu microprocesor. EPROM se utilizeaz de obicei n perioada elaborrii programelor, cnd programele sau alte informaii din EPROM trebuie modificate de mai multe ori, pentru depanare. Cu toate acestea, ROM i PROM sunt, n general, mai ieftine dect EPROM de capaciti similare. Ca urmare, dup finalizarea unui program, n producie se pot folosi ROM sau PROM, pentru reducerea costurilor. Multe PROM din momentul actual sunt, de fapt, EPROM cu capsule ieftine, fr fereastr de cuar; uneori, ele sunt numite ROM uniprogramabile (one-time programmable - OTP). O memorie programabil, cu tergere electric i acces numai pentru citire (electrically erasable programmable read-only memory -EEPROM) se aseamn cu EPROM, ns fiecare bit stocat poate fi ters separat, prin metode electrice. Porile flotante din EEPROM sunt nconjurate de un strat izolator mult mai subire i pot fi terse prin aplicarea unei tensiuni de polaritate opus tensiunii de ncrcare, aplicat pe porile neflotante. La EEPROM de capacitate mare (de 1 Mbit sau mai mare) tergerea se poate face simultan numai n blocuri de dimensiuni fixe, de obicei de 128...512 Kbit (16...64 Kbyte). Asemenea memorii mai sunt numite EPROM zonale sau memorii zonale (flash), deoarece tergerea se face pe zone. Aa cum se indic n tabelul 8-2, programarea sau scrierea unei locaii de EEPROM dureaz mult mai mult dect citirea ei, deci EEPROM nu poate nlocui memoriile cu citire/scriere, pe care le vom prezenta mai trziu, tot n capitolul de fa. De asemenea, din cauz c stratul izolator este att de subire, acesta se poate uza n urma operaiilor de programare repetate. De aceea, EEPROM pot fi reprogramate doar de un numr limitat de ori, cam de 10.000 de ori pentru o locaie. Prin urmare, EEPROM se utilizeaz, de obicei, pentru stocarea datelor ce trebuie meninute n lipsa alimentrii echipamentelor, dar care nu se modific foarte des, ca de pild, datele implicite de configurare pentru un calculator. 1.1.5 Intrrile de comand i temporizarea ROM Adesea este necesar s se conecteze ieirile unei ROM la o magistral cu trei stri, cu diverse dispozitive ce pot comanda magistrala n diferite momente. De aceea, majoritatea cipurilor de ROM de pe pia sunt prevzute cu ieiri de date cu trei stri i
cu o intrare de activare a ieirilor (OE - output enable), care trebuie confirmat pentru ca ieirile s fie activate. Numeroase aplicaii cu ROM, n special stocarea programelor, sunt realizate cu mai multe ROM conectate la o magistral, o singur ROM comandnd magistrala la un moment dat. Cele mai multe ROM sunt prevzute cu o intrare de selectare a cipurilor (CS - chip select), pentru simplificarea schemelor unor astfel de sisteme. n afar de OE, i intrarea CS a unei ROM trebuie confirmat pentru ca ieirile cu trei stri s fie activate. Figura 8-8 arat n ce mod se utilizeaz intrrile CS i OE, n interiorul unei ROM obinuite.
Figura 0-8 Structur intern cu ROM, cu indicarea utilizrii intrrilor de comand n ceea ce privete caracteristicile temporale ale unei ROM obinuite, trebuie s avem n vedere urmtorii parametrii: Timpul de acces de la adresare (t AA ). Timpul de acces de la adresare, pentru o ROM, este timpul de propagare de la intrrile de adrese stabile la ieirile de date validate. Cnd proiectanii vorbesc despre un ROM de 100 ns, se refer, de obicei, la acest parametru.
Timpul de acces de la selectarea cipului (t ACS ). Timpul de acces de la selectarea cipului, la o ROM, este timpul scurs din momentul confirmrii intrrii CS pn la validarea ieirilor de date. La unele cipuri, acesta este mai ndelungat dect timpul de acces de la adresare, deoarece cipului i este necesar un anumit interval de timp pentru conectarea la tensiunea de alimentare. La alte cipuri, acest timp este mai sturt, deoarece CS comand numai activarea ieirilor.
Timpul de activare a ieirilor (t OE ). Acest parametru are, de obicei, valoarea mult mai mic dect timpul de acces. La ROM, timpul de activare a ieirilor este timpul scurs din momentul n care att OE, ct i
CS sunt confirmate, pn cnd circuitele de comand a ieirilor cu trei stri au ieit din starea Hi-Z. n acel moment, n funcie de durata de stabilitate a intrrilor de adrese, datele de ieire pot fi validate sau nu.
Timpul de dezactivare a ieirilor (t OZ ). La ROM, timpul de dezactivare a ieirilor este timpul scurs din momentul n care att OE, ct i
CS sunt negate, pn cnd circuitele de comand a ieirilor cu trei stri au trecut n starea Hi-Z.
Timpul de meninere a ieirilor (t OH ). La ROM, timpul de meninere a ieirilor este timpul ct ieirile rmn validate dup o modificare a intrrilor de adrese sau dup negarea uneia dintre intrrile OE_L sau CS_L.
Ca i la alte componente, fabricantul precizeaz valorile maxime i, uneori, i
pe cele tipice, ale parametrilor temporali. De obicei, pentru t OE i
t OH se dau i
valorile minime. Valoarea t OH minim este, n majoritatea cazurilor, 0; cu alte cuvinte, timpul minim de propagare prin circuitele logice combinaionale din ROM este 0. 1.1.6 Aplicaii ale ROM Cea mai des ntlnit aplicaie a ROM este stocarea programelor n sistemele cu microprocesoare. Dar exist i numeroase aplicaii n care prin ROM se poate implementa, cu costuri sczute, o funcie logic combinaional complex sau aleatorie. Un alt domeniu n care sunt folosite circuite ROM este reeaua de telefonie digital. Cnd un semnal analogic de voce este preluat ntr-un sistem obinuit de telefonie digital, el este eantionat de 8000 de ori pe secund i transformat ntr-o succesiune de octei ce reprezint semnalul analogic n fiecare punct de eantionare. n acest domeniu, o simpl ROM ieftin poate nlocui cu succes circuitul de atenuare digital cu componente discrete, mult mai complex. O alt aplicaie a ROM n telefonia digital este circuitul digital de teleconferin. n reeaua de telefonie analogic, legturile de teleconferin ntre trei sau mai multe puncte se realizeaz destul de simplu. Este suficient s conectai mpreun cablurile de telefonie analogic i obinei o jonciune de sumare, astfel nct fiecare participant i poate auzi pe toi ceilali. Desigur c n reeaua digital s-ar produce un haos dac s-ar conecta mpreun semnalele digitale de ieire. n cazul unui circuit digital de teleconferin se folosete un sumator digital, care genereaz eantioane de ieire coresponden sumei eantioanelor de intrare. Funcia acestui circuit destul de complex poate fi realizat cu o singur ROM. Circuitele realizate cu ROM, pe lng uurina i rapiditatea proiectrii, prezint i alte avantaje importante, fiind, n general mai rapide dect cele mai multe dispozitive MSI/SSI i PLD i chiar dect FPGA sau cipurile LSI cu comand special, fabricate cu tehnologii comparabile. Un alt avantaj semnificativ este i faptul c funcia unei ROM se modific simplu, doar prin schimbarea matricei de stocare, fr a necesita modificarea conexiunilor exterioare. Nu trebuie uitat faptul c preurile de ROM i
alte dispozitive logice structurate sunt n scdere continu, fcnd ca utilizarea acestora s devin mai economic, iar densitile lor sunt n cretere, ducnd la lrgirea spectrului de probleme ce se pot rezolva cu un singur cip. Dar circuitele construite cu ROM au i cteva dezavantaje: pentru funcii de complexitate redus sau medie, circuitele cu ROM pot s fie mai costisitoare, s consume mai mult putere sau s fie mai lente dect cele realizate cu cteva dispozitive SSI/MSI i PLD sau cu FPGA de mici dimensiuni. 1.2 Memoria de citire/scriere Denumirea de memorie de citire/scriere (read/write memory- RWM) este dat matricelor de memorie n care se pot stoca i
din care se pot prelua informaii n orice moment. Majoritatea memoriilor de citire/scriere utilizate la ora actual n sistemele digitale sunt memorii cu acces aleatoriu (random-access memory-RAM), ceea ce nseamn c timpul de citire sau de scriere al unui bit din memorie este independent de locaia din RAM a bitului. Din acest punct de vedere, ROM sunt tot memorii cu acces aleatoriu, ns denumirea RAM este folosit, n general, pentru a desemna doar memoriile de citire/scriere cu acces aleatoriu. ntr-o RAM static (SRAM), o dat ce un cuvnt a fost nscris ntr-o locaie, el rmne stocat acolo atta timp ct cipul este alimentat, cu excepia cazului n care n acea locaie se nscrie un alt cuvnt. ntr-o RAM dinamic (DRAM), datele stocate n fiecare locaie trebuie remprosptate periodic prin citirea lor i
o nou nscriere n acelai loc; dac nu se procedeaz aa, datele dispar. n seciunea de fa vom prezenta ambele tipuri de memorie. Majoritatea RAM i pierd memoria atunci cnd li se ntrerupe alimentarea; acestea sunt o form de memorie volatil. Altele i pstreaz memoria i
n absena tensiunii de alimentare; acestea sunt numite memorii nevolatile. Exemple de RAM nevolatile sunt vechile memorii cu miez magnetic i
memoriile statice CMOS moderne, prezentate n capsule de dimensiuni foarte mari, ce includ i o baterie cu litiu cu o durat de via de 10 ani. De curnd au aprut RAM nevolatile fero-electrice; aceste dispozitive combin elemente magnetite i electronice pe un singur cip de CI, care i pstreaz starea i n absena tensiunii de alimentare, exact ca vechile memorii cu miez magnetic. 1.3 RAM statice 1.3.1 Intrri i ieiri la RAM statice Ca i
ROM, RAM au intrri de adrese i de comenzi i ieiri de date, ns au i intrri de date. Intrrile i
ieirile unei RAM statice simple, de 2 n xb bii, sunt prezentate n figura 8-9. Intrrile de comenzi sunt asemntoare cu cele de la ROM, existnd n plus o intrare de activare a scrierii (WE- write enable). Cnd WE este confirmat, datele de intrare se nscriu n locaia de memorie selectat. Locaiile de memorie dintr-o RAM static se comport mai curnd ca nite circuite latch de tip D, dect ca nite CBB de tip D, active pe front. Cu alte cuvinte, ori de cte ori intrarea WE este confirmat, circuitele latch corespunztoare locaiei de memorie selectate sunt deschise (sau transparente), iar datele de intrare intr n circuitul latch i l parcurg. Valoarea stocat practic este cea existent n momentul n care circuitul latch se nchide.
Figura 0-9 Structura de baz a unei RAM 2 n xb La RAM statice sunt definite, n mod normal, dou operaii de acces: Citire: la intrrile de adrese este furnizat o adres n timp ce CS i OE sunt confirmate. Ieirile circuitelor latch corespunztoare locaiei de memorie selectate se regsesc la DOUT. Scriere: la intrrile de adrese este furnizat o adres, iar la DIN se aplic un cuvnt de date, apoi CS i
WE se confirm. Circuitele latch corespunztoare locaiei de memorie selectate se deschid, iar cuvntul de la intrare se stocheaz acolo. 1.3.2 Structura intern a RAM statice Fiecare bit de memorie (sau celul de SRAM) dintr-o RAM static are comportarea funcional a circuitului din figura 8-10. Dispozitivul de stocare din fiecare celul este un circuit latch de tip D. Cnd intrarea SELL a unei celule este confirmat, data stocat se transmite la ieirea celulei, care este conectat la o linie de bit. Cnd att SEL_L, ct i WR_L sunt confirmate, circuitul latch este deschis, stocnd un nou bit de date.
\ Figura 0-10 Comportarea funcional a unei RAM static
Figura 0-11 Structura intern a unei SRAM 8x4 Celulele de SRAM sunt interconectate, ntr-o matrice, cu o schem suplimentar de comenzi, formnd o RAM static integral, ca aceea din figura 8-11, n cazul unei SRAM 8x4. Ca i
la o ROM simpl, un decodor conectat la liniile de adrese selecteaz din RAM rndul accesibil la un moment dat. Dei figura 8-11 prezint un model ntructva simplificat de structur intern de SRAM, cteva aspecte importante ale comportrii SRAM sunt puse n eviden cu mult exactitate:
n timpul operaiilor de citire, datele de ieire sunt funcie combinaional de intrrile de adrese, ca i
la ROM. Schimbarea liniilor de adrese n timp ce magistrala de date de ieire este activat nu produce disfuncii. Pentru timpul de acces pentru operaiile de citire se ia ca referin momentul n care ultima intrare de adrese a devenit stabile.
n timpul operaiilor de scriere, datele de intrare sunt stocate n circuitele latch. Aceasta nseamn c datele trebuie s se conformeze timpilor de pregtire i
meninere, lundu-se ca referin frontul urmtor al semnalului de activare a circuitelor latch. Cu alte cuvinte, nu este necesar ca datele de la intrarea D a unui circuit latch s fie stabile n momentul n care WR_L se confirm intern; ele trebuie s fie stabile numai cu un anumit timp nainte ca WR_L s fie negat.
n timpul operaiilor de scriere, intrrile de adrese trebuie s fie stabile cu un anumit timp de pregtire nainte ca WR_L s fie confirmat intern i
nc un anumit timp de meninere dup negarea semnalului WR_L.
WR_L se confirm intern numai cnd att CS_L, ct i
WE_L
sunt confirmate. Prin urmare, un ciclu de scriere ncepe atunci cnd att CS_L, ct i
WE_L sunt confirmate i se ncheie cnd oricare dintre acestea se neag. Valorile timpilor de pregtire i meninere corespunztori adreselor i
datelor sunt precizate lundu-se ca referin aceste evenimente. 1.3.3 Parametrii temporali la RAM statice n cazul memoriilor RAM statice sunt precizate dou categorii de parametrii temporali: pentru scriere i pentru citire. n continuare sunt prezentai parametrii temporali ale cror valori se precizeaz, n mod obinuit, pentru operaiile de citire dintr-o RAM static:
Timpul de acces de la adrese (t AA ). n ipoteza c OE i
CS sunt deja confirmate sau vor fi confirmate dup un timp suficient de scurt pentru a fi neglijabil, acest parametru arat ct timp este necesar pentru ca datele de ieire s devin stabile dup o modificare de adres. Cnd proiectanii vorbesc despre o SRAM de 70 ns, de obicei se refer la parametrul n discuie.
Timpul de acces de la selectarea cipului (t ACS ). n ipoteza c adresa i OE sunt deja stabile sau vor fi stabile dup un timp suficient de scurt pentru a fi neglijabil, acest parametru arat ct timp este necesar pentru ca datele de ieire s devin stabile dup o confirmare a semnalului CS. Adesea, are valoare egal cu t AA ,
ns uneori este mai mare, la SRAM prevzute cu mod de ntrerupere a alimentrii, i
mai mic la SRAM la care nu este prevzut acest mod de funcionare.
Timpul de activare a ieirilor (t OE ). Este timpul necesar circuitelor tampon de ieire cu trei stri pentru a iei din starea de impedan mare atunci cnd att OE, ct i CS sunt confirmate. Valoarea parametrului este, n mod normal mai mic dect t ACS ,
deci RAM poate avea acces intern la date nainte de confirmarea semnalului OE; caracteristica descris se folosete la realizarea unor timpi de acces mici, evitndu-se totodat, conflictele de magistral n multe aplicaii.
Timpul de dezactivare a ieirilor(t OZ ). Este timpul necesar circuitelor tampon de ieire cu trei stri pentru a intra n starea de nalt impedan dup negarea unuia dintre semnalele OE_L i CS_L.
Timpul de meninere a ieirilor (t OH ). Acest parametru precizeaz ct timp rmn valide datele de ieire dup o modificare a intrrilor de adrese.
Diagrama temporal i
parametrii temporali caracteristici operaiilor de citire din SRAM sunt identici cu cei prezentai la operaiile de citire din ROM.
n ceea ce privete parametrii temporali afereni operaiilor de scriere acetia sunt descrii n continuare:
Timpul de pregtire a adreselor nainte de scriere (t AS ). Toate intrrile de adrese trebuie s fie stabile cu acest interval de timp nainte ca att CS, ct i
WE s fie confirmate. n caz contrar, datele stocate n locaii imprevizibile pot fi alterate.
Timpul de meninere a adreselor dup scriere (t AH ). Analog cu t AS , toate intrrile de adrese trebuie meninute stabile acest interval de timp dup negarea unuia dintre semnalele CS sau WE.
Timpul de pregtire pentru selectarea cipului nainte de ncheierea operaiei de scriere (t CSW ). CS trebuie confirmat cel puin cu acest interval de timp nainte de ncheierea ciclului de scriere, pentru a se putea select o celul.
Limea impulsurilor de scriere(t WP ). WE trebuie confirmat cel puin acest interval de timp pentru ca memorarea datelor n circuitele latch din celulele selectate s fie fiabil.
Timpul de pregtire a datelor nainte de ncheierea operaiei de scriere (t DS ). Toate intrrile de date trebuie s fie stabile cu acest interval de timp nainte de ncheierea ciclului de scriere. n caz contrar, este posibil ca datele s nu fie memorate n circuitele latch.
Timpul de meninere a datelor dup ncheierea operaiei de scriere (t DH ). Analog cu t DS , toate intrrile de adrese trebuie meninute stabile acest interval de timp dup ncheierea ciclului de scriere.
Fabricanii de SRAM precizeaz c exist dou tipuri de ciclu de scriere: scriere comandat prin WE i
scriere comandat prin CS. Singura diferen dintre ele const n succesiunea semnalelor - care dintre WE i CS este ultimul confirmat i
primul negat la activarea operaiei interne de scriere n SRAM. 1.4 RAM dinamice Celula de memorie de baz din SRAM este un circuit latch de tip D care cuprinde patru pori n schema cu componente discrete i patru pn la ase tranzistoare ntr-un cip LSI de SRAM, proiectat la comand. Pentru construirea unor RAM cu densitate mai mare (cu mai muli bii pe cip), proiectanii de cipuri au inventat celule de memorie ce necesit doar cte un tranzistor pentru fiecare bit. 1.4.1 Structura de RAM dinamic Cu un singur tranzistor nu se poate construi un element bistabil. De aceea, celulele de memorie dintr-o RAM dinamic (DRAM) stocheaz informaia ntr- un condensator minuscul, la care se ajunge printr-un tranzistor MOS. Figura 8- 12 prezint celula de stocare a unui bit dintr-o DRAM, la care accesul este dat de conectarea liniei de cuvnt la o tensiune HIGH.
Figura 0-12 Celul de stocare a unui bit n DRAM Pentru stocarea unui 1, la linia de bit se conecteaz o tensiune HIGH, de la care condensatorul se ncarc prin tranzistorul deschis. Pentru stocarea unui 0, condensatorul se descarc datorit tensiunii LOW de pe linia de bit. Pentru a citi o celul din DRAM, linia de bit se prencarc nti la o valoare de tensiune situat la jumtatea intervalului dintre HIGH i LOW, iar apoi linia de cuvnt trece n HIGH. n funcie de tensiunea de pe condensator - HIGH sau LOW, se aduce linia de bit rencrcat la o tensiune puin mai mare sau puin mai mic. Un amplificator de detecie sesizeaz aceast modificare i reface un 1 sau un 0, dup caz. Reinei c prin citirea unei celule se distruge tensiunea iniial stocat n condensator, deci datele recuperate trebuie rescrise n celul dup citire. Condensatorul dintr-o celul de DRAM are o capacitate foarte mic, dar tranzistorul MOS prin care se face accesul are o impedan foarte mare. De aceea, timpul necesar pentru descrcarea de la o tensiune HIGH la una apropiat de LOW este relativ lung (mai multe milisecunde). n tot acest timp, condensatorul stocheaz un bit de informaie. Bineneles c nu ar fi prea plcut s reporneti un calculator o dat la cteva milisecunde, din cauz c i dispare coninutul memoriei. Ca urmare, sistemele de memorii DRAM utilizeaz cicluri de mprosptare pentru actualizarea periodic a tuturor celulelor de memorie. Aceasta presupune citirea secvenial a coninutului uor alterat al fiecrei celule prin preluarea lui ntr-un circuit latch de tip D, urmat de rescrierea unei valori clar delimitate - HIGH sau LOW, preluat din acel circuit. n figura 8-13 observai schema bloc a structurii interne a unei DRAM 64Kx1. Matricea logic are 64Kx1 bii, dar cea fizic este ptrat, coninnd 256x256 de bii. Dei memoria cuprinde 64K locaii, cipul prezint numai opt intrri de adrese multiplexate. 0 adres complet, de 16 bii, se aplic cipului n dou trepte, comandate de dou semnale: RAS_L (row address strobe - semnal intermitent de adrese de rnd) i CAS_L (column address strobe - semnal intermitent de adrese de coloan). Prin multiplexarea semnalelor de intrare pentru adrese se economisesc pini, aspect important n cazul sistemelor de memorii compacte, i se asigur compatibilitatea oarecum natural cu metodele de acces la DRAM, ce comport dou etape i pe care le vom prezenta pe scurt.
Figura 0-13 Structura intern a unei DRAM 64Kx1 DRAM de capaciti mai mari conin matrice de dimensiuni mai mari i, uneori, mai multe matrice. Unul dintre avantajele folosirii mai multor matrice este simplificarea problemelor de proiectare electric i fizic ce pot aprea n cazul unei matrice foarte mari. Dar i mai important este paralelismul ce poate aprea cnd se utilizeaz mai multe matrice. Aa cum vom vedea n subseciunea urmtoare, funcionarea unei DRAM este mult mai complicat dect cea a unei SRAM. Valorificnd existena mai multor matrice n DRAM de mare capacitate i
de mare vitez, un circuit de comand pentru DRAM moderne poate efectua n paralel cteva operaii; de pild, se poate ncheia o operaie de scriere ntr-una dintre matrice n timp ce se iniiaz o operaie de citire n alt matrice. n acest mod se mrete cantitatea de informaii utile prelucrate de memorie. 1.4.2 Caracteristicile temporale ale RAM dinamice Pentru diversele tipuri de DRAM i
modurile lor de funcionare exist mai multe variante de caracteristici temporale. n seciunea de fa vom descrie ciclurile cele mai utilizate la DRAM convenionale i
le vom analiza pe baza structurii interne a dispozitivelor. Aspectul cel mai ocant n ceea ce privete caracteristicile temporale ale DRAM este faptul c nu se folosete un semnal de tact. n lipsa acestuia, operaiile din DRAM se iniiaz i
se desfoar pe ambele fronturi - ascendent i
descendent - ale semnalelor RAS_L i CAS_L. ntr-adevr, temporizarea este destul de dificil, dar acest mod de lucru se menine de peste 30 de ani! n figura 8-15 apar caracteristicile temporale pentru un ciclu de mprosptare comandat numai de semnalul RAS. Ciclul prezentat este utilizat pentru mprosptarea unui rnd de memorie, fr a se citi sau scrie propriu-zis, nici un fel de date la pinii exteriori ai cipului de DRAM. Ciclul ncepe prin aplicarea unei adrese de rnd la intrrile de adrese multiplexate (opt bii, n cazul unei DRAM 64Kx1), iar RAS_L este confirmat. DRAM stocheaz adresa rndului ntr-un registru de adrese de rnd, pe frontul descendent al semnalului RAS_L, i citete rndul selectat din matricea de memorie, nscriindu-i coninutul ntr-un circuit latch de rnd, situat pe acelai cip. Cnd RAS_L este negat, coninutul rndului se scrie din nou, fiind preluat din circuitul latch. Pentru a mprospta o ntreag DRAM 64Kx1, proiectantul sistemului trebuie s verifice dac 256 de astfel de cicluri, n care se utilizeaz toate cele 256 de adrese de rnd posibile, se pot executa o dat la patru milisecunde. Pentru generarea adreselor de rnd se poate folosi un numrtor extern de 8 bii, iar pentru iniierea unui ciclu de mprosptare o dat la 15,6 s se folosete un circuit de temporizare.
Figura 0-14 Caracteristici temporale pentru ciclul de mprosptare a unei DRAM prevzute numai cu semnal RAS Un ciclu de citire, ca acela din figura 8-16, ncepe asemntor unui ciclu de mprosptare, un rnd selectat fiind citit prin preluarea n circuitul latch de rnd. Apoi se aplic o adres de coloan la intrrile de adrese multiplexate, aceasta fiind stocat, pe frontul descendent al semnalului CAS_L, ntr-un registru de adrese de coloan situat pe acelai cip. Adresa de coloan servete la selectarea unui bit din rndul citit anterior, bit ce se regsete la pinul DOUT al DRAM. Fiind un pin cu trei stri, DOUT este activat ca ieire atta timp ct CAS_L
este confirmat. n acest interval de timp, ntregul rnd se scrie din nou n matrice, imediat ce RAS_L este negat.
Figura 0-15 Caracteristici temporale pentru un ciclu de citire din DRAM Un ciclu de scriere, ca acela din figura 8-16, ncepe la fel ca un ciclu de citire sau de mprosptare. Dar, n cazul de fa, semnalul WE_L (write enable - activarea scrierii) trebuie confirmat nainte de confirmarea semnalului CAS_L, pentru a se selecta un ciclu de scriere. n acest mod se realizeaz i
dezactivarea pinului DOUT pentru tot restul ciclului, chiar dac semnalul CAS_L va mai fi confirmat ulterior. Dup ce rndul selectat este citit, prin preluarea coninutului su n circuitul latch de rnd, WE_ - L
impune adugarea la coninutul circuitului latch de rnd, n poziia bitului selectat prin adresa de coloan, a bitului de intrare de la pinul DIN. Cnd rndul este rescris ulterior n matrice, pe frontul ascendent al semnalului RAS_L, el conine noua valoare n coloana selectat.
Figura 0-16 Caracteristici temporale pentru un ciclu de citire din DRAM