BogoMips

BogoMips

BogoMips (from "bogus" and MIPS) is an unscientific measurement of CPU speed made by the Linux kernel when it boots, to calibrate an internal busy-loop.cite journal | first = Wim | last = Van Dorst | journal = Linux Journal | title = The Quintessential Linux Benchmark | month = January | year = 1996 | url = http://www.linuxjournal.com/article/1120 | accessdate = 2008-08-22] An oft-quoted definition of the term is "the number of million times per second a processor can do absolutely nothing."Eric S Raymond, and Geoff Mackenzie, published on the Internet in the early 1990s, untraceable origin.] cite web | url = http://www.catb.org/jargon/html/B/BogoMIPS.html | first = Eric S. | last = Raymond | authorlink = Eric S Raymond | title = Hackers Jargon File]

BogoMips can be used to see whether it is in the proper range for the particular processor, its clock frequency, and the potentially present CPU cache. It is not usable for performance comparison between different CPUs.cite web | first = Wim | last = Van Dorst | url = http://www.clifton.nl/bogomips.html | title = BogoMips Mini-Howto | edition = V38 | date = 2 March 2006 | accessdate = 2008-08-22]

Proper BogoMips ratings

As a very approximate guide, the BogoMips can be pre-calculated by the following table. The given rating is typical for that CPU with the then current and applicable Linux version. The index is the ratio of "BogoMips per clock speed" for any CPU to the same for an Intel 386DX CPU, for comparison purposes.

With the 2.2.14 Linux kernel, a caching setting of the CPU state was moved from behind to before the BogoMips calculation. Although the BogoMips algorithm itself wasn't changed, from that kernel onward the BogoMips rating for then current Pentium CPUs was twice that of the rating before the change. The changed BogoMips outcome had no effect on real processor performance.

How are BogoMIPS computed?

With current kernel (2.6.x), Bogomips are implemented in /usr/src/linux/init/calibrate.c kernel source file. It computes loops_per_jiffy value. Explanation from source code:

/* * A simple loop like * while ( jiffies < start_jiffies+1) * start = read_current_timer(); * will not do. As we don't really know whether jiffy switch * happened first or timer_value was read first. And some asynchronous * event can happen between these two events introducing errors in lpj. * * So, we do * 1. pre_start <- When we are sure that jiffy switch hasn't happened * 2. check jiffy switch * 3. start <- timer value before or after jiffy switch * 4. post_start <- When we are sure that jiffy switch has happened * * Note, we don't know anything about order of 2 and 3. * Now, by looking at post_start and pre_start difference, we can * check whether any asynchronous event happened or not */

loops_per_jiffy is used to implement udelay (delay in microseconds) and ndelay (delay in nanoseconds) functions. These functions are needed by some drivers to wait for hardware. Note that a busy waiting technique is used, so the kernel is effectively blocked when executing ndelay/udelay functions. For i386 architecture delay_loop is implemented in /usr/src/linux/arch/i386/lib/delay.c as:/* simple loop based delay: */static void delay_loop(unsigned long loops){ int d0;

__asm__ __volatile__( " jmp 1f " ".align 16 " "1: jmp 2f " ".align 16 " "2: decl %0 jns 2b" :"=&a" (d0) :"0" (loops));}

which can be rewritten to C-pseudocodestatic void delay_loop(unsigned long loops){ int d0 = loops; do { --d0; } while { d0 >= 0

Full and complete information and details about BogoMips, and hundreds of reference entries can be found in the (unfortunately outdated) BogoMips mini-Howto below.

References

External links

* [http://www.clifton.nl/bogomips.html BogoMips Mini-Howto, V38]

This article includes material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • BogoMips — Saltar a navegación, búsqueda Los BogoMIPS es una unidad de medida de un computador inventada por Linus Torvalds para el Kernel de Linux. El sistema necesita una forma para la temporización que debe ser calibrado con la velocidad del propio… …   Wikipedia Español

  • BogoMIPS — Le BogoMips (de bogus et million d instructions par seconde (MIPS)) est une unité de mesure non scientifique de la vitesse du processeur calculée par le noyau Linux lorsqu il boote, pour calibrer une boucle d activité interne. Une autre version… …   Wikipédia en Français

  • Bogomips — Le BogoMips (de bogus et million d instructions par seconde (MIPS)) est une unité de mesure non scientifique de la vitesse du processeur calculée par le noyau Linux lorsqu il boote, pour calibrer une boucle d activité interne. Une autre version… …   Wikipédia en Français

  • BogoMIPS — (от англ. bogus (поддельный) и MIPS англ. Millions of Instructions Per Second) в ядре Линукс ненаучный способ измерения производительности компьютера, предназначенный для калибровки внутренних циклов. Термин изобрёл Линус Торвальдс в… …   Википедия

  • BogoMips — ist ein im Linux Kernel verwendetes „unwissenschaftliches“ Maß für die CPU Geschwindigkeit. Der Wert wird beim Booten ermittelt, um eine interne Warteschleife zu kalibrieren. Der Name leitet sich vom englischen bogus – gefälscht,… …   Deutsch Wikipedia

  • Bogomips — ist ein im Linux Kernel verwendetes „unwissenschaftliches“ Maß für die CPU Geschwindigkeit. Der Wert wird beim Booten ermittelt, um eine interne Warteschleife zu kalibrieren. Der Name leitet sich vom englischen bogus – gefälscht, scheinbar – und… …   Deutsch Wikipedia

  • BogoMips — Le BogoMips (de bogus et million d instructions par seconde (MIPS)) est une unité de mesure non scientifique de la vitesse du processeur calculée par le noyau Linux lorsqu il boote, pour calibrer une boucle d activité interne. Une autre version… …   Wikipédia en Français

  • BogoMips — unter Linux Mass für Prozessorgeschwindigkeit Ian Jackson s List of Frequently asked questions, of 3/1/1994: BogoMips is a contraction of Bogus MIPS . MIPS stands for (depending who you listen to) Millions of Instructions per Second, or… …   Acronyms

  • BogoMips — unter Linux Mass für Prozessorgeschwindigkeit Ian Jackson s List of Frequently asked questions, of 3/1/1994: BogoMips is a contraction of Bogus MIPS . MIPS stands for (depending who you listen to) Millions of Instructions per Second, or… …   Acronyms von A bis Z

  • BogoMips — …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”