You are on page 1of 10

3.

5 UPRAVLJAKA JEDINICA
PROCESORA
Niz elementarnih aktivnosti za aritmetiko-
3. IMPLEMENTACIJA logike instrukcije R formata, izvravane na
vietaktnom procesoru
PROCESORA
1. IR Mem[PC]
[ ]
Upravljaka jedinica procesora 2. PC PC + 4
3. A Reg[IR25..21]
Neboja Milenkovi 4. B Reg[IR20..16]
Elektronski fakultet, Ni 5. ALUIzl A (op, func) B
6. Reg[IR15..11] ALUIzl

N. Milenkovi, Arhitektura i organizacija raunara 2011

Mikrooperacije Upravljake take i signali

Ovakve elementarne aktivnosti nazivamo Upravljake take su upravljaki ulazni


mikrooperacijama. Mikroperacije mogu biti prikljuci (linije) elemenata hardvera koji
jednostavni prenosi podataka iz jednog u drugi uestvuju u obavljanju odreenih
registar, itanje podatka iz memorije ili upis mikrooperacija.
podatka u memoriju, elementarne operacije nad U upravljakim takama deluju upravljaki
podacima i drugo. signali, koje generie upravljaka jedinica
Mikrooperacije se izvravaju tako to se procesora.
aktiviraju odreene upravljake take.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Primer upravljakih taaka Putevi podataka vietaktnog procesora


PCSource
Na primer, za mikrooperaciju PC PC + 4
PCWriteCond ALUIzlWrite
Upravlja~ka

PCWrite ALUOp
jedinica

upravljake take su adresni ulazi oba MUX-a


