32
Arhitek tura i organiz acija raˇ cunara Originalna skripta:  I gor Dorde vi´ c  – 14290 L A T E X i dopuna:  Lazar Lj ubenovi´ c  – 14722 verzija 0.9β Zadatak 1  Za maˇ sinu tipa    ( load-store ) za koju je smeˇ sa naredbi dobijena me- renjem prikazanom u tabeli, razvijamo optimiziraju ´ ci kompilator. Kompilator elimini ˇ se 50% ALU instrukcija dok se broj ostalih instrukcija ne smanjuje. Ako je perioda taktnog signala  2 ns, upore- diti vre mena izv r ˇ senja i MIPS vre dnostineopti miz ova nog i opt imi zov ano g koda. Da li se por ede nja kodova po vremenu izvrˇ senja i MIPS-u slaˇ zu? Objasniti. ti p instrukcij e u ˇ cestanost bro j cik lus a tak ta ALU  43% 1 LOAD  21% 2 STORE  12% 2 grananje  24% 2 Re ˇ senj e.  Kod neoptimizovane (sta re) varija nte maˇ sine, bro j cik lusa po instrukcij i raˇ cunamo kao CPI s  =   (uˇ ce stanos t  ·  broj ciklusa takta) = 0.43 · 1+0.21 · 2 + 0.12 · 2+0.24 · 2 = 1 .57. Odavde imamo da vreme izvrˇ senja starog programa iznosi T s  =  N s · CPI s · T C  =  N s · 1.57 · 2 ns = 3.14 · N s  ns i u tom sluˇ ca ju je MIPS s  =  N s T s · 10 6  =  N s 3.14 · N s · 10 9 · 10 6  = 318.47, pri ˇ cemu je  N S  ukupan broj instrukcija koji se izvrˇ sav a u programu, u neoptimizovanoj varijan ti, T C  = 2 ns je trajanje ciklusa takta . Nakon ˇ sto se obavi opisana optimizacija, dobija se novi procesor. Po ˇ sto on ima 50% manje ALU instrukcij a, novi bro j i nstrukcij a d obijamo na slede´ ci naˇ cin: N N  =  N S 0.5 · 0.43 · N S    broj ALU instrukcija = 0.785 · N S . Treba utvrditi koji procenat od novog broja instrukcija (N N ) svaka od instrukcijˆ a ˇ cini po nao sob. T o raˇ cunamo kao koliˇ cnik novog broja tih instrukcija (menja se samo za ALU jer je samo kod njih uˇ cinjena optimizacija) i ukupnog bro ja novih instrukcija, odnosno: ALU :  0.5 · 0.43 · N S N N =  0.5 · 0.43 · N S 0.785 · N S 0.27 = 27%, 1

AOR Pismeni Skripta

Embed Size (px)

Citation preview

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 1/32

Arhitektura i organizacija racunara

Originalna skripta:  Igor Dordevic  – 14290

LATEX i dopuna:   Lazar Ljubenovic  – 14722

verzija 0.9β 

Zadatak 1   Za masinu tipa    (load-store ) za koju je smesa naredbi dobijena me-

renjem prikazanom u tabeli, razvijamo optimizirajuci kompilator. Kompilator eliminise 50% ALU

instrukcija dok se broj ostalih instrukcija ne smanjuje. Ako je perioda taktnog signala  2 ns, upore-diti vremena izvrsenja i MIPS vrednosti neoptimizovanog i optimizovanog koda. Da li se poredenja

kodova po vremenu izvrsenja i MIPS-u slazu? Objasniti.

tip instrukcije ucestanost broj ciklusa takta

ALU   43% 1LOAD   21% 2

STORE   12% 2grananje   24% 2

Resenje.  Kod neoptimizovane (stare) varijante masine, broj ciklusa po instrukciji racunamo kaoCPIs  = (ucestanost ·  broj ciklusa takta) = 0.43 · 1 + 0.21 · 2 + 0.12 · 2 + 0.24 · 2 = 1.57. Odavde

imamo da vreme izvrsenja starog programa iznosi

T s =  N s · CPIs · T C =  N s · 1.57 · 2 ns = 3.14 · N s ns

i u tom slucaju je

MIPSs  =  N sT s · 106

  =  N s

3.14 · N s · 10−9 · 106 = 318.47,

pri cemu je  N S ukupan broj instrukcija koji se izvrsava u programu, u neoptimizovanoj varijanti,T C  = 2 ns je trajanje ciklusa takta.

Nakon sto se obavi opisana optimizacija, dobija se novi procesor. Posto on ima 50% manjeALU instrukcija, novi broj instrukcija dobijamo na sledeci nacin:

N N

 =  N S

− 0.5 · 0.43 · N S   

broj ALUinstrukcija

= 0.785 · N S

.

Treba utvrditi koji procenat od novog broja instrukcija (N N) svaka od instrukcija cini ponaosob.To racunamo kao kolicnik novog broja tih instrukcija (menja se samo za ALU jer je samo kodnjih ucinjena optimizacija) i ukupnog bro ja novih instrukcija, odnosno:

ALU :  0.5 · 0.43 · N S

N N=

 0.5 · 0.43 · N S0.785 · N S

≈ 0.27 = 27%,

1

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 2/32

LOAD:  0.21 · N S0.785 · N S

≈ 27%,   STORE:  0.12 · N S0.785 · N S

≈ 15%;

grananje :  0.24 · N S

0.785 · N S≈ 31%.

Primenom iste formule kao kod neoptimizovane (stare) varijante, dobijamo

CPIN  = 0.27 · 1 + 0.27 · 2 + 0.15 · 2 + 0.31 · 2 = 1.73,

a odatle

T N =  N N · CPIN · T C  = 2.72N N ns i MIPSN =  N NT N · 106

 = 288.6.

Zakljucujemo da se poredenja ne slazu. Naime, kod druge varijante vreme izvrsavanja je krace(odnosno druga varijanta je brza) ali je i MIPS manji (obavi se manje instrukcija po sekundi,pa je druga varijanta sporija). Kako MIPS nije pouzdana mera, na osnovu vrema izvrsenjazakljucujemo da je druga (optimizovana) varijanta brza.

Zadatak 2   Racunar A izvrsava neki program za 10 s, racunar B izvrsava isti program za 15s. Za

koliko procenata je racunar A  brzi od racunara B ? Za koliko procenata je racunar B  sporiji od

racunara A?

Resenje.   Vremena izvrsenja datih programa na racunarima   A   i   B   oznacimo sa   T A   = 1 0 s iT B  = 15 s, respektivno, a odgovarajuce brzine sa   V A   i   V B. Uporedimo sada razliku njihovihbrzina sa brzinom jednog od racunara. Iz

|V A − V B |

V B=

 V AV B

− 1 =  T BT A

− 1 = 0, 5 = 50%

dobijamo da je racunar  A  za 50% brzi od racunara  B , a iz

|V B − V A|

V A= 1 −

 V BV A

= 1 − T AT B

= 0, 3 = 33, 3%

dobijamo da je racunar  B  za 33% sporiji od racunara  A.Relacija V A/V B  = T A/T B  dobija se iz cinjenice da je brzina obrnuto proporcionalna vremenu

izvrsenja.

Zadatak 3   Cetiri takmicara treba da predu put duzine 80km podeljen u dve deonice, A = 50kmi B  = 30km. Deonicu A  svi takmicari prelaze peske brzinom 5 km/h. Deonicu B  prvi takmicar

nastavlja automobilnom, drugi kamionom, treci biciklom, a  cetvrti pesice. Ako se bicikl krece

20km/h, kamion 60km/h, a automobil 120km/h, koliko ce puta prvi takmicar stici na cilj brze

od poslednjeg takmicara?

Resenje.  Posto svi takmicari deonicu   A   prelaze peske, za sve takmicare je vreme potrebno zaprelazak te deonice jednako

vremeA =  50km

5 km/h = 10 h.

Na isti nacin se racuna ju vremeB  za sve takmicare posebno, kako je to prikazano u sledecojtabeli:

2

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 3/32

takmicar vremeA   vremeB   poboljsanjeB   poboljsanjeA+B

4. 10 h   30km5 km/h

  = 6 h   66

  = 1 1

3. 10 h   30km20km/h

 = 1, 5 h   61,5

  = 4 1.39

2. 10 h  30km

60km/h  = 0, 5 h  6

0,5   = 12 1.521. 10 h   30km

120 km/h = 0, 25 h   6

0,25  = 24 1.56

Poboljsanje na deonici  B  se racuna u odnosu na cetvrtog takmicara (tj. prvi odozgo u tabeli), jer se u zadatku trazi ukupno poboljsanje u odnosu na njega.

U poslednjoj koloni je iskoriscen Amdalov zakon. PBU  je ukupno poboljsanje brzine koje setrazi, PD je poboljsani deo od ukupnog puta (ovde je to 30 km/80km), a PBPD  je poboljsanjebrzine na pobosljanom delu, tj. cetvrta kolona iz tabele. Tako se za cetvrtog takmicara dobija

PBU  =  1

1 − PD +   PDPB

=  1

1 −   3080

 +   30/8024

= 192

123 ≈ 1.56.

Zadatak 4   Zahvaljujuci poboljsanjima, novi racunar obavlja neku aktivnost puta brze nego

stari. Ako se ova aktivnost javlja u 40% vremena rada racunara, koliko je ukupno povecanje brzine

rada racunara?

