RAM dinamică sincronă. Electronică digitală

Într-un microcomputer obișnuit, creșterea capacității de memorie nu este dificilă, trebuie doar să decideți câți megaocteți să adăugați și ce furnizor să contactați. Mai mult efort mental trebuie depus atunci când se dezvoltă un dispozitiv cu controlat de microprocesor, unde alocarea memoriei este un element de proiectare și în care blocurile de diferite tipuri de dispozitive de stocare sunt utilizate împreună - ROM nevolatil pentru stocarea programelor și RAM volatilă pentru stocarea temporară a datelor și stivelor și, de asemenea, ca spațiu de lucru al programului.

(Vezi originalul)

Orez. 11.29. DAC-uri dual-canal pe 12 biți (cu ajutorul Analog Devices), un cip - 7537 cu lățime de încărcare de 1 octet; b - cip 7547 cu o lățime de încărcare de 12 biți.

ROM-urile nevolatile cu programe prin cablu sunt utilizate pe scară largă în dispozitivele cu microprocesor pentru a elimina necesitatea de a încărca un program de fiecare dată când dispozitivul este pornit. În această secțiune ne vom uita la diferite tipuri de memorie: RAM statică și dinamică (memorie cu acces aleatoriu), RPROM (memorie reprogramabilă doar în citire), EPROM (memorie reprogramabilă doar în citire, șters electric). Odată ce le înțelegi puțin, alegerea nu va fi dificilă. Vă puteți referi imediat la Fig. 11.35, unde am reunit tipurile de dispozitive de stocare.

RAM statică și dinamică.

În RAM statică, biții sunt stocați în matrice flip-flop, în timp ce în RAM dinamică, biții sunt stocați în condensatoare încărcate. Un pic scris pe SRAM rămâne acolo până când este suprascris sau sursa de alimentare este oprită. În memoria RAM dinamică, datele, dacă nu sunt „regenerate”, vor dispărea în mai puțin de o secundă. Cu alte cuvinte, DRAM uită constant de date și, pentru a le stoca, trebuie să interogheze periodic „rândurile” matricei bidimensionale de biți din cipul de memorie. De exemplu, într-o memorie RAM de 256 kbit, fiecare dintre cele 256 de rânduri trebuie accesat la fiecare 4 ms.

Poate vă întrebați, cine s-ar gândi să aleagă RAM dinamică? Faptul este că, fără declanșatoare, RAM dinamică ocupă mai puțin spațiu, rezultând că un cip de capacitate mai mare este mai ieftin. De exemplu, memoria RAM statică populară de astăzi cu o capacitate de 1 kbit) costă aproximativ 10 USD, de două ori prețul actual al memoriei RAM dinamice cu o capacitate de 1 Mbit. Ca rezultat, folosind RAM dinamică, vei avea de 4 ori mai multă memorie la jumătate din cost.

Acum, probabil vă întrebați, cine are nevoie de RAM static (ceva vă aruncă dintr-o parte în alta)? Principalul avantaj al memoriei RAM statice este simplitatea sa. Nu este nevoie de cicluri de regenerare, nu este nevoie să vă faceți griji cu privire la sincronizarea acestora (ciclurile de regenerare concurează cu ciclurile obișnuite de acces la memorie și, prin urmare, trebuie să fie strict sincronizate). În sistemele simple cu un număr limitat de cipuri de memorie, este firesc să folosiți RAM statică. În plus, majoritatea RAM-urilor statice actuale utilizează tehnologia CMOS, care este esențială pentru dispozitivele alimentate cu baterie. Apropo, RAM CMOS statică, care comută automat la alimentarea bateriei atunci când cea principală este oprită (folosind un cip de gestionare a energiei de tip), este o alternativă bună la ROM ca memorie non volatila. Un alt avantaj al RAM statică este performanța sa ridicată (se produc cipuri cu un timp caracteristic de 25 sau mai puțin), precum și un aspect convenabil în secțiuni de 8 biți. Să ne uităm la ambele tipuri de RAM mai detaliat.

RAM statică. Am întâlnit deja RAM statică în designul microprocesorului nostru, unde o astfel de capacitate RAM a fost folosită pentru a găzdui date, stiva și zona de lucru (programul a fost înregistrat în RPOM). Organizarea schimbului de date cu RAM statică este la fel de ușoară ca decojirea perelor: în ciclul de citire setați adresa, selectarea cipului (CS) și semnalele de activare a ieșirii (OE); datele solicitate apar pe liniile de date tristabile după un maxim (timp de acces la adresa). Într-un ciclu de scriere, configurați adresa, datele și semnalele CS și apoi (după timpul de trecere al adresei) impulsul de activare a scriere (WE); datele valide sunt înregistrate la sfârșitul pulsului WE. Limitele de timp actuale pentru 120 nu RAM statică prezentat în Fig. 11.30, din care reiese clar că „performanța” memoriei este timpul de la setarea unei adrese de încredere până la date fiabile (la citire) sau până la finalizarea ciclului de scriere (la scriere).

Orez. 11.30. Sincronizare RAM statică de 120 ns. a - ciclu de citire, b - ciclu de scriere.

Pentru RAM statică, intervalul de timp dintre accesările succesive la memorie („durata ciclului”) este egal cu timpul de acces; pentru RAM dinamică, așa cum va fi arătat mai jos, acesta nu este cazul.

Cipurile RAM statice pot avea o capacitate de la 1 Kbit (sau mai puțin) la 1 Mbit, cu o lățime de 1, 4 sau 8 biți. Performanța (timpul de acces) variază de la 150 la 10 sau cam asa ceva. În prezent, RAM statică CMOS cu costuri reduse, cu un timp de acces de 80 ns, este utilizată pe scară largă, precum și o capacitate mai mică, dar RAM CMOS non-statică mai rapidă pentru memoria cache. Opțiunile pentru microcircuite pot avea pini separați pentru intrări și ieșiri, două porturi de acces și unul sau altul design extern (de exemplu, un pachet cu un singur rând).

Acest lucru poate fi semnificativ, dar rețineți că nu trebuie să vă faceți griji că liniile de date ale procesorului sunt conectate la aceiași pini ai cipul de memorie - la urma urmei, indiferent de ordinea conexiunii, atunci când citiți, veți obține întotdeauna același lucru ai scris! Această observație este valabilă și pentru adrese. Cu toate acestea, nu încercați să faceți acest lucru cu un ROM.

Exercițiul 11.18. Și de ce?

RAM dinamică. În comparație cu RAM statică, RAM dinamică este o durere totală în fund. În fig. Figura 11.31 prezintă un ciclu normal. Adresa (conținând, de exemplu, 20 de biți pentru 1 MB RAM) este împărțită în două grupuri și multiplexată în jumătate din numărul de pini, mai întâi „adresa rândului”, controlată de semnalul Address Strobe) și apoi „adresa coloanei”. ”, semnal închis CAS (Column Address - coloană adresa stroboscopică). Datele sunt scrise (sau citite în funcție de starea intrării direcției) după setarea CAS. Înainte de a începe următorul ciclu de memorie, trebuie să treacă un anumit timp de „stare RAS”, astfel încât durata ciclului este mai mare decât timpul de acces; de exemplu, DRAM poate avea un timp de acces de 100 ns și un timp de ciclu de 200 ns. Ciclul de regenerare arată la fel, dar fără semnalul CAS. De fapt, accesările obișnuite la memorie sunt excelente la regenerarea memoriei, atâta timp cât poți garanta accesul la toate adrese posibile linii!

RAM dinamică, ca și RAM statică, este disponibilă în lățimi de date de 1, 4 și 8 biți, capacități de la 64 Kbit la 4 Mbit și viteze de aproximativ 70 până la 150 ns. Cele mai populare sunt cipurile mari -bit, ceea ce este de înțeles: dacă aveți nevoie de o matrice de memorie mare, să zicem 4 MB în dimensiune și 16 biți lățime și aveți 1 Mbit RAM cu organizare, este logic să folosiți cipuri -bit deoarece (un ) fiecare linie de date va fi conectată doar la două cipuri (în loc de 16), ceea ce va reduce semnificativ sarcina capacitivă și (b) aceste cipuri ocupă mai puțin spațiu, deoarece mai puțini pini de date compensează mai mult decât pinii de adresă suplimentari.

Orez. 11.31. Cicluri de citire și scriere ale memoriei RAM dinamice (Motorola, 120 ns).

În plus, cipurile -bit sunt în general mai ieftine. Raționamentul de mai sus este valabil dacă construiți mare amintire, și nu se aplică, de exemplu, la microprocesorul nostru simplu de memorie.

Există o serie de moduri de a genera secvența de adrese multiplexate și RAS, C AS și semnale necesare pentru a controla RAM dinamică. Deoarece această memorie RAM este întotdeauna conectată la coloana vertebrală a microprocesorului, începeți să lucrați cu ea detectând un semnal (sau echivalent) care indică faptul că este instalat. adresa corecta din spațiul RAM dinamic (după cum demonstrează liniile de adrese înalte). Metoda tradițională este de a utiliza componente discrete moderat integrate pentru multiplexarea adresei (multiplexoare de intrare cu mai multe canale) și generarea de semnale de control RAS, CAS și multiplexor.

Secvența necesară este creată folosind un registru de deplasare tactat la un multiplu al frecvenței de ceas al microprocesorului sau, mai bine, folosind o linie de întârziere conectată. Pentru a organiza cicluri periodice de regenerare (numai RAS), veți avea nevoie de mai multe circuite logice și de un contor care numără adresele de rând secvențiale. Toate acestea vor necesita aproximativ 10 clădiri.

O modalitate atractivă, o alternativă la circuitele de control RAM dinamice „discrete”, este utilizarea PLM, iar unul sau două microcircuite sunt suficiente pentru a genera toate semnalele necesare. Este și mai ușor să luați un cip special de „suport RAM dinamic”, de exemplu. Acest tip de microcircuit are grijă nu numai de multiplexarea adresei și de formarea semnalelor RAS/CAS, ci și de arbitrajul de regenerare împreună cu formarea adreselor de rând; de fapt, ele includ chiar drivere puternice și rezistențe snubber care sunt necesare pentru a conduce matrice mari de cipuri de memorie, așa cum va fi explicat mai jos. Astfel de controlere RAM dinamice sunt de obicei însoțite de cipuri suplimentare pentru sincronizare, precum și pentru detectarea și corectarea erorilor; Ca rezultat, un chipset mic rezolvă complet problema încorporării DRAM-ului în designul dumneavoastră.

Totuși, aproape complet! Principala problemă cu RAM-urile dinamice începe atunci când încercați să vă eliberați de interferențele pe toate acele linii de trunchi de poartă și adrese. Esența problemei este că câteva zeci de pachete de circuite MOS ajung să fie împrăștiate pe o zonă mare a plăcii de bază, iar magistralele de control și adrese sunt potrivite pentru toate pachetele. Pentru a conecta câteva zeci de microcircuite la ele, sunt necesare etaje de ieșire Schottky puternice; cu toate acestea, lungimile lungi ale liniei și capacitatea de intrare distribuită, combinate cu marginile abrupte ale etajelor de ieșire, duc la apariția unui „sunet” de amplitudine mare. Puteți vedea adesea supratensiuni negative de până la -2 V pe liniile de adresă RAM! Un remediu tipic (nu întotdeauna complet de succes) este să includeți rezistențe de amortizare în serie cu o rezistență de aproximativ 33 ohmi la ieșirea fiecărui driver. O altă problemă o reprezintă curenții tranzitori uriași, atingând adesea valori pe linie. Imaginați-vă un chip driver de bit în care majoritatea ieșirilor comută aleatoriu într-o direcție, de exemplu, de la mare la scăzut. Acest lucru are ca rezultat un curent tranzitoriu de aproximativ 1 A, care crește temporar potențialul terminalului neutru și, odată cu acesta, toate ieșirile care ar fi trebuit să fie scăzute. Problema remarcată nu este în niciun caz de natură academică - am observat odată defecțiuni în funcționarea memoriei tocmai din cauza unor astfel de curenți tranzitori la terminalul zero, formați din cauza supratensiunilor curenților driverului. În același timp, interferența care trece prin driverele aceluiași microcircuit s-a dovedit a fi suficientă pentru a finaliza ciclul de memorie!

O sursă suplimentară de interferență în RAM dinamică sunt curenții tranzitori mari generați de microcircuite în ansamblu, iar cei mai sinceri dezvoltatori chiar includ informații despre acest fenomen în materialele lor tehnice (Fig. 11.32). Prin mijloace obișnuite Soluția constă în instalarea de condensatoare shunt conectate la linia zero cu inductanță scăzută; Se consideră rezonabil să ocoliți fiecare cip cu un condensator ceramic cu o capacitate de .

