Aor-I oblast
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
I
= 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
P
= 10 s, f
C
=1 GHz, CPI
MUL
= 4 TC.
Za program P’ imamo
T
C
= 1/f
C
= 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
C
= 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
C
= 9 s
T
P
-T
P'
= (k-m)
⋅
CPI
MUL
⋅
T
C
-2n
⋅
CPI
ADD
⋅
T
C
= 1 s
Pošto je k-m = n sledi
n
⋅
CPI
MUL
⋅
T
C
-2n
⋅
CPI
ADD
⋅
T
C
= 1 s
4n
⋅
T
C
-2n
⋅
T
C
= 1 s
n = 1/(2
⋅
T
C
) = 1/(2
⋅
10
-9
) = 0,5
⋅
10
9
= 5
⋅
10
8
operacija množenja.
Druga verzija rešenja
Označimo sa ΔT = T
P
- T
P’
. Tada se ΔT može izraziti kao
ΔT = n
⋅
( CPI
MUL
-2
⋅
CPI
ADD
)
⋅
T
C
odakle je
n = ΔT /[(CPI
MUL
-2
⋅
CPI
ADD
)
⋅
T
C
] = ΔT
⋅
f
C
/( CPI
MUL
-2
⋅
CPI
ADD
)
n = 1
⋅
10
9
/(4-2
⋅
1) =10
⋅
10
8
/2 = 5
⋅
10
8
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

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