Resenje.   Zadatak se najjednostavnije resava primenom Amdalovog zakona, gde je PBPD   = 10(poboljsanje brzine u poboljsanom delu) i PD = 40% = 0.4 (poboljsani deo). Odavde je ukupnopoboljsanje

PBU  =  1

1 − PD +  PD

PBPD

=  1

1 − 0.4 + 0.4

10

= 1.56.

Zadatak 5   Pojavila se mogucnost da upetostrucimo brzinu centralnog procesora upetostruca-vanjem njegove cene. Ako se CPU koristi 50% vremena, a 50% je U/I, i ako cena procesora iznosi

1/3 ukupne cene racunara, da li je ovo dobra investicija sa stanovista odnosa cena : performanse?

Resenje.   Posto se procesor koristi 50% vremena, poboljsani deo iznosi PD = 50% = 0, 5,a poboljsanje brzine na poboljsanom delu je PBPD   = 5. Iz Amdalovog zakona imamo da jeukupno poboljsanje brzine

PBU  =  1

1 − PD −   PDPBPD

=  1

1 − 0.5 +   0.55

=  1

0.6 ≈ 1.67.

S druge strane, pocetna (stara) cena citavog racunara  C S   se moze predstaviti kao zbir cene

centralnog procesora  C CP(S) =

  1

3 C S  i cene preostalog dela  C ost(S) =

  2

3 C S. Cena novog procesoraC N  je zbir novih cena procesora i ostatka. Posto je samo procesor zamenjen, C ost(N)  =  C ost(S) =23

C S, a cena procesora je upetostrucena pa je  C CP(N) = 5 · C CP(S) =   53

C S. Odavde je

C N  =  5

3C S +

 2

3C S  =

 7

3C S ≈ 2.33 · C S,

pa zakljucujemo da investicija nije dobra jer je povecanje brzine (1.67) manje od povecanja cene(2.33).

3

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 4/32

Zadatak 6(a)  Razmotrimo sledece dve alternative za realizaciju uslovne naredbe grananja kod dva proce-

sora, CPA i CPB . Kod CPA, kod uslova postavlja se naredbom poredenja iza koje mora sle-

diti naredba grananja. Kod procesora C B  poredenje je ukljuceno u naredbu grananja. Kodoba procesora naredba uslovnog grananja traje dve periode takta, dok sve ostale naredbe

traju jednu periodu takta. Kod CPA,  20% svih izvrsavanih naredbi su naredbe uslovnog

grananja. Pridruzene naredbe poredenja cine sledecih 20% izvrsavanih naredbi. Poznato je

i da je perioda takta CPB  za 25% duza od periode takta CPA. Koji procesor je brzi?

(b)   Posto je video rezultate analize iz prethodnog zadatka, projektant je ustanovio da se razlika

u periodi takta CPB   i CPA  moze svesti na 10%. Koji procesor je sada brzi?

Resenje.

(a)  Poredi se sekvenca od dve instrukcije  CMP Ri Rj; BE adr sa instrukcijom   BE Ri Rj adr.

Jasno je da je

CPIA  = 20% · 2   uslovno

grananje(BE)

+ (100% − 20%) · 1   ostale naredbe

(ukljucujuci   CMP)

= 1.2,

odakle se, primenom poznate formule, dobija

T A =  N A · CPIA · T CA = 1.2N A · T CA.

Sada   T B   treba odrediti primenom formule   T B   =   N B   · CPIB   · T CB. Dakle, treba naciparametre sa desne strane jednakosti.

Poznato je da je perioda takta procesora CPB   za 25% duza od periode takta CPA, tj.T CB   = 1.25T CA. Procesor   B  umesto dve instrukcije (CMP Ri Rj   i   BE adr) koristi samo jednu (BE Ri Rj adr), sto znaci da je  N B  = N A − 20% · N A = 0.8N A.

Grananje cini  0.2N A

N B=

 0.2N A0.8N A

= 25% instrukcija procesora  B , pa je

CPIB  = 25% · 2   uslovno

grananje

+ (100% − 25%) · 1   ostale naredbe8

= 1.25.

Odavde je

T B  = N B · CPIB · T CB  = 0.8N A · 1.25 · 1.25T CA = 1.25 · N A · T CA.

Posto je  T A  < T B, zakljucujemo da je procesor  A  brzi (ako se meri po vremenu izvrsenja).(b)  Sa ovim izmenama je  T CB   = 1.1 · T CA. Zato je  T B   = 0.8N A · 1.25 · 1.1T CA   = 1.1N AT CA.

Dakle, sada je  T B  < T A  pa je procesor  B brzi.

4

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 5/32

Zadatak 7   Dat je racunar koji koristi    (load-store ) arhitekturu. U tabeli su date

ucestanosti pojedinih naredbi i odgovarajuca trajanja naredbi izrazena brojem perioda takta. Po-

znato je da 25% ALU naredbi jednokratno koristi operande iz napunjenih registara. Ovoj arhitek-

turi dodate su ALU naredbe koje imaju jedan izvorni operand u memoriji. Ove nove registarsko-memorijske naredbe traju dva perioda takta. Ukoliko ovakva izmena pove cava broj perioda kloka

za naredbe grananja na 3, ali ne utice na trajanje periode takta (ovo je uzrokovano nekim osobe-

nostima protocne organizacije procesora), da li bi time ukupne performanse bile povecane?

naredba ucestanost perioda takta

ALU   43% 1LOAD   21% 2

STORE   12% 2grananje   24% 2

Resenje.  Vrsi se sledeca optimizacija:

LD R2, adrADD R1, R2

 −→  ADD R1, adr.

Jasno je da jeCPIS  = 0.43 · 1 + (0.21 + 0.12 + 0.24) · 2 = 1.57

i odatleT S =  N S · CPIS · T C = 1.57N S · T C.

S druge strane, kako je  N N =  N S − 0.25 · 0.43N S = 0.8925N S, imamo:

ALU R-R:  0.75 · 0.43 · N S

0.8925 · N S

· 100% = 36% (1 takt),

ALU R-M:  0.25 · 0.43 · N S

0.8925 · N S· 100% = 12% (2 takta),

LOAD:

stari broj   0.21 · N S −

bro j izbacenih   LD   0.25 · 0.43 · N S

0.8925 · N S· 100% = 11.5% (2 takta),

STORE:  0.12N S

0.8925 · N S· 100% = 13.5% (2 takta) i

grananje:  0.24N S

0.8925 · N S· 100% = 27% (3 takta).

Odavde sada imamo

CPIN = 0.36 · 1 + (0.12 + 0.115 + 0.135) · 2 + 0.27 · 3 = 1.91

odakle jeT N =  N N · CPIN · T C = 0.8925N S · 1.91 · T C = 1.7N S · T C.

Dakle, posto je  T S < T N, zakljucujemo da je prvo resenje bolje.

5

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 6/32

Zadatak 8   Na nekom racunaru merenjem su nadene (dinamicke) ucestanosti pojavljivanja po-

 jedinih grupa naredbi navedenih u tablici. Kod ALU (R-M) naredbi, memorijski operand je u 75%slucajeva izvorisni operand, a u  25%  slucajeva je odredisni operand. Meren je i broj obracanja

ALU (R-M) naredbi neizmenjenim izvornim memorijskim operandima. U 25% aktivnih operanadaobracanje je jednokratno, u 55% aktivnih operanada obracanje je dvokratno i u 20% aktivnih ope-

ranada obracanje je trokratno. Ispitati mogucnost da se ALU (R-M) naredbe zamene naredbama

punjenja i pamcenja i ALU (R-R) naredbama. Da li bi time performanse bile pobolj sane? Koliko?

naredba ucestanost perioda takta

ALU (R-R)   20% 1ALU (R-M)   28% 2

LOAD   12% 2STORE   8% 2

upravljanje   22% 2ostale   10% 2

Resenje.  Lako se dobija

CPIS = 0.2 · 1 + (1 − 0.2) · 2 = 1.8 i odatle   T S  = 1.8 · N S · T C.

Jasno je da je  N N  =  N S + N LD,N + N ST,N, i kako je

N LD,N = 0.75

0.25 +

 0.55

2  na 2ide 1

+ 0.20

3  na 3ide 1

· 0.28N S = 0.12425N S   i

N ST,N = 0.25 · 0.28N S = 0.07N S,

dobijamo N N = 1.194N S. Sada imamo:

ALU:  (0.2 + 0.28) · N S

1.194 · N S· 100% = 40.2%

LOAD:  0.12N S + 0.12425N S

1.194 · N S· 100% = 20.43%

STORE:  0.08N S + 0.07N S

1.194 · N S· 100% = 12.56%

upravljanje:  0.22N S

1.194 · N S· 100% = 18.42%

ostale:  0.1N S

1.194N S · 100% = 8.38%

Sada je

CPIN  = 0.402 · 1 + (1 − 0.402) · 2 = 1.59 i

T N  = 1.194N S · 1.598T C = 1.908 · N S · T C.

Posto je  T N  > T S, u drugom slucaju imamo pogorsanje.

6

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 7/32

Zadatak 9   Instrukcije nekog racunara su osamnaestobitne, a adresna polja duzine sedam bita.

Ustanoviti da li je moguce formatima ovih duzina kodirati dvoadresnih, jednoadresnih i

bezadresnih instrukcija. Skicirati karakteristicne detalje, nacine kodiranja instrukcija i postupak

njihovog dekodiranja.