Am descoperit că driverele logice cu rezistențe externe funcționează bine cu DRAM, la fel ca driverele dedicate, cum ar fi , care includ rezistențe snubber integrale. Controlerul RAM dinamic menționat mai sus, potrivit dezvoltatorilor, poate deservi până la 88 de cipuri de memorie fără componente externe, producând în același timp emisii negative de cel mult -0,5 V.

Orez. 11.32. Curenți tranzitori ai memoriei RAM dinamice.

Chiar mai importantă decât alegerea unui driver specific este utilizarea liniilor neutre cu inductanță scăzută și manevrarea frecventă. Plăcile cu două fețe cu linii înguste de sol vor duce inevitabil la probleme; Placile cu sârmă de ambalare nu sunt, de obicei, cu mult mai bune.

Este important să înțelegeți că defecțiunile de memorie din cauza interferențelor pot depinde în mare măsură de distribuția de biți a datelor transferate și nu apar întotdeauna în testele simple de memorie de citire/scriere. Cel mai bun mod de a oferi funcționare fiabilă memoria este un design conservator și testare exhaustivă a memoriei (cu examinarea formei de undă oscilografică).

Dispozitive de stocare numai pentru citire (ROM).

ROM-urile se referă la memorie care este indestructibilă atunci când alimentarea este oprită (nevolatilă), iar nevoia lor apare în aproape orice sistem informatic. De exemplu, în microcalculatoare este necesar să existe cel puțin un ROM mic pentru a stoca o secvență de instrucțiuni bootstrap, care include nu numai alocarea stivei și linii de inițializare de porturi și întreruperi, ci și comenzi pentru a citi sistemul de operare de pe disc. Când computerul personal execută un test de memorie și apoi încarcă DOS, acesta execută comenzile unor ROM. În plus, este tipic ca un microcomputer să stocheze o parte a sistemului de operare în ROM (de obicei cele mai dependente de module hardware); această parte se numește " sistem de bază intrare/ieșire” (sistem I/O de bază, BIOS) și oferă un mecanism standard pentru ca sistemul de operare să acceseze anumite porturi. ROM-urile sunt utilizate pe scară largă pentru a stoca diverse tabele, cum ar fi generatorul de caractere, afișate pe ecranul de afișare. În cazul limitativ, toate sistem de operare, inclusiv compilatoare și programe de grafică, pot fi localizate în ROM. De exemplu, în microcomputerul Macintosh, o mare parte din software-ul de sistem este stocat în ROM și aproape toți cei 256 KB de RAM sunt disponibile utilizatorului. Cu toate acestea, această abordare „bazată pe ROM” este folosită relativ rar în microcalculatoare datorită inflexibilității sale; Rețineți, totuși, că remedierea erorilor și îmbunătățirile ușoare ale software-ului pot fi făcute prin corecții bazate pe RAM.

În dispozitivele cu control cu ​​microprocesor, ROM-urile sunt utilizate mai pe scară largă. ROM stochează întregul program autonom, iar RAM volatilă este folosită doar pentru stocarea matricelor și a datelor temporare. Este exact ceea ce s-a făcut în mediatorul nostru de semnal. ROM-urile sunt adesea utile în instrumentația digitală discretă, de exemplu pentru construirea de mașini cu stări arbitrare sau ca stocare a tabelelor de corecție pentru liniarizarea funcției de răspuns a unui sistem de măsurare. Să luăm în considerare pe scurt diferite tipuri de memorie nevolatilă: ROM programată cu mască, precum și EPROM șters electric.

RPOM. Memoriile sterse programabile doar pentru citire sunt realizate sub forma unor cipuri mari cu o fereastră de cuarț. Acesta este, fără îndoială, cel mai popular tip de memorie nevolatilă pentru computere. EPROM-urile folosesc tehnologia CMOS și MOS și constau din rețele mari de FET-uri și MOSFET-uri flotante care pot fi încărcate folosind procesul de „avalanșă” de defalcare a stratului izolator al porții atunci când sunt aplicate tensiuni mai mari de 20 V. Datele sunt stocate în EPROM pe termen nelimitat sub forma unei mici încărcături (aproximativ 106 electroni) de porți izolate „îngropate”, care pot fi considerate condensatoare cu o constantă de timp de ordinul secolelor. Pentru a citi starea unui condensator individual, acesta trebuie să acționeze ca poarta canalului MOSFET. Deoarece obturatorul este inaccesibil electric, încărcarea poate fi ștearsă doar prin iradierea microcircuitului cu un flux intens de raze ultraviolete timp de 10-30 de minute, determinând scurgerea încărcăturii stocate din cauza fenomenului de fotoconductivitate. Ca rezultat, octeții individuali ai EEPROM nu pot fi șterși selectiv.

În prima ediție a acestei cărți, am menționat cipul „clasic” 2716, un ROM care a costat 25 de dolari. Acum a devenit atât de clasic încât nu îl mai poți obține nicăieri! ROM-urile tipice din timpul nostru au o capacitate de până la și un preț de câțiva dolari. Timpii de acces sunt de obicei de 150-300 ns, deși companii precum Cypress oferă ROM-uri de capacitate mică, cu viteze de 25 ns. Pentru a programa o EPROM, trebuie pur și simplu să-i aplicați o tensiune crescută (de obicei 12,5 sau 21 V), setând în același timp valorile de octet necesare. Algoritmii originali necesitau ca fiecare octet să fie programat (ceea ce oferă 100 de secunde pentru cip 2716, dar pentru un EEPROM de dimensiuni moderate se transformă într-o jumătate de oră). Lansarea de ROM-uri mari a cerut dezvoltatorilor să inventeze algoritmi mai avansați în care fiecare octet este programat cu o secvență de impulsuri de durată, iar după fiecare scriere se încearcă citirea; Când octetul este citit corect, se efectuează o scriere finală care este egală ca durată cu de trei ori suma tuturor celor anterioare. Majoritatea octeților sunt programați cu primul impuls, ca urmare, aproximativ , și 2 minute sunt petrecute pe toate ROM-urile.

EPROM-urile sunt foarte convenabile atunci când se dezvoltă prototipuri, deoarece după ștergere pot fi reutilizate. Ele sunt, de asemenea, utilizate la producerea unor loturi mici de dispozitive. Versiuni mai ieftine ale EPROM-urilor fără fereastră de cuarț sunt disponibile comercial, uneori numite „EPROM-uri programabile unice”. Deși aceste cipuri nu ar trebui să fie numite EEPROM, inginerii nu doresc să schimbe numele obișnuit. Producătorii conservatori de EPROM garantează că informațiile vor fi stocate în ele doar 10 ani. Această valoare presupune condițiile cele mai defavorabile (în special, temperatură ridicată, care duce la scurgeri de încărcare); de fapt, RPOM-urile nu par să piardă date decât dacă primiți un lot defect.

Este tipic pentru RPZU număr limitat cicluri de reprogramare, adică ștergerea și reprogramarea. Producătorii sunt reticenți în a da acest număr, deși puteți presupune că cipul se va degrada vizibil după doar 100 de cicluri de ștergere/program.

Orez. 11.33. Microcontroler cu EEPROM. a - microcontroler pe 8 biți cu contacte pentru instalarea ROM; b - microcontroler pe 8 biți cu ROM încorporat.

ROM-urile masca și ROM-urile jumper fuzionate. ROM-urile programabile cu masca sunt o categorie de cipuri personalizate care se nasc cu aspectul de biți pe care îl specificați. Producătorul vă convertește specificația biților într-o mască de metalizare, care este apoi utilizată la fabricarea ROM-ului. Această procedură este bună pentru loturi mari de microcircuite și sperăm că nu vă va trece prin cap să comandați ROM cu programare de mască pentru un prototip. Costurile tipice variază între 1.000 USD și 3.000 USD pe ciclu de producție, iar firmele sunt reticente în a accepta comenzi pentru cantități de ROM mai mici de o mie de unități. Cu astfel de cantități, cipul poate costa câțiva dolari.

Multe microcontrolere cu un singur cip conțin mai mulți kiloocteți de ROM și RAM în același pachet, astfel încât dispozitivul complet se poate descurca fără cipuri de memorie suplimentare. În cele mai multe cazuri, familia de microcontrolere include opțiuni care necesită ROM extern și uneori opțiuni cu EPROM încorporat (Fig. 11.33). Acest lucru face posibilă, atunci când dezvoltați un dispozitiv, să utilizați o opțiune cu RPOM (sau ROM extern), în care puteți scrie un program, iar atunci când pregătiți un lot de dispozitive, să apelați la controlere mai ieftine cu programare de mască.

Un alt tip de ROM programabil unic este ROM-ul jumper fuzionat. Când este eliberat, toți biții sunt setați, iar pentru a reseta biții necesari, ROM-ul trebuie expus la un curent electric. Un exemplu tipic este cipul Harris, CMOS PROM (memorie programabilă doar pentru citire) cu jumper fuzionat PROM-urile sunt de asemenea disponibile pe baza tehnologiei bipolare (TTL).

ERPZU. ROM-urile programabile șterse electric pot fi șterse selectiv și reprogramate electric chiar în același circuit în care sunt folosite ca memorie. Aceste tipuri de ROM-uri sunt ideale pentru stocarea constantelor de configurare, a parametrilor de calibrare și a altor informații care nu pot fi scrise în ROM înainte de a porni computerul. EPROM-urile, ca și EPROM-urile, folosesc tehnologia MOS cu poartă flotantă.

Primele EPROM-uri necesitau tensiuni mai mari și o procedură de programare lungă. Circuitele integrate moderne folosesc o singură tensiune de alimentare și funcționează aproape în același mod ca SRAM - cu alte cuvinte, puteți reprograma orice octet cu un singur ciclu de scriere pe coloana vertebrală. Cipul EEPROM are circuite interne pentru a genera o tensiune de programare crescută, iar logica internă captează datele și generează o secvență de programare care durează câteva milisecunde, în care steag-ul BUSY este setat pe durata procesului sau datele inversate sunt generate în ciclul de citire pentru arată că procesul de scriere este în curs. Unele EPROM-uri implementează ambele protocoale, numite de obicei .

Interfața cu aceste ROM-uri este simplă - conectați-le în același mod ca RAM-ul obișnuit și utilizați linia BUSY pentru a genera întreruperi (sau citiți starea BUSY sau a datelor și utilizați-o ca flag de stare) (vezi Fig. 11.34).

Orez. 11.34. ERPZU.

Protocolul de interogare este convenabil prin faptul că EPROM-ul poate fi introdus într-un slot RAM standard fără nicio modificare a circuitului (desigur, programele dvs. vor trebui să includă linii pentru analizarea datelor citite înapoi și așteptarea ca acestea să se potrivească cu ceea ce scrieți). Deoarece scrierea pe EEPROM este efectuată relativ rar, nu este de fapt nevoie de întreruperi pe linia RDY/BUSY.

EPROM-urile CMOS sunt disponibile sub formă de microcircuite cu o capacitate care costă aproximativ 10-50 USD. Timpul de acces (200-300 de secunde) și timpul de programare atunci când se utilizează o îmbunătățire a algoritmului intern) sunt comparabile cu cele ale unui EPROM standard. EPROM, precum RPZU, permite un număr limitat de cicluri de citire-scriere. Deși producătorii evită să ofere numere specifice, puteți găsi referințe la 100.000 de cicluri de citire-scriere la .

Cometariu. Deși EPROM-urile sunt unice prin faptul că pot fi reprogramate în circuitul de operare, ele pot fi și programate separat de locul de utilizare, într-un programator EPROM. Acest lucru le face foarte convenabile pentru dezvoltarea de software încorporat, deoarece nu trebuie să așteptați o jumătate de oră pentru ca EPROM-ul să program vechi prăjite sub iradiere ultravioletă.

Există două opțiuni interesante pentru ERPZU. Companiile National, Xicor și altele produc cipuri EPROM mici cu 8 pini. Capacitatea acestor circuite poate varia de la la biți; acestea operează în modul de acces serial și sunt echipate cu o intrare de ceas și o singură linie de date. Aceste cipuri sunt greu de utilizat fără un microprocesor; cu toate acestea, în dispozitivele controlate de microprocesor, acestea sunt foarte convenabile pentru stocare cantitate mică setări etc. Aceeași companie, Xicor, produce un „potențiometru șters electric”, o aplicație ingenioasă a memoriei șters electric care stochează poziția unui „contact digital”. În acest microcircuit este încorporat un lanț de 99 de rezistențe de dimensiuni egale, iar poziția robinetului de la acestea, stabilită de software, este stocată în memoria nevolatilă inclusă în același microcircuit. Nu este greu de imaginat aplicații în care se dorește calibrarea automată sau de la distanță a unui instrument fără reglarea mecanică a butoanelor de control.

