PCI | |
---|---|
Historia | |
Desarrollador | Intel |
Desarrollado | 1992 |
expulsado | Arquitectura ISA y Microcanal |
Desplazado | PCI-Express |
Archivos multimedia en Wikimedia Commons |
PCI ( eng. Interconexión de componentes periféricos "interconexión de componentes periféricos") es un bus de entrada-salida para conectar dispositivos periféricos a la placa base de una computadora .
El estándar de bus PCI define:
El Estándar PCI está siendo desarrollado por el Grupo de Interés Especial PCI .
La interfaz fue ampliamente utilizada en computadoras de consumo en el período 1995-2005 [1] [2] . Luego fue reemplazado por el nuevo estándar PCI Express , parcialmente compatible con PCI en términos del modelo de software y, para varias aplicaciones, varias variantes del bus USB .
En la primavera de 1991, Intel completó el desarrollo de la primera versión de tablero del bus PCI. Los ingenieros recibieron la tarea de desarrollar una solución de bajo costo y alto rendimiento que permitiera aprovechar las capacidades de los procesadores 486 , Pentium y Pentium Pro . Además, fue necesario tener en cuenta los errores cometidos por VESA al diseñar el bus VLB (la carga eléctrica no permitía conectar más de 3 tarjetas de expansión), así como implementar la autoconfiguración de dispositivos siguiendo el ejemplo del protocolo Autoconfig . para ordenadores Amiga . También se tomaron en cuenta los errores de marketing de la MCA , lo que llevó a la confrontación de la “pandilla de los nueve” con la EISA .
En junio de 1992, aparece la primera versión del bus PCI, Intel anuncia que el estándar de bus estará abierto y crea el Grupo de Interés Especial PCI. Gracias a esto, cualquier desarrollador interesado tiene la oportunidad de crear dispositivos para el bus PCI sin necesidad de adquirir una licencia. La primera versión del bus tenía una velocidad de reloj de 33 MHz, podía ser de 32 o 64 bits y los dispositivos podían funcionar con señales de 5 V o 3,3 V. En teoría, el rendimiento del bus era de 133 MB/s, pero en realidad el rendimiento fue de aproximadamente 90 MB/s El único conjunto de chips compatible con el bus PCI 1.0 fue el 420TX de Intel (nombre en clave Saturn), lanzado en noviembre de 1992.
A mediados de 1993, Intel abandonó la asociación VESA y comenzó a tomar medidas activas para promover el bus PCI en el mercado. PCI 2.0 fue una respuesta a las críticas de especialistas de las conferencias de Usenet y empresas competidoras (las características del bus eran muy similares, por ejemplo, Zorro III , se publicaron artículos sobre el diseño erróneo del bus) se convirtió en PCI 2.0.
En 1995, apareció la versión PCI 2.1 (otro nombre es el "bus PCI paralelo"), que proporcionaba transferencia de datos a través del bus a una frecuencia de 66 MHz y una tasa de transferencia máxima de 533 MB/s (para una versión de 64 bits). con una frecuencia de 66 MHz). Además, este bus ya ha sido soportado al nivel de Windows 95 ( tecnología Plug and Play ). La versión de bus PCI 2.1 demostró ser tan popular que pronto se trasladó a plataformas con Alpha , MIPS , PowerPC , SPARC y otros procesadores.
En 1997 , en relación con el desarrollo de gráficos por computadora y el desarrollo del bus AGP , el bus PCI dejó de cumplir con los nuevos y mayores requisitos para tarjetas de video y ya no se usó para instalar tarjetas de video.
A finales de la década de 2000 [2] y principios de la de 2010, la interfaz PCI fue reemplazada gradualmente por las interfaces PCI Express y USB . En las placas base de consumo, la cantidad de ranuras PCI [3] ha disminuido , no se instalan más de 1-2, en lugar de 3-4 o más, que se usaban a principios de la década de 2000 [4] . En algunas placas base (especialmente los factores de forma mATX compactos, etc.) no se instala ningún conector PCI [3] [4] .
Inicialmente 32 conductores de direcciones/datos a 33 MHz. Aparecieron versiones posteriores con 64 conductores (se utiliza un bloque conector adicional) y una frecuencia de 66 MHz.
El bus está descentralizado, no hay un dispositivo maestro, cualquier dispositivo puede iniciar una transacción. El arbitraje con una lógica de árbitro independiente se utiliza para seleccionar el iniciador . El arbitraje está "oculto", no toma tiempo: la elección de un nuevo iniciador ocurre durante la transacción realizada por el iniciador anterior.
Una transacción consta de 1 o 2 ciclos de direcciones (se utilizan 2 ciclos de direcciones para transferir direcciones de 64 bits, no son compatibles con todos los dispositivos, admiten DMA en una memoria de más de 4 GB) y uno o más ciclos de datos. Una transacción con muchos ciclos de datos se denomina "ráfaga", se entiende como la lectura/escritura de direcciones consecutivas y proporciona mayor velocidad: un ciclo de dirección para varios, y no para cada ciclo de datos, y sin tiempo de inactividad (para "calmar" a los conductores). ) entre transacciones.
Se utilizan tipos de transacciones especiales para acceder al espacio de configuración de un dispositivo.
Una transacción "por lotes" puede ser suspendida temporalmente por ambos dispositivos debido a la falta de datos en el búfer o su desbordamiento.
Se admiten transacciones "divididas", en las que el dispositivo de destino responde con un estado "en curso" y el iniciador debe liberar el bus para otros dispositivos, recuperarlo nuevamente mediante arbitraje y volver a intentar la transacción. Esto se hace hasta que el dispositivo de destino responde con "hecho". Se utiliza para interconectar buses con diferentes velocidades (el propio PCI y el bus frontal de la CPU ) y para evitar interbloqueos en un escenario de puente de bus múltiple.
Amplio soporte para puentes de barras colectoras. Soporte enriquecido para modos de almacenamiento en caché como:
Las interrupciones se admiten como interrupciones señalizadas por mensaje (nuevas) o de la manera clásica mediante cables INTA-D#. Los conductores de interrupción funcionan independientemente del resto del bus, es posible compartir un conductor con muchos dispositivos.
Los dispositivos PCI son plug and play desde el punto de vista del usuario . Una vez que se inicia la computadora, el software del sistema examina el espacio de configuración PCI de cada dispositivo conectado al bus y asigna los recursos.
Cada dispositivo puede solicitar hasta seis rangos en el espacio de direcciones de memoria PCI o en el espacio de direcciones de E/S PCI.
Además, los dispositivos pueden tener una ROM que contenga código ejecutable para procesadores x86 o PA-RISC , Open Firmware (software de sistema para computadoras basadas en SPARC y PowerPC ) o un controlador EFI .
Las interrupciones también son configuradas por el software del sistema (a diferencia del bus ISA , donde las interrupciones fueron configuradas por interruptores en la tarjeta). Una solicitud de interrupción en el bus PCI se transmite cambiando el nivel de la señal en una de las líneas IRQ , por lo que es posible que varios dispositivos funcionen con una línea de solicitud de interrupción; por lo general, el software del sistema intenta asignar una interrupción separada a cada dispositivo para aumentar el rendimiento.
La primera especificación fue aprobada en junio de 1992. El único conjunto de chips lanzado con soporte para esta versión del bus PCI es el Intel 420TX (Saturno). Las placas base para procesadores 486 basadas en este conjunto de chips se produjeron desde finales de 1992 hasta 1994 y no se utilizaron mucho. Admite tarjetas periféricas PCI 1.0 y 2.0 (las tarjetas PCI 2.1 introducidas en 1996 ya no son compatibles). El arbitraje está centralizado.
La primera versión del estándar básico, que fue ampliamente adoptada, usaba tanto tarjetas como ranuras con un voltaje de señal de solo 5 voltios. El rendimiento máximo es de 133 MB/s. Las placas base basadas en conjuntos de chips PCI 2.0 admiten tarjetas periféricas PCI 2.0 y 2.1 (las tarjetas PCI 2.2 introducidas en 1998 ya no son compatibles). El primer conjunto de chips compatible con esta especificación, el Intel 430LX (Mercury), apareció en 1993 y fue diseñado para placas base Socket 4 compatibles con los primeros procesadores Pentium, con frecuencias de 60 MHz y 66 MHz. El arbitraje está centralizado.
Se diferenciaron de la versión 2.0 en la posibilidad de operación simultánea de varios maestros de bus ( ing. bus-master , el llamado modo competitivo), así como en la aparición de tarjetas de expansión universales capaces de operar tanto en ranuras usando un voltaje de 5 voltios y en ranuras utilizando 3,3 voltios (con una frecuencia de 33 y 66 MHz, respectivamente). El rendimiento máximo para 33 MHz es de 133 MB/s y para 66 MHz es de 266 MB/s. El arbitraje está descentralizado.
Una extensión del estándar PCI central introducido en la versión 2.1 que duplica la cantidad de líneas de datos y, por lo tanto, el ancho de banda. La ranura PCI 64 es una versión extendida de la ranura PCI normal. Formalmente, la compatibilidad de tarjetas de 32 bits con ranuras de 64 bits (siempre que haya un voltaje de señal compatible común) es completa, mientras que la compatibilidad de una tarjeta de 64 bits con ranuras de 32 bits es limitada (en cualquier caso, habrá ser una pérdida de rendimiento). Opera a una frecuencia de reloj de 33 MHz. El rendimiento máximo es de 266 MB/s. El arbitraje está descentralizado.
PCI 66 es una evolución de 66 MHz de PCI 64; utiliza un voltaje de 3,3 voltios en la ranura; las tarjetas tienen un factor de forma universal o de 3,3 V. El rendimiento máximo es de 533 MB/s. El arbitraje está descentralizado.
La combinación de PCI 64 y PCI 66 permite cuatro veces la tasa de transferencia de datos en comparación con el estándar PCI base; utiliza ranuras de 3,3 voltios de 64 bits compatibles solo con las universales y tarjetas de expansión de 32 bits de 3,3 voltios. Las tarjetas PCI64/66 tienen un factor de forma universal (pero con compatibilidad limitada con las ranuras de 32 bits) o de 3,3 voltios (la última opción es fundamentalmente incompatible con las ranuras de 32 bits y 33 MHz de los estándares populares). Ancho de banda máximo: 533 MB / s. El arbitraje está descentralizado.
Desarrollo de la versión PCI 64. Para todas las opciones de bus, existen las siguientes restricciones en la cantidad de dispositivos conectados a cada bus: 66 MHz - 4, 100 MHz - 2, 133 MHz - 1 (o 2, si uno o ambos dispositivos no están en tarjetas de expansión, pero ya están integrados en la misma placa con el controlador), 266, 533 MHz y superior - 1.
Versión 1.0: introdujo dos nuevas frecuencias operativas: 100 y 133 MHz, así como un mecanismo de transacción separado para mejorar el rendimiento cuando varios dispositivos funcionan simultáneamente. Generalmente compatible con versiones anteriores de todas las tarjetas PCI universales y de 3,3 V. Las tarjetas generalmente se fabrican en formato de 64 bits a 3,3 V y tienen compatibilidad retroactiva limitada con ranuras PCI64/66, y algunas tarjetas tienen formato universal y pueden funcionar (aunque esto casi no tiene valor práctico) en PCI 2.2/2.3 normal. El rendimiento máximo es de 1024 MB/s.
Versión 2.0: se han introducido dos nuevas frecuencias operativas: 266 y 533 MHz, así como la corrección de errores de paridad durante la transmisión de datos ( ECC ). Expande el espacio de configuración PCI a 4096 bytes y permite dividir en 4 buses independientes de 16 bits, que se usa exclusivamente en sistemas integrados e industriales, el voltaje de la señal se reduce a 1,5 V, pero los conectores son compatibles con todas las tarjetas que usan voltaje de señal. 3, 3 V. Rendimiento máximo - 4096 MB / s. El arbitraje está descentralizado.
Factor de forma PCI 2.2, destinado a su uso principalmente en portátiles .
PCMCIA es un factor de forma para tarjetas de 32 bits, PCI de 33 MHz.
Se utilizan módulos de tamaño Eurocard incluidos en el backplane PCI .
Un bus industrial que utiliza el conjunto de señales PCI, pero con un conector diferente.
Un bus industrial que utiliza el conjunto de señales PCI-E.
PCI Mezzanine Card , un bus intermedio que cumple con el estándar IEEE P1386.1.
Bus de última generación para la industria de las telecomunicaciones basado en la interfaz PCI Express . [5] [6]
PCI Express (anteriormente conocida como 3GI0 y Arapaho) es una interfaz serial que usa el modelo de software PCI, pero tiene una capa física más poderosa (usando LVDS y nuevos conectores) [6] .
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 |