A medida que pasa el tiempo hemos ido viendo cómo cada vez aparecen procesadores cada vez más potentes, pero se nos ha dicho más de una vez que a partir de cierto punto el rendimiento de estos ya no escala de manera natural con los nuevos nodos. Existen varios motivos para ello, pero uno de los más importantes es el fenómeno conocido como RC Delay.
El hardware de nuestros PC solo hacé una cosa, transmitir entre sus componentes señales eléctricas a diferentes voltajes. Según el voltaje utilizado la información que se transmite tiene un significado u otro. A medida que se han ido creando nuevos nodos de fabricación se han producido nuevos fenómenos, pero el que más se ha ido agravando ha sido el RC Delay.
¿Qué es el RC Delay?
RC Delay se puede traducir como el retraso de la señal eléctrica producido por la combinación de la resistencia y la capacitancia de esa parte del circuito. Cuando hablamos de resistencia estamos hablando de la dificultad que tienen los electrones para pasar por esa parte en concreto del circuito. La capacitancia en cambio es la capacidad que tiene esa parte del circuito para almacenar la carga eléctrica.
El RC Delay se ha convertido en los últimos años en uno de los mayores problemas para los diseñadores de nuevos chips bajo los nuevos nodos de fabricación. ¿El motivo? Normalmente tenemos el concepto que los chips están formados por puertas lógicas, las cuales se forman por transistores. La realidad es que estas puertas lógicas están interconectadas entre sí a través de un microcableado que recorre el circuito y a través del cual se envían las diferentes señales eléctricas.
Para que la señal que separa una puerta lógica de otra se transmita sin que hayan variaciones en la señal eléctrica que pueda llevar a una variación de la información no deseada lo que se hace es colocar capas de material dieléctrico entre los cables a través de los cuales se transmite la señal. El problema es que a medida la densidad por área se hace más grande con los nuevos nodos de fabricación entonces al mismo tiempo disminuye la distancia entre el microcableado y con ello aumenta el riesgo que la señal se desvirtúe.
Señales y circuitos
Solemos entender que cualquier circuito integrado digital funciona haciendo uso de unos y ceros, lo cual es una simplificación del concepto. En realidad estamos hablando de transmitir información a través del microcableado interno del chip bajo dos voltajes diferentes donde se va variando de uno a otro de manera continuada.
Lo que es importante en un circuito no es solamente que la señal se transmita de manera correcta, sino que esta se transmita en el periodo adecuado. El RC Delay supone también la velocidad en la que los electrones circulan por el circuito eléctrico y por tanto influencia en la velocidad de reloj final del procesador.
¿El problema en los últimos nodos? Pese a que los transistores han escalado dentro de lo esperado el cableado no lo ha hecho en el mismo grado y son comparativamente más grandes respecto a los nodos anteriores y por tanto la velocidad de reloj no ha escalado como se esperaba. Dicho de otra manera, es la interconexión entre los diferentes componentes lógicos de un procesador y sus memorias internas es lo que llevó al fin de la carrera de los MHz.
La regla de Rent y su relación con el RC Delay
La regla de Rent está relacionada con la organización de la lógica computacional dentro de un chip y en concreto con el cableado que interconecta los diferentes módulos lógicos que forman parte de un procesador cuando este se encuentra este en la mesa de diseño. ¿Para qué sirve la regla de Rent? Pues para conocer cuántas interconexiones va a tener un microprocesador.
La fórmula para la regla de Rent es la siguiente:
T= AKp
Donde T es la cantidad de terminales y por tanto de microcables en todo el chip, A es la cantidad media de microcables dentro de cada bloque lógico y K la cantidad de puertas lógicas de media en cada bloque dentro del chip. ¿Qué tiene que ver con el RC Delay? Pues porque la regla de Rent les permite a los arquitectos de sistemas no solo conocer el cableado y emplazamiento de sus diseños, sino también la longitud del microcableado y por tanto del RC Delay.
No podemos olvidar además que la distancia del cableado también tiene relación con el consumo energético y cuanto más largo es un cable mayor es el consumo en la transferencia de datos, por lo que los arquitectos tienen que saber equilibrar entre la velocidad de reloj esperada y el consumo energético del chip.
No toda la esperanza está perdida
El RC Delay pese a ser un problema existente no es algo que esté siendo ignorado por los creadores de nuevos microprocesadores y memorias. Hay avances en los últimos años que tienen que ver con el objetivo de paliar el problema creciente del RC Delay con los nuevos nodos de fabricación, en especial se están utilizando dos tipos de avances en paralelo:
El primero de ellos es la búsqueda de nuevos materiales dieléctricos que permitan aislar de manera más eficiente la señal eléctrica que se distribuye a través de terminal a terminal. Por lo que una buena parte de la investigación y desarrollo para los nuevos nodos de fabricación para crear nuevas CPUs, GPUs y memoria no solamente se basa en reducir el tamaño de los transistores, sino en solventar los problemas que nazcan con los nuevos nodos.
El segundo está en el uso de estructuras verticales para la intercomunicación de los elementos, con lo cual no aumentamos la cantidad de terminales, pero si la distancia entre ellos y por tanto acabamos disminuyendo las posibilidades de que la señal de un microcable afecte a otro por la distancia entre estos. ¿El único problema con este planteamiento? Por el momento hemos visto implementado a gran escala lo que son interconexiones verticales de memoria sobre memoria e incluso lógica sobre memoria, pero el futuro apunta a que vamos a ver lógica sobre lógica con tal de poder escalar la velocidad de reloj de los diferentes procesadores.