Que es el PCI Express

nanonroses

Nuevo Miembro
Miembro
#1
¿Qué es PCI Express?

Desde hace varias semanas tenemos en el mercado productos PCI Express, aunque esto se remite sólo a placas madre y tarjetas de video. Son totalmente incompatibles con nuestras tarjetas AGP y PCI estándar, lo que implica un gasto extra en el upgrade (aunque algúnas placas madre PCI Express tienen slots PCI estándar) y las mejores tarjetas de vídeo aparecen sólo en formato PCI E. Pareciera que nos están obligando a cambiarnos de plataforma.

Mejorando al alumno menos aventajado

Memorias DDR y DDR2, tarjetas ethernet Gigabit, discos duros de alto rendimiento, procesadores más rápidos, tarjetas de vídeo con poder de cálculo teórico mayor incluso que el de un procesador, placas sin controlador de memoria, x86-64 y direccionamientos de mas de 16 hexabytes de memoria, 130nm, 90nm, 65nm, Hypertransport, hyperthreading, Multi-core, virtualización etc... todos han mejorado en estos 10 años y el puerto PCI se mantiene igual. En algún momento tenía que cambiar.

¿Qué es PCI?

Una definición algo gruesa sería que PCI es el canal de datos en donde se conectan los dispositivos como tarjetas de red, discos duros, etc.

PCIExpress1-1.jpg

Cada dispositivo (una tarjeta de sonido, tarjeta de red, tarjeta de vídeo PCI, tarjeta usb, etc) transmite datos hacia el SouthBridge (o Host según la imagen que sacamos de por ahí) el cual lo reenvía al NorthBridge y finalmente éste lo envía al procesador. Como se puede apreciar en la figura, es un bus compartido lo que significa que sólo un dispositivo puede transmitir a la vez. Trabaja a una frecuencia de 33Mhz en un bus de 32 bits permitiendo transferir hasta 133MB/seg.

Un poco de historia

El PCI (Peripheral Component Interconnect), como lo conocemos hasta ahora, fue creado por Intel en el año 1991 el cual se volvió estándar después de una encarnizada pelea con el sistema de buses VLB (VESA Local Bus) el cual contaba con una interface mejorada con respecto al ISA antiguo, con una frecuencia de 33 mhz a 32bits.

La mayor gracia del VLB con respecto al PCI es que era una extensión del mismo bus de datos del procesador, por lo que los tiempos de acceso lo hacían un bus bastante rápido con una velocidad final igual a la del procesador y sin necesidad de hacer escalas. Pero esta misma virtud del VLB fue su propia perdición. Al estar sincronizado el procesador con los dispositivos, si el procesador cambia deberás cambiar todos los dispositivos por unos completamente distintos y más caros. Por ejemplo, si quieres upgradear tu Celeron 1800Mhz a un Pentium 4 2400Mhz entonces tendrías que cambiar también las tarjetas de video, de red, de sonido por unas compatibles con el Pentium 4 2400Mhz que por lo demás serían muchísimo más caras.

Esto permitió que el PCI lograra el estándar, ya que a medida que el bus de datos de los procesadores venideros fue creciendo, se hizo poco viable el VLB ya que el fabricar un bus de estas características era costoso y además no permitía una gran cantidad de conexiones periféricas lo que era una limitante al momento de aglutinar varios sistemas de entrada y salida dentro de un mismo pc.

El PCI en cambio, a pesar de su menor frecuencia de acceso, proporcionaba gran cantidad de conexiones a una velocidad y ancho de banda decente con un costo de implementación muy bajo, acceso directo a memoria y funcionamiento asíncrono a 25 o 33mhz lo que permitía tener procesadores mas rápidos sin necesidad de aumentar la frecuencia de los buses PCI. Ademas de eso su estructura facilitó la introducción del Plug & Play (o Plug & Pray para algúnos) , asignaciones DMA e IRQ dinámicas y la posibilidad de que un dispositivo pudiera tomar el control del bus para dialogar entre si con otros dispositivos disminuyendo posibilidades de conflictos y aumentando el rendimiento para aquellos periféricos que requerían de mayor ancho de banda, como: discos duros, sistemas de almacenamiento o sistemas de red.

