Kurs: Arhitektura računarskih sistema Materijali vezani uz ovu lekciju: - Test osnovni pojmovi arhitekture procesora
· programski dostupni registri · tipovi podataka · format instrukcija · načini adresiranja · skup instrukcija · mehanizam prekida Navedena struktura predstavlja suštinu principa rada svakog procesora. Procesor u svom radu izvršava naredbe, a svaka od njih se sastoji iz određenih faza. Faze izvršavanja naredbe Faze u izvršavanju jedne naredbe su: · čitanje naredbe · određivanje adrese · čitanje operanada · izvršenje operacije · smeštanje rezultata · obrada prekida Da bi procesor izvršio naredbu on najpre treba da je dohvati iz memorije. Potom je potrebno odrediti adresu operanada nad kojima se izvršava operacija. Konkretno, ako se radi o sabiranju dva broja, potrebno je odrediti adresu tih brojeva u radnoj memoriji. Adresirani podaci se potom dovlače iz radne memorije. Operandi su podaci nad kojima se vrši izračunavanje. Ostaje još da se izvrši operacija, konkretno - da se izvrši sabiranje. Rezultat operacija mora da se smesti nazad u memoriju. Fon Nojmanova koncepcija računara Današnji računari koje koristimo rade po Fon Nojmanovoj koncepciji. Postoji pet osnovnih pravila Fon Nojmanove koncepcije računara: · podaci sa kojima radimo ne nalaze se u naredbi, već se nalaze na nekim adresama u memoriji ili u nekim registrima u samom procesoru, · program i podaci se smeštaju u operativnu memoriju pre početka izvršavanja. Početna adresa programa u operativnoj memoriji se smešta u poseban registar koji se zove PC programski brojač (program counter), · sekvencijalno izvršavanje instrukcija, · binarne reči koje predstavljaju naredbu ne razlikuju se od binarnih reči koje predstavljaju podatke, · memorija za podatke i instrukcije je jedinstvena. Naredbe i podaci Naredbe ili instrukcije (procesoru) su binarne reči pomoću kojih se definiše vrsta operacije koja se izvršava. Podaci su binarne reči nad kojima se vrši obrada. Registri U svakom procesoru postoji više registara, koje možemo podeliti na adresibilne registre i registre nedustupne programeru. Za svaki registar najmanji bit se označava sa R0, a najveći sa R7. Na primer, ako registar sadrži binarnu reč 11001101, razredi tog registra od R3 do R5 su 100. Postoje dve vrste registara u samom procesoru: · adresabilni · interni Adresibilni registri su registri dostupni programeru. Interni registri su nedostupni za programera. U memoriji se nalaze podaci i naredbe sa kojima radimo. U svakom procesoru postoji aritmetičko logička jedinica (ALU), koja izvršava sve aritmetičke operacije. Svaka ALU se sastoji iz više celina: jedinica za pomeranje, jedinica za izvršavanje operacija sa pokretnim zarezom i dr. Komunikacija između procesora i memorije obavlja se preko magistrala. Magistrala Abuss predstavlja adresnu magistralu, DBuss magistralu podataka, a CBuss upravljačku magistralu. Programski dostupni registri Programski dostupni registri su registri kojima možemo pristupati pomoću određenih instrukcija. Broj i vrsta programski dostupnih registara zavisi od samog procesora. Ono što svaki procesor treba da ima je programski brojač (PC) i Akumulator (u oznaci AC ili ACC). Uloga akumulatora je višestruka. Koristi se kao pomoćni registar u nekim izračunavanjima, i za čuvanje međuzbira kod operacije sabiranja. Registar podataka ili Data Register (DR) ima široku oblast primene. Indeksni registri se koriste uglavnom kod adresiranja. Stek pointer (SP) je pokazivač na vrh steka. Interni registri Interni registri su registri nedostupni za programera. Dva najvažnija interna registra su: · MAR (Memory Address Register) · MDR (Memory Data Register). Pri operaciji čitanja u MAR registru se nalazi adresa u memoriji na kojoj se nalazi sadržaj koji se dohvata. Sadržaj MAR registra se izbacuje na adresnu magistralu. Kada se dovuče podataka iz memorije on se smešta u MDR registar. Ovo važi za ciklus čitanja. Ako se radi o operaciji upisa, u MAR-u je adresa gde se upisuje sadržaj u memoriji, a u MDR-u je sadržaj koji se upisuje. Oba sadržaja se izbacuju na magistralu, iz MAR-a na adresnu magistralu, a iz MDR-a na magistralu podataka. IR predstavlja Instruction Registar, odnosno registar instrukcije. Dovučena instrukcija iz operativne memorije se smešta u IR. Prva faza u izvršavanju svake naredbe je faza dohvatanja instrukcije. Memorija Sama memorija sastoji se od niza memorijskih ćelija u koje se smeštaju binarne reči. Sadržaj memorijske ćelije zove se memorijska reč. Kapacitet operativne memorije izražava se u bajtima. Bajt predstavlja najmanju adresibilnu jedinicu. Adresni prostor je veličina koja se veže za procesor i kada se kaže da, na primer, procesor 8086 ima adresni prostor 1MB, misli se na kapacitet memorije koju taj procesor vidi, odnosno koji može da adresira. Podaci i instrukcije nisu odvojene u memoriji po Fon Nojmanovoj arhitekturi, dok kod prevaziđene Harvardove postoji odvojena memorija za podatke i instrukcije. Svi današnji računari funkcionišu po fon Nojmanovoj koncepciji. Sadržaj memorije čine nizovi jedinica i nula, odnosno bita. Da bi se izvršio pristup svakoj memorijskoj ćeliji, potrebno je utvrditi njenu adresu. Numeracija bita ide sa krajnje desne strane, od bita najmanje vrednosti tj. od 0 do n-1. Konkretno, za šesnest bita numeracija bi bila od nula do petnaest. Ovakva memorijska reč kada se dohvati smešta se u procesoru u neki od prethodno navedenih registara. Format instrukcija Svaka instrukcija ima dva dela. Prvi čini operacioni deo instrukcije, a drugi adresni deo. Operacioni deo instrukcije određuje koja instrukcija je u pitanju. Neka je, na primer, instrukcija dužine 32 bita. Ako posmatramo bite od 31 do 0, kod operacije predstavljen je sa najviša 4 bita, tj. bitima 28, 29, 30 i 31. Na primer, neka je instrukcija 1010100100... Njen operacioni deo čine biti 1010, koji se potom koristi kao ulaz u posebnoj tabeli za utvrdjivanje operacije koja je predstavljena tim kodom. Na primer, neka je na taj način utvrđena operacija sabiranja. Potrebno je još odrediti gde se nalaze operandi koji se sabiraju i gde će se smestiti rezultat. To određuju polja A1, A2 i A3. U zavisnosti od arhitekture procesora, postoje tri formata instrukcija - troadresni, dvoadresni i jednoadresni format. Kod troadresnog formata, polja A1 i A2 utvrđuju adrese brojeve koji se sabiraju, a rezultat se smešta u memoriju na adresu A3. Ako je u pitanju dvoadresni format, polja A1 i A2 utvrđuju adrese brojeve koji se sabiraju, a rezulat se smešta u memoriju na adresu A1 (A1=A1+A2). Ako je u pitanju jednoadresni format, polje A1 utvrđuje adresu jednog broja koji se sabira, dok je drugi broj određen sadržajem akumulatora AC.
|