CONCEPTOS SOBRE EL BUS PCI
RICARDO DIAZGRANADOS BOSSIO RONALD VILLALBA YEPES JHERSON ARROYO HERRERA
ING. ALEX JIMENEZ DE LA CRUZ
FUNDACIÓN UNIVERSITARIA TECNOLÓGICO COMFENALCO VIII SEMESTRE INGENIERIA DE SISTEMAS CARTAGENA DE INDIAS 2011
CONTENIDO
Introducción
1. Definición básica de bus PCI 2. Características del bus PCI 3. Versiones (actualizaciones) del bus PCI 4. Ancho de bus y de banda del bus PCI 5. Tipos de bus 6. Reloj (Frecuencia) 7. Estructura (Señales opcionales / Señales necesarias) 8. Arbitraje del bus 9. Temporización 10. Transferencia de datos Conclusión Referencias informativas o bibliográficas
INTRODUCCIÓN
La tecnología ha evolucionadocon el paso del tiempo convirtiéndose en un elemento indispensable en el desarrollo de la vida humana. El nacimiento del computadorse constituye en la piedra angular, en el fruto final de todo este proceso evolutivo y ha traído un gran progreso y un sinfín de beneficios para la humanidad, pero más allá de ver al computador como uno solo, hay que recordar que este no deja de ser un sistema, compuesto de otros elementos físicos más pequeños que hacen posible el funcionamiento de este. Estos elementos físicos en conjunto y que trabajan en armonía, se les conoce como hardware. En el presente trabajo, nos enfocaremos en uno de estos elementos, los buses. La función principal de los buses es la de trasferir datos entre todos los componentes del computador. Particularmente, estudiaremos todo lo relacionado con el bus PCI, el cual es un bus de alta ³performance´ de 32 o 64 bits con líneas de dirección y de datos multiplexadas. Su uso se orienta como mecanismo de interconexión entre controladores de periféricos altamente integrados, placas periféricas de expansión y sistemas procesador/memoria.
DESARROLLO DE LA ACTIVIDAD
1.Definición básica de bus PCI.
El Peripheral Component Interconnect (PCI, "Interconexión de Componentes Periféricos") consiste en un bus de ordenador estándar para conectar dispositivos periféricos directamente a su placa base. Fue desarrollado por Intel el 22 de junio de 1992. Estos dispositivos pueden ser circuitos integrados ajustados en ésta (los llamados "dispositivos planares" en la especificación PCI) o tarjetas de expansión que se ajustan en conectores. Es común en PC, donde ha desplazado al ISA como bus estándar, pero también se emplea en otro tipo de ordenadores. 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 IRQs (interrupciones) y direcciones del puerto por medio de un proceso dinámico diferente del bus ISA, donde las IRQs tienen que ser configuradas manualmente usando jumpers externos. Las últimas revisiones de ISA y el busMCA 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.
2. Características del bus PCI.
Entre algunas de las características más importantes podemos encontrar:
Bus de 64 bits (64 líneas de datos), frecuentemente implementado como bus de 32 bits.
Reloj: 33 o 66 MHz.
Independiente de la CPU
256 bytes de espacio de configuración.
3,3 V o 5 V, dependiendo del dispositivo
Multiplataforma e independiente de la arquitectura del procesador.
De diseño sencillo (pocos circuitos integrados) y económico, permite la interconexión deotros buses (como ISA) y es fácilmente ampliable.
Espacio de dirección de 32 bits (4 GB)
Frente al bus ISA tradicional incorpora mejoras como: í Permite la compartición de líneas de petición de interrupción (IRQS). í Importantes mejoras en cuanto a bus mastering, que permite la introducción de DMAs (accesos directo a memoria) en los propios módulos de E/S.
3. Versiones (actualizaciones) del bus PCI.
La versión original del bus PCI (1.0) es de 32 bits de ancho y su velocidad de reloj es de 33 MHz, lo que en teoría permite un rendimiento de 132 Mb/s a 32 bits. En las arquitecturas de 64 bits, el bus funciona a 64 bits y su rendimiento teórico es de 264 Mb/s. Con el fin de actualizar el estándar PCI, se formó un grupo de interés compuesto por un gran número de fabricantes, apodado PCI-SIG (Grupo de interés especial de PCI ). Se publicaron actualizaciones del bus. La versión 2.0 del 30 de abril de
1993 definió la forma de los conectores y las tarjetas adicionales, y le confirió una velocidad de reloj de 66 MHz, en contraste con los 33 MHz de la versión 1.0. De esta manera se logró duplicar el rendimiento teórico hasta alcanzar los 266 MHz a 32 bits. El 1 de junio de 1995, la revisión 2.1 del bus PCI mejoró su uso hasta 66 MHz. En ese momento, los ingenieros anticiparon un movimiento progresivo desde un voltaje señalizado de 5 V hasta 3,3 V.
La versión 2.2 del bus PCI, que apareció el 18 de diciembre de 1998, incorporó la capacidad de conectar los periféricos directamente ( conexión en caliente).
La revisión 2.3 , editada el 29 de marzo de 2002, eliminó la posibilidad de utilizar tarjetas de 5 V adicionales, pero incorporó el uso de tarjetas que admiten ambos voltajes con el fin de garantizar la compatibilidad descendente. La revisión 3.0 del estándar PCI eliminó por completo el uso de tarjetas de 5 V compatibles. En septiembre de 1999, tuvo lugar un cambio importante en el bus PCI, cambio que fue conocido como PCI-X. El bus PCI-X 1.0 admite frecuencias de 66, 100 y 133 MHz. Dicho bus es completamente compatible con el formato PCI, y las ranuras PCI-X admiten tarjetas de formato PCI y viceversa.
La revisión 2.0 del bus PCI-X admite frecuencias de 66, 100, 133, 266 y 533 MHz, y permite un rendimiento de 4,27 Gb/s a 64 bits. El siguiente cuadro resume las diferentes versiones del bus PCI:
4. Ancho de bus y de banda del bus PCI. El ancho de bus PCI puede ser de 32 bits o 64 bits. Con el bus de 32 bits, se alcanza una tasa de transferencia (ancho de banda) máxima de 133 MB por segundo (33,33 MHz × 32 bits ÷ 8 bits/byte = 133 MB/s), mientras que con el bus de 64 bits se alcanza una tasa de transferencia (ancho de banda) máxima de 266 MB por segundo (MB/s). Las nuevas versiones PCI-X también trabajan con un ancho de bus de 32 o 64 bits, pero disponen de un ancho de banda más grande que las versiones iniciales (PCI 1.0, 2.0 y 3.0), teniendo una tasa de transferencia máxima de hasta de 4GB/s a 64 bits. Nota: Observar el cuadro de las versiones.
5. Tipos de bus. Existen dos tipos de buses: -
Dedicados: Ofrecen un gran desempeño, ya que ofrece líneas de datos y direcciones independientes y por lo tanto se evita el ³cuello de botella´ (saturación de datos)
-
Multiplexados: Son de menor rendimiento, ya que el canal es compartido y se generan problemas por el ³cuello de botella´
6. Reloj (frecuencias). Los buses PCI manejan distintos tipos de frecuencia de reloj. Las versiones iniciales y las comúnmente usadas por los usuarios finales manejan velocidades de 33 MHz, para los buses con ancho de bits de 32 y de 66 MHz para los buses con ancho de bits de 64. Estas velocidades de reloj fueron ampliadas con la llegada de la versión PCI-X, aumentando la velocidad desde 100 MHz hasta los
133 MHz en la versión PCI-X 1.0. En la versión PCI-X 2.0, se amplíanaúnmás las velocidades de reloj, llegado estas hasta los 533 MHz.
7. Estructura (Señales opcionales / Señales necesarias). A continuación se mostrarán las distintas señales opcionales y necesarias (obligatorias), clasificadas según su funcionalidad.
-49 líneas de señal obligatorias: (# indica señal activa a nivel bajo)
Sistema: reloj y reinicio (CLK y RST#)
Direcciones y datos y
32 líneas multiplexadas para datos y direcciones (AD [31:0]).
y
PCI es little endian
4 líneas de control multiplexadas (C/BE [3:0] #):
Órdenes durante la fase de direccionamiento
Indicador de validez de los datos (byte enables) durante la fase de datos
y
Línea de control de paridad (PAR)
Control de interfaz: temporización y coordinación de las transferencias (6 líneas) y
Indicación de comienzo y duración de transferencia por maestro (FRAME#)
y
Maestro preparado (IRDY#, Initiator Ready)
y
Esclavo preparado (TRDY#, Target Ready)
y
Esclavo desea que maestro pare transacción actual (STOP#)
y
Respuesta del dispositivo esclavo seleccionado cuando reconoce su dirección(DEVSEL#)
y
Selección de un dispositivo durante la fase de inicialización del bus (IDSEL)
Arbitraje (2 líneas punto-a-punto) y
Solicitud de bus (REQ#)
y
Concesión de bus (GNT#)
Señales de error (2 líneas) y
Error de paridad (PARR#)
y
Error del sistema (SERR#)
-51 señales opcionales:
Interrupción
Soporte caché
Ampliación del bus a 64 bits
Test
8. Arbitraje del bus. Previamente, cuando definimos la estructura del bus PCI, vimos que el arbitraje del bus PCI consta de 2 líneas o señales y que se aplican en Bus Masters solamente, las cuales son: -Solicitud de bus (REQ#): línea tri-state. Esta línea le indica al árbitro que este agente desea hacer uso del bus. Es una señal punto a punto. Cada master tiene su propia línea REQ#, la que debe ser llevada a tri-state mientras RST# es activada. -Concesión de bus (GNT#): línea tri-state. Grant le indica al agente que el acceso al bus le fue concedido. Es una señal punto a punto. Cada master tiene su propia línea GNT#, la que debe ser llevada a tri-state mientras RST# es activada.
Mientras RST# está activa, el árbitro debe ignorar todas las señales REQ# dado que están en tri-state y no implican requerimientos válidos. El árbitro solo puede arbitrar después de que RST# se desactive. Un master debe ignorar a
GNT#
entonces mientras RST# está activa. Existen 4 tipos de arbitrajes, estos son:
Arbitraje en serie
Arbitraje paralelo centralizado
Arbitraje distribuido por autoselección
Arbitraje distribuido por detección de colisión
9. Temporización. Existen dos tipos de temporización, Síncrona y Asíncrona:
Temporización síncrona: Entre sus líneas de control se incluye una señal de reloj. El protocolo parala comunicación es fijo y está gobernado por la señal de reloj (se asume que los envíos llegan correctamente). Ventajas: Puede funcionar a gran velocidad y se puede implementar con un sistema secuencial sencillo. Inconvenientes: No es adecuado para mezclar dispositivos con grandes diferencias de velocidad. Su diseño tiene que ser muy cuidadoso. Problema del sesgo del reloj (clock skew).
Los buses de memoria suelen ser síncronos.
Temporización asíncrona: Sin reloj. Las transmisiones de datos se coordinan con un protocolo de handshaking entre emisor y receptor: un evento origina el siguiente, y así sucesivamente. Ventajas: Permite la conexión de dispositivos de un amplio rango de velocidades diferentes. Escalan mejor tanto con el número de dispositivos como con los cambios tecnológicos en los mismos. No hay problemas de sesgo de reloj, por lo que permite distancias más largas. Inconvenientes: Es más lento, debido a la sobrecarga introducida para sincronizar a emisor y receptor. Puede necesitar un cierto número de líneas de control adicionales para implementar el protocolo. Es más difícil predecir el tiempo que va a llevar una determinada transacción.
Los buses de E/S son habitualmente asíncronos.
10. Transferencia de datos.
Cada transferencia de datos en el bus PCI es una transacciónúnica.
Transacción PCI: 1 fase de direccionamiento + 1 o más fases de datos.
Todos los eventos se sincronizan en transiciones de bajada del reloj (mitad de ciclo dereloj).
Los dispositivos del bus interpretan las líneas del bus en los flancos de subida (comienzodel ciclo del bus).
Fase de direccionamiento 1. Maestro de bus identifica dispositivo destino (esclavo) y tipo de transacción
2. Maestro de bus activa la señal FRAME# 3. Cada dispositivo conectado al bus PCI decodifica la dirección para determinar sipertenece a su espacio de direcciones. El dispositivo al que pertenece la direcciónactiva la señal DEV SEL#
Fase de datos 1. Las señales C/BE# determinan el número de bytes habilitados para la transmisiónen el bus de datos 2. Las señales IRDY # y TRDY # controlan la transferencia. Los datos son transmitidossolo cuando ambas señalesestán activadas.
Duración y finalización de la transacción 1. El maestro de bus mantiene la señal FRAME# activada desde el comienzo de latransacción hasta que está preparado para finalizar la fase de datos. 2. La finalización de la transacción se indica mediante la desactivación de FRAME#junto con la activación de IRDY # 3. Cuando el último dato ha sido transferido se libera el bus mediante la desactivaciónde IRDY #
CONCLUSION
PCI lleva montándose en los PCs de todo el mundo durante más de una década. Durante este tiempo ha sufrido evoluciones bastante reducidas por lo menos a nivel del usuario doméstico. Ahora parece que los principales fabricantes han decidido darle una vuelta a esta tecnología y eliminar el parche que supuso el AGP. AGP no es otra cosa que una salida tecnológica que a día de hoy no es necesaria. La mayor parte de las tarjetas AGP en la actualidad tiene una cantidad tal de memoria local que el uso del AGP se convierte en algo anecdótico y muy esporádico. Es el momento de que las tarjetas gráficas vuelvan a compartir el mismo interfaz que utilizan el resto de tarjetas y si es con más capacidad y más velocidad que mejor. Parece que este año 2003 se presenta realmente revolucionario. Si todo sucede como se espera tendremos renovación del interfaz de datos mediante Serial ATA, renovación del bus de periféricos con PCI-Express y la aún más interesante revolución de los procesadores de 64 bits a nivel doméstico
REFERENCIAS INFORMATIVAS O BIBLIOGRAFICAS
Organización y arquitectura de computadores: William Stallings. Prentice Hall.
www.hardware12v.com/, Conocimientos PC, Tipos de buses: N/A; 2007, 10/03/2011
es.kioskea.net/, Bus PCI: N/A; 2008, 10/03/2011
es.wikipedia.org/,
Peripheral
Component
Interconnect:
N/A;
2004,
10/03/2011
www.mailxmail.com/,
Arquitectura
de
ordenadores,
PCI:
Fernando
Guerrero; 2004, 10/03/2011
ael.110mb.com/informática/PCI1.doc/, Bus local PCI: N/A; 2005, 1 0/03/2011