PCI Express ( Peripheral Component Interconnect Express ), abreviado oficialmente como PCIe o PCI-e , [1] es un estándar de bus de expansión de computadora en serie de alta velocidad , diseñado para reemplazar los estándares de bus PCI , PCI-X y AGP más antiguos . Es la interfaz de placa base común para tarjetas gráficas , tarjetas de captura , tarjetas de sonido , adaptadores de host de unidades de disco duro , SSD , Wi-Fi y conexiones de hardware Ethernet de computadoras personales . [2] PCIe tiene numerosas mejoras con respecto a los estándares anteriores, incluido un mayor rendimiento máximo del bus del sistema, un menor número de pines de E/S y una huella física más pequeña, un mejor escalamiento del rendimiento para los dispositivos de bus, un mecanismo de notificación y detección de errores más detallado (Informe de errores avanzado, AER), [3] y funcionalidad nativa de intercambio en caliente . Las revisiones más recientes del estándar PCIe brindan soporte de hardware para la virtualización de E/S .
La interfaz eléctrica PCI Express se mide por el número de carriles simultáneos. [4] (Un carril es una única línea de envío/recepción de datos, análoga a una "carretera de un solo carril" que tiene un carril de tráfico en ambas direcciones). La interfaz también se utiliza en una variedad de otros estándares, en particular el Interfaz de tarjeta de expansión para computadora portátil llamada ExpressCard . También se utiliza en las interfaces de almacenamiento de SATA Express , U.2 (SFF-8639) y M.2 .
Las especificaciones de formato son mantenidas y desarrolladas por PCI-SIG (PCI Special Interest Group ), un grupo de más de 900 empresas que también mantiene las especificaciones PCI convencionales .
Conceptualmente, el bus PCI Express es un reemplazo en serie de alta velocidad del antiguo bus PCI/PCI-X. [7] Una de las diferencias clave entre el bus PCI Express y el PCI anterior es la topología del bus; PCI utiliza una arquitectura de bus paralelo compartida , en la que el host PCI y todos los dispositivos comparten un conjunto común de direcciones, datos y líneas de control. Por el contrario, PCI Express se basa en una topología punto a punto , con enlaces serie separados que conectan cada dispositivo al complejo raíz (host). Debido a su topología de bus compartido, el acceso al bus PCI más antiguo está arbitrado (en el caso de múltiples maestros) y limitado a un maestro a la vez, en una sola dirección. Además, el antiguo esquema de sincronización PCI limita el reloj del bus al periférico más lento del bus (independientemente de los dispositivos involucrados en la transacción del bus). Por el contrario, un enlace de bus PCI Express admite comunicación full-duplex entre dos puntos finales, sin limitación inherente al acceso simultáneo entre múltiples puntos finales.
En términos de protocolo de bus, la comunicación PCI Express está encapsulada en paquetes. El trabajo de empaquetar y despaquetear datos y tráfico de mensajes de estado lo maneja la capa de transacción del puerto PCI Express (que se describe más adelante). Las diferencias radicales en la señalización eléctrica y el protocolo de bus requieren el uso de un factor de forma mecánico y conectores de expansión diferentes (y, por lo tanto, nuevas placas base y nuevas placas adaptadoras); Las ranuras PCI y las ranuras PCI Express no son intercambiables. A nivel de software, PCI Express conserva la compatibilidad con PCI; El software del sistema PCI heredado puede detectar y configurar dispositivos PCI Express más nuevos sin soporte explícito para el estándar PCI Express, aunque las nuevas funciones PCI Express son inaccesibles.
El enlace PCI Express entre dos dispositivos puede variar en tamaño de uno a 16 carriles. En un enlace de varios carriles, los datos del paquete se distribuyen entre carriles y el rendimiento máximo de datos aumenta con el ancho total del enlace. El recuento de carriles se negocia automáticamente durante la inicialización del dispositivo y cualquiera de los terminales puede restringirlo. Por ejemplo, se puede insertar una tarjeta PCI Express (x1) de un solo carril en una ranura de varios carriles (x4, x8, etc.) y el ciclo de inicialización negocia automáticamente el mayor número de carriles mutuamente admitidos. El enlace puede configurarse dinámicamente para usar menos carriles, proporcionando tolerancia a fallas en caso de que haya carriles defectuosos o poco confiables. El estándar PCI Express define anchos de enlace de x1, x2, x4, x8 y x16. También se definieron enlaces PCIe 5.0, x12 y x32 inclusive, pero nunca se utilizaron. [8] Esto permite que el bus PCI Express sirva tanto para aplicaciones sensibles al costo donde no se necesita un alto rendimiento, como para aplicaciones críticas para el rendimiento, como gráficos 3D, redes ( 10 Gigabit Ethernet o Gigabit Ethernet multipuerto ) y almacenamiento empresarial ( SAS o Canal de fibra ). Las ranuras y los conectores solo se definen para un subconjunto de estos anchos, y los anchos de enlace intermedios utilizan el siguiente tamaño de ranura física más grande.
Como punto de referencia, un dispositivo PCI-X (133 MHz 64 bits) y un dispositivo PCI Express 1.0 que utiliza cuatro carriles (x4) tienen aproximadamente la misma velocidad máxima de transferencia unidireccional de 1064 MB/s. El bus PCI Express tiene el potencial de funcionar mejor que el bus PCI-X en casos en los que varios dispositivos transfieren datos simultáneamente o si la comunicación con el periférico PCI Express es bidireccional .
Los dispositivos PCI Express se comunican a través de una conexión lógica llamada interconexión [9] o enlace . Un enlace es un canal de comunicación punto a punto entre dos puertos PCI Express que les permite a ambos enviar y recibir solicitudes PCI ordinarias (configuración, E/S o lectura/escritura de memoria) e interrupciones ( INTx , MSI o MSI-X ). . A nivel físico, un enlace está compuesto por uno o más carriles . [9] Los periféricos de baja velocidad (como una tarjeta Wi-Fi 802.11 ) utilizan un enlace de un solo carril (x1), mientras que un adaptador de gráficos normalmente utiliza un enlace de 16 carriles (x16) mucho más ancho y, por lo tanto, más rápido.
Un carril se compone de dos pares de señalización diferencial , un par para recibir datos y el otro para transmitir. Así, cada carril está compuesto por cuatro hilos o trazas de señal . Conceptualmente, cada carril se utiliza como un flujo de bytes full-duplex , transportando paquetes de datos en formato "byte" de ocho bits simultáneamente en ambas direcciones entre los puntos finales de un enlace. [10] Los enlaces físicos PCI Express pueden contener 1, 4, 8 o 16 carriles. [11] [5] : 4, 5 [9] Los recuentos de carriles se escriben con un prefijo "x" (por ejemplo, "x8" representa una tarjeta o ranura de ocho carriles), siendo x16 el tamaño más grande de uso común. [12] Los tamaños de los carriles también se denominan mediante los términos "ancho" o "por", por ejemplo, una ranura de ocho carriles podría denominarse "por 8" o "8 carriles de ancho".
Para conocer los tamaños de tarjetas mecánicas, consulte a continuación.
Se eligió la arquitectura de bus serie enlazado en lugar del bus paralelo tradicional debido a las limitaciones inherentes de este último, incluida la operación semidúplex , el exceso de recuento de señales y el ancho de banda inherentemente menor debido a la desviación de tiempo . La desviación de tiempo resulta de señales eléctricas separadas dentro de una interfaz paralela que viajan a través de conductores de diferentes longitudes, en capas de placas de circuito impreso (PCB) potencialmente diferentes y posiblemente a velocidades de señal diferentes . A pesar de transmitirse simultáneamente como una sola palabra , las señales en una interfaz paralela tienen diferentes duraciones de viaje y llegan a sus destinos en diferentes momentos. Cuando el período del reloj de la interfaz es más corto que la mayor diferencia de tiempo entre llegadas de señales, ya no es posible recuperar la palabra transmitida. Dado que la desviación temporal en un bus paralelo puede ascender a unos pocos nanosegundos, la limitación del ancho de banda resultante está en el rango de cientos de megahercios.
Una interfaz en serie no presenta sesgo de sincronización porque solo hay una señal diferencial en cada dirección dentro de cada carril y no hay una señal de reloj externa ya que la información de sincronización está incorporada dentro de la propia señal en serie. Como tal, las limitaciones típicas del ancho de banda de las señales en serie se encuentran en el rango de varios gigahercios. PCI Express es un ejemplo de la tendencia general hacia la sustitución de buses paralelos por interconexiones en serie; otros ejemplos incluyen Serial ATA (SATA), USB , Serial Connected SCSI (SAS), FireWire (IEEE 1394) y RapidIO . En vídeo digital, ejemplos de uso común son DVI , HDMI y DisplayPort .
El diseño en serie multicanal aumenta la flexibilidad con su capacidad de asignar menos carriles para dispositivos más lentos.
Una tarjeta PCI Express cabe en una ranura de su tamaño físico o mayor (con x16 como la más grande utilizada), pero es posible que no quepa en una ranura PCI Express más pequeña; por ejemplo, es posible que una tarjeta x16 no quepa en una ranura x4 o x8. Algunas ranuras utilizan zócalos abiertos para permitir tarjetas físicamente más largas y negociar la mejor conexión eléctrica y lógica disponible.
El número de carriles realmente conectados a una ranura también puede ser menor que el número admitido por el tamaño de la ranura física. Un ejemplo es una ranura x16 que se ejecuta en x4, que acepta cualquier tarjeta x1, x2, x4, x8 o x16, pero solo proporciona cuatro carriles. Su especificación puede leerse como "x16 (modo x4)", mientras que la notación "mecánica @ eléctrica" (por ejemplo, "x16 @ x4") también es común. [ cita necesaria ] La ventaja es que dichas ranuras pueden acomodar una gama más amplia de tarjetas PCI Express sin necesidad de que el hardware de la placa base admita la velocidad de transferencia completa. Los tamaños mecánicos estándar son x1, x4, x8 y x16. Las tarjetas que utilizan una cantidad de carriles distintos a los tamaños mecánicos estándar deben ajustarse físicamente al siguiente tamaño mecánico más grande (por ejemplo, una tarjeta x2 usa el tamaño x4, o una tarjeta x12 usa el tamaño x16).
Las propias tarjetas están diseñadas y fabricadas en varios tamaños. Por ejemplo, las unidades de estado sólido (SSD) que vienen en forma de tarjetas PCI Express suelen utilizar HHHL (media altura, media longitud) y FHHL (altura completa, media longitud) para describir las dimensiones físicas de la tarjeta. [14] [15]
Las tarjetas de video para juegos modernas (desde c. 2012 [16] ) generalmente exceden la altura y el grosor especificados en el estándar PCI Express, debido a la necesidad de ventiladores de enfriamiento más capaces y silenciosos , ya que las tarjetas de video para juegos a menudo emiten cientos de vatios de calor. [17] Las carcasas de las computadoras modernas suelen ser más anchas para acomodar estas tarjetas más altas, pero no siempre. Dado que las tarjetas de longitud completa (312 mm) son poco comunes, las cajas modernas a veces no caben en ellas. El grosor de estas tarjetas también suele ocupar el espacio de 2 ranuras PCIe. De hecho, incluso la metodología de cómo medir las tarjetas varía entre los proveedores, algunos incluyen el tamaño del soporte metálico en las dimensiones y otros no.
Por ejemplo, comparando tres tarjetas de video de alta gama lanzadas en 2020: una tarjeta Sapphire Radeon RX 5700 XT mide 135 mm de altura (excluyendo el soporte metálico), que excede la altura estándar PCIe en 28 mm, [18] otra Radeon RX 5700 La tarjeta XT de XFX mide 55 mm de grosor (es decir, 2,7 ranuras PCI a 20,32 mm), ocupando 3 ranuras PCIe, [19] mientras que una tarjeta de vídeo Asus GeForce RTX 3080 ocupa dos ranuras y mide 140,1 mm × 318,5 mm × 57,8 mm. excediendo la altura, longitud y grosor máximos de PCI Express respectivamente. [20]
La siguiente tabla identifica los conductores a cada lado del conector de borde en una tarjeta PCI Express. El lado de soldadura de la placa de circuito impreso (PCB) es el lado A y el lado del componente es el lado B. [21] Los pines PRSNT1# y PRSNT2# deben ser ligeramente más cortos que el resto, para garantizar que una tarjeta conectable en caliente esté completamente insertada. El pin WAKE# utiliza voltaje completo para reactivar la computadora, pero debe estar alto desde la alimentación de espera para indicar que la tarjeta tiene capacidad para reactivarse. [22]
Todas las tarjetas PCI express pueden consumir hasta3A en+3,3 V (9,9W ) . La cantidad de +12 V y la potencia total que pueden consumir depende del factor de forma y la función de la tarjeta: [27] : 35–36 [28] [29]
Se añaden conectores opcionales75 W (6 pines) o150 W (8 pines) de alimentación de +12 V para hasta300 W en total ( 2 × 75 W + 1 × 150 W ).
Algunas tarjetas utilizan dos conectores de 8 pines, pero esto aún no se ha estandarizado a partir de 2018 [actualizar], por lo que dichas tarjetas no deben llevar el logotipo oficial de PCI Express. Esta configuración permite 375 W en total ( 1 × 75 W + 2 × 150 W ) y probablemente estará estandarizada por PCI-SIG con el estándar PCI Express 4.0. [ necesita actualización ] El conector PCI Express de 8 pines podría confundirse con el conector EPS12V , que se utiliza principalmente para alimentar sistemas SMP y multinúcleo. Los conectores de alimentación son variantes de los conectores de la serie Molex Mini-Fit Jr. [30]
El conector 12VHPWR de 16 pines es un estándar para conectar unidades de procesamiento de gráficos (GPU) a fuentes de alimentación de computadoras . Se introdujo en 2022 para reemplazar los conectores de alimentación anteriores de 6 y 8 pines para GPU. El objetivo principal era satisfacer los crecientes requisitos de energía de las GPU de alto rendimiento. Fue reemplazado por una revisión menor llamada 12V-2x6, que cambió el conector para garantizar que los pines de detección solo hagan contacto si los pines de alimentación están asentados correctamente.
El conector original se adoptó formalmente como parte de PCI Express 5.x, [35] mientras que el diseño revisado del conector 12V-2x6 se adoptó más tarde. [36]La mini tarjeta PCI Express (también conocida como Mini PCI Express , Mini PCIe , Mini PCI-E , mPCIe y PEM ), basada en PCI Express, es un reemplazo del factor de forma Mini PCI . Está desarrollado por el PCI-SIG . El dispositivo host admite conectividad PCI Express y USB 2.0, y cada tarjeta puede utilizar cualquiera de los estándares. La mayoría de las computadoras portátiles fabricadas después de 2005 utilizan PCI Express para tarjetas de expansión; sin embargo, a partir de 2015 [actualizar], muchos proveedores están avanzando hacia el uso del factor de forma M.2 más nuevo para este propósito.
Debido a las diferentes dimensiones, las minitarjetas PCI Express no son físicamente compatibles con las ranuras PCI Express estándar de tamaño completo; sin embargo, existen adaptadores pasivos que permiten su uso en ranuras de tamaño completo. [37]
Las dimensiones de las minitarjetas PCI Express son 30 mm × 50,95 mm (ancho × largo) para una minitarjeta completa. Hay un conector de borde de 52 pines , que consta de dos filas escalonadas en un paso de 0,8 mm. Cada fila tiene ocho contactos, un espacio equivalente a cuatro contactos y luego 18 contactos más. Los tableros tienen un espesor de 1,0 mm, excluyendo los componentes. También se especifica una "Media Mini Tarjeta" (a veces abreviada como HMC), que tiene aproximadamente la mitad de la longitud física de 26,8 mm.
Los conectores de borde de la minitarjeta PCI Express proporcionan múltiples conexiones y buses:
A pesar de compartir el factor de forma Mini PCI Express, una ranura mSATA no es necesariamente compatible eléctricamente con Mini PCI Express. Por este motivo, sólo algunos portátiles son compatibles con unidades mSATA. La mayoría de los sistemas compatibles se basan en la arquitectura del procesador Sandy Bridge de Intel, utilizando la plataforma Huron River. Las computadoras portátiles como las series ThinkPad T, W y X de Lenovo, lanzadas en marzo-abril de 2011, admiten una tarjeta SSD mSATA en su ranura para tarjetas WWAN . El ThinkPad Edge E220s/E420s y el Lenovo IdeaPad Y460/Y560/Y570/Y580 también son compatibles con mSATA. [38] Por el contrario, la serie L, entre otras, solo puede admitir tarjetas M.2 que utilicen el estándar PCIe en la ranura WWAN.
Algunos portátiles (en particular, el Asus Eee PC , el Apple MacBook Air y los Dell mini9 y mini10) utilizan una variante de la minitarjeta PCI Express como SSD . Esta variante utiliza los pines reservados y varios no reservados para implementar el paso de interfaz SATA e IDE, manteniendo intactos solo el USB, las líneas de tierra y, a veces, el bus PCIe x1 central. [39] Esto hace que las unidades flash y de estado sólido "miniPCIe" vendidas para netbooks sean en gran medida incompatibles con las verdaderas implementaciones de PCI Express Mini.
Además, el típico SSD miniPCIe de Asus tiene 71 mm de largo, lo que hace que a menudo se haga referencia (incorrectamente) al modelo Dell de 51 mm como de media longitud. En 2009 se anunció un verdadero SSD Mini PCIe de 51 mm, con dos capas de PCB apiladas que permiten una mayor capacidad de almacenamiento. El diseño anunciado conserva la interfaz PCIe, haciéndola compatible con la ranura mini PCIe estándar. Aún no se ha desarrollado ningún producto funcional.
Intel tiene numerosas placas de escritorio con ranura para minitarjeta PCIe x1 que normalmente no admiten SSD mSATA. En el sitio de soporte de Intel se proporciona una lista de placas de escritorio que admiten mSATA de forma nativa en la ranura para minitarjeta PCIe x1 (normalmente multiplexada con un puerto SATA). [40]
M.2 reemplaza el estándar mSATA y Mini PCIe. [41] Las interfaces de bus de computadora proporcionadas a través del conector M.2 son PCI Express 3.0 (hasta cuatro carriles), Serial ATA 3.0 y USB 3.0 (un único puerto lógico para cada uno de los dos últimos). Depende del fabricante del host o dispositivo M.2 elegir qué interfaces admitir, según el nivel deseado de soporte de host y el tipo de dispositivo.
PCI-SIG publicó las especificaciones de cableado externo PCI Express (también conocido como PCI Express externo , PCI Express cableado o ePCIe ) en febrero de 2007. [42] [43]
Se han definido cables y conectores estándar para anchos de enlace x1, x4, x8 y x16, con una velocidad de transferencia de 250 MB/s por carril. El PCI-SIG también espera que la norma evolucione hasta alcanzar los 500 MB/s, como en PCI Express 2.0. Un ejemplo de los usos de PCI Express cableado es una carcasa metálica que contiene varias ranuras PCIe y circuitos adaptadores PCIe a ePCIe. Este dispositivo no sería posible si no fuera por la especificación ePCIe.
OCuLink (que significa "enlace de cobre óptico", ya que Cu es el símbolo químico del cobre ) es una extensión de la "versión de cable de PCI Express". La versión 1.0 de OCuLink, lanzada en octubre de 2015, admite hasta 4 carriles PCIe 3.0 (3,9 GB/s) a través de cableado de cobre; Es posible que en el futuro aparezca una versión de fibra óptica .
La versión más reciente de OCuLink, OCuLink-2, admite hasta 16 GB/s (PCIe 4.0 x8) [44] mientras que el ancho de banda máximo de un cable USB 4 es de 10 GB/s.
Aunque inicialmente estaba destinado a su uso en portátiles para la conexión de potentes cajas de GPU externas, la popularidad de OCuLink radica principalmente en su uso para interconexiones PCIe en servidores, una aplicación más frecuente. [45]
Muchos otros factores de forma utilizan, o pueden utilizar, PCIe. Estos incluyen:
El conector de ranura PCIe también puede transportar protocolos distintos de PCIe. Algunos conjuntos de chips Intel de la serie 9xx admiten Serial Digital Video Out , una tecnología patentada que utiliza una ranura para transmitir señales de video desde los gráficos integrados de la CPU host en lugar de PCIe, mediante un complemento compatible.
El protocolo de capa de transacción PCIe también se puede utilizar sobre algunas otras interconexiones, que no son eléctricamente PCIe:
Mientras se encontraba en sus inicios de desarrollo, PCIe se denominó inicialmente como HSI (por Interconexión de alta velocidad ) y experimentó un cambio de nombre a 3GIO (por E/S de tercera generación ) antes de decidirse finalmente por su nombre PCI-SIG PCI Express . Un grupo de trabajo técnico llamado Arapaho Work Group (AWG) elaboró la norma. Para los borradores iniciales, el AWG estaba formado únicamente por ingenieros de Intel; Posteriormente, el AWG se amplió para incluir socios de la industria.
Desde entonces, PCIe ha pasado por varias revisiones grandes y pequeñas, mejorando el rendimiento y otras características.
En 2003, PCI-SIG introdujo PCIe 1.0a, con una velocidad de datos por carril de 250 MB/s y una velocidad de transferencia de 2,5 gigatransferencias por segundo (GT/s).
La velocidad de transferencia se expresa en transferencias por segundo en lugar de bits por segundo porque el número de transferencias incluye los bits generales, que no proporcionan rendimiento adicional; [51] PCIe 1.x utiliza un esquema de codificación 8b/10b , lo que resulta en una sobrecarga del 20% (= 2/10) en el ancho de banda del canal sin procesar. [52] Entonces, en la terminología PCIe, la velocidad de transferencia se refiere a la velocidad de bits codificada: 2,5 GT/s son 2,5 Gbit/s en el enlace serie codificado. Esto corresponde a 2,0 Gbit/s de datos precodificados o 250 MB/s, lo que en PCIe se denomina rendimiento.
En 2005, PCI-SIG [53] introdujo PCIe 1.1. Esta especificación actualizada incluye aclaraciones y varias mejoras, pero es totalmente compatible con PCI Express 1.0a. No se realizaron cambios en la tarifa de datos.
PCI-SIG anunció la disponibilidad de la especificación PCI Express Base 2.0 el 15 de enero de 2007. [54] El estándar PCIe 2.0 duplica la velocidad de transferencia en comparación con PCIe 1.0 a 5 GT/s y el rendimiento por carril aumenta de 250 MB/s a 500 MB/s. En consecuencia, un conector PCIe de 16 carriles (x16) puede admitir un rendimiento agregado de hasta 8 GB/s.
Las ranuras de la placa base PCIe 2.0 son totalmente compatibles con tarjetas PCIe v1.x. Las tarjetas PCIe 2.0 también son generalmente compatibles con las placas base PCIe 1.x, utilizando el ancho de banda disponible de PCI Express 1.1. En general, las tarjetas gráficas o placas base diseñadas para la versión 2.0 funcionan, siendo la otra la v1.1 o la v1.0a.
El PCI-SIG también dijo que PCIe 2.0 presenta mejoras en el protocolo de transferencia de datos punto a punto y su arquitectura de software. [55]
El primer conjunto de chips con capacidad PCIe 2.0 de Intel fue el X38 y las placas comenzaron a distribuirse de varios proveedores ( Abit , Asus , Gigabyte ) a partir del 21 de octubre de 2007. [56] AMD comenzó a admitir PCIe 2.0 con su serie de conjuntos de chips AMD 700 y nVidia comenzó con el MCP72 . [57] Todos los conjuntos de chips anteriores de Intel, incluido el conjunto de chips Intel P35 , admitían PCIe 1.1 o 1.0a. [58]
Al igual que 1.x, PCIe 2.0 utiliza un esquema de codificación 8b/10b , por lo que ofrece, por carril, un máximo efectivo de 4 Gbit/s. velocidad de transferencia desde su velocidad de datos sin procesar de 5 GT/s.
PCI Express 2.1 (con su especificación del 4 de marzo de 2009) admite una gran proporción de los sistemas de gestión, soporte y resolución de problemas planificados para su implementación completa en PCI Express 3.0. Sin embargo, la velocidad es la misma que la de PCI Express 2.0. El aumento de potencia de la ranura rompe la compatibilidad con versiones anteriores entre las tarjetas PCI Express 2.1 y algunas placas base más antiguas con 1.0/1.0a, pero la mayoría de las placas base con conectores PCI Express 1.1 reciben una actualización del BIOS por parte de sus fabricantes a través de utilidades para admitir la compatibilidad con versiones anteriores de las tarjetas. con PCIe 2.1.
La revisión 3.0 de la especificación básica PCI Express 3.0 estuvo disponible en noviembre de 2010, después de múltiples retrasos. En agosto de 2007, PCI-SIG anunció que PCI Express 3.0 tendría una velocidad de bits de 8 gigatransferencias por segundo (GT/s) y que sería compatible con implementaciones PCI Express existentes. En ese momento, también se anunció que la especificación final para PCI Express 3.0 se retrasaría hasta el segundo trimestre de 2010. [59] Las nuevas características de la especificación PCI Express 3.0 incluían una serie de optimizaciones para mejorar la señalización y la integridad de los datos, incluidos el transmisor y el receptor. ecualización, mejoras de PLL , recuperación de datos de reloj y mejoras de canal de las topologías actualmente admitidas. [60]
Después de un análisis técnico de seis meses sobre la viabilidad de ampliar el ancho de banda de interconexión PCI Express, el análisis de PCI-SIG encontró que se podrían fabricar 8 gigatransferencias por segundo en la tecnología de proceso de silicio convencional y desplegar con infraestructura y materiales de bajo costo existentes, manteniendo al mismo tiempo Compatibilidad total (con impacto insignificante) con la pila de protocolos PCI Express.
PCI Express 3.0 actualizó el esquema de codificación a 128b/130b desde la codificación anterior 8b/10b , reduciendo la sobrecarga del ancho de banda del 20% de PCI Express 2.0 a aproximadamente el 1,54% (= 2/130). La velocidad de bits de 8 GT/s de PCI Express 3.0 ofrece efectivamente 985 MB/s por carril, casi duplicando el ancho de banda del carril en relación con PCI Express 2.0. [50]
El 18 de noviembre de 2010, el Grupo de Interés Especial de PCI publicó oficialmente la especificación PCI Express 3.0 finalizada para que sus miembros construyan dispositivos basados en esta nueva versión de PCI Express. [61]
En septiembre de 2013, se anunció el lanzamiento de la especificación PCI Express 3.1 a finales de 2013 o principios de 2014, consolidando varias mejoras a la especificación PCI Express 3.0 publicada en tres áreas: administración de energía, rendimiento y funcionalidad. [48] [62] Fue lanzado en noviembre de 2014. [63]
El 29 de noviembre de 2011, PCI-SIG anunció preliminarmente PCI Express 4.0, [64] que proporciona una velocidad de bits de 16 GT/s que duplica el ancho de banda proporcionado por PCI Express 3.0 a 31,5 GB/s en cada dirección para una configuración de 16 carriles, mientras que manteniendo la compatibilidad hacia atrás y hacia adelante tanto en el soporte de software como en la interfaz mecánica utilizada. [65] Las especificaciones de PCI Express 4.0 también incluyen OCuLink-2, una alternativa a Thunderbolt . OCuLink versión 2 tiene hasta 16 GT/s (16 GB/s en total para carriles x8), [44] mientras que el ancho de banda máximo de un enlace Thunderbolt 3 es 5 GB/s.
En junio de 2016, Cadence, PLDA y Synopsys hicieron una demostración de la capa física, el controlador, el conmutador y otros bloques de IP PCIe 4.0 en la conferencia anual de desarrolladores de PCI SIG. [66]
Mellanox Technologies anunció el primer adaptador de red de 100 Gbit/s con PCIe 4.0 el 15 de junio de 2016, [67] y el primer adaptador de red de 200 Gbit/s con PCIe 4.0 el 10 de noviembre de 2016. [68]
En agosto de 2016, Synopsys presentó una configuración de prueba con FPGA registrando un carril a velocidades PCIe 4.0 en el Intel Developer Forum . Su propiedad intelectual ha sido concedida a varias empresas que planean presentar sus chips y productos a finales de 2016. [69]
En el Simposio IEEE Hot Chips en agosto de 2016, IBM anunció la primera CPU con soporte PCIe 4.0, POWER9 . [70] [71]
PCI-SIG anunció oficialmente el lanzamiento de la especificación PCI Express 4.0 final el 8 de junio de 2017. [72] La especificación incluye mejoras en flexibilidad, escalabilidad y menor consumo de energía.
El 5 de diciembre de 2017, IBM anunció el primer sistema con ranuras PCIe 4.0, Power AC922. [73] [74]
NETINT Technologies presentó el primer SSD NVMe basado en PCIe 4.0 el 17 de julio de 2018, antes de la Flash Memory Summit 2018 [75]
AMD anunció el 9 de enero de 2019 que sus próximos procesadores basados en Zen 2 y el chipset X570 admitirían PCIe 4.0. [76] AMD esperaba permitir el soporte parcial para conjuntos de chips más antiguos, pero la inestabilidad causada por los rastros de la placa base que no se ajustaban a las especificaciones PCIe 4.0 lo hizo imposible. [77] [78]
Intel lanzó sus primeras CPU móviles con soporte PCI Express 4.0 a mediados de 2020, como parte de la microarquitectura Tiger Lake . [79]
En junio de 2017, PCI-SIG anunció la especificación preliminar PCI Express 5.0. [72] Se esperaba que el ancho de banda aumentara a 32 GT/s, lo que produciría 63 GB/s en cada dirección en una configuración de 16 carriles. Se esperaba que el borrador de la especificación se estandarizara en 2019. [ cita necesaria ] Inicialmente, también se consideró 25,0 GT/s por viabilidad técnica.
El 7 de junio de 2017 en PCI-SIG DevCon, Synopsys registró la primera demostración de PCI Express 5.0 a 32 GT/s. [80]
El 31 de mayo de 2018, PLDA anunció la disponibilidad de su controlador IP XpressRICH5 PCIe 5.0 basado en el borrador 0.7 de la especificación PCIe 5.0 el mismo día. [81] [82]
El 10 de diciembre de 2018, PCI SIG lanzó la versión 0.9 de la especificación PCIe 5.0 a sus miembros, [83] y el 17 de enero de 2019, PCI SIG anunció que la versión 0.9 había sido ratificada, y el lanzamiento de la versión 1.0 estaba previsto para el primer trimestre de 2019. [84]
El 29 de mayo de 2019, PCI-SIG anunció oficialmente el lanzamiento de la especificación final PCI Express 5.0. [85]
El 20 de noviembre de 2019, Jiangsu Huacun presentó el primer controlador PCIe 5.0 HC9001 en un proceso de fabricación de 12 nm. [86] La producción comenzó en 2020.
El 17 de agosto de 2020, IBM anunció el procesador Power10 con PCIe 5.0 y hasta 32 carriles por módulo de un solo chip (SCM) y hasta 64 carriles por módulo de doble chip (DCM). [87]
El 9 de septiembre de 2021, IBM anunció el servidor Power E1080 Enterprise con fecha de disponibilidad prevista para el 17 de septiembre. [88] Puede tener hasta 16 SCM Power10 con un máximo de 32 ranuras por sistema que pueden actuar como PCIe 5.0 x8 o PCIe 4.0 x16. [89] Alternativamente, se pueden utilizar como ranuras PCIe 5.0 x16 para adaptadores convertidores ópticos CXP opcionales que se conectan a cajones de expansión PCIe externos.
El 27 de octubre de 2021, Intel anunció la familia de CPU Intel Core de 12.ª generación, los primeros procesadores x86-64 de consumo del mundo con conectividad PCIe 5.0 (hasta 16 carriles). [90]
El 22 de marzo de 2022, Nvidia anunció la GPU Nvidia Hopper GH100, la primera GPU PCIe 5.0 del mundo. [91]
El 23 de mayo de 2022, AMD anunció su arquitectura Zen 4 con soporte para hasta 24 carriles de conectividad PCIe 5.0 en plataformas de consumo y 128 carriles en plataformas de servidor. [92] [93]
El 18 de junio de 2019, PCI-SIG anunció el desarrollo de la especificación PCI Express 6.0. Se espera que el ancho de banda aumente a 64 GT/s, lo que producirá 128 GB/s en cada dirección en una configuración de 16 carriles, con una fecha de lanzamiento prevista para 2021. [94] El nuevo estándar utiliza modulación de amplitud de pulso de 4 niveles (PAM -4) con una corrección de errores directos (FEC) de baja latencia en lugar de una modulación sin retorno a cero (NRZ). [95] A diferencia de las versiones anteriores de PCI Express, la corrección de errores hacia adelante se utiliza para aumentar la integridad de los datos y se utiliza PAM-4 como código de línea para que se transfieran dos bits por transferencia. Con una velocidad de transferencia de datos de 64 GT/s (velocidad de bits sin procesar), es posible alcanzar hasta 121 GB/s en cada dirección en la configuración x16. [94]
El 24 de febrero de 2020, se publicó la especificación PCI Express 6.0 revisión 0.5 (un "primer borrador" con todos los aspectos arquitectónicos y requisitos definidos). [96]
El 5 de noviembre de 2020, se publicó la especificación PCI Express 6.0 revisión 0.7 (un "borrador completo" con especificaciones eléctricas validadas mediante chips de prueba). [97]
El 6 de octubre de 2021, se publicó la especificación PCI Express 6.0 revisión 0.9 (un "borrador final"). [98]
El 11 de enero de 2022, PCI-SIG anunció oficialmente el lanzamiento de la especificación PCI Express 6.0 final. [99]
El 18 de marzo de 2024, Nvidia anunció la GPU Nvidia Blackwell GB100, la primera GPU PCIe 6.0 del mundo. [100]
La codificación PAM-4 da como resultado una tasa de error de bits (BER) mucho más alta de 10 −6 (frente a 10 −12 anteriormente), por lo que en lugar de la codificación 128b/130b, se utiliza una corrección de errores directa entrelazada (FEC) de 3 vías. además de la verificación de redundancia cíclica (CRC). Un bloque fijo de Unidad de control de flujo (FLIT) de 256 bytes transporta 242 bytes de datos, que incluyen paquetes de nivel de transacción (TLP) de tamaño variable y carga útil de la capa de enlace de datos (DLLP); Los 14 bytes restantes están reservados para CRC de 8 bytes y FEC de 6 bytes. [101] [102] El código Gray de 3 vías se utiliza en el modo PAM-4/FLIT para reducir la tasa de error; la interfaz no cambia a codificación NRZ y 128/130b incluso cuando se vuelve a entrenar para velocidades de datos más bajas. [103] [104]
El 21 de junio de 2022, PCI-SIG anunció el desarrollo de la especificación PCI Express 7.0. [105] Ofrecerá una velocidad de bits bruta de 128 GT/s y hasta 242 GB/s por dirección en configuración x16, utilizando la misma señalización PAM4 que la versión 6.0. La duplicación de la velocidad de datos se logrará ajustando los parámetros del canal para disminuir las pérdidas de señal y mejorar la eficiencia energética, pero se espera que la integridad de la señal sea un desafío. Se espera que la especificación esté finalizada en 2025.
El 2 de abril de 2024, PCI-SIG anunció el lanzamiento de la versión 0.5 de la especificación PCIe 7.0; PCI Express 7.0 sigue en camino de lanzarse en 2025. [106]
Algunos proveedores ofrecen productos PCIe sobre fibra, [107] [108] [109] con cables ópticos activos (AOC) para conmutación PCIe a mayor distancia en cajones de expansión PCIe, [110] [89] o en casos específicos donde se requiere puente PCIe transparente. Es preferible utilizar un estándar más convencional (como InfiniBand o Ethernet ) que puede requerir software adicional para admitirlo.
Thunderbolt fue desarrollado conjuntamente por Intel y Apple como una interfaz de alta velocidad de uso general que combina un enlace PCIe lógico con DisplayPort y originalmente estaba pensada como una interfaz totalmente de fibra, pero debido a las dificultades iniciales para crear una interconexión de fibra amigable para el consumidor, casi Todas las implementaciones son sistemas de cobre. Una excepción notable, el Sony VAIO Z VPC-Z2, utiliza un puerto USB no estándar con un componente óptico para conectarse a un adaptador de pantalla PCIe externo. Apple ha sido el principal impulsor de la adopción de Thunderbolt hasta 2011, aunque varios otros proveedores [111] han anunciado nuevos productos y sistemas con Thunderbolt. Thunderbolt 3 constituye la base del estándar USB4 .
La especificación Mobile PCIe (abreviada como M-PCIe ) permite que la arquitectura PCI Express funcione sobre la tecnología de capa física M-PHY de MIPI Alliance . Además de la adopción generalizada ya existente de M-PHY y su diseño de bajo consumo, Mobile PCIe permite que los dispositivos móviles utilicen PCI Express. [112]
Hay cinco versiones/puntos de control principales en una especificación PCI-SIG: [113]
Históricamente, los primeros en adoptar una nueva especificación PCIe generalmente comienzan a diseñar con el Borrador 0.5, ya que pueden desarrollar con confianza su lógica de aplicación en torno a la nueva definición de ancho de banda y, a menudo, incluso comenzar a desarrollar cualquier característica nueva del protocolo. Sin embargo, en la etapa del Borrador 0.5, todavía existe una gran probabilidad de cambios en la implementación real de la capa del protocolo PCIe, por lo que los diseñadores responsables de desarrollar estos bloques internamente pueden dudar más en comenzar a trabajar que aquellos que utilizan la interfaz IP de fuentes externas.
El enlace PCIe se basa en pares unidireccionales dedicados de conexiones punto a punto en serie (1 bit), conocidas como carriles . Esto contrasta marcadamente con la conexión PCI anterior, que es un sistema basado en bus donde todos los dispositivos comparten el mismo bus paralelo bidireccional, de 32 o 64 bits.
PCI Express es un protocolo en capas , que consta de una capa de transacción , una capa de enlace de datos y una capa física . La capa de enlace de datos se subdivide para incluir una subcapa de control de acceso a medios (MAC). La Capa Física se subdivide en subcapas lógica y eléctrica. La subcapa lógica física contiene una subcapa de codificación física (PCS). Los términos están tomados del modelo de protocolo de red IEEE 802 .
La especificación de la capa física PCIe ( PHY , PCIEPHY , PCI Express PHY o PCIe PHY ) se divide en dos subcapas, correspondientes a especificaciones eléctricas y lógicas. La subcapa lógica a veces se divide en una subcapa MAC y una PCS, aunque esta división no forma parte formalmente de la especificación PCIe. Una especificación publicada por Intel, la interfaz PHY para PCI Express (PIPE), [115] define la partición funcional MAC/PCS y la interfaz entre estas dos subcapas. La especificación PIPE también identifica la capa de conexión de medios físicos (PMA), que incluye el serializador/deserializador (SerDes) y otros circuitos analógicos; sin embargo, dado que las implementaciones de SerDes varían mucho entre los proveedores de ASIC , PIPE no especifica una interfaz entre PCS y PMA.
A nivel eléctrico, cada carril consta de dos pares diferenciales unidireccionales que funcionan a 2,5, 5, 8, 16 o 32 Gbit /s, según las capacidades negociadas. La transmisión y la recepción son pares diferenciales separados, para un total de cuatro cables de datos por carril.
Una conexión entre dos dispositivos PCIe se conoce como enlace y se construye a partir de una colección de uno o más carriles . Todos los dispositivos deben admitir como mínimo un enlace de un solo carril (x1). Opcionalmente, los dispositivos pueden admitir enlaces más amplios compuestos de hasta 32 carriles. [116] [117] Esto permite una muy buena compatibilidad de dos maneras:
En ambos casos, PCIe negocia el mayor número de carriles mutuamente compatibles. Se verifica que muchas tarjetas gráficas, placas base y versiones de BIOS admiten conectividad x1, x4, x8 y x16 en la misma conexión.
El ancho de un conector PCIe es de 8,8 mm, mientras que la altura es de 11,25 mm y la longitud es variable. La sección fija del conector tiene 11,65 mm de longitud y contiene dos filas de 11 pines cada una (22 pines en total), mientras que la longitud de la otra sección es variable dependiendo del número de carriles. Los pines están espaciados a intervalos de 1 mm y el grosor de la tarjeta que entra en el conector es de 1,6 mm. [118] [119]
PCIe envía todos los mensajes de control, incluidas las interrupciones, a través de los mismos enlaces utilizados para los datos. El protocolo serie nunca se puede bloquear, por lo que la latencia sigue siendo comparable a la del PCI convencional, que tiene líneas de interrupción dedicadas. Cuando se tiene en cuenta el problema de compartir IRQ de interrupciones basadas en pines y el hecho de que las interrupciones señalizadas por mensajes (MSI) pueden pasar por alto un APIC de E/S y entregarse directamente a la CPU, el rendimiento de MSI termina siendo sustancialmente mejor. [120]
Los datos transmitidos en enlaces de múltiples carriles se entrelazan, lo que significa que cada byte sucesivo se envía por carriles sucesivos. La especificación PCIe se refiere a este entrelazado como división de datos . Si bien se requiere una complejidad de hardware significativa para sincronizar (o enderezar ) los datos segmentados entrantes, el segmentado puede reducir significativamente la latencia del enésimo byte en un enlace. Si bien los carriles no están estrechamente sincronizados, existe un límite para la desviación de carril a carril de 20/8/6 ns para 2,5/5/8 GT/s para que los buffers de hardware puedan realinear los datos seccionados. [121] Debido a los requisitos de relleno, la división en bandas no necesariamente reduce la latencia de pequeños paquetes de datos en un enlace.
Al igual que con otros protocolos de transmisión en serie de alta velocidad de datos, el reloj está integrado en la señal. A nivel físico, PCI Express 2.0 utiliza el esquema de codificación 8b/10b [50] (código de línea) para garantizar que las cadenas de dígitos idénticos consecutivos (ceros o unos) tengan una longitud limitada. Esta codificación se utilizó para evitar que el receptor pierda la pista de dónde están los bordes de los bits. En este esquema de codificación, cada ocho bits de datos de carga útil (no codificados) se reemplazan con 10 bits (codificados) de datos de transmisión, lo que provoca una sobrecarga del 20% en el ancho de banda eléctrico. Para mejorar el ancho de banda disponible, PCI Express versión 3.0 utiliza codificación 128b/130b (1,54% de sobrecarga). La codificación de línea limita la longitud de las cadenas de dígitos idénticos en los flujos de datos y garantiza que el receptor permanezca sincronizado con el transmisor mediante la recuperación del reloj .
Un equilibrio deseable (y por lo tanto una densidad espectral ) de 0 y 1 bits en el flujo de datos se logra aplicando XOR a un polinomio binario conocido como un " codificador " para el flujo de datos en una topología de retroalimentación. Como se conoce el polinomio de codificación, los datos se pueden recuperar aplicando el XOR por segunda vez. Tanto los pasos de codificación como de decodificación se llevan a cabo en hardware.
La capa de enlace de datos realiza tres servicios vitales para el enlace PCIe:
En el lado de transmisión, la capa de enlace de datos genera un número de secuencia incremental para cada TLP saliente. Sirve como etiqueta de identificación única para cada TLP transmitido y se inserta en el encabezado del TLP saliente. También se adjunta un código de verificación de redundancia cíclica de 32 bits (conocido en este contexto como Link CRC o LCRC) al final de cada TLP saliente.
En el lado de recepción, el LCRC y el número de secuencia del TLP recibido se validan en la capa de enlace. Si la verificación LCRC falla (lo que indica un error de datos) o el número de secuencia está fuera de rango (no consecutivo desde el último TLP recibido válido), entonces el TLP incorrecto, así como cualquier TLP recibido después del TLP incorrecto, se consideran inválidos y se descartan. El receptor envía un mensaje de acuse de recibo negativo (NAK) con el número de secuencia del TLP no válido, solicitando la retransmisión de todos los TLP anteriores a ese número de secuencia. Si el TLP recibido pasa la verificación LCRC y tiene el número de secuencia correcto, se considera válido. El receptor del enlace incrementa el número de secuencia (que rastrea el último TLP bueno recibido) y reenvía el TLP válido a la capa de transacción del receptor. Se envía un mensaje ACK al transmisor remoto, indicando que el TLP se recibió exitosamente (y por extensión, todos los TLP con números de secuencia anteriores).
Si el transmisor recibe un mensaje NAK, o no se recibe ningún acuse de recibo (NAK o ACK) hasta que expire un período de tiempo de espera, el transmisor debe retransmitir todos los TLP que carecen de un acuse de recibo positivo (ACK). Salvo un mal funcionamiento persistente del dispositivo o medio de transmisión, la capa de enlace presenta una conexión confiable con la capa de transacción, ya que el protocolo de transmisión garantiza la entrega de TLP a través de un medio no confiable.
Además de enviar y recibir TLP generados por la capa de transacción, la capa de enlace de datos también genera y consume paquetes de capa de enlace de datos (DLLP). Las señales ACK y NAK se comunican a través de DLLP, al igual que algunos mensajes de administración de energía e información de crédito de control de flujo (en nombre de la capa de transacción).
En la práctica, el número de TLP en vuelo no reconocidos en el enlace está limitado por dos factores: el tamaño del buffer de reproducción del transmisor (que debe almacenar una copia de todos los TLP transmitidos hasta que el receptor remoto los ACK) y el control de flujo. créditos emitidos por el receptor a un transmisor. PCI Express requiere que todos los receptores emitan una cantidad mínima de créditos, para garantizar que un enlace permita enviar TLP PCIConfig y TLP de mensajes.
PCI Express implementa transacciones divididas (transacciones con solicitud y respuesta separadas por tiempo), lo que permite que el enlace transporte otro tráfico mientras el dispositivo de destino recopila datos para la respuesta.
PCI Express utiliza control de flujo basado en crédito. En este esquema, un dispositivo anuncia una cantidad inicial de crédito por cada buffer recibido en su capa de transacción. El dispositivo en el extremo opuesto del enlace, al enviar transacciones a este dispositivo, cuenta la cantidad de créditos que cada TLP consume de su cuenta. El dispositivo emisor solo puede transmitir un TLP cuando, al hacerlo, el recuento de crédito consumido no supera su límite de crédito. Cuando el dispositivo receptor termina de procesar el TLP desde su búfer, indica una devolución de créditos al dispositivo emisor, lo que aumenta el límite de crédito en la cantidad restaurada. Los contadores de crédito son contadores modulares y la comparación de los créditos consumidos con el límite de crédito requiere aritmética modular . La ventaja de este esquema (en comparación con otros métodos, como estados de espera o protocolos de transferencia basados en protocolos de enlace) es que la latencia de la devolución del crédito no afecta el rendimiento, siempre que no se alcance el límite de crédito. Esta suposición generalmente se cumple si cada dispositivo se diseña con tamaños de búfer adecuados.
A menudo se cita que PCIe 1.x admite una velocidad de datos de 250 MB/s en cada dirección, por carril. Esta cifra es un cálculo de la tasa de señalización física (2,5 gigabaudios ) dividida por la sobrecarga de codificación (10 bits por byte). Esto significa que una tarjeta PCIe de dieciséis carriles (x16) sería teóricamente capaz de alcanzar 16x250 MB/s = 4 GB/s en cada dirección. Si bien esto es correcto en términos de bytes de datos, los cálculos más significativos se basan en la tasa de carga útil de datos utilizables, que depende del perfil del tráfico, que es una función de la aplicación de alto nivel (software) y los niveles de protocolo intermedio.
Al igual que otros sistemas de interconexión en serie de alta velocidad de datos, PCIe tiene un protocolo y una sobrecarga de procesamiento debido a la solidez de transferencia adicional (CRC y acuses de recibo). Las transferencias unidireccionales continuas y largas (como las típicas en los controladores de almacenamiento de alto rendimiento) pueden acercarse a >95 % de la velocidad de datos sin procesar (carril) de PCIe. Estas transferencias también se benefician al máximo del mayor número de carriles (x2, x4, etc.). Pero en aplicaciones más típicas (como un controlador USB o Ethernet ), el perfil de tráfico se caracteriza por paquetes de datos cortos con frecuentes reconocimientos forzados. [122] Este tipo de tráfico reduce la eficiencia del enlace, debido a la sobrecarga del análisis de paquetes y las interrupciones forzadas (ya sea en la interfaz del host del dispositivo o en la CPU de la PC). Al ser un protocolo para dispositivos conectados a una misma placa de circuito impreso , no requiere la misma tolerancia a errores de transmisión que un protocolo para comunicación a distancias más largas y, por tanto, esta pérdida de eficiencia no es exclusiva de PCIe.
En cuanto a cualquier enlace de comunicación "similar a una red", parte del ancho de banda "bruto" se consume por la sobrecarga del protocolo: [123]
Un carril PCIe 1.x, por ejemplo, ofrece una velocidad de datos además de la capa física de 250 MB/s (símplex). Este no es el ancho de banda de la carga útil sino el ancho de banda de la capa física: un carril PCIe debe transportar información adicional para una funcionalidad completa. [123]
La sobrecarga de Gen2 es entonces de 20, 24 o 28 bytes por transacción. [ se necesita aclaración ] [ se necesita cita ]
La sobrecarga de Gen3 es entonces de 22, 26 o 30 bytes por transacción. [ se necesita aclaración ] [ se necesita cita ]
El valor para una carga útil de 128 bytes es del 86 % y del 98 % para una carga útil de 1024 bytes. Para accesos pequeños como la configuración de registros (4 bytes), la eficiencia cae hasta el 16%. [ cita necesaria ]
El tamaño máximo de carga útil (MPS) se establece en todos los dispositivos según el máximo más pequeño en cualquier dispositivo de la cadena. Si un dispositivo tiene un MPS de 128 bytes, todos los dispositivos del árbol deben configurar su MPS en 128 bytes. En este caso, el bus tendrá una eficiencia máxima del 86% para escrituras. [123] : 3
PCI Express opera en aplicaciones industriales, de servidores y de consumo, como una interconexión a nivel de placa base (para vincular periféricos montados en la placa base), una interconexión de placa posterior pasiva y como una interfaz de tarjeta de expansión para placas complementarias.
En prácticamente todas las PC modernas (a partir de 2012 [actualizar]), desde computadoras portátiles y de escritorio de consumo hasta servidores de datos empresariales, el bus PCIe sirve como interconexión principal a nivel de placa base, conectando el procesador del sistema host con ambos periféricos integrados (circuitos integrados montados en superficie) y periféricos adicionales (tarjetas de expansión). En la mayoría de estos sistemas, el bus PCIe coexiste con uno o más buses PCI heredados, para lograr compatibilidad con la gran cantidad de periféricos PCI heredados.
A partir de 2013 [actualizar], PCI Express reemplazó a AGP como interfaz predeterminada para tarjetas gráficas en sistemas nuevos. Casi todos los modelos de tarjetas gráficas lanzados desde 2010 por AMD (ATI) y Nvidia utilizan PCI Express. Nvidia utilizó la transferencia de datos de alto ancho de banda de PCIe para su tecnología Scalable Link Interface (SLI), que permitió que varias tarjetas gráficas del mismo chipset y número de modelo se ejecutaran en conjunto, lo que permitió un mayor rendimiento. [ cita necesaria ] Esta interfaz, desde entonces, ha sido descontinuada. AMD también ha desarrollado un sistema multi-GPU basado en PCIe llamado CrossFire . [ cita necesaria ] AMD, Nvidia e Intel han lanzado conjuntos de chips de placa base que admiten hasta cuatro ranuras PCIe x16, lo que permite configuraciones de tarjetas de tres y cuatro GPU.
En teoría, un PCIe externo podría darle a una computadora portátil la potencia gráfica de una computadora de escritorio, conectando una computadora portátil con cualquier tarjeta de video PCIe de escritorio (incluida en su propia carcasa externa, con fuente de alimentación y refrigeración); esto es posible con una interfaz ExpressCard o Thunderbolt . Una interfaz ExpressCard proporciona velocidades de bits de 5 Gbit/s (rendimiento de 0,5 GB/s), mientras que una interfaz Thunderbolt proporciona velocidades de bits de hasta 40 Gbit/s (rendimiento de 5 GB/s).
En 2006, Nvidia desarrolló la familia de GPU PCIe externas Quadro Plex que se pueden utilizar para aplicaciones gráficas avanzadas para el mercado profesional. [124] Estas tarjetas de video requieren una ranura PCI Express x8 o x16 para la tarjeta del lado del host, que se conecta al Plex a través de un VHDCI que lleva ocho carriles PCIe. [125]
En 2008, AMD anunció la tecnología ATI XGP , basada en un sistema de cableado patentado que es compatible con transmisiones de señal PCIe x8. [126] Este conector está disponible en los portátiles Fujitsu Amilo y Acer Ferrari One. Fujitsu lanzó su gabinete AMILO GraphicBooster para XGP poco tiempo después. [127] Alrededor de 2010, Acer lanzó la base de gráficos Dynavivid para XGP. [128]
En 2010, se introdujeron concentradores de tarjetas externas que se pueden conectar a una computadora portátil o de escritorio a través de una ranura PCI ExpressCard. Estos concentradores pueden aceptar tarjetas gráficas de tamaño completo. Los ejemplos incluyen MSI GUS, [129] ViDock de Village Instrument, [130] la estación Asus XG , el adaptador Bplus PE4H V3.2, [131] así como dispositivos de bricolaje más improvisados. [132] Sin embargo, estas soluciones están limitadas por el tamaño (a menudo solo x1) y la versión de la ranura PCIe disponible en una computadora portátil.
La interfaz Intel Thunderbolt ha proporcionado una nueva opción para conectarse con una tarjeta PCIe externamente. Magma ha lanzado el ExpressBox 3T, que puede contener hasta tres tarjetas PCIe (dos en x8 y una en x4). [133] MSI también lanzó Thunderbolt GUS II, un chasis PCIe dedicado para tarjetas de video. [134] Otros productos como Echo Express de Sonnet [135] y mLink de MLogic son chasis Thunderbolt PCIe en un factor de forma más pequeño. [136]
En 2017, se introdujeron concentradores de tarjetas externas con más funciones, como el Razer Core, que tiene una interfaz PCIe x16 de longitud completa. [137]
El protocolo PCI Express se puede utilizar como interfaz de datos para dispositivos de memoria flash , como tarjetas de memoria y unidades de estado sólido (SSD).
La tarjeta XQD es un formato de tarjeta de memoria que utiliza PCI Express, desarrollado por la Asociación CompactFlash, con velocidades de transferencia de hasta 1 GB/s. [138]
Muchos SSD de clase empresarial y alto rendimiento están diseñados como tarjetas controladoras RAID PCI Express . [ cita necesaria ] Antes de que se estandarizara NVMe, muchas de estas tarjetas utilizaban interfaces patentadas y controladores personalizados para comunicarse con el sistema operativo; tenían tasas de transferencia mucho más altas (más de 1 GB/s) e IOPS (más de un millón de operaciones de E/S por segundo) en comparación con las unidades Serial ATA o SAS . [ cuantificar ] [139] [140] Por ejemplo, en 2011 OCZ y Marvell desarrollaron conjuntamente un controlador de unidad de estado sólido PCI Express nativo para una ranura PCI Express 3.0 x16 con una capacidad máxima de 12 TB y un rendimiento de hasta 7,2 GB/ s transferencias secuenciales y hasta 2,52 millones de IOPS en transferencias aleatorias. [141] [¿ relevante? ]
SATA Express era una interfaz para conectar SSD a través de puertos compatibles con SATA, proporcionando opcionalmente múltiples carriles PCI Express como una conexión PCI Express pura al dispositivo de almacenamiento adjunto. [142] M.2 es una especificación para tarjetas de expansión de computadora montadas internamente y conectores asociados, que también utiliza múltiples carriles PCI Express. [143]
Los dispositivos de almacenamiento PCI Express pueden implementar tanto la interfaz lógica AHCI para compatibilidad con versiones anteriores como la interfaz lógica NVM Express para operaciones de E/S mucho más rápidas proporcionadas mediante el paralelismo interno que ofrecen dichos dispositivos. Los SSD de clase empresarial también pueden implementar SCSI sobre PCI Express . [144]
Ciertas aplicaciones de centros de datos (como grandes grupos de computadoras ) requieren el uso de interconexiones de fibra óptica debido a las limitaciones de distancia inherentes al cableado de cobre. Normalmente, un estándar orientado a la red, como Ethernet o Fibre Channel, es suficiente para estas aplicaciones, pero en algunos casos la sobrecarga introducida por los protocolos enrutables no es deseable y se necesita una interconexión de nivel inferior, como InfiniBand , RapidIO o NUMAlink . En principio, se pueden utilizar estándares de bus local como PCIe e HyperTransport para este propósito, [145] pero a partir de 2015 [actualizar], las soluciones solo están disponibles de proveedores especializados como Dolphin ICS y TTTech Auto.
Otros estándares de comunicaciones basados en arquitecturas seriales de alto ancho de banda incluyen InfiniBand , RapidIO , HyperTransport , Intel QuickPath Interconnect , Mobile Industry Processor Interface (MIPI) y NVLink . Las diferencias se basan en las compensaciones entre flexibilidad y extensibilidad frente a latencia y gastos generales. Por ejemplo, hacer que el sistema sea conectable en caliente, como ocurre con Infiniband pero no con PCI Express, requiere que el software rastree los cambios en la topología de la red. [ cita necesaria ]
Otro ejemplo es acortar los paquetes para disminuir la latencia (como se requiere si un bus debe funcionar como interfaz de memoria). Los paquetes más pequeños significan que los encabezados de los paquetes consumen un mayor porcentaje del paquete, lo que disminuye el ancho de banda efectivo. Ejemplos de protocolos de bus diseñados para este propósito son RapidIO e HyperTransport. [ cita necesaria ]
PCI Express se encuentra en algún punto intermedio y está diseñado como una interconexión de sistemas ( bus local ) en lugar de una interconexión de dispositivos o un protocolo de red enrutado. Además, su objetivo de diseño de transparencia del software limita el protocolo y aumenta un poco su latencia. [ cita necesaria ]
Los retrasos en las implementaciones de PCIe 4.0 llevaron a que el consorcio Gen-Z , el esfuerzo CCIX y una interfaz de procesador de acelerador coherente (CAPI) abierta se anunciaran a finales de 2016. [146]
El 11 de marzo de 2019, Intel presentó Compute Express Link (CXL) , un nuevo bus de interconexión, basado en la infraestructura de capa física PCI Express 5.0. Los promotores iniciales de la especificación CXL incluyeron: Alibaba , Cisco , Dell EMC , Facebook , Google , HPE , Huawei , Intel y Microsoft . [147]
La Lista de integradores de PCI-SIG enumera productos fabricados por empresas miembros de PCI-SIG que han pasado las pruebas de cumplimiento. La lista incluye conmutadores, puentes, NIC, SSD, etc. [148]
{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )Esta ECN define las codificaciones de tipo de conector para el nuevo conector 12V-2x6. Este conector, definido en CEM 5.1, reemplaza al conector 12VHPWR.