Red de conocimiento informático - Material del sitio web - Cómo comprobar el tiempo de instrucción de una declaración C

Cómo comprobar el tiempo de instrucción de una declaración C

Para bare metal, el tiempo de ejecución se puede calcular por frecuencia y ciclos de instrucción. También puede utilizar un código de medición auxiliar para leer el tiempo del temporizador de hardware antes y después de la declaración que debe medirse.

Pero los PC actuales suelen utilizar sistemas operativos de tiempo compartido. En este caso, el tiempo de ejecución de una sentencia sólo se puede calcular por frecuencia y ciclos de instrucción.

1. Debe calcularse según la versión del programa. Si necesita saber el tiempo de ejecución en la PC, calcúlelo como PC. Si necesita saber el tiempo de ejecución en ARM, calcúlelo como ARM. El ciclo de instrucciones es, por supuesto, el ciclo de instrucciones. Al ensamblar, debes ver visualmente las instrucciones.

2. Con respecto a la optimización del compilador, esto sigue siendo el mismo que antes. Cualquiera que sea el nivel de optimización que necesite, simplemente calcule en función de ese nivel de optimización.

3. No estoy familiarizado con ARM. Utilizo más DSP. Mi impresión es que ARM solo puede ejecutar una instrucción por ciclo de reloj en un nivel de canalización, por lo que debería mirar MIPS, MCPS, etc. y usarlo como frecuencia.

4. Para DSP, salto de bucle y otras instrucciones, debido a la existencia de algunos módulos especiales, como bucles de consumo cero, ranuras de retardo, etc., también es necesario realizar un análisis al calcular el tiempo de instrucción. . En cuanto a si ARM tiene estas cosas, no lo sé.