Title: Racunarstvo i informatika III
1Racunarstvo i informatika III
- Lekcija 10 Upravljacka jedinica
2Mikrooperacije
- Kompjuter izvršava program
- Ciklus DONOŠENJA / IZVRŠAVANJA (Fetch/Execute)
- Ili prošireno DONOŠENJE INDIREKCIJA
IZVRŠAVANJE - PREKID - Svaki ciklus sastoji se od niza koraka
(mikrooperacija) - Svaki korak radi vrlo malo
- menja sadržaja nekog registra
- To su elementarne operacije CPU
-
MIKROOPERACIJA elementarna
operacija CPU koja se obavlja u jednom taktu
3Elementi od kojih se sastoji izvršavanje programa
4Donošenje ucestvuju 4 upravljacka registra
- Adresni registar memorije - Memory Address
Register (MAR) - Povezan sa adresnom magistralom
- Zadaje adresu za citanje ili upisivanje operanda
- Prihvatni registar memorije - Memory Buffer
Register (MBR) - Povezan sa magistralom podataka
- Cuva podatak za upis ili poslednji procitani
podatak - Brojac naredbi - Program Counter (PC)
- Cuva adresu sledece instrukcije
- Registar instrukcija - Instruction Register (IR)
- Cuva tekucu instrukciju
5Sekvenca donošenja
- Adresa sledece instrukcije iz PC se šalje u MAR
- Adresa iz MAR se šalje na adresnu magistralu
- Upravljacka jedinica šalje READ signal
- Rezultat (podatak iz memorije) šalje se na
magistralu podataka - Podatak se sa magistrale podataka upisuje se u
MBR - PC se uvecava za 1 (istovremeno sa donošenjem
podatka iz memorije) - Podatak (instrukcija) se premešta iz MBR u IR
- MBR je sada slobodan za sledeci podatak koji ce
biti donet iz memorije
- t1 MAR lt- (PC)
- t2 MBR lt- ((MAR))
- PC lt- (PC) 1
- t3 IR lt- (MBR)
- (tx vreme jednog clock ciklusa)
- ili
- t1 MAR lt- (PC)
- t2 MBR lt- ((MAR))
- t3 PC lt- (PC) 1
- IR lt- (MBR)
6Pravila za grupisanje mikrooperacija
- Mora se poštovati redosled mikrooperacija
- MAR lt- (PC) mora da prethodi MBR lt- ((MAR))
- Moraju se izbegavati konflikti
- Ne može se istovremeno vršiti read write istog
registra - MBR lt- ((MAR)) IR lt- (MBR) ne mogu se
izvršavati u istom ciklusu - Takode PC lt- (PC) 1 ukljucuje sabiranje
- koristi ALU
- Može zahtevati dodatne mikrooperacije
7Ciklus indirekcije
- MAR lt- (IRA) - IRA polje adrese u IR
- MBR lt- ((MAR))
- IRA lt- (MBR)
- MBR sadrži adresu
- IR sada u adresnom polju ima direktnu adresu
operanda
8Ciklus prekida
- t1 MBR lt-(PC)
- t2 MAR lt- adresa na kojoj treba sacuvati adresu
povratka - PC lt- adresa ISR - rutine za obradu prekida
- t3 (MAR) lt- (MBR)
- Ovo je minimum
- Možda ce biti potrebne dodatne mikroop za
dobijanje adrese ISR - Napomena. Cuvanje konteksta prekinutog programa
obavlja interrupt handler routine, ne vrši se
pomocu mikrooperacija
9Ciklus izvršavanja - Razlicit za svaki
instrukciju
- ADD R1,X sabira sadržaje lokacije X i registra
R1 i cuva rezultat u R1 - t1 MAR lt- (IRA)
- t2 MBR lt- ((MAR))
- t3 R1 lt- R1 (MBR)
- Napomena Ove mikroperacije ne mogu se preklapati
- ISZ X - increment and skip if zero
- t1 MAR lt- (IRA)
- t2 MBR lt- ((MAR))
- t3 MBR lt- (MBR) 1
- t4 (MAR) lt- (MBR)
- if (MBR) 0 then PC lt- (PC) 1
- Napomena if je jedna mikrooperacija
10Instrukcijski ciklus
- Svaka faza dekomponuje se u sekvencu elementarnih
mikrooperacija - Na primer ciklus donošenja, indirekcije i prekida
- Ciklus izvršavanja
- Po jedna sekvenca mikrooperacija za svaki opcod
- Potrebno je povezati sekvence u niz
- Pretpostavimo da imamo 2-bitni registar
- Instruction cycle code (ICC) ukazuje svojim
sadržajem u kom se delu instrukcijskog ciklusa
procesor nalazi - 00 Donošenje - Fetch
- 01 Indirekcija - Indirect
- 10 Izvršavanje - Execute
- 11 Prekid - Interrupt
11Dijagram toka instrukcijskog ciklusa
12Funkcionalni zahtevi za upravljanje procesorom
- Definišu osnovne komponente procesora
- Opisuju mikrooperacije koje procesor izvršava
- Odreduju funkcije koje mora da realizuje
upravljacka jedinica
13Osnovne komponente procesora
- ALU
- Registri
- Interne putanje podataka
- Eksterne putanje podataka
- Upravljacka jedinica
14Tipovi mikrooperacija (microop)
- Prenos podataka izmedu registara
- Prenos podataka iz registara ka eksternim
lokacijama - Prenos podataka sa eksternih lokacija u registre
- Izvršavanje aritmetickih ili logickih operacija
15Funkcije upravljacke jedinice
- Sekvenciranje
- Dovodi do toga da CPU prolazi kroz niz
mikrooperacija u redosledu koji zavisi od
programa koji se izvršava - Izvršavanje
- Pokrece obavljanje svih mikrooperacija
- Ovo se obavlja korišcenjem upravljackih signala
16Ulazni upravljacki signali
- Generator takta - Clock
- Jedna microop (ili skup istovremenih) za svaki
impuls generatora takta - clock cycle - Registar instrukcija
- Opcod tekuce instrukcije
- definiše microop se obavljaju tokom faze
izvršavanja - Flegovi
- Definišu stanje CPU
- Postavlja ih prethodna operacija
- Upravljacki signali sa upravljacke magistrale
- Prekidi - Interrupts
- Potvrde
17Model upravljcke jedinice
18Izlazni upravljacki signali
- Unutar CPU
- Izazivaju premeštanje podataka
- Aktiviraju specificne funkcije ALU
- Preko upravljacke magistrale
- Ka memoriji
- Ka U/I modulima
19Primer upravljackih signala - ciklus donošenja
- MAR lt- (PC)
- Upravljacka jedinica aktivira signal koji otvara
gejtove izmedu PC i MAR - MBR lt- ((MAR))
- Otvara gejtove izmedu MAR i adresne magistale
- Memory read upravljacki signal
- Otvara gejtove izmedu magistrale podataka i MBR
20 Izvršavanje instrukcije ADD mikroprogramska
implementacija
A
C
G
D
MAR
AC
MBR
F
E
Memorija
B
Prenesi sadržaj mem. lokacije X u MBR F,G
Prenesi je u ALU A
Provedi kroz ALU (bez sabiranja) D
Prenesi rezultat u AC B
Prenesi sadržaj mem. lokacije Y u MBR F,G
Pošalji sadržaje MBR i AC u ALU i A, C, E
Upiši rezultat u AC B
21Izvršavanje instrukcije ADD hardverska
implementacija
A
C
D
MBR
AC
F
E
Memorija
B
t0 Pošalji kontrolni signal read memoriji sa
adresom X i otvori gejt F da je upamtiš u MBR
t1 Pošalji kontrolne signale do D da preneseš
podatak kroz ALU, i do B da ga upamtiš u AC
t2 Pošalji kontrolni signal read memoriji sa
adresom Y i otvori gejt F da je upamtiš u MBR
t3 Pošalji kontrolne signale do A i C. Takode
pošalji kontrolni signal do E za sabiranje i do
B za memorisanje rezultata.
22Putanje podataka i upravljacki signali