Memorija sa slučajnim pristupom (engl. Random-access memory, RAM) ili operativna memorija, označava vrstu memorije koja je direktno adresibilna i njenom sadržaju se može pristupiti po proizvoljnoj lokaciji, a ne samo redom (sekvencijalno, kao kod traka). RAM dozvoljava da se podaci uzimaju direktno u nasumičnom redosledu. Drugi medijumi poput tvrdih diskova, CD-ova, DVD-ova i magnetnih traka, kao i primitivnih tipova memorija poput doboš memorije, podaci se zapisuju u predodređenom redu, uzastopno, zbog ograničenja mehaničkog dizajna. Zbog toga, vreme prisutpanja datoj lokaciji varira zavisno od fizičke lokacije.
Najčešće se koristi u računarima kao primarna ili glavna memorija, mada to nije neophodno.
Danas je RAM u obliku integrisanih kola. Striktno govoreći, moderni tipovi DRAM-a nemaju nasumičan pristup, pošto se podaci čitaju u rafalima, iako je ime DRAM ostalo. Ipak mnogi tipoviSRAM-a, ROM-a, OTP-a i NOR fleša i dalje imaju slučajan pristup i u striktnom smislu. RAM se povezuje sa nepostojanim tipom memorije (kao što su DRAM memorijski moduli), gde se informacije gube ako nestane struje. Mnogi drugi tipovi postojane memorije su RAM takođe, uključujući većinu ROM i jedan tip Fleš memorije zvan NOR-Fleš. Prvi RAM moduli na tržištu su napravljeni 1951. i prodavani su do kraja 1960ih.
Pod terminom „RAM“ se često smatraju memorije koje gube sadržaj po prestanku napajanja (npr. nasuprot ROM memorijama), ali to nije neophodno jer skraćenica „RAM“ jedino označava slobodu u redosledu pristupa.
Rani računari su koristili releje za glavne funkcije memorije. Ultrazvučne linije na kašnjenje su mogli da isporuče podatke samo onako kako su napisani. Doboš memorija je mogla jeftino da se proširi ali vraćanje nesekvencijalne memorije je zahtevalo poznavanje doboš memorije. Reze napravljene od trioda iz vakumskih cevi i diskretnih tranzistora su korišćene za manje i brže memorije kao što su registri sa nasumičnim pristupom. Takvi registri su bili veliki, neefikasni i skupi za čuvanje velikih podataka. Generalno se moglo koristiti samo stotinu ili hiljadu bajtova.
Prva praktična RAM memorija je bila Vilijamsova tuba, napravljena 1947. Čuvala je podatke kao električno nabijene tačke na ekranu CRT. Pošto je elektronski zrak mogao da piše i čita tačke na tubi u bilo kom redosledu, ovo je bila RAM. Kapacitet je porastao sa nekoliko stotina na hiljadu bitova, ali je bila mnogo manja, efikasnija i brža. Razvijena je n Univerzitetu Mančester u Engleskoj.
Memorija sa magnetnim jezgrom je napravljena 1947. i razvijana je do 1970ih. Postala je široko korišćena vrsta RAM-a. Menjanjem magnetizacije svakog prstena, podaci bi mogli biti čuvani sa jednim bitom po prstenu. Pošto je svaki prsten imao kombinaciju adresnih žica za biranje i čitanje ili pisanje, pristup bilo kojoj memorijskoj lokaciji je bio moguć.
Memorija sa magnetnim jezgrom je bila standardna memorija dok je nije zamenila memorija čvrstog stanja, sa početkom 1970ih. Robert Denard je izumeo DRAM 1968. Ovo je omogućilo eksperimentisanje sa 4 ili 6 tranistornim kolom sa rezom od jednog tranzistora za svaki memorijski bit, što je značajno povećalo gustinu memorije. Oidacu sz postavljani u mali kapacitet u svakom tranzistoru i morao je biti periodično osvežen svakih par milisekundi pre nego što memorija iscuri. Pre razvoja integrisanih ROM kola, trajni RAM je često pravljen koristeći matrice dioda koje su pokretali dekoderi adresa.
Tipovi RAM-a
Tri glavna tipa modernog RAM-a su statički RAM (SRAM), dinamički RAM (DRAM) i memorija sa promenom faze (PRAM). U SRAM-u, deo podataka je čuvan korišćenjem stanja flip flopova. Ova vrsta RAM-a je skuplja za proizvodnju, ali je brža i zahteva manje struje od DRAM-a i u modernim računarima se češće koristi kao keš memorija za CPJ.
DRAM čuva deo podataka korišćenjem tranzistora i kondenzatora, koji zajedno čine memorijsku ćeliju. Kondenzator drži visoko ili nisko stanje (1 ili 0), a tranzistor se ponaša kao prekidač koji dopušta kontroli na čipu da čita stanje kondenzatora i da ga menja. Pošto je ovaj tip memorije jeftiniji od SRAM-a, dominantan je u računarskoj memoriji u današnjim računarima.
I statički i dinamički RAM su nepostojani, jer se njihovo stanje gubi ako nestane struje. RAM koji ne gubi sadržaj po nestanku napajanja (NVRAM - Non-Volatile RAM). ROM sa druge strane zauvek čuva podatke tako što trajno uključuje ili isključuje izabrane tranzistore tako da memorija ne može da se menja. Varijante ROM-a na koje može da se piše kao što su EEPROM i Fleš memorija dele osobine i sa ROM-om i sa RAM-om, što omogućava podacima da istraju bez struje i da se ažuriraju bez poseebne opreme. Ove istrajne forme poluprovodničkog ROM-a korsite USB fleševi, memorijske kartice i tako dalje. ECC memorija ima specijalna kola za detektovanje i popravljanje sličajnih (memorijskih) grešaka u sačuvanim podacima.
Neke RAM memorije imaju više pristupnih magistrala, za više nezavisnih korisnika. Po tome se dele na:
- Dvoportni RAM - RAM sa dva kompletna nezavisna porta, pristupna puta.
- Video RAM - dvoportni RAM u koje je jedna magistrala nudi samo sekvencijalni pristup.
Savremeni operativni sistemi omogućavaju simulaciju RAM memorije na tvrdim diskovima u vidu virtuelne memorije.
Hijerarhija memorije
Mnogi računarski sistemi imaju ovu hijerarhiju koja se sastoji od CPJ registara, SRAM keša na čipu, eksterni keš, DRAM i virtuelnu memoriju na tvrdom disku. Svu ovu memoriju proizviđači zovu RAM čak iako razni podsistemi mogu imati različita vremena pristupa. Čak u hijerarhiji sa nivoima poput DRAM-a, specifični red, kolona, rang, kanal komponenti čine da ovo vreme varira. Sveobuhvatni cilj memorijske hijerarhije je imati najbolje moguće performanse i smanjenje cene celog memorijskog sistema (memorijska hijerarhija prati pristupna vremena sa brzim CPJ registrima na vrhu i sporim tvrdim diskom na dnu).
U većini modernih računara, RAM dolazi u obliku memorijskih modula ili DRAM modula. Ovi moduli se mogu brzo zamenizi ako se pokvare ili kada zatreba veći kapacitet. Kao što je rečeno, male količine rama (uglavnom SRAM) je integrisano na CPJ i na druga mesta na matičnoj ploči, kao i na tvrdim diskovima, CD-ovima, i ostalim delovima računarskog sistema.
Virtuelna memorija
Većina modernih OS imaju metod za širenje kapaciteta RAM-a, poznazije kao virtuelna memorija. Deo tvrdog diska se ostavi za paging file ili scratch partition, i kombinacija fizičkog rama i fajla čine celu memoriju sistema. Kada sistemu ostane malo fizičke memorije, može da zameni delove rama u fajl i da napravi prostora za nove podatke, kao i da vrati prethodno zamenjene inforamcije nazad u RAM. Prekomerno korišćenje ovoga se zove trešing i generalno umanjuje sistemske performanse, pošto je tvrdi disk mnogo sporiji od RAM-a.
Softver može da particioniše deo računarskog RAM-a, što mu omogućava da radi kao mnogo brže tvrdi disk koji se zove RAM disk. Ram disk gubi postavljene podatke kada je računar ugašen, osim ako je uključen stendbaj režim.
Nekad, sadržaji relativno sporog ROM čipa se kopiraju na čitaj/piši memoriju da omogući brži pristup. ROM se tada gasi, dok se inicijalizovana memorija pali na istom bloku adresa (često zaštićena od pisanja). Ovaj proces se ponekad zove senčenje, i čest je u računarima i ugrađenim sistemima.
Kao zajednički primer, BIOS u tipičnom računaru ima opciju “korsiti senka BIOS“ ili slično. Kada se uključi funkcije se oslanjaju na podatke iz BIOS-ovog ROM-a će umesto toga koristi DRAM lokacije. Zavisno od sistema, ovo ne mora da poboljša performanse, ali može da napravi nekompatibilnost. Na primer nekom hardveru OS ne može da pristupi ako ova opcija nije uključena. Na nekim sistemima dobici su hipotetički jer se BIOS ne koristi nakon butovanja u korist direktnog hardveskog pristupa. Slobodna memorija je smanjena za veličinu ROM-a u senci.
Nekoliko novih postojanih RAM-ova se razvijaju, koji će čuvati podatke nakon gašenja. Tehnologije koje se koriste uključuju ugljenične nanocevi i efekat magnetnog tunela. Među prvom generacijom MRAM-a 128 kibibajta (128 × 210 bajta) magnetnog RAM-a na čipu je napravljen sa 0.18 µm tehnologijom u leto 2003. Juna 2004, Infinion Teknolodžis je otkrio prototip od 16 mebibajta baziran na istoj tehnologiji. Postoje dve tehnike druge generacije u razvoju: termalno asistirano prekidanje (TAS) koga razvija Krokas Teknolodži, i transfer obrtnog momenta spina (STT) na kojem rade Krokas, Hajniks, IBM i nekoliko ostalih kompanija. Nantero je napravio funkcionalni prototip baziran na ugljeničnoj nanocevi od 10 gibibajta. Videće se da li će neka od ovih tehnologija evetnualno uzeti deo kolača DRAM-u, SRAM-u i fleš tehnologiji.
Memorijski zid je rastući disparitet u brzini CPJ i memoriji van CPJ. Bitan razlog za ovo je ograničeni bendvit između granica čipa. Od 1986. do 2000, CPJ brzine su rasle na godišnjem nivou od 55% dok su memorijske brzine rasle za 10%. Zbog ovih trendova, očekuje se da latencija memorije postane usko grlo računarskih performansi.
Poboljšanja brzina centralne procesorske jedinice je uglavnom zbog fizičkih barijera i zbog toga što je sadašnji dizajn već udario u memorijski zid u određenom smislu.