ROM

Из Википедије, слободне енциклопедије
ROM - Read Only Memory

ROM memorija (engl. Read-only memory - memorija iz koje se podaci mogu samo čitati) je vrsta memorije koja se koristi u računarima i drugim elektronskim uređajima. Podaci skladišteni u ROM memoriji ne mogu biti izmenjeni, ili mogu biti izmenjeni sporo i sa teškoćama, pa se uglavnom koristi za firmware (softver koji je vezan za specifični hardver i ne zahteva česta ažuriranja).

Iako se diskretna kola u principu mogu menjati, integrisana kola ne mogu i beskorisna su ako su podaci oštećeni. Uprkos jednostavnosti, brzini i ekonomičnosti mask ROM memorije, ugnježdeni sistemi ( embedded system ) često prave reprogramabilne memorije koje su fleksibilnije i jeftinije. Od 2007, ROM kola se uglavnom koriste za aplikacije kao što su mikrokodovi i slične strukture, na različitim tipovima procesora.

Druge vrste stalne memorije kao što su EPROM i EEPROM nazivaju se skraćeno samo ROM memorije iako se ovi tipovi memorije mogu brisati i reprogramirati više puta,s’tim što upisivanje u memoriju može trajati duže i može zahtevati drugačiju proceduru za upisivanje nego što je potrebno učiniti za čitanje [1]. Kada se govori na manje precizan način, ROM se odnosi na stalnu memoriju za skladištenje programskog koda ili neizmenljivih podataka.


Istorija[уреди]

Najjednostavniji tip solid state ROM memorije je star koliko i poluprovodnička tehnologija. Kombinovana logička kola mogu biti udružena da mapiraju n-bitni adresni ulaz na proizvoljnim vrednostima m-bitnog izlaza (look-up tabela). Sa pronalaskom integrisanih kola dolazi mask ROM. Mask ROM sadrži rešetku linija reči (adresni ulaz) i liniju bitova(izlaz podataka), selektivno udružene sa tranzistorskim prekidačima i mogu predstavljati proizvoljnu look-up tabelu sa regularnim fizičkim rasporedom i predvidljivog kašnjenja.

U mask ROM-u , podaci su fizički kodirani u kolu, pa samim tim mogu biti programirani samo tokom proizvodnje. Ovo izaziva niz mana:

  1. Ekonomično je samo kupiti veliki broj mask ROM memorija pošto korisnici moraju da sklope dogovor sa proizvođačima da bi proizveli poseban dizajn.
  2. Vreme između završetka dizajna i dobijanja gotovog proizvoda je veliko iz istog razloga koji je gore naveden.
  3. Mask ROM nije praktičan za istraživanje i razvoj pošto dizajneri moraju često da menjaju sadržaj memorije tokom dizajniranja.
  4. Ako je proizvod isporučen sa mask ROM memorijom koja sadrži grešku, jedini način da se ovo ispravi jeste da se u svim proizvodima fizički zameni memorija.

Kasniji razvoj nadoknadio je ove nedostatke. PROM, pronađen 1956, dozvolio je korisnicima da programiraju sadržaje tačno jednom fizički menjanjem strukture uz primenu visokog napona impulsa. Isti je rešio prethodna 2 problema, jer firma može jednostavno naručiti velike serije PROM čipova i programirati ih sa željenim sadržajem onako kako njihovi dizajneri žele. 1971. pronalaskom EPROM, suštinski je rešen problem broj 3, jer EPROM (za razliku od PROM) može više puta da se vraća na neprogramirano stanje izlaganjem jakim ultaljubičastim svetlostima. EEPROM, pronađen 1983, prelazi dug put u rešavanju problema broj 4, jer EEPROM se može programirati u mestu ako sadrži uređaj koji pruža mogućnost da primi programske sadržaje sa spoljnog izvora (na primer, personalni računar preko serijskog kabla). Flash memorija, koju je izumela Toshiba sredinom 1980.godine i komercijalizovala 1990.godine, je oblik EEPROM koji čini vrlo efikasno korišćenje čip oblasti koje se mogu brisati i reprogramirati hiljadama puta bez oštećenja. Sve ove tehnologije poboljšavaju fleksibilnost ROM memorije, osim najznačajnije, cene po čipu, pa će u velikim količinama mask ROM ostati ekonomičan izbor za mnogo godina. (Smanjenje troškova reprogramabilnih uređaja je gotovo eliminisano tržište za mask ROM od 2000.) Tehnologije za ponovno upisivanje su zamišljene kao zamena za mask ROM. Najnoviji razvoj je NAND flash, koju je takođe izumela Toshiba. Njegovi dizajneri su eksplicitno prekinuli praksu iz prošlosti, navodeći jasno da je „cilj NAND flash da zameni hard diskove“, a ne tradicionalne upotrebe ROM kao oblika stalnog primarnog skladišta. Od 2007, NAND je delimično ostavario taj cilj i poredio se sa tvrdim diskom[2], nudeći veću toleranciju fizičkog šoka, ekstremne minijaturizacije (u obliku USB flash diskova i sitnih microSD memorijskih kartica, na primer) i mnogo manju potošnju energije.

