Memoria ROM (read-only memory) este un tip de memorie nevolatilă care în mod normal poate fi doar citită, spre deosebire de RAM, care poate fi atât citită, cât și scrisă. Memoria ROM este o clasă de suporturi de stocare utilizate în computere și alte dispozitive electronice. Datele stocate în ROM nu pot fi modificate sau pot fi modificate numai lent ori cu dificultate. De aceea, memoria ROM este folosită în principal pentru a distribui firmware (softul strâns legat de hardul specific și puțin probabilă să aibă nevoie frecvent de update).

Cele mai simple tipuri de memorii ROM cu semiconductore sunt la fel de vechi ca și tehnologia semiconductoarelor. Pentru a realiza un circuit ROM, porțile logice combinaționale pot fi unite manual pentru a mapa adresele de intrare pe un număr de n biți cu valori arbitrare ale datelor de ieșire pe m biți (un tabel de căutare). Odată cu inventarea circuitului integrat a apărut și posibilitatea de utiliza o mască de tip ROM direct pe cipul semiconductor. Masca ROM constă dintr-o grilă de linii de cuvinte (adrese de intrare) și un număr de de biți ca linii (ieșirea datelor), care pot fi unite selectiv împreună cu comutatoare relizate cu tranzistori și astfel se poate obține un tabel de căutare cu valori arbitrare, cu un aspect fizic regulat și timpi de întârziere (de propagare) predictibili. În circuitele cu masca ROM, datele sunt codificate fizic în circuit, deci pot fi programate doar în timpul fabricării. Circuitul PROM a fost inventat în 1956 de către Wen Tsing Chow, care lucra în acel moment pentru American Bosch Arma Corporation în Garden City, New York.[1][2] Circuitele au fost create la cererea Forțelor Aeriene ale SUA. Aceștia doreau o modalitate mai sigură și flexibilă de a stoca coordonatele țintelor în calculatorul digital al rachetelor Atlas E/F. Patentul și tehnologia asociată acestuia a fost ținut secret câțiva ani, timp în care rachetele Atlas E/F au devenit principală armă intercontinentala a SUA. Termenul de "ardere", care se referă la programarea unui circuit PROM, se găsește în patentul original al tehnologiei deoarece una din metodele incipiente de implementare a programării circuitelor era chiar aceea de ardere a diodelor interne cu un curent destul de mare pentru a produce discontinuități în circuit. Primele circuite de programare a PROM-urilor au fost de asemenea dezvoltate de ingineri Arma sub conducerea lui Chow și au fost dispuse în laboratorul Arma din Garden City și la comandamentul SAC (Strategic Air Command).

Primele circuite PROM comerciale, bazate pe tehnologia semiconductorilor, au fost disponibile încă din anul 1969, valoarea celulelor de bit depinzând de arderea unui condensator aflat la intersecția liniilor conductoare. Texas Instruments a realizat circuitul folosind tehnologia MOSFET în 1979.[3] În 1982 s-a trecut de la folosirea condensatoarelor la folosirea tranzistorilor. Cu toate aceste avansuri tehnologice, principiul de ardere propriu-zisă a circuitelor a ridicat o serie de probleme de scalare, programare, mărime și fabricație ce au condus la producția acestora în volume mici.[4]

Utilizare

modificare

Memoria ROM este folosită la anumite funcții în calculatoare din două motive principale:

  1. permanența: valorile stocate în ROM sunt totdeauna acolo, indiferent dacă este pornită sau nu. Memoria ROM poate fi scoasă din calculator și stocată pentru o perioadă nedeterminată de timp și înlocuită, datele conținute continuând să fie acolo. Din acest motiv se mai numește și memorie nevolatilă.
  2. securitatea: faptul că memoria ROM nu poate fi modificată ușor reprezintă un grad de securitate în privința modificărilor accidentale sau rău intenționate ale conținutului. Astfel, nu este posibilă virusarea prin intermediul memoriei ROM. (Tehnic, este posibilă cu EPROM, dar aceasta încă nu s-a întâmplat.)

Memoria ROM este utilizată în principal pentru stocarea programelor de sistem care stau la dispoziție în orice moment. Unul dintre ele este BIOS, stocat pe o memorie ROM, numită system BIOS ROM. Stocarea fiind pe memoria ROM, programul este disponibil odată cu pornirea calculatorului pentru a introduce setările. Întrucât scopul memoriei ROM este să nu fie modificată, apar situații în care este nevoie de schimarea conținutului acesteia.

Clasificare