Resenje.   Trazene naredbe imaju oblik prikazan na slici desno.

KO2   OP1   OP2   dvoadresne4 b 7 b 7 b

KO2 + KO1   OP jednoadresne11 b 7 b

KO2 + KO1 + KO0   bezadresne18 b

Kod dvoadresnih naredbi, na osnovu pret-hodne slike, na raspolaganju su cetiri bita.Pomocu njih mozemo kodirati ukupno 24 = 16naredbi, pa kako je 16  >  15, moguce je isko-dirati 15 dvoadresnih naredbi.

Za jednoadresne naredbe, kod operacije jeduzine 11 b. Medutim, ne mogu se koristitisve kombinacije bitova – jedan deo kombina-cija vec je iskoriscen za kodiranje dvoadresnih

naredbi. Od 11 bitova koji su na raspolaganju,prva cetiri si koriscena za kodiranje dvoadre-snih naredbi – i to njih 15. Preostala je daklesamo 16 − 15 = 1 neiskoriscena kombinacija ova cetiri bita. Preostala sedam bita mogu iskodi-rati jos 1 · 27 = 1 · 128 = 128 naredbi, sto je vece od trazenih 125, pa je i ove naredbe moguceiskodirati.

Slicno razmatranje vazi i za bezadresne naredbe: prvih 11 bitova iskorisceno je za kodiranje125 naredbi, pa ostaje 128 − 125 = 3 neiskoriscene kombinacije. Zajedno sa preostalih 7 bitova,ovo je ukupno 3 · 27 = 384 kombinacija. Dakle, ne samo da se mogu iskodirati trazenih 28naredbi, vec ostaje mesta za jos 384 − 28 = 356 neiskoriscenih kombinacija kojima se moguiskodirati bezadresne naredbe.

Prethodno razmatranje se moze predstaviti i sledecim jednacinama:

2lKO2 = 24 = 16 >  15,2lKO2 − M 

· 2lKO1 = (16 − 15) · 27 = 128 >  125 i

2lKO2 − M 

· 2lKO1 − N 

· 2lKO0 = 3 · 27 = 384 ≥ 28.

Sve nejednakosti sem poslednje su stroge, jer ukoliko se svi bitovi iskoriste za kodiranje nekeod naredbi, ne ostaje mesta za kodiranje ostalih naredbi nakon nje, pa nema potrebe racunatidalje. Karakteristicni detalji kod kodiranja instrukcija prikazani su na sledecoj slici.

4 b 7 b 7 b

KO2   KO1   KO0

15

0 0 0 0

dvoadresne instrukcije

0 0 0 1

· · ·1 1 1 0

125

1 1 1 1 0 0 0 0 0 0 0

 jednoadresne instrukcije1 1 1 1 0 0 0 0 0 0 1

· · · · · ·1 1 1 1 1 1 1 1 1 0 0

28

1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0

bezadresne instrukcije1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1

· · · · · · · · ·1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1

7

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 8/32

Zadatak 10   Dat je zapis sa sledecim elementima:

•   integer(* H’11121314 rec *),

•   double integer (* H’2122232425262728 dvostruka rec *),

•   unsigned word (* H’31323334 rec *),•   array [1..7] of char (* ABCDEFG bajt *),

•   short (* H’5152 polurec *) i

•   integer (* H’61626364 rec *).

Prikazati smestanje ovog zapisa u masinama sa adresiranjem repa i adresiranjem glave. Memo-

rijske lokacije su duzine bajtova. Pristupi memoriji su poravnati. Prikazati kako se u masini

sa adresiranjem glave kao prirodnim nacinom adresiranja moze implementirati adresiranje repa.

Navesti podatke koji se dobijaju pri obracanju podacima duzine 1 bajt, 1 rec ,  1 bajt, 1 polurec sa

respektivnim adresama H’08, H’0C, H’12, H’20 za sva tri slucaja.

Resenje.

7 6 5 4 3 2 1 0

11 12 13 14   00

21 22 23 24 25 26 27 28   08

D C B A 31 32 33 34   10

51 52 G F E   18

61 62 63 64   20

Adresiranje glave

0 1 2 3 4 5 6 7

00   11 12 13 14

08   21 22 23 24 25 26 27 28

10   31 32 33 34 A B C D

18   E F G 51 52

20   61 62 63 64Adresiranje repa

0 1 2 3 4 5 6 7

00   11 12 13 14

08   21 22 23 24 25 26 27 28

10   D C B A 31 32 33 34

18   51 52 G F E

20   61 62 63 64Imitacija adresiranja glave

na masini sa adresiranjem repa

Na slikama levo dat je izgled memorije nakonsmestanja datih podataka. Kako su pristupimemoriji poravnati, podatak duzine   d   morapoceti od adrese koja je deljiva sa  d.

Kada se u masini sa adresiranjem glaveimitira adresiranje repa, nove adrese seracunaju po formuli a ⊕ i, gde je a  adresa po-datka kada se koristi adresiranje repa, a  i  je

i =

7,   za bajt

6,   za polurec

4,   za rec

0,   za dvostruku rec.

Koristeci datu formulu, dobijamo

H08 ⊕ H07 =  HOF

H0C ⊕ H04 =  HO8

H12 ⊕ H07 =  H15

H20 ⊕ H06 =  H26

U tabelama levo su isprekidanim linijamazaokruzeni trazeni podaci, a njihov tabelarnipregled je dat u sledecoj tabeli.

duzina podatka adresa adresa repa adresa glave adresa repa

bajt   H’08   28 21 28rec   H’0C   21, 22, 23, 24 25, 26, 27, 28 21, 22, 23, 24

bajt   H’12   32 33 32polurec   H’20   63, 64 61, 62 63, 64

8

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 9/32

Zadatak 11   Algoritam sa slike realizovati:

(a)   pomocu kola za kasnjenje i potrebnih logickih elemenata

(b)   pomocu PAL komponente PALRPA

(c)   mikroprogramom.

Pocetak

RM ← aAK ← 0

PRm...0 ← bPR−1 ← 0

M ← m − 1

PR0  = 0 ∧ PR−1  = 1 PR0  = 1 ∧ PR−1 = 0

AK ← AK + RM   AK ← AK + RM

(AK, PR)  a 1

M ← M − 1

M  = 0

Kraj

da

da

ne

da

ne

ne

stanje S 0

stanje S 3   stanje  S 4

stanje S 6

stanje S 1

stanje S 2

stanje S 5

Slika 1:   Algoritam uz zadatak 11. Sivom bojom je obelezen deo resenja.

Resenje.

(a)   Logicka sema koja koristi kola za kasnjenje i pomocna logicka kola data je na slici 2. Priizradi seme treba imati u vidu nekoliko stvari:

•  kolo za kasnjenje sluzi da razdvoji dva razlicita stanja,•  kad se spajaju dva ili vise signala, koristi se ILI logicko kolo,

•  uslovno grananje se realizuje strukturom sa slike ispod.

f (x)   f (x)

ne   da

⇐⇒   f (x)

ne   da

9

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 10/32

S

x2   x2

x1   x1   x1x1

x3   x3

K

y1

y2

y3   y4

y5

Slika 2:   Sema uz resenje zadatka 11

10

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 11/32

(b)   Stanja se pamte flip-flopovima iz PAL komponente. Ima ukupno sedam stanja (od  S 0   doS 6), pa je potrebno koristiti  log2 7  = 3 flip-flopa. Kodiranje je predstavljeno u sledecojtabeli.

Qn2   Qn

1   Qn0   x1   x2   x3   Qn+1

2   Qn+11   Qn+1

0   Dn2   Dn

1   Dn0

0 0 0   0   x x x 0 0 1   1   0 0 10 0 1   1   x x x 0 1 0   2   0 1 00 1 0   2   1 0 x 0 1 1   3   0 1 10 1 0   2   0 1 x 1 0 0   4   1 0 00 1 0   2   0 0 x 1 0 1   5   1 0 10 1 0   2   1 1 x 1 0 1   5   1 0 10 1 1   3   x x x 1 0 1   5   1 0 11 0 0   4   x x x 1 0 1   5   1 0 11 0 1   5   1 0 1 0 1 1   3   0 1 11 0 1   5   0 1 1 1 0 0   4   1 0 01 0 1   5   0 0 1 1 0 1   5   1 0 11 0 1   5   1 1 1 1 1 0   6   1 1 01 0 1   5   x x 0 1 1 0   6   1 1 01 1 0   6   x x x 0 0 0   0   0 0 01 1 1   7   x x x 0 0 0   0   0 0 0

Poslednje tri kolone,  D0,  D1   i  D2, predstavljaju prekidacke funkcije po promenljivim  Q0,Q1, Q2, x1, x2 i  x3. Nije neophodno minimizovati ih – dovoljno je napisati neku standardnuformu, na primer PDNF.

Direktno iz stanja se izvodi

y1 =  Q2 · Q1 · Q0   y2 =  Q2 · Q1 · Q0   y3 =  Q2 · Q1 · Q0

y4 =  Q2 · Q1 · Q0   y5 =  Q2 · Q1 · Q0

Na prvi prikljucak PAL komponente dovodimo clock signal. Ulaze 2, 3 i 4 koristimo zasignale x1,  x2,  x3. Ulaz 11 je signal dozvole za flip-flopove.

