LinuxovΘ noviny | Listopad 1997 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Co jsou to BogoMIPS? MIPS je zkratka "Millions of Instructions Per Second". Je to mφra "rychlosti" procesoru (Lars Wirzenius napsal v BogoMIPS mini-HOWTO, ╛e jde o "computation speed of program", tedy o v²poΦetnφ rychlost programu, co╛ nenφ pravda.) Vyd∞lφme-li hodnotu, kterou nßm test BogoMIPS poskytl, Φφslem 2, dostaneme Φφslo udßvajφcφ kolik mili≤n∙ prßzdn²ch smyΦek dokß╛e nß╣ procesor provΘst b∞hem jednΘ sekundy. Stejn∞ jako mnoho jin²ch "benchmark∙" jsou i BogoMIPS velmi Φasto interpretovßny ╣patn∞. Je velmi obtφ╛nΘ porovnßvat nap°. procesory i386 s procesory Sparc apod. BogoMIPS jsou Linusov²m nßpadem. Kernel (nebo spφ╣e jeho ovladaΦe za°φzenφ) pot°ebujφ ke svΘ Φinnosti Φasovacφ smyΦku, kterß je zßvislß na rychlosti procesoru. Proto kernel v╛dy na zaΦßtku svΘ Φinnosti (p°i bootovßnφ) zm∞°φ, jak "rychle" prob∞hne prßzdnß smyΦka a tuto hodnotu si ulo╛φ do prom∞nnΘ loops_per_sec. Tuto prom∞nnou potom pou╛φvajφ n∞kterΘ ovladaΦe za°φzenφ pro svΘ Φasovacφ smyΦky a hlavn∞ pro Φekßnφ. Nap°. funkce, kterß Φekß zadan² poΦet milisekund je °e╣ena v ovladaΦi multiportovΘ karty Digiboard v souboru drivers/char/pcxx.c takto:
static void pcxxdelay(int msec) { while(msec- > 0) __delay(loops_per_sec/1000); } Bogo pochßzφ z americkΘ angliΦtiny z v²razu "bogus", co╛ znamenß fale╣n², neprav². Proto by nebylo sprßvnΘ interpretovat BogoMIPS jinak, ne╛ je v²╣e uvedeno. Existujφ pr² dva d∙vody, proΦ jsou BogoMIPS vypisovßny p°i ka╛dΘm bootovßnφ Linuxu:
BogoMIPS jsou poΦφtßny jednoduch²m algoritmem, kter² je v souboru init/main.c. Tento algoritmus pou╛φvß funkci delay, kterß je napsßna v assembleru a proto ji najdete v souboru include/asm/delay.h. Zdrojov² text z v²pisu BogoMIPS pro i386 Linux by po kompilaci libovoln²m ANSI-C kompatibilnφm kompilerem m∞l d∞lat totΘ╛, co jßdro Linuxu p°i bootovßnφ. Je v n∞m pou╛ito algoritm∙ ze zdrojov²ch text∙ jßdra (© Linus Torvalds, 1991 - 3). Po spu╣t∞nφ se vypφ╣e nap°.:
Calibrating delay loop.. ok - 39.94 BogoMIPS Samoz°ejm∞ tento program nem∙╛e dßt stejnΘ v²sledky jako jßdro, proto╛e sout∞╛φ s ostatnφmi u╛ivatelsk²mi procesy o Φas procesoru.
ZajφmavΘ by mohlo b²t porovnßnφ v²sledk∙ na stejnΘm poΦφtaΦi pod Linuxem a pod MS-DOSem, ale jak jsem ji╛ napsal, BogoMIPS primßrn∞ neslou╛φ k porovnßvßnφ rychlosti poΦφtaΦ∙ ani operaΦnφch systΘm∙. Viz tabulka OrientaΦnφ hodnoty BogoMIPS.
Tabulka 1: OrientaΦnφ hodnoty BogoMIPS ![]() |