IPC, ¿qué significa y por qué los fabricantes de procesadores lo usan tanto?

La informática es un campo donde hay un montón de términos y siglas que, la mayoría de usuarios, desconoce su significado. Uno de los parámetros que se suele mostrar cuando se presenta una nueva serie de procesadores es el IPC. Pero, ¿qué quiere decir y cuál es la importancia de las instrucciones por ciclo de reloj?
Lo primero que debes desterrar de tu cabeza es lo que entiendes por IPC. De tantos años leyendo noticias seguro que ya lo vinculas al famoso Índice de Precios al Consumo y será complicado que a estas alturas lo veas de otra manera. Pero si lo que estás haciendo es toquetear un ordenador, harías bien en cambiar de chip rápidamente para adaptarlo al sentido que te vamos a explicar y que tiene que ver, así muy resumidamente, con la cantidad de instrucciones por ciclo que puede llevar a cabo un procesador.
Cuando hablamos de procesadores nos solemos fijar en los parámetros que nos muestran los fabricantes. Básicamente, prestamos atención a la cantidad de núcleos, frecuencias de trabajo y TDP. Si eres un usuario algo más avanzado igual te fijas en la caché u otros elementos, pero lo normal es hacerlo mirando esos núcleos o los MHz (al principio de los tiempos, en los 80 y 90) o GHz que son capaces de alcanzar.
Uno de esos parámetros que no aparece casi nunca en la información del propio producto es el del IPC, que solamente se muestra en las prestaciones. Dicho dato lo utilizan los fabricantes para indicarnos si los nuevos procesadores son mejores que los anteriores, así que como podéis imaginar, no es una información que nos guste dejar a un lado sin hacerla caso. Es por eso que vamos a explicarte realmente lo que nos dice este valor.
¿Qué es el IPC?
Es un valor que nos dice la cantidad de instrucciones que puede realizar un procesador en un ciclo de reloj. Literalmente, IPC quiere decir instrucciones por ciclo. Es posible que no tengas muy claro que son las instrucciones o un ciclo de reloj, pero tranquilo, que te lo explicamos:
- Instrucciones: son las diferentes operaciones básicas que puede realizar cualquier CPU. Estas se componen de tareas como sumas, restas, accesos de memoria, etc.
- Ciclo de reloj: hablamos de una unidad de tiempo y que viene representado por la frecuencia, que normalmente se expresa en GHz. Simplificándolo mucho, es la cantidad de cambios de estado que se dan en un segundo. Por ejemplo, si nuestro procesador trabaja a 5 GHz, tendremos 5.000.000.000 oscilaciones en 1 segundo.
Ahora ya entendemos un poco mejor qué es una instrucción y un ciclo de reloj. Pues bien, lo que nos aporta este valor es cuántas tareas puede realizar el procesador en un ciclo de reloj. Incluso, podríamos expresarlo en cuántas tareas puede llevar a cabo una CPU en apenas un segundo, que es la unidad de medida que se usa de forma mayoritaria para indicarnos el potencial de ese procesador que tenemos en el PC-
Debes saber que la cantidad de instrucciones que se ejecutan por ciclo no son una constante. En primer lugar, depende del software que se está ejecutando y afectan el resto de componentes, sobre todo la jerarquía de memoria. Entonces, ¿es posible determinarlo?
¿Cómo se calcula el IPC?
Ningún fabricante nos dice que la cantidad de instrucciones que un procesador puede operar en un ciclo de reloj, ya que depende de cada software. Por lo tanto, si queremos calcularlo matemáticamente nosotros en casa es totalmente imposible.
Existen diferentes mecanismos. El más sencillo y que nos puede dar un valor más aproximado es ejecutar dos procesadores con las mismas condiciones. Habitualmente se deja solo un núcleo operativo en ambos y se establece una frecuencia fija de trabajo. Luego, ambos deben realizar una tarea determinada.
Aunque ambos operan en las mismas condiciones, lo normal es que uno termine antes de realizar la tarea que otro. Esta diferencia se convierte a un porcentaje y es lo que determina el IPC.
Debemos decir que no es la manera más correcta, pero es la única manera de hacerlo a nivel usuario. Las empresas utilizan otros mecanismos más precisos.
¿Para qué se usa este valor?
Se utiliza para expresar con una cifra la mejora existente entre dos generaciones de procesadores. Por ejemplo, AMD en la presentación de los Ryzen 9000, dijo que estos tenían un aumento del IPC de hasta el 16% con respecto a los Ryzen 7000.
Concretamente, los Ryzen 9000 que basan en la arquitectura Zen 5 y el proceso de fabricación de 5 nm de TSMC. Mientras que los Ryzen 7000 se basan en la arquitectura Zen 4 y el proceso de fabricación de 7 nm de TSMC. Precisamente, usar un proceso más avanzado es lo que permite gran parte del aumento del IPC. Luego hay otros factores como mejoras en el diseño o implementación de otros elementos.
No deberíamos tomarlo como algo cierto, sino como un valor aproximado. Vendría a ser como las velocidades de transferencias de los SSD, cuya velocidad real y la especificada por el fabricante difieren.