Posle rasporedivanja izlaznih signala, ostaju prazne linije 19, 18, 13 i 12 – tu se izvodeupravljaci signali. Mogu se izvesti bilo koji, ali ove linije treba iskoristiti za one najkom-plikovanije, obzirom na to da ce preostali biti realizovani pomocu dodatnih logickih kola,koristeci signale sa izlaza iz flipflopova (17, 16, 15 i 14).

U ovom slucaju, svi signali su jednostavni za realizaciju pa nasumice biramo da samo signaly2  realizujemo na taj nacin (pomocu troulaznog AND kola).

11

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 12/32

(c)   Postoje dva nacine kodiranja mikrositrunckija. Jedan nacin omgucava istovremeno aktivi-ranje upravljackih signala i grananje, dok drugi nacin omogucva samo jedno.

U prvoj varijanti, format mikroinstrukcije izgleda kao na slici. KMO je kod mikrooperacije,

a AUS je aktiviranje upravljackih signala.

KMO AUS uslov   adresagrananja

U tabeli nize prikazano kodiranje mikrooperacija.

KMO00 STOP01 AUS10 grananje11 AUS + grananje

Postoje tri formata za AUS polje. Sa  n  je obelezen broj upravljackih signala, a sa  m brojistovremeno aktivnih upravljackih signala.

•   horizontalni:   l =  n,•   vertikalni:   l = log2 n  (zahteva kodiranje) i•   dijagonalni:   l =  m · log2(n + 1).

Uslov se moze kodirati na dva nacina.

•  bro j bitova moze biti jednak bro ju promenljivih, oblika  x1x2x3  koji koristi po jedanbit za svaki uslov, pri cemu u svakom uslovu mora da ucestvuje svaka promenljiva;

•   moze posto jati duplo veci broj bitova, oblika a1x1a2x2a3x3, pri cemu  ai  govori o tomeda li   xi   ucestvuje u uslovu – ovaj nacin je pogodan ako ima puno komplikovanihuslova.

Mikroprogram je dat u sledecoj tabeli.

adresa KMO AUS uslov adresa grananja prelaz stanjaH’00 0 1 1 0 0 0 0   × × × × × × × × × ×   S 1H’01 0 1 0 1 0 0 0   × × × × × × × × × ×   S 2H’02 1 0   × × × × ×   1 1 1 0 0   ×   0 1 1 1 BG1 → S 3H’03 1 0   × × × × ×   1 0 1 1 0   ×   1 0 0 0 BG2 → S 4H’04 0 1 0 0 0 0 1   × × × × × × × × × ×   S 5H’05 1 0   × × × × ×   0   ×   0   ×   1 1 0 0 1 0 BG3 → BG1

H’06 0 0   × × × × × × × × × × × × × × ×   STOPH’07 1 1 0 0 1 0 0 0   ×   0   ×   0   ×   0 1 0 0   S 3 → S 5H’08 1 1 0 0 0 1 0 0   ×   0   ×   0   ×   0 1 0 0   S 4 → S 3

Za adrese grananja se gleda najveca adresa skoka. Na primer, da nije bilo skoka na H’08, bilo

bi dovoljno 3 bita za kodiranje adrese grananja – medutim, u ovom slucaju je potrebno 4.Adrese grananja zato treba popunjavati na kraju, u zavisnosti od komentara u poslednjojkoloni gornje tabele.

U drugo j varijanti, format mikroinstrukcije je prikazan na sledecoj slici.

AUS

uslov adresaKMO

2 b

3 b + 7 b

6 b 4 b

12

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 13/32

AUS ce biti iskodirani vertikalnim formatom jer je najkraci: potrebno je 3 b, a uslov jeoblika  a1x1a2x2a3x3. Polje KMO bi bilo duzine 1 b da je moglo bez STOP signala.

U ovom slucaju, mikroprogram je predstavljen sledecom tabelom.

adresa KMO AUS ili uslov + adresa prelaz stanjaH’0 0 1 0 0 1   × × × × × × ×   S 1H’1 0 1 0 1 0   × × × × × × ×   S 2H’2 1 0 1 1 1 0 0   ×   0 1 1 1 BG1 → S 3H’3 1 0 1 0 1 1 0   ×   1 0 0 1 BG2 → S 4H’4 0 1 1 0 1   × × × × × × ×   S 5H’5 1 0 0   ×   0   ×   1 1 0 0 1 0 BG3 → BG1

H’6 0 0   × × × × × × × × × ×   STOPH’7 0 1 0 1 1   × × × × × × ×   S 3H’8 1 0 0   ×   0   ×   0   ×   0 1 0 0   → S 5H’9 0 1 1 0 0   × × × × × × ×   S 4

H’A 1 0 0   ×   0   ×   0   ×   0 1 0 0   → S 5

13

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 14/32

Zadatak 12   Promene stanja bloka upravljanja nekog digitalnog sistema prikazane su u tabeli

levo a aktivirani upravljacki signali u tabeli desno. Definisati formate potrebnih mikronaredbi i

napisati mikroprogram upravljanja datog digitalnog sistema koristeci pritom sto krace mikrona-

redbe. S 0 je pocetno a S 6 krajnje stanje bloka upravljanja.

x1   x2   S 0   S 1   S 2   S 3   S 4   S 5   S 60 0   S 0   S 2   S 2   S 4   S 4   S 3   S 60 1   S 3   S 1   S 3   S 1   S 5   S 4   S 01 0   S 2   S 3   S 4   S 2   S 5   S 6   S 01 1   S 1   S 2   S 1   S 5   S 3   S 4   S 6

stanje AUS

S 0   y1

S 1   y2, y3

S 2   y1, y4

S 3   y7

S 4   y4, y5

S 5   y3, y6

S 6   y8

Resenje.  Za polje AUS (aktiviranje upravljckih signala) moze se koristiti horizontalni, vertikalniili dijagonali format. Sledecim razmatranjem biramo jedan od njih:

AUS −→

horizontalni: 8 b =⇒   optimalno i najjednostavnije,

vertikalni: otpada jer nam treba vise od jednog signala istovremeno,

dijagonalni: 2 · log2(8 + 1) = 8 b =⇒  optimalno ali komplikovanije.

adresamikronaredbe   KMO   AUS ili

uslov+adresa   komentarH00 0 10000000   S 0   00000

H01 1 0000000X   grananje na   S 0H02 1 0101011X   grananje na   S 3H03 1 1000111X   grananje na   S 2H04 0 01100000   S 1   00100

H05 1 0100100X   grananje na   S 1H06 1 1001011X   grananje na   S 3H07 0 10010000   S 2   00111

H08 1 0000111X   grananje na   S 2H09 1 1001111X   grananje na   S 4H0A 1 1100100X   grananje na   S 1H0B 0 00000010   S 3   01011

H0C 1 0100100X   grananje na   S 1H0D 1 1000111X   grananje na   S 2H0E 1 1110010X   grananje na   S 5H0F 0 00011000   S 4   01111

H10 1 0001111X   grananje na   S 4H11 1 1101011X   grananje na   S 3

H12 0 00100100   S 5   10010H13 1 0001011X   grananje na   S 3H14 1 0101111X   grananje na   S 4H15 1 1101111X   grananje na   S 4H16 0 00000001   S 6   10110

H17 1 0010110X   grananje na   S 6H18 1 0100000X   grananje na   S 0H19 1 1000000X   grananje na   S 0H1A 1 1110110X   grananje na   S 6

Za KMO je dovoljan jedanbit jer je potrebno samo razli-kovati grananje od upravljackihsignala (i nije potreban STOPsignal). Po uslovu zadatka (iztabele iz zadatka, levo), uslov

se kodira sa dva bita. Upra-vljackih signala ima 8, pa je zahorizontalni format potrebno 8bitova (iz tabele iz zadatka, de-sno).

14

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 15/32

Zadatak 13   Kombinaciona logika nekog sistema sastoji se od sest blokova kombinacionih mreza,

A, B , C , D, E  i  F  sa vremenima prostiranja signala kroz njih od 80ps, 30ps, 60ps, 50ps, 70ps i

10ps respektivno. Izlazni signali iz poslednjeg bloka F  upisuju se u registar sa vremenom prosti-

ranja 20ps. Mozemo projektovati protocnu verziju ove mreze umetanjem protocnih registara savremenom prostiranja 20ps izmedu parova ovih blokova, cime ovih sest blokova delimo u stepene.

(a)  Izmedu kojih blokova treba umetnuti  jedan  protocni registar da formiramo protocnu verziju

mreze sa dva stepena koja ce imati maksimalnu propusnost za toliki broj stepena? Kolika

ce biti latencija i propusnost takve mreze?

(b)   Izmedu kojih blokova treba umetnuti dva  protocna registra da formiramo protocnu verziju

mreze sa tri stepena koja ce imati maksimalnu propustost za toliki broj stepena? Kolika  ce

biti latencija i propusnost takve mreze?

(c)   Izmedu kojih blokova treba umetnuti  tri  protocna registra da formiramo protocnu verziju

mreze sa cetiri stepena koja ce imati maksimalnu propustost za toliki broj stepena? Kolika

ce biti latencija i propusnost takve mreze?

(d)  Koliki je minimalni broj stepena koji  ce dati protocnu organizaciju sa maksimalnom do-

stiznom propusnoscu? Prikazati tu organizaciju i izracunati njenu latenciju i propusnost.

Resenje.

– Minimalno vreme prostiranja kroz jedan stepen jednako je na jduzem vremenu prostiranjakroz pojedinacne blokove.

