Septembar 2005. god.

Vaša   kompanija   koristi   benčmark   program   koji   se   smatra   reprezentativnim   za   vaše   tipične 
aplikacije. Jedan od starijih modela računara nema jedinicu za aritmetiku sa pokretnom zapetom i 
mora   emulirati   svaku   instrukciju   sa   pokretnom   zapetom   nizom   celobrojnih   instrukcija.   Stari 
model   računara   je   pri   izvršenju   benčmark   programa   procenjem   na   120   MIPS-a.   Nezavisni 
isporučilac opreme nudi numerički koprocesor koji bi ovom računaru mogao produžiti život. 
Ovaj numerički koprocesor izvršava instrukcije sa pokretnom zapetom, tako da emulacija nije 
potrebna. Pri izvršenju benčmark programa računar sa pridruženim numeričkim koprocesorom 
procenjuje se na 80 MIPS-a. Koristiti sledeće oznake za odgovore na pitanja a. do e.

I - broj celobrojnih instrukcija izvršenih u benmark programu,
F - broj instrukcija sa pokretnom zapetom izvršenih u benmark programu,
Y   -   broj   celobrojnih   instrukcija   izvršenih   radi   emulacije   jedne   instrukcije   sa   pokretnom 

zapetom,

W - vreme za izvršenje benmark programa na računaru bez koprocesora,
B - vreme za izvršenje benmark programa na računaru sa numeričkim koprocesorom.

a.

Izvesti izraze za procenu MIPS-ova za obe konfiguracije koristeći date oznake.

b.

Za konfiguraciju bez koprocesora izmereno je F=8*10

6

, Y=50 i W=4s. Naći I.

c.

Kolika je vrednost B?

d.

Koliki je iznos MFLOPS-a sistema sa koprocesorom?

e.

Vaš kolega želi da kupi numerički koprocesor čak iako je procenjena MIPS vrednost za 

konfiguraciju sa koprocesorom manja nego bez njega. Da li je procena vašeg kolege dobra? 
Obrazložite svoj odgovor.

Rešenje:

MIPS

S

=120, MIPS

N

=80, F=8

10

6

, Y=50, W=4s.

a. MIPS

S

= (I+F

Y)/(W

10

6

) ; MIPS

N

= (I+F)/(B

10

6

)

b. Iz (I+F

Y)/(W

10

6

) =120, 

I = 120

W

10

6

 

 F

Y = 120

4

10

6

 

 8

10

6

50 = 80

10

6

c. Iz (I+F)/(B

10

6

) = 80 je

B = (I+F)/(80

10

6

) = (80 + 8)

10

6

/(80

10

6

) = 1,1 sec.

d. MFLOPS = F/ (T

FPOP 

10

6

) , gde je T

FPOP

 vreme potrebno za izvršenje F operacija sa 

pokretnom zapetom. Vreme T

FPOP 

možemo naći ako od vremena B oduzemo vreme T

I

 

potrebno za izvršenje I integer instrukcija. To vreme možemo dobiti iz

T

I

 = I/ (MIPS

S

 

10

6

) = 80

10

6

/ (120

10

6

) = 2/3 = 0,67 sec. 

T

FPOP

 = B 

 T

= 1,1 

 0.67 = 0,43 sec.

MFLOPS =  F/ (T

FPOP 

10

6

) =  8

10

6

/ 0,43 = 18,6

Procena kolege je dobra jer računar sa numeričkim koprocesorom izvršava programe za 
kraće vreme nego računar bez numeričkog koprocesora.

Prvi kolokvijum Decembra 2005

Program   P   izvršava   se   na   računaru   M,   koji   radi   na   1   GHz,   za   10   sec.   Izvršena   je 
optimizacija programa P tako što je svaka instrukcija množenja neke vrednosti X sa 4 
(MUL X,X,4) zamenjena sa dve instrukcije sabiranja te iste vrednosti (ADD X,X,X ; 
ADD X,X,X). Nazovimo ovaj optimizovani program P’. CPI za instrukciju množenja je 
4, a za instrukciju sabiranja je 1. Sa ovom optimizacijom, program P’ se na računaru M 
izvršava za 9 sec. Koliko instrukcija množenja je u programu P zamenjeno parovima 
instrukcija sabiranja u programu P’ ? 

Rešenje 

Za program P imamo T

= 10 s, f

=1 GHz, CPI

MUL

= 4 TC. 

Za program P’ imamo 
T

= 1/f

= 1/10

9

= 10

-9 

s = 1 ns. 

T

P’ 

= 9 s, MUL X,X,4   ADD X,X,X; ADD X,X,X; CPI

ADD 

= 1 TC. 

U programu P možemo izdvojiti operacije množenja, kojih ima k, i ostale operacije. 
T

P

= T

ost 

+ k

CPI

MUL

T

= 10 s 

k   je   broj   operacija   množenja   u   programu   P,   koji   se   u   programu   P’   rasčlanjuje   na 
“n”operacija množenja sa množiocem 4 i “m” operacija množenja sa ostalim vrednostima 
množioca, tako da je k = m+n. 
T

P' 

= T

ost 

+ (m

CPI

MUL 

+ n

2

CPI

ADD

) T

= 9 s 

T

-T

P' 

= (k-m)

CPI

MUL

T

-2n

CPI

ADD

T

= 1 s 

Pošto je k-m = n sledi 
n

CPI

MUL

T

-2n

CPI

ADD

T

= 1 s 

4n

T

-2n

T

= 1 s 

n = 1/(2

T

C

) = 1/(2

10

-9

) = 0,5

10

= 5

10

operacija množenja. 

Druga verzija rešenja 

Označimo sa ΔT = T

- T

P’ 

. Tada se ΔT može izraziti kao 

ΔT = n

( CPI

MUL 

-2

CPI

ADD

)

T

odakle je 

n = ΔT /[(CPI

MUL 

-2

CPI

ADD

)

T

] = ΔT

 f

/( CPI

MUL 

-2

CPI

ADD

n = 1

 10

/(4-2

1) =10

10

/2 = 5

10

operacija množenja. 

Za   procesore   sa   akumulatorskom   arhitekturom,   stek   arhitekturom   i   sva   tri   oblika 
arhitekture   sa   registrima   opšte   namene   napisati   programe   koji   realizuju   izraz 
C=(ab-a-b)/(c+d). Za registarsko-memorijsku ahitekturu koristiti dvoadresne instrukcije, 
a   za   registarsko-registarsku   i   registarsko+memorijsku   ahitekturu   koristiti   troadresne 
instrukcije.

Prvi kolokvijum Decembra 2004

Dat   je   računar   koji   koristi   napuni-zapamti   (load-store)   arhitekturu.   U   tablici   su   date 
učestanosti   pojedinih   instrukcija   i   odgovarajuća   trajanja   instrukcija   izražena   brojem 

background image

Želiš da pročitaš svih 7 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti