Tutoriales

Critical Path: ¿cómo afecta al rendimiento de la CPU?

Las unidades de procesamiento más avanzadas, como los microprocesadores y GPUs, al diseñarse, hay que prestar especial atención al denominado critical path, ya que de ello dependerá la máxima frecuencia a la que puedan trabajar, y por tanto el rendimiento final del chip. Aquí te explicamos todo sobre este concepto.

¿Qué es el critical path?

El diseño de circuitos integrados, como procesadores y otros chips similares, uno de los conceptos fundamentales es el critical path o «camino crítico», que define el tiempo mínimo necesario para que una señal viaje a través de un circuito en el peor de los casos, es decir, recorriendo el circuito por el camino más largo.

Por ejemplo, en la imagen que he puesto anteriormente, vemos un ciclo de reloj de CPU con una duración de ciclo C = 8 ns. Ruta crítica. es decir, el retraso más largo está marcado en rojo en este caso. Ruta crítica: la ruta más lenta entre dos dispositivos de almacenamiento. El tiempo del ciclo de reloj es una función de la ruta crítica y debe ser mayor que esa suma que aparece en esta imagen. Suponiendo los siguientes retrasos de los componentes de hardware de control/ruta de datos:

  • Unidades de memoria: 2 ns
  • ALU y sumadores: 2 ns
  • Archivo de registro: 1 ns
  • Unidad de control < 1 ns.

En este caso, sumamos 2+2+1+1 aprox, y tenemos unos 4 ns, por tanto, el ciclo de 8 ns es mayor, sería correcto. Si el ciclo de reloj fuese más rápido, <4 ns, entonces el reloj cambiaría de estado antes de que se consigue el resultado, alterando éste y produciendo errores.

También te puede interesar conocer cuáles son las mejores procesadores

Es decir, el critical path se refiere al camino más largo que una señal debe recorrer dentro de un circuito lógico desde una entrada a una salida, pasando por las etapas intermedias. Este camino determina el tiempo de retardo crítico  del circuito, el cual fija el límite superior de su frecuencia de reloj. Por eso, para que un chip llegue a frecuencias superiores, es importante reducir al máximo estos retrasos.

Te recomiendo leer sobre las mejores GPUs de mercado

¿Por qué sucede este retraso?

Este retraso producido en un critical path de un chip se produce por:

  • Puertas lógicas: cada puerta (AND, OR, XOR, etc.) introduce un retardo debido a la propagación interna.
  • Interconexiones: las pistas físicas que conectan los elementos también generan retardos por capacitancia y resistencia.
  • Flip-flops: estos elementos de memoria que sincronizan las señales en los circuitos secuenciales también tienen un cierto retardo.

Todo esto tiene una relación con la frecuencia de reloj como he comentado antes. La frecuencia de reloj máxima a la que trabaja el circuito dependerá de estos retrasos. Mientras menores sean los retrasos, mayores serán las frecuencias posibles sin errores. Es decir, es una relación inversamente proporcional. Por esto, hay que entender que conseguir transistores más rápidos para reducir esos retrasos en los elementos que componen el circuito, y mejorar los materiales y diseño de interconexiones para reducir esos otros retrasos, es fundamental. Por esto, cuando se mejoran los nodos y tecnologías de fabricación se puede aumentar la frecuencia de reloj

Sin embargo, hay que decir que no solo se trata de usar nodos cada vez más pequeños, como los de 7nm, 5nm, 3nm, etc. Esto contribuye a mejorar el switching o velocidad a la que conmutan los transistores, y por tanto a agilizar las puertas lógicas y secuenciales. Pero cuando se reduce el tamaño de un chip, aumentan los retrasos de las interconexiones debido a mayores resistencias y capacitancias relativas, y la distribución de reloj se vuelve más compleja. Aspectos que también hay que tratar, por lo que no es tan fácil…

Métodos para mitigar el Critical Path

Los ingenieros de diseño emplean diversas técnicas para minimizar el impacto del camino crítico en circuitos síncronos:

  • Rediseño de la microarquitectura: por ejemplo, implementar una mejora en la pipelining divide la ejecución de instrucciones en múltiples etapas (fetch, decode, execute, etc.), reduciendo el trabajo que debe completarse en un solo ciclo de reloj. Aunque mejora la frecuencia, introduce retos como las dependencias de datos y los hazards. Otra cosa que se puede hacer es usar paralelismo, como las arquitecturas superescalares, lo que permite múltiples instrucciones en paralelo, lo que mejora el rendimiento sin depender únicamente de frecuencias altas.
  • Optimización de lógica: en este caso hay que reducir la cantidad de puertas en el camino crítico mediante optimización algebraica o mapeo lógico más eficiente. También se trabaja en el balanceo,  reorganizando el circuito para redistribuir los retardos y reducir la longitud del camino crítico.
  • Optimización física: por ejemplo, colocar los componentes más cercanos en el diseño físico para minimizar los retardos de las interconexiones, haciendo que éstas sean más cortas. Insertar buffers para reducir el retardo debido a capacitancias en trayectos largos. Otra posibilidad es las custom-cells, diseñando éstas para conseguir mejores resultados, aunque esto debe hacerse en colaboración con la foundry.

Durante el diseño, los chips pasarán por varias etapas de verificación y simulación donde es especialmente importante el análisis estático de tiempos (STA), es decir, herramientas de simulación que analizan todas las posibles rutas de señal para identificar el camino crítico antes de la fabricación. Además, se usan modelos avanzados para prever problemas relacionados con el escalado tecnológico.

Deja tus comentarios con sugerencias o dudas…

Recent Posts

  • Tablets

Te cuento por qué no pretendo cambiar mi iPad por una tablet Android

El iPad es mi compañero tecnológico desde hace algunos años, y aunque las tablets Android…

2 horas atrás
  • Sistemas operativos

Windows 11: Microsoft elimina el requisito obligatorio de TPM 2.0, aunque advierte que no es «recomendable»

Microsoft está eliminando el requisito obligatorio de TPM 2.0 para Windows 11, un movimiento que…

4 horas atrás
  • Reviews

Intel Arc B580 Review en Español (Análisis completo)

Intel Xe2 Battlemage es una realidad y la primera tarjeta gráfica que llega a nuestro…

6 horas atrás