– Vremena prostiranja kroz grupe blokova unutar stepena trebalo bi da budu sto ujednacenija.– Protocno organizovana mreza taktuje se signalima cija je minimalna perioda odredena

zbirom najduzeg vremena prostiranja unutar stepena i vremena prostiranja kroz protocniregistar iza stepena.

– Latencija T L   je kasnjenje kroz celu mrezu.– Propusnost  w  je broj podataka koji mogu da se obrade u jedinici vremena.Na osnovu datih podataka, latenciju racunamo kao T L = (80+30+60+50+70+10+20)ps =

320 ps, a propusnost w  =   1T L

=   1320 · 10−12

  = 3.125 · 109 pod/s.

(a)  Protocni registar treba umetnuti izmedu blokova   C   i   D, jer su tada latencije protocnihstepena jednake T A+B+C  = (80+30+60) ps = 170 ps i T D+E +F  = (50+70+10) ps = 130 ps.

Dodavanjem protocnog registra dobijamo  T (a)C    = 170 ps + 20 ps = 190 ps, a odatle

T (a)L   = 2T 

(a)C    = 380 p s i

w(a) =  1

T (a)C 

=  1

190 · 10−12  = 5.263 · 109pod/s,

odnosno190ps

   A B C   170ps

R   D E F   130 ps

.

(b)   Imamo

T (b)L   = 3T 

(b)C    = 3 · 130 ps = 390 ps i

w(b) =  1

T (b)C 

=  1

130 · 10−12  = 7.692 · 109pod/s

15

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 16/32

 jer je130 ps

   A B

   110 ps

R   C D

   110ps

R   E F

   80ps

.

(c)   Imamo

T (c)L   = 4T 

(c)C    = 4 · 110 ps = 440ps i

w(c) =  1

T (c)C 

=  1

110 · 10−12  = 9.091 · 109pod/s

 jer je

A  80ps

110 ps   R   B C   

90ps

R   D  50ps

R   E F   80ps

.

(d)   Imamo

T (d)L   = 5T (d)

C    = 5 · 100 ps = 500 ps i

w(d) =  1

T (d)C 

=  1

100 · 10−12  = 10 · 109pod/s

 jer je

100 ps   A  

80ps

R   B  30ps

R   C  60ps

R   D  50ps

R   E F   80ps

.

16

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 17/32

Zadatak 14   Dat je deo programa koji se izvrsava na ceobrojnom protocnom sistemu DLX.

Pretpostaviti da su sva obracanja memoriji pogoci kesa. Pocetni sadrzaj registra R3 je  R2 + 396.

(a)  Prikazati vremenski dijagram izvrsenja ovog niza instrukcija bez ikakvih premoscavanja, ali

pretpostaviti da upis u registar prethodi citanju istog registra u istom cisklusu kloka. Kolikociklusa zahteva izvrsenje petlje?

(b)  Prikazati vremenski dijagram izvrsenja ovog niza instrukcija pri postojanju hardvera za

premoscavanje. Koliko ciklusa zahteva izvrsenje petlje?

Program koji se posmatra je sledeci.

1   pon: LW R1, O(R2)

2   ADDI R1, R1, #1

3   SW R1, O(R2)

4   ADDI R2, R2, #4

5   SUB R4, R3, R2

6   BNEZ R4, pon

Resenje.   U peto j instrukciji se vrsi oduzimanje   R4   =   R3 − R2. Kako se  R3   ne menja, a   R2

se u svakom koraku povecava za 4, zakljucujemo da ce se razlika  R3 − R2   smanjivati. Uslovniskok iz poslednje linije koda ce biti ispunjen sve dok ta razlika ne dosegne nulu, sto ce se desitiu 396/4 = 99.  prolazu.

Za procesor bez premoscavanja, vremenski dijagram je sledeci.

IF ID EX ME WB IF

IF ID   • •   EX ME WB

IF   • •   ID   • •   EX ME WB

IF   • •   ID EX ME WB

IF ID   • •   EX ME WB

IF   • •   ID   • •   EX ME WB

Dakle, jedan prolaz kroz petlju se odigrava kroz 17 ciklusa. Sa 99 prolaza, to je ukupno17 · 99 + 1 = 1684 ciklusa, pri cemu se jedinica dodaje zbog  WB ciklusa iz  BNEZ  instrukcije.

Vremenski dijagram za procesor za procesor kod koga postoji mogucnost premoscavanja pri-kazan je u nastavku.

IF ID EX ME WB IF

IF ID   •   EX ME WB

IF   •   ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

Zakljucujemo da je u ovom slucaju potrebno 10 ciklusa za jedan prolaz kroz petlju, dakleukupno 10 · 99 + 1 = 991 ciklus.

17

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 18/32

Zadatak 15   Dat je deo programa koji se izvrsava na celobrojnom protocnom sistemu DLX.

Pretpostaviti da su sva obracanja memoriji kesa. Pocetni sadrzaj registra R6 je  R9 + 96.

(a)  Prikazati vremenski dijagram izvrsenja ovog niza instrukcija bez ikakvih premoscavanja,

ali pretpostaviti da upis u registar prethodi  citanju istog registra u istom ciklusu kloka.Pretpostaviti da se grananjima rukuje predvidanjem da nece biti obavljena. Koliko ciklusa

zahteva izvrsenje ovog dela programa?

(b)  Prikazati vremenski dijagram izvrsenja ovog niza instrukcija pri postojanju hardvera za

premoscavanje. Za svako premoscavanje ukazati na ciklus kloka u kome se ono vrsi, kao i

na protocni stepen iz koga se podatak za premoscavanje uzima i protocni stepen kome se

podatak dostavlja. Pretpostaviti da se grananjima rukuje predvidanjem da  ce biti obavljena.

Koliko ciklusa zahteva izvrsenje ovog programa?

Niz instrukcija koji se razmatra je sledeci.

1   pon: ADDI R3, R5, #4

2   LW R2, 100(R3)

3   SW R2, 20(R8)

4   SLL R2, R2, #45   SW R2, 0(R6)

6   SUBI R6, R6, #8

7   SUB R7, R6, R9

8   NBEZ R7, pon

9   SW R9, 100(R7)

Resenje.   Razlika registara R6   i R6  smanjuje se za 8 pri svakom prolasku kroz petlju, dakle imaukupno 96/8 = 12 prolaza.

IF ID EX ME WB IF

IF ID   • •   EX ME WBIF   • •   ID   • •   EX ME WB

IF   • •   ID EX ME WB

IF ID   • •   EX ME WB

IF   • •   ID EX ME WB

IF ID   • •   EX ME WB

IF   • •   ID   • •   EX ME WB

IF   • •   ID EX ME WB

Dakle, ukupno je potrebno 21 · 12 + 2 = 254 ciklusa za procesor bez premoscavanja.

IF ID EX ME WB IF

IF ID EX ME W B

IF ID EX ME WB

IF ID EX ME WBIF ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

IF ID E X ME W B

Na osnovu dijagrama je, za procesor koji ima hardver za premoscavanje, potrebno 12·11+5 =137 ciklusa za izvrsenje zadatog programa.

18

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 19/32

Zadatak 16   Dat je deo programa koji se izvrsavana na protocnom sistemu DLX uz koriscenje

standardnog FP protocnog sistema. Pretpostaviti da su sva obracanja memoriji pogoci kesa.

Pocetni sadrzaj registra R4 je  R2 + 792.

(a)  Prikazati vremenski dijagram izvrsenja ovog niza instrukcija bez ikakvih premoscavanja, alipretpostaviti da upis u registar prethodi citanju istog registra u istom ciklusu kloka. Koliko

ciklusa zahteva izvrsenje petlje?

(b)  Prikazati vremenski dijagram izvrsenja ovog niza instrukcija pri postojanju hardvera za pre-

moscavanje. Koliko ciklusa zahteva izvrsenje petlje?

Deo programa koji se razmatra je sledeci.

1   pon: LD F0, 0(R2)

2   LD F4, 0(R3)

3   MULD F0, F0, F4

4   ADDD F2, F0, F2

5   ADDI R2, R2, #8

6   ADDI R3, R3, #8

7   SUB R5, R4, R28   BNEZ R5, pon

Resenje.   Petlja ce se ponoviti 792/8 = 99 puta. Na osnovu navedenih dijagrama, potrebno je99 · 23+1 = 2278 i 99 · 19 + 1 = 1882 ciklusa za procesor bez pemoscavanja i sa premoscavanjem,respektivno.

IF ID EX ME WB IF

IF ID EX ME W B

IF ID   • •   M1 M2 M3 M4 M6 M7 W B

IF   • •   ID   • • • • • •   A1 A2 A3 A4 WB

IF   • • • • • •   ID EX ME WBIF ID EX ME   •   WB

IF ID   •   EX ME WB

IF   •   ID   • •   EX ME WB

IF ID EX ME WB IF

IF ID EX ME W B

IF ID   •   M1 M2 M 3 M4 M 5 M6 M 7 W B

IF   •   ID   • • • • • •   A1 A2 A3 A4 WB

IF   • • • • • •   ID EX ME WB

IF ID EX ME   •   WB

IF ID EX   •   ME WB

IF ID   •   EX ME WB

19

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 20/32

Zadatak 17   Projektovati paralelni 32-bitni sabirac sa maksimalnim vremenom prostiranja od

70ns. Vreme prostiranja kroz jedno logicko kolo je 2 ns. Razmotriti sledece mogucnosti:

