Web Analytics
Conecta con nosotros

A Fondo

PCI Express, una guía con todo lo que debes saber

Publicado el
PCI Express, una guía con todo lo que debes saber 30

Si estás leyendo estas líneas seguro que te suena el término PCI Express (PCIe) pero quizás no tienes tan claro cómo funciona o por qué es importante. En esta guía abordaremos con detalle uno de los estándares más importantes de la informática actual, desde sus orígenes al importante papel que juega hoy día.

Un poco de historia

El PCI (Peripheral Component Interconnect) fue creado por Intel en 1991, aunque su presentación oficial fue el 22 de junio de 1992. El nuevo estándar se presentaba con el objetivo de superar las limitaciones de los buses de la época, ISA, MCA, EISA y VESA, unificando estos formatos en una solución universal.

Como ha ocurrido tantas veces en la historia de la tecnología, a pesar de que sobre el papel el PCI no era superior al VESA en términos de velocidad de transferencia, terminó por imponerse gracias a su bajo coste y una decisión empresarial clave: al no ser una extensión del bus del microprocesador era posible cambiar de micro sin tener que cambiar toda la placa.

Además, la arquitectura del PCI estaba diseñada para hacer realidad ese sueño llamado “Plug & Play” y funciones como las asignaciones DMA, las IRQ dinámicas o las posibilidades para aprovechar el rendimiento del bus cuando teníamos varios dispositivos al mismo tiempo terminaron por convencer a la industria de su adopción masiva.

La aparición de la versión 2.0 en 1993 y el lanzamiento del Intel Pentium en 1994 fueron dos claves para la consagración del PCI como el estándar que hoy conocemos. Durante los siguientes años se fue mejorando el estándar, ampliando el ancho de banda disponible hasta que se iban produciendo cuellos de botella. El más grave, provocado por la popularización de las tarjetas de vídeo, se solucionó creando un puerto exclusivo (AGP) y “liberando” al PCI de esa pesada carga.

Qué es el PCI Express

El PCI Express fue desarrollado por Intel e introducido en el mercado por primera vez en 2004, gobernado por el chipset 915P. Lejos de ser un parche o una solución temporal, el salto a PCI Express supuso un importante cambio de paradigma tecnológico.

La diferencia fundamental del PCI Express respecto a sus predecesores es que no es un bus para conectar varios dispositivos al mismo tiempo, sino una conexión punto a punto que solo conecta dos dispositivos a la máxima velocidad disponible. De esta forma, se supera uno de los inconvenientes de la conexión paralela del PCI, la disminución de rendimiento cuando varios dispositivos necesitan comunicarse con el procesador al mismo tiempo.

Simplificando, la arquitectura PCI Express se basa en carriles individuales que se pueden agrupar para aumentar el ancho de banda. Así, podemos entender un PCI Express x16 como una conexión serial de 16 carriles de comunicación.

Antes de la llegada del PCI Express, la comunicación paralela dominaba el hardware. Hoy día, interfaces tan conocidas como el USB o el SATA funcionan con comunicación serial. En este protocolo, solo se transmite un bit por cada ciclo de reloj, algo que le penaliza respecto a la paralela que puede transmitir varios.

Sin embargo, a medida que pasa el tiempo la comunicación paralela puede sufrir retrasos (conocidos como retardos de propagación) que aumentan a medida que subimos la frecuencia del reloj. Además, al ser menos complejas técnicamente no sufren de problemas relacionados con interferencias electromagnéticas y adoptan una arquitectura full-duplex, es decir, tienen un conjunto de cableado separado para transmitir y recibir datos.

El resultado es un estándar rápido, fiable y de bajo coste que se ha convertido en la mejor opción cuando hay grandes necesidades de transferencias de datos. Las modernas tarjetas gráficas son el mejor ejemplo de ello.

PCI Express, una guía con todo lo que debes saber 32

Tipos y Versiones del PCI Express

Para conectar tarjetas de expansión con la placa base, PCI Express utiliza ranuras físicas. Pueden ir de x1 a x16, y cuánto mayor es el número mayores son las dimensiones de la ranura porque contiene más pines.

  • PCIe x1: tiene 1 carril , 18 pines y 25 mm de longitud
  • PCIe x4: tiene 4 carriles , 32 pines y 39 mm de longitud
  • PCIe x8: tiene 8 carriles , 49 pines y 56 mm de longitud
  • PCIe x16: tiene 16 carriles , 82 pines y 89 mm de longitud

Como hemos comentado, en PCI Express cada carril es individual y no se puede compartir entre diferentes dispositivos. Así, si conectamos nuestra GPU a una ranura PCIe x16 significa que tiene 16 carriles a su disposición de manera exclusiva e indipendente a otros dispositivos que tengamos conectados.

Las ranuras PCI Express son retrocompatibles. Puedes utilizar una tarjeta PCIe x1 en una ranura PCIe x16 pero no al revés, porque físicamente es imposible y además no tendría sentido.

Actualmente se utilizan cuatro versiones de PCI Express: PCI Express 1.0, PCI Express 2.0, PCI Express 3.0 y PCI Express 4.0. Cada versión de PCIe admite aproximadamente el doble del ancho de banda de la PCIe anterior . Esto es lo que ofrece cada uno de ellos:

  • PCI Express 1.0: tiene un ancho de banda de 250 MB / s por carril
  • PCI Express 2.0: tiene un ancho de banda de 500 MB / s por carril
  • PCI Express 3.0: tiene un ancho de banda de 984.6 MB / s por carril
  • PCI Express 4.0: tiene un ancho de banda de 1969 MB / s por carril

Los valores de ancho de banda indicados se multiplican por la cantidad de carriles disponibles en una ranura PCIe. Si desea calcular cuánto ancho de banda está disponible para una determinada tarjeta de expansión, basta con multiplicar su ancho de banda PCIe por línea con la cantidad de líneas disponibles.

Por ejemplo, una tarjeta gráfica que admite PCI Express 4.0 y está conectada a una ranura PCIe x16 tiene acceso a un ancho de banda total de aproximadamente 31.51 GB / s. Ese es el resultado de multiplicar 1969 MB / s por 16 (ancho de banda PCIe por carril x 16 carriles).

Versión Código en línea Velocidad de transferencia Ancho de banda
Por carril En x16
1.0 8b/10b 2,5 GT/s 2 Gbit/s (250 MB/s) 32 Gbit/s (4 GB/s)
2.0 8b/10b 5 GT/s 4 Gbit/s (500 MB/s) 64 Gbit/s (8 GB/s)
3.0 128b/130b 8 GT/s 7,9 Gbit/s (984,6 MB/s) 126 Gbit/s (15,8 GB/s)
4.0 128b/130b 16 GT/s 15,8 Gbit/s (1969,2 MB/s) 252,1 Gbit/s (31,5 GB/s)
5.0 128b/130b 32 GT/s 31,5 Gbit/s (3938,4 MB/s) 504 Gbit/s (63 GB/s)
6.0 b/b GT/s , Gbit/s (, MB/s) Gbit/s ( GB/s)

En el futuro, hay nuevas versiones de PCI Express, como PCI Express 5.0 y PCI Express 6.0. La especificación PCIe 5.0 se concretó en el verano de 2019, ofreciendo un ancho de banda de hasta 3938 MB / s por carril y hasta 63 GB / s en configuración x16. Sin embargo, lo más probable es que tardemos en verlo en soluciones de consumo.

¿Funcionará mejor mi GPU en un PCI Express más rápido?

Una pregunta habitual entre los usuarios si conectar su GPU a un PCI Express más rápido implica necesariamente una mejora de rendimiento. La realidad es que ninguna gráfica actual aprovecha los más de 30 Gpbs que ofrece PCI Express 4.0 y solo utilizan la interfaz cuando tiene que usar la RAM del sistema o comunicarse con el procesador.

Cualquier gráfica moderna incluye una gran cantidad de RAM que, normalmente, es más rápida que la del propio sistema, así que es extremadamente raro que se produzca un cuello de botella. Los problemas suelen tener más que ver con falta de optimización por parte de los desarrolladores o de unos drivers inmaduros.

