Cómo calcular ciclos por instrucción
Por El equipo de Calcumatix Revisado por Revisión editorial de Calcumatix 1 min de lectura
Respuesta rápida
CPI es ciclos totales divididos entre instrucciones ejecutadas. IPC es el reciproco. Con 20.000 ciclos y 5.000 instrucciones, CPI = 4 e IPC = 0,25. Para comparar procesadores, usa cargas equivalentes, porque mezcla de instrucciones, cache y reloj cambian mucho el resultado final medido en pruebas.
Los ciclos por instrucción, o CPI, miden cuantos ciclos de reloj necesita en promedio una CPU para ejecutar cada instrucción. Es una parte central de la ecuación de rendimiento junto con el conteo de instrucciones y la frecuencia de reloj.
Usa la calculadora de ciclos por instrucción para resolver CPI, IPC y tiempo de CPU.
Fórmulas
CPI = ciclos totales / conteo de instrucciones
IPC = instrucciones / ciclos totales
Tiempo de CPU = instrucciones x CPI / frecuencia de reloj
| Metrica | Fórmula | Objetivo |
|---|---|---|
| CPI | ciclos / instrucciones | Minimizar |
| IPC | instrucciones / ciclos | Maximizar |
| Tiempo | instrucciones x CPI / reloj | Minimizar |
Ejemplo
Datos: programa con 5.000 instrucciones, 20.000 ciclos y procesador de 2 GHz.
CPI:
20.000 / 5.000 = 4.
IPC:
1 / 4 = 0,25.
Tiempo:
5.000 x 4 / 2.000.000.000 = 0,00001 s = 10 microsegundos.
Resultado: el programa promedia 4 ciclos por instrucción y termina en 10 microsegundos.
CPI ponderado
Los programas reales mezclan instrucciones con costos distintos. Si 70% de las instrucciones cuestan 1 ciclo y 30% cuestan 5 ciclos, el CPI ponderado es:
(0,70 x 1) + (0,30 x 5) = 2,20.
Fuentes
- Patterson & Hennessy, Computer Organization and Design, referencia clasica de rendimiento de CPU.
Consulta más herramientas de computación en el hub de calculadoras de ingeniería.
Preguntas frecuentes
¿Qué significa CPI igual a 1?
Significa una instrucción por ciclo en promedio, ideal para una tubería simple sin esperas.
¿CPI puede ser menor que 1?
Si. Procesadores superescalares pueden retirar varias instrucciones por ciclo.
¿La frecuencia de reloj cambia el CPI?
No directamente. Cambia el tiempo por ciclo, no los ciclos promedio por instrucción.