(a)   32-bitni paralelni sabirac sa serijskim prenosom;

(b)   osam 4-bitnih paralelnih sabiraca sa paralelnim prenosom povezanih tako da se izmedu njihprenosi prostiru serijski;

(c)   cetiri 8-bitna paralelna sabiraca sa paralelnim prenosom povezanih tako da se izmedu njih

prenosi prostiru serijski.

Cena sabiraca merena brojem potrebnih logickih elemenata mora biti sto niza. Izabrati najpovolj-

nije resenje i prikazati ga na nivou blokova.

Resenje.   Za sabirace sa serijskim prenosom, vreme prostiranja je  T   = 2nT e, gde je  T e  vremeprostiranja kroz jedno logicko kolo i  n  broj bitova koji se sabiraju. Prema tome, prva varijantaiz zadatka otpada jer je 2 · 32 · T e = 128ns >  70ns.

Preostale dve ponudene varijante koriste sabirace sa paralelnim prenosom. Kod njih vremeprostiranja ne zavisi od broja bitova i iznosi T   = 4T 

e. Dakle, za osam sabiraca vreme prostiranja

 je T   = 8 · 4T e  = 64 ns a za cetiri je T   = 4 · 4T e = 32 ns. Oba vremena zadovoljavaju uslov zadatka(manja su od 70 ns), pa nadalje razmatramo njih.

Za varijantu sa osam cetvorobitnih sabiraca, ukupan broj potrebnih logickih kola je

C  = 8 · (4 · 3 + 4 + (1 + 2 + 3 + 4)) = 208.

Za cetiri osmobitna sabiraca, potrebno je

C  = 4 · (8 · 3 + 8 + (1 + 2 + · · · + 8)) = 272.

Po zadatku je “najjeftinija” varijanta ona koja ima najmanje logickih kola, pa treba izabratiosam cetvorobitna sabiraca.

Zadatak 18   Koriscenjem metoda preskoka jedinica pomnoziti

10100 × 1011110.

Resenje.   Metodom prekoka jedinica se 1011110 kodira kao 1100010. Mnozenjem se dobija010100 × 01100010 = 011101011000, jer je 01111 = 10000 − 1 = 10001. Postupak mnozenja jeprikazan u sledecoj tabeli.

0 1 0 1 0 0   ×   0 1 1 0 0 0 1 01 1 1

1 1 1 1 1   0 1 1 0 0   0

1 0 1 0 0   0 0 01 0 1 0 0

0 1 1 1 0 1 0 1 1 0 0 0

zbog nule na kraju(pregledniji zapis)

20

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 21/32

Zadatak 19   Pomocu Butovog algoritma pomnoziti

(a)   (+12) × (+9),

(b)   (−12) × (+9),

(c)   (+12) × (−9) i(d)   (−12) × (−9).

Resenje. Dati brojevi se u binarnom brojevnom sistemu, u potpunom komplementu, kodiraju nasledeci nacin:

+12 = 01100   − 12 = 10100 + 9 = 01001   − 9 = 10111.

Postupci za sva cetiri slucaja mnozenja dati su u nastavku.

0 1 1 0 0   ×   0 1 0 0 1 01 1 0 1 1

10 1 1 1

1 1 1 1   1 0 1 0 00 1 1 0 00 0 0 0 0

1   1 0 1 0 00 1 1 0 0

1 0   0 0 1 1 0 1 1 0 0

(a)   (+12)× (+9)

1 0 1 0 0   ×   0 1 0 0 1 01 1 0 1 1

11 10 1 1

0 1 1 0 01 1 1   1 0 1 0 00 0 0 0 0

0 1 1 0 01 0 1 0 0

1 0   1 1 0 0 1 0 1 0 0

(b)   (−12)× (+9)

0 1 1 0 0   ×   1 0 1 1 1 01 1 0 0 1

1 10 1

1 1 1 1   1 0 1 0 00 0 0 0 0

0 0 0 0 00 1 1 0 0

1 0 1 0 00 1   1 1 0 0 1 0 1 0 0

(c)   (+12)× (−9)

1 0 1 0 0   ×   1 0 1 1 1 01 1 0 0 1

1

0 1 1 0 00 0 0 0 0

0 0 0 0 0

1   1 0 1 0 00 1 1 0 0

0 1   0 0 1 1 0 1 1 0 0

(d)   (−12)× (−9)

Postupci mnozenja primenom Butovog algoritma

Zadatak 20   Metodom prekodiranja parova bitova mnozioca pomnoziti (+12) × (−9).

Resenje.   Prilikom prekodiranja broja 101110, sa desne strane mu se dodaje pomocna cifra 0.Kako dobijeni broj ima paran broj cifara, sa leve strane mu treba dodati i pomocnu cifru znaka(u ovom slucaju 1). Dakle, prekodirani bro j je 1101110  −→   121. Postupak mnozenja je dat unastavku.

0 1 1 0 0   ×   1 2 11 10 1

1 1 1 1   1 0 1 0 00 1 1 0 0 0

+ 1 0 1 0 01 1 1 0 0 1 0 1 0 0

nula zbogmnozenja sa  2

21

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 22/32

Zadatak 21   Propratiti sadrzaj registra pri mnozenju (+13) × (−6) koriscenjem Butovog algo-

ritma.

Resenje.   Brojevi se u dvojicnom komplementu kodira ju sa +13 = 01101,  −13 = 10011, +6 =00110 i  −6 = 11010. U registar   A   upisuje se broj  A  = +13, a na raspolaganju je i negacija   A

(kojom se realizuje oduzimanje). U registar B  smesta se  B  = −6, i u dodatni pomocni bit smestase 0. U registar   P  upisuju se sve nule. Promene u registrima tokom mnozenja prikazane se unastavku.

0 0 0 0 0 1 1 0 1 0 0   m = 5

0 0 0 0 0 0 1 1 0 1 0   m = 4

1 0 0 1 1 0 1 1 0 1 0

1 1 0 0 1 1 0 1 1 0 1   m = 3

0 0 1 1 0 1 0 1 1 0 1

0 0 0 1 1 0 1 0 1 1 0   m = 2

1 0 1 1 0 0 1 0 1 1 0

1 1 0 1 1 0 0 1 0 1 1   m = 1

1 1 1 0 1 1 0 0 1 0 1   m = 0

Zadatak 22   Podeliti 37 sa  7 koriscenjem algoritma za deljenje

(a)  sa obnavljanjem parcijalnog ostatka i

(b)  bez obnavljanja parcijalnog ostatka.

Resenje. Binarno, dati bro jevi su 37 = 100101 i 7 = 111. Registri treba da budu dovoljno dugackida vazi uslov  P < A, a s druge strane da budu sto je kraci moguci da bi se kroz pelju u algoritmuproslo najmanji broj puta. Registri A  i  P  imaju 2 b vise od  B. U ovom slucaju je  m  = 3.

U registar  A  se smesta 7, odnosno  00111, a u par registara (P,  B) – broj 37, tj.   00100|101.Na kraju deljenja, u registar  B  ostaje kolicnik (ovde 5), a u registar P   se nalazi ostatak (ovde 2).Sadrzaj registara je ispracen je u nastavku (levo – sa, desno – bez obnavljanja).

0 0 1 0 0 1 0 1   m = 3

0 1 0 0 1 0 1 0

0 0 0 1 0 0 1 1   m = 2

0 0 1 0 0 1 1 0

1 1 1 0 1 1 1 0

0 0 1 0 0 1 1 0   m = 1

0 1 0 0 1 1 0 0

0 0 0 1 0 1 0 1   m = 0

0 0 1 0 0 1 0 1   m = 3

0 1 0 0 1 0 1 0

0 0 0 1 0 0 1 1   m = 2

0 0 1 0 0 1 1 0

1 1 1 0 1 1 1 0   m = 1

1 1 0 1 1 1 0 0

0 0 0 1 0 1 0 1   m = 0

22

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 23/32

Zadatak 23   Prema standardu IEEE -, u formatu jednostruke tacnosti dat je zapis nekog

broja na slici ispod. Odrediti koji je to broj. Brojeve  a  =  −1 · 2−5 i 5 · 2−30 predstaviti u istom

formatu i prikazati korak po korak izracunavanje vrednosti d =  a + b, g  =  a × b i h =  a ÷ b.012345678910111213141516171819202122232425262728293031

1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Resenje.  Iz zapisa broja cija se vrednost trazi vidi se  e  = 131, pa je  E  = e − P  = 131 − 127 = 4.S druge strane, kako je  s  = −1 i f  = 00101, imamo da je mantisa  m  = −1.00101(2), pa je trazenibroj  −1.00101(2) × 24 = −10010.1(2) = −18.5.

Brojeve   a   i   b   treba napisati u pogodnijem obliku radi racunanja njihovih eksponenata imantisa. Dakle, iz

a = −1 × 2−5 = −1.0(2) × 2−5 i   b = 101(2) × 2−30 = 1.01(2) × 2−28

dobijamo sa = 1, f a = 0, sb = 0,  f b = 01,

ea  =  E a + P   = −5 + 127 = 122 = 01111010(2),

i   eb =  E b + P   = −28 + 127 = 99 = 01100011(2).

Izgled ovih brojeva u registrima prikazani su na sledecoj slici.

012345678910111213141516171819202122232425262728293031

1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

012345678910111213141516171819202122232425262728293031

