__БЕЗКН__
316px|thumb|ROM -{ROM}- () 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. 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: 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. Vreme između završetka dizajna i dobijanja gotovog proizvoda je veliko iz istog razloga koji je gore naveden. Mask ROM nije praktičan za istraživanje i razvoj pošto dizajneri moraju često da menjaju sadržaj memorije tokom dizajniranja. 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 ultraljubič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 ostvario taj cilj i poredio se sa tvrdim diskomSee page 6 of Toshiba's 1993 NAND Flash Applications Design Guide., 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 potroš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 tranzistoruSee chapters on "Combinatorial Digital Circuits" and "Sequential Digital Circuits" in Millman & Grable, Microelectronics, 2nd ed. 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žuriranja 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 samim 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 thumb|right|300px|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:
Programmable read-only memory (PROM), ili one-time programmable ROM (OTP) memorija može biti programirana 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. Erasable programmable read-only memory (EPROM) memorija može biti izbrisana izlaganjem jakoj ultraljubičastoj 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. Electrically erasable programmable read-only memory (EEPROM) je po strukturi slična EPROM memoriji, ali dozvoljava da čitava memorija ili njeni delovi budu električno izbrisani, 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). Electrically alterable read-only memory (EAROM) je tip EEPROM memorije koja može biti modifikovana po bitu.
Upisivanje je veoma sporo i zahteva veći napon (uglavnom 12V) nego za pisanje. Namenjene su za aplikacije koje zahtevaju
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