O modificare introdusă recent a EPROM-ului, numită instantanee (flash), combină densitatea mare a EPROM-ului cu reprogramarea în circuitul de operare inerentă EPROM-ului. Cu toate acestea, EPROM-urile instantanee, de regulă, nu vă permit să ștergeți octeți individuali, așa cum se poate face cu EPROM-urile convenționale. Astfel, EPROM-ul instant al Intel permite doar ștergerea completă (cum ar fi EPROM), în timp ce cipul Seeq permite ștergerea fie sector cu sector (512 octeți), fie în întregime. Mai mult, majoritatea EPROM-urilor instantanee disponibile în prezent necesită o sursă de alimentare suplimentară comutabilă de +12 V în timpul ștergerii/scrierii, ceea ce este prea scump când vă amintiți că EPROM-urile convenționale sunt alimentate de o singură sursă de +5 V.

EPROM-urile instant pot rezista la 100 la 10.000 de cicluri de program.

Tehnologia EPROM continuă să evolueze și suntem curioși să vedem ce ne va aduce în continuare; asteapta si tu!

RAM nevolatilă.

EPROM-urile sunt convenabile pentru a fi utilizate ca ROM nevolatilă, dar adesea este nevoie de a avea RAM nevolatilă. Puteți utiliza EPROM pentru aceasta, dar acestea se caracterizează printr-un ciclu de scriere foarte lung (și un număr limitat de cicluri de citire/scriere). Există două posibilități de a realiza caracteristica timpului de citire-scriere a RAM) cu un număr nelimitat de cicluri de citire-scriere: utilizați fie RAM CMOS statică cu baterie de rezervă, fie un microcircuit Xicor neobișnuit care combină RAM statică și EPROM.

Problema bateriei de rezervă a memoriei RAM, care ucide două păsări dintr-o singură piatră deodată, a fost deja discutată: prețul scăzut și viteza mare de citire-scriere a RAM sunt combinate cu nevolatilitatea ROM-ului. Desigur, în acest caz, ar trebui să utilizați RAM CMOS cu o valoare curentă critică cunoscută. Unele companii produc „RAM nevolatilă”, plasând o baterie cu litiu și circuite logice de comutare a puterii într-un pachet obișnuit, împreună cu un cip ROM CMOS. Ca exemplu, putem indica cipuri de la Dallas Semiconductor, această companie produce și o linie de „conectori inteligenți” care conțin o baterie și circuite logice, cu ajutorul cărora RAM convențională, ca prin farmec, devine nevolatilă. Vă rugăm să rețineți că memoria RAM nevolatilă formată în acest fel nu este, strict vorbind, nemuritoare; Durata de viață a bateriei și, prin urmare, a datelor, este de aproximativ 10 ani. Ca și în cazul RAM statică convențională, nu există restricții privind numărul de cicluri de citire-scriere pe care memoria le poate suporta. în RAM.

Dacă comparăm cele două opțiuni descrise pentru RAM nevolatilă, atunci opțiunea cu o baterie de rezervă pare a fi în general de preferat, deoarece vă permite să utilizați orice RAM disponibilă, atâta timp cât are un mod de oprire cu curent zero. Aceasta înseamnă că puteți utiliza RAM-uri mai mari ultimele problemeși, de asemenea, de exemplu, alegeți cea mai rapidă RAM, dacă acest lucru este important pentru dvs. Deși bateriile au o durată de viață limitată, acestea sunt suficiente pentru majoritatea aplicațiilor. Pentru stocarea pe termen scurt (zi sau mai puțin) a informațiilor, puteți înlocui bateria cu litiu cu un condensator cu două straturi. capacitate mare; Astfel de condensatoare în pachete foarte mici cu o capacitate de până la un farad sau mai mult sunt oferite de Panasonic, Sohio etc.

Dispozitive de stocare: rezumat general.

Orez. 11.35 rezumă cele mai importante caracteristici ale diferitelor tipuri de memorie. Dintre cele prezentate în figură, vă recomandăm RAM dinamică cu lățimea de 1 bit pentru matrici mari de memorie cu capacitate de citire și scriere, RAM statică cu lățime de 1 octet pentru matrici mici de memorie ale sistemelor cu microprocesoare, EPROM pentru stocarea programelor și parametri care nu necesită rescriere și fie EPROM (dacă durata procesului de scriere nu contează), fie RAM statică cu baterie de rezervă (pentru a obține performanțe maxime de citire/scriere) pentru stocarea nevolatilă a datelor modificabile.

Orez. 11.35. Tipuri de dispozitive de stocare.

Cele mai multe dintre tipurile de cipuri RAM utilizate în prezent nu pot stoca date fără o sursă de alimentare externă, de exemplu. sunt memorie volatilă. Utilizarea pe scară largă a unor astfel de dispozitive este asociată cu o serie de avantaje ale acestora în comparație cu tipurile de memorie nevolatile: capacitate mai mare, consum mai mic de energie, performanță mai mare și cost scăzut de stocare a unei unități de informații.

RAM volatilă poate fi împărțită în două subgrupe principale: memorie dinamică (DRAM - Dynamic Random Access Memory) și memorie statică (SRAM - Static Random Access Memory).

RAM statică și dinamică

ÎN RAM statică Elementul de stocare poate stoca informațiile înregistrate pe termen nelimitat (dacă există o tensiune de alimentare). Element de memorie dinamic RAM poate stoca informații doar pentru o perioadă de timp destul de scurtă, după care informațiile trebuie restaurate din nou, altfel se vor pierde. Amintirile dinamice, ca și cele statice, sunt volatile.

Rolul unui element de stocare în RAM statică este jucat de un declanșator. Un astfel de flip-flop este un circuit bistabil, format de obicei din patru sau șase tranzistoare (Fig. 5.7). Un circuit cu patru tranzistoare oferă o capacitate de cip mai mare și, prin urmare, un cost mai mic, dar un astfel de circuit are un curent de scurgere mare atunci când informațiile sunt pur și simplu stocate. De asemenea, un declanșator cu patru tranzistoare este mai sensibil la sursele de radiații externe, care pot provoca pierderi de informații. Prezența a doi tranzistori suplimentari face posibilă, într-o oarecare măsură, compensarea deficiențelor menționate ale circuitului cu patru tranzistoare, dar, cel mai important, creșterea performanței memoriei.

Orez. 5.7. Element de stocare RAM static

Elementul de stocare al memoriei dinamice este mult mai simplu. Este format dintr-un condensator și un tranzistor de oprire (Fig. 5.8).

Orez. 5.8. Element de stocare RAM dinamic

Prezența sau absența sarcinii în condensator este interpretată ca 1 sau, respectiv, 0. Simplitatea schemei face posibilă obținerea unei densități mari de dispozitive electronice și, în cele din urmă, reducerea costurilor. Principalul dezavantaj al acestei tehnologii este că sarcina acumulată pe condensator se pierde în timp. Chiar și cu un dielectric bun cu o rezistență electrică de câțiva teraohmi (10-12 ohmi) folosit la fabricarea condensatoarelor elementare, încărcarea se pierde destul de repede. Dimensiunile unui astfel de condensator sunt microscopice, iar capacitatea este de ordinul a 1SG 15 F. Cu o astfel de capacitate, doar aproximativ 40.000 de electroni se acumulează pe un condensator. Timpul mediu de scurgere de încărcare a memoriei dinamice electronice este de sute sau chiar zeci de milisecunde, astfel încât încărcarea trebuie restabilită în această perioadă de timp, altfel informațiile stocate se vor pierde. Restabilirea periodică a sarcinii elementului pământ numită regenerareși se efectuează la fiecare 2-8 ms,

Trei metode principale de regenerare au fost utilizate în diferite tipuri de circuite integrate cu memorie dinamică:

Un semnal RAS (ROR - RAS Only Refresh);

Semnalul CAS care precede semnalul RAS (CBR - CAS Înainte de RAS);

Regenerare automată (SR - Self Refresh).

Regenerarea RAS unică a fost utilizată în primele cipuri DRAM. Adresa liniei regenerate este transmisă către magistrala de adrese, însoțită de semnalul RAS. În acest caz, este selectat un rând de celule și datele stocate acolo sunt trimise la circuitele interne ale microcircuitului și apoi scrise înapoi. Deoarece semnalul CAS nu apare, ciclul de citire/scriere nu începe. Data viitoare când magistrala de adrese este alimentată rândul următor etc până când toate celulele sunt restaurate, după care ciclul se repetă. Dezavantajele metodei includ magistrala de adrese ocupată în momentul regenerării, când accesul la alte dispozitive VM este blocat.

Particularitatea metodei CBR este că dacă într-un ciclu normal de citire/scriere semnalul RAS precede întotdeauna semnalul CAS, atunci când semnalul CAS apare primul, începe un ciclu special de regenerare. În acest caz, adresa de rând nu este transmisă, iar cipul își folosește contorul intern, al cărui conținut este crescut cu unul cu fiecare ciclu CBR următor. Modul vă permite să regenerați memoria fără a ocupa magistrala de adrese, adică este mai eficient.

Regenerarea automată a memoriei este asociată cu economisirea energiei atunci când sistemul intră în modul de repaus și generatorul de ceas nu mai funcționează. Cu absenta semnale externe Actualizarea RAS și CAS a conținutului memoriei folosind metodele ROR sau CBR este imposibilă, iar cipul realizează regenerarea pe cont propriu, pornind propriul oscilator, care tacizează circuitele interne de regenerare.

Domeniul de aplicare al statice și memorie dinamică determinat de viteză și cost. Principalul avantaj al SRAM este performanța sa mai mare (aproximativ un ordin de mărime mai mare decât cea a DRAM). SRAM sincron rapid poate funcționa cu un timp de acces la informații egal cu timpul unui impuls de ceas al procesorului. Cu toate acestea, din cauza capacității mici a cipurilor și a costului ridicat, utilizarea memoriei statice este de obicei limitată la memoria cache de capacitate relativ mică a primului (L1), al doilea (L2) sau al treilea (L3). În același timp, cele mai rapide cipuri de memorie dinamică necesită încă cinci până la zece cicluri de procesor pentru a citi primul octet al unui pachet, ceea ce încetinește întreaga VM. Cu toate acestea, datorită densității mari de ambalare a dispozitivelor electronice și a costului scăzut, DRAM este folosită la construirea memoriei principale a unui VM.

Memoria cu acces aleatoriu (RAM), adică memorie cu acces aleatoriu utilizată de procesorul central pentru a stoca în comun datele și codul de program executabil. Conform principiilor stocării informațiilor, RAM poate fi împărțită în statică și dinamică.

RAM poate fi considerată ca un set de celule, fiecare dintre acestea putând stoca un bit de informație.

În RAM statică, celulele sunt construite pe diferite tipuri de flip-flops. Odată ce un bit este scris într-o astfel de celulă, îl poate stoca atât timp cât dorește - tot ce are nevoie este putere. De aici și numele memoriei - static, adică. rămânând într-o stare neschimbată. Avantajul memoriei statice este viteza sa, dar dezavantajele sunt consumul mare de energie și densitatea specifică scăzută a datelor, deoarece o celulă de declanșare este formată din mai mulți tranzistori și, prin urmare, ocupă mult spațiu pe cip. De exemplu, un cip de 4 Mbit ar consta din peste 24 de milioane de tranzistori, consumând puterea corespunzătoare.

În RAM dinamică, celula elementară este un condensator realizat folosind tehnologia CMOS. Un astfel de condensator este capabil să mențină o sarcină electrică timp de câteva milisecunde, a cărei prezență poate fi asociată cu un bit de informare. Când scrieți unul logic într-o celulă de memorie, condensatorul este încărcat, iar când scrieți un zero, acesta este descărcat. La citirea datelor, condensatorul este descărcat, iar dacă sarcina lui a fost diferită de zero, atunci ieșirea circuitului de citire este setată la o singură valoare. Procesul de citire (accesarea celulei) este combinat cu recuperarea (regenerarea) încărcăturii. Dacă celula nu este accesată o perioadă lungă de timp, condensatorul se descarcă din cauza curenților de scurgere și se pierde informații. Pentru a compensa scurgerea de încărcare, celulele de memorie sunt accesate periodic ciclic, deoarece fiecare inversare restabilește încărcarea anterioară a condensatorului. Avantajele memoriei dinamice includ densitatea mare de date și consumul redus de energie, în timp ce dezavantajele sunt performanța scăzută în comparație cu memoria statică.

