TIEMPO DE EJECUCION DE UN PROGRAMA (RUNTIME)
Se denomina tiempo de ejecucion al intervalo de tiempo en el que un programa se ejecuta dentro de un sistema operativo. Este tiempo se inicia con la cuesta en memoria principal del programa por lo que el sistema operativo comienza a ejecutar sus instrucciones. El intervalo finaliza en el momento que este envia al sistema la señal de terminacion, sede esta una terminacion normal en que el programa tuvo la posibilidad de concluirsus interrupciones satisfactoriamente o una terminacion anormal en el que el programa produjo algun error y el sistema debio forzar la finalizacion.
CALCULO DEL TIEMPO DE EJECUCION DE UN PROGRAMA
Cualquier programa tiene un tiempo de ejecucion asociado que vendra de interminado basicamente por tres factores:
- Numero total de instrucciones incrustadas.
- Cliclo maquina asociado a cada tipo de instruccion.
- Tiempo por ciclo maquina.
El nuemero total de instrucciones ejecutadas no se refiere al numero total de instrucciones del programa puesto que las estructuras condicionales y repetitivas provoquen que algunas instrucciones no se ejecutan o se ejecutan mas de una vez.
Para conoser el tiempo de ejecucion hay que distinquir los tipos de instrucciones involucradas puesto que cada tipo tiene su nuemro de ciclos. Se pueden estableser las siguientes equivalencias:
- Instruccion aritmetica o logica (un ciclo, MOV,ADD, y CMP)
- Instrucciones de salto efectivo(tres ciclos) (B)
- Instruccion de salto no efectivo (4 ciclos) (BNE)
si contamos con un procesador de un giga herz (GHz), (1000 000000 de ciclo maquina por segundo) el tiempo de cada ciclo maquina es la inversa de la frecuencia es decir 10 elevado a la -9, dicho de otra forma esto es igual a 1nanosegundo. Por lo tanto en el ejemplo (1) tardara 29ns en ejecutarse.
Aunque es un tiempo inperseptible para las personas se debe tomar en cuenta que los programas deben manejar miles de millones de datos para esperar resultados que se esperan en ellas.
ejemplo (1)
Instrucciones
(1) mov r2,r1
(1) mov r1,r2
(1) add r0,r1
(1) cmp r0,r2
(4) bne r1
(1) add r0,r1
(1) cmp r2,r1
(4) bne r0
(3) b r0
(3) b r1
(3) b r2
total 29 ciclos
Comentarios
Publicar un comentario