stringtranslate.com

piedra seca

Dhrystone es un programa de referencia de computación sintética desarrollado en 1984 por Reinhold P. Weicker con la intención de ser representativo de la programación de sistemas ( enteros ). El Dhrystone creció hasta convertirse en representante del rendimiento general del procesador ( CPU ). El nombre "Dhrystone" es un juego de palabras con un algoritmo de referencia diferente llamado Whetstone , que enfatiza el rendimiento de punto flotante . [1]

Con Dhrystone, Weicker recopiló metadatos de una amplia gama de software, incluidos programas escritos en FORTRAN , PL/1 , SAL, ALGOL 68 y Pascal . Luego caracterizó estos programas en términos de varias construcciones comunes: llamadas a procedimientos, indirecciones de puntero , asignaciones, etc. A partir de esto, escribió el punto de referencia de Dhrystone para que correspondiera a una combinación representativa. Dhrystone se publicó en Ada , y la versión C para Unix desarrollada por Rick Richardson ("versión 1.1") contribuyó en gran medida a su popularidad.

Piedra de afilar frente a piedra de afilar

El punto de referencia Dhrystone no contiene operaciones de punto flotante , por lo que el nombre es un juego de palabras con el entonces popular punto de referencia Whetstone para operaciones de punto flotante. El resultado del punto de referencia es el número de Dhrystones por segundo (el número de iteraciones del bucle de código principal por segundo).

Tanto Whetstone como Dhrystone son puntos de referencia sintéticos , lo que significa que son programas simples que están cuidadosamente diseñados para imitar estadísticamente el uso del procesador de algún conjunto común de programas. Whetstone, desarrollado en 1972, originalmente se esforzó por imitar los programas típicos de Algol 60 basados ​​en mediciones de 1970, pero finalmente se volvió más popular en su versión Fortran, lo que refleja la orientación altamente numérica de la informática en la década de 1960.

Cuestiones abordadas por Dhrystone

La eventual importancia de Dhrystone como indicador del rendimiento de propósito general ("entero") de las nuevas computadoras lo convirtió en un objetivo para los escritores de compiladores comerciales. Varias técnicas modernas de análisis de código estático del compilador (como la eliminación de código inactivo : por ejemplo, código que utiliza el procesador pero produce resultados internos que no se utilizan ni generan) dificultan el uso y el diseño de puntos de referencia sintéticos. La versión 2.0 del punto de referencia, publicada por Weicker y Richardson en marzo de 1988, tenía una serie de cambios destinados a frustrar una variedad de técnicas de compilación. Sin embargo, fue elaborado cuidadosamente para no cambiar el punto de referencia subyacente. Este esfuerzo por frustrar a los compiladores sólo tuvo un éxito parcial. Dhrystone 2.1, lanzado en mayo del mismo año, tuvo algunos cambios menores y en julio de 2010 sigue siendo la definición actual de Dhrystone.

Además de los problemas relacionados con la optimización del compilador, se han citado otros problemas con Dhrystone. La mayoría de estos, incluido el pequeño tamaño del código y el pequeño tamaño del conjunto de datos, se entendieron en el momento de su publicación en 1984. Más sutil es la ligera sobrerrepresentación de las operaciones con cadenas, que está en gran medida relacionada con el lenguaje: tanto Ada como Pascal tienen cadenas como variables normales en el lenguaje, mientras que C no lo hace, por lo que lo que era una simple asignación de variables en los puntos de referencia de referencia se convirtió en operaciones de copia de búfer en la biblioteca C. Otro problema es que la puntuación reportada no incluye información que es crítica al comparar sistemas, como qué compilador se utilizó y qué optimizaciones.

Dhrystone sigue siendo notablemente resistente como simple punto de referencia, pero su valor continuo para establecer un desempeño real es cuestionable. Es fácil de usar, está bien documentado, es totalmente autónomo, se entiende bien y puede funcionar en casi cualquier sistema. En particular, se ha mantenido en uso generalizado en el mundo de la informática integrada, aunque la suite de pruebas EEMBC recientemente desarrollada , la prueba independiente CoreMark , HINT, Stream e incluso Bytemark se citan y utilizan ampliamente, así como pruebas de referencia más específicas para la memoria. subsistema (Cachebench), TCP/IP (TTCP) y muchos otros.

Resultados

Dhrystone puede representar un resultado de manera más significativa que MIPS (millones de instrucciones por segundo) porque las comparaciones del recuento de instrucciones entre diferentes conjuntos de instrucciones (por ejemplo, RISC frente a CISC ) pueden confundir las comparaciones simples. Por ejemplo, la misma tarea de alto nivel puede requerir muchas más instrucciones en una máquina RISC, pero podría ejecutarse más rápido que una sola instrucción CISC. Por lo tanto, la puntuación de Dhrystone cuenta solo el número de iteraciones completadas del programa por segundo, lo que permite que las máquinas individuales realicen este cálculo de una manera específica. Otra representación común del punto de referencia de Dhrystone es el DMIPS (Dhrystone MIPS ) obtenido cuando la puntuación de Dhrystone se divide por 1757 (el número de Dhrystones por segundo obtenido en el VAX 11/780 , nominalmente una máquina de 1 MIPS).

Otra forma de representar los resultados es en DMIPS/MHz, donde el resultado de DMIPS se divide aún más por la frecuencia de la CPU, para permitir una comparación más sencilla de las CPU que se ejecutan a diferentes velocidades de reloj .

Deficiencias

Usar Dhrystone como punto de referencia tiene desventajas:

Ver también

Referencias

  1. ^ Juego de palabras : piedra blancapiedra húmeda → piedra seca → piedra seca.
  2. ^ ab Weiss, Alan. "Dhrystone Benchmark: historia, análisis," puntuaciones "y recomendaciones" (PDF) . Archivado (PDF) desde el original el 26 de julio de 2011 . Consultado el 28 de abril de 2020 .
  3. ^ Franco Zappa (2017). Microcontroladores: Hardware y Firmware para dispositivos de 8 y 32 bits . Società Editrice Esculapio. pag. 66.ISBN _ 978-88-9385-022-3.

enlaces externos