| 1. Osnove | | | 2. Elementi DRS | | | 3. DRS | | | 4. Windows | | | 5. Unix | | | 6. Programiranje | | | 7. Informatika u praksi | | | 8. Rječnik | | | 9. Prilozi | | | 10. Literatura | | | 11. Spone | | | 12. Indeks |
| 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 te se takva memorija naziva RAM (Random Access Memory - memorija s izravnim pristupom) i u njima se obavlja ČITANJE i UPISIVANJE podataka.
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 - su 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 - su 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.
Vrlo su rašireni za izradu BIOS-a računala.
e.) EEROM - 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). Po veličini ROM je podosta manji od RAM 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 pronalaženja i povezivanja uređaja u računalu na osnovu podataka u BIOS-u i učitavanja operativnog sustava. 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 pravilu tvrdi disk.
Veličina RAM-a ovisi o konstrukciji i namijeni računala te može iznositi od nekoliko desetaka KB do veličine od nekoliko 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.
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, SDRAM 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 (16x4). 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
bajt-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 brzih računalnih 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 obe su višestruko brže od DRAM.