3.3.3. Adresno polje računala |
Da bi računalo obradilo binarni podatak u načelu broj bit-ova u podatku ne smije biti veći od kapaciteta registra u mikroprocesoru. Kapacitet registra mikroprocesora najčešće je u skladu je s veličinom podatkovne sabirnice računala, iako postoje izvedbe gdje je kapacitet registra višekratnik veličine podatkovne sabirnice, te se isti puni u dva takta čitanja sabirnice.
Primjer III
Koliko se velik cjelobrojni dekadni broj može pohraniti u registar mikroprocesora kapaciteta:
a.) 4 bit-a b.) 8 bit-a c.) 16 bit-a d.) 32 bit-a
Analogno prethodnom kapaciteti su prema slijedećem:
a.) 11112 = F16 = 1510
mogu se pohraniti brojevi od 0 do 15, odnosno najviše 16 različitih vrijednosti cijelog broja.
b.) 1111 11112 = FF16 = 25510
mogu se pohraniti brojevi od 0 do 255, odnosno najviše 256 različitih vrijednosti cijelog broja.
c.) 1111 1111 1111 11112 = FFFF16 = 65'53510
d.) 1111 1111 1111 1111 1111 1111 1111 11112 = FFFF FFFF16 = 4'294'967'29510
Brojeve koji su veći od kapaciteta registra računalo obrađuje u eksponencijalnoj formi.
Da bi se podatak pohranio u memoriju računala, te kasnije mogao dohvatiti, potrebito ga je 'uskladištiti' na točno određeno mjesto u memoriji, nazvano MEMORIJSKA LOKACIJA, te omogućiti njegovo brzo pronalaženje. Veličina memorijske lokacije u skladu s brojem bit-a podatkovne sabirnice, što znači da se podaci veći od kapaciteta jedne memorijske lokacije moraju pohraniti u više memorijskih lokacija. Elektronički sklop, koji je osnova pamćenja svakog pojedinog bit-a u lokaciji, naziva se MEMORIJSKI ELEMENT ili MEMORIJSKA ĆELIJA.
Glede navedenog memorija se najčešće organizira kao šahovska tabla ili križaljka u kojoj na svakom polju postoji jedna memorijska lokacija koja predstavlja skupinu ćelija.
Slika 3.3.6 Polje memorije 8 bit-nog računala. |
Svaka memorijska lokacija određena je ADRESOM koja u sebi sadrži mjesto lokacije po osi 'R' i po osi 'S'. Prema primjeru na slici adresu bi sačinjavao 16 bit-ni binarni broj kojemu bi prvih osam bit-a definiralo redak, a drugih osam bit-a stupac. Mikroprocesor bi na osnovu dobivenih instrukcija najprije odredio adresu retka pa potom stupca te obavio dohvat podatka. Dakle, za pristup podatku trebaju se obaviti tri radnje, tri takta. Podaci bi se spremali u memorijske lokacije veličine 8 bit-a (1 Byte). Adresa se određuje prema podacima na adresnoj sabirnici, najprije za redak (R) pa potom za stupac (S), a podatak se prenosi na podatkovnu sabirnicu. Kada će se očitati pojedinačne adrese retka i stupca te podatak očitati i prenijeti na sabirnicu podataka određuju nalozi upućeni preko upravljačke sabirnice.
Poseban elektronički sklopovi, dekoderi adrese, na osnovu pročitanog binarnog broja adrese iz adresnog registra signaliziraju naponom na jednom od svojih izlaznih vodova u kojem je retku i u kojem stupcu željena memorijska lokacija. Dakle, za organizaciju prema slici potrebita su dva dekodera. Na mjestu gdje su oba napona prisutna, gdje se 'križaju' (logički I), moguće je 'pročitati' sadržaj lokacije. Prema primjeru sa slike oba dekodera imala bi FFH (256) vodova za odabir lokacije.
Cjelokupna 'križaljka' naziva se ADRESNO POLJE MEMORIJE. Ukupni broj memorijskih lokacija pomnožen s brojem byte-a u lokaciji predstavlja KAPACITET memorije. Naime, računala s većom sabirnicom podataka od primjera na slici imati će lokacije veličine 2, 4 ili 8 byte-a, ili još više, ovisno o konstrukciji računala. Glede navedenog proizlazi da memorijsko polje ima tri dimenzije, dvije opisuju mjesto gdje će se podatak spremati (lokacija), a treća veličinu spremišta (lokacije).
Neke memorijske lokacije su tijekom rada nedostupne za upisivanje, već samo za čitanje. To su lokacije gdje se smješta bootstrap program te adrese U / I kanala i BIOS programske rutine i pozivi.
Raspored podataka u memoriji tvori MEMORIJSKU MAPU računala. Ona opisuje na kojim se lokacijama nalaze pojedini ROM sadržaji, koje lokacije će služiti kao buffer-i za komunikaciju preko U / I kanal, koje su lokacije dostupne za korištenje, koje će služiti za učitavanje upravljača i slično.
Primjer IV
Izračunati kapacitet memorije računala s 8 bit-nom sabirnicom podataka i 16 bit-nom adresnom sabirnicom prema primjeru sa slike.
Prva adresa redka je 00H, a posljednja FFH, a određene su s prvih osam bit-a adrese, odnosno 256 lokacija. Isti toliko ima i stupaca određenih s drugih osam bit-a adrese.
Ukupan broj memorijskih lokacija je:
L = 1111 11112 • 1111 11112 = FF16 • FF16 = 256 • 256 = 65'536 lokacija (podataka)
U jednu lokaciju od 8 ćelija stane 8 bit-a, podatak veličine 1B.
Kapacitet memorije je:
C = L • veličina lokacije = 65'536 lokacija • 1 B / lokaciji = 65'536 B
Ovakva jedinica mjere dosta je nepraktična te se radije koriste veće; KILOBYTE.
1 kB = 210 B = 1024 B
Dakle, kapacitet memorije 8 bit-nog računala je:
C = 65'536 B / 1024 = 64 kB
Veće jedinice od kB su MEGABYTE, GIGABYTE i nadalje, odnosno:
1 MB = 220 B = [(210)]2 B = k2 B = 1024 kB
1 GB = 230 B = [(210)]3 B = k3 B = 1024 MB
1 TB = 240 B = [(210)]4 B = k4 B = 1024 GB
Primjer V
Izračunati kapacitet memorije računala s 16 bit-nom sabirnicom podataka i 24 bit-nom adresnom sabirnicom.
Ako na adresu retka i stupca otpada po 12 bit-a od cjelokupne adrese onda je:
L = 1111 1111 11112 • 1111 1111 11112 =
= FFF16 • FFF16 = 4'096 • 4'096 lokacija =
= 16'777'216 lokacija = 16'777'216 / 1024 =
= 16'384 k = 16 M lokacija (podataka)
Kako se lokacija sastoji od 16 ćelija (bit-a), odnosno može prihvatiti 2 byte-a, kapacitet je:
C = L • 2B/lokaciji = 32 MB
Dakle, treba razlikovati broj mogućih memoriranih podataka od kapaciteta memorije. Za svaku pojedinu vrstu mikroprocesora ovaj odnos se razlikuje jer moćniji mikroprocesori kao PENTIUM mogu obrađivati 64 bit-ne podatke dok je porodica prvih PC računala imala mikroprocesore koji su obrađivali podatke od 8 ili 16 bit-a.
Instrukcije su zapisane u ROM-u ili RAM-u računala kao binarni kodirani zapisi npr. u ASCII kodu. Instrukcija se sastoji od jednog ili više byte-ova i ima dva osnovna dijela prikazana na slici 3.3.7.
Slika 3.3.7 Osnovni sastav instrukcije mikroprocesoru. |
Jednostavnije operacije izvršavaju se odmah po komandi. Komanda je obvezni dio instrukcije. Dodatak komandi može biti operand ili podatak. Ako dodatak nije operand ili podataka tada je to adresa na kojoj se operand ili podatak nalazi.
Operand je podatak na kojeg djeluje zadana komanda npr. pribraja mu se broj, a podatak služi kao informacija za neku drugu instrukciju.
Komanda pročitana u memoriji računala prenosi se u instrukcijski registar mikroprocesora, koji dekodira kod operacije i šalje adekvatan signal kao nalog upravljačkoj jedinici (slika 3.3.3). Kod operacije obavještava upravljačku jedinici i o tome da li je posrijedi instrukcija sastavljena od jednog ili više byte-a. Ako nakon komande slijedi operand unosi se u mikroprocesor u drugom koraku, odnosno u trećem ako operandu prethodi njegova adresa. Tek kad mikroprocesor primi cjelokupnu instrukciju upravljačka jedinica šalje odgovarajući signal tamo gdje treba.
Niz takvih instrukcija, smišljeno i logički povezanih, čini PROGRAM za rješavanje postavljene zadaće. Budući da se komande izvršavaju sukcesivno, programsko brojilo povećava svoj sadržaj za jedan (+1) i ujedno indicira pohrana prethodnog sadržaja, odnosno komande ili operanda, u mikroprocesor ili memoriju. Slijedi nekoliko instrukcija u asembleru (programski jezik najbliži stroju) za procesor MC 68000.
: ; uobičajena procedura pushall ; za alociranje move.l $0004,a6 ; memorije clr.l d1 move.l #(End-BootBl+200),d0 jsr AllocMem(a6) move.l d0,a1 : |
Slika 3.3.8 Izvadak iz slijeda asemblerskih instrukcija. |
Svakoj instrukciji asemblera odgovara jedna zadaća mikroprocesora, što nije slučaj sa složenijim programskim jezicima kod kojih se za jedan nalog izvršava mnoštvo instrukcija.
Izvršavanje instrukcija obavlja se sinkrono brzinom koju određuje generator takta mikroprocesora. Vrijeme potrebito da se operand prenese iz memorije u registar mikroprocesora naziva se INSTRUKCIJSKI ili MEMORIJSKI CIKLUS.
Osnovni koraci memorijskog ciklusa su:
1.) Dovođenje komande-instrukcije iz memorije u instrukcijski registar, direktno ili preko adrese. 2.) Dekodiranje komande - instrukcije. 3.) Izvršavanje komande - instrukcije.
Dakle, iz memorije računala čitaju se brojčani podaci koji predstavljaju kodirane instrukcije ili komande mikroprocesoru temeljem kojih on izvršava operacije djelujući na operand (onaj koji trpi operaciju), a rezultat djelovanja na operand je promjena njegovog sadržaja, aktiviranje određenih logičkih sklopova ili generiranje upravljačkog signala prema nekom sklopu i drugo.
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 |