¿Sabes lo que es un SerDes y cómo influye en tus periféricos del PC?

Las siglas SerDes a muchos os van a sonar a venidas de otro mundo, lenguaje extraterrestre vamos, pero realmente se encuentran en todo tipo de hardware a día de hoy y son una de las piezas más utilizadas de cara a la comunicación interna entre los componentes de un procesador, así como de la comunicación externa con otros componentes. ¿Pero qué es, cómo funciona y dónde se utiliza esta pieza de hardware?

En el PC se comunican diversas interfaces entre sí con la CPU, la APU o la GPU. Pero, ¿cuál es la pieza que unifica las diferentes señales que entran y salen de un procesador? Os explicamos cuál es esta pieza en común que se encuentra en todo hardware y cómo funciona. La cual es llamada de manera común como SerDes.

¿Qué es un SerDes?

SerDes

Los SerDes tienen su origen en el mundo de las telecomunicaciones. El motivo de su existencia es bastante simple, enviar datos a través de un solo cable en vez de varios al mismo tiempo reduce la complejidad de la intercomunicación interna de una red de telecomunicaciones. Ahora si lo pensamos bien, la forma en la que están comunicadas las diferentes partes lógicas y memoria tanto de un procesador como de un sistema es a través de una serie de cables.

A simple vista en cuanto a rendimiento nos puede parecer que el uso de una interfaz en paralelo es siempre mucho mejor, pero hay una serie de factores que hacen mejores las interfaces en serie. ¿Cuáles son? En primer lugar las interfaces en paralelo ocupan mucho más espacio y son más susceptibles al electromagnético, aparte de consumir más a igualdad de velocidad de reloj. Las interfaces en serie tienen como desventaja que tienen una mayor latencia en el envió de los datos.

No obstante en un diseño de hardware existen partes con una interfaz en serie y otras con una interfaz en paralelo. ¿Cómo conectarlos entre sí sus interfaces de comunicación son distintas? Pues con un SerDes, cuyo trabajo principal se encuentra a la hora de comunicar varios elementos, especialmente los periféricos con la CPU.

Todos los caminos llevan a Roma

Observad vuestro PC y las diferentes interfaces para componentes internos y periféricos externos. Tenemos interfaces como SATA, PCI Express, USB y un largo etcétera. Cada uno de ellos tiene interfaces para diferentes tipos de periféricos. Pues bien, a nivel interno cada una de estas interfaces no se conectan directamente al hub central del procesador, sino que lo hacen a una serie de SerDES.

No en vano, hay diferentes interfaces de entrada y salida para periféricos de todo tipo que están diseñadas para interaccionar con las especificaciones estándar de los diferentes SerDes. ¿Cuáles son esas interfaces? Pues tenemos el caso de las interfaces PCI Express en sus diferentes tecnologías, para el almacenamiento como SATA y SAS, para la transmisión de vídeo como DisplayPort y HDMI, para redes como las diferentes interfaces gigabit ethernet, etcétera. Pero, la cosa no se limita solamente a interfaces de E/S para periféricos y componentes, sino que la cosa va más allá y la memoria RAM también se comunica a través de un SERDES con el hub central que tiene cada procesador, conocido como Northbridge y que se encarga de comunicar los diferentes elementos entre sí y cada uno de ellos con la memoria RAM.

Por lo que las diferentes interfaces no solo a la hora de diseñar, sino también de evolucionar han de tener en cuenta la evolución de los SerDes en ese mismo momento, ya que dichas interfaces se conectarán a estos en la lógica interna de cada circuito integrado. Se ha de tener en cuenta que a nivel interno de un procesador si se tienen demasiadas interconexiones entonces la complejidad de la intercomunicación será demasiado grande. Por lo que lo mejor es reducir la cantidad de interconexiones serializando los datos que vienen de entrada a cambio de aumentar la velocidad de reloj.

¿Cómo funciona un SerDes?

SerDes

Si tenemos en cuenta esta definición pura y dura entonces un SerDes no deja de ser una pieza de hardware compuesta por un multiplexor y un demultiplexor, los cuales son dos tipos de sistemas combinacionales básicos. Un multiplexor o MUX lo que hace es convertir una sola señal en varias señales distintas y el un demultiplexor o DEMUX hace la tarea contraria.

La diferencia es que los SerDES tienen en cuenta la velocidad de reloj, ya que dependiendo de cuando se transmitan los datos la interpretación por parte del procesador es una u otra. Dicho de otra manera cuando se hace una petición de datos desde cualquier componente de un sistema de hardware hay unos tiempos y por tanto una ventana de oportunidad para transmitir los datos. ¿En que se traduce esto? Pues que los datos se transmiten siguiendo un tiempo y por tanto esto implica una señal de reloj.

Supongamos que queremos serializar una señal en paralelo que se transmite a través de una serie de líneas Full Duplex, las cuales transmiten 1 bit de información en cada dirección. El ancho de banda es de 1.25 Gbps, por lo que esto significa que cada una las líneas funciona a 625 MHz. Tenemos cuatro líneas en total, por lo que si serializamos la señal entonces estaremos hablando de una señal a 5 Gbps, que en el caso de una línea Full Duplex requería que la interfaz en serie funcione a 2.5 GHZ. El camino inverso es por tanto fácil de entender, podemos hacer que la señal a 5 Gbps se transmita a través de dos líneas haciendo uso de una velocidad de 1.25 GHz para cada línea, a través de cuatro líneas haciendo uso de una velocidad de reloj de 625 MHz cada una, etcétera.

La evolución de los SerDes

PAM4 TSMC 5 nm

Antes hemos comentado cómo los SerDES influencian por completo en el diseño de las futuras interfaces de entrada y salida, lo que implica que el desarrollo de las futuras interfaces o evoluciones de las ya existentes depende por completo de los SerDes a los que vayan conectados, ya que han de poder comunicarse con ellos. Por ejemplo los SerDES a 112 Gbps, los más rápidos hasta el momento en el mercado, utilizan señalización PAM4, de ahí a que este tipo de señalización esté sonando para interfaces como la futura PCI Express 6.0.

No obstante hacer avanzar la velocidad de comunicación de los SerDes no es una tarea fácil, con cada nueva generación en la que se aumenta el ancho de banda de comunicación aparecen nuevos desafíos, en especial con aquellos elementos que degradan la calidad de la señal que se transmite. Además no podemos olvidar que el voltaje no está escalando de la misma manera que la velocidad de reloj, lo que hace que el consumo energético de las interfaces se dispare. De ahí la adopción de interfaces PAM4 para evitar aumentar la velocidad de reloj hasta límites que no serían aceptables.

Por el momento solo la memoria GDDR6X en las NVIDIA RTX 30 utiliza interfaz PAM4, lo que significa que el SerDes interno en dichas GPU utiliza este tipo de interfaz para comunicarse con la GPU. Lo cual influye en el resto de interfaces de E/S de dichas GPUs. Al mismo tiempo esto complica la adopción de un sistema PAM4 en otros sistemas, ya que significa que las interfaces se tengan que adaptar a las reglas de tiempo de los SerDes incluido en el procesador.