Con la introducción del PCI 2.0 en el año 1993 y la aparición del Pentium el año 1994 el PCI terminó por convertirse, definitivamente, en estándar hasta el dia de hoy.

PCI haciendo agua y las soluciones para aliviar el cuello de botella

En diez años los requerimientos crecen y hay que hacer algo al respecto. De esa forma tenemos sistemas con dos o más procesadores, puertos usb de alta velicidad, firewire, etc. El avance de la tecnología no se detiene y las necesidades de los usuarios tampoco.

Pongamos un ejemplo práctico: una empresa necesita mucho rendimiento en acceso al disco para lo cual adquiere una controladora SCSI de alto rendimiento con un disco SCSI rápido. Hasta ahí podríamos decir que el bus PCI es suficiente para ese único disco SCSI, pero que pasa si ponemos una configuración de discos en RAID 5? Definitivamente el bus PCI será un gran cuello de botella pues sus 133MBytes por segundo no darán abasto para tal flujo de datos.

PCI-64 y PCI-X, soluciones para grandes servidores

Las empresas exigían una solución para sus cada vez más demandantes aplicaciones y el PCI convencional definitivamente les estaba quedando chico. Así se creó el sistema de buses PCI 64 que era básicamente el mismo PCI convencional pero con un bus de 64 bits corriendo a 66Mhz, lo que cuadruplicaba la tasa de transferencia hasta dejarlo en unos 533MBytes por segundo. Pero eso todavía era insuficiente para los grandes servidores por lo que se optó por aumentar los Mhz del bus hasta lograr subir la tasa de transferencia naciendo así el PCI-X. Se siguió aumentando la frecuencia hasta sacar la versión PCI-X 266 (o PCI-X DDR), que como su nombre bien lo dice corre a 266Mhz y alcanza la no despreciable tasa de transferencia de 2.133MBytes por segundo.

PCIExpress2-1.jpg

Esto pareciera resolver el problema del cuello de botella del PCI a punta de Mhz y aumentar el registro de la data, pero esto hizo que el bus PCI-X genere mucho "ruido" lo que implica sus componentes tienen que pasar estrictos controles de calidad lo que redunda en un altísimo precio que hace inviable llevar esa tecnología al escritorio del usuario común y corriente.

Además todavía hay algo que no se ha resuelto: PCI-X puede ser rápido pero sigue siendo un bus compartido lo que significa que sólo un nodo puede transmitir a la vez, creando cuellos de botella a medida que se suman más dispositivos PCI-X.

El salvavidas de las tarjetas de video

Con la entrada de los pcs en el mundo de los videojuegos, el dispositivo de vídeo comenzó a jugar un papel importante. Fabricantes se alzaron para ofrecerle al usuario un dispositivo que liberara a la CPU y memoria ram del sistema del trabajo de procesamiento de imágenes a la vez que era capaz de manejar nuevos efectos visuales.

Como era obvio, a medida que pasaba el tiempo los juegos requerían más y más poder de procesamiento por lo que en el mercado aparecían tarjetas de vídeo cada vez más poderosas. Pero existía una tremenda limitante: el bus PCI.

La tarjeta de vídeo tiene que enviar y recibir información permanentemente hacia la CPU. Esto debe ser fluido pues la aplicación, en este caso el juego, así lo requiere. El problema es que el bus PCI tiene un ancho de banda limitado y además compartido. Esto significa que si la tarjeta de sonido está transmitiendo (lo cual es lógico en un juego con audio) la tarjeta de video, por muy poderosa que sea, deberá esperar su turno para usar el bus provocando una baja de frames por segundo que afecta negativamente a la experiencia de juego. Si a eso le agregamos una tarjeta de red (en un juego lan, por ejemplo) y una controladora de disco tenemos entonces que el bus ya no se tendrá que compartir entre dos sino entre cuatro dispositivos.

