Linux mini-HOWTO

       

Что такое BogoMips


Это цитата из Internet, автор неизвестен, но оттуда вытащили ее Eric S Raymond esr@thyrsus.com, и Geoff Mackenzie freon@dialstart.net, далее следует юмористическое определение BogoMips, ''сколько миллионов раз в cекунду, процессор может ничего не делать.''

Более серьезное определение, написанное Lars Wirzenius' wirzeniu@kruuna.Helsinki.FI от 9 Сентября 1993, с добавлениями Alessandro Rubini, rubini@norgana.systemy.it, и моими:

"`MIPS - это аббревиатура, миллионы операций в секунду (Millions of Instructions Per Second). Это измерение скорости выполнения программы. Как и большинство таких мер, ей больше злоупотребляют, чем правильно используют (очень трудно сравнивать MIPS различных типов компьютеров).

BogoMips - это изобретение Linus Torvalds. Ядру требуются (или это драйвер устройства?) временные задержки состоящие, из пустых циклов, которые должны быть отрегулированы по отношению к скорости процессора. Так как ядро вычисляет при загрузке, сколько времени занимает каждый тип цикла. "Bogo" происходит от "bogus" (фальшивый, поддельный). Так как величина BogoMips дает представление о скорости процессора, но она настолько антинаучна, что ее назвали не иначе, как BogoMips.

Причины (а их две), почему это выводится во время загрузки, являются: a) удобство для отладки и проверки работы кэша и режима турбо, и b) потому что Linus любит посмеиваться над растерянными людьми в новостях. "

BogoMips определяются в /usr/src/linux/init/main.c (простой алгоритм на C), и записывает ее в переменную ядра loops_per_sec, которая используется некоторыми драйверами для более серьезных нужд. Реальная функция задержки udelay() написана на ассемблере, и поэтому каждый порт имеет свое собственное определение /include/asm/delay.h. Переменные loops_per_sec и функция udelay() используются многими драйверами:



Содержание раздела