În prezent, memoria dinamică (Dynamic RAM - DRAM) este folosită ca RAM pentru computer, iar memoria statică (Static RAM - SRAM) este folosită pentru a crea memorie cache de mare viteză pentru procesor.

Cipurile de memorie dinamică sunt organizate ca matrice pătrată, iar intersecția unui rând și a unei coloane a matricei definește una dintre celulele elementare. Când accesați o anumită celulă, trebuie să specificați adresa rândului și coloanei dorite. Setarea adresei de rând are loc atunci când se aplică un impuls special RAS (Raw Address Strobe) la intrările microcircuitului, iar setarea adresei coloanei are loc atunci când se aplică impulsul CAS (Column Address Strobe). Impulsurile RAS și CAS sunt furnizate secvenţial unul după altul prin intermediul magistralei de adrese multiplexate.

Regenerarea în microcircuit are loc simultan de-a lungul întregului rând al matricei atunci când se accesează oricare dintre celulele acesteia, adică. Este suficient să parcurgeți toate liniile.

Memoria dinamică de orice tip, spre deosebire de memoria statică, chiar și atunci când este aplicată tensiunea de alimentare, nu are capacitatea de a-și stoca informațiile pe termen nelimitat. Starea unei celule de memorie dinamică este determinată de prezența sau absența încărcării pe condensator, iar această încărcare este supusă scurgerilor. Prin urmare, pentru a salva datele în memoria dinamică, celulele acesteia trebuie reîncărcate periodic, ceea ce este esența procesului de regenerare. Mai jos este cum se întâmplă acest lucru.
Când se efectuează o operație de citire, regenerarea este efectuată automat. Datele primite la amplificatorul de semnal sunt imediat scrise înapoi. Se crede că un astfel de algoritm poate reduce numărul de regenerări necesare și poate crește performanța. Dar acest lucru nu este absolut adevărat! Indiferent dacă informațiile sunt citite din memorie sau nu, „frecvența” de regenerare nu se modifică. Fie nu este deloc reglementat (nu există opțiuni corespunzătoare în „Configurarea BIOS”), fie este strict fixat după setările corespunzătoare.

Sunt posibile trei metode diferite de regenerare a datelor.

Regenerare cu un singur RAS (RAS Only Refresh - ROR). Această metodă a fost folosită în primele cipuri DRAM. Adresa rândului care este regenerat este transferată pe magistrala de adrese și este emis semnalul RAS (la fel ca la citire sau scriere). În acest caz, este selectat un rând de celule, iar datele din acestea sunt trimise la circuitele interne ale microcircuitului și apoi scrise înapoi. Deoarece nu mai există semnal CAS, ciclul de citire/scriere nu începe. Se transmite apoi adresa rândului următor, și așa mai departe, până când întreaga matrice de memorie a fost parcursă, după care se repetă ciclul de regenerare. Dezavantajele acestei metode includ faptul că magistrala de adrese este ocupată, iar în momentul regenerării, accesul la alte subsisteme informatice este blocat.
CAS Înainte de RAS (CAS Înainte de RAS - CBR) este metoda standard de regenerare. Într-un ciclu normal de citire/scriere, RAS ajunge întotdeauna primul, urmat de CAS. Dacă CAS ajunge înainte de RAS, atunci începe un ciclu special de regenerare - CBR. În acest caz, adresa de rând nu este transmisă, iar cipul folosește contorul său intern, al cărui conținut este mărit cu 1 cu fiecare ciclu CBR (așa-numita creștere a adresei de rând). Acest mod permite regenerarea memoriei fără a ocupa magistrala de adrese, ceea ce este cu siguranță mai economic.
Regenerare automată a memoriei (Self Refresh - SR, sau auto-regenerare). Această metodă este de obicei folosită în modul de economisire a energiei, când sistemul intră într-o stare de „sleep” („suspend”) și oscilatorul ceasului nu mai funcționează. În această stare, actualizarea memoriei folosind metodele descrise mai sus este imposibilă (pur și simplu nu există surse de semnal), iar cipul de memorie realizează regenerarea singur. Acesta pornește propriul generator, care activează circuitele interne de regenerare. Această tehnologie de memorie a fost introdusă odată cu apariția EDO DRAM. Trebuie remarcat faptul că în modul de repaus memoria consumă foarte puțin curent.
În implementarea clasică PC AT, cererile de regenerare a DRAM au fost generate de canalul 1 al temporizatorului de sistem 8254 Un declanșator este conectat la ieșirea acestuia, funcționând în modul de numărare și schimbându-și starea în cea opusă cu fiecare solicitare. Starea acestui flip-flop poate fi citită programatic prin bitul 4 al portului 61h. Examinare Comutare de reîmprospătare a fost să verificăm faptul că acest declanșator comută la o frecvență dată. Dar, de-a lungul timpului, au început să fie utilizați și alți algoritmi de regenerare a memoriei (așa cum este descris mai sus) și în ciuda faptului că Comutare de reîmprospătare este reținut pentru compatibilitate; nu mai poate fi folosit pentru a verifica generarea cererilor de regenerare. Ciclurile de regenerare sunt efectuate de controlerul de regenerare inclus în chipset, care trebuie să primească controlul autostrăzii la fiecare 15,6 μs pentru a-și îndeplini sarcina. În timpul ciclului de regenerare, se citește una dintre N celule de memorie.

Reîmprospătare în rafală

- (regenerare lot). De regulă, interpretarea acestei opțiuni în literatură este eronată. Când activați opțiunea ("Activat") în pachet unic cererile de regenerare sunt colectate, iar astfel de loturi poate asigura, în unele cazuri, acumularea de cereri pe întreg volumul de rânduri din memorie. Această metodă duce la o creștere semnificativă a productivității, dar există și partea din spate. Pentru perioade destul de lungi de timp și în mod constant, magistrala de memorie este capturată, ceea ce duce la blocarea accesului la ea de către procesor sau alte dispozitive.
Opțiunea poate fi numită „DRAM Burst Refresh”.

CAS Înainte de RAS Refresh

O metodă de regenerare a memoriei în care semnalul CAS este setat înaintea semnalului RAS. Spre deosebire de metoda standard regenerare, această metodă nu necesită enumerarea adreselor de rând din afara cipurilor de memorie - se folosește un contor de adrese intern. Cu toate acestea, această metodă de regenerare trebuie să fie suportată de cipuri de memorie. Dacă mai devreme ați putut întâlni fraze că majoritatea modulelor de memorie acceptă această metodă de regenerare, acum aceasta este deja standard soluție hardware. Folosirea acestei metode poate reduce semnificativ energia consumată de modulele de memorie. Poate lua valori:
„Activat” - permis,
„Dezactivat” - interzis.
Opțiunea poate fi numită „CAS Before RAS”.

Întârziere de reîmprospătare de la CAS la RAS

Această opțiune poate funcționa atunci când opțiunea anterioară (sau similară) este activată, deoarece în acest caz este setat timpul de întârziere dintre semnalele stroboscopice (în cicluri de ceas) magistrala de sistem). În mod firesc, setarea unei valori mai mici duce la o scădere a timpului petrecut pentru regenerare. O valoare mai mare crește fiabilitatea, de ex. fiabilitatea datelor din memorie. Opțiunea optimă pentru un sistem dat este selectată experimental. Poate lua valori: „1T”, „2T” (implicit).

Reîmprospătare concomitentă

- (regenerare paralelă sau concurentă). Când această opțiune este activată, atât hardware-ul de regenerare, cât și CPU au acces simultan la memorie. În acest caz, procesorul nu va trebui să aștepte până când are loc regenerarea. Când setați opțiunea la „Dezactivat”, procesorul va trebui să aștepte până când circuitul de regenerare își termină funcționarea. Desigur, activarea opțiunii îmbunătățește performanța sistemului.

Reîmprospătare decuplată

- (regenerare separată). Deoarece magistrala ISA are o viteză scăzută de operare, activarea acestei opțiuni („Activat”) va permite chipset-ului să separe regenerarea pentru memoria principală și magistrala ISA. În acest caz, procesul de regenerare pentru magistrala ISA poate fi finalizat în timp ce procesorul execută alte instrucțiuni. Utilizarea acestei opțiuni crește semnificativ performanța întregului sistem. Această opțiune a jucat un rol semnificativ în zilele celor 486 de mașini.
Dar ar putea exista și o problemă că unele plăci de expansiune (de obicei plăci video) au necesitat atenția procesorului în timpul ciclului inițial de regenerare a magistralei. Desigur, acest lucru ar putea duce la situații de eșec nedorite. Dezactivarea opțiunii ar putea fi necesară și dacă, atunci când lucrați cu moduri grafice Rezoluție înaltă Pe ecranul monitorului au apărut unele simboluri sau „zăpadă”. În acest caz, a fost necesar să dezactivați o astfel de metodă de lucru cu memorie precum „Relocarea memoriei” (vezi mai sus). Cele de mai sus au fost tipice, de exemplu, pentru plăcile video de pe cipul S3 801 (cum ar fi SPEA V7 Mirage), care funcționează împreună cu unele plăci controler produse de Adaptec cu memorie ROM extinsă necesară pentru întreținerea hard discuri mai mari de 1 GB.
Opțiunea poate fi numită „Opțiune de reîmprospătare decuplată”.

Reîmprospătare distribuită

- (regenerare distribuită). Nu este complet clar ce se „ascunde” sub această opțiune, deși există o presupunere că este un analog al „regenerării separate”. La un moment dat, această opțiune putea fi găsită în sistemele bazate pe chipset-uri de la VIA Technologies. Valori opțiuni: „Dezactivat” și „Activat”.

DRAM Ahead Refresh

O opțiune care vă permite să activați („Activat”) modul „anticipare” pentru ciclul de regenerare. Esența acestei „previziuni” va deveni mai clară din următoarea opțiune, care devine activă atunci când permisiunea este activată.
x Timp de reîmprospătare DRAM Ahead
- această opțiune vă permite în esență să „împingeți înapoi” începutul ciclului de regenerare cu 10 sau 40 de cicluri de ceas de sistem. Mic, dar totuși o creștere a performanței. Astfel de opțiuni unice au fost implementate în sisteme bazate pe kitul SIS540 și nu au fost văzute niciodată altundeva.

Burst DRAM la 4 reîmprospătare

Această opțiune este, de asemenea, legată de regenerarea lotului, dar esența sa este diferită. Activarea opțiunii („Activat”) permite regenerarea a 4 linii per lot. Această metodă îmbunătățește semnificativ productivitatea. În acest caz, autobuzul este eliberat mult mai repede decât în ​​cazul opțiunii „Burst Refresh”.

DRAM CAS# Preîncărcare

- (timp de preîncărcare CAS). Această funcție este utilizată dacă sistemul are memorie dinamică sincronă și, cu ajutorul ei, setează (în ceasurile magistralei de sistem) timpul de generare a semnalului CAS (acumulare de încărcare CAS) înainte de începerea ciclului de regenerare a memoriei (vezi mai jos pentru informații suplimentare). „DRAM RAS# Precharge Time” ). Scăderea acestei valori crește performanța, dar pot exista probleme cu stabilitatea sistemului dacă, în același timp, sunt setate valorile „limită” pentru stroboscopul RAS. Dacă valoarea (timpul) este setată prea mică, este posibil ca regenerarea să nu fie finalizată, ceea ce va duce în cele din urmă la pierderea datelor din memorie.
Opțiunea poate avea următoarele nume: "CAS# Precharge", "CAS# Precharge Time", "FPM CAS# Precharge", "FPM DRAM CAS Precharge", "EDO/FPM CAS Precharge Time", "EDO CAS# Precharge" , „EDO DRAM CAS Preîncărcare”.
Toate opțiunile enumerate nu diferă într-o mare varietate de semnificații. „1T”, „2T” sau această serie: „1T”, „1T/2T”, „2T”. Opțiunea „Perioada de preîncărcare CAS” a adăugat o varietate: „1T”, „2T”, „3T”, „4T”.

DRAM RAS Numai reîmprospătare

Activați/dezactivați metoda de reîmprospătare a DRAM, metoda alternativa„CAS-înainte-RAS”. Dacă BIOS-ul conține alte opțiuni pentru regenerarea memoriei, atunci această opțiune trebuie dezactivată. În caz contrar, va trebui să utilizați această metodă de actualizare a memoriei învechită.

