Izračunavanje MIPSa

PostPoslato: Četvrtak, 05. Februar 2015, 15:43
od whodin
Posmatrajte "data path" za procesorsku arhitekturu u kojoj nema pipeline tehnike. Pretpostavimo da punjenje ALU ulaznih registara traje [inlmath]T_{\mathrm{load}}=2\;\mathrm{ns}[/inlmath], da ALU ciklus traje [inlmath]T_{\mathrm{alu}}=4\;\mathrm{ns}[/inlmath] i da vreme upisa rezultata traje [inlmath]T_{\mathrm{store}}=2\;\mathrm{ns}[/inlmath]. Odrediti MIPS za ovakav procesor?

Svuda sam tražila formulu, neki sličan zadatak ili način na koji se ovo može rešiti ali bezuspešno! :X:

Re: Izračunavanje MIPSa

PostPoslato: Četvrtak, 05. Februar 2015, 19:26
od ubavic
Pod pretpostavkom da je u pitanju veoooma pojednostavljen procesor: da je svaka instrukcija ALU tipa i da se sastoji samo od punjenja registara, izvršavanja aritmetičko-logičke funkcije i upisa rezultata, možemo pretpostaviti da će svaka instrukcija trajati [inlmath]T_{\mathrm{load}}+T_{\mathrm{alu}}+T_{\mathrm{store}}=2\;\mathrm{ns}+4\;\mathrm{ns}+2\;\mathrm{ns}=8\;\mathrm{ns}[/inlmath]. Dakle, u jednoj sekundi biće izvršeno [inlmath]\frac{1\;\mathrm{s}}{8\;\mathrm{ns}}=\frac{10^9\;\mathrm{ns}}{8\;\mathrm{ns}}=1.25\times10^8[/inlmath] instrukcija, što je jednako [inlmath]\frac{1.25\times10^8}{10^6}=125\;\mathrm{MIPS}[/inlmath]
Tako bi trebalo da bude, ali ti ne mogu garantovati za svoj odgovor [inlmath]100\%[/inlmath].

Re: Izračunavanje MIPSa

PostPoslato: Petak, 06. Februar 2015, 12:12
od whodin
Zahvaljujem! :)
Zanima me samo kako si dobio iz [inlmath]\frac{1\;\mathrm{s}}{8\;\mathrm{ns}}=\frac{10^9\;\mathrm{ns}}{8\;\mathrm{ns}}[/inlmath] ovo: [inlmath]\frac{1.25\times10^8}{10^6}[/inlmath] :? Jer kad sredim razlomke dobijam: [inlmath]\frac{1\;\mathrm{s}}{8\times10^{-9}\;\mathrm{s}}=\frac{10\times10^8\;\mathrm{ns}}{8\cdot10^{-9}\;\mathrm{s}}[/inlmath] ili [inlmath]\frac{1\times10^9}{8}=1.25\cdot10^{17}[/inlmath]

Re: Izračunavanje MIPSa

PostPoslato: Petak, 06. Februar 2015, 13:52
od ubavic
Da bi mogla da uradiš zadatak moraš uzeti jednu vremensku mernu jedinicu za osnovnu (da li ćeš uzeti [inlmath]\mathrm{s}[/inlmath] ili [inlmath]\mathrm{ns}[/inlmath] totalno je nebitno, ja sam odabrao nanosekunde zato što mi je lakše da računam sa njima), i sve ostale vremenske veličine izraziti u tim jedinicama (tj. prebaciti sve vremenske intervale u [inlmath]\mathrm{ns}[/inlmath]). Dakle, [inlmath]1\;\mathrm{s}[/inlmath] sam zamenio sa [inlmath]10^9\;\mathrm{ns}[/inlmath], i izračunao da je broj izvršenih instrukcija tokom jedne sekunde [inlmath]1.25\times10^8[/inlmath]. Ali nama se u zadatku traži da izrazimo broj izvršenih instrukcija u [inlmath]\mathrm{MIPS}[/inlmath] jedinicama, tj. milionima instrukcija u sekundi (eng: Millions of instructions per second), pa sam broj instrukcija tokom jedne sekunde podelio sa milion ([inlmath]10^6[/inlmath]).