NB: Northbridge, SB: Southbridge

Como se aprecia en la figura, el camino que debe recorrer la tarjeta de vídeo para llegar al procesador es largo y tortuoso y el gran atochamiento del bus PCI no hace las cosas fáciles.

En el año 1997 Intel y otros fabricantes decidieron trasladar la tarjeta de vídeo a una posición privilegiada dentro del sistema de buses de tal forma que tenga un rápido acceso al procesador. Así nació el puerto AGP (Accelerated Graphics Port), que fue ubicado en el olimpo del sistema: conectado al NothBridge (NB) de tal forma de tener un acceso directo con el procesador sin tener que comerse el atochamiento que significa convivir con los demás dispositivos PCI.

PCIExpress3-1.jpg

Este traslado significó una mejora tanto para la fluidez del vídeo como también un desahogo para los demás dispositivos PCI al no tener que compartir el bus PCI con la demandante tarjeta de video. Nació entonces el conector AGP.

Y ya que estamos cambiando de ubicación el puerto entonces aprovechemos de mejorarlo. El primer AGP le dobló inmediatamente la tasa de transferencia al PCI Estándar al poder transmitir a 264MB/seg. Luego salió el AGP 2X con 528MB/seg, AGP 4X con 1 Gigabyte por seg y finalmente el AGP 8X con 2 Gigabytes por segundo.

PCIExpress4-1.jpg

Como se puede apreciar en el gráfico, la tasa de transferencia del AGP 8X es abrumadoramente mayor que sus predecesoras. Pero ojo, esto no significa que una tarjeta AGP 8X sea mejor que una AGP 4X sólo porque el bus permite el doble de megabytes por segundo pues hay varios factores muchísimos más importantes que la tasa de transferencia para determinar el rendimiento final de una tarjeta de video.

Un ejemplo: decir que una tarjeta de vídeo AGP 8X me hará jugar mucho más fluido que AGP 4X es lo mismo que decir que me demoraré sólo 10 minutos en ir de Las Rejas a Plaza Italia en horario peak sólo porque el gobierno aumentó la velocidad máxima de la Alameda a 200KM/hora. Así que si un vendedor o ejecutivo de atención al cliente les dice que tal o cual tarjeta de vídeo es buena porque es AGP 8X, sepan inmediatamente que el tipo no sabe.
 

nanonroses

Nuevo Miembro
Miembro
#2
Todos al Southbridge

Como hemos visto, ya le tenemos solucionada la vida a los servidores y a la tarjeta de vídeo para los equipos de escritorio. Pero con el paso del tiempo los equipos de escritorio se han convertido en estaciones de trabajo multifuncionales con múltiples entradas USB para conectar todo tipo de periféricos (webcams, escaners, etc), varias unidades de almacenamiento de alto rendimiento (SATA), dispositivos Firewire, sonido integrado, dos conectores ethernet (una de ellas gigabit), etc. ¿Y donde va todo esto? Al atribulado bus PCI.

Los distintos fabricantes han desarrollado alternativas para evitar el cuello de botella que significaría tener tantos dispositivos luchando porque el Southbridge los mande camino al procesador. La solución es bastante parche pero efectiva: integrarlos directamente en el Southbridge de tal forma de evitarse el taco.

PCIExpress5-1.jpg

Esta práctica recarga al Southbridge pero evita que el dispositivo desaproveche rendimiento producto de la espera en el bus PCI. De esto se desprende que si tu placa madre tiene dos controladoras SATA, prefiere siempre la que viene integrada en el Southbridge.

