Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Tecnología del PC

[Home]  [Inicio]  [Índice]


6.4  Interfaz PCI

§1  Antecedentes

En 1992, la compañía Intel lideró la creación de un grupo que integraba fabricantes de hardware para la industrial del PC, el PCI SIG (PCI Special Interest Group ).  El objetivo era buscar alternativas al bus VESA ( H2.2), preconizado por la Video Electronic Standar Association, muy de moda en aquellos años, pero que presentaba deficiencias.  Las primeras realizaciones prácticas (placas con bus PCI) aparecieron en 1993 con el lanzamiento de los primeros chipset de Intel para procesadores Pentium.

§2  La interfaz PCI

PCI ("Peripheral Component Interconnect") es básicamente una especificación para la interconexión de componentes en ordenadores.  Ha dado lugar a un bus PCI, denominado también Mezzanine, en español entresuelo [1],  porque funciona como una especie de nivel añadido al bus ISA/EISA tradicional de la placa-base.  Es un bus de 32 bits que funciona a 5 V, 33 MHz, con una velocidad de transferencia inicial de 133 Mb/s (Megabits por segundo).

Aunque seguiremos llamándolo "bus PCI", en realidad no es un bus local;  por contra, ocupa un lugar intermedio (de ahí el nombre mezzanine) entre el bus del procesador / memoria / cache y el bus estándar ISA.  El bus PCI se encuentra separado del bus local mediante un controlador que hace de pasarela.  Cuando la UCP escribe datos en los periféricos PCI (por ejemplo un disco duro), el controlador/pasarela PCI los almacena en su buffer.  Esto permite que la UCP atienda la próxima operación en vez de tener que esperar a que se complete la transacción.  A continuación el buffer envía los datos al periférico de la forma más eficiente posible.

Nota:  Los usuarios de Linux pueden inspeccionar los dispositivos conectados a esta interfaz mediante distintas utilidades  ( 6.4W1)

La especificación permite diversas opciones que pueden darse en cualquier combinación:

  • Extensiones de bus de 64 bits con una velocidad de transferencia de 266 Mb/s
  • Extensiones para funcionar a 66 MHz, doblando así la velocidad inicial básica (de 32 bits 33 MHz).
  • Operación a 3.3 Voltios mediante un conector físicamente distinto.
  • Conector miniatura SmallPCI para portátiles y equipos de dimensiones reducidas.
  • Posibilidad de compartir una IRQ entre distintos dispositivos PCI .  Los dispositivos PCI pueden compartir una o varias líneas IRQ entre todos ellos (algo que no puede hacerse con los dispositivos ISA).  Esta característica ha permitido aliviar uno de los problemas crónicos que arrastraba la arquitectura PC desde sus orígenes; la escasez de líneas de interrupción.

El bus PCI contiene un bus de alimentación, con las líneas +5, +3.3 +12 y -12 V.; un bus de direcciones (multiplexado);  un bus de datos y un bus de control que incluye cuatro líneas de interrupciones, una de presencia de tarjeta, y líneas de control y test.

El bus PCI no soporta DMA en el sentido tradicional del IBM PC, aunque dispone de análoga funcionalidad mediante bus mastering ( 2.3).

Ha sido diseñado pensando en sistemas de máximas prestaciones, e incluye todas las funcionalidades y características de los diseños más modernos (soporte para multiprocesador, transferencia a ráfagas -burst mode-, Etc.)  Presenta características que no eran usuales en los sistemas de bus anteriores, por ejemplo:

  • Configuración por software (sin jumpers):  PCI se creó pensando en el estándar PnP ("Plug and Play"), por lo que los dispositivos PCI pueden ser configurados exclusivamente mediante software (aunque algunos fabricantes rompen la norma).  Cada dispositivo PCI debe estar diseñado para solicitar de forma inequívoca los recursos que necesita (Zona de memoria mapeada, direcciones E/S, canales DMA,  Interrupciones, Etc.)
  • Identificación:  Los dispositivos PCI deben identificarse a sí mismos, señalando su fabricante, modelo, número de serie y código de clase [2].  Los códigos de fabricante son administrados por una autoridad central, el PCI SIG .  El código de clase proporciona un método de identificación, de modo que el controlador genérico del SO disponga de cierta información básica sobre el dispositivo PCI conectado, e incluso, en ausencia de un controlador específico, proporcionar algún control básico del dispositivo.

    Nota
    :  El  Linux PCI ID's Proyect pciids.sf.net, mantiene un repositorio con los identificadores PCI (fabricantes, dispositivos, clases y subclases).  Si es usuario de Linux, probablemente disponga en su propio equipo de un fichero con esta información en /usr/share/pci.ids.
  • Diseño flexible:  En cualquier momento pueden añadirse nuevos códigos de fabricante o de clase.  De hecho, la especificación ya ha realizado muchas mejoras y extensiones.  Por ejemplo, el bus AGP ("Advanced Graphics Port" H2.2)) es una extensión reciente de la especificación PCI; también el conector SmallPCI, el soporte para 64bits y las versiones de 3.3 V.
  • Independencia:  PCI no está ligada a ninguna plataforma particular;  puede ser implementada virtualmente en cualquiera, además de la conocida arquitectura IBM-PC/x86.  De hecho, ha sido adoptado por muchos fabricantes de otras arquitecturas, por ejemplo Apple y SUN.