Korišćenje za skladištenje programa[уреди]

Svaki računar zahteva neki vid stalne memorije (memorija koja sadržava svoj sadržaj nakon prestanka napajanja) za čuvanje određenog programa koji se aktivira kada se računar uključi ili kada počne izvršavanje (proces poznat kao bootstraping ili skraćeno bootovanje). Isto tako, svaki ne-trivijalan računar zahteva neki oblik promenljive memorije za snimanje stanja tokom izvršavanja.

Tipovi read-only memorije korišćeni kao stalno skladište za programe u prvim računarima, kao što je ENIAC posle 1948. godine(Pre toga nije postojao računar koji čuva programe,već je svaki program morao biti ručno povezan što je moglo da traje danima pa čak i nedeljama). ROM memoriju bilo je lakše koristiti pošto je samo bio potreban mehanizam za čitanje snimljenih vrednosti, a ne menjati ih u mestu, a menjanje je moglo da se realizuje upotrebom grubih elektromehaničkih uređaja (videti istorijske primere ispod). Sa pojavom integrisanih kola 1960. godine ROM i statički RAM bili su implementirani kao niz tranzistora u silikonskom čipu;međutim, ćelija ROM memorije mogla je biti implementirana sa manje tranzistora nego ćelija SRAM memorije, pošto je SRAM memorija koristila flip-flopove,dok ćelija ROM memorija sadrži logičku nulu ili jedinicu koju čuva u jednom tranzistoru[3] Posledično, ROM je mogao biti implementiran po nižoj ceni po bitu mnogo godina.

Većina kućnih računara osamdesetih godina skladištila je BASIC interpreter ili operativni sistem u ROM memoriji pošto su tada drugi tipovi stalne memorije, kao što je magnetni disk, bili veoma skuplji. Na primer, Commodore 64 imao je 64kB RAM memorije i 20kB ROM memorije i sadržao je BASIC interpreter i KERNAL operativnog sistema. Kasnije, kućni ili poslovni računari kao što je IBM PC XT često su sadržali magnetne diskove, i veće količine RAM-a, omogućavajući tako da se operativni sistem učita sa tvrdog diska u RAM memoriju, ostavljajući u ROMusa malo hardverske inicijalizacije i bootloader (BIOS). Ovo je omogućilo kompleksnije i lako ažurne operativne sisteme.

U modernim računarima, ROM memorija se koristi da skladišti osnovni bootstraping firmware za glavni procesor, kao i različiti firmware koji treba da kontroliše uređaje kao što su grafičke kartice, hard-diskovi, DVD, TFT monitori i slično itd. u sistemu. Danas, mnoge od ovih „samo za čitanje“ memorija - naročito BIOS - su zamenjene flash memorijama, da bi omogućile reprogramiranje u mestu i ažuriranje firmwarea. Ipak, jednostavni i starije podsistemi (kao što je tastatura ili neki komunikacioni kontroleri u integrisanim kolima na matičnoj ploči,npr) mogu da koriste mask ROM ili druge memorije koje se programiraju samo jednom.

ROM i naslednici ove tehnologije kao što je flash memorija preovlađuju u ugnježdenim(embedded) sistemima. U ovo spada sve od industrijskih robota do kućnih aparata i ostale elektronike (mp3 plejeri itd.) i svi koji su dizajnirani za specifične funkcije, bazirani su na procesorima opšte namene. Sa softverom koji je čvrsto vezan za hardver, promene programa su često retke za takve uređaje(uglavnom nemaju hard-diskove zbog cene, veličine i potrošnje energije). Od 2008. većina uređaja koristi flash umesto ROM memorije, i mnogi imaju mogućnost povezivanja na PC radi ažuriranaj firmwarea: npr digitalni audio uređaj može da ažurira firmware da bi podržao neki novi fajl format. Neki hobisti su iskoristili ovu pogodnost da reprogramiraju proizvode za korišćenje u nove svrhe npr. iPodLinux i OpenWrt projekti omogućili su korisnicima da pokrenu Linux operativni sistem na svojim mp3 plejerima i wireless ruterima.

ROM je takođe koristan za binarno skladištenje kriptografskih podataka, pošto i čini težim za izmenu i sammi tim poboljšava bezbednost informacionog sistema.