IorD ALUSrcB
MemRead ALUSrcA
ABWrite
na ulazima ALU-a, prikljuci ALUCont ALU-a, MemWrite
MDRWrite
ExtOp
Op RegWrite
adresni ulaz MUX-a izmeu ALU-a i PC-a i IRWrite [5:0] MemtoReg
RegDst
. PC [31:28]
prikljuak dozvole upisa u PC
PC. ..
Inst [[25:0] 2
<
<<2

MUX

0
Njih upravljaka jedinica aktivira upravljakim
Inst [31:26]
. .0 Inst [25:21] . 0 1

.
MUX

PC Ra

signalima ALUSrcA=0, ALUSrcB=012, . . Rb Polje IPa


MUX

Adr IzlPod Inst [20:16] A


. 1 Zero
. .
ALUIzl

Inst [15:0] 0 registara ALU


ALUOp=002, PCSource=002 i PCWrite=1
1
.
MUX

Memorija Inst Rw ALUrez


instrukcija .
Registar . ]
[15:11 B 0
IPb
UlPod 1 4 1M
respektivno. UlPod U
2X
Prihvatni 3
registar 1 ALU
MUX

memorije Cont
Pro{irenje

. 0
.
<<2

Inst [5:0]
.
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

1
Zadaci upravljake jedinice Dva tipa upravljakih jedinica

Osnovni zadaci upravljake jedinice Upravljaka jedinica procesora moe se


procesora su: implementirati na osnovu jedne od dve sledee
interpretacija instrukcija CP-a, to se svodi na koncepcije:
formiranje
j nizova mikrooperacija
p j za svaku kao klasina sekvencijalna
j p
prekidaka mrea,
instrukciju, to vodi direktnom (ili hardverskom) upravljanju,
generisanje upravljakih signala, i
upravljanje prenosom podataka izmeu kao maina sa zapamenim programom, to
procesora i memorije i procesora i ulazno- vodi mikroprogramskom upravljanju.
izlaznog sistema raunara.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

3.6 UPRAVLJAKA JEDINICA SA


DIREKTNIM UPRAVLJANJEM Upravljaka jedinica kao Moor-ov
automat
Upravljaku jedinicu procesora moemo
posmatrati kao konani automat, zadat sledeim
elementima: Postoje dva oblika konanih automata: Mealy-ev
skupom stanja upravljake jedinice i Moore-ov automat.
S={S{ 0, S1, ... , Snn-11}},
Mi emo ovde koristiti Moore-ov
Moore ov automat,
automat ija
skupom ulaznih upravljakih signala
X={x1, x2, ... , xm}, funkcija izlaza ima oblik FY: S Y. To znai da
skupom izlaznih upravljakih signala su izlazni signali odreeni samo stanjem u kome
Y={y1, y2, ... , yk}, se automat nalazi, nezavisno od ulaznih signala.
funkcijom promene stanja FS: (X,S) S, i
funkcijom izlaza FY: (X,S) Y.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Upravljaka jedinica kao konani


automat Funkcije FS i FY
Ako ponaanje upravljake jedinice vietaktnog Funkcija promene stanja FS i funkcija izlaza FY
procesora prikazano na slici 3.13 predstavimo konanim
automatom, njegovi elementi e biti:
odreene su slikom 3.13. Ta slika predstavlja
graf promene stanja upravljake jedinice kao
skup stanja upravljake jedinice
konanog automata.
S={ S0, S1, S2, S3, S4, S5 , S6, S7, S8, S9, S10, S11},
Krugovima
g ((temenima g
grafa)) su p
predstavljena
j
skup ulaznih upravljakih signala
stanja automata.
X={op, funct, Zero},
Usmerenim linijama (potezima) predstavljene su
skup izlaznih upravljakih signala
promene stanja automata. Promene stanja
Y={PCWriteCond, PCWrite, IorD, MemRead, MemWrite, mogu biti uslovne, kada se uslov navodi pored
IRWrite, MDRWrite, PCSource, ABWrite, ALUOp, potega koji odreuje promenu stanja, ili
ALUSrcA, ALUSrcB, ExtOp, ALUIzlWrite, RegWrite, bezuslovne, kada je oznaavanje potega
MemtoReg, RegDst}. nepotrebno.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

2
Dijagram promene stanja upravljake
jedinice vietaktnog procesora Blok ema konanog automata
Pribavljanje
instrukcije Konani automat moe
S0 IorD=0
MemRead
ALUSrcA=0
S1 ExtOp=1
ABWrite Dekodiranje instrukcije se implementirati
Start IRWrite
ALUSrcB=01
ALUSrcA=0 i pribavljanje operanada
ALUSrcB=11 iz registara
ALUOp=00
sekvencijalnom
ALUOp=00
PCSrc=00
PCWrite ma
ta
ALUIzlWrite
Ulazni signali Izlazni signali prekidakom mreom,
for X Y
koja se sastoji od

ANDkcija
Ra~unanje memorijske W ije
R Instrukcija Kombinaciona
ili S

I
u
kc mre`a kombinacione prekidake
Instr
adrese LW tr u Instrukcija J
ija Ins S8
ukc S10 BEQ
Instr S11
S2 ALUSrcA=1
ExtOp=1
ALUSrcB=10
S6
ALUSrcA=1 ExtOp=0
ALUSrcA=1 ALUSrcA=1
Sada{nje Slede}e
stanje
mree i memorijskih
stanje
ALUOp=00
ALUIzlWrite
ALUSrcB=00
ALUOp=10
ALUIzlWrite
ALUSrcB=10
ALUOp=11
ALUSrcB=00
ALUOp=01
PCSrc=01
PCSrc=10
PCWrite elemenata.
ALUIzlWrite PCWriteCond Memorijski
LW Pristup
SW
elementi Memorijski elementi
S3
memoriji S5 S7 Povratni
upis
S9
mogu biti flip-flopovi tipa
IorD=1
MemRead IorD=1
MemWrite RegDst=1
MemtoReg=0
RegDst=0
MemtoReg=0
D, RS, JK ili T ili leevi.
MDRWrite
RegWrite RegWrite
Oni se taktuju taktnim
signalima odreene
uestanosti.
Povratni
S4 upis
RegDst=0
MemtoReg=1
RegWrite

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Struktura UJ sa direktnim upravljanjem Uloga blokova

Blok Logika direktnog upravljanja predstavlja


kombinacionu mreu sa slike 3.16. U bloku
Tekue stanje UJ skoncentrisani su memorijski
elementi upravljake jedinice.
Za projektovanje upravljake jedinice sa
direktnim upravljanjem moe se koristiti metoda
tablice stanja, metoda elemenata za kanjenje i
druge.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Projektovanje UJ metodom tablice Tablica prelaza/izlaza konanog


stanja automata
Upravljaka jedinica moe biti data tablicom Ulazni upravljaki signali
stanja/ izlaza prikazanom tabelom 3.7. Stanje/
Sik je stanje u koje upravljaka jedinica prelazi iz izlazni signali x1 x2 ... xm
stanja Si pod dejstvom ulaznih signala xk .
Sa
S Yi oznaeni
i su iizlazni
l i signali
i li kkoje
j S0/ Y0 S01 S02 ... S0m
upravljaka jedinica formira u stanju Si .
S1/ Y1 S11 S12 ... S1m
Projektovanje ukljuuje minimizaciju stanja
automata, kodiranje stanja i projektovanje ... ... ... ... ...
sekvencijalne prekidake mree koja
implementira automat. Sn-1/ Yn-1 S(n-1)1 S(n-1)2 ... S(n-1)m

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

3
Tablica pobude flip-flopova
Primer
Si Q i3Q i2 Q1i Q i0 a5a4a3a2a1a0
i i
Q i3+1Q i2+1Q1i +1Q i0+1 D 3 D 2 D1D 0
i i

Neophodan broj flip- S0 0000 xxxxxx 0001 0001

flopova m odreen je
S1 0001 100011-LW 0010 0010

S1 0001 101011-SW 0010 0010

izrazom (ns je broj S1

S1
0001

0001
000000-Rft

001100-ANDI
0110

1000
0110

1000

stanja) S1 0001 000100-BEQ 1010 1010

S1 0001 000010 J
000010-J 1011 1011

m = log2 ns = S2

S2
0010

0010
100011

101011
0011

0101
0011

0101

log2 12 = 4
S3 0011 xxxxxx 0100 0100

S4 0100 xxxxxx 0000 0000

S5 0101 xxxxxx 0000 0000

S6 0110 xxxxxx 0111 0111

S7 0111 xxxxxx 0000 0000

S8 1000 xxxxxx 1001 1001

S9 1001 xxxxxx 0000 0000

S10 1010 xxxxxx 0000 0000

S11 1011 xxxxxx 0000 0000

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Zavisnost upravljakih signala od


Logiki izrazi pobude flip-flopova
stanja UJ
PCWriteCond = S10 ExtOp = S1S2
D 3 = Q 3 Q 2 Q1Q 0 (a 5 a 4 a 2 a 1a 0 a 5 a 4 a 3 a 2 a 1a 0 ) Q 3 Q 2 Q1 Q 0
PCWrite = S0S11 ABWrite =S1
D 2 = Q3 Q 2 Q1Q 0 a 5 a 4 a 3 a 2 a 1a 0 Q3 Q 2 Q1 Q 0 a 5 a 4 a 3 a 2 a 1a 0 IorD = S3S5 ALUSrcA = S2S6S8S10
Q3 Q 2 Q1Q 0 Q3 Q 2 Q1 Q 0 MemRead = S0S3 ALUSrcB1 = S1S2S8
MemWrite =S5 ALUSrcB0 = S0S1
D1 = Q3 Q 2 Q1Q 0 (a 5 a 4 a 2 a 1a 0 a 5 a 4 a 3 a 1a 0 a 5 a 4 a 3 a 2 a 0 )
MDRWrite =S3 ALUOp1 = S6S8
Q3 Q 2 Q1 Q 0 a 5 a 4 a 3 a 2 a 1a 0 Q3 Q 2 Q1 Q 0
IRWrite =S0 ALUOp0 = S8S10
RegDst =S7 ALUIzlWrite = S1S2S6 S8
D 0 = Q3 Q 2 Q1 Q 0 Q3 Q 2 Q1Q 0 a 5 a 4 a 3 a 2 a 1a 0
MemtoReg =S4 PCSrc1 = S11
Q3 Q 2 Q1 Q 0 a 5 a 4 a 2 a 1a 0 Q3 Q 2 Q1 Q 0 Q 3 Q 2 Q1 Q 0
RegWrite = S4S7S9 PCSrc0 = S10

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Logika za generisanje upravljakih


54 210 543 10 5432 0 543210 543210 543210 543210 54 210

Deo logike eme


op

. . D3

signala na osnovu stanja UJ


op

. UJ
op

D2

(memorijski elementi sa
op

. .
ALUIzlWrite

ALUSrcA
PCWriteCond

logikom za promenu
op

D1

.
PCSource0,
MemtoReg

PCSource1

RegWrite
MemRead

MemWrite
MDRWrite
ALUSrcB0
ALUSrcB1

ALUOp1

ALUOp0

stanja)
PCWrite
op

ABWrite

RegDst
IRWrite

ExtOp
IorD

. . ..
op

D0
op

.. . . 0
1
2
S0
S1
S2

..
A0 3 S3
DEKODER

4 S4
A1 5 S5
.. .
...
. .
..

6 S6
A2
.

7 S7
A3 8 S8
.

.
... .

..
. .

9 S9
10 S10
11 S11
. .. .

.
.

D0 Q0 D1 Q1 D 2 Q2 D 3 Q3

. . .
C
FF0 FF1 C
FF2 FF3
C C
Takt
S10
S11
S0
S1
S2
S3
S4
S5
S6
S7
S8
S9

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

4
Projektovanje UJ metodom elemenata Projektovanje UJ metodom elemenata
za kanjenje za kanjenje
Prostiranje impulsnog signala mora biti takvo, da
Ova metoda svodi se na korienje prekidake
on za svako stanje Si du puta u dijagramu toka
mree ija konfiguracija odslikava dati dijagram
upravljanja, obezbeuje vremenski interval ti koji
toka upravljanja. Za svaki put u dijagramu toka
odgovara tom stanju.
upravljanja u ovu mreu treba uvesti po jedan
upravljanja,
put koji mu odgovara. U vremenskom intervalu ti mogu se onda
generisati vrednosti upravljakih signala
Kretanju du puta u dijagramu toka upravljanja
karakteristinih za stanje Si. Brzina prostiranja
za odreenu instrukciju odgovara prostiranje
impulsnog signala kroz prekidaku mreu,
jednog impulsnog signala du odgovarajueg
odnosno duina ovih vremenskih intervala,
puta u toj mrei.
moe se definisati elementima za kanjenje.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Pravila za formiranje mree Pravila za formiranje mree


Par sukcesivnih stanja Si i Sj zahteva uvoenje
elementa za kanjenje. Upravljaki signali {yir } i Slivanje n dolaznih grana u jednu odlaznu granu
{yjp} koje UJ izdaje u stanjima Si i Sj uzimaju se implementira se ILI logikim elementom sa n
sa ulaza i izlaza ovog elementa za kanjenje, ulaza (slika 3. 20c).
respektivno (slika 3.20 a), ili se formiraju na
osnovu njih. Upravljaki signal koji se aktivira u vie stanja
Uslovno grananje sa uslovom naprimer upravljake jedinice, usmerava se ka
odgovarajuim upravljakim takama preko ILI
if(f(x)==1) implementira se parom I logikih
logikog elementa, iji broj ulaza odgovara broju
elemenata, na ije ulaze se, pored impulsnog stanja u kojima se taj upravljaki signal aktivira.
signala, vode uslovi f(x) i f ( x ) (slika 3.20 b).

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Preslikavanje elemenata dijagrama Start

toka upravljanja u elemente prekidake . S Deo


sekvencijalne
0

mree koja implementira UJ .. S.


D
. .
1
prekidake mree,

.
op op op op op
54210 543210 543210 543210 543210
koji implementira
.
Si f(x) f(x)
{yir}
{yir} f(x)=1 funkciju prelaza UJ
ne da vietaktnog
D
. .. .
D D D
. procesora
procesora.
D D
Sj
{yjp}
b) op
3
S2
op . S6 . S8 S10 S11
Na ovu mreu nadovezuje
3
{yjp} D D
D D . S7 . S9
se mrea sa slike 3.18,

a)
Ulazni .
Ka D ulazu
slede}eg FF-a . S. 3 S5
koja generie upravljake

.
D Q
...
Izlazni signale.
... . S
D signal D
C
FF signal
Takt 4

d)
c)

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

5
3.7 MIKROPROGRAMSKA
Dobre i loe strane metode
UPRAVLJAKA JEDINICA
Struktura ovako formirane UJ odraava strukturu Krajem etrdesetih godina prolog veka Maurice Wilkes
sa Cambridge Univerziteta uoio je analogiju izmeu
dijagrama toka upravljanja procesorom. nizanja (engl. sequencing) upravljakih signala u
Nedostatak ove metode projektovanja UJ je to za raunaru i nizanja operacija u programima za raunar,
pa je doao na ideju da koristi zapameni
implementaciju UJ sa ns stanja zahteva ns1 (ili ns) flip- (mikro)program za predstavljanje nizova upravljakih
fl
flopova, t je
to j znatno
t vie d log
i od l 2 ns,
koliko
k lik zahteva
ht signala.
i l
metoda tablice stanja. On je 1951. godine publikovao prvi rad o ovoj tehnici,
koju je nazvao mikroprogramiranje (engl.
Za projektovanje sekvencijalnih prekidakih mrea microprogramming).
uopte, pa i za projektovanje upravljakih jedinica sa Mikroprogramiranje je sistematska tehnika za
direktnim upravljanjem, razvijeni su programski sistemi implementiranje upravljakih jedinica raunara,
koji automatizuju ovo projektovanje. zasnovana na koncepciji programa zapamenog u
memoriji.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Mikrooperacije i mikroinstrukcije Redosled mikroinstrukcija

Meutim, mikroprogram mora odreivati i


Za razliku od programa iji su elementi redosled izvravanja ("nizanje") mikroinstrukcija.
mainske instrukcije raunara, elementi Kao i u svim programima, i mikroinstrukcije se
mikroprograma su mikroinstrukcije, smetene u
upravljakoj (mikroprogramskoj) memoriji mogu izvravati redosledom kojim su smetene
raunara.
raunara u mikroprogramskoj memoriji
memoriji, kao i redosledom
Osnovni zadatak mikroinstrukcija je izdavanje odreenim uslovnim grananjima, skokovima ili
naloga za izvrenje odreenih podskupova ak pozivima podmikroprograma.
mikrooperacija. To se postie postavljanjem Sekvencijalno nizanje mikroinstrukcija
upravljakih signala na odreene vrednosti. najpogodnije je realizovati brojaem
mikroinstrukcija (PC).

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Formati mikroinstrukcija Formati mikroinstrukcija

Najoptiji format mikroinstrukcija, prikazan na


slici 3.22a, sadri kod mikrooperacije (MOp),
polje upravljakih signala (US), polje uslova i RMI MOp US Uslov ASM RMI MOp US

polje adrese sledee mikroinstrukcije (ASM). a. RMI MOp Uslov ASM


MOp ukazuje na tip mikroinstrukcije
mikroinstrukcije, naprimer
naprimer, MOp - kod mikrooperacije
b.
kako se odreuje adresa sledee US - upravlja~ki signali
ASM - adresa slede}e mikroinstrukcije RMI - registar mikroinstrukcija
mikroinstrukcije:
inkrementiranjem brojaa mikroinstrukcija,
punjenjem brojaa iz polja ASM, ili
punjenjem brojaa na osnovu sadraja registra
instrukcija IR.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

6
Blok ema mikroprogramske UJ Implementacija vietaktnog procesora
oko jedne unutranje magistrale
Zero? 32(PC)
31(Link) Zaposlena
rd MARWr

. ..
Kod ALUOp O/J AWr BWr rt
oper. E/F rs
IRWr 4 3 2 1 0 3
28 4 4 MUX MAR
RegSel

<<2
..
IR 1 MUX 0 0MUX1 adresa adresa

<
.
26
2 A B Polje
funct registara

.
ExtOp (32 registra RegWr
Pro{irenje ALU Memorija MemWr
op{te namene

ALUrez
Cont ALU + PC)
2 IzReg MemRd

Zero
<<2 podatak podatak
IzPro{
IzPom IzA IzALU
Magistrala

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Fetch MAR PC : (T0) RegSel=100, IzReg, MARWr; ADD A R[rs] : (T3) RegSel=000, IzReg, /J=0, AWr;
A PC : (T0) RegSel=100, IzReg, /J=0, AWr; B R[rt] : (T4) RegSel=001, IzReg, /F=0, BWr;
B4: (T0) /F=1, BWr; R[rd] A+B : (T5) ALUCont=+, IzALU, RegSel=010, RegWr;
IR M[MAR]:(T1) MemRd, IRWr; go to Fetch: (T5) ASM=ap(Fetch);
PC A+B : (T2) ALUCont=+, IzALU, RegSel=100, RegWr;
Dekodirati instrukciju: (T2); SUBU A R[rs] : (T3) RegSel=000, IzReg, /J=0, AWr;
B R[rt] : (T4) RegSel=001, IzReg, /F=0, BWr;
R[rd] AB : (T5) ALUCont= , IzALU,RegSel=010, RegWr;
Zero? 32(PC)
31(Link) Zaposlena go to Fetch: (T5) ASM=ap(Fetch);
rd MARWr Zero? 32(PC)

. ..
Kod ALUOp O/J AWr BWr rt 31(Link) Zaposlena
p
oper. E/F rs rd MARWr

. ..
IRWr 4 3 2 1 0 3 Kod
K d ALUO
ALUOp AW BW
O/J AWr BWr rt
4 4 MUX MAR oper. E/F rs
28 RegSel IRWr 4 3 2 1 0 3
<<2

4 4 MUX MAR
..
28 RegSel
IR 1 MUX 0 0MUX1 adresa adresa

.
<<2

26

..
2 A B Polje IR 1 MUX 0 0MUX1 adresa adresa
registara
.
funct 26
Polje
.
ExtOp (32 registra RegWr A B
Pro{irenje ALU
op{te namene
Memorija MemWr funct
2 registara
ALUrez

Cont ALU

.
+ PC) IzReg ExtOp (32 registra RegWr
2 MemRd ALU Memorija MemWr
Zero

Pro{irenje op{te namene


ALUrez

<<2 Cont ALU + PC)


podatak podatak 2 IzReg MemRd
Zero

IzPro{ <<2 podatak podatak


IzPom IzA IzALU
IzPro{
Magistrala IzPom IzA IzALU
Magistrala
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

ANDI A R[rs] : (T3) RegSel=000, IzReg, /J=0, AWr; LW A R[rs] : (T3) RegSel=000, IzReg, /J=0, AWr;
B pn(imm) : (T4) ExtOp=0, IzPro, /F=0, BWr; B zp(pomer) : (T4) ExtOp=1, IzPro, /F=0, BWr;
R[rt] A AND B :(T5) ALUCont=AND, IzALU,RegSel=001, RegWr; MAR A+B : (T5) ALUCont=+, IzALU, MARWr;
go to Fetch: (T5) ASM=ap(Fetch); R[rt] M[MAR ] : (T6) MemRd, RegSel=001,RegWr;
go to Fetch: (T6) ASM=ap(Fetch);
J A PC31..28(IR25..0<<2) : (T3) RegSel=100, IzReg, /J=1, AWr; SW A R[rs] : (T3) RegSel=000, IzReg, /J=0, AWr;
PC A : (T4) IzA, RegSel=100, RegWr; B zp(pomer) : (T4) ExtOp=1, IzPro, /F=0,BWr;
go to Fetch: (T4) ASM=ap(Fetch); MAR A+B : (T5) ALUCont=+,IzALU, MARWr;
M[MAR ] R[rt]: (T6) RegSel=001, IzReg,MemWr;
Zero? 32(PC)
go to Fetch: (T6) ASM=ap(Fetch);
31(Link) Zaposlena Zero? 32(PC)
rd 31(Link) Zaposlena
MARWr rd

. ..
Kod ALUOp O/J AWr BWr rt MARWr

. ..
rs Kod ALUOp O/J AWr BWr rt
oper. E/F oper. rs
IRWr 4 3 2 1 0 3 E/F
4 4 IRWr 4 3 2 1 0 3
28 MUX
RegSel
MAR 28 4 4 MUX MAR
RegSel
<<2

..
<<2

..
IR 1 MUX 0 0MUX1 adresa adresa
IR 1 MUX 0 0MUX1 adresa adresa

.
26

.
Polje 26
2 A B
registara 2 A B Polje
funct funct registara
.
ExtOp (32 registra RegWr MemWr

.
ALU Memorija ExtOp (32 registra RegWr
Pro{irenje op{te namene Pro{irenje ALU Memorija MemWr
ALUrez

Cont ALU op{te namene


ALUrez

2 + PC) IzReg MemRd


Cont ALU + PC)
Zero

2 IzReg MemRd
Zero

<<2 podatak podatak <<2 podatak podatak


IzPro{ IzPro{
IzPom IzA IzALU IzA
IzPom IzALU
Magistrala Magistrala
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

7
BEQ A R[rs] : (T3) RegSel=000, IzReg, /J=0, AWr;
B R[rt] : (T4) RegSel=001, IzReg, /F=0, BWr;
If (A==B) then gotoGran: (T5) ALUCont===, Zero=1, ASM=Gran;
go to Fetch: (T6) ASM=ap(Fetch);
Upravljanje tokom mikroprograma
Gran A PC : (T6) RegSel=100, IzReg, /J=0, AWr;
B zp(pomak) <<2: (T7) ExtOp=1, IzPom, /F=0, BWr;
PC A+B : (T8) ALUCont=+, IzALU, RegSel=100, RegWr;
go to Fetch: (T8) ASM=ap(Fetch);

MOp Adresa sledee mikroinstrukcije odreena


Zero? 32(PC)
31(Link) Zaposlena
rd MARWr 00 Inkrementiranjem brojaa mikroinstrukcija
. ..
Kod ALUOp O/J AWr BWr rt
oper. E/F rs
IRWr 4 3 2 1 0 3 01 Uslovnim grananjem na adresu u ASM na osnovu signala Zero
28 4 4 MUX MAR
RegSel
10 Skokom na adresu odreenu sadrajem polja Op registra IR
<<2

..
IR 1 MUX 0 0MUX1 adresa adresa
11 Skokom na adresu u ASM
.
26
2 A B Polje
funct registara

.
ExtOp (32 registra RegWr MemWr
Pro{irenje ALU
op{te namene
Memorija
ALUrez

Cont ALU + PC)


2 IzReg MemRd
Zero

<<2 podatak podatak


IzPro{
IzPom IzA IzALU
Magistrala
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Izbor adrese mikroinstrukcije Izbor adrese mikroinstrukcije (mrea)


Na adresne ulaze
mikroprogramske memorije
Zero

a = MOp 0
Broja~ b MOp0
mikroinstrukcija I/L MOp1
I/ L = MOp1 (MOp 0 Zero) a
MUX MOp0
0 1

ASM
0...0

IR Op
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Mikroprogrami Paralelizam u mikroinstrukcijama


razmatranih
instrukcija
Mikroinstrukcije formata prikazanog na slici
3.22a i u mikroprogramu u tabeli 3.12 imaju u
polju US po jednu binarnu poziciju za svaki
upravljaki signal. Za takav oblik mikroinstrukcija
esto se koristi
o st te
termin horizontalni
o o ta formato at
mikroinstrukcija.
On se odlikuje time da se upravljaki signali sa
izlaza registra mikroinstrukcija direktno vode do
upravljakih taaka u putevima podataka
procesora (slika 3.26a). Zato se esto za ovakav
oblik mikroprogramskog upravljanja koristi
termin neposredno upravljanje.

N. Milenkovi, Arhitektura i organizacija raunara 2011

8
Grupisanje upravljakih signala Kodiranje upravljakih signala
Obrazovanjem grupa od uzajamno iskljuivih
upravljakih signala, unutar takvih grupa moe Nalog za aktiviranje upravljakog signala, koji
se aktivirati najvie jedan upravljaki signal. To se unutar ovakve grupe navodi u kodiranom
omoguuje kodirano predstavljanje upravljakih obliku, mora se dekodirati pre no to se dostavi
signala unutar grupa, to skrauje ukupnu namenjenoj upravljakoj taki.
duinu polja upravljakih signala u
mikroinstrukcijama. Ako grupa obuhvata k upravljakih signala,
postoji potreba da se u njoj navede bilo koji od
Razliite grupe upravljakih signala moraju biti
meusobno nezavisne, pa ostaje mogunost k+1 kodnih slogova, ukljuujui jedan sa
istovremenog aktiviranja vie takvih grupa. Time znaenjem da nijedan upravljaki signal iz ove
se zadrava mogui stepen paralelizma u grupe nije aktivan.
obavljanju mikrooperacija kao i kod
mikroinstrukcija horizontalnog formata.
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Minimalno kodirani format


Razliiti formati mikroinstrukcija
mikroinstrukcija

Onda log2(k+1) izlaza iz polja upravljakih US

signala te grupe mora biti preko dekodera tipa 1 3 3 2 4 3 1

RMI MOp US
.. . .
RMI MOp
od (k+1) razvedeno do odgovarajuih
.. ..

MARWr
ALUCont

RegSel
ExtOp
upravljakih taaka. Dek Dek

BWr
O/J
E/F
001-IzPro{
a. 010-IzPom
Ovakav format mikroinstrukcija naziva se RMI MOp KUS KUS
011-IzA
100-IzALU 001-IRWr
101-IzReg 010-AWr
minimalno kodirani format mikroinstrukcija. 110-MemRd 011-RegWr

c.
..
Dek
..
Dek 000-nijedan
b.
100-MemWr
000-nijedan

KUS - kod upravlja~kog signala


3 3 2
S
U 4 3 1

R I
M p
O
M S
U
. .
M
R IM pO

. .
t

01 zP
rI- o{ ek
D D ek
C
on

O
xt

JBW
rO
E
/F

egS

W
R
A

a. 01 zA
o-
IP m
LU
A

M
R IM pO S
U
K

.
K U
S

.
10 zM
L-
IA
R
em dR
gU 01 R
I01
W
-A r

ek
D D ek 0 dni-je na 10 eR
-M
01 m
gW
r

c . b . 0 ej-ni0 dan

-
S
U
K kod uprav ajl~k gsio aln

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Vertikalni format mikroinstrukcija Vertikalni format mikroinstrukcija


Za ovakav oblik mikroinstrukcija koristi se termin
Ako je mikroarhitektura puteva podataka procesora
takva da se mikrooperacije mogu izvravati vertikalni format mikroinstrukcija, ili maksimalno kodirani
istovremenim aktiviranjem samo jednog ili dva format mikroinstrukcija. I ovde se sadraj polja KUS
upravljaka signala, koncepcija kodiranog predstavljanja mikroinstrukcije mora dekodirati pre no to se dostavi
aktiviranih upravljakih signala moe se proiriti na odgovarajuim
g j upravljakim
p j takama.
sledei nain
nain.
Sve upravljake signale ukljuimo u jednu ili dve grupe Evo nekoliko primera organizacije mikroprogramskih
upravljakih signala, od kojih se moe aktivirati samo po memorija raunara popularnih u sedamdesetim
jedan od njih. Polje US u mikroinstrukciji sa slike 3.26a godinama prolog veka:
moemo zameniti sa jednim ili dva znatno kraa polja
koda aktiviranog upravljakog signala (KUS), prikazanim DEC VAX: 780 (4K96b), 750 (6K80b), 730 (16K24b);
na slici 3.26c. IBM S/370: 135 (24K16b), 145 (12K32b),
155 (6K69b), 165 (4K105b).

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

9
Firmver Emulacija
Tehnika korienja firmvera za simuliranje
ponaanja jednog raunara, recimo Y, na
Kao sredstvo za podrku rada raunara drugom raunaru, recimo X, naziva se emulacija
mikroprogrami se nalaze izmeu hardvera i (engl. emulation). Ova tehnika razvijena je u
softvera raunara, pa se za njih esto koristi IBM-u ezdesetih godina prolog veka kada je
termin firmver (engl firmware)
firmware). IBM lansirao novu familiju raunara S/360 sa
novom arhitekturom skupa instrukcija.
U poslednje vreme termin firmver koristi se da Bolja efikasnost emulacije u odnosu na
oznai bilo ta to je smeteno u ROM-u, simulaciju jednog raunara na drugom
ukljuujui programe na nivou makroinstrukcija omoguena je korienjem aktivnosti na niem
za BIOS, bootstrap punioce ili specijalizovane nivou (mikrooperacija umesto mainskih
aplikacije. operacija).

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Prednosti mikroprogramske Nedostaci mikroprogramske


organizacije upravljake jedinice organizacije upravljake jedinice

sistematsko projektovanje upravljake jedinice, neekonominost za male sisteme zbog


lakoa implementiranja familije raunara sa relativno visoke fiksne cene
kompatibilnim instrukcijama, mikroprogramske memorije i logike za
sposobnost
b t emuliranja
li j ddrugih
ih raunara,
i
nizanje
j mikroinstrukcija,
ik i t k ij
lako ispravljanje greaka u fazi razvoja, vreme ciklusa instrukcija ogranieno
niska cena za uvoenje dodatnih funkcija ako za vremenom pristupa mikroprogramske
njihove mikroprograme ima slobodnog prostora memorije i drugi.
u mikroprogramskoj memoriji, i druge.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

Prednosti nestaju Sadanje stanje

Prednosti mikroprogramske u odnosu na U savremenim RISC procesorima koriste


hardversku organizaciju upravljake jedinice se upravljake jedinice sa direktnim
nisu vie tako izraene zahvaljujui postojanju: upravljanjem.
sistematskih mehanizovanih metoda U implementaciji
p j upravljakih
p j jjedinica
projektovanja sekvencijalnih prekidakih mrea, nekih savremenih CISC procesora koristi
i se kombinacija direktnog i
programirljivih logikih komponenata sa mikroprogramskog upravljanja:
memorijskim elementima ije se funkcije lako IBM S/390 G5,
mogu menjati. Intel P4.

N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011

10

You might also like