0 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Postupak racunanja broja   d  =  a + b   prikazan je na slici nize. Prva dva registra su brojevia   i  b  u izvornom obliku. Treci registar predstavlja broj  b  nakon sto je sveden na isti eksponent(pomeranjem za 28 − 5 = 23 mesta udesno), oznacen sa  b. Nakon toga je pronaden zbir  a + b,a onda je on normalizovan. Zaokruzivanjem na osnovu tri pomocna bita koja su predstavljenasa desne strane, dobija se trazeno resenje.

1 0 1 1 1 1 0 1 0  1  0 0 0 0   · · ·   0 0 0 0 0 0a

0 0 1 1 0 0 0 1 1  1  0 1 0 0   · · ·   0 0 0 0 0 0b

0 0 1 1 1 1 0 1 0  0  0 0 0 0   · · ·   0 0 1 0 1 0b

1 0 1 1 1 1 0 1 0  0  1 1 1 1   · · ·   1 1 0 1 1 0a + b

1 0 1 1 1 1 0 0 1  1  1 1 1 1   · · ·   1 0 1 1 0 0normalizovano

1 0 1 1 1 1 0 0 1  1  1 1 1 1   · · ·   1 1 0

23

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 24/32

Za izracunavanje broja  g   =  a × b, potrebno je pronaci njegov znacajnik   zg, eksponent  eg   iznak sg, na sledeci nacin:

zg  = za · zb = 1.0 · 1.01 = 1.01,

eg  = ea + eb − P  = 94 = 101110(2)   i

sg  = sa ⊕ sb = 1 ⊕ 0 = 1.

Dakle, broj g  se u registru zapisuje na nacin prikazan dole. Prva slika predstavlja medukorak,a druga sadrzaj registra nakon normalizacije.

1 0 1 0 1 1 1 1 0  1  0 1 0 0   · · ·   0 0 0 0 0 0

012345678910111213141516171819202122232425262728293031

1 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Na slican nacin racunamo komponente za predstavljanje bro ja  h  =  a ÷ b,

zh  =  za ÷ zb = 1.0 ÷ 1.01 = 0.1100,

eh  =  ea − eb + P   = 150 i

sg  = sa ⊕ sb  = 1,

i na osnovu toga se broj predstavlja na sledeci nacin.

1 1 0 0 1 0 1 1 0  0   1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 1 0 0 1 0 1 0 1  1   1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

012345678910111213141516171819202122232425262728293031

1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1

24

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 25/32

10

20

32

51

62

 p

10×

Zadatak 24   Program sa strukturom prikazanom na slici de-

sno smesten je u operativnoj memoriji racunara u navedenom

podrucju adresa. Operativna memorija je podeljena na me-

morijskih modula M 0, . . . , M  15 sa preklapanjem pristupa. Prika-zati smestanje naredbiovog programa po memorijskim modulima.

Izracunati vreme potreno za uzimanje naredbi prikazanog pro-

grama ako je vreme pristupa memorijskih modula 50ns, vreme ci-

klusa memorijskih modula 95ns, a vreme ciklusa procesora 17ns.

Pri uzimanju naredbe iz memorije, jedan ciklus procesora potre-

ban je za izdvajanje naloga za  citanje i jedan ciklus procesora po-

treban je za slanje procitane naredbe iz memorije do procesora.

Odmah po preuzimanju jedne naredbe, procesor izdaje nalog za

uzimanje sledece naredbe.

Resenje.   Modul mora biti sinhronizovan sa procesorom, pa se umesto vremena   T a   = 50ns i

T CM = 95 ns koriste vremena T A   i  T M  koja se dobijaju kao

T A  =

  T aT CP

· T CP = 51 n s i   T M  =

T CM

T CP

· T CP = 102ns.

U nastavku je prikazana tabla koja ilustruje kojim su instrukcijama moduli popunjeni. Crnombo jom su naznacene vaznije instrukcije koje ce biti kljucne kod resavanja zadatka.

M 0   M 1   M 2   M 3   M 4   M 5   M 6   M 7   M 8   M 9   M 10   M 11   M 12   M 13   M 14   M 15

10 11   12 13   14 15

16 17   18 19   20   21 22 23 24 25 26 27 28 29 30   31

32   33 34 35 36 37 38 39 40 41 42 43 44 45 46   47

48   49 50   51   52 53 54 55 56 57 58 59 60 61   62

Formula po kojoj se racuna vreme potrebno za uzimanje naredbi je

T   =ki=1

max(T M , T A + li · 2T CP) .

broj sukcesivnih naredbi

1 + 1  ciklus CP-aza svaku naredbu

Kako je T M   < T A + li · 2T CP  samo za li >  T M  − T A

2T CP = 1.5 odnosno li ≥ 2, zakljucujemo da se

vreme ciklusa modula  T M  koristi samo za li = 1, a u suprotnom vreme pristupa  T A + li · 2T CP.Odavde se vreme racuna na sledeci nacin.

T   = T A + (15 − 10 + 1) · 2T CP + T A + (31 − 16 + 1) · 2T CP + 9 [T A + (31 − 20 + 1) · 2T CP]

+ 10(1 − p) [T A + (47 − 32 + 1) · 2T CP + T A + (62 − 48 + 1) · 2T CP]

+ 10 p [T M  + T A + (62 − 51 + 1) · 2T CP]

= 24T A + 7T M  + 307 · 2T CP = 12 376 ns = 12.376 µs

za pristup instrukciji  32

Kad ne bi bilo preklapanja, vreme pristupa bi bilo  T 2   =  N   · T M , gde je  N  broj instrukcijakoji se procita, odnosno

N  = 19− 10+1+10(62− 20+1) − 10 p(50 − 33+ 1) = 314,   i odatle   T 2 = 102 · 314 = 32.098 µs.

25

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 26/32

640

832

1152

2048

3583

40.

52.

72.

128.

223.2×

Zadatak 25   Program sa strukturom pri-

kazanom na slici desno smesten je u opera-

tivnoj memoriji racunara u navedenom po-

drucju adresa. Navedene adrese su adrese reci.Racunar sadrzikes memoriju za naredbe kapa-

citeta 2 K reci sa blokovina kapaciteta 16 reci

(a)  sa direktnim preslikavanjem

(b)  sa skupno-asocijativnim presliakvanjem

( kes-bloka po skupu, zamena blokova

po LRU algoritmu)

Naci faktore promasaja i faktore saobracaja.

Resenje.

(a)  Ukupan broj pristupa je

u = (831 − 640 + 1)   do pocetka prve petlje

+ 2(3582 − 832 + 1)   spoljasnja petlja dvaput

+ 4(2047 − 1152 + 1)   unutrasnja petlja josdvaput po dva puta

= 9280.

Kapacitet memorije je  C  = 2 k reci sa blokovima od po  B  = 16 reci, pa ima

C B  =  C 

B  =

 2048

16  = 128

blokova, sto znaci da blokove treba smestati u kes po modulu 128. Drugim recima, naredbaiz i-tog bloka bice smestena u blok  i  mod 128.

skup kes bloka blokovi podataka0 128

... ...39 16740      40 168...

......

52      52      180      52 180...

......

......

72      72      200      72 200...

......

......

95      95      223      95 223...

...127 127

broj promasaja 128 56 44 44 

 = 272

Gornja slika opisuje rad kes memorije tokom izvrenja posmatranog dela programa. Uposlednjem redu je dat broj promasaja, odakle se dobija ukupan bro j promasaja, 272. Naosnovu toga se faktor promasaja racuna kao

w =  upr

u  =

  272

9280 = 0.029.

26

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 27/32

Faktor saobracaja definise se kao odnos kolicine prenetih podataka izmedu kes memorije ioperativne memorije kada postoji kes memorija i izmedu procesora i operativne memorijekada ne postoji kes memorija. Dakle,

F S  =  upr · B

u · 1  = m · B = 0.464.

skup kes bloka blokovi podataka0      64      128      192      64 128 192...

......

......

......

8      72      136      200      72...

......

......

......

......

31      95      159      223      95 159 223...

...39 103 16740      40 104 168...

......

...52      52      116      180      52 116 180...

......

......

63      63      127      191      63 127 191broj promasaja 64 64 56 44 44 44

   = 316

(b)   U ovom slucaju, ima ukuno  C B/A = 64 skupova. Iz gornje slike dobija se da ukupan brojpromasaja iznosi 316, pa je  m  = 0.034 i  F S  = 0.545.

27

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 28/32

Zadatak 26   Neki program se pri izvrsenju obraca operandima (recima duzine 4 bajta) na nacin

prikazan slikom. U linearnom delu, program samo  cita podatke.384

960

10 23610 240

12.

30.

319.320.

U prvom prolasku kroz petlju, pocev od operanda sa adre-

som  960, pa sve do operanda sa adresom  10 236, program  cita15   uzastopnih reci, izracunava rezultat i upisuje ga u  sesnaestu

rec. U drugom prolasku, istim redom program  cita  7  uzastop-

nih reci, izracunava rezultat i upisuje u osmu rec. Procesoru je

pridruzena kes memorija za podatke, kapaciteta 8 kB sa skupno-

asocijativnim preslikavanjem, asocijativnoscu  2   i zamenom blo-

kova po LRU algoritmu i posrednim upisom. Ostali parametri kesa

su:

•  blokovi duzine 32 bajta,

•  vreme ciklusa kes memorije 20ns,

•   vreme citanja i prenosa bloka podataka iz operativne u kes memoriju 280 ns,