DRAM RAS# Timp de preîncărcare

- (timp de preîncărcare RAS). Această funcție este utilizată atunci când sistemul are memorie dinamică sincronă și vă permite să setați timpul (în ceasurile magistralei de sistem) pentru generarea semnalului RAS (uneori denumit acumulare de încărcare RAS) înainte de începerea ciclului de regenerare a memoriei. De fapt, aceasta stabilește un interval minim între două cicluri consecutive de citire sau scriere. Scăderea acestei valori crește performanța. Dar dacă timpul este setat insuficient, regenerarea poate fi incompletă, ceea ce va duce în cele din urmă la pierderea datelor din memorie. Desigur, o creștere a frecvenței la care funcționează memoria este urmată de alegerea unei valori mai mari, ceea ce este important la overclockarea memoriei. Valorile posibile pot fi prezentate sub diferite forme: ca valori digitale - „3”, „4”, etc.; indicând ceasurile de sistem - „3 Ceasuri” sau „1T”. Și intervalul generalizat de valori are următoarea formă: 0T, 1T, 2T, 3T, 4T, 5T, 6T, deși în fiecare opțiune specifică pot fi prezentate 2-4 valori.
Opțiunea poate avea mai multe nume: „DRAM RAS# Precharge Period”, „RAS# Precharge Time”, „RAS Precharge Timing”, „RAS# Precharge Period”, „FPM DRAM RAS# Precharge”, „FPM RAS Precharge”, „ RAS # Preîncărcare”, „DRAM RAS Precharge”, „EDO RAS Precharge”, „EDO RAS# Precharge Time”, „EDO RAS Precharge Timing”, „FPM/EDO RAS# Precharge Time”, „EDO/FPM RAS Precharge Time” .
După cum puteți vedea, opțiunea nu și-a pierdut relevanța odată cu apariția memoriei EDO și, în mod interesant, apoi și modulelor BEDO și SDRAM, deoarece acest parametru este una dintre cele mai importante caracteristici ale cipurilor de memorie: „BEDO RAS Precharge”, „ Timp de preîncărcare SDRAM RAS” .
Adevărat, pe lângă parametrii obișnuiți precum „3T” sau „2 Clks” (aceste valori sunt tipice pentru modulele SDRAM) în diverse versiuni de BIOS Au început să apară noi tipuri de valori, cum ar fi: „La fel ca FPM” și „FPM-1T”, „Rapid” și „Normal”, „Rapid” și „Lent”. Pentru ultima pereche de parametri, „Slow” (încet) este echivalent cu o creștere a numărului de cicluri de ceas, ceea ce crește stabilitatea sistemului, astfel încât valoarea „Fast” ar trebui setată dacă aveți încredere în calitatea modulele de memorie. În ceea ce privește prima pereche, pentru opțiuni precum „FPM DRAM RAS# Precharge” o serie de valori ar putea arăta astfel: 2T, 3T, 4T, 5T, 6T și, prin urmare, un posibil rezultat pentru memoria SDRAM, deși deloc evident .
De asemenea, este foarte posibil ca versiunea BIOS să ofere posibilitatea de a seta separat niște parametri pentru fiecare bancă de memorie. Deoarece despre care vorbim despre „preîncărcare” pentru stroboscopul RAS#, atunci opțiunea (opțiunile!) poate fi numită „Bank 0&1 (2&3)(4&5): EDO/SDRAM Precharge” cu valorile: „3T/2T”, „4T/3T” .
S-a sugerat „AMI BIOS” pentru opțiunea „sa” „SDRAM RAS# Precharge”. sens suplimentar"Auto". Adevărat, una dintre variantele opțiunii „SDRAM RAS Precharge” a introdus și valorile „Disabled”/“Enabled”. Puteți dezactiva opțiunea numai dacă aveți absolut încredere în modulele de memorie, altfel problemele nu pot fi evitate. Deoarece am atins capacitatea de a dezactiva/activa mecanismul de preîncărcare, ar trebui să remarcăm și capacitatea de a activa optimizarea de preîncărcare („Activată”) - „SDRAM: Optimal RAS# Prech.”.
Pentru această opțiune(e!) este necesar să notați un cuplu Puncte importante. Această opțiune nu trebuie confundată cu opțiuni precum „Refresh RAS Active Time”, care sunt responsabile pentru durata semnalului RAS#. În cazul nostru, vorbim despre un proces pregătitor. Și al doilea! Ar fi absolut corect să plasăm această opțiune în secțiunea dedicată optimizării standard a memoriei (vezi mai jos). Procedurile de setare a semnalului RAS# atât în ​​timpul operațiunilor de regenerare, cât și în timpul operațiunilor de citire/scriere sunt identice.
Pentru a completa cele de mai sus, opțiunea este „RAS# Precharge/Refresh” cu valorile „3T/4T” și „4T/5T”. Această opțiune setează atât timpul fazei pregătitoare, cât și timpul total activ al semnalului RAS# pentru ciclul de regenerare.

Metoda de reîmprospătare a DRAM

Opțiune pentru a seta metoda de regenerare. Opțiunea poate fi numită și „Tip de reîmprospătare”, „Tip de reîmprospătare DRAM”, „Mod de reîmprospătare DRAM” sau „Selectare tip de reîmprospătare”. Pentru orice variații, opțiunea, de regulă, conține doar doi parametri dintre parametrii posibili. Va prezentam intreaga serie posibila: “CAS before RAS” (sau “CAS-RAS”), “RAS only”, “RAS# Before CAS#”, “Normal”, “Hidden”.

Perioada de reîmprospătare a DRAM

Setarea perioadei (frecvența de repetare) necesară pentru regenerarea memoriei, în conformitate cu specificațiile modulelor de memorie. În cele mai recente versiuni de BIOS, această opțiune poate să nu fie prezentă, deși prezența ei într-un sistem modern vă permite totuși să optimizați procesul de regenerare. Anterior, această opțiune oferea utilizatorului un domeniu larg de creativitate: în funcție de versiunea BIOS și de producător, chipset-ul și modulele de memorie. Opțiunea ar putea fi numită și „Refresh Cycle Time (us)”, „DRAM Refresh Cycle Time”, „Memory Refresh Rate”, „DRAM Refresh Rate Select”, „DRAM Refresh Rate”, „SDRAM Refresh Rate” sau pur și simplu „DRAM Reîmprospăta". Aici lista incompleta valorile pe care utilizatorul le-ar putea întâlni:
„Pentru 50 MHz Bus”, „For 60 MHz Bus”, „For 66 MHz Bus”, „Dezactivat” (această opțiune neobișnuită a fost găsită în sistem pe i430FX),
„50/66 MHz”, „60/60 MHz”, „66/66 MHz”,
„15 noi”, „30 noi”, „60 noi”, „120 noi”,
„Dezactivat” (sau „Fără reîmprospătare”), „15,6 noi”, „31,2 noi”, „62,4 noi”, „124,8 noi”, „249,6 noi”,
„15,6 noi”, „31,2 noi”, „62,4 noi”, „125 noi”, „250 noi”,
„15,6 noi”, „62,4 noi”, „124,8 noi”, „187,2 noi”,
„1040 de ceasuri”, „1300 de ceasuri”,
„15.6 us”, „7.9 us”, „FR 128 CLKs” (este clar că vorbim despre frecvență - „frecvență”),
„Dezactivat”, „Normal”,
"Repede incet",
„Mai repede”, „Mai încet”,
„Dezactivat” (este setat standardul de 15,6 µs), „Activat” (corespunde cu dublarea frecvenței).
Rămâne de menționat că, cu cât memoria este regenerată mai puțin frecvent, cu atât sistemul funcționează mai eficient. Dar dacă există încălcări clar observate în funcționarea sistemului, atunci frecvența de actualizare trebuie crescută. Valoarea „Dezactivată” care apare în unele versiuni nu trebuie utilizată. În caz contrar, ar trebui să vă așteptați la pierderea informațiilor din memorie. Și, în sfârșit, dacă utilizatorul vede pe ecranul din fața lui o serie întreagă de valori pentru selecție, aceasta poate însemna că chipset-ul include un registru special de configurare în care sunt „date” trei cifre (sau mai puțin). combinații posibile ale frecvenței stabilite.
Pe lângă cele de mai sus, să ne uităm la câteva opțiuni suplimentare și la chipseturile pentru care au fost implementate:
„DRAM Refresh Rate Time” (SIS530) - „15,6 noi”, „7,8 noi”, „3,9 noi”,
„Rata de reîmprospătare” (AMD751) - „20,4 noi”, „15,3 noi”, „10,2 noi”, „5,1 noi”.
Opțiunea „Reîmprospătare” Selectare mod", în ciuda unor discrepanțe în nume, a sugerat valorile „7,8 ?sec”, „15,6 ?sec”, „64 ?sec”, și opțiunea „Interval de reîmprospătare” - „7,8 ?sec”, „15,6 ?sec. ", "31,2 ?sec", "64 ?sec", "128 ?sec".
Aici poate apărea, pe de o parte, o discrepanță imaginară și, pe de altă parte, o oarecare înțelegere greșită a esenței opțiunilor prezentate. La urma urmei, numele opțiunilor includ „frecvență”, „perioadă”, „interval” și „timp de ciclu”. Prin urmare, sunt necesare clarificări suplimentare.
Este clar că este imposibil să regenerezi toată memoria dinamică în același timp. De asemenea, este acceptabil să vorbim despre regenerarea rând cu rând a matricei de memorie (vezi mai sus pentru aceasta). Apoi puteți introduce două concepte deodată. Primul este intervalul de timp dintre regenerarea, de exemplu, a liniilor adiacente. Al doilea este timpul ciclului complet de regenerare, adică. timpul după care linia de start condiționată va trebui să fie regenerată din nou. Un cip de memorie „obișnuit” conține 4096 de linii. Se poate afirma că timpul total al ciclului de regenerare este de 64 ms (unul dintre standardele JEDEC). Și atunci intervalul (perioada) de regenerare menționat este:
64000: 4096 = 15,6 ?sec.
Aceasta înseamnă că la fiecare 15,6 µs controlerul de memorie inițiază un ciclu de reîmprospătare pentru o singură linie de memorie. Și această valoare este tipică pentru aceleași module DIMM cu o capacitate de 128 Mbit sau mai puțin. Dacă vorbim de module cu o capacitate de 256 Mbit sau mai mult, atunci numărul de linii va fi de 8192, iar intervalul de regenerare va fi de 7,8?sec, datorită păstrării timpului total de ciclu de 64 ms. Dacă sistemul utilizează module cu capacități diferite, atunci caracteristica timpului de regenerare este setată în funcție de modulul de capacitate mai mare, adică. cu o frecventa mai mare.
Trebuie remarcat faptul că modulele de memorie utilizate anterior au făcut posibilă în multe cazuri prelungirea ciclului de regenerare, adică. crește intervalul acestuia, crescând astfel ușor performanța sistemului.
Și, desigur, imaginea ar fi incompletă dacă nu ne-am aminti RAMBUS DRAM. Nu ne vom opri în detaliu asupra arhitecturii acestui tip de memorie, ne vom aminti doar că structura și organizarea băncilor de memorie este de natură multicanal. Mai mult, fiecare canal de date este o magistrală lățime de numai un (!) octet. Dar datorită unei conducte de înaltă performanță, a unei coloane vertebrale interne de mare viteză sincronizată de propriul generator de ceas, lățimea de bandă a magistralei de memorie a fost deja mărită la 3,2 GB/sec. Ei bine, acum opțiunea este „RDRAM Refresh Rate, Channel N”, iar valorile sale: „No refresh”, „1.95 us”, „3.9 us”, „7.8 us”.

Coada de reîmprospătare a DRAM

Când este activată, această opțiune permite utilizarea unei metode mai eficiente de reîmprospătare a memoriei. Faptul este că chipsetul este capabil să genereze o secvență de mai multe solicitări de actualizare a memoriei până când magistrala procesorului este gata de executare următoarea operație. Vorbim aici despre utilizarea modului pipeline pentru cererile de regenerare a memoriei. „Activat” permite, de obicei, să fie puse în coadă 4 solicitări de regenerare a memoriei. Setarea acestuia la „Dezactivat” înseamnă dezactivarea conductei, ceea ce reduce în mod natural eficiența și face ca toate ciclurile de regenerare să fie efectuate fie prin prioritate de solicitare, fie în conformitate cu metodele prezentate în alte opțiuni.
Acest mod trebuie să fie întotdeauna activat. „Activat” este, de asemenea, setat implicit. O singură condiție! Module instalate Memoria trebuie să accepte această proprietate; majoritatea tipurilor de memorie moderne acceptă această metodă. În plus! Utilizarea unei astfel de metode eficiente de regenerare depinde atât de implementarea unor astfel de funcții de către chipset, cât și de versiunea BIOS. Într-o formă atât de explicită, „utilizator”, această opțiune a fost găsită în „AMI BIOS”.
Opțiunea poate fi numită și „DRAM Refresh Queing”.

