Professional Documents
Culture Documents
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 N. Milenkovi, Arhitektura i organizacija raunara 2011
PCWrite ALUOp
jedinica
MUX
0
Njih upravljaka jedinica aktivira upravljakim
Inst [31:26]
. .0 Inst [25:21] . 0 1
.
MUX
PC Ra
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
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
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
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
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
flopova m odreen je
S1 0001 100011-LW 0010 0010
S1
0001
0001
000000-Rft
001100-ANDI
0110
1000
0110
1000
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
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
. . D3
. 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
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
.
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
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
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
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
2 IzReg MemRd
Zero
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);
..
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
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
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
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
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
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
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
N. Milenkovi, Arhitektura i organizacija raunara 2011 N. Milenkovi, Arhitektura i organizacija raunara 2011
10