3.3.5. Radna memorija |
Memorija je sklopovlje za pamćenje podataka, sastavljena od mnoštva lokacija u koje se pohranjuje određeni broj bit-a. Element memorije koji pamti podatak od jednog bit-a naziva se MEMORIJSKI ELEMENT ili MEMORIJSKA ČELIJA.
Pristup svakoj memorijskoj ćeliji izravan je od strane mikroprocesora prema prvoj pronađenoj slobodnoj lokaciji glede zapisivanja, te se stoga takva memorija naziva RAM (Random Access Memory - memorija s izravnim pristupom) i u njima se obavlja ČITANJE i UPISIVANJE podataka. Prva slobodna lokacija ne mora se uvijek pronaći na istom mjestu. Stoga se ponekad za ovu vrstu memorije koristi drugačiji naziv - memorija sa slučajnim pristupom.
Prvobitno su se memorije izrađivale uglavnom od magnetskih jezgrica, malih prstena veličine desetinke milimetra, koje su podatak pamtile na osnovu smjera magnetiziranosti prstena. Današnja poluvodička tehnologija u potpunosti je potisnula ovakve vrste memorije.
U poluvodičkoj tehnologiji razvijeno je više vrsta memorije, koja se po funkciji i tehnologiji izrade dijeli na:
a.) RAM - Služi za upis i čitanje tekućih podataka i programa i može se vrlo lako i brzo mijenjati njen sadržaj. Sadržaj se gubi (zaboravlja) pri prestanku napajanja računala. Često se označavaju s R/W (Read/Write - čita/piše). Izrađuju se kao STATIČKE (SRAM) i DINAMIČKE (DRAM). b.) ROM - Omogućavaju samo čitanje (R/O - Read Only) već tvornički upisanih podataka. Kako nakon izrade promjene sadržaja više nisu moguće, te zahtijevaju besprijekorno učitane sadržaje, vrlo su skupe i koriste se samo u masovnoj proizvodnji. Obično sadrže ASCII kod i instrukcije nekog JEZIČKOG PROCESORA ili program koji omogućava upis OPERATIVNOG SUSTAVA u RAM po uključivanju računala - BOOTSTRAP program. Postoje izvedbe računala kojima je cijeli ili dio operativnog sustava upisan u ROM. Veličina iznosi od nekoliko kB do više stotina kB. c.) PROM - Memorije slične ROM-u. Razlika je u tome što se njihov sadržaj ne formira tijekom tehnološkog postupka izrade, već se to radi pomoću posebnog uređaja - 'punioca'. Jednom upisani sadržaj ne može se više mijenjati ni brisati. Tehnološki se izvode prekidanjem veza u memoriji taljenjem ili elektro- kemijskim postupkom. d.) EPROM - Trajne memorije koje se mogu više puta puniti i brisati. Punjenje se vrši u za tu svrhu izrađenim uređajima a brisanje pomoću izlaganja ultraljubičastom ili rendgenskom zračenju. Dakle, njihov sadržaj može se REPROGRAMIRATI. Nekad su bile vrlo raširene za izradu BIOS-a računala. e.) EEROM - Preciznije EEPROM, imaju ista svojstva kao EPROM, ali je brisanje električnim putem. Koriste se za upis promjenjivih postavki sustava kao datum, vrijeme, vrstu diska i diskete i drugo. f.) EAROM - Sadržaj im se mijenja električnim putem, ali se reprogramiranje može izvršiti samo djelomično. Proces reprogramiranja traje dosta dugo. e.) FLASHROM - Memorije koje se mogu reprogramirati za to posebno napisanim programom. Danas se vrlo često koriste kako bi se omogućilo da se uređaje ugradi poboljšana verzija programske potpore (firmware) npr. za BIOS, modeme, CD, DVD i slično.
Dakle, radna memorija računala dijeli se u dvije osnovne grupe: ROM i RAM (slika 3.3.9). ROM je po kapacitetu podosta manji od RAM-a i nije raspoloživ korisniku već samo sustavu, te se u prikazu veličine memorije podataka ROM-a obično ne navodi.
Slika** 3.3.9 Podijela radne memorije računala. ( + / - ) |
Procesor mora moći adresirati cjelokupni adresni prostor memorije te očitava sadržaje već prema potrebi. Bootstrap i BIOS očitavaju se pri uključivanju računala. Bootstrap ima zadaću da po pronalaženju i povezivanju uređaja u računalu na osnovu podataka u BIOS-u omogući učitavanje operativnog sustava u RAM. Neke verzije računala imale su jezgru OS upisanu u ROM (Commodore Amiga) ili je cijeli OS upisan u ROM (Sinclair ZX Spectrum), a najčešće se očitava prvi sektor diska da se pronađe početna adresa programa za učitavanje operativnog sustava s tvrdog diska u RAM (LOADER). RAM je u suštini dio memorije u koji se tijekom korištenja računala učitava s tvrdog diska operativni sustav i potrebit program za rad a rezultati rada moraju se, kako se ne bi bespovratno izgubili, pohraniti u STALNU MEMORIJU - u osnovi na tvrdi disk.
Na slici 3.3.9c prikazan je dio matične ploče na kojoj se vidi FLASHROM memorija u koju su upisane programske rutine BIOS-a i Bootstrap program. CMOS memorija BIOS-a je kapaciteta do desetak Mb i ima vrlo malu potrošnju, te se stoga može napajati i s dugmastom baterijom. U nju se upisuju parametri koje BIOS očitava i omogućava njihovu promjenu ili podešavanje unutar nekog raspona, a koriste ih u svom radu sklopovi računala (elektronički sklopovi sabirnica, grafička kartica, diskovi ...). Jedan od parametara je, na primjer, datum i vrijeme. U začecima dizajna računala napajanje CMOS-a vršilo se je malim akumulator, ali se je takvo rješenje zamijenilo jeftinijom dugmastom baterijom, model CR2032, kojoj je rok uporabe oko tri godine. Nakon isteka tog vremena uputno je bateriju zamijeniti novom. Programska rutina BIOS-a koja se prva izvršava je POST (Power-On Self-Test) i testira dohvatljivost uređaja u računalu i ispravnost osnovne komunikacije s njima. Potom se aktivira Bootstrap. Plavi prespojnik služi za brisanje sadržaja CMOS-a i njegov način uporabe opisuje uputa matične ploče. CMOS memorija BIOS-a nije u sastavu integriranog kruga BIOS-a već je sastavni dio nekog od ostalih integriranih krugova na matičnoj ploči, na primjer dio 'Southbridge'. Integritet podataka zapisan u CMOS-u utvrđuje se na osnovu upisane kontrolne sume, i ako se izračun postojećih podataka ne slaže s kontrolnom sumom to znači da je neki od parametara u CMOS-u iz nekog razloga nasilno promijenjen, od strujnog udara na primjer.
Veličina RAM-a ovisi o konstrukciji i namijeni računala te može iznositi od nekoliko desetaka kB do veličine od nekoliko desetaka GB. Radna memorija je sklop koji je u začecima računalne tehnologije predstavljao najsloženiji tehnološki izazov i po cijeni koštanja ponekad premašivao iznos koji su tvorili svi preostali sklopovi zajedno. Fizička izvedba se zasniva na nekoj od CMOS (Complemetary Metal Oxide Semiconductor) tehnologija izrade unipolarnih tranzistora, koja se u osnovi koristi kod svih digitalnih logičkih sklopova i uređaja, od mikroprocesora pa nadalje.
Razlika u izvedbi SRAM i DRAM je značajna. SRAM traži puno više elemenata te je u procesu izrade skuplja, ali je u odnosu na DRAM puno brža ali i fizički veća. Stoga se koristi kao brza privremena radna memorija (cache) relativno malih kapaciteta. SRAM se često naziva međumemorija jer je međuveza između procesora i glavne memorije. DRAM zahtijeva sklopove za osvježavanje jer radi po načelu očuvanja naboja, sporiji je ali se zato u puno manjem volumenu može smjestiti puno više memorijskih elemenata uz puno manju cijenu izrade. Stoga se DRAM koristi kao glavna radna memorija računala. Glede povećanja performansi razvoj DRAM memorija ide u pravcu povećanja brzine pristupa tako da se udvostruči ili utrostruči takt čitanja ili upisivanja podataka u odnosu na radni takt sabirnice; DDR (Double Data Rate) tehnologija.
O organizaciji adresiranja memorijskih lokacija radne memorije te ovisiti će brzina pristupa podacima te brzina sustava u cjelini. Nadalje navedeni primjeri su osnovni tipovi organizacije memorije, ali se njihova osnovna načela koriste kod drugih vrsta organiziranja memorije kojima je odlika brži dohvat podataka.
Na slici 3.3.10 prikazana je DVODIMENZIONALNA organizacija radne memorije računala.
Slika 3.3.10 Dvodimenzionalna organizacija memorije. |
Dimenzije memorije su adresa lokacije i duljina lokacije. Prema primjeru na slici od 4 bit-ne adresne sabirnice dobiveno je 16 različitih adresnih vodova od kojih svaki poslužuje 1 lokaciju s 4 memorijske ćelije. Za adresiranje se koristi samo jedan adresni dekoder i jedinstvena adresa memorijske lokacije.
Efikasniji način organizacije je kada se adrese multipleksiraju, odnosno preko iste adresne sabirnice jedanput se daje adresa dekoderu redaka (R) a drugi put dekoderu stupaca (S) kao što je prikazano na slici 3.3.11.
Dimenzije memorije su adresa retka lokacije, adresa stupca lokacije i lokacija. Adresni vod dekodera retka obilazi sve ćelije koje su u tom retku (16×4). Isto vrijedi za adresni vod dekodera stupca. Sabirnica podataka obilazi sve lokacije slijedno iz retka u redak. Multipleksiranjem adresne sabirnice, odnosno pošiljanjem prvo adrese retka, te potom adrese stupca može se ukupno adresirati 256 lokacija od 4 ćelije.
Umjesto jednog dekodera adrese koriste se dva s ukupno 32 adresna voda. Za adresiranje 256 lokacija u dvodimenzionalnoj organizaciji trebao bi jedan dekoder s 256 izlaza. Dakle, multipleksiranjem se ne postiže samo veći broj lokacija već je i ukupni broj vodova prema memorijskoj mreži znatno manji, što opet pojednostavnjuje tehnološki proces.
Slika 3.3.11 Trodimenzionalna organizacija memorije. |
Dio radne memorije organizira se u složaju (STACK). Složaj najčešće koriste komande i naredbe operativnog sustava, na primjer kod sortiranja, te aplikacije za svoje interne potrebe za čuvanje adresa memorijskih lokacija na kojima se je istupilo iz izvršavanja glavnog programa. Temeljem tih podataka moguće je ponovno nastavljanja glavnog programa po prestanku izvršavanja dodatne aktivnosti. Stoga je važno u parametrima sustava ispravno podesiti veličinu složaja jer će u protivnom doći do raspada sustava.
Memorija se organizira u složaj tako da se lokacije međusobno povežu jedna 'iznad' druge i omogući posmak zapisanih podataka duž složaja iz lokacije u lokaciju.
Slika 3.3.12 Organizacija i posmak podataka u memoriji složaja. |
Upis novog podataka automatski znači potiskivanje prethodnog na jednu lokaciju dalje. Da bi se došlo do nekog podatka 'duboko' u složaju treba cijeli složaj isprazniti ili mu dodati adresni dekoder početne adrese da se označi lokacija složaja koja je aktivna, odnosno pomiče se adresa vrha složaja.
Idealni složaj nema kraja. Načelo organizacije složaja slično je dvodimenzionalnoj organizaciji, uz razliku da dvodimenzionalna organizacija ne koristi posmak podataka iz lokacije u lokaciju.
Na slici 3.3.13 prikazano je načelo korištenja podataka smještenih u memorijske lokacije u složaju s pomičnom adresom vrha složaja.
Slika 3.3.13 Složaj s pomičnim vrhom. |
U registru pokazivača (POINTER) aktivne adrese čuva se podatak temeljem kojeg se u dekoderu označava vod prema lokaciji koja će predstavljati aktivni vrh složaja. Ovakva organizacija složaja puno je učinkovitija od organizacije 'punjenja i pražnjenja' jer se promjenom aktivne adrese složaja može pristupiti i podacima ispod 'vrha'.
Po načelima složaja nije moguće organizirati ROM memoriju. Ako se pak složaj zatvori u krug, pristup podacima upisanim u složaj ostvaruje se njihovom rotacijom. Tada je riječ o KRUŽNOJ organizaciji memorije.
Sam NAČIN ADRESIRANJA tijekom izvršavanja programa usko je povezan s instrukcijom i može se realizirati prema jednom od slijedećih načina:
1.) NEPOSREDNO - Kada odmah iza lokacije komande slijede byte-ovi izvršavanja neke programske zadaće. 2.) DIREKTNO - Po lokaciji komande slijedi adresa na kojoj treba započeti izvršavanje programske zadaće. 3.) INDIREKTNO - Po lokaciji komande slijedi adresa na kojoj je upisana početna adresa zadaće koja se ima izvršiti. U suštini to je direktno adresiranje u dva koraka. 4.) RELATIVNO - Kada se iza komande ne nalazi stvarna adresa početka zadaće, već pomak prema toj adresi u odnosu na sadržaj programskog brojila koje čuva adresu komande ili sadržaj jednog od registara. 5.) INDEKSNO - Kada se slično relativnom u indeksnim registrima (ako ih ima) čuva adresa svakog izvršenog pomaka te se novi pomak računa u odnosu na novu adresu.
To nisu svi mogući načini adresiranja. Navedena podjela predstavlja najosnovnije s kojima se korisnik računala može susresti bilo da se bavi podešavanjem parametara računala i dodatnih sklopova ili izradom same programske potpore.
Radna memorija u osnovi služi za korištenje programske potpore koja se čuva na nekom od trajnih memorijskih resursa samog računala ili raspoloživih resursa računalne mreže. U radnoj memoriji vršiti će se prvenstveno obrada podataka temeljem izvršavanje programske zadaće, a rezultati iste pohranjivati će se u trajnu memoriju sukcesivno tijekom obavljanja zadaće (neko mjerenje na primjer) ili će se pohraniti po izvršavanju cjelokupne zadaće (na primjer zasjenjivanje slike). Dakle, od veličine i složenosti programske potpore i očekivanih rezultata ovisiti će koliki radni i trajni memorijski resursi treba da budu na raspolaganju u računalu. No opće pravilo korisnika računalne tehnologije je: memorije nikad dosta.
SAŽETAK:
Tehnološki razvoj omogućio je uporabu računala za vrlo složene zadaće. Tako na primjer obrada fotografija bila je gotovo nezamisliva na PC računalu u njegovim prvim inačicama, a programska potpora koja se je razvijala bila je gotovo nedjelotvorna za profesionalnu uporabu. Porastom moći računala razvijala se je i programska potpora te je danas mogućno uz pomoć računala izrađivati i animirane sekvence. Ne ulazeći u detalje kvalitete slike, sigurno je da su za to potrebita vrlo brza računala s velikom procesorskom moći koja izvršavaju enormno mnogo instrukcija u jedinici vremena te dostatni memorijski resursi kako bi se sva sila sličica obradila.
Radna memorija u tom smislu još uvijek je nedovoljno brza te se koriste raznolike organizacije memorije, na primjer EDO (Extended Data Out) koja nakon adresiranja redka adresira lokacije stupca jednu za drugom za istu lokaciju retka tako da u suštini smanjuje broj adresiranja redaka.
Osim navedenog brza SRAM memorije iskorištava se za međumemoriju (CACHE) između procesora i DRAM (slika 3.3.14).
Slika 3.3.14 Organizacija radne memorije brzog sustava. |
Upravljač međumemorije trudi se da u međumemoriji zadrži što više podataka koje procesor potražuje od glavne memorije. Ako procesor ne pronađe podataka u brzoj međumemoriji upravljač međumemorije dopušta mu dohvat podatka u radnu memoriji i prosljeđuje mu ga i ujedno pohranjuje u međumemoriju kao i okolni sadržaj podatka kako bi se naredni podatak našao 'pri ruci' mikroprocesoru u bržoj međumemoriji. Kako bi se znalo gdje se podatak nalazi u međumemoriji u TAG memoriju upisuje se njegova adresa. TAG služi kao kazalo za međumemoriju.
Sama međumemorija izvodi se kao integrirani dio mikroprocesora ili kao nešto sporija ali veća međumemorija na matičnoj ploči. Naravno obje su višestruko brže od DRAM. No, razvoj tehnologije smanjenjem veličine elementarnog tranzistora na 22 nm, s tendencijom daljnjeg smanjenja njegove veličine, omogućio je da svi navedeni sklopovi do radne memorije, razni nivoi međuspreme (cache) i upravljački podsustavi, postanu sastavni dio mikroprocesora, kako je prikazano na slici 3.5.30d. Moderni mikroprocesori uobičajeno sadrže više radnih jezgri organiziranih kao na slici 3.5.3a, imaju međuspremu prvog nivoa za instrukcije i podatke (L1) u svakoj pojedinoj jezgri, međuspremu drugog nivoa (L2) za svaku jezgru ponaosob, i međuspremu trećeg nivoa (L3) koja je zajednička za sve jezgre. Međusprema trećeg nivoa sadrži podatke potrebne svim jezgrama pa i integriranom grafičkom podsustavu, što znači da je neki podatak koji je izračunala prva jezgra, a potrebit je npr. trećoj jezgri ili grafičkom podsustavu, raspoloživ u međuspremi trećeg nivoa koja kao zajednička međusprema služi za internu distribuciju podataka (LLC - Last Level Cache) i na taj način funkcionira kao nekakva sabirnica.
Citiranje ove stranice: Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}; https://informatika.buzdo.com/datoteka. Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost |