# Peripheral Component Interconnect

En informática, Peripheral Component Interconnect o PCI (en español: Interconexión de Componentes Periféricos), es un bus estándar de computadoras para conectar dispositivos periféricos directamente a la placa base. Estos dispositivos pueden ser circuitos integrados ajustados en esta (los llamados dispositivos planares en la especificación PCI) o tarjetas de expansión que se ajustan en conectores. Es común en computadoras personales, donde ha desplazado al ISA como bus estándar, pero también se emplea en otro tipo de computadoras.
A diferencia de los buses ISA, el bus PCI permite configuración dinámica de un dispositivo periférico. En el tiempo de arranque del sistema, las tarjetas PCI y el BIOS interactúan y negocian los recursos solicitados por la tarjeta PCI. Esto permite asignación de las IRQ y direcciones del puerto por medio de un proceso dinámico diferente del bus ISA, donde las IRQ tienen que ser configuradas manualmente usando jumpers externos. Las últimas revisiones de ISA y el bus MCA de IBM ya incorporaron tecnologías que automatizaban todo el proceso de configuración de las tarjetas, pero el bus PCI demostró una mayor eficacia en tecnología plug and play. Aparte de esto, el bus PCI proporciona una descripción detallada de todos los dispositivos PCI conectados a través del espacio de configuración PCI.
La especificación PCI cubre el tamaño físico del bus, características eléctricas, cronómetro del bus y sus protocolos. El “Grupo de Interés Especial de PCI” (PCI Special Interest Group) comercializa copias de la especificación.

## Reseña histórica

El PCI 1.0 fue lanzado el 22 de junio de 1992, y era solamente una especificación a nivel de componentes.
El PCI 2.1 se lanzó al mercado el 1 de junio de 1995.
PCI fue inmediatamente puesto al uso de los servidores, reemplazando a los buses MCA y EISA como opción al bus de expansión. En PC fue más lento en reemplazar al VESA Local Bus y no ganó la suficiente penetración en el mercado hasta después de 1994 con la segunda generación de los Pentium. Para 1996 el VESA se extinguió y las compañías reemplazaron hasta en las computadoras 80486. Apple adoptó el PCI para el Power Macintosh (reemplazando al NuBus) a mediados de 1995 y el Performa (reemplazando a LC PDS) a mediados de 1996.
Las nuevas versiones PCI añadieron características y mejoras en el rendimiento, incluyendo un estándar a 66MHz y 3,3V y otro de 133MHz: llamados PCI-X. Ambos PCI-X 1.0b y PCI-X 2.0 son compatibles con sus predecesores. Con la introducción de la versión serial PCI Express en el 2004, los fabricantes de placas base van incluyendo cada vez menos ranuras PCI a favor del nuevo estándar.

## Autoconfiguración

El PCI tiene dos espacios de dirección separados de 32-bit y 64-bit, correspondientes a la memoria y puerto de dirección de entrada/salida de la familia de procesadores de X86. El direccionamiento es asignado por el software. Un tercer espacio de dirección llamado “Espacio de Configuración PCI” (PCI Configuration Space), el cual utiliza un esquema de direccionamiento corregido que permite al software determinar la cantidad de memoria y espacio de direcciones entrada/salida necesario por cada dispositivo. Cada dispositivo que se conecta puede solicitar hasta seis áreas de espacio de memoria o espacios de puerto entrada/salida a través de su registro de espacio de configuración.
En el típico sistema el firmware (o sistema operativo) consulta todos los PCI al inicio (vía espacio configuración PCI) para averiguar que dispositivos están presentes y qué recursos, diciendo a cada dispositivo cuál es su alojamiento. El espacio de configuración de PCI también contiene una pequeña cantidad de información de cada dispositivo el cual, ayuda al sistema operativo a elegir sus drivers, o al menos tener un diálogo acerca de la configuración del sistema.
Los dispositivos pueden tener una ROM que contiene códigos ejecutables para los x86 o procesadores PA-RISC, un driver Open Firmware o un controlador EFI. Estos son normalmente necesarios para dispositivos usados durante el inicio del sistema, antes de que sus controladores sean cargados por el sistema operativo.
Además están los PCI Latency Timers, que son mecanismos para que los dispositivo PCI Bus-mastering compartan el bus PCI de manera más justa. Donde ‘justa’ en este caso significa que los dispositivos no usarán una porción tan grande del ancho de banda del bus PCI disponible tal que otros dispositivos no sean capaces de realizar su trabajo. Esto no aplica a PCI-Express.
El modo de funcionamiento de esto es porque cada dispositivo PCI puede operar en modo "maestro de buses" que es requerido para implementar un reloj, llamado reloj de latencia que limita el tiempo que cada dispositivo puede ocupar el bus PCI. Cuando el contador alcanza el 0 el dispositivo es solicitado para abandonar el bus. Si no hay ningún otro dispositivo esperando la propiedad del bus puede simplemente volver a obtenerlo y transferir más datos.

## Especificaciones de hardware

Las siguientes especificaciones representan a la versión de PCI usada más comúnmente en las PC:
* Reloj de 33,33 MHz con transferencias síncronas.
* Ancho de bus de 32 bits o 64 bits.
* Tasa de transferencia máxima de 133 MB por segundo en el bus de 32 bits (33,33 MHz × 32 bits ÷ 8 bits/byte = 133 MB/s).
* Tasa de transferencia máxima de 266 MB/s en el bus de 64 bits.
* Espacio de dirección de 32 bits (4 GB).
* Espacio de puertos I/O de 32 bits (actualmente obsoleto).
* 256 bytes de espacio de configuración.
* 3,3 V o 5 V, dependiendo del dispositivo.
* Reflected-wave switching.

## Variantes convencionales de PCI

* Cardbus es un formato PCMCIA de 32 bits y 33 MHz PCI.
* Compact PCI utiliza módulos de tamaño Eurocard conectado en una placa hija PCI.
* PCI 2.2 funciona a 66 MHz (requiere 3,3 voltios en las señales), con índice de transferencia máximo de 503 MiB/s (533MB/s).
* PCI 2.3 permite el uso de 3,3 voltios y señalizador universal, pero no soporta los 5 voltios en las tarjetas.
* PCI 3.0 es el estándar final oficial del bus, con el soporte de 5 voltios completamente quitado.
* PCI-X cambia el protocolo levemente y aumenta la transferencia de datos a 133 MHz (índice de transferencia máximo de 1014 MiB/s).
* PCI-X 2.0 tiene un ratio de 266 MHz (índice de transferencia máximo de 2035 MiB/s) y también de 533 MHz, expande el espacio de configuración a 4096 bytes, añade una variante de bus de 16 bits y utiliza señales de 1,5 voltios.
* Mini PCI es un nuevo formato de PCI 2.2 para utilizarlo internamente en las computadoras portátiles.
* PC104/Plus es un bus industrial que utiliza las señales PCI con diferentes conectores.
* Advanced Telecommunications Computing Architecture (ATCA o AdvancedTCA) es la siguiente generación de buses para la industria de las telecomunicaciones.
* PXI es la extensión del bus PCI para instrumentación y control.

## Dimensiones de las tarjetas
### Tarjeta de tamaño completo

La tarjeta original PCI de “tamaño completo” tiene un grosor de unos 107 mm (4.2 pulgadas) y una largo de 312 mm (12.283 pulgadas). La altura incluye el conector de borde de tarjeta. Sin embargo, las tarjetas PCI más modernas son de medio cuerpo o más pequeñas (mirar debajo) y a muchos ordenadores personales no se les pueden encajar una tarjeta de tamaño completo.

### Tarjeta backplate

Además de estas dimensiones el tamaño del backplate está también estandarizado. El backplate es la pieza de metal situada en el borde que se utiliza para fijarla al chasis y contiene los conectores externos. La tarjeta puede ser de un tamaño menor, pero el backplate debe ser de tamaño completo y localizado propiamente. Respecto del anterior bus ISA, está situado en el lado opuesto de la placa para evitar errores.

### Tarjeta de extensión de medio cuerpo (estándar de facto)

Esto es de hecho el estándar práctico en la actualidad - la mayoría de las tarjetas modernas PCI son aptas dentro de estas dimensiones:
* Anchura: 0,6 pulgadas (15,24 mm)
* Profundidad: 6,9 pulgadas (175,26 mm)
* Altura: 4,2 pulgadas (106,68 mm)

### Tarjeta de perfil bajo (altura media)

La organización PCI ha definido un estándar para tarjetas de perfil bajo que es básicamente apto en las gamas siguientes:
* Altura: 1,42 pulgadas (36,07 mm) a 2,536 pulgadas (64,41 mm)
* Profundidad: 4,721 pulgadas (119,91 mm) a 6,6 pulgadas (167,64 mm)
El anaquel también es reducido en altura a un estándar de 3,118 pulgadas (79,2 mm). El anaquel más pequeño no encaja en un ordenador personal estándar. Muchos fabricantes solucionan esto suministrando ambos tipos de anaquel (los anaqueles típicamente son atornillados a la tarjeta entonces el cambio de ellos no es difícil).
Estas tarjetas pueden ser conocidas por otros nombres como delgado.

### Mini PCI

Mini PCI fue añadida a la versión 2.2 PCI para el empleo en ordenadores portátiles y usa un bus de 32 bits, de 33 MHz con conexiones alimentadas (3,3 V solo) y soporte de bus mastering y DMA. El tamaño estándar para tarjetas Mini PCI es aproximadamente 1/4 de sus similares de tamaño completo. Como no hay ningún acceso externo a la tarjeta de la misma manera que hay para las tarjetas PCI de sobremesa, hay limitaciones en las funciones que p PCI han sido desarrollados, tales como Wi-Fi, Ethernet Rápida, Bluetooth, módems (a menudo Winmodems), tarjetas de sonido, aceleradores criptográficos, controladores SCSI, IDE/ATA, SATA, tarjetas de combinación. Las tarjetas regulares PCI pueden ser usadas con el hardware Mini PCI-equipado y viceversa, usando de-Mini PCI a PCI y de PCI-a los-Mini PCI convertidores. Mini PCI ha sido reemplazado por PCI Express Mini Card.

#### Detalles técnicos de tarjetas Mini PCI

Las tarjetas Mini PCI tienen un consumo máximo de 2W, que también limita la funcionalidad que puede ser puesta en práctica en este factor de forma. Requieren que ellos también soporten la señal PCI CLKRUN#, empleada para arrancar y detener el reloj PCI por motivos de control de energía.
Hay tres factores de forma de tarjeta: Tipo I, Tipo II, y Tipo III. El conector de tarjeta usado para cada tipo incluye: El tipo I y II usan un conector de colocación de 100 pines, mientras el Tipo III emplea un conector de borde de 124 pines, p. ej: el conector para Tipo I y II se diferencian por esto del Tipo III, donde el conector está sobre el borde de una tarjeta, como con un SO-DIMM. Los 24 pines adicionales proporcionan las señales suplementarias requeridas a la ruta de entrada salida por atrás del sistema conector (audio, el eslabón de corriente alterna, el LAN, la interfaz de línea telefónica). El tipo II de tarjetas tienen montados los conectores RJ11 Y RJ45. Estas tarjetas deben ser localizadas en el borde del ordenador o la estación que se atraca de modo que el RJ11 y puertos RJ45 puedan ser montados para el acceso externo.

#### Otras variaciones físicas

Los típicos sistemas de consumidores específica "ranuras N x PCI " sin especificar las dimensiones reales del espacio disponible. En algunos pequeños sistemas de factor de forma, esto no es suficiente aún para que las tarjetas PCI "de medio cuerpo" entren en dicha ranura. A pesar de esta limitación, estos sistemas son todavía útiles porque muchas tarjetas PCI modernas son bastante más pequeñas que las de medio cuerpo.

#### Tarjeta de banco

Las típicas tarjetas PCI presentan una o dos muescas claves, según su voltaje señalado. Las tarjetas que requieren 3.3 voltios tienen una muesca de 56.21mm al frente de la tarjeta (donde están los conectores externos), mientras aquellos requieren 5 voltios tienen una de muesca 104.47mm del frente de la tarjeta. Las llamadas " tarjetas Universales " tienen ambas muescas claves y pueden aceptar los dos tipos de señales.