MIPS je skraćenica od engleskog izraza Milions of Instructions Per Second, što u prevodu na bosanski jezik znači milioni instrukcija po sekundi. To je jedan od najstarijih i ujedno jedan od najvarljivijih načina mjerenja performansi procesora.

Upotreba uredi

MIPS se originalno upotrebljava da računa brzinu, odnosno performanse, procesora. On predstavlja puko mjerenje broja izvršenih instrukcija u jedinici vremena.

U 1970-tim, performanse minikompjutera su upoređivane korištenjem VAX MIPS-a, gdje su brzine mjerene upoređujući brzinu mjerenog računara sa VAX 11/780 mašinom, koja je obilježena kao "1MIPS" mašina. Ova mjera je nazivana i VUP - VAX Unit of Performance (VAX-ova jedinica performansi), pošto je ova mašina bila gotovo ekvivalentna u performansama sa IBM System/370 model 158-3 mašinom, koja je bila široko prihvaćena u računarskoj industriji kao 1MIPS mašina.

Većina 8-bitnih i ranih 16-bitnih mikroprocesora su imali performanse mjerene u kIPS (hiljade instrukcija po sekundi), što je jednako sa 0,001 MIPS. Prvi mikroprocesor opće namjene, intel i8080 je radio na 640 kIPS-a. Intelov i8086, prvi 16-bitni mikroprocesor je radio na 800 kIPS-a. Prvi 32-bitni PC računari sa procesorom i80386 (popularni 386), radio je na otprilike 3 MIPS-a.

Kritike uredi

Ne treba se mnogo zamisliti da bi se našle sve kritike MIPS-a. Broj instrukcija za određeni program je potpuno zavisan od programa i arhitekture instrukcijskog seta (ISA). Tako npr. najpoznatiji program "Hello world", kada kompajliramo za CISC arhitekturu koristi oko 10 instrukcija, dok isti kompajliran za RISC arhitekturu koristi oko 20 instrukcija. Ukoliko program koristi istu kolicinu vremena za izvršenje na oba procesora (i CISC i RISC), RISC čip će imati MIPS rejting dva puta veći od CISC čipa, čak iako oba čipa rade istu količinu posla za isto vrijeme.

Da bismo ovo još malo potkrijepili činjenicama, kao ilustraciju uzećemo i najbanalniji primjer sabiranja dva broja.

Za mikroprocesore koji su sposobni da operišu sa 3 operanda za aritmetičke operacije (CISC arhitektura), operacija sabiranja se svodi na izvršavanje jedne instrukcije:

add b,c,a - saberi b i c i stavi vrijednost u a

Druga arhitektura, (neki hibrid) bi ovu operaciju izvršio u sljedećim koracima:

move.w b,d0 - premjesti operand b u podatkovni registar d0
add.w c,d0 - saberi operand c sa sadržajem podatkovnog registra d0
move.w d0,a - vrati rezultat u operand a

Ako sada pogledamo mašinu koja je sva u RISC arhitekturi, i koja će imati samo dvije operacije sa memorijom: LOAD i STORE:

LOAD B,reg1 - učitaj operator B u registar reg1
LOAD C,reg2 - učitaj operator C u registar reg2
ADD reg1,reg2,reg3 - saberi sadržaje registara reg1 i reg2 i rezultat vrati u registar reg3
STORE reg3,A - spremi sadržaj registra reg3 u operand A

Zamislimo sada da imamo tri ovakva mikroprocesora i da svaki od njih izvrši to sabiranje u istom vremenskom intervalu. Kao rezultat dobili bi smo da prvi procesor ima 1MIPS, drugi ima 3MIPS-a a treći 4MIPS-a. Naravno da ovo ništa ne govori o njihovoj brzini. Oni su isti posao izvršili u isto vrijeme, oni su jednake brzine.

Ne treba se mnogo zamisliti da se uz trenutnu "zbrku" koja postoji u modernim arhitekturama, gdje se stapaju pojmovi CISC i RISC, apsolutno gubi i svaki smisao računanja performansi procesora uz pomoć MIPS-a. U modernoj literaturi često se može naići i na nove "definicije" pojma MIPS: "MisInformation to Promote Sales (Dezinformacija za povećavanje prodaje)" ili "Meaningless Indicator of Processor Speed (Beznačajni indikator procesorske brzine)".[1]

Reference uredi

  1. ^ "High Performance Computing Benchmarks" - Dr M. Probert

Također pogledajte uredi