•   vreme vracanja modifikovanog bloka podataka iz kesa u operativnu memoriju 260 ns,

•   pogodak pri citanju zahteva 1, a pogodak pri upisu 2 ciklusa klika.Izracunati faktor promasaja, faktor saobracaja i efektivno vreme ciklusa sistema kes memorija –

operativna memorija.

Resenje.   Iz uslova zadatka je

C  = 8 kB   A = 2   B = 32 B

T C  = 20ns   T CB = 280ns   T UB = 260ns,

odakle imamo C B  =  C 

B  =

  8 k

32 = 256 blokova i  S  =

  C BA

  = 128 skupova.

U ovom slucaju se svaki drugi blok menja u prvom, a svaki blok u drugom prolazu. Detaljnidijagram je dat u donjoj tabeli, iz koga se vidi da ukupno ima 410 promasaja i 85 blokova koji

su modifikovani a moraju se vratiti u operativnu memoriju jer se izbacuju iz kesa.

skup kes bloka blokovi podataka0 128 256...

......

11 139 26712      12 140 268...

......

...30      30      158      286      30 158 286...

......

......

......

63      63      191      319      63 191 319

... ... ...127 127 255

bro j promasa ja 128 128 52 34 34 34 

 = 410broj zamenjenih

modifikovanih  17 17 17 34 0 0

   = 85

Odavde je

n = (959 − 384 + 1) + 2(10239 − 960 + 1)

4  = 4784 pristupa (reci),

28

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 29/32

i zatim

m =  npr

n  =

  410

4784  = 0.0857 i   F S  =

  (nPR + nZMB) · B

4 · n  = 0.8278.

Odavde je ocigledno

T ef  =  pc · T C  +  pn · 2T C  + m · T cB + pmod · T uB

=  nc

n  · T C  +

 nu

n  · 2T C  + m · T cB +

 nZMB

n  · T uB

i kako je

nc  = 8

29 − 12 + 1 + (319 − 30 + 1)

15

16 +

 7

8

 = 4349 i

nu = 8(319 − 30 + 1)

 1

16 +

 1

8

 =  n − nc  = 435,

imamo T ef  = 50.43ns.

Zadatak 27   Virtuelna memorija ima 8 virtuelnih stranica duzine po 1024 reci i 4096 reci opera-tivne memorije. Na slici je prikazana stranicna tablica.

broj virtuelne stranice   0 1 2 3 4 5 6 7broj fizicke stranice   3 1 2 0

(a)   Saciniti listu svih virtuelnih adresa cije bi koriscenje dovelo do promasaja stranice.

(b)   Izracunati adrese operativne memorije (fizicke adrese)ako takvih ima koje odgovaraju slede-

cim virtuelnim adresama:

0,   3728,   1023,   1024,   1025,   7800,   4096.

Resenje.

(a)   Adrese koje nisu u operativnoj memoriji su one adrese koje, kada se celobrojno podeleduzinom virtuelne stranice, da ju broj virtuelne stranice koji se ne slika ni u jednu fizickustranicu. Ti brojevi su 2, 3, 5 i 7, pa su trazene adrese

2048, . . . , 3071,   3072, . . . , 4095,   5120, . . . , 6143,   7168, . . . , 8191.

(b)  Ako sa  LS   obelezimo broj reci p o stranici, sa  av   i  af  virtuelnu i fizicku adresu, sa  avs   i  afs

broj virtuelne i fizicke stranice i sa   ar  relativnu adresu unutar stranice (bilo virtuelne ilifizicke), imamo:

avs  =

 av

LS 

, ar =  av mod LS    i   af  =  afs · LS  + ar.

U sledecoj tabeli je tabelarno prikazano resenje.

av   ar   avs   afs   af 

0 0 0 3 30723728 656 3 NOM1023 1023 0 3 40951024 0 1 1 10241025 1 1 1 10257800 632 7 NOM4096 0 4 2 2048

29

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 30/32

Zadatak 28   U racunaru sa stranicno organizovanom virtuelnom memorijom fizicke stranice su

dodeljene korisniku A. Izvrsenje programa korisnika A  zahteva koriscenjeme 5 razlicitih virtuel-

nih stranica 1, 2, 3, 4, 5. Niz adresa virtuelnih stranica dobijenih pri izvrsenju programa korisnik A

 je2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5 i  2.

Prikazati preslikavanje virtuelnih stranica u fizicke stranice, ako se virtuelna stranica koja se za-

menjuje u operativnoj memoriji odreduje po algoritmu

(a)   FIFO,

(b)   LRU,

(c)  optimalni algoritam.

Naci broj promasaja za sva tri algoritma i uporediti ih.

Resenje.  Kao sto se vidi iz naredne slike, broj promasaja je, redom, 9, 7 i 6 kada se koristi FIFO(gore), LRU (sredina) i optimalni (dole) algoritam. Zvezdicom je obelezen podatak koji ce sledeci

biti zamenjen.

2 3 2 1 5 2 4 5 3 2 5 2

2 2* 2* 2* 5 5 5* 5* 3* 3 3 3*3 3 3 3* 2 2 2 2* 2* 5 5

1 1 1* 4 4 4 4 4* 2 

2 3 2 1 5 2 4 5 3 2 5 2

2* 2* 2 2 2* 2 2 2* 3 3 3* 3*3 3* 3* 5 5 5* 5 5 5* 5 5

1 1 1* 4 4 4* 2 2 2 

2 3 2 1 5 2 4 5 3 2 5 2

2* 2 2 2 2 2* 4* 4* 4* 2 2 23* 3* 3 3* 3 3 3 3 3* 3* 3*

1* 5 5 5 5 5 5 5 5 

Zadatak 29   Razmotrite stranicno organizovan virtuelni memorijski sistem -bitnih virtuelnih

adresa, stranice duzine 8 KB i -bitne fizicke adrese. Kolika je ukupna velicina stranice tablice

ako su polja vazeci, modifikovani i zastita duzine ukupno bita i ako se koriste sve virtuelne stra-

nice? Pretpostaviti da se adrese podataka na disku ne cuvaju u stranicnoj tablici. Transformator

adresa sadrzi -blocnu skupno-asocijativnu kes memoriju za preslikavanje adresa (TBL) sa ukupno256 stavki. Slikom prikazati preslikavanje virtuelnih adresa u fizi cke i oznaciti sirine svih polja i

signala.

Resenje.   Iz teksta zadatka imamo   lVA   = 42b,   LS   = 8KB i   lFA   = 32 b. TLB je dvoblocnoskupno-asocijativna kes memorija, pa je   A   = 2. Posto broj stavki TLB-a iznosi   C B   = 256,

zakljucujemo da ima  C B

A  =

  256

2  = 128 skupova, za sta je potrebno 7 bitova za kodiranje. Zato

 je kod virtuelne adrese duzina polja za indeks jednaka 7 b.

30

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 31/32

Duzina polja je

l p  = log2 LS  = log2 213 = 13b i odatle su

lV S  = lV A − l p  = 42 − 13 = 29 b ilFS  = lFA − l p  = 32 − 13 = 19 b.

Kako je lV S 29 b, zakljucujemo da ima 229 razlicitih virtuelnih stranica, a posto su po uslovuzadatka iskoriscene sve virtuelne stranice, znaci da ima isto toliko i stavki u stranicnoj tablici.

avs   ar

lV A  = 42b

lV S    l p

lFA  = 32b

lFS    l p

aF S    ar

v m z afs   etiketa indeks   ar

1 b 1 b 1 b 19 b 22 b 7 b 13 b

Na slikama iznad su prikazane sirine polja, a donja slika detaljnije opisuje rad ovakvog sistema.

etiketa indeks   a p

a pafs

v n z   afs   v n z   afs

prvo se gleda TLB

ako se javi promasaj

u TLB-u, onda se podatak

standardno trazi u

stranicnoj tablici

7

2229

13

19

19

31

7/25/2019 AOR Pismeni Skripta

http://slidepdf.com/reader/full/aor-pismeni-skripta 32/32

Zadatak 30   Izracunati efektivno vreme pristupa DRAM memorije pri koriscenju strategije otvo-

rene i zatvorene vrste ako je verovatnoca pogotka u bafer vrste:

(a)   p = 0.2,

(b)   p = 0.5 i(c)   p = 0.8.

Resenje.   Poznato je  trp  = tRCD = 20 ns i CL = 30ns, gde je  trp   vreme potrebno za zatvaranjevrste (row precharge),  tRCD je vreme potrebno za otvaranje vrste, a CL je pristup koloni.

Kod politke zatvorene vrste, zatvaranje vrste se radi odmah po citanju podatka. Kod politikeotvorene vrste, neka vrsta je uvek otvorena – u slucaju pogotka, treba samo procitati podatak,a u slucaju promasaja treba prvo zatvoriti vrstu, otvoriti novu i procitati podatak iz nje. Vrstemoraju da se zatvore jer je citanje podataka iz DRAM-a destruktivno. Odavde je

T z.v.  =  tRCD + CL = 50 ns

T o.v. =  p · CL + (1 − p) (trp + tRCD + CL)

i zamenom brojnih vrednosti se dobija(a)   T o.v. = 30 · 0.2 + 70 · 0.8 = 62ns(b)   T o.v. = 30 · 0.5 + 70 · 0.5 = 50ns(c)   T o.v. = 30 · 0.8 + 70 · 0.2 = 38ns

32