Korišćenje za skladištenje podataka[уреди]

Pošto ROM ne može biti modifikovan, samim tim je pogodan za skladištenje podataka koji ne trebaju biti promenjeni tokom života uređaja. U tom cilju, ROM je korišćen da u mnogim računarima skladišti look-up tabelu za računanje matematičkih i logičkih funkcija(npr, uređaj sa pokretnim zarezom može brže da računa sinusnu funkciju). Ovo je naročito bilo efektivno kada je CPU bio spor a ROM memorija je bila jeftina u poređenju sa RAM memorijom.

Naime, grafičke kartice prvih računara čuvale su tabelu bitmapiranih font karaktera u ROMu. Ovo znači da font teksta nije mogao biti menjan interaktivno. Ovo je bio slučaj za obe CGA i MDA kartice dostupne sa IBM PC xt računarom.

Korišćenje ROM memorije za skladištenje tako malog broja podataka gotovo je nestala sa pojavom modernih računara opšte namene. Međutim Flash ROM je preuzeo novu ulogu kao medij za masovno skladištenje ili sekundarno skladištenje fajlova.

Tipovi[уреди]

The first EPROM, an Intel 1702

Poluprovodničke[уреди]

Klasični mask ROM čipovi su integrisana kola koja fizički kodiraju podatke koji trebaju da budu sačuvani, i zbog toga je nemoguće izmeniti njihov sadržaj posle fabrikacije. Drugi tipovi stalne solid-state memorije dopuštaju neki stepen modifikacije:

sa specijalnim uređajem zvanim PROM programer. Jednostavnije, ovaj uređaj koristi visok napon da trajno uništi ili napravi interne veze unutar čipa,pa zbog toga može da se programira samo jednom.

svetlosti(obično 10 minuta ili duže),onda se ponovo upisuje voltažom jačom nego što je potrebna za rad. Često izlaganje

EPROM memorije ultraljubičastoj svetlosti će istrošiti memoriju, ali obično može da se izvrši 1000 ciklusa brisanja i

reprogramiranja. EPROM čipovi mogu biti prepoznati po kvarcnom prozorčiću koji dopušta UV svetlosti da uđe. Posle programiranja prozorčić se obično prekriva da bi se izbeglo slučajno brisanje. Neki EPROM čipovi su fabrički izbrisani pre pakovanja pa nemaju prozor, a samim ti su efektivni kao PROM.

dozvoljava da čitava memorija ili njeni delovi budu električno izbirasni, zatim električno upisani pa ne zahtevaju da se vade iz uređaja. Brisanje ili flešovanje je mnogo sporije(milisekunde po bitu) nego čitanje sa ROMa ili pisanje u RAM (u oba slučaja brzina je u nano sekundama).

Upisivanje je veoma sporo i zahteva veći napon (uglavnom 12V) nego za pisanje. Namenjene su za aplikacije koje zahetvaju

povremeno i parcijalno ponovno upisivanje. EAROM može da se koristi za stalno skladište kritičnih sistemskih informacija. U

mnogim uređajima EAROM je zamenjen sa CMOS RAM memorijom koja se napaja litijumskom baterijom.

    • Flash memory (ili jednostavnoflash) je moderan tip EEPROM memorije koja je pronađena 1984. Flash memorija

može biti upisana i izbrisana brže od obične EEPROM memorije,a noviji dizajni podražavaju oko 1 000 000 ciklusa pisanja i brisanja. Moderna NAND flash memorija efikasno koristi silikonski čip, pa kapaciteti memorije idu i preko 32gb od 2007. Ova pogodnost zajedno sa trajnošću omogućila je da NAND flash negde zameni magnetne diskove.Sa apliciranjem zaštite upisivanja, neki tipovi reprogramabilnih memorija mogu da postanu memorije koje služe samo za čitanje.


Druge tehnologije[уреди]

Postoje i drugi tipovi stalne memorije koji se ne baziraju na solid state tehnologiji integrisanih kola, uključujući: optički medijum, kao što je cd-rom koji je samo za čitanje (analogno mask ROM-u). CD-R je namenjen za jedno upisivanje, a za mnogo čitanja (analogno PROM-u), dok CD-RW cikluse brisanja i pisanja (analogno EEPROM-u).

Istorijski primerci[уреди]