Dado que ahora el Southbridge no sólo tiene que manejar la señal PCI sino que ahora tiene más dispositivos integrados pujando al mismo tiempo por llegar al Northbridge, fabricantes como VIA, SIS, Nvidia e Intel se vieron en la necesidad de mejorar el enlace Southbridge <-> Northbridge. Así nació el Vlink de VIA, SIS se matriculó con el MultiOl, Intel y su AHA (Accelerated Hub Architecture) son adaptativos y en cada nueva revisión van mejorando. Ahora se suma el Hypertransport de AMD con 1GB por segundo y aumentando. Todos son buses propietarios dependientes del chipset y el comprador puede elegir el que más le acomode a sus necesidades.

PCI Express, redibujando el bus de datos

Los desarrolladores de chipset han tratado de alivianar el bus pci linkeando directamente controladores al Southbridge, al mismo tiempo que lanzan soluciones de alta velocidad para conectar el SouthBridge con el Northbridge. El puerto AGP no fue una solución completa sino que un escape para la tarjeta de video. PCI-X sólo maximizó el ancho de banda, pero quedó latente la problemática del bus compartido al punto que por cada dispositivo extra que se conecta al puerto PCI-X hace al sistema menos eficiente.

PCI Express, conexión punto a punto

PCI Express no es un parche o una solución de emergencia. Es un cambio radical en el sistema de buses PCI estándar y viene a cubrir las necesidades de distintos segmentos de mercado pues por su bajo costo puede satisfacer tanto a usuarios caseros como a servidores. Además, gracias a la homologación de la arquitectura no tendremos un puerto AGP y otro PCI, sino que todos serán PCI Express.

Para llegar a todos los mercados se debe encontrar una solución de bajo coste. Esta se logra gracias a la serialización del bus a fin de necesitar menos pistas en las placas.

Otro punto a favor es el hecho de generar conexiones dedicadas hacia el Southbridge, de esta forma cada conexión tendrá su propio enlace para llegar directamente al SB.

PCIExpress6-1.jpg

Y ya que se están haciendo cambios tan drásticos aprovecharon de modificar y mejorar uno que otro defecto o carencia del PCI Estándar. Por ejemplo, la tasa de transferencia del PCI estándar no se ha modificado por años, en cambio con PCI Express se podrán agregar nuevas "rutas" (o lanes) al enlace a fin de aumentar la tasa de transferencia sin tener que esperar otra revolución tecnológica. También está la opción de conexión y desconexión en caliente (hot swap, desconectar un dispositivo mientras el equipo está prendido) para el usuario de escritorio, característica que ante que era privilegio del PCI-X de los servidores.

Los gamers y overclockeros podrán contar con un voltaje mayor al proporcionado por el AGP 8X lo que permitirá alcanzar mayores niveles de overclock al mismo tiempo que las tarjetas de vídeo que más consuman podrían prescindir de un molex especial.

¿Qué tan rápido transmite PCI Express?

PCI Express 1x transmite a 250MB por segundo de ida y de vuelta con lo que un disco SATA (150MB por segundo) puede vivir tranquilo. ¿Pero eso es suficiente? Si agregas otra ruta (lane) obtienes PCI Express 2x que nos da 500MB por segundo. ¿Eso es todo? No señores. A medida que doblamos el número de rutas también doblamos la tasa de transferencia, al punto que el PCI Express 32x puede llegar a la friolera de 8GB por segundo.

PCIExpress7-1.jpg

Lo bueno de todo esto es que nuestro bus PCI Express puede componerse de varios conectores a velocidades distintas (recordemos que son conexiones punto a punto). Así, pueden convivir sanamente un dispositivo PCI Express 1x para una tarjeta de red gigabit al lado de un PCI Express 16x de tarjeta de vídeo y más allá un PCI 32x para una controladora de discos de alto, muy alto rendimiento.

Si lo comparamos con los buses PCI estandar, PCI-X y AGP 8X tenemos lo siguiente:

PCIExpress8-1.jpg

Pero eso no es todo. Cada ruta puede transmitir 250MB por seg de subida y 250MB por seg. de vuelta. De esa forma podríamos tener teóricos 500MB por segundo por cada ruta del PCI Express (o mejor dicho, por cada x).

