Program se može posmatrati kao niz instrukcija.
Instrukcijom se specificira operacija koju procesor treba da uradi kao i
podaci koji su neophodni za njeno obavljanje.
Evo kako se izvršava program (na
mašinskom nivou):
Da bi se započelo izvođenje, programski brojač (PC) mora biti
postavljen na adresu prve instrukcije.
1. Uzimanje OP koda iz memorije
2. Uvecavanje sadrzaja PC-a (ovim se priprema sledeca operacija
uzimanja iz memorije)
3. Dekodovanje OP koda
4. Uzimanje adrese operanda (u slučaju viših opsega adrese, ova
operacija može zahtevati dva takta - u prvom taktu se uzima veći
težinski dioadrese a u sledecem manji)
5. [PC] -> [PC]+1
6. Sada se ili uzima drugi operand ili se uzima drugi dio adrese ili
se izvršava OP kod, u zavisnosti od instrukcije koja je uzeta iz
memorije u koraku 3.
Ovih 6 koraka je poznato kao ciklus
“uzmi-analiziraj-izvrši”.
Svaki od ovih koraka sadrži dodatni set akcija (recimo prilikom
uzimanja OP koda iz memorije, unutar CPU-a postavlja sadržaj PC-a na
adresnu magistralu tako da memorija može da primi adresu memorijske
lokacije. Zatim CPU, preko PC-a, selektuje memoriju za operaciju
čitanja a memorija odgovara postavljanjem memorijske riječi
(sadržaja tražene lokacije) na magistralu podataka. Dalje,
upravljačka logika smješta podatak kao operand u IR (registar
instrukcija) i program se nastavlja.
Prilikom izvršenja programa, CPU zna da
je prvi dio koda "OP kod" (tj. instrukcija) pa u zavisnosti
od nje slijede dvije ili tri mem. lokacije (tj. operanda).
Ovakvo izvođenje programa je omogućeno Fon-Nojmanovom
arhitekturom računara po kojoj se i instrukcije i operandi
nalaze u operativnoj memoriji.
Osnovni princip rada izvršenja programa
je:
|
|