¿Cómo logran los microcontroladores un rendimiento de 1 MIPS / MHz?

19

Me gusta this , que tiene 1.49 DMIPS / MHz. Incluso con la canalización, todavía hay solo 1 etapa de ejecución por ciclo, ¿no?

    
pregunta Federico Russo

2 respuestas

18

DMIPS y MIPS no son lo mismo. DMIPS significa "Dhrystone MIPS", y es un estándar para comparar diferentes rendimientos de microcontroladores / microprocesadores en diferentes conjuntos de instrucciones. El estándar ya no es tan nuevo (*), por lo que lo que el procesador de referencia podría hacer a 1 DMIPS / MHz en 1 segundo puede tomar un controlador más avanzado de 670 ms a la misma velocidad de reloj, solo porque hará algunas acciones en 1 instrucción mientras que el otro controlador puede necesitar 2 instrucciones, o una instrucción que requiera más ciclos de máquina.

Una arquitectura de 16 bits, por ejemplo, normalmente tendrá un mejor rendimiento de Dhrystone que una arquitectura de 8 bits, y una de 32 bits, como la que se refiere, incluso más.


(*) m.Alin hace referencia al más reciente CoreMark . Tenga en cuenta que esto está escrito en C, así que en realidad también está incluyendo el rendimiento del compilador en el resultado (al igual que Dhrystone, BTW).

    
respondido por el stevenvh
10

DMIPS es una medida relativa en lugar de absoluta. A diferencia de los MIPS, en realidad mide la rapidez con la que el uC puede hacer algo útil en lugar de la rapidez con la que ejecuta las instrucciones.

Al igual que cualquier punto de referencia, tiene sus limitaciones, pero una forma simple de verlo es la rapidez con la que puede completar el código de punto de referencia en comparación con un VAX 11/780 (una máquina de 1 MIPS)
Entonces, por ejemplo, si su uC completa el punto de referencia 100 veces más rápido que un VAX 11/780, tiene una máquina de 100DMIPS. Si se ejecuta a 100MHz, entonces tiene una clasificación de 1 DMIPS / MHz.

Tenga en cuenta que el DMIPS anunciado suele ser inalcanzable en el uso normal, especialmente en grandes unidades uU con velocidad de flash, búsqueda previa, tiempos de espera / errores, etc. .aspx "> Here es una buena discusión sobre el rendimiento de PIC32 DMIPS. Este enlace tiene algún código Dhrystone para microcontroladores.

    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas