Professional Documents
Culture Documents
Arhitektura i organizacija
digitalnog raunala
Nastavnik: Prof.dr.sc. Sven Gotovac
Asistent: Goran Kraljevi, dipl.ing.ra.
Ak.god. 2011/2012
VI/1
Cjevovodi
Ak.god. 2011/2012
VI/2
Cjevovod
Postoji analogija izmeu procesa obrade naredbi u
procesoru i izrade nekog proizvoda
U oba sluaja cilj je procesne ili proizvodne potencijale
maksimalno iskoristiti. To se postie podjelom posla na korake
(manje cjeline) koje mogu posao raditi paralelno.
Primjer:
Pet razliitih naredbi se nalazi u razliitim stadijima obrade isto
kao i pet razliitih dijelova u proizvodnom procesu.
Dio programa izvodi se na sljedei nain:
shr r3, r3, 2
sub r2, r5, 1
add r4, r3, r2
st r4, addr1
ld r2, addr2
Ak.god. 2011/2012
VI/3
Intrepretacija
i izvoenje
naredbe
Proizvodnja
dijela
Intrepretacija
i izvoenje
naredbi
Dohvat
naredbe
Dohvat
materijala
ld r2, addr2
Dohvat
naredbe
Dohvat
operanada
Buenje
st r4,addr1
Dohvat
operanada
Zadnja
ploa
Buenje
ALU
operacija
Rezanje
ALU
operacija
Gornja
ploa
Rezanje
Pristup
memoriji
Poliranje
Pristup
memoriji
Donja
ploa
Poliranje
Upis u
spremnik
Pakovanje
Upis u
spremnik
Prednja
ploa
Proizvodna
linija
Okvir
Dohvat
materijala
Pakovanje
Ak.god. 2011/2012
VI/4
Ak.god. 2011/2012
VI/5
Ak.god. 2011/2012
VI/6
Protoni segmenti
Ak.god. 2011/2012
VI/7
Protoni segmenti
Ak.god. 2011/2012
VI/8
Protoni segmenti
Ak.god. 2011/2012
VI/9
Ak.god. 2011/2012
VI/10
Ak.god. 2011/2012
VI/11
Dodatno sklopovlje
Cjevovod obino zahtjeva i dodatno sklopovlje koje ima zadatak dodatno ubrzati rad
procesora i pojednostavniti neke operacije. Primjer je nezavisan sklop za
inkrementiranje sadraja programskog brojila. Cilj je rasteretiti ALU ove operacije.
Ak.god. 2011/2012
VI/12
Ak.god. 2011/2012
VI/13
Primjer:
100:
104:
108:
112:
.....
512:
;sljedea naredba
Ak.god. 2011/2012
VI/14
naredba add
ulazi u cjevovod
PC
104
100
Mp1
1.
Dohvat
naredbe
Inc4
100: add r4, r6, r8
104
IR2
op ra rb rc c1 c2
PC2
a1 R1
a2 R2
rb
2.
Dekodiranje
i dohvat
operanada
Mp3
IR3
op
uvjet
c2 2..0
Logika
uvjeta
Mp4
X3
Y3
MD3
ra
3.
ALU
operacija
Dekodiraj
ALU
op
ALU
IR4
Z4
MD4
addr
Podatkovna
memorija
op ra
4.
Pristup
memoriji
Dekodiraj
pii/itaj
Mp5
op ra
IR5
Z5
ra
5.
Upis u
op
ra spremnik
(odredite)
Ak.god. 2011/2012
G1
GA1
G2
W3
Mp2
rc
ra
c2
c1
a3 R3
vrijednost
Dekodiraj
load
ladr
brl
alu
VI/15
naredba add
ulazi u drugi korak
PC
108
104
Mp1
1.
Dohvat
naredbe
Inc4
104: ld r7, r5,128
108
PC2
104
IR2
add r4 r6 r8
naredba ld
ulazi u cjevovod
2.
Dekodiranje
i dohvat
operanada
a2
R2
r8
Mp3
IR3
op
Logika
uvjeta
Mp4
Y3
MD3
ra
Dekodiraj
ALU
op
ALU
IR4
Z4
MD4
addr
op ra
4.
Pristup
memoriji
Dekodiraj
Podatkovna
memorija
pii/itaj
Mp5
op ra
5.
Upis u
op
ra spremnik
(odredite)
G1
GA1
G2
W3
uvjet
c2 2..0
X3
3.
ALU
operacija
IR5
a3 R3
Mp2
rc
ra
c2
c1
add r4
Ak.god. 2011/2012
a1 R1
r6 4
rb
Z5
ra
vrijednost
Dekodiraj
load
ladr
brl
alu
VI/16
naredba add
ulazi u fazu
izvoenja ALU
112
108
Mp1
Inc4
108: brl r9, r11, 001
112
IR2
PC2
ld r7 r5
128
a1 R1
108
rb
2.
Dekodiranje
i dohvat
operanada
naredba brl
u fazi dohvata
naredbe
16
ld
r7
Mp3
IR3 add r4
3.
ALU
operacija
a3 R3
G1
GA1
G2
W3
Mp2
uvjet
rc
ra
c2
c1
c2 2..0
Logika
uvjeta
128
Mp4
X3
Y3
MD3
ra
op
Dekodiraj
add
ALU
add r4
IR4
Z4
MD4
addr
Podatkovna
memorija
op ra
4.
Pristup
memoriji
Dekodiraj
pii/itaj
Mp5
op ra
IR5
Z5
ra
5.
Upis u
op
ra spremnik
(odredite)
Ak.god. 2011/2012
a2 R2
r5 16
naredba ld
ulazi u korak
dekodiranja
PC
1.
Dohvat
naredbe
vrijednost
Dekodiraj
load
ladr
brl
alu
VI/17
naredba add
izvedena i eka
upis u odredini
spremnik
PC
512
112
Mp1
1.
Dohvat
naredbe
Inc4
512
IR2
PC2
brl r9 r11
001
a1 R1
112
a2 R2
naredba ld
ulazi u korak
prorauna
memorijske adrese
naredba brl
u fazi dekodiranja i
odreivanja
adrese grananja
naredba str
u fazi dohvata
naredbe
c2
c1
brl r9
IR3
Mp3
Y3
16
add
128
MD3
ALU
r7
144
IR4 add r4
Z4
MD4
addr
Podatkovna
memorija
op ra
4.
Pristup
memoriji
Dekodiraj
pii/itaj
Mp5
add r4
IR5
5.
Upis u
op
ra spremnik
(odredite)
Ak.god. 2011/2012
Logika
uvjeta
001
ra
Dekodiraj
ld
uvjet
c2 2..0
Mp4
X3
ld r7
op
3.
ALU
operacija
rc
ra
G1
GA1
G2
W3
Mp2
112
2.
Dekodiranje
i dohvat
operanada
a3 R3
r11 512
rb
Z5
ra
vrijednost
Dekodiraj
load
ladr
brl
alu
VI/18
naredba add
zavrava upisom u
odredini spremnik
naredba brl
proslijeenja kroz
ALU fazu
naredba str
u fazi dekodiranja i
odreivanja adrese
grananja
516
512
Mp1
Inc4
512: sub ...
516
IR2
PC2
str r12
32
a1 R1
512
naredba sub
u fazi dohvata
c2 r12
c1 32
str r12
Mp3
IR3 brl r9
r4
c2 2..0
Logika
uvjeta
23
Mp4
X3
Y3
112
Mp2 uvjet
xxx
MD3
ra
op
3.
ALU
operacija
rc
ra
G1
GA1
G2
W3
a3 R3
23
rb
512
2.
Dekodiranje
i dohvat
operanada
Dekodiraj
Z=X
ALU
brl r9
122
IR4 ld r7
Z4
144
MD4
addr
144
Podatkovna
memorija
op ra
4.
Pristup
memoriji
itaj
Dekodiraj
ld
55
pii/itaj
Mp5
r7
IR5
add r4
5.
Upis u
op
ra spremnik
(odredite)
Ak.god. 2011/2012
a2 R2
r12
naredba ld
ulazi u korak itanja
podataka iz
podatkovne
memorije
PC
1.
Dohvat
naredbe
Z5
ra
r7
Dekodiraj
load
ladr
brl
vrijednost
alu
VI/19
Ak.god. 2011/2012
VI/20
10
Trei takt: add prelazi u trei korak; ld u drugi korak; brl ulazi u
cjevovod
Naredba add prelazi u trei korak. Njeni operandi pohranjeni su u spremnike
cjevovoda X3 i Y3, a operacijski kod, add, i odredini spremnik, r4, u IR3. Logika za
dekodiranje signalizira ALU da se radi o naredbi za zbrajanje. Kombinacijska logika
zbraja sadraje s ulaza i rezultat operacije se dovodi na ulaz spremnika cjevovoda
Z4. Operacijski kod, add, kao i odredini spremnik r4, spremni su za upis u spremnik
cjevovoda IR4.
Naredba ld je ula u drugi korak u kojem se ona dekodira. Adresa operanda kod ove
naredbe odreena je sadrajem spremnika rb i konstante c2. U konkretnom sluaju
odabire se spremnik r5 iji se sadraj 16 dovodi preko multipleksora Mp3 na ulaz
spremnika cjevovoda X3. Istovremeno se iz naredbe odabire konstanta c1, 128, te
se ista preko multipleksora Mp4 dovodi na ulaz spremnika cjevovoda Y3. Operacijski
kod, ld, kao i odredini spremnik r7 spremni su za upis u spremnik cjevovoda IR3.
Programsko brojilo pokazuje na adresu 108 programske memorije na kojoj se nalazi
naredba brl. Programska memorija postavlja naredbu na izlaz i ona je pripravna za
upis u spremnik naredbe IR2. Istovremeno se programsko brojilo inkrementira i
pokazuje na novu naredbu upisanu na adresi 112. Ova vrijednost e se u sljedeem
taktu upisati u spremnike PC i PC2.
Ak.god. 2011/2012
VI/21
etvrti takt: add prelazi u etvrti korak; ld u trei; brl u drugi; str
ulazi u cjevovod
Zbrajanje je izvedeno i rezultat je upisan u privremeni spremnik cjevovoda Z4. Kako
se radi o ALU operaciji, koja ne pristupa podatkovnoj memoriji, dekoder samo
prespaja izlaz spremnika Z4 na ulaz spremnika Z5.
Naredba ld je u treem koraku u kojem se izraunava adresa podatkovne memorije
iz koje je sadraj potrebno prebaciti u odredini spremnik, r7. Adresa podatka dobiva
se zbrajanjem sadraja spremnika X3, sadraj spremnika r5 koji je 16 i konstante c1
koja je 128. Rezultat, 144, eka sljedei takt impuls kako bi se upisao u spremnik
cjevovoda Z4.
U drugom koraku je naredba za bezuvjetno grananje u potprogram, brl. Adresa
potprograma upisana je u spremnik r11, a povratna adresa e se upisati u spremnik
r9. Uvjetni kod 001 specificira da se radi o bezuvjetnom grananju. Ovaj kod se preko
c2 sabirnice dovodi na logiku uvjeta koja svoj izlaz, uvjet, postavlja u jedinicu. Kako
je uvjet jednak jedinici i radi se o naredbi za grananje, multipleksor Mp1
preusmjerava sadraj spremnika r11, odnosno adresu prve naredbe potprograma,
na ulaz programskog brojila. Sada se na ulazu programskog brojila nalazi vrijednost
512, a ne prethodna vrijednost poveana za etiri, koja e se upisati u programsko
brojilo sljedeim takt impulsom.
Ak.god. 2011/2012
VI/22
11
Ak.god. 2011/2012
VI/23
Ak.god. 2011/2012
VI/24
12
Ak.god. 2011/2012
VI/25
Ak.god. 2011/2012
VI/26
13
Primjer:
100: add r0, r2, r4
104: sub r3, r0, r1
Ak.god. 2011/2012
VI/27
Ak.god. 2011/2012
VI/28
14
Ak.god. 2011/2012
VI/29
Ak.god. 2011/2012
VI/30
15
Ak.god. 2011/2012
VI/31
Ak.god. 2011/2012
VI/32
16
Ak.god. 2011/2012
VI/33
PC
Mp1
1.
Dohvat
naredbe
Inc4
IR2
op ra rb rc c1 c2
a1 R1
a2 R2
rb
G1
GA1
G2
W3
Mp2
uvjet
2.
Dekodiranje
i dohvat
operanada
rc
ra
c2
c1
Mp3
IR3
op ra
3.
ALU
operacija
Y3
4.
Pristup
memoriji
ALU
ra
Mp5
Z5
ra
Dekodiraj
Podatkovna
memorija
pii/itaj
Logika za
detekciju rizika
i prosljeivanje
podataka
IR5
MD4
addr
Logika za
detekciju rizika
i prosljeivanje
podataka
Dekodiraj
5.
Upis u
op
ra spremnik
(odredite)
MD3
Z4
op ra
Logika
uvjeta
Mp7
Dekodiraj
op
c2 2..0
Mp4
X3
rb, rc
Mp6
IR4
Ak.god. 2011/2012
a3 R3
vrijednost
load
ladr
brl
alu
VI/34
17
Primjer
Ak.god. 2011/2012
VI/35
prvi takt
dohvat
naredbe
ld r8, addr2
dohvat
operanada
drugi takt
zaustavljen
trei takt
zaustavljen
ld r8, addr2
zaustavljen
ld r8, addr2
zaustavljen
add r1, r2, r3
nova
etvrti takt
nova
peti takt
zaustavljen
ld r8, addr2
zaustavljen
add r1, r2, r3
nova
ld r8, addr2
nova
izvoenje
naredbe
nop
nop
nop
pristup
memoriji
nop
nop
nop
upis u
spremnik
Ak.god. 2011/2012
nop
zavrena
nop
prazno
VI/36
18
Primjer
Ak.god. 2011/2012
VI/37
Ak.god. 2011/2012
VI/38
19
100
100
Ak.god. 2011/2012
100
5 1
100 400%
1
VI/39
100
55 4
100 375%
54
Ak.god. 2011/2012
VI/40
20
Ak.god. 2011/2012
VI/41
VI/42
CISC. RISC.
Ak.god. 2011/2012
21
Uobiajeni pristup:
vrijeme trajanja periode tako da dopusti izvoenje najjednostavnijih
operacija u jednoj periodi
izvoenje sloenijih instrukcija/operacija u vie perioda
Ak.god. 2011/2012
VI/43
Ak.god. 2011/2012
VI/44
22
- periode kanjenja
Ak.god. 2011/2012
VI/45
Ak.god. 2011/2012
VI/46
23
Ak.god. 2011/2012
VI/47
Ak.god. 2011/2012
VI/48
24
Ak.god. 2011/2012
VI/49
25