Кіріспе
Linux ядросы жүзеге асырған процессор жылдамдығының ғылыми емес өлшемі BogoMips ("богус" және MIPS) – жүйелік циклды калибрлеу үшін Linux ядросы іске қосылғанда процессор жылдамдығын өлшеу. Бұл терминнің жиі айтылатын анықтамасы – "процессордың секундына миллион рет ештеңе істемей қалу қабілеті". BogoMips – бұл процессордың ұқсас процессорлардың қалыпты диапазонында екенін тексеруге мүмкіндік беретін мән, яғни BogoMips процессордың сағаттық жиілігін, сондай-ақ бар болған жағдайда CPU кэшін көрсетеді. Ол әртүрлі процессорлардың өнімділігін салыстыру үшін қолданылмайды.
BogoMips (from "bogus" and MIPS) is a crude measurement of CPU speed made by the Linux kernel when it boots to calibrate an internal busy loop. An often quoted definition of the term is "the number of million times per second a processor can do absolutely nothing". BogoMips is a value that can be used to verify whether the processor in question is in the proper range of similar processors, i. e. BogoMips represents a processor's clock frequency as well as the potentially present CPU cache. It is not usable for performance comparisons among different CPUs.
Тарих
1993 жылы Ларс Вирзениус Linux ядросына енгізілу себептерін түсіндіретін хабарламаны comp.os.linux Usenet желісінде жариялады:
[ ]
MIPS – секундына миллиондаған нұсқаудың аббревиатурасы. Бұл процессордың есептеу жылдамдығын өлшеуге арналған өлшем. Мұндай өлшемдердің көпшілігі сияқты, оны дұрыс қолданудан гөрі теріс пайдалану жиі кездеседі (әртүрлі компьютерлер үшін MIPS-ті әділ түрде салыстыру өте қиын). BogoMips – Линус Торвальдстың өзіндік ойлап тапқан нәрсесі. Linux ядросының 0.99.11 нұсқасы (1993 жылдың 11 шілдесінде шығарылған) уақыт цикліне мұқтаж болды (уақыт тым қысқа және/немесе күтудің бос циклді әдісі үшін тым дәл болуы керек), оны машинаның процессор жылдамдығына қарай калибрлеу қажет еді. Сондықтан, ядро жүктелу кезінде компьютердегі белгілі бір бос циклдың қаншалықты жылдам орындалатынын өлшейді. "Bogo" сөзі "bogus" – "жалған" деген сөзден алынған, яғни бұл нақты емес мән. Сондықтан BogoMips мәні процессор жылдамдығы туралы белгілі бір ақпарат береді, бірақ оны BogoMips-тен басқаша атау ғылыми тұрғысынан дұрыс емес. Оның жүктелу кезінде көрсетілуінің себебі (екі себебі бар): а) ол қателерді жоюға және компьютердің кэштері мен турбо түймесінің жұмыс істеп тұрғанын тексеруге көмектеседі, әрі б) Линус жаңалықтарда шатасқан адамдарды көргенде күліп тастайды. [ ]
BogoMips-тің тиісті рейтингілері
БогоМиптерді келесі кесте бойынша шамамен алдын ала есептеуге болады. Көрсетілген рейтинг сол CPU үшін сол кездегі қолданыстағы және тиісті Linux нұсқасына тән. Индекс – нақтылы CPU-дың «BogoMips per clock speed» көрсеткішінің Intel 386DX CPU-дың осы көрсеткішіне қатынасы, салыстыру үшін. SystemRatingIndexIntel 8088 сағат × 0.0040.02Intel/AMD 386SX сағат × 0.140.8Intel/AMD 386DX сағат × 0.181 (анықтама)Motorola 68030 сағат × 0.251.4Cyrix/IBM 486 сағат × 0.341.8Intel Pentium сағат × 0.402.2Intel 486 сағат × 0.502.8AMD 5x86 сағат × 0.502.8MIPS R4000/R4400 сағат × 0.502.8ARM9 сағат × 0.502.8Motorola 68040 сағат × 0.673.7PowerPC 603 сағат × 0.673.7Intel StrongARM сағат × 0.663.7NexGen Nx586 сағат × 0.754.2PowerPC 601 сағат × 0.844.7Alpha 21064/21064A сағат × 0.995.5Alpha 21066/21066A сағат × 0.995.5Alpha 21164/21164A сағат × 0.995.5Intel Pentium Pro сағат × 0.995.5Cyrix 5x86/6x86 сағат × 1.005.6Intel Pentium II/III сағат × 1.005.6AMD K7/Athlon сағат × 1.005.6Intel Celeron сағат × 1.005.6Intel Itanium сағат × 1.005.6R4600 сағат × 1.005.6Hitachi SH 4 сағат × 1.005.6Raspberry Pi (Model B) сағат × 1.005.6Intel Itanium 2 сағат × 1.498.3Alpha 21264 сағат × 1.9911.1VIA Centaur сағат × 1.9911.1AMD K5/K6/K6 2/K6 III сағат × 2.0011.1AMD Duron/Athlon XP сағат × 2.0011.1AMD Sempron сағат × 2.0011.1UltraSparc II сағат × 2.0011.1Intel Pentium MMX сағат × 2.0011.1Intel Pentium 4 сағат × 2.0011.1Intel Pentium M сағат × 2.0011.1Intel Core Duo сағат × 2.0011.1Intel Core 2 Duo сағат × 2.0011.1Intel Atom N455 сағат × 2.0011.1Centaur C6 2 сағат × 2.0011.1PowerPC 604/604e/750 сағат × 2.0011.1Intel Pentium III Coppermine сағат × 2.0011.1Intel Pentium III Xeon сағат × 2.0011.1Motorola 68060 сағат × 2.0011.1Intel Xeon MP (32 bit) (hyper threading) сағат × 3.9722.1Rockchip 358848.0IBM S390 мәліметтер жеткіліксіз (әзірге)ARM мәліметтер жеткіліксіз (әзірге)
2.2.14 Linux ядросымен BogoMips есептеуінен бұрын CPU күйін кэштеу орнатымы артқа жылдырылды. BogoMips алгоритмінің өзі өзгертілмегенімен, осы ядрода BogoMips рейтингі Pentium CPU-лары үшін екі есеге дейін өсті. BogoMips-тің өзгертілген нәтижесі процессордың нақты өнімділігіне әсер етпеді. Linux-та BogoMips-ті cpuinfo файлында іздеу арқылы оңай алуға болады: Таймерге негізделген кешігулер, процессордың жылдамдығын орындау кезінде динамикалық реттеу үшін жиілік масштабын қолданатын жүйелерде сенімдірек, себебі jiffies бойынша циклдардың саны міндетті түрде сызықтық түрде өспеуі мүмкін. Сонымен қатар, таймердің жиілігі алдын ала белгілі болғандықтан, жүктеу кезінде калибрлеу қажет емес. Бұл өзгерістің бір салдары – BogoMIPS мәні CPU-дың негізгі жиілігін емес, таймер жиілігін көрсетеді. Әдетте таймер жиілігі процессордың максималды жиілігінен әлдеқайда төмен болады, сондықтан кейбір пайдаланушылар дәстүрлі бос күту циклдарын пайдаланатын жүйелермен салыстырғанда ерекше төмен BogoMIPS мәнін көріп таңғалуы мүмкін.