Racunarstvo i informatika III - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Racunarstvo i informatika III

Description:

Title: A0 - Arhitekture Author: Porodica Spalevic Last modified by: Nevenka Spalevic Created Date: 2/14/2003 7:53:18 AM Document presentation format – PowerPoint PPT presentation

Number of Views:127
Avg rating:3.0/5.0
Slides: 23
Provided by: Porod
Category:

less

Transcript and Presenter's Notes

Title: Racunarstvo i informatika III


1
Racunarstvo i informatika III
  • Lekcija 10 Upravljacka jedinica


2
Mikrooperacije
  • 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
3
Elementi od kojih se sastoji izvršavanje programa
4
Donoš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

5
Sekvenca 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)

6
Pravila 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

7
Ciklus 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

8
Ciklus 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

9
Ciklus 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

10
Instrukcijski 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

11
Dijagram toka instrukcijskog ciklusa
12
Funkcionalni zahtevi za upravljanje procesorom
  • Definišu osnovne komponente procesora
  • Opisuju mikrooperacije koje procesor izvršava
  • Odreduju funkcije koje mora da realizuje
    upravljacka jedinica

13
Osnovne komponente procesora
  • ALU
  • Registri
  • Interne putanje podataka
  • Eksterne putanje podataka
  • Upravljacka jedinica

14
Tipovi 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

15
Funkcije 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

16
Ulazni 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

17
Model upravljcke jedinice
18
Izlazni upravljacki signali
  • Unutar CPU
  • Izazivaju premeštanje podataka
  • Aktiviraju specificne funkcije ALU
  • Preko upravljacke magistrale
  • Ka memoriji
  • Ka U/I modulima

19
Primer 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
21
Izvrš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.
22
Putanje podataka i upravljacki signali
Write a Comment
User Comments (0)
About PowerShow.com