Marca central

CoreMark es un conjunto de puntos de referencia  sintéticos para medir la velocidad de la CPU en sistemas integrados . Creado en 2009 por Shay Gal-On de EEMBC como reemplazo del antiguo benchmark Dhrystone de 1984 . El código de prueba está escrito en el lenguaje de programación C y contiene implementaciones de dichos algoritmos: procesamiento de listas enlazadas (búsqueda y ordenación ), procesamiento de matrices (varias operaciones de matriz), máquina de estado (determinación de que el flujo de caracteres de entrada contiene números reales en notación decimal) , calculando la suma CRC .

Tareas de CoreMark

El algoritmo CRC en el benchmark se usa para dos propósitos: es bastante típico para aplicaciones en computadoras integradas, pero también se usa para confirmar el correcto funcionamiento de todas las pruebas del paquete CoreMark. En particular, para comprobar el resultado de la ordenación, se calcula una suma CRC de 16 bits a partir de todos los datos de la lista enlazada.

Para evitar el cálculo previo de los resultados de las pruebas durante la optimización de la compilación, cada prueba en el punto de referencia utiliza un valor que no está disponible en el momento de la compilación. Además, todo el código, cuyo tiempo de ejecución se mide, lo proporcionan completamente los autores del benchmark (no contiene ninguna llamada a las bibliotecas del sistema).

Comparación entre CoreMark y Dhrystone heredado

CoreMark se basa en los principios que inspiraron el Dhrystone tradicional: la prueba es pequeña, portátil, fácil de entender, de uso gratuito y proporciona un número único que describe el rendimiento. Sin embargo, a diferencia de Dhrystone, las pruebas de CoreMark tienen reglas para iniciar y publicar resultados, y los autores de CoreMark lograron evitar una serie de problemas bien conocidos asociados con Dhrystone .

Los compiladores modernos pueden optimizar grandes porciones de la prueba Dhrystone, lo que hace que la prueba sea menos una prueba de rendimiento de hardware. También dificultó la comparación entre diferentes compiladores o entre ensamblajes con diferentes indicadores de compilación.

En el área medida de Dhrystone, se realizan llamadas a la biblioteca y, por lo general, el código de la biblioteca ocupa la mayor parte del tiempo del punto de referencia. Dado que las bibliotecas no forman parte del punto de referencia, se vuelve más difícil comparar los resultados entre diferentes sistemas e implementaciones de las bibliotecas.

Existen algunas pautas para ejecutar Dhrystone, pero dado que los resultados de las pruebas no se certificaron ni verificaron, estas pautas no siempre se siguieron. No había un estándar para publicar los resultados de Dhrystone y se utilizaron varios valores derivados: DMIPS, "Dhrystones per second", DMIPS/MHz.

Publicación de resultados de CoreMark

Se mantiene una lista de los resultados de CoreMark en el sitio web del proyecto CoreMark. Archivado el 12 de septiembre de 2017 en Wayback Machine (EEMBC). Los resultados tienen el siguiente formato:

CoreMark 1.0: N/C/P/M

Por ejemplo:

CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofile-use / Heap en TCRAM / FORK:2

Véase también

Literatura

Enlaces