Transformer matrix ROM (TROS), from the IBM System 360/20
  • Diode matrix ROM, korišćen u računarima šezdesetih godina, elektronskim kalkulatorima i koderima tastatura za terminale. Ova memorija bila je programirana ugradnjom diskretne poluprovodničke diode na odabranim lokacijama između matrične linije reči i linija bitova na štampanoj ploči.
  • Otpornik, kondenzator ili ROM matrica transformatora koristila se u mnogim računarima do 1970. godine. Kao i ROM matrica dioda, bila je programirana postavljanjem komponenti na izabranim lokacijama između matrične linije reči i linija bitova. ENIAC-ova tabela funkcija bila je napravljena od ROM matrice otpornika, programirana ručnim podešavanjem rotirajućeg prekidača. Razni modeli računara IBM System/360 i kompleksni periferni uređaji čuvali su svoj mikrokod u ROM matrici kondenzatora (zvanoj BCROS-balanced capacitor read-only storage na 360/50 i 360/65, ili CCROS - card capacitor read-only Storage na 360/30) ili otpornika (zvanoj TROS - transformer read-only storagena 360/20, 360/40 i drugih).
  • Core rope, vrsta ROM matrice dioda transofrmatora korišćena kada su veličina i težina bili kritični. Bila je korišćena u NASA/MIT's Apollo Spacecraft računaru, DEC PDP-8 računaru i na drugim mestima. Bila je programirana ručnim tkanjem „žičnih linija reči“ unutar ili van jezgra feritnih transformatora

Brzina[уреди]

Čitanje[уреди]

Iako je relativna brzina RAM protiv ROM varirala tokom vremena, od 2007. godine većina RAM čipova može se brže pročitati od većine ROM memorija. Iz tog razloga ( i da omogući ravnomernu pristup ) , sadržaj ROM-a se ponekad kopira u RAM.

Upisivanje[уреди]

Za one vrste ROM memorije koje se mogu elektronski modifikovati, brzina pisanja je uvek mnogo manja od brzine čitanja, i može da zahteva neuobičajeno viši napon, pomeranje jumpera da omogući upisivanje i specijalni komandni kod za zaključavanje/otključavanje. Moderni NAND flash tip memorije postiže najveće brzine upisivanja u ROM tehnologiji, sa brzinom od 15 MB/s (ili 70 ns/bit), omogućavajući da veliki blokovi memorijskih ćelija budu upisivani istovremeno.

Izdržljivost i zadržavanje podataka[уреди]

Zbog upisivanja forsiranjem elektrona kroz sloj električne izolacije na plutajuću kapiju tranzistora, ponovo upisive ROM memorije mogu izdržati ograničen broj ciklusa brisanja i upisivanja pre nego što izolacija bude trajno oštećena. U ranijim EAROM memorijama, broj ciklusa bio je oko 1000 dok je u modernim NAND flash memorijama i preko 1 000 000, ali ni to nije nikako beskonačno. Ovo ograničenje, kao i cena po bitu, znači da Flash memorija ne može trajno da zameni magnetne diskove u bliskoj budućnosti.

Vremenski raspon u kom ROM ostaje čitljiv nije ograničen ciklusima upisivanja. Zadržavanje podataka u EPROM, EAROM, EEPROM, i Flash memoriji može biti ograničeno curenjem punjenja iz plivajućih kapija u memorijskim ćelijama tranzistora. Curenje je ubrzano visokim temperaturama ili zračenjem. Mask ROM i fuse/antifuse PROM ne podležu ovim efektima, zbog toga što zadržavanje podataka više zavisi na fizičkoj, a manje na elektronskoj stalnosti integrisanog kola(mada je rast osigurača problem u nekim sistemima).

Sadržaj image-a[уреди]

Sadržaj ROM čipova u ketridžima video igračkih konzola može biti izdvoje specijalnim hardware-om ili software-om. Dobijeni memorijski dump fajlovi su poznati kao ROM image, i mogu biti korišćeni da proizvedu duplirane ketridže, ili u konzolnim emulatorima. Termin je nastao kada je većina konzolnih igara bila distribuirana na ketridžima koji su sadržali ROM čip, ali postigli su toliko široku upotrebu da se i dalje koriste za distribuciju novijih igrica na cd-romovima ili drugim optičkim medijumima.

Rom image komercijalnih igrica uglavnom sadrži software sa zaštićenim autorskim pravima. Neovlašćeno kopiranje i distribucija softvera zaštićenog autorskim pravom je obično kršenje zakona(u nekim zakonodavstvima, kopiranje u svrhu backup-a je dozvoljeno)

Videti još[уреди]

Terminologija[уреди]

  • EEPROM: electrically erasable programmable read-only memory
  • EPROM: erasable programmable read-only memory
  • PROM: programmable read-only memory

Референце[уреди]

  1. ^ Definition of: flash ROM, PC Magazine.
  2. ^ See page 6 of Toshiba's 1993 NAND Flash Applications Design Guide.
  3. ^ See chapters on "Combinatorial Digital Circuits" and "Sequential Digital Circuits" in Millman & Grable, Microelectronics, 2nd ed.