BogoMips

Da Wikipedia, l'enciclopedia libera.

BogoMips (dai termini bogus dal significato di fasullo, inutile, e MIPS, million instructions per second) è un indice informale della velocità di una CPU, ideato da Linus Torvalds e calcolato dal Kernel Linux durante la fase di boot, con lo scopo di calibrare i loop di temporizzazione interni (busy-loop). [1]

Viene determinato misurando il tempo impiegato per eseguire un ciclo di istruzioni predefinito.

Spesso è goliardicamente definita come «milioni di volte per secondo in cui un processore può non fare assolutamente nulla». Torvalds ha coniato quest'accezione ironica per sottolineare l'inutilità dei BogoMIPS come misura comparativa delle prestazioni dei differenti sistemi.

Il valore calcolato per il proprio sistema viene mostrato a video durante le prime fasi di avvio del kernel. Il valore viene memorizzato nel file cpuinfo, parte dello pseudo-file system procfs e può essere richiamato aprendo in lettura il file, situato in /proc.

La seguente tabella permette di calcolare in modo approssimativo i BogoMips per differenti microprocessori:

Sistema Calcolo Rapporto
Intel 8088 clock * 0.004 0.02
Intel/AMD 386SX clock * 0.14 0.8
Intel/AMD 386DX clock * 0.18 1 (per definizione)
Motorola 68030 clock * 0.25 1.4
Cyrix/IBM 486 clock * 0.34 1.8
Intel Pentium clock * 0.40 2.2
Intel 486 clock * 0.50 2.8
AMD 5x86 clock * 0.50 2.8
Mips R4000/R4400 clock * 0.50 2.8
Motorola 68040 clock * 0.67 3.7
PowerPC 603 clock * 0.67 3.7
Intel StrongARM clock * 0.66 3.7
NexGen Nx586 clock * 0.75 4.2
PowerPC 601 clock * 0.84 4.7
Alpha 21064/21064A clock * 0.99 5.5
Alpha 21066/21066A clock * 0.99 5.5
Alpha 21164/21164A clock * 0.99 5.5
Intel Pentium Pro clock * 0.99 5.5
Cyrix 5x86/6x86 clock * 1.00 5.6
Intel Pentium II/III clock * 1.00 5.6
AMD K7/Athlon clock * 1.00 5.6
Intel Celeron clock * 1.00 5.6
Intel Itanium clock * 1.00 5.6
Mips R4600 clock * 1.00 5.6
Intel Itanium 2 clock * 1.49 8.3
Alpha 21264 clock * 1.99 11.1
Centaur VIA clock * 1.99 11.1
AMD K5/K6/K6-2/K6-III clock * 2.00 11.1
AMD Duron/Athlon XP clock * 2.00 11.1
UltraSparc II clock * 2.00 11.1
Pentium MMX clock * 2.00 11.1
Pentium 4 clock * 2.00 11.1
Centaur C6-2 clock * 2.00 11.1
PowerPC 604/604e/750 clock * 2.00 11.1
Motorola 68060 clock * 2.01 11.2
Intel Xeon (hyper-threading) clock * 3.97 22.1
Hitachi SH-4 clock * 1
IBM S390 non ancora disponibile
Intel ARM non ancora disponibile
Broadcom BCM2708 (raspberry pi) clock*0.9985

Poiché l'implementazione della cache è cambiata per alcune CPU (soprattutto Intel) durante l'evoluzione del kernel, possono essere validi rapporti diversi per il calcolo relativo a queste CPU. Inoltre l'algoritmo di calcolo non sfrutta pienamente il parallelismo di processori quali ad esempio il Pentium 4 e l'Alpha 21164 ed, in genere, i processori superscalari.

Se il valore calcolato per il proprio sistema dovesse differire significativamente dal valore calcolato con la tabella, è possibile che la cache sia male configurata o disattivata, oppure che il clock del processore sia ridotto rispetto al valore nominale (nei PC in uso fino agli anni '90 esisteva un tasto turbo con cui era possibile ridurre la velocità di clock).

Note[modifica | modifica wikitesto]

  1. ^ (EN) The frequently asked questions about BogoMips in tldp.org. URL consultato il 4/7/2014.

Collegamenti esterni[modifica | modifica wikitesto]