Mašinski jezik 1.1. OSNOVNE KOMPONENTE RAČUNARA Računari su mašine za obrau !oa"aka. One na osno#u ore$eno% sku!a u&azni' !oa"aka koje zaaje korisnik računara %enerišu o%o#araju(i sku! iz&azni' !oa"aka.
MOZAK PAPIR UPRAVLJANJE
INSTR.
IZVR[AVANJE
ULAZNI PODACI REZULTATI
[email protected] KALKULATOR CENTRALNI PROCESOR MEMORIJA UPRAVLJA^KA JEDINICA JEDINICA
A/L JEDINICA JEDINICA
INSTR.
ULAZNI PODACI REZULTATI
U/I URE\AJI
MOZAK PAPIR UPRAVLJANJE
INSTR.
IZVR[AVANJE
ULAZNI PODACI REZULTATI
[email protected] KALKULATOR CENTRALNI PROCESOR MEMORIJA UPRAVLJA^KA JEDINICA JEDINICA
A/L JEDINICA JEDINICA
INSTR.
ULAZNI PODACI REZULTATI
U/I URE\AJI
Osno#ne )unk*iona&ne jeini*e i%i"a&no% računara
MAGNETNA TRAKA
MAGNETNI DIS K
MEMORIJA
ULAZNA JEDINICA
PROCESOR
IZLAZNA JEDIN ICA
Raz&ikujemo #a osno#na "i!a eks"erni' memorija+ ,1- memorije sa sek#en*ija&nira !ris"u!om rea&izo#ane u #iu ma%ne"ni' "raka i ,/- memorije sa irek"nim !ris"u!om rea&izo#ane naj(es(e u #iu ma%ne"ni' isko#a i&i iske"a.
Ka!a*i"e" eks"erne memorije je u s&učaju isko#a "i!ično o 100 o 1000 !u"a #e(i o ka!a*i"e"a o!era"i#ne memorije a #rijeme !ris"u!a joj je zbo% koriš(enja me'anički' !okre"ni' ije&o#a reo#no 10000 o 100000 !u"a #e(e ne%o ko o!era"i#ne memorije.
U&azne i iz&azne jeini*e o!era"i#na memorija *en"ra&ni !ro*esor eks"erne memorije i komanni !u&" računara obrazuju nje%o# )izički io koji se naza 'ar#er ,en%&. hardware). Sam 'ar#er nije o#o&jan za us!ešan ra računara.
a bi računar u !ro*esu obrae !oa"aka mo%ao a s#e o!era*ije oba#i 2e&jenim reos&eom neo!'ono je a se e)iniše !ro%ram raa računara ,i&& kra"ko program) kojim (e s#e ak"i#nos"i računara bi"i !re*izno i jenoznačno oreene kako !o !i"anju sarzaja "ako i !o !i"anju reos&ea iz#oenja. S#aki !ro%ram !res"a#&ja niz !ojeinačni' ins"ruk*ija i usk&ais"a#a se u memoriju ra(unara. Prema "ome memorija ra(unara sar2i !oa"ke i !ro%rame koji su binarno koirani !omo(u n3bi"ni' memorijski' riječi. a &i n jeini*a i nu&a u nekoj memorijskoj (e&iji !res"a#&ja numerički !oa"ak i&i mašinsku ins"ruk*iju "o za#isi o in"er!re"a*ije "e biname riječi i is"i se sar2aj u !rin*i!u mo2e in"er!re"ira"i bi&o kao !oa"ak bi&o kao ins"ruk*ija.
Kon*e!*ija a se raom računara u!ra#&ja !omo(u !ro%rama nazi#a se princip prograsnskog upravljanja.
1./ OPERAT4VNA MEM0R45A O!era"i#na memorija se sas"oji o niza memorijski' (e&ija u kojima se ču#aju binarno koirane #e&ičine. S#aka o o#i' #e&ičina ima is"u u2inu o n binarni' *i)ara. 6inarna *&)ra koju nazi#amo bi" mo2e bi"i 0 i&& 1. S"o%a u s#aku memorijsku (e&iju mo2emo usk&aiš"i"i jean o /n raz&i(i"i' !ore$ani' jeini*a i nu&a.
7a n89 mo2e bi"i jena o s&ee(i' : #e&i(ina+ 000 001 010 011 100 101 110 111. O#e #e&ičine mo2emo in"er!re"ira"i kao nene%a"i#ne *ije&e broje#e 0 1 / 9 ; < = >.
Sar2aj memorijske (e&ije se čes"o nazi#a memorijska riječ
i za n se kaze a je "o u2ina memorijske riječi.
Raz&ike u u2inama riječi
Obra$uju(i !oa"ke s#aki računar s"a&no mijenja sar2aj memorijsk&' (e&ija. a bi se omo%u(io e)ikasan me'anizam !ris"u!a sar2aju memorijski' (e&ija one su numerisane renim broje#ima o 0 o m-1 !ri čemu se reni broj (e&&je nazi#a adresa ćelije, a m je kapacitet memorije izra2en u memorljskim riječima .
Memorija sa m aresabi&ni' (e&ija i nji'o#im binarnim sar"ajem
adresni registrom memorije ,ARM-
ARM
prihvatni registar memorije ,PRM-.
102
10
0 1 2
102
0 1 2
20
n-1 PRM "# $%&"n'( )"*+,"'" "*+()( 102
ARM
10
!0
n-1 !0
20 # ./%)%"n'( n )"*+,"'"
PRM
1.9
[email protected] ARES4RAN5E Pri !isanju !ro%rama ja#&ja se !o"reba a se memorijske (e&ije simbo&ički označe.
7a !o"rebe karak"eriza*ije na#eeno% simbo&a !o%ono je u#es"i )unk*ije adr i val koje res!ek"i#no označa#aju !oče"nu memorijsku aresu i #renos" u!isanu unu"ar memorijske zone označene simbo&om . U !re"'onom !rimjeru %je je *je&obrojna #e&i(ina imamo ar,- 8 10/9 #a&,- 8 1/9;<= . Ako bi bi&a oznaka za neki sku! i u "om s&učaju ako bi ima&i ar,- 8 /0;: #a&,- 8 B 1. C. :; D "o bi ozna(a#a&o a se sku! "renu"no sas"oji o e&emena"a 1 C : ; i a je usk&aiš"en u memorijskoj zoni koja !očinje o arese /0;:.
Neo!'ono je e#ien"ira"i #ezu izmeu simbo&a i arese na kojoj se na&azi #renos" promenljive koju "aj simbo& označa#a. Pre#oio*i za !ro%ramske jezike "u #ezu no"iraju u s!e*ija&noj "abe&i koja se nazi#a tabela simbola.
Prema "ome s#akom simbo&u !riru2ene su #ije #e&ičine+ ,1- vrednost promenljive koju "aj sinbo& ozna(a#a i ,/- #renos" simbola. Vazno je jasno uoči"i raz&iku koja !os"oji izmeu o#i' !ojmo#a+ vrednost promenljive je sarzaj memorijske zone !riruzene !osma"ranom simbo&u a vrednost simbola je sarzaj "abe&e simbo&a u re"ku koji o%o#ara o#om simbo&u.
U memoriji se !oa*i čes"o !remeš"aju iz &oka*ije u &oka*iju. O!era*iju !renosa !oa"aka &z neke !o&azne &oka*ije ,sa simbo&ičkom aresom- u oreišnu &oka*iju označa#a(emo simbo&om +8 koji se "akoe nazi#a i simbol dodele vrednosti ,en%&. assi%nmen"-. Prema "ome o!era*iju +8 "reba in"er!re"ira"i na s&ee(i način+ Fuzima se ko!ija sarzaja memorijske &oka*ije i !renosi se u &oka*iju razori#ši !ri "ome njen !re"'oni sar2ajG.
+81/9;<=
je is!ra#no
1/9;<= +8
je !o%rešno
U !ro%ramiranju simbo& 8 !res"a#&ja u #e(ini s&učaje#a re&a*ioni o!era"or !a 8 označa#a re&a*&ju koja mo2e bi"i is"ini"a ,ako je sar2aj &oka*ije jenak sar2aju &oka*ije - i&i neis"ini"a ,ako je sarzaj &oka*ije raz&iči" o sar2aja &oka*ije -. H 8 >>>>>> je is!ra#no H +8 >>>>>>
je !o%rešno
7a razmjenu sar2aja #ije memorijske (e&ije neo!'ono !oseo#a"i jenu !omo(nu &oka*iju koju (emo označi"i sa T. a bi sar2aj &oka*ije !rešao u &oka*iju i obra"no !o"rebno je oba#i"i "ri o!era*ije !renosa !oa"aka
O#o se !os"i2e !omo(u !ro%rama T +8 I +8 I +8 T Permu"a*ija #e&ičina 7 !os"i2e se sa !ro%ramom T +8 I +8 I +8 7 I 7 +8 T
1.; @ENTRA?N4
[email protected] 4
[email protected] [email protected] UPRAV?5AN5A U&o%a !ro*esora je a iz#rša#a ins"ruk*ije usk&aiš"ene u o!era"i#noj memoriji računara. Pro*esor mora ima"i mo%u(nos"i a &oka&no usk&aiš"i iz#esnu ko&ičinu !oa"aka i za "o se koris"e brzi !ro*esorski re%is"ri. Re%is"ar je !o e)ini*iji (e&ija za usk&aiš"enje jene memorijske reči.
Raz&ikujemo #e #rs"e re%is"ara+ aresabi&ne i in"erne. Aresabi&ni re%is"ri su os"u!ni !ro%rameru. Nasu!ro" "ome in"erni re%is"ri nisu os"u!ni !ro%rameru #e( se nji'o# sar2aj ini*ija&izuje au"oma"ski u "oku raa !ro*esora.
Sas"a#ni je&o#i *en"ra&no% !ro*esora i nje%o#e #eze sa menorijom
Prenos ins"ruk*ija i !oa"aka na re&a*iji !ro*esor memorija oba#&ja se !omo(u niza biirek*iona&ni' #eza koje se nazi#aju ma%is"ra&a !oa"aka. O#a ma%is"ra&a je u !ro*esoru #ezana na memorijski re%is"ar !oa"aka ,M- koji s!aa u %ru!u in"erni' !ro*esorski' re%is"ara. 4zbor memorijske &oka*ije iz koje !ro*esor uzima i&i u koju s"a#&ja !oa"ke oba#&ja se !omo(u arese koja se oreuje u !ro*esoru usk&aiš"a#a u aresni re%is"ar ,MA- i za"im !reko jenosmjerne aresne ma%is"ra&e !renosi u memoriju.
Prenos !o ma%is"ra&ama je !ara&e&an . Ako aresa koja se !ara&e&no !renosi !o aresnoj ma%is"ra&i ima c bi"a ona se !omo(u "ak#e arese mo2e irek"no aresira"i A8/ * memorijski' &oka*ija !a je A maksima&ni ka!a*i"e" memorije. Uobičajeno je a se ka!a*i"e" memorije izra2a#a u jeini*ama K8/ 10 K810/; Fki&oL i&i M8/ /0 M810;:<>= Fme%aF
U o!š"em s&učaju mono!ro%ramski' računara naj#a2niji su+ in"erni i aresabi&ni re%&s"ri 1. INTERNI PROCEOR!I RE"ITRI IR 8 Register Instr#$%ije & 'Instr#%tion Register ) ( 8 (emorijs$i adresni registar & '(emor* ddress Register) (+ (emorijs$i registar podata$a & '(emor* +ata Register) I- Interni baer registar & 'Internal -#er Register)
/.
+RE-I0NI PROCEOR!I RE"ITRI /.1 RE"ITRI +RE
PC Programs$i broja & 'Program Co#nter ) R 8 dresni registar podata$a ,+ata ddress Register) +P 8 2$a3atelj podat$a '+ata Pointer ) -R 8 -a3ni registar '-ase Register) +C 8 -roja podata$a ' a"a Co#nter) 4R 8 Inde$s registar 'Inde5 Register ) 64 8 6i$sni inde$s '6i5ed Inde5) 4C 8 Inde$sni broja 'Inde5 Co#nter) P 8 2$a3atelj ste$a ,S"a*k Pointer)
/./ RE"ITRI PO+T! +R 8 Registar podata$a ,a"a Register) C 8 $#m#lator ,A**umuia"orR Registar stanja pro%esora 'tat#s Register)
/.7 2NI8ER90NI RE"ITRI "R 8 Registar op:te nameme ,"eneral Register)
Osno#na ieja !rin*i!a !ro%ramsko% u!ra#ijanja
1.< MA4NSKE
[email protected] Mašinska ins"ruk*ija mora a s!e*i)i*ira o!era*iju koju !ro*esor "reba a oba#i a "ako$e i arese !oa"aka ,i&i !oa"ke- sa kojima se o!era*ija oba#&ja. 7bo% "o%a s#aka ins"ruk*ija reo#no ima #a ije&a+ o!era*ioni io ,koji se nazi#a ko o!era*ije- i aresni io ,koji s!e*i)i*ira !oa"ke-.
Tri uobičajene s"ruk"ure mašinske ins"ruk*ije
OP. DEO
A1
A2
A3 "*+()" +(45&"&" "*+()" *+ (+"n "*+()" +0 (+"n*
OP. DEO
A1
A2 "*+()" *+ (+"n "*+()" +0 (+"n*
OP. DEO
A "*+()" '(*n (+"n
Pre"!os"a#imo a OP na !r. !res"a#&ja ko o!era*ije sabiranja.
[email protected] +8
[email protected] H A1 Oba#&janja binarni' o!era*ija izmeu akumu&a"ora i memorijske &oka*ije ima za !os&ijei*u a su ko jenoaresno% sis"ema neo!'one !osebne o!era*ije za !renos !oa"aka iz memorije u akumu&a"or i obra"no iz akumu&a"ora u memoriju. Ako sa M označimo !roiz#o&jnu memorijsku &oka*iju ona se !renos !oa"ka iz memorije u akumu&a"or mo2e ozna(i"i sa
[email protected] +8 M. Obrnu"i !renos iz akumu&a"ora u memoriju označa#a se ana&o%no sa M + 8
[email protected]
Pre"!os"a#imo saa a su zaa"e memorijske &oka*ije i 7 i neka je !o"rebno oba#i"i o!era*iju sabiranja 9;8 H Ako raimo sa jenoaresnim računarom ona za oba#&janje o#e o!era*ije "rebamo s&ee(e "ri ins"ruk*ije+
[email protected] +8 I o'#a"anje !r#o% ar%umen"a iz memorije
[email protected] +8
[email protected] H I sab&ranje !os&e ko%a
[email protected] sar2i "ra2enu sumu 7 +8
[email protected] I !renos rezu&"a"a u oreišnu &oka*&ju 9 2 sl#
7 +8 I 4ni*ija&iza*&ja !o(e"ne #renos"i !romen&ji#e 7 7 +8 7 H I 4zračuna#anje sume 2 sl#
7 +8 H