Adâncimea cozii de reîmprospătare a DRAM

Această opțiune vă permite să setați gradul ("adâncimea") conductei, adică numărul de trepte posibile ale transportorului. Cu cât este mai mare acest număr, cu atât este mai mare numărul de solicitări de regenerare timp dat este în curs de procesare. Valorile posibile, care depind în mod natural de implementările și capacitățile de mai sus, sunt:
„0” (echivalent cu „Dezactivat”), „4”, „8”, „12” (implicit).
Opțiunea poate fi numită și „Adancimea cozii de reîmprospătare”.

Reîmprospătare extinsă

- (regenerare extinsă). Introducerea (la un moment dat) a acestei opțiuni în BIOS a implicat utilizarea unor cipuri EDO speciale. Regenerarea conținutului celulelor EDO DRAM a început să aibă loc la fiecare 125 μs și nu la fiecare 15,6 μs, ca în cazul regenerarii standard. Acest lucru a crescut ușor performanța generală a memoriei.

Reîmprospătare rapidă a DRAM

- (regenerare rapidă a DRAM). Controlerul de memorie oferă două moduri de regenerare a memoriei: standard (Normal) și ascuns (Ascuns). În fiecare mod, stroboscopul CAS este setat înaintea semnalului RAS, totuși, în modul „Normal”, este alocat un ciclu suplimentar de procesor pentru fiecare impuls stroboscopic. Aceasta este o metodă veche de actualizare a memoriei și, prin urmare, are sens să setați valoarea acest parametruîn „Hidden”, care oferă și performanță crescută, și o eficiență mai mare (a se vedea mai jos), și datorită faptului că stroboscopul CAS nu poate fi setat - poate fi „ascuns”.

Reîmprospătare ascunsă

- (regenerare ascunsă). Când este setată la „Dezactivat”, memoria este regenerată utilizând metodologia IBM AT, utilizând cicluri de procesor pentru fiecare regenerare. Când opțiunea „Hidden Refresh” este setată la „Enabled”, controlerul de memorie „căută” momentul cel mai convenabil pentru reîmprospătare, indiferent de ciclurile CPU. În acest caz, regenerarea are loc simultan cu accesul normal la memorie. Algoritmul de regenerare a memoriei este multivariat: ciclurile de regenerare sunt permise în băncile de memorie care nu sunt utilizate în prezent de procesorul central, în locul sau împreună cu ciclurile normale de regenerare efectuate de fiecare dată (la fiecare 15 ms) la o anumită întrerupere (DRQ0), cauzată de un temporizator. şi iniţiat de regenerarea circuitului.
Regenerarea necesită până la 4 ms de fiecare dată. În timpul acestor 4 ms, un ciclu de regenerare aproximativ la fiecare 16 μs regenerează 256 de linii de memorie (caracteristicile pentru modulele de memorie de capacitate mică sunt date aici și mai sus). Fiecare ciclu de regenerare durează același timp sau puțin mai puțin decât un ciclu de citire a memoriei, deoarece Semnalul CAS nu este necesar pentru regenerare.
„Hidden refresh” se caracterizează prin viteză și eficiență maximă, cea mai mică întrerupere a activității sistemului și cea mai mică pierdere de performanță, permițându-vă, de asemenea, să mențineți starea memoriei în timp ce sistemul este în modul „suspend”. Acest mod este mai rapid decât „Burst Refresh”. Dar prezența acestei funcții în BIOS nu înseamnă implementarea ei. După ce setați opțiunea la „Activat”, ar trebui să verificați cu atenție funcționalitatea computerului. Unele module de memorie vă permit să utilizați „Hidden Refresh”, altele nu. În cele mai multe cazuri, este recomandat să îl setați la „Activat”.

Reîmprospătare de mare viteză

Cu această opțiune, chipsetul va regenera mai repede memoria principală. Adevărat, efectul acestei setări este mult mai mic decât cel al pornirii „Reîmprospătare lentă”. Cel din urmă mod de regenerare este de preferat. În plus, această funcție nu este acceptată de toate cipurile de memorie.

Reîmprospătare ISA

Opțiune pentru a activa/dezactiva regenerarea memoriei pentru magistrala ISA. Această opțiune nu a mai fost văzută în această formă nici în ultimii ani de existență a autobuzului ISA.

Perioada de reîmprospătare ISA

Setarea frecvenței pentru regenerarea magistralei ISA. Interval posibil de valori: "15 us", "30 us", "60 us", "120 us".

Tip de reîmprospătare ISA

Opțiune pentru a seta metoda de regenerare a memoriei pentru magistrala ISA. Valori posibile ale parametrilor: „Normal” și „Ascuns”. O opțiune similară numită „ISA Bus Refresh Mode” ar putea oferi alte valori: „Slow” și „Fast”.

Preîncărcare PCI-la-DRAM RAS#

Subiectul „preîncărcării” a fost deja stăpânit suficient de noi, așa că trebuie doar să spunem pe scurt despre scopul acestei opțiuni - setarea timpului de „preîncărcare” a strobe-ului RAS# în timpul ciclurilor de scriere a magistralei PCI în memoria dinamică principală. Valori opțiuni: „2T”, „3T”.

RAS Precharge @Access End

Când este selectat „Activat”, stroboscopul RAS# rămâne activ la sfârșitul procesului de „preîncărcare”. Dacă este setat la „Dezactivat”, RAS# este plasat într-o stare pasivă (nivel înalt).

Timeout RAS

Când este setat la „Dezactivat”, ciclul de regenerare dinamică a memoriei este efectuat în modul standard, adică la fiecare 15,6 µs. Un ciclu suplimentar de regenerare a memoriei este inserat când este selectat „Activat”.

Întârziere comandă Ref/Act