modificare
  • PROM (Programmable Read Only Memory) este similară cu memoria ROM, dar poate fi programată de utilizator, cu ajutorul unui echipament special. Ceea ce este foarte util pentru companiile care își fac propriul ROM.
  • EPROM (Erasable PROM) poate fi ștearsă prin expunere la radiații ultraviolete și poate fi rescrisă. Microcontrollerele cu EPROM au un orificiu cu un mic geam de cuarț care permite ca cipul să fie expus la radiație ultravioletă. Nu este posibilă alegerea unei părți pentru a fi ștearsă. Memoria poate fi ștearsă și rescrisă de un număr finit de ori.
  • OTPROM (One Time Programmable ROM) este o memorie EPROM, dar cu cipul dispus într-o capsulă din material plastic, fără orificiu, care este mult mai ieftină. Viteza este bună, dar aplicațiile sunt lipsite de flexibilitate.
  • UVPROM sau Flash EPROM (Ultra Violet Programmable Read only Memory) sunt memorii programabile de utilizator. Acestea se pot șterge punându-le într-o cameră cu ultraviolete. Au fost înlocuite de EEPROM care nu trebuie să fie eliminate de pe dispozitiv pentru reprogramare.
  • EEPROM (Electrically Erasable PROM) poate fi ștearsă electric de unitatea centrală cu ajutorul unui anumit soft, în timpul funcționării. Este cel mai flexibil tip de memorie.
  • memorie Flash este asemănătoare cu EPROM și EEPROM, dar nu necesită orificiu de ștergere.

Securitatea memoriei

modificare

Orice locație din ROM poate fi citită în orice ordine, având acces aleator, dar nu se poate scrie. Pentru tipurile de ROM modificabile electric viteza de scriere este mereu mult mai lentă decât viteza de citire și ar putea necesita tensiune înaltă, iar scrierea se face lent. Modern NAND Flash atinge cea mai mare viteză de scriere dintre toate memoriile ROM reinscriptibile, până la 15 MB&s (70 ns/bit), permițând blocuri mari de celule de memorie pentru a fi scrise simultan. Întrucât acestea sunt scrise prin forțarea electronilor printr-un strat de izolare electrică pe o poartă tranzistor plutitoare, memoriile ROM reinscripționabile pot rezista doar un număr limitat de cicluri de scriere și ștergere înainte ca izolația să fie permanet deteriorată. În primele memorii EAROM aceasta putea să apară după mai puțint o mie de cicluri de scriere. Memoria moderna Flash EEPROM numărul poate depăși un milion. Această rezistență limitată, precum și costul mai ridicat înseamnă că spațiile de stocare Flash este puțin probabil să înlocuiască complet în viitorul apropiat diskdrive-urile magnetice.

Securitatea constă într-un circuit folosit pentru a inhiba copierea nepermisă a datelor read-only. Ea servește pentru a anula datele citite din memoria read-only, cu excepția cazului în care o adresă de memorie folosită pentru a specifica datele de ieșire întâlnește o adresă prestabilită. Astfel, circuitul de securitate poate dezactiva toate semnalele adresă sau unul dintre semnalele adresă atunci când o adresă prestabilită este accesată într-o operațiune nepermisă de copiere a datelor.

Sistemul de securitate este utilizat pentru locații de memorie programabilă read-only la o scară foarte largă (VLSI). Într-o primă fază este stocat primul bit. Primul bit de securitate a datelor are valoarea primă dată când primul bit de securitate de memorie este neprogramat, și are valoarea a doua când primul bit de securitate este programat. Într-o a doua locație a memoriei este stocat al doilea bit de securitate de memorie. Al doilea bit de securitate a datelor are valoarea primă dată când al doilea bit de securitate a memoriei este neprogramat, și a doua valoare când al doilea bit de securitate a memoriei este programat. Un select logic este cuplat la prima locație de memorie de securitate biți și al doilea bit de securitate locație de memorie. Accesul logic previne orice dispozitiv în afara circuitului VLSI să aibă acces direct la spațiile programabile de memorie read-only în cazul în care logica de selecție nu selectează niciun bit de securitate a datelor.

Instrumente de programare a memoriilor ROM

modificare

La început, cele mai multe memorii ROM erau fabricate având valorile 0 și 1 integrate în pastilă. Pastila reprezintă, de fapt, cipul din siliciu. Acestea se numesc memorii ROM cu mască, deoarece datele sunt inscripționate în masca cu care este realizată pastila ROM prin procedeul fotolitografic. Această metodă de fabricare este economică dacă se fabrică sute sau mii de cipuri ROM cu exact aceleași informații. Dacă însă trebuie sa se modifice un singur bit, trebuie să se refacă masca, ceea ce este o operațiune costisitoare. Datorită costurilor și lipsei de flexibilitate, în prezent aceste memorii ROM cu mască nu se mai folosesc.

Programarea PROM

modificare

Un PROM gol poate fi programat prin scriere. În mod normal, pentru aceasta, este necesar un aparat special numit programator de dispozitive, programator de memorii ROM sau arzător de memorii ROM.