§3  Estándares PCI

En realidad PCI no es un estándar aprobado oficialmente por las autoridades de estandarización, sino una especificación de la industria (del PCI SIG).  La versión 1.0 de la especificación fue publicada en 1992; la versión 2.0 fue publicada en 1993, y la versión 2.1 apareció en 1995.

§4  Zócalos PCI:

Los conectores blancos de la figura son zócalos PCI estándar (5 V. 33 MHz y 32 bits), presentes en la mayoría de los PCs de hoy (2002).  Los de 3.3 V tienen la ranura de polarización en la mitad inicial (donde está la línea 1) en vez de al final.

Los conectores PCI de 64 bits se han construido añadiendo un segundo zócalo a continuación del estándar (de 32 bits).  La separación entre ambos funciona como una segunda llave de polarización; el conjunto presenta un 50% más de longitud que el de 32 bits; esta extensión funciona siempre a 3.3 voltios.  En la figura se muestra como un añadido de color marrón bajo el conector PCI estándar (blanco), junto a un zócalo ISA.

Algunas placas-base etiquetan el conector PCI de 64 bits como "Media connector".

§5  Instalación

Las tarjetas PCI tienen los componentes montados en el lado contrario que las tarjetas ISA normales.

Viendo la tarjeta desde la parte posterior del equipo, y suponiendo la placa en posición horizontal, con los conectores hacia la izquierda, las tarjetas ISA tienen los componentes montados en la cara superior (la cara inferior sería de soldaduras).  Por contra, la tarjeta PCI tendría los componentes en la cara inferior, siendo la superior la de soldaduras.

Nota:  En esta posición, los pines más próximos al espectador son los de numeración más baja.

Otra característica es que los zócalos PCI están separados de la parte posterior de la placa-base aproximadamente una pulgada (2.5 cm), mientras que los zócalos ISA están prácticamente en el borde.

Es corriente que en las placas con bus PCI, los conectores para disco (IDE) estén situados directamente en la placa-base.  Aunque los discos no se conecten físicamente en un zócalo PCI, estos conectores son parte del bus PCI.

§6  Comparación de los tipos de bus
 

ISA

EISA

VESA

PCI

Bus de datos

8/16

32

32/64

32/64

Velocidad del bus de datos (MHz)

5.33/8.33

8.33

33/50

33

Velocidad de transferencia (MB/s)

5.33/8.33

33

132/264

132/264

Velocidades de transferencia implementadas (MB/s)

5.33/8.33

33

132

132

Número de Slots

0-8

0-8

0-2

0-4

Soporte de Bus Master

No

Si

Si

Si

Paridad para direcciones y datos

No

No

No

Si

Sync, Channel Checks

No

No

No

Si

Identificación de dispositivo & Auto configuración

No

Si

Si

Si

Trabaja con ISA/EISA

N/A

N/A

Si

Si

§7  Webografía

Esta organización es la que ha desarrollado la especificación, por lo que es la fuente oficial de información, en especial en lo que respecta a la especificación (algunos servicios son de pago).

Con gran cantidad de enlaces relativos al bus PCI

Es una publicación periódica (cinco números anuales) dedicada exclusivamente al mundo de la tecnología PCI.  Contiene un buscador para localizar artículos publicados.

Gran cantidad de información técnica sobre los buses PCI y AGP 

 

  Inicio.


[1]  En relación con una planta que está a media altura entre el nivel de suelo y la primera planta de pisos de un edificio.

[2]  Puesto que es casi seguro que su equipo disponga de un bus PCI y que la unidad de disco también lo sea (2005), como ejercicio, puede utilizar el programa TBLCHK ( 6.1) para comprobar la cantidad de datos sobre sí mismo que puede proporcionar un dispositivo IDE cuando es interrogado.  Como de costumbre, si dispone de un sistema Linux, tiene las cosas más fáciles. Para esta comprobación puede utilizar la utilidad lspci ya comentada .