Terminamos con un ejemplo con datos reales. Una NVIDIA RTX 2080 Ti obtiene su mejor rendimiento cuando la conectamos a un puerto PCI Express 3.0. No vamos a ganar más frames por conectarla a un 4.0, pero sí tendríamos mermas de rendimiento (entre un 7 y un 14% en función del escenario) si bajamos a un 2.0.

PCI Express, una guía con todo lo que debes saber 34

La cosa cambia cuando en lugar de versiones hablamos de los carriles disponibles. Otro ejemplo real es la nueva  AMD Radeon RX 5500 XT que esta limitada a PCIe 4.0 x8 o PCIe 3.0 x8. Aquí el salto entre 4.0 y 3.0 si es dramático, porque al no aprovechar los 16 carriiles es necesario un plus de ancho de banda.

Obviamemente, en realidad las cosas no son tan sencillas y hay que tener en cuenta aspectos como la CPU utilizada, la RAM o el chipset pero, en términos generales PCI Express ofrece ancho de banda más que suficiente como para tener que preocuparse por ello.

Me encargo de traer innovación y nuevo negocio al grupo TPNET. Además colaboro en varios de nuestros sitios como MC y MCPRO.

8 comentarios
  • Leonmafioso

    En cuanto a tarjetas de vídeo no hay mucha diferencia, sin embargo el problema radica en que los grandes centros de datos necesitan manejar enormes cantidades de información, por eso se desarrollaron las distintas unidades de estado sólido con conexión PCI-E, ya que con un mayor ancho de banda se puede escribir y leer información mucho más rápido.

  • Víctor Martín

    Por que todo el mundo ignora el tema de la latencia??
    parece que cuando se sube la velocidad el resto de cosas no se tiene en cuenta… no se, me gustaria que alguna vez en algun foro explicarais de una vez por que la latencia es muuuuy importante, para muchas cosas mas incluso que la velocidad, y el por que el salto de generacion y generacion merece la pena, aun que no vayais a usar todo el ancho de banda, por que merece la pena simplemente por la latencia…
    Estaria muy bien que hicierais un articulo sobre ello, que parece que hay mucha gente que no sabe ni lo que es…

  • tomy

    No se muy bien a qué te refieres pero en el texto se explica que uno de los aciertos del PCIe es apostar por la comunicación en serie y no en paralelo, precisamente para minimizar el problema de los retardos.

  • Víctor Martín

    Estoy seguro de que el 99% de la gente no sabe lo que es la latencia de una memoria y en como influye esto en que tipo de archivos…
    en todas las noticias que salen, la gente siempre dice lo mismo (en esta no por que la gente no ha comentado casi), el salto de pcie3 a 4 no merece la pena por que nunca vas a usar todo el ancho de banda… si dicen eso es por que no saben que ha vuelto a mejorar la latencia, o peor, puede ser por que ni siquiera saben que es una latencia de una memoria… no estaria de mas que pusierais lo que influye y como lo hace la latencia. Quitando la parte de la historia, el ¿99%? de la noticia trata sobre el ancho de banda… constantemente solo haceis alusiones al incremento de ancho de banda, pero sin embargo no nombrais ni una sola vez la palabra latencia ni nada que represente esa palabra (salvo lo que dices de los retrasos sobre serie-paralelo), pero en ningun momento se habla de las mejoras de las latencias en las versiones modernas de pci, el resto de la noticia que no es historia, es sobre ancho de banda…

    una pequeña mencion a la palabra latencia, explicar en 2 lineas lo que es, y decir que pcie 4.0 SI mejora la latencia, y que aun que no vayas a aprovechar todo el ancho de banda (cosa que tampoco es cierto) por lo menos si vas a notar una mejora en la latencia

  • Keible

    En el primer párrafo no es «pero quizás NO tienes tan claro como funciona…»?

  • Isidro Ros

    En efecto, faltaba un «no», gracias por el aviso.

    Saludos.

  • Mauricio Perez

    Twngo una duda, puedo conectar una tarjeta de PCIe anterior a una nueva por ejemplo creo que es PCIe 1 en una placa de PCIe 4.0?

  • tomy

    Si, siempre que tú placa tenga una ranura PCIe x1. Lo normal es que si así que no tendrás problema.

Lo más leído