Fiecare bit 1 binar poate fi considerat ca o siguranță fuzibilă intactă. Cele mai multe cipuri funcționează la 5 V, dar atunci când programăm un PROM, aplicăm o tensiune mai mare (de obicei 12 V) pe diferite adrese din cadrul cipului. Această tensiune mai ridicată topește (arde) fuzibilele din locațiile pe care le alegem, transformând orice 1 într-un 0. Deși putem transforma un 1 într-un 0, procesul este ireversibil (deci nu putem reface un 1 dintr-un 0). Dispozitivul de programare analizează programul care urmează să fie scris în cip și apoi schimbă selectiv biții 1 în 0 numai acolo unde este necesar. Din acest motiv, adeseori, cipurile ROM sunt numite și OTP (One Time Programmable - programabile o singură dată). Ele pot fi programate o singură dată și nu pot fi șterse niciodată. Operațiunea de programare a unui PROM durează de la câteva secunde la câteva minute, în funcție de mărimea cipului și de algoritmul utilizat de către dispozitivul de programare.

Programarea EPROM

modificare

EPROM-urile sunt identice cu PROM-urile din punct de vedere funcțional și fizic, cu excepția ferestrei din cuarț de deasupra pastilei. Scopul ferestrei este acela de a permite luminii ultraviolete să ajungă la pastila cipului, deoarece EPROM-ul poate fi șters prin expunere la o lumină ultravioletă intensă.

Lumina ultravioletă șterge cipul prin provocarea unei reacții chimice care reface fuzibilele prin topire. Astfel, toate 0-urile binare din cip devin l, iar cipul este readus în starea inițială de fabricație, cu biți l în toate locațiile.

Programarea EEPROM

modificare

Memoriile EEPROM pot fi șterse și reprogramate chiar în placa cu circuite în care sunt instalate, fară a necesita un echipament special. Folosind un EEPROM se poate șterge și reprograma memoria ROM a plăcii de bază într-un calculator fără scoaterea cipului din sistem sau chiar fără deschiderea carcasei.

Cipul EEPROM (sau Flash ROM) poate fi identificat prin lipsa ferestrei de pe cip. Modernizarea memorie ROM de tip EEPROM poate fi făcută cu ușurință, fără a fi nevoie să schimbăm cipurile. În majoritatea cazurilor, programul ROM actualizat poate fi descărcat de pe site-ul Web al producătorului plăcii de bază, după care este necesară rularea unui program furnizat în mod special pentru actualizarea memoriei ROM.

Vezi și

modificare
  1. ^ Han-Way Huang (). Embedded System Design with C805. Cengage Learning. p. 22. ISBN 978-1-111-81079-5. Arhivat din original la . 
  2. ^ Marie-Aude Aufaure; Esteban Zimányi (). Business Intelligence: Second European Summer School, eBISS 2012, Brussels, Belgium, July 15-21, 2012, Tutorial Lectures. Springer. p. 136. ISBN 978-3-642-36318-4. Arhivat din original la . 
  3. ^ See US Patent 4184207 Arhivat în , la Wayback Machine. - High density floating gate electrically programmable ROM, and US Patent 4151021 Arhivat în , la Wayback Machine. - Method of making a high density floating gate electrically programmable ROM
  4. ^ Chip Planning Portal. ChipEstimate.com. Retrieved on 2013-08-10.

Bibliografie

modificare
  • Baruch Zoltan Francisc: Arhitectura calculatoarelor, Editura Todesco, Cluj-Napoca, 2000, ISBN 973-99780-7-x
  • Aurel Șerb: Arhitectura și structura calculatoarelor, Editura Pro Universitaria, 2011, ISBN: 978-973-129-982-2
  • Floarea Baicu, Liviu Gabriel Baicu: Arhitectura calculatoarelor, Editura Universitară, 2014, ISBN: 978-606-591-987-7
  • Nicolae Robu: Arhitectura calculatoarelor, Editura Politehnică, Timișoara, 2014, ISBN: 973-8247-01-2
  • Vințan N. Lucian: Fundamente ale arhitecturii microprocesoarelor, Editura Matrix Rom, București, 2016, ISBN 978-606-25-0276-8
  • Coca, Eugen; Ion Spânulescu (). Circuite integrate digitale și sisteme cu microprocesoare. București: Editura Victor. ISBN 973-973318-2. 
  • Burileanu, Corneliu (). Arhitectura microprocesoarelor. București: Editura Denix. 
  • Lupu, Cristian; Țepelea Vlad; Purice Emil (). Microprocesoare. Aplicații. București: Editura Militară. 
  • Căpățână, Octavian; Hasegan Dan; Cornea Marius; Pușca Mircea V. (). Proiectarea cu microprocesoare. Cluj-Napoca: Editura Dacia. 

Legături externe

modificare