PCI-Express | |
---|---|
| |
Tipo de | neumático |
Historia | |
Desarrollador | Intel , PCI SIG , Dell , HP , IBM |
Desarrollado | 2003 |
expulsado | AGP , PCI-X , PCI |
Especificaciones | |
Intercambio en caliente | No |
Externo | Sí |
Opciones de datos | |
Banda ancha | de 250 Mb/s a 126 Gb/s |
Protocolo | coherente |
Archivos multimedia en Wikimedia Commons |
PCI Express ( interconexión rápida de componentes periféricos en inglés ), o PCIe , o PCI-e ; también conocido como 3GIO ( 3rd Generation I/O ) - un bus de computadora (aunque no es un bus a nivel físico , siendo una conexión punto a punto) que utiliza el modelo de software de bus PCI y un protocolo físico de alto rendimiento basado en la transferencia de datos en serie .
Intel inició el desarrollo del estándar PCI Express después del abandono del bus InfiniBand . Oficialmente, la primera especificación PCI Express básica apareció en julio de 2002 [1] [2] . El estándar PCI Express está siendo desarrollado por el Grupo de Interés Especial PCI .
A diferencia del estándar PCI, que utilizaba un bus común para la transferencia de datos con varios dispositivos conectados en paralelo, PCI Express, en general, es una red de paquetes con topología en estrella .
Los dispositivos PCI Express se comunican entre sí a través de un medio formado por conmutadores, con cada dispositivo conectado directamente mediante una conexión punto a punto al conmutador.
Además, el bus PCI Express admite [1] [2] :
El bus PCI Express está diseñado para usarse solo como bus local. Dado que el modelo de software de PCI Express se hereda en gran medida de PCI, los sistemas y controladores existentes se pueden modificar para usar el bus PCI Express reemplazando solo la capa física, sin modificar el software. El alto rendimiento máximo del bus PCI Express hace posible usarlo en lugar de los buses AGP , y más aún PCI y PCI-X [2] . El PCI Express de facto ha reemplazado estos buses en las computadoras personales.
Distribución de pines PCI Express X1 | |||
---|---|---|---|
Número de salida | Objetivo | Número de salida | Objetivo |
B1 | +12V | A1 | PRSNT1# |
B2 | +12V | A2 | +12V |
B3 | +12V | A3 | +12V |
B4 | TIERRA | A4 | TIERRA |
B5 | SMCLK | A5 | JTAG2 |
B6 | SMDAT | A6 | JTAG3 |
B7 | TIERRA | A7 | JTAG4 |
B8 | +3,3 V | A8 | JTAG5 |
B9 | JTAG1 | A9 | +3,3 V |
B10 | 3.3V_AUX | A10 | 3,3 V |
B11 | DESPERTARSE# | A11 | PERST# |
Dividir | |||
B12 | RSVD | A12 | GND_A12 |
B13 | TIERRA | A13 | REFCLK+ |
B14 | PETP0 | A14 | REFCLK- |
B15 | PETN0 | A15 | TIERRA |
B16 | TIERRA | A16 | PERP0 |
B17 | PRSNT2# | A17 | PERN0 |
B18 | TIERRA | A18 | TIERRA |
Mini PCI Express es un formato de bus PCI Express para dispositivos portátiles.
Hay muchos periféricos disponibles para este estándar de conector:
Distribución de pines mini PCI-E | |||
---|---|---|---|
Número de salida | Objetivo | Número de salida | Objetivo |
51 | reservado | 52 | +3,3 V |
49 | reservado | cincuenta | TIERRA |
47 | reservado | 48 | +1,5 V |
45 | reservado | 46 | LED_WPAN# |
43 | reservado | 44 | LED_WLAN# |
41 | Reservado (+3.3V) | 42 | LED_WWAN# |
39 | Reservado (+3.3V) | 40 | TIERRA |
37 | Reservado (GND) | 38 | USB_D+ |
35 | TIERRA | 36 | USB_D- |
33 | PETp0 | 34 | TIERRA |
31 | PETn0 | 32 | SMB_DATOS |
29 | TIERRA | treinta | SMB_CLK |
27 | TIERRA | 28 | +1,5 V |
25 | PERp0 | 26 | TIERRA |
23 | PERn0 | 24 | +3.3 Vaux |
21 | TIERRA | 22 | PERST# |
19 | Reservado (UIM_C4) | veinte | W_DISABLE# |
17 | Reservado (UIM_C8) | Dieciocho | TIERRA |
Dividir | |||
quince | TIERRA | dieciséis | UIM_VPP |
13 | REFCLK+ | catorce | UIM_RESET |
once | REFCLK- | 12 | UIM_CLK |
9 | TIERRA | diez | UIM_DATOS |
7 | CLKREQ# | ocho | UIM_PWR |
5 | Reservado (COEX2) | 6 | 1,5 V |
3 | Reservado (COEX1) | cuatro | TIERRA |
una | DESPERTARSE# | 2 | 3,3 V |
Pines SSD Mini PCI Express | |||
---|---|---|---|
33 | Sata TX+ | 34 | TIERRA |
31 | SataTX- | 32 | IDE_DMARQ |
29 | TIERRA | treinta | IDE_DMACK |
27 | TIERRA | 28 | IDE_IOREAD |
25 | Sata RX+ | 26 | TIERRA |
23 | SataRX | 24 | IDE_IOWR |
21 | TIERRA | 22 | IDE_RESET |
19 | IDE_D7 | veinte | IDE_D8 |
17 | IDE_D6 | Dieciocho | TIERRA |
Dividir | Dividir | ||
quince | TIERRA | dieciséis | IDE_D9 |
13 | IDE_D5 | catorce | IDE_D10 |
once | IDE_D4 | 12 | IDE_D11 |
9 | TIERRA | diez | IDE_D12 |
7 | IDE_D3 | ocho | IDE_D13 |
5 | IDE_D2 | 6 | IDE_D14 |
3 | IDE_D1 | cuatro | TIERRA |
una | IDE_D0 | 2 | IDE_D15 |
Las ranuras ExpressCard se utilizan en las computadoras portátiles para conectar: [4]
Para conectar un dispositivo PCI Express, se utiliza una conexión serial bidireccional punto a punto , llamada línea ( ing. lane - lane, row); esto difiere mucho de PCI , en el que todos los dispositivos están conectados a un bus bidireccional paralelo común de 32 bits.
Una conexión ( en inglés link - conexión, conexión) entre dos dispositivos PCI Express consta de una (x1) o varias (x2, x4, x8, x16 y x32) líneas seriales bidireccionales [1] [2] . Cada dispositivo debe estar conectado al menos a una línea (x1).
A nivel eléctrico, cada conexión utiliza transmisión de señal diferencial de bajo voltaje ( LVDS ), cada dispositivo PCI Express recibe y transmite información en dos conductores separados, así, en el caso más simple, el dispositivo se conecta al interruptor PCI Express con solo cuatro conductores
El uso de este enfoque tiene las siguientes ventajas:
En ambos casos, el bus PCI Express utilizará el número máximo de carriles disponibles tanto para la tarjeta como para la ranura. Sin embargo, esto no permite que el dispositivo funcione en una ranura diseñada para tarjetas con un ancho de banda más bajo del bus PCI Express. Por ejemplo, una tarjeta x4 no cabrá físicamente en una ranura x1 estándar, aunque podría funcionar en una ranura x1 usando solo un carril. En algunas placas base, puede encontrar ranuras x1 y x4 no estándar que no tienen un deflector extremo, por lo que pueden instalar tarjetas más largas que el conector. Esto no proporciona energía ni tierra a la parte que sobresale de la tarjeta, lo que puede ocasionar varios problemas.
PCI Express envía toda la información de control, incluidas las interrupciones , a través de las mismas líneas que se utilizan para transferir datos. El protocolo serial nunca se puede bloquear, por lo que las latencias del bus PCI Express son bastante comparables a las del bus PCI (tenga en cuenta que el bus PCI usa líneas físicas separadas para señalar una solicitud de interrupción IRQ#A , IRQ#B , IRQ#C , IRQ#D ).
En todos los protocolos seriales de alta velocidad (como gigabit ethernet ), la información de temporización debe estar integrada en la señal transmitida. En la capa física, PCI Express utiliza el método de codificación de enlace 8b/10b (8 bits en diez, 20 % de redundancia) [1] [2] para eliminar la CC de la señal transmitida e incorporar información de tiempo en el flujo de datos. A partir de PCI Express 3.0, se utiliza una codificación 128b/130b más económica con una redundancia del 1,5 %.
Algunos protocolos (como SONET / SDH ) utilizan una técnica llamada codificación para incrustar información de tiempo en el flujo de datos y difuminar el espectro de la señal transmitida. La especificación PCI Express también proporciona una función de codificación, pero la codificación de PCI Express difiere de la de SONET .
PCIe es un protocolo dúplex completo [5] . Es decir, los flujos de recepción y transmisión tienen canales independientes y las mismas velocidades máximas. La velocidad de los buses informáticos suele expresarse en gigatransacciones por segundo . Para 1 transacción, se transmite una palabra de código. Para calcular el rendimiento de 1 línea de bus, es necesario tener en cuenta la codificación 8b / 10b ( codificación ing. 8b / 10b ) [1] [2] (para PCI-E 3.0 y superior - 128b / 130b ( codificación ing. codificación 128b / 130b ). Por ejemplo, el ancho de banda del carril PCIe 1.0 es:
2,5 GT/s 8/10 bit/T = 2 Gb/s = 0,25 GB/sA pesar de que el estándar permite 32 líneas por puerto, estas soluciones son físicamente engorrosas para la implementación directa y solo están disponibles en conectores propietarios.
Año de lanzamiento |
Versión PCI Express |
Codificación | Tasa de transmisión de una sola línea |
Ancho de banda por x líneas | ||||
---|---|---|---|---|---|---|---|---|
x1 | x2 | x4 | x8 | x16 | ||||
2002 | 1.0 | 8b/10b | 2,5 GT/s | 256 MB/s = 0,25 GB/s | 0,50 GB/s | 1,0 GB/segundo | 2,0 GB/s | 4,0 GB/s |
2007 | 2.0 | 8b/10b | 5 GT/s | 512 MB/s = 0,5 GB/s | 1,0 GB/segundo | 2,0 GB/s | 4,0 GB/s | 8,0 GB/s |
2010 | 3.0 | 128b/130b | 8 GT/s | 1008,246 MB/s = 0,985 GB/s | 1969 GB/s | 3.938 GB/s | 7.877 GB/s | 15,754 GB/s (126 GB/s) |
2017 | 4.0 | 128b/130b | 16 GT/s | 1969 GB/s | 3.938 GB/s | 7.877 GB/s | 15.754GB/s | 31,508 GB/s (252 GB/s) |
2019 | 5.0 | 128b/130b | 32 GT/s | 3.938 GB/s | 7.877 GB/s | 15.754GB/s | 31.508GB/s | 64.008 GB/s (512 GB/s) |
2022 | 6.0 | 242B/256B, PAM-4 , FEC , VUELO | 64 GT/s | 7.563 GB/s | 15,125 GB/s | 30.250 GB/s | 60.500 GB/s | 121.000 GB/s (968 GB/s) |
Además de PCI Express, hay varias interfaces seriales estandarizadas de alta velocidad, algunas de las cuales son HyperTransport , InfiniBand , RapidIO y StarFabric . Cada interfaz tiene sus adherentes entre las empresas industriales, ya que las especificaciones del protocolo ya han gastado cantidades significativas de dinero, y cada consorcio busca enfatizar las ventajas de su interfaz particular sobre otras.
Una interfaz de alta velocidad estandarizada, por un lado, debe ser flexible y extensible y, por otro lado, debe proporcionar una latencia baja y una sobrecarga baja (es decir, la sobrecarga del paquete no debe ser grande). En esencia, las diferencias entre las interfaces radican precisamente en el compromiso elegido por los desarrolladores de una interfaz particular entre estos dos requisitos en conflicto.
Por ejemplo, la información de enrutamiento adicional en un paquete permite organizar un enrutamiento de paquetes complejo y flexible, pero aumenta la sobrecarga para el procesamiento de paquetes, también reduce el ancho de banda de la interfaz y complica el software que inicializa y configura los dispositivos conectados a la interfaz. Si es necesario proporcionar dispositivos de conexión en caliente, se necesita un software especial que realice un seguimiento de los cambios en la topología de la red. Ejemplos de interfaces adaptadas para esto son RapidIO, InfiniBand y StarFabric.
Al mismo tiempo, al acortar los paquetes, es posible reducir el retraso en la transferencia de datos, que es un requisito importante para una interfaz de memoria. Pero el pequeño tamaño de los paquetes conduce al hecho de que aumenta la proporción de campos de sobrecarga del paquete, lo que reduce el rendimiento efectivo de la interfaz. Un ejemplo de este tipo de interfaz es HyperTransport.
La posición de PCI Express se encuentra entre los enfoques descritos, ya que el bus PCI Express está diseñado para funcionar como un bus local, en lugar de un bus de memoria de procesador o una red enrutada compleja. Además, PCI Express se concibió originalmente como un bus lógicamente compatible con el bus PCI, que también introdujo sus propias limitaciones.
También existen buses especializados para conectar chipsets (entre northbridge y southbridge ), basados en el protocolo físico PCI Express (normalmente x4), pero con otros protocolos lógicos. Por ejemplo, las plataformas Intel usan el bus DMI , mientras que los sistemas AMD con el chipset AMD Fusion usan el bus UMI [6] .
El PCI-SIG lanzó la especificación PCI Express 2.0 el 15 de enero de 2007 . Principales novedades en PCI Express 2.0:
PCI Express 2.0 es totalmente compatible con PCI Express 1.1 (las tarjetas gráficas antiguas funcionarán en placas base con conectores nuevos, pero solo a 2,5 GT/s, ya que los conjuntos de chips más antiguos no admiten velocidades de transferencia de datos dobles; las tarjetas gráficas más nuevas funcionarán sin problemas en las tarjetas antiguas). ranuras estándar PCI Express 1.x).
Especificación del cable PCIe externoEl 7 de febrero de 2007, PCI-SIG publicó la especificación de cableado externo PCIe. La nueva especificación permite cables de hasta 10 metros de longitud, operando con un ancho de banda de 2,5 GT/s.
En cuanto a las características físicas (velocidad, conector) corresponde a la 2.0, la parte software tiene funciones añadidas que se planea implementar en su totalidad en la versión 3.0. Dado que la mayoría de las placas base se venden con la versión 2.0, tener solo una tarjeta de video con 2.1 no permite habilitar el modo 2.1.
En noviembre de 2010 [7] , se aprobaron las especificaciones para la versión PCI Express 3.0. La interfaz tiene una tasa de transferencia de datos de 8 GT/s ( Gigatransactions/s ). Pero a pesar de esto, su rendimiento real aún se duplicó en comparación con el estándar PCI Express 2.0. Esto se logró gracias al esquema de codificación 128b/130b más agresivo, donde 128 bits de datos enviados por el bus se codifican en 130 bits. Al mismo tiempo, se ha conservado la compatibilidad total con versiones anteriores de PCI Express. Las tarjetas PCI Express 1.x y 2.x funcionarán en la ranura 3.0 y, por el contrario, una tarjeta PCI Express 3.0 funcionará en las ranuras 1.x y 2.x (aunque no podrá revelar todo su potencial de velocidad). Para 4 líneas, la tasa de transferencia de datos es de 4 GB / s, para 16 líneas, 16 GB / s [8] .
Según PCI-SIG, las primeras pruebas de PCI Express 3.0 comenzaron en 2011, las herramientas de prueba de compatibilidad para socios aparecieron solo a mediados de 2011 y los dispositivos reales solo en 2012.
El Grupo de Interés Especial de PCI (PCI SIG) afirmó que PCI Express 4.0 podría estandarizarse antes de finales de 2016 [9] , sin embargo, a mediados de 2016, cuando ya se estaban preparando varios chips para su fabricación, los medios informaron que la estandarización se esperaba para principios de 2017 [10] . Se esperaba que tuviera un rendimiento de 16 GT/s, lo que significa que sería el doble de rápido que PCIe 3.0 [11] [12] . Posteriormente, las fechas de estandarización se pospusieron y la especificación se publicó recién el 5 de octubre de 2017 [13] . En comparación con la especificación PCI Express 3.0, la velocidad máxima de transferencia de datos en el bus PCI Express se ha duplicado de 8 a 16 GT/s. Además, se ha reducido la latencia, se ha mejorado la escalabilidad y el soporte de virtualización [14] . Para 4 líneas, la tasa de transferencia de datos es de 8 GB/s, para 16 líneas, 32 GB/s [8] .
El 7 de noviembre de 2018, AMD anunció planes para lanzar la primera GPU compatible con PCI Express 4.0 x16 en el cuarto trimestre de 2018 [15] . El 27 de mayo de 2019, la compañía Gigabyte anunció el lanzamiento de placas base de la serie X570 Aorus. Según el fabricante, estas placas "abren la era de PCIe 4.0" [16] .
En mayo de 2019 apareció la especificación final del estándar PCI Express 5.0 [8] . La velocidad de transferencia de datos en el bus PCI Express fue de 32 GT/s. Se espera que tal velocidad tenga un impacto positivo en los proyectos relacionados con la realidad virtual [17] . Para 4 líneas, la tasa de transferencia de datos es de 16 GB / s, para 16 líneas, 64 GB / s [8] .
La especificación final del estándar PCI Express 6.0 está programada para publicarse en 2022. La velocidad de transferencia de datos prevista será de 32 GB/s para 4 líneas y de 128 GB/s para 16 líneas [18] [19] .
Buses e interfaces de computadora | |
---|---|
Conceptos básicos | |
Procesadores | |
Interno | |
portátiles | |
Unidades | |
Periferia | |
Gestión de equipos | |
Universal | |
Interfaces de vídeo | |
Sistemas embebidos |