Altísimas tasas de transferencia sumados a la eficiencia de trabajar con conexiones punto a punto auguran un alto rendimiento para dispositivos que exijan al bus da datos. Una tarjeta de red gigabit pci express podría estar transmitiendo data a toda su capacidad mientras una controladora de discos SATA hace lo mismo, algo impensado aún para el bus PCI-X de los servers. Y de aquí sale otra interrogante: ¿será capaz el Southbridge de soportar tal flujo?

El enlace que une el Southbridge con el Northbridge es propio de cada fabricante de chipset. Tenemos soluciones propietarias de SIS, VIA, Intel y Nvidia que son capaces de transmitir a tasas de 1 gigabyte por segundo, más que suficiente para el PCI estándar pero con la llegada del PCI Express no dará abasto. AMD ya está introduciendo la tecnología Hypertransport, nombre rimbombante para el enlace de alta velocidad que parte a 1GB por segundo y sigue en aumento a medida que salen nuevas revisiones. Por ahí incluso se dice que podría salir un chipset para servidores duales Opteron capaz de trabajar con dos enlaces Hypertransport y aprovechar plenamente la dualidad que nos da el poder de dos procesadores.

El cuello de botella se ha trasladado más arriba, pero no tendremos que esperar otros diez años para encontrar una solución pues depende de la tecnología que implemente cada fabricante.