- (setează întârzierea pentru ciclul de citire/scriere). Parametrul selectează timpul de întârziere dintre sfârșitul ciclului de regenerare și începutul ciclului de citire sau scriere. Opțiunea poate lua următoarele valori: „5T”, „6T” (implicit), „7T”, „8T”.
Sistemul de pe setul SIS530 oferea o opțiune numită „DRAM Refresh/Active Delay” cu valori ceva mai conservatoare: „9T”, „8T”, „7T”, „6T”. Un chipset mai avansat (SIS540) a introdus deja două opțiuni: „DRAM REF/ACT Delay” („10T”, „9T”) și „DRAM ACT/REF ​​​​Delay” („10T”, „9T”, „8T "). Este clar că ultima opțiune are scopul de a selecta întârzierea pentru modul de regenerare după încheierea ciclului de citire/scriere. Valorile mai mici sunt, desigur, mai de preferat. Această opțiune nu mai este disponibilă în sisteme moderne.

Reîmprospătare în timpul ciclurilor PCI

O opțiune care permite/interzice regenerarea memoriei în timpul ciclurilor de citire/scriere pe magistrala PCI. Poate lua valori:
„Activat” - permis,
„Dezactivat” - interzis.

Reîmprospătați afirmația RAS#

- (setarea perioadei de activitate a semnalului RAS). Acest parametru setează durata semnalului RAS (în ceasurile magistralei de sistem) pentru ciclul de regenerare. O valoare mai mică îmbunătățește performanța sistemului. Dar, deoarece valorile acceptate sunt determinate de calitatea memoriei și a chipset-ului, instalarea lor trebuie abordată cu prudență. Poate lua următoarele valori: „4T” (sau „4 Clks”), „5T” (sau „5 Clks”). Pot exista și alte sensuri.
Opțiunea mai poate fi numită „Reîmprospătare aserție”, „Reîmprospătare RAS Active Time” sau „RAS Pulse Width Refresh”.

Reîmprospătați valoarea

Această opțiune setează multiplicatorul de frecvență de regenerare. O valoare mai mică a crescut performanța sistemului prin reducerea frecvenței de regenerare. Dar, în același timp, opțiunea optimă ar putea fi obținută doar prin testare experimentală. Valorile opțiunii ar putea fi selectate din următorul interval: 1, 2, 4, 8, 16. Uneori ar putea fi găsită valoarea 0,5. Această opțiune nu a fost disponibilă de mult timp.
Opțiunea poate fi numită „Refresh Divider”.

Reîmprospătare când CPU Hold

O opțiune destul de învechită care sugera regenerarea ("Activat") sau nu regenerarea ("Dezactivat") în timpul pauzelor procesorului.

Limită de inactivitate SDRAM

Această opțiune setează numărul de cicluri de așteptare „gol” înainte de a reîncărca modulele SDRAM. Setarea optimă îmbunătățește performanța ciclului de citire/scriere prin ajustarea perioadei de timp în care banca de memorie poate rămâne „gol” înainte de reîncărcare, de exemplu. înainte de a rescrie conținutul memoriei înapoi în celule. în care această instalație nu poate funcționa ca o întârziere a ciclului de regenerare.
Reducerea numărului de cicluri de ceas de la 8 (implicit) la 0 înseamnă că banca de memorie SDRAM va fi regenerată imediat de îndată ce controlerul de memorie emite o solicitare validă. Dacă creșteți „SDRAM Idle Limit” de la 8 cicluri de ceas sau mai mult, reîncărcarea băncii va fi întârziată mai mult timp, crescând astfel timpul de „stocare” a informațiilor din memorie în circuitele interne. O comandă de citire/scriere primită în acest moment va fi executată instantaneu. Apoi trebuie să recunoaștem că eficiența memoriei va crește atunci când banca rămâne „golă” mai mult timp. Dar există întotdeauna un DAR! Circuitele interne de reîncărcare nu stochează toate rândurile băncii de memorie, ci doar rândul în curs de regenerare. Prin urmare, o solicitare primită, de exemplu, pentru a citi o anumită linie, cu siguranță nu va „a atinge marcajul”, iar sistemul va trebui să aștepte finalizarea regenerării, mai ales dacă valoarea parametrului este prea mare.
Practic, trebuie să alegeți între valori între 0 și 8 cicluri de ceas, totuși, în măsura în care versiunea BIOS vă permite. Desigur, o astfel de setare necesită o verificare experimentală serioasă. Prin urmare, dacă este posibil să controlați frecvența de regenerare, atunci este mai bine să blocați această opțiune. Specialiștilor cu experiență li se poate recomanda să se „joace” cu două caracteristici.
Opțiunea poate fi numită „DRAM Idle Timer”. Aceste opțiuni au oferit două game de valori:
„Dezactivat”, „0 ciclu”, „8 cicluri”, „12 cicluri”, „16 cicluri”, „24 cicluri”, „32 cicluri”, „48 cicluri”,
„0 ceasuri”, „2 ceasuri”, „4 ceasuri”, „8 ceasuri”, „10 ceasuri”, „12 ceasuri”, „16 ceasuri”, „32 ceasuri”.
Astfel de opțiuni sunt destul de rare. Dar sistemul de pe un chipset AMD751 destul de modern a oferit două simultan:
„Limita de preîncărcare inactiv” cu un rând de „0 cicluri”, „8 cicluri”, „12 cicluri”, „16 cicluri”, „24 de cicluri”, „32 de cicluri”, „48 de cicluri” și „Fără preîncărcare la ralanti” și „Extra” High Idle Limit” cu valorile „Disabled”/”Enabled”. Ultima opțiune permite sau dezactivează inserarea unui ceas de așteptare suplimentar.

Control de preîncărcare SDRAM

- (control de pre-încărcare SDRAM). Această opțiune determină dacă „preîncărcarea” SDRAM este controlată de procesorul central sau chiar de SDRAM. În unele versiuni de BIOS, această opțiune poate fi numită (interpretată) ca „Politica de închidere a paginii SDRAM” („metoda de închidere a paginilor SDRAM” - vezi mai multe în secțiunea următoare). Dacă această opțiune este dezactivată ("Disabled"), atunci toate ciclurile procesorului la SDRAM sunt finalizate cu "All Banks Precharge Command" din interfața de memorie SDRAM, ceea ce îmbunătățește stabilitatea, dar reduce performanța memoriei. Dacă această opțiune este activată ("Activat"), atunci încărcarea preliminară este controlată de cipurile de memorie în sine. Acest lucru reduce numărul de preîncărcări SDRAM și crește semnificativ numărul de cicluri de la CPU la SDRAM înainte ca regenerarea memoriei să fie necesară. Acest lucru îmbunătățește cu siguranță performanța generală a sistemului, dar poate afecta stabilitatea sistemului.

Reîmprospătare SDRAM

Opțiune pentru a selecta o metodă de regenerare pentru memoria SDRAM. Opțiuni posibile: „Serial” (căutare secvențială a rândurilor în timpul regenerării) și „Simultan” (regenerare simultană). Când se ia în considerare opțiunea „Burst Refresh”, au fost deja remarcate dezavantajele regenerării loturilor, în care cererile de regenerare sunt colectate într-un singur pachet. Rândurile sunt „reîncărcate” instantaneu, dar până când regenerarea completă nu este completă, accesul la magistrala de memorie nu va fi posibil. Prin urmare, se va putea vorbi despre instalarea optimă pentru un anumit sistem după teste experimentale.
Această opțiune a fost observată în sistemele construite pe SIS620, SIS600 și alte chipset-uri.

Auto-reîmprospătare

Opțiune pentru a activa modul de „autoregenerare” a memoriei principale (dacă este setat la „Activat”). Acest mod este descris în detaliu mai sus în articolul introductiv.
Opțiunea poate fi numită și „EDO/FPM DRAM Self-Refresh”.

Reîmprospătare lentă (1:4)

- (regenerare lenta). Când această opțiune este activată („Activat”), circuitul de regenerare va regenera memoria de 4 ori mai rar (64 μs față de 16) decât în ​​modul normal. Această configurare îmbunătățește performanța sistemului prin reducerea conflictelor dintre CPU și circuitul de regenerare, dar nu toate tipurile de DRAM pot suporta astfel de cicluri (caz în care va fi raportată o eroare de paritate sau o blocare a sistemului). Apoi trebuie să setați valoarea la „Dezactivat”. La un moment dat, opțiunea a devenit larg răspândită odată cu dezvoltarea unui astfel de tip de computer precum „laptop” (PC de călătorie), ca funcție de economisire a energiei. În sistemele moderne, această opțiune devine din ce în ce mai puțin comună.
La un moment dat, s-a crezut, de asemenea, că utilizarea „regenerării lente” ar fi destul de eficientă atunci când se folosesc plăci de expansiune ISA pe 16 biți care funcționează în modul „bus master”. Deoarece cardul ISA în sine poate iniția o solicitare de regenerare, este clar că o „regenerare lentă” ar perturba mai puțin transferul de date pe canalele DMA.
Opțiunea poate fi numită și „DRAM Slow Refresh”, „Slow Refresh” sau „Slow Refresh Enable”.
Opțiunea poate fi numită și „Slow Memory Refresh Divider”. Dar această opțiune setează un divizor pentru regenerarea lentă: 1, 4, 16 sau chiar 64. Setează cele mai mari valori, adică. Doar memoria specială a făcut posibilă reducerea frecvenței de regenerare la maximum.

Reîmprospătare eșalonată

Un tip de regenerare greu de tradus, ceva de genul „regenerare rulantă”. Dar acest termen de neînțeles se referă la regenerarea „tabla de șah”. După cum știți, regenerarea se realizează pe băncile de memorie secvenţial, cu căutarea secvenţială a rândurilor. Dar dacă există mai multe bănci de memorie și această opțiune este activată, băncile de memorie sunt regenerate simultan, dar cu o schimbare în căutarea liniei.
Acest tip regenerarea vă permite să atenuați creșterea consumului de către modulele de memorie, nivelând curenții în timpul diferitelor procese de comutare. Deoarece supratensiunile de curent sunt reduse, o astfel de regenerare este eficientă în ceea ce privește reducerea interferențelor.
Cu această opțiune oarecum învechită, este posibilă setarea intervalului de timp dintre liniile regenerate, măsurat în cicluri de ceas de sistem (0T, 1T, 2T, 3T, 4T, 5T, 6T, 7T). Setarea lui la „0” permite ca toate rândurile din bănci să fie regenerate în același timp. Dar opțiunea poate oferi și setul obișnuit de valori: „permiteți aplicația”/“respinge” („Activat” și „Dezactivat”).
Opțiunea poate fi numită și „Refresh Stagger” sau „DRAM Refresh Stagger By”.

Memoria cu acces aleatoriu (RAM) este o parte integrantă a sistemelor cu microprocesoare pentru diverse scopuri. RAM este împărțită în două clase: static și dinamic. În memoria RAM statică, informațiile sunt stocate folosind flip-flop, iar în RAM dinamică, informațiile sunt stocate folosind condensatoare cu o capacitate de aproximativ 0,5 pF. Durata de stocare a informațiilor în RAM statică nu este limitată, în timp ce în RAM dinamică este limitată de timpul de autodescărcare al condensatorului, care necesită mijloace speciale de regenerare și timp suplimentar petrecut în acest proces.


Din punct de vedere structural, orice memorie RAM constă din două blocuri - o matrice de elemente de stocare și un decodor de adrese. Din motive tehnologice, matricea are cel mai adesea o decodare în două coordonate a adresei - în rânduri și coloane. În fig. Figura 9.45 prezintă matricea unei SRAM pe 16 biți. Matricea constă din 16 celule de memorie mem_i, a căror diagramă este prezentată în Fig. 9.46. Fiecare celulă de memorie este adresată de intrările X, Y selectând liniile de adresă prin decodor de-a lungul liniilor AxO...Ax3 și coloanele AyO...Ay3 (vezi Fig. 9.45) și furnizând un semnal logic de-a lungul liniilor selectate. În acest caz, un element AND cu două intrări (U1) este declanșat în celula de memorie selectată, pregătind circuite pentru citirea și scrierea informațiilor pe magistralele de biți de intrare DIO...DI3 sau de ieșire DOO...D03. Semnalul de activare pentru emiterea unei adrese este CS (chip select), care este alimentat la intrarea de activare a contorului de adrese (Addr_cnt) sau aceeași intrare a decodorelor conectate la ieșirile contorului.

Când scrieți într-o celulă de memorie (vezi Fig. 9.46), 1 sau 0 este setat pe magistrala de biți corespunzătoare, semnalul 1 este setat la intrarea WR/RD și după ce contorul sau decodoarele de adrese sunt conectate cu semnalul CS, elementele 2I U1, U2 sunt declanșate Frontul pozitiv al semnalului cu elementul U2 este furnizat la intrarea de ceas a D-flip-flop-ului U4, ca urmare a căruia este scris 1 sau 0, în funcție de nivelul semnalului la. intrarea sa D.



La citirea dintr-o celulă de memorie, intrarea WR/RD" este setată la 0, iar elementele U1, U3, U5 sunt declanșate și un semnal de activare este trimis la intrarea OUTPUT ENABLE a elementului tampon U6, în urma căruia semnalul de la ieșirea Q a flip-flop-ului D este transmis către magistrala de biți DOO...D03 Pentru a verifica funcționarea celulei de memorie, se folosește un generator de cuvinte (Fig. 9.47).

Dispozitivele moderne de stocare statică se caracterizează prin performanțe ridicate și sunt utilizate într-o măsură limitată în sistemele cu microprocesoare datorită costului lor relativ ridicat. În astfel de sisteme, acestea sunt folosite doar ca așa-numita memorie cache. Cache înseamnă viteză mare memorie tamponîntre procesor și memoria principală, care servește la compensarea parțială a diferenței de viteză a procesorului și a memoriei principale - datele cele mai frecvent utilizate sunt stocate în ea. Atunci când procesorul accesează o celulă de memorie pentru prima dată, conținutul acesteia este copiat în paralel cu memoria cache, iar dacă este accesat din nou, poate fi preluat din aceasta cu o viteză mult mai mare. Când scrieți în memorie, informațiile intră în cache și sunt simultan copiate în memorie (schema Write Through) sau copiate după un timp (schema Write Back). Cu write-back, numită și buffered write-through, informațiile sunt copiate în memorie în primul ciclu de ceas liber, iar cu scriere întârziată (Delayed Write) - când nu există spațiu liber pentru a plasa o nouă valoare în cache; în acest caz, datele relativ rar utilizate sunt forțate în memoria RAM principală. A doua schemă este mai eficientă, dar și mai complexă datorită necesității de a menține consistența între conținutul cache-ului și memoria principală.

Memoria cache constă dintr-o zonă de date împărțită în blocuri (linii), care sunt unități elementare de informații atunci când funcționează memoria cache și o zonă de etichete care descrie starea liniilor (liber, ocupat, marcat pentru înregistrare suplimentară etc.). Practic, sunt utilizate două scheme de organizare a cache-ului: mapată directă, când fiecare adresă de memorie poate fi stocată în cache doar de o singură linie (în acest caz, numărul liniei este determinat de biții de ordin inferior ai adresei) și asociativ ra-way, când fiecare adresă poate fi stocată în cache pe mai multe rânduri. Un cache asociativ este mai complex, dar permite stocarea în cache mai flexibilă a datelor; Cele mai comune sunt sistemele de cache cu patru linkuri.

Microprocesoarele 486 și mai mari au și un cache intern de 8...16 KB. De asemenea, este desemnat ca Primar (primar) sau LI (Nivel I - primul nivel) spre deosebire de cel extern (Extern), situat pe placă și desemnat Secundar (secundar) sau L2. În majoritatea procesoarelor, memoria cache internă funcționează conform unei scheme de scriere directă, iar în 486 ( procesor Intel P24D și cel mai recent DX4-100, AMD DX4-120, 5x86) și Pentium poate funcționa și cu scriere leneșă. Acesta din urmă necesită suport special din partea plăcii de bază, astfel încât la schimbul prin DMA (acces direct la memorie la dispozitivele de intrare/ieșire) să poată fi menținute consistența datelor în memorie și cache-ul intern. Procesoarele Pentium Pro au și un cache L2 încorporat de 256 sau 512 KB.

ÎN sisteme cu microprocesoare RAM dinamică cu un condensator de stocare, care este foarte versatil, este cel mai adesea folosită ca RAM. Oferim date despre cele mai comune tipuri de astfel de RAM.

În memoria dinamică, celulele sunt realizate pe baza unor zone cu acumulare de încărcături, ocupând o suprafață mult mai mică decât flip-flops și consumând practic deloc energie la stocarea informațiilor. Când un bit este scris într-o astfel de celulă, în ea se formează o sarcină electrică, care rămâne timp de câteva milisecunde; Pentru a menține permanent încărcarea celulei, este necesară regenerarea (rescrierea) conținutului acesteia. Celulele cipurilor de memorie dinamică sunt, de asemenea, organizate sub forma unei matrice dreptunghiulare; La accesarea unui microcircuit, adresa este mai întâi furnizată intrărilor acestuia rânduri de matrice, însoțită de semnalul RAS (Row Address Strobe), apoi, după un timp, adresa coloanei, însoțită de semnalul CAS (Column Address Strobe). De fiecare dată când este accesată o singură celulă, toate celulele rândului selectat sunt regenerate, așa că pentru a regenera complet matricea, este suficient să iterați prin adresele rândului. Celulele de memorie dinamică au o viteză relativ scăzută (zeci - sute de nanosecunde), dar o densitate specifică mare (de ordinul câțiva megaocteți pe carcasă) și un consum mai mic de energie.

RAM convențională este adesea numită asincronă, deoarece setarea adresei și furnizarea semnalelor de control pot fi efectuate la momente arbitrare, este necesar doar să se respecte relațiile de sincronizare dintre aceste semnale. Acestea includ așa-numitele intervale de gardă necesare pentru stabilirea semnalelor. Există și tipuri de memorie sincrone care primesc un semnal de ceas extern, ale cărui impulsuri sunt strict legate de momentele depunerii adresei și schimbului de date; permit o utilizare mai mare a conductelor interne și blochează accesul.

FPM DRAM (Fast Page Mode DRAM - memorie dinamică cu acces rapid la pagină), este utilizat în mod activ în În ultima vreme. Memoria de acces la pagină diferă de memoria dinamică convențională prin aceea că, după selectarea unui rând de matrice și menținerea semnalului RAS, permite setări multiple ale adresei coloanei determinate de semnalul CAS, precum și regenerarea rapidă conform „CAS înainte de RAS” sistem. Primul vă permite să accelerați transferurile de bloc, atunci când întregul bloc de date sau o parte a acestuia se află în interiorul unui rând al matricei, numită pagină în acest sistem, iar al doilea vă permite să reduceți timpul petrecut cu regenerarea memoriei.

EDO (Extended Data Out) sunt de fapt cipuri FPM obișnuite cu registre de blocare a datelor instalate la ieșire. În timpul schimbului de pagini, astfel de microcircuite funcționează în modul conductă simplu: ele rețin conținutul ultimei celule selectate la ieșirile de date, în timp ce adresa următoarei celule selectate este deja furnizată intrărilor lor. Acest lucru face posibilă accelerarea procesului de citire a matricelor de date secvențiale cu aproximativ 15% comparativ cu FPM. Cu adresarea aleatorie, o astfel de memorie nu este diferită de memoria obișnuită.

BEDO (Burst EDO - EDO cu acces la bloc) - memorie bazată pe EDO care funcționează nu în cicluri de citire/scriere în serie, ci în loturi. Procesoarele moderne, datorită stocării în cache interne și externe a comenzilor și datelor, schimbă predominant blocuri de cuvinte de lățime maximă cu memoria principală. Cu memoria BEDO, nu este nevoie să furnizați în mod constant adrese succesive la intrările microcircuitelor, respectând întârzierile de timp necesare, este suficient să treceți la următorul cuvânt cu un semnal separat;

SDRAM (Synchronous DRAM - synchronous dynamic memory) - memorie de acces sincronă care funcționează mai rapid decât asincronul convențional (FPM/EDO/BEDO). Pe lângă accesul sincron, SDRAM utilizează o diviziune internă a matricei de memorie în două bănci independente, ceea ce vă permite să combinați accesul de la o bancă cu setarea unei adrese în alta. SDRAM acceptă și schimbarea blocurilor. Principalul avantaj al SDRAM este suportul său pentru acces secvenţial în modul sincron, unde nu sunt necesare ceasuri de aşteptare suplimentare. Cu acces aleatoriu, SDRAM funcționează aproape la aceeași viteză ca FPM/EDO.

PB SRAM (Pipelined Burst SRAM - static memory with block pipeline access) este un tip de SRAM sincron cu pipelining intern, care dublează aproximativ viteza schimbului de blocuri de date.

Pe lângă memoria RAM principală, un dispozitiv de memorie este, de asemenea, furnizat cu un dispozitiv de afișare a informațiilor - un sistem de afișare video. Această memorie se numește memorie video și se află pe placa adaptorului video.

Memoria video este folosită pentru a stoca imagini. Rezoluția maximă posibilă a plăcii video depinde de volumul acesteia - AxBxC, unde A este numărul de pixeli orizontali, B - pe verticală, C - numărul de culori posibile ale fiecărui pixel. De exemplu, pentru o rezoluție de 640x480x16 este suficient să aveți o memorie video de 256 KB, pentru 800x600x256 - 512 KB, pentru 1024x768x65536 (o altă denumire este 1024x768x64k) - 2 MB etc. Deoarece culorile sunt stocate într-un număr întreg de biți, numărul de culori este întotdeauna o putere întreagă de 2 (16 culori - 4 biți, 256 - 8 biți, 64k - 16 etc.).

Adaptoarele video folosesc următoarele tipuri de memorie video.

FPM DRAM (Fast Page Mode Dynamic RAM - RAM dinamică cu acces rapid la pagină) este principalul tip de memorie video, identică cu cea folosită la plăcile de bază. Folosit activ până în 1996. Cele mai comune cipuri FPM DRAM sunt DIP și SOJ pe patru biți, precum și SOJ pe șaisprezece biți.

VRAM (Video RAM - video RAM) - așa-numita DRAM cu două porturi cu suport pentru acces simultan de la procesorul video și procesor central calculator. Vă permite să combinați în timp afișarea unei imagini pe ecran și procesarea acesteia în memoria video, ceea ce reduce întârzierile și crește viteza de operare.

EDO DRAM (Extended Data Out DRAM - dynamic RAM with extended output data retention time) - memorie cu elemente de pipelining care vă permite să accelerați oarecum schimbul de blocuri de date cu memoria video.

SGRAM (Synchronous Graphics RAM) este o variantă de DRAM cu acces sincron, când toate semnalele de control se modifică simultan cu semnalul de ceas al sistemului, ceea ce reduce întârzierile de timp.

WRAM (Window RAM - window RAM) - EDO VRAM, în care fereastra prin care accesează controlerul video este mai mică decât fereastra pentru procesorul central.

MDRAM (Multibank DRAM - multi-bank RAM) este o variantă de DRAM, organizată sub forma mai multor bănci independente de 32 KB fiecare, care funcționează într-un mod pipeline.

Creșterea vitezei cu care procesorul video accesează memoria video, pe lângă creșterea lățimii de bandă a adaptorului, vă permite să creșteți frecvența maximă de regenerare a imaginii, ceea ce reduce oboseala ochilor pentru operator.

Cipurile de memorie au patru caracteristici principale - tip, dimensiune, structură și timp de acces. Tipul indică memoria statică sau dinamică, capacitatea indică capacitatea totală a memoriei, iar structura indică numărul de celule de memorie și lățimea fiecărei celule. De exemplu, cipurile DIP SRAM cu 28/32 de pini au o structură de 8 biți (8kx8, 16kx8, 32kx8, 64kx8, 128kx8), memoria cache de 256 KB este formată din opt cipuri 32kx8 sau patru cipuri 64kx8 (vorbim despre zona de date). , cipurile suplimentare pot avea o structură diferită pentru stocarea caracteristicilor). Nu mai este posibil să instalați două microcircuite 128kx8, deoarece aveți nevoie de o magistrală de date pe 32 de biți, pe care doar patru microcircuite o pot furniza. SRAM-urile RF obișnuite în pachetele PQFP cu 100 de pini au o structură de 32 de biți 32kx32 sau 64kx32 și sunt folosite în doi sau patru pe plăcile Pentium.

SIMM-urile cu 30 de pini au o structură de 8 biți și sunt utilizate cu două procesoare 286, 386SX și 486SLC și patru cu 386DX, 486DLC și 486DX obișnuit. SIMM-urile cu 72 de pini au o structură de 32 de biți și pot fi utilizate cu 486DX pe rând și cu Pentium și Pentium Pro câte două. DIMM-urile cu 168 de pini au o structură de 64 de biți și sunt utilizate pe rând în Pentium și Pentium Pro. Instalarea modulelor de memorie sau a cipurilor cache în cantități mai mari decât minimul pentru un anumit sistem (placă de bază) vă permite să accelerați lucrul cu acestea folosind principiul intercalării.

Timpul de acces caracterizează viteza microcircuitului și este de obicei indicat în nanosecunde după liniuța de la sfârșitul numelui. Pe microcircuite mai lente, pot fi indicate doar primele cifre (-7 în loc de -70, -15 în loc de -150, pe cele statice mai rapide, „-15” sau „-20” indică timpul real de acces la celulă. Adesea, microcircuitele indică minimul tuturor timpilor de acces posibili, de exemplu, este obișnuit să se marcheze 50 EDO DRAM în loc de 70 sau 45 în loc de 60, deși un astfel de ciclu este realizabil doar în modul bloc, iar în modul unic microcircuitul mai are un timp de acces de 70 sau 60 ns. O situație similară apare și în marcarea PB SRAM: 6 în loc de 12 și 7 în loc de 15. Cipurile SDRAM sunt de obicei marcate cu timp de acces în modul bloc (10 sau 12 ns).

CI de memorie sunt implementate în următoarele tipuri de pachete.

DIP (Dual In line Package - un pachet cu două rânduri de pini) - cipurile clasice utilizate în unitățile de memorie principale ale IBM PC/XT și PC/AT timpurii sunt acum folosite în unitățile de memorie cache.

SIP (Single In line Package - pachet cu un rând de pini) - un microcircuit cu un rând de pini, instalat vertical.

SIPP (Single In line Pinned Package - un modul cu un rând de ace ac) - un modul de memorie introdus în panou ca cipurile DIP/SIP; utilizat la începutul IBM PC/AT.

SIMM (Single In line Memory Module - modul de memorie cu un rând de contacte) - un modul de memorie introdus într-un conector cu clemă; se aplica in toate placi moderne, precum și în multe adaptoare, imprimante și alte dispozitive. SIMM are contacte pe ambele părți ale modulului, dar toate sunt conectate între ele, formând, parcă, un rând de contacte. În prezent, SIMM-urile sunt echipate în principal cu cipuri FPM/EDO/BEDO.

DIMM (Dual In line Memory Module - modul de memorie cu două rânduri de contacte) - un modul de memorie similar cu SIMM, dar cu contacte separate (de obicei 2x84), crescând astfel capacitatea de biți sau numărul de bănci de memorie din modul. Folosit în principal în computerele Apple și plăcile noi P5 și P6. Cipurile EDO/BEDO/SDRAM sunt instalate pe DIMM-uri.

CELP (Card Egde Low Profile - o cartelă joasă cu un conector blade pe margine) este un modul de memorie cache extern asamblat pe cipuri SRAM (asynchronous) sau PB SRAM (sincrone). De aspect similar cu SIMM cu 72 de pini, are o capacitate de 256 sau 512 KB. Un alt nume este COAST (Cache On A Stick - literalmente „cache on a stick”).

Modulele de memorie dinamică, pe lângă celulele de memorie principale, pot avea celule suplimentare pentru stocarea biților de paritate (Parity) pentru octeții de date; astfel de SIMM sunt uneori numite module de 9 și 36 de biți (un bit de paritate pe octet de date). Biții de paritate sunt utilizați pentru a controla corectitudinea citirii datelor din modul, permițându-vă să detectați unele erori (vezi Secțiunea 9.7). Este logic să folosiți module cu biți de paritate numai acolo unde aveți cu adevărat nevoie fiabilitate ridicată. Modulele testate cu atenție fără biți de paritate sunt potrivite și pentru aplicații normale, cu condiția ca placa de bază să accepte aceste tipuri de module.

Cel mai simplu mod de a determina tipul de modul este prin marcarea și numărul de cipuri de memorie de pe acesta: de exemplu, dacă un SIMM cu 30 de pini are două cipuri de un tip și altul de altul, atunci primele două sunt cele principale ( fiecare cu patru biți), iar al treilea este destinat biților de paritate de stocare (este un singur bit).

Într-un SIMM cu 72 de pini cu douăsprezece cipuri, opt dintre ele stochează date și patru dintre ele stochează biți de paritate. Modulele cu 2, 4 sau 8 cipuri nu au memorie pentru a stoca biți de paritate.

Uneori modulele sunt echipate cu un așa-numit simulator de paritate - un cip de adunare care produce întotdeauna bitul de paritate corect atunci când citește o celulă. Acest lucru este destinat în principal instalării unor astfel de module în plăci în care verificarea parității nu este dezactivată.

SIMM-urile cu 72 de pini au patru linii speciale PD (Presence Detect), pe care pot fi setate până la 16 combinații de semnal folosind jumperi. Liniile PD sunt folosite pe unele plăci de bază pentru a determina prezența modulelor de memorie în sloturi și parametrii acestora (volum și viteză). Majoritatea plăcilor universale produse de terți, precum și SIMM-urile pe care le produc, nu folosesc linii PD.

ÎN DIMM-uri Conform specificației JEDEC, tehnologia PD este implementată folosind un EEPROM serial și se numește Serial Presence Detect (SPD). ROM-ul este un cip cu 8 pini situat în colțul plăcii DIMM, iar conținutul său descrie configurația și parametrii modulului. Plăcile de bază cu chipset-uri 440LX/BX pot folosi SPD pentru a configura sistemul de gestionare a memoriei. Unele plăci de bază se pot descurca fără SPD, definind configurația modulelor în mod obișnuit.

Testați întrebări și sarcini

1. Ce tipuri de memorie există?

2. Simulați celula de memorie statică din Fig. 9.46. Sarcina simulării este de a selecta combinații binare pentru semnalele de la intrarea celulei și de a înregistra rezultatul la ieșirea celulei folosind indicatorul IND.

3. Pe baza diagramei din Fig. 9.45 proiectați un circuit RAM pe patru biți folosind un generator de cuvinte. În același timp, în diagrama din fig. 9.45 utilizează doar 4 adrese joase (două în rânduri și două în coloane) și, în consecință, doar două magistrale de date (două de intrare și două de ieșire). Conectați indicatoarele la magistralele de ieșire.

4. Unde este folosită memoria statică în calculatoarele moderne?

5. Cum diferă memoria dinamică de memoria statică?

6. Ce tipuri de memorie dinamică sunt folosite în calculatoarele moderne?

7. Ce este memoria video și cum este legată de caracteristicile informațiilor afișate pe afișaj?

8. Ce tipuri de memorie sunt folosite ca memorie video?

9. Ce design au cipurile de memorie?