PCI Express 16x, el reemplazo del AGP 8x[

Todo este cambio legó uniformidad al sistema de buses. Gracias a ello ahora no tenemos dos conectores tan distintos como el AGP y PCI, sino que todo es PCI Express. La tarjeta de vídeo mantendrá su sitial privilegiado codeándose con los ricos y famosos: la memoria ram y el procesador. Eso si, ahora tendrá una conexión de altísima velocidad para acceder al NortBridge.

Ojo, el paso de AGP 8x a PCI Express 16x no da ninguna ganancia extra de rendimiento como lo quieren hacer parecer las grandes empresas de hardware. De la misma forma que el paso del AGP 4x a AGP 8x no se sintió realmente, nuevamente tenemos un bus mucho más rápido que no se aprovecha.

Pero no todo está perdido: el hecho de trabajar con conexiones punto a punto permite también unicar dos conectores PCI Express 16x conectados directamente al NorthBridge con el objeto de tener dos tarjetas de vídeo y combinar poder de procesamiento. De esta forma se puede mejorar el rendimiento de las cada vez más exigentes aplicaciones 3d. Además tenemos la mejora del voltaje con lo que las tarjetas podrían alcanzar mejores frecuencias (en algúnos casos mejor margen de overclock).

¿Se pueden comprar productos PCI Express en el mercado?

Desde hace varias semanas que el mercado chileno ofrece a sus compradores la posibilidad de llevarse a su escritorio una configuración PCI Express. Intel fue el primero en meter esta nueva tecnoligía al mercado con sus placas madre basadas en los chipsets Intel 915 e Intel 925. Por su parte, AMD entró después con chipset desarrollados por terceros como el Nforce4 de Nvidia y el VIA KT890Pro.

Tarjetas de vídeo PCI Express 16x las puedes encontrar con precios que van desde 80 mil pesos hasta sobre 300 mil pesos. Eventualmente puedes sentirte pudiente y comprar dos tarjetas de vídeo de la serie GeForce 6XXX con capacidad para conectarse entre ellas (tecnología SLI de Nvidia) y mejorar el poder de proceso.

Más dispositivos que eso no hay todavía en nuestro mercado pero son suficientes. Los demás componentes están integrados: Controladora de Red de un Gigabit, sonido 6.1, usb, firewire y controladora de discos SATA. A medida que PCI Express se haga masivo comenzaremos a tener tarjetas PCI Express independientes de todo tipo en reemplazo de las fieles PCI convencionales

¿Qué pasará con las actuales tarjetas PCI convencionales?

Los conectores PCI Express son físicamente incompatibles con los AGP y PCI convencionales así que por más que te esfuerces no podrás hacer calzarlas.

PCIExpress9-1.jpg

¿Software especial para PCI Express?

Para nada. El bus es una caja negra para el sistema operativo y para el software así que no tienes por qué cambiar tus aplicaciones para adaptarte al nuevo bus.

De igual manera el nuevo sistema operativo de Windows, el llamado Longhorn, tendría soporte oficial para PCI Express aún cuando Windows XP no tiene ningún inconveniente para trabajar con PCI-E. También hay aplicaciones como 3dmark 2005 que testean todo lo que es PCI Express, pero eso ya es harina de otro costal.

Esperamos que este artículo sea de utilidad para ustedes y les de el primer empujón para conocer e investigar más sobre esta nueva generación de buses, además de tener más armas a la hora de elegir y comprar un nuevo computador.

Les dejo algúnos links a otros sitios en los que nos basamos para hacer esta nota. Les aconsejo consultarlos en caso de que quieran ahondar más en el tema pues se habla de las capas OSI, voltajes y muchos otros detalles técnicos más profundos en los que no hemos querido entrar para no transformar el artículo en un ladrillo de tecnicismos.
 
A

alexperez

Guest
#3
Hola,

El artículo te da una idea general de los puertos y el funcionamiento de una placa base, pero es un grave error como se tratan las velocidades porque están expresadas en Mbps y no en MB/s como se da a entender. Es decir,

Un puerto PCI corre como máximo a 133 Mbps (Megabits por segundo), que son 16,6 MB/s (Megabytes por segundo). Megabyte es la unidad que habitualmente usamos para el tamaño de los archivos del disco duro.

Un puerto PCI-Express 16x a 4.000 Mbps, que son 500 MB/s.

Para convertir Mb en MB (Megabits en Megabytes) no tenemos más que dividirlos por 8 (8 bits = 1 byte).

Esto mismo se aplica a muchas velocidades que nos dan los fabricantes: tarjetas de red a 10/100/1000 Mbps, puertos USB 2.0 a 480 Mbps, módems 56 Kbps, conexiones de banda ancha 256, 512, 1, 2, 4, 20 Mbps, etc. Están expresadas en Megabits o Kilobits.

Pero ojo, NO los discos duros como se compara en el artículo. Un disco SATA corre a 150 MB/s, o sea 1.200 Mbps. Así como los IDE 33/66/100/133 son expresados siempre en MB/s.

Saludos,
 

Darthhacker

Caballero del Sol
Miembro
#4
Un disco SATA corre a 150 MB/s, o sea 1.200 Mbps. Así como los IDE 33/66/100/133 son expresados siempre en MB/s.
Si te refieres al puerto estas en lo cierto. Pero si te refieres a los dicos no. El puerto del SATA tiene mayor ancho de banda pero la mecanica de los discos no la aprovecha totalmente. En un test de ancho de banda un disco de 7200RPM te dara un ancho de banda de 50 MB/s. Y un raptor de 10000 RPM ya andra por los 90 MB/s Pero no llegan a 150 MB/s a menos que uses RAID.

Saludos
 

JPablo

Miembro Activo
Miembro
#5
Hey, no arruinemos el trabajo del man... La verdad es que ahora podemos, los que sabemos poco, conocer muy bien lo de los PCI y de su mecánica de trabajo.

Está muy bueno el "manual" que has dado, está muy claro y se logra entender bien.

Es bueno que gente se ponga en este tipo de trabajos porque así todos aprendemos al igual que con los foros--
 

fercad

Nuevo Miembro
Miembro
#6
esta re interesante el articulo, estoy buscando todo lo que tiene que ver sobre hardware de servidores donde puedo encontrar información buena :confused:
 

JuanMaRX8

Nuevo Miembro
Miembro
#7
:D Felicidades por el manual, esta muy bueno, solo que con unos cuantas confusiones.

Pero de todos modos gracias, que bueno que te hayas tomado el tiempo para subir ese manual, así ya no hay dudas sobre eso.
 
Arriba Pie